FB2 0805 en PDF
FB2 0805 en PDF
FB2 0805 en PDF
NCK I/Os A4
Remote Diagnostics F3
Measurement M5
Description of Functions
Software Cams, Position
Switching Signals N3
Positioning Axes P2
Oscillation P5
Rotary Axes R2
Synchronous Spindles S3
08/2005 Edition
SINUMERIK® 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” columns.
A . . . . . New documentation.
B . . . . . Unrevised reprint with new Order No.
C . . . . . Revised edition with new status.
If the technical subject matter shown on the page has changed compared to the
previous edition status, this is indicated by the changed edition status in the
header of the respective page.
Trademarks
SIMATICr, SIMATIC HMIr, SIMATIC NETr, SIROTECr, SINUMERIKr, SIMODRIVEr and SINAMICSr
are Siemens trademarks. Other product names used in this documentation may be trademarks, which, if
used by third parties, could infringe the rights of their owners.
Preface
Target audience This document is designed for machine tool manufacturers. It contains a de-
tailed description of the functions offered by SINUMERIK controls.
Standard version This Programming Guide describes the functionality afforded by standard func-
tions. Extensions or changes made by the machine tool manufacturer are docu-
mented by the machine tool manufacturer.
Other functions not described in this documentation might be executable in the
control. This does not, however, represent an obligation to supply such func-
tions with a new control or when servicing.
Hotline If you have any questions on the control, please get in touch with our hotline:
If you have any questions about the documentation (suggestions for improve-
ment, corrections), please send a fax to the following number:
Fax: +49 (9131) 98-63315
E-mail: mailto:[email protected]
Fax form: Refer to the reply form at the end of this manual
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
In addition to the keyword index, the Basic Machine Description of Functions
(Part 1) also contains a list of abbreviations and terms.
If you require information about a function, you will find the function and the
code under which it is classified in the inside cover title of the manual.
If you need information about a certain term, please go to the section headed
Index in the Appendix and look for the term concerned. The Description of
Functions code, the chapter number and the number of the page on which you
can find the information you need are listed in this section.
Safety information This manual contains information which you should observe in order to ensure
your own personal safety, as well to avoid material damage. Notes relating to
your personal safety are highlighted in the manual by means of a warning
triangle, no warning triangle appears in conjunction with notes that relate to
property damage. The warnings appear in decreasing order of risk as given
below.
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 warning triangle indicates that minor personal injury can result if proper
precautions are not taken.
Caution
without a warning triangle means that material damage can occur if the
appropriate precautions are not taken.
Notice
indicates that an unwanted result or situation can result if the appropriate
advice is not taken into account.
Correct usage
Warning
! The unit may be used only for the applications described in the catalog or the
technical description, and only in combination with the equipment, components
and devices of other manufacturers where recommended or permitted by
Siemens. Correct transport, storage, installation and assembly, as well as
careful operation and maintenance, are required to ensure that the product
operates safely and without faults.
Further
information
Important
! This notice indicates important facts that must be taken into consideration.
Note
This symbol always appears in this documentation where further, explanatory
information is provided.
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.
Technical information
Notations The following notations and abbreviations are used in this document:
Data types The following data types are used in the control:
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)
Quantity The explanations of the PLC interface in the individual Descriptions of Functions
framework assume a theoretical maximum number of components:
Notes
Brief Description 1
General Signals can be read and output in the interpolation cycle via the “digital and
analog NCK I/Os”. The following functions can be executed with these signals,
for example:
Table of Contents This Description of Functions describes the specifications for the digital and
analog I/Os.
The note “References” lists documentation relating to any function which utilizes
these I/Os.
J
Notes
Detailed Description 2
2.1 General functionality
840D hardware On the SINUMERIK 840D onboard NCU there are 4 digital NCK inputs (inputs
1 to 4) and 4 digital NCK outputs (outputs 1 to 4).
The digital onboard inputs and outputs are stored in the first address byte. With
the NCK outputs, the remaining signals of this byte (NCK outputs 5 to 8) can be
used via the PLC interface (digital NCK outputs without hardware).
Using the “NCU terminal block” that can be coupled to the drive bus, it is
possible to connect further digital NCK inputs/outputs and analog NCK
inputs/outputs (hereafter called external NCK I/Os). The “NCU terminal block”
is used as a carrier module for up to eight DP compact plug-in modules. Up to
two “NCU terminal blocks” can be connected per NCU.
The maximum degree of expansion of the external NCK I/Os is:
840 Di hardware Digital inputs/outputs are provided for the SINUMERIK 840Di via the MCI Board
digital I/Os Extension module. The following connections are available:
S 2 handwheels
S 2 probes
S 4 digital inputs/outputs
Note
The MCI Board Extension module is an option for the SINUMERIK 840Di. The
PIN assignment of the cable distribution interface (X121) matches the cable
distributor assignment on the SINUMERIK 840D.
SINUMERIK 840Di Analog and digital inputs/outputs can be operated on the SINUMERIK 840Di by
analog and digital means of SIMATIC S7 bus interface and signal boards linked via the
inputs/outputs PROFIBUS-DP.
PLC I/Os for direct Up to 16 bytes for digital input signals and analog input values plus a total of
addressing by 16 bytes for digital output signals and analog output values can be addressed
NCK SW 5.2 directly by the parts program. These bytes must be taken into account when the
PLC is configured. They must be programmed consecutively. They are
processed directly by the PLC operating system. As a result, the signal transfer
time between the NC and PLC I/O modules is of a magnitude of 0.5 ms.
Caution
! The output bytes specified for the NCK may not be write-accessed by the PLC
user program as the access operations between the NCK and PLC would be
uncoordinated.
Comparator In addition to the digital and analog NCK inputs, 16 internal comparator inputs
inputs (comparator input bytes 1 and 2) are also available.
The signal state of a comparator input is formed by comparing an analog input
signal with a threshold value in a setting data.
For more information please refer to Section 2.7.
Number The number of addressable digital NCK input/output bytes and analog
inputs/outputs must be programmed by means of general machine data.
Note
The 1st byte is always assigned to the 4 digital I/Os on the MCI Board
Extension module on the SINUMERIK 840Di. Even if you have not connected
an MCI Board Extension module to the SINUMERIK 840Di, the 1st byte is
always assigned to it.
For this reason, at least 2 bytes must always be entered in machine data
FASTIO_DIG_NUM... if you want to operate further I/Os via the PROFIBUS.
Hardware The following general machine data ($MN-) are provided for assigning I/O signal
assignment of modules or I/O modules to external NCK I/Os:
external
S MD 10366: HW_ASSIGN_DIG_FASTIN[hw] Hardware assignment for
NCK I/Os external digital inputs
Note
The hardware assignment is different on the SINUMERIK 840D and 840Di
controls.
The defaults for the assignment of I/Os for the SINUMERIK 840Di via machine
data MD 10362 to MD 10368 are as follows:
Modification to MD The machine data $MN_HW_ASSIGN_... have been modified for hardware
for PROFIBUS DP operation on the PROFIBUS DP of the SINUMERIK 840Di.
The assignment of bytes 1 to 4 has been redefined. The machine data
assignments below apply for PROFIBUS DP operation:
Byte New for PROFIBUS-DP Old meaning
4th byte Segment number = 5 Segment number
3rd byte Not used = 0 Module number
2nd byte Logical address high Submodule number
1st byte Logical address low Input/output number
System variables The following table lists the system variables with which NCK I/Os can be read
or written directly by the parts program.
The number of the NCK input/output is used for addressing.
The following applies to n:
1 n 8 * MD 10350: FASTIO_DIG_NUM_INPUTS
1 n 8 * MD 10360: FASTIO_DIG_NUM_OUTPUTS
1 n MD 10300: FASTIO_ANA_NUM_INPUTS
1 n MD 10310: FASTIO_ANA_NUM_OUTPUTS
Note
When this system variable is read by the parts program, a preprocess stop
(STOPRE command) is initiated inside the control.
Weighting factor The weighting factors in the general machine data MD 10320:
FASTIO_ANA_INPUT_WEIGHT[hw] and MD 10330:
FASTIO_ANA_OUTPUT_WEIGHT[hw] allow each individual analog NCK input
and output to be adapted to the AD or DA converters of the analog I/O module
used.
If the correct weighting factor is set, the value set in system variable
$A_OUTA[n] outputs the corresponding voltage value in millivolts at the analog
output [n].
Example for 840D The analog value range is 10V (maximum modulation);
FASTIO_ANA_OUTPUT_WEIGHT[hw] = 10000 (default on 840D)
$A_OUTA[1] = 9500 ; 9.5V is output at analog NCK output 1
$A_OUTA[3] = –4120 ; –4.12V is output at analog NCK output 3
Application for analog NCK inputs/outputs without hardware:
With weighting factor of 32767, the digitized analog values for parts program
and PLC accesses are identical. In this way, it is possible to use the associated
input or output word for a 1:1 communication between the parts program and
the PLC.
Assignment to Several NC functions are dependent on the functionality of the NCK I/Os. The
NC functions NCK inputs and/or outputs used for these functions are assigned on a
function-specific basis via machine data (e.g. MD 21220:
MULTFEED_ASSIGN_FASTIN for “Multiple feedrates in one block”). A byte
address must be specified in the machine data for the digital inputs/outputs; the
assignment is always made byte by byte.
Clock- The I/O modules of the external NCK I/Os on the SINUMERIK 840D can be
synchronous operated in one of the following two modes:
processing
S Asynchronously, i.e. the input and output values are made available in
cycles set by the terminal block which are asynchronous to the internal NC
processing cycles.
S Synchronously, i.e. the input values and the output values are provided
synchronously with the settable internal NC processing clock frequency.
The processing mode is selected for individual modules by means of general
machine data MD 10384: HW_CLOCKED_MODULE_MASK[tb].
[tb] = Index for terminal block (0 to 1)
In synchronous processing mode, one of the following clock rates can be
selected (general MD 10380: HW_UPDATE_RATE_FASTIO[tb]):
Monitoring The following functional monitors are provided for external I/Os on the
functions SINUMERIK 840D:
S During booting:
– Check whether the I/O modules in the terminal blocks match the MD
assignments.
Response to The digital and analog NCK outputs are switched to “safe” status (i.e. 0V at
faults output) in the event of faults (e.g. NC ready = 0) in the NCU or power failures.
Function The digital NCK inputs allow external signals to be injected which can then be
used, for example, to control the workpiece machining program sequence. With
the system variable $A_IN[n], the signal status of the digital input [n] can be
scanned directly in the parts program.
The signal state at the hardware input can be changed by the PLC user
program (see Fig. 2-1).
Disable input The PLC user program can disable NCK inputs individually by means of
interface signal “Disable digital NCK inputs” (DB10, DBB0 or DB122 ...). In this
case, they are set to “0” in a defined manner inside the control.
Set input from PLC The PLC can also apply interface signal “Setting digital NCK inputs on PLC”
(DB10, DBB1 or DBB123 ...) to set each digital input to a defined “1” signal state
(see Fig. 2-1). As soon as this interface signal is set to “1”, the signal state at
the hardware input or the input disable is inactive.
Read actual value The signal status of the digital NCK inputs is signaled to the PLC (interface
signal “Actual value of digital NCK inputs” (DB10, DBB60, DBB186 ...)). The
actual value reflects the real state of the signal at the hardware input; the
influence of the PLC is therefore ignored in the “actual value” (see Fig. 2-1).
RESET/power ON After power ON and reset, the signal level at the input is passed on. If
behavior necessary, the PLC user program can disable or set the inputs to “1” in a
defined manner as described above.
Applications The program sequence can be controlled with conditional jump statements in
the part program as a function of the signal status of an external hardware
signal.
For example, digital NCK inputs can be used for the following NC functions:
[n]
Hardware
NCK input PLC
”0”
Disable
(DB10, DBB0 ... )
”1”
Setting by PLC
(DB10, DBB1 ... )
:
$A_IN [n]
: Digital input read in
the parts program
Function The digital NCK outputs provide the option of outputting important switching
commands at high speed as a function of the program processing status. With
the system variable $A_OUT[n], the signal status of the digital output [n] can be
set or read again directly in the parts program.
There are also several ways of changing this set signal state via the PLC
(see Fig. 2-2).
Disable output The PLC user program is capable of disabling the digital NCK outputs
individually with interface signal “Disable digital NCK outputs” (DB10, DBB4,
DBB130...). In this case, the “0” signal is output at the hardware output
(see Fig. 2-2).
Overwrite screen Every output that can be set by the NC parts program can be overwritten from
form the PLC using the overwrite screen form. Previous NCK values are then lost
(see Fig. 2-2).
The following routine has to be carried out to overwrite the NCK value from the
PLC:
1. The output in question must be preset with the required signal state at the
PLC interface “PLC setting for digital NCK outputs” (DB10, DBB6,
DBB132...).
2. The setting value becomes the new NCK value for the relevant output
(DB10, DBB5, DBB131 ...) when the overwrite screen form is activated
(signal transition 0 –> 1). This value remains operative until a new NCK
value is programmed (by the PLC or from the NC part program).
Setting screen Furthermore, a PLC setting for each output can determine whether the
form instantaneous (e.g. as specified by NC parts program) or the PLC value
specified via the setting screen form (DB10, DBB7, DBB133 ...) should be sent
to the hardware output (see Fig. 2-2).
The following routine has to be carried out to define the PLC value:
1. The output in question must be preset with the required signal state at the
PLC interface “PLC setting for digital NCK outputs” (DB10, DBB6).
2. The setting screen form must be set to “1” for the output in question.
Unlike the overwrite screen form, the current NCK value is not lost when a value
is set in the setting screen form. As soon as the PLC sets “0” in the setting
screen form, the NCK value is again active.
Note
The same setting value (DB10, DBB6) is used at the PLC interface for the
overwrite and setting screen forms. Therefore, an identical output signal state is
the result if the signal state is changed simultaneously in the overwrite and
setting screen form.
Read setpoint The instantaneous NCK value at the digital outputs can be read by the PLC
user program (interface signal “setpoint of digital NCK outputs” (DB10, DBB64,
DBB186 ...)). Please note that this setpoint ignores disabling and the setting
screen form of the PLC. The setpoint can therefore be different from the actual
signal state at the hardware output (see Fig. 2-2).
RESET/ On end of program or RESET, every digital output can be defined as necessary
end of program by the PLC user program in the overwrite screen form, setting screen form or
disable signal.
Power ON After power ON, the digital outputs are set to “0” in a defined manner. This can
be overwritten in the PLC user program according to the application using the
screen forms described above.
Digital No alarm is output if the digital NCK outputs written from the part program have
NCK outputs been defined in general MD 10360: FASTIO_ANA_NUM_INPUTS, but do not
without hardware exist as hardware outputs. The NCK value can be read by the PLC (IS “Setpoint
...”)
S Position signals
References: /FB/, N3, “Software Cams, Position Signals”
Setpoint
(DB10, DBB64 ... )
Hardware
output [n]
Function In SW 4 and higher, the fast inputs of the NCK I/Os can be set in the software
according to the signal states of the fast outputs.
Overview:
Output: Input:
– Byte – Byte
– Bit – Bit
Alternatives:
1. Connect
2. OR operation
3. AND operation
Connect The fast input of the NCK I/O is set to the signal state of the assigned fast
output.
OR The fast input of the NCK I/O takes the signal state which is given by the OR
operation operation of the output signal with the assigned input signal.
AND The fast input of the NCK I/O takes the signal state which is given by ANDing
operation the output signal with the assigned input signal.
Special cases
S If several output bits are assigned to the same input bit, then the one with
the highest MD index becomes effective.
S If inputs or outputs are specified which do not exist or are not activated, then
the assignment is ignored without alarm. Checking of the active bytes of the
NCK I/Os is performed via the entries in the machine data:
MD 10350: FASTIO_DIG_NUM_INPUTS and
MD 10360: FASTIO_DIG_NUM_OUTPUTS.
FASTIO_DIG_SHORT_CIRCUIT[n]
Output Input
Examples Connect:
MD 10361: FASTIO_DIG_SHORT_CIRCUIT = ’04010302H’
output 4, byte 1, connect to
input 3, byte 2
AND operation:
MD 10361: FASTIO_DIG_SHORT_CIRCUIT = ’0705A201H’
output 7, byte 5 AND with
input 2, byte 1
OR operation:
MD 10361: FASTIO_DIG_SHORT_CIRCUIT = ’0103B502H’
output 1, byte 3, OR with
input 5, byte 2
Function The system variable $A_INA[n] allows the value at the analog NCK input [n] to
be directly accessed in the parts program.
The analog value at the hardware input can also be influenced by the PLC user
program (see Fig. 2-3).
Disable input The PLC user program is capable of disabling the analog NCK inputs
individually with interface signal “Disable analog NCK inputs” (DB10, DBB146).
In this case, they are set to “0” in a defined manner inside the control.
Set input from PLC The PLC can also specify a value for each analog NCK input by applying the
interface signal “Setting screen form of analog NCK inputs” (DB10, DBB147)
(see Fig. 2-3). As soon as this interface signal is set to “1”, the value set by the
PLC (DB10, DBB148 to 163) becomes active for the analog input. The analog
value at the hardware input or the input disable is then inactive.
Read actual value The interface signal “Actual value of analog input of NCK” (DB10, DBB194 to
209) transfers the analog values that are actually present at the hardware inputs
to the PLC. The possible influence of the PLC is therefore ignored in the actual
value (see Fig. 2-3).
RESET/power ON After power ON and RESET, the analog value at the input is passed on. If
behavior necessary, the PLC user program can manipulate the NCK inputs as described
above in the PLC user program.
Analog When the parts program accesses analog NCK inputs that have been defined in
NCK input without MD 10300: FASTIO_ANA_NUM_INPUTS but that do not exist as hardware
hardware inputs, the following values are read:
S The setpoint set by the PLC if the IS “PLC setting for analog NCK inputs” is
set to “1” (see Fig. 2-3)
S Otherwise 0 volts
This makes it possible to use the functionality of the analog NCK inputs from the
PLC user program without I/O hardware.
Applications The analog NCK inputs are used particularly for grinding and laser machines
(e.g. for the “analog calipers” NC function).
Fast analog NCK The fast analog inputs must be clock-synchronous. The assignment is defined
inputs by MD 10384: HW_CLOCKED_MODULE_MASK.
[n]
NCK PLC
Hardware
input
”0”
Disable
(DB10, DBB146 ... )
Weighting factor
(MD: FASTIO_ANA_
INPUT_WEIGHT[n]/32767)
Part program
NCK value
:
$A_INA [n]
:
Analog input [n] read in the
parts program
Function The system variable $A_OUTA[n] allows the value at the analog output [n] to
be specified directly in the parts program.
Before output to the hardware output, the analog value set by the NCK can be
changed by the PLC (see Fig. 2-4).
Disable output The PLC user program is capable of disabling the analog NCK outputs
individually with interface signal “Disable analog NCK outputs” (DB10, DBB168).
In this case, 0 volts is output at the analog output (see Fig. 2-4).
Overwrite screen Every NCK analog value set by the NC parts program can be overwritten from
form the PLC using the overwrite screen form. Previous NCK values are then lost
(see Fig. 2-4).
The following routine has to be carried out to overwrite the NCK value from the
PLC:
1. The output n in question must be preset with the required analog value at
the PLC interface “PLC setting for analog output n of the NCK” (DB10,
DBB170 to 185).
2. The setting value becomes the new NCK value for the analog output (DB10,
DBB166) when the overwrite screen form is activated (signal transition
0 –> 1).
This value remains valid until a new value is set for the NCK by the parts
program, for example.
Setting screen Furthermore, a PLC setting for each output can determine whether the
form instantaneous (e.g. as specified by NC parts program) or the PLC value
specified via the setting screen form (DB10, DBB167) should be sent to the
hardware analog output (see Fig. 2-4).
The following routine has to be carried out to define the PLC value:
1. The output n in question must be preset with the required analog value at
the PLC interface “PLC setting for analog output n of the NCK” (DB10,
DBB170 to 185).
2. The setting screen form (DB10, DBB167) must be set to “1” for the output in
question.
Unlike the overwrite screen form, the current NCK value is not lost when a value
is set in the setting screen form. As soon as the PLC sets “0” in the setting
screen form, the NCK value is again active.
Note
The same setting value (DB10, DBB170 to 185) is used at the PLC interface for
the overwrite and the setting screen forms.
Read setpoint The instantaneous NCK value at the analog outputs can be read by the PLC
user program (interface signal “setpoint analog output n of NCK” (DB10,
DBB210 to 225)). Please note that this setpoint ignores disabling and the
setting screen form of the PLC. The setpoint can therefore differ from the real
analog value at the hardware output (see Fig. 2-4).
RESET/ On end of program or reset, every analog output can be defined as necessary
end of program by the PLC user program in the overwrite screen form, setting screen form or
disable signal.
Power ON After power ON, the analog outputs are set to “0” in a defined manner. After
booting, this can be overwritten in the PLC user program according to the
application using the screen forms described above.
Exception Where the part program contains programmed values for NCK analog outputs
that have been defined in MD 10310: FASTIO_ANA_NUM_OUTPUTS, but do
not exist as hardware outputs, no alarm is generated. The NCK value can be
read by the PLC (IS “Setpoint ...”)
Application This function allows analog outputs to be set instantaneously by bypassing the
PLC cycles.
The analog NCK outputs are used in particular for grinding and laser machines.
Weighting factor
(32767/MD: FASTIO_–
ANA_OUTPUT_WEIGHT[n])
Limitation to
32767
Overwrite screen form
(DB10, DBB166 ... )
(Signal transition 0!1)
Setpoint
(DB10, DBB210 ... )
Hardware
output [n]
E
Introduction The high-speed data channel between the NCK and PLC I/O is processed
directly and therefore quickly by the PLC operating system.
There is no provision for control of the PLC basic and user programs.
Contending access between the NC kernel and the PLC to the same PLC I/O
devices is not sensible and can result in faults.
The function is available for
SINUMERIK 840D SW 5.2, SW 6.4 and higher
SINUMERIK 810D SW 3.2, SW 4.4 and higher
System variables The NC uses part programs and synchronized actions to access system
variables.
For reading from PLC:
$A_PBB_IN[n] ; Read byte (8 bits)
$A_PBW_IN[n] ; Read word (16 bits)
$A_PBD_IN[n] ; Read Dword (32 bits)
$A_PBR_IN[n] ; Read real (32 bits float)
n Byte offset within the PLC input area
Reading from the parts program causes a preprocessing stop.
Variable value Values within the following ranges can be stored in the variables:
ranges
$A_PBB_OUT[n] ; (–128 ... +127) or (0 ... 255)
$A_PBW_OUT[n] ; (–32768 ... +32767) or (0 ... 65535)
$A_PBD_OUT[n] ; (–2147483648 ... +2147483647) or
; (0 ... 4294967295)
$A_PBR_OUT[n] ; (–3.402823466E+38 ... +3.402823466E+38)
Transfer times The output of values from NCK → PLC (write) takes place at the end of the
interpolation cycle if at least one data was written.
Data are read in, as a function of the machine data
MD 10398: PLCIO_IN_UPDATE_TIME (SW 6.4 or higher), by sending a
request at the end of the interpolation cycle. The new data are available in the
subsequent interpolation cycle at the earliest.
Machine data MD 10398: PLCIO_IN_UPDATE_TIME (SW 6.4 or higher) you
can set the time within which a request is sent to the PLC. The entered time is
set internally to the next higher multiple of an interpolation cycle. If the value of
these machine data is set to 0, the request will continue to be sent to the PLC in
every interpolation cycle.
Configuring To activate the functionality, the following machine data (Power ON active) must
be configured on the NC:
MD 10394: PLCIO_NUM_BYTES_IN
Number of PLC I/O input bytes that are read directly
by the NC.
MD 10395: PLCIO_LOGIC_ADDRESS_IN
Logical start address of the PLC input I/O from which the data
are read.
MD 10396: PLCIO_NUM_BYTES_OUT
Number of PLC I/O output bytes that are written directly
by the NC.
MD 10397: PLCIO_LOGIC_ADDRESS_OUT
Logical start address of the PLC output I/O from which the data
are written.
MD 10398: PLCIO_IN_UPDATE_TIME (SW 6.4 or higher)
Time within which the data that can be read by means of $A_PBx_IN are
updated. The time is set internally to the next higher multiple of the time
defined by the interpolation cycle. When 0 is entered (default value), the
data are updated in very interpolation cycle.
MD 10399: PLCIO_TYPE_REPRESENTATION (SW6.4 and higher)
Little/Big Endian format representation of $A_PBx_OUT, $A_PBx_IN
System variables for PLC I/Os directly controllable by NCK
value = 0 ;(Default) System variables are represented in
Little Endian format (i.e. least significant byte at
lowest address)
value = 1 ;(PLC standard format, recommended) System variables
are represented in Big Endian format
(i.e. most significant byte at lowest address)
The PLC I/O addresses entered in the machine data and the number of bytes to
be transferred must be consistent with the PLC hardware configuration.
A check for the physical existence of the PLC I/O is not performed for the fast
PLC communication described here. The reading or writing of non-configured or
incorrectly configured inputs/outputs results in alarms.
In the configured areas, there must not be any ’address gaps’ in the PLC I/O
expanded configuration.
Memory There are 16 bytes each (over all channels) for data exchange from and to the
organization PLC. These areas have to be managed by the user (that is, no overlapping of
the variables, not even across channel borders).
The variables are represented within these areas, depending on the setting of
the machine data
MD 10399: PLCIO_TYPE_REPRESENTATION (SW 6.4 or higher) either in little
Endian format (=0) or in big Endian format (=1).
Since big Endian format is generally the most common representation form on
the PLC (that is, also holds for the PLC I/O), it should generally be used.
Alignment The assignment of the input and output areas for direct PLC I/Os must satisfy
the following conditions:
$A_PBB_IN[j] ; j < ([MD 10394: PLCIO_NUM_BYTES_IN])
$A_PBW_IN[j] ; j < ([MD 10394: PLCIO_NUM_BYTES_IN] – 1)
$A_PBD_IN[j] ; j < ([MD 10394: PLCIO_NUM_BYTES_IN] – 3)
$A_PBR_IN[j] ; j < ([MD 10394: PLCIO_NUM_BYTES_IN] – 3)
Furthermore, the maximum number of bytes available for data exchange must
not be exceeded.
Hardware The addressing of direct PLC I/Os requires the following hardware:
requirements
NCU Version PLC SW
NCU 561 NCU 561.2 and higher 3.10.13 and higher
NCU 571 NCU 571.2 and higher 3.10.13 and higher
NCU 572 NCU 572.2 and higher 3.10.13 and higher
NCU 573 NCU 573.2 and higher 3.10.13 and higher
CCU CCU with PLC315-2 DP and 3.10.13 and higher
higher
Configuration
If data are to be read/written over the high-speed data channel, the PLC I/O
must
Dynamic response
The time when the data are read in from the PLC I/O is not synchronized with
the time when the data are made available to the parts program in the system
variables!
Example for Reading the PLC I/O with system variable $A_PBx_IN
reading
The following assumptions are made for this example:
S PLC I/O:
– log. addr. 420: 16-bit analog input module
– log. addr. 422: 32-bit digital input module
– log. addr. 426: 32-bit input DP slave
– log. addr. 430 8-bit digital input module
$MN_PLCIO_NUM_BYTES_IN = 11
;a total of 11 bytes must be read in
S Loading and starting the part program with the following content:
...
R1 = $A_PBW_IN[0] ;read 16-bit integer
R2 = $A_PBD_IN[2] ;read 32-bit integer
R3 = $A_PBR_IN[6] ;read 32-bit float
R4 = $A_PBB_IN[10] ;read 8-bit integer
...
$MN_PLCIO_NUM_BYTES_OUT= 3
;a total of 3 bytes must be output
S Loading and starting the part program with the following content:
...
ID = 1 WHENEVER TRUE DO $A_PBB_OUT[0] = 123
;cyclic output (per interpolation cycle)
...
ID = 2 WHEN $AA_IW[x] >= 5 DO $A_PBW_OUT[1] = ’Habcd’
;output of a HEX value
...
Conversion of The analog values are only processed by the NCU in a digital form.
analog values
Analog input modules convert the analog process signal into a digital value.
Analog output modules convert the digital output value into an analog value.
Analog value The digitized analog value is identical for input and output values with the rating
representation range (e.g. voltage range 10V DC).
The analog values are coded in the PLC interface as fixed-point numbers
(16 bits including sign) in two’s complement (see Table 2-1).
Sign The sign (SG) of the analog value is always in bit 15.
SG is: “0” +
“1” –
Resolution less The analog value can be finely adjusted depending on the resolution of the
than 15 bits digital/analog converter.
If the resolution of the analog module is less than 15 bits, the analog value is
entered left-justified. The free less significant places are filled with zeroes.
Table 2-2 shows how the free bit places are filled with zeroes with a 14-bit and a
12-bit analog value.
With a resolution of 14 bits (including sign), the minimum increment is 1.22mV
(10V: 8192). In this case, both less significant bits of the analog value (bit0 and
bit1) are always 0.
With a resolution of 12 bits (including sign), the incrementation is 4.8mV (10V:
2048); Bits 0 to 3 are always 0.
Details about the resolution and rated range of the analog input and output
modules used can be found in:
References: /PHD/, SINUMERIK 840D, NCU Manual
/S7H/, SIMATIC S7, Manual
Examples Here are two examples of digital analog value coding for a nominal range of
10V and 14-bit resolution.
Function Two internal comparator inputs bytes (with eight comparator inputs each) are
available in addition to the digital and analog NCK inputs. The signal status of
the comparator inputs is generated on the basis of a comparison between the
analog values present at the high-speed analog inputs and high-speed values
parameterized in setting data (see Fig. 2-5).
The system variable $A_INCO[n] allows the signal status (i.e. the result of the
comparison) of comparator input [n] to be scanned directly in the parts program.
The following applies to index n: n = 1 to 8 for comparator byte 1
n = 9 to 16 for comparator byte 2
Terms In this description, the terms “comparator inputs” (with index [n]; range of n: 1 to
8 or 9 to 16) and “comparator input bits” (with index [b]; range of b: 0 to 7) are
used.
They are related as follows:
for n = 1 to 8: Comparator input n corresponds to
comparator input bit b = n – 1
for n = 9 to 16: Comparator input n corresponds to
comparator input bit b = n –9
S Output of the comparator input byte via digital NCK outputs (bits 16 to 23)
The comparator bits can also be output directly via the digital NCK outputs
in whole bytes. This requires specification in this byte (bits 16 to 23) of the
digital NCK output byte to be used (see general MD 10540:
COMPARE_TYPE_1).
Threshold values The threshold values used for comparisons on comparator byte 1 or 2 must be
stored as setting data. For every comparator input bit [b], you must enter a
separate threshold value.
MD 41600: COMPAR_THRESHOLD_1[b], threshold values for input bit [b] of
comparator byte 1 (b = 0 to 7)
Comparator All NC functions that are processed as a function of digital NCK inputs can also
signals as digital be controlled by the signal states of the comparators. In this case, the byte
NCK inputs address for comparator byte 1 (HW byte 128) or 2 (HW byte 129) must be
entered in the MD: “Assignment of hardware byte used” associated with the NC
function.
Analog input 8 5
Analog input 1 1
MD 10530: COMPAR_ASSIGN_
ANA_INPUT_1[b]=n
Assignment of analog input n Digital outputs
MD: COMPAR_TYPE_1
to comparator bit [b] (byte specification) Bit 16...23
MD 10540: COMPAR_TYPE_1
Bit 0...7
Comparison MD: COMPAR_TYPE_1
Inversion screenform
Bit=0: analog val. < thresh. Bit 24...31
val.or Bit=1: analog value
threshold value
Threshold value 1
Threshold value 8
MD 41600: COMPAR_THRESHOLD_1
:
$A_INCO [n]
:
NC functions
Supplementary Conditions 3
There are no other supplementary conditions to note.
J
Notes
10300 FASTIO_ANA_NUM_INPUTS
MD number Number of active analog NCK inputs
Default setting: 0 Minimum input limit: 0 Maximum input limit: 8
Changes effective after POWER ON Protection level: 2 / 4 Unit: –
Data type: BYTE Applies from SW: 2.1
Meaning: This machine data defines the number of usable analog NCK inputs on the control.
Only these analog NCK inputs can be addressed by the NC parts program or assigned by
NC functions.
If more analog NCK inputs are defined in the machine data than are available in the hard-
ware of the control, the binary analog actual value is set to zero in the control for the inputs
that do not exist in the hardware. The NCK value can be altered by the PLC (see Subsec-
tion 2.4.1).
Note: CPU computing time on the interpolation level is required for processing the
digital and analog NCK I/Os. The number of active NCK I/Os should be limited
to the demands of the machine so that the interpolation cycle is not over-
loaded.
10310 FASTIO_ANA_NUM_OUTPUTS
MD number Number of active analog NCK outputs
Default setting: 0 Minimum input limit: 0 Maximum input limit: 8
Changes effective after POWER ON Protection level: 2 / 4 Unit: –
Data type: BYTE Applies from SW: 2.1
Meaning: This machine data defines the number of usable analog NCK outputs on the control.
Only these analog NCK outputs can be addressed by the NC parts program or assigned by
NC functions.
If more analog NCK outputs are defined in the machine data than are available in the hard-
ware of the control, no alarm is triggered. The analog values specified by the parts program
can be read by the PLC (see Subsection 2.4.2).
Note: CPU computing time on the interpolation level is required for processing the
digital and analog NCK I/Os. The number of active NCK I/Os should be limited
to the demands of the machine so that the interpolation cycle is not over-
loaded.
10320 FASTIO_ANA_INPUT_WEIGHT[hw]
MD number Weighting factor for analog NCK inputs [hw]
Default setting: 840D: 10 000 Minimum input limit: 1 Maximum input limit: 10 000 000
FM–NC: 11851
Changes effective after POWER ON Protection level: 2 / 4 Unit: –
Data type: DWORD Applies from SW: 2.1
Meaning: With this MD a weighting factor can be defined for every analog NCK input [n] with which
adaptation to the various A/D converters (depending on the I/O module used; different
modules can be used on the FM-NC) is possible.
[hw] = Index (0–7) for addressing the external analog inputs
The value x must be entered in this machine data which is then to be read in the parts
program with the command x = $A_INA[n] if the corresponding analog input [n] is set to
the maximum value or if the value +32767 is set for this input via the PLC interface.
The value read from the AD converter or PLC interface must be multiplied by the factor
(FASTIO_ANA_INPUT_WEIGHT / 32767) before it can be read by system variable
$A_INA[n] in the parts program (see Fig. 2-3).
An internal value of 32767 is generated if the maximum input voltage is applied at the
AD converter.
Application of the weighting factor for “analog NCK inputs without hardware”: When the
weighting factor is set to 32767, the numerical values input from the part program and
PLC are identical (1:1 communication between part program and PLC). This is of advan-
tage when the analog NCK inputs/outputs are used purely as PLC inputs/outputs without
analog hardware.
Note: The comparator threshold values MD 41600: COMPAR_THRESHOLD_1 or
MD 41601: COMPAR_THRESHOLD_2 are also scaled to
FASTIO_ANA_INPUT_WEIGHT for comparison purposes according to their
analog input assignment.
Application example(s) Example 1: Measuring range of analog input module: 0 to 2V (normal range)
(FM-NC) maximum value: 2370mV (corresponds to 32767)
FASTIO_ANA_INPUT_WEIGHT[0] = 2370
In this case, a 2 V analog value is mapped at IS “Actual value ...” (DB10,
DBB199...) as digitized value +27648 (6C00H) and the value read in the part
program with system variable $A_INA[n] is 2000.
Example 2: Measuring range of analog input module: 0 to 10V (normal range)
(FM-NC) maximum value: 11.851mV (corresponds to
32767)
FASTIO_ANA_INPUT_WEIGHT[1] = 11851
An analog value of 10V is the digitized value 27648 (= PLC value); 10000 is
read with $A_INA[n].
Related to .... IS “Setpoint from the PLC for the analog NCK inputs” (DB10, DBB148–163)
IS “Setpoint from the PLC for the analog NCK outputs” (DB10, DBB170–185)
IS “Setpoint of analog NCK outputs” (DB10, DBB210–225)
10350 FASTIO_DIG_NUM_INPUTS
MD number Number of active digital NCK input bytes
Default setting: 1 Minimum input limit: 0 Maximum input limit: 5
Changes effective after POWER ON Protection level: 2 / 4 Unit: –
Data type: BYTE Applies from SW: 2.1
Meaning: The number of bytes of the digital NCK inputs that can be used on the control are defined in
this machine data.
These digital NCK inputs can be read directly by the parts program. The signal state at the
HW inputs can also be changed by the PLC.
If more digital NCK inputs are defined in the machine data than are available in the
hardware of the control, a signal status of zero is set in the control for the inputs that do not
exist in the hardware. The NCK value can be altered by the PLC.
See Subsection 2.2.1 for a more detailed description.
Application example(s) Digital NCK inputs 5 to 8 can only be influenced by the PLC (no hardware inputs).
Related to .... IS “Disable the digital NCK inputs” (DB10, DBB0, DBB122 ...)
IS “Set the digital NCK inputs from the PLC” (DB10, DBB1, DBB123 ...)
IS “Actual value of the digital NCK inputs” (DB10, DBB60, DBB186 ...)
10360 FASTIO_DIG_NUM_OUTPUTS
MD number Number of active digital NCK output bytes
Default setting: 1 Minimum input limit: 0 Maximum input limit: 5
Changes effective after POWER ON Protection level: 2 / 4 Unit: –
Data type: BYTE Applies from SW: 2.1
Meaning: The number of bytes of the digital NCK outputs that can be used on the control are defined
in this machine data.
These digital NCK outputs can be set directly by the parts program. The PLC is able to
S set the digital outputs with IS “Disable the digital NCK outputs” to “0” in a defined way.
S alter the NCK value with IS “Overwrite screen form for digital NCK outputs”.
S specify a PLC value with IS “Setting screen form for digital NCK outputs”.
If more digital NCK outputs are defined in the machine data than are available in the
hardware of the control, no alarm is triggered. The signal states
specified by the part program can be read by the PLC.
See Subsection 2.2.2 for a more detailed description.
Special cases, errors, ... Digital NCK outputs 5 to 8 can only be processed by the PLC (no hardware outputs).
...
Related to .... IS “Disable the digital NCK outputs” (DB10, DBB4, DBB130 ...)
IS “Overwrite screen form of the digital NCK outputs” (DB10, DBB5, DBB131 ...)
IS “Setpoint from the PLC for the digital NCK outputs” (DB10, DBB6, DBB132 ...)
IS “Setting screen form of the digital NCK outputs” (DB10, DBB7, DBB133 ...)
IS “Setpoint of the digital NCK outputs” (DB10, DBB64, DBB190 ...)
10361 FASTIO_DIG_SHORT_CIRCUIT
MD number Shortcircuits of digital inputs and outputs
Default setting: 0 Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: DWORD Applies from SW: 4.2
Meaning: Defined short-circuits between the digital input/output signals of the fast NCK I/Os are
achieved by a logic operation between the signals read in from the fast NCK I/Os or PLC
interface and the defined output signals. Upon the logic operation, the output signals always
remain unchanged, the inputs that are to be accounted for internally are achieved from the
read inputs and the logic operation. If more than one output bit is specified for an input bit in
overwrite mode, the result is determined by the last assignment defined in the list.
The definition for non-existent or non-activated input/outputs is ignored without alarm out-
put.
Bits 0–7: Number of input byte to be written (1 – 5)
Bits 8–15 Bit number within input byte (1–8)
Logic operation:
The type of logic is selected by adding a hexadecimal number to the input bit number:
00 Overwrite input like output
A0 Input is read input ANDed with the
status of the specified output
B0 Input is read input ORed with the
status of the specified output
Bits 16–23: Number of output byte (1 – 5)
Bits 24–31 Bit number within output byte (1–8)
Application example(s) FASTIO_DIG_SHORT_CIRCUIT[0] = H04010302
Input 3 of 2nd byte
Output 4 of 1st byte (= 4th onboard NCU output)
The input state is overwritten by the specified output.
FASTIO_DIG_SHORT_CIRCUIT[1] = H0705A201
Input 2 of 1st byte (= 2nd onboard NCU input
Output 7 of 5th byte
The input state is ANDed with the specified output.
FASTIO_DIG_SHORT_CIRCUIT[2] = H0103B502
Input 5 of 2nd byte
Output 1 of 3rd byte
The input state is ORed with the specified output.
10362 HW_ASSIGN_ANA_FASTIN[hw]
MD number Hardware assignment of external analog NCK inputs
Default setting: Minimum input limit: Maximum input limit:
with 840D/810D: 01000000 with 840D/810D: 01000000 with 840D/810D: 011E0802
with 840Di: 050000A0 with 840Di: 05000000 with 840Di: 050003FF
with FM-NC: 02000000 with FM-NC: 02000000 with FM-NC: 02070004
Changes effective after POWER ON Protection level: 2 / 4 Unit: Hexadecimal
Data type: DWORD Applies from SW: 2.1
Meaning: The following 4 bytes define the assignment between the external analog NCK inputs and
the hardware
Applies to 840D/810D and FM-NC:
1. byte: I/O No.
2nd byte: Submodule No.
3rd byte: Module No.
4th byte: Segment No.
Applies to 840Di:
1. byte: Logical address low
2nd byte: Logical address high
3rd byte: Not used (00)
4th byte: Segment No. for PROFIBUS-DP (05)
Array length = maximum number of analog inputs on NCK is set in MD10300.
As soon as value 0 is entered in byte 3 (module no.) external I/Os are no longer processed
by the control. A simulated input is defined.
The hardware assignment is different on the SINUMERIK 840D/810D, 840Di and FM-NC
controls.
The individual bytes are explained under MD 10366: HW_ASSIGN_DIG_FASTIN.
[hw] = Index (0–7) for addressing the external analog inputs
Related to .... MD 10366: HW_ASSIGN_DIG_FASTIN
MD 10368: HW_ASSIGN_DIG_FASTOUT
MD 10364: HW_ASSIGN_ANA_FASTOUT
10364 HW_ASSIGN_ANA_FASTOUT[hw]
MD number Hardware assignment of external analog NCK outputs
Default setting: Minimum input limit: Maximum input limit:
with 840D/810D: 01000000 with 840D/810D: 01000000 with 840D/810D: 011E0802
with 840Di: 050000A0 with 840Di: 05000000 with 840Di: 050003FF
with FM-NC: 02000000 with FM-NC: 02000000 with FM-NC: 02070004
Changes effective after POWER ON Protection level: 2 / 4 Unit: Hexadecimal
Data type: DWORD Applies from SW: 2.1
Meaning: The following 4 bytes define the assignment between the external analog NCK outputs and
the hardware
Applies to 840D/810D and FM-NC:
1. byte: I/O No.
2nd byte: Submodule No.
3rd byte: Module No.
4th byte: Segment No.
Applies to 840Di:
1. byte: Logical address low
2nd byte: Logical address high
3rd byte: Not used (00)
4th byte: Segment No. for PROFIBUS-DP (05)
Array length = maximum number of analog outputs on NCK is set in MD10310.
As soon as value 0 is entered in byte 3 (module no.) external I/Os are no longer processed
by the control. A simulated input is defined.
The hardware assignment is different on the SINUMERIK 840D/810D and FM-NC.
The individual bytes are explained under MD 10366: HW_ASSIGN_DIG_FASTIN.
[hw] = Index (0–7) for addressing the external analog outputs
Related to .... MD 10366: HW_ASSIGN_DIG_FASTIN
MD 10368: HW_ASSIGN_DIG_FASTOUT
MD 10362: HW_ASSIGN_ANA_FASTIN
10366 HW_ASSIGN_DIG_FASTIN[hw]
MD number Hardware assignment of external digital NCK inputs
Default setting: Minimum input limit: Maximum input limit:
with 840D/810D: 01000000 with 840D/810D: 01000000 with 840D/810D: 011E0802
with 840Di: 05000090 with 840Di: 05000000 with 840Di: 050003FF
with FM-NC: 02000000 with FM-NC: 02000000 with FM-NC: 02070004
Changes effective after POWER ON Protection level: 2 / 4 Unit: Hexadecimal
Data type: DWORD Applies from SW: 2.1
Meaning: The following 4 bytes define the assignment between the external digital NCK I/Os and the
hardware
Applied to 840D/810D and FM-NC:
1. byte: I/O No.
2nd byte: Submodule No.
3rd byte: Module No.
4th byte: Segment No.
Applies to 840Di:
1. byte: Logical address low
2nd byte: Logical address high
3rd byte: Not used (00)
4th byte: Segment No. for PROFIBUS-DP (05)
Array length = maximum number of digital input bytes on NCK is set in MD10350.
As soon as value 0 is entered in byte 3 (module no.), the input byte concerned is not pro-
cessed by the control. A simulated input is defined.
The hardware assignment is different on the SINUMERIK 840D, 840Di and FM-NC.
840D/810D:
I/O no.: Number of the I/O byte on the DP compact module
(range: 1 to 2; always 1 for analog inputs/outputs)
Submodule no.: Submodule slot on the terminal block into which the DP compact mo-
dule is slotted (range: 1 to 8)
Module no.: Number of the logical slot into which the terminal block with the exter-
nal I/Os is slotted.
The assignment of the logical slot to a physical slot is made with
MD13010: DRIVE_LOGIC_NR (logical drive number). Each module
occupies a physical slot. The first 6 slots on the 810D are permanently
assigned.
Segment no.: For 840/810D always 1 (identifier for 611D bus)
Example: HW_ASSIGN_DIGITAL_FASTIN[3] = 01 04 03 02
1st byte: 02 = 2nd input byte of a 16-bit input module
2nd byte: 03 = Input module inserted in slot 3 of terminal block
3rd byte: 04 = Terminal block slotted into logical drive number 4
4th byte: 01 = Identifier for 611D bus
10366 HW_ASSIGN_DIG_FASTIN[hw]
MD number Hardware assignment of external digital NCK inputs
Meaning:
FM-NC:
I/O no.: Number of the input byte on the signal module
(range depends on the I/O module: 1 to 4)
Submodule no.: Of no relevance for FM-NC (this byte must be preset with 01 in a defi-
ned way)
Module no.: Number of the physical slot on the local P bus.
(Range: 1 to 7)
Note: The FM-NC is slot 0; the physical slots for the digital and
analog I/Os are located to the left of this.
Segment no.: Always 2 for FM-NC (identifier for local P bus)
Example: HW_ASSIGN_DIGITAL_FASTIN[3] = 02 04 00 02
1st byte: 02 = 2nd input byte of a 16-bit digital input module
2nd byte: 00 = Not relevant
3rd byte: 04 = Input module slotted into logical drive number 4
4th byte: 02 = Identifier for local P bus
[hw] = Index (0 to 3) for addressing the external digital input byte
Related to .... MD 10368: HW_ASSIGN_DIG_FASTOUT
MD 10362: HW_ASSIGN_ANA_FASTIN
MD 10364: HW_ASSIGN_ANA_FASTOUT
10368 HW_ASSIGN_DIG_FASTOUT[hw]
MD number Hardware assignment of external digital NCK outputs
Default setting: Minimum input limit: Maximum input limit:
with 840D/810D: 01000000 with 840D/810D: 01000000 with 840D/810D: 011E0802
with 840Di: 05000090 with 840Di: 05000000 with 840Di: 050003FF
with FM-NC: 02000000 with FM-NC: 02000000 with FM-NC: 02070004
Changes effective after POWER ON Protection level: 2 / 4 Unit: Hexadecimal
Data type: DWORD Applies from SW: 2.1
Meaning: The following 4 bytes define the assignment between the external digital NCK outputs and
the hardware
Applies to 840D/810D and FM-NC:
1st byte: I/O No.
2nd byte: Submodule No.
3rd byte: Module No.
4th byte: Segment No.
Applies to 840Di:
1st byte: Logical address low
2nd byte: Logical address high
3rd byte: Not used (00)
4th byte: Segment No. for PROFIBUS-DP (05)
Array length = maximum number of digital output bytes on NCK is set in MD10360.
As soon as value 0 is entered in byte 3 (module no.), the input byte concerned is not pro-
cessed by the control. A simulated input is defined.
The hardware assignment is different on the SINUMERIK 840D/810D and FM-NC.
The individual bytes are explained under MD: HW_ASSIGN_DIG_FASTIN.
[hw] = Index (0 to 3) for addressing the external digital output byte
Related to .... MD 10366: HW_ASSIGN_DIG_FASTIN
MD 10362: HW_ASSIGN_ANA_FASTIN
MD 10364: HW_ASSIGN_ANA_FASTOUT
The mode of operation can be set via a bit mask (bits 0 to 7) for each individual I/O module
of the terminal block addressed with index [tb] (bit 0 for I/O module on slot 1 ... bit 7 for I/O
module on slot 8).
The bits have the following meaning:
Bit n = 0: I/O module on slot n+1 is operated asynchronously
Bit n = 1: I/O module on slot n+1 is operated synchronously
The value is of no significance for unassigned slots of the terminal block.
Example: HW_CLOCKED_MODULE_MASK[0] = 30 (bit mask: 0011 0000)
The I/O modules of terminal block 1 on slots 6 and 5 are operated in synchro-
nism with the clock.
Note: Digital NCK inputs/outputs are generally always operated asynchronously. When
analog NCK inputs/outputs are used in closed control loops, values often have to be read in
and out in synchronism with the clock.
Notes: – On index [tb] see MD 10380: HW_UPDATE_RATE_FASTIO.
– Module 6FC5211-0AA10-0AA0 can only operate synchronously.
Related to .... MD 10382: HW_LEAD_TIME_FASTIO
MD 10380: HW_UPDATE_RATIO_FASTIO
10394 PLCIO_NUM_BYTES_IN
MD number Number of direct read inputs bytes of PLC I/Os
Default setting: 0 Minimum input limit: 0 Maximum input limit: 32
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: BYTE Applies from SW: 5.1
Meaning: Number of PLC I/O input bytes that can be read directly by the NC.
These bytes are transferred via the PLC operating system and not influenced by the PLC
basic or user program, resulting in a delay time of less than approximately 0.5ms. They can
be read by parts programs/synchronized actions via the following system variables:
$A_PBB_IN
$A_PBW_IN
$A_PBD_IN
$A_PBR_IN
Special cases, errors, ... Check and, if necessary, refer to the motor data sheet to correct machine data MD 10394:
... PLCIO_NUM_BYTES_IN and
MD 10395: PLCIO_LOGIC_ADDRESS_IN must be consistent with the PLC
configuring data.
Related to .... MD 10395: PLCIO_LOGIC_ADDRESS_IN
10395 PLCIO_LOGIC_ADDRESS_IN
MD number Start address of direct read input bytes of PLC I/Os
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after power ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW: 5.1
Meaning: Logical start address of direct PLC input devices
From this address onwards, a number of PLCIO_NUM_BYTES_IN bytes for direct use by
the NC must be defined by the PLC hardware configuration.
These bytes are transferred via the PLC operating system and not influenced by the PLC
basic or user program, resulting in a delay time of less than approximately 0.5ms. They can
be read by parts programs/synchronized actions via the following system variables:
$A_PBB_IN,
$A_PBW_IN,
$A_PBD_IN,
$A_PBR_IN.
Special cases, errors, ... Check and, if necessary, refer to the motor data sheet to correct machine data MD 10394:
... PLCIO_NUM_BYTES_IN and
MD 10395: PLCIO_LOGIC_ADDRESS_IN must be consistent with the PLC
configuring data.
Related to .... MD 10394: PLCIO_NUM_BYTES_IN
10396 PLCIO_NUM_BYTES_OUT
MD number Number of direct write output bytes of PLC I/Os
Default setting: 0 Minimum input limit: 0 Maximum input limit: 32
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: BYTE Applies from SW: 5.1
Meaning: Number of PLC I/O output bytes that can be written directly by the NC. These bytes are
transferred via the PLC operating system and not influenced by the PLC basic or user pro-
gram, resulting in a delay time of less than approximately 0.5ms. They can be written/read
by parts programs/synchronized actions via the following system variables:
$A_PBB_OUT,
$A_PBW_OUT,
$A_PBD_OUT,
$A_PBR_OUT
Special cases, errors, ... Check and, if necessary, refer to the motor data sheet to correct machine data MD 10396:
... PLCIO_NUM_BYTES_OUT and MD 10397: PLCIO_LOGIC_ADDRESS_OUT must be
consistent with the PLC configuring data.
In the case of an error, other PLC signals would be overwritten.
Related to .... MD 10397: PLCIO_LOGIC_ADDRESS_OUT
10397 PLCIO_LOGIC_ADDRESS_OUT
MD number Start address of direct write output bytes of PLC I/Os
Default setting: 0 Minimum input limit: 0 Maximum input limit: Plus
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW: 5.1
Meaning: Logical start address of direct PLC output devices From this address onwards, a number of
PLCIO_NUM_BYTES_IN bytes must be defined by the PLC hardware configuration.
for direct use by the NC.
These bytes are transferred via the PLC operating system and not influenced by the PLC
basic or user program, resulting in a delay time of less than approximately 0.5ms. They can
be written/read by parts programs/synchronized actions via the following system variables:
$A_PBB_OUT,
$A_PBW_OUT,
$A_PBD_OUT,
$A_PBR_OUT.
Special cases, errors, ... Check and, if necessary, refer to the motor data sheet to correct machine data MD 10396:
... PLCIO_NUM_BYTES_OUT and MD 10397: PLCIO_LOGIC_ADDRESS_OUT must be
consistent with the PLC configuring data. In the case of an error, other PLC signals would
be overwritten.
Related to .... MD 10396: PLCIO_NUM_BYTES_OUT
10398 PLCIO_IN_UPDATE_TIME
MD number Update time for PLC I/O input cycle
Default setting: 0 Minimum input limit: 0 Maximum input limit: 10000
Changes effective after POWER ON Protection level: 2 / 7 Unit: ms
Data type: DOUBLE Applies from SW: 6.4
Meaning: Sets the time period within which the PLC I/O data that can be read directly by $A_PBx_IN
system variables is updated.
This time value is rounded up to the next-higher multiple of the period defined
by the IPO cycle.
Related to .... MD 10071: IPO_CYCLE_TIME
10399 PLCIO_TYPE_REPRESENTATION
MD number Little/big endian representation for PLC I/O
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: Applies from SW: 6.4
Meaning: Little/big endian format representation of $A_PBx_OUT, $A_PBx_IN system variables
for PLC I/Os which can be directly controlled by the NCK.
10530 COMPAR_ASSIGN_ANA_INPUT_1[b]
10531 COMPAR_ASSIGN_ANA_INPUT_2[b]
MD number Hardware assignment of analog inputs for comparator byte 1 (or 2)
[bit number]
Default setting: 0 Minimum input limit: 0 Maximum input limit: 8
Changes effective after POWER ON Protection level: 2 / 4 Unit: –
Data type: BYTE Applies from SW: 2.1
Meaning: With this MD, the analog inputs 1 to 8 are assigned to a bit number of comparator byte 1 or
2. This input bit of the comparator is set to “1” if the comparison between the applied analog
value and the associated threshold value
(MD 41600: COMPAR_THRESHOLD_1 or MD 41601: COMPAR_THRESHOLD_2) fulfils
the condition parameterized with
MD 10540: COMPAR_TYPE_1 or MD 10541: COMPAR_TYPE_2).
In this case, an analog input can be assigned to a number of comparator input bits.
The following generally applies for comparator byte 1:
COMPAR_ASSIGN_ANA_INPUT_1 [b] = n
with index: b = number of comparator input bit (0 to 7)
n = number of analog input (1 to 8)
Example: COMPAR_ASSIGN_ANA_INPUT_1[0] = 1
COMPAR_ASSIGN_ANA_INPUT_1[1] = 2
COMPAR_ASSIGN_ANA_INPUT_1[2] = 1
COMPAR_ASSIGN_ANA_INPUT_1[3] = 3
COMPAR_ASSIGN_ANA_INPUT_1[4] = 3
COMPAR_ASSIGN_ANA_INPUT_1[5] = 1
COMPAR_ASSIGN_ANA_INPUT_1[6] = 1
COMPAR_ASSIGN_ANA_INPUT_1[7] = 1
Analog input 1 affects input bit 0, 2 , 5, 6 and 7 of comparator byte 1
Analog input 2 affects input bit 1 of comparator byte 1
Analog input 3 affects input bits 3 and 4 of comparator byte 1
The same also applies to comparator byte 2 with respect to
COMPAR_ASSIGN_ANA_INPUT_2[b].
See Section 2.7 for a more detailed description.
Related to .... MD 10540: COMPAR_TYPE_1
MD 10541: COMPAR_TYPE_2
10540 COMPAR_TYPE_1
10541 COMPAR_TYPE_2
MD number Parameterization for comparator byte 1 or 2
Default setting: 0 Minimum input limit: Maximum input limit:
Changes effective after POWER ON Protection level: 2 / 4 Unit: Binary mask
Data type: DWORD Applies from SW: 2.1
Meaning: The following parameters can be set with COMPAR_TYPE_1 for the individual input bits
(0 to 7) of comparator byte 1:
S Bits 0 to 7: Type of comparison mask (for comparator input bit 0 to 7)
Bit = 1: Input bit = 1 when analog value threshold value
Bit = 0: Input bit = 1 when analog value < threshold value
(threshold value set with MD 41600: COMPAR_THRESHOLD_1 or MD 41601:
COMPAR_THRESHOLD_2)
S Bits 8 to 15: Not assigned (to be set to 0 in a defined way)
S Bits 16 to 23: Assignment of a hardware output byte for the output of the
comparator states (stating byte address)
Byte = 0: No output via digital NCK outputs
Byte = 1: Output via digital on-board NCK outputs (1 to 4)
Byte = 2: Output via external digital NCK outputs 9 to 16
Byte = 3: Output via external digital NCK outputs 17 to 24
Byte = 4: Output via external digital NCK outputs 25 to 32
Byte = 5: Output via external digital NCK outputs 33 to 40
S Bits 24 to 31: Inversion screen form for the output of comparator states (bit 0 to 7)
Bit = 0: Input bit is not inverted
Bit = 1: Input bit is inverted
41600 COMPAR_THRESHOLD_1[b]
41601 COMPAR_THRESHOLD_2[b]
MD number Threshold values for comparator byte 1 or 2 [bit 0 to 7]
Default setting: 0 Minimum input limit: 0 Maximum input limit: 10 000
Changes effective immediately Protection level: 7 Unit: mV
Data type: DOUBLE Applies from SW: 2.1
Meaning: COMPAR_THRESHOLD_1[b] defines the threshold values for the individual input bits[b] of
comparator byte 1.
The same also applies to comparator byte 2 with COMPAR_THRESHOLD_2[b].
Index [b]: Bits 0 – 7
See Section 2.7 for a more detailed description.
Related to .... MD 10530: COMPAR_ASSIGN_ANA_INPUT_1
MD 10531: COMPAR_ASSIGN_ANA_INPUT_2
MD 10540: COMPAR_TYPE_1
MD 10541: COMPAR_TYPE_2
Signal Descriptions 5
5.1 NC specific signals
The overview in Subsections 5.1.1 and 5.1.3 lists only the signals which are
described below. For a complete list of signals, please see
References: /LIS/, Lists
148, 149 Setting value from PLC for analog input 1 of the NCK
150, 151 Setting value from PLC for analog input 2 of the NCK
152, 153 Setting value from PLC for analog input 3 of the NCK
154, 155 Setting value from PLC for analog input 4 of the NCK
156, 157 Setting value from PLC for analog input 5 of the NCK
158, 159 Setting value from PLC for analog input 6 of the NCK
160, 161 Setting value from PLC for analog input 7 of the NCK
162, 163 Setting value from PLC for analog input 8 of the NCK
170, 171 Setting value from PLC for analog output 1 of NCK
172, 173 Setting value from PLC for analog output 2 of NCK
174, 175 Setting value from PLC for analog output 3 of NCK
176, 177 Setting value from PLC for analog output 4 of NCK
178, 179 Setting value from PLC for analog output 5 of NCK
180, 181 Setting value from PLC for analog output 6 of NCK
182, 183 Setting value from PLC for analog output 7 of NCK
184, 185 Setting value from PLC for analog output 8 of NCK
Notes:
#) Bits 4 to 7 of the digital inputs and NCK outputs can be processed by the PLC although no equivalent
hardware I/Os exist. These bits can therefore also be used for data exchange between the NCK and PLC.
§) With the 840D, the NCK digital inputs and outputs 1 to 4 are provided as onboard hardware inputs and outputs. No
hardware I/Os are available for bits 0 to 3 on the FM-NC. These can be processed by the PLC according to #).
Notes
Example 6
None
J
7.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
Notes
6.6.2 Axis container rotation with an implicit parts program wait . . . . . . . 2/B3/6-196
6.6.3 Axis container rotation by one channel only (e.g. during power-up) 2/B3/6-196
6.7 Evaluating axis container system variables . . . . . . . . . . . . . . . . . . . . 2/B3/6-197
6.7.1 Conditional branch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/B3/6-197
6.7.2 Static synchronized action with $AN_AXCTSWA . . . . . . . . . . . . . . . 2/B3/6-197
6.7.3 Wait for certain completion of axis container rotation . . . . . . . . . . . . 2/B3/6-197
6.8 Configuration of a multi-spindle turning machine . . . . . . . . . . . . . . . 2/B3/6-199
6.9 Lead link axis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/B3/6-207
6.9.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/B3/6-207
6.9.2 Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/B3/6-209
6.10 NCU link with different interpolation cycles . . . . . . . . . . . . . . . . . . . . 2/B3/6-210
6.10.1 Example of eccentric turning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/B3/6-210
7 Data Fields, Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/B3/7-213
7.1 Interface signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/B3/7-213
7.2 Machine/setting data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/B3/7-215
7.3 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/B3/7-216
J
Brief Description 1
1.1 Topology of distributed system configurations
S More than one NCU owing to large number of axes and channels
S Large dimensions and spatial separation necessitate several operating units
(MMC operator panel fronts and MCP machine control panels or HT6
handheld terminal)
Software version The SW versions indicated in this document refer to the SINUMERIK 840D
control.
M: N
MMC 1 MMC m
...
NCU link
A1 A1 A1
A2 A2
COM
A2
COM
COM
NCU 1 ... NCU 2 ... NCU n
...
Master Slave
... Slave
Ai Ai Ai
611 D
611 D
611 D
S1 Link S1 S1
S2 submodule S2 Link submodule S2
... ... ...
Sj Terminating Sj Sj Termi-
PLC resistor PLC PLC nating
resistor
NCU link: Communication in the
interpolation cycle
*) PLC–PLC
DP-DP coupler communication
M:N Assignment of several MMC, MCP or HT6 control units (M) to several NCUs
(m MMC : n NCU) (N).
NCU link The functions for the NCU link are based on additional communication between
NCUs in the interpolation cycle. The NCU link allows:
Lead link axes In software version 6 and higher, following axes can be traversed by an NCU if
as of SW 6 the associated leading axis is being traversed by another NCU. The NCU link
communication handles the necessary exchange of axis data. See 1.4.
NCU link with For special applications such as eccentric turning, software version 6 and
different IPO higher provides support for an NCU link between NCUs with different
cycles SW 6 interpolation cycles. For details please refer to 1.4.6 and 2.11.
Host computer Communication between host computers and control units is described in
References: /FBR/, SINCOM Computer Link
Bus capacities The buses illustrated in the above topology diagram are specially designed for
their transmission tasks. The resultant communication specifications are shown
in the next figure:
– Number of bus nodes
– Baud rate
– Synchronization
HT6/HPU/
MCP/ HHU/MMC
PP
HT6/HPU/
DCM
COM
DCS
NCU HHU/MMC/
Max. 31 nodes
OP30
64 Mbaud
(position control
611D cycle) Link PLC MCP/
PP
Comments:
In brackets: (synchronization cycle)
PP Pushbutton panel
MPI
OPI
6
NCU link
DP
5
4
3
2
1
The NCU link and DP can operate faster because they are assigned directly to
layer 2.
Introduction The plant configurations must be highly flexible to meet the requirements of
complex machines such as rotary indexing machines, multi-spindle machines
and complex NC production centers.
Often they need
S several (M) control units (MMC and MCP or HT6) owing to large dimensions
of machine and physical separation of operator stations,
M:N concept The M:N concept is represented diagrammatically in Fig. 1-1 “Topology”:
Several control units (MMCs/HT6s and/or MCPs) are connected to several
NCUs via a bus system. As the number of components is variable, they are
given the indexes m and n; hence the name M:N concept.
This concept allows the user to connect any control units to any NCUs in the
system (within the limits imposed by the hardware) via the bus and to switch
them over as and when required.
NCU link NCU link is an additional direct connection between the NCUs, enabling fast
communication (see Sections 1.4 and 2.4).
New features The features of SW 5 including the control unit management option are as
follows:
S Up to 32 bus nodes (MMCs, MCPs, HT6s and/or NCUs, see Fig. 1-2)
S PLC controls the switchover process (control unit switchover to toolbox,
directory PSP_PROG\m_zu_n.zip)
1.2.2 Hardware
Operator panel The OP030, OP031 or OP032 operator panel fronts feature a slimline screen,
softkeys, a keyboard, interfaces and a power supply. An MMC is also mounted
on the OP031 and OP032.
Machine control The machine control panel (MCP) incorporates a keyboard, rotary button pad
panel and interfaces.
HT6 The Handheld Terminal HT6 comprises a slimline screen, softkeys, keyboard,
override rotary switch, emergency stop and enabling buttons as well as
interfaces and power supply. The functions of the MMC and MCP are both
integrated in the HT6.
Difference between OP030 and OP031/32 differ in their assignment options to an NCU:
OP030 and S OP030
OP031/32/HT6 can be permanently assigned to one NCU only.
It can be used as the secondoperator panel front for this NCU.
The addresses of the connected partners can be set for this purpose.
S The OP031/32/HT6
can have an active assignment to another NCU via HT6/MMC operation.
References The operator interfaces are described in the Operator’s Guides of the operator
panel fronts used.
/BA/, Operator’s Guide
/FBO/, OP030 Operator’s Guide
/BH/, Operator Components Manual
Buses The control units (MMCs and/or MCPs, HT6s) and NCUs are connected by
means of the
Address Bus nodes each have a unique address on the bus. The NCU uses
assignments
S a common address for the NC and PLC on the OPI,
S two separate addresses (for NC and PLC) on the MPI interface. The
following applies:
– SW 3.1 and later: PLC address can be reconfigured with STEP7.
“2” is the default address for the PLC on the MPI.
– SW 3.2 and later: As regards the addresses on the MPI interface, the
following applies when the PLC-CPU 315 is used:
NC address = PLC address + 1
– SW 3.5 and later: As regards the addresses on the MPI interface, the
following applies when the PLC-CPU 314 is used:
NC address = PLC address + 1
Defaults for OPI Addresses 0 (MMC) and 14 (HT6) are reserved at the works and 13 (NCK) is
the default and these addresses should not be assigned to bus nodes in M:N
systems.
Note
The M:N switchover can malfunction when a PG is online. Remedy:
Either set the PG to Offline before switching the unit or connect it to the MPI.
Number of active A maximum of two MMCs/HT6s (incl. COROS OPs) can be continually
MMCs/HT6s on 1 connected actively to one NCU. MMCs/HT6s on the OPI or MPI count in the
NCU same way.
Number of As standard, two MCPs and one HHU can be connected to the OPI or MPI
MCPs/HHUs on 1 interface. The handheld terminal ((HT6) and the Handheld programming unit
NCU (HPU) count as one MMC and one MCP.
Note
The MPI/OPI network rules outlined in the “SINUMERIK 840D Installation
Guide” Section 3.1 must be applied.
In particular, an M:N installation must be connected up by means of cables
fitted with terminating resistors (identifiable by switch with which these are
switched in and out).
1.2.3 Functions
Defining The flexible M:N concept makes it possible to extensively modify the properties
properties of the control units.
The assignment of the MMC properties can either be
S static or
S dynamic.
Static properties Static system properties are configured in file NETNAMES.INI (see paragraph
below). They become effective at power-up and cannot be changed during the
runtime:
S Assignment of bus nodes – bus system
S Combination of different bus systems (OPI, MPI)
S Assignment of MMCs – NCUs (which MMCs/HT6s can monitor which
NCUs)
S MCP switchover
S Suppression priorities at changeover (see below)
S Utilization properties (see Chapter 2 “Properties of MMCs”):
– Operator panel is the alarm/data management server
– The control panel is mainor secondary control panel
Online Offline
Normal MMC operating mode with communication be- No communication
tween the MMC/HT6 and NCU: between the MMC/
Operation and/or monitoring are possible. HT6 and NCU:
Disable active Passive
Operation and moni-
moni
toring not possible.
possible
The operator can operate Operator cannot oper-
and monitor. ate. He sees a window
with header and alarm
line and a message indi-
cating “passive” state.
Operating the M:N The M:N function is operated via the “Channel menu” option.
function
The channel menu is selected via the “Switch over channel” key.
The horizontal softkeys are used to select a channel group (HMI Embedded /
HT6: max. 8, HMI Advanced: max. 24 channel groups). Up to eight connections
to channels in different NCUs can be set up in one channel group.
The “Channel menu” screen displays all current connections and the associated
symbol names.
Note
In the case of errors during power-up (for example, link setup fails), see
Chapter 2 (Power-up).
Suppression If two MMCs/HT6s are online on one NCU, and a third MMC/HT6 would like to
strategy go online, then the latter can “suppress” one of the other two. Communication is
then interrupted between this MMC and the NCU.
The algorithm responsible for this suppression is driven by priorities configured
in the file NETNAMES.INI (see Subsection 2.1.8 “Suppression”).
1.2.4 Configurability
When the M:N system powers up, it must be aware of the existing control units,
NCUs and communications links and their properties.
NETNAMES.INI All this information is contained in the configuration file NETNAMES.INI which is
configured before power-up.
This present description is mainly intended to provide the necessary knowledge
for correctly setting up this configuration file for the M:N concept.
This means that
– the hardware configuration is displayed,
– the properties of the components are defined, and
– the desired switchovers/assignments are possible.
Note
Section 1.3 does not apply to the HT6, since only one HT6 can be operated on
an NCU without control unit management.
SW 3.1 and higher Two MCPs and one HHU can be connected to the MPI or OPI.
The handheld programming unit (HPU) counts as an MMC and an MCP.
One of the panel fronts must be an OP030.
SW 3.2 and higher The configurations “One operator panel front and up to three NCUs” are
available.
The necessary configuration in the NC for the connection of MCPs/HHUs is
made with the basic PLC routine (see Description of Functions, P3: Basic PLC
program).
Address must be specified in the case of data exchange between PLCs via
Profibus DP (PLC-CPU 315 only) or for global data (double addressing).
The following applies to PLC-CPU 315: NC address = PLC address + 1.
SW 3.5 and higher The configurations “One operator panel front and up to four NCUs” and one
MMC locally in each case are available.
1.3.2 Hardware
Buses The connection between MMC and NCU can be made via the following
connections:
SW 3.2 and higher Possibility of installing “Several operator panel fronts and NCUs” on the OPI
(X101 on NCU) and the MPI (X122 on NCU).
When setting up the link via MPI, the PLC-CPU315 must be used if there are
several NCUs, as it is possible to set the NC address with this PLC.
1.3.3 Functions
SW 3.1 and higher “Several operator panel fronts and several NCUs” available in the basic version.
SW 3.2 and higher Configuration in the NC for the connection of MCPs/HHUs is made with the
basic PLC routine
(see Description of Functions, P3: Basic PLC program).
S Switchover of link to another NCU with the soft key labeled “conn...”:
A menu is overlaid where you can select the connections conn_1, ... conn_n
(declared in NETNAMES.INI) via soft keys.
The name (name=...) allocated to the connection in NETNAMES.INI is
displayed on the soft keys.
A connection to the new NCU is established by pressing the soft key.
S Possible defects
The NCU with which the connection is to be established can refuse the
connection setup. Reason: NCU faulty or the NCU cannot operate with an
additional MMC at this point.
The number of MMCs that an NCU can set up a connection with at any one
time is configured in MD 10134 (MM_NUM_MMC_UNITS = number of MMC
communications partners possible at any one time). The OP030 uses one unit.
An MMC, as supplied, uses two units. Other units (up to 12) are required for
larger OEM packages.
S Alarms, messages
Note
When the NCU is replaced (during servicing) or the back-up battery fails, the
stored address is lost.
A general reset of the NCU does not delete the NCU address. The address can
only be changed via the MMC.
The channel name should be assigned uniquely in MD 20000: CHAN_NAME
(channel name).
M:N function The M:N function is operated via the “channel menu option”.
Option:
“Channel menu”
Note
In the case of errors during power-up (for example, link setup fails), see
Chapter 2 (Power-up).
1.3.4 Configurability
From SW 3.1 The option of creating a link between two operator panel fronts and one NCU
2 MMCs : 1 NCU has been implemented in SW 3.1, as the following diagram illustrates. In this
case, there is a fixed assignment between the MCP and the NCU.
PG with
MMC 1 MMC 2 STEP7
Start-up tool
X4 X201
OPI (MPI)
PG with
MPI STEP7
X20 X101 X122 Start-up tool
MCP 1
NCU 1
The operator panel fronts, NCU and machine control panel are all either
connected to the OPI bus or the MPI bus. A homogenous network must be
provided with respect to these components.
The illustrated configuration enables, for example, a large machine tool to be
equipped with operator panel fronts on the front and rear sides.
Features When operating two operator panel fronts in the configuration illustrated above,
the user will observe the following system operating characteristics:
1. For the NCU, there is no difference whether the input is from the MMC1 or
MMC2 operator panel fronts.
2. Each control unit can visualize selected displays independently of the other
unit.
3. Spontaneous events such as alarms are displayed on both control units.
4. The protection level set on one MMC will also apply to the second MMC.
5. The system does not provide for any further co-ordination between the
operator panels.
If the user applies the standard configuration shown in the diagram, then no
further special settings are required.
From SW 3.2 In SW 3.2 and higher, it is possible to link one operator panel front and up to
1 MMC : 3 NCUs three NCUs (see Fig. 1-5). In this case, the MCP has a fixed assignment to the
relevant NCU.
X101 X122
NCU 1 NCU 2 NCU 3
X20
MCP 1 MPI MCP 2 MCP 3
PG with
STEP7
Start-up tool
Features The operating characteristics when several NCUs are linked to one MMC are
as follows:
1. NCU operation:
The user must select the NCU to be operated by means of a soft key.
The operator display in the “Connection” operating area displays the name
of the connection and the NCU to which the MMC is currently linked.
2. HMI Embedded:
– No application should be active on the connection which is interrupted
by the changeover to another NCU (Example: data backup via RS-232).
System message “RS-232 active” is output if an attempt is made to
change over the link when an application is active.
– For the newly established connection, the MMC is positioned in the
preset Start operating area (as with MMC restart).
3. HMI Advanced:
When a link has been set up with another NCU, the last selected operating
area (on the previous NCU) is immediately available for the new NCU.
OEM solution As an OEM solution, an HMI Advanced can be connected via an OPI to up to
three NCUs (excluding 810D, as it does not have an OPI) as a program and
alarm server (m=1, n=3).
In addition, a PG can be connected with a start-up tool.
Note
With SINUMERIK 810D, limited resources make it impossible to implement
local MMCs.
PG with
Central MMC STEP7
Start-up tool
X4
OPI
X101
NCU 1 NCU 2 NCU 3
X4
MMC 1 *) MMC 2 *) MMC 3 *)
X20
MCP 1 MCP 2 MCP 3
Fig. 1-6 OEM solution as example configuration for SW 3.2: Alarm and program server
Features The following characteristics are typical of the OEM solution sketched in the
above figure:
1. NCU operation:
The user must select the NCU to be operated by means of a soft key.
The operator screen displays the name of the connection and NCU with
which the MMC is currently linked.
2. HMI Embedded can only be connected to a local NCU.
3. HMI Advanced:
When a link has been set up with another NCU, the last selected operating
area (on the previous NCU) is immediately available for the new NCU.
From SW 3.5 In addition to the options described above for SW 3.5 and higher, it is also
1 MMC : 4 NCUs possible to create a link between an operator panel front (central MMC) and up
to four NCUs, as illustrated in the following diagram. The MCP and the local
MMC are permanently assigned to the relevant NCU.
A second MMC can be connected to the OPI.
OPI (MPI)
X101
NCU 1 NCU 2 NCU 3 NCU 4
X4
MMC 1 *) MMC 2 *) MMC 3 *) MMC 4 *)
X20
MCP 1 MCP 2 MCP 3 MCP 4
Note
With SINUMERIK 810D, limited resources make it impossible to implement
local MMCs.
Please take the following basic rules into account when undertaking network
installations:
1. The bus line must be terminated at both ends. To do so, switch in the
terminating resistor in the MPI connector in the first and last nodes. Switch
off all other terminating resistors.
Note
Note
Any spur lines that are not assigned should be removed if possible.
Note
Piggy-back connectors are not recommended for power connections.
Introduction With high axis/channel requirements, for example, with rotary indexing
NCU link machines and multi-spindle machines, the computing capacity can exceed the
configuration possibilities and storage area offered by one single NCU. Several
NCUs interconnected with an NCU link module provide a scalable solution
which fully meets the requirements of this type of machine tools. The NCU link
module offers fast NCU-NCU communication based on a synchronized 12MB
PROFIBUS interface.
Note
NCU link is available in conjunction with HMI Advanced.
– Slides, milling/drilling units used on the part that is changed from station
to station for a machining task.
Applications Rotary indexing machines (RVM) and multi-spindle machines (MS) are used as
highly productive machines in the medium and large batch production. Their
main advantage is that many machining steps can be performed on the
workpiece in one clamp.
NCU According to the configuration of the RVM/MS, the many axes of these
assignments machines are assigned to different NCUs. (For example, one NCU for each
machining unit or group of machining units). The global units are assigned to a
separate NCU or distributed accordingly.
Link Link
submodule submodule
Link communication
Initial position,
NCU1 status after each machining step NCU2
ËËËËËËËËËËËËËËËËËËËËËËË
611D 611D
MTR MS2
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË X
ËËËËËËËËËËËËËËËËËËËËËËË
MS1 Z
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
X
ËËËËËËËËËËËËËËËËËËËËËËË
Z Position/
station 2
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
Position/station 1
Drum/rotary table
Link Link
submodule submodule
Link communication
MS2
NCU1 NCU2
ËËËËËËËËËËËËËËËËËËËËËËË
611D 611D
MTR
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
MS1
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
X
Z
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
X
ËËËËËËËËËËËËËËËËËËËËËËË
Z
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
Position/station 1
When advancing the rotary table with RVM or the drum with MS, the axis
holding the workpiece moves to the next machining unit.
The axis holding the workpiece is now assigned to the machining unit’s
channel. This is on another channel in the example, but need not be.
As the above diagram “Drum changeover” shows, machine axis MS1, which is
physically controlled by NCU1, is brought into position/station2 through rotation
of the drum/rotary table. To ensure that a coordinated machining operation
between the slide and spindle can now take place in position/station2, the
commands for spindle MS1 are transferred in this position by means of link
communication. Spindles MS1, MS2, ... are link axes.
Physical axes can only be subordinate to the motion control of one NCU
channel at any one time. However, the motion control initiative for an axis can
be assigned to different NCU channels in succession.
Solutions To make a physical axis available to several different NCUs, the Link Axis
property has been introduced. See Subsection 1.4.2 and Section 2.5. In the
diagram above, MS1 becomes the link axis from the point of view of NCU2
(bottom diagram) after it has been turned to position/station2.
For variable assignment of channel axes to machine axes according to axis
groups, the configuration concept axis container has been made available.
See Subsection 1.4.3 and Section 2.6.
All link axes which are moved to the next position/station by a particular
drum/rotary table must be managed in the same axis container.
S Link axes
– Definition:
A link axis is an axis
– whose drive control and position control are subordinate to another
NCU or
– which is the local axis of the NCU concerned, but can be addressed
by another NCU.
– The software option link axis must be installed.
S Coordination
– The alternate use of a physical axis by several NCUs is dependent on all
the relevant NCUs being aware of the status and data of the particular
axis and on their ability to coordinate use of the axis.
S Interpolation
– Local axes and link axes can be interpolated together through motion
control by means of one NCU.
S Hardware
– The NCUs involved in alternate use of axes across NCU limits must be
equipped with a link module. The NCU link module offers fast
NCU-to-NCU communication based on a synchronized 12-Mbaud
Profibus interface.
References: /PHD/, Configuring Guide NCU 571-573.2
The following description provides the information required to configure,
program and coordinate the distributed machines shown in the drawing.
For details please see Section 2.5.
Scope of validity Axis containers with link axes are a NCU-cross device (NCU-global) that is
coordinated via the control.
It is also possible to have axis containers that are only used for managing local
axes.
For details about axis containers, please refer to Section 2.6.
Definition
S Link variables
– Every NCU connected by means of a link module can address uniformly
accessible global link variables for all connected NCUs. Link variables
can be programmed in the same was as system variables. In general,
these variables are defined and documented by the machine
manufacturer.
– Applications for link variables:
– Global machine states
– Workpiece clamping open/closed
– ...
– Data volume comparatively small
– Transmission rate very high because information relevant to main run is
available for exchange.
– These system variables can be accessed from the parts program and
from synchronized actions. You can configure the size of the memory
area for global system variables.
– All connected NCUs require one interpolation cycle before they can
consistently read a new value in a global system variable.
For more information about the global system variables, please refer to 2.7.
OPI (MPI)
NCU1 NCU2
DP “Normal” cross-communication
Note
On installations without an NCU link, the link variables can also be used
NCU-locally as an additional means of cross-channel communication.
In this instance, there is no interval of one interpolation cycle between writing
and reading.
Channel control by
Interpolator following axis/axes Interpolator
Actual values
Servo from A1 Servo
611 D 611 D
B2
Fig. 1-10 NCU 2 moves the following axes via link to a leading axis on NCU1
Introduction Connecting NCUs to link modules with different interpolation cycle settings
offers additional application possibilities. This functionality is also called “Fast
IPO link”, as when different cycles are set, one of the connected NCUs has the
fastest interpolation cycle.
Application NCUs with a normal interpolation cycle drive axes and spindles with standard
guideline requirements of dynamic response and accuracy, while NCUs with the faster
interpolation cycle can operate one or several axes which demand more in
terms of dynamic response and accuracy.
Examples:
Eccentric turning (cams, pistons, or similar)
C and Z axes have normal requirements,
X axis with more exacting demands of dynamic response and
accuracy
NCU-link communication
Link submodule Link submodule
NCU2 NCU1
Standard Shorter IPO
cycle
IPO cycle
611D 611D
C
Main features
S Cross-NCU interpolation of fast (X) and standard (C,Z) axes/spindles (see
Fig. 1-11).
S The parts program is running on the NCU with the faster interpolation cycle
and can “see” the other axes as link axes or container link axes.
S Communication between the NCUs takes place via the link modules in the
cycle of the slower NCU/NCUs (link cycle).
S Owing to the different cycle clocks used, it is necessary to comply with the
boundary conditions described in Section 2.11.
Notes
Detailed Description 2
2.1 Several operator panel fronts and NCUs with control unit
management option
The following chapter provides a detailed description of the preparations and
implementation of the operating steps for the M:N concept.
Procedure
1. A number of different configurations are possible with the components of the
existing system.
The user selects one of these options to meet his individual requirements:
– On the hardware side: by interconnecting components via bus systems
– On the software side: by configuring static properties using configuration
file NETNAMES.INI (see following paragraphs).
These static properties are made operative during power-up and cannot
be altered once the system is running.
– Control unit switchover function in the PLCs of the relevant NCUs. The
PLC control unit switchover function comprises several blocks. These
perform the following tasks:
– Check of switchover conditions
– Prioritized suppression
– Switchover
The PLC SW “Control unit switchover” is supplied as part of the toolbox and
can be parameterized if necessary. See Subsection 2.1.14.
The option can be used only in PLCs with basic program version 05.03.01
or later.
2. Dynamic properties (such as online/offline states) can be changed when the
system is running within the limits specified by the NETNAMES.INI file.
M: N
MMC 1 MMC m
...
NCU link
A1 A1 A1
A2
COM
A2
COM
COM
NCU 1 A2
... NCU 2 ... NCU n
...
Master Slave
... Slave
Ai Ai Ai
611 D
611 D
611 D
S1 Link S1 S1
S2 submodule S2 Link submodule S2
... ... ...
Terminating Sj Termi-
Sj Sj
resistor nating
PLC PLC PLC
resistor
NCU link: Communication in the
interpolation cycle
*) PLC–PLC
DP–DP coupler communication
2.1.2 Features
Client The assignment between bus nodes and the bus system is static and cannot be
identification changed once the system is running. It is configured once in file
NETNAMES.INI.
The client identification (CLIENT_IDENT) is composed of bus type and MMC
bus address; the MMC uses it when logging on to an NCU to establish an online
connection.
MMC is both As a server, the MMC maintains constant 1:N connections; as a main control
server and main panel it has a switchable 1:1 connection.
control panel at If, as a control panel, the MMC is switched to another NCU, it occupies the
the same time same connection which it already has as a server. A new connection is not
established.
Note
For the function Execution from external source to be available, one
operator panel in the system must be designated as a server. See below.
Configuration As the hardware components can be freely combined (see the previous
parameters paragraph “Hardware structure”), it is necessary to provide the system with
information about which components are connected, how they are connected to
each other and how they interact.
In particular, it is necessary to regulate the competition among the different
MMCs for the limited number of available interfaces (suppression, see 2.1.8).
Each MMC/HT6 has a configuration file NETNAMES.INI for this purpose; this is
where the configuration parameters must be stored.
I. MMC identification
II. MMC-to-NCU Configuring the connections between the MMC and the NCUs:
connections
Element Explanation Example
[conn Identifier] Header [conn MMC_1]
conn_i = NCU_ID Configuring the NCU con- conn_1 = NCU_1
nection(s) conn_2 = NCU_2
i = 1, ..., 15 ...
conn_i = NCU_i
Note
The baud rate is automatically detected on the HMI Embedded/HT6.
The integrated MCP is always switched over simultaneously with the HT6. The
MCP address must have the same value as the MMC address. The MCP
address must be set to values between 1 and 15.
Note
Note that the NCU configured via the DEFAULT channel must be the same as
the NCU specified under NcddeDefaultMachineName in file MMC.INI.
V. Description of A separate entry must be generated for every single NCU component
the NCU connected to the bus.
component(s)
Element Explanation Example
[param NCU_ID] Header [param NCU_1]
name= any_name Any name assigned by the name = NCU1
user; is output in the alarm
line (optional, max. 32 char-
acters)
type= NCU_570 | NCU_571 NCU type type= NCU_572
| NCU_572 | NCU_573
nck_address = j Address of NCU component nck_address = 14
on the bus:
j = 1, 2, ..., 30 *)
plc_address = p Address of PLC component plc_address = 14
on the bus:
p = 1, 2, ..., 30 *)
(only necessary for the MPI
bus because j = p) for the
OPI bus)
Note
If the bus node addresses on the MPI bus are configured in conformance with
SIMATIC, the configuring engineer can read out the assigned addresses using
a SIMATIC programming device and use them to create the NETNAMES.INI
file.
VI. Channel data The control unit switchover option can work only if the control unit knows how
channels are assigned to NCUs so that it can set up links between the control
unit and NCUs. (Channel menu).
A complete example of how to configure the channel menu can be found in 6.1.
Syntax The configuration file must be generated as an ASCII file. The syntax is the
same as that used in Windows *.ini files.
HMI Embedded, The NETNAMES.INI file generated on the PC/PG is loaded, as described in
OP030, HT6
References: /IK/, Installation Kit
via the RS-232 interface and permanently stored in the FLASH memory of the
control units.
HMI Advanced The NETNAMES.INI file can be processed directly with an editor (in menu
“Start-up/MMC/Editor” or DOS_SHELL) on the hard disk of the operator
component. The NETNAMES.INI file is stored in the installation directory
C:\USER\.
2.1.6 Power-up
Defaults standard The following defaults are applied (standard M:N = 1:1) if no NETNAMES.INI
functionality configuring file is loaded into the HMI Embedded/OP030/HT6 or if the latter
cannot be interpreted:
– The bus type used is automatically determined.
– MMC has address 1.
– OP030 has address 10.
– NCU and PLC both have address 13 for an OPI bus.
– NCU has address 3 and PLC address 2 for an MPI bus.
With option If, however, a special NETNAMES.INI file is created, then it must correspond
exactly to the actual network on account of the special features described
below.
If an M:N-capable MMC fails to set up a link to the NCU during power-up or in
the case of a configuring error, the MMC switches over to OFFLINE operating
mode. In this MMC mode the operator can switch over to the area application
via the Recall key and then to the start-up area.
Compatibility The use of the above defaults establishes compatibility with earlier software
versions for operation of the panel front.
Power-up with HMI An HMI Embedded/HT6 control unit can only set up an active link to the NCU if
Embedded/HT6 the configuration in NETNAMES.INI is correct as described in Section “Structure
of the configuration file”. HMI Embedded, HT6 and OP030 can power up in
parallel on one NCU, because as bus nodes they have different addresses.
The OP030 can be used as a second operator panel front that has a fixed
assignment to an NCU.
If the configured addresses do not match the real addresses (NC/PLC address),
the start-up engineer can use the following key sequence to power-up an NCU
that is not configured.
Sequence
1. MMC boots on the NCU with bus address 13, if the NETNAMES.INI was not
changed (original works settings).
2. File NETNAMES.INI has been altered, message
“MMHMI Embedded version xx.xx.xx: waiting for connection ...”
– Press key “1”, the message:
“choice: ’1’=set new start-address, ’^’ =boot” is displayed.
– Press the “1” key, the bus addresses of all nodes connected to the bus
are displayed. The message:
“Please try one of the shown addresses or press ’^’ to reboot
’1’,_,_,_,_,’6’,_,..._,’D’,_,...” is displayed.
– Press “D” key and INPUT
– MMC/HT6 boots on the NCU with bus address 13 (if an NCU is
configured under the address found).
3. Enter new NC address in the Start-up/NC/NC address operating area and
confirm with “Yes”.
4. NC reset (new address is only valid after NC reset)
5. Configure connection/channel menu in the NETNAMES.INI file and transfer
to the MMC.
6. After the NCU addresses have been assigned, the bus can be wired for m:n
operation.
Note
You can operate an OP030 and an HMI Embedded/HT6 on an interface without
assigning parameters (various bus addresses are available in the delivery
state).
Power-up with The HMI Advanced can power up even if the link to the NCU cannot be made
HMI Advanced due to errors in the configuring parameters.
standard solution An NCU address can be specified explicitly through the entry of a “1 : 1”
connection in the “Start-up/MMC operator panel front” menu. When the MMC
has powered up again, the communications link between the MMC and
NCU/PLC will work properly.
Sequence
1. MMC boots on the NCU with bus address 13, if the NETNAMES.INI was not
changed (original works settings).
2. NCU bus address was changed, the following alarm is output
“120201 name: communication failed”
– Set the connection to 1:1 in the Start-up/MMC/Operator panel front
operating area and enter “13” as the NC address
– Confirm with OK and boot the MMC
3. – 6. As for HMI Embedded
Note
In the event of an error, check
– the active bus nodes in the menu
– start-up/NC/NCK addresses (HMI Embedded, HT6 and
HMI Advanced),
– start-up/MMC/operator panel front (HMI Advanced).
Power-up with If the control unit switchover option is installed, a configuring problem can be
HMI Advanced corrected as follows:
Option 1. Select the channel menu with the input key
2. Go to the area switchover screen by pressing Recall
3. Select start-up.
Note
After performing a series machine start-up, a Power On must be performed on
the MMC/HMI (PCU50) so that the bus nodes (PLC, NC, MMC/HMI) can
synchronize again.
With the M:N concept, you can change the control unit properties and states
configured in the NETNAMES.INI file during operation.
Up to two MMCs or HT6s can be online on each NCU. If this is the case, and
another MMC/HT6 would like to go online, it is necessary to ensure that there
are no conflicts. This is achieved by means of the suppression algorithm
described below.
Sequence
S The PLC sends an offline request to the MMC to be suppressed.
S It returns a positive or negative acknowledgement to the PLC:
– If it is positive, the MMC/HT6 is suppressed (see below). It terminates
the communication with the NCU and goes into offline mode.
Any MCP assigned to the MMC is deactivated by the PLC.
The integrated MCP is always assigned on the HT6 and is thus also
deactivated.
– A negative acknowledgement is output if processes run on the MMC that
cannot be interrupted, e.g. operation via RS-232 or data transfer
between the NCU and MMC.
In this case the MMC/HT6 is not suppressed; it remains online on this
NCU.
Suppression The PLC program “Control Unit Switchover” operates according to the
strategy
– priorities of the control units and
– the active processes
The priority depends on parameter mmc_typ in configuring file NETNAMES.INI
(see paragraph above “Structure of the configuration file”).
If an MMC/HT6 wants to go online to an NCU, it stores mmc_typ (priority) in its
MMC_PLC interface. The Control Unit Switchover program evaluates this
according to the following table:
In order to
– allow an MMC/HT6 which is currently working offline to go online on a
particular NCU or
– switch an MMC/HT6 which is working online over to another NCU,
1. Call the channel menu on this MMC by pressing the channel switchover key
(applies only to MMC).
2. Select the channel group via a horizontal soft key.
3. Select the appropriate vertical soft key for the channel. See 2.1.10.
HT6: 1. Activate the “Panel Function” by selecting the key with the same name.
2. Select the “Channel” soft key.
3. Select the channel group.
4. Select the channel.
If the chosen channel is not included in this group, then you can return
to point 2. by pressing the “Recall” key.
The MMC/HT6 is then switched to online operation or to another NCU, provided
that its change in status is not blocked by one of the following conditions
(displayed in message line).
Note
Corresponding messages are output without a message number on the HMI
Advanced.
Function You can establish a connection between the MMC unit and one of the
connected NCU/PLC units in every operating area.
Channel number of the MMC, Channel number returned by the PLC e.g.
is written in DB19 DBB22 the MCP from DB19 DBB8
Channel12
Channel13
Channel14
Channel15
Mill 1 Mill 2
Fig. 2-3 Channel menu (the comments refer to the 1st MMC interface)
Channel You can switch to other channels by means of the vertically arranged softkeys.
switchover
Group You can switch to another group by means of the softkeys on the horizontal
switchover menu (see previous Section); the channels of the currently selected group are
now displayed on the vertical soft keys. Switchover to another channel (and if
necessary to another NC) only takes place upon activation of a vertical soft key.
NC switchover You can change to another NC via the vertical softkeys if the channel is not on
the current NC.
Procedure: Configure a channel area NCs (horiz. softkeys 1–8) if applicable and
link a channel to vertical softkeys from every NCU.
Note
The soft keys only offer the connections that are really assigned and whose
channels are active in the respective NC.
HT6
The channel menu on the HT6 is a two-level structure. In the first stage you
select the channel group and in the second stage, the channel. For details
please refer to the HT6 Operator’s Guide.
Two MMCs/HT6s can be online at the same time on one NCU. In order to avoid
both gaining write access to the same data or file simultaneously, there are two
operating modes, i.e.:
Active operating
mode S The user requests active operating mode by pressing a key on the operator
panel front.
Active mode has the following characteristics:
– All operations and operating areas are activated.
– The operator can operate and monitor.
– The MCP assigned to the MMC/HT6 is activated.
– If data transfer processes (e.g. series machine start-up, various tool
management services, start-up of the drive configuration) are running
between the other MMC/HT6 and the joint NCU, it cannot become active
immediately.
Passive operating
mode S Passive mode is effective when the other MMC/HT6 has requested active
mode.
The features of this mode are as follows:
– The connection to the NCU remains established.
– All operations are deactivated.
– Operator cannot operate. A window is displayed with header and alarm
line and a message indicating “passive” state.
– The global menu is activated.
– Any services initiated before (in active mode) remain active (e.g.
operation via RS-232, reloading parts programs, executing the job list,
alarms).
– The MCP assigned to the MMC/HT6 is deactivated.
– The application window and softkeys are disabled.
S Input key
S Channel switchover key and channel selection.
S If two MMCs are online on one NCU and the active MMC/HT6 goes offline, it
first switches to passive mode. Then the second MMC/HT6 switches to
active mode and the first one disconnects the link to the NCU.
Note
The MMC type is assessed as priority for the suppression strategy. See
2.1.8.
If the active MMC/HT6 cannot be switched to passive mode, then the
competing MMC/HT6 is switched to passive mode.
Introduction “Control unit switchover” is an important controlling function in the overall M:N
strategy:
– MMC/HT6 makes requests regarding the dynamic assignment of
MMCs/HT6s to NCUs according to the configured options in
NETNAMES.INI and displays information about existing links.
– The PLC control unit switchover checks the priorities of the requests and
the states of the components involved and switches over if necessary.
– The NCU sets signals and evaluates signals required in connection with
the control unit switchover function.
Note
The logic in the MMCs/HT6s (automatic control unit switchover) is fixed. It
exists in two variants for the HMI Advanced and HMI Embedded/HT6. The
flexibility of the solution in SW 5 includes the following features:
1. Configuring: NETNAMES.INI
2. See below for parameterization of standard functionality of PLC program
“Control unit switchover”.
3. See Chapter 6 for more fundamental user-specific re-configuring.
MCP switchover The MCP switchover is not mandatory. It can be enabled or disabled via
FB101/DB101 variable:
MSTT_enable.
Assignment in the declaration table:
TRUE MCP switchover is active
FALSE MCP switchover is not active, no FC103 call
The MCP assigned to the active MMC is always activated. If the operating
mode switchover function is disabled, then the MCP assigned to the last MMC
to go online is activated.
Power-up condition:
To prevent the previously selected MCP from being activated again when the
NCU is restarted, input parameters MCP1BusAdr must be set to 255 (address
of 1st MCP) and
MCP1Stop to TRUE (deactivate 1st MCP) should be set when FB1 is called in
OB100.
Enabling commands:
When one MCP is switched over to another, any active feedrate or axis
enabling signals may be transferred at the same time.
Important
! After an MCP switchover, the override switch on the new MCP is active
immediately.
The keys actuated when the MCPs are switched remain operative. If no MCP is
installed on the newly selected MMC, then it will not be possible to cancel the
key functions from this MMC. Measures for situations of this type must be
implemented in the PLC user program.
Operating mode The operating mode switchover is not mandatory. It can be enabled or disabled
switchover via FB101/DB101 variable:
active_enable.
Assignment in the declaration table:
TRUE Mode switchover is active
FALSE Mode switchover is not active, no FC102 call
Error messages If disturbances occur (e.g. interface signal failure) while the program is running,
corresponding alarms/error messages are transferred to data block DB2. 6
alarms are implemented:
1. Error in MMC bus address, MMC bus type
2. No confirmation MMC1 offline
3. MMC 1 is not going offline
4. No confirmation MMC 2 offline
5. MMC 2 is not going offline
6. Online-request MMC is not going online (calling MMC)
and an error message:
Sign-of-life monitoring error
When the defaults in FB101 are left unchanged, the alarms begin at
DB2.DBX188.0 (1st alarm) and end at
DB2.DBX188.5. (6th alarm)
With variable:
DBX_Byte_alarm the byte value for the 6 alarms can be changed from the
default setting of 188. With variable:
Warning
! When data are input from both control units simultaneously, there is a risk that
inconsistent data will be transferred to the control.
Server mode Once a server has occupied the online interface of an NCU, it cannot be
displaced (suppressed) by any other device.
Processing Three server-related program branches for handling MMC requests are
operating implemented in the control unit switchover program:
authorization for 1. Request for relinquishing operating focus
servers
2. Request for setting operating focus
3. Relinquish operating focus
Each branch checks/processes the first and second online interfaces.
The requests are positively acknowledged if no switchover disabling commands
are active. The “Relinquish operating focus” includes deactivation of the
relevant machine control panel.
Wait times for To render the program independent of timers, two wait times based on repeated
acknowledgement reading of the system time are implemented via SFC64 in the control unit
signals switchover program. The wait times for acknowledgements can be changed if
necessary by means of:
FB101/DB101 variables:
waiting_period_1 Wait for activation/online MMC
waiting_period_2 Wait for deactivation/offline MMC
Wait for MMC sign of life
Values of between 0-32 (seconds) can be assigned to the FB101 variables.
These values are entered in ms.
Initialization When the NCU is restarted, all signals relating to control unit switchover on the
PLC interface in DB19 are set to zero.
Note
Before an NCU is initialized, it must be ensured that it is not currently linked
online to any MMC/HT6.
It may be necessary to perform an MMC restart.
Resetting of The interface signals relating to control unit switchover can be reset selectively
interface by PLC as follows (without RESET on the NCU):
FB101/DB101 variable:
initialization
TRUE Reset signals in DB19 once. After signal reset the Initialization
parameter is automatically reset to FALSE.
Sign of life Once an MMC/HT6 is connected online, it sends a sign of life in DB10 DBB108
monitoring (separately for both MMC/HT6s). If an MMC/HT6 in online mode does not send
a sign of life signal for longer than the time set in waiting_period_2, then the
PLC program generates message: “Sign-of-life monitoring error”. This message
is not canceled until one of the MMCs/HT6s is switched from offline to online
mode again.
Identifier for In certain operating states, MMCs/HT6s must be able to detect whether the
MMC/HT6 “Control control unit switchover function exists. The “online request” interface signal in
unit switchover DB19.DBW110 m_to_n_alive is provided for this purpose. As soon as block
exists” FB101 is called in the PLC, it also sends a sign of life signal, consisting of the
cyclic incrementation of m_to_n_alive (ring counter).
Generation after After static parameters have been modified in FB101, DB101 must be:
adaptations – deleted,
– generated again,
– called and
stored.
Blocks and
functions used
Function blocks FB101, FB102
Instance data blocks DB101, DB102
Functions FC103
DB of interface DB19
Global data block for error DB2, (DB3)
messages
Timer auxiliary function SFC64
Note
Section 2.2 does not apply to the HT6, since only one HT6 can be operated on
an NCU without control unit management.
2.2.1 Configurations
Examples For complete examples of configuration files, please refer to Chapter 6 of this
Description.
Syntactic The configuration file must be generated as an ASCII file. The syntax is the
declarations same as that used in Windows *.ini” files.
In the following tables, the components which the user may need to adapt or
which he can name freely are typed in italics. Alternative passwords are
specified separated by an |. Passwords must be typed in small letters.
Comments can be inserted in the parameter file. They must start with “;” and are
limited on the right by the end of line. Blanks may be used as separators at any
position except for in identifiers and passwords.
Number of A configuration file is required for each connected operator panel front.
configuration files The configuration files of different operator panel fronts included in one
configuration differ from one another only in the first entry which contains the
assignment of the file to a specific panel front ([own] see below). For practical
purposes, the core of the file is generated just once and then copied for the
other panel fronts. The identifier of the operator panel front to which the file
applies is then inserted in each copy.
II. Description of connections from the operator panel front components to the
Connections NCU to be addressed. An entry of the following type is required for each
operator panel front.
III. The hardware allows links to be implemented via different buses which are
Description of bus differentiated mainly by their baud rates. The bus type used must be specified.
Vocabulary words:
param network Start network descriptive entry
bus Bus
btss Operator panel front interface, 1.5 Mbaud
mpi Multi Point interface, 187.5 Kbaud
Note
The baud rate is automatically detected on the HMI Embedded.
IV. A separate entry must be generated for every individual panel front component
Description of connected to the bus. A maximum of two entries in SW 3.x.
operator panel
front Table 2-5 Description of operator panel front component
component(s)
Descriptive entry Formal Example
Header [param Identifier] [param MMC_1]
Next lines (optional) name= any_name name = MMC_A
(optional) type= mmc_100 | mmc_102 type = mmc_100
| op_030
mmc_address = j mmc_address = 1
Note
If the bus node addresses on the MPI bus are configured in conformance with
SIMATIC, the configuring engineer can read out the assigned addresses using
a SIMATIC programming device and use them to create the NETNAMES.INI
file.
Defaults The following defaults are applied if no NETNAMES.INI configuring file has
been copied into the HMI Embedded/OP030 or if the file cannot be interpreted:
– The bus type used is automatically determined.
– MMC has address 1.
– OP030 has address 10.
– NCU and PLC both have address 13 for an OPI bus.
– For an MPI bus, the NCU has address 13 (SW 3.5 and later: 3) and the
PLC address 2.
If the network configuration actually corresponds to these default settings, then
it is not necessary to explicitly generate and load a NETNAMES.INI file. If,
however, a special file is generated, then it must correspond exactly to the
actual network on account of the special features described below.
Compatibility The use of the above defaults establishes compatibility with earlier software
versions for operation of the panel front.
User interface The data area menu has been extended by the soft key “Connections”. This
goes to a submenu in which the connections (conn_1, ... conn_n) declared in
NETNAMES.INI are displayed for selection via individual soft keys. The name
(name=...) allocated to the connection in NETNAMES.INI is displayed on the
soft keys. A connection to the new NCU is established by actuating the
corresponding soft key.
In detail, the behavior depends on the type of MMC.
Changeover ONLINE change to another bus node is not possible on the OP030. The
behavior on OP030 NETNAMES.INI file contains a permanently configured connection.
HMI Embedded The soft key “Connections” is only displayed if more than one connection is
changeover implemented in NETNAMES.INI. When changing to the new NCU, the existing
behavior connection to another NCU is interrupted. MMC applications, at the instant of
link changeover, must no longer need the link to the previous NCU (e.g. for
active data backup via RS-232 interface). If this rule is contravened, the control
system outputs a corresponding message.
Concerning the NCU to which the changeover takes place, the MMC behaves
as with a restart. In this case, it is in the operating area set as the “start
operating area”.
HMI Advanced The “Connections” softkey is only displayed if the M:N function is activated on
changeover the control. The “M:N” function is activated in the “Start-up/MMC/Operator panel
behavior front” menu. All communications connections remain established with any
changeover and the applications which have used these connections remain
active. Concerning the new NCU, the MMC is after the changeover in the same
operating range as before with another NCU.
Possible defects With change of the connection to another NCU, it is possible that the NCU with
which the connection is to be established rejects this. There may be a defect in
the NCU or no other MMC unit can be operated at that time from the NCU any
more.
MD 10134: MM_NUM_MMC_UNITS (number of possible simultaneous MMC
communications partners) contains the setting which defines how many MMCs
can be processed by an NCU at one time. The OP030 uses one unit, the HMI
Embedded and HMI Advanced, as supplied, each use two units. More units (up
to 12) are required for larger OEM packages.
Note
With replacement of the NCU (service case) or with failure of the backup
battery, the address is no longer stored.
A general reset on the NCU does not delete the NCU address. The address
can only be changed via an MMC.
To ensure that the current connection is shown in the basic display, the channel
name must be assigned unambiguously in MD 20000: CHAN_NAME (channel
name).
Note
The channel menu function is an option and must be configured in the
“NETNAMES.INI” file.
You can change to the channel menu in all operating areas by activating the
channel switchover key. In this case, only the horizontal and vertical softkeys
change.
The horizontal softkeys are for selecting a channel group (max. 24), up to 8
connections to channels in different NCUs can be set up in one channel group.
The “Channel menu” screen displays all current communication connections
and the associated symbol names.
HMI Embedded, The NETNAMES.INI ASCII file generated on the PC or programming device is
OP030 loaded, as described in
via the RS-232 interface and permanently stored in the FLASH memory of the
control units.
HMI Advanced The NETNAMES.INI file can be processed directly with an editor (in menu
“Start-up/MMC/Editor” or DOS_SHELL) on the hard disk of the operator
component. The NETNAMES.INI file is stored in the installation directory:
C:\MMC2
SW 4 and higher C:\USER\NETNAMES.INI.
2.2.5 Power-up
Note
It is advisable to make a written record of the procedure (address assignments,
etc.) beforehand.
Installation and The NCUs are assigned bus address 13 in the delivery state. Every NCU on the
startup bus must be allocated its own, unique bus address.
Note
An NCK address is not deleted with “Delete SRAM” (switch S3= position “1” on
NCU).
Power-up with The power-up process is the same as described in Subsection 2.1.6 for the HMI
HMI Embedded Embedded.
Power-up with The power-up process is the same as described in Subsection 2.1.6 for the HMI
HMI Advanced Advanced.
Note
– Bus address 13 must be reserved for servicing purposes
(i.e. must not be assigned to a bus node).
– HMI Embedded:
The name length in file NETNAMES.INI (configuring in channel menu)
is limited to 5 characters.
– HMI Advanced:
The data “mst_address” is not evaluated, but used for
the purpose of bus node documentation.
If the channels are on different NCUs, “m:n” must be set in the operating
area Start-up/MMC/Operator panel front.
Rejection of link On switchover to another NCU, the NCU selected for the new link may reject
the connection. The cause may be a defect in the NCU or no additional MMC
unit can be accepted. In this case, the HMI Embedded automatically switches
over to connection 1 after approx. five seconds. HMI Advanced displays “#” for
the variables.
Owing to the limitation on the memory and computing capacity elements, the
number of channels or axes per NCU is restricted. A single NCU is not sufficient
to fulfill the requirements made by complex and distributed machines, such as
multi-spindle and rotary indexing machines. For this reason, the control system
and closed-loop axis controls are distributed among several NCUs.
In order to ensure, however, that channels and axes can continue to operate on
an interrelated, cross-NCU basis, the system provides so-called
Initial position,
NCU1 status after each machining step NCU2
611D
ËËËËËËËËËËËËËËËËËËËËËËË 611D
ËËËËËËËËËËËËËËËËËËËËËËË
MTR MS2
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
X
ËËËËËËËËËËËËËËËËËËËËËËË
MS1 Z
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
X
ËËËËËËËËËËËËËËËËËËËËËËË
Z
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
Drum/rotary table Position/station 2
LinkËËËËËËËËËËËËËËËËËËËËËËË
submodule
Position/station 1
Link
submodule
Link communication
MS2
NCU1 NCU2
611D
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
MTR
611D
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
MS1
ËËËËËËËËËËËËËËËËËËËËËËË
X
ËËËËËËËËËËËËËËËËËËËËËËË
Z
ËËËËËËËËËËËËËËËËËËËËËËË
X
ËËËËËËËËËËËËËËËËËËËËËËË
ËËËËËËËËËËËËËËËËËËËËËËË
Z
ËËËËËËËËËËËËËËËËËËËËËËË
Drum/rotary table Position/station 2
ËËËËËËËËËËËËËËËËËËËËËËË
Position/station 1
Fig. 2-5 shows the main components of a simple multi-spindle plant. Several
spindles are mounted mechanically on the drum, each of which can used to
perform a different machining operation. Together with the slide (X and Z axes),
they form a machining station which is assigned to one channel. A workpiece is
rotated by one spindle.
The workpiece to be machined is loaded and unloaded only once. The tool is
mounted on the slide (e.g. X, Z axes). Various different tools can be loaded for
each machining operation.
The tool is continuously assigned to the machining station. The
workpiece-holding spindles are moved from one machining station to the next.
The spindle can only be checked for the current machining process. The
channel must be able to address the slide axes and the current spindle at any
given time. Every time a spindle moves on to the next machining unit, however,
the spindle addressed by the channel must be a different machine axis. The
“axis container” concept solves the variable imaging of channel axes on
machine axes. The machine axes might belong to another NCU connected by
means of the NCU link. An accessible machine axis belonging to another NCU
is referred to as a link axis (see 2.5).
The following subjects are closely related to the NCU link function and dealt with
in separate subsections.
S Link axes
S Axis container
S User communication across the NCUs
S Configuration of the link grouping
Note
NCU link is available in conjunction with HMI Advanced.
The corresponding option is required to be able to define the number of
available link axes.
Introduction This subsection describes how an axis (for example, B1 in Fig. 2-6), which is
physically connected to the drive control system of NCU2, can be addressed
not only by NCU2, but also by NCU1.
Prerequisites
S 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
Channel 2
.
.
.
Ai B3
Terms The following terms are important for understanding the subsequent description:
S Link axis
Link axes are axes that are physically connected to another NCU and
controlled by their servo loop. Link axes can be assigned dynamically to
channels of another NCU. From the standpoint of a particular NCU, they are
not → local axes. Dynamic changes in the assignment to a channel
(exception: channel on another NCU) are implemented according to the 2.6
Axis container concept described above.
Axis exchange with GET and RELEASE from the parts program is only
available for link axes within an NCU. In order to cross the NCU limit, the
axis must first be placed in the NCU or a channel using the axis container
function so that it can then be exchanged optionally in the same way as any
other axis.
S Local axis
A local axis is only addressed by the NCU to whose drive bus it is
connected.
S Link communication
The link communication is implemented by link modules on the NCUs
involved. The link communication consists of setpoints, actual values, alarm
handling, global variables (data) and signals (axis signals, PLC signals).
S Home NCU
The NCU which establishes the drive bus connection for a → link axis and
implements the position control is called the home NCU of the link axis.
In Fig. 2-6 NCU2 is the home NCU for → link axis B1.
S Interpolation
The Link axis option enables for NCUs with → Link communication
interpolation between → local axes and axes on other NCUs.
If the interpolation is not only local, cyclical data exchange (setpoints, actual
values, ...) takes place within an interpolation cycle. In particular, this causes
dead time when waiting for external events.
S Axis change
Use of a → link axis by a specific NCU can change dynamically. An axis
container mechanism is provided for this purpose as described in 2.6. The
parts program command GET is not available for link axes; the parts
program command GETD is only available within an NCU.
Up to SW 4, it was only possible to exchange axes between different
channels of an NCU.
S Configuration of link axes
NCUs that want to use the → link axes must configure the NCU identifiers
for the home NCU of the link axis in addition to the usual channel and axis
machine data.
S Home channel
Channel in which the setpoint-generating parts program for the axis is
executed after the installation has powered up.
S Lead link axis from SW 6
From the point of view of NCU (2) that traverses following axes, a
leading axis that is traversed by another NCU (1). The required data for the
master value axis are supplied via → link communication for NCU (2). Axis
linking between the leading axis and the following axis/axes is implemented,
for example, by means of a curve table.
Note
Link axes expand the limit set by the number of possible connections on the
drive bus: With a maximum of 16 NCUs on the NCU link there are theoretical
limits of max. 160 channels and 4960 axes/spindles. The following maximum
values apply for one NCU: 31 simultaneous axes from 31 local and 32 link
axes.
SW 5 From SW 5, the channels operate with one of 31 logical axes from the logical
machine axis image. This image points to:
– local axes
– link axes
– container slots.
Container slots in turn point to:
– local axes or
– link axes.
The following diagram illustrates the interrelationships:
SW4 SW5
AXCONF_MACHAX_USED AXCONF_MACHAX_USED
Channel 1 Channel 10 Channel 1 Channel 10
... ...
NCU NCU1
AXCONF_LOGIC_MACHAX_TAB
simultaneously addressable axes
on one NCU
1 2 3 ... 31
NC2_AX4
CT1_SL1
CT1_SL2
AX2
1 max.32
Link axis Container link axes
A maximum of 32 link axes can be entered for each axis container.
From the local axes and link axes programmed in
AXCONF_LOGIC_MACHAX_TAB and in containers, NCU1 can address 31 axes
from a maximum of 63 (31 local and 32 link axes) at any one time.
With link axes To enable link axes to be addressed throughout the system, the configuration
must contain information about the axis NCUs. There are two types of NCU
axis, i.e. local axes and link axes.
Note
The axis container functions are described in Section 2.6.
NC2_AX4
CT1_SL1
CT1_SL2
A
AX2
AX1 AX2 AX31
B ...
NC2_AX7 NC3_AX6
NC4_ ...
C C
Link axis Container link axes
Fig. 2-8 Assignment of channel axes to local machine axes and link axes
Explanation The logical machine axis image A addresses local machine axes B and link
axes C.
The number of local machine axes in B is limited. The maximum permissible
number for a specific system can be found in Catalog NC60.1.
All axes that can address the NCU are contained in B and C together.
Examples For example, the logical machine image can contain the following expressions:
NC2_AX7 Machine axis 7 of NCU 2
AX2 Local machine axis 2
If only expressions of the latter format AXi are entered in the logical machine
axis image, this corresponds to a configuration up to Software Version 4, where
only local axes are addressed.
Caution: The default settings are as follows:
MD 10002: AXCONF_LOGIC_MACHAX_TAB[0] = AX1
MD 10002: AXCONF_LOGIC_MACHAX_TAB[1] = AX2
...
Note
Another valid format for entries in the logical machine axis image A is:
MD 10002: AXCONF_LOGIC_MACHAX_TAB[n] = CTx_SLy where
CT stands for container
x container number, 1 <= x <= 16
SL stands for Slot
y slot number, 1 <= y <= 32
Axis containers represent a grouping of axes which can be altered
dynamically. Axis containers are described in Section 2.6.
Introduction Axis data and signals for a link axis are produced on its home NCU. The NCU
that has caused the movement of a link axis is provided with axis data and
signals from the system:
Interpolation Interpolation
Servo: Physical
AX1 AX2 AX3 AX1 AX2 AX3 axis view
... ...
Implicitly active During interpolation, data are made available for axes which are physically
link subordinate to a non-local servo (identifiable from entries in
communication MD10002: AXCONF_LOGIC_MACHAX_TAB or axis container) via the link
communication in the same manner as they are provided for local axes from the
logical viewpoint of parts programs. The procedure remains concealed from the
applications.
NCU 1 NCU 2 B1
Link com-
Interface signals munication Interface signals
to other NCUs to active NCU
Setpoints Actual values
for B1 from B1 Buffer
Interrupts Interrupts
Position control The servo loop is implemented on the NCU on which the axis is physically
connected to the drive. This NCU also contains the associated axis interface.
The position setpoints for link axes are generated on the active NCU and
transferred via the NCU link.
Transfer time Delays incurred for transferring setpoints to the home NCU of a link axis and
returning its actual values. With an interpolation group of local axes and link
axes, the control delays the setpoints for the local axes of the interpolating NCU
by one interpolation cycle, such that consistent values are taken into account
for the interpolation.
If a channel needs the actual values of an axis of another NCU, e.g. a spindle
with thread cutting, two interpolation cycles will lapse before they are available.
The setpoints then generated are sent one interpolation cycle later to the
position control for the above reason.
Response of the If the server cannot supply any values for an axis (e.g. because the axis
AXIS-VAR server concerned is a link axis), then it returns a default value (generally 0).
to errors
For the purpose of testing, machine data 11398:
AXIS_VAR_SERVER_SENSITIVE can be used to set the axis data server
sensitively so that it returns an error message rather than default values.
0: Default value
1: Error message
Predefined M, S, F For link axes and container link axes, a predefined M, S, and F auxiliary
auxiliary functions function is transferred from the NCK via the NCU link to the home NCU of the
link axes and output from there as system auxiliary functions on the PLC. These
system auxiliary functions are evaluated by the PLC and output as follows:
DB31, ... DBW86 (M function (INT) for spindle)
DB31, ... DBD88 (S function (REAL) for spindle)
DB31, ... DBD78 (F function (REAL) for axis)
Note
The transfer of the NCU link to the home NCU is only relevant for the M3, M4,
M5, M19 and M70 predefined spindle auxiliary functions.
For further information on “Predefined auxiliary functions”, see
References /FB1/, H2 Auxiliary functions on PLC
Alarm 14768 If the system auxiliary functions received via the NCU link cannot be output via
the VDI interface, because, for example, the transfer buffer is full, alarm 14768
“Cannot output axial auxiliary functions received via NCU link” is issued.
Examples An NC program with M3 S1000 is executed for the 7th channel on NCU_2. This
spindle corresponds to the 5th machine axis of NCU_1 and is therefore link
axis. Therefore the auxiliary function output here for NCU_2 is in Channel 7 with
the axis number 0, as the link axis is on another NCU (NCU_1 here). On the
PLC of NCU_2, this results in the output of:
DB21, ... DBW68 (extended address of the M function (16-bit INT))
DB21, ... DBD70 (M function 1 (INT 3))
DB21, ... DBW98 (extended address of S function 1)
DB21, ... DBD100 (S function 1 (REAL 100))
In parallel, the information of the system auxiliary functions is transferred from
NCU_2 via the NCU link to NCU_1 (home NCU of the link axis). The system
auxiliary functions M3 S1000 for the 5th machine axis are output from here.
The PLC on NCU_1 then supplies the following axial signals on the PLC user
interface for machine axis 5:
DB35, ... DBW86 (M function (INT 3) for spindle)
DB35, ... DBD88 (S function (REAL 100) for spindle).
Output of alarms Axis alarms are always output on the NCU which is producing the interpolation
from position value. If an alarm is generated for a link axis by the position controller, then the
controller or drive alarm is transferred to the NCU which is currently processing the interpolation.
On the assumption that axis alarms which cause the NCK-Ready relay to drop
out (Nck-NoReady) are attributable to faults on the drive bus, the alarm is also
output on the NCU to which the axis or the drive bus is physically connected.
The reaction “Ready relay dropout” is only activated on this NCU.
Output of alarms If an EMERGENCY STOP request is activated by the PLC on an NCU, then all
following axes physically connected to drives on this NCU are switched to follow-up
EMERGENCY mode. This means that even axes which are being interpolated by a different
STOP NCU are also switched to follow-up. Since this status prevents any further
constructive machining operations on the other NCUs, an additional alarm is
generated which is designed to stop all axis motions instantaneously.
This additional alarm must be acknowledged by an operator panel reset. If the
original (EMERGENCY STOP) alarm is still active at this time, then the
additional alarm can be successfully reset, but another alarm (self-clearing) is
then produced which prevents axis motion or a new program start until the
original alarm has been acknowledged.
Output of alarms If a serious alarm resulting in dropout of the NCK-Ready relay is activated on an
with alarm reaction NCU, then the effects of the alarm will apply to all other NCUs which are
NCK-NoReady addressing an axis via link communication on the first NCU. An additional alarm
which causes all other axes to stop instantaneously is activated on each of the
other NCUs.
For alarm acknowledgement, see EMERGENCY STOP.
Switching off If an NCU assigned to an NCU grouping is switched off or restarted by NCK
grouped NCUs RESET, then the other NCUs in the grouping are also affected (see also 2.8).
An alarm is generated on the NCUs which are still running to prevent them
continuing with the machining operation.
Powering up an If one NCU in the grouping is restarted, e.g. due to changes to machine data,
NCU grouping then the other NCUs in the grouping also execute a warm restart.
Nibbling and To execute nibbling and punching operations, high-speed inputs and outputs
punching must be connected and parameterized on the “interpolation” NCU (on which the
parts program is being executed). Commands “High-speed nibbling and
punching”, e.g. PONS and SONS are not available for link axes.
Travel to fixed stop If an axis container axis is being held against a fixed stop, the axis container
cannot rotate. Axes can travel to fixed stops on different NCUs and be
subsequently clamped without restriction.
Frames Link axes may be included in the program commands for frames only if they are
geometry axes as well. The command only changes the geometry for the
channel in which the axis is currently assigned. A frame command for an axis
which is not defined as a geometry axis is rejected with alarm 14092.
Note
In SW 5.2 and higher, system variables which can be used in conjunction with
channel axis identifiers are specially marked in the Advanced Programming
Guide (Appendix).
Requirement When advancing the table of the rotary indexing machine or the drum of the
profile multi-spindle machines the axes/spindles are brought to a new station or
position. The NCU which controls the axes of a station as local axes must be
able to address the newly changed axes/spindles. The hitherto addressable
axes/spindles can now be discarded for this purpose.
Note
The axis container has no mode group reference, i.e. the workpiece-holding,
traveling axis can change from one mode group to another at different
machining stations.
Note
Rotation of the drum or rotary table is analogous to the rotation of the circular
buffer with the assigned axis entries.
Description The link axis configuration described in Subsection 2.5.1 allows reference to be
made to axis containers in the logical machine axis image, in addition to direct
reference to local axes or link axes. This type of reference consists of:
S a container number and
S a slot (circular buffer location within the container)
The entry in a circular buffer location contains:
S a local axis or
S a link axis
(either axis or spindle)
Axis container Axis container names can be freely defined with machine data
names in SW 5.2 MD 12750 : AXCT_NAME_TAB
and higher in SW 5.2 and higher. The names assigned can then be used:
S in axis container rotation commands AXCTSWE( ) and AXCTSWED( ) to
address the container to be rotated and
S when scanning the states of axis containers using system variables:
– $AC_AXCTSWA[ ]
– $AN_AXCTSWA[ ]
– $AN_AXCTAS[ ]
SW 5.1 parameter In this software version, channel axis identifiers, which refer to the container
CTi to be rotated via the logical machine axis image, must be used instead of axis
container identifiers.
Example In the example in Fig. 2-11, the 3rd channel axis (3rd entry in
$MC_AXCONF_MACHAX_USED) is a container axis. The 3rd entry in
$MC_AXCONF_MACHAX_USED refers to the 8th entry in
$MN_AXCONF_LOGIC_MACHAX_TAB and this (CT3_SL2) in turn to the 3rd
axis container and its container slot 2. This 2nd entry in
$MN_AXCT_AXCONF_ASSIGN_TAB3 (NC3_AX1) defines the 1st machine
axis of NCU3 as a container axis of axis container 3, i.e. in the initial state, the
4th channel axis is the 1st machine axis of NCU3.
The 5th channel axis is also a container axis: The 5th entry in
$MC_AXCONF_MACHAX_USED refers to the 7th entry in
$MN_AXCONF_LOGIC_MACHAX_TAB and this (CT1_SL1) in turn to the 1st
axis container and its container slot 1. This 1st entry in
$MN_AXCT_AXCONF_ASSIGN_TAB1 (NC1_AX1) assigns the 1st machine
axis of NCU1 to the 1st slot of axis container 1, i.e. in the initial state, the 1st
machine axis of NCU1 is assigned to the 5th channel axis.
Channel axes
MD 10002: AXCONF_LOGIC_MACHAX_TAB,
X 1
y 2 AX2 1 Local machine axis 2
Z 3 AX3 2 Local machine axis 3
S1 6 3
S2 9
$MC_AXCONF_MACHAX_USED
31
Assigned to NCU
Fig. 2-11 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
MD10002: AXCONF_LOGIC_MACHAX_TAB for a single NCU are permanent.
Container rotation The contents of the axis container slots are variable inasmuch as the contents
of the circular buffer (axis container) can be shifted together by n increments.
The number of increments n is defined for each axis container in
SD 41700: $SN_AXCT_SWWIDTH.
The number of increments n is evaluated modulo in relation to the number of
actually occupied container slots. In doing so, new contents are created for all
slots of an axis container (exception: 0 and slot number = increment number).
System variables provide information about the current status of an axis
container; these system variables can be read addressed from the parts
program and synchronized actions. See 2.6.1.
S A channel always sees a fixed number of axes with defined channel axis
names (logical machine axis image)
S The “rotation” of the axis container sets new machine axes for all channels
that have axes in the same axis container.
Frames and The assignment between channel axes and machine axes can change when
axis container the axis container rotates. The current frames remain unchanged after a
rotations rotation. The user himself is responsible for ensuring that the correct frames are
selected after a rotation by, for example, programming basic frame masks.
Activation of The application must ensure that the desired local or link axes are addressed
axis container by issuing commands in the parts program for rotating the axis container to a
rotation specific position.
For example, when rotating the drum of a multi-spindle machine into a new
position, it must be ensured that each position addresses the newly changed
spindle by rotation of the axis container.
Note
Axis containers can be used jointly by different channels of an NCU and by
channels of other NCUs.
If axes of different channels display reference to the same axis container via
the logical machine axis image, then all channels concerned see different
axes after a rotation. This means: The time for a rotation must be coordinated
between the channels. This is performed by means of the available language
commands.
Each entry in the axis container must be assigned to the correct channel at all
times. The system variables in 2.6.1 offer the possibility for the parts program or
synchronized action to gain information about the current axis container state.
Commands for the The requirement outlined above for coordinating channels that jointly use an
axis container axis container is contained in the effects of the command AXCTSWE.
rotation Notation:
CTi is the identifier of the axis container which must be advanced. The
increment must be stored in setting data
Note
In SW 5.2 and higher, the axis container names assigned in
MD 12750: $MN_AXCT_NAME_TAB
can be used for commands AXCTSWE and AXCTSWED.
Implicit wait There is an implicit wait for the completion of a requested axis container rotation
if one of the following events has occurred:
Note
Even an IC(0) will result in a wait including synchronization where necessary
(block-by-block change in addressing according to increment even though
absolute dimension is set globally).
Synchronization If the new container axis assigned to the channel after a container rotation does
with axis position not have the same absolute machine position as the previous axis, then the
container is synchronized with the new position (internal REORG).
Note
SD 41700: AXCT_SWWIDTH[container number] is only updated for new
configurations. If after the incremental rotations of the RVM/MS the position has
reached a switching position before the original position, the container can
continue to be rotated forwards, in order to reach the original position of the
container again. The drum or rotary table must however be turned back to the
original position, so that measuring and supply cables are not interrupted.
Home channel If more than one channel has access authorization (i.e. a “reference”) to the axis
of a container axis due to the setting in MD 20070: AXCONF_MACHAX_USED, the write access to
the axis (setpoint input) can be passed on. Machine data MD 30550:
AXCONF_ASSIGN_MASTER_CHAN creates a default assignment between an
axis and a channel. MD 10002: AXCONF_LOGIC_MACHAX_TAB is set to
define which NCU possesses the axis after power-up or is producing the
interpolation value. Since the axial machine data for link axes are identical on all
NCUs, MD 30550: AXCONF_ASSIGN_MASTER_CHAN is evaluated only if the
NCU has write authorization to the axis (see logical machine axis view in MD
10002: AXCONF_LOGIC_MACHAX_TAB).
Axis replacement Passing the write authorization to an axis (setpoint input) by means of Get,
Release,..., works for a container axis in the same way as for a normal axis.
Write authorization can only be replaced between the channels of one NCU.
Write authorization cannot be passed beyond the boundaries of an NCU.
States of an The following system variables allow parts programs and synchronized actions
axis container to access information about the current state of an axis container.
Legend:
r Read
TP Part program
SA Synchronized action
SW Software version
n Axis container identifier with SW 5.2 and
channel axis identifier with SW 5.1
Application/behavior
Activity of drum/
rotary table/ Channel 1 Channel 2 Channel 3
axis container
$AC_AXCTSWA $AC_AXCTSWA $AC_AXCTSWA
$AN_AXCTSWA 0 1
0 1 0 1
0 1
Time
Begin station/position
Setup once
Wait until
Axis container $AN_AXCTSWA(CTi 1)) = 0
rotation or
terminated? n $AC_AXCTSWA(CTi) = 0
Cyclical setup
Real table/drum
connection Wait
terminated ? n
y
Machine cyclically
Clear up cyclically
Continue cycl.
machining? 1) In SW 5.1 instead of CTi
y Channel axis identifiers in
n SW 5.2 plus axis container
name defined in MD
Clear up once AXCT_NAME_TAB.
End station/position
Note:
An NCU machining cycle which is in charge of the rotation of the rotary table or
the drum for multi-spindle machines contains the query of enables for container
rotation of all NCUs concerned. If all enables are present, switching to the next
position/station takes place. The axis containers are rotated accordingly.
The container always assumes the state defined in the machine data when the
power is switched on, irrespective of its status as the power supply was
switched off, i.e. the user must distinguish between the actual status of the
machine and the default setting and compensate accordingly by specifying
appropriate axis container rotations. He can do this, for example, by means of
an ASUB containing AXCTSWED in one channel while the other channels are
still in the RESET state.
A container axis in an axis container which has been enabled for rotation
cannot be traversed in JOG mode. An axis container can only be rotated in JOG
mode by means of an ASUB.
A reset cancels the enabling command for axis container rotation. The reset
channel is then no longer involved in the axis container rotation. The enabling
commands in the other active channels can effect a rotation. If all channels
except one have been reset, the one remaining active channel can set the
rotary position directly with AXCTSWED.
Note
Through appropriate programming measures, the user must ensure that
– the right zero offsets are effective after the container switch and
– that no transformations are active during the container switch.
Axial machine data If an axis is assigned to an axis container, then certain axial machine data must
be identical for all axes in the axis container as the data are activated. This can
be ensured by making a change to this type of machine data effective all
container axes and all NCUs which see the axis concerned. The message:
“Caution: This MD will be set for all container axes” is output at the same time.
During power-up, all axial machine data of this type are synchronized with the
values of the machine axis in slot 1 of the axis container. In other words, the
relevant machine data are transferred from the machine axis in slot 1 of the axis
container to all other container axes. If machine data with other values are
overwritten by this process, the message: “The axial MD of the axes in axis
container <n> have been adapted” is output.
If a slot in the axis container is re-assigned (through writing of machine data
MD12701–12716: AXCT_AXCONF_ASSIGN_TAB<n>), then the following
message is output: “The MD of the axes in axis container <n> will be adapted
on next power-up”.
Axial machine data of the type discussed above are identified by attribute
containerEqual (equal for all axes in the axis container). With an NCU link, the
axis container is defined on the master NCU (see Section 2.4).
Axis states If a container axis is active in axis mode or as a positioning spindle (POSA,
SPOSA) and its axis container needs to be rotated, then the rotation cannot be
executed until the container axis has reached its end position.
A container axis which is active as a spindle continues to turn as the axis
container rotates.
SPCON (switchover to position control) is attached to the physical spindle, i.e.
this status is passed on with the spindle when an axis container rotates. SETMS
(master spindle), on the other hand, refers to the channel and remains active in
the channel when an axis container rotates.
Continuous path An axis container rotation interrupts G64 mode in a channel in which a
mode G64 container axis in the rotating container is also a channel axis, even if it does not
belong to the path grouping. This interruption does not occur, however, until an
axis in the rotated axis container is programmed again.
PLC axes If a container axis in a container which is enabled for rotation must become a
PLC axis, then this status change request is stored, and the changeover to PLC
axis status does not take place until after completion of the axis container
rotation.
Command axes A container axis in a container enabled for rotation cannot be declared a
command axis. The traverse request is stored in the channel and executed on
completion of the axis container rotation.
Exceptions to this rule are synchronized actions M3, M4, M5 and a
motion-changing S function: If an axis container rotation is active and the
spindle is transferred to the control of another NCU, alarm 20142 (channel %1
command axis %2: Invalid axis type) is output. These synchronized actions do
not change a channel axis into a command axis, but leave it in its original state.
Synchronized actions of this type cannot be stored.
Reciprocating axes A container axis in a container enabled for rotation cannot become a
reciprocating axis, i.e. this change in status does not take place until the axis
container has finished rotating. The status change command remains active.
Coupled axes An axis container cannot rotate while an axis coupling, in which one of its
container axes is involved, is still active. The coupling must be deselected
(COUPOF) prior to rotation and selected again (COUPON) afterwards. A new
COUPDEF command is not necessary.
Main run offset The main run offset values (DRF offset, online tool offset, synchronized action
values offset, compile cycle offset) for a channel axis assigned to a container slot
remain valid after the relevant axis container has rotated. External zero offsets
cannot remain valid after an axis container rotation as these refer to specific
machine axes. If an external zero offset is active, the axis container rotation is
rejected with alarm 4022.
Axial frame The axial frame of a channel axis, which is also a container axis, is no longer
valid after an axis container rotation. Since the axis container rotation assigns a
new machine axis to the channel axis, but the axial frame is referred to a
machine axis, the rotation thus also changes the axial frame. If the two
frames do not coincide, a synchronization process (internal REORG) is
performed.
The assignment between a channel axis and a machine axis is altered by the
axis container rotation. The current frames remain unchanged after a rotation.
The user himself is responsible for ensuring that the correct frames are selected
after a rotation by, for example, programming basic frame masks.
Transformations If the container axis is a spindle which is involved in a transformation, then the
transformation must be deselected before the axis container rotation is
enabled. Otherwise alarm 17605 is activated.
Drive alarms When a drive alarm is active for a container axis, then the associated axis
container cannot rotate until the alarm cause has been eliminated.
Introduction For large machine tools, rotary indexing machines and multi-spindle machines,
whose movement sequences are controlled by more than one NCU, the
applications on a single NCU must be able to exchange information rapidly with
the other NCUs connected via link module.
For this purpose there are:
S Link variables
Definition Link variables are system-global data that can be addressed by the connected
NCUs as system variables if link communication is configured. The
– contents of these variables,
– their data type,
– their use,
– their position (access index) in the link memory
are defined by the user (in this case this is usually the machine manufacturer).
Requirement
– To active NCU link communication, MD 18780: MM_NCU_LINK_MASK
must be set.
– The link grouping must be installed and configured according to 2.8.
Application As link variables are formally system variables, they can be read/write accessed
in
part programs and in
synchronized actions
(as a rule).
Access possibilities for the individual link variables are specified under 2.7.2.
Note
On installations without an NCU link, the link variables can also be used
NCU-locally as an additional means of cross-channel communication.
Structure Each NCU connected to an entire system with link module sees a link memory
in which the link variables are stored uniformly. Data exchange takes place after
changes in the following interpolation cycle.
Size of link The size of the link memory can be configured within the limits set by machine
memory data
MD 18700: MM_SIZEOF_LINKVAR_DATA.
It is necessary to define the same size for all connected NCUs. If there are
deviations, the system adapts the link memory size of all NCUs according to the
largest size specified. If the memory area of the link memory is exceeded during
an access attempt, alarm 17020 is output.
Data types of link The link memory can contain link variables with the following data types:
variables
S INT $A_DLB[i] ; Data Byte (8 bits)
S INT $A_DLW[i] ; Data Word (16 bits)
S INT $A_DLD[i] ; Data Double word (32 bits)
S REAL $A_DLR[i] ; Real data (64 bits)
Ranges of values The data types have the following value ranges:
BYTE: –128 to 255
WORD: –32768 to 65535
DWORD: –2147483648 to 2147483647
REAL: –4.19e–308 to 4.19e–307
Alarm 17080 is generated when the upper value range limit is violated and
alarm 17090 with violation of the lower value range limit and alarm 14096 in the
case of an illegal type conversion.
The value range of these variables (with a negative value) applies only to write
operations. Only the corresponding positive (unsigned) value can be read back.
Addressing with Index i always represents the distance in bytes from the beginning of the link
access to global memory. The index is counted from 0. This means that:
variables
Link memory use The link memory can have different assignments for processes that are
completely separated in time. The various NCU applications that access the link
memory jointly at any one time must use the link memory in a uniform way.
Access from If an impermissible index is used for access to the link memory from a
synchronized synchronized action or a parts program, alarm 20149 is issued.
actions
Write access to When writing to link variables of the link memory, for example as follows
link variables $A_DLB[5] = 21,
a write element is required. The write element serves for communication with
further NCUs which must see the modified contents in the link memory. Each
write process to a link variable requires a write element. It is busy with the write
process until the main run executing data exchange with the other NCUs is
completed.
Since global data can be written by all channels and NCUs, the user must
ensure proper coordination of write and read access operations. Variables are
written immediately if an NCU link connection is active. Writing and immediate
read back of a variable produces the same result. Variables are written only in
synchronism with the main run. Writing and immediate read back in the same
parts program block produces a different result.
Number of write The write elements available for writing to link variables are limited. Their
elements number is determined by:
MD 28160: MM_NUM_LINKVAR_ELEMENTS
If no more write elements are available for an intended write process, alarm
14763 is issued. The set number of write elements only limits the number of
write processes that can be written in one block.
Dynamic response Writing the link variables is immediately completed for the local NCU in the
during write current interpolation cycle (in the sequence of commands). If the user does not
exceed the number of possible write processes (can be checked in system
variable $A_LINK_TRANS_RATE) in the current interpolation cycle, all other
NCUs will have access to the written information 2 interpolation cycles later. If
link variables are used exclusively to coordinate the channels of a multi-channel
NCU, they can be written in the same interpolation cycle.
Note
The user (machine manufacturer) must ensure that the time is consistent for
larger data blocks that are logically associated with one another. The
transmission is word by word. The data quantity which can be transferred in the
same interpolation cycle is specified in system variable
$A_LINK_TRANS_RATE (see below). A transmission can be protected by
marking variables of the link memory as semaphores.
The following system variables are available for accessing the link memory:
Legend:
r Read
w Write
R Read with implicit preprocessing stop
W Write with implicit preprocessing stop
TP Part program
SA Synchronized action
SW Software version
Note
Use of index i is described in detail in 2.7.1.
You can access the drive data via the machine axis identifier, even if the axis is
being applied to another NCU. Software Version 6 and higher supports the use
of the following drive system variables with machine axis identifiers [n] (only
channel axis identifiers up to now):
– $AA_LOAD[n], $VA_LOAD[n]
– $AA_TORQUE[n], VA_TORQUE[n]
– $AA_POWER[n], $VA_POWER[n]
– $AA_CURR[n], $VA_CURR[n]
– $VA_VALVELIFT[n]
– $VA_PRESSURE_A[n]
– $VA_PRESSURE_B[n]
The following section describes how to query the drive status of link axes by
means of these system variables and static synchronized actions.
References: /FBSY/
The connections are described by means of an example that is easily
applicable to the requirements of the control at hand:
NCU1 NCU2
Link module
Logical Logical
NC1_AX2
Link axis
AX1
AX2
AX3
AX4
AX1
AX2
The machine axis identifier of the home NCU addresses the system variables of the link axis’ drive information
and passes them on via link variables.
Sequence The drive system variable values of a link axis are provided in two steps:
1. The home NCU (that is, the NCU that is physically connected to the link
axis) uses a static synchronized action to cyclically read the information
contained in the system variables into a link variable (see 2.7.1). The link
variable can also be accessed on the interpolating NCU (in our example,
NCU2).
2. The interpolating NCU checks (e.g. in another synchronized action) the
state of the link variable and initiates the required response.
Synchronized NCU1:
actions ; Static synchronized action cyclically transfers the drive variable
N111 IDS=1 WHENEVER TRUE DO $A_DLR[0]=$VA_CURR[AX2]
NCU2:
; Static synchronized action accepts value from link variable and
; triggers alarm 61000 if the current exceeds limit of 23A
N222 IDS=1 WHEN $A_DLR[0] > 23.0 DO SETAL(61000)
Introduction The preceding chapters described how to configure link axes and axis
containers. Both require a link communication to be established between the
NCUs concerned. Setting up the link communication takes place by means of:
S Machine data
The following section describes how to use the required machine data.
$NCU_LINKNO
...
Machine data
MD 12550: LINK_RETRY_CTR
specifies the maximum number of times the link communication is repeated
when an error occurred during frame transfer.
Machine data
MD 12530: LINK_NUM_OF_MODULS
specifies the number of link modules taking part in the link communication
Machine data
MD 12510: NCU_LINKNO
assigns a logical link number to an NCU; this number is used for link
identification in conjunction with link axes and link communication.
Identifications can be assigned independently of the physical sequence of the
modules in the link string. The module with NCU_LINKNO = 1 is master.
Warning
! Assignment of NCU_LINKNO must be unambiguous. An alarm is issued if
there is an error.
Machine data
MD 12520: LINK_TERMINATION
specifies for the software which NCUs correspond to the bus terminating
resistances. The set values refer to the entries defined with MD 12510:
NCU_LINKNO. 0 corresponds to the first definition, 1 to the second, etc. from
MD 12510: NCU_LINKNO.
Note
MD 12520: LINK_TERMINATION need only be set for the prototype hardware
of the link module. It is only meaningful for the software.
The NCUs that are physically connected at the beginning and end of the bus
must activate the terminating resistors. This measure is necessary for the link
communication to work.
Machine data
MD 30554: AXCONF_ASSIGN_MASTER_NCU
defines for the purposes of power-up which NCU in an NCU grouping will be
responsible for generating the axis setpoint (master NCU).
Machine data
MD 30560: IS_LOCAL_LINK_AXIS
specifies that the axis drive needs to be started during power-up, even if the
axis is operating under the control of another NCU. It is evaluated only if
machine data required to create a link grouping have been set, but link
communication has failed due to an error.
Note
It may be necessary to increase the interpolation cycle due to the number of
link axes and write elements.
Data transport Both cyclic and acyclic services are used for data communication. The cyclical
data area ensures that the data are transferred in every interpolation cycle.
Other data are transferred in the acyclic service, e.g. machine data, link
variables and data for container rotation. If too many data were selected
simultaneously for the acyclic link communication, the transfer sequence is
governed by an internally defined priority system. The actual value/setpoint data
for the lead link axis are transferred via the cyclic service.
Examples Let an axis container contain 12 slots. Three axes are local on NCU1, three
axes in each case are link axes that are on NCU 2, NCU3, and NCU4. The MD
is set with 0 as the value.
NCU 2 Axes
Cyclic connections
12 1
NCU 1
3
12 1
3
NCU 3
12 1
3
Axes
Acyclic 25*
connections
NCU 4
Total 12 1
connections 34!
* MD 18781: 0 corresponds to 25
connections
Let an axis container contain 12 slots. Four axes are local on NCU1, four axes
in each case are link axes that are on NCU 2, and NCU3. MD18781 is set with
9 as the value.
NCU 2 Axes
Cyclic
connections
12 1
NCU 1
4
12 1
4
NCU 3
12 1
Axes
Acyclic 9*
connections
Total
connections 17
O
d
Time [ms]
B
15 S
d
S
d
10
S
d
Interpolation cycle
S
5 d
S
d
S
Sd
2 3 4 5 6 7 8 No. NCUs
Fig. 2-19 Rise in Communication Time of the Number NCUs Connected over the Link
(for scaling refer to Interdependencies)
Configuration limit The figure above illustrates how the communication overhead grows as the
number of NCUs increases.
Curve trace A:
Time required for the exchange of link variables/machine data information and
the lead link axis information (one lead link axis) between the NCU giving the
master value and other NCUs that interpolate the following axes as a function of
the leading axis (lead link axis).
Curve trace B:
Time required for the exchange of link variables/machine data information
between the NCU giving the master value and other NCUs that interpolate the
following axes as a function of the leading axis (lead link axis).
Rule:
With a configuration, the time requirement must remain below the interpolation
cycle according to curve trace A. If there is no longer any degree of freedom
with respect to the number of necessary NCUs, the interpolation cycle might
have to adapted.
If the interpolation cycle has to remain unchanged, the number of NCUs in the
lead link axis grouping might have to be reduced.
Term A lead link axis allows read access to the axis data (setpoint, actual value, ...)
on another NCU.
Introduction The lead link axis concept offers a solution for the following problems:
The individual machining and handling stations are to move synchronous with
or in relation to a common master value in so-called clocked sequences. The
dependent axes are interpolated from another NCU, not the one interpolating
the leading axis.
Restrictions
S An axis (leading axis) that is referenced by a lead link axis cannot be a link
axis, i.e. be moved by any other NCUs apart from its local NCU. See 2.5.
Differential Lead link axes allow cross-NCU linkages where the master value axis and the
features from SW 5 following axes are programmed/interpolated on different NCUs. (See
supplementary conditions).
Although it was possible to create a cross-NCU linkage in SW 5 by means of a
link axis, programming and interpolating the leading value axis and following
axes had to be performed on one NCU.
Configuration The lead link axis that is being interpolated as a leading axis on the NCU is
leading axis NCU configured on the interpolating NCU as a standard local axis. It is configured by
means of channel axis and machine axis machine data, and via the logical
machine axis image. In addition, there are the following requirements:
– The machine axis must be identified as lead link axis in
MD 30554: AXCONF_ASSIGN_MASTER_NCU
– Number of link module must be specified in MD 12510: NCU_LINKNO
– The link functionality must be activated in
MD 18780: MM_NCU_LINK_MASK = 1
– Number of link modules must be specified in MD 18782:
MM_LINK_NUM_OF_MODULES
– Size of servo buffer specified in: MD 18720: MM_SERVO_FIFO_SIZE =
4
Configuration In addition to configuring the standard channel/machine axis machine data, you
following axis NCU need to configure machine axis machine data on the NCU that is deriving
following axis movements from the non-local leading axis (lead link axis):
– Number of link module must be specified in MD 12510: NCU_LINKNO
– The link functionality must be activated in
MD 18780: MM_NCU_LINK_MASK = 1
– Number of link modules must be specified in MD 18782:
MM_LINK_NUM_OF_MODULES
– If nec. MD 18402: MM_NUM_CURVE_SEGMENTS
– If nec. MD 18404: MM_NUM_OF_CURVE_POLYNOMS
– Size of servo buffer specified in: MD 18720: MM_SERVO_FIFO_SIZE =
2
– The lead link axis must be configured in the logical machine axis image
with
MD : AXCONF_LOGIC_MACHAX_TAB[i] = “NCm_AXn”
This allows a relation to be established with the NCU that is interpolating
the lead link axis.
– The lead link axis must also be configured in the channel axes.
Note
For further information about link-specific machine data, please refer to the
preceding subsections, Chapter 4, and the configuration and programming
example provided in Chapter 6.
Schematic The figure below shows the constellation used in the example with the main
sequence data flows.
NCU 1 provides:
Interpolation and position control for master value axis or supplies the lead link
axis of NCU2 with setpoint and actual value.
NCU 2 provides:
Coupling between lead link axis and master value axis (of NCU1) and
generation of a dependent axis motion (following axis).
NCU 1
NCU 2
1.3
Interpolator
Interpolator
1.3 1.2 3.2
~ simultaneous
3.3
Buffer for Following
4.1
MM_SERVO_FIFO_SIZE = 2 position control axis/axes
Buffer for 4.1
5. position control MM_SERVO_FIFO_SIZE = 4 Position control
1.1 Master value axis Local axes 2
Position control
3.1
Local axes 1
Link module 1
4.2
Fig. 2-20 Data flows for leading value axis, lead link axis and subordinate following axis/axes
Transporting lead
link data
The system variables $AA_LEAD_SP and $AA_LEAD_SV (see below) are
transferred via the acyclic service. These system variables have a lower
transfer priority than the link variables.
Approx. 320 bytes of data are exchanged for the lead link axis (setpoints and
actual values). The communication time required for this operation is approx.
equal to that required for a link axis.
In contrast to local NCU linkages, with cross-NCU linkages the leading axis
setpoints (on NCU1) are delayed to achieve synchronously clocked
assignments of setpoints for the leading/following axis. (See step 4.1.)
The set interpolation cycle must be identical for all lead link NCUs in the axis
grouping.
Axis replacement The channels of the NCU that is driving the following axes are not allowed to
traverse or replace a lead link axis. The real leading axis can be replaced on its
home NCU.
The commands GET, GETD and also Auto-Get ( $MA_AUTO_GET_TYPE) are
rejected by the alarm “Channel %1 axis replacement for axis %1 not allowed”.
Leading value axis Only the NCU that is physically assigned to the leading value axis can program
view traversing movements for this axis. The travel program must not contain any
special functions or operations. The configuration summarized in the preceding
pages allows the control to perform the required setpoint delay automatically so
that the leading axis and following axes are interpolated synchronously on the
other NCUs.
Following axes The programming on the NCU of the following axes must not contain motion
view commands for the leading value axis (master value axis). Any violation of this
rule triggers an alarm.
The leading value axis is addressed in the usual manner via the channel axis
identifier. The states of the leading value axis can be accessed via special
system variables.
System variables The following system variables can be used in conjunction with the channel axis
identifier of the leading value axis:
$AA_LEAD_SP ; Simulated leading value – position
SAA_LEAD_SV ; Simulated leading value – velocity
If these system variables are updated by the home NCU of the master axis, the
new values are also transferred to any other NCUs which wish to control slave
axes as a function of this master axis.
Problem In the real industrial world, parts deviating from a precise round/cylindrical
description shape are also required. (Example: Pistons that are oval in the manufacturing
state. The operating temperature gives them their required almost round shape
during use). The eccentric shapes are, e.g.:
– Oval shapes
– Trefoil shapes
– Cam
– More complex shapes
If you want to manufacture parts belonging to this category cost-effectively on
turning machines, you can use the link functions described below, which are an
expansion of the link functions described in 2.4 and the following sections.
However, the boundary conditions must be complied with.
C
X
Sequence of While the workpiece is rotating about the C axis, the X axis must be advanced
motions with high precision between the smallest and largest radius/diameter according
to the required shape (sine, double sine, etc.). In general, a smaller linear
movement per rotation is sufficient in Z direction. If the workpiece is to be
moved at a typical speed (e.g. 3000 rpm), the X axis must be highly dynamic.
This means that
– shorter interpolation cycle
– shorter position control cycle
compared to the requirements of the C and Z axis.
Solution The requirements described in the motion sequences are met by a NCU link
grouping; where the NCU with the shorter interpolation cycle drives the highly
dynamic X axis and another NCU with standard interpolation cycle drives the
less dynamic C and Z axes. General polynomials are used to specify the motion
for the X axis.
Note
The NCU constellation with different interpolation cycles – where one is always
faster than the others – is called “FAST-IPO-LINK” in alarm messages.
NCU-link communication
Link submodule Link submodule
NCU2 NCU1
Standard Shorter
IPO cycle IPO cycle
611D 611D
C
Generalized In a link grouping with several (up to 8) NCUs, some NCUs are set up with short
solution interpolation cycles, some with standard interpolation cycles, and the axes are
configured as in Fig. 2-22. The requirements for NCUs can be optimized in this
manner. Eccentric machining is possible for multi-spindle turning machines in
conjunction with the axis container concept (see 2.6).
Note
Alternatively, you can specify the motion for the X axis as follows:
Master value coupling of the X axis to the spindle (LEADON). This alternative is
still possible and is sufficient for tasks with low dynamic performance
requirements. However, it does not offer a specific function extension for
eccentric turning, and does not allow setpoints to be specified on a NCU with
faster IPO cycle via a NCU link.
Reference: /PGA/, Programming Guide Advanced
Link cycle
Fig. 2-23 Schematic example of a configuration with several NCUs and eccentric machining unit
Abbreviations and
terms
NCU-A, NCU-B NCUs with standard interpolation cycle
NCU-U Eccentric NCU with fast interpolation cycle
Position control cycle i “slower” position control cycle
Position control cycle j “faster” position control cycle
IPO cycle m “slower” interpolation cycle
IPO cycle n “faster” interpolation cycle
Link cycle m Uniform link cycle from NCU-A to NCU-U
S1–S8 Spindles 1 – 8
Z1 – Z8 Z axes 1–8
X1 – X8 X axes for concentric machining via NCU-A/NCU-B
X9 X axis for eccentric machining
UR On NCU-U channels are defined which drive the spindles
and Z axes of NCU-A/NCU-B as link/container axes and
interpolate the highly dynamic X axis with fast interpolation
and position control cycles.
Spindle speed The parts program manufacturer must first perform an OFFLINE calculation to
ascertain the maximum spindle speed to program so that the axes (especially
the X axis) are not overloaded when accelerating. If this maximum speed is
incorrect, the spindle speed is reduced at parts where one of the participating
axes would be overloaded. This in turn has a bearing on contour precision and
should therefore be avoided.
Axis assignments Link axes may only be connected to NCUs that have the same IPO cycle as the
link cycle.
Example: Axis X9 on the fast NCU-U in Fig. 2-23 cannot be interpolated as a
link axis by NCU-A or NCU-B. However, axis Z4 can be interpolated by NCU-A,
NCU-B and NCU-U.
Setpoint delay From NCU-U’s point of view, it is interpolating with the local X axis and the two
link axes C and Z when performing eccentric machining. To achieve a correct
contour, it is necessary to compensate for the time delay -- which occurs when
the setpoints are transferred to the link axes -- and the differences in clock
cycles by delaying the setpoints to the local X axis. This can be done by setting
MD 18720: MM_SERVO_FIFO_SIZE.
Use the following formula for assigning MM_SERVO_FIFO_SIZE:
MM_SERVO_FIFO_SIZE = 2 * link cycle / IPO cycle +1
This formula is only applicable for NCU-U and NCU-A/NCU-B as in Fig. 2-23.
Examples:
NCU-U:
Link cycle = 16 ms
IPO cycle n = 2 msec
The cycle ratio is therefore 8; the value of the formula 2 * 8 + 1 = 17
NCU-A/NCU-B:
Link cycle = 16 msec
IPO cycle m = 16 msec
The cycle ratio is therefore 1; the value of the formula 2 * 1 + 1 = 3
In some cases, an alarm is generated to indicate setting errors in MD 18720:
MM_SERVO_FIFO_SIZE.
Effect of the
SERVO_FIFO_SIZE
– All functions that use actual values when interpolating for setpoint
settings generation will be affected by the delay of the slower link cycle instead of
the fast IPO cycle. This also applies to the response at faults (alarms
that are issued to disable a mode group or for interpolatory braking).
– Alarm responses that are triggered directly in the servo are not affected
by any additional delay.
– Acceleration processes on the link axes are always output with the link
cycle and are therefore not exactly synchronous with the axes physically
connected to the fast NCU. Therefore, it is only advisable to use this
configuration with interpolating axes on NCUs with different IPO cycles if
you are machining with link axes that are only accelerated a little or not
at all. Thus the axes with high dynamic requirements must be physically
connected to the fast NCU.
– If high precision is required for the machining operation, the tool should
not have contact with the workpiece during acceleration/deceleration of
the axes. Otherwise contour violations will result.
The general solution described in 2.11.1 also allows different position control
cycles for NCU-A/NCU-B and NCU-U as in Fig. 2-23.
By setting the parameters as described below, you can improve the quality for
some controller types.
When interpolating, the different cycle times are detected in fine interpolation
and in the position control due to the different position control cycles; they are
compensated for internally by delaying the setpoints for the axes with the faster
position control cycle.
Standard result If the axis with the slower position control cycle is not accelerated or is only
accelerated very slowly, contour errors are largely avoided. However, contour
errors will always occur when accelerating, therefore accelerations should not
take place while machining.
Special MD In some cases, it may be necessary to be able to adapt the delay (see
settings examples below).
MD 10065: POSCTRL_DESVAL_DELAY has been added for this purpose. This
allows you to adapt the setpoint delay in the position controller for the entire
NCU. You can use positive and negative values. The set values (time in
seconds, max. +/– 0.1sec) are added to the automatically calculated values.
See under “Information”.
Setting notes The required position setpoint delay depends on the controller structure used
(DSC (dynamic stiffness control), feedforward control); this delay is taken into
account when switching to the respective controller (e.g. FFWON (travel with
feedforward control ON)). The automatic setting function obtains the maximum
value for the position control cycles of the individual NCUs and delays the times
on all the NCUs, thus providing compensation at constant speed for the different
cycle times on all types of controller structures. In this manner, an additional
delay can even be active on the axis with the slowest position control cycle.
The controller structure with
the most compensation is operation of torque feedforward control or with
speed feedforward control and activated ramp encoder in the drive,
the least compensation is DSC or if feedforward control is deactivated.
S The option “different interpolation cycle” can only be used in conjunction with
NCU link (options, dependent on the axis number). The connected NCUs
must all be fitted with the link module hardware components.
– The configuration rules according to 2.8 apply.
– Link axes must be configured as described in Subsection 2.5.1.
– Axis containers can be used as described in Section 2.6.
S It is only permissible to use link axes on NCUs whose IPO cycle length is
the same as that of the link cycle,
S Axis container
– It is only permissible to switch axis containers with rotating spindles on
NCUs with IPO cycles that are equal to the link cycle.
– Axis containers can also be switched with motionless axes and spindle
on the NCUs with faster IPO cycles.
Example Please refer to Chapter 6 for an example of eccentric turning using the “NCU
link with different interpolation cycles” function.
The necessary setpoint delay on the servo causes a delay for two link cycles
during boot, at reset, at New Config, etc. At reset, an additional delay of at least
two link cycles is required to account for the necessary synchronization.
Link grouping, To ensure consistency across the configuration, if the system of units is
global setting switched over on the operator panel of one NCU in the grouping, with SW 5 and
higher this affects the entire NCU grouping.
If the conditions:
S MD 10260: CONVERT_SCALING_SYSTEM=1.
S Bit 0 of MD 20110: RESET_MODE_MASK set in every channel
S All channels in the reset state
S Axes are not being traversed via JOG, DRF or the PLC
S Constant grinding wheel peripheral speed (GWPS) is not active
are met on all connected NCUs, the switchover is valid for all NCUs. If one of
the switchover conditions for the system of units is not fulfilled on one or more
NCUs, none of the NCUs will switch to the other unit system.
Actions such as parts program start or mode change are disabled for the
duration of the switchover.
Different systems It is only possible to use different unit systems in time intervals where there are
of units no cross-NCU interpolations even though the link grouping is installed. The
necessary settings must then be made NCU-specifically via G codes, as
described in
References: /FB/, G2, Velocities, Setpoint/Actual Value Systems,
Closed-Loop Control.
J
Notes
Supplementary Conditions 3
3.1 Several operator panels and NCUs with control unit
management option
Configuring The number of configurable control units/NCUs is only limited by the availability
of bus addresses on the individual bus segments of the different bus types.
The restrictions relating to the current SW version specified in the catalog or
release notes apply.
Availability The control unit management option is available in SW 5.3 and higher.
SW 6.3 The control unit management option is expanded to provide a link of up to nine
MMCs to a total of nine NCUs. The conditions for use of this option stipulated in
previous chapters apply as before.
Availability with “Several operator panel fronts and several NCUs” configuration:
SW 3.1 and later Available in the basic version. The number of NCUs that can be connected is
limited to 1 and the operator panel fronts to 2. One of the operator panel fronts
must be an OP030.
Programming language Step 7
can be used.
Expansions Configuration “1 operator panel front and up to 4 NCUs and locally 1 MMC
SW 3.5 or higher each”
available according to Fig. 1–4.
Data exchange between NC and PLC is now also available with the PLC-CPU
314.
Note
If an address > 15 is used, all components connected to the bus must be
capable of processing addresses between 0 and 31.
Availability
1. Precondition is that the NCUs are networked with link modules.
2. The link axis function is an option that is available from SW 5 for NCU
573.2 in variants for 12 axes and 31 axes; it is required for each link axis
(max. 32). It is determined by number.
3. The axis container function is an option that is available from SW 5 for
NCU 573 12 axes/31 axes; it is required for each container. If a link module
is employed, this function can be used without the additional option.
References: /PHD/, Configuring Guide NCU 571-573.2
Availability Axis container is an option that is available for the NCU 573.2 with SW 5 and
higher. In cases where axis containers are configured for link axes, the
supplementary conditions for such containers as defined in Section 3.3 “Link
axes” also apply.
Availability Software Version 6 and higher supports cross-NCU coupling with lead link axes.
The functionality builds on the NCU link. Therefore, the NCU link options must
be installed.
Availability SW 6 and higher offers the NCU link with different interpolation cycles as an
option.
All requirements that apply for link axes must be fulfilled.
(See 3.3).
If the non-local axes – seen from the point of view of the NCU with the fast
interpolation cycle – are container axes (e.g. with multi-spindle
turning machines) the corresponding option (see 3.4) must also be installed.
J
Notes
10134 MM_NUM_MMC_UNITS
MD number Resource units for MMC communications partners that are possible at the same time
Default setting: 6 Minimum input limit: 1 Maximum input limit: 10
(FM-NC: 4, NCU571: 3, 810D: 3,
HMI Emb. and Advanced: 2, OP030: 1)
Changes effective after POWER ON Protection level: 2 / 2 Unit: –
Data type: DWORD Applies from SW: 3.2
Meaning: Number of simultaneously possible MMC communication partners with which the NCU can
exchange data.
The value influences how many communications jobs can be managed by the NC.
The higher the value, the more MMCs can be simultaneously connected to the NC.
Depending on the value entered in the machine data, DRAM is made available in the NCU
for this function. Instructions regarding the modification of memory areas must be observed
(see FB2/S7/).
The unit of MD 10134 is a “resource unit”.
A standard OP030 requires one, an HMI Emb. or Advanced requires two resource units.
OEM variants may require more or fewer resources.
S Setting the value lower (than would normally be required by the number of connected
MMCs) does not necessarily cause problems. Occasionally operations may not work if
several communication-intensive operator actions (e.g. loading program) are being
conducted at the same time: Alarm 5000 is displayed. The operator action must be
repeated.
S If the value is set higher, more dynamic memory than necessary will be used up. If the
memory is required for other purposes, the value should be reduced accordingly.
10002 AXCONF_LOGIC_MACHAX_TAB[n]
MD number List of machine axes available on an NCU
(logical NCU machine axis image)
Default setting: AX1, AX2, ... Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 1 / 1 Unit: –
Data type: STRING Applies from SW: 5
Meaning: MD AXCONF_LOGIC_MACHAX_TAB maps channel axes onto:
1. Local axes (default: AX1, AX2 ... AX31)
The entry $MN_AXCONF_LOGIC_MACHAX_TAB[n] = AX3 assigns local axis AX3
to axis index n. (For n = 3 the default setting AX3 is available. Therefore MD blocks
for Software Version 4 and lower are compatible in SW 5).
2. Link axes (axes that are physically connected to another NCU)
The entry $MN_AXCONF_LOGIC_MACHAX_TAB[n] = NCj_AXi
assigns axis AXi on NCU j to axis index n (link axis).
Limits:
n Machine axis address (of local NCU) 1 ... 31
j NCU number 1 ... 16
i Machine axis address (of local/remote NCU) 1 ... 31
3. Axis containers which in turn contain local or link axes.
The entry $MN_AXCONF_LOGIC_MACHAX_TAB[n] = CTr_SLs
assigns container r and slot s to axis index n.
Limits:
n Machine axis address (of local NCU) 1 ... 31
r Container number 1 ... 16
s Slot number (location) in containers 1 ... 32
If several NCUs refer to the same machine axis in the NCU link grouping via this MD, it is
necessary to define in axial machine data MD 30554:
AXCONF_ASSIGN_MASTER_NCU which NCU is the master NCU, i.e. which NCU is to
generate the setpoints for the position controller after boot.
MD irrelevant for ... ... Systems without link modules
Application example(s) Initial.ini (extract) on NCU3:
$MN_AXCONF_LOGIC_MACHAX_TAB[4] = NC5_AX7
CHANDATA(2)
$MC_AXCONF_MACHAX_USED[1] = 5
$MC_AXCONF_CHANAX_NAME_TAB[1] = MyAx_Y
Part program block “G0 MyAx_Y = 100” running on NCU3/channel 2 traverses the 7th axis
of NCU 5.
Related to .... AXCT_AXCONF_ASSIGN_TABi (create entries in containers i)
AXCONF_ASSIGN_MASTER_NCU
10065 POSCTRL_DESVAL_DELAY
MD number Position setpoint.Delay
Default setting: 0.0 Minimum input limit: –0.1 Maximum input limit: 0.1
Changes effective after POWER ON Protection level: 2 / 7 Unit: s
Data type: DOUBLE Applies from SW: 6
Meaning: Setpoint delay in position controller.
10087 SERVO_FIFO_SIZE
(from SW 6: 18720) MM_SERVO_FIFO_SIZE
MD number Size of data buffer between interpolator and position control
Default setting: 2 Minimum input limit: 2 Maximum input limit: 3
11398 AXIS_VAR_SERVER_SENSITIVE
MD number Response of the AXIS-VAR server to errors
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: BYTE Applies from SW: 5
Meaning: If the server cannot supply any values for an axis (e.g. because the axis concerned is a link
axis), then it returns a default value (generally 0).
For the purpose of testing, this machine data can be used to set the axis data server sensi-
tively so that it returns an error message rather than default values.
0: Default value
1: Error message
MD irrelevant for ... ... Systems without link modules
Related to .... MM_NCU_LINK_MASK
12510 NCU_LINKNO
MD number NCU number in an NCU group
Default setting: 1 Minimum input limit: 1 Maximum input limit: 16
Changes effective after POWER ON Protection level: 1 / 1 Unit: –
Data type: DWORD Applies from SW: 5
Meaning: Number or name for identifying an NCU within an NCU grouping.
In an NCU grouping (NCU cluster), the NCUs are interconnected via a link bus.
MD irrelevant for ... ... Systems without link modules
Application example(s) See Chapter 2 “Configuration of link axes”
Related to .... MM_NCU_LINK_MASK
12520 LINK_TERMINATION
MD number NCU numbers for which bus terminating resistors are active
Default setting: 0 Minimum input limit: 0 Maximum input limit: 15
Changes effective after POWER ON Protection level: 1 / 1 Unit: –
Data type: BYTE Applies from SW: 5
Meaning: LINK_TERMINATION defines for which NCUs the bus terminating resistors must be acti-
vated by the link module for the timing circuit.
Related to .... MM_NCU_LINK_MASK
12530 LINK_NUM_OF_MODULES
MD number Number of NCU link modules
Default setting: 2 Minimum input limit: 2 Maximum input limit: 16
Changes effective after POWER ON Protection level: 1 / 1 Unit: –
Data type: DWORD Applies from SW: 5
Meaning: The machine data specifies how many link modules are taking part in the link communica-
tion.
MD irrelevant for ... ... Systems without link modules
Related to .... MM_NCU_LINK_MASK
12540 LINK_BAUDRATE_SWITCH
MD number Link bus baud rate
Default setting: 9 Minimum input limit: 0 Maximum input limit: 9
Changes effective after POWER ON Protection level: 1 / 1 Unit: –
Data type: DWORD Applies from SW: 5
Meaning: The baud rate selected for link communication is defined by the values entered here :
Set value Rate
0 9.600 Kbaud
1 19.200 Kbaud
2 45.450 Kbaud
3 93.750 Kbaud
4 187.500 Kbaud
5 500.000 Kbaud
6 1.500 Mbaud
7 3.000 Mbaud
8 6.000 Mbaud
9 12.000 Mbaud
MD irrelevant for ... ... Systems without link modules
Related to .... MM_NCU_LINK_MASK
12550 LINK_RETRY_CTR,
MD number Maximum number of message frame repeats in event of error
Default setting: 4 Minimum input limit: 1 Maximum input limit: 15
Changes effective after POWER ON Protection level: 1 / 1 Unit: –
Data type: DWORD Applies from SW: 5
Meaning: Maximum number of message frame repeats in event of error. If an error is detected during
data transfer, the transmission can be repeated as often as specified in the MD.
187.500 Kbaud 1
500.000 Kbaud 1
1.500 Mbaud 1
3.000 Mbaud 2
6.000 Mbaud 3
12.000 Mbaud 4
12750 AXCT_NAME_TAB
MD number List of axis container names
Default setting: “CT1”, “CT2”, ... “CT16” Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 1 / 1 Unit: –
Data type: STRING Applies from SW: 5.2
Meaning: A name can be assigned to each axis container. The axis container rotation
commands AXCTSWE and AXCTSWED can be used in conjunction with these names. If
no container names are defined, channel axis names must be used (SW 5.1) which ad-
dress the desired axis container via the logical machine axis image. This also applies to the
addressing of system variables for axis containers.
The default axis container names are CT1, CT2, ..., CT16
Application example(s) The name of the 1st axis container is AXCT1. Definition in MD:
$MN_AXCT_NAME_TAB[0] = “AXCT1”
18700 MM_SIZEOF_LINKVAR_DATA
MD number Size of the NCU link variable memory
Default setting: 0 Minimum input limit: 0 Maximum input limit: 100
Changes effective after POWER ON Protection level: 7 / 2 Unit: –
Data type: DWORD Applies from SW: 5
Meaning: Defines the number of bytes of link memory for NCU-global data.
18720 MM_SERVO_FIFO_SIZE
MD number Size of data buffer between interpolator and position control
Default setting: 2 Minimum input limit: 2 Maximum input limit: 35
Changes effective after POWER ON Protection level: 3 / 2 Unit: –
Data type: DWORD Applies from SW: 6.1
Meaning: The MD specifies the size of the data buffer between the interpolator and position control.
If several NCUs for rotary indexing machines/multi-spindle turning machines are connected
via the NCU link, the value for all connected NCUs must be set to 3. This setting compen-
sates for the difference in transmission time between local setpoints and set points from
another NCU via the NCU link.
In order to ensure the same time sequences for the leading axis and the following axes
when using a lead link axis, the size of the servo buffer on the NCU which is supplying the
master value must be set to 4. The default value 2 is maintained on the NCUs that are in-
terpolating the following axes.
When interpolating via NCUs with different IPO cycles, the maximum cycle ratio of the link
cycle to IPO cycle (of the fast NCU) can be 17. Use the following formula for assigning
MM_SERVO_FIFO_SIZE:
MM_SERVO_FIFO_SIZE = 2 * link cycle / IPO cycle +1
This formula applies for the NCU with the fast IPO cycle and the NCU with the slow IPO
cycle. Examples:
NCU with fast IPO cycle:
Link cycle = 16 ms
IPO cycle n = 2 ms
The cycle ratio is 8, the value of the formula 2 * 8 + 1 = 17
The value 3 must be set on the slow NCU.
18780 MM_NCU_LINK_MASK
MD number Activation of NCU link communication
Default setting: 0 Minimum input limit: 0 Maximum input limit: 3
Changes effective after POWER ON Protection level: 1 / 1 Unit: –
Data type: DWORD Applies from SW: 5
Meaning: Activation of NCU link communication.
Bit-coded activation data.
Bit 0 must be set to activate link communication.
(can be used for start-up of local axes [1:1], before link connections are powered up)
If, in addition, enabling is to be activated for the NCU link with different IPO and position
controller cycles (SW 6), then bit 1 must also be set.
Related to .... IS_LOCAL_LINK_AXIS, NCU_LINK_NO, LINK_TERMINATION,
LINK_NUM_OF_MODULES, LINK_BAUDRATE_SWITCH, LINK_RETRY_CTR
18781 NCU_LINK_CONNECTIONS
MD number Number of internal link connections
Default setting: 0 Minimum input limit: 0 Maximum input limit: 32
Changes effective after POWER ON Protection level: 0 / 3 Unit: –
Data type: DWORD Applies from SW:
18781 NCU_LINK_CONNECTIONS
MD number Number of internal link connections
Meaning: Value = 0:
The software determines the internal link connections automatically
Value > 0:
Number of internal link connections from each NCU to every other NCU. These link con-
nections record the non-cyclic messages. Each of these connections can transmit 240
bytes of raw data.
Non-cyclic messages occur in the case of alarms, container switches and link variables
MD irrelevant for ... ... Systems without link modules
Fig. 2-17, 2-18
Application examples See Section 2.9
Special cases, errors, ... Total of cyclic and non-cyclic connections > 32.
...
Related to .... No. of link axes, lead link axes, no. of NCUs, no. of link modules
References
18790 MM_MAX_TRACE_LINK_PIONTS
MD number Size of trace data buffer for NCU link
Default setting: 8 Minimum input limit: 0 Maximum input limit: 500
Changes effective after POWER ON Protection level: 1 / 1 Unit: –
Data type: DWORD Applies from SW: 5
Meaning: MM_MAX_TRACE_LINK_DATAPOINTS defines the size of an internal data buffer contain-
ing the trace recordings for the NCU link functionality.
The MD is evaluated only if bit 0 is set in MM_TRACE_LINK_DATA_FUNCTION.
Related to .... TRACE_SCOPE_MASK, MM_TRACE_DATA_FUNCTION,
MM_MAX_TRACE_DATAPOINTS,
TRACE_STARTTRACE_EVENT, TRACE_STARTTRACE_STEP,
TRACE_STOPTRACE_EVENT, TRACE_STOPTRACE_STEP,
TRACE_VARIABLE_NAME, TRACE_VARIABLE_INDEX,
MM_TRACE_LINK_DATA_FUNCTION
28160 MM_NUM_LINKVAR_ELEMENTS.
MD number Number of write elements for the NCU link variables
Default setting: 0 Minimum input limit: 0 Maximum input limit: –
Changes effective after POWER ON Protection level: 7 / 2 Unit: –
Data type: DWORD Applies from SW: 5
Meaning: Defines the number of elements available to the user for writing link variables ($A_DLx)
from the parts program.
Each write process to a link variable requires a write element. Enabling the element is syn-
chronous with the next traversing block. This way the MD defines the number of global link
variables that can be written from a parts program block. Enabled write elements can be
reused for new write processes.
The memory requirements per element are approx. 24 bytes. One element is required to
write one link variable. The element is enabled in synchronism with the next motion block.
The elements are also used for block search with NCU link variables.
30554 AXCONF_ASSIGN_MASTER_NCU
MD number Initial setting defining which NCU generates setpoints for the axis
Default setting: 0 Minimum input limit: 0 Maximum input limit: 16
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: BYTE Applies from SW: 5.3
Meaning: The MD is evaluated only if NCU link communication is configured.
If a machine axis is activated via $MC_AXCONF_LOGIC_MACHAX_TAB in several NCUs
of a grouping, then a master NCU must be defined. This master NCU will be assigned the
task of generating setpoints for the axis during power-up.
In the case of axes activated in only one NCU, the number of the relevant NCU or 0 must
be entered here. Any other entry will generate an alarm during power-up.
Related to .... MD 10002: AXCONF_LOGIC_MACHAX_TAB,
MD 30550: AXCONF_ASSIGN_MASTER_CHAN
30560 IS_LOCAL_LINK_AXIS
MD number Axis is a local link axis
Default setting: 0 Minimum input limit: 0 Maximum input limit: 0
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: BOOLEAN Applies from SW: 5
Meaning: The MD is evaluated only if the NCU link function “$MN_MM_NCU_LINK_MASK = 1” has
been activated, but NCU link communication is not yet functional, e.g. owing to the fact that
not all NCUs in the NCU link grouping have yet been started up.
Setting IS_LOCAL_LINK_AXIS = 0 determines that the axis will not be linked to the local
NCU during power-up, because this would require an external partner (another NCU).
Drive data can, however, be supplied to the drive for this axis.
MD irrelevant for ... ... Systems without link modules
Related to .... MM_NCU_LINK_MASK
32990 POSCTRL_DESVAL_DELAY_INFO
MD number Current position setpoint delay
Default setting: 0.0 Minimum input limit: – Maximum input limit: –
Changes effective after –, read-only Protection level: 0 / 7 Unit: s
Data type: DOUBLE Applies from SW: 6
Meaning: This MD displays the position controller’s additional setpoint delay
with the current controller structure. With NCU link with different
position controller cycles, the setting is performed automatically and can be changed for
the entire NCU in
MD 10065: POSCTRL_DESVAL_DELAY.
The value without feedforward control is displayed in index 0.
The value with speed feedforward control is displayed in index 1.
The value with torque feedforward control is displayed in index 2.
MD irrelevant for ... ... Systems without NCU link.
Related to .... MD 10065: POSCTRL_DESVAL_DELAY
41700 AXCT_SWWIDTH
SD number Axis container rotation setting
Default setting: 1 Minimum input limit: 1 Maximum input limit: –
Changes effective after NewConfig Protection level: 3 / 3 Unit: –
Data type: BYTE Applies from SW: 5
Meaning: Setting specifying how many increments an axis container must rotate.
The SD is NCU-global.
As an axis container in which not only local axes are administered is NCU-global, in this
case SD 41700 is also NCU-global. All NCUs whose axes appear in the axis container use
the increment value stored here.
All channels that access an axis container use the increment value stored here.
If a value which is higher than the number of slots occupied in the relevant axis
container is entered, the value is calculated modulo in relation to the number of occupied
slots.
Unlike other setting data, a NEWCONF must be performed to refresh this setting data.
Notes
Signal Descriptions 5
5.1 Defined logical functions/defines
Note
The specified values must be entered in the interface areas indicated in the
tables below. The values must be checked to distinguish between the logical
functions and results.
STATUS
Online request The online request sequence is executed on this interface if an MMC wants to
interface go online.
MMC writes its client ID to ONL_REQUEST and waits for the return of the client
ID in
ONL_CONFIRM.
After the positive acknowledgement from the PLC, the MMC sends its
parameters and waits for online permission (in PAR_STATUS, PAR_Z_INFO).
Online interfaces Two MMCs can be connected online to one NCU at the same time.
The online interface is available for each of the two online MMCs separately.
After a successful online request sequence, the MMC receives the number of its
online interface from the PLC.
The MMC parameters are then transferred to the corresponding online interface
by the PLC.
The MMC goes online and occupies its own online interface via which data are
then exchanged between the MMC and PLC.
MMC data User data from/to the MMC are defined on these:
interfaces
– DBB 0–49 MMC 1 interface
– DBB 50–99 MMC 2 interface
These data and signals are always needed to operate MMCs.
M:N sign-of-life This is an additional monitoring function which must not be confused with the
monitoring MMC sign-of-life monitor. For further information, please refer to the relevant
signals.
Online request
interface
No. Name
Possible value Meaning
1. MMC-PLC online
interface
Bit signals
DB 19 MMC1_SHIFT_LOCK
DBX 126.0 Disable/enable MMC switchover
Data Block
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 5
Signal state 1 or signal MMC switchover or change in operating focus is disabled.
transition 0 –––> 1 The current MMC-NCU connection status remains unchanged.
Signal state 0 or signal
transition 1 –––> 0 MMC switchover or change in operating focus is enabled.
DB 19 MMC1_MSTT_SHIFT_LOCK
DBX 126.1 Disable/enable MCP switchover
Data Block
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 5
Signal state 1 or signal MCP switchover is disabled.
transition 0 –––> 1 The current MCP-NCU constellation remains unchanged.
Signal state 0 or signal
transition 1 –––> 0 MCP switchover is enabled
DB 19 MMC1_ACTIVE_REQ
DBX 126.2 MMC 1 requests active operating mode
Data Block
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 5
Signal state 1 or signal
transition 0 –––> 1 MMC to PLC: Passive MMC 1 requests active operating mode
Signal state 0 or signal
transition 1 –––> 0 PLC to MMC: Request received
DB 19 MMC1_ACTIVE_PERM
DBX 126.3 Active/passive operating mode
Data Block
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 5
Signal state 1 or signal PLC to MMC:
transition 0 –––> 1 Passive MMC can change to active operating mode
Signal state 0 or signal PLC to MMC:
transition 1 –––> 0 Active MMC must change to passive operating mode
DB 19 MMC1_ACTIVE_CHANGED
DBX 126.4 Active/passive operating mode of MMC
Data Block
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 5
Signal state 1 or signal MMC to PLC:
transition 0 –––> 1 MMC has completed changeover from passive to active mode
Signal state 0 or signal MMC to PLC:
transition 1 –––> 0 MMC has completed changeover from active to passive mode
DB 19 MMC1_CHANGE_DENIED
DBX126.5 Operating mode changeover rejected
Data Block
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 5
Signal state 1 or signal MMC to PLC or PLC to MMC depending on interface:
transition 0 –––> 1 Operating mode cannot be changed owing to uninterruptible processes on active MMC
Signal state 0 or signal MMC to PLC or PLC to MMC depending on interface:
transition 1 –––> 0 Acknowledgement of MMC1_CHANGE_DENIED (FALSE ––>TRUE)
2. MMC-PLC online The signals of the 2nd MMC-PLC online interface are analogous in meaning to
interface the signals of the 1st MMC-PLC online interface. MMC2_ ... replaces MMC1_...
in the explanatory texts.
MMC sign-of-life After an MMC has gone online to an NCU, the MMC sign of life is set in the
monitor interface. (E_BTSSReady, E_MMCMPI_Ready, E_MMC2Ready)
The signals are automatically set by the MMC when it goes online and stay set
for as long as it remains online.
They are provided separately for each MMC-PLC interface and used by the
PLC to monitor the MMC sign of life.
First MMC-PLC online interface
A distinction between an MMC link via the OPI (1.5 Mbaud) or
the MPI (187.5 kbaud) is made on this interface.
The signal corresponding to the bus type is set while the MMC is online.
Examples 6
6.1 Configuration file NETNAMES.INI with control unit
management option
A sample configuration file NETNAMES.INI for the MMC 1 control unit for a
system with four NCUs on the OPI is outlined below.
See Subsection 2.1.4 for explanations.
Note
The marginal notes (bold print) on the left of the page serve to structure the
information and are not part of the file.
Note
You will find further examples in the subsection entitled Quick installation
guide
Introduction The solution outlined roughly below should be selected only if at least one of the
following configuring requirements is applicable:
– Displacement strategy which differs from standard functionality
– Operating mode switchover which differs from standard functionality
– Independent handling of override switch for switchover of control unit
– Existence of a 2nd machine control panel on an MMC
Method of description:
1. Description of operational sequences
2. Description of available functionality (Defines)
3. Graphic representation of sequences in diagrammatic form
Implementation details can also be obtained from the standard configuration
which is included in the toolbox.
Overview:
MMC call waiting An MMC would like to link up with an NCU and sends this request to the PLC of
the relevant NCU.
MMC coming An MMC goes online to an NCU, i.e. it links up to the NCU.
Forced break An MMC must abort the link with an NCU because another MMC wants to go
online to the same NCU.
Operating focus A server maintains a permanent link to the NCUs to which it is assigned. The
changeover to operator can switch the operating focus from one NCU to another without
server mode interrupting the existing link.
MCP switchover As an option, an MCP assigned to the MMC can be switched over at the same
time as the MMC.
Introduction The operational sequences are described using identifiers for defined, logical
functions (example: OFFL_REQ_OP/ OK) whose programming application has
been described earlier in this section. The functions are coded according to
Section 5.1. The functions store values in the interface which can be addressed
from the PLC and the MMC. An MMC utilizes the online-request interface while
it competing for the use of an online interface. MMCs which are already linked
to an NCU utilize one of the two available online interfaces. Details of these
interfaces can be found in Chapter 5 and in
References: Lists
are programmed.
In order to illustrate complete operating sequences, the description covers MMC
activities which cannot be influenced as well as modifiable PLC activities.
MMC call waiting If the MMC is already linked online to an NCU (online NCU) and would like to
communicate with another NCU (target NCU), it must first notify the PLC of the
online NCU that it wishes to switch over to the target NCU.
It sends the offline request OFFL_REQ_OP/ OK to the online PLC.
OFFL_CONF_OP/ OK:
Online PLC has received the offline request. MMC can now send an online
request to the target PLC.
OFFL_CONF_OP/ PLC_LOCKED
Online PLC has received the offline request. The MMC switchover is disabled in
the MMC-PLC interface. The MMC cannot link up with another NCU and must
remain online.
On receipt of the positive acknowledgement OFFL_CONF_OP/ OK, the MMC
sends its online request to the target PLC of the relevant NCU by transmitting its
client identification.
Client identification: Unique MMC identifier comprising bus type and
MMC bus address. (ONL_REQUEST
DB19, DBW100)
The target PLC sends the MMC a positive or negative acknowledgement:
Negative:
ONL_PERM/ MMC_LOCKED
The requesting MMC cannot go online. Two MMCs on which uninterruptible
processes are in progress are connected online to this NCU. The PLC cannot
displace either of the two MMCs. The MMC remains online to the online NCU.
ONL_PERM/ PLC_LOCKED
The requesting MMC cannot go online. The MMC switchover is disabled in the
MMC-PLC interface. The MMC remains online to the online NCU.
ONL_PERM/ PRIO_H
The requesting MMC cannot go online. Two MMCs that are both higher priority
than the requesting MMC are connected online to the NCU. The PLC cannot
displace either of the two MMCs. The MMC remains online to the online NCU.
MMC coming Once the MMC has sent an online request to the target PLC and received
online permission from it, it can set up a link to the target NCU.
It goes online and notifies the PLC with (station active) S_ACT/ CONNECT that it
has linked up with the NCU.
The MMC sets up its sign of life signal in accordance with the allocated
interface.
Forced break Two MMCs are linked online to an NCU, each is occupying an MMC-PLC
interface. A third MMC would like to go online.
The PLC must displace one of the two MMCs according to a predefined
strategy.
It requests the MMC to be displaced to abort communication with the NCU by
sending it the offline request (OFFL_REQ_OP/ OK).
The MMC returns a positive or negative acknowledgement to the PLC:
Positive:
OFFL_CONF_PLC/ OK
MMC breaks off the link to the NCU and switches to the offline state.
The MMC sign of life in the PLC changes from TRUE to FALSE.
The falling edge combined with the sequence described above signals to the
online PLC that the MMC has broken off the link to the online NCU.
If an MCP is assigned to the MMC and activated, it must now be deactivated by
the PLC.
The PLC also ceases to monitor the MMC sign of life signal.
Passive operating mode is set in the PLC for the MMC which has been
displaced.
See “Active/passive operating mode” further below.
Negative:
OFFL_CONF_PLC/ MMC_LOCKED
Processes which must not be interrupted are running on the MMC (e.g.:
operation via RS232C, data exchange between NCU and MMC).
The MMC remains online to the current NCU.
Operating focus A server maintains a permanent link to the NCUs to which it is assigned. The
changeover to operator can switch the operating focus from one NCU to another without
server mode interrupting the existing link.
If the operator wishes to switch the operating focus to another NCU, the focus
PLC and target PLC must first be interrogated to determine whether they will
permit a focus switchover.
The MMC first sends the focus offline request signal (OFFL_REQ_FOC/ OK) to
the focus PLC.
The focus PLC returns either a positive or negative acknowledgement to the
MMC:
Positive:
OFFL_CONF_FOC/ OK
PLC positively acknowledges the offline focus request. MMC can disconnect
the operating focus.
Negative:
OFFL_CONF_FOC/ PLC_LOCKED
PLC negatively acknowledges the online focus request. The operating focus
changeover is disabled in the MMC-PLC interface (same signal as for MMC
switchover disable). The operating focus remains on the current NCU.
Active/passive After an MMC has gone online to an NCU, it can assume one of two different
operating mode operating states:
Table 6-2
MMC_1 PLC_1
FALSE FALSE
FALSE FALSE
FALSE B
MMC_1 has gone FALSE
online, requests active FALSE FALSE
operating mode
TRUE FALSE
FALSE FALSE
FALSE FALSE
FALSE FALSE
PLC_1 acknowledges,
outputs active mode
enable
MMC_1 waits for FALSE FALSE
Acknowledgment of
TRUE FALSE
MMC_1 waits for
active permission FALSE FALSE
FALSE FALSE
MMC_1 switches to
active mode, sets FALSE FALSE
Active–Changed
TRUE FALSE
TRUE FALSE
FALSE FALSE
PLC_1 activates
MCP
Please note The arrangement of the signals of a block in box PLC_x (marked as B)
corresponds to the arrangement of signal names in the header section (marked
as A). Blocks B repeat in box PLC_x from top to bottom as a function of time.
MMC1_ACTIVE_REQ MMC2_ACTIVE_REQ
MMC1_ACTIVE_PERM MMC2_ACTIVE_PERM
MMC1_ACTIVE_CHANGED MMC2_ACTIVE_CHANGED
MMC1_CHANGE_DENIED MMC2_CHANGE_DENIED
Fig. 6-2 MMC_1 requests active mode, MMC_2 is in active mode, can change to passive mode
PLC_1 acknowledges,
cancels active mode
for MMC_2
FALSE FALSE
MMC_1 waits for
Acknowledgment of FALSE FALSE
MMC_2 receives passive
FALSE TRUE Requirement: None
FALSE FALSE Change to passive mode
not allowed, uninterruptible
FALSE FALSE processes in progress
FALSE FALSE
FALSE TRUE
FALSE TRUE
PLC_1 to MMC_2:
MMC_2 remains active
PLC_1 to MMC_1:
Change not allowed
FALSE FALSE
FALSE TRUE
MMC_1 waits for
active permission FALSE TRUE
MMC_1 receives: TRUE FALSE
Change not allowed
FALSE FALSE
MMC_1 remains in
passive mode FALSE TRUE
FALSE TRUE
FALSE FALSE
Fig. 6-3 MMC_1 requests active mode, MMC_2 is in active mode, but cannot change to passive mode
MCP A control unit consists of an MMC and an MCP; these can both be switched
SWITCHOVER over as a unit.
If an MCP has been configured for the MMC in configuring file NETNAMES.INI,
it will be activated and deactivated with the MMC.
The MCP of whichever MMC is currently in active operating mode is activated.
In other words, only one MCP is ever active at any time on an NCU.
The MCP is activated by the PLC:
– MMC changes to active operating mode. (signal
MMCx_ACTIVE_CHANGED: FALSE –> TRUE,
x = 1,2 first or second MMC-PLC interface)
The MCP is deactivated by the PLC
– MMC changes to passive operating mode
(signal MMCx_ACTIVE_CHANGED: TRUE –> FALSE,
x = 1,2 first or second MMC-PLC interface)
– MMC goes offline as a result of switchover or displacement
The MMC sign-of-life signal changes from TRUE to FALSE when an
MMC goes offline. After the edge change, the PLC deactivates the
allocated MCP.
– Server MMC disconnects operating focus from the current NCU and
switches it over to another. The server transmits S_ACT/ DIS_FOCUS
as the last signal on its own MMC-PLC interface. The PLC then
deactivates the corresponding MCP.
Note
Please refer to Section 5.1 for the legal values for bus type, functions/status
and additional information plus permissible combinations of status and
additional information. The logical identifiers of functions are used in the
following diagrams.
Overview Figs. 6-4 to 6-9 describe the switchover operation for an operator station and
Figs. 6-10 to 6-12 the switchover operation for a server.
The diagrams describe how an operator station is switched over (switchover
from NCU_1 to NCU_2).
If an MMC in the offline status wishes to go online to an NCU (e.g.: during
power-up), sequence OFFL_REQ_OP (...) and OFFL_CONF_OP(...) is omitted.
PLC_1 MMC_1
Fig. 6-4 MMC_1 is linked online to NCU_1 and wants to switch over to NCU_2, switchover disable is set in PLC_1
Fig. 6-5 MMC_1 online to NCU_1, MMC_1 wants to switch over to NCU_2, online-request interface in PLC_2
occupied by another MMC
Fig. 6-6 MMC_1 online to NCU_1, MMC_1 wants to switch over to NCU_2, but does not receive permission from
PLC_2
Fig. 6-7 MMC_1 online to NCU_1, MMC_1 switches over to NCU_2 (no displacement)
PLC_2 outputs:
Neg. online permission
MMC_1 waits for ONL_PERM
MMC_LOCKED
online permission
MMC_1 remains onl. to
NCU_1
Fig. 6-8 MMC_1 online to NCU_1, MMC_2 online to NCU_2, MMC_1 wants to switch over to NCU_2, but MMCs
executing uninterruptible processes are online to NCU_2
Fig. 6-9 MMC_1 online to NCU_1, MMC_2 online to NCU_2, MMC_1 switches from NCU_1 to NCU_2, MMC_2 is
displaced
PLC_1 MMC_1
Fig. 6-10 MMC_1 server, wishes to switch operating focus from NCU_1 to NCU_2, switchover disabled in PLC_1
Fig. 6-11 MMC_1 is server, wishes to switch operating focus from NCU_1 over to NCU_2, switchover is disabled in
PLC_2
MMC_1 disconnects
operating focus from
NCU_1,
changes to NCU_2
PLC_1: S_ACT/
Deactivates MCP if appl. DISC_FOCUS MMC_1 requests active MMCx_ACTIVE_ with change of
MMC_1, passive mode active mode, continue REQ operating mode
with change of
operating mode
Fig. 6-12 MMC_1 is server, wishes to switch operating focus from NCU_1 over to NCU_2, switchover not disabled in
PLCs, MMC_1 can change operating focus
For a system according to SW 3.1 (consisting of two control units and one NCU
on the OPI, see Chapter 1), a sample configuration file for the second control
unit is detailed below.
For explanations, see Chapter 1 “Configurability”.
; Identification entry
[own]
owner = MMC_2
; Connection entry
[conn MMC_1]
conn_1 NCU_1
[conn MMC_2]
conn_1 NCU_1
; Descriptive entry
[param network]
bus = btss
[param MMC_1]
mmc_address = 1
[param MMC_2]
mmc_address = 3
[param NCU_1]
nck_address = 13
plc_address = 13
For a system according to SW 3.2 (consisting of one control unit and three
NCUs on the OPI, see Chapter 1, paragraph “Configurability”), a sample
configuration file is detailed below.
For explanations, see Chapter 1, paragraph “Configurability”.
Any adaptations which may need to be made are described in Chapter 2,
paragraph “Configurations”.
[param MMC_1]
name= arbitrary_name
type= MMC_100
mmc_address= 1
[param NCU_1]
name= arbitrary_name1
type= ncu_572
nck_address= 12
plc_address= 12
[param NCU_2]
name= arbitrary_name2
type= ncu_573
nck_address= 14
plc_address= 14
[param NCU_3]
name= arbitrary_name3
type= ncu_573
nck_address= 15
plc_address= 15
; NETNAMES.INI, example 3 end
6.4.1 Example 1
HMI Advanced/
PCU50
OP 10, 12, 15
NCU1 NCU2
Use Operator panel 1 (HMI Advanced/PCU50 server) with machine control panel
can access NCU1 (channel 1, channel 2) and NCU2 (channel 1, channel 2).
Step 1:
Configuration file For this example, the following entries are set in the NETNAMES.INI file:
NETNAMES.INI
[own]
owner= MMC_1
; Connection entry
[conn MMC_1]
conn_1 = NCU_1
conn_2 = NCU_2
; Extcall not required for a PCU
; Network parameters
[param network]
bus = opi
; MMC definitions
[param MMC_1]
mmc_address = 1
; All other parameters not required
; NCU components descriptive entry
[param NCU_1]
type = NCU_573
nck_address = 22
plc_address = 22
name = NCU1
[param NCU_2]
type = NCU_573
nck_address = 23
plc_address = 23
name = NCU2
; Channel data
[chan MMC_1]
DEFAULT_logChanSet = Station_1
DEFAULT_logChan = N1_K1
ShowChanMenu = True
logChanSetList = Station_1, Station_2
[Station_1]
logChanList = N1_K1, N1_K2
[N1_K1]
logNCName = NCU_1
ChanNum = 1
[N1_K2]
logNCName = NCU_1
ChanNum = 2
[Station_2]
logChanList = N2_K1, N2_K2
[N2_K1]
logNCName = NCU_2
ChanNum = 1
[N2_K2]
logNCName = NCU_2
ChanNum = 2
; End
Step 2:
Load file HMI Advanced/PCU50: Once the NETNAMES.INI file has been created, it is
NETNAMES.INI transferred into the USER directory of the operator panel.
Step 3:
Set the NCK bus Starting at the main screen of the operator interface, the action:
addresses Start-up → MMC → operator panel front opens the “Operator panel front
interface parameters” input window. Enter the following here:
Connection: M:N Select M:N instead of 1:1
NCK address: 22
PLC address: 22
; according to NETNAMES.INI also for NCU2 address 23
S Select “Save”
S Restart the operator panel
Step 4:
PLC An FB9 call is not required for this configuration, because no displacement or
active/passive switching takes place.
Softkey In order to distinguish which NCU is to be addressed, texts must be defined for
designation the inscription of the softkeys of the operator panel for HMI Embedded/PCU20.
See example 2. For HMI Advanced/PCU50, the texts are copied from the
NETNAMES.INI file. No extra texts over and above those in NETNAMES.INI are
required for the present example.
6.4.2 Example 2
NCU1 NCU2
Use Control panel 1 (server) can access NCU1 (channel 1, channel 2) and NCU2
(channel 1, channel 2) with machine control panel switchover.
Control panel 2 (secondary control panel) can also access NCU1 and NCU2.
Step 1a):
NETNAMES.INI In this example, own entries are input for the operator panels in NETNAMES.INI
configuration files files.
; Network parameters
[param network]
bus = opi
; MMC definitions
[param MMC_1]
mmc_typ = 0x40
mmc_bustyp = OPI
mmc_address= 1
mstt_address = 6
name = MMC_Serv
start_mode = ONLINE
; NCU components descriptive entry
[param NCU_1]
type = NCU_573
nck_address = 22
plc_address = 22
name = NCU1
[param NCU_2]
type = NCU_573
nck_address = 23
plc_address = 23
name = NCU2
; Channel data
[chan MMC_1]
DEFAULT_logChanSet = Station_1
DEFAULT_logChan = N1_K1
ShowChanMenu = True
logChanSetList = Station_1, Station_2
[Station_1]
logChanList = N1_K1, N1_K2
[N1_K1]
logNCName = NCU_1
ChanNum = 1
[N1_K2]
logNCName = NCU_1
ChanNum = 2
[Station_2]
logChanList = N1_K1, N1_K2
[N1_K1]
logNCName = NCU_2
ChanNum = 1
[N1_K2]
logNCName = NCU_2
ChanNum = 2
; End
Step 2a):
Step 1b):
; MMC definitions
[param PCU20]
mmc_typ = 0x10
mmc_bustyp = OPI
mmc_address = 2
mstt_address = 7
name = MMC_Neben
start_mode = OFFLINE
[param NCU_2]
type = NCU_573
nck_address = 23
plc_address = 23
name = NCU2
; Channel data
[chan PCU20]
DEFAULT_logChanSet = Station_2
DEFAULT_logChan = N1_K1
ShowChanMenu = True
logChanSetList = Station_1, Station_1
[Station_1]
logChanList = N1_K1, N1_K2
[N1_K1]
logNCName = NCU_1
ChanNum = 1
[N1_K2]
logNCName = NCU_1
ChanNum = 2
[Station_2]
logChanList = N1_K1, N1_K2
[N1_K1]
logNCName = NCU_2
ChanNum = 1
[N1_K2]
logNCName = NCU_2
ChanNum = 2
; End
Step 2b:
PCU20 After the NETNAMES.INI and chan.txt files have been created, they are
included in the *.abb file with the application.
Step 3:
S Select “Save”
S Restart the operator panel
HMI Embedded/PCU20:
Transfer *.abb onto the system using a PC card and perform a software update.
Note
If you have forgotten to include the “chan.txt” file in *.abb, no inscribed soft keys are visible
when you select the channel menu key. The selection function is available, however.
Step 4:
PLC Include FB9 in the PLC user program. You will find more details after the
examples below.
6.4.3 Example 3
Fig. 6-15 Operator panel front and HT6 for two NCUs
Use Operator panel 1 (HMI Advanced/PCU 50 server) without machine control panel
can access NCU1 (channel 1, channel 2) and NCU2 (channel 1, channel 2).
Operator panel 2 (secondary control panel, HT6) can only access NCU2, HT6 is
implicitly the MCP.
; MMC definitions
[param MMC_1]
mmc_typ = 0x40
mmc_bustyp = OPI
mmc_address= 1
mstt_address = 255 ; 255 is required if no MCP
; is installed.
name = MMC_Serv
start_mode = ONLINE
; Description of NCU components
[param NCU_1]
type = NCU_573
nck_address = 22
plc_address = 22
name = NCU1
[param NCU_2]
type =NCU_573
nck_address = 23
plc_address = 23
name = NCU2
; Channel data
[chan MMC_1]
DEFAULT_logChanSet = Station_1
DEFAULT_logChan = N1_K1
ShowChanMenu = True
logChanSetList = Station_1, Station_2
[Station_1]
logChanList = N1_K1, N1_K2
[N1_K1]
logNCName = NCU_1
ChanNum = 1
[N1_K2]
logNCName = NCU_1
ChanNum = 2
[Station_2]
logChanList = N1_K1, N1_K2
[N1_K1]
logNCName = NCU_2
ChanNum = 1
[N1_K2]
logNCName = NCU_2
ChanNum = 2
; End
Step 1b: Create the NETNAMES.INI file for operator panel 2 (HT6)
[own]
owner = HT_6
; Connection entry
[conn HT_6]
conn_1 = NCU_2
; Network parameters
[param network]
bus = opi
; MMC definitions
[param HT_6]
mmc_typ = 0x10
mmc_bustyp = OPI
mmc_address = 14
mstt_address = 14 ; is always identical to
; mmc address
name = MMC_Neben
start_mode = OFFLINE
; Description of NCU components
[param NCU_2]
type =NCU_573
nck_address = 23
plc_address = 23
name = NCU2
; Channel data
[chan HT_6]
DEFAULT_logChanSet = Station_2
DEFAULT_logChan = N1_K1
ShowChanMenu = True
logChanSetList = Station_2
[Station_2]
logChanList = N2_K1, N2_K2
[N2_K1]
logNCName = NCU_2
ChanNum = 1
[N2_K2]
logNCName = NCU_2
ChanNum = 2
;End of file
After the NETNAMES.INI and chan.txt files have been created, they are
included in the *.abb file with the application.
Step 3:
S Select “Save”
S Restart the operator panel
Step 4: Include FB9 in the PLC user program. You will find more details in the following
section.
Description of This block allows switchover between several control units (MMC operator
functions panel fronts and/or MCP machine control panels) which are connected to one or
more NCU control modules over a bus system.
The interface between the individual control units and the NCU (PLC) is the M :
N interface in data block DB19 (see Chapter 5 Signal Descriptions and /LIS/,
Lists, Chapter 4).
FB 9 uses the signals of this interface.
Apart from initialization, sign-of-life monitoring and error routines, the following
basic functions are also performed by the block for control unit switchover:
The following descriptions supplement the information in 6.2.1 and 6.2.2 with
particular reference to the behavior in the last three examples.
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 of the MMCs and
MCPEnable set to true. The MCP of the passive MMC is deactivated. This
means only one MCP is ever active on an NCU.
Power-up condition:
To prevent the previously selected MCP from being activated again when the
NCU is restarted, input parameters MCP1BusAdr = 255 (address of 1st MCP)
and MCP1STOP =TRUE (deactivate 1st MCP) must be set when FB1 is called
in OB100.
Enabling commands:
When one MCP is switched over to another, any active feedrate or axis
enabling signals may be transferred at the same time.
Important:
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)
Explanation of the The following table shows all formal parameters of function FB9
formal parameters
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
multi-instance-capable.
CALL FB 9 , DB 109 (
Quit := Fehler_Quitt, // e.g. MCP reset
OPMixedMode := FALSE,
AktivEnable := TRUE, // Enable MMC switchover
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
ErrorMMC := DB2.dbx192.1) // Operational message 700.133
Note
AktivEnable := true enables MMC active/passive switchover.
MCPEnable := true allows MCP switchover.
The default value of this parameter is thus enabled and does not have to be
enabled explicitly when the function is called.
Alarms, errors The output parameters “Alarm1” to “Alarm6” and “Report” can be passed in 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).
CALL FCxx
L DB7.DBB 27 // Act. MCP
L6 // Machine control panel
==I
JC MSTT // Call FC 19
L DB7.DBB 27 // Act. MCP
L 14 // HT 6
==I
JC HT6 // Call FC 26
JU ENDE
HT6: NOP 0
L B#16#40 // Shift inputs of HT6 to input byte 8+n
T DB7.DBB7
L B#16#40 // Shift outputs of HT6 to output byte 8+n
T DB7.DBB13
CALL FC26 // Call HT6 block
JU ENDE
MCP: NOP 0
L0
T DB7.DBB7
T DB7.DBB13
S FB1 is configured by default in the PLC program (OB100 call), see “FB9
description”.
Example:
[param MMC_1]
mmc_typ = 0x40
mmc_bustyp = BTSS
mmc_address = 1
mstt_address = 255
name = MMC_Serv
start_mode = ONLINE
After you do this, you should not select “Save” in the “Operator panel front
interface parameters” menu, otherwise this entry will be overwritten again.
HT6 removal/ The following are required for fault-free insertion and removal of the HT 6 while
insertion the machine is running:
ON ON ON
Distributor Distributor
HT 6
Repeater RS-485
OFF ON
Terminating resistor open
Repeater RS-485 The repeater can be ordered under Order No. 6ES7972-0AA01-0XA0. For
further information, please refer to the Catalog
/IK10/ Industrial Communication Networks SIMATIC-NET
Note
You can find suggested circuits for the emergency stop in:
References: /BH/, Operator Components Manual.
$MN_AXCONF_LOGIC_MACHAX_TAB[0] = “AX1”
$MN_AXCONF_LOGIC_MACHAX_TAB[1] = “AX2”
$MN_AXCONF_LOGIC_MACHAX_TAB[2] = “NC2_AX3” ; Link axis
CHANDATA(1)
$MC_AXCONF_MACHAX_USED[0] = 1
$MC_AXCONF_MACHAX_USED[1] = 2
$MC_AXCONF_MACHAX_USED[2] = 3
...
$MN_AXCONF_LOGIC_MACHAX_TAB[0] = “AX1”
$MN_AXCONF_LOGIC_MACHAX_TAB[1] = “AX2”
$MN_AXCONF_LOGIC_MACHAX_TAB[2] = “NC1_AX3” ; Link axis
CHANDATA(1)
$MC_AXCONF_MACHAX_USED[0] = 1
$MC_AXCONF_MACHAX_USED[1] = 2
$MC_AXCONF_MACHAX_USED[2] = 3
...
1) With SW 5 the machine data is: MD 10087: SERVO_FIFO_SIZE.
Channel 1 Comment
AXCTWE(CT1) Channel 1 enables the axis container for rotation.
MARKER1: Part program without movement of a
container axis
IF $AC_AXCTSWA[CT1] == 1 GOTOB MARKE1 Conditional branch dependent on completion of
axis container rotation.
Part program with movement of a
container axis
Channel 1 Comment
IDS =1 EVERY $AN_AXCTSWA[CT1] == 1 DO M99 Static synchronized actions:
Always output auxiliary function M99 at the beginning of an
axis container rotation.
References: /FPSY/, FB Synchronized Actions
If you want to wait until the axis container rotation is reliably completed, you can
use one of the examples below selected to suit the relevant situation.
Example 1
check position
rl = $AN_AXCTAS[ctl] ; Read current axis container position
AXCTSWE(ctl) ; Permit axis container rotation
WHILE (rl == $AN_AXCTAS[ctl]) ; Wait until axis container position
ENDWHILE ; has changed
Example 3.1
Use internal wait
M3 S100 ; Program axis container spindle again
; An internal wait for the end of the axis container rotation
; is implemented
Example 3.2
Use internal wait
x=IC(0) ; Program axis container axis x again
; An internal wait for the end of the axis container rotation
; is implemented
Example 3.3
Use internal wait
AXCTSWE(CTL) ; If an axis container is enabled again for rotation,
; an internal wait for the end of the preceding
; axis container rotation is implemented
N2150 WHILE (rl == $AN_AXCTAS[ctl])
Note
Programming in the NC program:
WHILE ($AN_AXCTSWA[n] == 0)
ENDWHILE
cannot be used as a reliable method of determining whether an earlier axis
container rotation has finished. Although in software version 7.x and later,
$AN_AXCTSWA performs an implicit preprocessing stop, this type of
programming cannot be used as the block can be interrupted by a
reorganization. The system variable then returns “0” as the axis container
rotation is then ended.
Machine
description S Distributed on the circumference of a drum A (front-plane machining) the
machine has:
– 4 main spindles HS1 to HS4
Each main spindle has the possibility of material feed (bars, hydraulic
bar feed, axes: STN1 – STN4).
– 4 cross slides
– Each slide has two axes.
– Optionally a powered tool S1–S4 can operate on each slide.
S Linkages:
– If drum A rotates, all main spindles of this drum are subordinate to
another group of slides.
– If drum B rotates, all main counterspindles and all transfer axes of this
drum are subordinate to another group of slides.
– Rotations of drums A and B are autonomous.
– Rotations of drums A and B are limited to 270°
(range and torsion of supply lines).
Term: position Main spindle HSi and counterspindle GSi together with their slides characterize
a position.
NCU assignment The axes and spindles of a position (for this example) are each assigned to an
NCU. One of the NCUs, the master NCU, controls the axes for the rotations of
drums A and B additionally. There are 4 NCUs with a maximum of the following
axes:
Number of axes
Per NCUi the following axes/spindles must be configured:
Slides 1: Xi1, Zi1
2: Xi2, Zi2
Spindles: HSi, GSi, powered tools: S1, S2
Transfer axis: ZGi
Bar feed: STNi.
For the master NCU, in addition to the above-mentioned axes there are the two
axes for rotating drums A and B. The list shows that it would not be possible to
configure the axis number for a total of 4 positions via an NCU. (Limit 31 axes,
required are 4 + 10 + 2 axes).
Axis container With rotation of drums A/B, HSi, GSi, ZGi and STNi must be assigned to another
NCU and must therefore be configured as link axes in axis containers.
Position d
NCUc
STN3 ZG3
HS3 GS3
Part transfer
Position c
TRV TRH
NCUa
ZG1
HS1 GS1
Part transfer
Position a
STN1 NCUb
ZG2
Bar feed: HS2 GS2
STN2 Part transfer
Position b
Fig. 6-17 Main spindles HSi, countersp. GSi, bar infeed axis STNi and transfer axes ZGi diagrammatic
X2C
Z2C
Position c
HS3
Z1C
X1C
Fig. 6-18 Two slides per position can also operate together on one spindle.
Note
For clarifying the assignment of axes to slides and positions, the axes are
named as follows:
Xij with i slide (1, 2), j position (A – D)
Zij with i slide (1, 2), j position (A – D)
Positions and their slides remain in a fixed position, whereas main spindles,
counterspindles, bar feed axes STN and transfer axes ZG move to new
positions by rotation of drums V or H.
For example, the axes to be managed per NC when the slide is taken into
account are as follows for the configurations shown in the foregoing illustrations:
Axes of the
master NCU
Table 6-5 Axes of master NCU: NCUa
Common axes Local axes Remarks
TRV (drum V) Master NCU only
TRH (drum H) Master NCU only
X1A Slide 1
Z1A Slide 1
X2A Slide 2
Z2A Slide 2
S1 Slide 1
S2 Slide 2
HS1 Axis container necessary
GS1 Axis container necessary
ZG1 Axis container necessary
STN1 Axis container necessary
4 8
Axes of NCUb to The NCUs that are not master NCUs have the same axes with the exception of
NCUd the axes for the drive for drums TRV and TRH. The letter designating the
position must be replaced accordingly for the NCU and axis name (a, A → b, B
to d, D).
Configuration The following rules were applied for the configuration described below:
rules
S Main spindle, counterspindles and axes that are assigned to different NCUs
through drum rotation while they are operating as illustrated in the above
Fig. “Main spindle ...” must be configured in an axis container.
(HSi, GSi, ZGi, STNi).
S All main spindles for drum A are in the same container (No. 1).
S All bar feed axes for drum A are in the same container (No. 2).
S All counterspindles for drum B are in the same container (No. 3).
S All transfer axes for drum B are in the same container (No. 4).
S Main spindles HSi and their counterspindle GSi as well as the transfer axes
for counterspindle ZGi and the bar feed axes STNi of the main spindle are
assigned as follows for uniform load distribution purposes:
NCUa HS1 – STN1,
NCUb HS2 – STN2, ...etc.
S Slide axes Xij, Zij are solely local axes with a fixed NCU assignment.
Configuration
possibilities
S Main or counterspindles are flexibly assigned to the slide.
S In each position the main spindle and counterspindle spindle speed can be
determined independently.
Exceptions:
Small changes in Owing to the unavoidable time delays incurred in the processing of actual
speed values, abrupt changes in speed should be avoided during cross-NCU
machining operations. Compare axis data and signals.
Configuration for Uniform use of channel axis names in the parts programs:
NCU1
S4 main spindle
S3 counterspindle
X1 infeed axis
Z1 longitudinal axis
S1 powered tool
Z3 transfer axis
TRV drum V for main spindle
TRH drum H for counterspindle
STN hydraulic bar feed
Axes highlighted in bold characterize the current channel as home channel for
the axis in conjunction with axis exchange.
Note
S * due to program coordination via axis positions and 4-axis machining in one
position
S Entries in the axis container locations should have the following format:
“NC1_AX..” required with the meaning NC1 = NCU 1. In the above tables,
NCUa is imaged on NC1_..., NCUb on NC2_... etc.
Further NCUs The above listed configuration data must be specified accordingly for NCUb to
NCUd. Please note the following:
– Axes TRA and TRB only exist for NCUa, channel 1.
– The container numbers are maintained for the other NCUs as they were
specified for the individual axes
– The slot numbers are:
NCUb → 2
NCUc → 3
NCUd → 4
– The machine axis names are:
NCUb → HS2, GS2, ZG2, STN2
NCUc → HS3, GS3, ZG3, STN3
NCUd → HS4, GS4, ZG4, STN4
Axis container The information relating to containers given in Table 6-6 and the container
entries of the similarly configured NCUs, NCUb to NCUd, are specified in the
following tables, sorted according to containers and slots, as they have to be set
in machine data
MD 12701: $MN_AXCT_AXCONF_ASSIGN_TAB1[slot]
...
MD 12716: $MN_AXCT_AXCONF_ASSIGN_TAB16[slot]
with slots : 1 – 4 for the 4 positions of a multi-spindle turning machine:
Note
For the MD entry $MN_AXC_AXCONF_ASSIGN_TABi[slot], the values (without
decimal point and machine axis name) that are entered under initial position in
the above tables must be set.
Table 6-8 Axis container and their position-dependent contents for drum A
Container Slot Initial position Switch 1 Switch 2 Switch 3 Switch 4 =
(TRA o°) (TRA 90°) (TRA 180°) (TRA 270°) (TRA 0 °)
1 1 NC1_AX1, HS1 NC2_AX1, HS2 NC3_AX1, HS3 NC4_AX1, HS4 NC1_AX1, HS1
2 NC2_AX1, HS2 NC3_AX1, HS3 N4C_AX1, HS4 NC1_AX1, HS1 NC2_AX1, HS2
3 NC3_AX1, HS3 NC4_AX1, HS4 NC1_AX1, HS1 NC2_AX1, HS2 NC3_AX1, HS3
4 NC4_AX1, HS4 NC1_AX1, HS1 NC2_AX1, HS2 NC3_AX1, HS3 NC4_AX1, HS4
2 1 NC1_AX7, STN1 NC2_AX7, STN2 NC3_AX7, STN3 NC4_AX7 STN4 NC1_AX7, STN1
2 NC2_AX7, STN2 NC3_AX7, STN3 NC4_AX7, STN4 NC1_AX7, STN1 NC2_AX7, STN2
3 NC3_AX7, STN3 NC4_AX7, STN4 NC1_AX7, STN1 NC2_AX7, STN2 NC3_AX7, STN3
4 NC4_AX7, STN4 NC1_AX7, STN1 NC2_AX7, STN2 NC3_AX7, STN3 NC4_AX7, STN4
Table 6-9 Axis container and their position-dependent contents for drum B
3 1 NC1_AX2, GS1 NC2_AX2, GS2 NC3_AX2, GS3 NC4_AX2, GS4 NC1_AX2, GS1
2 NC2_AX2, GS2 NC3_AX2, GS3 NC4_AX2, GS4 NC1_AX2, GS1 NC2_AX2, GS2
3 NC3_AX2, GS3 NC4_AX2, GS4 NC1_AX2, GS1 NC2_AX2, GS2 NC3_AX2, GS3
4 NC4_AX2, GS4 NC1_AX2, GS1 NC2_AX2, GS2 NC3_AX2, GS3 NC4_AX2, GS4
4 1 NC1_AX5, ZG1 NC2_AX5, ZG2 NC3_AX5, ZG3 NC4_AX5 ZG4 NC1_AX5, ZG1
2 NC2_AX5, ZG2 NC3_AX5, ZG3 NC4_AX5, ZG4 NC1_AX5, ZG1 NC2_AX5, ZG2
3 NC3_AX5, ZG3 NC4_AX5, ZG4 NC1_AX5, ZG1 NC2_AX5, ZG2 NC3_AX5, ZG3
4 NC4_AX5, ZG4 NC1_AX5, ZG1 NC2_AX5, ZG2 NC3_AX5, ZG3 NC4_AX5, ZG4
X Y Z X Y Z X Y Z
AX1 AX3
AX1 AX2 AX3 AX2 AX3
Fig. 6-20 NCU2 to NCUn use a lead link axis to enable coupling to the machine axis on NCU1 (NCU1–AX3).
The following example refers to the axis coupling section between Y(LAX2,
AX2) as following axis on NCU2 and Z(LAX3, NC1_AX3) as lead link axis.
Loading the
machine data
1. The machine data/setting data of a master value axis may only be loaded on
the home NCU The machine data are distributed internally to the other
NCUs where a lead link axis has been defined.
2. The lead link axis must be taken into account when configuring the NCU
that is traversing the following axes (NCU2). The lead link axis occupies one
location in the logical machine axis image (LAI) of the (NCU2). This reduces
the maximum number of axes to be interpolated by this NCU by 1 for the
lead link axis.
In addition to the LAI axis location definition, the lead link axis must also be
defined as channel axis ($MC_AXCONF_MACHAX_USED) in every
channel where it will be used together with the following axis; this also
reduces the maximum number of possible channel axes.
$MN_AXCONF_LOGIC_MACHAX_TAB[0] = “AX1”
$MN_AXCONF_LOGIC_MACHAX_TAB[1] = “AX2”
$MN_AXCONF_LOGIC_MACHAX_TAB[2] = “AX3”
$MA_AXCONF_ASSIGN_MASTER_NCK[ AX3 ] = 1
$MN_AXCONF_MACHAX_NAME_TAB[0] = “XM1”
$MN_AXCONF_MACHAX_NAME_TAB[2] = “YM1”
CHANDATA(1)
$MC_AXCONF_MACHAX_USED[0] = 1 ; X
$MC_AXCONF_MACHAX_USED[1] = 2 ; Y
$MC_AXCONF_MACHAX_USED[2] = 3 ; Z
$MN_AXCONF_LOGIC_MACHAX_TAB[1] = “AX2”
$MN_AXCONF_LOGIC_MACHAX_TAB[2] = “AX3
CHANDATA(1)
$MC_AXCONF_MACHAX_USED[0]=3 ; X
$MC_AXCONF_MACHAX_USED[1]=2 ; Y
$MC_AXCONF_MACHAX_USED[2]=1 ; Z ; Assignment to LAI AX1
; or NCU1/AX3
6.9.2 Programming
Program on NCU 1 NCU1 traverses leading axis Z. The variable is 1 for as long as NCU2 is
prepared for movement of the leading axis (messages via link variable
$A_DLB[0]); after completion of movement, the variable is 0.
N3000 R1 = 1 ; Timer for movement loop
N3004 G1 Z0 F1000
N3005 $A_DLB[0] = 1 ; Start on NCU1
LOOP30:
N3005 R1=R1+1
N3006 G91 Z0.01 ; The leading axis is now
; traversed
N3008 Z0.02
N3010 Z0.03
N3012 IF R1 < 10 GOTOB LOOP30
N3098 $A_DLB[0] = 0 ; Terminate on NCU1
N3099 GOTOF TESTE
Note
Polynomials up to the 5th degree can be used with software Version 6 and
higher. See Programming Guide Advanced.
The part program (shown as an extract) is executed in a channel of the NCU
with the faster interpolation cycle on which the X axis (local axis) and the C and
Z axes are configured as link axes.
CAD systems are used to determine the polynomial coefficients by calculating
them from points on the contour and the desired degree of polynomial.
The following parts program describes the commands required for the first
spindle revolution. It must then be continued accordingly for the entire required
length of the Z path:
G0 C0 X24.95 Z0 ; Start position
FGROUP(C) ; Provides constant spindle speed
G1 G642 F1080000 ; Spindle speed 3000 RPM
POLY ; Specification of polynomials
C=DC(45.0000000) PO[X]=(25.0,.0750000,–0.0250000)
PO[Z]=(.2125000,0,0)
;1/8 circle, linear Z movement, 1/4 sine in X
C=DC(90.0000000) PO[X]=(25.0500000,0,–0.0250000)
PO[Z]=(.2250000,0,0)
C=DC(135.0000000) PO[X]=(25.0,–0.0750000,.0250000)
PO[Z]=(.2375000,0,0)
C=DC(180.0000000) PO[X]=(24.9500000,0,.0250000)
PO[Z]=(.2500000,0,0)
C=DC(225.0000000) PO[X]=(25.0,.0750000,–0.0250000)
PO[Z]=(.2625000,0,0)
C=DC(270.0000000) PO[X]=(25.0500000,0,–0.0250000)
PO[Z]=(.2750000,0,0)
C=DC(315.0000000) PO[X]=(25.0,–0.0750000,.0250000)
PO[Z]=(.2875000,0,0)
C=DC(0) PO[X]=(24.9500000,0,.0250000) PO[Z]=(.3000000,0,0)
...
Machine data For information on configuring the machine data, please refer to 2.5.1, 2.6 and
Section 4.2.
J
Notes
7.3 Interrupts
Notes
Brief Description 1
Applications The “Operation via PG/PC” functionality
Design and Link between two operator panel fronts and one NCU. The machine control
Implementation: panel MCP is permanently allocated to the NCU.
Variant 1
MMC102/
OP030 103 PG/PC
replaced
by
MPI/OPI
MCP NCU
All operator panel fronts and the NCU are either connected to the OPI bus or all
to the MPI bus. A homogenous network must be provided with respect to these
components.
Implementation Link between one operator panel front and up to three NCUs. The machine
Variant 2 control panel is permanently allocated to the NCU concerned.
PG with
MMC
STEP7
Start-up tool
MPI/OPI
User interfaces The user interfaces are described in the Operator’s Guides of the relevant
operator panel fronts.
Detailed Description 2
2.1 Software installation
Hardware The following hardware requirements must be fulfilled to allow operation via
requirements PG/PC:
S Mouse
S Connecting cable to link PG/PC and NCU module
Note
All operator panel fronts and the NCU are either
– connected to the OPI bus or
– connected to the MPI bus.
A homogeneous network must be provided with respect to these components.
2.1.2 Installation
Storage area of The storage area of the MPI card must be excluded from use by the memory
MPI card manager (files: CONFIG.SYS, SYSTEM.INI).
Call-up
1. Start SETUP.EXE
Insert the first installation diskette and use the WINDOWST file manager to start
the SETUP.EXE file.
The installation program requests all further necessary inputs and disk changes
in user dialog.
Note
If you want to change the selection mode later, select the directory “MMC 2”
and copy “dpturn.exe” (turning) or “dpmill.exe” (milling) into the directory
“dp.exe”.
5. Select drive,
only if several local disk drives are available
Select the drive for the tmp directory (see Fig.)
Note
The contents of the directory “tmp” are deleted on the installation drive with
each restart of the MMC.
Following the selection, a status display with the inputs made is shown.
Note
Please observe the requests made on the screen.
7. Make settings
# Interrupt setting
“hwint_vector”: Setting the interrupt for the MPI card. This interrupt
may not be used by another card (e.g. network adapter).
Default setting: 10.
Parallel Installation in parallel with the STEP7/AS300 SW can give rise to problems. It
STEP7/AS300 may be necessary to reconfigure the drives and restart the system.
application
S Function keys
The function keys may not be actuated in any of the displays until the
display has fully built up.
S Monochrome screen
When a monochrome screen is used, the colors used by the MMC must be
adapted accordingly. For this purpose, select the color scheme
“Monochrome” or
“Mono positive” in display “Start-up\MMC\Color setting”.
S Easy parameterization
The display “Start-up\MMC\OPI parameters” can now be called even if there
is no link to the NC kernel. This means that the OPI parameters for baud
rate and network address can be set easily.
V3.2
Communication If no communication link can be established to the NCK or 611D, then the
message “No communication to NCK” is displayed. If the data exchange is
interrupted, e.g. by an NCK reset, then the HMI Advanced software tries to
re-establish the communication link itself.
Deselecting The HMI Advanced software is deselected via the following steps:
the program
1. Press function key F10
A horizontal soft key bar is displayed.
2. Press function key Shift + F9
3. You can terminate the program by activating the Exit soft key.
Operating The special function keys of the operator keyboard can be used with the full
philosophy keyboard. Operator inputs can be made using the mouse or via the keyboard.
Key assignments The following table shows the assignments between the function keys and the
soft keys/special keys:
Note
The editor displays only the characters which can be input via the operator
panel front keyboard.
Table 2-1 Key assignments between operator keyboard and full keyboard
Full key-
F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
board
without
: X ? ‘ %
SHIFT
i-R Selection fields i and R which appear in every display have the following
meaning:
S The i field is selected with the Help key or by a mouse click. No help
information is available in Software Version 1.
S The R field is selected with the key F9 or by a mouse click. Selection of this
field activates the Recall function, i.e. returns the user to the preceding level.
To allow the input of data, the input cursor is positioned in the appropriate input
field by means of the TAB or SHIFT + TAB keys or by a mouse click. The
editing mode is always preset to Overwrite. It is possible to switch back and
forth between overwrite mode and insert mode by means of the Insert key.
The functions offered are selected with the cursor keys UP (") and DOWN (#) or
by a mouse click. The displayed function is valid.
The list fields are selected by means of the TAB or SHIFT + TAB keys or a
mouse click.
Single/multiple Enable
selector button
Internal external
The required function is activated with cursor keys LEFT (z) and RIGHT (!) or
by a mouse click.
The function fields are selected by means of the TAB or SHIFT + TAB keys or
by a mouse click.
Activation To be able to alter values and functions, the window with the input field must be
of fields activated by means of keys CTRL + TAB or with the key HOME (yellow frame =
focus).
Axis selection The “Select axis/Select next axis” inputs in axis-specific displays are always
made via the uniformly positioned vertical soft keys AXIS+ or AXIS–.
Function All functions are activated by means of soft key START and deactivated by
selection/ means of soft key STOP.
deselection
Password When the soft key Set password is selected, a dialog box is displayed into
which the password can be entered. Passwords are input as described in:
References: /BA/, Operator’s Guide
/FB/, A2, “Various Interface Signals”
Keyboard Apart from the assignments of keys F1 to F12 and SHIFT + F1 to F10, the
assignments conditions and key assignments are the same as those under WINDOWST 3.1.
The key combination ALT + TAB can be selected at any time to switch from
“Operation via PG/PC” to other WINDOWST applications.
The system responds as follows, for example, when two panel fronts are
operated in the configuration illustrated below:
MPI/OPI
MCP NCU
1. For the NCU, there is no difference whether the input is from the MMC or
OP030 operator panel fronts.
2. The operator panels are mutually independent in terms of data display, i.e.
the display selected on one panel is not affected by the display on the other.
3. Spontaneous events such as alarms are displayed on both control units.
4. The protection level with the highest authorization in accordance with the
lowest activated protection level number applies to both operator panel
fronts.
5. The system does not provide for any further co-ordination between the
operator panels.
For further information, please refer to
References: /FB/, B3, Several Operator Panel Fronts and NCUs
/BA/ Operator’s Guide
Notes
Supplementary Conditions 3
There are no other supplementary conditions to note.
J
Notes
Signal Descriptions 5
No signals are required at the NCK–PLC interface for this function.
J
Example 6
None
J
7.1 Interrupts
A more detailed description of the alarms which may occur is given in
Notes
The previous document “Remote Diagnostics (F3)” in this manual has been
replaced by the above document.
J
Notes
Brief Description 1
Setting up Even on modern, numerically controlled machine tools, a facility must be
the machine provided that allows the operator to traverse the axes manually. This is
especially necessary when a new machining program is being set up and the
machine axes have to be moved with the traversing keys on the machine
control panel or with the electronic handwheel. Where coordinate offset or
rotation is selected, handwheel jogging can even be performed in the
transformed workpiece coordinate system.
Retraction of tool After a program interruption caused, for example, by NC-STOP, RESET or
power failure, the machine operator must retract the tool manually from its
current machining position. This is usually done by operating the traversing
keys in JOG mode. The transformations and coordinate systems used for
machining must remain active while this is done.
Contents The following Description of Functions illustrates the options and characteristics
associated with the JOG traverse mode.
DRF The differential resolver function generates an additional incremental zero offset
in AUTOMATIC mode via the electronic handwheel. This function can be used,
for example, to compensate for tool wear within a programmed block.
J
Notes
Detailed Description 2
2.1 General
JOG mode JOG mode must be active if the axes are to be traversed manually (referred to
as “Manual traverse” below). The PLC receives the interface signal “Active
mode: JOG” (DB11, DBX4.2) when the operating mode is activated.
References: /FB/, K1, “Mode Group, Channels, Program Operation”
Machine There are several JOG variants (so-called “machine functions”) within the JOG
functions mode:
– Continuous jogging (JOG CONT)
– Incremental jogging (JOG INC)
– Jogging with the handwheel.
Handwheel The handwheel operation is also active with the following functions:
operation – Operating mode JOG-REPOS for moving the geometry and machine
axes
– Operating mode AUTOMATIC, for moving out a DRF displacement
– with path override
– when moving the backlash point of an oscillation.
The machine function is selected via the PLC interface. A separate PLC
interface exists for both the machine axes (axis-specific) and the geometry axes
(channel-specific).
Velocity The velocity for JOG traversal is determined by the following value settings
depending on the feed mode:
Rapid traverse If the rapid traverse override key is pressed at the same time as the traversing
override keys, then the movement is executed at the rapid traverse velocity set in
axis-specific MD: JOG_VELO_RAPID (axis velocity in JOG mode with rapid
traverse override) (or in the case of revolutional feedrate, set in MD:
JOG_REV_VELO_RAPID).
Feedrate The velocity traversed with JOG can also be influenced with the aid of the axial
override feedrate override switch, when the IS “Axial feedrate override active” (DB31, ...
DBX1.7) is set.
The assignment of the percentages to the individual switch positions of the
feedrate override switch is performed via the machine data.
The axis is not traversed with switch position 0%, when 0 is entered in the
associated machine data. IS “Axial feedrate override active” has no meaning at
switch position 0%.
Instead of the position on the feedrate override switch (Gray code), the value in
percent (0% to 200%) can be set by the PLC. Again, the selection is made via
the machine data.
References: /FB/, V1, “Feedrates”
Display The JOG basic display appears on the screen when JOG mode is selected.
This basic display contains the position, feedrate, spindle and tool values.
For information about the individual displayed values see:
References: /BA/, “Operator’s Guide”
Coordinate The operator has the option of traversing axes in different coordinate systems in
systems JOG mode. The following coordinate systems are available:
– Basic coordinate system; each axis can be traversed manually
– Workpiece coordinate system; only geometry axes can be traversed
manually (channel-specific).
Geometry axes In JOG traversing mode, an axis can be traversed as either a machine axis
(axis-specific) or as a geometry axis (channel-specific). The characteristics of
the machine axes are dealt with in the following description. The special
features of traversing geometry axes in JOG mode are described in more detail
in Subsection 2.8.1.
Manual traversal of Spindles can also be traversed manually in JOG mode. Essentially the same
spindle conditions apply as for manual traverse of axes. Spindles can be traversed in
JOG mode using the traverse keys continuously or incrementally, in
continuous-trigger or momentary-trigger mode, or with the handwheel. The
mode is selected and activated via the axis/spindle-specific PLC interface as for
the axes. The axis-specific machine data also apply to the spindles. The special
features of traversing spindles manually are described in more detail in
Subsection 2.8.2.
MMC/NCK/PLC Most individual functions required for manual traversal in JOG are activated via
interface the PLC user interface. The machine-control manufacturer can adapt the JOG
mode functions to the machine tool through the PLC user program depending
on the configuration of the NC system.
Machine The signals between the machine control panel and the individual PLC/NCK
control panel interface data blocks are transferred by the PLC user program on a
machine-specific basis. The PLC user program defines the assignment of the
direction keys on the machine control panel to the axis/spindle (machine axes,
geometry axes) traversing keys.
The following machine control panel signals are of particular importance to
manual traverse:
– JOG mode (selection)
– Machine function INC1 ...
– Direction keys
– Feedrate override and spindle speed override.
For further information on signals sent from the machine control panel see:
References: /FB/, P3, “Basic PLC Program”
Selection of The machine functions available in JOG mode can be selected from the
machine function following locations:
– From the machine control panel (MCP) e.g. user DB interface
– From the PLC user program PLC/NCK interface.
The PLC user program transfers the machine function pending at the machine
control interface to the relevant PLC/NCK interface. The axis-specific NCK/PLC
interface (DB31, ... signals, see Section 5.3) should be used for a machine
axis /spindle and the channel-specific NCK/PLC interface (DB21, ... signals, see
Section 5.2) for a geometry axis.
Any reset yields an abort with braking ramp of a traversing movement triggered
by handwheel operation.
Selection of MCP The following example shows the sequence of operations for selecting the
“continuous” machine function for a machine axis of the machine control panel.
Basic PLC
PLC
MCP
user
program program
NCK
PLC
Fig. 2-1 Sequence of operation for selecting a machine function from the machine
control panel
Sequence of operation
The operator selects the machine function “Continuous JOGGING” on the
machine control panel for a machine axis.
IS “Machine function”
The PLC program (basic or user program) combines this interface signal
and passes on the request to the NCK IS “Machine function continuous”
(DB31, ... DBX5.6).
The PLC user program first checks whether this request is permissible,
depending on the current machine state.
IS “Active machine function”
The control selects the machine function internally. As soon as the machine
function “JOG continuous” (DB31, ... DBX65.6) is active, this is signaled by
the NCK to the PLC.
For further information on signal transmission between the machine control
panel and the PLC see:
References: /FB/, P3, “Basic PLC Program”
Selection Continuous mode in JOG mode is selected via the PLC interface (IS “Machine
function: Continuous” (DB21-28 DBX13.6, ff)). As soon as continuous mode is
active, a signal is returned to the PLC with IS “Active machine function:
Continuous” (DB21-28 DBX41.6, ff).
Traversing keys The “plus” and “minus” traversing keys are selected to move the relevant axis in
+/– the appropriate direction.
If both keys are pressed at the same time no movement takes place or a
moving axis is stopped.
Important
! When the control is switched on, axes can be traversed to the limits of the
machine because they have not yet been referenced. Emergency limit switches
might be triggered as a result.
The software limit switches and the working area limitation are not yet active.
Travel command As soon as a travel request for an axis is active (e.g. after selection of a
+/– traverse key), the IS “Travel command+” or “Travel command–” (DB21, ...
DBX40.7 or DBX40.6) is output to the PLC depending on the direction of
movement.
Selection In JOG mode we distinguish between traversing in jog mode and continuous
mode. The selection is made in the general SD:
JOG_CONT_MODE_LEVELTRIGGRD (JOG continuous in jog mode) and is
active for all axes.
Function In jog mode (default setting) the axis traverses for as long as the traverse key is
held down if no axis limitation is reached first. When the traverse key is
released, the axis is decelerated to zero speed and the movement comes to an
end.
Function When the traverse key is pressed and released (first rising edge) the axis starts
to traverse at the set velocity in the desired direction. This movement is
continued after the traverse key is released. The movement of the axis is either
stopped by the operator or because of a response in the control (e.g. software
limit switch reached).
Warning
! If “continuous” mode is selected, several axes can by started by pressing and
releasing the relevant direction key. Any interlocks must be implemented via
the PLC!
Interrupting the The operator can use the following methods to interrupt the traversing
traverse movement movement:
– Set feedrate override to 0%
– Axial feed disable (PLC interface signal)
– NC STOP or NC STOP axis/spindle
If the cause of the interruption is removed again, the axis continues to traverse.
Aborting the The traversing movement can be stopped and aborted by means of the
traverse movement following operator inputs or monitoring functions:
– Same traverse key pressed again (second rising edge)
– Traverse key for the opposite direction pressed
– RESET
– When continuous jogging is deselected
– On reaching the first valid limit
Caution
! Software limit switches and working area limitations are only activated after
reference point approach.
Note
While an axis is moving, a change of mode from JOG to AUT or MDA is
disabled internally.
Indexing axes When an axis that is declared as an indexing axis is traversed in continuous
JOG mode, it always traverses to indexing positions. For example, the axis
traverses on to the next indexing position in the direction of travel even if the
key is released in jog mode.
References: /FB/, T1, “Indexing axes”
Settable The operator can set up to six different increment sizes. These are subdivided
increments into:
S five fixed increments whose increment sizes are defined jointly for all axes
with the general MD: JOG_INCR_SIZE_TAB (increment size
INC/handwheel). INC1, INC10, INC100, INC1000 and INC10000 are the
default settings.
S And a variable increment (INCvar). The increment setting for the variable
increment also applies jointly to all axes and is made in SD:
JOG_VAR_INCR_SIZE (size of the variable increment for INC/handwheel).
Selection In incremental jogging, too, we distinguish between traversing in jog mode and
continuous mode. The selection is made in the general MD:
JOG_INC_MODE_LEVELTRIGGRD (INC and REF jog mode). Jog mode is the
default setting.
Function If the traverse key for the required direction (e.g. +) is pressed, the axis begins
to traverse the increment set. If the traverse key is released before the
increment has been traversed, the movement is interrupted and the axis stops.
If the same key is pressed again, the axis moves the remaining distance until it
is zero. As long as the remaining distance is greater than zero, the movement
can again be interrupted by releasing the traverse key.
Pressing the key for the opposite direction has no effect until the increment has
been completely traversed or the movement has been interrupted.
Abort traversing If you do not want to traverse the whole increment, the traverse movement can
movement be aborted with RESET or IS “Delete axial distance-to-go” (DB31, ... DBX2.2).
Function The axis traverses the entire set increment when the traverse key is pressed
(on the first rising edge). If the same key is pressed again (second rising edge)
before the axis has completed traversing the increment, the movement is
aborted, i.e. not completed.
Caution
! Software limit switches and working area limitations are only activated after
reference point approach.
Note
While an axis is moving, a change of mode from JOG to AUT or MDA is
disabled internally.
Warning
! If “continuous” mode is selected, several axes can by started by pressing and
releasing the relevant direction key. Any interlocks must be implemented via
the PLC!
Indexing axes Regardless of the currently set incremental value, the axis declared as an
indexing axis (MD: INDEX_AX_ASSIGN_POS_TAB) traverses to the next
highest indexing position after the traverse key “+” is pressed. Similarly,
pressing the “–” traversing key causes the next–lower indexing position to be
approached.
References: /FB/, T1, “Indexing axes”
Selection JOG mode must be active. The operator must also set the increment INC1,
INC10, ... which applies when jogging with the handwheel. As with incremental
jogging the required machine function must be set at the PLC interface
accordingly.
Traversing When the electronic handwheel is turned the associated machine axis is
traversed either in the positive or negative direction depending on the direction
of rotation.
Traversing path The traversing path produced by rotation of the handwheel is dependent on the
following factors:
Travel command During the axis movement, the IS “Travel command+” or “Travel command–”
+/– (DB31, ... DBX64.7 or DBX64.6) is output to the PLC depending on the direction
of movement.
If the axis is already being moved using the direction keys, the handwheel
cannot be used. Alarm 20051 “Jogging with the handwheel not possible” is
output.
Handwheel Two handwheels can be connected simultaneously. In this way, up to two axes
connection can be traversed by handwheel simultaneously.
Exception: If several axes are assigned to one handwheel, more than two axes
can be traversed with handwheels.
Handwheel A separate axis-specific VDI interface signal is used to make the assignment
assignment between a handwheel and a geometry or machine axis.
The axis to be moved as a result of rotating handwheel 1 or 2 can be set:
S Via the PLC user interface with IS “Activate handwheel” (DB31, ... DBX4.0 –
DBX4.2)
(For geometry axis: DB21, ... DBX12.0 – 12.2 ff)
The assignment is transferred to the PLC interface through the logic of the PLC
user program. In this way, several axes can be assigned to one handwheel
simultaneously.
Handwheel A separate user interface between the MMC and PLC is provided to allow
selection from activation of the handwheel from the operator panel front. This interface that the
MMC basic PLC program supplies for handwheels 1 and 2 contains the following
information:
Input frequency The handwheel connections can receive handwheel pulses with a maximum
input frequency of 100kHz.
Velocity The axis velocity settings SD: JOG_SET_VELO (JOG velocity for G94)
SD: JOG_ROT_AX_SET_VELO (JOG velocity for rotary axes) and MD:
JOG_VELO (JOG axis velocity) used in JOG mode are also applied when axes
are traversed manually.
Because of the limited feedrate, the axis is not able to follow the handwheel
rotation synchronously, especially in the case of large pulse weighting, and
therefore lags behind.
Abortion of A RESET or the IS “Axial delete distance-to-go” (DB31, ... DBX2.2) aborts the
traversing traversing movement. The setpoint/actual-value difference is deleted. STOP
movement only interrupts the traversing movement. Any setpoint/actual-value difference is
maintained. The distance-to-go is then traversed on START.
Increment value The operator can limit the size of the selected increment for geometry axes via
limitation the channel-specific machine data (MD: HANDWH_GEOAX_MAX_INCR_SIZE).
The size of the selected increment for machine axes can be limited with axial
machine data (MD: HANDWH_MAX_INCR_SIZE).
A traversing movement defined by the handwheel for a geometry axis is defined
by
– Traverse path
– size of the variable increment (SD: JOG_VAR_INCR_SIZE)
– geometry axis allocation
(MD: HANDWH_GEOAX_MAX_INCR_SIZE)
or for a machine axis by
– Traverse path
– size of the variable increment (SD: JOG_VAR_INCR_SIZE)
– machine axis allocation
(MD: HANDWH_MAX_INCR_SIZE).
Movement in the Depending on the machine data $MN_HANDWH_REVERSE, the behavior with
opposite direction a change of the traversing direction is as follows:
Acceleration The acceleration rate for handwheel traversal is determined by the acceleration
characteristic programmed in MD: AX_JERK_DEFAULT (initial setting of axial
jerk limitation).
References: /FB/, B2, “Acceleration”
Response at When axes are traversed in JOG mode, they can traverse only up to the first
software limit active limitation before the appropriate alarm is output. Depending on the
switches, working machine data $MN_HANDWH_REVERSE, the behavior is as follows (as long
area limitation as the axis on the setpoint side has not yet reached the end point):
S The distance resulting from the handwheel pulses forms a fictitious end
point which is used for the subsequent calculations: If this fictitious end point
is positioned for example 10mm behind the limit, these 10 mm must be
traversed in the opposite direction before the axis traverses again. If a
movement in the opposite direction is to be be performed immediately after
a limitation, the fictitious distance-to-go can be deleted via delete
distance-to-go or deselection of the handwheel allocation.
S All handwheel pulses leading to an end point behind the limitation are
ignored. Any movement of the handwheel in the opposite direction results
immediately in a movement in the opposite direction, i.e. away from the limit.
This feature is available with SW 3.2 and higher.
Limitations The limitations are also active when jogging with the handwheel. For further
information see Subsection 2.8.3.
Revolutional In JOG mode the behavior of the axis/spindle also depends on the setting of
feedrate setting data JOG_REV_IS_ACTIVE (revolutional feedrate when JOG active).
S If the setting data is not active, the behavior of the axis/spindle depends on
the setting data ASSIGN_FEED_PER_REV_SOURCE (revolutional
feedrate for positioning axes/spindles)
S 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
JOG_FEED_PER_REV_SOURCE. (In the operating mode JOG,
revolutional feedrate for geometry axes on which a frame with rotation is
effective).
Compared to the previous behavior, additional options are possible with the
travel request signals, as described in the following.
New PLC signals: Travel request + and Travel request –:
DB21–30 DBB40 Bit 5 travel request + geometry axis 1
DB21–30 DBB40 Bit 4 travel request – geometry axis 1
DB21–30 DBB46 Bit 5 travel request + geometry axis 2
DB21–30 DBB46 Bit 4 travel request – geometry axis 2
DB21–30 DBB52 Bit 5 travel request + geometry axis 3
DB21–30 DBB52 Bit 4 travel request – geometry axis 3
DB21–30 DBB332 Bit 5 travel request + orientation axis 1
DB21–30 DBB332 Bit 4 travel request – orientation axis 1
DB21–30 DBB336 Bit 5 travel request + orientation axis 2
DB21–30 DBB336 Bit 4 travel request – orientation axis 2
DB21–30 DBB340 Bit 5 travel request + orientation axis 3
DB21–30 DBB340 Bit 4 travel request – orientation axis 3
DB31–61 DBB64 Bit 5 travel request + from axis/spindle
DB31–61 DBB64 Bit 4 travel request – from axis/spindle
During handwheel travel with a pending stop condition, which is selected via the
machine data
MD 32084: HANDWH_STOP_COND or
MD 20624: HANDWH_CHAN_STOP_COND as abort criterion, as previously,
no travel command is output (compatibility),
but the corresponding travel request. With override of the stop condition, the
corresponding PLC travel request signal is reset, as an abort is present. A stop
condition is no longer active, but the axis cannot be traversed as the stop
condition caused an abort.
In addition, either the path definition
(MD 11346 $MN_HANDWH_TRUE_DISTANCE == 1 or == 3) is active, or the
handwheel is moved continuously, i.e. provides pulses (see Fig. 2-4).
Fig. 2-4 Signal / timing diagram, handwheel travel when stop condition is abort criterion
Handwheel
stopped
Fig. 2-5 Signal / timing diagram, handwheel travel with velocity specification when stop
condition is abort criterion
Supplementary With NC Stop present, no travel command and therefore also no travel request
conditions is output. There is an exception with DRF traversing:
If via MD 20624: HANDWH_CHAN_STOP_COND (Bit 13 == 1) a DRF
traversing is permitted in the NC Stop state, then the handwheel travel
corresponds to Fig. 2-4 and Fig. 2-5.
As for the travel command, the travel request is the sum of all the
sub-movements, i.e. also the component from couplings and offset values is
taken into account.
Alarm 14320 The double use of a handwheel for DRF and velocity or path override, including
contour handwheel, is prevented and displayed via the self-acknowledging
alarm 14320 (Handwheel %1 used twice (%2) in channel %3 axis %4), if the
handwheel has different effects on an axis.
This means that an overlaid motion can only be executed when a DRF offset in
the basic coordinate system, caused by the same handwheel for the axes
involved in the motion, is no longer active; i.e. the DRF motion must have been
terminated.
If an overlaid motion has been started, a DRF offset cannot be started for any of
the axes involved that are supplied by the same handwheel. Such a DRF
motion is only possible when the motion with override has reached its end point
or been aborted with delete distance-to-go or RESET.
If the handwheel override and DRF offset are to be active simultaneously, this is
possible with activation of two separate handwheels.
Function With this function it is possible to traverse axes or to change their velocities
directly with the handwheel in Automatic mode (Automatic, MDA). The
handwheel override is activated in the NC parts program using the NC language
elements FD (for path axes) and FDA (for positioning axes) and is non-modal.
With positioning axes, it is possible to activate the handwheel override modally
using the traverse instruction POSA. When the programmed target position is
reached, the handwheel override is deactivated again.
Other axes can interpolate or traverse simultaneously in the same NC block.
The function for concurrent positioning axes can also be activated by the PLC
user program.
Table 2-1 Axes that can be influenced by the function “handwheel override in
Automatic mode”
Path definition With an axis feedrate setting = 0 (e.g. when FDA[AXi] is programmed as 0), the
traversing movement of the positioning axis towards the programmed target
position is controlled entirely by the operator rotating the assigned handwheel.
The direction in which the handwheel is turned determines the direction in which
the axis traverses. The programmed target position cannot be exceeded during
handwheel override. The axis can also be moved in the direction opposite to
that programmed, the movement in the opposite direction only being restricted
by the axial position limits.
Velocity override With regard to the velocity override, a distinction is made between axis feed and
path feed.
Handwheel The assignment of the connected handwheels to the axes is analogous to that
assignment described in Section 2.4 via the PLC user interface with IS “Activate handwheel”
(DB31, ... DBX4.0 to DBX4.2) or by menu-guided operation.
If the handwheel override is programmed for an axis for which no handwheel is
assigned, a differentiation is made for the following cases:
Note
When the velocity override is applied to path axes, only the handwheel of the
1st geometry axis acts on the path velocity.
Handwheel The traversing path of the axis that is generated by advancing the handwheel
weighting by one detent position is dependent on several factors (see Section 2.4).
Example Assumptions:
The operator turns the handwheel at 100 pulses/second.
The selected machine function is INC100.
Machine data specified above for handwheel evaluation with default setting
⇒ Handwheel traversing path per second: 10 mm
⇒ Velocity override: 0.6 m/min
PLC interface As soon as the handwheel override takes effect, the following interface signals
signals to the PLC are set to 1:
Limitations The axial limitations (SW limit switches, HW limit switches, working area
limitations) are effective in conjunction with handwheel override. With the path
definition, the axis can be traversed with the handwheel in the programmed
direction of travel only as far as the programmed target position.
The resulting velocity is limited by the axial MD: MAX_AX_VELO (maximum
axis velocity).
General When the handwheel override is programmed with the NC language elements
FD (for path axes) and FDA (for positioning axes), the following points must be
observed:
Example 2 Activate path definition and velocity override in the same NC block
Concurrent The handwheel override for concurrent positioning axes is activated from the
positioning axis PLC via FC15. The appropriate parameter “Handwheel override ON” is set for
this purpose.
If the parameter velocity (F_value) is assigned the value 0, the activated
handwheel override acts as a path definition (i.e. the feedrate is not derived
from the axial MD: POS_AX_VELO (initial setting for positioning axis velocity)).
References: /FB/, P2, “Positioning Axes”
/FB/, P3, “Basic PLC program”
Velocity display The velocity display for handwheel override shows the following values:
Effect on If the axis is defined as a transverse axis and DIAMON is active, the handwheel
transverse axes pulses are interpreted as diameter values and traversed as such while
handwheel override is active.
Dry run feedrate With active dry run (IS “Activate dry run feedrate” (DB21, ... DBX0.6 = 1)), the
dry run feedrate is always effective (SD: DRY_RUN_FEED).
In this way, the axis is traversed at dry run feedrate without the handwheel
influencing the programmed target position despite the active handwheel
override with path definition (FDA[AXi]=0) (i.e. the path definition is not active).
Feedrate override The feedrate override does not affect the velocity of the movements produced
by the handwheel (exception: 0%). It acts only on the programmed feedrate.
With path definition and rapid jogging with handwheel, the axis might not follow
the rotation of the handwheel synchronously (especially with a large handwheel
pulse weighting), so that the axis lags.
Function To date:
It is possible to connect two handwheels to the peripheral interface (X121,
37-pin) on the NCU module using the cable distributor, etc.
840D with SW 4.1 and higher, 810D with SW 2.1 and higher:
It is now possible to connect a third handwheel via a 611D actual-value input
that can be selected in a machine data.
A third handwheel could be used, for example, as a contour handwheel.
Comparison of the All three handwheels perform equally well in terms of response and
three handwheels functionality.
The third handwheel differs from the others only in terms of its connection
method.
Connecting the The signals of the handwheel (track A, *A, B, *B, 5V and 0V) must be wired to
handwheel to the the actual value input as follows:
actual value input
Recommendation:
S Use the “Actual value cable for encoders with voltage signals”
(6FX2002-2CG00- ...)
S Cut the cable at the circular connector, remove the outer shield and place on
potential to ground
Activation, The following machine data and interface signals are required for activating the
machine data and third handwheel:
interface signals
S Machine data
MD 11340: $MN_ENC_HANDWHEEL_SEGMENT_NR
MD 11342: $MN_ENC_HANDWHEEL_MODULE_NR
MD 11344: $MN_ENC_HANDWHEEL_INPUT_NR
S Interface signals
IS “Channel number for handwheel 3” (DB10, DBX99.0, 99.1, 99.2)
IS “Axis number for handwheel 3” (DB10, DBX102.0 to 102.4)
IS “Define handwheel 3 as contour handwheel” (DB10, DBX102.5)
IS “Handwheel 3 selected” (DB10, DBX102.6)
IS “Machine axis” (DB10, DBX102.7)
IS “Activate handwheel 3” (DB21, ... , DBX12.2, 16.2, 20.2)
IS “Handwheel 3 active” (DB21, ... , DBX40.2, 46.2, 52.2)
IS “Activate handwheel 3” (DB31, ... , DBX4.2)
IS “Handwheel 3 active” (DB31, ... , DBX64.2)
Supplementary
conditions
S The alarm “Handwheel %1 configuration faulty or inactive” is issued at
power ON if any of the parameters for connecting the measuring circuit are
incorrectly set or if hardware is missing.
S The third handwheel can only be operated after successful power up of the
SIMODRIVE 611D bus.
Function When the function is activated, the feedrate of path and synchronized axes can
be controlled via a handwheel in AUTOMATIC and MDI mode.
S Velocity specification:
The handwheel specifies only the velocity at which the axes must traverse.
The axis motion is
braked immediately,
preventing overtravel by the axes. The handwheel pulses do not
supply a path default.
S The number of pulses supplied by the selected handwheel within one period
S The pulse weighting of the handwheel via
MD 11320: HANDWH_IMP_PER_LATCH.
In SW 5 and lower, MD 11320 applies to both handwheel travel and contour
handwheel travel. No separate pulse weighting and direction definition data
was available for contour handwheel operation in this version.
In SW 6 and higher, contour handwheel mode can be parameterized
separately with MD 11322: CONTOURHANDWH_IMP_PER_LATCH.
Travel direction The travel direction is dependent upon the rotational direction:
Activation of the The function can be activated via the interface signals or via the NC program.
function
S Activation via the interface signal “Activate handwheel x as contour
handwheel”
The function is activated/deactivated by means of the following interface
signal:
IS “Activate handwheel x as contour handwheel” (DB21, ... DBX30.0, 30.1,
30.2)
Note
If the preceding NC blocks do not contain a feedrate, then an appropriate alarm
is output.
FD and F in one NC block are mutually exclusive (e.g. generate an alarm).
Simulation of the When the contour handwheel is activated, it can also be simulated. After
contour activation via the interface signal, the feedrate is no longer preset by the contour
handwheel handwheel; the programmed feedrate is used instead. The direction is also
preset via interface signal.
IS “Simulation contour handwheel” (DB21, ... DBX30.3)
IS “Negative direction simulation contour handwheel” (DB21, ... DBX30.4)
If then
simulation is deselected, the active movement is braked with a de-
celeration ramp
the direction is changed,
Note:
The override is effective as with NC program execution.
Supplementary
conditions
S Requirements
Permanent feed, dry run feedrate, thread cutting or tapping must not be
activated.
S Limit values
Acceleration and velocity of the axes are limited to the values defined in the
machine data.
S DRF
In addition, a selected DRF function has a path overlay action.
Coordinate In JOG mode the operator can also jog the axes declared as geometry axes in
systems in JOG the workpiece coordinate system. Any coordinate offsets or rotations that have
mode been selected remain active.
Note
With SW 6.3 and higher of the SINUMERIK 840D with the “handling
transformation package”, the translation of geometry axes can be set
separately in JOG mode in several valid reference systems.
References /FB/, F2, “Cartesian Manual Travel”
Application Jogging movements for which transformations and frames have to be active.
The geometry axes are traversed in the coordinate system that was last
activated. The special features of jogging geometry axes are described below.
Simultaneous Only one geometry axis can be jogged continuously or incrementally using the
traversal traverse keys. Where an attempt is made to jog more than one geometry axis,
alarm 20062 “Axis already active” is output. However, 3 geometry axes can be
jogged simultaneously with handwheels 1, 2 and 3. Alarm 20060 is output if
only one axis is not defined as a geometry axis.
PLC interface A separate PLC interface (DB21, ... DBB12–23 and DBB40–56) exists for
geometry axes that contains the same signals as the axis-specific PLC
interface.
Feedrate/rapid The channel-specific feedrate override switch and rapid traverse override switch
traverse override are active for jogging geometry axes.
Alarms Alarm 20062 “Axis already active” is triggered when a geometry axis is being
jogged under the following conditions:
S The axis is already being traversed in JOG mode via the axial PLC interface.
S A frame for a rotated coordinate system is already active and another
geometry axis in this coordinate system is traversed in JOG mode with the
traverse keys.
If the axis is not defined as a geometry axis, alarm 20060 “Axis cannot be
traversed as a geometry axis” is output if you attempt to move it in JOG mode.
Manual traversal of Spindles can also be traversed manually in JOG mode. Essentially the same
spindle conditions apply as for manual traverse of axes. Spindles can be traversed in
JOG mode using the traverse keys continuously or incrementally, in
continuous-trigger or momentary-trigger mode, or with the handwheel. The
function is selected and activated via the axis/spindle-specific PLC interface in
the same way as for the machine axes. The axis-specific machine data also
apply to the spindles.
Spindle mode The spindle can be jogged in positioning mode (spindle is in position control) or
in open-loop control mode.
JOG The speed used for jogging spindles can be defined as follows:
velocity
– With the general SD: JOG_SPIND_SET_VELO (JOG speed for spindle),
which applies to all spindles,
– or with machine data JOG_VELO (JOG axis velocity) However, this MD
only has an effect if SD: JOG_SET_VELO (JOG velocity for G94) = 0.
The maximum speed for the active gear stage also applies when spindles are
traversed in JOG mode.
References: /FB/, S1, “Spindles”
Speed override The spindle speed override switch can be used to modify the speed of spindles
traversed in JOG mode.
JOG Because a spindle often uses many gear stages in speed control and position
acceleration control mode, the acceleration programmed for the current gear stage is always
applied in spindle JOG mode.
References: /FB/, S1, “Spindles”
PLC interface When spindles are traversed manually, the PLC interface signals between the
signals NCK and PLC have the same effect as for machine axes. The IS “Position
reached with exact stop fine/coarse” (DB31, ... DBX60.7 or DBX60.6) are set
only if the spindle is in position control mode.
For purely spindle-specific interface signals, the following should be noted when
traversing the spindle in JOG:
S The following PLC interface signals from the spindle are not set:
– IS “Actual direction clockwise” (DB31, ... DBX83.7)
– IS “Spindle in setpoint range” (DB31, ... DBX83.5)
2.8.3 Monitoring
Important
! The software limit switches and working area limitations are only active if the
axis is first referenced.
If a work offset (DRF offset) via handwheel is active for axes, the software limit
switches of these axes are monitored during the main run in JOG mode. This
means, the jerk limitation has no effect when the software limit switches are
approached. After the acceleration from machine data MD 32300:
MAX_AX_ACCEL, the velocity is reduced at the software limit switch.
For further information on working area limitations and hardware and software
limit switches see:
References: /FB/, A3, “Axis Monitoring, Protection Zones”
Axis retraction The axis can be retracted from a limitation position by moving it in the opposite
direction.
Machine Manufacturer
The function for retracting an axis that has reached the limit position depends
on the machine-tool manufacturer. Please refer to the machine manufacturer’s
documentation!
Maximum velocity The velocity and acceleration values applied in JOG mode are programmed for
and acceleration specific axes via machine data by the start-up engineer. The control limits the
value for the values valid for the axes to the maximum velocity and acceleration
specifications.
References: /FB/, G2, “Velocities, Setpoint/Actual-Value Systems,
Closed-Loop Controls”
/FB/, B2, “Acceleration”
2.8.4 Miscellaneous
Switching modes It is possible to switch operating modes from JOG to AUT or MDA only if all
from JOG³AUT or axes in the channel have reached “Exact stop coarse”.
from JOG³MDA References: /FB/, K1, “Mode Group, Channels, Program Operation”
Rotational feedrate In JOG mode, it is also possible to traverse an axis at a rotational feedrate
active in JOG (analogous to G95) referred to the current speed of the master spindle. The
function is activated with SD: JOG_REV_IS_ACTIVE (JOG in revolutional
feedrate).
The feedrate value (in mm/rev) used can be defined as follows:
S With general SD: JOG_REV_SET_VELO (JOG speed for G95) if this is not
equal to 0.
Transverse axes If a geometry axis is defined as a transverse axis and radius programming is
selected (MD: DIAMETER_AX_DEF (geometry axes with transverse axis
function)), the following must be noted when traversing in JOG:
S Continuous jogging:
there are no differences when a transverse axis is traversed in continuous
mode.
S Incremental jogging:
Only half the distance of the selected increment size is traversed. For
example, with INC10 the axis only traverses 5 increments when the traverse
key is pressed.
Application The DRF offset can be used, for example, in the following application cases:
examples
S Compensating for tool wear within an NC block
Where NC blocks have a long machining time it might be necessary to
compensate for tool wear manually within the NC block (e.g. large surface
milling machines).
Caution
The work offset introduced via the DRF offset is always effective in all operating
modes and after a RESET. It can, however, be suppressed non-modally in the
parts program.
Velocity reduction The velocity generated by the handwheel in DRF can be reduced from the JOG
velocity with the axial MD: HAND_VELO_OVERLAY_FACTOR (ratio of JOG
velocity to handwheel velocity).
DRF active DRF must be active to allow the DRF offset to be modified through traversal
with the handwheel. The following conditions must be fulfilled:
S AUTOMATIC mode
S IS “Activate DRF” (DB21, ... DBX0.3) = 1
Via the function: “Program control” of the HMI user interface, the DRF offset can
be switched on or off for specific channels.
MMC then sets IS “DRF selected” (DB21, ... DBX24.3) =1
The PLC program (basic PLC program or user program) transfers this interface
signal as IS “Activate DRF” after the corresponding logic operation.
Control of DRF The DRF offset can be modified, deleted or read (see Fig. 2-7):
offset
S Operator: Modifying by traversing with the handwheel
S Part program
– Reading via axisspecific system variable $AC_DRF[<axis>].
– Deleting via part program command (DRFOF) for all axes in a channel
– Block-by-block suppression via part program command (SUPA)
References: /PG/, “Programming Guide: Fundamentals”
S MMC
– Display of the DRF offset (axis-specific)
Note
If DRF offset is cleared the axis is not traversed!
NC part
PLC MMC Program
user program Operator (high–level
language)
Delete
Read
Read
Read
Axis n
Axis 2
DRF offset
Axis 1
Modify incrementally
Handwheel pulses x MD: HANDWH_IMP_PER_LATCH
per detent position
IS ”Active machine INC1.. MD: JOG_INCR_SIZE_TAB
Selected x function” INCvar SD: JOG_VAR_INCR_SIZE
increment size
– +
Handwheel 1...3
Display The axis position display (ACTUAL POSITION) does not change while an axis
is being traversed with the handwheel in DRF. The current DRF offset can be
displayed in the DRF window.
Reference point In phase 1 of the reference point approach of the machine axis, the DRF offset
approach for the appropriate geometry or auxiliary axis is deleted.
During the reference point approach of the machine axis, a DRF offset for the
appropriate geometry or auxiliary axis cannot be performed simultaneously.
2.10 Start-up
2.10.1 Configuring handwheels with PROFIBUS link
Introduction The following is a description of how handwheels that can be directly connected
to the control (840D, 840Di) and handwheels on a machine control panel with
PROFIBUS link (840 D solution line, sl) can be configured in a uniform way via
machine data.
The handwheels are connected via PROFIBUS with an 840D sl control. This
requires a configuration of these handwheels via PLC with STEP7 HW
configuration. The configuration must be defined in the machine data described
below.
At present, three handwheels can be operated on the HMI (internal count 1, 2,
3).
In order to assign a physically existing handwheel to an NCK-internal
handwheel number, this must be configured via the machine data. It makes no
difference whether the handwheel is connected directly to the NC hardware
(Power Line) or operated via PROFIBUS (Solution Line). Mixed operation of
’permanently-wired’ handwheels and handwheels operated via
PROFIBUS/Profinet is possible.
Configuration with In order to guarantee compatibility to ’old’ systems, this machine data is
MD preassigned system-specifically. Therefore for the user, the configuration of
handwheels for ’old’ systems is in the usual way. (See ’Preassignment of
machine data’)
Example 1: PowerLine 840D with 3 handwheels, of which the 1st and 2nd
handwheels are connected directly to the control HW, the 3rd
handwheel connected via a free encoder input.
1st handwheel (NCK view):
$MN_HANDWHEEL_SEGMENT[0] = 1 ;840D_HW
$MN_HANDWHEEL_MODULE[0] = 1 ;the 840D hardware is considered as a
;module!
$MN_HANDWHEEL_INPUT[0] = 1 ;first handwheel connection
Logical base address for handwheel slot on MCPs (log. input addresses of the PLC):
$MN_HANDWHEEL_LOGIC_ADDRESS[0] = 288 ;log. base address of handwheel slot, 1st
MCP
$MN_HANDWHEEL_LOGIC_ADDRESS[1] = 304 ;log. base address of handwheel slot, 2nd
MCP
Activation
The handwheels are activated via their configuration using the appropriate
machine data. This means the internal NCK activation, i.e. the
polling/processing of the handwheel pulses in the IPO cycle.
Should the activation of a handwheel fail when ramping up the NCK (e.g. for
handwheels connected via PROFIBUS), the activation will continually be
attempted in the cyclic operation of the NCK.
Only activated handwheels are evaluated in the cyclic operation of the NCK
(IPO cycle). The handwheel pulses of the appropriate handwheels are read in /
processed and the differential pulses (to the previous IPO cycle) made available
in the respective IPO cycle.
The configured handwheels are initialized during power-up.
Preassignment of Depending on the system, the machine data listed above are assigned
the MD different values. Whereby ’old’ systems (PowerLine) are configured in
such a way that the previous handling of these systems is retained.
Therefore, the user does not have to make any changes with respect to
this machine data.
840D system:
$MN_HANDWHEEL_SEGMENT[0–5] = {1,1,1,0,0,0}
$MN_HANDWHEEL_MODULE[0–5] = {1,1,1,0,0,0}
$MN_HANDWHEEL_INPUT[0–5] = {1,2,3,0,0,0}
840Di system:
840Di SL system:
$MN_HANDWHEEL_SEGMENT[0–5] = {1,1,0,0,0,0}
$MN_HANDWHEEL_MODULE[0–5] = {1,1,0,0,0,0}
$MN_HANDWHEEL_INPUT[0–5] = {1,2,0,0,0,0}
PROFIBUS-MCP This section describes the configuration of a DP slave: MCP xxx by way of
configuration example of the hardware configuration of a SIMATIC S7 project shown in Fig.
2-8.
The hardware configuration comprises the following modules:
S SIMATIC station 300 with SINUMERIK 810D/840D and PLC 317-2DP
S SINUMERIK MCP with module: standard, handwheel, extended
To configure DP slave: MCP xxx the following steps must be carried out in the
S7 project:
1. Insert DP slave: MCP xxx in the configuration
(see Fig. 2-8, Page 2/H1/2-48: 1)
2. Set the PROFIBUS address.
3. Insert the modules in DP slave: MCP xxx for the functions required.
(see Fig. 2-8, Page 2/H1/2-48: 2)
4. Set the I/O addresses for the individual slots.
Requirements: S7 The following status of the S7 project into which DP slave: MCP xxx is to be
project inserted is assumed:
– You have created the S7 project
– You have set up a SIMATIC 300 station with PROFIBUS master-capable
SINUMERIK controller
Inserting the DP To insert a DP slave: MCP xxx into the configuration, open the hardware catalog
slave with menu item View > Catalog.
DP slave: MCP xxx is located under:
S Profile: Standard
PROFIBUS-DP > Other field devices > NC/RC > Motion Control
> SINUMERIK MCP
Select the DP slave by left-clicking it in the hardware catalog: MCP xxx
(SINUMERIK MCP) and drag it while holding down the mouse key onto the DP
master system in the station window.
The DP master system is displayed in the station window with the following
symbol:
When you release the left mouse key, DP slave: MCP xxx is inserted in the
configuration.
Note
As you drag the DP slave the cursor appears as a circle with a slash through it.
When the cursor is positioned exactly over the DP master system, it changes to
a plus sign, and the DP slave can be added to the configuration.
PROFIBUS When you have inserted DP slave: MCP 310 into the configuration, dialog
Parameters “Properties – PROFIBUS Interface SINUMERIK MCP” is displayed.
The following PROFIBUS parameters must either be set or verified:
– PROFIBUS address
– Transmission rate
– Profile
Note
Before installation can begin several conditions must be fulfilled. For procedure
please see:
References: /IAD/ “Installation and Start-Up Guide”
/IAF/“Installation and Start-Up Guide”
Machine / The machine and/or geometry axes can be traversed manually only if specific
setting data machine/setting data have been preset. The machine and setting data that
apply specifically to manual traverse are listed below.
Notes
Supplementary Conditions 3
Availability of This function is available for:
function
“Handwheel
S SINUMERIK 840D with NCU 571/572/573 with SW 2 and higher
override in
automatic mode”
SINUMERIK 840Di Two handwheels can be connected to the SINUMERIK 840Di via the MCI
handwheels Board Extension module on the SINUMERIK 840Di.
The handwheels are connected via the 25-pin cable distributor interface (X121)
on the MCI Board Extension module.
J
11300 JOG_INC_MODE_LEVELTRIGGRD
MD number INC and REF in jog mode
Default setting: 1 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: BOOLEAN Applies from SW: 1.1
Meaning: 1: Jog mode for JOG-INC and reference point approach
JOG-INC:
When the traverse key is pressed in the required direction (e.g. +) the axis begins to
traverse the set increment. If the key is released before the increment has been
completely traversed, the movement is interrupted and the axis stops.
If the same key is pressed again, the axis completes the remaining distance-to-go until
it is 0.
0: Continuous mode for JOG-INC and reference point approach
JOG-INC:
When the traverse key is pressed (first rising edge) the axis traverses the whole set
increment. If the same key is pressed again (second rising edge) before the axis has
completed traversing the increment, the movement is aborted, i.e. not completed.
The differences in axis traversing characteristics between the jog and continuous modes in
JOG-INC are described in detail in Section 2.3.
For travel behavior in reference point approach see:
References: /FB/, R1, “Reference Point Approach”
MD irrelevant for ... ... Continuous jogging (JOG continuous)
11310 HANDWH_REVERSE
MD number Threshold for change in handwheel direction
Default setting: 2 Minimum input limit: 0 Maximum input limit: –
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: BYTE Applies from SW: 3.2
Meaning: 0: No immediate movement in the opposite direction
>0: Immediate movement in the opposite direction if the handwheel is turned in the
opposite direction by at least the number of pulses indicated
11320 HANDWH_IMP_PER_LATCH[n]
MD number Handwheel pulses per detent position [handwheel number]: 0 ... 2
Default setting: 1 Minimum input limit: *** Maximum input limit: ***
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DOUBLE Applies from SW: 1.1
Meaning: MD: HANDW_IMP_PER_LATCH adapts the connected handwheels to the control system.
The number of pulses generated by the handwheel for each handwheel detent position is
entered. The handwheel pulse weighting must be defined for each connected handwheel (1
to 3) separately.
When adapted to the control, each handwheel detent position has the same effect as one
press of the traverse key in incremental jogging mode.
If a negative value is entered, the handwheel is active in the reverse direction.
Related to .... MD 31090:JOG_INCR_WEIGHT (weighting of an increment of a machine axis for INC/
manual).
11322 CONTOURHANDWH_IMP_PER_LATCH[n]
MD number Contour handwheel pulses per detent position [handwheel number]) 0 ... 2
Default setting: 1.0 Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DOUBLE Applies from SW: 6.3
Meaning: Factor for adapting to contour handwheel hardware:
The number of pulses output per detent position of the contour handwheel must be entered.
This setting normalizes one detent position of the contour handwheel to match one key
actuation in incremental JOG mode.
The sign reversal causes a reversal of the direction evaluation.
Related to .... MD 31090: JOG_INCR_WEIGHT (weighting of an increment of a machine axis for INC/
manual).
11330 JOG_INCR_SIZE_TAB[n]
MD number Increment size for INC/handwheel [increment index]: 0 ... 4
Default setting: 1; 10; 100; 1000; 10000 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 Unit:
Linear axis: mm
Rotary axis: Degrees
Data type: DOUBLE Applies from SW: 1.1
11330 JOG_INCR_SIZE_TAB[n]
MD number Increment size for INC/handwheel [increment index]: 0 ... 4
Meaning: In incremental jogging of handwheel jogging the number of increments to be traversed by
the axis can be defined by the operator, e.g. via the operator panel. In addition to the vari-
able increment sizes (INCvar) 5 fixed increment sizes (INC...) can also be set.
The increment size for each of these 5 fixed increments is defined for all axes by entering
values in JOG_INCR_SIZE_TAB [n]. The default setting is INC1, INC10, INC100, INC1000
and INC10000.
The entered increment sizes are also active for DRF.
The size of the variable increment is defined in SD: JOG_VAR_INCR_SIZE.
Related to .... MD 31090:JOG_INCR_WEIGHT(weighting of an increment for INC/manual)
IS “Active machine function: INC1; ...; INC10000” (DB21–28,
DBB41 ff)
IS “Active machine function: INC1; ...; INC10000” (DB31–48, DBB69).
11340 ENC_HANDWEEHL_SEGMENT_NR
MD number Third handwheel: Bus segment
Default setting: 1 Minimum input limit: 1 Maximum input limit: 1
Changes effective after POWER ON Protection level: 0/0 Unit: –
Data type: BYTE Applies from SW: 840D SW4.1
810D SW2.1
Meaning: Number of bus segment via which the 3rd handwheel (encoder connection) is addressed:
1: Drive bus 611D
0, 2, 3: Reserved
Related to .... MD 11342: ENC_HANDWEEL_MODULE_NR (third handwheel: drive no./measuring circuit
no.)
MD 11344: ENC_HANDWHEEL_INPUT_NR (third HW: Input on module/measuring circuit
card)
11342 ENC_HANDWHEEL_MODULE_NR
MD number Third handwheel: Drive no./measuring circuit no.
Default setting: 0 Minimum input limit: 0 Maximum input limit: NCU 572: 15
Changes effective after POWER ON Protection level: 7/2 Unit: –
Data type: BYTE Applies from SW: 840D SW4.1
810D SW2.1
Meaning: Number of the module with a segment (MD 11340: ENC_HANDWHEEL_SEGMENT_NR)
via which the 3rd handwheel is addressed.
The logical drive number must be entered here for axes with 611 digital drives
(see MD 13010: DRIVE_LOGIC_NR)
and the module number on the local bus (count from left to right)
(see MD 30110: CTRLOUT_MODULE_NR).
Special cases, errors, ..... = 0:
The configuration of a 3rd handwheel is deactivated, in this case the settings in MD 11340:
ENC_HANDWHEEL_SEGMENT_NR and
MD 11344: ENC_HANDWHEEL_INPUT_NR are irrelevant.
Related to .... MD 13010: DRIVE_LOGIC_NR (logical drive number)
MD 11340: ENC_HANDWEEL_SEGMENT_NR (third handwheel: bus segment)
MD 11344: ENC_HANDWHEEL_INPUT_NR (third HW: Input on module/measuring circuit
card)
11344 ENC_HANDWHEEL_INPUT_NR
MD number Third handwheel: Input on module/measuring circuit card
Default setting: 1 Minimum input limit: 1 Maximum input limit: 2
Changes effective after POWER ON Protection level: 7/2 Unit: –
Data type: BYTE Applies from SW: 840D SW4.1
810D SW2.1
Meaning: Number of the input on a module via which the 3rd handwheel is addressed.
840D: 1/2 = upper/lower actual-value input
810D: Always 1
Related to .... MD 11340: ENC_HANDWEEL_SEGMENT_NR (third handwheel: bus segment)
MD 11342: ENC_HANDWEEL_MODULE_NR (third handwheel: drive no./measuring circuit
no.)
11346 HANDWH_TRUE_DISTANCE
MD number Handwheel path/velocity values
Default setting: 1 Minimum input limit: 0 Maximum input limit: 3
Changes effective after POWER ON Protection level: 7/2 Unit: –
Data type: BYTE Applies from SW: 840D SW4.1
810D SW2.1
Meaning: Sets the operating characteristics for traversal with handwheel, contour handwheel or
FDA=0:
Value = 1:
The handwheel pulses define the traversing path. No pulses are lost. Axis overtravel oc-
curs as a result of limiting the velocity to its maximum permissible value.
Value = 0:
The handwheel pulses specify the axis travel velocity. As soon as the handwheel stops, the
axes stop too. The axis motion is braked immediately, if no pulses are supplied by the
handwheel in one IPO cycle,. As a result, the axes do not overtravel. The handwheel
pulses do no define the traversing path.
Value = 2
The inputs from the handwheel are velocity inputs. As soon as the handwheel stops, the
axes stop too. The movement is braked immediately, value = 0, but not via the shortest
possible path, but to the next possible path on an imaginary grid. This grid corresponds in
each case to a distance traveled by the selected axis per handwheel detent position
(see MD 31090: JOG_INCR_WEIGHT and MD 11330: JOG_INCR_SIZE_TAB, MD 20620:
HANDWH_GEOAX_MAX_INCR_SIZE, MD 32080: HANDWH_MAX_INCR_SIZE). The
start point of the traversing motion is assumed to be the grid zero point.
Value = 3
The inputs from the handwheel are path inputs. If the axis needs to be decelerated prema-
turely owing to the settings in other MD (MD 11310: HANDWH_REVERSE = 0, MD 20624:
HANDWH_CHAN_STOP_COND, MD 32084: HANDWH_STOP_COND), then unlike value
= 1, the axis is not decelerated via the shortest possible path, but to the next possible point
on an imaginary grid.
17900 VDI_FUNCTION_MASK
MD number Function mask for VDI signals
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 7 / 2 Unit: –
Data type: DWORD Applies from SW:
Meaning: Bit 0 = 0:
The VDI signals travel command + / travel command – are output as soon as a traversing
request is issued (default, response as in earlier software version).
Bit 0 = 1:
The VDI signals travel command + / travel command – are output only when the axis is
actually moving.
20620 HANDWH_GEOAX_MAX_INCR_SIZE
MD number Limitation of handwheel increment for geo axes
Default setting: 0 Minimum input limit: 0 Maximum input limit: –
Changes effective after POWER ON Protection level: 2/7 Unit: mm
Data type: DOUBLE Applies from SW: 3.2
Meaning: >0: Limitation of the size of the selected increment
MD 11330: JOG_INCR_SIZEƪ<Increment/VDI signal>ƫ or
$SN_JOG_VAR_INCR_SIZE for geometry axes
0: No limitation for geometry axes
20622 HANDWH_GEOAX_MAX_INCR_VSIZE
MD number Path velocity override
Default setting: 500 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 / 7 Unit: mm/min
Data type: DOUBLE Applies from SW: 3.2
Meaning: For the velocity override of the path:
> 0: Limitation of size of selected increment
($MN_JOG_INCR_SIZE_[<Increment/VDI signal>] or
$SN_JOG_VAR_INCR_SIZE) / 1000*IPO sampling time
=0: No limitation
20624 HANDWH_CHAN_STOP_COND
MD number Definition of operating characteristics in jogging with handwheel
Default setting: 0x13FF, 0x13FF, Minimum input limit: 0 Maximum input limit: 0xFFFF
0x13FF, ...
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: DWORD Applies from SW: 3.2, from SW 6.4 bits 12–15
20624 HANDWH_CHAN_STOP_COND
MD number Definition of operating characteristics in jogging with handwheel
Meaning: Definition of the behavior of jogging with handwheel with respect to channel-specific VDI
interface
signals:
Bit==0: Interruption or collection of the distances preset via the handwheel
Bit==1: Termination of the traversing motion or no collection
Bit allocation
Bit 0: Mode group stop
Bit 1: Mode group stop axes plus spindle
Bit 2: NC stop
Bit 3: NC stop axes plus spindles
Bit 4: Feedrate disable
Bit 5: Feedrate override
Bit 6: Rapid traverse override
Bit 7: Feed stop geometry axis
Bit 7=0: Interruption/collection
Bit 7=1: Traversing movement aborted/no collection
Bit 12: NC start
21106 CART_JOG_SYSTEM
MD number Coordinate system for cart. JOG
Default setting: 0 Minimum input limit: 0 Maximum input limit: 7
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW: 6.3
Meaning: This machine data has two different meanings.
On the one hand, it is used to activate the function Cartesian manual travel.
On the other, it can be used to specify the referencing systems for switchover.
The meanings of the individual bits is defined as follows:
31090 JOG_INCR_WEIGHT
MD number Evaluation of an increment for INC/handwheel
Default setting: 0.001 Minimum input limit: *** Maximum input limit: ***
Changes effective after POWER ON Protection level: 2 Unit:
Linear axis: mm
Rotary axis: Degrees
Data type: DOUBLE Applies from SW: 1.1
Meaning: The path of an increment which applies when an axis is traversed with the JOG keys in
incremental mode or with the handwheel is defined in this MD.
The path covered by the axis on each increment each time the direction key is pressed or
for each handwheel position is defined by the following parameters:
MD 31090: JOG_INCR_WEIGHT (weighting of an increment of a machine axis for
INC/handwheel)
Selected increment size (INC1, ..., INCvar)
The possible increment stages are defined globally for all axes in MD 11330:
JOG_INCR_SIZE_TAB [n] or in SD 41010: JOG_VAR_INCR_SIZE.
Entering a negative value reverses the direction of the traverse keys and the handwheel
rotation.
SW 5 and higher:
Default settings:
JOG_INCR_WEIGHT[0]=0.001 mm (valid in metric measuring system)
JOG_INCR_WEIGHT[1]=0.00254 mm (valid in inch measuring system and corresponds to
0.0001 inch)
MD irrelevant for ... ... Operating modes AUTOMATIC and MDA
Related to .... MD 11330: JOG_INCR_SIZE_TAB
SD 41010: JOG_VAR_INCR_SIZE
32010 JOG_VELO_RAPID
MD number Rapid traverse in JOG mode
Default setting: 10000 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 Unit:
Linear axis: mm/min
Rotary axis: rpm
Data type: DOUBLE Applies from SW: 1.1
Meaning: The axis velocity entered here applies when the rapid traverse override key is operated in
JOG mode and when the axial feedrate override switch is set to 100%.
The value entered must not exceed the maximum permissible axis velocity in the machine
data (MD 32000: MAX_AX_VELO).
This machine data will not be used for the programmed rapid traverse G00.
MD irrelevant for ... ... Operating modes AUTOMATIC and MDA
Related to .... MD 32000: MAX_AX_VELO (maximum axis velocity)
MD 32040: JOG_REV_VELO_RAPID (JOG revolutional feedrate with rapid traverse)
IS “Rapid traverse override” (DB21–28, DBX12.5 ff)
IS “Feedrate override” (DB21–28, DBB4)
32020 JOG_VELO
MD number Axis velocity in JOG mode
Default setting: 2000 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 Unit:
Linear axis: mm/min
Rotary axis: rpm
Data type: DOUBLE Applies from SW: 1.1
Meaning: The value entered is the velocity traversed in JOG mode when the axial feedrate override
switch is on position 100%.
This velocity is only used when general setting data
SD 41110: JOG_SET_VELO = 0 is set for linear axes and linear feedrate
(SD 41100: JOG_REV_IS_ACTIVE = 0) or
SD 41130: JOG_ROT_AX_SET_VELO = 0 for rotary axes.
If this is the case, the axis velocity is active for
– continuous jogging
– incremental jogging (INC1, ... INCvar)
– handwheel jogging
The value entered must not exceed the maximum permissible axis velocity in the machine
data (MD 32000: MAX_AX_VELO).
If DRF is active, the axis velocity for JOG must be reduced with
MD 32090: HANDWH_VELO_OVERLAY_FACTOR.
32040 JOG_REV_VELO_RAPID
MD number Revolutional feedrate in JOG mode with rapid traverse override
Default setting: 2,5 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 Unit: mm/rev.
Data type: DOUBLE Applies from SW: 1.1
Meaning: The value entered in this MD defines the revolutional feedrate of the axis in JOG mode with
rapid traverse override referred to the revolutions of the master spindle.
This feedrate is active when SD 41100: JOG_REV_IS_ACTIVE = 1.
(revolutional feedrate active in JOG)
MD irrelevant for ... ... SD 41100 JOG_REV_IS_ACTIVE = “0”
Related to .... SD 41100: JOG_REV_IS_ACTIVE (revolutional feedrate for JOG active)
MD 32050: JOG_REV_VELO (revolutional feedrate for JOG mode)
32050 JOG_REV_VELO
MD number Revolutional feedrate in JOG mode
Default setting: 0,5 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 Unit: mm/rev.
Data type: DOUBLE Applies from SW: 1.1
Meaning: The value entered in this MD defines the revolutional feedrate of the axis in JOG mode
referred to the revolutions of the master spindle.
This feedrate value is active if the revolutional feedrate setting data for JOG is active, SD
41100: JOG_REV_IS_ACTIVE = 1.
MD irrelevant for ... ... Linear feedrate; i.e. SD 41100: JOG_REV_IS_ACTIVE = 0
Related to .... SD 41100: JOG_REV_IS_ACTIVE (revolutional feedrate for JOG active)
MD 32040: JOG_REV_VELO_RAPID (JOG revolutional feedrate with
rapid traverse)
32080 HANDWH_MAX_INCR_SIZE
MD number Limitation of selected increment
Default setting: 0 Minimum input limit: 0 Maximum input limit: –
Changes effective after Reset Protection level: 2/7 Unit:
Data type: DOUBLE Applies from SW: 3.2
Meaning: >0: Limitation of the size of the selected increment
MD 11330: JOG_INCR_SIZEƪ<Increment/VDI signal>ƫ or
SD 41010: JOG_VAR_INCR_SIZE for the associated machine axis
0: No limitation
32082 HANDWH_MAX_INCR_VELO_SIZE
MD number Limitation of selected increment for velocity override
Default setting: 500 Minimum input limit: 0 Maximum input limit: plus
Changes effective after Reset Protection level: 2/7 Unit: mm/min
Data type: DOUBLE Applies from SW: 3.2
Meaning: For the velocity override of positioning axes:
>0: Limitation of the size of the selected increment
MD 11330: JOG_INCR_SIZEƪ<Increment/VDI signal>ƫ or
SD 41010: JOG_VAR_INCR_SIZE for the associated machine axis
0: No limitation
32084 HANDWH_STOP_COND
MD number Effect of the VDI signals on the handwheel
Default setting: 0xFF Minimum input limit: 0 Maximum input limit: 0x7FF
Changes effective after RESET Protection level: 2/7 Unit: –
Data type: DWORD Applies from SW: 3.2
Meaning: Definition of the behavior of jogging with handwheel in response to axis-specific VDI inter-
face signals:
Bit==0: Interruption or collection of the distances preset via the handwheel
Bit==1: Abort of the traversing movement or no collection
Bit allocation:
Bit 0: Feedrate override
Bit 1: Spindle speed override
Bit 2: Feedrate stop/spindle stop
Bit 3: Clamping in progress (== 0 no effect)
Bit 4: Servo enable
Bit 5: Pulse enable
Bit 9 == 0 For JOG with handwheel, the maximum possible velocity for revolutional
feedrate (G95) corresponds to the feedrate in setting data in
SD 41120: JOG_REV_SET_VELO or the feedrate in machine data
MD 32050: JOG_REV_VELO, or for rapid traverse with
MD 32040: JOG_REV_VELO_RAPID, for the appropriate machine axis,
balanced against the spindle or rotary axis feedrate.
=1 For JOG with handwheel, the maximum possible velocity for revolutional
feedrate corresponds to the feedrate in machine data
MD 32000: MAX_AX_VELO for the appropriate machine axis. (see also
bit 6)
SW 6.4 and higher
Bit 10 == 0 $AA_OVR is not active for overlaid movements.
== 1 The $AA_OVR override, which can be set via synchronized actions,
is active for overlaid movements (DRF offset, $AA_OFF,
zero offset external, online tool offset).
Related to .... MD 20624: HANDWH_CHAN_STOP_COND (definition of the behavior of jogging with
handwheel)
32090 HANDWH_VELO_OVERLAY_FACTOR
MD number Ratio JOG velocity to handwheel velocity (DRF)
Default setting: 0,5 Minimum input limit: 0 Maximum input limit: plus
Changes effective after NEW_CONF Protection level: 2 Unit: –
Data type: DOUBLE Applies from SW: 1.1
Meaning: The velocity active with the handwheel in DRF can be reduced in relation to the JOG veloc-
ity with this machine data.
The following applies for the velocity active with DRF:
vDRF = SD:JOG_SET_VELO * MD:HANDWH_VELO_OVERLAY_FACTOR
or when SD:JOG_SET_VELO = 0:
vDRF = MD:JOG_VELO * MD:HANDWH_VELO_OVERLAY_FACTOR
The velocity setting in SD: JOG_ROT_AX_SET_VELO applies for DRF on rotary axes
instead of the value in SD: JOG_ROT_SET_VELO.
MD irrelevant for ... ... JOG handwheel
Related to .... MD: JOG_VELO (JOG axis velocity)
SD: JOG_SET_VELO (JOG velocity for G94)
SD: JOG_AX_SET_VELO (JOG velocity for rotary axes)
41010 JOG_VAR_INCR_SIZE
SD number Size of variable increment for INC/handwheel
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: MMCMD 9220 Unit: mm or degrees
Data type: DOUBLE Applies from SW: 1.1
Meaning: This setting data defines the number of increments when variable increment (INCvar) is
selected. This increment size is traversed by the axis in JOG mode whenever the traverse
key is pressed or the handwheel is turned one detent position and variable increment is
selected (PLC interface signal “Active machine function: INC variable” interface signal for
machine or geometry axes is set to 1).
The defined increment size also applies to DRF.
Note: Please note that the increment size is active for incremental jogging and handwheel
jogging. So if a large increment value is entered and the handwheel is turned the axis might
cover a large distance (depends on setting in MD: JOG_INCR_WEIGHT).
SD irrelevant for ...... JOG continuous
Related to .... IS “Active machine function: INC variable” (DB21–28, DBX41.5 ff)
or IS “Active machine function; INC variable” (DB31–48, DBX 69.5)
MD: JOG_INCR_WEIGHT (weighting of an increment for INC/handwheel)
41050 JOG_CONT_MODE_LEVELTRIGGRD
SD number Continuous JOG in jog mode
Default setting: 1 Minimum input limit: 0 Maximum input limit: 1
Changes effective immediately Protection level: MMCMD 9220 Unit: –
Data type: BOOLEAN Applies from SW: 1.1
Meaning: 1: Jog mode for JOG continuous
In jog mode (initial setting) the axis traverses for as long as the traverse key is held
down and an axis limitation has not been reached. When the traverse key is
released the axis is decelerated to zero speed and the movement comes to an end.
0: Continuous mode for JOG continuous
In continuous mode the traverse movement is started with the first rising
edge of the traverse key and continues to move when the key is released. The
axis can be stopped again by pressing the traverse key again (second rising edge).
The differences in axis traversing characteristics between the jog and continuous modes in
JOG are described in detail in Section 2.1.
SD irrelevant for ...... Incremental jogging (JOG INC)
Reference point approach (JOG REF)
41100 JOG_REV_IS_ACTIVE
SD number Revolutional feedrate for JOG active
Default setting: 1 Minimum input limit: 0 Maximum input limit: 1
Changes effective immediately Protection level: MMCMD 9220 Unit: –
Data type: BOOLEAN Applies from SW: 1.1
Meaning: 1: The axis (machine or geometry axis) is traversed in JOG mode at revolutional
feedrate (G95) referred to the revolutions of the main spindle.
The revolutional feedrate can be set as follows:
– With global SD: JOG_REV_SET_VELO (only active when SD is not equal to 0)
– With axial MD: JOG_REV_VELO
– With rapid traverse override with axial MD: JOG_REV_VELO_RAPID
0: The axis is traversed in JOG mode at linear feedrate (G94).
The linear feedrate value can be set as follows:
– With global SD: JOG_SET_VELO (only active when SD is not equal to 0)
– With axial MD: JOG_VELO
– With rapid traverse override with axial MD: JOG_VELO_RAPID
SD irrelevant for ...... Operating modes AUTOMATIC and MDA
Related to .... SD: JOG_REV_SET_VELO (JOG velocity for G95)
MD: JOG_REV_VELO (revolutional feedrate for JOG mode)
MD: JOG_REV_VELO_RAPID (JOG revolutional feedrate with rapid traverse)
SD: JOG_SET_VELO (JOG velocity for G94)
MD: JOG_VELO (JOG axis velocity)
MD: JOG_VELO_RAPID (JOG rapid traverse)
41110 JOG_SET_VELO
SD number JOG velocity for linear axes (for G94)
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective immediately Protection level: MMCMD 9220 Unit: mm/min or
rpm
Data type: DOUBLE Applies from SW: 1.1
Meaning: Value not equal to zero:
The velocity value entered applies to linear axes traversed in JOG mode if
linear feedrate (G94) is active for the relevant axis (MD: JOG_REV_IS_ACTIVE = 0).
The axis velocity is active for:
– Continuous jogging
– Incremental jogging (INC1, ... INCvar)
– Handwheel jogging
The value entered is valid for all linear axes and must not exceed the maximum
permissible axis velocity (MD: MAX_AX_VELO).
With DRF: If DRF is active, the velocity set in SD:JOG_SET_VELO must be reduced
with MD: HANDWH_VELO_OVERLAY_FACTOR.
Value = 0:
If 0 has been entered in the setting data, the active linear feedrate in JOG mode is
MD: JOG_VELO “JOG axis velocity”. Each axis can be given its own JOG velocity
with this MD (axial MD).
SD irrelevant for ...... – For linear axes if SD: JOG_REV_IS_ACTIVE = 1
– For rotary axes (SD: JOG_ROT_AX_SET_VELO) applies
Application example(s) The operator can define a JOG velocity for a particular application.
Related to .... SD: JOG_REV_IS_ACTIVE (revolutional feedrate for JOG active)
Axial MD: JOG_VELO (JOG axis velocity)
Axial MD: MAX_AX_VELO (maximum axis velocity)
Axial MD: HANDWH_VELO_OVERLAY_FACTOR (ratio JOG velocity to handwheel
velocity (DRF))
SD: JOG_ROT_AX_SET_VELO (JOG velocity for rotary axes)
41120 JOG_REV_SET_VELO
SD number JOG velocity (for G95)
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective immediately Protection level: MMCMD 9220 Unit: mm/rev.
Data type: DOUBLE Applies from SW: 1.1
Meaning: Value not equal to zero:
The velocity value entered applies to axes traversed in JOG mode if revolutional
feedrate (G95) is active for the relevant axis (MD: JOG_REV_IS_ACTIVE = 1).
The axis velocity is active for:
– Continuous jogging
– Incremental jogging (INC1, ... INCvar)
– handwheel jogging
The value entered is valid for all axes and must not exceed the maximum permissible
axis velocity (MD: MAX_AX_VELO).
Value = 0:
If 0 has been entered in the setting data, the active revolutional feedrate in JOG mode
is MD: JOG_REV_VELO “revolutional feedrate with JOG”.
Each axis can be given its own revolutional feedrate with this MD (axial MD).
SD irrelevant for ...... – For axes if SD: JOG_REV_IS_ACTIVE = 0
Application example(s) The operator can define a JOG velocity for a particular application.
Related to .... Axial SD: JOG_REV_IS_ACTIVE (revolutional feedrate for JOG active)
Axial MD: JOG_REV_VELO (revolutional feedrate for JOG mode)
Axial MD: MAX_AX_VELO (maximum axis velocity)
41130 JOG_ROT_AX_SET_VELO
SD number JOG velocity for rotary axes
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective immediately Protection level: MMCMD 9220 Unit: rpm
Data type: DOUBLE Applies from SW: 2.1
Meaning: Value not equal to zero:
The velocity entered applies to rotary axes in JOG mode (incontinuous mode,
in incremental mode, in jogging with handwheel).
The value entered is common to all rotary axes and must not exceed the
maximum permissible axis velocity (MD: MAX_AX_VELO).
Value = 0:
If a value of 0 is entered in the setting data, then the velocity in JOG mode for rotary
axes is the setting in axial MD: JOG_VELO (JOG axis velocity). In this way, it is
possible to define a separate JOG velocity for every axis.
Application example(s) The operator can define a JOG velocity for a particular application.
Related to .... MD: JOG_VELO (JOG axis velocity)
MD: MAX_AX_VELO (maximum axis velocity)
MD: HANDWH_VELO_OVERLAY_FACTOR (ratio JOG velocity to handwheel velocity
(DRF))
41200 JOG_SPIND_SET_VELO
SD number JOG velocity for spindles
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective immediately Protection level: MMCMD 9220 Unit: rpm
Data type: DOUBLE Applies from SW: 1.1
Meaning: Value not equal to zero:
The velocity entered applies to spindles in JOG mode if they are traversed manually
using the “traversing keys plus and minus”.
The velocity setting is active in:
– Continuous jogging
– Incremental jogging (INC1, ... INCvar)
– handwheel jogging
The value entered is valid for all spindles and must not exceed the maximum
permissible velocity (MD: MAX_AX_VELO).
Value = 0:
If 0 has been entered in the setting data, the active JOG velocity is
MD: JOG_VELO (JOG axis velocity). Each axis can be given its own JOG velocity
with this MD (axial MD).
When the spindle is traversed in JOG mode, the maximum velocity of the active gear stage
(MD: GEAR_STEP_VELO_LIMIT) is taken into account.
SD irrelevant for ...... Axes
Application example(s) The operator can define a JOG velocity for the spindles for a particular application.
Related to .... Axial MD: JOG_VELO (JOG axis velocity)
MD: GEAR_STEP_MAX_VELO_LIMIT (maximum velocity of gear stages)
References /FB/, S1, “Spindles”
42650 CART_JOG_MODE
MD number Coordinate system for cart. manual travel
Default setting: 0x0 Minimum input limit: 0 Maximum input limit: 0x0404
Changes effective IMMEDIATELY Protection level: 7 / 7 Unit: –
Data type: DWORD Applies from SW: 6.3
Meaning: This allows the reference coordinate system to be set for Cartesian manual travel.
Bits 0 to 7 are provided for selecting the coordinate system for the translation, Bits 8 to 15
for selecting the reference system for the orientation.
If no bit is set, or only one bit either for the translation or for the orientation, the Cartesian
manual travel is not active.
This means that one bit must always be set for the translation and one bit set for the
orientation. If more than one bit is set for the translation or for the orientation, the Cartesian
manual travel is not active either.
Notes
Signal Descriptions 5
5.1 General signals
0 0 0 0 0 0 0 0 –
0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 1 0 2
With machine axes (IS “Machine axis” = 1), the IS “Channel number geometry axis for
handwheel 1, 2, 3” has no meaning.
For further information, see IS “Axis number for handwheel 1, 2, 3”.
Related to .... IS “Axis number of handwheel 1, 2, 3” (DB10, DBB100 ff)
IS “Handwheel selected” (DB10, DBX100.6 ff)
IS “Machine axis” (DB10, DBX100.7 ff)
IS “Activate handwheel” (DB21, ... DBX12.0 – 12.2 ff)
Application example(s) If DB10, DBB97 = 2, then handwheel 1 is assigned to channel 2.
DB10
DBB100, 101, 102, Axis number for handwheel 1, 2 or 3
Bits 0 – 4
Data Block Signal(s) from NC (MMC –> PLC)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Significance of signal The operator can assign an axis to every handwheel directly via the operator panel front. To
do so, he defines the required axis (e.g. X).
The basic PLC program provides the number of the axis plus the information ’machine axis
or geometry axis’ (IS “machine axis”) as MMC interface signals.
The basic PLC program sets the interface signal “Activate handwheel” for the defined axis.
Depending on the setting in the MMC interface signal “machine axis”, either the interface for
the geometry axis or for the machine axis is used.
The following must be noted when assigning the axis designation to the axis number:
IS “Machine axis” = 1; i.e. machine axis:
The assignment is made via MD: AXCONF_MACHAX_NAME_TAB[n]
(machine axis name).
IS “Machine axis” = 0; i.e. geometry axis:
The assignment is made via MD: AXCONF_GEOAX_NAME_TAB[n]
(geometry axis name in channel). IS “Channel number geometry axis handwheel n”
defines the channel assigned to the handwheel.
For following codes are used for the axis number:
0 0 0 0 0 –
0 0 0 0 1 1
0 0 0 1 0 2
0 0 0 1 1 3
0 0 1 0 0 4
0 0 1 0 1 5
0 0 1 1 0 6
0 0 1 1 1 7
0 1 0 0 0 8
Related to .... IS “Channel number geometry axis handwheel n” (DB10, DBX97 ff)
IS “Handwheel selected” (DB10, DBX100.6 ff)
IS “Machine axis” (DB10, DBX100.7 ff)
IS “Activate handwheel” (DB21, ... DBX12.0 to DBX12.2 ff)
IS “Activate handwheel” (DB31, ... DBX4.0 to DBX4.2)
MD: AXCONF_MACHAX_NAME_TAB [n] (machine axis name)
MD: AXCONF_GEOAX_NAME_TAB[n] (name of the geometry axis in the channel)
DB10
DBX100.6; 101.6; 102.6 Handwheel selected (for handwheel 1, 2 or 3)
Data Block Signal(s) from NC (MMC –> PLC)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The operator has selected the handwheel for the defined axis via the operator panel front
transition 0 –––> 1 (i.e. activated). This information is made available by the basic PLC program at the MMC
interface.
This means that the interface signal “Activate handwheel” is set to ’1’ for the defined axis by
the basic PLC program.
The associated axis is also displayed on the MMC interface (IS: “Axis number” and IS “Ma-
chine axis”).
As soon as the handwheel is active, the axis can be traversed in JOG mode with the hand-
wheel (IS “Handwheel active”).
Signal state 0 or signal The operator has disabled the handwheel for the defined axis via the operator panel front.
transition 1 –––> 0 This information is made available by the basic PLC program at the MMC interface.
Now the interface signal “Activate handwheel” can be reset for the defined axis by the basic
PLC program.
Related to .... IS “Axis number” (DB10, DBB100 ff)
IS “Machine axis” (DB10, DBX100.7 ff)
IS “Activate handwheel” (DB21, ... DBX12.0 – DBX12.2 ff)
IS “Handwheel active” (DB21, ... DBX40.0 – DBX40.2 ff)
IS “Activate handwheel” (DB31, ... DBX4.0 – DBX4.2)
IS “Channel number geometry axis for handwheel 1, 2 or 3” (DB10, DBB97 ff)
DB10
DBX100.7; 101.7; 102.7 Machine axis (for handwheel 1, 2 or 3)
Data Block Signal(s) from NC (MMC –> PLC)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The operator has assigned an axis to the handwheel (1, 2, 3) directly on the operator panel
transition 0 –––> 1 front. This axis is a machine axis.
For further information see IS “Axis number”.
Signal state 0 or signal The operator has assigned an axis to the handwheel (1, 2, 3) directly on the operator panel
transition 1 –––> 0 front. This axis is a geometry axis.
For further information see IS “Axis number”.
Related to .... IS “Axis number” (DB10, DBB100 ff)
IS “Handwheel selected” (DB10, DBX100.6 ff)
IS “Channel number geometry axis for handwheel 1, 2 or 3” (DB10, DBB97 ff)
DB
Signals to channel
21, ...
DBB Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Activate Activate Activate Activate Execution
Activate Activate
0 dry run single traverse traverse from exter-
M01 DRF
feed block forwards backwards nal source
Geometry axis 1
Traversing keys Rapid tra- Traversing Activate handwheel
12 verse Feed stop
+ – key lock 3 2 1
override
Geometry axis 1
Machine function
13
Continu- Variable 10000 1000 100 10 1
ous INC INC INC INC INC INC
Geometry axis 2
Traversing keys Rapid tra- Traversing Activate handwheel
16 verse Feed stop
+ – key lock 3 2 1
override
Geometry axis 2
Machine function
17
Continu- Variable 10000 1000 100 10 1
ous INC INC INC INC INC INC
Geometry axis 3
Traversing keys Rapid tra- Traversing Activate handwheel
20 verse Feed stop
+ – key lock 3 2 1
override
Geometry axis 3
Machine function
21
Continu- Variable 10000 1000 100 10 1
ous INC INC INC INC INC INC
DB21, ...
DBX0.3 Activate DRF
Data Block Signal(s) to channel (PLC –> NCK)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The function DRF is selected.
transition 0 –––> 1 The function can either be selected directly from the PLC user program or from the operator
panel front via MMC interface signal “DRF selected”. This MMC interface signal is either
converted by the basic PLC program or the PLC user program to interface signal “Activate
DRF”.
As soon as the function DRF is active, DRF offset can be modified in operating modes
AUTOMATIC or MDA.
Signal state 0 or signal The function is not selected.
transition 1 –––> 0
Signal irrelevant for ... ... JOG mode
Application example(s) The DRF function can be enabled specifically by the PLC user program with IS “Activate
DRF”.
Related to .... IS “DRF selected” (DB21, ... DBX24.3)
DB21, ...
DBB12; 16; 20 Bits 0–2 Activate handwheel (1 to 3) for geometry axis (1,2,3)
Data Block Signal(s) to channel (PLC –> NCK)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal These machine data determine whether this geometry axis is assigned to handwheel 1, 2, 3
transition 0 –––> 1 or no handwheel.
Only one handwheel can be assigned to an axis at any one time.
If several “Activate handwheel” interface signals are set, priority
“Handwheel 1” before “Handwheel 2” before “Handwheel 3” applies.
DB21, ...
DBX12.4; 16.4; 20.4 Traverse key disable for geometry axis (1,2,3)
Data Block Signal(s) to channel (PLC –> NCK)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The traverse keys plus and minus have no effect on the geometry axes in question. It is
transition 0 –––> 1 thus not possible to traverse the geometry axis in JOG with the traverse keys on the ma-
chine control panel.
If the traverse key disable is activated during a traverse movement, the geometry axis is
stopped.
Signal state 0 Traverse keys plus and minus are enabled.
Application example(s) It is thus possible, depending on the operating mode, to disable manual traverse of the
geometry axis in JOG mode with the traverse keys from the PLC user program.
Related to .... IS “Traverse key plus” and “Traverse key minus” for geometry axis (DB21, ... DBX12.7 or
DBX12.6 ff)
DB21, ...
DBX12.5; 16.5; 20.5 Rapid traverse override for geometry axis (1,2,3)
Data Block Signal(s) to channel (PLC –> NCK)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal If interface signal “Rapid traverse override” is set together with “Traverse key plus” and
transition 0 –––> 1 “Traverse key plus”, the geometry key in question traverses at rapid traverse.
The rapid traverse feedrate is defined in machine data JOG_VELO_RAPID.
Rapid traverse override is active in the following JOG modes:
– Continuous jogging
– Incremental jogging
If rapid traverse override is active, the velocity can be modified with the rapid traverse over-
ride switch.
Signal state 0 or signal The geometry axis traverses at the defined JOG velocity (SD: JOG_SET_VELO or MD:
transition 1 –––> 0 JOG_VELO).
Signal irrelevant for ... ... – Operating modes AUTOMATIC and MDA
– Reference point approach (JOG mode)
Related to .... IS “Traverse key plus” and “Traverse key minus” for geometry axis (DB21, ... DBX12.7 or
DBX12.6 ff)
References /FB/, V1, “Feeds”
DB21, ...
DBX12, 16, 20 Plus and minus traverse keys for geometry axis (1,2,3)
Bits 7, 6
Data Block Signal(s) to channel (PLC –> NCK)
Edge evaluation: yes Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The selected geometry axis can be traversed in both directions in JOG mode with the tra-
transition 0 –––> 1 verse keys plus and minus.
Depending on the active machine function and the setting “Jog or continuous mode” (SD:
JOG_CONT_MODE_LEVELTRIGGRD for JOG continuous and MD:
JOG_INC_MODE_LEVELTRIGGRD for JOG INC), the signal transition will cause different
reactions.
Case 1: Continuous jogging with jog mode
The geometry axis traverses in the direction concerned as long as the
interface signal is set to 1 (and as long as the axis position has not
reached an activated limitation).
Case 2: Continuous jogging with continuous mode
On the first signal edge change from 0 1 the geometry axis starts
to traverse in the relevant direction. This traversing movement
still continues when the edge changes from 1 0. A new
signal edge change from 0 1 (same traversing direction!)
stops the traversing movement.
Case 3: Incremental jogging with jog mode
With signal 1 the geometry axis starts to traverse at the set increment.
If the signal changes to the 0 state before the increment is traversed,
the traversing movement is interrupted. When
the signal state changes to 1 again the movement is continued.
The geometry axis can be stopped and started
several times as described above until the increment has been completely
traversed.
Case 4: Incremental jogging with continuous mode
On the first signal edge change from 0 1 the geometry axis starts to
traverse at the set increment. If the same traversing signal is applied and
the edge changes from 0 again before the geometry axis has traversed
the increment, the traverse movement is aborted.
The increment is not traversed to the end.
If both traverse signals (plus and minus) are set at the same time, no movement occurs, or
any current movement is aborted!
The effect of the traverse keys can be disabled for every geometry axis individually with the
PLC interface signal “Traverse key disable”.
Notice! In contrast to machine axes, only one axis can be traversed at a time with
the traverse keys in the case of geometry axes.
Alarm 20062 is triggered if an attempt is made to
traverse more than one axis with the traverse keys.
Signal state 0 or signal See cases 1 to 4 above
transition 1 –––> 0
Signal irrelevant for ... ... Operating modes AUTOMATIC and MDA
Special cases, errors, ... The geometry axis cannot be traversed in JOG mode:
... – If it is already being traversed via the axial PLC interface (as a machine axis).
– If another geometry axis is already being traversed with the traverse keys.
Alarm 20062 “Axis already active” is output.
Related to .... IS “Traverse keys plus and minus” for machine axes (DB31, ... DBX8.7 or DBX8.6)
IS “Traverse key disable for geometry axes” (DB21, ... DBX12.4 ff)
DB
Signals from channel
21–28
DBB Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
33 Handwheel
override
(MMC –> PLC) active
Geometry axis 1
Motion command Traversing request Handwheel active
40
plus minus plus minus 3 2 1
Geometry axis 1
Active machine function
41
Continu- Variable 10000 1000 100 10 1
ous INC INC INC INC INC INC
Geometry axis 2
Motion command Traversing request Handwheel active
46
plus minus plus minus 3 2 1
Geometry axis 2
Active machine function
47
Continu- Variable 10000 1000 100 10 1
ous INC INC INC INC INC INC
Geometry axis 3
Motion command Traversing request Handwheel active
52
plus minus plus minus 3 2 1
Geometry axis 3
Active machine function
53
Continu- Variable 10000 1000 100 10 1
ous INC INC INC INC INC INC
DB21, ...
DBX24.3 DRF selected
Data Block Signal(s) from channel (MMC –> PLC)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The operator has selected DRF on the operator panel front. The PLC program (basic PLC
transition 0 –––> 1 program or user program) transfers this MMC interface signal as IS “Activate DRF” after
logical combination.
As soon as DRF is active, the DRF offset can be changed in AUTOMATIC or MDA mode
using the handwheel assigned to the axis.
Signal state 0 or signal The operator has not selected DRF on the operator panel front.
transition 1 –––> 0
Signal irrelevant for ... ... JOG mode
Related to .... IS: “Activate DRF” (DB21, ... DBX0.3)
DB21, ...
DBX37 Contour handwheel active (1 to 3)
Bits 0–2
Data Block Signal(s) from channel (NCK –> PLC)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 4.3
Signal state 1 or signal These PLC interface signals report whether this geometry axis is assigned to contour hand-
transition 0 –––> 1 wheel 1, 2 or 3 or to no contour handwheel.
Only one contour handwheel can be assigned to an axis at any one time.
If several interface signals “Contour handwheel active” are set, priority
’Contour handwheel 1’ before ’Contour handwheel 2’ before ’Contour handwheel 3’
applies.
If the assignment is active, the geometry axis can be traversed in JOG mode with the con-
tour handwheel or a DRF offset can be generated in AUTOMATIC or MDA modes.
Signal state 0 or signal Neither contour handwheel 1, 2 nor 3 is assigned to this geometry axis.
transition 1 –––> 0
Related to ....
DB21, ...
DBX40, 46, 52 Handwheel active (1 to 3) for geometry axis
Bits 0–2
Data Block Signal(s) from channel (NCK –> PLC)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal These PLC interface signals report whether this geometry axis is assigned to handwheel 1,
transition 0 –––> 1 2 or 3 or to no handwheel.
Only one handwheel can be assigned to an axis at any one time.
If several “Activate handwheel” interface signals are set, priority
“Handwheel 1” before “Handwheel 2” before “Handwheel 3” applies.
If the assignment is active, the geometry axis can be traversed in JOG mode with the hand-
wheel or a DRF offset can be generated in AUTOMATIC or MDA modes.
Signal state 0 or signal Neither handwheel 1, 2 nor 3 is assigned to this geometry axis.
transition 1 –––> 0
Related to .... IS “Activate handwheel” (DB21, ... DBX12.0 to DBX12.2 ff)
DB21, ...
DBX40, 46, 52 Plus and minus traversing request (for geometry axis)
Bit 5, Bit 4
Data Block Signal(s) from axis/spindle (NCK –> PLC)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 7.2
The signal is the same as the travel command signal in the earlier version.
Signal state 1 or signal A traverse movement of the axis is to be executed in one or the other direction.
transition 0 –––> 1 Depending on the mode selected, the command is triggered in different ways:
– JOG mode: with the plus or minus traverse key
– REF mode: with the traverse key that takes the axis to the reference
point
– AUTO/MDA mode: a program block containing a coordinate value for the
axis in question is executed.
Signal state 0 or signal A travel command in the relevant axis direction has not been given or a traverse movement
transition 1 –––> 0 has been completed.
JOG mode:
– The travel command is reset depending on the current setting “jog or
continuous mode” (see interface signal “Traverse keys plus and minus”).
For JOG with handwheel.
REF mode:
– When the reference point is reached
AUTO/MDA mode:
– The program block has been executed (and the next block does not
contain any coordinate values for the axis in question)
– Abort with “RESET”, etc.
– IS “Axis disable” is active
DB21, ...
DBX40, 46, 52 Plus and minus travel commands (for geometry axis)
Bits 7, 6
Data Block Signal(s) from channel (NCK –> PLC)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
The signal operates as described if bit 0 in MD 17900: VDI_FUNCTION_MASK is set to 0. If bit 0 in the MD is set
to 1, then the signal changes to 1 only if the axis is actually moving. The signal traversing request plus/minus
DB21, ... DBX 40, 46, 52 bits 5, 4, which is always output, has the same effect as signal travel command plus/
mins when MD 17900 bit 0 = 0.
Signal state 1 or signal A traverse movement of the axis is to be executed in one or the other direction. Depending
transition 0 –––> 1 on the mode selected, the command is triggered in different ways:
– JOG mode: with the plus or minus traverse key
– REF mode: with the traverse key that takes the axis to the reference point
– AUTO/MDA mode: the program block containing a coordinate value for the axis
in question is executed.
Signal state 0 or signal A travel command in the relevant axis direction has not been given or a traverse movement
transition 1 –––> 0 has been completed.
JOG mode:
– The travel command is reset depending on the current setting “jog or continuous
mode” (see interface signal “Traverse keys plus and minus”).
– While traversing with the handwheel.
REF mode:
When the reference point is reached
AUTO/MDA mode:
– The program block has been executed (and the next block does not contain any
coordinate values for the axis in question)
– Abort with “RESET”, etc.
– IS “Axis disable” is active
Application example(s) To release clamping of axes with clamping (e.g. on a rotary table).
Note: If the clamping is not released until the travel command is given, these
axes cannot be operated under continuous path control!
Related to .... IS “Traverse key plus” and “Traverse key minus” for geometry axis (DB21, ... DBX12.7 or
DBX12.6 ff)
IS “Traversing request plus/minus” (DB21, ... DBX 40, 46, 52 Bit 5, 4)
DB21, ...
DBX332, 336, 340 Plus and minus traversing request (for orientation axis)
Bit 5, Bit 4
Signal state 0 or signal A travel command in the relevant axis direction has not been given or a traverse movement
transition 1 –––> 0 has been completed.
JOG mode:
– The travel command is reset depending on the current setting “jog or
continuous mode” (see interface signal “Traverse keys plus and minus”).
For JOG with handwheel.
...REF mode:
– The program block has been executed (and the next block does not
contain any coordinate values for the axis in question)
– Abort with “RESET”, etc.
– IS “Axis disable” is active
DB21, ...
DBX332, 336, 340 Plus and minus travel command (for orientation axis)
Bit 7, Bit 6
Data Block Signal(s) from channel (NCK –> PLC)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
The signal operates as described if bit 0 in MD 17900: VDI_FUNCTION_MASK is set to 0. If bit 0 in the MD is set
to 1, then the signal changes to 1 only if the axis is actually moving. The signal traversing request plus/minus
DB21, ... DBX 332, 336, 340 bits 5, 4, which is always output, has the same effect as signal travel command plus/
mins when MD 17900 bit 0 = 0.
Signal state 1 or signal A traverse movement of the axis is to be executed in one or the other direction. Depending
transition 0 –––> 1 on the mode selected, the command is triggered in different ways:
– JOG mode: with the plus or minus traverse key
– REF mode: with the traverse key that takes the axis to the reference point
– AUTO/MDA mode: the program block containing a coordinate value for the axis
in question is executed.
DB21, ...
DBX332, 336, 340 Plus and minus travel command (for orientation axis)
Bit 7, Bit 6
Data Block Signal(s) from channel (NCK –> PLC)
Signal state 0 or signal A travel command in the relevant axis direction has not been given or a traverse movement
transition 1 –––> 0 has been completed.
JOG mode:
– The travel command is reset depending on the current setting “jog or continuous
mode” (see interface signal “Traverse keys plus and minus”).
– While traversing with the handwheel.
REF mode:
When the reference point is reached
AUTO/MDA mode:
– The program block has been executed (and the next block does not contain any
coordinate values for the axis in question)
– Abort with “RESET”, etc.
– IS “Axis disable” is active
Application example(s) To release clamping of axes with clamping (e.g. on a rotary table).
Note: If the clamping is not released until the travel command is given, these
axes cannot be operated under continuous path control!
Related to .... IS “Traverse key plus” and “Traverse key minus” for geometry axis (DB21, ... DBX12.7 or
DBX12.6 ff)
IS “Traversing request plus/minus” (DB21, ... DBX 332, 336, 340 Bit 5, 4)
Signals to channel (DB21, ... ) Channel 2 Signals from channel (DB21, ... )
Channel 1
Activate handwheel x as contour
handwheel (DBX30.0, 30.1, 30.2) Handwheel x active as contour
Contour handwheel (DBX37.0, 37.1, 37.2)
handwheel
Simulation contour handwheel ON
(DBX30.3, 30.4)
During simulation, the feedrate is not determined by the contour handwheel, but the axis is
traversed along the contour at the programmed feedrate.
If the function is deselected, the current axis movement is decelerated along a braking
ramp.
When the traversing direction is reversed, the current axis movement is decelerated along
a braking ramp and the axis then traversed in the opposite direction.
Special cases, errors, ... Simulation is only effective in AUTOMATIC mode and can only be activated when the con-
... tour handwheel is activated.
DB 10
DBX100.5 Define handwheel 1 as contour handwheel
DBX101.5 Define handwheel 2 as contour handwheel
DBX102.5 Define handwheel 3 as contour handwheel
Data Block Signal(s) from MMC (MMC –> PLC)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW:
840D SW4.1, 810D SW2.1
Description These signals indicate which handwheel is defined as the contour handwheel via the MMC.
To ensure that the handwheel defined via the MMC can operate as the contour handwheel,
the appropriate signal must be gated with IS “Activate handwheel x as contour handwheel”
(DB21, 22, ... ,DBX30.0, 30.1, 30.2).
Special cases, errors, ... Depending on the settings of parameter HWheelMMC in FB1 of the basic PLC program,
... these signals are either supplied by the basic program or must be supplied by the PLC user
program.
Related to .... IS “Activate handwheel x as contour handwheel” (DB21, 22, ..., DBX30.0, 30.1, 30.2)
FB1 parameter HWheelMMC
DB
Signals to axis/spindle
31, ...
DBB Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Traversing keys Rapid tra- Traversing Feed hold Activate handwheel
4 verse Spindle
plus minus key lock 3 2 1
override hold
Machine function
5 Continuous Variable 10000 1000 100 10 1
INC INC INC INC INC INC
DB31, ...
DBX4.4 Traverse key disable
Data Block Signal(s) to axis/spindle (PLC –> NCK)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The traverse keys plus and minus have no effect on the machine axes in question. It is thus
transition 0 –––> 1 not possible to traverse the machine axis in JOG with the traverse keys on the machine
control panel.
If the traverse key disable is activated during a traverse movement, the machine axis is
stopped.
Signal state 0 or signal Traverse keys plus and minus are enabled.
transition 1 –––> 0
Application example(s) It is thus possible, depending on the operating mode, to disable manual traverse of the
machine axis in JOG mode with the traverse keys from the PLC user program.
Related to .... IS “Traverse key plus” and “Traverse key minus” (DB31, ... DBX4.7 or DBX4.6)
DB31, ...
DBX4.5 Rapid traverse override
Data Block Signal(s) to axis/spindle (PLC –> NCK)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal If interface signal “Rapid traverse override” is set together with “Traverse key plus” and
transition 0 –––> 1 “Traverse key minus”, the machine axis in question traverses at rapid traverse.
The rapid traverse feedrate is defined in machine data JOG_VELO_RAPID.
Rapid traverse override is active in the following JOG modes:
– Continuous jogging
– Incremental jogging
If rapid traverse override is active, the velocity can be modified with the rapid traverse over-
ride switch.
Signal state 0 or signal The machine axis traverses at the defined JOG velocity (SD: JOG_SET_VELO or MD:
transition 1 –––> 0 JOG_VELO).
Signal irrelevant for ... ... – Operating modes AUTOMATIC and MDA
– Reference point approach (JOG mode)
Related to .... IS “Traverse key plus” and “Traverse key minus” (DB31, ... DBX4.7 or DBX4.6)
IS “Axial feedrate/spindle speed override” (DB31, ... DBB0)
DB31, ...
DBX4.7, 4.6 Plus and minus traverse keys
Data Block Signal(s) to axis/spindle (PLC –> NCK)
Edge evaluation: yes Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The selected machine axis can be traversed in both directions in JOG mode with the tra-
transition 0 –––> 1 verse keys plus and minus.
Depending on the active machine function and the setting “Jog or continuous mode” (SD:
JOG_CONT_MODE_LEVELTRIGGRD for JOG continuous and MD:
JOG_INC_MODE_LEVELTRIGGRD for JOG INCR), the signal transition will cause differ-
ent reactions.
Case 1: Continuous jogging with jog mode
The machine axis traverses in the direction concerned as long as the
interface signal is set to 1 (and as long as the axis position has not
reached an activated limitation).
Case 2: Continuous jogging with continuous mode
On the first signal edge change from 0 1 the machine axis starts
to traverse in the relevant direction. This traversing movement
still continues when the edge changes from 1 0. A new
signal edge change from 0 1 (same traversing direction!)
stops the traversing movement.
Case 3: Incremental jogging with jog mode
With signal 1 the machine axis starts to traverse at the set increment.
If the signal changes to the 0 state before the increment is traversed,
the traversing movement is interrupted. When the signal state changes to 1
again the movement is continued.
The axis can be stopped and started several times as described above
until it has traversed the complete increment.
Case 4: Incremental jogging with continuous mode
On the first signal edge change from 0 1 the machine axis starts to
traverse the set increment. If the same traversing signal is applied
and the edge changes from 0 1 again before the axis has traversed the
increment, the traverse movement is aborted.
The increment is not traversed to the end.
If both traverse signals (plus and minus) are set at the same time there is no movement or
a current movement is aborted.
The effect of the traverse keys can be disabled for every machine axis individually with the
PLC interface signal “Traverse key disable”.
Signal state 0 or signal See cases 1 to 4 above
transition 1 –––> 0
Signal irrelevant for ... ... Operating modes AUTOMATIC and MDA
Application example(s) The machine axis cannot be traversed in JOG mode if it is already being traversed via the
channel-specific PLC interface (as a geometry axis).
Alarm 20062 is signaled.
Special cases, ...... Indexing axes
Related to .... IS “Traverse keys plus and minus for geometry axes” (DB21, ... DBX12.7 and DBX12.6 ff)
IS “Traverse key disable” (DB31, ... DBX4.4 )
DB31, ...
DBX5.6 Continuous machine function
Data Block Signal(s) to axis/spindle (PLC –> NCK)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The machine function “Continuous jogging” is selected. The associated machine axis can
transition 0 –––> 1 be traversed with the traverse keys plus and minus in JOG mode.
Signal state 0 or signal Machine function “Continuous jogging” is not selected.
transition 1 –––> 0
Related to .... IS “Active machine function INC 1,..., continuous” (DB31, ... DBB65)
IS “Machine function INC1,...,INC10000” (DB31, ... DBB5)
DB
Signals from axis/spindle
31, ...
DBB Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Motion command Traversing request Handwheel active
64
plus minus plus minus 3 2 1
Active machine function
65 Continu- Variable 10000 1000 100 10 1
ous INC INC INC INC INC INC
DB31, ...
DBX64.0; 64.1; 64.2 Handwheel active (1 to 3)
Data Block Signal(s) from axis/spindle (NCK –> PLC)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal These PLC interface signals provide feedback whether the machine axis is assigned to
transition 0 –––> 1 handwheel 1, 2, 3 or no handwheel.
Only one handwheel can be assigned to an axis at any one time.
If several “Activate handwheel” interface signals are set, priority “Handwheel 1” before
“Handwheel 2” before “Handwheel 3” applies.
If the assignment is active, the machine axis can be traversed with the handwheel in JOG
mode or a DRF offset can be generated in AUTOMATIC or MDA mode.
Signal state 0 or signal Neither handwheel 1, 2 nor 3 is assigned to this geometry axis.
transition 1 –––> 0
Related to .... IS “Activate handwheel” (DB31, ... DBX4.0 to DBX4.2)
IS “Handwheel selected” (DB10, DBB100.6 ff)
DB31, ...
DBX64.5, 64.4 Plus and minus traversing request
Data Block Signal(s) from axis/spindle (NCK –> PLC)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 7.2
The signal is the same as the travel command signal in the earlier version.
Signal state 1 or signal A traverse movement of the axis is to be executed in one or the other direction. Depending
transition 0 –––> 1 on the mode selected, the command is triggered in different ways:
– JOG mode: with the plus or minus traverse key
– REF mode: with the traverse key that takes the axis to the reference point
– AUTO/MDA mode: the program block containing a coordinate value for the axis
in question is executed.
Signal state 0 or signal A travel command in the relevant axis direction has not been given or a traverse movement
transition 1 –––> 0 has been completed.
JOG mode:
– The travel command is reset depending on the current setting “jog or continuous
mode” (see interface signal “Traverse keys plus and minus”).
– While traversing with the handwheel.
– REF mode: When the reference point is reached
AUTO/MDA mode:
– The program block has been executed (and the next block does not contain
any coordinate values for the axis in question)
– Abort with “RESET”, etc.
– IS “Axis disable” is active
Application example(s) To release clamping of axes with clamping (e.g. on a rotary table).
Note: If the clamping is not released until the travel command is given, these
axes cannot be operated under continuous path control!
Related to .... IS “Traverse key plus” and “Traverse key minus” (DB31, ... DBX4.7 or DBX4.6)
IS “Travel command plus and minus” DB31, ... DBX64.7 or DBX64.6
DB31, ...
DBX64.7, 64.6 Plus and minus traverse keys
Data Block Signal(s) from axis/spindle (NCK –> PLC)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
The signal operates as described if bit 0 in MD 17900: VDI_FUNCTION_MASK is set to 0. If bit 0 in the MD is set
to 1, then the signal changes to 1 only if the axis is actually moving. The signal traversing request plus/minus
DB31, ... DBX 64, 46, 52 bits 5, 4, which is always output, has the same effect as signal travel command plus/
mins when MD 17900 bit 0 = 0.
Signal state 1 or signal A traverse movement of the axis is to be executed in one or the other direction. Depending
transition 0 –––> 1 on the mode selected, the command is triggered in different ways:
– JOG mode: with the plus or minus traverse key
– REF mode: with the traverse key that takes the axis to the reference point
– AUTO/MDA mode: the program block containing a coordinate value for the axis
in question is executed.
Signal state 0 or signal A travel command in the relevant axis direction has not been given or a traverse movement
transition 1 –––> 0 has been completed.
JOG mode:
– The travel command is reset depending on the current setting “jog or continuous
mode” (see interface signal “Traverse keys plus and minus”).
– While traversing with the handwheel.
– REF mode: When the reference point is reached
AUTO/MDA mode:
– The program block has been executed (and the next block does not contain
any coordinate values for the axis in question)
– Abort with “RESET”, etc.
– IS “Axis disable” is active
Application example(s) To release clamping of axes with clamping (e.g. on a rotary table).
Note: If the clamping is not released until the travel command is given, these
axes cannot be operated under continuous path control!
Related to .... IS “Traverse key plus” and “Traverse key minus” (DB31, ... DBX4.7 or DBX4.6)
IS “Traversing request plus and minus” (DB31, ... DBX64.5 or DBX.4)
Notes
Example 6
None
J
Channel-specific
21, ... 40.7, 40.6 Travel command plus and travel command minus
46.7, 46.6
52.7, 52.6
21, ... 41, 47, 53 Geometry axis active machine function INC1 ... continuous jogging
21, ... 33.3 Handwheel override active for path axes (SW2 and higher)
21, ... 30.0 Activate handwheel 1 as contour handwheel
30.1 Activate handwheel 2 as contour handwheel
30.2 Activate handwheel 3 as contour handwheel
21, ... 30.3 Simulation contour handwheel on
21, ... 30.4 Negative direction simulation contour handwheel
21, ... 37.0 Handwheel 1 active as contour handwheel
37.1 Handwheel 2 active as contour handwheel
37.2 Handwheel 3 active as contour handwheel
21, ... 100.5 Handwheel 1 active as contour handwheel
101.5 Handwheel 2 active as contour handwheel
102.5 Handwheel 3 active as contour handwheel
21, ... 332.5, 332.4 Orientation axis travel request
336.5, 336.4
340.5, 340.4
Axis/spindle-specific
31, ... 0 Feedrate/spindle override V1
31, ... 1.7 Override active V1
31, ... 2.2 Axial delete distance-to-go
31, ... 4.2, 4.1, 4.0 Activate handwheel 1, 2, 3
31, ... 4.4 Traversing key lock
31, ... 4.5 Rapid traverse override
31, ... 4.7, 4.6 Traverse keys plus and traverse keys minus
31, ... 5.6 Continuous machine function
31, ... Continuous machine
5.6, 5.5, 5.4, 5.3, function, Var. INC, 10000 INC,
5.2, 5.1, 5.0 1000 INC, 100 INC, 10 INC, 1 INC
31, ... 60.7, 60.6 Position reached with exact stop coarse/fine B1
31, ... 64.2, 64,1, 64.0 Handwheel active (3, 2, 1)
31, ... 64.5, 64.4 Axis/spindle travel request plus and minus
31, ... 64.7, 64.6 Travel command plus and travel command minus
31, ... 65 Active machine function INC1 ... continuous jogging
31, ... 62.1 Handwheel override active, for positioning axes and concurrent posi-
tioning axes (SW2 and higher)
7.4 Alarms
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, “Diagnostics Guide”
or in the Online help.
J
Compensations (K3)
Brief Description 1
Reason The accuracy of machine tools is impaired as a result of deviations from the
ideal geometry, power transmission faults and measuring system errors. Tem-
perature differences and mechanical forces often result in great reductions in
precision when large workpieces are machined.
Some of these deviations can usually be measured during installation and then
compensated for during operation on the basis of values read by the positional
actual-value encoder and other sensory devices.
Compensation CNCs provide functions for compensation of the essential causes of error to
meet the increasing demand for precision in machine tools.
For SINUMERIK 840D the following axis-specific compensations can be acti-
vated:
S Temperature compensation
S Backlash compensation
S Interpolatory compensation
– LEC
(leadscrew error and measuring system error compensation)
– Beam sag compensation
(compensation of beam sag and angular errors)
Activation The compensations are active in all operating modes of the control as soon as
the input data are available. Any compensations that require the position actual
value are not activated until the axis reaches the reference point.
Position display The normal actual-value and setpoint position displays ignore the compensation
values and show the position values of an “ideal machine”. The compensation
values are output in the “Service axes” display in the “Diagnosis” operating
area.
J
Detailed Description 2
2.1 Temperature compensation
2.1.1 General
Deformation due Heat generated by the drive equipment or high ambient temperatures (e.g.
to temperature caused by sunlight, drafts) cause the machine base and parts of the machinery
effects to expand. The degree of expansion depends on the temperature and the ther-
mal conductivity of the machine parts.
Effects Owing to the thermal expansion of the machinery, the actual positions of the
axes change depending on temperature. Since this phenomenon impairs the
accuracy of the machined workpieces, it is possible to compensate such tem-
perature-related changes in actual value position (so-called temperature com-
pensation).
Sensors Apart from the position actual values supplied by existing encoders, tempera-
ture compensation functions generally require a number of additional tempera-
ture sensors to acquire a temperature profile.
As temperature-related changes take a relatively long time to have an effect,
acquisition and preprocessing of the temperature profile can be executed by the
PLC in one-minute cycles.
Error curves In order to implement temperature compensation, the actual-value offsets over
the positioning range of the axis must be measured at a given temperature (T)
and plotted. This produces an error curve for this temperature value. Error
curves must be produced for different temperatures.
Error curve The error curve characteristic shown in the figure below is frequently obtained.
characteristic If a position reference point P0 is chosen for the axis, an offset in the reference
point (corresponds to the “position-independent component” of the temperature
compensation) can be observed as the temperature changes, and because of
the change in length an additional offset in the other position points which in-
creases with the distance to the reference point (corresponds to the “position-
dependent component” of the temperature compensation).
The error curve for a given temperature T can generally be represented with
sufficient accuracy by a straight line with a temperature dependent gradient and
reference position (see figure below).
Error
deviation
–x 0 +x
Compensation The compensation value DKx is calculated on the basis of current actual
equation position Px of this axis and temperature T according to the following equation:
DKx = K0 (T) + tanb (T) * (Px – P0)
Key to letters (see figure below):
DKx Temperature compensation value of axis at position Px
K0 Position-independent temperature compensation value of axis
Px Actual position of axis
P0 Reference position of axis
tanb Coefficient of the position-dependent temperature compensation
(corresponds to the gradient of the approximated error line)
The compensation values are acquired in interpolation cycles. If the compensa-
tion value DKx is positive, the axis moves in the negative direction.
–x 0 Px +x
P0
Temperature- Error curves for different temperatures can be defined for each axis, as illus-
dependent trated in the figure above. For each error curve the following parameters must
parameters be determined and then entered in the setting data:
Activate Temperature compensation can be activated for every axis by means of axial
temperature MD 32750: TEMP_COMP_TYPE. The type of temperature compensation to be
compensation applied can also be selected and this can be activated for several compensa-
tion types simultaneously.
Activation The following conditions must be fulfilled before temperature compensation can
be applied:
1. The option must be enabled.
2. The compensation type must be selected (MD 32750:
TEMP_COMP_TYPE).
3. The parameters for the compensation type are defined.
4. The axis must be referenced (IS “Referenced/synchronized 1 or 2” DB31 to
48, DBX60.4 or 60.5 = ‘1’).
As soon as these conditions are fulfilled, the temperature compensation value
for the current position actual value is added to the setpoint in all modes and the
machine axis is traversed.
If the reference position is subsequently lost again, e.g. because the
encoder frequency has been exceeded (IS “Referenced/Synchronized 1
or 2” = 0), then the compensation processing routine is aborted.
Temperature Since the approximated error line applies only to the instantaneous temperature
fluctuations and value, the parameters of the error lines that are newly generated when the tem-
modify parameters perature rises or falls must be sent to the NCK again. Only in this way can ex-
pansion due to heat be compensated for effectively.
When temperature T changes, the parameters which are temperature-depen-
dent, i.e. (K0, tanb and P0) also change and can thus always be overwritten by
the PLC or by means of a synchronous action.
It is thus possible for the machine-tool manufacturer to represent the mathemati-
cal and technological relationship between the axis positions and temperature
values via the PLC user program and thus calculate the various parameters for
the temperature compensation. The temperature parameters are transferred to
the NCK with variable
Services (FB2 (GET) “Read data” and FB3 (PUT) “Write data”).
For more information on handling and parameterization of FB2 and FB3 see:
References: /FB/, P3 “Basic PLC Program”
Position display The normal actual value and setpoint position displays ignore the compensation
values and show the position values of an ideal machine.
Display of The total compensation value calculated from the temperature and sag com-
compensation pensation functions belonging to the current actual position is output in the “Ser-
values vice axes” display in the “Diagnosis” operating area.
Determine example Installation of the temperature compensation is described below using the ex-
of error curve ample of a Z axis on a lathe.
In order to determine the temperature-dependent error characteristic of the Z
axis, proceed as follows:
S Constant heating by traversing the axis across the whole Z axis traversing
range (in the example: from 500 mm to 1500 mm)
Measured temperature
–50
320 500 600 700 800 900 100011001200130014001500
Reference Position of Z axis [mm]
point P o
Specifying The temperature compensation parameters must now be set on the basis of the
parameters measurement results (see figure above).
Reference position P0
As the figure above illustrates, there are basically two methods of configuring
reference position P0:
S P0 = 320 mm =>
SD43920 $SA_TEMP_COMP_REF_POSITION = 320
300
TKmax
250
200
150
Measured
100
curve
characteristic
50
Straight line
0
T0 Tmax
22 24 26 28 30 32 34 36 38 40 42
Absolute temperature [degrees]
Depending on the resulting line, the following dependency on T results for the
coefficient tanb:
tanb (T) = (T – T0) * TKmax * 10–6/ (Tmax – T0)
PLC user program The formula given above must be used in the PLC user program to calculate
the coefficient tanb (T) which corresponds to the measured temperature; this
must then be written to the following NCK setting data:
SD43910 $SA_TEMP_COMP_SLOPE
According to example above:
SD43910 $SA_TEMP_COMP_SLOPE = 0.000132
Mechanical Slight backlash generally occurs in the power train between a moving machine
backlash part and its drive (e.g. leadscrew) since an unacceptably high level of machine
wear would occur if the mechanical components were to be set to be absolutely
free of backlash.
Backlash can also occur between the machine part and the measuring system.
Effect In the case of axes/spindles with indirect measuring systems, mechanical back-
lash results in corruption of the traverse path, causing an axis, for example, to
travel too much or too little by the amount of the backlash when the direction of
movement is reversed (see the following 2 diagrams).
Compensation To compensate for backlash, the axis-specific actual value is corrected by the
amount of backlash every time the axis/spindle changes direction.
This quantity can be entered for each axis/spindle at the start-up phase in ma-
chine data
MD 32450: BACKLASH. If there is a second measuring system installed for the
axis/spindle, the relevant backlash values must be entered for each measuring
system.
In SW 5 and later, the backlash can be weighted by a factor as a parameter set
function. The weighting factor is set in
MD 32452: BACKLASH_FACTOR to between 0.01 and 100.0, default setting is
1.0.
Application: e.g. compensation of gear-stage-related backlash.
Activation Backlash compensation is always active in all operating modes after reference
point approach.
Position display The normal actual value and setpoint position displays ignore the compensation
values and show the position values of an “ideal machine”.
Display of The compensation value applying to the current actual position is output as the
compensation total compensation calculated from “LEC” and “backlash compensation” in the
values “Service axes” display in the “Diagnosis” operating area.
Positive backlash The encoder “leads” the machine part (e.g. table). Since the actual position ac-
quired by the encoder also leads the real actual position of the table, the table
travels too short a distance (see figure below). The backlash compensation
value must be entered as a positive value here (= normal case).
Table
Backlash
M ÉÉÉÉÉÉÉÉ
Encoder
Encoder actual value leads the real actual value (table): The
table does not travel far enough
Negative backlash The encoder “lags behind” the machine part (e.g. table); the table then travels
too far (see figure below). The correction value entered is negative.
Negative backlash
ËËËËËËËËË
ËËËËËËËËË
Table
Gear rack
Backlash
ÉÉ ÉÉÉ
ÉÉ ÉÉÉ
Encoder
2nd measuring If there is a second measuring system for the axis/spindle, a backlash com-
system pensation must be entered for this too. As the second measuring system is
mounted in a different way from the first measuring system, the backlash can be
different from that of the first measuring system.
When the measuring system is switched over the associated compensation
value is always activated.
Large backlash The user has the option of applying the backlash compensation value gradually
compensation in several increments when the relevant axis reverses direction. This prevents a
setpoint step change on the axes from causing corresponding errors.
The contents of the axis-specific MD 36500: ENC_CHANGE_TOL determines
the increment with which the backlash compensation value (MD 32450: BACK-
LASH) is applied.
Please note that the backlash compensation is fully calculated only after n
(n = MD 32450 / MD 36500) servo cycles. An excessive time span can cause
the triggering of a zero speed monitoring alarm.
If MD 36500: ENC_CHANGE_TOL is set higher than
MD 32450: BACKLASH, the compensation is performed in one servo cycle.
Compensation The following compensation methods are applied in order to implement “interpo-
methods latory compensation”:
1. “Leadscrew error compensation” or “measuring system error compensation”
(referred to as MSEC in the following).
2. Beam sag compensation or angularity error compensation
(Software Version 2 and higher), which from now on will be referred to as
beam sag compensation.
Many of the characteristics of these two compensation methods are identical
and are therefore described in the next Section “General notes”.
Terms The following terms are used in the description of “Interpolatory compensation”:
Compensation value The difference between the axis position measured
by the position actual-value encoder and the re-
quired programmed axis position (= axis position of
the ideal machine). The compensation value is
often also referred to as the correction value.
Basic axis Axis whose setpoint or actual value position forms
the basis of the calculation of a compensation
value.
Compensation axis Axis whose setpoint or actual value position is
modified by a compensation value.
Interpolation point A position of the base axis and the corresponding
compensation value of the compensation axis.
Correction table Table containing interpolation points.
Compensation relations Assignment of the base axis and the correspond-
ing compensation axis and the reference to the
corresponding compensation table.
Sag errors Weight can result in position-dependent displacement and inclination of moved
parts since it can cause machine parts and their guides to sag (see Fig. 3.2).
Large workpieces, too, e.g. cylinders, sag under their own weight.
Angularity errors If moving axes are not positioned in exactly the required angle (e.g. perpendicu-
lar) with respect to one another, increasingly serious positioning errors will occur
as the deviation from zero point becomes greater.
Compensation Since the deviations in dimension caused by the phenomena described above
table have a direct effect on workpiece machining accuracy, they need to be
compensated by appropriate position-dependent correction values. The com-
pensation values are derived from measured error curves and entered in the
control in the form of compensation tables during installation. A separate table
must be created for each compensation relation.
The compensation values and additional table parameters are entered in the
compensation tables using special system variables.
Note
Compensation tables can be loaded only if MD 32700: ENC_COMP_ENABLE
(interpolatory compensation)=0 and/or MD 32710: CEC_ENABLE (enable
beam sag compensation) are set to zero.
Input of The size of the compensation table, i.e. the number of interpolation points, must
compensation first be defined in a machine data - a power ON must then be executed.
table Compensation tables can be loaded to the backed up NC user memory by two
different methods.
S The compensation values are loaded when an NC program with the com-
pensation tables is started.
S The compensation values can also be loaded by transferring the tables from
a PC via the serial interface on the MMC.
Note
Once the size of the compensation tables has been defined in machine data,
the NC generates the tables after the next power ON. The default setting for
these tables is “0”.
The compensation tables can be output from the “Services” operating area via
the serial interface on the MMC and loaded back after editing.
These compensation values are not lost when the control is switched off be-
cause they are stored in the non-volatile user memory. They can be updated if
necessary (e.g. as a result of re-measuring because of machine aging).
Caution
! When the setting in MD 18342: MM_CEC_MAX_POINTS[t] (max. number of
interpolation points of beam sag comp., SRAM) or MD 38000:
MM_ENC_COMP_MAX_POINTS (number of interpolation points for
interpolatory comp., SRAM) is changed, the buffered NC user memory is
reinitialized when the system powers up. All user data of the battery-buffered
user memory (e.g. drive and MMC machine data, tool offsets, parts programs,
compensation tables etc.) are deleted.
Archiving Compensation tables are not saved with the series start-up file.
To archive compensation tables, they must be output via the serial interface on
the MMC. The following compensation types can be selected for archiving in the
operating area “Services”, “Data OUT”:
Linear The traversing path to be compensated delineated by the start and end posi-
interpolation tions is divided up into several (number depends on error curve shape) path
between the segments of equal size (see figure below). The actual positions that limit these
interpolation sub-paths are designated “interpolation points”. A compensation value must be
entered for each interpolation point (actual position) during installation. The
points
compensation value applied between 2 interpolation points is generated on the
basis of linear interpolation using the compensation values for the adjacent
interpolation points (i.e. adjacent interpolation points are linked along a line).
Compensation
value of compensation axis Error curve
Compensation curve
Linear interpolation
Compensation The compensation table should be structured such that the compensation value
value at reference at the reference point is “zero”.
point
Function The leadscrew error compensation function is part of the measuring system
error compensation system.
In “Measuring system error compensation” (from now on referred to as MSEC),
the base and compensation axes are always identical. It is therefore an axial
compensation for which a definition of the base axis and compensation axis in
the compensation table is not necessary.
The principle of the MSEC is to modify the axis-specific position actual value by
the assigned compensation value in the interpolation cycle and to apply this
value to the machine axis for immediate traversal. A positive compensation
value causes the corresponding machine axis to move in the negative direction.
The magnitude of the compensation value is not limited and is not monitored. In
order to avoid impermissibly high velocities and accelerations caused by com-
pensation, small compensation values must be selected. Large compensation
values can cause other axis monitoring functions to output alarms (e.g. contour
monitoring, velocity setpoint limitation).
If the axis to be compensated has a 2nd position measuring system, a separate
compensation table must be created and activated for each measuring system.
The correct table is automatically used when switching between measuring
systems.
Activation The “MSEC” does not become active until the following conditions are fulfilled:
S The compensation values are stored in the NC user memory and active (af-
ter power ON).
S The function has been activated for the machine axis concerned (MD32700:
ENC_COMP_ENABLE [e] = 1). If a 2nd position measuring system is to be
compensated, this must also be enabled with the above machine data (e =
0: 1. measuring system; e = 1: 2. measuring system).
Compensation For every machine axis and for every measuring system (if a 2nd measuring
interpolation system is installed), the number of reserved interpolation points of the com-
points pensation table must be defined and the necessary memory reserved in
MD 38000: MM_ENC_COMP_MAX_POINTS.
MD 38000: MM_ENC_COMP_MAX_POINTS[e,AXi]
where: AXi = axis name e.g. X1, Y1, Z1
e = measuring system (e = 0: 1. measuring system; e = 1: 2.
measuring system)
$AA_ENC_COMP_MAX[e, AXi]–$AA_ENC_COMP_MIN[e, AXi]
MM_ENC_COMP_MAX_POINTS[e, AXi] 1
$AA_ENC_COMP_STEP[e, AXi]
Compensation The position-related compensation values are stored in the form of system vari-
table ables for the relevant axis in the compensation table.
The following measuring-system-specific parameters must be set for the table
(see figure below):
Note
The first and last compensation values remain active over the entire traversing
range, i.e. these values should be set to “0” if the compensation table does not
cover the entire traversing range.
$AA_ENC_COMP_MAX – $AA_ENC_COMP_MIN
k
$AA_ENC_COMP
The compensation values entered for these two positions should be the
same as otherwise the compensation value jumps from MAX to MIN at the
transition point and vice versa.
$AA_ENC_COMP_IS_MODULO[e,AXi] = 0: Compensation without
modulo function
$AA_ENC_COMP_IS_MODULO[e,AXi] = 1: Compensation with mo-
dulo function
Caution
! When the compensation values are entered it is important that all interpolation
points be assigned a position value within the defined range (i.e. no gaps).
Otherwise, the previous valid position value is used for these interpolation
points.
Note
Table parameters which contain position information are not automatically
converted at measuring system change (change in MD 10240:
SCALING_SYSTEM_IS_METRIC) in SW 4 and lower. The position information
is always interpreted in the current measuring system. Conversions must be
conducted externally.
In SW 5 and higher, when MD 10260: CONVERT_SCALING_SYSTEM=1, it is
possible to configure automatic conversion of position data. External
conversion is no longer necessary.
References: /FB1/, G2, Chapter 2
Example The following example shows compensation value inputs for machine axis X1.
%_N_AX_EEC_INI
CHANDATA (1)
$AA_ENC_COMP[0,0,X1] = 0.0 ; 1st compensation value
(interpolation point 0) +0mm
$AA_ENC_COMP[0,1,X1] = 0.01 ; 2nd compensation value
(interpolation point 1) +10mm
$AA_ENC_COMP[0.2,X1] = 0.012 ; 3rd compensation value
(interpolation point 2) +12mm
:
$AA_ENC_COMP[0,800,X1] = –0.0
; Last compensation value
(interpolation point 800)
$AA_ENC_COMP_STEP[0,X1] = 1.0 ; Distance between interpolation
points 1.0 mm
$AA_ENC_COMP_MIN[0,X1] = –200.0 ; Compensation begins
at –200.0 mm
$AA_ENC_COMP_MAX[0,X1] = 600.0 ; Compensation ends at +600.0 mm
$AA_ENC_COMP_IS_MODULO[0,X1] = 0; Compensation without
modulo function
M17
Offset value
Error curve
Compensation curve
(linear interpolation between interpolation points)
Compensation values of compensation table
End position
($AA_ENC_COMP_MAX)
Compensation value for
Point spacing interpolation point 5
($AA_ENC_COMP)
Reference point Axis position
–200 –199 –198 –197 599 600
0 1 2 3 4 5 800
Interpolation points
Linear interpolation
Starting position
($AA_ENC_COMP_MIN) Number of interpolation points
(MD: MM_ENC_COMP_MAX_POINTS)
Function In contrast to the MSEC, the base and compensation axes need not be identi-
cal for “Sag compensation” or “Angularity error compensation”, requiring an axis
assignment in every compensation table.
In order to compensate for sag of one axis (base axis) which results from its
own weight, the absolute position of another axis (compensation axis) must be
influenced. “Sag compensation” is therefore an inter-axis compensation.
As illustrated in the figure below, the further the machining head moves in the
negative Y1 axis direction, the more the cross-arm sags in the negative Z1 axis
direction.
The error must be recorded in the form of a compensation table that contains a
compensation value for the Z1 axis for every actual value position in the Y1
axis. It is sufficient to enter the compensation values for the interpolation points.
When the Y1 axis traverses, the control calculates the corresponding com-
pensation value in the Z1 axis in interpolation cycles performing linear interpola-
tion for positions between the interpolation points. This compensation is sent to
the position control loop as an additional setpoint. A positive compensation
value causes the corresponding machine axis to move in the negative direction.
+Z1
+Y1
Sag in neg.
Y1 direction because of
its own weight
ÉÉ
ÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
Fig. 3-2
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
Example of sag caused by own weight
Setting options The many ways in which the compensation value for sag compensation can be
produced/influenced are listed below (see figure below).
1. An axis can be defined as the input variable (base axis) for several com-
pensation tables (settable via system variables).
2. An axis can be defined as the recipient of the output variable (compensation
axis) of several compensation tables (settable via system variable). The
total compensation value is derived from the sum of the individual com-
pensation values.
The following definitions apply for the maximum number of possible com-
pensation tables:
– Maximum number of tables available for all axes:
2 * maximum number of axes in system
– Maximum number of tables applied to one compensation axis:
1 * maximum number of axes in system
3. An axis can be both a base axis and a compensation axis at any one time.
The programmed (required) position setpoint is always used to calculate the
compensation values.
4. The range of influence of the compensation (starting and end position of the
base axis) and the distance between the interpolation points can be defined
for every compensation table (settable via system variables).
5. Compensation can be direction-dependent (settable via system variables).
6. Every compensation table has a modulo function for cyclic evaluation (set-
table via system variables).
7. A weighting factor by which the table value is multiplied (definable as a set-
ting data which can therefore be altered by the parts program, PLC or the
user at any time) can be introduced for every compensation table.
8. Compensation tables can be multiplied in pairs (settable via system vari-
ables). The product is added to the total compensation value of the com-
pensation axis.
9. The compensation can be activated in the following ways:
– MD 32710: CEC_ENABLE [AXi] the sum of all compensation relations is
enabled for machine axis AXi.
– With MD 41300: $SN_CEC_TABLE_ENABLE[t], evaluation of the com-
pensation table [t] is enabled.
It is thus possible, for example, to alter the compensation relations either
from the parts program or from the PLC user program (e.g. switching
over the tables), depending on the machining requirements.
10. In SW 5 and higher, when MD 10260: CONVERT_SCALING_SYSTEM=1 is
set, the axial MD 32711: CEC_SCALING_SYSTEM_METRIC becomes ef-
fective. The measuring system for all tables effective for this axis is set in
this machine data. Hereby all position entries are interpreted together with
the calculated total compensation value in the configured measuring sys-
tem. External conversions of position information are no longer necessary
with a measuring system change.
Note
No compensation table becomes active until the base axis and compensation
axis have been referenced.
Monitoring To avoid excessive velocities and acceleration rates on the machine axis as a
result of applying sag compensation, the total compensation value is monitored
and limited to a maximum value. The maximum compensation value is set in
axial MD 32720: CEC_MAX_SUM for specific axes.
If the resulting total compensation value is greater than the maximum value,
alarm 20124 “Sum of compensation values too high” is output. Program proc-
essing is not interrupted. The compensation value output as an additional set-
point is limited to the maximum value.
Alteration of the total compensation value is also limited axially. When limit value
MD 32730: CEC_MAX_VELO is exceeded, alarm 20125 “Compensation value
changed too quickly” is output; again program processing is continued. The
path not covered because of the limitation is made up as soon as the com-
pensation value is no longer subject to limitation.
Input Compensation Weight Enable Output Tables- Tables- Compensation Compensation Compensation
Basic axis assignment table [t] factor table evaluation assignment multiplication summation limitation table evaluation axis
Position setpoint 0 0
(ideal) Position setpoint
S
0
0 0
S
Axis n
0
Machine CEC_MAX_SUM
data CEC_ENABLE
CEC_MAX_VELO
SINUMERIK 840D sl/840D/840Di/810D Descrip. of Functions Extended Functions (FB2) – 06.05 Edition
2.3 Interpolatory compensation
2/K3/2-25
Compensations (K3)
Compensations (K3) 06.05
2.3 Interpolatory compensation
Complex Since it is possible to use the position of an axis as the input quantity (base
compensation axis) for several tables, to derive the total compensation value of an axis from
several compensation relationships (tables) and to multiply tables, it is also pos-
sible to implement sophisticated and complex beam sag and angularity error
compensation systems.
This function also makes it possible to deal with different error sources effi-
ciently. For example, it is possible to combine a table with a modulo function for
a periodic recurring error component with a second table without a modulo func-
tion for an aperiodic error component for the same axis.
Leadscrew errors can also be compensated with this function by parameterizing
an identical axis for the base and compensation axes. However, in contrast to
the MSEC, measuring-system switchovers are not automatically registered in
this case.
Activation The beam sag compensation function does not become active until the follo-
wing conditions are fulfilled:
S The current measuring system of the base and compensation axes has
been referenced (IS: “Referenced/synchronized 1 or 2” DB31, ... DBX60.4 or
60.5 = ‘1’).
As soon as these conditions have been fulfilled the setpoint position of the com-
pensation axis is altered in all modes with reference to the setpoint position of
the base axis and the corresponding compensation value and is then immedi-
ately traversed by the machine axis.
If the reference is then lost, e.g. because the encoder frequency has been ex-
ceeded (IS “Referenced/Synchronized 1 or 2” = ‘0’), compensation processing
is deactivated.
Compensation The number of required interpolation points in the compensation table must be
interpolation defined for every compensation relationship and the requisite memory space
points reserved in general MD 18342: MM_CEC_MAX_POINTS.
MD 18342: MM_CEC_MAX_ POINTS[t]
where: [t] = Index of compensation table
with (0 t < 2 * maximum number of axes)
i.e. t = 0: 1. compensation table
t = 1: 2. compensation table etc.
$AN_CEC_MAX[t]–$AN_CEC_MIN[t]
MM_CEC_MAX_POINTS[t] 1
$AN_CEC_STEP[t]
Table parameters The position-related corrections for the relevant compensation relationship are
stored as system variables in the compensation table.
The following parameters must be set for the table (see Fig. 3.1):
Note
In multi-channel systems the “general axis identifiers” AX1... must be preset, if
the identifiers of machine axis and channel axis are identical.
Note
Table parameters which contain position information are not automatically
converted at measuring system change (change in MD 10240:
SCALING_SYSTEM_IS_METRIC) in SW 4 and lower. The position information
is always interpreted in the current measuring system. Conversions must be
conducted externally.
In SW 5 and higher, when MD 10260: CONVERT_SCALING_SYSTEM=1 is
set, the measuring system can be configured via axial MD 32711:
CEC_SCALING_SYSTEM. External conversions of position information are no
longer necessary with a measuring system change.
References: /FB1/, G2, Chapter 2
Table example The following example shows the compensation table for sag compensation of
axis Y1. Depending on the position of the Y1 axis, a compensation value is ap-
plied to the Z1 axis. The 1st compensation table (t=0) is used for this.
%_N_NC_CEC_INI
CHANDATA(1)
$AN_CEC [0,0] =0 ; 1st compensation value (inter-
polation point 0) for Z1: 0mm
$AN_CEC [0,1] = 0.01 ; 2nd compensation value (inter-
polation point 1) for Z1: +10mm
$AN_CEC [0,2] = 0.012 ; 3rd compensation value inter-
polation point 2) for Z1: +12mm
:
$AN_CEC [0.100] =0 ; Last compensation value inter-
polation point 101) for Z1: 0mm
$AN_CEC_INPUT_AXIS[0] = (AX2) ; Base axis Y1
$AN_CEC_OUTPUT_AXIS[0] = (AX3) ; Compensation axis Z1
$AN_CEC_STEP[0] =8 ; Distance between interpolation
points 8.0 mm
$AN_CEC_MIN[0] = –400.0 ; Compensation begins at
Y1 = –400 mm
$AN_CEC_MAX[0] = 400.0 ; Compensation begins at
Y1 = +400 mm
$AN_CEC_DIRECTION[0] =0 ; Table applies to both directions of
travel of Y1
$AN_CEC_MULT_BY_TABLE[0] = ;
$AN_CEC_IS_MODULO[0] =0 ; Compensation without modulo
function
M17
In this example, the number of compensation interpolation points set in
MD18342: MM_CEC_MAX_POINTS [0] must be 101; otherwise alarm 12400
is activated.
The compensation table for this example requires at least 808 bytes of non-vol-
atile NC user memory.
Table With the table multiplication function, any table can be multiplied with any other
multiplication table (i.e. even with itself). The multiplication link is established using the system
variables described above.
Table 1
X1set sinb(X1)
+
S
Z1 X1setScomp
Z1set +
X1
Table 2
Boring mill
Z1 (measured value)
Z1 b
ÉÉ
ÉÉ ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
X1
DX1
Foundation under load
ÉÉ ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
X1 (measured
value)
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
Fig. 3-5
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
Compensation of sag in a machine base
Example: The compensation values of the z axis sag on flat bed machines are often mea-
Input of sured in practice at various points as a function of the x and y coordinates.
compensation Where such conditions need to be met, it is useful to enter the measured com-
values in a grid pensation values according to a grid-type distribution. The interpolation points
with the relevant compensation values are positioned on the intersections of the
structure
grid (x-y plane). Compensation values between these interpolation points are
interpolated linearly by the control.
The following example explains in more detail how sag and angularity com-
pensation can be implemented by a grid of 4 x 5 (lines x columns) in size. The
size of the whole grid is 2000x900mm2. The compensation values are each
measured in steps of 500mm along the x axis and 300mm along the y axis.
Note
The maximum dimensions of the grid (number of lines and columns) depends
on the following points:
No. of lines: Dependent on number of axes in the system
(dependent on NCU type)
No. of columns: Dependent on the maximum number of values which can be
entered in a compensation table
(up to a total of 2000 values)
Caution
! The number of lines and columns is set in MD 18 342:
MM_CEC_MAX_POINTS. The machine data is memory-configuring.
Fig. 3-6 Compensation values of Z axis with chessboard-like distribution of X–Y plane
When the compensation value for the current position of the machine spindle is
calculated, the f table values are multiplied by the g table values according to
this rule.
Applied to the example, this means, for instance, that compensation value
Dz(500/300) is calculated by multiplying each of the function values f_i(500) in
the f tables with the function values g_i(300) in the g tables:
Program code The application example described above can be achieved with the following
parts program code:
;Changes to the following table parameters take effect after power ON.
;Define base axis X1
$AN_CEC_INPUT_AXIS[0] =(X1)
$AN_CEC_INPUT_AXIS[1] =(X1)
$AN_CEC_INPUT_AXIS[2] =(X1)
$AN_CEC_INPUT_AXIS[3] =(X1)
;Changes to the following table parameters take effect after power ON.
;Define basic axis Y1
$AN_CEC_INPUT_AXIS[4] =(Y1)
$AN_CEC_INPUT_AXIS[5] =(Y1)
$AN_CEC_INPUT_AXIS[6] =(Y1)
$AN_CEC_INPUT_AXIS[7] =(Y1)
Note
You can read the compensation value under variable “Sag + temperature
compensation” on the MMC. To do so, select soft key “Diagnosis” followed by
softkey “Service axis”. The currently effective compensation value is displayed
next to the “Sag + temperature compensation” variable.
;The power ON machine data are set to prepare the table configuration
;cec.md:
;Set option data for start-up
Measurement The “Measurement” function supplies the compensated actual positions (ideal
machine) required by the machine operator or programmer.
TEACH IN The “TEACH IN” function also uses compensated position values to determine
the actual positions to be stored.
Software limit The ideal position values (i.e. the position actual values corrected by the MSEC
switch and backlash compensation functions) are also monitored by the software limit
switches.
Position display The position actual-value display in the machine coordinate system shows the
ideal (programmed) actual position value of the axis (ideal machine).
In the axis/spindle service display (operating area Diagnosis) the positional
value determined by the measuring system plus the sum of the backlash com-
pensation and leadscrew error compensation is displayed (= actual position
value measuring system 1/2).
Compensation The following compensation values are also output in the “Axes” service display
value display (Diagnosis operating area):
Reference point If the reference point for the base axis is lost (IS: “Referenced/synchronized 1 or
loss 2” DB31, ... DBX60.4 or 60.5 = ‘0’), the MSEC and sag compensation functions
are deactivated in the affected axes. When the reference point is reached these
compensations are automatically switched on again.
Access protection Currently there is no protection against access to the compensation tables.
Output of travel The traversing signals in the compensation axis are output every time the com-
signals pensation function is switched on/off and every time the number of active com-
pensation tables changes.
Any change in the compensation value caused by the base axis motion does
not result in output of traversing signals in the compensation axis.
2.4.1 General
Axial following The axial following error can be reduced almost to zero with the help of the
errors feedforward control. This feedforward control is therefore also called “following
error compensation”.
The following error causes undesired velocity-dependent contour errors espe-
cially during acceleration at contour curves, e.g. arcs and corners.
Feedforward The following feedforward control methods can be used to implement “following
control methods error compensation”:
Note
The torque type of feedforward control is not supported by the SIMODRIVE 611
universal drive with the SINUMERIK 840Di or SINUMERIK 840D with
PROFIBUS DP.
Activation MD 32620: FFW_MODE must first be set to select the desired feedforward con-
trol mode.
0 = No feedforward control
1 = Speed feedforward control (default setting)
2 = Torque feedforward control (only possible for SINUMERIK 840D in con-
junction with drives supporting this function, e.g. SIMODRIVE 611 digital)
The option must be enabled before selecting torque feedforward control.
3= Speed feedforward control with Tt balancing for SW 5.1 and higher
4= Torque feedforward control (only possible with SINUMERIK 840D)
with Tt balancing for SW 5.1 and higher
The option must be enabled before selecting torque feedforward control.
Setting the type of MD 32630: FFW_ACTIVATION_MODE defines for each axis whether the feed-
feedforward forward control is to be selected according to the status of MD 32620:
control FFW_MODE or whether it can also be activated from the part program. The
feedforward control type is selected from MD 32620: FFW_MODE if
MD 32630: FFW_ACTIVATION_MODE = 0.
The feedforward control type can be selected within the part program if
MD 32630: FFW_ACTIVATION_MODE = 1.
Upgrading 840Di When upgrading the SINUMERIK 840Di to software version SW 6.3 or higher,
to SW 6.3 the start-up settings must be reconfigured.
Important
! If the feedforward control variant MD 32620: FFW_MODE = 3 has already been
used on an 840Di, the startup setting in MD 32810:
EQUIV_SPEEDCTRL_TIME must be reconfigured on a software upgrade to
version 6.3, because Ti and To are set automatically. These settings must be
corrected manually in MD 32810: EQUIV_SPEEDCTRL_TIME.
Activation/ The feedforward control can also be activated and deactivated by means of the
deactivation in following high-level language elements in the part program:
part program FFWON Feedforward control ON
FFWOF Feedforward control OFF
The default setting (i.e. M30 even after Reset) is entered in channel-specific
MD20150: GCODE_RESET_VALUES (initial setting of G groups).
FFWON and FFWOF are used to activate and deactivate respectively the feed-
forward control of all axes/spindles in the channel for which MD 32630:
FFW_ACTIVATION_MODE = 1 is set (as well as MD 32620: FFW_MODE = 1
or 2).
MD 32630: FFW_ACTIVATION_MODE should therefore have identical
settings for axes that interpolate with each other.
The feedforward control should only be switched on or off while the axis/spindle
is stationary to prevent jerk. This is the responsibility of the programmer.
Conditions The following points should be noted before the feedforward control is applied:
Optimization of The feedforward control is set on an axis/spindle-specific basis. First of all, the
control loop current control loop, speed control loop and position control loop must be set to
an optimum for the axis/spindle.
References: /IAD/, SINUMERIK 840D Installation & Start-Up Guide
Parameter The feedforward control parameters must then be assigned to the relevant axis/
assignments spindle and then entered in the machine data.
In the case of speed feedforward control, a velocity setpoint is also applied di-
rectly to the input of the speed controller (see figure below). This additional set-
point can be weighted by a factor that must equal approximately 1 as standard.
In order to achieve a correctly set speed feedforward control, the equivalent
time constant of the speed control loop must be determined exactly and entered
as a machine data.
+
Setpoint Feed- Posit.
forward Speed
(reference control. controller
control –
value)
MD 32610: VELO_FFW_WEIGHT
MD 32810: EQUIV_SPEEDCTRL_TIME
Parameters
The following axis-specific parameters must be defined for the speed feedfor-
ward control during installation:
S MD 32610: VELO_FFW_WEIGHT
Feedforward control factor
S MD 32810: EQUIV_SPEEDCTRL_TIME
Equivalent time constant of the closed speed control loop.
MD 32610: VELO_FFW_WEIGHT
Feedforward control factor for speed feedforward control
If the control loop for axis/spindle is optimally set and the equivalent time
constant has been determined exactly, the feedforward control factor will be
approximately 1. Therefore the initial value to be entered in the machine data is
1 (= standard default setting).
With this value the following error will be reduced to nearly zero (i.e. control
deviation is 0) when speed is constant. This should be checked by making posi-
tioning movements based on the actual “control deviation” shown on the service
display.
References: /FB/, D1, “Diagnostics Tools”
Fine adjustment of MD 32810
By making fine adjustments to the values set in MD 32610:
VELO_FFW_WEIGHT and MD 32810: EQUIV_SPEEDCTRL_TIME, it is pos-
sible to set the desired response for the relevant axis/spindle.
This is done by traversing the axis/spindle at a constant velocity and checking
the affect of the changes made in the machine data in the service display Con-
trol deviation. The adjustment criterion for the speed feedforward control is ’con-
trol deviation’ = 0.
Case 1: When the axis is traversed in the positive direction the
’control deviation’ displays a positive value.
The equivalent time constant of the speed control loop or the
feedforward factor is too small
Case 2: When the axis is traversed in the positive direction the
’control deviation’ displays a negative value.
The equivalent time constant of the speed control loop or the
feedforward factor is too large
A small acceleration and a large feedrate should be chosen so that the values
can be easily read on the service display. This produces very long acceleration
phases from which it is easy to read off the control deviation.
In SW 5 and higher, you can optimize the position setpoint with a second bal-
ancing filter.
References: /FB/, G2, “Velocities, Setpoint/Actual Value Systems,
“Optimizing the control”
S Axis 1: 2 msec
S Axis 3: 1 msec
The values for the time constant of the dynamic response adaptation
(MD32910: DYN_MATCH_TIME) are then as follows for:
S Axis 1: 2 msec
S Axis 2: 0 msec
S Axis 3: 3 msec
References: /FB/, G2, “Velocities, Setpoint/Actual Value Systems,
Closed-Loop Control”
Lead time for the With machine data MD 10082 and MD 10083, the transfer of the speed setpoint
speed setpoint to the drive is adjustable.
Note
It is only possible to fix the lead time for output of speed setpoints with the
digital 611D drives.
Note
If lead times that are input are too high, this can cause output of drive alarm
300506.
The input value is rounded to the next lower speed controller pulse rate in the
drive. If the speed controller pulse rates of the drives are different, changing the
value will not necessarily lead to the same degree of controller improvement for
all configured drives.
MD 32620: FFW_MODE = 2
Setpoint Feed + +
Posit. Speed Power
forward control.
(reference control controller control.
value) –
MD 32650: AX_INERTIA
MD 32800: EQUIV_CURRCTRL_TIME
Application
Torque feedforward control is required to achieve high contour accuracy where
the demands on the dynamics are great. If set correctly, the following error can
almost be completely compensated even during high acceleration.
Parameters
The following axis-specific parameters must be defined during installation for
torque feedforward control:
S MD 32650: AX_INERTIA
Moment of inertia of the axis for torque feedforward control (from the point of
view of the drive)
S MD 32800: EQUIV_CURRCTRL_TIME
Equivalent time constant of current control loop
Setting for The feedforward control parameters must be set optimally for each axis even in
interpolating axes the case of interpolating axes. The axes can have different feedforward control
settings.
Check contour The two equivalent time constants (MD 32810: EQUIV_SPEEDCTRL_TIME
monitoring and MD 32800: EQUIV_CURRCTRL_TIME) influence the contour monitoring
which should therefore subsequently be checked.
References: /FB/, A3, “Axis Monitoring Functions, Protection Zones”
Effect on servo When the feedforward control is set correctly, the response to setpoint changes
gain factor in the controlled system under speed feedforward control is as dynamic as that
of the speed control loop or, under torque feedforward control, as that of the
current control loop, i.e. the servo gain factor set in MD 32200:
POS_CTRLGAIN has very little influence on the response to setpoint changes
(e.g. corner errors, overshoots, circle/radius errors).
On the other hand, feedforward control does not affect the disturbance charac-
teristic (synchronism). In this case, the factor set in MD 32200:
POS_CTRLGAIN is the active factor.
Service display When a feedforward control is active, the servo gain of the axis (corresponds to
“Servo gain servo gain factor applied to response to setpoint changes) shown in the Service
factor” display is very high.
Dynamic response For axes that interpolate with one another, but with different axial control loop
adaptation response times, dynamic response adaptation can be used to achieve identical
time responses of all axes to ensure optimum contour accuracy without loss of
control quality.
When a feedforward control is active, the difference between the equivalent
time constants of the “slowest” speed or current control loop for the relevant
axis must be entered as the time constant of the dynamic response adaptation
(MD 32910: DYN_MATCH_TIME).
In SW 5 and higher, you can optimize the position setpoint with a second bal-
ancing filter.
References: /FB/, G2, “Velocities, Setpoint/Actual Value Systems,
Optimizing the control”
2.5.1 General
Function Friction occurs predominantly in the gearing and guide ways. Static friction is
especially noticeable in the machine axes. Because it takes a greater force to
initiate a movement (breakaway) than to continue it, a greater following error
occurs at the beginning of a movement.
The same phenomenon occurs on a change of direction where static friction
causes a jump in frictional force. If, for example, one axis is accelerated from a
negative to a positive velocity, it sticks for a short time as the velocity passes
through zero because of the changing friction conditions. With interpolating
axes, changing friction conditions can cause contour errors.
Quadrant errors This behavior is particularly apparent on circular contours on which one axis is
moving at maximum path velocity and the other is stationary at quadrant transi-
tions. With the aid of friction compensation these so-called “quadrant errors” can
be almost completely eliminated.
Principle Measurements on machines have shown that contour errors caused by static
friction can be effectively compensated by the injection of an additional setpoint
pulse with the correct sign and amplitude.
Circularity test The friction compensation function (both conventional and neural friction
compensation) can be started up most easily by means of a circularity test. This
is done by following a circular contour, measuring the actual position and
representing the deviations from the programmed radius (especially at the
quadrant transition points) graphically. The measurements are recorded using a
“Trace” that is stored in the passive file system.
Amplitude In many cases, the injected amplitude of the friction compensation value does
adaptation not remain constant over the whole acceleration range. For example, for opti-
mum compensation with high accelerations, a smaller compensation value
must be injected than for smaller accelerations. For this reason, friction com-
pensation with adapted injection amplitude can be activated in cases where
high accuracy is required (see figure below). The function is activated axis-spe-
cifically in MD 32510:
FRICT_COMP_ADAPT_ ENABLE = 1 (adaptation for friction compensation
active).
Min. amplitude
MD 32530:
FRICT_COMP_CONST_MIN[n]
Dn min
B1 B2 B3 B4 Acceleration
a1 a2 a3
MD 32570: FRICT_COMP_CONST_ACCEL3[n]
MD 32560: FRICT_COMP_CONST_ACCEL2[n]
MD 32550: FRICT_COMP_CONST_ACCEL1[n]
Fig. 3-9 Typical curve for friction compensation with amplitude adaptation
Characteristic The parameters of the adaptation characteristic in the figure above must be
parameters entered as machine data for specific axes.
Dn = Injection amplitude of the friction compensation value
Dnmax = Maximum friction compensation value
MD 32520: FRICT_COMP_CONST_MAX [n]
Dnmin = Minimum friction compensation value
MD 32530: FRICT_COMP_CONST_MIN [n]
a1 = Adaptation acceleration value 1 for friction compensation
MD 32550: FRICT_COMP_ACCEL1 [n]
a2 = Adaptation acceleration value 2 for friction compensation
MD 32560: FRICT_COMP_ACCEL2 [n]
a3 = Adaptation acceleration value 3 for friction compensation
MD 32570: FRICT_COMP_ACCEL3 [n]
Note about shape In special cases, the calculated characteristic may deviate from the typical
of characteristic shape illustrated in the figure above.
In some cases, the value for Dnmin (MD 32530: FRICT_COMP_CONST_MIN)
may even be greater than Dnmax (MD 32520: FRICT_COMP_CONST_MAX).
Circularity test The friction compensation function can be started up most easily by means of a
circularity test. Here, deviations from the programmed radius (especially at the
quadrant transitions) can be measured and displayed while traversing a circular
contour.
Counter 2
II I
Counter 1
Quadrant transition
III IV
2. Enabling the After this, the friction compensation must be activated for the axis/spindle in
friction question.
compensation Activate friction compensation
MD 32500: FRICT_COMP_ENABLE[n] = 1
These two parameters are changed until the circularity test produces minimum
or no deviations from the programmed radius at the quadrant transitions (see
the next four figures). The tests must be performed with different radii and veloc-
ities (typical values for the application of the machine).
Start value A relatively low injection amplitude plus a time constant of a few position control-
ler cycles should be entered as the start value when measuring commences.
Example:
MD 32520: FRICT_COMP_CONST_MAX[n] = 10 (mm/min)
MD 32540: FRICT_ COMP_TIME [n] = 0.008 (8msec)
The effect of changing the parameters must be checked using the measured
and plotted circles.
Averaging If it is not possible to determine a common compensation time constant for the
varying radii and velocities, then the average of the calculated time constants
must be worked out.
Good friction When the friction compensation function is well set, quadrant transitions are no
compensation longer noticeable (see figure below).
setting
Counter 2
IV I
Counter 1
III II
Amplitude too low When the injection amplitude setting is too low, radius deviations from the pro-
grammed radius are compensated inadequately at quadrant transitions during
circularity testing (see figure below).
Counter 2
II I
Counter 1
III
IV
Amplitude too When the injection amplitude setting is too high, radius deviations at quadrant
high transitions are manifestly overcompensated at quadrant transitions (see figure
below).
Counter 2
II I
Counter 1
III IV
Time constant When the compensation time constant settings are too low, radius deviations
too low are compensated briefly at quadrant transitions during circularity testing, but are
followed immediately again by greater radius deviations from the programmed
radius (see figure below).
Counter 2
II I
Counter 1
III IV
Time constant When the compensation time constant settings are too high, radius deviations
too high are compensated at quadrant transitions during circularity testing (on condition
that the optimum injection amplitude has already been calculated), but the devi-
ation in the direction of the arc center increases significantly after quadrant tran-
sitions (see figure below).
Counter 2
II I
Counter 1
III IV
Adaptation If, with the time constant and the constant injection amplitude determined, a
yes/no? good result is achieved both in the circularity test and in positioning over the
whole working area (i.e. for all radii and velocities of relevance), curve adapta-
tion will not be necessary.
However, if the friction compensation turns out to be dependent on the accel-
eration, the adaptation characteristic must be calculated in second stage (see
stage 2: Friction compensation with adaptation).
Application Whenever friction compensation depends on the acceleration and the required
results cannot be obtained with constant injection amplitude, adaptation must
be used.
In order to obtain optimum compensation over the whole of the working range of
the friction feedforward control where high demands are made on accuracy, the
acceleration dependency of the compensation value must be calculated. To
achieve this, the dependency must be measured at various points in the work-
ing range between acceleration zero and the maximum planned acceleration.
The adaptation characteristic derived from the measurement results is then en-
tered in the above machine data axis-specifically.
2. Determining During circular movement, the axial acceleration values are calculated using the
acceleration radius r and the traversed velocity v according to the formula
values a = v2/r .
Using the feedrate override switch it is easy to vary the velocity and therefore
axial acceleration value a.
Acceleration values a1, a2 and a3 for the adaptation characteristic must be en-
tered in MD 32550: FRICT_COMP_ACCEL1 to MD 32570: FRICT_COMP_AC-
CEL3 in compliance with the condition a1 < a2 < a3. If the curve is wrongly para-
meterized, the alarm 26001 “Parameterization error for friction compensation” is
output.
Note
If the results obtained at very low velocities are not satisfactory, then the
computational resolution for linear positions MD 10200: INT_INCR_ PER_MM
or for angular positions MD 10210: INT_INCR_PER_DEG must be increased.
See also MD 32580: FRICT_COMP_INC_FACTOR
(weighting factor of friction compensation value for short traversing
movements).
2.6.1 Fundamentals
Principle of QEC As explained in Section 2.5, the purpose of quadrant error compensation (QEC)
is to reduce contour errors occurring during reversal as the result of drift, back-
lash or torsion. Compensation is effected through prompt injection of an addi-
tional speed setpoint (see figure below).
In conventional QEC, the intensity of the compensation pulse can be set ac-
cording to a characteristic as a function of the acceleration. This characteristic
must be calculated and parameterized by a circularity test during start-up (see
Fig. 3.8). The procedure for this is relatively complicated and requires some
experience.
Dn
Actual value
(position)
Advantages of On the SINUMERIK 840D with Software Version 2 or higher, the characteristic
QEC with neural block that used to be manually parameterized can now be replaced by a neural
network network. This has the following advantages:
Requirements for An essential requirement for implementing QEC with neural network is that the
neural QEC errors occurring on the workpiece at quadrant transitions are detected by the
measuring system. This is only possible either with a direct measuring system,
with an indirect measuring system with clear reactions of the load on the motor
(i.e. rigid mechanics, little backlash) or with suitable compensation. With indirect
measuring systems, any backlash that might occur must be compensated by
backlash compensation.
Learning/working QEC with neural network involves the following two phases:
phases
S Learning phase
During the learning phase, a certain pattern of behavior is memorized in the
neural network. The relation between the input and output signals is learnt.
The result is the learnt compensation characteristic that is stored in the
non-volatile user memory. Activation and deactivation
of the learning process is programmed in the NC parts program using
special high-level language commands.
S Working phase
During the working phase, additional speed setpoint pulses are injected in
accordance with the learnt characteristic. The stored characteristic does not
change during this phase.
The learning phase can be executed for several (up to 4) axes at the same
time. For further information about training the neural network, see
Subsection 2.6.3.
The learning and working phases and the resulting neural QEC are purely axial.
There is no mutual influence between the axes.
Loading These saved and learned compensation data can be loaded back directly to the
characteristic user memory in the same way as part programs.
values When the parts program containing the tables is loaded, the compensation val-
ues are transferred to the NC user memory.
The characteristic values become effective only after compensation has been
enabled.
Characteristic values cannot be written when the compensation function is ac-
tive (MD 32500: FRICT_COMP_ENABLE must be set to 0 and activated).
With QEC: The QEC must be enabled (and activated) by setting MD 32500:
FRICT_COMP_ENABLE = 1 (QEC active).
Recommended As mentioned above, the neural network integrated in the control automatically
default setting for adapts the optimum compensation data during the learning phase.
start-up The axis involved must perform reversals with acceleration values constant sec-
tion by section. Before activation of the learning phase, the parameters of the
neural network (QEC system variables) must be pre-assigned in accordance
with the requirements.
Machine data The basic configuring data for the neural QEC are stored as machine data.
S MD 32490: FRICT_COMP_MODE
Method of friction compensation (2 = neural QEC)
S MD 32500. FRICT_COMP_ENABLE
Friction compensation active
S MD 32580: FRICT_COMP_INC_FACTOR
Weighting factor for friction compensation value for short traversing blocks
S MD 38010: MM_QEC_MAX_POINTS
Maximum number of compensation values for QEC with neural networks
With these machine data, the neural QEC is activated as soon as the
memory space is reserved in the non-volatile RAM. The procedure and assign-
ment is described in Subsection 2.6.4 “Start-up” or in Chapter 4.
All other data are set using system variables.
QEC system The data for parameterizing the neural network are defined as system variables
variables that can be written and read by an NC program. The following system variables
are used for parameterization of the neural network:
This parameter defines the fine quantization of the input signal and is there-
fore the resolution of the characteristic. The larger the value that is selected,
the higher the memory requirement.
Value range: 1 ... 16; recommended value: 8
S $AA_QEC_DIRECTIONAL “Directionality”
This parameter defines whether the compensation is to be injected
directionally or not. If activated, a separate characteristic is determined and
stored for each acceleration direction. Because two characteristics are used,
double the memory space must be reserved in the non-volatile user
memory.
Value range: TRUE/FALSE; recommended value: FALSE
The optimum decay time must be ascertained manually using the circularity
test at a working point in the mid acceleration range. The procedure is de-
tailed in the section dealing with friction compensation (Subsection 2.5.3)
(analogous to MD 32540: FRICT_COMP_TIME).
With the recommended value (15 ms), it is possible to achieve good results.
S $AA_QEC_MEAS_TIME_1 / _2 / _3
“Measurement duration for deter-
mining the error criterion in the
acceleration range 1 / 2 / 3”
The measuring time is started, as soon as the criterion for injection of the
compensation value is fulfilled (i.e. the set speed changes sign). The end of
the measuring item is defined by the set parameter values.
Different measuring times are required for each characteristic range.
Transfer of The QEC system variables are stored in the non-volatile user memory
parameters after the NC program is started where they remain unchanged until the memory
is erased or reformatted or until a new learning or relearning process takes
place or until they are written by the NC program.
Before the learning cycle is called, all system variables must be assigned valid
values for the learning process. For example, this can be done in a subprogram.
After this NC program has run and a reset has been performed, the QEC data
are active.
Characteristic data The characteristic data determined during the learning process are
stored as system variables in the user memory reserved for this purpose.
Format: $AA_QEC[n] Range of n: 0 to 1024
These values write the learned characteristic in internal formats
and must therefore not be changed!
Quantization of The quantization, and thus the resolution, of the characteristic is defined via the
characteristic two quantities fine quantization ($AA_QEC_FINE_STEPS) and coarse quan-
tization ($AA_QEC_COARSE_STEPS). The finer the resolution, the higher the
memory requirement and the longer the duration of time required for the learn-
ing phase.
The number of memory locations required and the total number of quantization
intervals is calculated by the formula:
Number of memory locations = $AA_QEC_FINE_STEPS *
($AA_QEC_COARSE_STEPS+1)
Up to 1025 memory locations per axis can be reserved. In this way, a suffi-
ciently high resolution is achieved for high precision requirements.
The following 3 figures illustrate the meaning of the characteristic values for
coarse and fine quantization, and their effect on the teach-in period, as a func-
tion of the parameter “Detailed learning active y/n”. Three cases are distin-
guished for better understanding.
Case 1: Coarse quantization > 1; fine quantization = 1
(special case; usually the fine quantization is in the region of eight):
In this case, the interpolation points of the characteristic are determined
solely by coarse quantization (see figure below).
Compensation amplitude
Section A
Coarse quantization
Real
characteristic
curve
Set acceleration
Compensation amplitude
Section A
Real characteristic
curve
Coarse quantization
Set acceleration
Compensation amplitude
Coarse quantization
Set acceleration
Learning A certain type of response is impressed upon the neural network during the
process sequence learning phase. The relation between the input and output signals is learned.
The learning process is controlled entirely by NC programs and is divided into
the following areas:
1. Preset the QEC system variables for the learning process
2. Activate QEC system variables (by starting the NC program)
3. Parameterize the learning cycle
4. Start the learning cycle
The result is the learnt compensation characteristic that is stored in the
non-volatile user memory.
The results achieved must be checked using the circularity test (Section 2.7).
Reference NC In order to ease the task of the start-up engineer in starting up the QEC with
programs neural networks, NC programs containing specimen routines for learning
movements and assignments of QEC system variables (recommended values)
are available.
These are the following reference NC programs:
Learning motion The axis traversing motions that must be executed to learn a specific response
are generated by an NC program. Each learning motion of the sample learning
cycle comprises a group of NC blocks with parabolic movements (ensuring that
the axis traverses at the most constant possible setpoint speed after the zero
crossing; see figure below) in which the axes oscillate at constant acceleration
in each program section. The acceleration is decreased from group to group. In
the figure below, NC blocks 2 to 3, 5 to 6 and 8 to 9 each form a group; the
transitional movements to lower acceleration rates are programmed in blocks 1,
4, 7 and 10.
Note
So that the learning parameters act as preset, the feedrate override switch
must be set to 100% during the learning phase.
Time
Set 1 2 3 4 5 6 7 8 9 10
Fig. 3-20 Typical traverse motion of an axis when learning the QEC characteristic
Assignment of Before a learning cycle is called, all QEC system variables must be set to the
system variables values required for the learning process. The values recommended in the
reference NC program must be checked and changed if necessary (see
Subsection 2.6.2).
Learning ON / OFF The actual learning process of the neural network is then activated in the
reference NC program. This is done using the following high-level language
command:
QECLRNON(axis name 1, ... 4) Learning ON (for specified axes)
Only during this phase are the characteristics changed.
After the learning motions of the required axes have been completed, the
learning process is deactivated for all axes. This is done with the high-level
language command:
QECLRNOF Deactivate learning (simultaneously for all axes)
After power-on reset, end of program (M02/M30) or operator panel front reset,
learning is also deactivated.
The current “Learning on / off” status is displayed in the service display “Axes”
with “QEC learning active” (1 = active; 0 = inactive).
Learning cycle call Once learning has been activated, the reference NC program calls the learning
cycle by means of the following input parameters:
0: Initial learning active. All values of the network are preset to 0 before
learning.
1: Relearning active. Learning continues with the values already learnt in
the defined step width.
Note
If “Detailed learning” is selected, the number of learning passes can and must
be reduced in order to reduce the learning duration
(recommended range: between 1 and 5).
Requirements In the learning phase, the neural QEC requires a speed feedforward control
(MD 32620: FFW_MODE=1; FFWON), but no jerk limitation (BRISK). The
feedforward control must therefore be correctly parameterized and optimized.
When the learning process is started a check is made to see whether the speed
feedforward control is activated. If not, the learning process is canceled and an
error message is generated.
General This describes start-up of QEC with neural networks. As we have already
mentioned, the compensation characteristics during the learning phase are
determined automatically.
The axis involved must perform reversals with acceleration values constant sec-
tion by section. The QEC system variables for parameterization of the neural
network must also be preset to meet the requirements.
To simplify start-up as much as possible, NC programs are provided to serve as
reference examples (see Subsection 2.6.3).
In the learning process, a distinction is made between “initial learning” (espe-
cially for first start-up) and “relearning” (especially for re-optimization of charac-
teristics already learnt). The procedures of “initial learning” and “relearning” are
described below.
If the compensation characteristics for the machine are to be learnt for the first
time, we recommend use of the reference NC programs specified in Subsec-
tion 2.6.3.
5. Activation of the injection of the compensation values for the required axes:
MD 32500: FRICT_COMP_ENABLE = 1.
6. Parameterize the trace for the circularity test in the menu “Circularity test
measurement” (with HMI Advanced or start-up tool).
Parameter values for the reference NC program:
Radius[mm]:
Feedrate[mm/min].
After this, enable the measuring function with the vertical softkey “start”.
7. Start the NC program with the test motion (circle).
The position actual values are recorded during the circular movement and
stored in the passive file system. After termination of data recording, the
recorded contour is displayed as a diagram.
8. Check the quadrant transitions for the contour recorded.
9. Depending on the result, repeat items 2, 4, 7, 8 and 9 if necessary. It might
be necessary to change certain QEC system variables first (see also
Subsection 2.6.3).
10. The compensation characteristics must be saved as soon as the contour
precision meets the requirements (see Subsection 2.6.3).
11. If necessary, the memory area previously reserved for the compensation
values can be reduced to the memory actually required.
Caution: When the setting in MD 38010: MM_QEC_MAX_POINTS is
altered, the non-volatile user memory is automatically re-allocated on
system power-on. All the user data in the non-volatile user memory are lost.
These data must therefore be backed up first. After power-on of the control,
the backed up characteristics must be loaded again.
Optimization In cases where the results of the circularity test do not meet the required accu-
options racy standards, the system can be further improved by selective changes to
QEC system variables. Several ways of optimizing the neural QEC are ex-
plained here.
y
Badly
compensated
Direction
Well of motion
compensated
Modification of The acceleration characteristic is subdivided into three ranges. In the low accel-
characteristic eration range, an especially high resolution is required for the characteristic in
ranges order to reproduce the widely varying compensation values there. Therefore,
the lower the acceleration rate, the finer the quantization of the input quantity
(see figure below).
In the high acceleration range, there are only small changes in the compensa-
tion values so that a small resolution is perfectly sufficient.
The percentage settings recommended in Subsection 2.6.2 for $AA_QEC_AC-
CEL_1 (2% of $AA_QEC_ACCEL_3) and for $AA_QEC_ACCEL_2 (60% of
$AA_QEC_ACCEL_3) are based on empirical values measured on machines
with a maximum acceleration rate (= operating range) of up to approx. 1 m/s2.
If the working range is significantly reduced, then the limit values for a1 and a2
must be set somewhat higher as a percentage of a3. However, $AA_QEC_AC-
CEL_1 must not exceed the range of approx. 5% of the maximum acceleration.
Useful boundaries for $AA_QEC_ACCEL_2 are approx. the values 40% to 75%
of the maximum acceleration.
Interval width
1 2 3 Acceleration
a1 a2 a3
Adaptation of the In special cases, it is possible to adapt the decay time of the compensation set-
decay time point pulse in addition to the compensation amplitude.
If, for example, the circularity test reveals that in the low acceleration range (a1)
the quadrant transitions yield good compensation results but that radius devi-
ations occur again immediately after this, it is possible to achieve an improve-
ment by adapting the decay time.
The time constant without adaptation ($AA_QEC_TIME_1) is only valid in the
mid acceleration range (50%).
The adaptation of the decay time for the compensation setpoint impulse accord-
ing to the characteristic shown in the figure below is parameterized with system
variable $AA_QEC_TIME_2 (for acceleration = 0). The adaptation is formed by
these two points according to an e–x function (see figure below).
The adaptation is performed under the following condition:
$AA_QEC_TIME_2 > $AA_QEC_TIME_1
Decay time
$AA_QEC_TIME_2
f (Decay time)
$AA_QEC_TIME_1
Set acceleration
0 50% 100%
Alteration of During the learning phase for the neural network, the error measuring time
error measuring determines the time window within which contour errors are monitored after a
time zero-speed passage.
Experience has shown that the error measuring time to be used for average
acceleration rates (approx. 2 to 50 mm/s2) corresponds to three times the value
of the decay time ($AA_QEC_MEAS_TIME_2 = 3 * $AA_QEC_ TIME_1).
In the very low and high acceleration ranges, the error measuring time must be
adapted. This is done automatically according to the characteristic in the figure
below. The error measurement duration for small accelerations is set to six
times the value of the decay time ($AA_QEC_MEAS_TIME_1 = 6 * $AA_QEC_
TIME_1); double the decay time ($AA_QEC_MEAS_TIME_3 = 2 * $AA_QEC_
TIME_1) is taken as the error measurement time for larger accelerations.
Measurement time
tM1
$AA_QEC_MEAS_TIME_1
tM2
$AA_QEC_MEAS_TIME_2
tM3
$AA_QEC_MEAS_TIME_3
Acceleration
1 2 3
a1 a2 a3
S Setting very extreme values for the compensation time constant of the QEC.
Experience has shown that error measuring times of less than 10 msec and
greater than 200 msec are not useful.
Overcompensation Practical experience has shown that the optimum friction compensation value
with short calculated from the circularity test may result in overcompensation on the
traversing motions relevant axis if it executes very short axial positioning movements (e.g. on
infeeds in the mm range).
To improve accuracy in such cases too, it is possible to reduce the
compensation amplitude for short traversing motions.
Preparation for
“Learning”
1. Determining the optimum friction compensation time constant
(MD 32540 FRICT_COMP_TIME) with conventional friction compensation.
2. Enter the following machine data without power ON:
*t_position ... position control cycle (=basic system cycle * factor for position control cycle), n_setSm. ... speed setpoint
smoothing (MD 1500 to 1521)
4. Copy the programs supplied on disk “MMC 100 TOOLBOX” into the NC
(with archive!)
QECDAT.MPF
QECSTART.MPF
QECLRNP.SPF (“Polynomial” learning program)or QECLRNC.SPF (“Circle”
learning program) is stored as QECLRN.SPF on the NC!
With geometry axes, it is preferable to use the Circle learning program; for
all other axes the Polynomial learning program only.
5. Make the following program adjustments:
– In part program QECDAT
Adjust friction compensation time constant if necessary (see para. 1)
N1340 $AA_QEC_TIME_1[outNr,axNr] = 0.0xx
N1040 def int numAxes = ..... Enter the number of axes
to be learned.
N1150 axisName[0] = ...... Axis name Enter 1st axis.
N1160 axisName[1] = ...... Axis name Enter 2nd axis.
N1170 axisName[2] = ...... Axis name Enter 3rd axis.
N1180 axisName[3] = ...... Axis name Enter 4th axis.
(For the “Circle” learning program, AX1 .. AX8 or the machine or channel
axis name can be used as the axis name. However, only the channel axis
name can be used for the “Polynomial” learning program).
– In part program QECSTART
N1080 def int numAxes = ..... Enter the number of axes
to be learned.
N1310 axisName[0] = ...... Axis name Enter 1st axis.
N1320 axisName[1] = ...... Axis name Enter 2nd axis.
N1330 axisName[2] = ...... Axis name Enter 3rd axis.
N1340 axisName[3] = ...... Axis name Enter 4th axis.
(For the “Circle” learning program, AX1 .. AX8 or the machine or channel
axis name can be entered as the axis name. In contrast, only the channel
axis name may be used for the “Polynomial” learning program).
Activate QEC
Save Save compensation data (select QEC data during the generation of the
compensation data series start-up file):
HMI Embedded:
Save with PCIN under SERVICES\Data\Circle error compensation\All.
HMI Advanced:
Save the file under SERVICES\NCK\NC Active Data\Quadrant Error
Co\Quadrant error comp-complete.ini. This file contains all compensation
values.
Note: Change the “displayed name length” to “20” in SERVICES “System
settings” “for display” to ensure that the whole name is visible.
Function One of the purposes of the circularity test is to check the contour accuracy ob-
tained by the friction compensation function (conventional or neural QEC). It
works by measuring the actual positions during a circular movement and dis-
playing the deviations from the programmed radius as a diagram (especially at
the quadrant transitions).
Procedure The circle contour for the axes involved is specified by an NC program. To
simplify the circularity test as much as possible for the start-up engineer, an NC
program is provided as a reference example for the circularity test motion (file
QECTEST.MPF on the diskette with the basic PLC program). The start-up
engineer must adapt this NC program to his application.
Several measurements must be made during the circularity test with different
acceleration values to ascertain whether the learnt compensation characteristic
(for neural QEC) or the defined compensation values (for conventional QEC)
meet the requirements.
The circular movement can easily be made with different accelerations if you
change the feedrate using the feedrate override switch without changing circular
contour. The real feedrate must be taken into account in the measurement in
the input field “feedrate”.
The circle radius chosen must be typical of machining operations on the
machine (e.g. radius in the range 10 to 200 mm).
For the duration of the circular movement, the position actual values of the axes
are recorded and stored in a “trace” in the passive file system. The circularity
test is therefore purely a measuring function.
Parameterization You select in this menu the names or numbers of the axes with which the circle
of circularity test is traversed and whose actual position data must be recorded. No check is
made to find out whether the selected axes match the axes programmed in the
NC parts program.
The parameter settings in the input fields “Radius” and “Feed” must correspond
to the values from the parts program that controls the circular motion of the
axes, taking account of the feed override switch setting. No check is made to
see whether the values in the parts program (including feedrate override) and
the input values match.
The “Measuring time” display field shows the measuring time calculated from
the “Radius” and “Feed” values for recording the position actual values during
the circular movement.
If only parts of the circle can be represented (i.e. measuring time too short) the
measuring time can be increased in the menu by reducing the feed value. This
also applies if the circularity test is started from the stationary condition.
Mode of The following parameter assignments for programming the mode of representa-
representation tion of measurement results can also be made:
Starting the The operator must use an NC Start to start the parts program in which the
measurement circular motion for the selected axes is stored (AUTOMATIC or MDA operating
mode).
The measuring function is started with the vertical soft key Start.
The sequence of operations (NC Start for part program and Start measurement)
can be chosen by the user according to the application.
When the circularity test is active for the specified axes, the message “active”
appears in the “Status” display field.
Stopping the The measurement can be stopped at any time by pressing the Stop key.
measurement Any incomplete measurement
recordings are best displayed by selecting the Display soft key. There is no
monitoring in this respect.
To allow direct access to the required controller parameters, the soft keys
Axis-specific MD, FDD-MD and MSD-MD are displayed. The vertical soft keys
Axis+ and Axis– can be used to select the desired axis.
The “Service axis” display is displayed when you press the Service Axis soft
key. The following service data are displayed here for commissioning of the
friction torque compensation:
Display When you press the Display soft key, the display switches to the graphical view
of the recorded circle diagram.
This screen displays the measurements of the two actual position values as a
circle with the set resolution.
The programmed radius, the programmed feedrate and the measuring time
derived from these values are also displayed for documentation purposes (for
subsequent storage of the measured circle characteristics in file format).
The operator can enter a finer scale for the diagram axes in the Resolution
input field, e.g. in order to emphasize the transitions at the quadrants. The circle
diagram is refreshed with the new resolution when you press the Display
softkey.
File functions The displayed measurement results and the parameter settings can be stored
as a file on the MMC by selection of softkey File functions.
Printer settings The basic display for selecting a printer (Fig. 10-15) can be called by means of
soft keys MMC Printer selection.
The toggle key is used to define whether the displayed graphic is to be output
directly on the printer or transferred to a bit map file after softkey Print graph is
selected.
Preparation for The friction compensation time constant (MD 32540 FRICT_COMP_TIME) is
“Learning” calculated first by means of conventional friction compensation.
n_setSm.
*)
*) t_position ... position control cycle (=basic system cycle * factor for position
control cycle), n-setSm. ... speed setpoint filter (MD 1500 ... 1521)
Owing to re-allocation of memory (MD 38010), save the machine data with:
HMI Emb. Save “Services”, “Data OUT”, “Start-up data, NCK data” and,
if programmed, measuring system error and sag/angularity com-
pensation tables via PCIN, execute a power ON-Reset and then
read in the saved data with PCIN and “Data IN” (=series machine
start-up).
HMI Adv. Save “SERIES START-UP” and, if programmed, measuring sys-
tem error and sag/angularity compensation tables, execute power
ON-Reset and read in “Start-up” archive (saved data are re-
loaded).
Copy the programs supplied on disk “MMC 100 TOOLBOX” into the NC
(with archive!)
QECDAT.MPF
QECSTART.MPF
QECLERNP.SPF (“Polynomial” learning program) or QECLRNC.SPF (“Circle”
learning program) is stored as QECLRN.SPF on the NC!
Adapt the following programs:
Activate QEC
Use the Save compensation data (QEC data are not included in back-up with “SERIES
“Circularity test” START-UP”):
to check the HMI Emb.: Save with PCIN under SERVICES\Data\Circle error compensa-
result! tion\All.
HMI Adv.: Save the file under SERVICES\NCK\NC Active Data\Quadrant
Error Co\Quadrant error comp-complete.ini. This file contains all
compensation values.
Note
Change the “displayed name length” to “20” in SERVICES “System settings”
“for display” to ensure that the whole name is visible.
Prerequisite This function is available only for use in conjunction with SIMODRIVE 611 digital
drives.
Note
The “Electronic weight compensation” functionality is not currently available for
the combination SINUMERIK 840D sl and SINAMICS universal drive.
The “Electronic weight compensation” functionality is not currently available for
the combination SINUMERIK 840Di and SIMODRIVE 611 universal drive.
The parameters required for the function cannot be transferred to the drive via
the PROFIBUS-DP.
Axis without In the case of weight-bearing axes without weight compensation, the vertical
electronic weight axes drop when the brake is released and the system responds as follows:
compensation
1. Brake holds Z
+Z 2. Brake releases, servo enable,
pulse enable
3. Axis Z is lowered.
4. After some delay, the control
holds the axis in
position
Feed Drive
Distance
Brake Z
–Z dz
t
Torque
Z
Weight
dz
t
The amount the axis (Z) is lowered increases in proportion to the speed control-
ler reset time in MD 1409: SPEEDCTRL_INTEGRATOR_TIME_1 set with the
SIMODRIVE 611 digital. Through activation of the electronic weight compensa-
tion function, it is possible to minimize the amount by which the axis is lowered.
Axis with The electronic weight compensation function prevents weight-bearing axes from
electronic weight sagging when the control is switched on. After releasing the brake, the constant
compensation weight compensation torque maintains the position of the vertical axis. This pro-
cess is illustrated in the figure below.
1. Brake holds Z
+Z 2. Brake releases, servo enable,
pulse enable,
weight compensation torque
3. Axis Z stays in position.
Torque
Weight
dz = ~ 0 t
Note
This function is available only in conjunction with SIMODRIVE 611 digital.
Switching off The electronic weight compensation function is deactivated with setting
MD 32460:TORQUE_OFFSET = 0.
The deselection takes effect after the next RESET or power ON or on selection
of softkey “Activate MD”.
Introduction HMI is capable of booting the NCK for the purpose, for example, of ac-
tivating machine data. The result of this reboot would be that vertical
axes would drop a short distance. Use can be made of the “Reboot
Management” function to avoid this problem.
When the management function is appropriately set, the NCK permits the NCK
and PLC to be powered down with a delay and also signals that shutdown is
imminent. This allows enough time for brake activation to prevent vertical axes
from dropping.
The Reboot Management function works only in conjunction with controlled Po-
wer On via the HMI. A power failure or hardware reboot does not activate the
Reboot Management function.
REBOOT The HMI initiates an NCK and PLC reboot using PI service
sequence “_N_IBN_SS”.
NCK immediately activates alarm 2900 in response to the PI service.
Machine data MD 10088: REBOOT_DELAY_TIME then specifies the time pe-
riod allowed by the NCK between the PI service and initiation of reboot. This
time delay can be used to activate mechanical axis brakes.
Reactions to alarm
2900
1. The following VDI signals are canceled, i.e. set to zero.
Mode Group ready
DB 11 DBB 6 Bit 3 (all mode groups)
Channel ready
DB 21 DBB 36 Bit 5 (all channels)
Axis ready
DB 31 DBB 61 Bit 2 (all axes)
As alarm 2900 deactivates the axis position control, this alarm must be config-
ured to effect application of the mechanical brakes by the PLC. Rebooting
the PLC forces the PLC outputs to change to defined zero. The brakes must be
connected up in such a way that they remain closed at zero, i.e. a 1 signal on
the PLC allows the brakes to open.
Note: In terms of its reactions, the alarm is the same as the Emergency Stop
alarm (3000). For internal reasons, the reboot delay time of the NCK can be
slightly increased.
SIMODRIVE 611 With NC SW 6 and SW 5.1 SIMODRIVE 611 digital and earlier, both functions
digital up to “electronic weight compensation” and “travel to fixed stop” can be used simulta-
SW 5.1 neously, but the following special points should be noted in this respect:
Interaction with The electronic weight compensation may not be used to offset the zero point for
traverse against the fixed stop torque or fixed stop force as it is unsuitable for this purpose.
fixed stop
S If, for example, the axis requires 30% weight compensation in a case where
40% fixed stop torque is programmed in the same direction, then the actual
torque with which the axis presses against the fixed stop only corresponds
to 10% of rated torque.
S If 40% fixed stop torque is programmed in the other direction (in the opposite
direction to weight compensation, i.e. in direction in which axis would drop)
in the same situation described above, then the actual torque with which the
axis presses against the fixed stop corresponds to 70% of rated torque.
SIMODRIVE 611 For travel to fixed stop with NC-SW 6 or SIMODRIVE 611 digital SW 5.1 and
digital SW 5.1 and higher, it is also possible to set a torque limit in the NC that is smaller than the
higher weight of the drive. In doing this, a torque/force limit is evaluated by the NC.
This torque/force limit is operative in addition to the limits set in the drive
S Current,
S Force/torque,
S Power, pullout power
S Setup mode
Required The torque/force limit is entered for the different drive types in the drive machine
adjustments data provided for this purpose.
Limit values of NC Machine data MD 1192 uses the same unit in percent (%) as the NC machine
symmetrical to data MD 32460: TORQUE_OFFSET[n] additional torque for electronic counter-
SIMODRIVE weight. The torque/force limit of the NC therefore acts symmetrically above and
below this weight torque/force. The resulting static torque/static force relation-
ship is as follows:
Manual NC format In order to facilitate the setting procedure MD 1728: DESIRED_TORQUE dis-
adjustment with plays the current torque/force setpoint in the same format as in MD 1192 and
SIMODRIVE MD 32460: TORQUE_OFFSET[n].
If only the force due to weight is active, the value can be read and
MD 1192 and MD 32460: TORQUE_OFFSET[n] transferred. If the value of the
force due to weight is greater than the torque/force limit of the NC, then the up-
per and lower torque/force limit has the same leading sign. If the force due to
weight is entered incorrectly, it can result in constant acceleration once the NC
force limit is reached!
With SW 5.1 and higher, the torque limit for setup mode
MD 1239: TORQUE_LIMIT_FOR_SETUP and the force limit
MD 1239: FORCE_LIMIT_FOR_SETUP also act symmetrically at the force due
to weight. The minimum is selected from the limit of NC and setup mode if setup
mode is active.
With SW 5.1 and higher for SIMODRIVE 611 digital, the limits of the NC and
setup mode are no longer included in
Notes
Supplementary Conditions 3
3.1 Availability
The individual compensation types are:
S Backlash compensation
S Leadscrew error and measuring system compensation
S Multi-dimensional beam sag compensation
S Manual quadrant error compensation
S Automatic quadrant error compensation (neural network)
S Temperature compensation
S Automatic drift compensation for analog speed setpoints
S Electronic weight compensation
S The function is available for the SINUMERIK 810DE in SW 3.2 and higher.
10082 CTRLOUT_LEAD_TIME
MD number Shift of setpoint transfer time
Default setting: 0.0 Minimum input limit: 0.0 Maximum input limit: 100.0
Changes effective after POWER ON Protection level: 2 / 7 Unit: %
Data type: DOUBLE Applies from SW: 2
Meaning: Lead time for output of the speed setpoints.
The larger the value entered, the sooner the drive accepts the speed setpoints.
S 0 % setpoints are transferred at the beginning of the next position control cycle.
S 50 % setpoints are already transferred after execution of half of the position control
cycle.
A reasonable lead time can only be determined by measuring the maximum position control
calculating time.
In the machine data 10083: CTRLOUT_LEAD_TIME_MAX suggests a value measured by
the control. As this is a net value, it is advisable for the user to provide for a safety allow-
ance of, for example, 5%.
If lead times that are too high are input, this can cause output of drive alarm 300506.
The input value is rounded to the next speed controller pulse rate in the drive.
If the speed controller pulse rates of the drives are different,
changing the value will not necessarily lead to the same degree of controller improvement
for all configured drives.
Note: This MD is only important for axes with digital drives.
Related to .... MD 10083: CTRLOUT_LEAD_TIME_MAX
10083 CTRLOUT_LEAD_TIME_MAX
MD number Maximum permissible setting for shift of setpoint transfer time
Default setting: 100.0 Minimum input limit: 0.0 Maximum input limit: 100.0
Changes effective after NEW_CONF Protection level: 2 / 7 Unit: %
Data type: DOUBLE Applies from SW: 4
Meaning: Maximum permissible lead time for output of the speed setpoints.
MD 10083 represents a setting aid for MD 10082.
The displayed value can be directly transferred to MD 10082, taking the safety allowance
into account.
The permissible lead time is determined from the maximum measured computing time re-
quired by the position controller. It decreases as the position controller’s computing time
requirements increase.
By reducing the position control cycle via MD 10060 or 10050, you can
reduce the permissible lead time.
The lead time is measured during the entire operating life. The displayed
value can only be increased by manual input.
If the specified lead time is greater than the permissible one (e.g. 100%), then it is automati-
cally determined again.
Note: This MD is only important for axes with digital drives.
Related to .... MD 10050: SYSCLOCK_CYCLE_TIME (system clock time)
MD 10060: POSCTRL_SYSC LOCK_TIME_RATIO (factor for position control cycle)
MD 10082: CTRLOUT_LEAD_TIME
10088 REBOOT_DELAY_TIME
MD number Reboot delay
Default setting: 0.2 Minimum input limit: 0.0 Maximum input limit: 1.0
Changes effective immediately Protection level: 3 / 3 Unit: s
Data type: DOUBLE Applies from SW: 7.2
Meaning: The reboot operation which follows PI “N_IBN_SS” is delayed by the time
REBOOT_DELAY_TIME.
The suppressible NOREADY alarm 2900 is activated immediately by PI “_N_IBN_SS”.
When REBOOT_DELAY_TIME = 0.0, alarm 2900 is not activated and no reboot delay is
applied.
32450 BACKLASH[n]
MD number Backlash
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective after NEW_CONF Protection level: 2 Unit: mm or degrees
Data type: DOUBLE Applies from SW: 1.1
Meaning: Backlash between the positive and the negative direction of travel.
The compensation value input is
S positive, if the encoder leads the machine part (normal case)
S negative, if the encoder lags behind the machine part.
If zero is entered backlash compensation is deactivated.
Backlash compensation is always activated after reference point approach in all modes.
The index [n] has the following coding:
[encoder no.]: 0 or 1
Special cases, errors, ...... If there is a second measuring system, a separate backlash value must be entered for this
measuring system.
Related to .... MD: NUM_ENC (number of measuring systems)
MD: ENC_CHANGE_TOL (maximum tolerance for position actual-value switchover)
32452 BACKLASH_FACTOR[n]
MD number Weighting factor for backlash
Default setting: 1.0 Minimum input limit: 0.01 Maximum input limit: 100.0
Changes effective after NEW_CONF Protection level: 2 / 7 Unit: –
Data type: DOUBLE Applies from SW: 5.1
Meaning: Weighting factor for backlash
This machine data enables the backlash entered in MD 32450: BACKLASH to be changed
as a function of a parameter set, e.g. in order to take account of gear-stage-specific back-
lash.
Related to .... MD 32450: BACKLASH[n]
32460 TORQUE_OFFSET
MD number Additional torque for electronic weight compensation
Default setting: 0 Minimum input limit: –100 Maximum input limit: 100
Changes effective after NEW_CONF Protection level: 2 / 7 Unit: %
Data type: DOUBLE Applies from SW: 3.1
Meaning: The additional torque for the electronic weight compensation is entered in the % block of
the static torque (calculated from MD1113 x MD1118). It is immediately effective when the
current controller is activated. Vertical axes are thus prevented from sagging when the
controller enabling signal is set, particularly when the speed controller reset time setting is
high.
With the speed controller deactivated, a positive value would move the drive in a positive
traversing direction (see also MD 32100: AX_MOTION_DIR for further details).
If, therefore, the positive traversing direction is upwards (axis is raised), then a positive
value must be entered for the weight compensation.
Conversely, a positive traversing direction downwards would call for a negative value.
32490 FRICT_COMP_MODE
MD number Friction compensation mode
Default setting: 0 Minimum input limit: 0 Maximum input limit: 2
Changes effective after NEW_CONF Protection level: 2/4 Unit: –
Data type: BOOLEAN Applies from SW: 2.1
Meaning: 0: No friction compensation
1: Friction compensation with const. feedforward value or adaptive characteristic
2: Friction compensation with learnt characteristic via neural network
Related to ....
32500 FRICT_COMP_ENABLE
MD number Friction compensation active
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after NEW_CONF Protection level: 2 / 4 Unit: –
Data type: BOOLEAN Applies from SW: 1.1
Meaning: 1: The axis is enabled for “friction compensation” and therefore injection of the friction
compensation values.
Quadrant errors on circular contours can be compensated with “friction compensation”.
Axial MD 32490: FRICT_COMP_MODE “friction compensation type” defines whether
“friction compensation with constant injected value” or “quadrant error compensation
with neural networks” is selected.
In the case of neural networks, the machine data should first be set to “1” when a valid
characteristic has been “learnt”. During the learning phase, the compensation values
are injected independently of the contents of this machine data.
0: Friction compensation is not enabled for this axis. No friction compensation values are
injected.
Related to .... MD 32490: FRICT_COMP_MODE Friction compensation type
MD 32510: FRICT_COMP_ADAPT_ENABLE Friction compensation adaptation active
MD 32520: FRICT_COMP_CONST_MAX Maximum friction compensation value
MD 32540: FRICT_COMP_TIME Friction compensation time constant
MD 38010: MM_QEC_MAX_POINTS Number of interpolation points for
quadrant error compensation with neural
networks
32540 FRICT_COMP_TIME[n]
MD number Friction compensation time constant [setpoint branch]: 0
Default setting: 0,015 Minimum input limit: 0 Maximum input limit: plus
Changes effective after NEW_CONF Protection level: 2 Unit: s
Data type: DOUBLE Applies from SW: 1.1
Meaning: Time constant over which the friction compensation value is injected (decay time of the
compensation setpoint pulse).
Deviations at the quadrant transitions are not only influenced by the injection amplitude but
also by a change in the friction compensation time constant (see Subsection 2.5.3).
MD irrelevant for ...... MD 32500: FRICT_COMP_ENABLE = 0
Related to .... MD 32500: FRICT_COMP_ENABLE Friction compensation active
MD 32520: FRICT_COMP_CONST_MAX Maximum friction compensation value
Dn = Dnmax for a1 a a2
Range B4 applies to acceleration values > a3. The following applies to the injection ampli-
tude within range B3:
Dn = Dnmin for a a3
MD irrelevant for ...... MD 32510: FRICT_COMP_ADAPT_ENABLE = 0
MD 32490: FRICT_COMP_MODE = 2 (neural QEC)
Related to .... MD 32500: FRICT_COMP_ENABLE Friction compensation active
MD 32510: FRICT_COMP_ADAPT_ENABLE Friction compensation adaptation active
MD 32520: FRICT_COMP_CONST_MAX Maximum friction compensation value
MD 32530: FRICT_COMP_CONST_MIN Minimum friction compensation value
MD 32550: FRICT_COMP_ACCEL1 Adaptation acceleration value 2
MD 32560: FRICT_COMP_ACCEL2 Adaptation acceleration value 2
MD 32540: FRICT_COMP_TIME Friction compensation time constant
32580 FRICT_COMP_INC_FACTOR
MD number Weighting factor of friction compensation value with short traversing movements
Default setting: 1 Minimum input limit: 0 Maximum input limit: 100
Changes effective after POWER ON Protection level: 2 / 4 Unit: %
Data type: DOUBLE Applies from SW: 2.1
Meaning: The optimum friction compensation value determined by the circularity test can cause over-
compensation of this axis if compensation is activated and axial positioning movements are
short.
In such cases, a better setting can be achieved by reducing the amplitude of the friction
compensation value (conventional or quadrant error compensation with neural networks)
and all positioning movements that are made within an interpolation cycle of the control.
The factor that has to be entered can be determined empirically and can be different from
axis to axis because of the different friction conditions. The input range is between 0 to
100% of the value determined by the circularity test.
The default setting is 0; so that no compensation is performed for short traversing move-
ments.
Related to .... MD 32500: FRICT_COMP_ENABLE Friction compensation active
32610 VELO_FFW_WEIGHT[n]
MD number Weighting factor for feedforward control
Default setting: 1 Minimum input limit: 0 Maximum input limit: plus
Changes effective after NEW_CONF Protection level: 2 / 7 Unit: Factor
Data type: DOUBLE Applies from SW: 1.1, changed from SW 5.1
Meaning: From SW 1.1 to SW 4.4 feedforward control factor for speed feedforward control
In the case of speed feedforward control, a velocity setpoint is also applied directly to the
input of the speed controller (see Chapter 2, Section “Speed feedforward control”). This
additional setpoint can be weighted with a factor (called feedforward control factor).
To ensure that the speed feedforward control is set correctly, the equivalent time constant
of the speed control loop must be determined precisely and entered in MD 32810:
EQUIV_SPEEDCTRL_TIME.
If the equivalent time constant of the speed control loop is defined exactly, the feedforward
control factor has a value of approximately 1. In this case, the system deviation is roughly
zero (check by looking at the service display in the operating area Diagnosis).
If the feedforward control factor 0 is entered, feedforward control is deactivated. However,
because the calculations are performed anyway, feedforward control must be deactivated
with MD: FFW_MODE = 0.
Generally the settings for the feedforward control are better when the weighting factor re-
mains set to (1.0), and overshooting is removed by means of jerk limitation and balancing
filter MD 32810: EQUIV_SPEEDCTRL_TIME.
32620 FFW_MODE
MD number Feedforward control mode
Default setting: 1 Minimum input limit: 0 Maximum input limit: 4
Changes effective after RESET Protection level: 2 / 7 Unit: –
Data type: Byte Applies from SW: 4.3 extended in SW 5.1 and
higher
Meaning: FFW_MODE defines the feedforward control mode to be applied on an axis-specific basis.
0 = No feedforward control
1 = Velocity feedforward control with PT1 balancing
2 = Torque feedforward control with PT1 balancing
(only possible with SINUMERIK 840D)
Extending the selection with values 3 and 4 with SW 5.1 and higher
for SINUMERIK 840D/810D only
The default is 1 for compatibility with earlier software versions.
FFWON and FFWOF are used to activate and deactivate the feedforward control for spe-
cific channels on all axes.
To prevent these instructions from changing the feedforward control for individual axes, the
setting can be activated or deactivated permanently in machine data MD 32630: FFW_AC-
TIVATION_MODE (see also MD 32630).
32630 FFW_ACTIVATION_MODE
MD number Activate feedforward control from program
Default setting: 1 Minimum input limit: 0 Maximum input limit: 1
Changes effective after RESET Protection level: 0 / 0 Unit: –
Data type: Byte Applies from SW: 4.3
Meaning: FFW_ACTIVATION_MODE can be set to define whether the feedforward control for this
axis/spindle can be switched on and off in the parts program.
0 = The feedforward control cannot be switched on or off by high-level language ele-
ments FFWON or FFWOF.
The condition set in MD: FFW_MODE is always active for the axis/spindle.
1 = Feedforward control can be switched on/off with FFWON or FFWOF.
The default setting is programmed in channel-specific data MD 20150:
GCODE_RESET_VALUES. This setting is valid even before the first NC block has
been executed.
The last condition to be active remains active even after Reset (and therefore with JOG).
Because the feedforward control for all axes of a channel is switched on/off with FFWON or
FFWOF, MD:
FFW_ACTIVATION_MODE should therefore have identical settings for axes that interpo-
late with each other.
Related to .... MD 32620: FFW_MODE
MD 20150: GCODE_RESET_VALUES
References /PA/, “Programming Guide Fundamentals”
32640 STIFFNESS_CONTROL_ENABLE
MD number Activate dynamic stiffness control
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after NEW_CONF Protection level: 2 / 7 Unit: –
Data type: Applies from SW: 4.1
Meaning: Activate dynamic stiffness control if bit is set.
With active dynamic stiffness control, higher servo gain factors are possible
(MD 32200: POSCTRL_GAIN).
Due to the higher computing load in SIMODRIVE 611 digital, it may be necessary to adapt
the settings of the sampling cycle (current/drive module cycle) in the 611D.
(This does not apply to PROFIBUS-DP drives)
For a single-axis drive module, the default setting (125 µs current, 125 µs speed controller
cycle) is sufficient. The speed controller cycle might have to be increased (to 250 µs) for
two-axis modules.
Note:
Up to SW 6.4, because of the implementation in the SIMODRIVE 611 digital drive, the stiff-
ness control is only possible with the motor measuring system.
Related to .... MD 32642: STIFFNESS_CONTROL_CONFIG
MD 32644: STIFFNESS_DELAY_TIME
References /FBA/, DD2 Dynamic Stiffness Control (DSC) Subsection
32642 STIFFNESS_CONTROL_CONFIG
MD number Config. dynamic stiffness control
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: BOOLEAN Applies from SW: 6.3
Meaning: Dynamic Stiffness Control Configuration (DSC):
Note:
Up to SW 6.4, DSC with a direct measuring system is possible only on the PROFIBUS-DP
with SIMODRIVE 611 universal drives.
Related to .... MD 32640: STIFFNESS_CONTROL_ENABLE
MD 32644: STIFFNESS_DELAY_TIME
References /FBA/, DD2 Dynamic Stiffness Control (DSC) Subsection
32644 STIFFNESS_DELAY_TIME
MD number Dyn. stiffness control: Delay
Default setting: 0.0 Minimum input limit: –0.02 Maximum input limit: 0.02
Changes effective after POWER ON Protection level: 2 / 7 Unit: s
Data type: DOUBLE Applies from SW: 6.3
Meaning: Effective only for PROFIBUS-DP drives
Configuration of a compensation deadtime for Dynamic Stiffness Control (DSC) with opti-
mized DP cycle (e.g. SIMODRIVE 611 universal).
With machine data MD 32644: STIFFNESS_DELAY_TIME, fine adjustment for the DSC
function is also possible for third-party PROFIBUS-DP drives.
32650 AX_INERTIA
MD number Moment of inertia for torque feedforward control
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after NEW_CONF Protection level: 2 Unit: kgm2
Data type: DOUBLE Applies from SW: 1.1
Meaning: In the case of torque feedforward control, an additional current setpoint proportional to the
torque is applied directly to the current controller input (see Chapter 2, subsection “Torque
feedforward control”). This value is formed using the acceleration and the moment of iner-
tia. The equivalent time constant of the current control loop must be defined for this purpose
and entered in MD 32800: EQUIV_CURRCTRL_TIME.
The total moment of inertia of the axis (drive + load) must also be entered in AX_INERTIA
(total moment of inertia referred to motor shaft according to data supplied by machine
manufacturer).
When AX_INERTIA and MD 32800: EQUIV_CURRCTRL_ TIME are set correctly, the follo-
wing error is almost zero even during acceleration (check this by looking at the following
error in the service display).
The torque feedforward control is deactivated if AX_INERTIA is set to 0. However, because
the calculations are performed anyway, torque feedforward control must always be deacti-
vated with MD: FFW_MODE = 0 or 1.
Because of the direct current setpoint injection, torque feedforward control is only possible
on digital drives (SIMODRIVE 611D).
MD irrelevant for ...... SINUMERIK MD 32620: FFW_MODE = 0 or 1
Application example(s) Torque feedforward control is required to achieve high contour accuracy where the de-
mands on the dynamics are great.
Related to .... MD 32620: FFW_MODE
MD 32630: FFW_ACTIVATION_MODE
MD 32800: EQUIV_CURRCTRL_TIME
32652 AX_MASS
MD number Axis mass for torque feedforward control
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after NEW_CONF Protection level: 2 / 7 Unit: kg
Data type: DOUBLE Applies from SW: 4.1
Meaning: Mass of axis for torque feedforward control.
This MD is used instead of AX_INERTIA on linear drives (DRIVE_TYPE=3).
Related to ....
References
32700 ENC_COMP_ENABLE[n]
MD number LEC active [n]
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after NEW_CONF Protection level: 2 / 7 Unit: –
Data type: BOOLEAN Applies from SW: 1.1
Meaning: 1: ’LEC’ is activated for the axis/measuring system.
With LEC, leadscrew errors and measuring system errors can be compensated.
The function is only enabled internally if the measuring system has been referenced
(IS: “Referenced/synchronized” = 1).
Write protection function (compensation values) active.
0: Interpolatory compensation is not active for the axis/measuring system.
32710 CEC_ENABLE
MD number Enabling of beam sag compensation
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after NEW_CONF Protection level: 2 / 4 Unit: –
Data type: BOOLEAN Applies from SW: 2.0
Meaning: 1: “Beam sag compensation” is enabled for the compensation axis.
With “beam sag compensation”, inter-axis geometry errors (e.g. beam sag and angular-
ity errors) can be compensated. The function is not enabled in the control until the follo-
wing conditions have been fulfilled:
S Option Interpolatory compensation is set
S Associated compensation tables are available
S Evaluation of the required compensation table is enabled
(SD: CEC_TABLE_ENABLE[t] = 1)
S The position measuring system required is referenced (IS: “Referenced/synchro-
nized” = 1).
S Write protection function (compensation values) active.
0: “Beam sag compensation” is not enabled for the compensation axis.
Related to .... MD: MM_CEC_MAX_POINTS[t] Number of interpolation points for beam
sag compensation
SD: CEC_TABLE_ENABLE[t] Enable evaluation of beam sag compensation
table t IS
“Referenced/synchronized 1 or 2” DB31–48, DBX60.4 or 60.5
32711 CEC_SCALING_SYSTEM_METRIC
MD number Measuring system of beam sag compensation
Default setting: 1 Minimum input limit: 0 Maximum input limit: 1
Changes effective after RESET Protection level: 2 / 7 Unit: –
Data type: BOOLEAN Applies from SW: 5
Meaning: Compensation data are contained in:
S MD 32711=0: inch system
S MD 32711=1: metric system
The measuring system can be configured for all beam sag compensation tables
that affect the same axis.
Hereby all position entries are interpolated together with the calculated total axial
compensation value in the configured measuring system.
External table conversions after the measuring system has been switched over are no
longer necessary.
Axial configuration of the measuring system is necessary, as only the total axial compensa-
tion value is referring unambiguously to a position, not the individual table contents that are
calculated in relation to one another.
32730 CEC_MAX_VELO
MD number Maximum permissible change value for beam sag compensation
Default setting: 10 Minimum input limit: 0 Maximum input limit: 100
Changes effective after NEW_CONF Protection level: 2 / 7 Unit: %
Data type: DOUBLE Applies from SW: 2.1
Meaning: In beam sag compensation, modification of the total compensation value (sum of the com-
pensation values of all active compensation relations) is limited axially. The maximum
change value is defined in this machine data as a percentage of MD 32000:
MAX_AX_VELO (maximum axis velocity).
If the change in the total compensation value is greater than the maximum value, alarm
20125 is output. Program processing is however continued. The path not covered because
of the limitation is made up as soon as the compensation value is no longer subject to limi-
tation.
MD irrelevant for ...... Leadscrew error compensation
Backlash compensation
Temperature compensation
Related to .... MD: CEC_ ENABLE Enable beam sag compensation
MD: MAX_AX_VELO Maximum axis velocity
SD: CEC_TABLE_ENABLE[t] Enable evaluation of beam sag
compensation table t IS
“Referenced/synchronized 1 or 2” DB31–48, DBX60.4 or 60.5
32750 TEMP_COMP_TYPE
MD number Temperature compensation type
Default setting: 0 Minimum input limit: 0 Maximum input limit: 7
Changes effective after POWER ON Protection level: 2 / 7 Unit: Hex
Data type: BYTE Applies from SW: 1.1, bit 2, in SW 6.1 and higher
extended
Meaning: The temperature compensation type effective for the machine axis is activated with ma-
chine data TEMP_COMP_TYPE.
A distinction is made between the following types:
TEMP_COMP_TYPE
Value = 0: No temperature compensation active
Bit 0 = 1: Positions independent temperature compensation active
(compensation value with SD 43900: TEMP_COMP_ABS_VALUE)
Bit 1 = 1: Position dependent temperature compensation active
(compensation value with SD 43910: TEMP_COMP_SLOPE and
SD 43920: TEMP_COMP_REF_POSITION)
Bit 2 = 1: Compensation active in tool direction
(in order to activate temperature compensation in tool direction,
machine data MD 20390: TOOL_TEMP_COMP_ON
must also be set.)
The compensation values are overwritten via the PLC or synchronized actions.
To prevent velocity step changes on individual axes, the applied compensation values are
limited via MD 32760: COMP_ADD_VELO_FACTOR.
Temperature compensation is an option that must be enabled.
Related to .... SD 43900: TEMP_COMP_ABS_VALUE Position-dependent
temperature compensation value
SD 43920: TEMP_COMP_REF_POSITION Reference position for position-dependent
temperature compensation
SD 43910: TEMP_COMP_SLOPE Gradient for position-dependent
temperature compensation
MD 32760: COMP_ADD_VELO_FACTOR Velocity violation due to
compensation
MD 20390: TOOL_TEMP_COMP_ON Activation of temperature compensation for
tool length
32760 COMP_ADD_VELO_FACTOR
MD number Velocity violation due to compensation
Default setting: 0,01 Minimum input limit: 0 Maximum input limit: 0,1
Changes effective after POWER ON Protection level: 2 / 7 Unit: Factor
Data type: DOUBLE Applies from SW: 1.1
Meaning: With axial MD: COMP_ADD_VELO_FACTOR the maximum distance that can be traversed
because of temperature compensation in one IPO cycle is limited.
If the resulting temperature compensation value is above this maximum, it is traversed over
several IPO cycles. There is no alarm.
The maximum compensation value per IPO cycle is input as a factor with reference to the
maximum axis velocity (MD: MAX_AX_VELO).
With this machine data the maximum gradient of the temperature compensation tanbmax is
also limited.
Example of calculation of the maximum gradient tanbmax:
1. Calculation of the interpolator closed-loop control (see Description of Functions Veloci-
ties, Setpoint/Actual-Value Systems, Closed-Loop Control (G2))
Interpolator closed-loop control = basic system clock rate * factor for interpolation cycle
Interpolator closed-loop control = MD: SYSCLOCK_CYCLE_TIME * MD: IPO_
SYSCLOCK_TIME_RATIO
Example: MD: SYSCLOCK_CYCLE_TIME = 0.004 [s]
MD: IPO_SYSCLOCK_TIME_RATIO = 3
Interpolator closed-loop control = 0.004 * 3 = 0.012 [s]
2. Calculation of the maximum velocity increase because of a change made to the tem-
perature compensation parameter DvTmax
DvTmax = MD: MAX_AX_VELO * MD: COMP_ADD_VELO_FACTOR
Example: MD: MAX_AX_VELO = 10 000 [mm/min ]
MD: COMP_ADD_VELO_FACTOR = 0.01
DvTmax = 10 000 * 0.01 = 100 [mm/min]
3. Calculation of the traverse distances per interpolator cycle
0.012
S1 (at vmax) = 10 000 x ––––––– = 2.0 [mm]
60
0.012
ST (at DvTmax) = 100 x –––––––– = 0.02 [mm]
60
4. Calculation of tanbmax
ST 0.02
tanbmax = –––– = –––––– = 0.01 (corresponds to the value of
S1 2 COMP_ADD_VELO_FACTOR)
bmax = arc tan 0.01 = 0.57 degrees
With larger values of SD: TEMP_COMP_SLOPE the maximum gradient (here 0.57
degrees) for the position-dependent temperature compensation value is used internally.
There is no alarm.
Note: Any additional velocity violation caused by temperature compensation must be taken
into account when defining the limit value for velocity monitoring (MD: AX_VELO_LIMIT).
MD irrelevant for ...... TEMP_COMP_TYPE = 0, sag compensation, LEC, backlash compensation
Related to .... MD: TEMP_COMP_TYPE Temperature compensation type
SD: TEMP_COMP_ABS_VALUE Position-independent temperature compensation
SD: TEMP_COMP_SLOPE Gradient for position-dependent temperature
compensation
MD: MAX_AX_VELO Maximum axis velocity
MD: AX_VELO_LIMIT Limit value for velocity monitoring
MD: IPO_SYSCLOCK_TIME_RATIO Ratio basic system clock rate to IPO cycle
MD: SYSCLOCK_CYCLE_TIME System clock cycle
36500 ENC_CHANGE_TOL
MD number Maximum tolerance for position actual value switchover
Default setting: 0.1 Minimum input limit: 0 Maximum input limit: plus
Changes effective after NEW_CONF Protection level: 2 / 7 Unit: mm, degrees
Data type: DOUBLE Applies from SW: 1.1
Meaning: The permissible deviation between the actual values of the two measuring systems
is entered in the MD.
This tolerance must not be violated when switching from one measuring system to the
other for closed-loop control in order to avoid too large compensatory processes. Other-
wise error message 25100, “Axis %1 Measuring system switchover not possible” is gener-
ated and switchover between the two systems does not take place.
SW 5.3 and higher
This MD is used to manage large backlash compensation values. It ensures that the back-
lash is not switched through to the actual value all at once, but in n steps with an increment
size as set in MD 36500: ENC_CHANGE_TOL. Inclusion of the backlash thus takes n
servo cycles.
If the time elapsed until the full inclusion of the backlash is excessive, zero speed monitor-
ing alarms may be triggered. The original method of injecting the backlash compensation
value is used if
MD 36500: ENC_CHANGE_TOL is set higher than
MD 32450: BACKLASH.
MD irrelevant for ...... This MD is irrelevant for MD 30200: NUM_ENCS = 0 or 1.
Application example(s) To avoid too large compensatory processes when switching measuring systems.
Related to .... MD 32450: BACKLASH
36700 DRIFT_ENABLE
MD number Automatic drift compensation
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after NEW_CONF Protection level: 840D:0 Unit: –
Data type: BOOLEAN Applies from SW: 1.1
Meaning: MD: DRIFT_ENABLE activates automatic drift compensation.
1: Automatic drift compensation is active (only for position-controlled axes/spindles).
With automatic drift compensation at zero speed, the control constantly determines the
additional drift value required so that the value zero is reached for the following error
(compensation criterion).
The total drift value is therefore composed of the basic drift value (MD:
DRIFT_VALUE) and the additional drift value (see Fig. 2-21).
0: Automatic drift compensation is not active.
The drift value is only formed from the basic drift value (MD: DRIFT_VALUE).
MD irrelevant for ...... 840D or for axes/spindles which are not position-controlled
Related to .... MD: DRIFT_LIMIT Drift limit value for automatic drift compensation
MD: DRIFT_VALUE Drift basic value
36710 DRIFT_LIMIT
MD number Drift limit value for automatic drift compensation
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after NEW_CONF Protection level: Unit:
840D: 0 % of manipulated vari-
FM-NC: 2 able
(e.g. 10 V 100%)
Data type: DOUBLE Applies from SW: 1.1
Meaning: MD: DRIFT_LIMIT, the magnitude of the additional drift value determined during automatic
drift compensation can be limited.
If the additional drift value exceeds the value entered in MD: DRIFT_LIMIT, alarm 25070
“Drift value too large” is signaled and the additional drift value is limited to this value.
MD irrelevant for ...... SINUMERIK 840D or
MD: DRIFT_ENABLE = 0
Related to .... MD: DRIFT_ENABLE Automatic drift compensation
36720 DRIFT_VALUE
MD number Drift basic value
Default setting: 0 Minimum input limit: 0 Maximum input limit:
Changes effective after NEW_CONF Protection level: 840D:0 Unit: %
Data type: DOUBLE Applies from SW: 1.1
Meaning: The basic drift value entered in MD: DRIFT_VALUE is always injected as an additional
speed setpoint.
The basic drift value is always active (independently of the MD: DRIFT_ENABLE)!
While the automatic drift compensation only applies to position-controlled axes, the basic
drift value is also active for speed-controlled axes/spindles.
Note: Digital drives have no drift!
For drives on the Profibus:
This MD can still however be used for “simple” drives on the Profibus which are experienc-
ing drift problems. To avoid setting errors, however, this drift compensation on the Profibus
is operative only if $MA_RATED_OUTVAL != 0 (i.e. the MD is inactive when the interfaces
between the NC and drive have been automatically adjusted).
Normalization: The input value refers to the interface normalization
according to $MA_RATED_OUTVAL, $MA_RATED_VELO and
$MA_CTRLOUT_LIMIT.
38000 MM_ENC_COMP_MAX_POINTS[n]
MD number Number of interpolation points for LEC (SRAM)
Default setting: 0 Minimum input limit: 0 Maximum input limit: 5000
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 1.1
Meaning: For leadscrew error compensation, the number of interpolation points required per measur-
ing system must be defined.
The required number can be calculated as follows using the defined parameters (see Sub-
section 2.3.2)
$AA_ENC_COMP_MAX-$AA_ENC_COMP_MIN
MD: MM_ENC_COMP_MAX_POINTS = ––––––––––––––––––––––––––––––––––––––– + 1
$AA_ENC_COMP_STEP
In selecting the number of interpolation points and the distance between them, it is impor-
tant to take account of the resulting size of the compensation table and the required space
in the backed-up NC user memory (SRAM). 8 bytes are required per compensation value
(interpolation point).
Index[n] has the following coding: [encoder no.]: 0 or 1
Special cases, errors, ...... Notice:
After any change in MD: MM_ENC_COMP_MAX_POINTS, the backed-up NC user
memory is reallocated automatically on power up.
All data in the backed-up NC user memory are then lost (e.g. parts programs, tool offsets
etc.). Alarm 6020 “Machine data changed - memory reallocated” is signaled.
If reallocation of the NC user memory fails because the total memory capacity available is
not sufficient, alarm 6000 “Memory allocation made with standard machine data” is sig-
naled.
In this case the NC user memory is allocated using the default values of the standard ma-
chine data.
References: /FB/, S7, “Memory Configuration”
/DA/, “Diagnostic Guide”
Related to .... MD: ENC_ COMP_ ENABLE[n] Interpolatory compensation active
References /FB/, S7, “Memory Configuration”
38010 MM_QEC_MAX_POINTS
MD number Maximum number of compensation values for QEC with neural networks
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1024
Changes effective after POWER ON Protection level: 2 / 4 Unit: –
Data type: DWORD Applies from SW: 2.1
Meaning: In quadrant error compensation with neural networks (QEC) the number of required com-
pensation values must be entered for every axis to be compensated.
The required number can be calculated as follows using the defined parameters (see Sub-
section 2.6.2):
MM_QEC_MAX_POINTS ($AA_QEC_COARSE_STEPS + 1) *
$AA_QEC_FINE_STEPS
$AA_QEC_COARSE_STEPS Coarse quantiz. of characteristic (system variable)
$AA_QEC_FINE_STEPS Fine quantization of characteristic (system variable)
For “direction-dependent” compensation the number must be greater than or equal to
double value of this product.
When selecting coarse or fine quantization, the resulting size of the compensation table
and the memory required for it in the non-volatile user memory must be taken into account.
4 bytes are required for every compensation value. If the value 0 is entered, no memory is
reserved for the table; i.e. the table does not exist and the function can therefore not be
activated.
Special cases, errors, ...... Caution!
If MD: MM_QEC_MAX_POINTS is altered, the non-volatile user memory is automatically
re-allocated on system power-on. This deletes all the user data in the non-volatile user
memory (e.g. drive and MMC machine data, tool offsets, parts programs etc.).
Note:
Because the exact number of required interpolation points is not exactly known during the
first installation of the function, a large number should be chosen initially. As soon as the
characteristics are recorded and saved, the number can be reduced to the required size.
After performing a power ON again, the saved characteristics can be reloaded.
References /FB/, S7, “Memory Configuration”
41300 CEC_TABLE_ENABLE[t]
MD number Enable evaluation of beam sag compensation table [t]
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective immediately Protection level: 7 Unit: –
Data type: BOOLEAN Applies from SW: 2.1
Meaning: 1: Evaluation of compensation table [t] is enabled. The compensation table defines, for
example, the compensation relation (assignment of basis to compensation axis) with [t]
= index of compensation table (see MD: MM_CEC_MAX_POINTS).
In “beam sag compensation” the compensation axis can be influenced by several
tables. SD:
CEC_TABLE_ENABLE[t] can be altered by the NC parts program or PLC user pro-
gram to adapt the total compensation value of the machining application (e.g. switch
over tables).
The compensation is not enabled in the control until the following conditions have been
fulfilled:
41310 CEC_TABLE_WEIGHT[t]
MD number Weighting factor for beam sag compensation table [t]
Default setting: 1,0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7 Unit: (factor)
Data type: DOUBLE Applies from SW: 2.1
Meaning: The compensation value stored in the table [t] is multiplied by the weighting factor. When
choosing the weighting factor, ensure that the resulting compensation value does not ex-
ceed the maximum value (MD: CEC_MAX_SUM).
With [t] = index of compensation table (see MD: MM_CEC_MAX_POINTS)
If, for example, the weight of the tools on the machine or workpiece to be machined differ
greatly and affect the error curve by a change in amplitude, this can be corrected by chang-
ing the weighting factor. In beam sag compensation the weighting factor of the table can be
altered for specific tools or workpieces by the PLC user program or the NC program by
overwriting the setting data.
If, however, the progression of the characteristic curve is greatly changed because of differ-
ing weights, different compensation tables must be used.
Related to .... SD: CEC_TABLE_ENABLE[t] Enable evaluation of beam sag
compensation table t
MD: CEC_MAX_SUM Maximum compensation value for
beam sag compensation
43900 TEMP_COMP_ABS_VALUE
SD number Position-independent temperature compensation value
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective after: immediately Protection level: MMCMD 9220 Unit:
mm or degrees
Data type: DOUBLE Applies from SW: 1.1
Meaning: SD: TEMP_COMP_ABS_VALUE defines the position-independent temperature com-
pensation value (see Fig. 2-2).
This value depends on the current temperature from the PLC (user program).
As soon as position-independent temperature compensation has been activated (MD:
TEMP_COMP_TYPE = 1 or 3), this additional compensation value is traversed by the ma-
chine axis.
SD irrelevant for ...... MD: TEMP_COMP_TYPE = 0 or 2
Related to .... MD: TEMP_COMP_TYPE Temperature compensation type
MD: COMP_ADD_VELO_FACTOR Velocity violation due to
compensation
43910 TEMP_COMP_SLOPE
SD number Gradient for position-dependent temperature compensation
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective after: immediately Protection level: MMCMD 9220 Unit:
mm or degrees
Data type: DOUBLE Applies from SW: 1.1
Meaning: With position-dependent temperature compensation, the error curve of the temperature-
dependent actual-value deviation can often be approximated by a straight line. This straight
line is defined by a reference point P0 and a gradient tanb (see Fig. 2-2).
SD: TEMP_COMP_SLOPE defines the gradient tanb. This gradient can be changed by the
PLC user program as a function of the current temperature.
As soon as position-dependent temperature compensation is active (MD:
TEMP_COMP_TYPE = 2 or 3), the axis traverses the compensation value calculated for
the current actual position.
MD: COMP_ADD_VELO_FACTOR limits the maximum gradient tanbmax of the error curve.
This maximum gradient cannot be exceeded.
SD irrelevant for ...... MD: TEMP_COMP_TYPE = 0 or 1
Special cases, errors, ... When TEMP_COMP_SLOPE is greater than tanbmax, gradient tanbmax is used to calculate
... the position-dependent temperature compensation value internally. No alarm is output.
Related to .... MD: TEMP_COMP_TYPE Temperature compensation type
SD: TEMP_COMP_REF_POSITION Reference position for position-dependent
temperature compensation
MD: COMP_ADD_VELO_FACTOR Velocity violation due to compensation
43920 TEMP_COMP_REF_POSITION
SD number Reference position for position-dependent temperature compensation
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective after: immediately Protection level: MMCMD 9220 Unit:
mm or degrees
Data type: DOUBLE Applies from SW: 1.1
Meaning: With position-dependent temperature compensation, the error curve of the temperature-
dependent actual-value deviation can often be approximated by a straight line. This straight
line is defined by a reference point P0 and a gradient tanb (see Fig. 2-2).
SD: TEMP_COMP_REF_POSITION defines the position of the reference point P0. This
reference point position can be changed by the PLC user program as a function of the cur-
rent temperature.
As soon as position-dependent temperature compensation is active (MD:
TEMP_COMP_TYPE = 2 or 3), the axis also traverses the compensation value calculated
for the current actual position.
SD irrelevant for ...... MD: TEMP_COMP_TYPE = 0 or 1
Related to .... MD: TEMP_COMP_TYPE Temperature compensation type
SD: TEMP_COMP_SLOPE Gradient for position-dependent
temperature compensation
Notes
Signal Descriptions 5
There are no separate signals for compensation.
J
Example 6
– None –
J
7.4 Alarms
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, “Diagnostics Guide”
or in the Online help.
J
Brief Description 1
Mode groups A mode group is a collection of machine axes, spindles and channels which are
programmed to form a unit. A mode group can, in principle, be compared to an
independent NC control (with several channels). A mode group is made up of
those channels that always have to operate simultaneously in the same mode.
Note
In the standard case a mode group exists and is described in
Channels Every channel has its own program decoding, block preparation and
interpolation functions. A channel can process a part program
independently.
Note
In the standard case a channel exists and is described in
Notes
Detailed Description 2
2.1 Mode groups
Mode groups A mode group combines NC channels with axes and spindles to form a
machining unit.
A mode group contains all those channels that always have to operate in the
same mode.
Any axis can be programmed in any channel of a certain mode group. A mode
group therefore corresponds to an independent, multiple-channel NC.
Example On large machine tools (machining centers), it may be necessary for a parts
program to be processed on one part of the machine while new workpieces to
be machined need to be clamped and set up on another part. Such tasks
usually require two independent NC controls.
With the mode group function, both tasks can be implemented on one NC
control with two mode groups because a different mode can be set for each
mode group (AUTOMATIC mode for the program processing, JOG for setting up
a workpiece).
Mode group The configuration of a mode group defines the channels, geometry axes,
assignment machine axes and spindles which it is to contain.
A mode group consists of one or several channels which must not be assigned
to any other mode group. Machine axes, geometry axes and special axes
themselves are assigned to these channels. A machine axis can only be
assigned to the channels of one mode group and can only traverse in this mode
group.
A mode group is configured with the following data:
Note
For more information about the first mode group, please refer to
2.2 Channels
Note
A description of the terms Channel, Channel Configuration, Channel States,
Effects of Commands/Signals, etc. for the first channel can be found in
General
Instruction Meaning
SW 3
SW 3
Procedure When a WAITM() call is reached, the axes in the current channel are
decelerated and wait until the mark number specified in the call arrives from the
other channels to be synchronized. The group is synchronized when the other
channels are also decelerated as they reach their WAITM() command. The
synchronized channels then continue operation.
Example of Channel 1:
program %100
coordination N10 INIT(2,“_N_200_MPF”,“n”)
N11 START(2)
. ; Processing in channel 1
N70 N270
WAITM(1,1,2) WAITM(2,1,2)
Channel 2 N400
N10 ... ... ... ... ... Wait ... ...
%200 M30
Fig. 2-1 Program runs illustrated by example of coordination with WAITM(), unconditional wait
SW 4
Objective Decelerating and waiting must take place only in cases where not all the
channels to be coordinated have set their mark numbers for the purpose of
synchronization. Conditional waiting.
The instants in time for generating wait marks and the conditional wait calls are
decoupled.
For the purpose of inter-channel communication, marks may even be set when
waiting and decelerating are not intended at all. No WAITMC() command. In this
case, the channel marks settings remain valid after execution of RESET and
NC Start.
Preconditions for To utilize conditional wait with WAITMC() and reduced wait times, the following
conditional wait conditions must be fulfilled:
Procedure A) Starting with the motion block before the WAITMC() call, the wait marks of
the other channels to be synchronized are checked. If these have all been
supplied, then the channels continue to operate without deceleration in
continuous-path mode. No wait. The path velocity remains unchanged.
B) If at least one wait mark from one of the channels to be synchronized is
missing, then the axes start to decelerate from path velocity down to exact stop
velocity. A check is now performed in every interpolation cycle to see whether
the missing wait marks of the channels to be coordinated have arrived in the
meantime. If this is the case, the axis is accelerated up to path velocity again
and machining continued.
C) If the marks to be supplied by the channels to be synchronized have not
arrived by the time exact stop velocity is reached, the machining operation is
halted until the missing marks appear. When the last required mark appears, the
axes are accelerated from standstill up to path velocity.
The following table shows the sequences of events for cases A) – C):
WAITMC
WAITMC
t
Exact stop velocity
C) The last wait mark does not arrive Brake down to exact stop velocity. v
until exact stop velocity has been When the last required mark appears,
reached. the axes are accelerated from exact Path velocity
stop velocity up to path velocity.
Zero
speed
WAITMC
Example of The example is schematic and shows only those commands that are relevant to
conditional wait in the synchronization process.
continuous Channel 1:
path mode
%100
N10 INIT(2, “_N_200_MPF”,“n”) ; Select partner program channel 2
N11 INIT(3, “_N_300_MPF”,“n”) ; Select partner program channel 3
N15 START(2, 3) ; Start programs in channels 2, 3
... ; Processing in channel 1
N20 WAITMC(7, 2, 3) ; Wait conditionally for mark 7 from channels
; 2 and 3
... ; Processing continues in channel 1
N40 WAITMC(8, 2) ; Wait conditionally for mark 8 from channel 2
... ; Processing continues in channel 1
N70 M30 ; End of channel 1
Channel 2:
%200
N200 ; Processing in channel 2
N210 SETM(7) ; Channel 2 sets wait mark 7
... ; Processing continues in channel 2
N250 SETM(8) ; Channel 2 sets wait mark 8
N260 M30 ; End of channel 2
Channel 3:
%300
N300 ; Processing in channel 3
...
N350 WHEN <condition> DO SETM(7)
; Set wait mark in a synchronized
; action
; Processing continues in channel 3
N360 M30 ; End of channel 3
7
SETM(7) SETM(8)
Channel 2
N N N N
200 210 250 260
7 8
Channel 1
WAITMC(7,2,3) WAITMC(8,2)
v
Channel 1 t
WAITMC SW 5.3 WAITMC and SETM (in Synact) can be synchronized with SW 5.3 and higher.
and higher
Note
When G64 is active, a WAITMC(1,2,3) block does not generate a separate
block, but is appended to the preceding block. A drop in velocity must be
prevented when continuous-path mode is active. A WAITMC is therefore
fulfilled if the preceding block is halted, e.g. by a read-in disable.
Example M555 is output in channel 3 while the axis is traversing and generates a read-in
of WAITMC and disable (RID). As the WAITMC is appended to BLOCK N312, the wait mark is
read-in disable set and processing in channel 2 continues.
Channel 2:
N112 G18 G64 X200 Z200 F567 ; Processing in channel 2
N120 WAITMC(1,2,3) ; Channel 2 sets wait marks 1, 2 and 3
... ; Further processing in channel 2 because
... ; WAITMC is appended to block N312.
... ; Further processing in channel 2
N170 M30 ; End of channel 2
Channel 3: Read-in disable M555 during traversal
N300 ; Processing in channel 3
N312 G18 G64 D1 X180 Z300 M555
N320 WAITMC(1,2,3) ; Wait because of RID
Block change in With block change condition IPOBRKA, when the wait flag is received, the next
response to block is loaded instantaneously and the axes started, provided none of the
WAITMC SW 6.4 other block end conditions prevent the block change. Braking only occurs if the
and higher flag is not yet reached, or another block end condition prevents the block
change.
2.3.1 Introduction
General An axis/spindle is firmly allocated to a certain channel via the machine data.
The axis/spindle can be used in this channel only.
Axis types According to the channel, we distinguish four types of axes: The reactions at
axis change depend on the settings in MD 30552: AUTO_GET_TYPE.
Channel axis
A channel axis can be programmed in the parts program and traversed in all
modes.
PLC axis
A PLC axis can only be positioned via the PLC.
If a PLC axis is programmed in the parts program
If MD30552: AUTO_GET_TYPE = 0, an alarm will be output.
If MD30552: AUTO_GET_TYPE = 1, an automatic GET will be generated.
If MD30552: AUTO_GET_TYPE = 2, an automatic GETD will be generated.
Neutral axis
If a neutral axis is programmed in the parts program
If MD30552: AUTO_GET_TYPE = 0, an alarm will be output.
If MD30552: AUTO_GET_TYPE = 1, an automatic GET will be generated.
If MD30552: AUTO_GET_TYPE = 2, an automatic GETD will be generated.
Axis in another channel
This is actually not a proper type of axis. It is the internal state of a replaceable
axis. If this happens to be active in another channel (as channel, PLC or neutral
axis).
If an axis is programmed in another channel in the parts program:
If MD30552: AUTO_GET_TYPE = 0, an alarm will be output.
If MD30552: AUTO_GET_TYPE = 1, an automatic GET will be generated.
If MD30552: AUTO_GET_TYPE = 2, an automatic GETD will be generated.
Note
Check and, if necessary, correct MDs 20110: RESET_MODE_MASK and MD
20112: START_MODE_MASK control the behavior of axis assignments in
RESET, during booting and part program start. The settings for channels
between which axes are to be replaced must be selected such that no illegal
constellations (alarms) are generated in conjunction with
MD 30552:AUTO_GET_TYPE.
References: /FB/, K2, ... “Actual-value system for workpiece”, ...
Example With 6 axes and 2 channels, the 1st, 2nd, 3rd and 4th axis in channel 1 and the
5th and 6th axis in channel 2 shall be used. It shall be possible to replace the
1st axis, this shall be allocated to channel 2 after power ON.
The channel-specific machine data must be allocated with:
CHANDATA(1)
MD 20070: AXCONF_MACHAX_USED=(1, 2, 3, 4, 0, 0, 0, 0)
CHANDATA(2)
MD 20070: AXCONF_MACHAX_USED=(5, 6, 1, 0, 0, 0, 0, 0)
The axis-specific machine data must be allocated with:
MD 30550: AXCONF_ASSIGN_MASTER_CHAN[AX1]=2
Displays The current type of axis and the current channel for this axis will be displayed in
an axial PLC interface byte.
See Section “Axis replacement via the PLC”.
Note
If an axis is not valid in the channel selected, this is displayed by inversion of
the axis name on the MMC/HMI.
Options for the An axis can be replaced from the part program and also for a tool change via
axis replacement motion synchronized actions. The axis is replaced in the currently enabled
channel and, depending on the respective axis type, the axis replacement
behavior can be set via MD 10722: AXCHANGE_MASK.
The following options are available for an axis replacement:
Varying the axis The machine data MD 10722: AXCHANGE_MASK can be used to influence the
replacement as of release time of axes or spindle as follows:
SW 5.3
S Bit 0 = 1 Automatic axis replacement also occurs between
two channels if WAITP has brought the axis
to a neutral state (response as before).
S Bit 1 = 1 With effect from SW 5.3 all the axes fetched with GET or
GETD into the axis container can only be replaced again
after an axis container rotation.
S Bit 3 = 1 With effect from SW 7.3 an axis replacement request via the
VDI for each axis that is not exclusively controlled from the
PLC is ignored by the NC and the VDI signal NCK ⇒ PLC
IS “Axis replacement possible” (DB31, ... DBX68.5) is always
set to zero. So that the axis can be traversed exclusively as
PLC axis via function block FC18,
Bit4 = 1must be set in MD 30460: BASE_FUNCTION_MASK.
If Bit4 = 0, then the axis can be used by the NC and the PLC.
2.3.2 Description
Possible The following diagram shows which axis replacement possibilities are available.
transitions
ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ
Neutral axis
ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ
Axis (spindle)
ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ
Channel 1 Channel 2
ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ
G
R
ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ
Axis (spindle)
After power ON
GD
Axis (spindle)
R0
BP
Rn
BP
BP
Rn
Axis (spindle)
PLC axis
RESET key
Note
The axis name corresponds to the axis allocations in the system and is either
With RELEASE (axis name, ...) a dedicated NC block will always be generated.
Exception: The axis is already in the neutral state.
The RELEASE command is interrupted if
Note
If the RELEASE command is applied to a gantry master axis, all following axes
are released, too.
Options The release time and the behavior of an axis or spindle replacement is
influenced in the part program as follows:
With GET GET (axis name, axis name, SPI (spindle no.), ...)
command
The takeover of an axis is delayed if
With the GETD With GETD (GET Directly), an axis is fetched directly from another channel.
command That means that no suitable RELEASE must be programmed for this GETD in
another channel. In addition, another channel communication must be created
(e.g. wait marks), since the supplying channel is interrupted with GETD1. If the
axis is a PLC axis, replacement is delayed until the PLC has enabled the axis.
Caution
! This programming command interrupts the program run in the channel in which
the required axis is currently to be found! (REORG).
Exception: The axis is at the time in a neutral state.
Note
An axis assumed with GET remains allocated to this channel even after a key
RESET or program RESET. The axis can be replaced by programming
RELEASE and GET again or will be assigned to the channel defined in
MD 30550: AXCONF_ASSIGN_MASTER_CHAN.
Example 1 N1 M3 S1000
N2 RELEASE (SPI(1)) ;=>Transition to neutral state
N3 S3000 ; New speed for released spindle
; MD AUTO_GET_TYPE =
; 0 => Alarm “Wrong axis type” is output
; 1 => GET (SPI(1)) is generated.
; 2 => GETD (SPI(1)) is generated.
Example 2 ; (axis 1 = X)
N1 RELEASE (AX1) ;=>Transition to neutral state
N2 G04 F2
N3 G0 X100 Y100: ; Motion of released axis
; MD AUTO_GET_TYPE =
; 0 => Alarm “Wrong axis type” is output
; 1 => GET (AX1) is generated.
; 2 => GETD (AX1) is generated.
Example 3 ; (axis 1 = X)
N1 RELEASE (AX1) ;=>Transition to neutral state
N2 G04 F2
N3 POS (X) = 100: ; Positioning the released axis:
; MD AUTO_GET_TYPE =
; 0 => Alarm “Wrong axis type” is output
; 1 => GET (AX1) is generated. *)
; 2 => GETD (AX1) is generated. *)
*) If the axis is still synchronized, no dedicated block will be generated.
Note
If an automatic GETD is set, the following must be observed:
1. The channels may influence one another.
(REORG if axis is taken away)
2. With simultaneous access of several channels to an axis it is not known
which channel will have the axis at the end.
Assumption With 6 axes and 2 channels, the 1st, 2nd, 3rd and 4th axis in channel 1 and the
5th and 6th axis in channel 2 shall be used. It shall be possible to replace the
2nd axis between the channels and to allocate to channel 1 after power ON.
S Machine data allocation so that the prerequisites for axis replacement are
given.
S Speed mode
S Spindle speed
S Direction of rotation
S Gear stage
S Master spindle at constant cutting rate.
Reorganization of the following axes is forced in any case.
For a programming example for the activation or an axis replacement without
preprocessing stop in the part program, please see:
References: /PGA/, “Axis replacement, spindle replacement (RELEASE,
GET, GETD)”
Release axis When an axis container rotation is activated, all the axis container axes that can
container rotation be assigned to the channel are assigned to the channel by means of implicit
GETs or GETDs. The axes can only be released again after the axis container
rotation.
Note
This response does not apply if an axis in main run axis state (e.g. the PLC
axis) is to take part in an axis container rotation, as this axis would have to give
up this state for the axis container rotation. For further explanations on the axis
replacement of channel axes with axis container, please see:
References: /FB/, B3, “Several operator panel fronts and NCUs”
S The type of an axis can be determined at any time via an interface byte
(PLC axis, channel axis, neutral axis)
After power ON 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0
RELEASE (K1) 0 1 1 0 0 0 0 1
0 1 0 0 0 0 0 1
Time
GET (K2) 0 0 1 0 0 0 1 0
0 0 0 0 0 0 1 0
S The PLC can request and traverse an axis at any time and in any operating
mode.
In principle, the PLC must set the signal “Request new type”. It is deleted again
after change. This also applies to a channel change with GET and RELEASE.
Examples The following diagrams show the IS signal sequences for changing an NC axis
to a PLC axis and transferring an NC axis to a neutral axis through the PLC.
After power ON 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0
Time
0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
After power ON 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0
1 0 0 0 0 0 0 0
Time
1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
1 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
PLC axis only for This axis replacement can only be requested via the VDI interface by setting Bit
PLC controlled 3 to one in machine data MD 10722: AXCHANGE_MASK. The axis
axes replacement then refers exclusively to axes controlled on the PLC. For all other
axes, IS “Axis replacement possible” (DB31, ...,DBX68.5) is always set to zero.
The following functions are permitted for a PLC axis possible in this way:
Function In the JOG mode, an active geometry axis linked via a frame with rotation can
be traversed as PL axis or a command axis traversed via static synchronized
actions. Bit 10=1 must be set in machine data
MD 32074: FRAME_OR_CORRPOS_NOTALLOWED. The reposition behavior
of this axis is influenced via Bit 11.
Note
An axis can only become a PLC or command axis within the channel, an axis
replacement in another channel is not allowed.
Mode change The axis movement must have been completed before switching from JOG
mode to another mode and the axis must have at least become a neutral axis.
If this is not the case when an operating mode change is triggered, the
operating mode change is not carried out and alarm 16908 is signaled.
Supplementary Interpolating axes may not be linked to other axes via a frame with rotation. This
condition is always the case when an axis influenced by a frame with rotation is currently
programmed in the NC program. In this case, IS “Axis replacement possible”
(DB31, ...DBX68.5) is reset at the VDI interface NCK → PLC.
Example In the NC program, ROT Z45 actively links the Z axis with a rotating frame and
therefore no axis replacement is possible for the X axis and Y axis. Therefore,
the following signals are set on the VDI interface:
IS “Axis replacement possible” (DB31, ...DBX68.5) = 0 and
IS “Axis replacement possible” (DB32, ...DBX68.5) = 0
Therefore, an axis replacement is not performed when the X or Y axis is
programmed in the NC program and a block with this programming is currently
being interpolated.
Depending on the setting in MD 32074:
FRAME_OR_CORRPOS_NOTALLOWED Bit 10, an axis replacement can be
performed in the JOG mode. For
Bit10 = 0: Even when a block with such programming has been
interrupted in JOG, no axis replacement is possible.
Bit10 = 1: An axis replacement is possible (both IS are set to 1)
If a block, in which an axis influenced by a
rotating frame is programmed, the
corresponding axis is repositioned depending on bit 11
of this machine data MD 32074.
If an axis replacement is possible, Bit10=1, then the following is valid for
Bit11 = 0: The PLC or command axis movement is considered
as a JOG movement and after a
mode change back to AUTOMATIC, repositioned
at the interrupt position (AUTO-REPOS).
Bit11 = 1: The end position of the PLC or command axis movement
is accepted as for a mode change and
the geometry axes repositioned in accordance with the
rotation.
Function In a certain channel, an axis can be requested with GET/GETD for command
axis movements of, e.g. swivel or gripper arms as action of a motion
synchronized action, and released with RELEASE for an axis replacement.
With which axis type and interpolation right a possible axis replacement is to be
performed, results from the system variable $AA_AXCHANGE_TYP[axis].
Whether the axis can also be replaced is displayed via the system variable
$AA_AXCHANGE_STAT[axis].
References: /FBSY/ “Actions in synchronized actions”
/PGA/, “Motion synchronized actions”
Move axis to An axis can be transferred directly between channels to a certain channel with
another channel the NC language command AXTOCHAN via synchronized actions and in the
part program. This axis does not have to be the same channel and it is not
necessary that this channel be in possession of the current interpolation right for
the axis. For further information about the programming, please see:
Note
The axis must be assigned to the channel via machine data.
An axis controlled exclusively by the PLC cannot be assigned
to the NC program. Bit4 = 0 can be used to change the axis-specific MD 30460:
BASE_FUNCTION_MASK, so that an axis can also be used by the NC.
Notes
Supplementary Conditions 3
“Mode group” On SINUMERIK 840D up to 10 mode groups.
function
Change to the If an axis is changed from PLC axis, neutral axis or axis in another channel to
channel axis the axis type channel axis, a synchronization must take place.
With this synchronization,
– the current positions are assumed
– the current speed and gear stage is assumed with spindles.
It is therefore obligatory to perform a feed stop which interrupts the active path
movement.
If the axis is transferred with GET, this transition is clearly defined by the parts
program.
If the axis is allocated by the PLC, the program section in which the change
takes place is not clearly foreseeable.
(Except by a separate user-specific NC <–> PLC logic)
For this reason, the change to the channel axis is delayed in the following
conditions.
Change from a The change of a channel axis to a neutral axis or PLC axes cannot be
channel axis performed during an active path operation.
With RELEASE this is caused by the fact that RELEASE must be located in a
separate NC block.
If the PLC changes the axis type, a REORG is triggered internally. Therefore,
the change with the listed program conditions is delayed.
Block search During block search with calculation, all GET, GETD or RELEASE blocks are
stored and output after the next NC Start.
Exception:
Blocks which are mutually exclusive are deleted.
Example:
N10 RELEASE (AX1) Blocks are deleted
N40 GET (AX1) ”
N70 Destination
J
10722 AXCHANGE_MASK
MD number Parameterization of the axis replacement response
Default setting: 0 Minimum input limit: 0 Maximum input limit: 0xFFFF
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW: 5.3 extended to
Bit 2 as of SW 6.4, Bit 3 as of SW 7.3
Meaning: This machine data can be used to change the axis replacement response.
Bit = 1
Bit 0 an automatic axis replacement via channels also occurs if
WAITP has brought the axis to a neutral state.
Bit 1 an axctswe fetches all the axis container axes that can be assigned to the channel
by means of implicit GETs or GETDs.
An axis can only be replaced again after the axis container rotation.
Bit 2 a GET generates an intermediate block without a preprocessing stop and it is only
in the main run that the system checks whether reorganization is required.
Bit 3 an axis replacement request via VDI interface for each axis not
exclusively controlled by the PLC is ignored by the NC, when via
MD 30460: BASE_FUNKTION_MASK, Bit 4 = 1 is set. The VDI signal
IS “Axis replacement possible” (DB31, ...,DBX68.5) is then always set to zero.
Bit 3 = 0: An axis replacement can be requested from the PLC for each axis.
Related to .... MD: AXCONF_MACHAX_USED
30460 BASE_FUNCTION_MASK
MD number Axis functions
Default setting: 0x00 Minimum input limit: 0 Maximum input limit: 0xFF
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies as of SW 2 Bit 4 extended SW 7.3
Meaning: Axis–specific functions can be set with this machine data.
The following bits are assigned for this bit–coded machine data:
Bit 0
== 0: Control axis is not allowed
== 1: Control axis is allowed. The axis traverse in speed mode when the
signal PLC ! NCK IS “Control axis” (DB31, ... DBX24.1) = 1 is set.
Bit 1
reserved for “Control axis”
Bit 2
reserved for “Control axis”
Bit 3
reserved for “Control axis”
Bit 4 as of SW 7.3
== 0: The axis can be used by the NC and PLC.
== 1: The axis is exclusively a PLC–controlled axis.
30550 AXCONF_ASSIGN_MASTER_CHAN
MD number Reset position of channel for axis change
Default setting: 0 Minimum input limit: 0 Maximum input limit: 2
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: BYTE Applies as of SW 2
Meaning: Definition of the channel to which the axis is allocated after power ON
Application example(s) With the function “Axis/spindle replacement”, a machine axis must be allocated to a chan-
nel after power on.
AXCONF_ASSIGN_MASTER_CHAN[AX2]=1 ⇒ axis AX2 is assigned to channel 1 after
power on.
Related to .... MD: AXCONF_MACHAX_USED
30552 AUTO_GET_TYPE
MD number Definition for automatic GET
Default setting: 1 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2 Unit:
Data type: BYTE Applies as of SW 3
Meaning: 0=no automatically generated GET⇒Alarm in response to programming error.
1=a GET is output when GET is generated automatically.
2=a GETD is output when GET is generated automatically.
Related to ....
Signal Descriptions 5
DB31, ...
DBB8 Axis/spindle replacement
Data Block Signal(s) to channel (PLC –––> NCK)
Edge evaluation: yes Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The current axis type and currently active channel for this axis must be specified.
transition 0 –––> 1 With axis replacement by the PLC, meaning of signal to axis/spindle DB31, ... DBB8:
Bit 0: A Assign NC axis/spindle to channel
Bit 1: B ...
Bit 2: C ...
Bit 3: D Assign NC axis/spindle to channel
Bit 4: Activation, assignment by positive edge
Bit 5: –
Bit 6: –
Bit 7: Request PLC axis/spindle
Signal state 0 or signal
transition 1 –––> 0
Corresponding to... IS DB31, ... DBB68, “Axis/spindle replacement”
MD 20070: AXCONF_ASSIGN_MASTER_USED (machine axis number valid in channel)
MD 30550: AXCONF_ASSIGN_MASTER_CHAN (initial setting of channel for axis replace-
ment)
Special cases, errors, ......
DB31, ...
DBB68 Axis/spindle exchange
Data Block Signal(s) to channel (NCK –––> PLC)
Edge evaluation: yes Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The current axis type and current channel assignment for this axis are displayed.
transition 0 –––> 1 With axis exchange by the PLC, meaning of signal from axis/spindle DB31, ... DBB68:
Bit 0 A NC axis/spindle in channel
Bit 1: B ...
Bit 2: C ...
Bit 3: D NC axis/spindle in channel
Bit 4: New type requested by PLC
Bit 5: Axis can be exchanged
Bit 6: Neutral axis/spindle and command/oscillation axes
Bit 7: PLC axis/spindle
Signal state 0 or signal
transition 1 –––> 0
Related to... IS DB31, ... DBB8, “Axis/spindle replacement”
MD 20070: AXCONF_ASSIGN_MASTER_USED (machine axis number valid in channel)
MD 30550: AXCONF_ASSIGN_MASTER_CHAN (initial setting of channel for axis replace-
ment)
Special cases, errors, ......
Notes
Example 6
None
J
Description of The mode group signals from PLC → NCK and from NCK → PLC are stored in
interface signals data block 11 for the first mode group. The signals are displayed and described
in
References: /FB/, K1, “Mode Group, Channels, Program Operation Mode”
Description of The channel signals from PLC → NCK and from NCK → PLC are stored in data
interface signals blocks 21, 22, ... for the first, second ... channel. The signals are displayed and
described in
References: /FB/, K1, “Mode Group, Channels, Program Operation Mode”
7.6 Interrupts
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, Diagnostics Guide
or in the Online help.
J
Notes
Notes
Brief Description 1
1.1 TRANSMIT
The TRANSMIT function enables the following:
Additional
advantages from
The tool center point path can pass through the turning center point of the
SW 4
rotary axis.
1.2 TRACYL
The functional scope of TRACYL (cylinder generated surface curve
transformation) is as follows:
Machine
– Longitudinal grooves on cylindrical objects,
– Transverse grooves on cylindrical objects,
– Arbitrary groove patterns on cylindrical objects.
The grooving path is programmed in relation to the developed, plane cylinder
generated surface.
For machining purposes, the function supports lathes with
Note
Linear axes (2) and (3) are perpendicular to one another. The infeed axis (2)
intersects the rotary axis. This constellation does not permit groove side offset.
For groove side offset, X-Y-Z-C kinematics is required with the following
axes (TRAFO_TYPE_n = 513):
– Rotary axis (1)
– Infeed axis perpendicular to axis of rotation (2)
– Longitudinal axis in parallel to axis of rotation (3)
Note
Linear axes (2), (3) and (4) are perpendicular to one another. This constellation
permits groove wall corrections.
The velocity control makes allowance for the limits defined for the rotations.
1.3 TRAANG
Introduction In SW 5 and higher two transformations can be chained such that the motion
parts for the axes from the first transformation are input data for the chained
second transformation. The motion parts from the second transformation act on
the machine axes.
Chaining options
In SW 5 the chain may encompass two transformations.
The second transformation must be “Inclined axis” (TRAANG).
The first transformation can be:
– Orientation transformations (TRAORI), incl. universal milling head
– TRANSMIT
– TRACYL
– TRAANG
For details about chained transformations, please refer to Section 2.4, and for
further information about other transformations to
As of SW 5.2 Most of the machine data relevant to kinematic transformations were activated
by power ON in earlier versions.
In SW 5.2 and higher, you can also activate transformations MDs via the part
program/softkey and it is not necessary to boot the control.
Please refer to Section 2.7 for a detailed description.
Detailed Description 2
2.1 TRANSMIT
Note
The TRANSMIT transformation described below requires that individual names
are assigned to machine axes, channels and geometry axes when the
transformation is active.
Cf.
MD 10000: AXCONF_MACHAX_NAME_TAB,
MD 20080: AXCONF_CHANAX_NAME_TAB,
MD 20060: AXCONF_GEOAX_NAME_TAB.
This is the only method of ensuring unique assignments.
CM Y X XM
ÉÉ
ÉÉ
ASM
ZM
Z
Legend:
CM Rotary axis (main spindle)
ASM Working spindle (milling cutter, drill)
X, Y, Z Cartesian coordinate system for programming
the face-end machining operation (origin in turning center
point of face end)
ZM Machine axis (linear)
XM Machine axis (linear)
Axis configuration Before movements can be programmed in the Cartesian coordinate system
(acc. to Fig. 2-1 X, Y, Z), the control system must be notified of the relationship
between this coordinate system and the real machine axes (CM, XM, ZM,
ASM):
Number Up to ten transformation data blocks can be defined for each channel in the
of transformations system. The machine data names of these transformations begin with
$MC_TRAFO .. and end with ... _n, where n stands for a number between 1 and
10. The following sections include descriptions of these data:
$MC_TRAFO_TYPE_n
$MC_TRAFO_GEOAX_ASSIGN_TAB_n
$MC_TRAFO_AXES_IN_n
Number of Two of the 10 permitted data structures for transformations in the channel may
TRANSMIT be assigned to the TRANSMIT function. They are characterized by the fact that
structures the value assigned with $MC_TRAFO_TYPE_n is 256 or 257.
For these 2 TRANSMIT transformations, the following machine data must be set
in a defined way:
$MC_TRANSMIT_ROT_AX_OFFSET_t
$MC_TRANSMIT_ROT_SIGN_IS_PLUS_t
$MC_TRANSMIT_BASE_TOOL_t
$MC_TRANSMIT_POLE_SIDE_FIX_t
In this case, t specifies the number of the declared TRANSMIT transformation
(maximum of 2).
Chan. 1 Chan. 1
1st channel axis [0] XC
ZC 2
2nd channel axis [1]
CC 3
3rd channel axis [2]
ASC 1
4th channel axis [3]
– 4
5th channel axis [4]
– 0
6th channel axis [5]
– 0
7th channel axis [6]
– 0
8th channel axis [7]
9th channel axis [8] – 0
10th channel axis [9] –
<byte>
<STRING> (0 to 8)
<byte> <STRING>
(0 to 5)
Assignment of According to the axis configuration overview shown above, the geometry axes
names to geometry to be involved in the TRANSMIT operation must be defined with:
axes $MC_AXCONF_GEOAX_NAME_TAB[0]=“X”
“ _TAB[1]=“Y”
“ _TAB[2]=“Z”
(name selection according to Fig. 2-2, also corresponds to default setting)
$MC_AXCONF_GEOAX_ASSIGN_TAB[0]=1
” _TAB[1]=0
” _TAB[2]=2
– TRANSMIT active
The Y axis can be addressed with the part program.
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=1
” _TAB_1[1]=3
” _TAB_1[2]=2
Entry of channel Axes which do not belong to the Cartesian coordinate system are entered.
axes
$MC_AXCONF_CHANAX_NAME_TAB[0]=“XC”
” [1]=“ZC”
” [2]=“CC”
” [3]=“ASC”
Assignment of With the cd of the channel axes as a reference, the machine axis number to
channel axes to which the channel axes have been assigned is transferred to the control
machine axes system.
$MC_AXCONF_MACHAX_USED[0]=2
” [1]=3
” [2]=1
” [3]=4
” [4]=0
(entries corresponding to Fig. 2-2)
Identification of The user defines whether each machine axis is a spindle (value > 0: spindle
spindles number) or a path axis (value 0).
$MA_SPIND_ASSIGN_TO_MACHAX[0]=1
” [1]=0
” [2]=0
” [3]=2
Assignment of With the cd of the machine axes as a reference, a machine axis name is
names to transferred to the control system.
machine axes $MN_AXCONF_MACHAX_NAME_TAB[0]=“CM”
” [1]=“XM”
” [2]=“ZM”
” [3]=“ASM”
Type of The following paragraph describes how the transformation type is specified.
transformation
TRAFO_TYPE_n The user must specify the transformation type for the transformation data blocks
(maximum n = 10). The value 256 must be set for TRANSMIT or the
VALUE 257 for a rotary axis with supplementary linear axis.
Example of VALUE 256: MD 24100: TRAFO_TYPE_1=256
With If the machine has another linear axis which is perpendicular to both the rotary
supplementary axis and the first linear axis, transformation type 257 can be used to apply tool
linear axis offsets with the real Y axis. It is assumed that the working area of the second
linear axis is small and is not to be used for the retraction of the part program.
The existing settings for $MC_TRAFO_GEOAX_ASSIGN_TAB_n apply.
Axis image The following paragraph describes how the transformation axis image is
specified.
TRAFO_AXES Three channel axis numbers must be specified for the transformation data block
_IN_n n:
$MC_TRAFO_AXES_IN_1[0]= Channel axis number of axis perpendicular
to rotary axis.
$MC_TRAFO_AXES_IN_1[1]= Channel axis number of rotary axis
$MC_TRAFO_AXES_IN_1[2]= Channel axis number of axis parallel to
rotary axis
Example of the configuration in Fig. 2-1:
$MC_TRAFO_AXES_IN_1[0]=1
$MC_TRAFO_AXES_IN_1[1]=3
$MC_TRAFO_AXES_IN_1[2]=2
[0]: Cartesian axis perpendicular to rotary axis (in the machine zero position, this
axis is parallel to the linear axis which is positioned perpendicular to the rotary axis)
Rotational position The rotational position of the Cartesian coordinate system is specified by
machine data as described in the following paragraph.
TRANSMIT The rotational position of the x-y plane of the Cartesian coordinate system in
_ROT_AX relation to the defined zero position of the rotary axis is specified with:
_OFFSET_t $MC_TRANSMIT_ROT_AX_OFFSET_t= ... ; degrees
Direction of The direction of rotation of the rotary axis is specified by machine data as
rotation described in the following paragraph.
TRANSMIT If the rotary axis rotates in an anti-clockwise direction on the X-Y plane when
_ROT_SIGN viewed along the Z axis, then the machine axis must be set to 1, but otherwise
_IS_PLUS_t to 0.
1
+
x
$MC_TRANSMIT_ROT_SIGN_IS_PLUS_t=1
In this case, “t” is substituted by the number of the TRANSMIT transformations
declared in the transformation data blocks (t must not be more than 2.)
Position of tool The position of the tool zero point is specified by machine data as described in
zero point the following paragraph.
y
tx
x
ty z
Fig. 2-3 Position of tool zero in relation to origin of the Cartesian coordinate system
(see Fig. 2-1)
$MC_TRANSMIT_BASE_TOOL_t[0]=tx
” [1]=ty
” [2]=tz
In this case, t in front of the index value [ ] is replaced by the number of the
TRANSMIT transformations declared in the transformation data blocks.
(t must not be more than 2).
Replaceable The PLC is informed when a geometry axis has been replaced using GEOAX( )
geometry axes through the optional output of an M code that can be set in machine data.
MD 22534: TRAFO_CHANGE_M_CODE
Number of the M code that is output at the VDI interface in the case of
transformation changeover.
Note
If this machine data is set to one of the values 0 to 6, 17, 30, then no M code is
output.
TRANSMIT After the settings described above have been made, the TRANSMIT function
can be activated:
TRANSMIT or
TRANSMIT(t)
The first declared TRANSMIT function is activated with TRANSMIT.
TRANSMIT(t) activates the t-th declared TRANSMIT function. t may not be
more than 2.
When TRANSMIT is activated in SW 4 and higher, the special processes for
pole traversal, etc. according to 2.1.6 become available.
Between activation of the function and deactivation as described below, the
traversing movements for the axes of the Cartesian coordinate system can be
programmed.
The transformation can be selected and deselected via parts program or MDA.
Please note
on selection
An intermediate motion block is not inserted (phases/radii).
A spline block sequence must be terminated.
Tool radius compensation must be deselected.
An activated tool length compensation is incorporated into the
transformation in the geometry axis by the control
The frame which was active prior to TRANSMIT is deselected by the control.
(corresponds to Reset programmed frame G500).
An active working area limitation is deselected by the control for the axes
affected by the transformation (corresponds to programmed WALIMOF).
Please note on
deselection
An intermediate motion block is not inserted (phases/radii).
A spline block sequence must be terminated.
Tool radius compensation must be deselected.
The frame which was active prior to TRANSMIT is deselected by the control.
(Corresponds to Reset programmed frame G500).
Restrictions when The restrictions listed below imposed by an activated TRANSMIT function must
TRANSMITis active be noted.
Tool change Tools may only be changed when the tool radius compensation function is
deselected.
Frame All instructions which refer exclusively to the base coordinate system are
permissible (FRAME, tool radius compensation). Unlike the procedure for
inactive transformation, however, a frame change with G91 (incremental
dimension) is not specially treated. The increment to be traversed is evaluated
in the workpiece coordinate system of the new frame - regardless of which
frame was effective in the previous block.
Rotary axis The rotary axis cannot be programmed because it is occupied by a geometry
axis and cannot thus be programmed directly as a channel axis.
Extensions with SW 6.4 and later
An offset in the rotary axis CM can be entered, for example, by compensating
the inclined position of a workpiece in a frame within the frame chain. The x and
y values are then as illustrated in the following diagram.
CM
With SW 6.4 and later, this offset can also be included in the transformation as
an offset in the rotary axis. To ensure that the total axial frame of the transmit
rotary axis, i.e. the translation, fine offset, mirroring and scaling, is included in
the transformation, the following settings must be made:
MD 24905: TRANSMIT_ROT_AX_FRAME_1 = 1
MD 24955: TRANSMIT_ROT_AX_FRAME_2 = 1
Note
Changes in the axis assignments are converted every time the transformation
is selected or deselected. For further information about axial offsets for rotary
axes to the SZS, please see:
References: /FB/, K2, “Coordinate Systems, Frames”
Velocity control The velocity monitoring function for TRANSMIT is implemented as standard
during preprocessing. Monitoring and limitation in the main run are activated:
Interruption of If parts program processing is interrupted for JOG, then the following must be
parts program noted:
JOG When JOG is selected, the conventional on-line velocity check is activated
instead of the optimized velocity check provided in 2.1.6 SW 4.
From AUTOMATIC If parts program processing is interrupted when the transformation is active
to JOG followed by traversal in JOG mode, then the following must be noted when
AUTOMATIC is selected again:
The transformation is active in the approach block from the current position
to the point of interruption. No monitoring for collisions takes place.
Warning
! The operator is responsible for ensuring that the tool can be re-positioned
without any difficulties.
In AUTOMATIC The velocity-optimized velocity planning function (SW 4) remains active for as
mode long as the axes relevant to the transformation are traversed in mutual
synchronism as path axes. If an axis involved in the transformation is traversed
as a positioning axis, the online velocity check remains active until the
transformation is deactivated or until all axes involved in the transformation are
operating as path axes again. The return to velocity-optimized operation
according to 2.1.6 automatically initiates a STOPRE and synchronizes acyclic
block preprocessing with the interpolation routine.
From start after If parts program processing is aborted with RESET and restarted with START,
reset then the following must be noted:
The remaining parts program is traversed reproducibly only if all axes are
traversed to a defined position by means of a linear block (G0 or G1) at the
beginning of the parts program. A tool which was active on RESET may no
longer be taken into account by the control (settable via machine data).
Power On The system response after power ON is determined by the settings stored in
RESET MD 20110: RESET_MODE_MASK and
MD 20140: TRAFO_RESET_VALUE
References: /FB/, K2, “Workpiece-Related Actual-Value System”
Reference point Axes cannot be referenced when a transformation is active. Any active
approach transformation is deselected by the control system during a referencing
operation.
Introduction The TRANSMIT transformation has a pole at the zero point of the TRANSMIT
plane (example, see Fig.: 2-1, x = 0, Y = 0). The pole is located on the
intersection between the radial linear axis and the rotary axis (X and CM). In the
vicinity of the pole, small positional changes in the geometry axes generally
result in large changes in position in the machine rotary axis. The only
exceptions are linear motions into or through the pole.
With SW 4 and higher, a tool center point path through the pole does not cause
the parts program to be aborted. There are no restrictions with respect to
programmable traversing commands or active tool radius compensations.
Nevertheless, workpiece machining operations close to the pole are not
recommended since these may require sharp feedrate reductions to prevent
overloading of the rotary axis.
Under what conditions and by what methods the pole can be traversed
The response in pole vicinity
The response with respect to working area limitations
Monitoring of rotary axis rotations over 360 °.
Traversal along
linear axis
Tool
x
ÂÉÉÉ
ÂÂ
ÂÂ Turned part
Contour
Rotation in pole
x
ÂÂ
ÉÉÉÉ
ÂÂ
Tool
ÉÉÉÉ
ÂÉÉÉÉ
ÂÂ
Contour
ÉÉÉÉ Turned part
Fig. 2-6 Traversal of x axis into pole (a), rotation (b), exit from pole (c)
Selection of The method must be selected according to the capabilities of the machine and
method the requirements of the part to be machined. The method is selected by
machine data:
MD 24911: TRANSMIT_POLE_SIDE_FIX_1
MD 24951: TRANSMIT_POLE_SIDE_FIX_2
The first MD applies to the first TRANSMIT transformation in the channel and
the second MD correspondingly to the second TRANSMIT transformation.
Table 2-1
VALUE Meaning
0 Pole traversal
The tool center point path (linear axis) must traverse the pole on a con-
tinuous path.
1 Rotation around pole
The tool center point path must be restricted to the positive traversing
range of the linear axis (in front of turning center).
2 Rotation around pole
The tool center point path must be restricted to the negative traversing
range of the linear axis (behind turning center).
Special features The method of pole traversal along the linear axis may be applied in the
relating to pole AUTOMATIC and JOG modes.
traversal System response:
Special features Prerequisite: This method is only effective in the AUTOMATIC mode.
relating to rotation
MD 24911: TRANSMIT_POLE_SIDE_FIX_1 = 1 or 2
in pole MD 24951: TRANSMIT_POLE_SIDE_FIX_2 = 1 or 2
Value: 1 Linear axis remains within positive traversing range
Value: 2 Linear axis remains within negative traversing range
In the case of a contour that would require the pole to be traversed along the
tool center point path, the following three steps are taken to prevent the linear
axis from traversing in ranges beyond the turning center:
Step Action
1 Linear axis traverses into pole
2 Rotary axis turns through 180°, the other axes involved in the
transformation remain stationary.
3 Execution of remaining block. The linear axis now exits from the pole again.
In JOG mode, the motion stops in the pole. In this mode, the axis may exit from
the pole only along the path tangent on which it approached the pole. All other
motion instructions would require a step change in the rotary axis position or a
large machine motion in the cases of minimum motion instructions. They are
rejected with alarm 21619.
Traversal close to If a tool center point traverses past the pole, the control system automatically
pole reduces the feedrate and path acceleration rate such that the settings of the
machine axes (MD 32000: MAX_AX_VELO[AX*] and MD 32300:
MAX_AX_ACCEL[AX*]) are not exceeded. The closer the path is to the pole,
the greater the reduction in the feedrate.
Tool center point A tool center point path which includes a corner in the pole will not only cause a
path with corner in step change in axis velocities, but also a step change in the rotary axis position.
pole These cannot be reduced by decelerating.
ÂÂÂ
ÉÉÉÉ
Corner
ÉÉÉÉ
ÂÂÂ
ÉÉÉÉ
ÂÂÂ ÉÉÉÉ
ÂÂÂ
x –x
ÉÉÉÉ
ÂÂÂ
ÉÉÉÉ ÉÉÉÉ
ÂÂÂ
ÉÉÉÉ
Requirements:
AUTOMATIC mode, MD 24911: TRANSMIT_POLE_SIDE_FIX_1 = 0 or
MD 24951: TRANSMIT_POLE_SIDE_FIX_2 = 0
The control system inserts a traversing block at the step change point. This
block generates the smallest possible rotation to allow machining of the
contour to continue.
Corner without
pole traversal
ÂÂÂ
Corner ÉÉÉÉÉÉ
ÂÂ
ÉÉÉÉÉÉ
ÉÉÉÉÉ
ÂÂÂ ÂÂ
ÉÉÉÉÉÉ
x x
ÉÉÉÉÉ
ÂÂÂ ÂÂ
ÉÉÉÉÉ
Approach to Exit from pole
pole
Requirements:
AUTOMATIC mode,
MD 24911: TRANSMIT_POLE_SIDE_FIX_1 = 1 or 2 or
MD 24951: TRANSMIT_POLE_SIDE_FIX_2 = 1 or 2
The control system inserts a traversing block at the step change point. This
block generates the necessary rotation so that machining of the contour can
continue on the same side of the pole.
Transformation If the machining operation must continue from a position on the tool center path
selection in pole which corresponds to the pole of the activated transformation, then an exit from
the pole is specified for the new transformation.
If MD 24911: TRANSMIT_POLE_SIDE_FIX_1 = 0 or
MD 24951: TRANSMIT_POLE_SIDE_FIX_2 = 0 is set (pole traversal), then the
smallest possible rotation is generated at the beginning of the block that
implements exit from the pole. Depending on this rotation, the axis then
traverses either in front of or behind the turning center.
When MD 24911: TRANSMIT_POLE_SIDE_FIX_1 = 1 or
MD 24951: TRANSMIT_POLE_SIDE_FIX_2 = 1 machining continues in
front of the turning center (linear axis in positive control range);
when MD 24911: TRANSMIT_POLE_SIDE_FIX_1 = 2 or
MD 24951: TRANSMIT_POLE_SIDE_FIX_2 = 2 machining is behind the
turning center (linear axis in the negative control range).
Transformation The control system moves the axes involved in the transformation without
selection outside evaluating machine data $MC_TRANSMIT_POLE_SIDE_FIX_t. In this case, t =
pole 1 stands for the first and t = 2 for the second TRANSMIT transformation in the
channel.
Initial state When TRANSMIT is active, the pole is replaced by a working area limitation if
the tool center point cannot be positioned in the turning center of the rotary axis
involved in the transformation. This is the case when the axis perpendicular to
the rotary axis (allowing for tool offset) is not positioned on the same radial
plane as the rotary axis or if both axes are positioned mutually at an oblique
angle. The distance between the two axes defines a cylindrical space in the
BCS in which the tool cannot be positioned.
The illegal range cannot be protected by the software limit switch monitoring
function since the traversing range of the machine axes is not affected.
x
Distance between
axes
Unmachinable cylinder
Working area limitation
Traversal into Any motion that leads into the working area limitation is rejected with alarm
working area 21619. Any corresponding parts program block is not processed. The control
limitation system stops processing at the end of the preceding block.
If the motion cannot be foreseen promptly enough (JOG modes, positioning
axes), then the control stops at the edge of the working area limitation.
Response close If a tool center point path leads past the illegal range, the control automatically
to working area reduces the feedrate and path acceleration rate to ensure that the settings of
limitation the machine axes (MD 32000: MAX_AX_VELO[AX*] and MD 32300:
MAX_AX_ACCEL[AX*]) are not exceeded. The closer the path is to the working
area limitation, the greater the reduction in the feedrate may be.
The control system cannot predict overlaid motions. However, these do not
interfere with the function provided that they are very small (e.g. fine tool offset)
in relation to the current distance from the pole (or from working area limitation).
With respect to axes that are relevant for the transformation, the transformation
monitors the overlaid motion and signals any critical quantity by alarm 21618.
This alarm indicates that the block-related velocity planning function no longer
adequately corresponds to the actual conditions on the machine. When the
alarm is output, the conventional, non-optimized online velocity monitor is
therefore activated. The preprocessing routine is re-synchronized with the main
run by a REORG generated internally in the control.
Alarm 21618 should be avoided whenever possible since it indicates a state
that can lead to axis overload and thus abortion of parts program processing.
Ambiguity of The positions of the rotary axis are ambiguous with respect to the number of
rotary axis rotations. The control breaks down blocks containing several rotations around
positions the pole into sub-blocks.
This subdivision must be noted with respect to parallel actions (e.g. output of
auxiliary functions, block-synchronized positioning axis motions) since the
programmed block end is no longer relevant for synchronization, but the end of
the first sub-block instead. See:
In single block mode, the control processes individual blocks explicitly. In other
modes, the sub-blocks are traversed with Look Ahead like a single block. A
limitation of the rotary axis setting range is monitored by the software limit switch
monitoring function.
Look Ahead All functions requiring Look Ahead (traversal through pole, Look Ahead) work
satisfactorily only if the relevant axis motions can be calculated exactly in
advance. With TRANSMIT, this applies to the rotary axis and the linear axis
perpendicular to it. If one of these axes is the positioning axis, then the Look
Ahead function is deactivated by alarm 10912 and the conventional online
velocity check activated instead.
Selection of The user is responsible for making the optimum choice of “Traversal through
method pole” or “Rotation around pole”. The active prevention of axis traversal through
the pole implemented in SW 2 and 3 has been eliminated in SW 4.
Several pole A block can traverse the pole any number of times (e.g. programming of a helix
traversals with several turns). The parts program block is subdivided into a corresponding
number of sub-blocks. Analogously, blocks which rotate several times around
the pole are likewise divided into sub-blocks. The relevant restrictions applying
in SW 2 and 3 have been eliminated in SW 4.
Rotary axis as The rotary axis can be a modulo rotary axis. However, this is not a mandatory
modulo axis requirement as was the case in SW 2 and 3. The relevant restrictions applying
in SW 2 and 3 have been eliminated in SW 4.
Rotary axis as If the rotary axis without transformation is used as a spindle, it must be switched
spindle to position-controlled mode with SPOS before the transformation is selected.
TRANSMIT with When TRANSMIT is active, the channel identifier of posBCS[ax[3]] must have a
supplementary different name to the geometry axes in the part program. If posBCS[ax[3]] is
linear axis written only outside the TRANSMIT transformation, this restriction does not
apply if the axis has been assigned to a geometry axis. With active TRANSMIT,
no contour information is processed via ax[3].
Block search In the case of block search with calculation, the block end point (of the last
sub-block) is approached in cases where intermediate blocks have been
generated as the result of the extended functionality in SW 4.
2.2 TRACYL
Note
The TRACYL transformation described below requires that unique names are
assigned to machine axes, channels and geometry axes when the
transformation is active. Compare
MD 10000: AXCONF_MACHAX_NAME_TAB,
MD 20080: AXCONF_CHANAX_NAME_TAB,
MD 20060: AXCONF_GEOAX_NAME_TAB.
This is the only method of ensuring unique assignments.
Axis
configuration 1
CM
ÈÈ
ÈÈ
ASM XM
ZM
Legend:
Fig. 2-10 Machining grooves on generated cylinder surface with X-C-Z kinematics
Axis The generated cylinder surface curve transformation allows a traversing path to
configuration 1 be specified with respect to the generated surface of a cylinder coordinate
system. The machine kinematics must correspond to the cylinder coordinate
system. It must include one or two linear axes and a rotary axis. The two linear
axes must be mutually perpendicular. The rotary axis must be aligned in parallel
to one of the linear axes and intersect the second linear axis. In addition, the
rotary axis must be co-linear to the cylinder coordinate system.
If there is only one linear axis (X), only grooves which are parallel to the
periphery of the cylinder can be generated. In the case of two linear axes (X,Z),
the groove pattern on the cylinder is optional. See Fig. 2-10.
Axis
configuration 2
CM
YM
ÈÈ
ÈÈ
XM
ASM
ZM
Legend:
Fig. 2-11 Machining grooves on generated cylinder surface with X-Y-Z-C kinematics
If a third linear axis is available (Fig. 2-11) which can produce a right-handed
Cartesian coordinate system with the other two linear axes (axis
configuration 1), then it is used to offset the tool parallel to the programmed
path by means of tool radius compensation. thereby allowing grooves with
rectangular traversing section to be generated.
Functionality During transformation (both axis configurations), the full functionality of the
control is available, both for processing from the NC program and in JOG mode
(see 2.2.6).
Groove In the case of axis configuration 1, longitudinal grooves along the rotary axis are
cross-section subject to parallel limits only if the groove width corresponds exactly to the tool
radius.
Grooves in parallel to the periphery (transverse grooves) are not parallel at the
beginning and end.
ÉÉ
ÉÉ
ÉÉ
ÉÉ ËËË ËËË ÉÉÉÉ
ÉÉ
ÉÉ ËËË
ÉÉ ËËË ËËË
ÉÉ
ËËË ÉÉ
Longitudinal slot Transverse groove Longitudinal groove with parallel
without groove wall offset limit, with groove wall compen-
For axis configuration 1 without Y axis sation for axis configuration 2
TRAFO_TYPE_n = 512 with Y axis
TRAFO_TYPE_n = 513
Number Up to 10 transformation data blocks can be defined for each channel in the
of transformations system. The machine data names of these transformations begin with
$MC_TRAFO .. and end with ... _n, whereby n stands for a number between 1
and 10. The first machine data has the same meaning as described for
TRANSMIT:
$MC_TRAFO_GEOAX_ASSIGN_TAB_n
$MC_TRAFO_TYPE_n
$MC_TRAFO_AXES_IN_n
The special settings described below apply to $MC_TRAFO_TYPE_n and
$MC_TRAFO_AXES_IN_n with respect to generated cylinder surface
transformation (TRACYL).
Number of Three of the 10 permitted data structures for transformations may be assigned
TRACYL to the TRACYL function. They are characterized by the fact that the value
structures assigned with $MC_TRAFO_TYPE_n is 512 or 513 or 514.
For these 3 TRACYL transformations, the following machine data must be set in
a defined way:
$MC_TRACYL_ROT_AX_OFFSET_t
$MC_TRACYL_ROT_SIGN_IS_PLUS_t
$MC_TRACYL_BASE_TOOL_t
Axis configuration The following overview shows the relationship between the axes of the machine
illustrated in Fig. 2-11 and the relevant axis data.
<byte>
(0 to 5) <STRING>
Assignment of According to the above axis configuration overview, the geometry axes to be
names to geometry involved in the TRACYL operation must be defined with:
axes $MC_AXCONF_GEOAX_NAME_TAB[0]=“X”
” _TAB[1]=“Y”
” _TAB[2]=“Z”
(name selection according to Fig. 2-13, also corresponds to default setting).
Assignment of These assignments are made depending on whether or not TRACYL is active.
geometry axes to
– TRACYL not active
channel axes A Y axis is traversed normally.
$MC_AXCONF_GEOAX_ASSIGN_TAB[0]=1
” _TAB[1]=2
” _TAB[2]=3
– TRACYL active
The Y axis becomes the axis in the peripheral surface direction of the
cylinder coordinate system.
$MC_TRAFO_GEOAX_ASSIGN_TAB[0]=1
” _TAB[1]=4
” _TAB[2]=3
Entry of Axes which do not belong to the Cartesian coordinate system are entered.
channel axes
$MC_AXCONF_CHANAX_NAME_TAB[0]=“XC”
” _TAB[1]=“YC”
” _TAB[2]=“ZC”
” _TAB[3]=“CC”
” _TAB[4]=“ASC”
Assignment of With the cd of the channel axes as a reference, the machine axis number to
channel axes to which the channel axes have been assigned is transferred to the control
machine axes system.
$MC_AXCONF_MACHAX_USED[0]=2
” [1]=3
” [2]=4
” [3]=1
” [4]=5
(entries corresponding to Fig. 2-11)
Identification of The user defines whether each machine axis is a spindle (value > 0: spindle
spindles number) or a path axis (value 0).
$MA_SPIND_ASSIGN_TO_MACHAX[0]=1
” [1]=0
” [2]=0
” [3]=0
” [4]=2
Assignment of With the cd of the machine axes as a reference, a machine axis name is
names to transferred to the control.
machine axes $MN_AXCONF_MACHAX_NAME_TAB[0]=“CM”
” [1]=“XM”
” [2]=“YM”
” [3]=“ZM”
” [4]=“ASM”
Type of The following paragraph describes how the transformation type is specified.
transformation
TRAFO_TYPE_n The user must specify the transformation type for the transformation data blocks
(maximum n = 10). For TRACYL, a VALUE of 512 must be set for axis
configuration 1 and a value of 513 for axis configuration 2 or 514 for no groove
side offset with supplementary linear axis. Transformation type 514 can also be
activated with groove side offset by means of an additional parameter. See also
Subsection 2.2.3 Activation.
Example of VALUE 512: MD 24100: TRAFO_TYPE_1=512
The setting must be made before TRACYL(d,t) is called. “t” is the number of the
declared TRACYL transformation.
The TRACYL transformation requires only a rotary axis and a linear axis
positioned perpendicular to the rotary axis. A real Y axis is used with
transformation type 514 in order, for example, to compensate a tool offset.
Grooves with The required inclusion of the tool offset has already been taken into account for
groove side offset the TRACYL transformation with groove side offset.
Axis image The following paragraph describes how the transformation axis image is
specified.
TRAFO_AXES Three (or 4) channel axis numbers must be specified for the transformation data
_IN_n block n:
$MC_TRAFO_AXES_IN_1[0]= Channel axis number of axis radial
to rotary axis
$MC_TRAFO_AXES_IN_1[1]= Channel axis number of rotary axis
$MC_TRAFO_AXES_IN_1[2]= Channel axis number of axis parallel to
rotary axis
$MC_TRAFO_AXES_IN_1[3]= Channel axis number of additional axis,
parallel to generated cylinder surface and
perpendicular to rotary axis
(if axis configuration 2 is used)
Grooves without For the transformation type 514, the following assignment of the indices is
groove side offset valid for $MC_TRAFO_AXES_IN_n[ ].
Meaning of the indices with respect to the base coordinate systems (BCS):
Rotational position The rotational position of the axis on the cylinder peripheral surface
perpendicular to the rotary axis must be defined as follows:
Y
b
a
Angle a-b in degrees
TRACYL The rotational position of the peripheral surface in relation to the defined zero
_ROT_AX position of the rotary axis is specified with:
_OFFSET_t $MC_TRACYL_ROT_AX_OFFSET_t= ... ; degrees
Direction of The direction of rotation of the rotary axis is specified by machine data as
rotation described in the following paragraph.
TRACYL If the direction of rotation of the rotary axis on the x-y plane is counter-clockwise
_ROT_SIGN when viewed against the z axis, then the machine data must be set to TRUE,
_IS_PLUS_t otherwise to FALSE.
TRUE
+
x
$MC_TRACYL_ROT_SIGN_IS_PLUS_t=TRUE
Replaceable The PLC is informed when a geometry axis has been replaced using GEOAX( )
geometry axes through the optional output of an M code that can be set in machine data.
MD 22534: TRAFO_CHANGE_M_CODE
Number of the M code that is output at the VDI interface in the case of
transformation changeover.
Note
If this machine data is set to one of the values 0 to 6, 17, 30, then no M code is
output.
Position of The position of the tool zero point in relation to the origin of the Cartesian
tool zero coordinate system is specified by machine data as described in the following
paragraph.
ty
tx
0 Z
Y
X tz
Tool zero YC
point
Example:
$MC_TRACYL_BASE_TOOL_t[0]=tx
” [1]=ty
” [2]=tz
In this case, t is replaced by the number of the TRACYL transformations
declared in the transformation data blocks.
(t must not be more than 2).
0
Z
d*π
Groove (example)
TRACYL After the settings described above have been made, the TRACYL function can
be activated:
TRACYL(d)
or
TRACYL(d,t) TRACYL(reference diameter, Tracyl data block)
The first declared TRACYL function is activated with TRACYL(d). TRACYL(t)
activates the t-th declared TRACYL function. t may not be more than 2. The
value d stands for the current diameter of the cylinder to be machined.
Between activation of the function and deactivation as described below, the
traversing movements for the axes of the cylinder coordinate system can be
programmed.
Transformation An additional call parameter is used for transformation type 514; this is the third
type 514 with parameter with which TRACYL transformation with groove side offset can be
groove side offset selected:
TRACYL(reference diameter, Tracyl data block, groove side offset).
The transformation can be selected and deselected via parts program or MDA.
Please note
on selection
An intermediate motion block is not inserted (phases/radii).
A spline block sequence must be terminated.
Tool radius compensation must be deselected.
The frame which was active prior to TRACYL is deselected by the control
(corresponds to “Reset programmed frame” G500).
An active working area limitation is deselected by the control for the axes
affected by the transformation
(corresponds to programmed WALIMOF).
Please note on The same points apply for deselection as for selection.
deselection
Restrictions when The restrictions listed below must be noted when the
TRACYL is active TRACYL function is active:
Tool change Tools may only be changed when the tool radius compensation function is
deselected.
Supplementary With active TRANSMIT, the channel identifier of posBCS[ax[3]] must have
conditions for another name in the part program, like the geometry axes. If posBCS[ax[3]] is
TRACYL without written only outside the TRACYL transformation, this restriction does not apply if
groove side offset the axis has been assigned to a geometry axis. With active TRACYL, no
contour information is processed via ax[3].
Frame All instructions which refer exclusively to the base coordinate system are
permissible (FRAME, tool radius compensation). Unlike the procedure for
inactive transformation, however, a frame change with G91 (incremental
dimension) is not specially treated. The increment to be traversed is evaluated
in the workpiece coordinate system of the new frame – regardless of which
frame was effective in the previous block.
Rotary axis The rotary axis cannot be programmed because it is occupied by a geometry
axis and cannot thus be programmed directly as a channel axis.
Extensions with SW 6.4 and later
An offset in the rotary axis CM can be entered, for example, by compensating
the inclined position of a workpiece in a frame within the frame chain. The x and
y values are then as illustrated in the following diagram.
CM
x
Diameter d
With SW 6.4 and later, this offset can also be included in the transformation as
an offset in the rotary axis or as a y offset. To ensure that the total axial frame of
the Tracyl rotary axis, i.e. the translation, fine offset, mirroring and scaling, is
included in the transformation, the following settings must be made:
MD 24805: TRACYL_ROT_AX_FRAME_1 = 1
MD 24855: TRACYL_ROT_AX_FRAME_2 = 1
Note
Changes in the axis assignments are converted every time the transformation
is selected or deselected. For further information about axial offsets for rotary
axes to the SZS as an offset on the peripheral surface, please see:
References: /FB/, K2, “Coordinate Systems, Frames
Interruption of The following points must be noted with respect to interrupting parts program
parts program processing in connection with TRACYL:
AUTOMATIC after If parts program processing is interrupted when the transformation is active
JOG followed by traversal in JOG mode, then the following must be noted when
AUTOMATIC is selected again:
The transformation is active in the approach block from the current position
to the point of interruption. No monitoring for collisions takes place.
Warning
! The operator is responsible for ensuring that the tool can be re-positioned
without any difficulties.
START after If parts program processing is aborted with RESET and restarted with START,
RESET then the following must be noted:
The remaining parts program is traversed reproducibly only if all axes are
traversed to a defined position by means of a linear block (G0 or G1) at the
beginning of the parts program. A tool which was active on RESET may no
longer be taken into account by the control (settable via machine data).
2.2.6 Jog
Special features When generated cylinder surface transformation with groove wall compensation
relating to JOG ($MC_TRAFO_TYPE = 513) is active in JOG mode, it must be noted that the
axes are traversed depending on the preceding status in AUTOMATIC. When
groove wall compensation is active, the axes movement therefore differs from
the situation when the correction function is deselected. The parts program can
therefore be continued (REPOS) after a parts program interruption.
Note
The TRAANG transformation described below requires that unique names are
assigned to machine axes, channels and geometry axes when the
transformation is active. Compare
MD 10000: AXCONF_MACHAX_NAME_TAB,
MD 20080: AXCONF_CHANAX_NAME_TAB,
MD 20060: AXCONF_GEOAX_NAME_TAB.
This is the only method of ensuring unique assignments.
MU
α
AS
Grinding disc
Workpiece
Z MZ
Legend:
X, Z Cartesian coordinate system for programming
C Rotary axis
AS Working spindle
MZ Machine axis (linear)
MU Inclined axis
1 ÉÉÉÉÉÉ
ÉÉÉÉÉÉ
ÉÉÉÉÉÉ
2
ÉÉÉÉÉÉ
ÉÉÉÉÉÉ
ÉÉÉÉÉÉ
ÉÉÉÉÉÉ
4
Axis configuration To be able to program in the Cartesian coordinate system (see Fig. 2-18: X, Y,
Z), it is necessary to inform the control of the correlation between this coordinate
system and the actually existing machine axes (MU, MZ):
With the exception of the “– Inclined axis active” point, the procedure is the
same as for the normal axis configuration.
References: /FB/, K2, “Coordinate Systems, Axis Types,
Axis Configurations, Actual-Value System for Workpiece,
External Zero Offset”
Number Up to 10 transformation data blocks can be defined for each channel in the
of transformations system. The machine data names of these transformations begin with
$MC_TRAFO .. and end with ... _n, where n stands for a number between 1 and
10. The following sections include descriptions of these data:
$MC_TRAFO_GEOAX_ASSIGN_TAB_n
$MC_TRAFO_TYPE_n
$MC_TRAFO_AXES_IN_n
Number of inclined Two of the 10 permitted data structures for transformations may be assigned to
axes the inclined axis function. They are characterized by the fact that the value
assigned with $MC_TRAFO_TYPE_n is 1024.
Axis configuration The axes of the grinding machine illustrated in Fig. 2-18 must be entered as
follows in the machine data:
Chan. 1 Chan. 1
1st channel axis [0] Z 3
2nd channel axis [1] C
3rd channel axis [2] 1
AS1 4
4th channel axis [3] MU 2
5th channel axis [4] –
6th channel axis [5] 0
– 0
7th channel axis [6] –
8th channel axis [7] 0
– 0
9th channel axis [8] –
10th channel axis [9] – <byte>
<STRING> (0 to 8)
<byte>
(0 to 5) <STRING>
Type of
transformation
TRAFO_TYPE_n The user must specify the transformation type in machine data
$MC_TRAFO_TYPE_n for the transformation data blocks (maximum n = 10).
The value for an inclined axis is 1024:
MD 24100: TRAFO_TYPE_1=1024
Axis image
TRAFO_AXES Two channel axis numbers must be specified for the transformation data block
_IN_n n:
MD 24110: TRAFO_AXES_IN_1[0] = 4 ; channel axis number of inclined axis
MD 24110: TRAFO_AXES_IN_1[1] = 1 ; channel axis number of parallel axis
for Z
MD 24110: TRAFO_AXES_IN_1[2] = 0 ; channel axis number not active
X
TRAFO_AXES_IN_n[1]
MU
TRAFO_AXES_IN_n[0] = 4
TRAANG_ANGLE_m
Z
TRAFO_AXES_IN_n[1]=1
Assignment of Example:
geometry axes to
MD 24430: TRAFO_TYPE_5 = 8192 Chaining
channel axes
MD 24110: TRAFO_AXIS_IN_1[0..x]
Angle of
inclined axis
Position of tool
zero point
Optimization of
velocity control
The following machine data are used to optimize the velocity control in jog
mode and in positioning and oscillation modes:
Replaceable The PLC is informed when a geometry axis has been replaced using GEOAX( )
geometry axes through the optional output of an M code that can be set in machine data.
MD 22534: TRAFO_CHANGE_M_CODE
Number of the M code that is output at the VDI interface in the case of
transformation changeover.
Note
No M code is output if the machine data is set to one of the values 0 to 6, 17 or
30.
TRAANG(a) After the settings described above have been made, the TRAANG function can
be activated:
TRAANG(a) or
TRAANG(a,n)
The first declared “inclined axis” transformation is activated with TRAANG(a).
The angle of the inclined axis can be specified with “a”.
Software versions < 6.4
If angle “a” is omitted or zero is entered, the transformation is activated with the
parameterization of the previous selection.
The default selection according to the machine data applies for the initial
selection.
SW 6.4 and higher
If a (angle) is omitted (e.g. TRAANG(), TRAANG(,n) ), the transformation is
activated with the parameter settings of the previous selection. On the first
selection, the presettings according to the machine data apply. An angle a = 0
(e.g. TRAANG(0), TRAANG(0,n)) is a valid parameter setting and is no longer
equivalent to the omission of the parameter, as in the case of older versions.
The permissible value range for a is: –90 degrees < a < + 90 degrees.
TRAANG(a,n) activates the nth declared inclined axis transformation.
This form is required only if several transformations are activated in the channel.
n must not be more than 2.
The transformation can be selected and deselected via parts program or MDA.
Selection and
deselection
An intermediate motion block is not inserted (phases/radii).
A spline block sequence must be terminated.
Tool radius compensation must be deselected.
The current frame is deselected by the control system
(corresponds to programmed G500).
An active working area limitation is deselected by the control for the axes
affected by the transformation (corresponds to programmed WALIMOF).
Restrictions
Tool change Tools may only be changed when the tool radius compensation function is
deselected.
Frame All instructions which refer exclusively to the base coordinate system are
permissible (FRAME, tool radius compensation). Unlike the procedure for
inactive transformation, however, a frame change with G91 (incremental
dimension) is not specially treated. The increment to be traversed is evaluated
in the workpiece coordinate system of the new frame – regardless of which
frame was effective in the previous block.
Extensions with SW 6.4 and later
When TRAANG is selected and deselected, the assignment between geometry
axes and channel axes can change. With SW 6.4 and later, the user can apply
these geometric contour sections to the axial frame as a translation, rotation,
scaling and mirroring in relation to the x and z plane with respect to the inclined
infeed axis.
For further information about these frame offsets with transformations, see:
References: /FB/, K2, “Axes, Coordinate Systems, Frames”
Velocity control
Programming
V
X
α
N50
N60
Grinding disc
Workpiece
Example:
N... ; Program angle for the inclined axis
N50 G07 X70 Z40 F4000 ; Approach starting position
N60 G05 X70 F100 ; Inclined plunge cutting
N...
Supplementary
conditions
It is only meaningful to select the function “Cartesian PTP travel” in JOG
mode (motion according to G05) if transformation is active (TRAANG). Note
the value set in MD 20140 TRAFO_RESET_VALUE.
The Cartesian working area limitation is monitored for overtravel in jog mode
if “PTP travel” is active and the axis will brake before overtraveling. If “PTP
travel” is not active, the axis can be traversed right up to the working area
limitation.
For further information, see Section “Cartesian PTP travel”.
TRANSMIT
TRACYL
TRAANG (inclined axis)
as well as those described in
Orientation transformations
Universal milling head
with another transformation of the “Inclined axis” type.
Applications The following is a selection from the range of possible chained transformations:
– Grinding contours that are programmed as a side line of a cylinder
(TRACYL) using an inclined grinding wheel e.g. tool grinding.
– Finish cutting of a contour that is not round and was generated with
TRANSMIT using inclined grinding wheel.
Note
The transformations described below require that individual names are
assigned to machine axes, channels and geometry axes when the
transformation is active. Compare MD:
MD 10000: AXCONF_MACHAX_NAME_TAB,
MD 20080: AXCONF_CHANAX_NAME_TAB,
MD 20060: AXCONF_GEOAX_NAME_TAB.
This is the only method of ensuring unique assignments.
Axis configuration The following configuration measures are necessary for a chained
transformation:
Number Up to ten transformation data blocks can be defined for each channel in the
of transformations system. The machine data names of these transformations begin with
$MC_TRAFO .. and end with ... _n, whereby n stands for a number between 1
and 10.
Transformation When configuring the machine data, the data concerning the single
sequence transformations (that may also become part of chained transformations) must
be specified before the data concerning the chained transformations.
Chaining With chained transformations the second transformation must be “inclined axis”
sequence (TRAANG).
Chaining direction The BCS is the input for the first of the transformations to be chained; the MCS
is the output for the second one.
Supplementary The supplementary conditions and special cases indicated in the individual
conditions transformation descriptions are also applicable for use in chained
transformations.
TRACON(trf, par)
where:
trf Number of the chained transformation:
0 or 1 for first/single chained transformation.
If nothing is programmed here, then this has the
same meaning as specifying value 0 or 1,
i.e. the first/single transformation is activated.
2 for the second chained transformation.
(Values not equal to 0 – 2 generate an error alarm).
par One or more parameters separated by a comma for the
transformations in the chain expecting parameters.
For example, the angle of the inclined axis. If parameters are
not set, the defaults or the parameters last used take effect.
Commas must be used to
ensure that the specified parameters are evaluated in the
sequence in which they are expected,
if defaults are to act for previous
parameters. In particular, a comma is required before at least
one parameter, even though
it is not necessary to specify trf. For example:
TRACON( , 3.7).
If another transformation was previously activated, it is implicitly disabled by
means of TRACON().
TRAFOOF A chained transformation is switched off with TRAFOOF just like any other
transformation.
Tool data A tool is always assigned to the first transformation in a chain. The subsequent
transformation then behaves as if the active tool length were zero. Only the
basic tool lengths set in the machine data (_BASE_TOOL_) are valid for the
first transformation in the chain.
Example Section 6.3 contains configuration examples for single transformations and the
transformation chains created from them.
Function A persistent transformation is always active and has a relative effect to the other
explicitly selected transformations. Other selected transformation are computed
as the first chained transformation in relation to the persistent transformation.
Transformations such as TRANSMIT that must be selected in relation to the
persistent transformation must be parameterized in a chain with the persistent
transformation by means of TRACON. It is the first chained transformation
rather than the TRACON transformation which is programmed in the part
program.
For further information about programming, see
References: /PGA/, Transformations, “Chained transformation”
Selection and The persistent transformation is selected via the following machine data:
deselection
MD 20144:TRAFO_MODE_MASK,
Bit 0 = 1 MD 20144 TRAFO_RESET_VALUE
defines persistent transformation.
MD 20140:TRAFO_RESET_VALUE= Number of the transformation data
block of the persistent transformation
The following must also be set: i.e. taken into account is:
MD 20110:RESET_MODE_MASK
Bit 0 = 1, ; Bit 7 is evaluated
Bit 7 = 0. ; MD 20140:TRAFO_RESET_VALUE
; determines the transformation
data block
MD 20112:START_MODE_MASK
MD 20118:GEOAX_CHANGE_RESET= TRUE i.e. geometry axes
are reset.
Alarm 14404 is generated if these additional data are not parameterized
correctly.
TRAFOOF deselects the active TRACON and automatically selects the
persistent transformation.
Effects on HMI As a transformation is always active with the persistent transformation, the HMI
operation user interface is adapted accordingly for the selection and deselection of
transformations:
TRACON on HMI
The HMI operator interface does not now display TRACON, but the 1st
transformation chained with TRACON, e.g. TRANSMIT. Accordingly, the
transformation type of the 1st chained transformation is returned by the
corresponding system variable, i.e. $P_TRAFO and $AC_TRAFO. Cycles
written in TRANSMIT can then be used directly.
TRAFOOF on HMI
In accordance with the TRAFOOF programming instruction, no transformation
is displayed in the G code list on the HMI user interface. System variables
$P_TRAFO and $AC_TRAFO therefore return a value of 0, the persistent
transformation is operative and the BCS and MCS coordinate systems do not
coincide. The displayed MCS position always refers to the actual machine axes.
System variable New system variable returns the transformation types of the active chained
transformations.
Frames Frame adjustments for selection and deselection of the TRACON are carried
out as if there was only the first chained transformation. Transformations on the
virtual axis cease to be effective when TRAANG is selected.
JOG The persistent transformation remains in effect when traversing with JOG.
Supplementary The persistent transformation does not change the principle operating
conditions sequences in the NCK. All restrictions applying to an active transformation also
apply to the persistent transformation.
A RESET command still deselects any active transformation completely; the
persistent transformation is selected again. The persistent transformation is not
reselected under error conditions. A corresponding alarm is generated to
indicate the error constellation.
Alarm 14401 or 14404 can be activated when TRAANG is the persistent
transformation. When the persistent transformation is active, other
transformation alarms may generated in response to errors depending on the
transformation type selected.
The transformation is deselected implicitly during referencing. A RESET or
START command must be issued after referencing in order to reselect the
persistent transformation.
Example For a lathe with an inclined additional Y axis, the transformation of the inclined
axis should be part of the machine configuration and therefore does not have to
be considered by the programmer. TRACYL or TRANSMIT is used to select
transformations which must then include TRAANG. When the programmed
transformations are deactivated, TRAANG is automatically activated again,
TRACYL or TRANSMIT is displayed accordingly on the HMI operator interface.
Machine data for a turning machine with Y1 axis, inclined in relation to X1 but
perpendicular to Z1.
CANDATA (1)
; Kinematic without transformations
MD 20080: AXCONF_CHANAX_NAME_TAB[1] = “Y2”
MD 20050: AXCONF_GEOAX_ASSIGN_TAB[0] = 1
MD 20050: AXCONF_GEOAX_ASSIGN_TAB[1] = 0
MD 20050: AXCONF_GEOAX_ASSIGN_TAB[2] = 3
; Data for TRAANG
MD 24100: TRAFO_TYP_1 = 1024 ; TRAANG Y1 axis inclined in relation to X1,
; perpendicular to Z1
MD 24110: TRAFO_AXES_IN_1[0] = 2
MD 24110: TRAFO_AXES_IN_1[1] = 1
MD 24110: TRAFO_AXES_IN_1[2] = 3
MD 24110: TRAFO_AXES_IN_1[3] = 0
MD 24110: TRAFO_AXES_IN_1[4] = 0
MD 24120: TRAFO_GEOAX_ASSIGN_TAB_1[0] = 1
MD 24120: TRAFO_GEOAX_ASSIGN_TAB_1[1] = 2
MD 24120: TRAFO_GEOAX_ASSIGN_TAB_1[2] = 3
MD 24700: TRAANG_ANGLE_1 = 60
MD 24720: TRAANG_PARALLEL_VELO_RES_1 = 0.2
MD 24721: TRAANG_PARALLEL_ACCEL_RES_1 = 0.2
; Definition of persistent transformation
MD 20144:TRAFO_MODE_MASK = 1
MD 20140:TRAFO_RESET_VALVUE= 1
MD 20110:RESET_MODE_MASK = ’H01’
MD 20112:START_MODE_MASK = ’H80’
MD 20140:TRAFO_RESET_VALUE
MD 20118:GEOAX_CHANGE_RESET= TRUE
; Data for TRANSMIT, TRACYL
MD 24911: TRANSMIT_POLE_SIDE_FIX_1 = 1 ; also 2, causes alarm 21617
MD 24200: TRAFO_TYP_2 = 257
MD 24210: TRAFO_AXES_IN_2[0] = 1
MD 24210: TRAFO_AXES_IN_2[1] = 4
MD 24210: TRAFO_AXES_IN_2[2] = 3
MD 24210: TRAFO_AXES_IN_2[3] = 0
MD 24210: TRAFO_AXES_IN_2[4] = 0
MD 24220: TRAFO_GEOAX_ASSIGN_TAB_2[0] =1
MD 24220: TRAFO_GEOAX_ASSIGN_TAB_2[1] =4
MD 24220: TRAFO_GEOAX_ASSIGN_TAB_2[2] =3
Function This function can be used to approach a Cartesian position with a synchronized
axis movement.
It is particularly useful in cases where, for example, the position of the joint is
changed, causing the axis to move through a singularity.
When an axis passes through a singularity, the feed velocity would normally be
reduced or the axis itself overloaded.
Note
The “handling transformation package” is required to implement cartesian PTP
travel. Machine data 24100: TRAFO_TYPE_1 must be set to the
transformation type described in TE4.
The function can only be used meaningfully in conjunction with an active
transformation. Furthermore, the “Cartesian PTP travel” function may only be
used in conjunction with the G0 and G1 commands. Alarm 14144 “PTP travel
not possible” is otherwise output.
When PTP travel is active, axes in the transformation
which are being traversed, e.g. by the POS command, cannot be configured
simultaneously as positioning axes. Alarm 17610 is activated to prevent this
error.
Power On After POWER ON, traversing mode CP is automatically set for axis traversal
with transformation. Via the MD 20152: GCODE_RESET_VALUES[48] can be
used to switch the default setting to cartesian PTP travel.
Supplementary The following should be noted with respect to tool movement and collision:
conditions
As the PTP command can produce significantly different tool movements to
the CP command, any pre-existing subroutines which have been written
independently of the active transformation must be adapted to take account
of the risks of collision when TRANSMIT is active. This applies particularly in
the case of command PTPG0.
In PTP blocks:
Special points to Please take account of the following basic rules with respect to the basic
be noted coordinate system:
An F value input with G1 refers to the fictitious path calculated from the
machine axis coordinates.
Block search TRANSMIT during block search can result in different machine axis positions for
the same Cartesian position, if a program section is executed with block search.
Interrupts An illegal action, which may result in a conflict, is rejected with the following
alarms:
Alarm 14144: If a TRC is selected or activated in PTP.
Also when PTP is combined with smooth approach and
retraction (SAR) or PTP without the necessary G0 and G1
blocks.
Alarm 10753: When PTPG0 and TRC are active, CP is selected internally
to ensure that the tool radius compensation is executed
correctly.
Alarm 10754: Possible if conflict does occur.
Alarm 10778: Possible if conflict does occur.
Alarm 10744: When PTPG0 and SAR are active, CP command is used
so that smooth approach and retraction is correctly executed.
Alarm 10746: Possible if conflict does occur.
Alarm 17610: Transformation axes must not be configured simultaneously
as positioning axes traversed by means of POS.
Note
For further information about programming plus programming examples, please
see:
References: /PGA/, Programming Guide Advanced,
Section Transformations, “Cartesian PTP Travel”
STAT address A Cartesian position must be convertible into a unique axis angle. For this
reason, the position of the joints must be entered in the STAT address.
The STAT address contains a bit for every possible setting as a binary value.
The meaning of these bits is determined by the relevant transformation.
As regards the transformations contained in the publication entitled “Handling
Transformation Package (TE4)”, the bits are assigned to different joint positions,
as shown in Fig. 2-23. See also Subsection 2.5.3.
....
Position of axis 5
Position of axis 2/3
Overhead position
Note
It is only meaningful to program the STAT address for “Cartesian PTP travel”,
since changes in position are not normally possible while an axis is traversing
with active transformation. The starting point position is applied as the
destination point for traversal with the CP command.
TU address In order to approach axis angles in excess of "180 degrees without ambiguity,
the information must be programmed in the TU (turn) address. The TU address
thus represents the sign of the axis angles. An axis angle of |θ| < 360 degrees
can therefore be approached without ambiguity.
Variable TU contains a bit, which indicates the traversing direction for every axis
involved in the transformation.
– TU bit=0: 0 degrees ≤ θ < 360 degrees
– TU bit=1: –360 degrees < θ < 0 degrees
The TU bit is set to 0 for linear axes.
In the case of axes with a traversing range >"360 degrees, the axis always
moves across the shortest path, because the axis position cannot be specified
uniquely by the TU information.
If no TU is programmed for a position, the axis always traverses via the shortest
possible route.
The kinematics for a 6axis joint have been used to illustrate the ambiguities
caused by different joint positions.
Z1 A1 Position 1:
X1=0
Y1=45
Y1 Z1=45
STAT=’B00’
Position 2:
X1=–180
X1
Y1=–45
Z1=–45
STAT=’B01’
Position 1:
A1 Y1=–30
Z1=60
Z1
Y1 A1=–30
STAT=’B00’
Position 2:
X1 Y1=30
Z1=–60
A1=30
STAT=’B10’
Position 1:
C1
A1=0
B1 B1=40
C1=0
STAT=’B00’
A1
Position 2:
A1=180
B1=–40
C1=180
STAT=’B100’
The rotary axis position shown in Fig. 2-27 can be approached in negative or
positive direction. The direction is programmed under address A1.
Starting position
Negative direction:
A1=–135 TU bit=1
Positive direction:
A1=225 TU bit=0 Target position
In JOG mode, the transformation can be switched on and off via a PLC control
signal. This control signal is active only in JOG mode and when a
transformation has been activated via the program.
If the mode is switched back to AUTO, the state which was last active before
switchover is made active again.
The “point-to-point traversal active” signal DBX317.6 shows which traversal
type is active. By means of the “Activate point-to-point traversal” signal DBX29.4
the traversal type can be modified.
Mode change The “Cartesian PTP travel” function can be used meaningfully only in the AUTO
and MDA modes. The CP setting is automatically activated if the operating
mode is switched to JOG. If the mode is then switched back to AUTO or MDA,
the mode that was last active in either mode is made active again.
REPOS The setting for “Cartesian PTP travel” is not altered during re-positioning. If PTP
was set in the interruption block, then repositioning takes place in PTP. For a
sloping axis “TRAANG”, only CP travel is active in REPOS mode.
Functionality The Cartesian manual travel function allows you to set axes independently in
the Cartesian coordinate systems in order to provide a reference system for
JOG mode.
Note
The Cartesian manual travel function is implemented in SINUMERIK 810D
powerline with CCU3 SW 6.1 and higher. SINUMERIK 840D requires the
“handling transformation package” option SW6.3 or higher.
The workpiece coordinate system has been shifted and rotated compared to
the basic coordinate system via frames.
References: /FB1/, Description of Functions, Basic Machine, K2 Axes,
Coordinate Systems, Frames, Reset Behavior
Selecting For JOG motion, you can specify one of three reference systems separately
reference systems both for
Translation (coarse shift) of the geometry axes and for
Orientation for orientation axes using
SD 42650: CART_JOG_MODE.
If more than one bit is set for the translation or for the orientation reference
system, or if an attempt is made to set a reference system that has not been
activated via MD 21106: CART_JOG_SYSTEM, alarm 14148 “Reference
system not permissible for Cartesian manual travel” is issued.
Translation A translation movement can be used to move the tool tip (TCP) in parallel and
3-dimensional to the axes of the reference system. The traversing movement is
made via the VDI signals of the geometry axes.
The machine data MD 24120: TRAFO_GEOAX_ASSIGN_TAB_x[n] is used to
assign the geometry axes. Simultaneous traversing in more than one direction
permits the execution of movements that lie parallel to the directions of the
reference system.
Translation in the The basic coordinate system (BCS) describes the Cartesian zero of the
BCS machine.
Z End position
Z
Y
Z Z
Start positionY +X +Y X
Y
Y –Z
X X
X
X
BCS
Fig. 2-28 Cartesian manual travel in the basic coordinate system (translation)
Translation in the The workpiece coordinate system (WCS) lies in the workpiece zero. The
WCS workpiece coordinate system can be shifted and rotated relative to the
reference system via frames. As long as the frame rotation is active, the
traversing movements correspond to the translation of the movements in the
basic coordinate system.
Z End position
Z
Y
Z Z
Start positionY +X +Y X
Y
Y –Z
X X
Y
Workpiece
X
Work (WCS)
X
Fig. 2-29 Cartesian manual travel in the workpiece coordinate system (translation)
Translation in the The tool coordinate system (TCS) lies in the tool tip. Its direction depends on
TCS the current setting of the machine, since the tool coordinate system moves
during the motion.
End position
Z Y
X
Start position Y +Y
X Z
Z
Y
+X Z
Z Y X
Y Y Frame
X Workpiece
BCS X Work (WCS)
X
Fig. 2-30 Cartesian manual travel in the tool coordinate system (translation)
Translation and If translation and orientation motions are executed at the same time, the
orientation in the translation is always traversed corresponding to the current orientation of the
TCS tool. This permits infeed movements that are made directly in the tool direction
simultaneously or movements that run perpendicular to tool direction.
Orientation The tool can be aligned to the component surface via an orientation movement.
The orientation movement is given control from the PLC via the VDI signals of
the orientation axes (DB21, ... DBB321).
Several orientation axes can be traversed simultaneously. The virtual
orientation axes execute rotations around the fixed axes of the relevant
reference system.
The rotations are identified according to the RPY angles.
Orientation in The rotations are made around the defined directions of the workpiece
WCS coordinate system. If frame rotation is active, the movements correspond to the
rotations in the basic coordinate system.
Orientation in BCS The rotations are made around the defined directions of the Basic Coordinate
System.
Z
End orientation Start orientation
A
XTCS +A
X
BCS
Fig. 2-31 Cartesian manual travel in the basic coordinate system orientation angle A
Z
Start orientation End orientation
+B
B
XTCS
X
BCS
Fig. 2-32 Cartesian manual travel in the basic coordinate system orientation angle B
Z
End orientation
XTCS
+C
C Start orientation
X
BCS
Fig. 2-33 Cartesian manual travel in the basic coordinate system orientation angle C
Orientation in TCS The rotations are around the moving directions in the Tool Coordinate System.
The current homing directions of the tool are always used as rotary axes.
Z
+A
Y
X
Fig. 2-34 Cart. manual travel in the tool coordinate system, orientation angle A
+B
Y
X
Z
Fig. 2-35 Cart. manual travel in the tool coordinate system, orientation angle B
Y
+C
Fig. 2-36 Cart. manual travel in the tool coordinate system, orientation angle C
The G code PTP/CP currently active in the program does not affect Cartesian
manual travel. The VDI interface signals are interpreted in the channel DB for
geometry and orientation axes.
Activation The reference system for Cartesian manual travel is set as follows:
Table 2-4 Bit assignment for SD 42650: CART_JOG_MODE (only one bit may be set)
Combining The table below shows all the combination options for reference systems.
reference systems
Table 2-5 Combination options for reference systems
2.7.1 Functionality
SW 5.1 and lower Up to eight different transformations can be set in the control in SW 5.1 and
lower. The transformation type is set in machine data $MC_TRAFO_TYPE_1 to
$MC_TRAFO_TYPE_8.
For each transformation group (TRANSMIT, see Section 2.1), TRACYL
(see Section 2.2), TRAANG (see Section 2.3) and chained transformations (see
Section 2.4) there are two transformation data sets, i.e. no more than two
transformations can be set from one group, even when the eight available
transformations have not yet all been programmed.
Note
However, the number of transformation machine data sets is limited as in
previous versions.
As of SW 7.2 Up to ten different transformations can be set in the control in SW 7.2 and
higher. The transformation type is set in machine data $MC_TRAFO_TYPE_1
to $MC_TRAFO_TYPE_10.
Features The machine data listed in Section 4.3 were activated by power ON in SW 5.1
and lower. They are NEWCONFIG-capable in SW 5.2 and higher.
The protection level is now 7 / 7 (KEYSWITCH_0) which means that data can
be modified from the NC program without any particular authorization.
Provided that no transformation is selected (activated) when a NEWCONFIG
command is issued (regardless whether via the NEWCONF NC program
command, the MMC or implicitly following Reset or end of program), the
machine data listed above can be altered without restriction and then activated.
Of particular relevance is that new transformations can be configured or existing
transformations replaced by one of a different type or deleted, since the
modification options are not restricted to re-parameterization of existing
transformations.
Change machine The machine data which affect an active transformation may not be altered; any
data attempt to do so will generate an alarm.
These are generally all machine data assigned to a transformation via the
associated transformation data group. Machine data that are included in the
group of an active transformation, but not in use, can be altered (although this
would hardly be meaningful). It would be permissible, for example, with an
active transformation parameterized in MD 24100: TRAFO_TYPE = 16 (5-axis
transformation with rotatable tool and two mutually perpendicular rotary axes A
and B) to change machine data $MC_TRAFO5_NUTATOR_AX_ANGLE_n
since this particular machine data is not involved in the transformation.
Please also note that machine data MD 21110: X_AXIS_IN_OLD_X_Z_PLANE
must not be changed when an orientation transformation is active.
Note
In the case of a program interruption (Repos, deletion of distance to go,
ASUBs, etc.), the control system requires a number of different blocks that
have already been executed for the repositioning operation. The rule forbidding
the machine data of an active transformation to be altered also refers to these
blocks.
Example:
Two orientation transformations are set via machine data, e.g. MD 24100:
TRAFO_TYPE_1 = 16, MD 24200: TRAFO_TYPE_2 = 18.
Assume that the second transformation is active when the NEWCONFIG
command is executed. In this case, all machine data that relate only to the first
transformation may be changed, e.g. MD 24500: TRAFO5_PART_OFFSET_1,
but not e.g. MD 24650: TRAFO5_BASE_TOOL_2 or
MD 21110: X_AXIS_IN_OLD_X_Z_PLANE
Furthermore, MD 24300: TRAFO_TYPE_3 = 256, for example, can be used to
set another transformation (Transmit) which is parameterized by other machine
data.
Defining geometry Geometry axes must be defined before the control system powers up
axes in $MC_TRAFO_GEOAX_ASSIGN_TAB_X[n] or
MD 20050: AXCONF_GEOAX_ASSIGN_TAB[n].
Changing the The assignment between a transformation data set and a transformation is
assignment determined by the sequence of entries in $MC_TRAFO_TYPE_X. The first
transformation data set is assigned to the first entry in the table, the second
data set to the second entry. This assignment may (and can) not be altered for
an active transformation.
Example:
Three transformations are set, two orientation transformations and one Transmit
transformation, e.g.
MD 24100: TRAFO_TYPE_1 = 16 ; Orientation transformation,
; 1st orientation transformer data block
MD 24200: TRAFO_TYPE_2 = 256 ; Transmit transformation
The machine data which can be made NEWCONFIG-capable are listed below.
Inclined axis Machine data which are relevant for inclined axes:
transformations
MD 24710: TRAANG_BASE_TOOL_1 and
MD 24760: TRAANG_BASE_TOOL_2
MD 24700: TRAANG_ANGLE_1 and MD 24750: TRAANG_ANGLE_2
MD 24720: TRAANG_PARALLEL_VELO_RES_1 and
MD 24770: TRAANG_PARALLEL_VELO_RES_2
MD 24721: TRAANG_PARALLEL_ACCEL_RES_1 and
MD 24771: TRAANG_PARALLEL_ACCEL_RES_2
Not transformation Machine data that are not transformation-specific, i.e. they are not uniquely
specific assigned to a particular transformation data set or they are relevant even when
a transformation is not active:
MD 21110: X_AXIS_IN_OLD_X_Z_PLANE
MD 21090: MAX_LEAD_ANGLE
MD 21092: MAX_TILT_ANGLE
MD 21100: ORIENTATION_IS_EULER
Notes
Supplementary Conditions 3
3.1 TRANSMIT
Availability The “TRAANG” function (inclined axis) is an option with order number:
6FC5 251-0AB06-0AA0.
21110 X_AXIS_IN_OLD_X_Z_PLANE
MD number Coordinate system with automatic FRAME definition
Default setting: 1 Minimum input limit: 0 Maximum input limit: 1
Changes effective after Protection level: Unit: –
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (up to SW 5.1) 2 / 7 (up to SW 5.1)
Data type: BOOLEAN Applies from SW: 2
Meaning: 1 = With automatic definition of a frame (TOFRAME) whose Z direction is the same as the
actual tool orientation, the new coordinate system is rotated additionally around the new Z
axis with the result that the new X axis lies in the old Z/X plane.
0 = With automatic definition of a frame (TOFRAME) whose Z direction is the same as the
actual tool orientation, the new coordinate system is left as it is represented by the machine
kinematics, i.e. the coordinate system rotates with the tool (orientation).
MD irrelevant for ...... No orientation programming.
Related to .... MD 21100
References Programming Guide
20144 TRAFO_MODE_MASK
MD number Selection of the kinematic transformation function
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after RESET Protection level: 2 / 7 Unit: –
Data type: Byte Applies from SW: 7.2
Meaning: Selects a particular scope of kinematic transformation functions by setting the following
bits:
Bit Hex. Meaning
0:(LB) 0x01 The transformation selected in MD 20140: TRAFO_RESET_VALUE is
persistent, i.e. it is selected with TRAFOOF and is not shown in the display.
22534 TRAFO_CHANGE_M_CODE
MD number M code for transformation changeover
Default setting: 0 Minimum input limit: 0 Maximum input limit: 99999999
Change applies from: Protection level: 2 / 7 Unit: –
Data type: DWORD Applies as of SW 4.1
Meaning: Number of M code that is output at the VDI interface in the case of a transformation
changeover on the geometry axes.
No M code is output if this MD is set to one of the values 0 to 6, 17 or 30.
It is not monitored whether an M code created in this way will conflict with other functions.
24100 TRAFO_TYPE_1
MD number Type of 1st transformation
Default setting: 0 Minimum input limit: 0 Maximum input limit: –
Changes effective after Protection level: Unit: –
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
Power ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DWORD Applies as of SW 2.0
Meaning: This MD specifies for each channel which transformation is available as the first
in the channel.
Identifier for specifying axis sequence in the case of 5-axis transformation and
transformation type for each of the permissible transformations
4 3 0
Transformation type Axis sequence
Transformation type:
0 No transformation
16 5-axis transformation with rotatable tool
32 5-axis transformation with rotatable workpiece
48 5-axis transformation with rotatable tool and workpiece
Axis sequence for transformation types 16 – 48
0 Axis sequence AB
1 Axis sequence AC
2 Axis sequence BA
3 Axis sequence BC
4 Axis sequence CA
5 Axis sequence CB
8 Generic 5-axis transformation
256 TRANSMIT transformation
257 TRANSMIT transformation with additional linear axis
512 TRACYL transformation (generated cylinder surface transformation)
513 TRACYL transformation with X-Y-Z-C kinematics
514 TRACYL transformat. without groove side offset, with addit. linear axis
1024 TRAANG transformation (inclined axis)
2048 Centerless transformation
8192 Chained transformation
When values are assigned to transformation types 16–48, the associated axis
sequences are added. Axis sequences for transformation types 256 – 2048 are
meaningless (no error message).
MD irrelevant for ...... No transformations
Application example(s) $MC_TRAFO_TYP_1=20 ; (16+4)
Related to .... TRAFO_TYPE_2, TRAFO_TYPE_3, ... TRAFO_TYPE_10
Additional references /FB/, F2, “5-axis transformation”
24110 TRAFO_AXES_IN_1[i]
MD number Axis assignment for transformation 1 [axis index]: 0 ... [max. number of channel axes]
Default setting: 1,2,3,4,5,0,0,0 Minimum input limit: 0 Maximum input limit: 10
[max. number of channel axes]
Changes effective after Protection level: Unit:
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
Power ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: Byte Applies as of SW 2.0
Meaning: Axis assignment at input of 1st transformation
Index i assumes the values 0, 1 and 2 with TRANSMIT.
The assignment for TRANSMIT is:
$MC_TRAFO_AXES_IN_1[0]= Channel axis number of axis perpendicular to rotary axis
$MC_TRAFO_AXES_IN_1[1]= Channel axis number of rotary axis
$MC_TRAFO_AXES_IN_1[2]= Channel axis number of axis parallel to rotary axis
The index entered at the nth position specifies which axis is mapped internally by the trans-
formation on axis n.
MD irrelevant for ...... No transformation
Application example(s) $MC_TRAFO_AXES_IN_1[0] = 1
Related to .... TRAFO_AXES_IN_2, TRAFO_AXES_IN_3, ... TRAFO_AXES_IN_10
Additional references /FB/, F2, “5-axis transformation”
24120 TRAFO_GEOAX_ASSIGN_TAB_1[i]
MD number Assignment of geometry axes to channel axes with transformation 1 [geometry axis num-
ber]: 0 ... 2.
Default setting: 0,0,0 Minimum input limit: 0 Maximum input limit: [max. no. of
channel axes]
Changes effective after Protection level: Unit:
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
Power ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: Byte Applies as of SW 2.0
Meaning: This MD specifies the channel axes on which the axes of the Cartesian coordinate system
are mapped when transformation 1 is active.
Index i assumes the values 0, 1, 2 with TRANSMIT. It refers to the first, second and third
geometry axis.
MD irrelevant for ...... No transformation
Application example(s) $MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]= channel axis number
Related to .... $MC_AXCONF_GEOAX_ASSIGN_TAB, if no transformation is active.
Additional references /FB/, K2, “Coordinate Systems, Axis Types, Axis Configurations, Workpiece-Related Actu-
al-Value System, External Zero Offset”
24130 TRAFO_INCLUDES_TOOL_1[i]
MD number Tool handling with active transformation 1 [geometry axis number]: 0 ... 2.
Default setting: TRUE Minimum input limit: 0 Maximum input limit: [max. no. of
channel axes]
Changes effective afterNEWCONFIG Protection level: 7/7 Unit: –
Data type: BOOLEAN Applies as of SW 5.2
Meaning: MD specifies which tool is to be handled when transformation 1 is active.
Condition for a possible evaluation is that the orientation of the tool with respect to the base
coordinate system cannot be changed by the transformation. With standard transforma-
tions, the condition is only fulfilled for the “inclined axis transformation”.
If this machine data is not set, the base coordinate system (BCS) is in relation to the tool
reference point, even with an active transformation, otherwise it is in relation to the tool tip
(Tool Center Point TCP).
Correspondingly, the protection zones and working area limitations function differently.
24200/24300/ TRAFO_TYPE_2 / _3 / _4 / _5/ _6/ _7/ _8/ _9/ _10 expanded to 10 with SW 7.2 and later
24400/24430/24440/
24450/24460/
24470/24480
MD number Type of transformation
Default setting: 0 Minimum input limit: 0 Maximum input limit: –
Changes effective after Protection level: Unit: –
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
Power ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DWORD Applies as of SW 2.0
Meaning: As for TRAFO_TYPE_1, but applies to transformation that is available as the second ...
tenth transformation in the channel.
24210/24310/ TRAFO_AXES_IN_2[i] / _3[i] / _4[i]/ _5[i] / _6[i] / _7[i] / _8[i] / _9[i] / _10[i] extended to
24410/24432/24442/ 10 with SW 7.2 and later
24452/24462/
24472/24482
MD number Axis assignment for transfo. 2/3/4/5/6/7/8/9/10 [axis index]: 0 ... [max. no. of channel axes]
Default setting: 1,2,3,4,5,0,0,0 Minimum input limit: 0 Maximum input limit: [max. no. of
channel axes]
Changes effective after Protection level: Unit: –
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
Power ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: Byte Applies as of SW 2.0
Meaning: Axis assignment at input of 2nd to 10th transformation.
Same meaning as for TRAFO_AXES_IN_1.
24230/24330/ TRAFO_INCLUDES_TOOL_2[i] / _3[i] / _4[i]/_5[i] / _6[i] / _7[i]/ _8[i] / _9[i] / _10[i] ex-
24426/24436/24446/ tended to 10 with SW 7.2 and later
24456/24466/
24476/24486
MD number Tool handling with active transformation 2/3/4/5/6/7/8/9/10 [geometry axis number]: 0 ... 2.
Default setting: TRUE Minimum input limit: 0 Maximum input limit: [max. no. of
channel axes]
Changes effective after NEWCONFIG Protection level: 7 / 7 Unit: –
Data type: BOOLEAN Applies as of SW 5.2
Meaning: MD specifies which tool is to be handled when transformation 2 to 10
is active. Its meaning otherwise corresponds to TRAFO_INCLUDES_TOOL_1.
24900 TRANSMIT_ROT_AX_OFFSET_1
MD number Position offset of rotary axis
Default setting: 0 Minimum input limit: 0 Maximum input limit: 360
Changes effective after Protection level: 2/4 Unit: degrees
NEWCONFIG (SW 5.2 and higher)
POWER ON (SW 5.1 and lower)
Data type: DOUBLE Applies as of SW 2.0
Meaning: Specifies the offset of the rotary axis in degrees in relation to the zero position while
TRANSMIT is active for the first declared TRANSMIT transformation for each channel.
MD irrelevant for ...... No TRANSMIT active
Application example(s) $MC_TRANSMIT_ROT_AX_OFFSET_1=15.0
Related to .... TRANSMIT_ROT_AX_OFFSET_2
24910 TRANSMIT_ROT_SIGN_IS_PLUS_1
MD number Sign of rotary axis 1/2
Default setting: 1 Minimum input limit: 0 Maximum input limit: 1
Changes effective after Protection level: 2/4 Unit: –
NEWCONFIG (SW 5.2 and higher)
POWER ON (SW 5.1 and lower)
Data type: BOOLEAN Applies as of SW 2.0
Meaning: Specifies the sign which is applied to the rotary axis during the TRANSMIT transformation
for the first declared TRANSMIT transformation for each channel.
MD irrelevant for ...... No TRANSMIT active
Application example(s) $MC_TRANSMIT_ROT_SIGN_IS_PLUS_1=TRUE
Related to .... TRANSMIT_ROT_SIGN_IS_PLUS_2
24911 TRANSMIT_POLE_SIDE_FIX_1
MD number Restriction of working range in front of/behind pole, 1st transformation
Default setting: 0 Minimum input limit: 0 Maximum input limit: 2
Changes effective after Protection level: 2/4 Unit:
NEWCONFIG (SW 5.2 and higher)
POWER ON (SW 5.1 and lower)
Data type: BYTE Applies as of SW 4.1
Meaning: Restriction of working range in front of/behind pole or no restrictions, i.e. traversal through
pole.
The assigned values have the following meanings:
1: Working range of linear axis for positions >=0,
(if tool length compensation parallel to linear axis equals 0)
2: Working range of linear axis for positions <=0,
(if tool length compensation parallel to linear axis equals 0)
0: No restriction of working range. Traversal through pole.
24920 TRANSMIT_BASE_TOOL_1[i]
MD number Vector of base tool on activation of transformation
Changes effective after Protection level: Unit: mm
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 2.0
Meaning: MD specifies the distance of the tool zero point referred to the appropriate geometry axes
valid with TRANSMIT active and without tool length offset selected for the 1st TRANSMIT
transformation for each channel.
Programmed length compensations are added to the base tool.
Index i assumes values 0, 1, 2 for the 1st to 3rd geometry axes.
MD irrelevant for ... ... No TRANSMIT active
Application example(s) $MC_TRANSMIT_BASE_TOOL_1[0]=20.0
Related to .... $MC_TRANSMIT_BASE_TOOL_2
24950 TRANSMIT_ROT_AX_OFFSET_2
MD number Position offset of rotary axis
Default setting: 0 Minimum input limit: 0 Maximum input limit: 360
Changes effective after Protection level: Unit: degrees
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 2.0
Meaning: Specifies the offset of the rotary axis in degrees in relation to the zero position while
TRANSMIT is active for the second declared TRANSMIT transformation for each channel.
MD irrelevant for ... ... No TRANSMIT active
Related to .... TRANSMIT_ROT_AX_OFFSET_1
24960 TRANSMIT_ROT_SIGN_IS_PLUS_2
MD number Sign of rotary axis 1/2
Default setting: 1 Minimum input limit: 0 Maximum input limit: 1
Changes effective after Protection level: Unit: –
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: BOOLEAN Applies as of SW 2.0
Meaning: Specifies the sign which is applied to the rotary axis during the TRANSMIT transformation
for the second declared TRANSMIT transformation for each channel.
MD irrelevant for ... ... No TRANSMIT active
Application example(s) $MC_TRANSMIT_ROT_SIGN_IS_PLUS_1=TRUE
Related to .... TRANSMIT_ROT_SIGN_IS_PLUS_1
24961 TRANSMIT_POLE_SIDE_FIX_2
MD number Restriction of working range in front of/behind pole, 2nd transformation
Default setting: 0 Minimum input limit: 0 Maximum input limit: 2
Changes effective after Protection level: Unit: –
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: BYTE Applies as of SW 4.1
Meaning: Restriction of working range in front of/behind pole or no restrictions, i.e. traversal through
pole.
The assigned values have the following meanings:
1: Working range of linear axis for positions >=0,
(if tool length compensation parallel to linear axis equals 0)
2: Working range of linear axis for positions <=0,
(if tool length compensation parallel to linear axis equals 0)
0: No restriction of working range. Traversal through pole.
24970 TRANSMIT_BASE_TOOL_2[i]
MD number Vector of base tool on activation of transformation
Default setting: 0 Minimum input limit: 0 Maximum input limit:
Changes effective after Protection level: Unit: mm
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 2.0
Meaning: MD specifies the distance of the tool zero point referred to the appropriate geometry axes
valid with TRANSMIT active and without tool length offset selected for the 1st TRANSMIT
transformation for each channel.
Programmed length compensations are added to the base tool.
Index i assumes values 0, 1, 2 for the 1st to 3rd geometry axes.
MD irrelevant for ... ... No TRANSMIT active
Application example(s) $MC_TRANSMIT_BASE_TOOL_2[0]=tx
Related to .... $MC_TRANSMIT_BASE_TOOL_1
4.3.2 TRACYL
24800 TRACYL_ROT_AX_OFFSET_1
MD number Offset of rotary axis for the 1st TRACYL transformation
Default setting: 0 Minimum input limit: [no limit] Maximum input limit: [no limit]
Changes effective after Protection level: Unit: degrees
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 2.0
Meaning: Specifies the offset of the rotary axis in degrees in relation to the zero position while TRA-
CYL is active for the first declared TRACYL transformation for each channel.
MD irrelevant for ... ... No TRACYL active
Application example(s) $MC_TRACYL_ROT_AX_OFFSET_1=15.0
Related to .... TRACYL_ROT_AX_OFFSET_2
24808 TRACYL_DEFAULT_MODE_1
MD number Selection of TRACYL mode
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective afterNEWCONFIG Protection level: 7 / 7 Unit: –
Data type: BYTE Applies as of SW 7.2
Meaning: Selection of groove side handling method with TRACYL type 514:
0: Without groove side offset (for TRACYL variant 514 – corresponds to 512)
1: With groove side offset (for TRACYL variant 514 – corresponds to 513)
When $MC_TRAFO_TYPE_.. = 514, the selection parameter can determine whether the
function is computed with or without groove side offset. The parameter defines which vari-
ant will be used if none is selected in the call parameters.
24810 TRACYL_ROT_SIGN_IS_PLUS_1
MD number Sign of rotary axis for the 1st TRACYL transformation
Default setting: 1 Minimum input limit: 0 Maximum input limit: 1
Changes effective after Protection level: Unit: –
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: BOOLEAN Applies as of SW 2.0
Meaning: Specifies the sign which is applied to the rotary axis during the TRACYL transformation for
the first declared TRACYL transformation for each channel.
MD irrelevant for ... ... No TRACYL active
Application example(s) $MC_TRACYL_ROT_SIGN_IS_PLUS_1=TRUE
Related to .... TRACYL_ROT_SIGN_IS_PLUS_2
24820 TRACYL_BASE_TOOL_1[i]
MD number Vector of basic tool for 1st TRACYL transformation
Default setting: 0 Minimum input limit: 0 Maximum input limit:
Changes effective after Protection level: Unit: mm
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW
Meaning: MD specifies the distance of the tool zero point referred to the appropriate geometry axes
valid when TRACYL is active and without tool length offset selected for the 1st TRACYL
transformation for each channel.
Programmed length compensations are added to the base tool.
Index i assumes values 0, 1, 2 for the 1st to 3rd geometry axes.
MD irrelevant for ... ... No TRACYL active
Application example(s) $MC_TRACYL_BASE_TOOL_1[0]=tx
Related to .... $MC_TRACYL_BASE_TOOL_2
24850 TRACYL_ROT_AX_OFFSET_2
MD number Offset of rotary axis for 2nd TRACYL transformation
Default setting: 0 Minimum input limit: [no limit] Maximum input limit: [no limit]
Changes effective after Protection level: Unit: degrees
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 2.0
Meaning: Specifies the distance of the tool zero point offset of the rotary axis in degrees in relation to
the zero position while TRACYL is active for the second declared TRACYL transformation
for each channel.
MD irrelevant for ... ... No TRACYL active
Application example(s) $MC_TRACYL_ROT_AX_OFFSET_2=15.0
Related to .... TRACYL_ROT_AX_OFFSET_1
24858 TRACYL_DEFAULT_MODE_2
MD number Selection of TRACYL mode
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after NEWCONFIG Protection level: 7 / 7 Unit: –
Data type: BYTE Applies as of SW 7.2
Meaning: Selection of groove side handling method with TRACYL type 514 for the 2nd TRACYL.
For description, see: $MC_TRAFO_DEFAULT_MODE_1
24860 TRACYL_ROT_SIGN_IS_PLUS_2
MD number Sign of rotary axis for the 2nd TRACYL transformation
Default setting: 1 Minimum input limit: 0 Maximum input limit: 1
Changes effective after Protection level: Unit: –
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: BOOLEAN Applies as of SW 2.0
Meaning: Specifies the sign which is applied to the rotary axis during the TRACYL transformation for
the second declared TRACYL transformation for each channel.
MD irrelevant for ... ... No TRACYL active
Application example(s) $MC_TRACYL_ROT_SIGN_IS_PLUS_2=TRUE
Related to .... TRACYL_ROT_SIGN_IS_PLUS_1
24870 TRACYL_BASE_TOOL_2[i]
MD number Vector of basic tool for 2nd TRACYL transformation
Default setting: 0 Minimum input limit: 0 Maximum input limit:
Changes effective after Protection level: Unit: mm
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 2.0
Meaning: MD specifies the distance of the tool zero point referred to the appropriate geometry axes
valid when TRACYL is active and without tool length offset selected for the 2nd TRACYL
transformation for each channel.
Programmed length compensations are added to the base tool.
Index i assumes values 0, 1, 2 for the 1st to 3rd geometry axes.
MD irrelevant for ... ... No TRACYL active
Application example(s) $MC_TRACYL_BASE_TOOL_2[0]=tx
Related to .... $MC_TRACYL_BASE_TOOL_1
4.3.3 TRAANG
24700 TRAANG_ANGLE_1
MD number Angle between Cartesian axis and real (inclined) axis for the first TRAANG transformation
Default setting: 0 Minimum input limit: –90 Maximum input limit: 90
Changes effective after Protection level: Unit: degrees
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 2.0
Meaning: Specifies the angle of the inclined axis in degrees between the 1st machine axis and the
1st basic axis when TRAANG is active for the first declared TRAANG transformation of the
channel. The angle is counted positively in clockwise direction.
MD irrelevant for ... ... No TRAANG active
Application example(s) $MC_TRAANG_ANGLE_1=15.0
Related to .... TRAANG_ANGLE_2
24710 TRAANG_BASE_TOOL_1[i]
MD number Vector of base tool for first TRAANG transformation [axis no.]: 0 ... 2
Default setting: 0 Minimum input limit: 0 Maximum input limit: 2
Changes effective after Protection level: Unit: mm
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 2.0
Meaning: MD specifies the distance of the tool zero point referred to the appropriate geometry axes
valid with TRAANG active and without tool length offset selected for the 1st TRAANG
transformation for each channel.
Programmed length compensations are added to the base tool.
Index i assumes values 0, 1, 2 for the 1st to 3rd geometry axes.
MD irrelevant for ... ...
Application example(s) $MC_TRAANG_BASE_TOOL_1[0]=tx
Related to .... $MC_TRAANG_BASE_TOOL_2
24720 TRAANG_PARALLEL_VELO_RES_1
MD number
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after Protection level: Unit: –
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 2.0
Meaning: Specifies the velocity reserve for jog, positioning and oscillation movements which is held
ready on the parallel axis (see $MC_TRAFO_AXES_IN_n[1]) for the compensatory move-
ment; MD setting applies to the first TRAANG transformation for each channel.
MD irrelevant for ... ... No TRAANG active
Application example(s) $MC_TRAANG_PARALLEL_VELO_RES_1=0
Related to .... TRAANG_PARALLEL_VELO_RES_2
24721 TRAANG_PARALLEL_VELO_RES_2
MD number
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after Protection level: Unit: –
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 2.0
Meaning: Specifies the velocity reserve for jog, positioning and oscillation movements which is held
ready on the parallel axis (see $MC_TRAFO_AXES_IN_n[1]) for the compensatory move-
ment; MD setting applies to the second TRAANG transformation for each channel.
Application example(s) $MC_TRAANG_PARALLEL_VELO_RES_2=0
Related to .... $MC_TRAANG_PARALLEL_VELO_RES_1
24750 TRAANG_ANGLE_2
MD number Angle between Cartesian axis and real (inclined) axis for second TRAANG transformation
Default setting: 0 Minimum input limit: –90 Maximum input limit: 90
Changes effective after Protection level: Unit: degrees
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 2.0
Meaning: Specifies the angle of the inclined axis in degrees between the 1st machine axis and the
1st basic axis when TRAANG is active for the second declared TRAANG transformation of
the channel. The angle is counted positively in clockwise direction.
MD irrelevant for ... ... No TRAANG active
Application example(s) $MC_TRAANG_ANGLE_1=15.0
Related to .... TRAANG_ANGLE_1
24760 TRAANG_BASE_TOOL_2[i]
MD number Vector of base tool for second TRAANG transformation [axis no.]: 0 ... 2
Default setting: 0 Minimum input limit: 0 Maximum input limit: 2
Changes effective after Protection level: Unit: mm
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 2.0
Meaning: MD specifies the distance of the tool zero point referred to the appropriate geometry axes
valid with TRAANG active and without tool length offset selected for the 2nd TRAANG
transformation for each channel.
Programmed length compensations are added to the base tool.
Index i assumes values 0, 1, 2 for the 1st to 3rd geometry axes.
MD irrelevant for ... ... No TRAANG active
Application example(s) $MC_TRAANG_BASE_TOOL_2[0]=tx
Related to .... $MC_TRAANG_BASE_TOOL_1
24770 TRAANG_PARALLEL_ACCEL_RES_1
MD number
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after Protection level: Unit: –
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 2.0
Meaning: Specifies the axis acceleration reserve for jog, positioning and oscillation movements which
is held ready on the parallel axis (see $MC_TRAFO_AXES_IN_n[1]) for the compensatory
movement; MD setting applies to the first TRAANG transformation for each channel.
MD irrelevant for ... ... No TRAANG active
Application example(s) $MC_TRAANG_PARALLEL_ACCEL_RES_1=0
Related to .... TRAANG_PARALLEL_ACCEL_RES_2
24771 TRAANG_PARALLEL_ACCEL_RES_2
MD number
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after Protection level: Unit: –
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 2.0
Meaning: Specifies the axis acceleration reserve for jog, positioning and oscillation movements which
is held ready on the parallel axis (see $MC_TRAFO_AXES_IN_n[1]) for the compensatory
movement; MD setting applies to the second TRAANG transformation for each channel.
MD irrelevant for ... ... No TRAANG active
Application example(s) $MC_TRAANG_PARALLEL_RES_2=0
Related to .... $MC_TRAANG_PARALLEL_RES_1
24995 TRACON_CHAIN_1[n]
MD number Transformation chain of the first chained transformation
Default setting: 0 Minimum input limit: 0 Maximum input limit: 8
Changes effective after Protection level: Unit: –
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DWORD Applies as of SW 5
Meaning: The MD is saved internally as a table. In the table the numbers of the transformations to be
chained are specified in the same sequence as the transformations are to be implemented
from the BCS to the MCS. n stands for the index of entries in the MD.
Example:
Optionally, a machine can be operated as a 5-axis machine or as a Transmit machine. A
linear axis is not perpendicular to the other linear axes (inclined axis).
5 transformations must be set via machine data, e.g.
If the 4th transformation is to be the chaining: 5-axis transformation / inclined axis and the
5th transformation is to be the chaining: Transmit / inclined axis,
then TRACON_CHAIN_1 (1, , 0, 0) is entered in the first table and
TRACON_CHAIN_2 (2, 3, 0, 0) in the second table. Detailed notation shown in the exam-
ple in Chapter 6.
Entry 0 means no transformation (a 3rd and 4th transformation cannot be chained in SW 5).
The transformations can be assigned (TRAFO_TYPE_1 to TRAFO_TYPE_10) in any se-
quence. The chained transformations do not have to be the last ones. However, they must
be behind all transformations that occur in a transformation chain. In the preceding exam-
ple, this would mean that, for example, the position of the third and fourth transformation
must not be swapped. It would be possible though to define a sixth transformation if it is not
to be included in a chained transformation.
24996 TRACON_CHAIN_2[n]
MD number Transformation chain of the second chained transformation
Default setting: Minimum input limit: 0 Maximum input limit: 8 extended to 10
Changes effective after Protection level: Unit: –
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (SW 5.1 and lower) 2 / 7 (up to SW 5.1)
Data type: DWORD Applies as of SW 5
Meaning: Analogous to TRACON_CHAIN_1, but for the second chained transformation in the chan-
nel
MD irrelevant for ... ... TRAFOOF
Application example(s) Chapter 6
Special cases, errors, ... More than 2 transformations in the chain, 2nd transformation not TRAANG
...
Related to .... MD 24100: TRAFO_TYPE
Additional references /FB/, F2, “3 to 5 Axis Transformation”
24997 TRACON_CHAIN_3[n]
MD number Transformation chain of the third chained transformation
Default setting: 0 Minimum input limit: 0 Maximum input limit: 10
Changes effective afterNEWCONFIG Protection level: 7 / 7 Unit: –
Data type: DWORD Applies as of SW 7.2
Meaning: Analogous to TRACON_CHAIN_1, but for the third chained transformation in the channel
MD irrelevant for ... ... TRAFOOF
Application example(s) Chapter 6
Special cases, errors, ... More than 2 transformations in the chain, 2nd transformation not TRAANG
...
Related to .... MD 24100: TRAFO_TYPE
Additional references /FB/, F2, “3 to 5 Axis Transformation”
24998 TRACON_CHAIN_4[n]
MD number Transformation chain of the fourth chained transformation
Default setting: 0 Minimum input limit: 0 Maximum input limit: 10
Changes effective afterNEWCONFIG Protection level: 7 / 7 Unit: –
Data type: DWORD Applies as of SW 7.2
Meaning: Analogous to TRACON_CHAIN_1, but for the fourth chained transformation in the channel
MD irrelevant for ... ... TRAFOOF
Application example(s) Chapter 6
Special cases, errors, ... More than 2 transformations in the chain, 2nd transformation not TRAANG
...
Related to .... MD 24100: TRAFO_TYPE
Additional references /FB/, F2, “3 to 5 Axis Transformation”
Notes
Signal Descriptions 5
5.1 TRANSMIT
5.2 TRACYL
See 5.1.
5.3 TRAANG
See 5.1.
Notes
Example 6
6.1 TRANSMIT
The following programming example relates to the configuration illustrated in
Fig. 6-1 and shows the sequence of main steps required to configure the axes
and activate TRANSMIT.
;General axis configuration for turning
; Activation of
TRANSMIT
; Programming in X,Y, Z
TRACYL
The following programming example relates to the configuration illustrated in
Fig. 6-1 and shows the sequence of main steps required to configure the axes
and activate TRACYL.
; General axis configuration for turning
; Activation of
TRACYL(40.0)
Contour It is possible to produce a groove which is wider than the tool by using address
OFFN to program the compensation direction (G41, G42) in relation to the
programmed reference contour and the distance of the groove side wall from
the reference contour (see Fig. 6-1).
Tool radius The tool radius is automatically taken into account with respect to the groove
side wall (see Fig. 6-1). The full functionality of the plane tool radius
compensation is available (steady transition at outer and inner corners as well
as solution of bottleneck problems).
0 Z
N90
N80
OFFN N70
N100
N60
Path I
Programmed
path
Path II
N110
N120
Fig. 6-1 Groove with wall compensation, cylinder coordinates (simplified sketch)
; Example program which leads the tool along path I across path II back to the
; initial position after transformation selection (machine data see Chapter 4,
; example X-Y-Z-C kinematics):
N140 TRAFOOF;
N150 G0 X25 Y0 Z105 CC=200 D0;
Return to initial point and
; deselect tool compensation
N160 M30
Programming TRACYL without groove side offset with additional linear axis
without groove
(TRAFO_TYPE_n=513)
side offset
; The following part program requires the machine data settings shown below:
Tool data:
$TC_DP1[1,1]=120 ; tool type end mill
$TC_DP2[1,1]=0
$TC_DP3[1,1]= ; length compensation vector
$TC_DP4[1,1]=25
$TC_DP5[1,1]=5
$TC_DP6[1,1]=4 ; radius, tool radius
Part program:
N1001 T1 D1 G54 G19 G90 F5000 G64
N1005 G0 X25 Y0 Z105 A=200
; Selection of 1st TRACYL without groove side offset
N1010 TRACYL(40.) ; ; Transformation selection
N1040 G1 X20;
N1060 G1 Z100;
N1070 G1 Z50;
N1080 G1 Y10;
N1140 TROFOOF
N1150 G0 X25 Y0 Z105 A=200
; Selection of 1st TRACYL with groove side offset
N2010 G0 TRACYL(40.,1,1) ; TRCYL(40., ,1) could also be selected
N2040 G1 X20;
N2060 G1 Z100;
N2070 G1 Z50;
N2080 G1 Y10;
N2140 TROFOOF
TRAANG ; Activation
; Programming in X,Y, Z
$MC_AXCONF_CHANAX_NAME_TAB[3]=“A”
$MC_AXCONF_CHANAX_NAME_TAB[4]=“B”
$MC_AXCONF_CHANAX_NAME_TAB[5]=“C”
$MA_SPIND_ASSIGN_TO_MACHAX[ AX5 ] = 0
$MA_SPIND_ASSIGN_TO_MACHAX[AX7] = 1
$MA_ROT_IS_MODULO[AX7] = TRUE
; 2. TRANSMIT
$MC_TRAFO_TYPE_2 = 256 ;TRANSMIT
$MC_TRAFO_AXES_IN_2[0]=1
$MC_TRAFO_AXES_IN_2[1]=6
$MC_TRAFO_AXES_IN_2[2]=3
$MC_TRAFO_AXES_IN_2[3]=0
$MC_TRAFO_AXES_IN_2[4]=0
$MC_TRAFO_AXES_IN_2[5]=0
$MC_TRAFO_AXES_IN_2[6]=0
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[0]=1
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[1]=6
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[2]=3
; 3. TRAANG
$MC_TRAFO_TYPE_3 = 1024 ;TRAANG
$MC_TRAFO_AXES_IN_3[0] = 1
$MC_TRAFO_AXES_IN_3[1] = 3
$MC_TRAFO_AXES_IN_3[2] = 2
$MC_TRAFO_AXES_IN_3[3] = 0
$MC_TRAFO_AXES_IN_3[4] = 0
$MC_TRAFO_GEOAX_ASSIGN_TAB_3[0] = 1
$MC_TRAFO_GEOAX_ASSIGN_TAB_3[1] = 3
$MC_TRAFO_GEOAX_ASSIGN_TAB_3[2] = 2
$MC_TRAANG_ANGLE_1 = 45.
$MC_TRAANG_PARALLEL_VELO_RES_1 = 0.2
$MC_TRAANG_PARALLEL_ACCEL_RES_1 = 0.2
$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_GEOAX_ASSIGN_TAB_4[0] = 2
$MC_TRAFO_GEOAX_ASSIGN_TAB_4[1] = 1
$MC_TRAFO_GEOAX_ASSIGN_TAB_4[2] = 3
$MC_TRACON_CHAIN_1[0] = 1
$MC_TRACON_CHAIN_1[1] = 3
$MC_TRACON_CHAIN_1[2] = 0
$MC_TRAFO_TYPE_5 = 8192
$MC_TRAFO_GEOAX_ASSIGN_TAB_5[0] = 1
$MC_TRAFO_GEOAX_ASSIGN_TAB_5[1] = 6
$MC_TRAFO_GEOAX_ASSIGN_TAB_5[2] = 3
$MC_TRACON_CHAIN_2[0] = 2
$MC_TRACON_CHAIN_2[1] = 3
$MC_TRACON_CHAIN_2[2] = 0
; Tool definition
$TC_DP1[1,1]=120 ; Tool type
$TC_DP3[1,1]= 10 ; Tool length
n2 x0 y0 z0 a0 b0 f20000 t1 d1
n4 x20
Note
The above examples assume that the angle of the “inclined axis” can be set on
the machine and is set to 0 degrees when the single transformation is
activated.
n1000 M30
7.1.3 Alarms
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, Diagnostics Guide
or in the Online help.
7.2 TRACYL
7.2.3 Alarms
7.3.3 Alarms
Measurement (M5)
Brief Description 1
Channel-specific Channel-specific measuring is available with SW 1 and higher.
measuring A trigger event which initiates the measuring operation and defines a
corresponding measuring mode is programmed in a part program block. The
instructions apply to all axes programmed in this particular block.
Preset actual value Preset actual value memory is initiated by means of an MMC operator action.
memory and The calculated frame can be written to system frame $P_SETFRAME.
scratching The setpoint position of an axis in the WCS can be altered when the actual
value memory is preset.
The calculation is performed in the NC when a PI service is activated via
Workpiece/tool The position of the workpiece in relation to an edge, a corner or a hole can be
measurement measured.
To determine the zero position of the workpiece (workpiece zero W) or a hole,
setpoint positions can be added to the measured positions in the WCS. The
resultant offsets can be entered in a selected frame.
In the case of tool measurement
the control calculates the distance between the tool tip and the tool carrier
reference point T from the tool length specified by the user.
Notes
Detailed Description 2
2.1 Hardware requirements
General In order to sense the dimensions of tool and workpiece, a touch trigger probe
information that outputs a constant signal (not a pulse) on deflection is required.
The sensor must operate virtually bounce-free. Most sensors can be adjusted
mechanically to ensure that they operate in this manner.
Different types of probe supplied by a variety of manufacturers are available on
the market. Probes are therefore divided into three groups according to the
number of directions in which they can be deflected (see figure below).
Multidirectional This probe type can be used unconditionally for measuring tool and workpiece
probe (3D) dimensions.
Bidirectional probe This probe type is applied in the same way as a mono-probe in milling and
machining centers. Bi-directional probes can be used to take workpiece
measurements on turning machines.
Monodirectional This probe type can be used subject to some restrictions to take workpiece
probe measurements on milling and machining centers.
Spindle position To be able to use this probe type on milling and machining centers, it must be
with mono probe possible to position the spindle with NC function SPOS and to transfer the
switching signal from the probe over 360° to the receiver station (on machine
stator).
The probe must be mechanically aligned in the spindle such that it can take
measurements in the following directions when the spindle is positioned at 0
degrees.
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁ
X–Y plane G17
sition
Positive X direction
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁ
Z–X plane G18 Positive Z direction
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁ
Y–Z plane G19 Positive Y direction
Connection to The measuring probe is connected to the SINUMERIK 840D sl via I/O interface
840D sl X122 mounted on the upper front of the NCU module. Various telegram types
can be parameterized for the digital inputs and outputs of this interface, they
can even be preinstalled as OEM–specific telegrams for a certain number of
measuring probes.
Two measuring probes are assigned to terminal X122 and a configuration
macro is series–installed for both measuring probe signals of the configurable
axes. For this reason, it is not necessary any more for the user to parameterize
the measuring probe signals.
Connection to The probe is connected to the SINUMERIK 840D or 810D system via the I/O
840D device interface X121 located on the front plate of the NCU module.
X101 X102
Reserved
X111
X112
P bus/K bus interface
X122 (PLC I/O devices)
PG-MPI interface
I/O interface
(cable distributor)
+5V PR
NF PS
Various errors and status LEDs
X121
CF PF
CB PF0
CP – (H1/H2)
7 segment display (H3)
RESET NMI
NMI button (S2)
RESET button (S1)
S4 S3
X130A
PCMCIA slot
(X173)
Connection to The probe is connected to the SINUMERIK 840Di via the I/O interface X121 of
840Di the MCI board extension module (option).
PCU 50
Fig. 2-3 Interfaces of the SINUMERIK 840Di (PCU 50, MCI board and MCI board extension)
Connection to The probe is connected to the SINUMERIK 810D via the I/O device interface
810D X121 located on the front plate of the NCU module.
Connection of
probe
S I/O interface
37-pin D-sub plug connector (X121), a maximum of 2 probes can be
connected;
The 24 V load power supply is also connected on this connector.
Table 2-3 Extract from PIN assignment table for X121 front connectors
PIN Designation
X121 External power supply
1 M24EXT External ground
2 M24EXT External ground
... ... ...
Connection probe 1
9 MEPUS 0 Measuring pulse signal input
10 MEPUC 0 Measuring pulse common input
... ... ...
External power supply
20 P24EXT P 24 V external
21 P24EXT P 24 V external
... ... ...
Connection probe 2
28 MEPUS 1 Measuring pulse signal input
29 MEPUC 1 Measuring pulse common input
... ... ...
The interfaces and pin assignments are illustrated and described in detail in:
References: /PHD/, Hardware Configuring Guide
Measurement The measuring operation is activated from the parts program. A trigger event
commands and a measuring mode are programmed.
MEAS and MEAW Two different measuring modes are available:
Example:
N20 G01 F300 X300 Y100 MEAW=1
Trigger event is the rising edge of the first probe (1).
The measuring job is aborted with RESET or when the program advances to a
new block.
Note
If a GEO axis is programmed in a measuring block, then the measured values
are stored for all current GEO axes.
If an axis which is taking part in a transformation is programmed in a measuring
block, then the measured values of all of the axes taking part in this
transformation are stored.
Measuring probe It is possible to scan the probe status directly in the part program and in
status synchronized actions.
$A_PROBE[n] with n=probe
$A_PROBE[n]==1: probe deflected
$A_PROBE[n]==0: probe not deflected
Read The results of the measurement commands are stored in system data of the
measurement NCK and can be read via system variables in the parts program.
results in PP
S System variable $AC_MEA[No]
Scan status signal of measurement job.
[No] stands for probe (1 or 2)
PLC service The functional test for the probe is conducted via an NC program.
display
The measuring signal can be checked at the end of the program in the
diagnostic menu “PLC status”.
Status display
The current measuring status of the axis is displayed by means of the interface
signal DB(31–48) DBX62.3.
Bit 3=1: Measurement active
Bit 3=0: Measurement not active
Note
This signal can be displayed for all measuring functions and also read in
synchronized actions with $AA_MEAACT[axis].
References: /FB2/, S5, Synchronized Actions
Preset actual value Preset actual value memory is initiated by means of an HMI operator action.
memory The calculated frame can be written to system frame $P_SETFRAME. The
setpoint position of an axis in the WCS can be altered when the actual value
memory is preset.
The calculation is performed in the NC when a PI service is activated via
Workpiece The position of the workpiece in relation to an edge, a corner or a hole can be
measuring measured.
To determine the zero position of the workpiece (workpiece zero W) or a hole,
setpoint positions can be added to the measured positions in the WCS. The
resultant offsets can be entered in a selected frame.
Variable interface The variable interface comprises several system variables which are
categorized as either
S Input values or
S Output values
Input values
Input values must be written by the HMI or the cycles. The output values are the
results of the calculations.
Table 2-5 All validity bits for the measurement types of variable $AC_MEAS_VALID
Specifications for Each input variable always sets the corresponding bit in system variable
current $AC_MEAS_VALID when writing to the interface.
measurement All input variables of $AC_MEAS_VALID should be declared as invalid before
every measurement. If the validity bits are not reset, the input values also
remain valid for the next calculation.
Table 2-6 Inputs values for the calculation and the measuring points
Note
Set all validity bits (input values) to invalid:
$AC_MEAS_VALID = 0
All axis actual values of the appropriate measuring point are invalidated by:
$AC_MEAS_LATCH = 0
Measuring points Variables $AC_MEAS_POINT[1..4] are used to specify the measuring points.
Each individual measuring point can be written or picked up.
Setpoints The resultant frame is calculated such that the measurement complies with the
setpoints specified by the user.
Selection of tool or The tool and edge number of the active tool must correspond to the selected
cutting edge tool. When T0, D0 is selected, the active tool is calculated. If no tool is active,
the tool selected by T, D is calculated. No tool other than the selected tool may
be active.
INT $AC_MEAS_T_NUMBER Selected tool
INT $AC_MEAS_D_NUMBER Selected cutting edge
Measurements In the case of measurements with the 3D probe, the radius of the tool is already
with 3D probe compensated with reference to the measuring point, and so the radius does not
have to be included when calculating the various measurement operations. This
property can be defined by means of the following variable:
INT $AC_MEAS_TOOL_MASK Tool settings bit mask
0x0: All tool lengths are considered (default setting).
0x1: Radius of the tool is not included in the calculation.
0x2: Tool position in x direction (G19)
0x4: Tool position in y direction (G18)
0x8: Tool position in y direction (G17)
0x10: Length of the tool is not included in the calculation
Whether or not the radius of a milling tool is included in the calculation can be
determined from the tool position and approach direction. If the approach
direction is not input explicitly, it is determined by the selected plane. With
G17 the approach direction is in the z direction,
with G18 in the y direction and with G19 in the x direction.
Approach The direction of approach is required only for edge, groove, web and tool
direction measurements:
INT $AC_MEAS_DIR_APPROACH =
0: +x
1: –x
2: +y
3: –y
4: +z
5: –z
Translational When workpieces are measured, translational offsets can be entered in the fine
offsets offset component of the selected frame. Variable $AC_MEAS_FINE_TRANS is
used for this purpose.
INT $AC_MEAS_FINE_TRANS =
0: Translational compensation is entered in the coarse offset.
1: Translational compensation is entered in the fine offset.
The following applies when $AC_MEAS_FINE_TRANS = 1:
The compensation value is entered in the fine component of the translation and
transformed according to the selected frame.
The coarse offset component remains unchanged.
When $AC_MEAS_FINE_TRANS = 0 or nothing has been written, the following
applies:
The compensation value is entered in the coarse offset and transformed
accordingly.
If MD 18600: MM_FRAME_FINE_TRANS is not preset to 1:
The compensation value is always entered in the coarse offset.
Calculated frame When a workpiece is measured, the calculated frame is entered in the specified
frame.
INT $AC_MEAS_FRAME_SELECT =
Selected frame:
0: $P_SETFRAME , active system frame
1: $P_PARTFRAME , active system frame
2: $P_EXTFRAME , active system frame
10..25: $P_CHBFRAME[0..15] , active channel-specific basic frame
50..65: $P_NCBFRAME[0..15] , active NCU-global basic frames
100..199: $P_IFRAME , calculation is performed with
settable frame, if the appropriate frame
is selected. If the selected frame is not active, the
corresponding data management frame is included
in the calculation.
500: $P_TOOLFRAME , active system frame
501: $P_WPFRAME , active system frame
502: $P_TRAFRAME , active system frame
503: $P_PFRAME , active current programmable
, frame
504: $P_CYCFRAME , active system frame
1010..1025: $P_CHBFRAME[0..15] , active channel-specific basic frames
, with active G500
1050..1065: $P_NCBFRAME[0..15] , active NCU-global basic frames
, with active G500
Selected frame:
2000: $P_SETFR , system frame in data management
2001: $P_PARTFR , system frame in data management
2002: $P_EXTFR , system frame in data management
2010..2025: $P_CHBFR[0..15] , channel-specific basic frames
, in data management
2050..2065: $P_NCBFR[0..15] , NCU-global basic frames
, in data management
2100..2199: $P_UIFR[0..99] , settable frames
, in data management
2500: $P_TOOLFR , system frame in data management
2501: $P_WPTFR , system frame in data management
2502: $P_TRAFR , system frame in data management
2504: $P_CYCFR , system frame in data management
3010..3025: $P_CHBFR[0..15] , channel-specific basic frame with
, active G500 in data management
3050..3065: $P_NCBFR[0..15] , NCU-global basic frame with active
, G500 in data management
The MEASURE( ) function calculates frame $AC_MEAS_FRAME according to
the specified frame.
In the case of values
from 0 to 1065, the calculation is performed with the aid of the active frame.
from 2000 to 3065, the calculation is performed with reference to the selected
frame in the data management. The selection of a frame in the data
management is not supported for measurement types 14 and 15. A frame does
not have to be active in order to select it in the data management. In this case,
the calculation is performed as if the frame were active in the chain.
The measuring point is transformed to the selected system and the selected
frame is determined with the aid of the overall frame including the selected
frame. Preset actual value memory is active only after compensation and
activation of the frame.
Note
If variables are not set, the active frames are retained.
Values should only be written to those variables whose data management
frames are to be included in the new frame chain. In the case of the basic
frames, only all of the frames can be exchanged, and not just a particular
frame. Active changes via $P_NCBFRMASK and $P_CHBFRMASK are
ignored.
Array variable for The following array variable of length n is used for further input parameters that
workpiece and tool are used in the various measurement types
measurement REAL $AC_MEAS_INPUT[n] n =0..9 measuring input parameter
The control action of the measuring input parameters is described with the
measuring methods.
Output values
Calculation If a setpoint position has been specified, the resulting frame is entered in result
results frame $AC_MEAS_FRAME. This frame can be read and written in the parts
program. The result frame is calculated in accordance with the selected frame.
If no frame has been selected, the result frame determines the final translation
and rotation in the WCS. PI service _N_SETUDT /R7/ and
parameter type no. 7 can be used to enter this frame in the selected frame.
Once it has been entered, the result frame is deleted.
Calculation method
Note
The PI service can be executed only in the reset and stop states. In the case of
workpiece measurement, the calculated frame is activated immediately with
type no. 7. In the case of tool measurement, the PI must not be dispatched with
type no. 7, since a zero point does not have to be activated.
Activation in the The new WCS positions are refreshed in the Stop state. When execution of the
Stop state part program is resumed, the distance to go in the interrupted block is deleted
and the axis approaches the end point of the next block from its current
position.
Therefore, it is possible to operate a spindle in MDA mode or execute preset
actual value memory and scratching or another measurement, e.g. with M0, in
the part program in the Stop state.
Measuring cycles The calculation in the measuring cycles is performed according to the
predefined function:
INT MEASURE( )
MEASURE() produces a result frame which can be read via
$AC_MEAS_FRAME.
The result is the translation and rotation from the
S The concatenated total frame equals the concatenation of the total frame
(prior to measurement) with the calculated translation and rotation.
Note
If no frame is selected, the calculated frame is not transformed, i.e. the
translation and rotation is determined on the basis of the specified setpoints
and the calculated position of the edge, corner, groove, etc. Where the function
is used more than once, it is always added to the result frame.
It must be noted that the result frame may need to be deleted beforehand.
The measuring operation can be initiated via an operator input in the stop and
reset states. The operation can overlap with the measuring cycles in the stop
state.
Error messages If the wrong procedure is adopted, up to 18 different return values can be output
via the following predefined functions:
Logon error If the user does not log on, group error number 0xD003 is always generated. If
DIAGN:errCodeSeNrGent is used to log on, then several P_SETUDT error
codes are available.
DIAMON or DIMOF active The calculated tool lengths and frame components
do not depend on the active G code.
DIAMON active The measured positions and setpoint positions are
read and written depending on DIAMON.
DIAMON active The translations in the frames are calculated as a
diameter in the transverse axis.
Value precision: Values are Position values in mm, inches or degrees are calcu-
rounded to six decimal places lated and displayed accurate to six decimal places.
y y
+x –x
x0 x x0 x
Table 2-11 The values of the following variables are evaluated for measurement type 1:
* optional
Table 2-12 The following output variables are written for measurement type 1:
$TC_DP1[1,1]=120 ; Type
$TC_DP2[1,1]=20 ;0
$TC_DP3[1,1]= 10 ; (z) length offset 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 ;
; Select tool
$AC_MEAS_T_NUMBER = 1 ;
$AC_MEAS_D_NUMBER = 1 ;
; Perform calculation
RETVAL = MEASURE() ;
if RETVAL <> 0 ;
setal(61000 + RETVAL) ;
endif
$P_IFRAME = $AC_MEAS_FRAME ;
m30
–y
y y
y0
y0
+y x x
Table 2-13 The values of the following variables are evaluated for measurement
type 2:
* optional
Table 2-14 The following output variables are written for measurement type 2:
z ÇÇ
ÇÇ
z0
ÇÇ –z
Table 2-15 The values of the following variables are evaluated for measurement
type 3:
* optional
Table 2-16 The following output variables are written for measurement type 3:
P3
y y
P4
f
P3 P2 P2
C2
P4 P1 P1
f
a a
C1
x x
C3 P2
y P2 P3 y
f
P1
P1 P4
C4 a
a P3
f
P4
x x
Table 2-17 The values of the following variables are evaluated for measurement types
4 to 7:
* optional
Table 2-18 The following variables are written for measurement types 4 to 7:
Output variable Meaning
$TC_DP1[1,1]=120 ; Type
$TC_DP2[1,1]=20 ;0
$TC_DP3[1,1]= 10 ; (z) length offset 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,tr] = –45 ;
; Select tool
$AC_MEAS_T_NUMBER = 1 ;
$AC_MEAS_D_NUMBER = 1 ;
; Perform calculation
RETVAL = MEASURE() ;
if RETVAL <> 0
setal(61000 + RETVAL)
endif
$P_SETFRAME = $AC_MEAS_FRAME
m30
+ + +
x z y
Table 2-19 The values of the following variables are evaluated for measurement
type 8:
* optional
Table 2-20 The following output variables are written for measurement type 8:
$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 ;
; Select tool
$AC_MEAS_T_NUMBER = 1 ;
$AC_MEAS_D_NUMBER = 1 ;
; Perform calculation
RETVAL = MEASURE() ;
if RETVAL <> 0
setal(61000 + RETVAL)
endif
$P_SETFRAME = $AC_MEAS_FRAME
g1 x–3 y0 ; Approach P1
m30
+ + +
x z y
Table 2-21 The values of the following variables are evaluated for measurement
type 9:
* optional
Table 2-22 The following output variables are written for measurement type 9:
y y
+y
–x +x y0
–y
x0 x x
Table 2-23 The values of the following variables are evaluated for measurement
type 12:
* optional
Table 2-24 The following output variables are written for measurement type 12:
$TC_DP1[1,1]=120 ; Type
$TC_DP2[1,1]=20 ;0
$TC_DP3[1,1]= 10 ; (z) length offset 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 ;
; Select tool
$AC_MEAS_T_NUMBER = 1 ;
$AC_MEAS_D_NUMBER = 1 ;
; Perform calculation
RETVAL = MEASURE() ;
if RETVAL <> 0 ;
setal(61000 + RETVAL) ;
endif
$P_SETFRAME = $AC_MEAS_FRAME ;
m30
–y
y y
+x –x y0
x0 x +y x
Table 2-25 The values of the following variables are evaluated for measurement
type 13:
* optional
Table 2-26 The following output variables are written for measurement type 13:
Preset actual value Geo and special axes ($AC MEAS TYPE = 14)
memory for
This measurement type is used on the HMI operator interface
Special axes
z
A1 Set A2 Set A3 Set
y P1 Act A1 Act
zi *
A3 Act
yi
A2 Act
P1 Set *
(xs, ys, zs) xi x
Fig. 2-14 Preset actual value memory for special axes only
Table 2-27 The values of the following variables are evaluated for measurement
type 14:
* optional
Table 2-28 The following output variables are written for measurement type 14:
Preset actual value for special axes only ($AC MEAS TYPE = 15)
This measurement type is used on the HMI operator interface
Special axes
A1 Set A2 Set A3 Set
A1 Act
A3 Act
A2 Act
Table 2-29 The values of the following variables are evaluated for measurement
type 15:
* optional
Table 2-30 The following output variables are written for measurement type 15:
P2 a P1 P2
P1 P1
a a
x z y
Table 2-31 The values of the following variables are evaluated for measurement
type 16:
Input variable Meaning
* optional
Table 2-32 The following output variables are written for measurement type 16:
$AC_MEAS_RESULTS[0]
α0
P2
P3
y P1
z’ y’
α1
$AC_MEAS_RESULTS[1]
x’
Table 2-33 The following plane settings are defined for measurement type 17:
Table 2-34 The values of the following variables are evaluated for measurement
type 17:
* optional
Table 2-35 The following output variables are written for measurement type 17:
T1 D1 ; Activate probe
G54 ; Activate all frames and G54
; Select tool
$AC_MEAS_T_NUMBER = 1 ;
$AC_MEAS_D_NUMBER = 1 ;
if RETVAL <> 0
setal(61000 + RETVAL)
endif
if $AC_MEAS_RESULTS[0] <> 12
setal(61000 + $AC_MEAS_RESULTS[0])
endif
if $AC_MEAS_RESULTS[1] <> 4
setal(61000 + $AC_MEAS_RESULTS[1])
endif
$AC_MEAS_RESULTS[0]
z z’
$AC_MEAS_RESULTS[2]
α0
y’
P2
x’ P3
y
WCS’ P1
α1
$AC_MEAS_RESULTS[1]
WCS x
Measurement of The plane is measured in one measuring cycle. The cycle records the three
plane measuring points and passes the necessary values to the variable interface.
The MEASURE() function calculates the solid angles and translational offset of
the new WCS on the basis of the input values.
Transformation of The results of the calculation, i.e. the solid angles and translation, are entered in
measuring frame measuring frame $AC_MEAS_FRAME. The measuring frame is transformed
according to the selected frame in the frame chain. The solid angles are also
stored in the output values $AC_MEAS_RESULTS[0..2]. In
Define the new After performing the calculation, the measuring cycle can write and activate the
WCS’ zero selected frame in the frame chain with the measuring frame. After activation, the
new WCS is positioned at surface normal on the inclined plane, with measuring
point P1 as the zero of the new WCS.
The programmed positions then refer to the inclined plane.
Application CAD systems often define inclined planes by specifying three points P1, P2 and
P3 in this plane. In this case,
Table 2-36 The values of the following variables are evaluated for measurement
type 18:
* optional
Table 2-37 The following output variables are written for measurement type 18:
T1 D1 ; Activate probe
G54 ; Activate all frames and G54
; Select tool
$AC_MEAS_T_NUMBER = 1 ;
$AC_MEAS_D_NUMBER = 1 ;
if RETVAL <> 0
setal(61000 + RETVAL)
endif
Table 2-38 The values of the following variables are evaluated for measurement
type 19:
Input variable Meaning
* optional
Table 2-39 The following output variables are written for measurement type 19:
T1 D1 ; Activate probe
G54 ; Activate all frames and G54
if RETVAL <> 0
setal(61000 + RETVAL)
endif
Table 2-40 The values of the following variables are evaluated for measurement
type 20:
* optional
Table 2-41 The following output variables are written for measurement type 20:
Output variable Meaning
T1 D1 ; Activate probe
G54 ; Activate all frames and G54
if RETVAL <> 0
setal(61000 + RETVAL)
endif
Table 2-42 The values of the following variables are evaluated for measurement
type 21:
* optional
Table 2-43 The following output variables are written for measurement type 21:
Output variable Meaning
T1 D1 ; Activate probe
G54 ; Activate all frames and G54
$AA_MEAS_SETPOINT[_yy] = 10
if RETVAL <> 0
setal(61000 + RETVAL)
endif
TL with zoom-in Measurement of tool lengths with zoom-in function ($AC MEAS
function TYPE = 22)
If a zoom-in function is available on the machine, it can be used to determine
the tool dimensions.
x x
z z
Table 2-44 The values of the following variables are evaluated for measurement
type 22:
* optional
Table 2-45 The following output variables are written for measurement type 22:
x x
x0
z z0 z
Table 2-46 The values of the following variables are evaluated for measurement
type 23:
Input variable Meaning
* optional
Table 2-47 The following output variables are written for measurement type 23:
z’
P1(MCS) = P1’(MCS)
y’
y
x’
WCS’
Specified frame
BCS x
Table 2-48 The values of the following variables are evaluated for measurement
type 24:
* optional
Table 2-49 The following output variables are written for measurement type 24:
P2 P2 P2
P1 P1 P1
P3 P3 z P3 y
x
Table 2-50 The values of the following variables are evaluated for measurement
type 25:
Input variable Meaning
* optional
Table 2-51 The following output variables are written for measurement type 25:
Note
If you decide to create a backup of all data management frames, remember
that 1 KB of memory is needed to save each frame. If insufficient memory is
available, the process is aborted with error message MEAS_NO_MEMORY. Via
the MD 18351: MM_DRAM_FILE_MEM_SIZE.
Table 2-52 The values of the following variables are evaluated for measurement
type 26:
* optional
Table 2-53 The values of the following variables are evaluated for measurement
type 27:
* optional
Taper turning Additive rotation of the plane ($AC MEAS TYPE = 28)
This measurement type 28 is used via the ManualTurn Advanced user interface
for the taper turning application.
x’ z’ y’
α α α
x z y
With this measurement type 28, an additive rotation of the active or a selected
plane can be specified. An angle setpoint in the range +/– 90 degrees can be
specified.
Application With taper turning, the active plane is rotated by the taper angle, whereby the
rotation is written in the active cycle frame. With RESET, the cycle frame is
deleted. Re-activation may be necessary. The selection of the cycle frame is
made depending on the SZS position display. If after activation of the rotation,
e.g. with active plane G18, traversing is performed geometrically in z’, the
positions change simultaneously
x and z
Rotations with active planes G17 and G18 behave in the same way and are
displayed in the above figure.
Table 2-54 The values of the following variables are evaluated for measurement
type 28:
Input variable Meaning
* optional
Table 2-55 The following output variables are written for measurement type 28:
Output variable Meaning
The control calculates the distance between the tool tip and the tool carrier
reference point T from the tool length specified by the user.
ÇÇ ÇÇ ÇÇ
x z y
+z +y +x
ÇÇ ÇÇ ÇÇ
Fig. 2-24 Tool length
Table 2-56 The values of the following variables are evaluated for measurement
type 10:
Input variable Meaning
* optional
Table 2-57 The following output variables are written for measurement type 10:
Output variable Meaning
T0 D0 ;
g0 x0 y0 z0 f10000 ;
; No tool is selected
$AC_MEAS_T_NUMBER = 1 ;
$AC_MEAS_D_NUMBER = 1 ;
; Perform calculation
RETVAL = MEASURE() ;
if RETVAL <> 0
setal(61000 + RETVAL)
endif
m30
z G17 z G17
ÇÇ ÇÇÇÇ ÇÇÇ
ÇÇ
ÇÇ+x
ÇÇÇÇ
ÇÇÇÇ
–x +y
ÇÇÇ
ÇÇÇ –y
x0 x y0 x
y G18 y G18
ÇÇ
ÇÇ ÇÇÇÇ
ÇÇÇÇ ÇÇÇ
ÇÇÇ
+x –x +z –z
x0 x z0 z
x G19 x G19
ÇÇ
ÇÇ ÇÇ
ÇÇÇÇ
ÇÇ ÇÇÇ
ÇÇÇ
ÇÇ+y ÇÇÇÇ
–y +z ÇÇÇ –z
y0 y z0 z
Fig. 2-25 Tool diameter for selected planes G17, G18 and G19
Table 2-58 The values of the following variables are evaluated for measurement
type 10:
* optional
Table 2-59 The following output variables are written for measurement type 11:
Output variable Meaning
Measuring mode 1 The user can program up to four different trigger events in the same position
control cycle.
The measuring signal edges are evaluated in chronological sequence.
Note
With this mode, the compensation value which was present when the last
measuring signal edge was received is calculated for all measured values.
Measuring mode 2 The user can program up to four different trigger events one after the other in
the configured sequence.
Evaluation of measuring signal edges is activated for one trigger event at a time
and takes place in the programmed sequence.
Note
Measurement does not work on simulated axes!
Measuring probe It is possible to scan the probe status directly in the part program and in
status synchronized actions.
$A_PROBE[n] with n=probe
$A_PROBE[n]==1: probe deflected
$A_PROBE[n]==0: probe not deflected
2.4.3 Programming
Note
MEASA and MEAWA can be programmed in the same block.
MEASA cannot be programmed in synchronized actions.
The axes for which MEASA has been programmed are not decelerated until all
programmed trigger events have arrived.
Measurement jobs started from a parts program are aborted by RESET or
when the program advances to a new block.
If MEASA/MEAWA are programmed in the same block as MEAS/MEAW, the
configuration is rejected with alarm 21701.
If a geometry axis is used in a measurement, the measured values are only
made available in the workpiece coordinate system if all geometry axes are
programmed with the same measurement task. If a geometry axis is missing
from the measurement task, the measured values are stored only in the
machine coordinate system and alarm 21702 is output. The same applies to
axes that are involved in a transformation.
If the measurement must start on the probe signal edge (with the position of the
probe unknown at the instant measurement commences), the customer must
evaluate the probe in the parts program. By scanning the probe status, it is
generally possible to ensure that the next probe signal edge (positive or
negative) detected in the hardware will initiate the measurement job.
if $A_PROBE [1] =1 ; Probe deflected ?
MEAC [X] = (1,1,–1,1) ; Starts on the first detected negative edge.
else
MEAC [X] =(1,1,1,–1) ; Starts on the first detected positive edge.
endif .
The alarms are described in the online help or in
References /DA/ Diagnostic Guide
Measurement The results of the measurement commands are stored in system data of the
results NCK and can be read via system variables in the parts program.
Programming If two measuring systems are used to take the measurement, a maximum of two
trigger events may be programmed. The measured values of both encoders are
recorded for each of the two trigger events.
PLC service The functional test for the probe is conducted via an NC program.
display
The measuring signal can be checked at the end of the program in the
diagnostic menu “PLC status”.
Status display
S The contents of the FIFO memory can be read only once. When
measurement results are used more than once, the read-out values must be
buffered in the user data.
S MEAC[“axis”]=(0) is programmed
S a FIFO is full
S RESET is pressed or end of program M02/M30 is detected
Endless In order to implement endless measuring, FIFO values must be read cyclically
measuring from the part program. The frequency at which measured values are read from
the FIFO memory and processed must correspond to the write rate of the NC.
The number of valid entries can be read in a FIFO variable.
In order to achieve a defined number of measured values, the measuring
function must be explicitly deselected by the program.
Accuracy The propagation time of the measuring signal is determined by the hardware
used. The delay times when using SIMODRIVE 611D are in the 3.625µ ...
9.625µ range plus the reaction time of the probe.
The measurement uncertainty is calculated as follows:
Measurement uncertainty = measuring signal propagation time x traversing
velocity
The permissible traversing velocities depend on the number of programmed
measuring signal edges and the ratio between the IPO clock cycle and position
control cycle.
Accurate measuring results are obtained only at traversing velocities at which
no more than 1 identical and no more than 4 different trigger signals arrive in
each position control cycle.
Example of %_N_TEST_PROBE_MPF
functional test ;$PATH=/_N_MPF_DIR
;Testing program probe connection
N05 DEF INT MTSIGNAL ;Flag for trigger status
Notes
Supplementary Conditions 3
Axial measurement functionality is available with SW package 4 and higher.
The function is not contained in the export version SINUMERIK 840DE/810DE.
J
Notes
13201 MEAS_PROBE_SOURCE
MD number Measurement pulse simulation via digital output
Default setting: 0 Minimum input limit: 0 Maximum input limit: 8
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: BYTE Applies from SW: SW 6.1
Meaning: Function value on host only
Value > 0: Measurement pulse simulation starts with the digital output.
Value = 1: Measurement pulse simulation starts immediately after the measurement
job.
13210 MEAS_TYPE
MD number Type of measurement for PROFIBUS–DP drives
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: BYTE Applies from SW: SW 6.1
Meaning: This machine data is used to set the measurement function for distributed drives. This ma-
chine data is currently only functional for PROFIBUS–DP drives.
MD13210: MEAS_TYPE
Value = 0: A centralized probe connected to the NC is used.
However, since only cyclic position values are supplied by the encoders,
the actual measurement position is determined by interpolation.
MD13210: MEAS_TYPE
Value = 1: A distributed probe must be connected to ALL drives.
The measurement functionality of the drives is then used.
The actual encoder values in the hardware at the time
of the measuring signal edge are stored.
This method is more accurate than MD 13210: MEAS_TYPE = 0,
but requires additional wiring and drives which support
this measurement functionality, such as SIMODRIVE 611 universal.
28264 LEN_AC_FIFO
MD number Length of $AC_FIFO ... FIFO variables
Default setting: 0 Minimum input limit: 0 Maximum input limit: 10000
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW: SW 4.1
Meaning: Length of FIFO variables $AC_FIFO1 to $AC_FIFO10.
All FIFO variables are equal in length.
Signal Descriptions 5
DB31, ... Measuring status
DBX62.3
Data block Signal(s) from axis/spindle (NCK ! PLC)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 4
Signal state 1 or signal The “Measuring” function is active.
transition 0 –––> 1
This signal is used during measuring and displays the current measuring status of the axis.
Signal state 0 or signal The “Measuring” function is not active.
transition 1 –––> 0
Notes
Example 6
6.1 Measuring mode 1
Measurement with one encoder
– Single measurement
– One probe
– Trigger signals are the rising and falling edges
– Actual value from current encoder
N2 MEASA[X] = (1, 1, –1) G01 X100 F100
N3 STOPRE
N4 IF $AC_MEA[1]==FALSE gotof END
N5 R10=$AA_MM1[X]
N6 R11=$AA_MM2[X]
N7 END:
Repeat accuracy This program allows the measuring scatter (repeat accuracy) of the entire
measuring system (machine-probe-signal transmission to NC) to be calculated.
In the example, ten measurements are taken in the X axis and the measured
value recorded in the workpiece coordinates.
It is therefore possible to determine the so-called random dimensional
deviations which are not subject to any trend.
%_N_TEST_ACCUR_MPF;
$PATH=/_N_MPF_DIR
N05 DEF INT SIGNAL, II ;Variable definition
N10 DEF REAL MEASVALUE_IN_X[10]
N15 G17 T1 D1 ;Initial conditions,
;Preselect tool
;offset for probe
N20 _ANF: G0 X0 F150 ← ;Preposition in measurement axis
N25 MEAS=+1 G1 X100 ← ;Measurement at 1st measuring
;input with switching signal not
;deflected, deflected in the X axis
N30 STOPRE ← ;Stop decoding for subsequent
;evaluation of result
N35 SIGNAL= $AC_MEA[1] ;Read software switching signal at
;1st measuring input
N37 IF SIGNAL == 0 GOTOF_FEHL1 ;Check switching signal
N40 MEASVALUE_IN_X[II]=$AA_MW[X] ;Read measured value into
;workpiece coordinates
N50 II=II+1
N60 IF II<10 GOTOB_ANF :Repeat ten times
N65 M0
N70 M02
N80 _FEHL1: MSG (“Probe is not switching”)
N90 M0
N95 M02
After the parameter display (user-defined variables) has been selected, the
measurement results can be read in field MEASVALUE_IN_X[10] provided that
the program is still being processed.
J
Notes
2: +y
3: –y
4: +z
5: –z
INT $AC_MEAS_ACT_PLANE 0: G17 G17 working plane x/y infeed direction z Measu-
1: G18 G18 working plane z/x infeed direction y ring
50 .. 65 $P_NCBFRAME[0..15]
100 .. 199 $P_IFRAME
1010 .. 1065 $P_CHBFRAME[0..15] / G500
1050 .. 1065 $P_NCBFRAME[0..15] / G500
2000 $P_SETFR
2010 .. 2025 $P_CHBFR[0..15]
2050 .. 2065 $P_NCBFR[0..15]
2100 .. 2199 $P_UIFR[0..99]
3010 .. 3025 $P_CHBFR[0..15] / G500
3050 .. 3065 $P_NCBFR[0..15] / G500
INT $AC_MEAS_CHSFR 0 .. 7F Frame chain setting: System frames Measu-
ring
INT $AC_MEAS_NCBFR 0 .. FFFF Frame chain setting: Measu-
Global basic frames ring
INT $AC_MEAS_CHBFR 0 .. FFFF Frame chain setting: Measu-
Channel basic frames ring
INT $AC_MEAS_UIFR 0 .. 99 Frame chain setting: Measu-
Settable frames ring
INT $AC_MEAS_PFRAME 0: in Frame chain setting: Measu-
1: out Prog. frame ring
INT $AC_MEAS_T_NUMBER Tool selection Measur.
INT $AC_MEAS_D_NUMBER Cutting edge selection Measur.
INT $AC_MEAS_TOOL_MASK Bit mask Tool settings Measur.
INT $AC_MEAS_TYPE Measuring type Measur.
Notes
6 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/N3/7-47
7 Data Fields, Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/N3/7-47
7.1 Interface signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/N3/7-47
7.2 Machine data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/N3/7-47
7.3 Setting data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/N3/7-48
7.4 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/N3/7-49
J
Brief Description 1
The “Software cams” function can be used to output position-dependent cam
signals to the PLC and to the NCK I/O devices in the position control cycle or
according to a timer.
The position values at which the signal outputs are set can be defined and
altered via setting data.
Thirty-two software cam pairs are available. These can be used, for example:
Note
Software cams can be applied for linear axes and modulo rotary axes.
Notes
Detailed Description 2
2.1 General, applications
Activation The “Software cams” function can be activated and used in all operating modes.
The function remains active in the event of RESET or EMERGENCY STOP.
Axis types Software cams can be used on linear and modulo rotary axes that are defined
as machine axes.
Cam range/cam Cams are always assigned in pairs to axes. A pair consists of a plus and a
pair minus cam. 32 cam pairs are available.
The plus and minus cams each simulate a mechanical cam which is actuated at
a defined point (cam position) in a specific approach direction when the axis
reaches the cam position.
Cam ranges are assigned to the plus and minus cams as follows:
General Both cam signals can be output to the PLC and to the NCK I/Os. Separate
output of the plus and minus cam signals makes it easy to detect whether the
axis is within or outside the plus or minus cam range.
Linear axes The switching edges of the cam signals are generated as a function of the axis
traversing direction:
S The minus cam signal switches from 1 to 0 when the axis traverses the
minus cam in the positive axis direction.
S The plus cam signal switches from 0 to 1 when the axis traverses the plus
cam in the positive direction.
Machine axis[m]
Fig. 2-1 Software cams for linear axis (minus cam < plus cam)
Note
Position switching signals:
If the axis is positioned exactly on the cam, plus or minus, the defined output
flickers. If the axis moves one increment further, the output becomes a definite
zero or one.
Flickering of the actual position causes the signals to flicker in this manner. The
actual position is evaluated.
Machine axis[m]
1
Plus cam signal
0
Fig. 2-2 Software cams for linear axis (plus cam < minus cam)
Modulo rotary The switching edges of the cam signals are generated as a function of the
axes rotary axis traversing direction:
S The plus cam signal switches from 0 to 1 when the axis traverses the minus
cam in a positive axis direction and from 1 back to 0 when it traverses the
plus cam.
S The minus cam signal changes level in response to every positive edge of
the plus cam signal.
Note
The plus cam response applies under the following condition:
Plus cam – minus cam < 180 degrees
< 180
Machine axis[m]
Plus cam 1
signal
Minus cam 1
signal
Fig. 2-3 Software cams for modulo rotary axis (plus cam – minus cam < 180 degrees)
The signal change of the minus cam makes it possible to detect traversal of the
cam even if the cam range is set so small that the PLC cannot detect it reliably.
Both cam signals can be output to the PLC and to the NCK I/Os. Separate
output of the plus and minus cam signals makes it easy to detect whether the
axis is within or outside the plus or minus cam range.
If this condition (plus cam – minus cam < 180 degrees) is not fulfilled or if the
minus cam is set to a greater value than the plus cam, then the response of the
plus cam signal is inverted. The response of the minus cam signal remains
unchanged.
Plus cam 1
signal
Minus cam 1
signal
Fig. 2-4 Software cams for modulo rotary axis (plus cam – minus cam > 180 degrees)
General The plus and minus cam output signals are gated in the case of:
S Output to the NCK I/O devices if the 2nd byte in MD 10470 to MD 10473 has
not been specified (= “0”)
Linear axes
Machine axes
0
Minus cam signal:
1
0
Cam range Cam range plus
minus
1
Digital output
0
Fig. 2-5 Position switching signals for linear axis (minus cam < plus cam)
Machine axes
0
Minus cam signal:
1
0
Cam range Cam range plus
minus
1
Digital output
0
Fig. 2-6 Position switching signals for linear axis (plus cam < minus cam)
Modulo rotary axis The default signal response for modulo rotary axes is dependent on the cam
width:
< 180
Machine axis[m]
Plus cam 1
signal
Minus cam 1
signal
Digital output
0
Fig. 2-7 Software cams for modulo rotary axis (plus cam – minus cam < 180 degrees)
Plus cam 1
signal
Minus cam 1
signal
Digital output
0
Fig. 2-8 Software cams for modulo rotary axis (plus cam – minus cam > 180 degrees)
Suppression of In SW version 6.3 and higher, MD 10485: SW_CAM_MODE Bit 1=1 can be set
signal inversion to suppress the signal inversion for plus cam – minus cam > 180 degrees.
Plus cam 1
signal
Minus cam 1
signal
Digital output
0
Fig. 2-9 Software cams for modulo rotary axis (plus cam – minus cam > 180 degrees) and suppression of signal
inversion
Setting cam The cam positions of the plus and minus cams are defined via the following
positions general setting data:
SD 41500: SW_CAM_MINUS_POS_TAB_1[n] Position of minus cams 1 – 8
SD 41501: SW_CAM_PLUS_POS_TAB_1[n] Position of plus cams 1 – 8
SD 41502: SW_CAM_MINUS_POS_TAB_2[n] Position of minus cams 9 –16
SD 41503: SW_CAM_PLUS_POS_TAB_2[n] Position of plus cams 9 – 16
In addition, from SW 4.1:
SD 41504: SW_CAM_MINUS_POS_TAB_3[n] Position of minus cams 17 –24
SD 41505: SW_CAM_PLUS_POS_TAB_3[n] Position of plus cams 17 – 24
SD 41506: SW_CAM_MINUS_POS_TAB_4[n] Position of minus cams 25 – 32
SD 41507: SW_CAM_PLUS_POS_TAB_4[n] Position of plus cams 25 – 32
Note
Owing to the grouping of cam pairs (eight in each group), it is possible to assign
different access authorization levels (e.g. for machine-related and
workpiece-related cam positions).
The positions are entered in the machine coordinate system. No check is made
with respect to the maximum traversing range.
Sensing of cam To set the cam signals, the actual position of the axes is compared to the cam
positions position.
Writing/reading The setting data can be accessed for reading and writing via the MMC, PLC
of cam positions and part program.
Access operations from the part program are not synchronized with block
processing. Synchronization can only be achieved by means of a programmed
block preprocessing stop (STOPRE command).
It is possible to read and write the cam positions with FB 2 and FB 3 in the PLC
user program.
Axis/cam An assignment between a cam pair and a machine axis is made via the general
assignment MD 10450: SW_CAM_ASSIGN_TAB[n] (assignment of software cams to
machine axes).
Note
Changes to an axis assignment take effect after the next NCK power-up.
Cam pairs to which no axis is assigned are not active.
A cam pair can only be assigned to one machine axis at a time.
Several cam pairs can be defined for one machine axis.
Times To compensate for any delays, it is possible to assign two lead or delay times
with additive action to each minus and plus cam for the cam signal output.
The two lead or delay times are entered in a machine data and a setting data.
Note
The input of negative time values causes a delay in output of cam signals.
Input in The first lead or delay time is entered in the following general machine data:
machine data
MD 10460: SW_CAM_MINUS_LEAD_TIME[n]
lead or delay time on minus cams
MD 10461: SW_CAM_PLUS_LEAD_TIME[n]
lead or delay time on plus cams
For example, the following entries can be made in these machine data:
S Constant internal delay times between actual-value sensing and cam signal
output (e.g. as determined by an oscilloscope) or
Input in The second lead or delay time is entered in the following general setting data:
setting data
SD 41520: SW_CAM_MINUS_TIME_TAB_1[n]
lead or delay time on minus cams 1 – 8
SD 41521: SW_CAM_PLUS_TIME_TAB_1[n]
lead or delay time on plus cams 1 – 8
SD 41522: SW_CAM_MINUS_TIME_TAB_2[n]
lead or delay time on minus cams 9 – 16
SD 41523: SW_CAM_PLUS_TIME_TAB_2[n]
lead or delay time on plus cams 9 – 16
SD 41524: SW_CAM_MINUS_TIME_TAB_3[n]
lead or delay time on minus cams 17 – 24
SD 41525: SW_CAM_PLUS_TIME_TAB_3[n]
lead or delay time on plus cams 17 – 24
SD 41526: SW_CAM_MINUS_TIME_TAB_4[n]
lead or delay time on minus cams 25 – 32
SD 41527: SW_CAM_PLUS_TIME_TAB_4[n]
lead or delay time on plus cams 25 – 32
Delay times which may change during machining must, for example, be
entered in these setting data.
Activation of cam The output of cam signals for an axis is activated via axis-specific IS “Cam
signal output activation” (DB31, ... ; DBX2.0).
Check-back signal Successful activation of all cams for an axis is signaled back to the PLC via
to PLC axis-specific IS “Cams active” (DB31, ... ; DBX62.0).
Note
Activation can also be linked to other conditions (e.g. axis referenced, RESET
effective) by the PLC user.
The status of the cam signals for all machine axes with activated software cams
is output to the PLC.
The status is output in the IPO cycle and is transferred to the PLC
asynchronously.
Minus cam signals The status of the minus cam signals is entered in the general IS “Minus cam
signal 1 to 32” (DB10, DBX110.0 to 113.7).
Plus cam signals The status of the plus cam signals is entered in the general IS “Plus cam
signal 1 to 32” (DB10, DBX114.0 to 117.7).
Note
The signals for the cams assigned via MD 10470 to MD 10473 to a HW byte are
output in the position control cycle. Details about switching accuracy are given
further below.
The 4 onboard outputs on the NCU and a total of 32 optional external NCK
outputs are available as the digital outputs of the NCK I/Os.
References: /FB/, A4, “Digital and Analog NCK I/Os”
Hardware The assignment to the hardware bytes used is made for each eight cam pairs in
assignment both the common machine data items
MD 10470: SW_CAM_ASSIGN_FASTOUT_1 Hardware assignment for
output of cams 1 – 8 to NCK I/Os
MD 10471: SW_CAM_ASSIGN_FASTOUT_2 Hardware assignment for
output of cams 9 – 16 to NCK I/Os
MD 10472: SW_CAM_ASSIGN_FASTOUT_3 Hardware assignment for
output of cams 17 – 24 to NCK I/Os
MD 10473: SW_CAM_ASSIGN_FASTOUT_4 Hardware assignment for
output of cams 25 – 32 to NCK I/Os
Note
It is possible to define one HW byte for the output of eight minus cam signals
and one HW byte for the output of eight plus cam signals in each machine
data.
In addition, the output of the cam signals can be inverted with the two machine
data.
If the 2nd byte is not specified (= “0”), then the 8 cams are output as a logic
operation of the minus and plus cam signals via the 1st HW byte using the 1st
inversion screen form. The signal generation for the logic operation is shown in
Figs. 2-5 to 2-9.
Status query in the The status of the HW outputs can be read in the parts program with main run
parts program variable $A_OUT[n] (n = no. of output bit).
Switching Signals are output to the NCK I/Os or onboard outputs in the position control
accuracy cycle. Owing to the time grid of the position control cycle, the switching
accuracy of the cam signals is limited as a function of velocity.
In this case: Delta pos = Vact * position control cycle
Timer-controlled A significantly higher degree of accuracy can be achieved by outputting the cam
output signals independently of the position control cycle using a timer interrupt.
General MD 10480: SW_CAM_TIMER_FASTOUT_MASK (mask for the output
of cam signals via timer interrupts on NCU) can be set to select timer-controlled
output to the 4 NCU onboard outputs for 4 cam pairs.
In this case, the minus and plus signals of a cam pair are gated for output as
one signal. The signal generation for the logic operation is shown in Figs. 2-5
to 2-9.
Signal generation MD 10485: SW_CAM_MODE bit 1 must first be set to define the method of
generation of the signals to be gated. If the bit is not set, the signals are
generated according to 2.2.1:
Inversion of signal response of plus cam when
plus cam – minus cam >= 180 degrees
If the bit is set, then the signal response shown in 2.2.2 is selected:
No inversion of signal response of plus cam when
plus cam – minus cam >= 180 degrees
The setting option is available in SW version 6.2 and higher. In earlier software
versions without MD 10485: SW_CAM_MODE the variant with inversion shown
in 2.2.1 is always set.
Note
This function works independently of the assignment set in
MD 10470: SW_CAM_ASSIGN_FASTOUT_1 or
MD 10471: SW_CAM_ASSIGN_FASTOUT_2 or
MD 10472: SW_CAM_ASSIGN_FASTOUT_3 or
MD 10473: SW_CAM_ASSIGN_FASTOUT_4.
The onboard byte may not be used more than once at any one time.
Restrictions The following applies to the mutual position of the cam positions:
Only one signal is output on a timer-controlled basis per IPO cycle. If there are
signal changes for more than one cam pair in an IPO cycle, then the signals are
output on a priority basis:
The cam pair with the lowest number (1 ... 32) determines the instant at which
all pending signals are output, i.e. the signal change of the other cam pairs
takes place at the same instant in time.
PLC interface The NCK image of the onboard outputs and the status of the plus and minus
cams is displayed on the PLC interface.
These signals are irrelevant, however, or correspondingly inaccurate with the
timer-controlled cam output variant, as described in the following paragraphs.
The signals for plus and minus cams are generated synchronously (once) in the
interpolation cycle and passed together to the PLC.
Pulses shorter than one interpolation cycle are thus not visible in the PLC. The
onboard outputs are set and reset by interrupt asynchronously to the
interpolation cycle.
The status of the onboard outputs are acquired in synchronism with the update
of the PLC interface and transferred to the PLC.
Depending on the current status at the moment the PLC interface is updated,
pulses shorter than one interpolation cycle are not visible or are displayed
stretched by one or several IPO cycles.
Signal generation MD 10485: SW_CAM_MODE bit 1 must first be set to define the method of
generation of the signals to be gated. The signal generation for the logic
operation is shown in Figs. 2-5 to 2-9. If the bit is not set, the signals are
generated according to 2.2.1:
Inversion of signal response of plus cam when
plus cam – minus cam >= 180 degrees
If the bit is set, then the signal response shown in 2.2.2 is selected:
No inversion of signal response of plus cam when
plus cam – minus cam >= 180 degrees
Note
This function works independently of the assignment set in
MD 10470: SW_CAM_ASSIGN_FASTOUT_1 or
MD 10471: SW_CAM_ASSIGN_FASTOUT_2 or
MD 10472: SW_CAM_ASSIGN_FASTOUT_3 or
MD 10473: SW_CAM_ASSIGN_FASTOUT_4.
The onboard byte may not be used more than once at any one time.
Definition The term “Position-time cam” refers to a pair of software cams that can supply a
pulse of a certain duration at a defined axis position.
Solution The position is defined by a pair of software cams. The pulse duration is defined
by the lead/delay time of the plus cam. MD can be parameterized to select that
cam pairs with
minus cam position = plus cam position
must be processed as position-time cams.
Properties of
position-time cams
S The pulse duration is independent of the axis velocity and travel direction
reversal.
S A lead/delay time is operative for the minus cam and causes a time
displacement of the pulse.
S Activation (ON edge) and pulse duration are independent of the travel
direction.
S The cam is not deactivated if the cam position is crossed again when the
cam is active (direction reversal).
S The cam time (pulse width) is not interrupted and the cam time not restarted
when the cam position is crossed again.
This behavior is particularly relevant with respect to modulo axes, i.e. if the
cam time is greater than the modulo range crossing time, the cam is not
switched in every revolution.
Displacement:
The time displacement of the position-time cam is the product of the associated
entries for the cam pair in:
MD10460: SW_CAM_MINUS_LEAD_TIME[n] and
SD 41520: SW_CAM_MINUS_TIME_TAB_1[n]...
SD 41526: SW_CAM_MINUS_TIME_TAB_4[n]
Mode:
Bit 2 = 1 must be set in MD 10485: to ensure that all cam pairs with the same
values for minus cam and plus cam positions are treated as position-time cams.
J
Notes
Supplementary Conditions 3
Availability of The function is an option and is available for
function “Software
cams, position
S SINUMERIK 840D with NCU 572/573, SW2 and higher
switching signals” S SINUMERIK 810D, SW 3.2 and higher
Notes
10450 SW_CAM_ASSIGN_TAB[n]
MD number Assignment of software cams to machine axes
Default setting: 0 Minimum input limit: 0 Maximum input limit: 8 or 31
Changes effective after POWER ON Protection level: 2/4 Unit: –
Data type: BYTE Applies from SW: 2.1 or 4.1
Meaning: This machine data allows one machine axis to be assigned to each of the 32 (16) possible
cam pairs (comprising one minus and one plus cam).
When a “0” is entered, the appropriate cam is not processed.
The cam signal output is activated via the axial IS “Cam activation” (DB31, ... ;, DBX2.0).
Index [n] of the machine data addresses the cam pair:
n = 0, 1, ... , 31 corresponds to cam pair 1, 2, ... , 32
Application example(s) Cam pair 1 must be assigned to machine axis 3 and cam pair 3 to machine axis 4. Cam
pair 2 is not to be assigned to any axis.
⇒MD: SW_CAM_ASSIGN_TAB[0]= 3
MD: SW_CAM_ASSIGN_TAB[1]= 0
MD: SW_CAM_ASSIGN_TAB[2]= 4
Related to .... IS “Cam activation” (DB31–48, DBX2.0)
10460 SW_CAM_MINUS_LEAD_TIME[n]
MD number Lead or delay time on minus cams 1 – 16
Default setting: 0.0 Minimum input limit: *** Maximum input limit: ***
Changes effective after POWER ON Protection level: 2/4 Unit: s
Data type: DOUBLE Applies as of SW 2.1
Meaning: A lead or delay time can be assigned to each minus cam 1–16 in this machine data to
compensate for delay times.
The switching edge of the associated cam signal is advanced or delayed by the time value
entered.
Positive value: Lead time
Negative value: Delay time
Index [n] of the machine data addresses the cam pair:
n = 0, 1, ... , 15 corresponds to cam pair 1, 2, ... , 16
This machine data is added to setting data
SW_CAM_MINUS_TIME_TAB_1[n] and SW_CAM_MINUS_TIME_TAB_2[n].
Related to .... SD: SW_CAM_MINUS_TIME_TAB_1[n] (lead or delay time on minus cams 1 – 8)
SD: SW_CAM_MINUS_TIME_TAB_2[n] (lead or delay time on minus cams 9 – 16)
10461 SW_CAM_PLUS_LEAD_TIME[n]
MD number Lead or delay time on plus cams 1 – 16
Default setting: 0.0 Minimum input limit: *** Maximum input limit: ***
Changes effective after POWER ON Protection level: 2/4 Unit: s
Data type: DOUBLE Applies as of SW 2.1
Meaning: A lead or delay time can be assigned to each plus cam 1–16 in this machine data to com-
pensate for delay times.
The switching edge of the associated cam signal is advanced or delayed by the time value
entered.
Positive value: Lead time
Negative value: Delay time
Index [n] of the machine data addresses the cam pair:
n = 0, 1, ... , 15 corresponds to cam pair 1, 2, ... , 16
This machine data is added to setting data SW_CAM_PLUS_TIME_TAB_1[n] and
SW_CAM_PLUS_TIME_TAB_2[n].
Related to .... SD: SW_CAM_PLUS_TIME_TAB_1[n] (lead or delay time on plus cams 1 – 8)
SD: SW_CAM_PLUS_TIME_TAB_2[n] (lead or delay time on plus cams 9 – 16)
10470 SW_CAM_ASSIGN_FASTOUT_1
MD number Hardware assignment for output of cams 1 – 8 to NCK I/Os
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective after POWER ON Protection level: 2/4 Unit: HEX
Data type: DWORD Applies as of SW 2.1
Meaning: The cam signal status can be output to the NCK I/Os as well as to the PLC.
The hardware assignment of the minus and plus cam signals to the digital output bytes
used can be made in this machine data for cam pairs 1 – 8.
In addition, the assigned output signals can be inverted with this machine data.
The MD is coded as follows:
Bit 0–7: Number of 1st HW byte used with digital outputs
Bit 8–15: Number of 2nd HW byte used with digital outputs
Bit 16–23: Inversion screen form for writing 1st HW byte used
Bit 24–31: Inversion screen form for writing 2nd HW byte used
Bit=0: Do not invert
Bit=1: Invert
If both HW bytes are specified, the 1st byte contains the minus cam signals and the 2nd
byte the plus cam signals.
If the 2nd byte is not specified (= “0”), then the 8 cams are output as an AND operation of
the minus and plus cam signals via the 1st HW byte using the 1st inversion screen form.
The status of the non-inverted output signal for linear axes and for rotary axes with “plus
cam – minus cam < 180 degrees” is:
“1” between minus and plus cams
“0” outside this range
The status of the non-inverted output signal for rotary axes with “plus cam – minus cam
180 degrees”:
“0” between minus and plus cams
“1” outside this range
The following must be specified as the byte address for the digital outputs:
1: for onboard byte
2 – 5: for external bytes
Application example(s) The minus cam signals must be output via the onboard byte.
The plus cam signals must be output via byte address 3 on the NCU terminal block.
The following must also be inverted:
Minus cam signal 2, 4, 5 (corresponds to bits 1, 3, 4 of 1st HW byte)
Plus cam signal 1, 3, 4 (corresponds to bits 0, 2, 3 or 2nd HW byte)
MD: SW_CAM_ASSIGN_FASTOUT_1=‘H0D1A0301’
10471 SW_CAM_ASSIGN_FASTOUT_2
MD number Hardware assignment for output of cams 9 – 16 to NCK I/Os
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective after POWER ON Protection level: 2/4 Unit: HEX
Data type: DWORD Applies as of SW 2.1
Meaning: The cam signal status can be output to the NCK I/Os as well as to the PLC.
The hardware assignment of the minus and plus cam signals to the digital output bytes
used can be made in this machine data for cam pairs 9 – 16.
In addition, the assigned output signals can be inverted with this machine data.
The MD is coded as follows:
Bit 0–7: Number of 1st HW byte used with digital outputs
Bit 8–15: Number of 2nd HW byte used with digital outputs
Bit 16–23: Inversion screen form for writing 1st HW byte used
Bit 24–31: Inversion screen form for writing 2nd HW byte used
Bit=0: Do not invert
Bit=1: Invert
If both HW bytes are specified, the 1st byte contains the minus cam signals and the 2nd
byte the plus cam signals.
If the 2nd byte is not specified (= “0”), then the 8 cams are output as an AND operation of
the minus and plus cam signals via the 1st HW byte using the 1st inversion screen form.
The status of the non-inverted output signal for linear axes and for rotary axes with “plus
cam – minus cam < 180 degrees” is:
“1” between minus and plus cams
“0” outside this range
The status of the non-inverted output signal for rotary axes with “plus cam – minus cam
180 degrees”:
“0” between minus and plus cams
“1” outside this range
The following must be specified as the byte address for the digital outputs:
1: for onboard byte
2 – 5: for external bytes
Application example(s) See MD: SW_CAM_ASSIGN_FASTOUT_1
10472 SW_CAM_ASSIGN_FASTOUT_3
MD number Hardware assignment for output of cams 17 – 24 to NCK I/Os
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective after POWER ON Protection level: 2/7 Unit: HEX
Data type: DWORD Applies as of SW 4.1
Meaning: The cam signal status can be output to the NCK I/Os as well as to the PLC.
The hardware assignment of the minus and plus cam signals to the digital output bytes
used can be made in this machine data for cam pairs 17 – 24.
In addition, the assigned output signals can be inverted with this machine data.
The MD is coded as follows:
Bit 0–7: Number of 1st HW byte used with digital outputs
Bit 8–15: Number of 2nd HW byte used with digital outputs
Bit 16–23: Inversion screen form for writing 1st HW byte used
Bit 24–31: Inversion screen form for writing 2nd HW byte used
Bit=0: Do not invert
Bit=1: Invert
If both HW bytes are specified, the 1st byte contains the minus cam signals and the 2nd
byte the plus cam signals.
If the 2nd byte is not specified (= “0”), then the 8 cams are output as an AND operation of
the minus and plus cam signals via the 1st HW byte using the 1st inversion screen form.
The status of the non-inverted output signal for linear axes and for rotary axes with “plus
cam – minus cam < 180 degrees” is:
“1” between minus and plus cams
“0” outside this range
The status of the non-inverted output signal for rotary axes with “plus cam – minus cam
180 degrees”:
“0” between minus and plus cams
“1” outside this range
The following must be specified as the byte address for the digital outputs:
1: for onboard byte
2 – 5: for external bytes
Application example(s) See MD: SW_CAM_ASSIGN_FASTOUT_1
10473 SW_CAM_ASSIGN_FASTOUT_4
MD number Hardware assignment for output of cams 25 – 32 to NCK I/Os
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective after POWER ON Protection level: 2/7 Unit: HEX
Data type: DWORD Applies as of SW 4.1
Meaning: The cam signal status can be output to the NCK I/Os as well as to the PLC.
The hardware assignment of the minus and plus cam signals to the digital output bytes
used can be made in this machine data for cam pairs 25 – 32.
In addition, the assigned output signals can be inverted with this machine data.
The MD is coded as follows:
Bit 0–7: Number of 1st HW byte used with digital outputs
Bit 8–15: Number of 2nd HW byte used with digital outputs
Bit 16–23: Inversion screen form for writing 1st HW byte used
Bit 24–31: Inversion screen form for writing 2nd HW byte used
Bit=0: Do not invert
Bit=1: Invert
If both HW bytes are specified, the 1st byte contains the minus cam signals and the 2nd
byte the plus cam signals.
If the 2nd byte is not specified (= “0”), then the 8 cams are output as an AND operation of
the minus and plus cam signals via the 1st HW byte using the 1st inversion screen form.
The status of the non-inverted output signal for linear axes and for rotary axes with “plus
cam – minus cam < 180 degrees” is:
“1” between minus and plus cams
“0” outside this range
The status of the non-inverted output signal for rotary axes with “plus cam – minus cam
180 degrees”:
“0” between minus and plus cams
“1” outside this range
The following must be specified as the byte address for the digital outputs:
1: for onboard byte
2 – 5: for external bytes
Application example(s) See MD: SW_CAM_ASSIGN_FASTOUT_1
10480 SW_CAM_TIMER_FASTOUT_MASK
MD number Screen form for output of cam signals via timer interrupts to NCU
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective after POWER ON Protection level: 2/4 Unit: HEX
Data type: DWORD Applies as of SW 2.1
Meaning: A timer-controlled output to the 4 onboard outputs of the NCK I/Os can be selected in this
machine data for four cam pairs.
In this case, the minus and plus signals of a cam pair are “EXCLUSIVE ORed” for output
as one signal.
Meaning for set bit:
Associated cam (minus and plus cam signals EXCLUSIVE ORed) is output via a timer
interrupt at one of the four onboard outputs of the NCU.
The onboard outputs are allocated in ascending order of machine axis numbers (with as-
signed cam pairs).
Example 1:
Machine axis 3 = Cam pair 1 ––> Onboard output 3
Machine axis 1 = Cam pair 2 ––> Onboard output 1
Machine axis 7 = Cam pair 3 ––> Onboard output 4
Machine axis 2 = Cam pair 4 ––> Onboard output 2
If several cam pairs are set for a machine axis, the allocation for this axis
is in ascending order of cam pairs.
Example 2:
Machine axis 3 = Cam pair 1 ––> Onboard output 2
Machine axis 3 = Cam pair 2 ––> Onboard output 3
Machine axis 7 = Cam pair 3 ––> Onboard output 4
Machine axis 2 = Cam pair 4 ––> Onboard output 1
This function works independently of the assignment set in MD: SW_CAM_AS-
SIGN_FASTOUT_1 or MD: SW_CAM_ASSIGN_FASTOUT_2.
Note: The onboard byte may not be used more than once at any one time.
If there is more than one signal change in the IPO cycle for the cam pairs specified in the
MD, then the cam pair with the lowest number determines the instant of output. The other
signal changes take place at the same time.
SW 6.3 and higher If MD 10485 bit 0 = 1, independent, timer-controlled output, up to 8 cam
signals per interpolation cycle can be output differentially to the onboard outputs.
(see 2.3.4)
Application example(s) The signals of cam pairs 2, 5 and 7 must be output on a timer-controlled basis:
MD: SW_CAM_TIMER_FASTOUT_MASK= ‘H52’
Signal for cam pair 2 to onboard output 1 of NCK
Signal for cam pair 5 to onboard output 2 of NCK
Signal for cam pair 7 to onboard output 3 of NCK
Related to .... MD 10485: SW_CAM_MODE
10485 SW_CAM_MODE
MD number Response of SW cams
Default setting: 0 Minimum input limit: 0 Maximum input limit: 7
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies as of SW 6.3
10485 SW_CAM_MODE
MD number Response of SW cams
Meaning: Definition of response of SW cams:
Bit 3 Reserved
41500 SW_CAM_MINUS_POS_TAB_1[n]
SD number Position of minus cams 1 – 8
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7/7 Unit: mm, degrees
Data type: DOUBLE Applies as of SW 2.1
Meaning: The cam position of minus cams 1 – 8 is entered in this machine data.
The positions are entered in the machine coordinate system.
The response when the cam positions are overtraveled by linear and modulo rotary axes is
described in Subsection 2.2.1.
Index [n] of the setting data addresses the cam pair:
n = 0, 1, ... , 7 corresponds to cam pair 1, 2, ... , 8
The cam positions refer to the configured system of units:
MD 10270: POS_TAB_SCALING_SYSTEM=0: metric
MD 10270: POS_TAB_SCALING_SYSTEM=1: inch
41501 SW_CAM_PLUS_POS_TAB_1[n]
SD number Position of plus cams 1 – 8
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7/7 Unit: mm, degrees
Data type: DOUBLE Applies as of SW 2.1
Meaning: The cam position of plus cams 1 – 8 is entered in this machine data.
The positions are entered in the machine coordinate system.
The response when the cam positions are overtraveled by linear and modulo rotary axes is
described in Subsection 2.2.1.
Index [n] of the setting data addresses the cam pair:
n = 0, 1, ... , 7 corresponds to cam pair 1, 2, ... , 8
The cam positions refer to the configured system of units:
MD 10270: POS_TAB_SCALING_SYSTEM=0: metric
MD 10270: POS_TAB_SCALING_SYSTEM=1: inch
41502 SW_CAM_MINUS_POS_TAB_2[n]
SD number Position of minus cams 9 – 16
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7/7 Unit: mm, degrees
Data type: DOUBLE Applies as of SW 2.1
Meaning: The cam position of minus cams 9 – 16 is entered in this machine data.
The positions are entered in the machine coordinate system.
The response when the cam positions are overtraveled by linear and modulo rotary axes is
described in Subsections 2.2.1 and 2.2.2.
Index [n] of the setting data addresses the cam pair:
n = 0, 1, ... , 7 corresponds to cam pair 9, 10, ... , 16
The cam positions refer to the configured system of units:
MD 10270: POS_TAB_SCALING_SYSTEM=0: metric
MD 10270: POS_TAB_SCALING_SYSTEM=1: inch
41503 SW_CAM_PLUS_POS_TAB_2[n]
SD number Position of plus cams 9 – 16
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7/7 Unit: mm, degrees
Data type: DOUBLE Applies as of SW 2.1
Meaning: The cam position of plus cams 9 – 16 is entered in this machine data.
The positions are entered in the machine coordinate system.
The response when the cam positions are overtraveled by linear and modulo rotary axes is
described in Subsections 2.2.1 and 2.2.2.
Index [n] of the setting data addresses the cam pair:
n = 0, 1, ... , 7 corresponds to cam pair 9, 10, ... , 16
The cam positions refer to the configured system of units:
MD 10270: POS_TAB_SCALING_SYSTEM=0: metric
MD 10270: POS_TAB_SCALING_SYSTEM=1: inch
41504 SW_CAM_MINUS_POS_TAB_3[n]
SD number Position of minus cams 17 – 24
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7/7 Unit: mm, degrees
Data type: DOUBLE Applies as of SW 4.1
Meaning: The cam position of minus cams 17 – 24 is entered in this machine data.
The positions are entered in the machine coordinate system.
The response when the cam positions are overtraveled by linear and modulo rotary axes is
described in Subsections 2.2.1 and 2.2.2.
Index [n] of the setting data addresses the cam pair:
n = 0, 1, ... , 7 corresponds to cam pair 17, 18, ... , 24
The cam positions refer to the configured system of units:
MD 10270: POS_TAB_SCALING_SYSTEM=0: metric
MD 10270: POS_TAB_SCALING_SYSTEM=1: inch
41505 SW_CAM_PLUS_POS_TAB_3[n]
SD number Position of plus cams 17 – 24
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7/7 Unit: mm, degrees
Data type: DOUBLE Applies as of SW 4.1
Meaning: The cam position of plus cams 17 – 24 is entered in this machine data.
The positions are entered in the machine coordinate system.
The response when the cam positions are overtraveled by linear and modulo rotary axes is
described in Subsections 2.2.1 and 2.2.2.
Index [n] of the setting data addresses the cam pair:
n = 0, 1, ... , 7 corresponds to cam pair 17, 18, ... , 24
The cam positions refer to the configured system of units:
MD 10270: POS_TAB_SCALING_SYSTEM=0: metric
MD 10270: POS_TAB_SCALING_SYSTEM=1: inch
41506 SW_CAM_MINUS_POS_TAB_4[n]
SD number Position of minus cams 25 – 32
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7/7 Unit: mm, degrees
Data type: DOUBLE Applies as of SW 4.1
Meaning: The cam position of plus cams 25 – 32 is entered in this machine data.
The positions are entered in the machine coordinate system.
The response when the cam positions are overtraveled by linear and modulo rotary axes is
described in Subsections 2.2.1 and 2.2.2.
Index [n] of the setting data addresses the cam pair:
n = 0, 1, ... , 7 corresponds to cam pair 25, 26, ... , 32
The cam positions refer to the configured system of units:
MD 10270: POS_TAB_SCALING_SYSTEM=0: metric
MD 10270: POS_TAB_SCALING_SYSTEM=1: inch
41507 SW_CAM_PLUS_POS_TAB_4[n]
SD number Position of plus cams 25 – 32
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7/7 Unit: mm, degrees
Data type: DOUBLE Applies as of SW 4.1
Meaning: The cam position of plus cams 25 – 32 is entered in this machine data.
The positions are entered in the machine coordinate system.
The response when the cam positions are overtraveled by linear and modulo rotary axes is
described in Subsections 2.2.1 and 2.2.2.
Index [n] of the setting data addresses the cam pair:
n = 0, 1, ... , 7 corresponds to cam pair 25, 26, ... , 32
The cam positions refer to the configured system of units:
MD 10270: POS_TAB_SCALING_SYSTEM=0: metric
MD 10270: POS_TAB_SCALING_SYSTEM=1: inch
41520 SW_CAM_MINUS_TIME_TAB_1[n]
SD number Lead or delay time on minus cams 1 – 8
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7/7 Unit: s
Data type: DOUBLE Applies as of SW 2.1
Meaning: A lead or delay time can be assigned to each minus cam 1 – 8 in this setting data to com-
pensate for delay times.
The switching edge of the associated cam signal is advanced or delayed by the time value
entered.
Positive value: Lead time
Negative value: Delay time
Index [n] of the setting data addresses the cam pair:
n = 0, 1, ... , 7 corresponds to cam pair 1, 2, ... , 8
This setting data is added to MD: SW_CAM_MINUS_LEAD_TIME[n].
SW 6.3 and higher: The time settings act as a displacement in the trigger position on posi-
tion-time cams.
Related to .... MD: SW_CAM_MINUS_LEAD_TIME[n] (lead or delay time on minus cams 1 – 32)
41521 SW_CAM_PLUS_TIME_TAB_1[n]
SD number Lead or delay time on plus cams 1 – 8
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7/7 Unit: s
Data type: DOUBLE Applies as of SW 2.1
Meaning: A lead or delay time can be assigned to each plus cam 1 – 8 in this setting data to com-
pensate for delay times.
The switching edge of the associated cam signal is advanced or delayed by the time value
entered.
Positive value: Lead time
Negative value: Delay time
Index [n] of the setting data addresses the cam pair:
n = 0, 1, ... , 7 corresponds to cam pair 1, 2, ... , 8
This setting data is added to MD: SW_CAM_PLUS_LEAD_TIME[n].
SW 6.3 and higher: The time settings act as the pulse duration on position–time cams.
Related to .... MD: SW_CAM_PLUS_LEAD_TIME[n] (lead or delay time on plus cams 1 – 32)
41522 SW_CAM_MINUS_TIME_TAB_2[n]
SD number Lead or delay time on minus cams 9 – 16
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7/7 Unit: s
Data type: DOUBLE Applies as of SW 2.1
Meaning: A lead or delay time can be assigned to each minus cam 9 – 16 in this setting data to com-
pensate for delay times.
The switching edge of the associated cam signal is advanced or delayed by the time value
entered.
Positive value: Lead time
Negative value: Delay time
Index [n] of the setting data addresses the cam pair:
n = 0, 1, ... , 7 corresponds to cam pair 9, 10, ... , 16
This setting data is added to MD: SW_CAM_MINUS_LEAD_TIME[n+8].
SW 6.3 and higher: The time settings act as a displacement in the trigger position on posi-
tion-time cams.
Related to .... MD: SW_CAM_MINUS_LEAD_TIME[n] (lead or delay time on minus cams 1 – 32)
41523 SW_CAM_PLUS_TIME_TAB_2[n]
SD number Lead or delay time on plus cams 9 – 16
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7/7 Unit: s
Data type: DOUBLE Applies as of SW 2.1
41523 SW_CAM_PLUS_TIME_TAB_2[n]
SD number Lead or delay time on plus cams 9 – 16
Meaning: A lead or delay time can be assigned to each plus cam 9 – 16 in this setting data to com-
pensate for delay times.
The switching edge of the associated cam signal is advanced or delayed by the time value
entered.
Positive value: Lead time
Negative value: Delay time
Index [n] of the setting data addresses the cam pair:
n = 0, 1, ... , 7 corresponds to cam pair 9, 10, ... , 16
This setting data is added to MD: SW_CAM_PLUS_LEAD_TIME[n+8].
SW 6.3 and higher: The time settings act as the pulse duration on position-time cams.
Related to .... MD: SW_CAM_PLUS_LEAD_TIME[n] (lead or delay time on plus cams 1 – 32)
41524 SW_CAM_MINUS_TIME_TAB_3[n]
SD number Lead or delay time on minus cams 17 – 24
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7/7 Unit: s
Data type: DOUBLE Applies as of SW 4.1
Meaning: A lead or delay time can be assigned to each minus cam 17 – 24 in this setting data to
compensate for delay times.
The switching edge of the associated cam signal is advanced or delayed by the time value
entered.
Positive value: Lead time
Negative value: Delay time
Index [n] of the setting data addresses the cam pair:
n = 0, 1, ... , 7 corresponds to cam pair 17, 18, ... , 24
This setting data is added to MD: SW_CAM_MINUS_LEAD_TIME[n+16].
SW 6.3 and higher: The time settings act as a displacement in the trigger position on posi-
tion-time cams.
Related to .... MD: SW_CAM_MINUS_LEAD_TIME[n] (lead or delay time on minus cams 1 – 32)
41525 SW_CAM_PLUS_TIME_TAB_3[n]
SD number Lead or delay time on plus cams 17 – 24
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7/7 Unit: s
Data type: DOUBLE Applies as of SW 4.1
Meaning: A lead or delay time can be assigned to each plus cam 17 – 24 in this setting data to com-
pensate for delay times.
The switching edge of the associated cam signal is advanced or delayed by the time value
entered.
Positive value: Lead time
Negative value: Delay time
Index [n] of the setting data addresses the cam pair:
n = 0, 1, ... , 7 corresponds to cam pair 17, 18, ... , 24
This setting data is added to MD: SW_CAM_PLUS_LEAD_TIME[n+16].
SW 6.3 and higher: The time settings act as the pulse duration on position-time cams.
Related to .... MD: SW_CAM_PLUS_LEAD_TIME[n] (lead or delay time on plus cams 1 – 32)
41526 SW_CAM_MINUS_TIME_TAB_4[n]
SD number Lead or delay time on minus cams 25 – 32
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7/7 Unit: s
Data type: DOUBLE Applies as of SW 4.1
Meaning: A lead or delay time can be assigned to each minus cam 25 – 32 in this setting data to
compensate for delay times.
The switching edge of the associated cam signal is advanced or delayed by the time value
entered.
Positive value: Lead time
Negative value: Delay time
Index [n] of the setting data addresses the cam pair:
n = 0, 1, ... , 7 corresponds to cam pair 25, 26, ... , 32
This setting data is added to MD: SW_CAM_MINUS_LEAD_TIME[n+24].
SW 6.3 and higher: The time settings act as a displacement in the trigger position on posi-
tion-time cams.
Related to .... MD: SW_CAM_MINUS_LEAD_TIME[n] (lead or delay time on minus cams 1 – 32)
41527 SW_CAM_PLUS_TIME_TAB_4[n]
SD number Lead or delay time on plus cams 25 – 32
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective immediately Protection level: 7/7 Unit: s
Data type: DOUBLE Applies as of SW 4.1
Meaning: A lead or delay time can be assigned to each plus cam
25 – 32 in this setting data to compensate for delay times.
The switching edge of the associated cam signal is advanced or delayed by the time value
entered.
Positive value: Lead time
Negative value: Delay time
Index [n] of the setting data addresses the cam pair:
n = 0, 1, ... , 32 corresponds to cam pair 25, 26, ... , 32
This setting data is added to MD: SW_CAM_PLUS_LEAD_TIME[n+24].
SW 6.3 and higher: The time settings act as the pulse duration on position-time cams.
Related to .... MD: SW_CAM_PLUS_LEAD_TIME[n] (lead or delay time on plus cams 1 – 32)
Notes
Signal Descriptions 5
5.1 Signal overview
Axis/spindle n
Cam activation
(DB31, ... ; DBX2.0) Software cam Cam active (DB31–62, DBX62.0)
Fig. 5-1 PLC interface signals for “Software cams, position switching signals”
Notes
Example 6
– None –
J
7.4 Interrupts
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, Diagnostics Guide
or in the Online help.
J
Notes
6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/N4/6-45
7 Data Fields, Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/N4/7-51
7.1 Interface signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/N4/7-51
7.2 Machine data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/N4/7-51
7.3 Setting data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/N4/7-52
7.4 Language commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/N4/7-52
7.5 Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2/N4/7-53
Brief Description 1
The functions specific to punching and nibbling operations comprise the
following
Stroke control
Automatic path segmentation
Rotatable punch and die
Clamp protection
including their activation and deactivation via language commands.
Notes
Detailed Description 2
2.1 Stroke control
The stroke control is used in the actual machining of the workpiece. The punch
is activated via an NC output signal when the position is reached. The punching
unit acknowledges its punching motion with an input signal to the NC. No axis
may move within this time period. Repositioning takes place after the punching
operation.
High-speed “High-speed signals” are used for direct communication between the NC and
signals punching unit. Combined with the punch, they allow a large number of holes to
be punched per minute since the punch positioning times are interpreted as
machining delays.
PLC signals PLC interface signals are used for non-time-critical functions such as enabling
and monitoring.
High-speed signals are used to synchronize the NC and punching unit. On the
one hand, they are applied via a high-speed output to ensure that the punch
stroke is not initiated until the metal sheet is stationary. On the other, they are
applied via a high-speed input to ensure that the sheet remains stationary while
the punch is active. The high-speed digital inputs and outputs on the control are
used to operate the punching unit.
The following diagram shows the signal sequence.
(a)
(b)
A0
E0
(c)
t1 t2 t3 t4 t
Note
The diagram illustrates the following
(a) Axis motion of the machine as a v(t) function
(b) “Stroke activation” signal
(c) “Stroke active” signal
The “Stroke active” signal is high-active for reasons relating to open-circuit
monitoring.
t1 The motion of the workpiece (metal sheet) in relation to the punch is completed
at instant t1. Depending on the criterion defined for stroke activation (see
following section “Criteria for stroke initiation”), high-speed output A0 is set for
punch initiation .
t2 The punching unit signals a punch movement via high-speed input E0 at instant
t2. This is triggered by signal A0 .
For safety reasons, signal E0 is high-active (in the case of an open circuit,
“Stroke active” is always set and the axes do not move).
The “Stroke active” signal is not reset again until the tool has moved away from
the metal sheet (t4).
t3 The NC reacts to the “Stroke active” signal at instant t3 by canceling the “Stroke
activation” signal . From this point in time onwards, the NC is in a waiting
state. It simply waits for cancellation of the “Stroke active” signal so it can initiate
the next axis motion. The next stroke can be initiated only after signal A0 has
disappeared.
t4 The punching operation is complete at instant t4, i.e. the punch has exited from
the metal sheet again. The NC reacts to a signal transition in signal E0 by
starting an axis motion . The reaction of the NC to a signal edge change is
described in the section headed “Axis start after punching” below.
Note
The stroke time is determined by the period Dth = t4 – t1. Reaction times at
instant t4 between the signal transition of E0 and the start of the axis motion
must also be added.
Initiate a stroke The stroke initiation must be set, at the earliest, for the point in time at which it
can be guaranteed that the axes have reached a standstill. This ensures that at
the instant of punching, there is absolutely no relative movement between the
punch and the metal sheet in the machining plane.
The following diagram shows the various criteria that can be applied to stroke
initiation.
End of interpolation
A0
E0
t
t’’1 t’1 t1 t2
If then Description
G603 Sop the interpolation The interpolation reaches the block end. In this case, the axes continue
is programmed, to move until the overtravel has been traversed, i.e. the signal is output
at an appreciable interval before the axes have reached zero speed
(see t1).
G602 Reach the coarse in- The signal is output once the axes have reached the coarse in-position
is programmed, position window window. If this criterion is selected for stroke initiation output, then the
instant of stroke initiation can be varied through the size of interpolation
window (see t’1).
G601 Reach the fine in-posi- In this case, it can always be ensured that the machine will have
is programmed, tion window reached a standstill at the instant of punching provided that the axis
data are set well.
However, this variant also results in a maximum dead time (see t1).
Note:
The initial setting of the G group with G601, G602 and G603 (G group 12) is defined via MD:
GCODE_RESET_VALUES[11] (G601 is the default setting)
The start of an axis motion after stroke initiation is controlled via input signal
“Stroke ON”.
A0
E0
t4 t’4 t
PON/SON When the punching unit is controlled by means of PON/SON, the maximum
delay time is calculated as |t’4 – t4| = 3 x interpolation cycle.
PONS/SONS If the punch is controlled by means of PONS/SONS, then the delay time is
determined by |t’4 – t4| v 3 x position control cycle.
(Precondition: Stroke time (t4 – t2) > 4 interpolation cycles.)
In addition to the signals used for direct stroke control, channel-specific PLC
interface signals are also available. These are used both to control the
punching process and to display operational states.
The “No stroke enable” signal prevents the NC from initiating any punching
operation. The NC waits until the enable signal is available before continuing
the parts program. The “Stroke suppression” signal allows the parts program to
be processed without initiating a punching operation (dry run). With active path
segmentation, the axes traverse in “Stop and go” mode. The “Delayed stroke”
signal activates a delayed stroke output such as that programmable with
PDELAYON. The “Manual stroke initiation” signal allows the operator to initiate
a punching process (controlled via PLC), even when the parts program is not
being processed. This signal is acknowledged by the “Acknowledge manual
stroke initiation” signal.
Note
The signals from/to channel are described in Chapter 5 and are listed in
Chapter 7.
“Feed stop” In the case of a “Feed stop” signal, the NC reacts as follows with respect to the
interface signal stroke control:
If the signal is detected before instant t1, then stroke initiation is suppressed.
The next stroke is not initiated until the next start or until the “Feed stop” signal
has been canceled. Machining is then continued as if there had been no
interruption. If the signal is detected at instant t1, then the current stroke is
completed and the NC then rests in the state characterized by t4. To allow it to
respond in this manner, time monitoring of the “Stroke active” and “Stroke
initiation” signals is dispensed with.
Owing to aging of the punch hydraulics, overshooting of the punch may cause
the “Stroke active” signal to oscillate at the end of a stroke. In such cases, an
alarm may be generated depending on machine data 26020:
NIBBLE_SIGNAL_CHECK (alarm 22054 “distorted punch signal”).
Reset response In the case of an NC RESET, the “Stroke initiation” signal is canceled
immediately even if the acknowledgement via the high-speed input has not
arrived. A currently activated stroke cannot be suppressed.
Punching and nibbling functions are activated and deactivated via configurable
language commands. These replace the special M functions that were used in
earlier systems.
References: /PA/, Programming Guide
Note
Only one function at a time can be active within a G code group (similar, for
example, to the various interpolation modes G0, G1, G2, G3, etc., which are
also mutually exclusive).
If SPOF is programmed together with a travel command in one block (and in all
further blocks if punching/nibbling is not activated with SON or PON), the
machine approaches the programmed position without the initiation of a
punching operation. SPOF deselects SON, SONS, PON and PONS and is
equivalent to a RESET state.
Programming example:
:
:
N20 G90 X100 SON Activate punching
N25 X50 SPOF Deactivate punching,
: Positioning without stroke initiation
:
SON Nibbling ON
SON activates the nibbling function and deselects the other functions in G
group 35 (e.g. PON).
In contrast to punching, the first stroke is made at the start point of the block
with the activating command, i.e. before the first machine motion. SON has a
modal action, i.e. it remains active until either SPOF or PON is programmed or
until the program end is reached. The stroke initiation is suppressed in blocks
without traversing information relating to the axes designated as punching or
nibbling axes (typically those in the active plane). If a stroke still needs to be
initiated, then one of the punching/nibbling axes must be programmed with a 0
traversing path. If the first block with SON is a block without traversing
information of the type mentioned, then only one stroke takes place in this block
since the start and end points are identical.
Programming example:
:
:
N70 X50 SPOF Positioning without punch initiation
N80 X100 SON Activate nibbling, initiate a stroke
: before motion (X=50) and at end of
: programmed motion (X=100)
PON Punching ON
PON activates the punching function and deactivates SON.
Like SON, PON also has a modal action.
In contrast to SON, however, a stroke is not executed until the end of the block
or, in the case of automatic path segmentation, at the end of a path segment.
PON has an identical action to SON in the case of blocks which contain no
traversing information.
Programming example:
:
:
N100 Y30 SPOF Positioning without punch initiation
N110 Y100 PON Activate punching, initiate punch
: at end of positioning operation (Y=100)
:
Programming example:
:
:
N170 SPIF1 X100 PON At the end of the block
: a stroke is initiated at the
: first high-speed output. The “Stroke
: active” signal is monitored at the first
: output.
N180 X800 SPIF2 The second stroke is initiated at
: the second high-speed output.
: The “Stroke active” signal is
: monitored at the second input.
N190 SPIF1 X700 The first interface is used to
: control all further strokes.
Alternate interface Machines that alternately use a second punching unit or a comparable medium
in SW 3.2 and can be switched over to a second I/O pair. The second I/O pair can be defined
higher via machine data
MD 26004: NIBBLE_PUNCH_OUTMASK and
MD 26006: NIBBLE_PUNCH_INMASK.
The alternate interfaces can be selected via commands SPIF1 and SPIF2. Full
punching/nibbling functionality is available on both interfaces.
Example:
Automatically Dead times due to the reaction time of the punching unit can be minimized if the
activated stroke can be initiated before the interpolation window of the axes is reached.
pre-initiation time The reference time for this is the interpolation end. The stroke is automatically
in SW 3.1 and initiated with G603 and delayed by the set value in relation to the time that the
end of interpolation is reached.
higher
The machine data MD 26018: NIBBLE_PRE_START_TIME.
A value of 0.010 s is selected to initiate a stroke, for example, 2 cycles after the
end of interpolation with an interpolation cycle of 5 ms.
The pre-initiation time can be set in SD 42402:
NIBPUNCH_PRE_START_TIME. This setting becomes operative only if
MD 26018: NIBBLE_PRE_START_TIME is set to 0. This then gives higher
priority to the pre-initiation time in MD 26018: NIBBLE_PRE_START_TIME.
Monitoring of the If the “stroke active” signal is fluctuating between strokes due to plunger
input signal in overshoots, for example, the message “undefined punching signal” is output
SW 3.1 and higher and interpolation halted. This message is generated as a function of machine
data MD 26020: NIBBLE_SIGNAL_CHECK.
MD 26020: NIBBLE_SIGNAL_CHECK = 0 No alarm.
A [%]
100
S [mm]
2 10
Fig. 2-4 Proportional increase in acceleration from 50% with a distance between holes of 2 mm to 10 mm
The characteristic shown in Fig. 2-5 defines the following acceleration rate:
A [%]
100
75
25
S [mm]
2 3 8 10
Fig. 2-5 Proportional reduction in acceleration from 75% with a distance between holes of 3 mm to 8 mm
If a reduced acceleration rate has already been programmed via ACC, then the
acceleration limits defined with PUNCHACC refer to the reduced acceleration
rate.
The function is deselected with Smin = Smax =0. The existing acceleration
programming with ACC remains operative.
Note
For further details, please refer to:
Use of M functions As in earlier versions, macro technology allows special M functions to be used
instead of language commands (compatibility).
The following assignments corresponding to those used in earlier systems
apply:
Note
The M functions can be configured via machine data.
As regards the assignments between the M functions and language
commands, it must be noted that the M functions are divided into auxiliary
function groups.
Programming example:
:
:
N100 X100 M20 Positioning without punch initiation
N110 X120 M22 Activate nibbling, stroke initiation before
: and after motion
N120 X150 Y150 M25 Activate punching,
: stroke initiation at end of motion.
:
Note
The values programmed with SPP are either mm or inch settings depending on
the initial setting (analogous to axes).
The automatic path segmentation function ensures that the path is divided into
equidistant sections with linear and circle interpolation.
When the program is interrupted and automatic path segmentation is active
(SPP/SPN), the contour can be reentered only at the beginning of the
segmented block. The first punching stroke is made at the end of this sub-block.
SPP and SPN can be activated only if geo axes are configured.
SPP The automatic path segmentation function SPP divides the programmed
traversing path into sections of equal size as a function of the programmed
feed path.
SPP is modally active, i.e. the programmed feed value remains valid until it
is programmed again, but it can be suppressed on a block-by-block
(non-modal) basis by means of SPN.
The path segments are rounded off by the control system if required so that
a total programmed distance can be divided into an integral number of path
sections.
If the programmed SPP value is greater than the traversing distance, then
the axis is positioned on the programmed end position without path
segmentation.
SPP = 0, reset or program end delete the programmed SPP value. SPP is
not deleted when punching/nibbling is deactivated.
SPN The automatic path segmentation function SPN divides the traversing path
into the programmed number of path segments.
SPN is active non-modally and is activated if SON or PON has already been
activated.
(Exception: MD 26014: PUNCH_PATH_SPLITTING = 1).
If a block contains both SPN (number of strokes) and SPP (stroke path),
then the number of blocks is activated in the current block while the stroke
path is activated in all blocks that follow.
Any programmed auxiliary functions are output before, during the first or
after the last sub-block.
In the case of blocks without traversing information, the same rules apply to
programmed SPP and SPN commands as defined for SON and PON, i.e. a
stroke is initiated only if an axis motion has been programmed.
SPP
1 2
SPP
4 3
Fig. 2-6
If the programmed path segmentation is not an integral multiple of the total path,
then the feed path is reduced (see following diagram).
Y2
SPP’
SPP
X
X2
Example of SPN The number of path segments per block is programmed via SPN.
command
A value programmed via SPN takes effect on a non-modal basis for both
punching and nibbling applications. The only difference between the two modes
is with respect to the first stroke. In the case of nibbling operations, this is
executed at the beginning of the first segment. This means that when n
segments are programmed, n strokes are executed with punching operations
but n+1 with nibbling. Furthermore, where no travel information is available, only
a single stroke is executed, even if several are programmed. Should it be
necessary to generate several strokes at one position, then the corresponding
number of blocks without traversing information must be programmed.
N1 G01 X0 Y0 SPOF Position without initiation of punch,
N2 X75 SPN=3 SON Activate nibbling, the whole path
: is divided into three segments.
: Since nibbling is active, a stroke
: is initiated before the first motion
: and at the end of each segment.
N3 Y10 SPOF Position without initiation of punch
N4 X0 SPN=2 PON Activate punching, the whole path
: is divided into two segments.
: Since punching is active, the first
: stroke is initiated at the end of the
: first segment.
SPN = 3
1 2
4 3
SPN = 2
Fig. 2-8
Example
X
62.5
75 75
Y
v4
62.5
v3
125
v3 250
Extract from N100 G90 X130 Y75 F60 SPOF Position at start point
program of vertical nibble paths
N110 G91 Y125 SPP=4 SON End point coordinates
(incremental); feedrate value:
4 mm, activate nibbling
N120 G90 Y250 SPOF Absolute dimensioning,
Position at start point
of horizontal nibble path
N130 X365 SPP=4 SON End point coordinates, 4
segments, activate nibbling
N140 X525 SPOF Position at start point
of inclined nibble path
N150 X210 Y75 SPP=3 SON End point coordinates
feedrate value: 4 mm,
Activate nibbling
N160 X525 SPOF Position at start point
of nibble path on
pitch circle path
N170 G02 G91 X–62.5 Y62.5 Incremental circular interpolation
I0 J62.5 SON with interpolation parameters,
Activate nibbling
N180 G00 G90 Y300 SPOF Positioning
35
30
25
20
90
15
75
10 60
N10 N20
5 0 15 30 45
0
0 5 10 15 20 25 30 35 x
C = 0
PUNCH_PARTITION_TYPE=1
In contrast to the behavior described above, here the synchronous axis travels
the entire programmed rotation path in the first sub-block of the selected path
segmentation function. Applied to the above example, the C axis already
reaches the programmed end position (C=45) when it reaches X position X=15.
It behaves in the same way in the circular interpolation block below.
35
30
25
20
90
15
90
10 90
0
0 5 10 15 20 25 30 35 x
C = 0
PUNCH_PARTITION_TYPE=2
MD=2 is set in cases where the axis must behave as described above
(PUNCH_PARTITION_TYPE=1) in linear interpolation mode, but according to
the default setting in circular interpolation mode (see 1st case). Given the above
example, the axis then behaves as follows: In block N20, the C axis is rotated to
C=45 in the first sub-block. The following circular block rotates the C axis
through 15 in every sub-block.
35
30
25
20
90
15
75
10 60
0
0 5 10 15 20 25 30 35 x
C = 0
The axis response illustrated in the diagram above can be particularly useful
when applied to the axis of a rotatable tool in cases where it is used to place the
tool in a defined direction (e.g. tangential) in relation to the contour, but where
the tangential control function must not be applied. However, it is not a
substitute for the tangential control function since the start and end positions of
the rotary axis must always be programmed.
Note
Additional offset motions of special axes (in this case, rotary axis C) are
implemented via a zero offset.
If the C axis is not defined as a “Punch-nibble axis”, then the C axis motion path
is not segmented in block N30 in the above example nor is a stroke initiated at
the block end.
If the functionality described above is to be implemented in a variant not specific
to nibbling applications, but with alignment of the special axis, then stroke
initiation can be suppressed by PLC interface signal (stroke suppression).
(Application: e.g. alignment of electron beam during welding).
Similar axis operating characteristics can be obtained by setting
MD 26014 PUNCH_PATH_SPLITTING to “1”.
In this case, the path is segmented irrespective of punching or nibbling
functions.
ÉÉÉÉ
ÉÉÉÉ ÉÉÉÉ
ÉÉÉÉ
ÉÉÉÉ ÉÉÉÉ
Stamp
Die
Using the standard function “Coupled motion”, it is possible to assign the axis of
the die as a coupled motion axis to the rotary axis of the punch.
Example Example of a typical nibbling machine with rotatable punching tools where C is
the punch axis and C1 the die axis
:
:
TRAILON (C, C1, 1); Switch on coupled motion grouping
G01 X100 Y100 C0 PON Initiate stroke with C axis and
C1 axis position C=0=C1
X150 C45 Initiate stroke with C axis/C1 axis
: position C=45=C1
:
M30
Initial setting No coupled motion groupings are active after power-up. Once the two tool axes
have approached the reference point, the coupled-axis grouping is not generally
separated again. This can be achieved by activating the coupled-axis grouping
once (see above example) and setting machine data 20110
RESET_MODE_MASK, bit 8=1. In this way, the coupled-axis grouping remains
active after RESET/parts program start or end.
Activation The “Tangential control” function is activated and deactivated with language
commands TANGON or TANGOF respectively.
References: /PA/, Programming Guide, Fundamentals
Operating The tangential axis is coupled to the interpolation of the master axes. It is
principle therefore not possible to position the axis at the appropriate punching position
tangentially to the path independently of velocity. This may lead to a reduction in
machining velocity if the dynamics of the rotary axis are unfavorable in relation
to those of the master axes. Additional offset angles can be programmed
directly via language command TANGON.
Note
If the tool (punch and die) is positioned by two separate drives, then the
functions “Tangential control” and “Coupled axes” can be used.
The tangential control function must be activated first followed by coupled axes.
The tangential control function automatically aligns the punch vertically to the
direction vector of the programmed path. The tangential tool is positioned before
the first punching operation is executed along the programmed path. The
tangential angle is always referred to the positive X axis. A programmed
additional angle is added to the calculated angle.
The tangential control function can be used in the linear and circular
interpolation modes.
Explanations
Table 2-1
Set Remarks
N2 Definition of master and slave axes, C is slave axis for X and Y in the
base coordinate system.
N5 Start position
N8 Activation of coupled motion of rotatable tool axes C/C1.
N10
C/C1 axis rotates to 225 stroke
N15
C/C1 axis rotates to 45 stroke
X 80 70 60 50 40 30 20 10
Mounting
N5 position
10
N10
20 Position
N25 N15
N20
Punching
30
N45
N30
40
50
N40
60
N35 Y
:
:
N2 TANG (C, X, Y, 1, “B”)
N5 G0 F60 X10 Y10
N8 TRAILON (C, C1, 1)
N9 TRAILON (C, –90)
N10 G02 X30 Y30 I20 J0 SPN=2 PON
N15 G0 X70 Y10 SPOF
N17 TANGON (C, 90)
N20 G03 X35,86 Y24,14 CR=20 SPP=16 SON
N25 G0 X74,14 Y35,86 C0 PON
N27 TANGON (C, 0)
N30 G03 X40 Y50 I–14,14 J14,14 SPN =5 SON
N35 G0 X30 Y65 C90 SPOF
N40 G91 X–10 Y–25 C180
N43 TANGOF
N45 G90 G02 Y60 I0 J10 SPP=2 PON
N50 SPOF
N55 M2
Explanations
Table 2-2
Set Remarks
N2 Definition of master and slave axes, C is slave axis for X and Y in the
base coordinate system.
N5 Start position
N8 Activate coupled motion of rotatable tool axes C/C1 for punch and die.
N9 Activate tangential control with offset 270.
N10 Circular interpolation with path segmentation, 2 strokes are executed
with 270 offset angle and tangential alignment along circular path.
N15 Positioning.
N17 Activate tangential control with offset 90.
N20 Circular interpolation with path segmentation, four strokes are executed
with 90 offset angle and tangential alignment along circular path.
N25 Rotation of tool axes to 0, stroke.
N27 Activate tangential control with offset 0.
N30 Circular interpolation with path segmentation, five strokes with offset
angle 0 and tangential alignment along circular path.
N32 Activate tangential control, offset angle of rotatable tool axes 180
N35 Position without active tangential control.
N40 Positioning, C axis rotates to 270
N43 Deactivate tangential control.
N45 Circular interpolation with path segmentation, two strokes without tan-
gential control where C=270.
N50 Punching OFF.
X 80 70 60 50 40 30 20 10
Mounting
N15 N5 position
10
N20
20 Position
Punching
30
N25 N10 N40
40
N30
50
60
N45
N35
Y
Note
No by-pass strategies are implemented for cases where the clamp protection is
violated.
Supplementary Conditions 3
Availability of The function is an option and is available for
function
“Punching and
SINUMERIK 840D with NCU 572 and 573, SW 3 and higher
nibbling”
26000 PUNCHNIB_ASSIGN_FASTIN
MD number Hardware assignment for input byte with stroke control
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW: 3.1
Meaning: This data defines which input byte is to be used for the signal “Stroke active”.
= 1: On-board inputs (4 high-speed NCK inputs) are used
= 2, 3, 4, 5 The external digital NCK inputs are used
Example:
Value “0000 0001” Stroke active is HIGH active
Value “0001 0001” Stroke active is LOW active
Note:
This MD is not compatible with earlier SW versions. The HIGH word now acts as an inver-
sion mask. In earlier SW versions (< 3.2), the “Stroke active” signal was always LOW ac-
tive.
Related to .... NIBBLE_PUNCH_INMASK[n]
References /FB/, A4, Digital and Analog NCK I/Os
The signal is high-active as standard with SW 3.2 and higher, i.e. open-circuit monitoring is
implemented. If the signal needs to be low-active, the MD must be set, for example,
to a value of “H 0001 0001” for the outboard inputs.
26002 PUNCHNIB_ASSIGN_FASTOUT
MD number Hardware assignment for output byte with stroke control
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW: 3
Meaning: This data defines which output byte is to be used for the stroke control.
= 1: On-board outputs (4 high-speed NCK outputs) are used
= 2, 3, 4, 5 The external digital NCK outputs are used
Related to .... NIBBLE_PUNCH_OUTMASK[n]
References /FB/, A4, Digital and Analog NCK I/Os
26004 NIBBLE_PUNCH_OUTMASK[n]
MD number Screen form for high-speed output bits
Default setting: see below Minimum input limit: 0 Maximum input limit: 128
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: BYTE Applies from SW: 3
Meaning: A total of 8 byte screen forms for the output of high-speed bits can be defined with this
data. Two of these are used at the current time.
The default setting for this data is as follows:
NIBBLE_PUNCH_OUTMASK[0] = 1: 20 = first bit for the first punch interface (SPIF1)
NIBBLE_PUNCH_OUTMASK[1] = 0: Second punch interface (SPIF2), not available
by default
NIBBLE_PUNCH_OUTMASK[2] = 0
...
NIBBLE_PUNCH_OUTMASK[7] = 0
Note:
The significance of the bit to be defined must be input.
Bit: 7 6 5 4 3 2 1 0
Signifi-
cance:
27=128 26=64 25=32 24=16 23=8 22=4 21=2 20=1
Example:
“8” must be entered in the machine data in order to define bit 3.
Application example(s) NIBBLE_PUNCH_OUTMASK[0] = 1 ––> The first bit (bit 0) is defined
NIBBLE_PUNCH_OUTMASK[0] = 4 ––> The third bit (bit 2) is defined
Special cases, errors, ...... Only NIBBLE_PUNCH_OUTMASK[0] is relevant. This is used to define the output bit for
the signal “Initiate stroke”.
Related to .... PUNCHNIB_ASSIGN_FASTOUT
26006 NIBBLE_PUNCH_INMASK[n]
MD number Screen form for high-speed input bits
Default setting: see below Minimum input limit: 0 Maximum input limit: 128
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: BYTE Applies from SW: 3
26006 NIBBLE_PUNCH_INMASK[n]
MD number Screen form for high-speed input bits
Meaning: A total of 8 byte masks for the output of high-speed bits can be defined with this data.
The default setting for this data is as follows:
NIBBLE_PUNCH_INMASK[0]=1: 20 = first bit for the first punch interface (SPIF1)
NIBBLE_PUNCH_INMASK[1]=4: Second punch interface (SPIF2), not available by
default
NIBBLE_PUNCH_INMASK[2]=0
...
NIBBLE_PUNCH_INMASK[7]=0
Note:
The significance of the bit to be defined must be input (refer to MD 26004:
NIBBLE_PUNCH_OUTMASK[n]).
Application example(s) NIBBLE_PUNCH_INMASK[0] = 1 ––> The first bit (bit 0) is defined
NIBBLE_PUNCH_INMASK[0] = 4 ––> The third bit (bit 2) is defined
Special cases, errors, ...... Only NIBBLE_PUNCH_INMASK[0] is relevant. This is used to define the input bit for the
signal “Stroke active”.
Related to .... PUNCHNIB_ASSIGN_FASTIN
26010 PUNCHNIB_AXIS_MASK
MD number Definition of punching and nibbling axes
Default setting: 7 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW: 3
Meaning: This data is used to define which channel axes shall be treated as punching/nibbling axes.
This data setting determines above all the response of synchronous axes in stroke control
mode and with automatic path segmentation.
When the axes are defined, the bit significance must be entered according to the following
diagram:
Bit: 7 6 5 4 3 2 1 0
Signifi-
cance:
27=128 26=64 25=32 24=16 23=8 22=4 21=2 20=1
Example:
If the first two axes are to be defined as the punching/nibbling axes, then “3” must be
entered (corresponds to setting of bits 1 and 0).
PUNCHNIB_AXIS_MASK = 3
The first two axes – typically x and y – are punching/nibbling axes.
PUNCH_NIB_AXIS_MASK = 11
The first two axes (typically x and y) and the third axis (e.g. an axis for the rotatable tool)
are punching/nibbling axes. In this case, the response of the 3rd axis with automatic path
segmentation can be defined via PUNCH_PARTITION_TYPE.
Independently of the above, this MD also defines whether the path of the A axis must be
segmented by means of SPN=<value> if it is programmed without path axes.
In addition, this data also allows single path axes to be treated differently in stroke control
mode and with path segmentation. To illustrate this option, let us assume that we have a
machine with path axes x, y and rotary axis A. However, we do not want the Z axis
traversing paths to be segmented into individual sections nor do we want a stroke to be
initiated at the end of a block which contains only a Z axis movement.
It is possible to achieve the desired response by setting PUNCHNIB_AXIS_MASK = 11.
In this case, pure Z movements are not taken into account by the path segmentation
function.
Related to .... PUNCH_PARTITION_TYPE
26012 PUNCHNIB_ACTIVATION
MD number Activation of punching and nibbling functions
Default setting: 1 Minimum input limit: 0 Maximum input limit:
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW: 3
Meaning: This MD defines in what way punching and nibbling functions can be activated:
PUNCHNIB_ACTIVATION = 0
None of the punching or nibbling functions can be activated. The automatic path segmenta-
tion is the only exception if it is enabled via MD: PUNCH_PATH_SPLITTING.
PUNCHNIB_ACTIVATION = 1
The functions are activated via language commands. If M functions are to be used, then
they must be programmed using macros.
PUNCHNIB_ACTIVATION = 2
The M functions are interpreted directly by the software. Language commands can still be
used.
Note: This option is intended only as a temporary solution.
Related to .... PUNCH_PATH_SPLITTING
NIBBLE_PUNCH_CODE[n]
26014 PUNCH_PATH_SPLITTING
MD number Activation of automatic path segmentation
Default setting: 0 Minimum input limit: 0 Maximum input limit:
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW: 3
Meaning: This machine data defines whether it should be possible to activate the automatic path
segmentation function, even if punching-specific functionality is not available.
PUNCH_PATH_SPLITTING = 0
Automatic path segmentation can only be activated if punching mode is active and is deac-
tivated as soon as punching mode is deactivated.
PUNCH_PATH_SPLITTING = 1
In this case, automatic path segmentation can be activated for geometry axes even when
punching mode is not active.
26016 PUNCH_PARTITION_TYPE
MD number Behavior of single axes with active automatic path segmentation
Default setting: 0 Minimum input limit: 0 Maximum input limit:
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW: 3
Meaning: This machine data determines how single axes, which are also nibbling axes according to
MD: PUNCHNIB_AXIS_MASK, should respond. It is assumed that rotary axis A is defined
as the 4th and nibbling axis in addition to the three path axes X, Y, Z. In this case, there are
the following options for defining its response with automatic path segmentation and in
stroke control mode:
PUNCH_PARTITION_TYPE = 0
No special response in the case of automatic path segmentation. If the single axis is pro-
grammed together with path axes in one block, then its total traversing path is segmented
in accordance with the path axes, i.e. the purely geometric relationship between single axis
and path axes is identical to that for non-segmented movements. If the single axis is pro-
grammed without path axes, but with SPN=<value>, then the path is segmented according
to the programmed SPN value.
PUNCH_PARTITION_TYPE = 1
In this case, the path of the single axis is generally (i.e. regardless of the currently active
interpolation mode) traversed in the first segment if the axis is programmed together with
path axes.
PUNCH_PARTITION_TYPE = 2
In this case, the single axis responds to linear interpolation in the same way as described
under
PUNCH_PARTITION_TYPE = 1,
and to all other interpolation modes as described under PUNCH_PARTITION_TYPE = 0.
Related to .... PUNCHNIB_AXIS_MASK
26018 NIBBLE_PRE_START_TIME
MD number Automatic prestart time
Default setting: 0 Minimum input limit: 0 Maximum input limit:
Changes effective after POWER ON Protection level: Unit: –
Data type: Applies from SW: 3.1
Meaning: To minimize any dead times due to the reaction time of the punching unit, it is possible to
release the stroke before reaching the in-position window of the axes. The reference time
for this is the interpolation end. Since there is normally a delay of some interpolation cycles
after reaching the interpolation end (depending on the machine dynamics) until the axes
reach their true position, the prestart time is a delay time with respect to reaching the inter-
polation end. The function is therefore coupled to G603 (block change at the end of inter-
polation). The time can be set via the machine data NIBBLE_PRE_START_TIME. Exam-
ple: With an interpolation cycle of 5msec, a stroke shall be released two cycles after reach-
ing the interpolation end. In this case, the value 0.010 s must be selected for
NIBBLE_PRE_START_TIME. If a value that is not integrally divisible by the set interpola-
tion time is selected, then the stroke is initiated in the interpolation cycle following the set
time.
Related to ....
26020 NIBBLE_SIGNAL_CHECK
MD number Monitoring of input signal
Default setting: 0 Minimum input limit: 0 Maximum input limit:
Changes effective after POWER ON Protection level: Unit: sec
Data type: Flowld Applies from SW: 3.1
Meaning: If for example the stroke active signal is set by punch overshoot between the cycles, the
interpolation is stopped. Furthermore, it is possible to generate the “Distorted punch signal”
message as a function of machine data
NIBBLE_SIGNAL_CHECK.
Related to ....
26008 NIBBLE_PUNCH_CODE[n]
MD number Definition of M functions (applies only to SW 3.1)
Default setting: see below Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies only to SW: 3.1
Meaning: This machine data defines the special M functions for punching and nibbling.
42400 PUNCH_DWELL_TIME
SD number Dwell
Default setting: 1.0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after: immediately Unit: s
Data type: DOUBLE Applies from SW: 3
Meaning: This machine data is used to set the dwell between reaching the position and initiating the
stroke movement.
The set value is rounded to whole multiples of the interpolation clock cycle (i.e. the value
set here may deviate slightly to the dwell actually applied).
Related to .... MD 10710: PROG_SD_RESET_SAVE_TAB
42402 NIBPUNCH_PRE_START_TIME
SD number Pre-start time
Default setting: 1.0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after: immediately Unit: s
Data type: DOUBLE Applies from SW: 3
Meaning: This setting data has exactly the same effect as machine data
NIBBLE_PRE_START_TIME. Its primary purpose is to allow the pre-start time to be altered
from the NC program so that it can be adapted to different metal sheet sizes and thick-
nesses. However, setting data 42402 is effective only when the machine data has been set
to zero.
Related to .... MD 26018: NIBBLE_PRESTART_TIME
42404 MINTIME_BETWEEN_STROKES
SD number Minimum time interval between two consecutive strokes
Default setting: 1.0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after: immediately Unit: s
Data type: DOUBLE Applies from SW: 5.3
Meaning: If a punching dwell time (PDELAYON) is programmed in addition to the minimum interval,
then the two times are applied additively.
If a pre-initiation time at G603 is programmed, it will be effective only if the end of interpola-
tion is reached before the time set in SD 42404: MINTIME_BETWEEN_STROKES has
elapsed.
Related to .... MD 26018: NIBBLE_PRESTART_TIME
Notes
Signal Descriptions 5
5.1 Signal overview
Channel 2
Stroke enable (DB21-22, DBX3.0) Channel 1
Examples 6
Examples of defined start of nibbling operation
1. Example:
:
:
N10 G0 X20 Y120 SPP= 20 Position 1 is approached
N20 X120 SON Defined start of nibbling,
first stroke on “1”, last
stroke on “2”
N30 Y20 Defined start of nibbling,
first stroke on “3”, last
stroke on “4”
N40 X20 Defined start of nibbling,
first stroke on “5”, last
stroke on “6”
N50 SPOF
N60 M2
44 55 66 20
40
60
80
3 100
2 1 120
Fig. 6-1
2. Example: This example utilizes the “Tangential control” function. Z has been selected as
the name of the tangential axis.
:
:
N5 TANG (Z, X, Y, 1, “B”) Definition of tangential axis
N8 TANGON (Z, 0) Selection of tangential control
N10 G0 X20 Y120 Position 1 is approached
N20 X120 Z SPN=20 SON Defined start of nibbling,
tangential control
selected, first stroke on “1”,
last stroke on “2”
N30 SPOF TANGOF Deselection of nibbling mode
and deselection of tangential
control
N38 TANGON (Z, 0) Selection of tangential control
N40 Y20 Z SON Defined start of nibbling,
tangential control
selected, first stroke on “2”,
rotated through 90 degrees to
block N20, last stroke on “3”
N50 SPOF
N60 M2
3 20
40
60
80
100
2 1 120
Fig. 6-2
X 100 90 80 70 60 50 40 30 20 10 0
10
ÉÉ
20
ÉÉ 30
ÉÉ
40
ÉÉ
N10 N20 N30 Y
X 100 90 80 70 60 50 40 30 20 10 0
10
20
30
40
X
150
75
Y
275
25
37.39 125
160
375 45 150 75
Program extract:
N100 G90 X75 Y75 F60 PON Position at starting point of vertical
row of holes, punch single hole
N110 G91 Y125 SPP=25 PON End point coordinates (incremental),
feedrate value: 25 mm, activate punching
N120 G90 X150 SPOF Absolute dimensioning, position at
starting point of horizontal row of holes
N130 X375 SPP=45 PON End point coordinates, feedrate value: 45 mm
N140 X275 Y160 SPOF Position at starting point of inclined
row of holes
N150 X150 Y75 SPP=40 PON End point coordinates, programmed
feedrate value: 40 mm, calculated
feedrate value: 37.79 mm
N160 G00 Y300 SPOF Position
Notes
7.5 Alarms
For detailed descriptions of the alarms, please refer to
References: /DA/, “Diagnostics Guide”
and the online help of MMC 101/102/103 systems.
Notes
Brief Description 1
In addition to axes for machining, modern machine tools can also be equipped
with axes for auxiliary movements, e.g.:
Positioning axes The Positioning axes function allows axes for auxiliary motions to be integrated
more easily into the control system.
The integration of the positioning axes is simpler
S During programming:
The axes are programmed together with the axes for workpiece machining
in the same parts program, without having to sacrifice valuable machining
time.
S During operation:
Operation and monitoring of the machining process commence
simultaneously for all axes.
Motions and Each channel has one path interpolator and at least one axis interpolator with
interpolations the following interpolation functions:
Detailed Description 2
In addition to the axes required for machining, a complex modern machine tool
can be equipped with further axes for auxiliary movements. The axes for
machining a workpiece are known as path axes: Within the channel they are
guided by the interpolator such that they start simultaneously, accelerate, reach
the end point and stop together.
The auxiliary axes include:
Positioning axes are programmed together with path axes, i.e. with the axes
that are responsible for workpiece machining.
Instructions for both positioning axes and path axes can be included in the
same NC block. Although they are programmed in the same NC block, the path
and positioning axes are not interpolated together and do not reach their end
point simultaneously (no direct time relationship, see also Section 2.2).
The block change depends on the type of positioning axis programmed (see
Section 2.3).
S Type 1 The block change occurs when all path and positioning axes
have reached their programmed end point.
S Type 2 The block change occurs when all path axes have reached their
programmed end point.
SW 6.2 and higher Single-axis interpolation and path axes with G0 as positioning axis
For single-axis interpolation, it is also possible to set a new motion end
condition for the block change in the braking ramp. In addition, each path axis
can be traversed as positioning axis in rapid traverse movement (G0). Thus all
axes travel to their endpoint independently.
In this way, two sequentially programmed X and Z axes are treated like
positioning axes in conjunction with G0. The block change to axis Z can be
initiated by axis X as a function of the braking ramp time setting (100–0%). Axis
Z starts to move while axis X is still in motion. Both axes approach their end
point independently of one another.
Independence of The mutual independence of path and positioning axes is ensured by the
path and following measures:
positioning axes
S No shared interpolation
S Each positioning axis has a dedicated axis interpolator
S Dedicated feed override for each positioning axis
S Dedicated programmable feedrate
S Dedicated “axisspecific delete distance-to-go” interface signal.
S With rapid traverse movement G0, path axes traverse as positioning axes –
one of two different modes selectable (SW 6 and higher).
S Program control (dry run feed, program test, DRF, ... etc.) also act on
positioning axes
S Group 1 (modal movement commands) of the G functions (G0, G1, G2, etc.)
does not apply to positioning axes.
References: /PA/, “Programming Guide”
S Single-axis loaders
S Multi-axis loaders without interpolation (PTP ––> point-to-point traversing)
S Workpiece feed and transport
SW 6.2 and higher offers the following enhancements:
S With G0 workpiece delivery and workpiece transport can travel to their end
points independently of one another.
Concurrent positioning axes are positioning axes with the following attributes:
S Activation from the PLC need not take place at block limits, but can be
implemented at any time in any operating mode (even when a parts program
is already being processed in the channel).
Activation from The concurrent positioning axis is activated via FC 15 or FC 16 from the PLC.
PLC
S Feedrate (with feedrate setting = 0, the feed set in MD 32060:
POS_AX_VELO (reset for positioning axis velocity) is applied.
Path interpolator Every channel has a path interpolator for a wide range of interpolation modes
such as linear interpolation (G01), circular interpolation (G02/G03), spline
interpolation, etc.
Axis interpolator In addition to the path interpolator, each channel has the equivalent number of
axis interpolators up to the maximum number of available channel axes. When
a positioning axis is programmed, an axis interpolator is started in the control
(with linear interpolation G01).
This axis interpolator runs independently of the path interpolator until the
programmed end position of the positioning axis has been reached.
There is no time relationship between the path interpolator and the axis
interpolator, nor between the axis interpolators.
In SW 5 and lower, the programmed end position of a positioning axis had been
reached when the axis has reached the exact stop fine window (G09).
Continuous-path mode (G64) was not possible with positioning axes.
In SW 5 and higher, the programmed end position of a positioning axis has
been reached when the motion end condition FINEA, COARSA or IPOENDA is
fulfilled.
2.2.1 Path axes traverse as positioning axes with G0 (SW 6.1 and
higher)
Functionality Two optional modes for path axes at rapid traverse movement
With rapid traverse movement (G0), path axes can optionally be moved in two
different modes:
Non-linear With non-linear interpolation, the setting for the appropriate positioning axis
interpolation BRISKA, SOFTA, DRIVEA or
MD 32420: JOG_AND_POS_JERK_ENABLE and
MD 32430: JOG_AND_POS_MAX_JERK.
The existing system variables which refer to the distance to go ($AC_PATH,
$AC_PLTBB and $AC_PLTEB) are supported.
Caution
! As traversal of another contour is possible with non-linear interpolation,
synchronized actions that refer to coordinates of the original path may not be
active.
Functionality Single PLC axes, command axes started via static synchronized actions or
asynchronous reciprocating axes can be interpolated independently of the
NCK. An axis/spindle interpolated by the main run then reacts independently of
the NC program with respect to
S NC stop,
S Alarm handling
S Program control
S End of program
S RESET
Sequence The sequence of autonomous single axis functions with the respective transfers
coordinator is represented in a so-called “Use Case” overview:
NCK has control PLC wants to assume control of the axis/spindle
Use Case 1 Cancel operation of axis/spindle
Use Case 2 Stop axis/spindle
Use Case 3 Resume axis/spindle motion
Use Case 4 Reset axis/spindle
PLC has control PLC wants to relinquish control of the axis/spindle
Alternatives The channel status is “interrupted” because a channel stop signal is active. The
axis is handled analogously to the sequence description. The following two
alternatives are possible depending on the status of the axis to be controlled:
Alternatives The NCK confirms the transfer and internally sets the “stopped” channel status
for the axis/spindle if it detects that
Applications An axis/spindle interpolated by the main run can be controlled by the PLC
independently of the NC program via the following VDI interface signals:
Note
The axis/spindle must be operating under PLC control. The condition basically
applies to all applications: Use cases 1 to 4.
The exchange of signals at the VDI interface during autonomous single
operations is described by means of machine axis examples in a comparison
of PLC actions as the NCK reaction in Section 6.2.
For further information about the channel-specific VDI signal, please see:
References: /FB/, A2, “Various Interface Signals”
Alarm handling for Alarms with an axis parameter are only displayed and not handled as single
single axes axis alarms. It is sufficient to acknowledge these so-called “show alarms” with
CANCEL.
Note
Only alarms that have to be cleared again with AxReset take effect on single
axes.
Alternatives The following scenarios for stopping the axis/spindle are possible:
1. Transfer and stop the axis/spindle simultaneously.
When PLC informs NCK: PLC wants to accept the axis/spindle and it is
simultaneously detected that the axis/spindle is to be stopped, then: NCK
flags the axis/spindle as accepted and continues at the position where the
interruption occurred.
2. The axis/spindle is executing several operating sequences:
Stop all operating sequences apart from movements resulting from following
axis motions. Following axis motion can only be stopped by stopping the
leading axis!
3. PLC requests the NCK to stop the axis/spindle, an axial stop alarm for this
axis is generated simultaneously:
NCK decelerates the axis down a ramp and confirms the braking operation
via OPI.
At the same time, an alarm is signaled to the PLC with
IS “AxAlarm” (DB31, ... DBX61.1) == 1 and the status system variable
$AA_SNGLAX_STAT == 5.
NCK switches the axis to the stop state and notifies the PLC of the change
in axis status.
4. PLC requests the NCK to stop the axis/spindle, a stop alarm is generated
simultaneously and the NC program is activated. The stop alarm is ignored
and does not take effect.
5. A retraction movement of “Extended stop and retract” cannot be stopped.
This retraction motion cannot be halted with IS “AxStop, stop” (DB31, ...
DBX28.6) on the PLC interface.
Supplementary The PLC must already have accepted control of the axis/spindle. IS “AxStop,
conditions stop” (DB31, ... DBX28.6) is otherwise ignored.
Supplementary The PLC must already have accepted control of the axis/spindle. Otherwise IS
conditions “AxReset” (DB31, ... DBX28.1) is ignored.
Extended stop With SW 6.4 and higher, the numerically controlled extended stop and retract
numerically function is also available for single axes and is configurable with axial machine
controlled data:
Delay time for ESR single axis with
MD 37510: AX_ESR_DELAY_TIME1
ESR time for interpolatory braking of the single axis with
MD 37511: AX_ESR_DELAY_TIME2
The values of these axial machine data are applied, however, only if the
axis/spindle is a single axis.
Numerically controlled extended stop and retraction is initiated by axial trigger
$AA_ESR_TRIGGER[axis]. It works analogously to $AC_ESR_TRIGGER and
applies exclusively to single axes.
References: /FB3/, M3, “Coupled axes and ESR”
Extended retract For retracting single axes, the value must have been programmed via
numerically POLFA(axis, type, value) and the following conditions must be met:
controlled
S The axis must be a single axis at the time of triggering
S $AA_ESR_ENABLE[axis]=1
S POLFA(axis, type, value) for type=1 or type=2 only
POLFA(axis, , value, axis, type, ,axis, type).
Note
Numerically controlled extended stop for single axes:
The trigger is only effective if the axis is a single axis at the time of triggering,
otherwise the trigger is ignored and the axial stop for this axis is not executed.
Numerically controlled extended retraction for single axes:
The channel-specific numerically controlled extended retract function does not
work on single axes. All axes that are single axes at the time of triggering
$AC_ESR_TRIGGER will be ignored for channel-specific retraction.
This also applies when all the parameters for retraction, such as
MD 37500: ESR_REACTION, $AA_ESR_ENABLE of the axis, etc., are set.
Warning
! If abbreviated notation is used and only the type is changed, make sure that
the value for the retraction position or retraction path in the application is
meaningful!
The abbreviated notation should only be used in exceptional circumstances.
In particular after:
A power on, the retraction path or the retraction position must be reset.
POLFA(axis, 1, $AA_POLFA[Achse]) ; causes a preprocessing stop
POLFA(axis, 1) ; does not cause a preprocessing stop
S Type 1 The block change occurs when all path and positioning axes
have reached their programmed end point.
S Type 2 Block change, if all path axes have reached their programmed
end points according to G601, G602, G603.
Positioning axis Block change at the programmed end point of all path axes and
type 1 positioning axes
Time
Velocity of positioning axes
Time
Block change
Fig. 2-1 Block change with positioning axis type 1, example of sequence
Properties of type With SW 5 and lower, type 1 positioning axes have the following behavior:
1 positioning axis
S The block change occurs (NC block finished) when all the path and
positioning axes have reached the respective motion end condition.
S Continuous-path mode (G64) is only possible for path axes if the positioning
axes reach their motion end condition ahead of the path axes (this is not the
case in the example in Fig. 2-1).
S Programming with
POS[name] = end point FA[name] = feed
or abbreviated with
POSA[name] = end point
in which case the feed set in MD 32060: POS_AX_VELO is applied.
Positioning axis Block change at programmed end point of all path axes
type 2
G601 G603
Time
Velocity of positioning axes
G603 exact stop fine
G601 interpolator end
Time
Block change
Fig. 2-2 Block change with positioning axis type 2, example of sequence
Properties of type With SW 5 and lower, type 2 positioning axes have the following behavior:
2 positioning axis
S The block change occurs (NC block finished) when the path axes have
reached their programmed end positions with regard to G601, G602 and
G603.
S The positioning axes can traverse across several block boundaries to their
programmed end positions.
S Since there is no time relationship between “NC block finished” and the point
at which type 2 positioning axes reach their programmed end positions,
the WAITP coordination command is provided for the synchronization of the
positioning axes (see Section 2.6).
S Programming with
POSA[name] = end point FA[name] = feed
or abbreviated with
POSA[name] = end point
in which case the feed set in MD 32060: POS_AX_VELO is applied.
Positioning axis Settable block change time for single axis interpolation
type 3
G601 G603
Time
Velocity of positioning axes
G603 exact stop fine
G601 interpolator end
Time
Path axes reach programmed end position Positioning axis reaches end
IPO Stop position of braking ramp
Fig. 2-3 Settable block change for type 3 positioning axis, example
Properties of type With type 3 positioning axes the motion end condition can always be
3 positioning axis programmed with FINEA, COARSEA or IPOENDA. The block change condition
can be set within the braking ramp of the single-axis interpolation.
S The block change occurs (NC block finished) when all the path
axes/spindles have fulfilled the programmed motion end conditions. The
positioning axis/spindle must also have met the programmed block change
condition within the braking ramp of the single-axis interpolation. The block
change can only be executed if both conditions are fulfilled.
S The following syntax applies for the position end of positioning spindles:
FINEA[Sn]: “Exact stop fine” motion end or
COARSEA[Sn] “Exact stop coarse” motion end or
IPOENDA[Sn]: End of motion when “IPO stop” is reached
Sn: Spindle number, 0... max. spindle number or
axis: Axis identifier, X, Y, Z.
Reciprocating axes Reciprocating axes always brake at their reversal position and then move in the
opposite direction. Therefore, reciprocating axes do not require an expansion.
Note
The behavior of PLC axes at block change is described in Section 2.5 Control
by PLC.
For further information about block change with programmable motion end
conditions FINEA, COARESA and IPOENDA, please refer to:
IPOBRKA When the NC command IPOBRKA is issued, the motion end condition is
activated in the braking ramp either
Condition for If the motion end conditions for all axes/spindles to be operated in the block are
block change fulfilled in addition to the block change condition, then block change takes
place. This applies both to parts program blocks and for technology cycle
blocks.
Braking ramp The new setting data “Block change condition braking ramp”
block change SD 43600: IPOBRAKE_BLOCK_EXCHANGE
condition in SD allows the block change time to be set for single-axis interpolation from the start
43600 time of the braking ramp at 100% right up to IPO_Stop at 0%.
With 100% the block change condition of the positioning axis is already fulfilled
at the start point of the braking ramp.
With 0% the block change condition is identical to IPOENDA.
Braking ramp with Additional block change condition in the braking ramp with SW 6.4 and
tolerance window higher
From SW 6.4, there will be an additional tolerance window to be selected as
well as the already existing block change condition in the braking ramp.
Release will only occur when the axis
S as before has reached the specified % value of its braking ramp and
S from SW 6.4, its current actual position or setpoint position is no further
away than an adjustable tolerance from the end position of the axis in the
block.
The latest the axis is available is when the interpolator reaches the end position.
The tolerance window is modal.
The following applies to the braking ramp with tolerance window block change
condition:
The setpoint position is notified with$AA_MOTEND[axis] = 5
The actual position is notified with $AA_MOTEND[axis] = 6
Activation and Motion end condition IPOBRKA and precise time of activation.
deactivation
For parts program execution:
S The braking ramp motion end condition can be activated via the NC
command IPOBRKA.
S The braking ramp motion end condition can be activated via the
synchronous action IPOBRKA.
Note
For more information on the programming of positioning axes, see:
References: /PG/, Chapter 7, “Feedrate regulation and spindle motion”
/PGA/, Chapter 5, “Special motion commands”
Examples For block change condition “Braking ramp” in the parts program:
; Default effective
N10 POS[X] = 100 ; Block change occurs if the X axis is at position 100
; and has reached exact stop fine.
At direction reversal (N50), the axis first brakes to reach the target position, before it can be
traversed in the opposite direction.
Alternatively, IPOBRKA(X) can also be written in block N20 if the value 100 has already
been entered in SD 33500: IPOBRAKE_BLOCK_EXCHANGE[AX1].
POS[X] = 250 ; X axis does not brake at position 200 but continues traversing
N40 POS[X] = 250 ; to position 250, as soon as the X axis starts braking
; block change occurs in the technology cycle.
With tolerance For block change condition “Braking ramp” in the parts program:
window SW 6.4
; Default effective
and higher N10 POS[X] = 100 ; Block change occurs if the X axis is at position 100
; and has reached exact stop fine.
At direction reversal (N50), the axis first brakes to reach the target position, before it can be
traversed in the opposite direction.
ADISPOSA(X,2,0.3) ; Define tolerance window actual position for X axis with 0.3
IPOBRKA(X,100) ; Block change criterion ’activate braking ramp’
POS[X] = 200 ; Technology cycle block change occurs
; as soon as the X axis starts to brake and
; the actual position of the X axis is ≥ 199.7.
POS[X] = 250 ; X axis does not brake at position 200 but continues traversing
N40 POS[X] = 250 ; to position 250, as soon as the X axis starts braking
; and the position is ≥ 249.7, the block change occurs in the
; technology cycle.
2.3.2 End of motion criterion with block search (SW 6.1 and higher)
Last block serves The last movement end criterion programmed for an axis is collected and output
as container in an action block. The last block with a programmed motion end condition that
was processed in the search run serves as a container for setting all axes.
Example For two action blocks with motion end condition for three axes:
N01 G01 POS[X]=20 POS[Y]=30
IPOENDA[X] ; Last programmed motion end condition IPOENDA
N02 IPOBRKA(Y, 50) ; Second action block for the Y axis IPOENDA
N03 POS[Z]=55 FINEA[Z] ; Second action block for the Z axis FINEA
N04 $A_OUT[1]=1 ; First action block for output as a digital output
N05 POS[X]=100 ;
N06 IPOBRKA(X, 100) ; Second action block for the X axis IPOBRKA container
... ; for all programmed motion end conditions
TARGET: ; Block search target
2.4 Velocity
The axis-specific velocity limits and acceleration limits are valid for positioning
axes.
Positioning axes can be linear axes and rotary axes.
Positioning axes can also be indexing axes, see:
References: /FB/, T1, “Indexing axes”
Feedrate override The path and positioning axes have separate feedrate overrides. Each
positioning axis can be adjusted by its own axis-specific feed override.
Rapid traverse Rapid traverse override applies only to path axes. Positioning axes have no
override rapid traverse interpolation (only axial linear interpolation G01) and therefore no
rapid traverse override.
Feed The positioning axes traverse at the axis-specific feedrate programmed for
them. As illustrated in Section 2.2, the feedrate is not influenced by the path
axes.
The feedrate is programmed as an axis-specific velocity in units of min/mm,
inch/min or degrees/min.
The axis-specific feedrate is always permanently assigned to a positioning axis
by the axis name.
If a positioning axis has no programmed feedrate, the control system
automatically applies the rate set in axis-specific MD 32060: POS_AX_VELO
(initial setting for positioning axis velocity).
The programmed axis-specific feedrate is active until the end of the program.
Revolutional In JOG mode, the response of the axis/spindle is also dependent on the setting
feedrate in SD 41100: JOG_REV_IS_ACTIVE (revolutional feedrate for JOG active).
S If the setting data is not active, then the axis/spindle responds as a function
of the setting in SD 43300: ASSIG_FEED_PER_REV_SOURCE
(revolutional feedrate for positioning axes/spindles).
S If the setting data is not active, then a geometry axis influenced by a frame
with rotation responds as a function of on channel-specific setting data SD
42600: JOG_FEED_PER_REV_SOURCE. (In the operating mode JOG,
revolutional feedrate for geometry axes on which a frame with rotation is
effective).
Channel-specific All channel-specific signals act to the same extent on path and positioning axes.
signals
The following signals are the only exceptions (see Chapter 5):
Axis-specific The following additional signals are available for positioning axes
signals (see Chapter 5):
Parameters for When concurrent positioning axes are activated from the PLC, FC15 is called
FC15 and supplied with the following parameter data:
PLC axes PLC axes are traversed in the basic program from the PLC via special function
blocks and can move asynchronous with all other axes. The travel motions are
executed separate from the path and synchronized actions.
2.6 Programming
Note
The following documentation should be consulted for instructions on
programming positioning axes:
References: /PA/, “Programming Guide”
S Axis type: Type 1 or type 2 positioning axis and type 3 with SW 6.2 and
higher
Absolute/ The end position coordinates are programmed as absolute dimensions (G90) or
incremental incremental dimensions (G91):
dimensions
Reprogram type 2 With type 2 positioning axes (motion across block limits), you need to be able to
positioning axes detect in the parts program whether the positioning axis has reached its end
position. Only then is it possible to reprogram this positioning axis (otherwise an
alarm is issued).
If POSA if programmed, then POSA again with IPOBRKA (block change in the
braking ramp SW 6.2 and higher), an alarm is not issued. For more information,
please refer to Subsection 2.3.1, NC command IPOBKA.
WAITP The WAITP coordination command is used to query in the parts program
coordination whether the end position has been reached.
WAITP is programmed in a separate block.
An explicit reference must be made to any axis for which the program is to wait.
Example program:
N10 G01 G90 X200 F1000 POSA[Q1]=200 FA[Q1]=500
N15 X400
N20 WAITP(Q1); Execution of the program stops automatically
until Q1 in position
N25 X600 POS[Q1]=300; Q1 is positioning axis type 1 (feed FA[Q1] from block N10)
N30 X800 Q1=500; Q1 is path axis (path feed F1000 from block N10)
Tool offset A tool length compensation for positioning axes can be implemented by means
of an axial zero offset, allowing, for example, the positioning path of a loader to
be altered. An example where the axial zero offset might be used in place of the
tool length compensation is where a loader containing tools of various
dimensions has to bypass an obstacle.
End of program The program end (program status selected) is delayed until all axes (path axes
+ positioning axes) have reached their programmed end points.
S >0: The machine axis number of the rotary axis/spindle from which the
revolutional feedrate shall be derived
S –1: The revolutional feedrate is derived from the master spindle of the
channel in which the axis/spindle is active in each case
The dry run feedrate is also effective for positioning axes unless the
programmed feedrate is larger than the dry run feedrate. (SW version 5 or
earlier).
From SW version 6, the effectiveness of the dry run feedrate set in SD 42100:
DRY_RUN_FEED can be controlled with SD 42101: DRY_RUN_FEED_MODE.
See
References: /FB1/, V1, Feedrates
Positioning axis Positioning axes of type 2 also continue across block limits in single block
type 2 mode.
Positioning axis Positioning axes of type 3 also continue across block limits in single block
type 3 mode.
J
Supplementary Conditions 3
There are no supplementary conditions stipulated for this Description of
Functions.
J
10008 MAXNUM_PLC_CNTRL_AXES
MD number Max. no. PLC-controlled axes
Default setting: 0 Minimum input limit: 0 Maximum input limit:
12 (NCU573),
otherwise 4
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: BYTE Applies from SW: 6.3
Meaning: Maximum number of axes that can be controlled by the PLC.
20730 G0_LINEAR_MODE
MD number Interpolation behavior with G0
Default setting: 1 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: BOOLEAN Applies from SW: SW 6.1
Meaning: This machine data is used to define the interpolation behavior at rapid traverse velocity
(G0):
0: Non-linear interpolation:
Each path axis interpolates as a single axis (positioning axis) independently of
the other axes at the rapid traverse velocity (G0)
defined for the axis (MD 32000: MAX_AX_VELO).
1: Linear interpolation:
The path axes are interpolated together.
The non-linear interpolation can be activated via the NC parts program G0LINOF,
and deactivated via G0LINOF.
20732 EXTERN_G0_LINEAR_MODE
MD number Interpolation behavior with G00
Default setting: 1 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: BOOLEAN Applies from SW: SW 6.1
Meaning: This machine data is used to define the interpolation behavior with G00:
0: Axes are traversed as positioning axes
1: Axes interpolate with one another
MD irrelevant for ... ... In SW 6 and higher, the machine data
MD 10892: EXTERN_G00_MODE used for ISO mode up to now has been replaced with
the new machine data
MD 20732: EXTERN_G0_LINEAR_MODE.
30450 IS_CONCURRENT_POS_AX
MD number Default on RESET: Neutral axis or channel axis
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after RESET Protection level: 2/7 Unit: none
Data type: BOOLEAN Applies as of SW 1.1
Meaning: The axis is a concurrent positioning axis.
SW 4.3 and higher (not FM-NC):
If FALSE: At RESET a neutral axis becomes a channel axis again.
If TRUE: At RESET a neutral axis remains in the neutral axis state, and a channel axis
becomes a neutral axis.
32060 POS_AX_VELO
MD number Initial setting for positioning axis velocity
Default setting: 100000 Minimum input limit: 0 Maximum input limit: plus
Changes effective after RESET Protection level: 2/7 Unit: mm/min
rev/min
Data type: DOUBLE Applies as of SW 1.1
Meaning: Where a positioning axis is programmed in the part program without specifying the axis-
specific feedrate, the feedrate entered in MD: POS_AX_VELO is automatically used. The
feedrate from MD: POS_AX_VELO applies until an axis-specific feedrate is programmed in
the parts program for this positioning axis.
MD irrelevant for ... ... POS_AX_VELO is irrelevant as a positioning axis for all other axis types.
Special cases, errors, ... If a zero velocity setting is entered in POS_AX_VELO, the positioning axis does not tra-
... verse if it is programmed without feed. If a velocity setting is entered in POS_AX_VELO
that is higher than the maximum velocity of the axis (MD 32000:
MAX_AX_VELO), the velocity is automatically restricted to the maximum rate.
37510 AX_ESR_DELAY_TIME1
MD number Delay time for ESR single axis
Default setting: 0 Minimum input limit: 0 Maximum input limit: time
Changes effective after NEW_CONF Protection level: 2/7 Unit: –
Data type: DOUBLE Applies as of SW 6.4
Meaning: When an alarm occurs, it is possible to use the existing machine data to delay the instant of
braking, so that in the case of gear wheel cutting, for example, it is possible to retract from
the tooth gap.
37511 AX_ESR_DELAY_TIME2
MD number ESR time for interpolatory braking of the single axis
Default setting: 0 Minimum input limit: 0 Maximum input limit: time
Changes effective after NEW_CONF Protection level: 2/7 Unit: –
Data type: DOUBLE Applies as of SW 6.4
Meaning: Once time MD 37510: AX_ESR_DELAY_TIME1 has expired, the time specified here (MD
37511: AX_ESR_DELAY2) for interpolatory braking is still available.
Once time MD 37511: AX_ESR_DELAY2 has expired, rapid deceleration with subsequent
tracking is initiated.
43600 IPOBRAKE_BLOCK_EXCHANGE
SD number Braking ramp block change condition
Default setting: 0 Minimum input limit: 0 Maximum input limit: 100
Changes effective after: immediately Protection level: 7/7 Unit: %
Data type: DOUBLE Applies as of SW 6.1
Meaning: Specifies the time of activation for the braking ramp block change condition with single-axis
interpolation:
100% signifies that the block change condition for activating the braking ramp is fulfilled.
0% signifies that the block change condition is identical to IPOENDA.
43610 ADISPOSA_VALUE
SD number Braking ramp tolerance window
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after: immediately Protection level: 7/7 Unit: –
Data type: DOUBLE Applies as of SW 6.4
Meaning: With single axis interpolation, the value defines the size of the tolerance window that has to
be reached by the axis in order to enable a block change when the braking ramp with toler-
ance window block change condition is valid and the corresponding % value of the braking
ramp,
SD 43600: IPOBRAKE_BLOCK_EXCHANGE has been reached.
Note:
The machine data MD 10710: PROG_SD_RESET_SAVE_TAB can be set such that the
value written from the parts program during reset is accepted by the active file system (i.e.
the value is retained beyond the reset).
Signal Descriptions 5
The following signals or commands on the NCK/MMC/PLC interface are only of
significance for the positioning axis:
FC15 PLC function call FC15 can be used to start concurrent positioning axes from
the PLC. The following parameters are passed to the function call:
Example 6
6.1 Motion behavior and interpolation functions
In the following example, the two positioning axes Q1 and Q2 represent two
separate units of movement. There is no interpolation relationship between the
two axes. In the example, the positioning axes are programmed as type 1 (e.g.
in N20) and type 2 (e.g. in N40).
Q1
Q2
Example in G0 for Path axes traverse as positioning axes with no interpolation in rapid traverse
positioning axes mode (G0):
; Activation of non-linear interpolation
; MD 20730: GO_LINEAR_MODE == FALSE is set
Notes
7.4 Interrupts
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, Diagnostics Guide
or in the Online help.
J
Oscillation (P5)
Brief Description 1
Definition When the “Oscillation” function is selected, an oscillation axis oscillates
backwards and forwards at the programmed feedrate or a derived feedrate
(revolutional feedrate) between two reversal points. Several oscillation axes can
be active at the same time.
Oscillation Oscillation functions can be classified according to the axis response at reversal
variants points and with respect to infeed:
Detailed Description 2
Methods of There are two modes of oscillation:
oscillation control
1. Asynchronous oscillation
which is active beyond block limits and can also be started from PLC/MMC,
and
2. Oscillation as controlled by motion-synchronous actions.
In this case, asynchronous oscillation and an infeed movement are coupled
with one another via synchronized actions. In this way, it is possible to
program oscillation with infeed at the reversal points which is active on a
non-modal basis.
S Linear interpolation G01 is active for the oscillation axis regardless of the G
code currently valid in the program. Alternately, revolutional feedrate G95
can be activated.
S During the oscillation movement, axes other than the oscillation axis can be
freely interpolated. A continuous infeed can be achieved via a path
movement or with a positioning axis. In this case, however, there is no
interpolative connection between the oscillation and infeed movements.
S If the PLC does not have control over the axis, then the axis is treated like a
normal positioning axis during asynchronous oscillation. In the case of PLC
control, the PLC program must ensure via the appropriate stop bits of the
VDI interface that the axis reacts in the desired way to VDI signals. These
signals include program end, operating mode changeover and single block.
S The oscillation axis can act as the input axis for the transformations (e.g.
inclined axis).
References: /FB/, M1, “Transmit/Peripheral Surface Transformation”
S The oscillation axis can act as the master axis for gantry and coupled
motion axes.
References: /FB/, G1, “Gantry Axis”
S It is possible to traverse the axis with jerk limitation (SOFT) and/or with
kneeshaped acceleration characteristic (as for positioning axes).
Setting data The setting data required for oscillation can be set with special language
commands in the NCK parts program, via the HMI and/or the PLC.
Feed velocity The feed velocity for the oscillation axis is selected or programmed as follows:
S The velocity defined for the axis as a positioning axis is used as the feed
velocity. This value can be programmed via FA[axis] and has a modal
action. If no velocity is programmed, then the value stored in machine data
POS_AX_VELO is used (see positioning axes).
S The feed velocity can be influenced via the override (axial VDI signal and
programmable).
S If Dry run is active, the dry run velocity setting is applied if it is higher than
the currently programmed velocity. (SW version 5 and earlier).
From SW version 6, the effectiveness of the dry run feedrate set in SD
42100: DRY_RUN_FEED can be controlled with SD 42101:
DRY_RUN_FEED_MODE. See
References: /FB1/, V1, Feedrates
Revolutional The reversal feed can also be used for oscillation axes.
feedrate
Reversal points The positions of the reversal points can be entered via setting data before an
oscillation movement is started or while one is in progress.
Note
If a reversal point must be altered at the same time as VDI interface signal
“Activate DRF” is set, the handwheel signals are applied both to the DRF offset
and to the offset of the reversal point, i.e. the reversal point is shifted absolutely
by an amount corresponding to twice the distance.
Stop times A stop time can be programmed via setting data for each reversal point.
The setting can be altered in the following blocks of the NC program. It is then
effective in block synchronism from the next applicable reversal point.
The stop time can be altered asynchronously via setting data. It is then effective
from the instant that the appropriate reversal point is next traversed.
The following table explains the motional behavior in the exact stop range or at
the reversal point depending on the stop time input.
Deactivate One of the following options can be set for termination of the oscillation
oscillation movement when oscillation mode is deactivated:
Note
Oscillation with motion-synchronous actions and stop times “OST1/OST2”
Once the set stop times have expired, the internal block change is executed
during oscillation (indicated by the new distances to go of the axes). The
deactivation function is checked when the block changes. The deactivation
function is defined according to the control setting for the motional sequence
“OSCTRL”.
This dynamic response can be influenced by the feed override.
An oscillation stroke may then be executed before the sparking-out strokes are
started or the end position approached.
Although it appears as if the deactivation response has changed, this is not in
fact the case.
Note
If the setting data are directly written in the parts program, then the data change
takes effect prematurely with respect to processing of the parts program (at the
preprocessing time). It is possible to re-synchronize the parts program and the
oscillation function commands by means of a preprocessing stop (STOPRE).
Note
Every axis may be used as an oscillation axis.
2. End of oscillation:
S WAITP(oscillation axis)
Positioning axis command - stops block until oscillation axis is at fine stop
and synchronizes preprocessing and main run. The oscillation axis is
entered as a positioning axis again and can then be used normally.
If an axis is to be used for oscillation, then it must be enabled beforehand
with a WAITP(axis) call.
This also applies if oscillation must be initiated from the PLC/HMI. In this
case, the WAITP(axis) call is also needed if the axis was programmed
beforehand via the NC program. With SW version 3.2 and higher it is
possible to select via machine data $MA_AUTO_GET_TYPE, whether
WAITP() shall be performed with programming or automatically.
Note
WAITP effectively implements a time delay until the oscillation movement has
been executed. Termination of the movement can be initiated, for example,
through a programmed deactivation command in the NC program or via the
PLC or HMI by means of deletion of distance-to-go.
The unit for the stop time is identical to the unit selected for the stop time
programmed with G04.
5. Setting feedrate:
S FA[axis] = Fvalue
Positioning axis feedrate.
The feedrate is transferred to the appropriate setting data in synchronism with
the block in the main run. If the oscillation axis is moved with revolutional
feedrate, the corresponding dependencies must be indicated as described in
Description of Functions V1.
6. Setting control settings for sequence of movements:
Note
The option values 0–3 encode the behavior at reversal points at Power OFF.
You can choose one of the alternatives 0–3. The other settings can be
combined with the selected alternative according to individual requirements. A
+ character can be inserted to create a string of options.
Example: The oscillation movement for axis Z must stop at reversal point 1 on
deactivation; an end position must then be approached and a newly
programmed feedrate take immediate effect; the axis must stop immediately
after deletion of distance-to-go.
OSCTRL[Z] = (1+4, 16+32+64)
The set/reset options are entered into the appropriate setting data in
synchronism with the block in the main run and thus remain effective until the
setting data is next changed.
Note
The control evaluates the reset options, then the set options.
7. Sparking-out strokes:
Programming Chapter 6 gives an example containing all the important elements for
example asynchronous oscillation.
Activation The function can be selected from the PLC via setting data
OSCILL_IS_ACTIVE in all operating modes except for MDA Ref and JOG Ref.
Settings The following criteria can be controlled from the PLC via setting data: Activation
and deactivation of oscillation movement, positions of reversal points 1 and 2,
stop times at reversal points, feedrate velocity, the options in the reversal points,
the number of sparking-out strokes and the end position after deactivation.
However, these values can also be set beforehand as a setting data via the
MMC directly or via an NC program. These settings remain valid after power ON
and the PLC can also start an oscillation movement set in this way directly via
setting data OSCILL_IS_ACTIVE (via variable service).
Supplementary A spindle which must act as an axis to execute an oscillation movement started
conditions via the PLC must fulfill the conditions required to allow traversal as a positioning
axis, i.e. the spindle must, for example, have been switched to the position
control (SPOS) beforehand.
Axes always react to the stop bits at the VDI interface IS “Stop” (DB31, ...
DBX28.6) and IS “Stop at next reversal point” (DB31, ... DBX28.5) regardless of
whether or not they are operating under the control of the PLC.
With PLC control The PLC program can take over the control of an oscillation axis via VDI
signals. These VDI signals also include program end, operating mode
changeover and single block.
The following VDI interface signals are ignored in SW 6.2 and earlier:
Feed/spindle stop and NC STOP; the resulting deceleration request is
suppressed in the case of delete distance-to-go.
In SW 6.3 and later, an asynchronous reciprocating axis interpolated by the
main run reacts to NC STOP, alarm handling, end of program, program control
and RESET, independently of the NC program.
The PLC controls the axis/spindle via the axial VDI interface (PLC→NCK) by
means of IS “PLC controls axis” (DB31, ... DBX28.7) == 1
For further information about axes with PLC control, please see:
References: /FB/, P2, “Positioning Axes”
Without PLC If the PLC does not have control over the axis, then the axis is treated like a
control normal positioning axis (POSA) during asynchronous oscillation.
Note
During grinding, the calipers can be put into action via axial delete
distance-to-go.
EMERGENCY In the event of an EMERGENCY STOP, the axis is decelerated by the servo (by
STOP cancellation of servo enable and follow-up). The oscillation movement is thus
terminated and must be restarted if necessary.
Reset The oscillation movement is interrupted and deselected with a braking ramp.
The options selected subsequently are not processed (sparking-out strokes,
end point approach).
Working area If it is detected during preprocessing that the oscillation movement would violate
limitation, limit an active limitation, then an alarm is output and the oscillation movement not
switches started. If the oscillation axis violates a limitation which has been activated in
the meantime (e.g. 2nd software limit switch), then the axis is decelerated down
along a ramp and an alarm output.
Caution
! Protection zones are not effective!
End of program If the axis is not controlled by the PLC, then the program end is not reached
until the oscillation movement is terminated (reaction as for POSA:
Positioning beyond block limits).
If the axis is controlled by the PLC, then it continues to oscillate after program
end.
Mode change The following table shows the operating modes in which oscillation can be
implemented. Changeover to an operating mode which allows oscillation does
not affect the oscillation movement. Changeover to inadmissible operating
modes is rejected with an alarm. It is not possible to traverse an axis in
oscillation mode while applying control commands from the NC program or via
operator inputs (JOG) simultaneously; an alarm is output if this is attempted.
The following settings apply: The type of movement first started has priority.
Single-block If the axis is not controlled by the PLC, then it responds to a single block in the
processing same way as a positioning axis (POSA), i.e. it continues the movement.
VDI interface
The override acts on oscillation axes in the same way as on positioning axes.
Block search In the case of a block search, the last valid oscillation function is registered and
is activated - depending on machine data OSCILL_MODE_MASK - either
immediately after NC start (on approach to approach position after block
search) or after the approach position has been reached after block search
(default setting).
OSCILL_MODE_MASK Bit 0:
x
Oscillation path
Infeed
Grinding disc
Workpiece
z
ii1 ii2
U1 U2
Programming The parameters governing oscillation (see 2.2.7) must be defined before the
movement block containing the assignment between the infeed and oscillation
axes (see 2.1.1), the infeed definition (POSP) and the motion-synchronous
actions:
The oscillation axis is enabled via a WAITP[oscillation axis] (see MD
$MA_AUTO_GET_TYPE), allowing the oscillation parameters to be transferred,
i.e. into the setting data, simultaneously. The symbolic names, e.g.
$SA_REVERSE_POS1 can then be used to program the motion-synchronous
actions.
Note
For motion-synchronous actions with $SA_REVERSE_POS values, the
comparison values at the time of interpretation are valid. Subsequent
changes to setting data are irrelevant in this respect.
For motion-synchronous actions with $$AA_REVERSE_POS values, the
comparison values apply within the interpolation. This ensures a reaction to
the modified reversal positions.
Note
If the condition with which the motion-synchronous action (WHEN and
WHENEVER) has been defined is no longer valid, the OVERRIDE for this
condition is automatically set to 100% if the OVERRIDE had been set to 0%
before.
Main run With SW 3.2 and higher, it is possible to compare the synchronization
evaluation conditions in the interpolation cycle in the main run with the current actual
values ($$ variable on the right of comparison conditions). With normal system
variable comparison, the expressions are evaluated in the first run. The
complete extended possibilities for synchronized actions are listed in the
following documentation:
References: /FB/, S5, “Motion-synchronous actions”.
G0 X0 Z0
WAITP(Z)
M30
Example 2 Oscillation with online change of the reversal position, i.e. any modification of
reversal position 1 via the user surface are immediately taken into account with
active oscillation movement.
$SA_OSCILL_REVERSE_POS1[Z]=–10
$SA_OSCILL_REVERSE_POS2[Z]=10
G0 X0 Z0
WAITP(Z)
M30
Function As long as the oscillation axis has not reached the reversal point, the infeed
axis does not move.
Assignment The assignment between the oscillation axis and the infeed axis is defined by
instruction OSCILL.
See 2.2.7.
Assignment The assignment between the oscillation axis and the infeed axis is defined by
instruction OSCILL.
See Subsection 2.2.7.
Principle The functions described above for infeed at the reversal point and in the
reversal point range can be freely combined.
Combinations Infeed:
an U1 at U2
at U1 range U2
range U1 at U2
range U1 range U2
One-sided at U1
infeed at U2
range U1
range U2
These options are described in Subsections 2.2.1 and 2.2.2.
Application The synchronized action is used to hold the oscillation axis stationary until part
infeed has been executed. This synchronized action can be omitted if the
oscillation axis need not wait at reversal point 1 until part infeed has been
executed. At the same time, this synchronized action can be used to start the
infeed movement if this has been stopped by a previous synchronized action
which is still active.
Application The synchronized action is used to hold the oscillation axis stationary until part
infeed has been executed. This synchronized action can be omitted if the
oscillation axis need not wait at reversal point 2 until part infeed has been
executed. At the same time, this synchronized action can be used to start the
infeed movement if this has been stopped by a previous synchronized action
which is still active.
Function The oscillation axis is started via the override whenever the distance-to-go for
the currently traversed path section of the infeed axis = 0, i.e. part infeed has
been executed.
Application The purpose of this synchronized action is to continue the movement of the
oscillation axis on completion of the part infeed movement. If the oscillation axis
need not wait for completion of partial infeed, then the motion-synchronous
action with which the oscillation axis is stopped at the reversal point must be
omitted.
Function The functions described above prevent any infeed movement outside the
reversal point or the reversal point range. On completion of an infeed
movement, however, restart of the next partial infeed must be prevented.
Application A channel-specific flag is used for this purpose. This flag is set at the end of the
partial infeed (partial distance-to-go == 0) and is deleted when the axis leaves
the reversal point range. The next infeed movement is then prevented by a
synchronized action.
Function One or several infeed axes are assigned to the oscillation axis with command
OSCILL. The oscillation movement is started.
The PLC is informed of which axes have been assigned via the VDI interface. If
the PLC is controlling the oscillation axis, it must now also monitor the infeed
axes and use the signals for the infeed axes to generate the reactions on the
oscillation axis via 2 stop bits of the interface.
Application The axes whose response has already been defined by synchronous
conditions are assigned to one another for activation of oscillation mode. The
oscillation movement is started.
Function The control receives the following data for the infeed axis:
– Total infeed
– Part infeed at reversal point/reversal point range
– Part infeed response at end
Application This instruction must be given after activation of oscillation with OSCILL to
inform the control of the required infeed values at the reversal points/reversal
point ranges.
Mode 0
For the last two part steps, the remaining path up to the
target point is divided into two equally large residual steps
(default setting).
Mode 1
The part length is adjusted such that the total of all
calculated part lengths corresponds exactly to the path up
to the target point.
For example, keys on the PLC can be used to change the oscillation area or
instantaneously reverse the direction of oscillation.
The current oscillation motion is braked and the axis then traversed in the
opposite direction in response to edge-triggered PLC input signal Oscillation
reversal (DB31 DBB28 bit0). The braking operation is checked back via PLC
output signal Oscillation reversal active (DB31 DBB100 bit 2).
The braking position of the axis can be accepted as the new reversal position
by means of PLC signal Change reversal position (DB31 DBB28 Bit4).
The PLC input signal Select reversal position (DB31 DBB28 bit 3) is ignored
provided that the change is made in relation to the last issued External
oscillation reversal command.
No change in the reversal points applied via handwheel or JOG keys may be
active for the relevant axis. If handwheel or JOG key changes are currently
active, display alarm 20081 (Braking position cannot be accepted as reversal
position - handwheel active) will be generated. The alarm is automatically reset
when the conflict has been eliminated.
Stop time, No stop time is applied for a change of direction due to an External
exact stop oscillation reversal. The axis waits for the exact stop fine signal. Any
configured exact stop condition is fulfilled.
System variables The braking position can be scanned via system variable
$AA_OSCILL_BREAK_POS1, when approach to reversal position 1 is aborted
or via
$AA_OSCILL_BREAK_POS2 when approach to reversal position 2 is aborted.
If the relevant reversal point is approached again, the position of the reversal
point can be scanned in $AA_OSCILL_BREAK_POS1 or
$AA_OSCILL_BREAK_POS2.
In other words, only after an External oscillation reversal command is there a
difference between the values in $AA_OSCILL_BREAK_POS1 and
$AA_OSCILL_REVERSE_POS1 or the values in $AA_OSCILL_BREAK_POS2
and $AA_OSCILL_REVERSE_POS2.
External oscillation reversal can therefore be detected by a synchronized
action, see examples.
Special cases
If the PLC input signal “oscillation reversal” is activated as the axis is
approaching the start position, the approach movement is aborted and the axis
continues by approach interruption position 1.
If the PLC input signal “oscillation reversal” is set during a stop period, the stop
timer is deactivated; if exact stop fine has not yet been reached, the axis waits
for the exact stop fine reached signal before continuing its motion.
If the PLC input signal “oscillation reversal” is activated as the axis is
approaching the end position, the approach movement is aborted and
oscillation is terminated.
For an example of the external oscillation reversal command, see 6.5.1.
J
Supplementary Conditions 3
Availability Oscillation is an option with order number 6FC5 251–0AB04–0BA0.
of the Asynchronous and modal oscillation is available with SW 2 and higher for
“Oscillation” NCU570, 571, 572, 573.
function Oscillation with motion-synchronous actions is available with NCU 572 and 573.
J
11460 OSCILL_MODE_MASK
MD number Mode screen form for asynchronous oscillation
Default setting: 0 Minimum input limit: 0 Maximum input limit: 0xFFFF
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW: 2.0
Meaning: Bit 0
Value 1 In the case of block search, the oscillation movement is
started immediately after NC start, i.e. during approach
to the approach position, provided it has been activated in
the program section being processed.
Value 0 The oscillation movement is not started until the approach
position is reached.
Axis/spindle
specific data
43700 OSCILL_REVERSE_POS1[axis]
SD number Oscillation reversal point 1
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective after: immediately Unit: mm, degrees
Data type: DOUBLE Applies from SW: 2.0
Meaning: Position of oscillation axis at reversal point 1
Application example(s) NC language: OSP1[axis]=position
Related to .... OSCILL_REVERSE_POS2
MD 10710 $MN_PROG_SD_RESET_SAVE_TAB
43710 OSCILL_REVERSE_POS2[axis]
SD number Oscillation reversal point 2
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective after: immediately Unit: mm, degrees
Data type: DOUBLE Applies from SW: 2.0
Meaning: Position of oscillation axis at reversal point 2
Application example(s) NC language: OSP2[axis]=position
Related to .... OSCILL_REVERSE_POS1
MD 10710 $MN_PROG_SD_RESET_SAVE_TAB
43720 OSCILL_DWELL_TIME1[axis]
SD number Stop time at oscillation reversal point 1
Default setting: 0 Minimum input limit: –2 Maximum input limit: ***
Changes effective after: immediately Unit: s
Data type: DOUBLE Applies from SW: 2.0
Meaning: Stop time of oscillation axis at reversal point 1
Application example(s) NC language: OST1[axis]=time
Related to .... OSCILL_DWELL_TIME2
MD 10710 $MN_PROG_SD_RESET_SAVE_TAB
43730 OSCILL_DWELL_TIME2[axis]
SD number Stop time at oscillation reversal point 2
Default setting: 0 Minimum input limit: –2 Maximum input limit: ***
Changes effective after: immediately Unit: s
Data type: DOUBLE Applies from SW: 2.0
Meaning: Stop time of oscillation axis at reversal point 2
Application example(s) NC language: OST2[axis]=time
Related to .... OSCILL_DWELL_TIME1
MD 10710 $MN_PROG_SD_RESET_SAVE_TAB
43740 OSCILL_VELO[axis]
SD number Feed velocity of oscillation axis
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective after: immediately Unit: mm/min
rev/min
Data type: DOUBLE Applies from SW: 2.0
Meaning: Feed velocity of oscillation axis
Application example(s) NC language: FA[axis]=Fvalue
Related to .... MD 10710 $MN_PROG_SD_RESET_SAVE_TAB
43750 OSCILL_NUM_SPARK_CYCLES[axis]
SD number Number of sparking-out strokes
Default setting: 0 Minimum input limit: 0 Maximum input limit: ***
Changes effective after: immediately Unit: 1
Data type: DWORD Applies from SW: 2.0
Meaning: Number of sparking-out strokes which are executed on completion of oscillation movement
Application example(s) NC language: OSNSC[axis]=number of strokes
Related to .... MD 10710 $MN_PROG_SD_RESET_SAVE_TAB
43760 OSCILL_END_POS[axis]
SD number End position of oscillation axis
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective after: immediately Unit: mm, degrees
Data type: DOUBLE Applies from SW: 2.0
Meaning: Position to be approached by oscillation axis after execution of sparking-out strokes.
Application example(s) NC language: OSE[axis]=position
Related to .... MD 10710 $MN_PROG_SD_RESET_SAVE_TAB
43770 OSCILL_CTRL_MASK[axis]
SD number Oscillation sequence control screen form
Default setting: 0 Minimum input limit: – Maximum input limit: –
Changes effective after: immediately Unit: –
Data type: BYTE Applies from SW: 2.0
Meaning: Bit screen form, see following Table 4-1
Application example(s) NC language: OSCTRL[axis]=(setting options, resetting options)
Related to .... MD 10710 $MN_PROG_SD_RESET_SAVE_TAB
43780 OSCILL_IS_ACTIVE[axis]
SD number Activation/deactivation of oscillation motion
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after: immediately Unit: –
Data type: BOOLEAN Applies from SW: 2.0
Meaning: Activation/deactivation of oscillation motion
Note:
The MD 10710: $MN_PROG_SD_RESET_SAVE_TAB can be set such that the
value written from the part program during reset is accepted by the active file
system (i.e. the value is retained beyond the reset)
Application example(s) NC language: OS[axis]=1
OS[axis]=0
Related to .... MD 10710 $MN_PROG_SD_RESET_SAVE_TAB
43790 OSCILL_START_POS[axis]
SD number Start position of oscillation axis
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective after: immediately Unit: mm, degrees
Data type: DOUBLE Applies from SW: 7.2
Meaning: Position approached by the oscillation axis when oscillation commences if this has been
set in
$SA_OSCILL_CTRL_MASK.
Note:
MD 10710: $MN_PROG_SD_RESET_SAVE_TAB can be set
such that the value written from the parts program during reset is accepted by the active file
system (i.e. the value is retained beyond the reset).
Application example(s) NC language: OSB[axis]=position
OSB[axis]=position
Related to .... MD 10710 $MN_PROG_SD_RESET_SAVE_TAB
Signal Descriptions 5
VDI input signals The PLC user program uses the following signals to control the oscillation
process.
VDI output signals The NCK makes the following signals available to the PLC user program.
Notes
Examples 6
Prerequisites The examples given below require components of the NC language specified in
the sections entitled:
– Asynchronous oscillation
and
– Oscillation controlled by synchronized actions.
Task The oscillation axis Z must oscillate between –10 and 10. Approach reversal
point 1 with exact stop coarse and reversal point 2 without exact stop. The
oscillation axis feedrate must be 5000. 3 sparking-out strokes must be executed
at the end of the machining operation followed by approach by oscillation axis to
end position 30. The feedrate for the infeed axis is 1000, end of the infeed in X
direction is at 15.
Z axis
–10 0 10 20 30
10
End position
U1 U2
3 sparking-out strokes
20
X axis
Task Direct infeed must take place at reversal point 1; the oscillation axis must wait
until the part infeed has been executed before it can continue traversal. At
reversal point 2, the infeed must take place at a distance of –6 from reversal
point 2; the oscillation axis must not wait at this reversal point until part infeed
has been executed. Axis Z is the oscillation axis and axis X the infeed axis.
(See 2.2).
Note
The setting data OSCILL_REVERSE_POS_1/2 are values in the machine
coordinate system; therefore comparison is only suitable with $AA_IM[n].
;
;Whenever the flag with index 2
; is equal to 1,
; then set the axial override of the infeed axis to 0% to prevent premature infeed
; (oscillation axis has not yet exited from reversal
; position 1).
WHENEVER $AC_MARKER[2]==1 DO $AA_OVR[X]=0
;
;Whenever the flag with index 1
; is equal to 1,
; then set the axial override of the infeed axis to 0% to prevent premature
; infeed (oscillation axis has not yet exited from reversal point range 2)
; and set axial override of oscillation axis to 100% (’start’ oscillation).
WHENEVER $AC_MARKER[1]==1 DO $AA_OVR[X]=0 $AA_OVR[Z]=100
;
;If the current position of the oscillation axis in the machine coordinate system
; is equal to reversal position 1,
; then set the axial override of the oscillation axis to 100%
; and set the axial override of the infeed axis to 0% (in order
; to cancel the second synchronized action once)!
WHEN $AA_IM[Z]==$SA_OSCILL_REVERSE_POS1[Z] DO $AA_OVR[Z]=100 $AA_OVR[X]=0
;
;––––––––––––––––––––––––––––––––––––––––––
OSCILL[Z]=(X) POSP[X]=(5,1,1) ; Assign axis X as infeed axis
; to oscillation axis Z; axis X must
; infeed to end position 5 in part steps of
; 1 and the total of all part lengths
; must correspond exactly to the end position
;
M30 ; Program end
Z axis
0 10 20 30 40 50 60 70
0
1.0
2.0
3.0
4.0
X axis
5.0 Approach reversal position 1 and 3 sparking–out strokes
End position
approach
Task No infeed must take place at reversal point 1. At reversal point 2, the infeed
must take place at distance ii2 from reversal point 2; the oscillation axis must
wait at this reversal point until part infeed has been executed. Axis Z is the
oscillation axis and axis X the infeed axis.
; Motion-synchronous actions:
; Whenever the current position of the oscillation axis in the machine coordinate system
; is lower than the start of reversal point range 2,
; then set the axial override of the infeed axis to 0%
; and set the flag with index 0 to a value of 0
WHENEVER $AA_IM[Z]<$SA_OSCILL_REVERSE_POS2[Z]–ii2 DO $AA_OVR[X]=0 $AC_MARKER[0]=0
;
; Whenever the current position of the oscillation axis in the machine coordinate system
; is equal or greater than reversal position 2,
; then set the axial override of the oscillation axis to 0%
WHENEVER $AA_IM[Z]>=$SA_OSCILL_REVERSE_POS2[Z] DO $AA_OVR[Z]=0
;
; Whenever the distance-to-go of the part infeed
; is equal to 0,
; then set the flag with index 0 to a value of 1
WHENEVER $AA_DTEPW[X]==0 DO $AC_MARKER[0]=1
;
; Whenever the flag with index 0
; is equal to 1,
; then set the axial override of the infeed axis to 0%
; in order to prevent premature infeed (oscillation axis has not yet exited
; from reversal point range 2, infeed axis is ready to infeed again)
; and set the axial override of the oscillation axis to 100% (thus canceling
; the 2nd synchronized action)
WHENEVER $AC_MARKER[0]==1 DO $AA_OVR[X]=0 $AA_OVR[Z]=100
;
OSCILL[Z]=(X) POSP[X]=(5,1,1) ; Start axes
; Axis X is assigned to oscillation axis Z
; as the infeed axis
; Axis X must traverse to end position
; 5 in steps of 1
;
M30
Z axis
0 10 20 30 40 50 60 70
0
1.0
2.0
3.0
4.0
End position
5.0 approach
Approach reversal position 2 and 3 sparking–out strokes
X axis
Explanation When the Z axis starts oscillation, it first approaches the starting position
(position = 0 in the example) and then begins the oscillation motion between the
reversal points 10 and 60. When the X axis has reached its end position 15, the
oscillation finishes with 3 sparking out strokes and approach of end position 0.
WAITP(Z)
STOPRE
$SA_OSCILL_REVERSE_POS1[ Z ] = –10 ; Reversal point 1 = –10
$SA_OSCILL_REVERSE_POS2[ Z ] = 30 ; Reversal point 2 = 30
$SA_OSCILL_START_POS[Z] = –50 ; Starting position = –50
$SA_OSCILL_CTRL_MASK[Z] = 512 ; Approach starting position,
; When deactivated, stop at
; next reversal point
; do not approach end position
; No sparking out strokes with
; deletion of distance to go
$SA_OSCILL_VELO[ Z ] = 5000 ; Feedrate for oscillation axis
$SA_OSCILL_IS_ACTIVE[ Z ] = 1 ; Start
$SA_OSCILL_DWELL_TIME1[ Z ] = –2 ; without waiting for exact stop
$SA_OSCILL_DWELL_TIME2[ Z ] = 0 ; Wait for exact stop fine
STOPRE
X30 F100
$SA_OSCILL_IS_ACTIVE[ Z ] = 0 ; Stop
WAITP(Z)
M30
Explanations When the Z axis starts oscillation, it first approaches the starting position
(position = –50 in the example) and then begins the oscillation motion between
the reversal points –10 and 30. When the X axis has reached its end position
30, the oscillation finishes at the next approached reversal point.
Oscillation with
synchronized
N701 ; Oscillat. with synchronized actions, starting position == reversal point 1
actions ;
N702 OSP1[Z]=10 OSP2[Z]=60 ; Declare reversal points 1 and 2
N703 OST1[Z]=0 OST2[Z]=0 ; Reversal point 1: Exact stop coarse
; Reversal point 2: Exact stop fine
N704 FA[Z]=5000 FA[X]=2000 ; Feedrate for oscillation axis,
; Feedrate for infeed axis
N705 OSCTRL[Z]=(1+8+16,0) ; Deactivate oscillation motion at
; reversal point 1
; Sparking-out after deletion of
; distance-to-go
; and approach end position
; Approach programmed reversal
; point after deletion of distance-to-go
N706 OSNSC[Z]=3 ; 3 sparking-out strokes
N707 OSE[Z]=0 ; End position = 0
N708 OSB[Z]=10 ; Starting position = 10
N709 WAITP(Z) ; Enable oscillation for Z axis
;
––––––––––––––––––––––––––––––––––––––––––
; Motion-synchronous actions:
; Set marker with index 2 to 1 (initialization)
WHEN TRUE DO $AC_MARKER[2]=1
; Whenever
; current position of oscillation axis is less than the start of
; reversal area 2,
; then
; set axial override of infeed axis to 0
; and set marker with index 0 to 0.
WHENEVER $AA_IW[Z]<$SA_OSCILL_REVERSE_POS2[Z]–6 DO
$AA_OVR[X]=0 $AC_MARKER[0]=0
;
; Whenever
; current position of oscillation axis equals reversal point 1,
; then
; set axial override of oscillation axis to 0
; and set axial override of infeed axis to 100%
; (this cancels the previous synchronized action!)
WHENEVER $AA_IW[Z]==$SA_OSCILL_REVERSE_POS1[Z] DO
$AA_OVR[Z]=0 $AA_OVR[X]=100
;
; Whenever the distance to go of the partial infeed equals 0,
; then
; set marker with index 0 to 1
; and set marker with index 1 to 1
Explanations
The starting position matches reversal point 1. The WHEN .... synchronized
actions (in bold above) prevent an infeed when the starting position is reached.
; On external oscillation reversal for oscillation reversal point 1, modify the latter
WHENEVER BREAKPZ <> REVPZ DO $$SA_OSCILL_REVERSE_POS1 =
BREAKPZ
OS[Z]=1 X150 F500 ; Start oscillation, continuous infeed
OS[Z]=0 ; Deactivate oscillation
WAITP(Z) ; Wait for end of oscillation motion
M30
J
Notes
7.4 Interrupts
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, Diagnostics Guide
or in the Online help.
$AC_TIME Time from start of block (Real) in seconds (including times for
intermediate blocks generated internally)
$AC_TIMES Time from start of block (REAL) in seconds (not including times for
intermediate blocks generated internally)
$AC_TIMEC Time from start of block (Real) in IPO cycles (including cycles for
intermediate blocks generated internally)
$AC_TIMESC Time from start of block (Real) in IPO cycles (not including cycles
for intermediate blocks generated internally)
$AC_DTBB Distance to start of block in BCS
(Distance to begin, baseCoor) (Real)
$AC_DTBW Distance to start of block in PCS
(Distance to begin, workpieceCoor) (Real)
$AA_DTBB[<axial expression>] Axial distance to start of block in BCS
(Distance to begin, baseCoor) (Real)
$AA_DTBW[<axial expression>] Axial distance to start of block in PCS
(Distance to begin, workpieceCoor) (Real)
Notes
Notes
Brief Description 1
Rotary axes in Rotary axes are used on many modern machine tools. They are required for
machine tools tool and workpiece orientation, auxiliary movements and various other
technological or kinematic purposes.
A typical example of a machine tool requiring the use of rotary axes is the 5-axis
milling machine. Only with the aid of rotary axes can the tip of the tool be
positioned on any point of the workpiece on this type of machine.
Depending on the type of machine, many different demands are placed on a
rotary axis. In order that the control can be adapted to the various types of
machine, the individual rotary axis functions can be activated by means of
machine data or special programming.
Rotary axes are always programmed in degrees. They are generally
characterized by the fact that they assume the same position again after exactly
one rotation (modulo 360°). Depending on the application in question, the
traversing range of the rotary axis can be limited to less than 360° (e.g. on
swivel axes for tool holders) or may be endless (e.g. when tool or workpiece is
rotated).
The behavior and features of rotary axes are, in many aspects, identical to
those of linear axes. The following functional description is limited to a
description of the special features of rotary axes and the differences compared
with linear axes.
J
Notes
Detailed Description 2
2.1 General
Definition of rotary An axis can be declared as a rotary axis by means of machine data
axis IS_ROT_AX. Geometry axes are defined as linear axes. Any attempt to declare
them as rotary axes will be rejected with alarm (4200: Geometry axis must not
be defined as a rotary axis). Only when an axis has been declared as a rotary
axis can it perform or use the functions described on the following pages (e.g.
unlimited traversing range, modulo display of axis position, etc.). Several axes
can be simultaneously declared as rotary axes.
Types of rotary Depending on the particular application, the operating range of a rotary axis can
axis be endless (i.e. endlessly turning in both directions MD: ROT_IS_MODULO = 1)
or restricted by software limit switches (e.g. working area between 0 ... 60°) or
limited to a corresponding number of revolutions (e.g. 1000°).
The following list presents some typical applications of rotary axes:
Axis addresses Coordinate axes and directions of movement of numerically controlled machine
tools are designated according to DIN. DIN 66025 specifies the following axis
addresses for rotary or swivel axes: A, B and C with X, Y and Z as middle axis;
i.e. A rotates around X, B rotates around Y and C rotates around Z (see
diagram below). The positive direction of a rotary axis corresponds to a
movement to the right looking in the positive axis direction of the corresponding
middle axis.
+Y
+B
–X –Z
+C +A
+Z +X
–Y
Cartesian coordinate system
Fig. 2-1 Identification of axes and directions of movements for rotary axes
Note
MD 20050: AXCONF_GEOAX_ASSIGN_TAB (assignment of geometry axis to
channel axis) must be adapted to suit the corresponding axis.
Units of The following units of measurement apply as standard to data inputs and
measurement outputs for rotary axes:
Table 2-1 Units of measurement for rotary axes
Operating range The axis operating range can be defined by means of axis-specific machine
and setting data (software limit switches and working area limitations). As soon
as the modulo conversion is activated for the rotary axis (MD:
ROT_IS_MODULO = “1”), the operating range is unlimited and the software limit
switches and working area limitations are inactive.
In software version 6.3 and higher, the software limit switches/working area
limitation can also be activated dynamically by the PLC via interface signal
DB31, ... ; DBX 12.4 (initiated by M/H functions in the part program where
appropriate). The NC checks back via DB31, ... ; DBX 74.4.
See 2.2
Position display The value range for the position display can be set to the modulo 360°
representation that is frequently selected for rotary axes (MD:
DISPLAY_IS_MODULO = “1”).
Revolutional In JOG mode the behavior of the axis/spindle also depends on the setting of
feedrate setting data JOG_REV_IS_ACTIVE (revolutional feedrate when JOG active).
S If the setting data is not active, the behavior of the axis/spindle depends on
the setting data ASSIGN_FEED_PER_REV_SOURCE (revolutional
feedrate for positioning axes/spindles)
S 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
JOG_FEED_PER_REV_SOURCE. (In the operating mode JOG,
revolutional feedrate for geometry axes on which a frame with rotation is
effective).
Term Rotary axes are frequently programmed in the 360° representation mode. The
Modulo 360° axis must be defined as a rotary axis in order to use the modulo feature.
With respect to a rotary axis, the term “Modulo” refers to imaging of the axis
position internally in the control within the range from 0° to 359.999°. With path
settings > 360° (e.g. for incremental dimension programming using G91) the
axis position is imaged in the value range between 0° to 360° through a
conversion process in the control. The imaging process is applied in JOG and
AUTOMATIC mode. The service display is an exception.
In the diagram below, the absolute position of the rotary axis in the positive
direction of rotation is represented as a spiral. An arrow marks the actual
absolute position (example: Point C‘ = 420°). By sliding the arrow back around
the circle (position 0° of the spiral and circle are identical), it is possible to
determine a modulo position within the 360° range corresponding to every
absolute position. In the example below, absolute position point C’=420° is
mapped onto point C = 60° through the modulo conversion process.
1080°
720°
360°
Direction of rotation
0° C+
0° C’
420°
C
60°
90° 90° 450° 810°
270°
990° 630° 270°
180°
180°
540°
900°
Machine data Using machine data it is possible to define the programming and positioning
settings settings (MD: ROT_IS_MODULO) and the position display (MD:
DISPLAY_IS_MODULO) in modulo 360° for each individual rotary axis to suit
the requirements of individual machine tools.
Note
The modulo 360° display method should always be selected for a modulo axis
(ROT_IS_MODULO = “1”).
Starting position With SW 6.3 and higher, a starting position for the modulo range other than 0
for the modulo can be defined in MD 30340: MODULO_RANGE_START. It is therefore
rotary axis possible, for example, to define a modulo range of –180° to +180° by entering
–180 in MD 30340: MODULO_START_RANGE.
The default setting of 0 (degrees) defines a modulo range of 0–360°.
360 degree
180 degree
0 degree
–180 degree
Fig. 2-4 Starting position –180° shifts the modulo range to –180° to + 180°
Note
For general information on programming, please refer to:
References: /PAG/Programming Guide Fundamentals
General The machine data ROT_IS_MODULO (modulo conversion for rotary axis)
defines whether the rotary axis behaves in the same way as a linear axis during
programming and positioning or whether the special features of the rotary axis
are incorporated. These features and the differences (mainly with respect to
absolute dimension programming) are explained on the following pages.
Example:
(see diagram below): Start position of C is 0
Programming Effect
1 POS[C] = ACP(100) Rotary axis C traverses in the positive
rotational direction to position 100
2 POS[C] = ACN(300) C traverses in the negative rotational direction to
position 300
3 POS[C] = ACP(240) C traverses in the positive rotational direction to
position 240
4 POS[C] = AC (0) C traverses in the negative rotational direction to
position 0
0°
Negative Positive
direction direction
300° 3
2
1
270° 90°
100°
240°
0°
Negative Positive
direction direction
4
300° 60°
2
1
270° 90°
3
100°
240°
Block search After a block search with calculation, the accumulated search position of the
response modulo conversion can be interrogated via system variable $AC_RETPOINT.
This system variable returns the position converted to modulo.
Supplementary conditions for ASUB after block search with calculation:
In this instance as well as with the cross-channel block search tool SERUPRO,
the modulo conversion simulated in the block search must be performed in the
part program.
Modulo rotary axis As of SW Version 6.3, the working area limitation / SW limit switches can be
with/without switched on and off dynamically for a modulo rotary axis by setting the interface
working area signal DB31, ... ; DBX 12.4 via the PLC (analogous to rotary axes). The NC
limitation feeds back the current status of the travel limitation via DB31, ... ; DBX 74.4.
The monitoring function is activated if interface signal DB31, ... ; DBX 12.4 was
set by the PLC. The M/H command which causes the PLC to set the interface
signal must be followed by a STOPRE to ensure through synchronization that
only the blocks after the switchover are monitored.
Supplementary conditions:
The software limit switch monitor can be activated or deactivated via the PLC
interface for modulo axes only.
Travel range monitoring for modulo axes can be implemented only if the axis is
referenced and one limiting pair is active.
This always applies in the case of software limit switches, since these are
activated/deactivated in pairs. To guarantee correct monitoring of the working
area limitations, both limitations must have been activated either via G26/G25
or SD 43400: WORKAREA_PLUS_ENABLE and SD 43410:
WORKAREA_MINUS_ENABLE.
Example of a travel Two workholders must be machined consecutively on a modulo rotary axis. The
limitation first workholder has a number of clamped workpieces. It is then replaced by a
switchover workholder with a built-on axis whose working area must be monitored to
prevent damage to supply lines.
Configuration:
$MA_IS_ROT_AX[AX4] = 1
$MA_ROT_IS_MODULO[AX4] = 1
$MA_POS_LIMIT_PLUS[AX4] = 340
$MA_POS_LIMIT_MINUS[AX4] = 350
Endless As soon as the modulo function is active, no limit is placed on the traversing
traversing range range (software limit switches are not active). The rotary axis can now be
programmed to traverse continuously.
Example:
LOOP:
POS[C] = IC(720)
GOTOB LOOP
Example:
Programming Effect
POS[C] = AC (7200) Rotary axis C traverses to position 7200;
the traversing direction depends
on the starting position
POS[C] = DC (300) Rotary axis C traverses via the shortest route
to “modulo” position 300. C therefore
traverses through 60 in the negative
direction and stops at the absolute
position 7140.
POS[C] = AC (7000) Rotary axis C traverses to the absolute position
7000; here, C traverses through 140 in the
negative direction of rotation
Note: In this example, it is advisable to activate the modulo 360º display (MD:
DISPLAY_IS_MODULO = “1”).
Limited traversing The traversing range is limited as with linear axes. The range limits are defined
range by the plus and minus software limit switches.
Offsets TRANS (absolute) and ATRANS (additive) can be applied to rotary axes.
Scalings SCALE or ASCALE are not suitable for rotary axes since the control system
always bases its modulo calculation on a 360º full circle.
Procedure The procedure for starting up rotary axes is identical to that for linear axes with
a small number of exceptions. It should be noted that the units of the
axis-specific machine and setting data on the control are interpreted as follows
as soon as the axis has been defined as a rotary axis (MD: IS_ROT_AX = 1):
Position in “degrees”
Velocity in “rev/minute”
Acceleration in “rev/seconds2”
Jerk limitation in “rev/seconds3”
Special MD The special machine data of the rotary axis described in Chapter 4 must also be
entered depending on the application.
JOG velocity for With SD: JOG_ROT_AX_SET_VELO (JOG velocity for rotary axes), a jog
rotary axes velocity that is valid for all rotary axes can be set.
If a value of 0 is entered in the setting data, then axial MD: JOG_VELO (JOG
axis velocity).
References: /FB/, H1, “Manual and Handwheel Travel”
Software limit The software limit switches and working area limitations are operative and are
switches required for swivel axes with a restricted operating range. For endlessly turning
rotary axes with (MD: ROT_IS_MODULO=1), however, the software limit
switches and working area limitations are set inactive.
With SW 6.3 and later, a modulo rotary axis can be utilized with or without
working area limitation. See 2.3.1. Dynamic switchover by the PLC.
References: /FB/, A3, “Axis Monitoring”
Mirroring of rotary Mirroring can be implemented for rotary axes with programming commands
axes MIRROR(C) and AMIRROR(C).
Spindles as For notes concerning the use of spindles and rotary axes (C axis operation),
rotary axes please refer to:
References: /FB/, S1, “Spindles”
J
Notes
Supplementary Conditions 3
There are no supplementary conditions stipulated for this Description of
Functions.
J
30300 IS_ROT_AX
MD number Rotary axis
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: BOOLEAN Applies from SW: 1.1
Meaning: 1: Axis: The axis is defined as a “rotary axis”.
D The special functions of the rotary axis are active or can be activated by means of
additional machine data according to the type of machine required (see
below.
D The unit of measurement is degrees.
D The units of the axis-specific machine and setting data are interpreted as follows
by the control system when the default setting is applied:
D Position in degrees
D Velocity in rev/minute
D Acceleration in rev/s2
D Jerk limitation in rev/s3
Spindle:
The machine data must always be set to “1” for a spindle,
otherwise alarm 4210 “rotary axis declaration missing” is output.
0: The axis is defined as a “linear axis”.
Special cases, errors, ... For axis: alarm 4200 if the axis is already defined as a geometry axis.
... For spindle: Alarm 4210
Related to .... The following machine data are effective only after activation of MD:
IS_ROT_AX = “1”:
D MD: ROT_IS_MODULO “Modulo conversion for rotary axis”
D MD: DISPLAY_IS_MODULO “Position display is modulo”
D MD: INT_INCR_PER_DEG “Calculation precision for angle positions
References Tab. 2.2 Combination options for machine data
30310 ROT_IS_MODULO
MD number Modulo conversion for rotary axis
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: BOOLEAN Applies from SW: 1.1
Meaning: 1: A modulo conversion is performed on the setpoints for the rotary axis.
The software limit switches and the working area limitations are inoperative; the
traversing range is therefore unlimited in both directions.
With SW 6.3 and later, activation of the working area limitations/software limit
switches by the PLC can be enabled/disabled dynamically.
MD: IS_ROT_AX must be set to “1”
0: No modulo conversion
MD irrelevant for ... ... MD: IS_ROT_AX = “0” (linear axes)
Tab. 2.2 Combination options for machine data
Application example(s) Continuously rotating axes (e.g. for eccentric rotation, grinding, winding)
Related to .... MD: DISPLAY_IS_MODULO “Position display is modulo 360°”
MD: IS_ROT_AX = 1 “Rotary axis”
MD: POS_LIMIT_MINUS “Software limit switch minus”
MD: POS_LIMIT_PLUS “Software limit switch plus”
SD: WORKAREA_LIMIT_MINUS “Working area limitation minus”
SD: WORKAREA_LIMIT_PLUS “Working area limitation plus”
30320 DISPLAY_IS_MODULO
MD number Position display is modulo 360°
Default setting: 1 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: BOOLEAN Applies from SW: 1.1
Meaning: 1: Position display “Modulo 360º” is active:
The position display of the rotary axis or spindle (for basic or machine coordinate
system) is defined as “Modulo 360°”. In the positive direction of rotation, therefore, the
control resets the position display internally
to 0.000 degrees following each cycle of 359.999
degrees. The display range is always positive and always
between 0° and 359.999°.
With SW 6.3 and higher, the modulo range can be shifted in MD 30340:
MODULO_RANGE_START.
Its limits are then defined by the settings in MD 30340: MODULO_RANGE_START
and MD 30330: MODULO_RANGE.
0: Absolute position display is active:
In contrast to to the modulo 360° method, the absolute position display
shows, e.g. in a positive direction, +360° after 1 rotation, +720° after 2 rotations, etc.
In this case, the display range is limited in line with the linear axes.
MD irrelevant for ... ... Linear axes MD: IS_ROT_AX = “0”
Application example(s) D With continuously rotating axes (MD: ROT_IS_MODULO = “1”), it is
also advisable to activate the position display with modulo 360°.
D The position display for spindles must always be activated with modulo 360°.
Related to .... MD: IS_ROT_AX = 1 “axis is rotary axis”
MD 30340: MODULO_RANGE_START
MD 30330: MODULO_RANGE
30330 MODULO_RANGE
MD number Size of modulo range
Default setting: 360.0 Minimum input limit: 1.0 Maximum input limit: 360000000.0
Changes effective after RESET Protection level: 2 / 7 Unit: Degrees
Data type: DOUBLE Applies from SW: SW 4.1
Meaning: The MD defines the size of the modulo range. Position inputs are accepted and displayed
within this range. Meaningful modulo range values are
n * 360 degrees. Other settings are also possible in principle, but it must be ensured that
there is a meaningful relation between the positions in the NC and the mechanical setup
(ambiguity).
Velocity specifications are not affected by the settings in this MD.
Related to .... MD 30340: MODULO_RANGE_START (SW 6.3)
30340 MODULO_RANGE_START
MD number Modulo range starting position
Default setting: 0 Minimum input limit: Minus Maximum input limit: Plus
Changes effective after RESET Protection level: 2 / 7 Unit: Degrees
Data type: DOUBLE Applies as of SW 6.3
Meaning: A starting position can be specified for the module range
$MA_MODULO_RANGE of the rotary axes.
Example:
Modulo range between 0 and 360 degrees (default)
MODULO_RANGE = 360
MODULO_RANGE_START = 0
These two machine data are also used to calculate the reference point position for rotary
axes with rotary, distance-coded encoders. The reference point position is adapted to the
travel limits of the modulo range when
MD 30455: MISC_FUNCTION_MASK Bit 1 = 1.
Related to .... MD 30330: MODULO_RANGE
MD 30455: MISC_FUNCTION_MASK
30455 MISC_FUNCTION_MASK
MD number Axis functions
Default setting: 0 Minimum input limit: 0x00 Maximum input limit: 0x10
Changes effective after RESET Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW: 6.3 (Bit 4 expanded)
SW version 6.4 and higher (bit 3
expanded)
Meaning: This machine data specifies the following axis functions in more detail:
Bit
1 | 0 Effect:
________________________________________________________________________
Modulo rotary axis/spindle:
0 | 0 Programmed positions must be within the modulo range. An alarm is otherwise
generated.
2 | 1 Modulo rotary axis positioned per default by DC with G90 (shortest pos.)
3 | 0 With spindle / axis disable, $VA_IM, $VA_IM1, $VA_IM2 returns the setpoint.
3 | 1 With spindle / axis disable, $VA_IM, $VA_IM1, $VA_IM2 returns the actual value.
Feed enable with synchronous spindle
4 | 0 Synchronous spindle coupling, following spindle:
Cancelation of feed enable brakes the coupled grouping.
4 | 1 Following spindle:
Feed enable refers only to the interpolation component of the
overlaid movement (SPOS),..) and does not affect the coupling.
Related to .... MD 30310: ROT_IS_MODULO
MD 30330: MODULO_RANGE
MD 30440: MODULO_RANGE_START
34220 ENC_ABS_TURNS_MODULO[n]
MD number Absolute encoder range for rotary encoders: 0 ... max. no. of encoders –1
Default setting: 4096, 4096 Minimum input limit: 1 Maximum input limit: 4096
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies as of SW 2.2
Meaning: The absolute position of a rotary axis is reduced to the following range after an absolute
encoder is switched on:
i.e. a MODULO conversion is performed if the read actual position is greater than the posi-
tion allowed by the setting in MD ENC_ABS_TURNS_MOTOR.
The MD is only relevant for rotary encoders (with linear and rotary axes).
Important recommendation:
The default value “1 encoder revolution” was changed to “4096” from software version 3.6.
The new value provides a more robust setting for the most commonly used encoder types.
When using an encoder with less multi-turn information, or when using single-turn encod-
ers, the value must be decreased accordingly. In any case, for multi-turn
absolute encoders the value should be changed to the maximum quantity supported by the
encoder so that the unambiguous traversing range that is increased as a result can be
utilized (Note: This value also influences the permissible position offset when the encoder
or power supply is switched off).
Related to .... Drive MD 1021, ENC_ABS_TURNS_MOTOR,
Drive MD 1031, ENC_ABS_TURNS_DIRECT
Notes
Signal Descriptions 5
DB 31, ... ; Traversing range limitation for modulo rotary axes
DBX12.4
Data Block Signal(s) from PLC to NCK axis/spindle
Edge evaluation: NO Signal(s) updated: cyclic Signal(s) valid from SW: 6.3
Signal state 1 or signal Activate travel limitation for modulo rotary axis
transition 0 –––> 1 (software limit switches, working area limitations)
Signal state 0 or signal Deactivate travel limitation for modulo rotary axis
transition 1 –––> 0
Signal irrelevant for ...... Linear axes / rotary axes without modulo functionality
Application example(s) Built-on rotary axis with monitoring
Example 6
Fork head, Rotary axes are frequently used on 5-axis milling machines to swivel the tool
inclined axis head axis or rotate the workpiece. These machines can position the tip of a tool on
any point of the workpiece and take up any position on the tool axis. Various
milling heads are required according to the application. Fig. 6–1 illustrates a fork
head and an inclined axis head as example arrangements for rotary axes.
ÍÍ
C
ÍÍ Í ÍÍ
B
B
ÍÍ
105° 105°
C
45°
7.4 Interrupts
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, Diagnostics Guide
or in the Online help.
J
Brief Description 1
Synchronous The function: “Synchronous spindle” can be used to couple two spindles with
spindle synchronous position or speed. One spindle is defined as leading spindle (LS),
the second spindle is then the following spindle (FS).
Selection/ Part program commands are used to select/deselect the synchronous operation
deselection of a pair of synchronous spindles.
Chucks
ÉÉ
ÉÉ
n1 n2
Spindle 1 Spindle 2
ÉÉ
ÉÉ n1 n2
Spindle 1
Spindle 2
É
n1
É n2
Spindle 1 Spindle 2
n2 n1
Spindle 1 Spindle 2
Detailed Description 2
2.1 General functionality
Synchronous Synchronous operation involves a following spindle (FS) and a leading spindle
spindle pair (LS), referred to as the synchronous spindle pair. The following spindle imi-
tates the movements of the leading spindle when a coupling is active (synchro-
nous operation) in accordance with the defined functional interrelationship.
Number of It is possible to couple several following spindles to one leading spindle. The
synchronous number of following spindles on this leading spindle depends on the respective
spindles versions of the appropriate software versions.
S In SW 4 and lower, two synchronous spindle couplings can be operated in
each NC channel.
S In SW 5 and higher, any number of following spindles in any channels of
one NCU can be coupled to this leading spindle.
S In SW 6 and higher, any number of following spindles in any channels of
one NCU or a different NCU can be coupled to this leading spindle.
S With synchronous spindle coupling switched on, the offset of the FS to the
LS (overlaid movement) can be altered.
SW 6 and higher The special following spindle interpolator allows a number of following
spindles from different channels or another NCU to be coupled as defined by
the user to a single leading spindle. The following spindle interpolator is
Definition of Before synchronous operation is activated, the spindles to be coupled (FS, LS)
synchronous must be defined.
spindles This can be done in two ways depending on the application in question:
1. Fixed coupling configuration:
Machine axes which are to function as the following spindle (FS) and lead-
ing spindle (LS) are defined in channel-specific MD 21300: COU-
PLE_AXIS_1[n].
The machine axes programmed as the LS and FS for this coupling configu-
ration cannot be altered by the NC parts program.
If necessary, the coupling parameters can be modified with the NC parts
program.
2. User-defined coupling:
Couplings can be created and altered in the NC parts program with lan-
guage instruction “COUPDEF(FS, LS...)”. If a new coupling relationship is to
be defined, it may be necessary to delete an existing user-defined coupling
beforehand (with language instruction COUPDEL(FS,LS)).
The axis identifiers (Sn, SPI(n)) for the following and leading spindles must
be programmed with FS and LS for every language instruction COUP..., thus
ensuring that the synchronous spindle coupling is unambiguously defined.
The valid spindle number must be assigned to a machine axis
in axis-specific MD 35000: SPIND_ASSIGN_TO_MACHAX.
IS “Following spindle active” (DB31, ... DBX99.1) and IS “Leading spindle ac-
tive” (DB31, ... DBX99.0) indicate to the PLC for each machine axis whether the
axis is active as a leading or following spindle.
Speed ratio The speed ratio is programmed with separate numerical values for numerator
and denominator (speed ratio parameters). It is therefore possible to specify the
speed ratio very exactly, even with rational numbers.
Coupling The following characteristics can be defined for every synchronous spindle cou-
properties pling:
Overlaid In synchronous operation, the synchronous spindle copies the movement of the
movement leading spindle in accordance with the programmed speed ratio.
At the same time, the synchronous spindle can also be traversed with overlay
so that the LS and FS can operate at a specific angular position in relation to
one another.
The overlaid traversing movement of the FS can be initiated in various ways:
1. Programmable position offset of FS in AUTOMATIC and MDA:
The position reference between LS and FS can be altered in active synchro-
nous operation with language instructions COUPON and SPOS
(see Subsection 2.1.2).
2. Manual position offset of FS:
Note
For further information about specifying a positioning velocity using FA[Sn],
please see
Activation of Language instruction COUPON activates the coupling between the pro-
coupling grammed spindles with the last valid parameters and thus also activates syn-
chronous mode. This coupling may be a fixed configuration or user-defined.
The leading spindle and/or following spindle may be at standstill or in motion at
the instant of activation.
Certain conditions must be fulfilled before synchronous operation can be acti-
vated (see Subsection 2.1.4).
Note
If the LS and/or FS is in axis mode before switching on the synchronous
coupling, the axis mode is left and spindle mode is activated with use of the
spindle identifier with SW 3.2 and higher.
If the spindle is switched on with use of the axis identifier, no changeover takes
place.
Block change Before synchronous operation is selected, it must be determined under what
behavior conditions the block change must occur when synchronous mode is activated
(see Subsection 2.2.1).
Determining It is possible to determine the current coupling status for the specified axis/
current coupling spindle in the NC parts program by means of axial system variable
status $AA_COUP_ACT[<axial expression >] (see Subsection 2.2.3 Axis system vari-
ables for synchronous spindles). As soon as the synchronous spindle coupling
is active for the following spindle, bit 2 must be “1” when read.
Change defined Language instructions COUPON and SPOS allow the defined angular offset to
angular offset be changed while synchronous mode is active. The following spindle is posi-
tioned as an overlaid movement at the angular offset programmed with POSFS.
During this period IS: “Overlaid movement” (DB31, ... DBX98.4) is set.
Angular offset The defined angular offset POSFS must be specified as an absolute position
POSFS referred to the zero degrees position of the leading spindle in a positive direction
of rotation.
The “Zero degrees position” of a position-controlled spindle is calculated from
the zero mark signal or Bero signal of the measuring system and the offsets
stored in axis-specific machine data (MD: REFP_SET_POS,
REFP_MOVE_DIST, REFP_MOVE_DIST_CORR)
Range of POSFS: 0 ... 359.999 degrees.
References: /FB/, R1, “Reference Point Approach”
Read current Using axial system variables, it is possible to read the current position offset
angular offset between the FS and LS in the NC parts program. The following two position
offsets exist:
a) Current position offset of setpoint between FS and LS
$AA_COUP_OFFS [<axis identifier for FS>]
b) Current position offset of actual value between FS and LS
$VA_COUP_OFFS [<axis identifier for FS>]
(For more information about <axis identifier>, see Subsection 2.1.1)
Activation after Synchronous operation can also be activated for LS or FS which are not refer-
POWER ON enced/ synchronized (IS: “Referenced/synchronized 1 or 2” DB31, ... DBX60.4
or DBX60.5 = 0). In this case, a warning message is displayed.
Example: LS and FS are already coupled in a friction lock via a workpiece after
Power ON.
Deactivation of Language instruction COUPOF cancels synchronous mode between the pro-
coupling grammed spindles. The coupling concerned can be a fixed configuration or
user-defined. The leading and following spindles can be at standstill or in mo-
tion when synchronous operation is deactivated.
On switching off the synchronous mode, the following spindle is put into control
mode. The originally programmed S-word is no longer valid for the FS, the follo-
wing spindle can be operated like any other normal spindle.
When the coupling is deactivated, a block preprocessing stop (STOPRE) is
generally initiated internally in the control.
Deactivation If synchronous mode is deselected while the spindles are in motion, the follo-
while spindles wing spindle continues to rotate at the current speed (nFS). The current speed
are moving can be read with system variable $AA_S in the NC parts program.
The spindle can then be stopped from the parts program with M05, SPOS or
SPOSA or from the PLC with the appropriate interface signal.
Note
If the LS and/or FS is in axis mode before switching off the synchronous
coupling, the axis mode is left with use of the spindle identifier and the speed
control mode is activated with SW 3.2 and higher.
If the spindle is switched off with use of the axis identifier, no changeover takes
place. Before shutdown, the LS must be in the setpoint-side standstill.
POSFS, POSLS Deactivation positions POSFS and POSLS match the actual positions of FS and
LS respectively referred to the defined reference point value (see Subsection
2.1.2).
Range of POSFS, POSLS: 0 ... 359.999 degrees.
References: /FB/, R1, “Reference Point Approach”
COUPOFS and With SW version 6.4 and later, another deactivation method for a synchronous
stopping the spindle coupling, i.e. by stopping the following spindle, has been added:
following spindle 1. Fastest possible deactivation of coupling and
(SW version 6.4 stop without position specification.
and later) The block change is then enabled.
COUPOFS(FS, LS)
2. A coupling is not deselected until the following spindle has crossed the
deactivation position POS referred to the machine coordinate system. The
block change is then enabled.
COUPOFS(FS, LS, POSFS)
Supplementary condition:
COUPOFS(FS, LS) and COUPOFS(FS, LS, POSFS) have no meaning if a cou-
pling was active.
Conditions on The following conditions must be fulfilled before the synchronous spindle cou-
selection of pling is activated or else alarm messages will be generated.
synchronous
S The synchronous spindle coupling must have been defined beforehand (ei-
mode ther a fixed configuration via machine data or according to user definition via
parts program).
S The following spindle must be assigned to the NC channel in which the cou-
pling is activated.
Default setting with axis-specific
MD30550: AXCONF_ASSIGN_MASTER_CHAN
Note
When position control is activated, the maximum setpoint speed of the LS is
automatically limited to 90% (control reserve) of the maximum speed. The
limitation is signaled via IS “Setpoint speed limited” (DB31, ... DBX83.1).
Cross-channel
coupling (SW4) S The LS can be programmed either via a parts program, PLC (FC18) or, in
SW 4 and higher, by means of synchronized actions.
Note
If the LS is swapped between channels with activated speed coupling, and the
sequence of the channels is changed, the coupling must be deactivated.
Example:
Channel 1:
Channel 2:
Channel 3: FS in channel 3. COUPON active
Channel 4:
Channel 5:
Synchronous Using the coupling-specific, axial VDI interface signals, it is possible to control
spindle extensions synchronization motions for the following spindle from the PLC. This offers the
option of utilizing the PLC to disable, suppress, restore or modify a synchroniza-
tion motion for the following spindle specified by offset programming.
These signals have no effect on the leading spindle. In SW 6.3 and earlier, the
following coupling-specific VDI signal (PLC→NCK) is available:
IS “Disable synchronization” (DB31, ... DBX31.5)
“Disable The synchronization motion for the following spindle is disabled form the PLC
synchronization” with the axial signal IS “Disable synchronization” (DB31, ... DBX31.5).
When the main run advances to a block containing part program statement
COUPON (FS, LS, offset), IS “Disable synchronization”
(DB31, ... DBX31.5) is evaluated for the following spindle. With
S IS “Disable synchronization” (DB31, ... DBX31.5) = 0,
the position offset is applied as before.
S IS “Disable synchronization” (DB31, ... DBX31.5) = 1,
no additional following spindle motion takes place.
The coupling responds analogously to a programmed COUPON (FS, LS)
instruction without offset.
Synchronized Whenever a state of synchronism has been reached, the two VDI signals
state reached
IS “Coarse synchronism” (DB31, ... DBX98.1) and
IS “Fine synchronism” (DB31, ..., DBX98.0)
are set. Further block changes after COUPON are not prevented by suppres-
sion of synchronization.
N54 M0 ;
N57 COUPOF(S2,S1) ;
N99 M30 ;
Reset and The reset of the IS “Disable synchronization” (DB31, ... DBX31.5) has no effect
recovery on the following spindle offset. If the offset motion of the following spindle has
been suppressed by the VDI interface signal, then the offset is not automatically
applied when the VDI signal is reset.
Synchronization can be recovered by repeating
part program statement COUPON (FS, LS, offset) with
IS “Disable synchronization” (DB31, ... DBX31.5) = 0
The parts program statement can be written, for example, in an ASUB.
Read offset The following system variables can be used to read three different position off-
set values of the following spindle from the parts program.
Note
For further information about MD 30455: MISC_FUNCTION_MASK see:
nFS
nFS act Tolerance band
“Fine
synchronism”
nFSSet
Tolerance
band
“Coarse
synchronism”
1 Signal
“Fine
0 synchronism”
1 Signal
“Coarse
0 synchronism”
Fig. 2-1 Synchronism monitoring with COUPON and synchronism test marker WAITC
Threshold values The relevant position or velocity tolerance range for the following spindle in rela-
tion to the leading spindle must be specified in degrees of rev/min.
Speed/acceleration In synchronous mode, the speed and acceleration limit values of the leading
limits spindle are adjusted internally in the control in such a way that the following
spindle can imitate its movement, allowing for the currently selected gear stage
and effective speed ratio, without violating its own limit values.
For example, the LS is automatically decelerated to prevent the FS from ex-
ceeding the maximum speed in order to maintain synchronism between the
spindles.
SW 5 and higher Any number of couplings can be programmed. Furthermore, one coupling can
also be configured via machine data as in earlier SW versions.
Permanent The coupling characteristics and speed ratio for a permanently configured syn-
coupling chronous spindle coupling can be altered by the NC part program provided that
configuration they are not write-protected. The machine axes for LS and FS cannot be
changed.
Define new Language instruction “COUPDEF” can be used to create new synchronous
couplings spindle couplings (user-defined) and to modify the parameters for existing cou-
plings.
When the coupling parameters are fully specified, the following applies:
COUPDEF
(FS, LS, Ünumerator , Üdenominator , block change response, coupling type)
S Type of coupling
DV (Desired Values) ⇒ Setpoint coupling between FS and LS
AV (Actual Values) ⇒ Actual-value coupling between FS and LS
VV (Velocity Values) ⇒ Speed coupling between FS and LS
If no coupling type is specified, then the currently selected type continues to
apply.
Note
The coupling type may only be changed when synchronous operation is
deactivated!
S ÜNumerator = 1.0
S ÜDenominator = 1.0
S Block change response = IPOSTOP (block change enabled with setpoint
synchronism)
SW 4 and lower If a new synchronous spindle coupling relationship needs to be defined and all
available, freely configurable couplings (1 or 2) are already configured, then one
of the couplings will have to be deleted first.
SW 5 and later
There is no limit to the number of programmable couplings. The COUPDEL
command can be used, but is not absolutely necessary.
SW 6.3 and earlier
An alarm message is generated if COUPDEL is programmed for an active cou-
pling. Synchronous operation remains active. It must be deselected beforehand
with COUPOF.
Note
A fixed coupling configuration cannot be deleted with COUPDEL in SW 6.3 and
earlier!
Activate original Language instruction “COUPRES” can be used to re-activate the configured
coupling coupling parameters.
parameters COUPRES (FS, LS)
The parameters programmed with COUPDEF (including speed ratio) are then
overwritten.
Language instruction “COUPRES”
– activates the parameters stored in the machine and setting data
(fixed coupling configuration) and
– activates the default settings (user-defined coupling).
Programmable With SW 3.2 and higher, it is possible to mark a point in the NC program using
block change “WAITC”. The system waits at this point for fulfillment of the synchronism condi-
tions for the specified FS and delays changes to new blocks until the specified
state of synchronism is reached (see Fig. 2-1).
WAITC (FS)
Advantage: The time between switching on the synchronous coupling and
reaching synchronism can be technologically useful.
Note
Basically, it is always possible to write WAITC. If the spindle indicated is not
active as FS, the instruction for this spindle is without effect.
Determining The current coupling status for the following spindle can be read in the NC part
current coupling program with the following axial system variable:
status $AA_COUP_ACT[<axial expression>]
(For more information about <axial expression>, see Subsection 2.1.1)
Example: $AA_COUP_ACT[S2]
The value read has the following significance for the following spindle:
Byte = 0: No coupling active
Bit 2 = 1: Synchronous spindle coupling active
Read current The current position offset between the FS and LS can be read in the NC part
angular offset program by means of the following axial system variables:
a) Setpoint-based position offset between FS and LS:
$AA_COUP_OFFS[<axial expression>]
b) Actual-value-based position offset between FS and LS:
$VA_COUP_OFFS[<axial expression>]
Example: $AA_COUP_OFFS[S2]
If an angular offset is programmed with COUPON, this coincides with the value
read after reading the setpoint synchronism.
Read programmed With SW version 6.3 and later, the last programmed position offset between the
angular offset FS and LS can be read in the NC part program by means of the following axial
system variables:
$P_COUP_OFFS[<axial expression>]
Note
After cancellation of the servo enable signal when synchronous operation and
follow-up mode are active, the position offset applied when the controller is
enabled again is different to the originally programmed value. In this case, the
altered position offset can be read and corrected in the NC parts program if
necessary.
Behavior in speed With type of coupling DV, program instructions COUPON and COUPOF enable
control mode and disable the position control for the leading spindle as and when required. If
several following spindles are coupled to the leading spindle, then the
S first DV coupling activates position control for the leading spindle and the
S last DV coupling deactivates position control for the leading spindle
in speed control mode if SPCON is not programmed.
The leading spindle need not be configured in the same channel as the follo-
wing spindle.
Automatic Depending on the coupling type, the effect of COUPON on the position control
selection with for synchronous operation is as follows:
COUPON
Coupling type: DV AV VV
Following spindle FS Position control ON Position control ON No action
Leading spindle LS Position control ON 1 No action No action
Automatic Depending on the coupling type, the effect of COUPOF on the position control is
deselection with as follows:
COUPOF and
COUPOFS
Coupling type: DV AV VV
Following spindle FS Position control OFF 2 Position control OFF 2 No action 2
Leading spindle LS Position control OFF 3 No action No action
Coupling One synchronous spindle coupling per NC channel can be configured perma-
parameters nently via channel-specific machine data.
It is then necessary to define the machine axes (spindles) which are to be
coupled and what characteristics this coupling should have.
The following parameters can be configured as fixed settings for the synchro-
nous spindle coupling:
S Speed ratio
This is entered via setting data using two ratio parameters (channel-spec.
SD 42300: COUPLE_RATIO_1[n]) in the form of a numerator and a denomi-
nator. The quotient is generated internally in the control.
With SW 3.2 and higher, the following behavior can be set with the channel-spe-
cific machine data with reset and end of NC machining program:
Table 2-3 Synchronous coupling behavior with end of NC machining program and
after reset
Control dynamics When a setpoint coupling is used, the position controller parameters of FS and
LS (e.g. KV factor) must be matched. It may be necessary to activate different
parameter sets for speed control mode and synchronous operation
(M41...M45).
Feedforward Due to the improved control system dynamic response it provides, feedforward
control control for the following and leading spindles in synchronous mode is always
active. It can, however, be deselected for FS and LS with axis-specific MD
32620: FFW_MODE (=0). The NC parts program cannot deactivate the feedfor-
ward control for LS and FS with FFWOF.
Speed/acceleration The speed and acceleration limits of the spindles operating in synchronous
limits mode are determined by the “weakest” spindle in the coupling. The current gear
stages, the programmed acceleration and, for the leading spindle, the effective
position control status (On/Off) are taken into account for this purpose.
As an example, the maximum speed of the leading spindle is calculated inter-
nally in the control on the basis of the speed ratio and the spindle limitations of
the following spindle.
Multiple couplings If the system detects that a coupling is already active for an FS and LS when
synchronous mode is activated, then the activation process is ignored and an
alarm message generated.
Example of multiple couplings:
Note
The dynamic response of a coupling group is determined by the weakest
response as a function of the coupling factor. The acceleration rate and
maximum speed are reduced for the leading spindle down to the load limit of
the coupled leading spindles.
Further information: See above Speed/acceleration limits
Start synchronous ASUBs (activation of asynchronous subprograms) processed by the PLC can
mode using ASUB be used to activate or terminate synchronous mode at any chosen time in the
AUTOMATIC or MDA modes.
References: /FB/, K1, “Mode Group, Channels, Program Operation, Reset Res-
ponse”
Response to If alarms occur (e.g. servo alarms) during the synchronous operation, with which
alarms the servo enable is cancelled internally in the control and follow-up is active, the
subsequent response is as if the IS “Servo enable” (DB31, ... DBX2.1) has been
cancelled by the PLC (and IS “Follow-up mode” (DB31, ... DBX1.4) is set) →
see Subsection 2.4.2.
PLC interface In synchronous operation, the influence of the PLC on the coupling resulting
signals from the setting of LS and FS interface signals must be noted.
The effect of the main PLC interface signals on the synchronous spindle cou-
pling is described below.
Spindle override The spindle speed override value input by the PLC in synchronous operation is
(DB31, ... DBB19) applied only to the leading spindle.
Axis/spindle The participating axes behave as shown in the following table (SW 4 and
disable (DB31, ... higher):
DBX1.3)
set: 1 not set: 0
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
Servo enable Cancellation of “Servo enable” for LS (either via PLC interface or internally in
(DB31, ... DBX2.1) control in the event of faults):
If the servo enable signal of the LS is set to “0” during synchronous operation
and a setpoint coupling is active, a switchover to actual-value coupling is exe-
cuted in the control. If the LS is in motion at this instant, it is decelerated to a
standstill and an alarm message generated. Synchronous operation remains
active.
Cancellation of “Servo enable” for FS in synchronous operation (either via PLC
interface or internally in control in the event of faults).
The coupling is internally canceled until the signals are reset.
If the “Servo enable” signal is not set for either of the spindles when synchro-
nous operation is selected, synchronous operation is still activated when the
coupling is switched on. The LS and FS however remain at standstill until the
servo enable signal is set for both of them.
Setting the “Servo enable” signal for LS and FS:
When the signal edge of IS “Servo enable” switches to 1, the spindle either
moves back to the old position (position on cancellation of servo enable) (signal
status = 0: Stop active) or the current positions (position offset) are used again
(signal status = 1: Follow-up active).
Note
If the “servo enable” signal is canceled for the FS after Spindle STOP without
the coupling being deactivated beforehand, then any synchronism error
resulting from external intervention (e.g. manual rotation) will not be
compensated when the “servo enable” signal is applied again.
This may result in loss of the defined angular reference between the FS and LS
for special applications.
Follow-up mode Interface signal “Follow-up mode” is relevant only if the “servo enable” for the
(DB31, ... DBX1.4) drive is canceled. When “servo enable” is set for the FS and LS, either the
spindle will return to the position recorded on cancellation of the servo enable
signal (signal state = 0: Stop active) or the current positions will be used again
(signal status = 1: Follow-up active).
Position Switchover between the position measuring systems for the FS and LS is not
measuring system locked out in synchronous operation. A switchover would not affect the cou-
1/2 (DB31, ... pling. It is however recommended that the measuring systems only be switched
DBX1.5 and 1.6) when synchronous mode is not active.
If “Park” status is selected for the FS or LS in synchronous operation, then the
system responds as if “servo enable” had been canceled.
Delete distance to When Spindle RESET is set for the LS in synchronous operation, the LS is
go / Spindle Reset braked down to standstill at the selected acceleration rate. The FS and LS con-
(DB31, ... DBX2.2) tinue to operate in synchronous mode. The overlaid motion (except with
COUP...) is terminated as quickly as possible.
Spindle stop When “Spindle STOP” is set for the FS or LS, both coupled spindles are braked
(Feed stop) (DB31, down to standstill via a ramp, but continue to operate in synchronous mode.
... DBX4.3) As soon as IS “Spindle STOP” is no longer active for any of the spindles in the
coupling, it is accelerated back up to the previous speed setpoint.
Application “Spindle STOP” can halt the synchronous spindle pair without offset since the
servo loop remains operative.
Example When the protective door is opened with an active synchronous spindle cou-
pling, the FS and LS must be stopped without the coupling relationship being
altered. This can be achieved by applying IS “Spindle stop” to halt the FS and
LS (IS “Axis/spindle stationary” (DB31, ... DBX61.4) = 1). “Servo enable” can
then be canceled for both spindles.
Delete S value The S value programmed for the LS is deleted and the LS decelerated down to
(DB31, ... DBX16.7) zero speed via a ramp. The FS and LS continue to operate in synchronous
mode.
IS “Delete S value” has no affect on the FS in synchronous operation.
Resynchronize It is possible to synchronize the spindle (LS) with its positioning measuring sys-
spindle 1/2 (DB31, tem when it is operating in synchronous mode. It is however recommended that
... DBX16.4 and the leading spindle only be re-synchronized when synchronous mode is not
16.5) active.
Traverse keys for The “plus and minus traversing keys” for JOG are not disabled internally for the
JOG (DB31, ... FS in synchronous operation, i.e. the FS executes an overlaid motion if one of
DBX4.6 and 4.7) these keys is pressed.
Note
If overlaid traversing movements are to be precluded, they must be locked out
by measures in the PLC user program.
NC Stop axes plus “NC Stop axes plus spindles” in synchronous operation decelerates the coupled
spindles (DB21, ... spindles in accordance with the selected dynamic response. They continue to
DBX7.4) operate in synchronous mode.
When does a A differential speed develops, e.g. with turning machine applications, when two
differential speed spindles are opposite. Through the signed addition of two speed sources, a
occur? speed component is derived from the leading spindle via the coupling factor. In
addition to this, it is possible to program a
S speed with S... and a
S direction of rotation with M3, M4 or M5
The spindles can normally be synchronized by a coupling factor with the value
’–1’. This sign reversal then results in a differential speed for the following
spindle as compared to an additional programmed speed. This typical behavior
in relation to the NC is illustrated in the following diagram.
Speed Speed
interpolator interpolator
Coupling factor = –1
COUPON 100 rpm
–500 rpm
500 rpm x +
–400 rpm
2
Actual speed
M M
Application Manufacturing operations with positioned leading spindle and rotating tools re-
quire exact synchronism with the counterspindle which then functions like a
following spindle. A turret rotating about the following spindle allows parts to be
machined with different tool types. The following diagram shows an application
in which the tool is positioned parallel to the main spindle.
Workpiece Tool
Chuck Turret Z
Turning tool
Slide
n1 n2
Positioned leading spindle Following spindle
Fig. 2-3 Application on a single-slide turning machine with turret about Z axis
Behavior during When the coupling is activated, the following spindle is accelerated, as before,
and after coupling to the leading spindle speed through application of the coupling factor. If the
following spindle is already rotating (M3, M4) when the coupling is activated, it
continues with this motion after coupling.
If the coupling is deactivated, the following spindle continues to rotate at the
speed corresponding to the sum of both speed components. The spindle be-
haves as if it had been programmed with the speed and direction transferred
from the other spindle.
Note
The differential speed does not therefore affect the coupling process.
The following or leading spindle cannot change gear stages while a coupling is
active.
Differential speed A differential speed results from renewed programming of the following spindle
(in the example S2=... ) or M2=3, M2=4 in speed control mode during an active
synchronous spindle coupling.
Supplementary condition
Speed S... must also be programmed again with direction of rotation M3 or M4.
Otherwise alarm 16111 “Channel% Block% Spindle% No speed programmed” is
displayed.
S The differential speed must be programmed in the channel in which the follo-
wing spindle is also configured. The leading spindle can be programmed in
a different channel.
S The differential speed must be enabled for the following spindle by the PLC
via IS “Enable overlaid movement” (DB31, ... DBX26.4). If the enable signal
has not been set, alarm 16771
“Channel% Following axis% Overlaid movement not enabled” is output. This
alarm is cleared when IS “Enable overlaid movement” (DB31, ... DBX26.4) is
set or the coupling is terminated.
Read offsets of The current offset always changes when a differential speed is programmed.
following spindle The current position offset is read with $AA_COUP_OFFS[Sn] at the setpoint
end and with $VA_COUP_OFFS[Sn] at the actual value end.
The last programmed offset is supplied by variable $P_COUP_OFFS[Sn].
When a differential speed is programmed (equals 100 rev/min in the example),
the programmed differential component is displayed as the speed setpoint.
The actual speed value refers to the motor speed. In the example, the actual
speed is 500 rev/min * (–1) + 100 rpm = –400 rev/min.
Note
At the output end, axial VDI interface signals NCK ³ PLC IS “Coarse/fine
synchronism” (DB31, ... DBX98.1/98.0) are reset and IS “Overlaid movement”
(DB31, ... DBX98.4) is set if setpoints are generated, in addition to the coupling
setpoints, as a result of programming the differential speed.
PLC to NCK Manipulation of the following spindle via the PLC interface
The effect of the axial VDI interface signals on the following spindle with a differ-
ential speed in speed control mode is described below:
Delete distance to The programmed differential speed and direction can be terminated by IS “De-
go / Spindle Reset lete distance-to-go / Spindle Reset” (DB31, ... DBX2.2). To delete the pro-
(DB31, ... DBX2.2) grammed speed only, it is possible to set IS “Delete S value” (DB31, ...
DBX16.7).
Resynchronize The IS “Resynchronize spindle 1/2” (DB31, ... DBX16.4/16.5) are not locked.
spindle 1/2 (DB31, Any positional offset is not compensated automatically by the coupling.
... DBX16.4 and
16.5)
Invert M3/M4 IS “Invert M3/M4” (DB31, ... DBX17.6) only inverts the speed component pro-
(DB31, ... DBX17.6) grammed for the following spindle.
The motion component generated by the synchronous spindle coupling remains
unaffected.
Spindle override The “Spindle override” VDI interface (DB31, ... DBB19) only affects the speed
(DB31, ... DBB19) component programmed for the following spindle. If the spindle override switch
is transferred to all axial inputs, then any change in the spindle override value is
applied double to the following spindle.
Once
– indirectly by a change in the leading spindle speed and
– once in the programmed component of the following spindle.
The offset value can be adjusted accordingly in the PLC program.
Coupling If the coupling is deactivated, the following spindle continues to rotate at the
deselection speed corresponding to the sum of both speed components. The motion transi-
tion on coupling deselection is at continuous speed.
When COUPOF is programmed, the spindle behaves as if it had been pro-
grammed with the transferred speed and rotational direction.
This equals M4 S400 in the example.
When COUOPOFS is programmed, the following spindle is decelerated to
standstill from the current speed.
Activate additional The following spindle can also be a master spindle. In this case, it is capable of
functions additional functions.
S Rotational feedrate with G95, G96 and G97. When G96 S2=... the “constant
cutting rate” function can be activated for the following spindle.
The calculated speed equals the set speed for the speed interpolator of
spindle 2 and is thus added to the total speed for S2.
Causes for a When the coupling is reactivated after the drive enable signals have been can-
positional offset celed, a positional offset can occur between the leading and following spindles if
follow-up mode is activated. A positional offset can be caused by:
S A part has been clamped or both spindles have been turned manually (ma-
chine area is open, drives are disconnected from supply).
S After the spindle enable signals are canceled, the two spindles coast to
standstill at different speeds if they are not mechanically coupled.
Basic procedure If the following and leading spindles have fallen out of synchronism, or failed to
synchronize at all, synchronism can be restored between them by the following
measures:
1. Set the axis enable signals and cancel synchronization disable signal if this
has been set.
2. Start resynchronization process with VDI signal “Synchronize following
spindle”. Only when this process is complete can setpoint synchronism be
fully restored.
3. Wait until the actual values of the coupled spindles have synchronized.
Enable Setting the enabling signals closes the coupling at the current actual positions.
resynchronization IS “Coarse synchronism” (DB31, ... DBX98.1) and IS “Fine synchronism” (DB31,
..., DBX98.0) continue to refer to the last coupling parameters and are not set
automatically. The following preconditions must be fulfilled for resynchroniza-
tion to work:
S The axis enabling signal must be set for the following spindle.
S No synchronization disable signal
IS “Disable synchronization” (DB31, ... DBX31.5) must be set for the follo-
wing spindle.
Resynchronize Resynchronization is started explicitly for the relevant following spindle and
following spindle commences as soon as the low-high edge of axial
IS “Synchronize following spindle” (DB31, ... DBX31.4) is detected.
The NC acknowledges detection of the signal edge by output of axial IS “Syn-
chronization in progress” (DB31, ... DBX99.4) for the following spindle and the
signal remains set for as long as IS “Synchronize following spindle” (DB31, ...
DBX31.4) is set.
If a synchronization already exists, axial IS “Synchronization in progress (DB31,
... DBX99.4) remains active at least until synchronism between following and
leading spindle has been established at the setpoint end.
Correct and The following and leading spindles are always synchronized as quickly as pos-
restore sible. IS “Overlaid movement” (DB31, ... DBX98.4) and IS
synchronism “Synchronization in progress” (DB31, ... DBX99.4) are output for the following
spindle while the synchronization setpoints are being generated.
Synchronism is not established at the setpoint end until the two signals IS
“Overlaid movement” (DB31, ... DBX98.4) and IS “Synchronization in progress”
(DB31, ... DBX99.4) have been canceled.
The length of time which elapses before the two signals IS “Coarse synchro-
nism” (DB31, ... DBX98.1) and IS “Fine synchronism” (DB31, ... DBX98.0) occur
for synchronization at the actual value end depends mainly on the dynamic
response of the drives involved in the coupling.
Example
N51 SPOS=0 SPOS[2]=90
N52 COUPDEF(S2,S1,1,1,“FINE”,“DV”)
N53 COUPON(S2,S1,77)
N54 M0 ; Cancel servo enable,
; Set correction, rotate following
; spindle backwards by 11 degrees
The system variables return the following values for the following spindle:
$P_COUP_OFFS[S2] ; Programmed position offset = 77 degrees
$AA_COUP_OFFS[S2] ; Position offset in setpoints = 66 degrees
$VA_COUP_OFFS[S2] ; Position offset in actual values approx. 66
; degrees
The synchronism signals refer to the programmed position offset of 77 degrees
and would no longer be set if there were a synchronism tolerance of 0.5 or 2
degrees, as the deviation is about 11 degrees.
Overlaid motion
An overlaid movement on the following spindle is always indicated by
IS “Overlaid movement” (DB31, ... DBX98.4).
This additional movement can be generated by SPOS, M3 S... , JOG, position-
ing via FC18 or synchronized actions.
Note
The axis enable signals can be canceled to interrupt a movement overlaid on
the following spindle (e.g. SPOS). This component of the movement is not
affected by IS “Synchronize following spindle” (DB31, ... DBX31.4), but is
restored by the REPOS operation.
Stop and block If “Stop” has been activated for the cancellation period of the axis enables for
change the leading or following spindle, then the last setpoint positions with the setting
of the axis enables from the servo drive are approached again.
Program instructions COUPON and WAITC can influence the block change
behavior. In this case, the block change criterion is defined by COUPDEF or via
MD 21320: COUPLE_BLOCK_CHANGE_CTRL_1.
Spindle start-up The leading and following spindles must be started up initially like a normal
spindle. This start-up procedure is described in:
References: /IAD/, SINUMERIK 840D Installation and Start-Up Guide
and
References: /FB/, S1, “Spindles”
Required The following parameters must then be set for the synchronous spindle pair:
S The machine axis numbers for the leading and following spindles
(for a permanently configured coupling with channel-spec. MD: COU-
PLE_AXIS_1[n])
Response to In order to obtain the best possible synchronism in setpoint couplings, the FS
setpoint changes and LS must have the same dynamic response to setpoint changes. The
axial control loops (position, speed and current controllers) should each be set
to the optimum value so that disturbances can be eliminated as quickly and
efficiently as possible. The dynamic response adaptation function in the set-
point branch is provided to allow differing dynamic responses of axes to be
matched without loss of control quality.
The following control parameters must each be set optimally for the FS and LS:
Dynamic response The FS and the coupled LS must have the same dynamic response to setpoint
adaptation changes. The same dynamic response means that their following errors must
be equal at any given speed.
The dynamic response adaptation function in the setpoint branch makes it pos-
sible to obtain an excellent match in the response to setpoint changes between
axes, which have different dynamic characteristics (control loops). The differ-
ence in the equivalent time constants between the dynamically “weakest”
spindle and the other spindle in the coupling must be entered as the dynamic
response adaptation time constant.
Example When the speed feedforward control is active, the dynamic response is primarily
determined by the equivalent time constant of the “slowest” speed control loop.
Leading spindle: MD 32810: EQUIV_SPEEDCTRL_TIME [n] = 5ms
Following spindle: MD 32810: EQUIV_SPEEDCTRL_TIME [n] = 3ms
→ Time constant of dynamic response adaptation for following spindle:
MD 32910: DYN_MATCH_TIME [n] = 5 ms – 3 ms = 2 ms
The dynamic response adaptation must be activated axially via MD 32900
DYN_MATCH_ENABLE.
The dynamic adaptation setting can be checked by comparing the following
errors of the FS and LS (in Diagnosis operating area; Service Axes display).
Their following errors must be identical when they are operating at the same
speed!
For the purpose of fine tuning, it may be necessary to adjust servo gain factors
or feedforward control parameters slightly to achieve an optimum result.
Control parameter A separate parameter set with servo loop setting is assigned to each gear stage
sets on coupled spindles.
These parameter sets can be used, for example, to adapt the dynamic res-
ponse of the leading spindle to the following spindle in synchronous operation.
When the coupling is deactivated (speed or positioning mode), it is therefore
possible to select other position controller parameters for the FS and LS. To
utilize this option, a separate gear stage must be reserved for synchronous op-
eration and selected before synchronous mode is activated.
References: /FB/, G2, “Velocities, Setpoint/ActualValue Systems, ClosedLoop
Control”
Actual value In an actual-value coupling, the drive for the FS must be considerably more dy-
coupling namic than the leading spindle drive. The individual drives in an actual-value
coupling are also set optimally according to their dynamic response.
An actual-value coupling should only be used in exceptional cases.
Speed coupling The velocity coupling corresponds internally to a setpoint coupling, but with
lower dynamic requirements of the FS and LS. A servo loop is not needed for
the FS and/or LS and no measuring systems are needed.
Threshold values After controller optimization and feedforward control setting, the threshold val-
for coarse/fine ues for coarse and fine synchronism must be entered for the FS.
synchronism
S Threshold value for “Coarse synchronism”
axis-spec. MD 37200: AV, DV: COUPLE_POS_TOL_COARSE
MD 37220: VV: COUPLE_VELO_TOL_COARSE
Angular offset If there must be a defined angular offset between the FS and LS, e.g. when syn-
LS/FS chronous operation is selected, the “zero degree positions” of the FS and LS
must be mutually adapted. This can be done with the following machine data:
MD 34100 REFP_SET_POS
MD 34080 REFP_MOVE_DIST
MD 34090 REFP_ MOVE_DIST_CORR
References: /FB/, R1, “Reference Point Approach”
Service display The following values are displayed for the following spindle for start-up in syn-
for FS chronous operation in the “Service Values Axes” display in the “Diagnosis” oper-
ating area:
Notes
Supplementary Conditions 3
There are no other supplementary conditions to note.
J
21300 COUPLE_AXIS_1[n]
MD number Definition of synchronous spindle pair [n]
Default setting: 0 Minimum input limit: 0 Maximum input limit: 8
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: BYTE Applies as of SW 2.1
Meaning: One synchronous spindle pair per NC channel can be defined in a fixed configuration
with this machine data.
The machine axis numbers (channel-specific MD: AXCONF_MACHAX_USED) applicable
in the NC channel must be entered for the following spindle [n=0] and the leading spindle
[n=1]. MD: AXCONF_MACHAX_USED).
If a value of “0” is entered, then the coupling is not configured, thus leaving 2 couplings to
be configured freely via the NC parts program.
MD irrelevant for ... ... User-defined coupling
Related to .... Channel-spec. MD: COUPLING_MODE_1 (type of coupling in synchronous spindle mode)
Channel-spec. MD: COUPLE_IS_WRITE_PROT_1 (write-protection for coupling parame-
ters)
Channel-spec. MD: COUPLE_RESET_MODE_1 (coupling abortion response)
Channel-spec. MD: COUPLE_BLOCK_CHANGE_CTRL_1 (block change response in
synchronous spindle mode)
SD: $SC_COUPLE_RATIO_1 (speed ratio parameters for synchronous spindle mode)
21310 COUPLING_MODE_1
MD number Type of coupling in synchronous spindle mode
Default setting: 1 Minimum input limit: 0 Maximum input limit: 2
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: BOOLEAN Applies as of SW 2.1
Meaning: This machine data determines the type of coupling for the fixed coupling configuration de-
fined with machine data COUPLE_AXIS_1[n].
1: Setpoint coupling activated.
With a setpoint coupling, the reference value for the following spindle is calculated from
the position setpoint of the leading spindle, allowing the setpoints for the FS and LS to
be input simultaneously. This has a particularly positive effect on the spindle
synchronism during acceleration and deceleration processes.
A better response to setpoint changes is thus obtained with the setpoint coupling than
with the actual-value coupling.
When a setpoint coupling is selected, the following conditions must be fulfilled before
synchronous operation is activated:
S The LS must be assigned to the same NC channel as the FS.
S The FS and LS must be in position control mode (SPCON)
S The FS and LS must have the same dynamic control response (see Subsection
2.4.3)
As soon as the actual-value coupling is active, the IS “Actual-value coupling” for the FS
is set to “1”.
2: Velocity coupling activated.
Internally, the velocity coupling is a setpoint coupling. The requirements placed on FS
and LS are lower. A defined position relation between FS and LS cannot be
established.
In the following cases, the velocity coupling is applied:
S LS and/or FS are not in position control.
S There are no measuring systems.
The coupling type can be altered in the NC part program when the coupling is deactivated
by means of language instruction COUPDEF provided that this option is not inhibited in
channel-specific MD: COUPLE_IS_WRITE_PROT_1. The parameterized value of
channel-specific MD: COUPLING_MODE_1 does not, however, get altered.
MD irrelevant for ... ... User-defined coupling
Related to .... Channel-spec. MD: COUPLE_AXIS_1 (definition of synchronous spindle pair)
Channel-specific MD: COUPLE_IS_WRITE_PROT_1 (write-protection for configured pa-
rameters)
IS “Actual-value coupling” (DB31–48, DBX98.2)
21320 COUPLE_BLOCK_CHANGE_CTRL_1
MD number Block change response in synchronous spindle mode
Default setting: 3 Minimum input limit: 0 Maximum input limit: 3
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: BYTE Applies as of SW 2.1
Meaning: This machine data determines the condition on which a block change must be executed
when synchronous mode is activated for the fixed coupling configuration defined in chan-
nel-specific machine data COUPLE_AXIS_1[n].
The following options are available:
0: Block change is enabled immediately
1: Block change in response to “Fine synchronism”
2: Block change in response to “Coarse synchronism”
3: Block change in response to IPOSTOP (i.e. after setpoint-based synchronism)
The block change response can be altered in the NC part program with language
instructions COUPDEF provided this option has not been inhibited with channel-specific
MD: COUPLE_IS_WRITE_PROT_1. The parameterized value of channel-specific MD:
COUPLE_BLOCK_CHANGE_CTRL_1 does not, however, get altered!
The selected block change response remains valid even when the speed ratio is changed
or a defined angular offset is programmed while the coupling is active.
MD irrelevant for ... ... User-defined coupling
Related to .... Channel-spec. MD: COUPLE_AXIS_1 (definition of synchronous spindle pair)
Channel-specific MD: COUPLE_IS_WRITE_PROT_1
(write-protection for coupling parameters)
Channel-spec. MD: COUPLE_POS_TOL_COARSE or COUPLE_VELO_TOL_COARSE
(threshold value for coarse synchronism)
Channel-specific MD: COUPLE_POS_TOL_FINE or COUPLE_VELO_TOL_FINE
(threshold value for fine synchronism)
21330 COUPLE_RESET_MODE_1
MD number Coupling abort response
Default setting: 1 Minimum input limit: 0 Maximum input limit: 0x3FF
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: BYTE Applies as of SW 2.1
Meaning: The behavior of synchronism for the synchronous spindle pair configured with the machine
data COUPLE_AXIS_1[n] is defined with this machine data.
Bit 1=0: Synchronism remains active even the program is started again and can
be canceled only with COUPOF as long as the control remains switched on.
Bit 0=1: Synchronism is canceled with program start (from the reset condition).
Bit 1=0: Synchronism remains active even with program end and RESET and can
be canceled only with COUPOF as long as the control remains switched on.
Bit 1=1: Synchronism is canceled with program end or RESET.
Bit 5=1: The configured data are activated with program start.
Bit 6=1: The configured data are activated with program end or RESET.
Bit 9=1: Synchronism is switched on with program start.
Note: Synchronism is not deselected with NC start after NC stop!
MD irrelevant for ... ... User-defined coupling
Related to .... Channel-spec. MD: COUPLE_AXIS_1 (definition of synchronous spindle pair)
IS “Synchronous operation” (DB31–48, DBX84.4)
21340 COUPLE_IS_WRITE_PROT_1
MD number Coupling parameters are write-protected
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: BOOLEAN Applies as of SW 2.1
Meaning: This machine data is used to specify whether or not the coupling parameters (speed ratio,
block change response, coupling type) for the synchronous spindle pair configured with
channel-specific machine data COUPLE_AXIS_1[n] may be altered by the NC part pro-
gram.
1: Coupling parameters may not be altered by the NC program (write-protection active).
An alarm message is generated if an attempt is made to change the parameters.
0: NC parts program may alter coupling parameters using language instructions
COUPDEF.
MD irrelevant for ... ... User-defined coupling
Related to .... Channel-spec. MD: COUPLE_AXIS_1 (definition of synchronous spindle pair)
Channel-specific MD: COUPLING_MODE_1 (type of coupling in synchronous spindle
mode)
Channel-spec. MD: COUPLE_RESET_MODE_1 (coupling abortion response)
Channel-spec. MD: COUPLE_BLOCK_CHANGE_CTRL_1 (block change response in
synchronous spindle mode)
SD: $SC_COUPLE_RATIO_1 (speed ratio parameters for synchronous spindle mode)
37200 COUPLE_POS_TOL_COARSE
MD number Threshold value for coarse synchronism
Default setting: 1.0 Minimum input limit: 0.0 Maximum input limit: PLUS
Changes effective after NEW_CONF Protection level: 2/7 Unit:
Linear axis: mm
Rotary axis: degrees
Data type: DOUBLE Applies as of SW 2.1
Meaning: In synchronous operation, the positional deviation between the leading and following
spindles is monitored (only DV and AV mode).
IS “Coarse synchronism” is set if the current positional deviation is within the tolerance
band specified by the threshold value.
Furthermore, this threshold value represents the criterion for a block change on activation
of synchronous operation or on alteration of the transmission parameters when the coupling
is active in cases where “Coarse synchronism” is selected as the block change response
condition (see channel-specific MD: COUPLE_BLOCK_CHANGE_CTRL_1 or language
instruction COUPDEF).
If the value “0” is input, IS “Coarse synchronism” is always set to “1” in DV and AV mode.
Related to .... Channel-spec. MD: COUPLE_BLOCK_CHANGE_CTRL_1 (block change response in
synchronous spindle operation)
IS “Coarse synchronism” (DB31–48, DBX98.1)
37210 COUPLE_POS_TOL_FINE
MD number Threshold value for fine synchronism
Default setting: 0.5 Minimum input limit: 0.0 Maximum input limit: PLUS
Changes effective after NEW_CONF Protection level: 2/7 Unit:
Linear axis: mm
Rotary axis: degrees
Data type: DOUBLE Applies as of SW 2.1
Meaning: In synchronous operation, the positional deviation between the leading and following
spindles is monitored (only DV and AV mode).
IS “Fine synchronism” is set if the current positional deviation is within the tolerance band
specified by the threshold value.
Furthermore, this threshold value represents the criterion for a block change on activation
of synchronous operation or on alteration of the transmission parameters when the coupling
is active in cases where “Fine synchronism” is selected as the block change response
condition (see channel-specific MD: COUPLE_BLOCK_CHANGE_CTRL_1 or language
instruction COUPDEF).
If the value “0” is input, IS “Fine synchronism” is always set to “1” in DV and AV mode.
Related to .... Channel-spec. MD: COUPLE_BLOCK_CHANGE_CTRL_1 (block change response in
synchronous spindle operation)
IS “Fine synchronism” (DB31–48, DBX98.0)
37220 COUPLE_VELO_TOL_COARSE
MD number “Coarse” speed tolerance between leading and following spindles
Default setting: 1.0 Minimum input limit: 0.0 Maximum input limit: PLUS
Changes effective after NEW_CONF Protection level: 2/7 Unit:
Linear axis: mm/min
Rotary axis: rev/min
Data type: DOUBLE Applies as of SW 3.1
Meaning: In synchronous operation, the speed difference between the leading and following spindles
is monitored (VV mode only).
IS “Coarse synchronism” is set if the current speed difference is within the tolerance band
specified by the threshold value.
Furthermore, this threshold value represents the criterion for a block change on activation
of synchronous operation or on alteration of the transmission parameters when the coupling
is active in cases where “Coarse synchronism” is selected as the block change response
condition (see channel specific MD: COUPLE_BLOCK_CHANGE_CTRL_1 or language
instruction COUPDEF).
If the value “0” is input, IS “Coarse synchronism” is always set to “1” in VV mode.
Related to .... Channel-spec. MD: COUPLE_BLOCK_CHANGE_CTRL_1 (block change response in
synchronous spindle operation)
IS “Coarse synchronism” (DB31–48, DBX98.1)
37230 COUPLE_POS_TOL_FINE
MD number “Fine” speed tolerance between leading and following spindles
Default setting: 0.5 Minimum input limit: 0.0 Maximum input limit: PLUS
Changes effective after NEW_CONF Protection level: 2/7 Unit:
Linear axis: mm/min
Rotary axis: rev/min
Data type: DOUBLE Applies as of SW 3.1
Meaning: In synchronous operation, the speed difference between the leading and following spindles
is monitored (VV mode only).
IS “Fine synchronism” is set if the current speed difference is within the tolerance band
specified by the threshold value.
Furthermore, this threshold value represents the criterion for a block change on activation
of synchronous operation or on alteration of the transmission parameters when the coupling
is active in cases where “Fine synchronism” is selected as the block change response
condition (see channel-specific MD: COUPLE_BLOCK_CHANGE_CTRL_1 or language
instruction COUPDEF).
If the value “0” is input, IS “Fine synchronism” is always set to “1” in VV mode.
Related to .... Channel-spec. MD: COUPLE_BLOCK_CHANGE_CTRL_1 (block change response in
synchronous spindle operation)
IS “Fine synchronism” (DB31–48, DBX98.0)
42300 COUPLE_RATIO_1[n].
SD number Speed ratio parameters for synchronous spindle mode [n]
Default setting: 1.0 Minimum input limit: –1000 Maximum input limit: 1000
Changes effective after NEW_CONF Protection level: MMCMD 9220 Unit: –
Data type: DOUBLE Applies as of SW 2.1
Meaning: This setting data determines the speed ratio parameters for the coupling configured in
channel-specific MD: COUPLE_AXIS_1[n].
The linear correlation between the leading and following spindles is determined by speed
ratio kÜ. This ratio is input by two speed ratio parameters in the form of numerator [n=0] and
denominator [n=1], allowing the speed ratio to be specified very exactly.
Signal Descriptions 5
5.1 Axis/spindle-specific signals
Notes
Examples 6
; Leading spindle = master spindle = spindle 1
; Following spindle = spindle 2
N05 M3 S3000 M2=4 S2=500; Leading spindle rotates at 3000 rev/min,
; FS: –500 rev/min.
N10 COUPDEF (S2, S1, 1, 1, “No”, “Dv”) ; Definition of coupling;
; can also be configured
...
N70 SPCON ; Take leading spindle into position control
; (setpoint coupling).
N75 SPCON(2) ; Take following spindle into position control.
N80 COUPON (S2, S1, 45) ; Couple on the fly to offset position = 45
; degrees
...
N200 FA [S2] = 100 ; Positioning velocity = 100 degrees/min
N205 SPOS[2] = IC(–90) ; Travel 90 degrees overlaid in the negative
; direction
N210 WAITC(S2, “Fine”) ; Wait for “fine” synchronism
N212 G1 X.., Y.. F... ; Processing
...
N215 SPOS[2] = IC(180) ; Travel 180 degrees overlaid in the positive
; direction
N220 G4 S50 ; Dwell time = 50 rotations of
; master spindle
N225 FA [S2] = 0 ; Activate configured speed (MD).
N230 SPOS[2] = IC (–7200) ; 20 rotations with configured speed ; in the ne-
; gative direction.
...
N350 COUPOF (S2, S1) ; Decouple on the fly, S = S2 = 3000
N355 SPOSA[2] = 0 ; Stop FS at zero degrees.
N360 G0 X0 Y0
N365 WAITS(2) ; Wait for spindle 2
N370 M5 ; Stop FS.
N375 M30
J
Notes
7.4 Interrupts
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, “Diagnostics Guide”
or in the Online help.
Notes
Notes
Brief Description 1
Every CNC requires memory for storing and managing data. This memory can
essentially be divided into two areas. One area contains data that doesn’t
change, such as the software of the CNC. This type of data can be stored on
electronic memory chips such as EPROM. The second area contains data
stored on the control by the machine manufacturer or user. This data is stored
on electronic memory chips such as RAM. The control system enables a RAM
area to be set up by the user for various specifications. This description
provides information on the areas of RAM that are available to the user and how
they can be set up.
Note
The SRAM memory currently available is shown in the Program operating area
in the program overview (dialog line).
Notes
Detailed Description 2
2.1 General
Active file system The active file system is in the static memory area (SRAM) of the NCK. It holds
the system and user data accessed by the NCK during program execution. The
active file system is thus not a file system in the true sense, but rather the main
memory of the NCK.
The following data are stored in the active file system of the NCK:
– Machine data
– Setting data
– Option data
– Global user data (GUD)
– Tool offset / magazine data
– Protection zones
– R variables
– Zero offsets / FRAMEs
– Sag compensations
– Quadrant error compensation
– Leadscrew error compensation
Passive file system The passive file system is located in the static memory area (SRAM) of the
NCK. It holds a structure of directories containing files that are permanently
stored on the NCK.
Its standard complement of directories is as follows:
Directory Contents
– _N_MPF_DIR Standard directory for main programs
– _N_SPF_DIR Subroutines
– _N_DEF_DIR Definition files (*.DEF) of global
user data and macros
– _N_CST_DIR Standard cycles
– _N_CUS_DIR User cycles
– _N_WKS_DIR Workpieces
– _N_COM_DIR Standard directory for comments
When data that can reconfigure the SRAM are changed, all data in the active
and passive file systems are lost except for machine data, setting data and
option data. It is therefore vital to create a series startup file before such
changes are activated.
SRAM The term SRAM refers to the static RAM of the control system that is available
to the user for backing up data. SRAM is also referred to in this documentation
as backup, battery-backed or static memory.
The SRAM memory currently available is shown in the Program operating area
in the program overview (dialog line).
DRAM The term DRAM refers to the dynamic RAM of the control system that is
available to the user. The data used in this area are generated exclusively by
the control, are only required for a certain length of time and do not, therefore,
require backup. DRAM is also referred to in this documentation as an
unbuffered or dynamic memory.
Hardware The following table shows the hardware configuration of the available NC
configuration CPUs:
SINUMERIK 840Di The memory available depends on the hardware configuration of the
components used (PCU and MCI board) and the memory available for
SINUMERIK 840Di.
SRAM SRAM that is available to the user. It can be configured by means of the
machine data described in this Description of Functions:
Alteration of It is evident from the memory organization described above that any changes to
memory areas the memory areas must affect the data stored. Every time the system powers
up, the CNC compares the current requirement for memory with the existing
memory space on the basis of machine data for individual data areas. If the
comparison establishes that one or more modified data areas require
reallocation of the data areas, the memory is reorganized.
Loss of data Reconfiguring the memory always causes total loss of the entire memory
during contents (i.e. contents of active and passive file system).
reconfiguration All data stored in the active and passive file systems will also be lost if the total
SRAM and/or DRAM memory requirement specified via machine data exceeds
the amount of available memory. For this reason, it is absolutely essential to
save the data in a series startup file before modifying the memory configuration.
The amount of memory space available prior to a reconfiguration is displayed in
machine data
Memory- The following list shows some of the machine data which affect the memory
configuring configuration:
machine data
S System-specific memory settings
S Channel-specific memory settings
S Axis-specific memory settings.
The modification of machine data for the SRAM belonging to these groups
always leads to the loss of data in the backup memory. The name of these
machine data begins with MM_ (e.g. MM_NUM_TOA_MODULES).
The number of active channels also affects the memory configuration. If the
number of channels is altered, these channels are set up according to the
default settings for the channel-specific memory areas when the system is
powered up. Since these areas are also in the SRAM, changing the number of
channels also leads to a loss of data in the backup user memory.
After a new value has been entered in a machine data which reallocates the
memory area of the SRAM (see Section 2.4), message 4400 “MD alteration will
cause reorganization of buffer (data loss!)” is output. This warning indicates that
a machine data has been changed, which causes the backup memory to be
reorganized when the NCK is powered up, resulting in a loss of all user data
stored there. If the memory is to be reorganized and the control contains data
which have not been backed up, these should be saved before the next NCK
power-up.
Note
The reorganization can be avoided by changing the modified value back to the
original value at the time of the last power-up.
Alarm 6000 The user memory (static or dynamic) cannot be reallocated because the total
memory area available (static or dynamic) is less than the total number of
memory areas set by machine data. In this case, all machine data for
configuring memory are deleted and assigned their default values. NC
machining is no longer possible. This situation is indicated by alarm 6000
“Memory allocation with standard machine data”. It is not possible to pinpoint a
particular machine data as the cause of the error in memory allocation.
However, it is possible to find the error by altering the machine data for the
memory settings one by one. The alarm can be canceled with RESET.
Machining is possible only when the user data have been loaded.
Alarm 6010 After cycle programs, macro definitions or definitions of global user data have
been incorporated, alarm 6010 “Channel [name 1] data block [name 2] has not
been or is only partially created, error number [identifier]” is output in response
to an error. Either the machine data for the corresponding memory areas have
been incorrectly configured or the files contain an error. As an example, three
files for macro definitions _N_SMAC_DEF, _N_MMAC_DEF and
_N_UMAC_DEF contain a total of 30 macro definitions, but the setting in MD
18160: MM_NUM_USER_MACROS (number of macros) restricts the number of
macros to 10.
The identifier [name 1] indicates the name of the channel where the error has
occurred. The identifier [name 2] indicates the name of the file with the error.
The error number is coded as follows with respect to the cause:
Error number Explanation
1 No memory available
2 Maximum no. of symbols exceeded
3 Index 1 outside permissible value range
4 Name already exists on channel
5 Name already exists on NCK
>100 000 Unrecoverable system error
If the error number output is between 1 and 5, the user can eliminate the error
himself. In cases where the error number is > 100000, the error is an
unrecoverable system error.
Machining is possible when the machine data or files have been corrected, or
the changes have been canceled and the system rebooted.
Alarm 6020 The SRAM has been reorganized after a modification to the static memory
allocation. All stored data, with the exception of the machine data, have been
lost. Alarm 6020 “Machine data altered – memory reallocated” indicates this
situation. The SRAM is reallocated when the number of channels on the CNC or
the system, channel or axis-specific memory settings for the static memory are
altered. The alarm can be canceled with RESET. Machining can resume when
the user data are loaded.
S Activate the number of channels and axes required, for further details see
References: / IAD / Installation & Start-Up Guide SINUMERIK 840D
/ HBI / SINUMERIK 840Di Manual
S If the memory default settings do not allocate the memory satisfactorily, then
the memory areas can now be reconfigured (increase/decrease individual or
several areas via machine data) to adapt the memory provided to the
requirements on the machine tool.
Check: Which memory areas require more memory space?
Which memory areas are less important for the application in
question?
S After the appropriate machine data for the selected memory areas have
been set to define memory requirements, the NCK is reset in order to
reorganize the memory.
Tool management
MD 18080: MM_TOOL_MANAGEMENT_MASK
MD 18082: MM_NUM_TOOL
MD 18084: MM_NUM_MAGAZINE
MD 18086: MM_NUM_MAGAZINE_LOCATION
MD 18090: MM_NUM_CC_MAGAZINE_PARAM
MD 18092: MM_NUM_CC_MAGLOC_PARAM
MD 18094: MM_NUM_CC_TDA_PARAM
MD 18096: MM_NUM_CC_TOA_PARAM
MD 18098: MM_NUM_CC_MON_PARAM
MD 18100: MM_NUM_CUTTING_EDGE_IN_TOA
MD 18230: MM_USER_MEM_BUFFERED
Program management
MD 18270: MM_NUM_SUBDIR_PER_DIR
MD 18280: MM_NUM_FILES_PER_DIR
MD 18290: MM_FILE_HASH_TABLE_SIZE
MD 18300: MM_DIR_HASH_TABLE_SIZE
MD 18310: MM_NUM_DIR_IN_FILESYSTEM
MD 18320: MM_NUM_FILES_IN_FILESYSTEM
R parameter:
MD 28050: MM_NUM_R_PARAM
Interpolatory compensation
MD 38000: MM_ENC_COMP_MAX_POINTS[ i ]
Y
Memory still available
MD 18060: INFO_FREE_MEM_STATIC
B
Example of GUD An example of how the calculate the memory requirements of global user data
is given below.
Supplementary
conditions
S Machine with two channels.
S The following GUD modules are defined:
UGUD User-specific
SGUD Siemens-specific
MGUD Machine manufacturer-specific
GUD7 (Contour table stock removal cycle, required for CYCLE95,
cycle version 3.4 and higher)
NCK variables
2 REAL values –> 2 x 8 bytes
= 16 bytes
1 BOOL values –> 1 x 1 byte
= 1 byte
Total 1 = 17 bytes
3 = Total NCK (no. of values)
Calculation of
memory required
S MD 18120: MM_NUM_GUD_NAMES_NCK = 3 (total NCK)
Memory space for management of NCK names
=> 3 x 80 bytes = 240 bytes
S If the memory default settings do not allocate the memory satisfactorily, then
the memory areas can now be reconfigured (increase/decrease individual or
several areas) to adapt the memory provided to the requirements on the
machine tool.
Check: Which memory areas require more memory space?
Which memory areas are less important for the application in
question?
S After the appropriate machine data for the selected memory areas have
been set to define memory requirements, the NCK is reset in order to
reorganize the memory.
Note
If more dynamic memory is demanded than the amount actually available, the
SRAM(!) is also automatically deleted during the next power-up and all
machine data for the memory configuration reset to their default values.
Macros:
MD 18160: MM_NUM_USER_MACROS
Hash tables:
MD 18250: MM_CHAN_HASH_TABLE_SIZE
MD 18210: MM_USER_MEM_DYNAMIC
MD 18260: MM_NCK_HASH_TABLE_SIZE
Tasks:
MD 18500: MM_EXTOM_TASK_STACK_SIZE
MD 18510: MM_SERVO_TASK_STACK_SIZE
MD 18520: MM_DRIVE_TASK_STACK_SIZE
MD 28500: MM_PREP_TASK_STACK_SIZE
MD 28510: MM_IPO_TASK_STACK_SIZE
Reorg function:
MD 27900: REORG_LOG_LIMIT
MD 28000: MM_REORG_LOG_FILE_MEM
MD 28010: MM_NUM_REORG_LUD_MODULES
Interpolation buffer:
MD 28060: MM_IPO_BUFFER_SIZE
MD 28070: MM_NUM_BLOCKS_IN_PREP
Compile cycles
MD 28090: MM_NUM_CC_BLOCK_ELEMENTS
MD 28100: MM_NUM_CC_BLOCK_USER_MEM
Protection zones:
MD 28210: MM_NUM_PROTECT_AREA_ACTIVE
Y
Dynamic memory still available
MD 18050: INFO_FREE_MEM_DYNAMIC
B
Example of local Local user data defined in the parts programs are stored in the DRAM while the
user data program in which they are defined is being executed.
An example of how to calculate the memory requirements of local user data is
given below.
Calculation of
memory required
S Memory required for variables
Total 1 = 10 bytes
S MD 28040: MM_LUD_VALUES_MEM
LUD defined in Local user data defined in the parts programs are stored in the DRAM while the
parts programs program in which they are defined is being executed.
During this period, it is possible to view the assigned values under the softkey
PARAMETER.
Definition of DEF INT LUD_VARIABLE1 Integer variable with the name VARIABLE1
variables in PP DEF REAL LUD_VARIABLE2 REAL variable with the name VARIABLE2
DEF REAL LUD_PAUL[19] Field with 20 REAL variables PAUL[0] –
PAUL[19]
S Release of memory space if LUD are no longer required (at end of program).
Variants of variable When a large number of variables is required, e.g. 20 REAL variables, it is
definition possible to save memory space by defining an ARRAY (field) at the beginning
of a parts program rather than defining each variable individually.
Example:
Case1
DEF REAL LUD_PAUL[19]
This field with 20 LUD variables PAUL[0] – PAUL[19] requires the following
memory space:
MD 28080 = 1 => 1 x 150 bytes = 150 bytes
Memory for 20 variables => 20 x 8 bytes = 160 bytes
Total memory required by 20 variables = 310 bytes
Case2
Individual definition of 20 variables: PAUL0, PAUL1 – PAUL19
MD 28080 = 20 => 20 x 150 bytes = 3000 bytes
Memory for 20 variables => 20 x 8 bytes = 160 bytes
Total memory required by 20 variables = 3160 Byte
Note
This alternative method of variables definition can also be applied
to GUD variables.
Note
The memory required depends on the software version and type of NC control.
The values specified in the table below for the change in memory requirements
based on changes in machine data are intended as guide values for SW 4
and NCU 572. The defaults and machine data limits for other software versions
or other NC controls can be found in:
References: /LIS/, Lists (for relevant software version)
S DRAM
– General machine data
– Channelspecific machine data
– Axis-specific machine data
S SRAM
– General machine data
– Channelspecific machine data
– Axis-specific machine data
Table entries
1. MD no.
Number of the machine data. The associated identifier can be looked up in
/LIS/.
2. Meaning
Meaning of the machine data.
New line:
GD: Basic DRAM overhead, GS: Basic SRAM overhead
(This overhead is produced when the function controlled by the MD is used.
Values are only specified for MD which are not directly proportional to the
value specified in column 3 or which cannot be calculated.)
3. Default value (def)
Value set when the software is supplied.
4. Increase def. by 1, extra req. (bytes)
Specifies the number of bytes by which the memory requirement changes if
the default value is increased by 1.
The basic overheads for GD and GS specified in column 2 are included in
the changes shown.
5. Increase def. by further (n)
Specifies by how many additional units the value of the machine data was
increased in the capacity calculation. The increased memory allocation is
specified in column 6.
6. Extra requirement for n, (bytes)
Specifies how much additional memory is required if the machine data is
increased by the value specified in column 5.
The basic overheads for GD and GS specified in column 2 are included in
the changes shown.
7. SRAM also affected
DRAM also affected
An x appears in the column if the other type of memory is also occupied
proportionally.
Note
The actual dependencies between machine data and required memory are
complex. Some MD initiate further functions which also use memory. The
relationship between the amount of memory used and the number in the MD is
not always linear. The tables below therefore only provide an approximate
indication of where memory can be reduced or increased in order to achieve
the desired configuration. The information applies both to increasing and
reducing the values specified in the machine data.
Supplementary Conditions 3
None
J
18050 INFO_FREE_MEM_DYNAMIC
MD number Display data of free dynamic memory
Default setting: 1048576 Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 0 Unit: Byte
Data type: DWORD Applies from SW: 1.1
Meaning: The data is used to display the number of bytes available in the dynamic memory. The data
cannot be defined. The display is updated with every NCK power-up. Possible step-by-step
procedure for calculating the memory requirement:
– Increase the input value by 1
– Power up the NCK
– Read off the memory requirement
– Calculate possible increase
The content of the machine data specifies the amount of dynamic RAM currently available
via MD for the expansion of the volatile user data areas. Before expanding a parameter,
such as the number of local user data (LUD), it is advisable to check that sufficient memory
is available.
Special cases: If more dynamic memory is requested than is currently available, the SRAM is deleted on
the next power-up and all machine data are initialized with the default settings.
18060 INFO_FREE_MEM_STATIC
MD number Display data of free static memory
Default setting: 2621440 Minimum input limit: – Maximum input limit: –
NCU573: 2621440
840Di: 524288
810D: 262144
Changes effective after POWER ON Protection level: 0 Unit: Byte
Data type: DWORD Applies from SW: 1.1
Meaning: The contents of the machine data indicate how much non-volatile memory is available for
the passive file system at the time of the power-up. Then the value is no longer updated.
To determine the current value at any given time the following operations are available:
HMI Advanced: Services or programming: Free memory in NCK
HMI Embedded: Programming; softkey memory info.
If MDs that influence the amount of backed-up memory required are altered, then the
amount of memory available for the passive file system also changes since the amount of
memory allocated to the passive file system consists of the memory setting in MD 18230:
MM_USER_MEM_BUFFERED (SRAM user memory) minus all other backup user data
(see also description of MD 18350: MM_USER_FILE_MEM_MINIMUM (minimum part
program memory)).
The data cannot be written. The display is only updated after every NCK power-up.
Special cases: If more static memory is requested than is currently available, the SRAM is deleted on the
next power-up and all machine data are initialized with the default settings.
18070 INFO_FREE_MEM_DPR
MD number Display data of free memory in DUAL_PORT RAM
Default setting: 0 Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 0 Unit: Byte
Data type: DWORD Applies from SW:
Meaning: None
MD irrelevant for ... ... The functionality is not available with SW 2.
18080 MM_TOOL_MANAGEMENT_MASK
MD number Screen form for reserving memory for TM function
Default setting: 00H Minimum input limit: 00H Maximum input limit: FFFFH
Changes effective after POWER ON Protection level: 1 Unit: –
Data type: DWORD Applies from SW: 2
Meaning: Step-by-step TM-specific memory reservation defined in particular by the following MD:
S MD 18086: MM_NUM_MAGAZINE_LOCATION
S MD 18084: MM_NUM_MAGAZINE
S MD 18096: MM_NUM_CC_TOA_PARAM
S MD 18094: MM_NUM_CC_TDA_PARAM
S MD 18098: MM_NUM_CC_MON_PARAM
S MD 18092: MM_NUM_CC_MAGLOC_PARAM
S MD 18090: MM_NUM_CC_MAGAZINE_PARAM
is implemented on a bit-coded basis as a function of this data.
Memory cannot be reserved simply by presetting the individual memory-configuring
machine data. The memory configuration is not changed until the appropriate machine data
is activated during the next power ON.
Bit 1: Make tool management data available:
S Memory-reserving MD for basic functionality of tools must be set:
MD 18092: MM_NUM_TOOL
MD 18100: MM_NUM_CUTTING_EDGES_IN_TOA
S Memory-reserving MD for tool management function must be set:
MD 18086: MM_NUM_MAGAZINE_LOCATION
MD 18084: MM_NUM_MAGAZINE
When bit 1 is set, TM-specific memory is added to the memory space defined in
MM_NUM_TOOL.
Bit 2: Make tool monitoring data available:
S Memory-reserving MD for basic functionality of tools must be set:
MD 18092: MM_NUM_TOOL
MD 18100: MM_NUM_CUTTING_EDGES_IN_TOA
When bit 2 is set, memory for monitoring data is made available. TM-specific memory is
added to the memory space programmed in MD 18100:
MM_NUM_CUTTING_EDGES_IN_TOA.
Bit 3: OEM/CC data available:
S Memory-reserving MD must be set:
MD: MM_NUM_CC_...
When bit 3 is set, memory is made available for OEM applications.
Bit 4: Consider adjacent location tool management:
S Make memory available for TM function “Consider adjacent location”
Special cases, errors, ... The buffered data are lost if this machine data is altered!
...
Related to .... MD 18084: MM_NUM_MAGAZINE (number of magazines that the NCK can manage)
MD 18086: MM_NUM_MAGAZINE_LOCATION (number of magazine locations
that the NCK can manage)
MD 18090: MM_NUM_CC_MAGAZINE_PARAM (number of magazine data that are set
up and evaluated by the CC)
MD 18092: MM_NUM_CC_MAGLOC_PARAM (number of magazine location data that are
set up and evaluated by the CC)
MD 18094: MM_NUM_CC_TDA_PARAM ((number of tool-specific data per tool for OEM
and compile cycle)
MD 18096: MM_NUM_CC_TOA_PARAM (number of data per tool cutting edge for
OEM and compile cycle)
MD 18098: MM_NUM_CC_MON_PARAM (number of monitoring data per tool
cutting edge for OEM and compile cycle)
References: /FBW/, “Description of Functions Tool Management”
18082 MM_NUM_TOOL
MD number Number of tools managed by the NCK
Default setting: 30 Minimum input limit: 0 Maximum input limit: 600
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 2
Meaning: The NC cannot manage more tools than the maximum number entered in the MD. One tool
has at least one cutting edge.
Special cases, errors, ... The maximum number of possible tools corresponds to the number of cutting edges.
...
This MD must be set even if no tool management function is used.
18084 MM_NUM_MAGAZINE
MD number Number of magazines managed by NC
Default setting: 3 Minimum input limit: 0 Maximum input limit: 32
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 2
Meaning: Number of magazines which NCK can manage.
The MD for TM MD 20310: TOOL_MANAGEMENT_MASK and MD 18080:
MM_TOOL_MANAGEMENT_MASK and the optional TM
$ON_TECHNO_FUNCTION_MASK must be set.
MD irrelevant for ... ... MD is irrelevant if the tool management function is not in use.
Special cases, errors, ... Only tool management stage 2:
...
Value = 0 –> tool management stage 2 cannot be activated because no memory area has
been set up for the data.
The buffered data are lost if this machine data is altered!
Related to .... MD 18080: MM_TOOL_MANAGEMENT_MASK (mask for reserving memory for TM
function)
MD 20310: TOOL_MANAGEMENT_MASK (activation of different variants of tool
management function)
$ON_TECHNO_FUNCTION_MASK
References /FBW/, “Description of Functions Tool Management”
18086 MM_NUM_MAGAZINE_LOCATION
MD number Number of magazine locations
Default setting: 30 Minimum input limit: 0 Maximum input limit: 600
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 2
Meaning: Number of magazine locations which NCK can manage.
The MD for TM MD 20310: TOOL_MANAGEMENT_MASK and MD 18080:
MM_TOOL_MANAGEMENT_MASK and the optional TM
$ON_TECHNO_FUNCTION_MASK must be set.
MD irrelevant for ... ... MD is irrelevant if the tool management function is not in use.
Special cases, errors, ... Only tool management stage 2:
...
Value = 0 –> tool management stage 2 cannot be activated because no memory area has
been set up for the data.
The buffered data are lost if this machine data is altered!
Related to .... MD 18080: MM_TOOL_MANAGEMENT_MASK (mask for reserving memory for TM
function)
MD 20310: TOOL_MANAGEMENT_MASK (activation of different variants of tool
management function)
$ON_TECHNO_FUNCTION_MASK
References /FBW/, “Description of Functions Tool Management”
18090 MM_NUM_CC_MAGAZINE_PARAM
MD number Compile cycles of tool management: Number of magazine data
Default setting: 0 Minimum input limit: 0 Maximum input limit: 10
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 2
Meaning: Only if MD for tool management and tool management option are set:
Number of magazine data (format IN_int) for which a memory area is set up and which can
be evaluated by compile cycles.
MD irrelevant for ... ... MD is irrelevant if tool management function is not activated.
Special cases, errors, ... The buffered data are lost if this machine data is altered!
...
Related to .... MD 18080: MM_TOOL_MANAGEMENT_MASK (mask for reserving memory for TM
function)
MD 18084: MM_NUM_MAGAZINE (number of magazines managed by the NC)
References: /FBW/, “Description of Functions Tool Management”
18092 MM_NUM_CC_MAGLOC_PARAM
MD number Compile cycles of tool management: Number of magazine location data
Default setting: 0 Minimum input limit: 0 Maximum input limit: 10
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 2
Meaning: Only if MD for tool management and tool management option are set:
Number of magazine data (format IN_int) for which a memory area is set up and which can
be evaluated by compile cycles.
MD irrelevant for ... ... MD is irrelevant if tool management function is not activated.
Special cases, errors, ... The buffered data are lost if this machine data is altered!
...
Related to .... MD 18080: MM_TOOL_MANAGEMENT_MASK (mask for reserving memory for TM
function)
References: /FBW/, “Description of Functions Tool Management”
18094 MM_NUM_CC_TDA_PARAM
MD number Compile cycles of tool management: Number of TDA data
Default setting: 0 Minimum input limit: 0 Maximum input limit: 10
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 2
Meaning: Only if MD for tool management and tool management option are set:
Number of TDA (tool-specific) data (format IN_int) for which a memory area is set up and
which can be evaluated by compile cycles.
MD irrelevant for ... ... MD is irrelevant if tool management function is not activated.
Special cases, errors, ... The buffered data are lost if this machine data is altered!
...
Related to .... MD 18080: MM_TOOL_MANAGEMENT_MASK (mask for reserving memory for TM
function)
MD 18082: MM_NUM_TOOL (number of tools managed by the NCK)
References: /FBW/, “Description of Functions Tool Management”
18096 MM_NUM_CC_TOA_PARAM
MD number Compile cycles of tool management: Number of TOA data
Default setting: 0 Minimum input limit: 0 Maximum input limit: 10
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 2
Meaning: Only if MD for tool management and tool management option are set:
Number of TOA (tool-specific) data (format IN_int) per cutting edge for which a memory
area is set up and which can be evaluated by compile cycles.
MD irrelevant for ... ... Tool management stages 1 and 2 not activated.
Special cases, errors, ... The buffered data are lost if this machine data is altered!
...
Related to .... MD 18080: MM_TOOL_MANAGEMENT_MASK (mask for reserving memory for TM
function)
MD 18100: MM_NUM_CUTTING_EDGES_IN_TOA (number of tool offsets in NCK)
References: /FBW/, “Description of Functions Tool Management”
18098 MM_NUM_CC_MON_PARAM
MD number Compile cycles of tool management: Number of monitor data
Default setting: 0 Minimum input limit: 0 Maximum input limit: 10
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 2
Meaning: For tool management compile cycles:
Number of monitor data which are created for each tool and which can be evaluated by
compile cycles.
MD irrelevant for ... ... MD is irrelevant if tool management function is not activated.
Special cases, errors, ... The buffered data are lost if this machine data is altered!
...
Related to .... MD 18080: MM_TOOL_MANAGEMENT_MASK (mask for reserving memory for TM
function)
MD 18100: MM_NUM_CUTTING_EDGES_IN_TOA (number of tool offsets in NCK)
References: /FBW/, “Description of Functions Tool Management”
18100 MM_NUM_CUTTING_EDGES_IN_TOA
MD number Number of tool offsets in NCK
Default setting: 30 Minimum input limit: 0 Maximum input limit: 1500
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 1.1
Meaning: The MD specifies the number of tool edges in the NCK. This machine data reserves
approximately 250 bytes of backup memory per TOA module for each tool edge, irrespec-
tive of the tool type.
Tools with cutting edge types 400–499 (= grinding tools) also occupy the location of a cut-
ting edge.
E.g.:
Define 10 grinding tools with one cutting edge each.
At least the following must apply:
MM_NUM_TOOL = 10
MM_NUM_CUTTING_EDGES_IN_TOA = 20
See also MM_NUM_TOOL
Special cases, errors, ... The data in the buffer are lost when the machine data are changed!
...
References: /FBW/, “Description of Functions Tool Management”
18118 MM_NUM_GUD_MODULES
MD number Number of GUD modules
Default setting: 3 Minimum input limit: 1 Maximum input limit: 9
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 2
Meaning: A GUD block corresponds to a file in which user-defined data can be stored. 9 GUD blocks
are available of which 3 are already assigned to specific users/applications.
UGUD_DEF_USER (block for user)
SGUD_DEF_USER (block for SIEMENS)
MGUD_DEF_USER (block for machine manufacturer)
Special cases, errors, ... The number of GUD modules is determined by the GUD with the highest number.
... Example: If the following GUD modules are defined,
UGUD
MGUD
GUD5
GUD8
then the machine data must be set to a value of 8, signifying
a memory requirement of 8 x 120 bytes = 960 bytes.
It is therefore advisable to select the “lowest” possible GUD module. If GUD modules
UGUD and MGUD have not been assigned elsewhere, then they may be used for this
purpose.
Related to: MD 18150: MM_GUD_VALUES_MEM (memory for user variables)
18120 MM_NUM_GUD_NAMES_NCK
MD number Number of global user variables
Default setting: 10 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the number of user variables for NCK global user data (GUD). Approximately 80
bytes of memory per variable are reserved in the SRAM for the name of the variable. The
additional memory required for the value of the variable depends on the data type of the
variable. The number of available NCK-global user variables is restricted by the limit value
set in MM_NUM_GUD_NAMES_NCK or MD 18150: MM_GUD_VALUES_MEM (memory
for user variables).
Special cases, errors, ... The data in the buffer are lost when the machine data are changed!
...
Related to .... MD 18150: MM_GUD_VALUES_MEM (memory for user variables)
18130 MM_NUM_GUD_NAMES_CHAN
MD number Number of channel-specific user variables
Default setting: 10 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the number of user variables for channel-specific global user data (GUD).
Approximately 80 bytes of memory per variable are reserved in the SRAM for the name of
the variable. The additional memory required for the variable value is equal to the size of
the data type of the variable multiplied by the number of channels. This means that each
channel has its own memory available for the variable values. The number of
channel-specific, global user variables available is exhausted when the limit defined in MD
18130: MM_NUM_GUD_NAMES_CHAN or MD 18150: MM_GUD_VALUES_MEM
(memory for user variables).
Special cases, errors, ... The data in the buffer are lost when the machine data are changed!
...
Related to .... MD 18150: MM_GUD_VALUES_MEM (memory for user variables)
18140 MM_NUM_GUD_NAMES_AXIS
MD number Number of axis-specific user variables
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 0 Unit: –
Data type: DWORD Applies from SW:
Special cases, errors, ... The data in the buffer are lost when the machine data are changed!
...
MD irrelevant for ... ... The functionality is not available with SW 2.
18150 MM_GUD_VALUES_MEM
MD number Memory location for user variables
Default setting: 2 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 Unit: KB
Data type: DWORD Applies from SW: 1.1
Meaning: The specified value reserves memory for the variable values of the global user data (GUD).
The dimensioning of the memory depends to a large extent on the data types used for the
variables.
Overview of memory used by data types:
The total memory required by channel or axis-specific global user variables is the memory
used by the variables multiplied by the number of channels or axes.
The number of global user variables available is exhausted when the limits defined in the
MD: MM_NUM_GUD_NAMES_xxxx or MM_GUD_VALUES_MEM are reached.
The battery-backed memory is used.
Special cases, errors, ... The buffered data are lost if this machine data is altered!
...
Related to .... MD 18118: MM_NUM_GUD_MODULES: (number of GUD modules)
MD 18120: MM_NUM_GUD_NAMES_NCK (number of global user variables)
MD 18130: MM_NUM_GUD_NAMES_CHAN (number of channel-specific user variables)
18160 MM_NUM_USER_MACROS
MD number Number of macros
Default setting: 10 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the total number of macros which can be stored in the files _N_SMAC_DEF,
_N_NMAC_DEF and _N_UMAC_DEF. When opened, each of these files requires at least
one KB of part program memory for the file code. If this limit for the file code is exceeded,
another KB is reserved for the file.
Dynamic user memory is used. Approximately 375 bytes per macro are reserved for the
specified number of macros for management tasks.
Special cases, errors, ... The data in the buffer are lost when the machine data are changed!
...
18170 MM_NUM_MAX_FUNC_NAMES
MD number Number of miscellaneous functions
Default setting: 30 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 1.1
Meaning: The machine data limits the maximum number of miscellaneous functions over and above
the predefined functions (such as sine, cosine, etc.) which can be used in
– cycle programs
– compile cycle software
The function names are entered in the global NCK dictionary and may not conflict with the
names that already exist.
The SIEMENS cycle package of SW version 1 contains miscellaneous functions that are
taken into account by the default setting of the MD.
The data are stored in volatile memory. Approximately 150 bytes are required for each
miscellaneous function for management purposes.
Related to .... MD 18180: MM_NUM_MAX_FUNC_PARAM (no. of miscellaneous function parameters)
18180 MM_NUM_MAX_FUNC_PARAM
MD number Number of additional parameters
Default setting: 300 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the maximum number of parameters required for the miscellaneous functions in
– cycle programs
– compile cycle software.
50 parameters are required for the miscellaneous functions of the Siemens cycle package
of SW version 1.
The data are stored in volatile memory. Approximately 72 bytes are reserved for each
parameter.
Related to .... MD 18170: MM_NUM_MAX_FUNC_NAMES (number of miscellaneous functions)
18190 MM_NUM_PROTECT_AREA_NCK
MD number Number of protection zones in NCK
Default setting: Minimum input limit: Maximum input limit:
0 0 10
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 2
Meaning: This machine data defines how many blocks are created for the protection
zones available in the NCK.
Special cases, errors, ... The data in the buffer are lost when the machine data are changed!
...
References /FB/, A3, “Axis Monitoring, Protection Zones”
18210 MM_USER_MEM_DYNAMIC
MD number User memory in DRAM
Default setting: Minimum input limit: Maximum input limit:
1000 – –
Changes effective after POWER ON Protection level: 2/7 Unit: KB
Data type: DWORD Applies from SW: 1.1
Meaning: The DRAM which physically exists in the NC is shared by the system and the user.
MM_USER_MEM_DYNAMIC defines the amount of memory in the DRAM that is available
to the user. The input limits are dependent on the hardware and software configuration of
the CNC.
This memory area contains various types of user data such as
– local user data
– REORG-LOG data.
The data in the dynamic memory are not backed up.
The input limits ensure that the memory space reserved does not exceed the amount of
memory which is actually available in the hardware.
Application example(s) When the default values are set, the following DRAM memory is available to the user with
the NCU 572/573 depending on the number of defined channels:
– 1 MB (1 channel defined)
– 300 KB (2 channels defined).
Special cases, errors, ... During power-up, the system software compares the total demands for DRAM with the
... value set in MD: MM_USER_MEM_DYNAMIC.
If the memory required exceeds the capacity defined in the machine data, alarm 6000
“Memory allocation with standard machine data” is output.
Alarm 6030 “User memory limit has been adjusted” is output if the control system detects
during power-up that the memory capacity requested through MM_USER_MEM_DYNAMIC
is greater than the physical memory size.
Related to: The available dynamic memory is displayed in MD 18050: INFO_FREE_MEM_DYNAMIC
(display data for available DRAM).
18220 MM_USER_MEM_DPR
MD number User memory in dual-port RAM
Default setting: 0 Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 0 Unit: KB
Data type: DWORD Applies from SW:
MD irrelevant for ... ... The functionality is not available with SW 2.
18230 MM_USER_MEM_BUFFERED
MD number User memory in SRAM
Default setting: Minimum input limit: Maximum input limit:
280 – –
Changes effective after POWER ON Protection level: 1 / 7 Unit: KB
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the size of the battery-backed user memory. Various types of user data are stored
in this area such as, for example:
– NC part programs
– R parameters
– Tool data
– User macros
– Global user data
If the NCU 572/573 is used with a larger memory, then the memory must be
released.
S Load the series start-up file back into the control system
During power-up, the system software compares the total amount of battery-backed
memory required with the value set in MD 18230: MM_USER_MEM_BUFFERED.
If the memory required exceeds the capacity defined in the machine data, alarm 6000
“Memory allocation with standard machine data” is output. Alarm 6030 “User memory limit
has been adjusted” is output if the control system detects during power-up that the memory
capacity requested in
MD 18230: MM_USER_MEM_BUFFERED is larger than the physical memory.
Special cases, errors, ... The data in the buffer are lost when the machine data are changed!
...
18240 MM_LUD_HASH_TABLE_SIZE
MD number Hash table size for user variables
Default setting: 11 Minimum input limit: 3 Maximum input limit: 107
Changes effective after POWER ON Protection level: 0 Unit: prime number
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the memory size for local user data (LUD). The value entered must be a prime
number. The setting allows the optimization of
– the interpreter execution time (lower value = longer execution time) and
– memory requirements (lower value = less memory).
A larger table requires a smaller number of decoding operations for internal decoding of the
variables and consequently a shorter interpreter execution time. The value set in this
machine data affects the amount of dynamic memory required for the management of the
modules for the local user variables with REORG, see MD 28010:
MM_NUM_REORG_LUD_MODULES (number of modules for local user variables with
REORG (DRAM)).
Note This machine data is assigned internally by the control and must not be altered
by the user.
18242 MM_MAX_SIZE_OF_LUD_VALUE
MD number Maximum field size of LUD variables
Default setting: 8192 Min. input limit: 128 Max. input limit: 8192
Default setting: 496 (SW4.1 and higher) 240 (from SW4.1) 496 (from SW4.1)
LUD / GUD up to 12 axes: 660 – –
LUD / GUD > 12 axes: 920 – –
NC memory GUD / LUD: – 240 8192
Changes effective after POWER ON Protection level: 2 Unit: Byte
Data type: DWORD Applies from SW: 2
Meaning: MD 18242: MM_MAX_SIZE_OF_LUD_VALUE specifies the block size in which the total
memory defined in
MD 28040: MM_LUD_VALUES_MEM is assigned to the part programs of the channel.
The first variable to occur in the part program occupies a block of the size specified in MD
18242: MM_MAX_SIZE_OF_LUD_VALUE. The following variables are also stored in this
block. If the block is full of values or cannot accommodate any further variable, then
another block is requested.
MD 18242: MM_MAX_SIZE_OF_LUD_VALUE must be set to the same value as the
memory required by the largest possible variable used.
18250 MM_CHAN_HASH_TABLE_SIZE
MD number Hash table size for channel-specific data
Default setting: 7 Minimum input limit: 7 Maximum input limit: 193
Changes effective after POWER ON Protection level: 0 Unit: prime number
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the size for channel-specific names. The value entered must be a prime number.
The setting allows the optimization of
– the interpreter execution time (lower value = longer execution time) and
– memory requirements (lower value = less dynamic memory).
A larger table requires a smaller number of decoding operations for internal decoding of the
variables and consequently a shorter interpreter execution time. The value of this machine
data affects the amount of dynamic memory required. The required memory for each
channel in bytes is equal to the value entered multiplied by 68.
Special cases, errors, ... The buffered data are lost if this machine data is altered!
...
Note This machine data is assigned internally by the control and must not be altered
by the user.
18260 MM_NCK_HASH_TABLE_SIZE
MD number Hash table size for global data
Default setting: 2503 Minimum input limit: 537 Maximum input limit: 4001
Changes effective after POWER ON Protection level: 0 Unit: prime number
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the size for NCK-specific names. The value entered must be a prime number. The
setting allows the optimization of
– the interpreter execution time (lower value = longer execution time) and
– memory requirements (lower value = less memory).
A larger table requires a smaller number of decoding operations for internal decoding of the
variables and consequently a shorter interpreter execution time. The value of this machine
data affects the amount of dynamic memory required. The required memory in bytes is
equal to the value entered multiplied by 68.
Special cases, errors, ... The buffered data are lost if this machine data is altered!
...
Note This machine data is assigned internally by the control and must not be altered
by the user.
18270 MM_NUM_SUBDIR_PER_DIR
MD number Number of subdirectories
Default setting: Minimum input limit: Maximum input limit:
30 24 250
Changes effective after POWER ON Protection level: 1 Unit: –
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the maximum number of subdirectories that a directory in the passive file system
can have. The number of directories is limited by MD 18310:
MM_NUM_DIR_IN_FILESYSTEM (no. of directories in passive file system). The memory
requirement is contained in the memory for the number of files per directory (see MD
18260: MM_NUM_FILES_PER_DIR).
Related to .... MD 18310: MM_NUM_DIR_IN_FILESYSTEM (no. of directories in passive file system)
18280 MM_NUM_FILES_PER_DIR
MD number Number of files per directory
Default setting: Minimum input limit: Maximum input limit:
100 64 512
Changes effective after POWER ON Protection level: 1 Unit:
Data type: DWORD Applies from SW: 1.1
Meaning: Specifies the maximum number of files which can be created in a directory or subdirectory
of the passive file system. The total number of files is limited by MD 18320:
MM_NUM_FILES_IN_FILESYSTEM (no. of files in passive file system). The memory in
bytes required for the management of files in the directory is the value entered multiplied by
40. The highest value of MD 18280: MM_NUM_FILES_PER_DIR (number of files per
directory) and MD 18270: MM_NUM_SUBDIR_PER_DIR (no. of subdirectories) must be
entered as the MD setting. The memory required to manage files in the passive file system
is reserved by MD 18320: MM_NUM_FILES_IN_FILESYSTEM.
Special cases, errors, ... The buffered data are lost if this machine data is altered!
... Note:
An alteration of the MD has an effect on directories created after this. This means that if the
number of files in an existing directory is to be altered, the existing directory must first be
deleted and then a new directory must be created (but only after having first saved the
files)!
Related to .... MD 18320: MM_NUM_FILES_IN_FILESYSTEM (number of files in passive file system)
18290 MM_FILE_HASH_TABLE_SIZE
MD number Hash table size for files in a directory
Default setting: Minimum input limit: Maximum input limit:
19 3 299
Changes effective after POWER ON Protection level: 0 Unit: prime number
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the size of the hash table for the files of a directory. The value entered must be a
prime number. The setting allows the optimization of
– the interpreter execution time (lower value – longer execution time) and
– memory requirements (lower value = less memory).
The value of this machine data affects the amount of static memory required for the
management of directories, see MD 18310: MM_NUM_DIR_IN_FILESYSTEM (no. of
directories in passive file system)
Special cases, errors, ... The buffered data are lost if this machine data is altered!
...
Note This machine data is assigned internally by the control and must not be altered
by the user.
18300 MM_DIR_HASH_TABLE_SIZE
MD number Hash table size for subdirectories
Default setting: 7 Minimum input limit: 3 Maximum input limit: 349
Changes effective after POWER ON Protection level: 0 Unit: prime number
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the size of the hash table for the subdirectories of a directory. The value entered
must be a prime number. The setting allows the optimization of
– the interpreter execution time (lower value – longer execution time) and
– memory requirements (lower value = less memory).
The value of this machine data affects the amount of static memory required for the
management of directories, see MD 18310: MM_NUM_DIR_IN_FILESYSTEM (no. of
directories in passive file system)
Special cases, errors, ... The buffered data are lost if this machine data is altered!
...
Note This machine data is assigned internally by the control and must not be altered
by the user.
18310 MM_NUM_DIR_IN_FILESYSTEM
MD number Number of directories in passive file system
Default setting: Minimum input limit: Maximum input limit:
30 30 256
Changes effective after POWER ON Protection level: 2 Unit: –
Data type:DWORD Applies from SW: 1.1
Meaning: This machine data limits the number of directories in the passive file system and can be
used to reserve memory in the SRAM for the management of the directories. The
directories and subdirectories of the passive file system set up by the system are included
in this machine data. The memory required for the management of the directories can be
calculated as follows:
Memory required = a (440+28 (b+c)) bytes
a = Input value of MD 18310: MM_NUM_DIR_IN_FILESYSTEM (no. of directories in
passive file system)
b = Input value of MD 19300: MM_DIR_HASH_TABLE_SIZE (HASH table size for
subdirectories)
c = Input value of MD 18290: MM_FILE_HASH_TABLE_SIZE (hash table size for the files
of a directory)
Special cases, errors, ... The data in the buffer are lost when the machine data are changed!
...
Related to .... MD 18270: MM_NUM_SUBDIR_PER_DIR (no. of subdirectories)
18320 MM_NUM_FILES_IN_FILESYSTEM
MD number Number of files in passive file system
Default setting: Minimum input limit: Maximum input limit:
100 64 512
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the number of files available in the part program memory. This machine data is
used to reserve memory in SRAM – approximately 320 bytes – for file management. Each
file created requires a minimum of one KB of memory for the file code. If the one KB limit for
the file code is exceeded another KB is reserved for the file.
Special cases, errors, ... The data in the buffer are lost when the machine data are changed!
...
Related to: MD 18280: MM_NUM_FILES_PER_DIR (number of files in directories)
18342 MM_CEC_MAX_POINTS
MD number Maximum table size for sag compensation
Default setting: 0 Minimum input limit: 0 Maximum input limit: 2000
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 2
Meaning: Maximum table size for interpolative compensation between axes.
18350 MM_USER_FILE_MEM_MINIMUM
MD number Minimum NC program memory
Default setting: 20 Minimum input limit: 20 Maximum input limit: 100
Changes effective after POWER ON Protection level: 1 Unit: KB
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the minimum backup memory area remaining for the files of the passive file
system. The settable value depends on the hardware and software configurations (SRAM
memory allocation) and on MD 18230: MM_USER_MEM_BUFFERED (SRAM user
memory). When the SRAM memory is allocated, the remaining memory is allocated to the
files of the passive file system. In order to ensure that the file system can operate, the
memory space specified in MM_USER_FILE_MEM_MINIMUM must be available to the
memory. If this condition is not met, the memory is allocated with the default data on the
control and all the data stored in the SRAM by the user is lost. Alarm 6000 “Memory
allocation with standard machine data” is also output.
The available part program memory capacity is displayed in MD 18060:
INFO_FREE_MEM_STATIC (display of free static memory).
Special cases, errors, ... The buffered data are lost if this machine data is altered and the remaining memory is
... smaller than the value in MM_USER_FILE_MEM_MINIMUM.
18500 MM_EXTCOM_TASK_STACK_SIZE
MD number Stack size for external communication task
Default setting: 17 Minimum input limit: 4 Maximum input limit: 20
Changes effective after POWER ON Protection level: 0 Unit: KB
Data type: DWORD Applies from SW: 1.1
Meaning: The size of the stack for external communication. The dynamic memory area is used.
Note This machine data is assigned internally by the control and must not be altered by the user.
18510 MM_SERVO_TASK_STACK_SIZE
MD number Stack size of servo task
Default setting: 8 Minimum input limit: 4 Maximum input limit: 20
Changes effective after POWER ON Protection level: 0 Unit: KB
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the stack size for the SERVO task. The dynamic memory is used for this purpose.
Note This machine data is assigned internally by the control and must not be altered by the user.
18520 MM_DRIVE_TASK_STACK_SIZE
MD number Stack size of drive task
Default setting: 8 Minimum input limit: 4 Maximum input limit: 20
Changes effective after POWER ON Protection level: 0 Unit: KB
Data type: DWORD Applies from SW: 1.1
Meaning: The stack size for the SIMODRIVE task is stored in this data.
The stack is set up in dynamic memory.
Note This machine data is assigned internally by the control and must not be altered by the user.
27900 REORG_LOG_LIMIT
MD number Percentage of IPO buffer for log file enable
Default setting: 1 Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 0 Unit: –
Data type: BYTE Applies from SW: 1.1
Meaning: The machine data defines the percentage of the IPO buffer above which data in the
REORG LOG memory can be released in stages, if the block preparation has been
interrupted due to an overflow of the REORG LOG data memory. The released data are no
longer available to the REORG function (References: /FB/, K1, “Mode Groups, Channels,
Program Operation Mode”). A consequence of this status is that a further REORG
command is canceled with an error message. If the status of non-reorganizability occurs,
warning 15110 is output. The output of the warning can be suppressed by enabling the
highest significant bit. The bit is set by adding the value 128 to the input value in
REORG_LOG_LIMIT.
In addition to the instructions of the NC blocks, the size of the IPO buffer and the REORG
data memory also affect the frequency of data release.
Related to .... MD 28000: MM_REORG_LOG_FILE_MEM (memory size for REORG)
MD 28060: MM_IPO_BUFFER_SIZE (no. of blocks in the IPO buffer)
28000 MM_REORG_LOG_FILE_MEM
MD number Memory size for REORG
Default setting: Minimum input limit: Maximum input limit:
10 1 500
Changes effective after POWER ON Protection level: 2 Unit: KB
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the size of dynamic memory for the REORG LOG data. The size of the memory
determines the amount of data available for the REORG function.
References /FB/, K1, “Mode Group, Channels, Program Operation”
28010 MM_NUM_REORG_LUD_MODULES
MD number Number of modules for local user variables with REORG
Default setting: 4 Minimum input limit: 0 Maximum input limit: 100
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the number of additional LUD modules provided for the REORG function (see
Description of Functions, Mode Groups, Channels, Program Operation Mode (K1)). If the
REORG function is not used, this value can be 0. The CNC always opens 12 LUD
modules: 8 for NC programs and 4 for asynchronous subprograms. One LUD module is
required for each NC program or asynchronous subprogram containing a definition of a
local variable. It may be necessary to increase this value for REORG if a larger IPO buffer
is provided and a large number of short NC programs containing LUD variable definitions
are active (the NC blocks of the program are stored in prepared format in the IPO buffer.
One LUD module is required for each of these programs. The capacity of the reserved
memory is affected by the number of LUD per NC program and their individual memory
requirements.
The LUD modules are stored in dynamic memory.
The memory required for managing the modules for local user variables with REORG can
be calculated as follows:
Memory = a x (200 + b x 160) bytes
a = Total number of LUD modules = 8 + 4 + value in MD:
MM_NUM_REORG_LUD_MODULES
b = Input value of MD 18240: MM_LUD_HASH_TABLE_SIZE (hash table size for user
variables)
The size of the LUD modules depends on the number of active LUD and their data types.
The memory for LUD modules is limited by MD 28000: MM_REORG_LOG_FILE_MEM
(memory size for REORG).
Application example(s) Example:
A main program consisting of 4 NC blocks is started:
– A LUD variable is defined in the first block.
– A subprogram, nested up to 8 levels, is called in each of the second and third blocks.
– The fourth block terminates the program.
Each subprogram comprises 3 NC blocks:
– An LUD variable is defined in the first block.
– A subprogram call to the next program level is executed in the second block.
– The third block terminates the subprogram.
Instead of a subprogram call, the subprogram in the last program level contains a different
command, such as a traversing movement. This makes a total of 15 programs with 46 NC
blocks which can all be stored in prepared format in the IPO buffer. Since the REORG
function requires all the data of the 46 blocks, LUD modules for 3 programs are missing. A
value of 3 for the additionally required LUD data blocks must be entered in
MM_NUM_REORG_LUD_MODULES for the example given.
28020 MM_NUM_LUD_NAMES_TOTAL
MD number Number of local user variables
Default setting: Minimum input limit: Maximum input limit:
200 0.0 plus
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW: 1.1
Meaning: Defines the number of variables for the local user data (LUD) which are permitted to exist in
the active sections of the program. Approximately 150 bytes of memory per variable are
reserved for the names of the variables and the variable value. The memory required for
the variable value is equal to the size of the data type. If the total of the local user variables
from the active main program and the related subprograms are larger than the defined limit,
the variables which are over the limit are not accepted during execution of the program.
Dynamic memory is used to store the variable names and values.
28040 MM_LUD_VALUES_MEM
MD number Memory size for local user variables
Default setting: 12, 12, ..., Minimum input limit: 0.0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2 Unit: KB
Data type: DWORD Applies from SW: 4.3
Meaning: This MD defines the amount of memory space available for LUD variables.
The number of available LUD is exhausted when one of the limit values in either
MD 28020: MM_NUM_LUD_NAMES_TOTAL or MM_LUD_VALUES_MEM is reached.
The memory defined here is subdivided into (MM_LUD_VALUES_MEM * 1024) /
MM_MAX_SIZE_OF_LUD_VALUE blocks and allocated to part programs which request
memory. Each part program which contains at least one definition of LUD variables or
which has call parameters uses at least one such block.
It should be remembered that several part programs can be open at once and thus use
memory on the NCK. The number depends on the type of programming, the program length
and the size of the internal NCK block memory upwards of (MM_IPO_BUFFER_SIZE,
MM_NUM_BLOCKS_IN_PREP).
Related to: MD 28020: MM_NUM_LUD_NAMES_TOTAL (number of local user variables (DRAM))
28050 MM_NUM_R_PARAM
MD number Number of channel-specific R parameters
Default setting: Minimum input limit: 0 Maximum input limit: 32535
100
Changes effective after POWER ON Protection level: 0 / 0 Unit: –
Data type: DWORD Applies from SW: 4.3
Meaning: Defines the number of R parameters available on the channel. A maximum of 32535 R
parameters are available for each channel. This machine data is used to reserve 8 bytes of
backup user memory for each R parameter. R parameters require substantially less
management overhead compared with LUD and GUD variables.
Special cases, errors, ... The buffered data are lost if this machine data is altered!
...
28060 MM_IPO_BUFFER_SIZE
MD number Number of NC blocks in the IPO buffer
Default setting: Minimum input limit: Maximum input limit:
10, 10, 10, 10, 10, 10, 10, 10 2
NCU 571: 300
NCU 572, 573: 300
810D: 180
810D_2: 300
Changes effective after POWER ON Protection level: 0 / 0 Unit: –
Data type: DWORD Applies from SW: 4.3
Meaning: Defines the number of blocks in the interpolation buffer. This buffer contains prepared NC
blocks which are provided for interpolation. Approximately 10 Kbytes of dynamic user
memory is reserved for each NC block. The data also limits the number of Look Ahead
blocks for limiting the speed in the Look Ahead function.
28070 MM_NUM_BLOCKS_IN_PREP
MD number Number of blocks for block preparation
Default setting: Minimum input limit: Maximum input limit:
NCU 570: 38 20 NCU 570: ***
NCU 571: 30 NCU 571: ***
NCU 572: 38 NCU 572: ***
NCU 573: 38 NCU 573: ***
810D: 30 810D: ***
810D_2: 38 810D_2: ***
Changes effective after POWER ON Protection level: 0 / 0 Unit: Number of internal
blocks
Data type: DWORD Applies as of SW 4.3
Meaning: Defines the number of blocks available for NC block preparation. This figure is determined
mainly by the system software and is used for optimization. A part of dynamic memory is
reserved (approximately 10 KB per NC block).
Related to: MD 28060: MM_IPO_BUFFER_SIZE (number of NC blocks with IPO buffer)
28080 MM_NUM_USER_FRAMES
MD number Number of settable frames
Default setting: 5 Minimum input limit: 5 Maximum input limit: 100
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies as of SW 1.1
Meaning: Defines the number of predefined user frames. Approximately 400 bytes of backup memory
are reserved per frame.
The standard configuration on the system provides four frames for G54 to G57 and one
frame for G500.
Special cases, errors, ... The buffered data are lost if this machine data is altered!
...
28085 MM_LINK_TOA_UNIT
MD number Allocation of a TO unit to a channel
Default setting: Minimum input limit: Maximum input limit:
1, 2, 3, 4, 5 ... 1 Max. no. chan. in system –1
Changes effective after POWER ON Protection level: Unit: –
Data type: DWORD Applies as of SW 2
Meaning: A TO unit is assigned to each channel through a default setting. The memory is thus
reserved for the data blocks (tools, magazines).
A TOA unit can also be assigned to several channels.
Def.: The TOA area is the sum of all TOA and magazine blocks in the NC.
The TOA unit consists of a TOA block and, with activated TM function, a magazine block.
Special cases, errors, ... The buffered data are lost if this machine data is altered!
...
28090 MM_NUM_CC_BLOCK_ELEMENTS
MD number Number of block elements for Compile cycles
Default setting: Minimum input limit: Maximum input limit:
Compile cycles: 0 0 0
NC570: – – –
840di: 2, 2, 0, 0... – –
Transf. 810D: 2, 2, 0, 0 ... – –
Changes effective after POWER ON Protection level: 0 Unit: –
Data type: DWORD Applies as of SW 1.1
Meaning: The value defines the number of block elements used for compile cycles.
Approximately 1.2 KB of dynamic memory per block element is required for SW 2.
28100 MM_NUM_CC_BLOCK_USER_MEM
MD number Size of block memory for Compile cycles
Default setting: Minimum input limit: Maximum input limit:
NCU 570: – – –
NCU 572, 573: 256, 0, 0, 0... – –
840Di: 2, 2, 0, 0, – –
810D: 2, 2, 0, 0, 0 – –
Changes effective after POWER ON Protection level: 0 Unit: KB
Data type: DWORD Applies as of SW 1.1
Meaning: The value defines the total capacity of block memory available to the user in the dynamic
memory area for the compile cycles. The memory is allocated in staggered blocks of 128
bytes.
28200 MM_NUM_PROTECT_AREA_CHAN
MD number Number of modules for channel-specific protection zones
Default setting: Minimum input limit: Maximum input limit:
0 0 10
Changes effective after POWER ON Protection level: 2 Unit:
Data type: DWORD Applies as of SW 2
Meaning: This machine data defines how many blocks are created for channel-specific protection
zones.
Related to .... MD 28210: MM_NUM_PROTECT_AREA_ACTIVE (number of simultaneously active
protection zones)
MD 18190: MM_NUM_PROTECT_AREA_NCK (number of files for machine-related
protection zones (SRAM))
Additional references /FB/, A3, “Axis Monitoring, Protection Zones”
28210 MM_NUM_PROTECT_AREA_ACTIVE
MD number Number of simultaneously active protection zones
Default setting: Minimum input limit: Maximum input limit:
0 0 10
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies as of SW 2
Meaning: The machine data specifies for each channel the number of protection zones that may be
activated simultaneously. The NCU-specific max. input limit specified above cannot be
exceeded in total for all channel-specific parameters.
A numerical value higher than the setting in MD 18190:
MM_NUM_PROTECT_AREA_NCK +
MD 28200: MM_NUM_PROTECT_AREA_CHAN is not meaningful.
Related to .... MD 28200: MM_NUM_PROTECT_AREA_CHAN (number of blocks for channel-specific
protection zones)
MD 281212: MM_NUM_PROTECT_AREA_CONTOUR (elements for active protection
zones (DRAM))
MD 18190: MM_NUM_PROTECT_AREA_NCK (number of files for machine-related
protection zones (SRAM))
Additional references /FB/, A3, “Axis Monitoring, Protection Zones”
28212 MM_NUM_PROTECT_AREA_CONTOUR
MD number Elements for active protection zones (DRAM)
Default setting: Minimum input limit: Maximum input limit:
30 0 50
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies as of SW 6.4
Meaning: This machine data specifies for each channel the number of internal contour elements to be
kept available simultaneously for the individual active protection zones.
Dynamic memory space is used,
determining the amount of memory required for active protection zones. This machine data
only takes effect when MD 28210: MM_NUM_PROTECT_AREA_ACTIVE does not equal
zero.
Related to .... MD 28210: MM_NUM_PROTECT_AREA_ACTIVE (number of simultaneously active
protection zones)
Additional references /FB/, A3, “Axis Monitoring, Protection Zones”
28500 MM_PREP_TASK_STACK_SIZE
MD number Stack size for preparation task
Default setting: Minimum input limit: Maximum input limit:
45 10 70
Changes effective after POWER ON Protection level: 0 Unit: KB
Data type: DWORD Applies as of SW 1.1
Meaning: Defines the stack size for the preparation task. The stack is stored in dynamic memory.
Note This machine data is assigned internally by the control and must not be altered
by the user.
28510 MM_IPO_TASK_STACK_SIZE
MD number Stack size of IPO task
Default setting: Minimum input limit: Maximum input limit:
NCU 571: 12 NCU 571: 4 NCU 571: 40
NCU 572: 12 NCU 572: 4 NCU 572: 40
NCU 573: 12 NCU 573: 4 NCU 573: 40
810D : 12 810D :4 810D : 40
Changes effective after POWER ON Protection level: 0 Unit: KB
Data type: DWORD Applies as of SW 1.1
Meaning: The stack size for the IPO task is stored in this data. The stack is set up in dynamic
memory.
Note This machine data is assigned internally by the control and must not be altered
by the user.
28550 MM_PRSATZ_MEM_SIZE
MD number Available memory for internal blocks
Default setting: 400 Minimum input limit: 100 Maximum input limit: 4000
Changes effective after POWER ON Protection level: 0 Unit: KB
Data type: DWORD Applies as of SW 1.1
Meaning: None.
This MD no longer exists in SW 2.
38000 MM_ENC_COMP_MAX_POINTS
MD number Number of intermediate points with interpolatory compensation
Default setting: 0 Minimum input limit: 0 Maximum input limit: 5000
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies as of SW 1,1
Meaning: Defines the number of leadscrew compensation values per encoder for the axis. This value
reserves 8 bytes of backup user memory for each compensation value. If more memory for
compensation values is required than available in the SRAM, the control outputs alarm
6000 “Memory allocation with standard machine data” on power-up.
Special cases, errors, ... The buffered data are lost if this machine data is altered!
...
Additional references /FB/, K3, “Compensation”
38010 MM_QEC_MAX_POINTS
MD number Number of values for quadrant error compensation
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1040
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies as of SW 2
Meaning: Number of possible values for quadrant error compensation with neural network (option).
When value = 0 : The quadrant error compensation function cannot be activated, no
memory is set up for the function.
Special cases, errors, ... The buffered data are lost if this machine data is altered!
...
Additional references /IAD/, “SINUMERIK 840D Installation and Start-up Guide”
/FB/, K3, “Compensations”
Notes
Signal Descriptions 5
None
J
Example 6
None
J
7.2 Interrupts
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, “Diagnostics Guide”
or in the Online help.
J
Notes
Notes
Brief Description 1
Indexing axes In certain applications, the axis is only required to approach specific grid points
on machine tools (e.g. location numbers).
It is necessary to approach the defined grid points (called indexes) both in auto-
matic and set-up modes. These axes are known as “indexing axes”. The posi-
tions defined on the indexing axes are known as “coded positions” or “index
positions”.
Special functions are available for equidistant indexing on linear and rotary axes
and for the Hirth tooth system.
Applications Indexing axes are used predominantly in connection with specific types of tool
magazine such as tool turrets, tool chain magazines or tool cartridge maga-
zines. The coded positions refer to the individual locations of the tools in the
magazines. During a tool change, the magazine is positioned at the location
containing the tool to be loaded.
Display index A system variable can specify the number of the current indexing position de-
pending on the specifications in a machine data:
– when the exact stop fine window of the index position is reached or
– when half the distance to the next indexing position is crossed.
The programmed index position can be scanned using a further system vari-
able.
J
Notes
Detailed Description 2
2.1 Traversing indexing axes
General Indexing axes can be traversed manually in the setup mode types JOG and
INC, from a parts program with special instructions for “Coded positions” and by
the PLC. When the indexing position has been reached, the “indexing axis in
position” interface signal (DB31–61, DBX76.6) is output to the PLC.
Hirth indexing axes cannot be traversed in JOG mode before reference point
approach.
Reference point An indexing axis approaches the reference point in the same way as other
approach axes. It is not necessary for the reference point to match an indexing position.
Only when the reference point has been reached (IS “Referenced/synchro-
nized 1 or 2” (DB31–61, DBX60.4 or 5) = “1”) does the indexing axis start to
approach indexing positions in JOG mode with JOG and incremental traversing.
Exception: When traversing with the handwheel, no indexing positions are ap-
proached.
Continuous
traversal in JOG
S Jog mode (SD: JOG_CONT_MODE_LEVELTRIGGRD = “1”):
Pressing a “+” or “–” traversing key causes the indexing axis to move in the
same way as with conventional JOG traversing. When the traversing key is
released, the indexing axis traverses to the next indexing position in the di-
rection of traversing.
Incremental Irrespective of the current increment setting (INC1; ... , INCvar), the indexing
jogging (JOG INC) axis always traverses through one indexing position in the selected direction
when a traversing key “+” or “–” is pressed.
In jog mode, the traversing movement is interrupted when the traversing key is
released. The indexing position can be approached by pressing the traversing
key again.
In continuous mode, the traversing movement is aborted when the traversing
key is pressed again. The indexing axis is, in this case, not located on the in-
dexing position.
Between indexing If an indexing axis is situated between 2 indexing positions, then it approaches
positions the next-higher indexing position when the “+” traversing key is pressed in JOG-
INC mode. Similarly, pressing the “–” traversing key causes the next-lower in-
dexing position to be approached.
Handwheel When the indexing axis is traversed by means of the handwheel in JOG mode,
traversal the indexing positions are ignored. Rotating the handwheel traverses the in-
dexing axis to any position in mm, inches or degrees, according to the selected
unit of measurement.
The PLC user program can disable the handwheel for traversing the indexing
axis.
Signal from PLC When the indexing axis is traversed in JOG mode, the signal “Indexing axis in
“Indexing axis in position” (DB31–61, DBX76.6) is output at the PLC interface to indicate that an
position” indexing position has been reached. The indexing axis must have been refer-
enced (IS “Referenced/synchronized 1 or 2” = “1”).
Alarms in JOG If the indexing axis leaves the traversing range defined in the indexing position
mode table (see 2.2) when traversing in JOG mode, alarm 20054 “wrong index for
indexing axis in JOG” is output.
Revolutional In JOG mode the behavior of the axis/spindle also depends on the setting of
feedrate setting data JOG_REV_IS_ACTIVE (revolutional feedrate when JOG active).
S If the setting data is not active, the behavior of the axis/spindle depends on
the setting data ASSIGN_FEED_PER_REV_SOURCE (revolutional fee-
drate for positioning axes/spindles).
S 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
JOG_FEED_PER_REV_SOURCE. (In the operating mode JOG, revolu-
tional feedrate for geometry axes on which a frame with rotation is effective).
Traversal to An axis defined as an indexing axis can be made to approach any selected
selected positions position from the NC parts program in AUTOMATIC mode. This includes posi-
tions between the defined indexing positions. These positions are programmed,
in the usual way, in the unit of measurement (mm/inches or degrees) for the
axis. The general programming instructions used for this purpose (G90, G91,
AC, IC, etc.) are described in the Programming Guide.
On rotary axes, the indexing position can be approached directly across the
shortest path (CDC) or with a defined direction of rotation (CACP, CACN).
Please refer to Section 2.3 for further information on the special programming
instructions for indexing axes.
Interface signal If the “Exact stop fine” window is reached and the indexing axis is positioned on
“Indexing axis in an indexing position, the signal is enabled regardless of how the indexing posi-
position” tion was reached.
Traversal from PLC Indexing axes can also be traversed from the PLC user program. There are
various methods:
Definition of the An axis (linear or rotary axis) can be defined as an indexing axis with the axial
indexing axis machine data MD 30500: INDEX_AX_ASSIGN_POS_TAB. The number of the
indexing position table (1 or 2) must be entered in the machine data.
Several axes can be assigned to an indexing position table on condition that
these indexing axes are of the same type (linear axis, rotary axis, modulo 360°
function). Otherwise alarm 4080 “Incorrect configuration for indexing axis in MD
[Name]” is output at boot.
Indexing position The axis positions (in mm or degrees) assigned to the indexes must be stored
tables for each indexing axis in the form of a table in machine data. Any value can be
entered for the distance between the individual indexing positions.
The following should be noted when entering the indexing positions:
Number of entries Up to 60 positions can be entered in each indexing position table [n = 0 ... 59].
for each table
The actual number of entries used must be defined with machine data
MD 10900: INDEX_AX_LENGTH_POS_TAB_1 or
MD 10920: INDEX_AX_LENGTH_POS_TAB_2
for table 1 and/or 2.
All positions entered in the table which are higher than the number defined in
the machine data are inactive.
Inch/metric The indexing positions refer to the configured system of units in MD 10270:
switchover POS_TAB_SCALING_SYSTEM.
MD 10270: POS_TAB_SCALING_SYSTEM=0: metric
MD 10270: POS_TAB_SCALING_SYSTEM=1: inch
Note
MD 10270 defines the system of units for position specifications for the
following machine data:
MD 10900: INDEX_AX_POS_TAB_1
MD 10920: INDEX_AX_POS_TAB_2
MD 10270 also affects SD 41500 to SD 41507 (see /N3/).
Entry format
S The indexing positions must be entered in the table in ascending order
(starting with the negative to the positive traversing range) with no gaps be-
tween the entries. Consecutive position values cannot be identical.
S Since the indexing axis is defined as a continuously rotating rotary axis, in-
dexing position 1 is approached after the highest valid indexing position in
the table has been reached and the axis continues to traverse in the positive
direction with INC. Similarly, indexing position 1 is followed by the highest
valid indexing position in the negative direction with INC.
Coded position To allow indexing axes to be positioned from the NC parts program, special in-
structions (so-called Coded positions) are provided with which the indexing
numbers (e.g. location number) are programmed rather than axis positions in
mm or degrees. The following coded position instructions are possible, depend-
ing on whether the indexing axis is defined as a linear or rotary axis:
Indexing axis is a linear axis: CAC(i), CIC(i)
Indexing axis is a rotary axis: CAC(i), CIC(i), CACP(i), CACN(i), CDC(i)
i = coded position (indexing position)
Value range of i: 0 ... 59; integer; with the exception of CIC positive only
Absolute Indexing axis B approaches coded position (index) 20 in absolute mode. The
POS[B]=CAC(20) direction of traversing depends on the current actual position.
Absolute in Indexing axis B approaches coded position (index) 10 in absolute mode in the
positive direction positive direction of rotation (only possible with rotary axes).
POS[B]=CACP(10)
Absolute in Indexing axis B approaches coded position (index) 10 in absolute mode in the
negative direction negative direction of rotation (only possible with rotary axes).
POS[B]=CACN(10)
Direct absolute Indexing axis B approaches indexing position 50 directly along the shortest path
POS[B]=CDC(50) (only possible with rotary axes).
POS[B]=CIC(35) Indexing axis B traverses incrementally from the current indexing position
across 35 indexing positions in the positive direction.
The leading sign defines the direction of approach.
Note
On modulo rotary axes, the indexing positions are divided in factors of 360
degrees and are approached directly.
Between indexing If an indexing axis is located between two indexing positions in automatic mode,
positions the program command
Display of The last programmed indexing position can be read using system variable
indexing position $AA_PROG_INDEX_AX_POS.
The system variable for the number of the last overrun indexing position
$AA_ACT_INDEX_AX_POS can display, depending on the setting in
MD 10940: INDEX_AX_MODE:
MD 10940: $MN_INDEX_AX_MODE Bit0 = 0
(compatible behavior to older SW versions) means:
The indexing position changes when the indexing position is reached (Exact
stop fine window) and remains unchanged until the next indexing position is
reached. The indexing area thus begins at one indexing position and ends in
front of the next indexing position.
The following figure illustrates the difference for Bit0 = 0 and Bit0 = 1:
Explanations:
TP ––> programmed indexing position
TPA––> displayed indexing position
GHFF––> exact stop fine window
Fig. 2-1 Indexing position displays, linear axis (tabular indexing axis positions)
Fig. 2-2 Indexing position displays, modulo rotary axis (tabular indexing positions)
Note
The OPI variable actIndexAxPosNo is only present for compatibility
purposes.
If possible, only the OPI variable aaActIndexAxPosNo should be
used.
Next indexing
position
Response to command “Traverse to next indexing position”
Bit0 = 0: Next indexing position is approached
Bit0 = 1: The next indexing position in the direction of motion is always
approached
Explanation:
Bit0 = 1 and the axis is below the indexing position (or outside of the Exact stop
fine window):
Although, e.g., $AA_ACT_INDEX_AX_POS_NO is indicating indexing position
2, indexing position 2 and NOT indexing position 3 is approached exactly. The
next indexing position (in this case indexing position 3) is not approached with
the “Traverse to next position” command until the axis is located exactly at (ex-
act stop fine) or above the indexing position.
The indexing position which is the next in the direction of motion is always ap-
proached first!
Therefore, the “Traverse to next position” command may have to be issued
twice so that the next indexing position number can be reached from the cur-
rently displayed indexing position (e.g. from 2 to 3).
Alarms If an indexing position is programmed outside the valid range of the indexing
position table, alarm 17510 “Impermissible index for indexing axis“ is output.
When an indexing position is programmed for an axis, alarm 17500 “Axis is not
an indexing axis” is generated if an indexing position table is not assigned to
this axis (MD: INDEX_AX_ASSIGN_POS_TAB (axis is an indexing axis)).
FRAMES Since the control interprets the positions stored in the indexing position table as
programmed positions in mm, inches or degrees,
FRAMES are not disabled with indexing axes.
FRAMES are not generally required with indexing axes, depending on the ap-
plication. It is therefore in most cases advisable to suppress FRAMES and zero
offsets in the parts program for indexing axes.
2.4.1 Function
S Linear axes
S Modulo rotary axes
S Rotary axes
Distance between The index distance is determined as follows for equidistant index intervals:
indexes
Numerator (MD 30501: $MA_INDEX_AX_NUMERATOR)
Distance =
Denominator (MD 30502: $MA_INDEX_AX_DENOMINATOR)
Linear axis
0
...
Distance (same for all indexes, see above)
0
...
Distance (same for all indexes, see above)
MD 30503: $MA_INDEX_AX_OFFSET
0o
Spacing
.
.
.
.
Activation The functions with equidistant indexing for linear axes and rotary axes or mo-
dulo rotary axes are activated by specifying “table number” 3 in MD 30500:
$MA_INDEX_AX_ASSIGN_POS_TAB[axis].
Introduction With Hirth tooth systems, positions of rotation on a rotary axis are usually inter-
locked using a latch or other toothed wheel via a linear axis. The interlock
should only be activated when an indexing position has been reached precisely.
The distance between the indexing positions is the same (equidistant) across
the entire circumference.
Preconditions The rotary axis must be an indexing axis. The axis must be referenced. See
References: /R1/, Reference Point Approach
Activation
S The rotary axis can only approach indexing positions in all modes and oper-
ating states.
STOP/RESET On NC STOP and RESET during a traversing movement, the next indexing po-
sition is approached before the command is activated.
EMERGENCY After an EMERGENCY STOP, the PLC or the operator must move the indexing
STOP axis back to an indexing position in JOG mode before the longitudinal axis can
be moved in/down.
Override = 0 or If the axis has already moved away from the previous indexing position when
“Stop axis” signal these events occur, the control moves the axis to the next possible indexing
position before the response is initiated.
Deletion of After traversing to the next possible indexing position, the movement is aborted
distance-to-go at this position.
Move command MOV = 1 Works on indexing axes with and without Hirth tooth system. Move = 0
works the same with both, the next position is approached.
DELDTG command For indexing axes without Hirth tooth system: Axis stops immediately...
For indexing axes with Hirth tooth system: Axis traverses to next position.
Restrictions
Transformations The axis for which the Hirth tooth system is defined cannot take part in kine-
matic transformations.
PRESET The axis for which the Hirth tooth system is defined cannot be set to a new
value with PRESET.
Rev. feedrate The axis for which the Hirth tooth system is defined cannot be traversed at re-
volutional feedrate.
Path/velocity The axis for which the Hirth tooth system is defined cannot be used with path or
overlay velocity overlay.
Frames, ext. work The axis for which the Hirth tooth system is defined does not support frames or
offset, DRF interpolation compensation such as external zero offsets, DRF, etc.
Couplings The axis for which the Hirth tooth system is defined cannot be a
A RESET is required in order to activate the following MD after new values have
been assigned to them.
MD 10900: $MN_INDEX_AX_LENGTH_POS_TAB_1
MD 10920: $MN_INDEX_AX_LENGTH_POS_TAB_2
MD 10910: $MN_INDEX_AX_POS_TAB_1
MD 10930: $MN_INDEX_AX_POS_TAB_2
MD 30500: $MA_INDEX_AX_ASSIGN_POS_TAB
You will find a complete list of MD for indexing axes in Chapter 4.
Note
The $MA__INDEX_AX_DENOMINATOR[AX4] =18 assignment produces a 20o
division because the default for $MA_MODULO_RANGE is 360.
Procedure The procedure for starting up indexing axes is identical to normal NC axes (lin-
ear and rotary axes).
Rotary axis If the indexing axis is defined as a rotary axis (MD: IS_ROT_AX = “1”) with mo-
dulo 360 conversion (MD: ROT_IS_MODULO = “1”), the indexing positions are
traversed with modulo 360. Only positions within the range from 0 to 359.999
can then be entered in the indexing position table. Otherwise alarm 4080 “Incor-
rect configuration for indexing axis in MD [Name]” is output during power-up.
MD: DISPLAY_IS_MODULO = “1” can be programmed to set the position dis-
play to modulo 360.
Special machine The following machine data, described in Chapter 4, must also be defined:
data
Machine data The assignment of the above machine data is described in the following para-
examples graphs using two examples.
Indexing position
8 2
0°
315° 45°
Axis position
7 270° 90° 3
225° 135°
180°
6 4
Indexing position The indexing positions for the tool turret are entered in table 1.
table
$MN_INDEX_AX_POS_TAB_1[0] = 0 ; 1st indexing position at 0
$MN_INDEX_AX_POS_TAB_1[1] = 45 ; 2nd indexing position at 45
$MN_INDEX_AX_POS_TAB_1[2] = 90 ; 3rd indexing position at 90
$MN_INDEX_AX_POS_TAB_1[3] = 135 ; 4th indexing position at 135
$MN_INDEX_AX_POS_TAB_1[4] = 180 ; 5th indexing position at 180
$MN_INDEX_AX_POS_TAB_1[5] = 225 ; 6th indexing position at 225
$MN_INDEX_AX_POS_TAB_1[6] = 270 ; 7th indexing position at 270
$MN_INDEX_AX_POS_TAB_1[7] = 315 ; 8th indexing position at 315
1 2 3 4 5 6 7 8 9 10 Indexing position
–100
1250
1650
+100
+200
+300
500
700
900
0
Axis position [mm]
Indexing position The indexing positions for the tool turret are entered in table 2.
table
$MN_INDEX_AX_POS_TAB_2[0] = –100 ; 1st indexing position at –100
$MN_INDEX_AX_POS_TAB_2[1] = 0 ; 2nd indexing position at 0
$MN_INDEX_AX_POS_TAB_2[2] = 100 ; 3rd indexing position at 100
$MN_INDEX_AX_POS_TAB_2[3] = 200 ; 4th indexing position at 200
$MN_INDEX_AX_POS_TAB_2[4] = 300 ; 5th indexing position at 300
$MN_INDEX_AX_POS_TAB_2[5] = 500 ; 6th indexing position at 500
$MN_INDEX_AX_POS_TAB_2[6] = 700 ; 7th indexing position at 700
$MN_INDEX_AX_POS_TAB_2[7] = 900 ; 8th indexing position at 900
$MN_INDEX_AX_POS_TAB_2[8] = 1250 ; 9th indexing position at 1250
$MN_INDEX_AX_POS_TAB_2[9] = 1650 ; 10th indexing position at 1650
DRF An additional incremental zero offset can also be generated for indexing axes in
AUTOMATIC mode with the handwheel using the DRF function.
Software limit After the indexing axis has been referenced, the software limit switches are ac-
switches tive when the axis is traversed.
When traversing manually in continuous JOG or incremental JOG mode, the
indexing axis stops at the last indexing position before the software
limit switch.
Reference point An indexing axis will approach indexing positions in JOG mode (continuous or
approach incremental) only after it has reached its reference point (IS “Referenced/
synchronized 1 or 2” (DB31–48, DBX60.4 or 5) = “1”).
If the axis is not referenced (IS “referenced/synchronized 1 or 2” = “0”), the in-
dexing positions are ignored when traversing manually.
Since the axis positions stored in the indexing position tables only correspond
to the machine positions when the axis is referenced, an NC start must be dis-
abled for as long as the indexing axis is not referenced.
Position display Positions on indexing axes are displayed in the units of measurement normally
used for the axes (mm, inches or degrees).
Abort through Reset causes the traversing movement on an indexing axis to be aborted and
reset the axis to be stopped. The indexing axis is no longer positioned on an indexing
position.
Note
The response of the Hirth tooth system is described in Subsection 2.4.1.
Supplementary Conditions 3
There are no supplementary conditions stipulated for this Description of Func-
tions.
J
10270 POS_TAB_SCALING_SYSTEM
MD number Measuring system of the position tables
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after RESET Protection level: 2 / 7 Unit: –
Data type: BYTE Applies from SW: 5
Meaning: This machine data is for setting the measuring system for position specifications of indexing
axis tables and switching points for software cams.
S MD 10270=0: Metric
S MD 10270=1: Inch
MD 10270 defines the measuring system for position specifications for the following ma-
chine data:
MD 10900: INDEX_AX_POS_TAB_1
MD 10920: INDEX_AX_POS_TAB_2
SD 41500: SW_CAM_MINUS_POS_TAB_1
SD 41501: SW_CAM_PLUS_POS_TAB_1
SD 41502: SW_CAM_MINUS_POS_TAB_2
SD 41503: SW_CAM_PLUS_POS_TAB_2
SD 41504: SW_CAM_MINUS_POS_TAB_3
SD 41505: SW_CAM_PLUS_POS_TAB_3
SD 41506: SW_CAM_MINUS_POS_TAB_4
SD 41507: SW_CAM_PLUS_POS_TAB_4
10900 INDEX_AX_LENGTH_POS_TAB_1
MD number Number of indexing positions used in Table 1
Default setting: 0 Minimum input limit: 0 Maximum input limit: 60
Modification effective after power ON or RESET with Protection level: 2 / 7 Unit: –
SW 4.3 and higher
Data type: DWORD Applies from SW: 1.1
Meaning: The indexing position table is used to assign the axis positions in the valid unit of measure-
ment (mm, inches or degrees) to the indexing positions [n] on the indexing axis.
The number of indexing positions used in table 1 is defined by the MD: IN-
DEX_AX_LENGTH_POS_TAB_1.
These indexing positions must contain valid values in table 1. Any indexing positions in the
table greater than the number specified in the machine data are ignored.
Up to 60 indexing positions (0 to 59) can be entered in the table.
Table length = 0 means that the table is not evaluated. If the length is not equal to 0, the
table must be assigned to an axis with the MD: INDEX_AX_ASSIGN_POS_TAB.
If the indexing axis is defined as a rotary axis (MD: IS_ROT_AX = “1”) with modulo 360
(MD: ROT_IS_MODULO = “1”), the machine data defines the last indexing position after
which the indexing positions begin again at 1 with a further traversing movement in the
positive direction.
Application example(s) Tool magazines (tool turrets, chain magazines)
Special cases, errors, ...... Alarm 17090 “Value violates upper limit” if a value over 60 is entered in the MD:
INDEX_AX_LENGTH_POS_TAB_1.
Related to .... MD: INDEX_AX_ASSIGN_POS_TAB (axis is an indexing axis)
MD: INDEX_AX_POS_TAB_1 (indexing position table 1)
MD: IS_ROT_AX (rotary axis)
MD: ROT_IS_MODULO (modulo conversion for rotary axis)
10920 INDEX_AX_LENGTH_POS_TAB_2
MD number Number of indexing positions used in Table 2
Default setting: 0 Minimum input limit: 0 Maximum input limit: 60
Modification effective after power ON or RESET with Protection level: 2 / 7 Unit: –
SW 4.3 and higher
Data type: DWORD Applies from SW: 1.1
Meaning: The indexing position table is used to assign the axis positions in the valid unit of measure-
ment (mm, inches or degrees) to the indexing positions [n] on the indexing axis.
The number of indexing positions used in table 2 is defined by the MD: IN-
DEX_AX_LENGTH_POS_TAB_2.
These indexing positions must contain valid values in table 2. Any indexing positions in the
table greater than the number specified in the machine data are ignored.
Up to 60 indexing positions (0 to 59) can be entered in the table.
Table length = 0 means that the table is not evaluated. If the length is not equal to 0, the
table must be assigned to an axis with the MD: INDEX_AX_ASSIGN_POS_TAB.
If the indexing axis is defined as a rotary axis (MD: IS_ROT_AX = “1”) with modulo 360
(MD: ROT_IS_MODULO = “1”), the machine data defines the last indexing position after
which the indexing positions begin again at 1 with a further traversing movement in the
positive direction.
MD irrelevant for ...... Tool magazines (tool turrets, chain magazines)
Special cases, errors, ...... Alarm 17090 “Value violates upper limit” if a value over 60 is entered in the MD:
INDEX_AX_LENGTH_POS_TAB_2.
Related to .... MD: INDEX_AX_ASSIGN_POS_TAB (axis is an indexing axis)
MD: INDEX_AX_POS_TAB_2 (indexing position table 2)
MD: IS_ROT_AX (rotary axis)
MD: ROT_IS_MODULO (modulo conversion for rotary axis)
10910 INDEX_AX_POS_TAB_1[n]
MD number Indexing position table 1 [n]
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Modification effective after power ON or RESET with Protection level: 2 / 7 Unit: mm or degrees
SW 4.3 and higher
Data type: DOUBLE Applies from SW: 1.1
Meaning: The indexing position table is used to assign the axis positions in the valid unit of measure-
ment (mm, inches or degrees) to the indexing positions [n] on the indexing axis.
[n] = Index for the entry of the indexing positions in the indexing position table.
Range: 0 y n x 59, where 0 is the 1st indexing position and 59 the
60th indexing position.
Note: Programming with the absolute indexing position (e.g. CAC) starts with
indexing position 1. This corresponds to the indexing position with index n = 0
entered in the table of indexing positions.
The following should be noted when entering the indexing positions:
S Up to 60 different indexing positions can be stored in the table.
S The 1st entry in the table corresponds to indexing position 1; the nth entry thus to
indexing position n.
S The indexing positions should be entered in the table in ascending order (starting with
the negative to the positive traversing range) with no gaps between the entries.
Consecutive position values cannot be identical.
S If the indexing axis is defined as a rotary axis (MD: IS_ROT_AX = “1”) with modulo
360 (MD: ROT_IS_MODULO = “1”) then the position values are limited to a
range of 0 x pos. < 360.
The number of indexing positions used in the table is defined by the MD:
INDEX_AX_LENGTH_POS_TAB_1.
Entering the value 1 in the axial machine data INDEX_AX_ASSIGN_
POS_TAB assigns indexing position table 1 to the current axis.
Application example(s) Tool magazines (tool turrets, chain magazines)
Special cases, errors, ...... Alarm 17020 “Illegal array index” if over 60 positions are entered in the table.
Related to .... MD: INDEX_AX_ASSIGN_POS_TAB (axis is an indexing axis)
MD: INDEX_AX_LENGTH_POS_TAB_1(number of indexing positions used in Table 1)
MD: IS_ROT_AX (rotary axis)
MD: ROT_IS_MODULO (modulo conversion for rotary axis)
The number of indexing positions used in the table is defined by the MD:
INDEX_AX_LENGTH_POS_TAB_2.
Entering the value 1 in the axial machine data INDEX_AX_ASSIGN_POS_TAB assigns
indexing position table 1 to the current axis.
Application example(s) Tool magazines (tool turrets, chain magazines)
Special cases, errors, ...... Alarm 17020 “Illegal array index” if over 60 positions are entered in the table.
Related to .... MD: INDEX_AX_ASSIGN_POS_TAB (axis is an indexing axis)
MD: INDEX_AX_LENGTH_POS_TAB_2(number of indexing positions used in Table 2)
MD: IS_ROT_AX (rotary axis)
MD: ROT_IS_MODULO (modulo conversion for rotary axis)
10940 INDEX_AX_MODE
MD number Options for indexing position
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW: 7.2
Meaning: The machine data controls the display of indexing positions in system variable
AA_ACT_INDEX_AX_POS_NO and OPI variable aaActIndexAxPosNo.
Bit 0 = 0: Indexing position display changes when
indexing position is reached/crossed (indexing area is
between the indexing positions, compatible behavior).
Bit 0 = 1: Indexing position display changes when
half the indexing axis position is crossed (indexing area is
quasi-symmetrical around the indexing position).
Related to .... System variable $AA_ACT_INDEX_AX_POS_NO
30500 INDEX_AX_ASSIGN_POS_TAB
MD number Axis is indexing axis
Default setting: 0 Minimum input limit: 0 Maximum input limit: 3
Modification effective after power ON or RESET with Protection level: 2 / 7 Unit: –
SW 4.3 and higher
Data type: BYTE Applies from SW: 1.1
Meaning: The axis is declared as an indexing axis by assignment of indexing position table 1 or 2.
0: The axis is not declared as an indexing axis
1: The axis is an indexing axis. The associated indexing positions are stored in
Table 1 (MD: INDEX_AX_POS_TAB_1).
2: The axis is an indexing axis. The associated indexing positions are stored in
Table 2 (MD: INDEX_AX_POS_TAB_2).
3: Equidistant indexing with SW 4.3 and higher (840D) and SW 2.3 and higher (810D)
>3: Alarm 17090 “Value violates upper limit”
Application example(s) Tool magazines (tool turrets, chain magazines)
Special cases, errors, ... Several axes can be assigned to an indexing position table on condition that these indexing
... axes are of the same type (linear axis, rotary axis, modulo 360_ function). Alarm 4000 is
otherwise generated at boot.
Alarm 17500 “Axis is not an indexing axis”
Alarm 17090 “Value violates upper limit”
Related to .... MD: INDEX_AX_POS_TAB1 (indexing position table 1)
MD: INDEX_AX_LENGTH_POS_TAB_1 (no. of indexing positions
used in table 1)
MD: INDEX_AX_POS_TAB2 (indexing position table 2)
MD: INDEX_AX_LENGTH_POS_TAB_2 (no. of indexing positions
used in table 2)
For equidistant indexes with a value of 3:
MD: INDEX_AX_NUMERATOR Numerator
MD: INDEX_AX_DENOMINATOR Denominator
MD: INDEX_AX_OFFSET First indexing position
MD: HIRTH_IS_ACTIVE Hirth tooth system
30501 INDEX_AX_NUMERATOR
MD number Numerator for indexing axes with equidistant positions
Default setting: 0 Minimum input limit: >0 Maximum input limit: ***
Changes effective after RESET Protection level: 2/7 Unit: mm/inches/de-
grees
Data type: DOUBLE Applies from SW: 4.3
Meaning: Defines the value of the numerator for calculating the distances between two indexing posi-
tions when the positions are equidistant. Modulo axes ignore this value and use $MA_MO-
DULO_RANGE instead.
MD irrelevant for ... ... Non-equidistant indexes in accordance with tables
Application example(s) See 2.4
Related to .... MD 30502: INDEX_AX_DENOMINATOR, MD 30503: INDEX_AX_OFFSET; MD 30500:
INDEX_AX_ASSIGN_POS_TAB
30502 INDEX_AX_DENOMINATOR
MD number Denominator for indexing axes with equidistant positions
Default setting: 1 Minimum input limit: 1 Maximum input limit: ***
Changes effective after RESET Protection level: 2/7 Unit: –
Data type: DWORD Applies from SW: 4.3
Meaning: Defines the value of the denominator for calculating the distances between two indexing
positions when the positions are equidistant. For modulo axes it therefore specifies the
number of indexing positions.
MD irrelevant for ... ... Non-equidistant indexes in accordance with tables
Application example(s) See 2.4
Related to .... MD 30501: INDEX_AX_NUMERATOR, MD 30503: INDEX_AX_OFFSET; MD 30500: IN-
DEX_AX_ASSIGN_POS_TAB
30503 INDEX_AX_OFFSET
MD number First indexing position for indexing axes with equidistant positions
Default setting: 0.0 Minimum input limit: *** Maximum input limit: ***
Changes effective after RESET Protection level: 2/7 Unit: mm/inches/de-
grees
Data type: DOUBLE Applies from SW: 4.3
Meaning: Defines the position of the first indexing position from zero for an indexing axis with equidis-
tant positions.
MD irrelevant for ... ... Non-equidistant indexes in accordance with tables
Application example(s) See 2.4
Related to .... MD 30501, 30502, 30500
30505 HIRTH_IS_ACTIVE
MD number Hirth tooth system is active
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after RESET Protection level: 2/7 Unit: –
Data type: BOOLEAN Applies from SW: 4.3
Meaning: Hirth tooth system is active when a value of 1 is set.
MD irrelevant for ... ... Non-equidistant indexes in accordance with tables
Application example(s) See 2.4
Related to .... MD 30500, 30501, 30502, 30503
Signal Descriptions 5
5.1 Axisspecific signals
DB31, ...
DBX76.6 Indexing axis in position
Data Block Signal(s) from axis/spindle (NCK ––> PLC)
Edge evaluation: no Signal(s) updated: Cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The signal is influenced according to the “Exact stop fine”.
transition 0 –––> 1 When “Exact stop fine” is achieved, the signal is set. When exiting “Exact stop fine”, the
signal is reset again.
S The indexing axis is at an indexing position.
The indexing axis has been positioned by coded position instructions.
SW 4.3 and higher (840D), SW 2.3 and higher (810D)
If the “Exact stop fine” window is reached and the indexing axis is positioned on an indexing
position, the signal is enabled regardless of how the indexing position was reached.
Signal state 0 or signal S The axis is not defined as an indexing axis.
transition 1 –––> 0 S The indexing axis is traversing (IS “Travel command +/–” (DB31, ... DBX64.7/64.6) is
active)
S The indexing axis is located at a position which is not an indexing position.
Examples: In JOG mode after abortion of travel movement, e.g. with RESET
In Automatic mode: Indexing axis has, for example, approached
a selected position controlled by an AC or DC instruction.
S The indexing axis has not been positioned with instructions for coded positions (CAC,
CACP, CACN, CDC, CIC) in automatic mode.
S The “Servo enable” signal for the indexing axis has been canceled (IS “Servo enable”
DB31, ... DBX2.1).
Signal irrelevant for ...... Axes that are not defined as indexing axes
(MD 30500: INDEX_AX_ASSIGN_POS_TAB = “0”)
Application example(s) Tool magazine: the activation of a gripper for removing a tool from a magazine is triggered
when the indexing axis is in position (“indexing axis in position” = 1).
This must be programmed in the PLC user program.
Special cases, errors, ...... Notes:
The axis positions entered in the indexing position table for the individual divisions can be
changed through zero offsets (including DRF). The “indexing axis in position” interface
signal is then set to 1 when the actual position of the indexing axis matches the value en-
tered in the index table plus the offset. If a DRF is applied to an indexing axis in AUTO-
MATIC mode, then interface signal “Indexing axis in position” remains active even though
the axis is no longer at an indexing position. For exceptions, see 2.4 Hirth tooth system.
Related to .... MD 30500: INDEX_AX_ASSIGN_POS_TAB (axis is an indexing axis)
Notes
Example 6
For an example, please see Sections 2.4, 2.5
J
7.5 Alarms
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, “Diagnostics Guide”
or in the Online help.
J
Notes
Brief Description 1
CNC-controlled machine tools are equipped with tool magazines and automatic
tool change facility for the complete machining of workpieces.
Tool change point The selection of the tool change point has a significant effect on the cut-to-cut
time. The tool change point is chosen according to the machine tool concept
and, in certain cases, according to the current machining task.
Fixed positions on a machine axis stored in machine data can be approached
by means of the Fixed-point approach function G75. This can be used to
define and control one or several tool change points.
The tool change requires, amongst other things, a tool management system
which ensures that the tool to be loaded is available at the tool change position
at the right time.
J
Notes
Detailed Description 2
2.1 Overview of tool change function
CNC-controlled machine tools are equipped with tool magazines and automatic
tool change facility for the complete machining of workpieces.
Tool changing Tool magazines and tool changing equipment are selected according to the
equipment machine type.
Turning machines: Tool turret (disc, flat or inclined tool turret);
no special equipment required: Tool is changed
through rotation of revolver.
Milling machines: Magazines (chain, plate, disc, cassette) with
gripper/double gripper for changing.
Since the tool change interrupts machining, the idle times must be minimized.
Tool change times Tool change times are largely determined by the construction of the machine
tool.
Typical tool change times are
0.1 to 0.2 secs for rotation of a tool turret
0.3 to 2 secs for a tool change with a gripper for an available
tool.
Cut-to-cut time The cut-to-cut time is the period that elapses when a tool is changed between
retraction from the interruption point on the contour (from cut) and repositioning
on the interruption point (return to cut) with the new tool when the spindle is
rotating.
Typical cut-to-cut times are:
0.3 to 1 secs for a turning machine with tool turret
0.5 to 5 secs for a milling machine with a tool changer.
2.2 Sequence
Tool change The procedure for changing tools comprises three steps:
sequence
– Movement of the tool carrier from the machining position to the tool
change position
– Tool change
– Movement of the tool carrier from the tool change position to the new
machining position
The tool change position depends on the machine concept and is described in
more detail in Section 2.4.
Control of spindle The method by which the spindle is controlled during a tool change also
depends on the machine design. The various options include systems where
– the spindle continues to rotate
– the spindle is brought to a halt, or
– the spindle is positioned
2.3 Control
Tool change point The selection of the tool change point has a significant effect on the cut-to-cut
time. The tool change point is chosen according to the machine tool concept
and, in certain cases, according to the current machining task.
The fixed point approach function (G75) can be used to approach fixed
positions on a machine axis:
N20 G75 FP=2 X1=0 Y1=0 Z1=0 LF
Fixed points Two fixed positions are stored for each machine axis in MD:
FIX_POINT_POS[N]. They are addressed with FP=1 or FP=2. If no value is
defined, then FP=1.
Each machine axis which is required to travel to one of these points has to be
specified with its machine name and a dummy position (which is not evaluated).
The positions stored in the MD are approached with rapid traverse G0.
In a block with G75, the spindle can be positioned using SPOS and SPOSA.
J
Notes
Supplementary Conditions 3
The tool change requires, amongst other things, a tool management system
which ensures that the tool to be loaded is available at the tool change position
at the right time.
J
Signal Descriptions 5
No separate signals exist for this Description of Functions.
J
Notes
Example 6
The following example shows a typical cut-to-cut sequence of operations for a
tool change with a tool changer and a fixed absolute tool change point on a
milling machine.
Machining program
N 970 G0 X= Y= Z= LF ; Retract from the contour
N 980 T1 LF ; Tool selection
N 990 W_WECHSEL LF ; Subroutine call without
parameters
N 1000 G90 G0 X= Y= Z= M3 S1000 LF; Machining resumed
N10 N40
1
IS: Exact stop coarse (axis)
1
IS: Read enable through M6
TOOL–TO–TOOL TIME
CUT–TO–CUT TIME
t1 t2 t3 t4 t5
t1 Axes stationary
Spindle rotating
Start of tool change cycle in N 10
t2 Traverse axis with G75 in N 20 to tool change point
t3 Spindle reaches programmed position from block N 10
t4 Axes reach fine stop coarse from N 20; N 30 starts here:
N 30:
M06 removes the previous tool from the spindle and loads
and secures the new tool.
t5 Tool changer swivels back to original position.
7.3 Interrupts
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, “Diagnostics Guide”
or in the Online help.
J
Notes
Brief Description 1
Table of Contents This Description of Functions deals with the following subjects:
Note
This Description is based on information in
References: /FB/, W1, “Tool Offset”
For information about programming, mode of operation and handling, please
refer to
References: /PG/, Programming Guide Fundamentals
Notes
Detailed Description 2
2.1 Tool offset for grinding operations
Grinding tools Grinding tools (see Subsection 2.1.4 and Chapter 3) are tools of type 400 to
499.
Tool offset for Apart from edge-specific data, data that are specific to the tool and dressing
grinding tools process are generally also programmed for grinding tools.
The data specific to a grinding wheel for the left-hand and right-hand wheel
geometry can be stored in D1 or D2 under a T number.
If data are required for the dressing geometry, they can be stored, for example,
starting at D3 of a T number or in additional edge-specific data (MD18096
MM_NUM_CC_TOA_PARAM).
Examples:
a)
T number
Grinding wheel
D1 D2 > D3
Left-hand wheel Right-hand wheel Additional data
geometry geometry
b)
T number
Grinding wheel
D1 D2
Left-hand wheel Right-hand wheel
geometry geometry
$TC_DP1[t,d] $TC_DP1[t,d]
: :
$TC_DP25[t,d] $TC_DP25[t,d]
All offsets belonging to a grinding wheel and dresser can be combined in the
tool edges D1 and D2 for the grinding wheel and, for example, D3 and D4 for
the dresser:
D1: Grinding wheel geometry left D2: Grinding wheel geometry right
D3: Dresser geometry left D4: Dresser geometry right
Edge-specific Tool-specific
offset data grinding data
Tool D4
D3
T...
D2
D1
Additional
parameters
Additional $TC_TPG9[t]
parameters up to
$TC_DP1[t,d] $TC_TPC1[t]
$TC_TPG2[t]
$TC_DP2[t,d] Up to Up to
$TC_DPC10[t,d] $TC_TPC10[t] $TC_TPG1[t]
$TC_DP25[t,d]
up to
$TC_DPC1[t,d]
Tool parameters The tool parameters for grinding tools have the same meaning as those for turn-
ing and milling tools.
Reserved ... means that this tool parameter of the 840D/810D is not used
(reserved for expansions).
Length 1
Note
The cutting edge data for D1 and D2 of a selected grinding tool can be
chained, i.e. if a parameter in D1 or D2 is modified, then the same parameter in
D1 or D2 is automatically overwritten with the new value (see tool-specific data
$TC_TPG2).
Definition of For user-specific cutting edge data, the additional parameters $TC_DPC1 to 10
additional can be set up using general MD18096: MM_NUM_CC_TOA_PARAM, regard-
parameters less of the tool type.
$TC_DPC1...10
Caution
! Changes to the MD take effect after POWER ON and will lead to initialization of
the memory (back data up beforehand if necessary!).
An automatic changeover between grinding wheel offset left and right does not
take place during contour grinding. This changeover must be programmed.
Tool types for The structure of tool types for grinding tools is as follows:
grinding tools
0: Without monit. with base dimension for GWPS
Tool type 4 X Y
1: With monit. with base dimension for GWPS
2: Without monit. without base dim. for GWPS
3: With monit. without base dim. for GWPS
Fig. 2-2 Structure of tool type for grinding tools, see Fig. 2–1
Note
Channel-specific MD20350: TOOL_GRIND_AUTO_TMON can be set to define
whether the monitoring function must already be active when tools with
monitoring (i.e. uneven tool types) are selected.
Examples:
This structure can be used to create the following tool types:
S Type 403: Surface grinding wheel with monitoring/without tool base dimen-
sion for GWPS
Tool-specific grinding data are available once for every T number (type
400–499). They are automatically set up with every new grinding tool (type
400–499).
Note
Tool-specific grinding data have the same characteristics as a tool edge. This
may need to be taken into account when the number of cutting edges is
specified in MD18100:
MM_NUM_CUTTING_EDGES_IN_TOA.
When all the cutting edges of a tool are deleted, the existing tool-specific grind-
ing data are deleted at the same time.
Definition of For user-specific cutting edge data, the additional parameters $TC_DPC1 to 10
additional can be set up using general MD 18096: MM_NUM_CC_TDA_PARAM, regard-
parameters less of the tool type concerned.
$TC_DPC1...10
Caution
! Changes to the MD take effect after POWER ON and will lead to initialization of
the memory (back data up beforehand if necessary!).
Spindle number Number of programmed spindle (e.g. grinding wheel peripheral speed) and
$TC_TPG1 spindle to be monitored (e.g. wheel radius and width)
Chaining rule This parameter is set to define which tool parameters of tool edge 2 (D2) and
$TC_TPG2 tool edge 1 (D1) must be chained to one another. When the setpoint of a
chained parameter is modified, the value of the parameter with which it is
chained is modified automatically.
S Lengths 1, 2 and 3 of the geometry, the length wear and the tool base/adapter dimen-
sions of lengths 1, 2 and 3 on a grinding tool (T1 in the example) must be automatically
transferred.
Wear
Length 1 $TC_DP12 Bit 11
Length 2 $TC_DP13 Bit 12
Length 3 $TC_DP14 Bit 13
Base/adapter dimension
Length 1 $TC_DP21 Bit 20
Length 2 $TC_DP22 Bit 21
Length 3 $TC_DP23 Bit 22
a) Binary
$TC_TPG2[1]= ’B111 0000 0011 1000 0001 1101’
(Bit 22 ... Bit 0)
b) Hexadecimal
$TC_TPG2[1]= ’H70381D’
c) Decimal
$TC_TPG2[1]=’D7354397’
Note
If the chaining specification is subsequently altered, the values of the two
cutting edges are not automatically adjusted, but only after one parameter has
been altered.
Min. wheel radius The limit values for the grinding wheel radius and width must be entered in this
and width parameter. These parameter values are used to monitor the grinding wheel ge-
$TC_TPG3 ometry.
$TC_TPG4
Note
It must be noted that the minimum grinding wheel radius must be specified in
the cartesian coordinate system for an inclined grinding wheel. A signal is
output at the PLC interface if the grinding wheel width and radius drop below
the minimum limits. The user can use these signals to define his error strategy.
Current width The width of the grinding wheel measured, for example, after the dressing op-
$TC_TPG5 eration, is entered here.
Max. speed and The upper limit values for maximum speed and peripheral speed of the grinding
grinding wheel wheel must be entered in this parameter.
peripheral speed Precondition: A spindle has been declared.
$TC_TPG6
$TC_TPG7
Angle of inclined This parameter specifies the angle of inclination of an inclined wheel in the cur-
wheel $TC_TPG8 rent plane. It is evaluated for GWPS.
MU
a
AS
Grinding disc
Workpiece
Z MZ
Note
The tool lengths are not automatically compensated when the angle is altered.
The angle must be within the –90 $TC_TPG8 < +90 range.
In the case of machines with inclined axes, the same angle must be set for the
inclined axis and the inclined grinding wheel. With SW versions NCU 5.1.11/P5
and 4.4.35/P4 and earlier with GWPS for grinding wheel cutting rate and
inclined axis, the input value in tool parameter $TC_TPG8 must be set in RAD
rather than DEGREE. $TC_TPG8 in RAD = PI/180* angle.
Parameter number This parameter specifies which offset values are to be used for the
for radius GWPS calculation and tool monitoring for minimum wheel radius ($TC_TPG3).
calculation
$TC_TPG9
$TC_TPG9 = 3 Length 1 (geometry + wear + base, depending on tool type)
$TC_TPG9 = 4 Length 2 (geometry + wear + base, depending on tool type)
$TC_TPG9 = 5 Length 3 (geometry + wear + base, depending on tool type)
$TC_TPG9 = 6 Radius
Access from parts Parameters can be read and written from the parts program.
program
Example Programming
Read the current width of tool 2 and store in R10 R10 = $TC_TPG5 [2]
Write value 2000 to the maximum speed of tool 3 $TC_TPG6 [3] = 2000
$P_ATPG[m] for This system variable allows the tool-specific grinding data for the current tool to
current tool be accessed.
m: Parameter number (data type: Real)
Example:
Parameter 3 ($TPG3[<T No.>])
$P_ATPG[3]=R10
Note
S The monitoring data apply to both the left-hand and the right-hand cutting
edge of the grinding wheel.
S The tool-specific grinding data take effect when the following are pro-
grammed:
GWPSON (selection of constant wheel peripheral speed),
TMON (selection of tool monitoring function). To make a changed data effec-
tive, GWPSON or TMON must be programmed again.
S The length compensations always specify the distances between the tool
carrier reference point and the tool tip in the cartesian coordinates (must be
noted for inclined grinding wheel).
Tool length compensations for the geometry axes or radius compensation in the
plane are assigned on the basis of the current plane.
Planes The following planes and axis assignments are possible (abscissa, ordinate,
applicate for 1st, 2nd and 3rd geometry axes):
Y 2. Geometry axis
G18
G17
X
1. Geometry axis
Z 3. Geometry axis
Surface grinding
wheel
Entries in tool
parameters e.g.
G18: Z/X plane
$TC_DP1 400 F
X
$TC_DP3 Length 1
$TC_DP4 Length 2
Z
$TC_DP6 Radius
Length 1
Effect (X)
Radius
G17 Length 1 in Y
Length 2 in X
Radius in X/Y
G18 Length 1 in X
Length 2 in Z
Radius in Z/X
Unused parameters Length 2 (Z)
must be set to 0. Length 1 in Z
G19 F: Tool holder reference point
Length 2 in Y
Radius in Y/Z
Entries in tool
parameters
$TC_DP1 403
a
$TC_DP3 Length 1
$TC_DP4 Length 2
$TC_DP6 Radius F
Effect
G17 Length 1 in Y
Length 2 in X
Radius in X/Y Length 1
Radius (X)
G18 Length 1 in X
Length 2 in Z
Radius in Z/X
Unused parameters
must be set to 0. Length 1 in Z Length 2 (Z)
G19
Length 2 in Y
Radius in Y/Z F: Tool holder reference point
Fig. 2-6 Offset values required for inclined wheel with implicit monitoring selection
Entries in tool
parameters
$TC_DP1 401 F: Tool holder reference point
$TC_DP3 Length 1
$TC_DP4 Length 2
$TC_DP6 Radius
a
$TC_DP21 L1 base
$TC_DP22 L2 base F’
Fig. 2-7 Required offset values shown by example of inclined grinding wheel with implicit monitoring selection and with
base selection for GWPS calculation
Surface grinding
wheel
Entries in tool
parameters
F
$TC_DP1 403
$TC_DP3 Length 1
$TC_DP4 Length 2 Base
length 1
$TC_DP6 Radius
$TC_DP21 L1 base F’
G17 Length 1 in Y
Length 2 in X Geometry
Wear values acc. to Radius in X/Y length 1 Radius
requirements Base
Length 1 in X length 2
G18
Length 2 in Z
Radius in Z/X Geometry
Unused parameters length 2
must be set to 0. Length 1 in Z
G19
Length 2 in Y
Radius in Y/Z F: Tool holder reference point
Fig. 2-8 Required offset values of a surface grinding wheel without base dimension for GWPS
Facing wheel
$TC_DP1 411 X
$TC_DP3 Length 1
Z
$TC_DP4 Length 2
$TC_DP6 Radius
Effect
F
Wear values acc. to Length 1 in Y
G17
requirements Length 2 in X
Radius in X/Y Radius
Length 1
Length 1 in X (X)
G18
Length 2 in Z
Unused parameters must Radius in Z/X
be set to 0.
Length 2
G19 Length 1 in Z (Z)
Length 2 in Y
Radius in Y/Z F: Tool holder reference point
Fig. 2-9 Required offset values of a facing wheel with monitoring parameters
Dressing during To allow machining to continue while the grinding wheel is being dressed, the
machining process reduction in the size of the grinding wheel caused by dressing must be trans-
ferred to the current tool in the machining channel as a tool offset that is applied
immediately.
This parallel dressing operation can be implemented by means of the “Continu-
ous Dressing (parallel dressing), Online tool offset” function (see Chapter 3).
Note
The online tool offset may only be used for grinding tools.
Dressing roller
Dressing
amount
Grinding disc
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
Length 1
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ Workpiece
General An online tool offset can be activated for every grinding tool in any channel.
information
The online tool offset is generally applied as a length compensation. Like geom-
etry and wear data, lengths are assigned to geometry axes on the basis of the
current plane as a function of the tool type.
The grinding spindle monitoring function (see Section 2.3) remains active when
an online tool offset is selected.
Note
The offset always corrects the wear parameters of the selected length. If the
length compensation is identical for several cutting edges, then a chaining
specification must be used to ensure that the values for the 2nd cutting edge
are automatically corrected as well.
If online offsets are active in the machining channel, then the wear values for
the active tool in this channel may not be changed from the machining program
or via operator inputs.
Modifications to the radius wear (P15) are not taken into account until the tool is
reselected (<SW4).
Online offsets are also applied to the constant grinding wheel peripheral speed
(GWPS), i.e. the spindle speed is corrected by the corresponding value.
Commands The following commands are provided for online tool offsets:
Command Meaning
FCTDEF Parameterize function (up to 3rd degree polyno-
(<polynomial_no>, <lower_limit_value>, <upper_limit_value>, <co- mial)
efficient 0>, <coefficient 1>, <coefficient 2>, <coefficient 3>) (Fine Tool Offset Definition)
PUTFTOCF Write online tool offset continuously
( <polynomial_no.>, <reference_value>, <Length1_2_3>, <chan- (Put Fine Tool Offset Compensation)
nel_no.>, <spindle_no.>)
PUTFTOC Write online tool offset discretely
(<value>, <Length1_2_3>, <channel_no.>, <spindle_no.>) (Put Fine Tool Offset Compensation)
FTOCON Activation of online tool offset
(Fine Tool Offset Compensation ON)
FTOCOF Deactivation of online tool offset
(Fine Tool Offset Compensation OFF)
Note
Changes to the correction values in the TOA memory do not take effect until T
or D is programmed again.
Certain dressing strategies (e.g. dressing roller) are characterized by the fact
that the grinding wheel radius is continuously (linearly) reduced as the dressing
roller is fed in. This strategy requires a linear function between infeed of the
dressing roller and writing of the wear value of the respective length.
Function FCTDEF allows 3 independent functions to be defined according to
the following syntax:
Parameterize The function parameters are set in a separate block according to the following
function syntax:
FCTDEF(<polynomial_no.>, <lower_limit_value>, <upper_limit_value>,
<coefficient a0>, <coefficient a1>, <coefficient a2>, <coefficient a3>)
FCTDEF Function Definition
Polynomial no.: Number of function (e.g. 1, 2 or 3)
Lower/upper limit value: Determines value range of function
(limit values in input resolutions)
Coefficients a0, a1, a2 Coefficients of polynomial
A polynomial of the 3rd degree is generally defined as follows:
y = a0 + a1 x + a2 x2 + a3 x3
y = f(x) = a0 + a1
Dy
a1 = Dy
Dx
a0
Dx X
Note
FCTDEF must be programmed in a separate NC block.
Example:
Let us assume: Pitch a1 = +1
a2 = 0
a3 = 0
The value of the function must be y = 0 at the instant of
definition and be derived from machine axis XA
(e.g. dresser axis).
XA
XAi
Definition point
–100
FTCDEF(1,–100,+100,–$AA_IW[XA],1)
Example:
FCTDEF (1, –100, 100, –$AA_IW[X], 1) ; Define function
PUTFTOCF (1, $AA_IW[X], 1, 2, 1) ; Write online TO
; continuously
Length 1 of tool for spindle 1 in channel 2 is modified as a function of X axis
movement.
Note
The online tool offset for a (geometric) grinding tool that is not active can be
activated by specifying the appropriate spindle number.
With SW 3.2 and higher, an online tool offset can be called as a synchronized
action.
References: /FB/, S5, “Synchronized Actions”
Activation/ The following commands activate and deactivate the online tool offset in the
deactivation of machining channel (grinding, destination channel):
online tool offset
S FTOCON Activation of online tool offset
The machining channel can process online tool offsets (PUTFTOC) only if
the offset is active (FTOCON). Alarm 20204 “PUTFTOC command not al-
lowed” is otherwise output.
Note
Command FTOCON must be written to the channel in which the offset must be
applied (machining channel for grinding operation).
F Z
p
ÂÂÂ
ÂÂÂ
Workpiece table
ÂÂÂ
X
Note
Axis V operates (dresses) in parallel to Y, i.e. length 2 acts in Y and must
therefore be compensated.
Note
The online tool offset for a (geometric) grinding tool that is not active can be
activated by specifying the appropriate spindle number.
If there is ... then ...
no channel no. is spe- the online offset will take effect in this channel
cified
no spindle no. is spe- the online offset will be applied to the current tool
cified
S In cases where FTOCON has been active since the last tool or cutting edge
change, preprocessing stop with resynchronization is initiated in the control
when a tool is changed.
Note
Tool changes can be executed in conjunction with the online tool offset through
the selection of T numbers.
Tool changes with M6 cannot be executed in conjunction with the online tool
offset function.
S FTOCON can be used only in conjunction with the “Inclined axis” trans-
formation.
S When online offset is active, NC STOP and program end with M2/M30 are
delayed until the amount of compensation has been traversed.
Supplementary conditions
S The online tool offset is overlaid on the programmed movement of the axis.
The programmed limit values (e.g. speed) are taken into account.
If a DRF offset and online tool offset are both activated for an axis, the DRF
offset has higher priority and is applied first.
S The valid offset is traversed at JOG velocity allowing for the specified maxi-
mum acceleration rate.
Channel-specific MD20610: ADD_MOVE_ACCEL_RESERVE is taken into
account with respect to FTOCON. An acceleration margin can thus be re-
served for the movement which means that the overlaid movement can be
executed immediately.
S The valid online offset is deleted on reference point approach with G74.
S The fine offset is not deselected for tool changes with M6.
General When the longitudinal axis of the tool and the contour are mutually perpendicu-
lar, the offset quantity can be applied as a length compensation to one of the
three geometry axes (online tool length compensation, see Section 2.2).
If this condition is not fulfilled, then the offset quantity can be entered as a real
radius compensation value (online tool radius compensation).
Parameterization The parameters of the online tool offset are set by means of commands PUTF-
TOCF (see Subsection 2.2.1) and PUTFTOC (see Subsection 2.2.4). Parameter
LENGTH 1_2_3 must be supplied as follows for an online tool radius com-
pensation:
Parameter <length 1_2_3> = 4
Wear parameter to which correction value is added
Supplementary
conditions
S A tool radius compensation, and thus also an online tool radius compensa-
tion, can be activated only when the selected tool has a radius other than
zero. This means that machining operations cannot be implemented solely
with a tool radius compensation.
S The online offset values should be low in comparison to the original radius to
prevent the permitted dynamic tolerance range from being exceeded when
the offset is overlaid on the axis movement.
Note
Automatic selection of the monitor must be set via channel-specific MD20350:
TOOL_GRIND_AUTO_TMON.
Monitoring active The monitor for a grinding tool remains active until it is deselected again by
means of program command TMOF.
Note
S One tool and thus also one tool monitor can be active for every spindle at
any point in time.
The current wheel width is generally calculated by the dressing cycle and can
be entered in parameter $TC_TPG5 of a grinding tool. The value entered in this
parameter is compared to the value stored in parameter $TC_TPG4 when the
monitoring function is active.
When does The monitoring function for the grinding wheel radius remains active when an
monitoring online tool offset is selected.
take place?
S when the monitoring function is activated
S when the current radius (online tool offset, wear parameter) or the current
width ($TC_TPG5) is altered.
Monitor reactions If the current grinding wheel radius becomes smaller than the value stored in
parameter $TC_TPG3 or the current grinding wheel width ($TC_TPG5) drops
below the value defined in $TC_TPG4, the axis/spindle-specific bit DBX83.3 is
set to “1” in DB31–48 at the PLC interface.
This bit is otherwise set to “0”.
DB31–48, DBX83.3 = 1 ⇒ Geometry monitor has responded
DB31–48, DBX83.3 = 0 ⇒ Geometry monitor has not responded
Note
No error reaction is initiated internally in the control system.
The speed monitor checks the grinding wheel peripheral speed (parameter
$TC_TPG7) as well as the maximum spindle speed (parameter $TC_TPG6).
The unit of measurement is:
When does Monitoring of the speed for violation of the limit value takes place cyclically, al-
monitoring lowing for the spindle speed override.
take place?
Monitor reactions The system reacts as follows when the speed monitor responds
Note
No error reaction is initiated internally in the control system.
The following parts program commands are provided for selecting and deselect-
ing the grinding-specific tool monitor of an active or inactive tool:
Command Meaning
TMON Selection of tool monitoring for the active tool in the channel
Tool monitoring on
TMOF Deselection of tool monitoring for the active tool in the channel
Tool monitoring Off
TMON (T number) Selection of tool monitoring for a non-active tool with T number
Tool monitoring on (t no.)
TMOF (T number) Deselection of tool monitoring for a non-active tool with T number
Tool monitoring off (t no.)
TMOF (0) Deselection of tool monitoring for all tools
Tool monitoring off (0)
What is GWPS? The grinding wheel peripheral speed is generally programmed for grinding
wheels rather than a spindle speed. This is a quantity that is determined by the
technological process (e.g. grinding wheel characteristic, material pairing). The
speed is then calculated from the programmed value and the current wheel ra-
dius.
Note
GWPS can be selected for grinding tools (types 400–499).
Note
S The grinding wheel peripheral speed can be programmed and selected for
grinding tool types (400 to 499).
Wear is taken into account in calculating the radius (parameter
$TC_TPG9).
When is the speed The speed is recalculated in response to the following events:
recalculated?
S GWPS programming
S Change in the online offset values (wear parameters).
The GWPS is selected and deselected with the following parts program com-
mands:
Command Meaning
GWPSON Selection of GWPS for the active tool in chan-
Grinding wheel peripheral speed On nel
GWPSOF Deselection of GWPS for the active tool in
Grinding wheel peripheral speed Off channel
GWPSON(T number) Selection of GWPS for a non-active tool with
Grinding wheel peripheral speed on (t T number
no.)
Note
S If GWPS must be selected with a new tool for a spindle for which the GWPS
function is already active, the active function must be deselected first with
GWPSOF before it can be activated again with the new tool (otherwise an
alarm is output).
$P_GWPS[spindle This system variable can be used in the part program to determine whether
number] GWPS is active for a specific spindle.
TRUE: GWPS programming of spindle active
FALSE: GWPS programming of spindle not active
References: /PG/, Programming Guide
General This function allows the constant grinding wheel peripheral speed (GWPS) func-
tion to be selected for a spindle immediately after POWER ON and to ensure
that it remains active after an operating mode changeover, RESET or parts pro-
gram end.
The function is activated via MD 35032: $MA_SPIND_FUNC_RESET_MODE
(parameterization of GWPS function).
If and then
MD 35032: the tool is a grinding-specific tool type (400 to 499, GWPS is ac-
$MA_SPIND_FUN MD 20110, 20120, 20130) with reference to a valid tivated for this
C_RESET_MODE spindle (parameter $TC_TPG1), spindle.
is set
Note:
GWPS is deselected for all other spindles in this channel.
GWPS after After a RESET/parts program end, GWPS remains active for all spindles for
RESET/parts which it was already selected.
program end
If and then
MD 35032: GWPS is active on RE- GWPS remains active for
$MA_SPIND_FUNC_RE- SET or parts program this spindle.
SET_MODE is set end,
MD 35032: GWPS is active on RE- GWPS is deactivated for
$MA_SPIND_FUNC_RE- SET or parts program this spindle.
SET_MODE is not set end,
Note:
GWPS is deselected for all other spindles in this channel.
Programming The spindle speed can be modified through the input of a grinding wheel periph-
eral speed. The spindle speed can be modified through
“GWPS active” IS “GWPS active” (DB31, ... , DBX84.0) can be used to determine whether or
interface signal not the GWPS is active.
Note
Programming of tool monitoring function: See Section 2.4.
Notes
Supplementary Conditions 3
3.1 Tool changes with online tool offset
Tool changes with M6 cannot be executed in conjunction with the online tool
offset function.
J
Notes
20254 ONLINE_CUTCOM_ENABLE
MD number Enable online tool radius compensation
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: BOOLEAN Applies as of SW 4.1
Meaning: This data enables online tool radius compensation.
When the function is enabled, the control reserves the necessary memory space required
for online tool radius compensation after POWER ON.
20350 TOOL_GRIND_AUTO_TMON
MD number Automatic tool monitoring
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: Unit: –
Data type: BYTE Applies as of SW 2.1
Meaning: This MD defines whether the tool monitoring function is automatically activated when the
tool length compensation of a grinding tool with monitoring is selected.
TOOL_GRIND_AUTO_TMON = 1 : Automatic monitoring activated
TOOL_GRIND_AUTO_TMON = 0 : Automatic monitoring deactivated
35032 SPIND_FUNC_RESET_MODE
MD number Parameterization of GWPS function
Default setting: 0 Minimum input limit: 0 Maximum input limit: 0x01
Changes effective after POWER ON Protection level: Unit: –
Data type: DWORD Applies as of SW 4.1
Meaning: This data allows the “GWPS in every operating mode” function to be selected/deselected.
Notes
Signal Descriptions 5
DB31, ... Geometry monitoring
DBX83.3
Data Block Signal(s) NCK → PLC
Edge evaluation: – Signal(s) updated: – Signal(s) valid from SW: 2.1
Signal state 1 or signal Error in grinding wheel geometry
transition 0 –––> 1
Note: There is no further reaction to the response of this monitoring function. Reactions
deemed necessary must be programmed by the PLC user.
Signal state 0 or signal No error in grinding wheel geometry
transition 1 –––> 0
Application example(s) Grinding-specific tool monitoring.
References See Section 2.4
Example 6
None
J
Notes
7.3 Interrupts
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, Diagnostics Guide
or in the Online help.
J
Notes
W
WAITMC, 2/K5/2-12
WAITP, 2/P2/2-7, 2/P2/2-31
Oscillating axis, 2/P5/2-18
WAITP coordination, 2/P2/2-31
Working area limitation, 2/H1/2-37, 2/R2/2-21,
2/W4/2-22
Workpiece clamping, 2/B3/1-26, 2/B3/1-30
Workpiece measuring, 2/M5/2-13
Write continuously, 2/W4/2-20
Write online tool offset discretely, 2/W4/2-24
Name
Company/Department Should you come across any printing
errors when reading this publication,
Street
please notify us on this sheet.
Zip: Town: Suggestions for improvement are also
welcome.
Phone: /
Fax: /
Suggestions and/or corrections
Overview of SINUMERIK 840D sl Documentation (08/2005)
General Documentation
User Documentation
Operator’s Guide Operator’s Guide Programming Guide Programming Guide Diagnostics Guide *)
– HMI Embedded *) – HMI Advanced *) – Fundamentals *) – Cycles
– ShopMill – Programming compact – Advanced *) – Measuring Cycles
– ShopTurn – Programming
– Lists System Variables
– ISO Turning/Milling
Manufacturer/Service Documentation
Manufacturer/Service Documentation
Electronic Documentation
SINUMERIK
SINAMICS
Motors
DOCONCD *)
DOCONWEB
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
SIMODRIVE SINUMERIK 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