Sinumerik 828D Basic Fuction
Sinumerik 828D Basic Fuction
Figure 5-1 Overview diagram of axis and spindle information
Check of the position controller setting
The position controller settings can be easily monitored via the service display "axis/spindle".
The number 1 (corresponds to servo gain = 1) should be entered in machine data:
MD32200 $MA_POSCTRL_GAIN [n] (servo gain factor)
The change takes effect immediately.
For a feedrate of 1 m/mm, a following error of 1 mm must be obtained (for servo gain
factor = 1 and constant velocity travel), as the servo gain factor is defined as follows:
Kv factor =
Velocity setpoint
Following error
Unit (for the standard setting):
[m/min]
[mm]
;
;
D1: Diagnostics tools
5.3 Service overview
Basic Functions
280 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
If the desired servo gain factor (Kv) does not correspond to the actual factor, the possible
causes and remedial optimization options are as follows.
Speed or torque feedforward control is activated. In this case, a higher servo gain factor
is set than displayed with MD32200:
Filter for jerk limitation or dynamic response adaptation is activated. In this case, a lower
servo gain factor is set than displayed with MD32200.
Diagnostics for alarms
This information of the service display "Axis/spindle" is also used as diagnostics help when
alarms occur, e.g.:
"Zero speed monitoring"
Following error > MD36030 $MA_STANDSTILL_POS_TOL (standstill tolerance)
"Contour monitoring"
Contour deviation > MD36400 $MA_CONTOUR_TOL (contour monitoring tolerance
range)
"Speed setpoint limitation"
Speed setpoint > MD36210 $MA_CTRLOUT_LIMIT (maximum speed setpoint)
"Position monitoring"
Following error > MD36010 $MA_STOP_LIMIT_FINE (exact stop fine)
"Measuring system cannot be switched over"
Difference between Position actual value measuring system 1 and 2 > MD36500
$MA_ENC_CHANGE_TOL (max. tolerance for position actual value sensing)
"Clamping monitoring"
Following error > MD36050 $MA_CLAMP_POS_TOL (clamping tolerance with interface
signal "Clamping active")
The behavior of the NC control in response to individual alarms, and remedial action is
described in:
References:
Diagnostic Manual
D1: Diagnostics tools
5.3 Service overview
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 281
Diagnostics of operational state errors
Further, information of the service display "Axis/spindle" can be used to investigate incorrect
operating states such as e.g.:
Although there is a travel command, the axis does not traverse.
Check whether the controller has been enabled. In controller mode position control or
speed control (with spindle control) must be activated.
When feedrate fluctuations occur:
Detected using following error or speed actual value.
Incorrect positioning
Compare position setpoint with actual value, measuring system 1/2 and abs.
compensation value, measuring system 1/2.
The cam is not detected by the PLC during referencing.
Check status display "referenced"
An incorrect reference point value is displayed.
Referencing was possibly performed with the incorrect measuring system.
For a main spindle drive, significant fluctuations occur in the speed actual value.
Speed range for the encoder has been selected too high or the machine data
MD36300 $MA_ENC_FREQ_LIMIT [n] (encoder limit frequency) is set higher than is
specified in the encoder data sheet.
Incorrect spindle positioning occurs.
An incorrect measuring system is possibly selected or synchronization with the
incorrect zero mark.
5.3.2 Drive service display (for digital drives only)
Displays
Displays on the control's user interface that show values and statuses allow for evaluation of
the operating statuses of the digital drives.
Access
For the purposes of commissioning and diagnosing
feed drives (FDD) and
main spindle drives (MSD)
D1: Diagnostics tools
5.3 Service overview
Basic Functions
282 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
"Diagnostic" information are displayed for each axis/spindle via the operator panel front in
the operating area.
Note
The parameters in the "Drive" service display are not necessary for connecting drives via the
PROFIBUS-DP. For SINUMERIK 840Di, the drives are defined as PROFIBUS nodes. The
appropriate service data is displayed in 840Di-Start-up in the menu Diagnostics -->
PROFIBUS.
Application
The diagnostic options are used for:
checking the status of enabling and control signals
(e.g. pulse enable, drive enable, motor selection, setpoint parameter set)
checking the status of FDD/MSD operating modes
(e.g. setup mode, parking axis)
displaying temperature warnings
checking the current setpoint/actual value display
(e.g. actual position value measuring system 1/2, speed setpoint, actual speed value)
checking the drive status (drive ready)
displaying the current ramp-up phase
displaying the group error message (message status class 1)
displaying the drive status messages
(e.g. threshold torque not reached, minimum speed not reached, actual speed = set
speed)
Explanations/Terms
The individual status displays, warnings, messages, etc., are explained in the following
sections. For HMI SW 6 and higher, the status is shown in plain text as "yes" or "no" instead
of "0" and "1".
For additional information, see:
References:
/IAD/ Commissioning Manual
Drive enable (terminal 64/63)
The display corresponds to the status of terminal 64/63 on the SIMODRIVE611 digital
infeed/regenerative feedback unit.
State 1: Central drive enable
State 0 : Central drive disable
Display corresponds to machine datum:
MD1700 $MD_TERMINAL_STATE
(status of binary inputs).
D1: Diagnostics tools
5.3 Service overview
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 283
Pulse enable (terminal 63/48)
The display corresponds to the status of terminal 63/48 on the SIMODRIVE611 digital
infeed/regenerative feedback unit.
State 1: Central pulse enable
State 0 : Central pulse disable
Display corresponds to machine data:
MD1700 $MD_TERMINAL_STATE
(Status of binary inputs).
Pulse enable (terminal 663)
The display corresponds to the status of terminal 663 (relay: safe operational stop) on the
drive module.
State 1: Module-specific pulse enable
State 0 : module-specific pulse disable
Display corresponds to machine datum:
MD1700 $MD_TERMINAL_STATE
(status of binary inputs).
Setup mode (terminal 112) HMI SW 6.3 and later
The display corresponds to the status of terminal 112 on the SIMODRIVE 611 digital
infeed/regenerative feedback unit.
State 1: Central drive disable for setup mode
State 0 : Central drive enable, no setup mode
Display corresponds to machine datum:
MD1700 $MD_TERMINAL_STATE
(status of binary inputs).
PLC pulse enable
Indicates whether the pulse enable from the PLC is available for the drive.
State 1: The pulses for the drive module have been disabled by the PLC.
State 0: Pulse enable for this drive is activated by the PLC.
Display corresponds to IS DB31, ... DBX21.7 ("Pulse enable")
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Speed controller enable NC
This display indicates whether the speed controller for the drive has been enabled by the
NC.
State 1: Speed controller enable = OFF
State 0: Speed controller enable = ON
D1: Diagnostics tools
5.3 Service overview
Basic Functions
284 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Ramp-up function generator quick stop
Status display for ramp-up function generator quick stop.
State 1: Ramp-up function generator quick stop is not active for the drive.
State 0: Ramp-up function generator quick stop is active. The drive is stopped without
a ramp function with speed setpoint = 0 and without pulse suppression.
Display corresponds to IS DB31, ... DBX92.1 ("Ramp-function generator rapid stop").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
DC link state (on/off)
The display contains the following drive warning:
State 0: DC link voltage = ON
State 1: DC link voltage is below warning threshold.
The warning threshold corresponds to machine datum:
MD1604 $MD_LINK_VOLTAGE_WARN_LIMIT (DC link undervoltage warning threshold).
Enable pulses
Message indicating whether the drive pulses have been enabled.
State 0: The drive module pulses are suppressed. The axis/spindle can therefore not
be traversed.
State 1: The drive module pulses are enabled. The axis/spindle can now be traversed.
Display corresponds to IS DB31, ... DBX93.7 ("Enable pulses").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2).
Drive ready
Display of the current status of the selected drive.
State 0: The drive is not ready.
State 1: The drive is ready.
Display corresponds to IS DB31, ... DBX93.5 ("Drive Ready").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Display indicating the current ramp-up phase of the selected drive.
D1: Diagnostics tools
5.3 Service overview
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 285
Meaning:
CRC error
Display of communications errors detected in hardware between NC and drive.
Note
If the display shows a value other than "0", please contact your SIEMENS Regional Office!
ZK1 Messages
Display indicates whether messages of status class 1 are active.
State 0: There is no pending ZK1 message.
State 1: One or several status class 1 messages are active.
Status class 1 messages are alarms with the following characteristics:
They lead to internal responses (e.g. regenerative braking, immediate pulse suppression)
They are modal.
DC link voltage
indicates the current DC link voltage level within the drive grouping.
Unit: Volts
Speed setpoint
The displayed speed setpoint represents the unfiltered total setpoint value. It consists of the
position controller output component and the speed feedforward branch.
Unit: rpm
Display corresponds to machine data:
MD1706 $MD_DESIRED_SPEED (speed setpoint value).
Speed actual value
The displayed real value represents the unfiltered actual speed value.
Unit: rpm
Display corresponds to machine data:
MD1707 $MD_ACTUAL_SPEED (actual speed value).
Smoothed actual current value
Display of the smoothed actual current value. The torque-generating actual current value is
smoothed by a PT1 element with parameterizable time constants.
Unit: %
D1: Diagnostics tools
5.3 Service overview
Basic Functions
286 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
100 % corresponds to the maximum current of the power section.
Display corresponds to machine data:
MD1708 $MD_ACTUAL_CURRENT (smoothed actual current value).
Motor temperature
Display of motor temperature measured via temperature sensors.
Unit: Degrees Celsius
Display corresponds to machine datum:
MD1702 $MD_MOTOR_TEMPERATURE (motor temperature).
Speed setpoint filter 1
Status display of speed setpoint smoothing function.
State 0: No speed setpoint smoothing is active.
State 1: Smoothing of the speed setpoint as requested by the PLC using IS DB31, ...
DBX20.3
("Speed setpoint smoothing") takes effect because speed setpoint filter 1 is
configured as the low pass.
Display corresponds to IS DB31, ... DBX92.3 ("Speed setpoint smoothing active") and is
shown in an updated form as of software version 6.3 and later.
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
2nd torque limit
Display of active torque limit
State 0: Torque limit 1 is active.
State 1: Torque limit 2 is active.
Display corresponds to IS DB31, ... DBX92.2
("Torque limit 2 active").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Integrator disabling
This display indicates whether the speed controller integrator is active.
State 0: The integrator of the speed controller is enabled. The speed controller
functions as a PI controller.
State 1: Deactivation of the speed-controller integrator as requested by the PLC using
IS DB 31, ... DBX 21.6
("Integrator disable speed controller") is active for the drive module. The
speed controller has therefore switched from a PI to a P controller.
Display corresponds to IS DB31, ... DBX93.6 ("Speed-controller integrator disabled").
D1: Diagnostics tools
5.3 Service overview
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 287
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Setup mode
Mode display of the SIMODRIVE 611 digital.
State 0: Normal operation is active for the drive.
State 1: Setup mode is active for the drive.
Display corresponds to NST DB31, ... DBX92.0 ("Setup mode active").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Parking axis
Mode display of the SIMODRIVE 611 digital.
State 0: Axis/spindle in normal mode
State 1: Axis/spindle in parking position, i.e. all encoder-specific monitoring and
evaluating functions are disabled. This allows the encoder to be withdrawn
without initiating an alarm.
Setpoint parameter set (drive)
Indicates which of the 8 drive parameter sets of the SIMODRIVE 611 digital are to be
activated by the PLC.
Display corresponds to IS DB31, ... DBX21.0 to 21. ("2Parameter set selection A,B,C").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Actual parameter set (drive)
Display indicating which of the 8 drive parameter sets of the SIMODRIVE 611 digital is
currently active.
Display corresponds to IS DB31, ... DBX93.0 to 93.2
("Active parameter set A,B,C").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals
Operating mode
Display indicating whether the motor is operating as a feed drive or main spindle drive.
D1: Diagnostics tools
5.3 Service overview
Basic Functions
288 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Motor selection (star/delta)
Display indicating which motor data set is to be activated by the PLC. At the moment the
motor data record is used for the star/delta switchover on main spindle drives.
The following assignment applies:
Motor selection Application Coding
Motor 1 MSD: Star 0 0
Motor 2 MSD: Delta mode 0 1
Motor 3 reserved 1 0
Motor 4 reserved 1 1
The display applies only to main spindle drives.
Display corresponds to NST DB31, ... DBX21.3 to 21.4
("Motor selection A,B").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Actual motor (star/delta)
Display indicating which of the motor data sets is currently active. At the moment the motor
data record is used for the star/delta switchover on main spindle drives.
The following assignment applies:
Motor selection Application Coding
Motor 1 MSD: Star 0 0
Motor 2 MSD: Delta mode 0 1
Motor 3 reserved 1 0
Motor 4 reserved 1 1
Display is valid only for main spindle drives.
Display corresponds to NST DB31, ... DBX93.3 to 93.4
("active motor A,B").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Position actual value measuring system 1/2
The actual position of the axis as measured via measuring system 1/2. The position is
displayed in the machine coordinate system (no work offsets or tool offsets included).
Unit: mm, inch or degrees
D1: Diagnostics tools
5.3 Service overview
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 289
Power section in it limitation HMI SW 6.3 and later
Limitation for protecting the power section against continuous overloading of the
SIMODRIVE 611 drives.
State 1: i
2
t-power section limitation has responded
State 0: i
2
t power section limitation has not responded
Display is valid for SIMODRIVE universal and SIMODRIVE digital.
Display corresponds to NST DB31, ... DBX95.7
("i
2
t monitoring").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Heatsink temperature warning
Warning signal output by drive:
State 0: The heat sink temperature monitoring has not responded.
State 1: The heatsink temperature monitoring has responded.
Display corresponds to IS DB31, ... DBX94.1
("Heatsink temperature prewarning").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Motor temperature warning
Warning signal output by drive:
State 0: The motor temperature is below the warning threshold.
State 1: The motor temperature has exceeded the defined warning threshold.
The warning threshold corresponds to the machine data:
MD1602 $MD_MOTOR_TEMP_WARN_LIMIT (maximum motor temperature).
Display corresponds to NST DB31, ... DBX94.0 ("Motor temperature prewarning").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Ramp-up function completed
Status display of drive.
State 0: The ramp-up function has not yet been completed after a new speed setpoint
was defined.
State 1: The actual speed value has reached the speed tolerance band after a new
speed setpoint was defined.
The speed tolerance band corresponds to machine datum:
MD1426 $MD_SPEED_DES_EQ_ACT_TOL (tolerance band for 'nset-nactual' message).
D1: Diagnostics tools
5.3 Service overview
Basic Functions
290 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Display corresponds to NST DB31, ... DBX94.2 ("Ramp-up function completed").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Torque lower than threshold setting
Status display of drive.
State 0: In the stationary condition (i.e. ramp-up procedure completed), the torque
setpoint is greater than the threshold torque.
State 1: In the stationary condition, the torque setpoint has not reached the threshold
torque.
The threshold torque corresponds to the machine data:
MD1428 $MD_TORQUE_THRESHOLD_X (threshold torque).
Display corresponds to IS DB31, ... DBX94.3 ("Md< Mdx").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Speed lower than minimum setting
Status display of drive.
State 0: The speed actual value is higher than the minimum speed.
State 1: The actual speed value is smaller than the minimum speed.
The minimum speed corresponds to the machine data:
MD1418 $MD_SPEED_THRESHOLD_MIN (nmin for 'nis < nmin' message).
Display corresponds to IS DB31, ... DBX94.4
"|nactual|< nmin").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Speed lower than threshold setting
Status display of drive.
State 0: The actual speed value is greater than the threshold speed.
Status 1: The actual speed value is smaller than the threshold speed.
The threshold speed corresponds to machine datum:
MD1417 $MD_SPEED_THRESHOLD_X
(nx for 'nactual < nx' message).
Display corresponds to NST DB31, ... DBX94.5 ("|nactual|< nx").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
D1: Diagnostics tools
5.3 Service overview
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 291
Actual speed = set speed
Status display of drive.
State 0: The actual speed value is outside the speed tolerance band after a
new speed setpoint was defined.
State 1: The actual speed value has reached the speed tolerance band after a new
speed setpoint was defined.
The speed tolerance band corresponds to machine datum:
MD1426 $MD_SPEED_DES_EQ_ACT_TOL (tolerance band for 'nset-nactual' message).
Display corresponds to NST DB31, ... DBX94.6 ("|nactual|= nset").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Variable signal 1
Status display of 611D variable signaling function.
With the variable signaling function, any memory location can be monitored to see whether a
definable threshold is exceeded. In addition to the threshold, a tolerance band can be
defined which is also taken into account when scanning for violation of the threshold value.
The signal can be combined with an ON delay or OFF delay time.
State 0: Threshold value not reached
State 1: Threshold value exceeded
Parameters for the variable signal function are set using the following 611D machine data:
MD1620 $MD_PROG_SIGNAL_FLAGS (Bits variable signal function)
MD1621 $MD_PROG_SIGNAL_NR (Signal number variable signal function)
MD1622 $MD_PROG_SIGNAL_ADDRESS (Address variable signal function)
MD1623 $MD_PROG_SIGNAL_THRESHOLD (Threshold variable signal function)
MD1624 $MD_PROG_SIGNAL_HYSTERESIS (Hysteresis variable signal function)
MD1625 $MD_PROG_SIGNAL_ON_DELAY (ON Delay variable signal function)
MD1626 $MD_PROG_SIGNAL_OFF_DELAY (OFF Delay variable signal function)
D1: Diagnostics tools
5.3 Service overview
Basic Functions
292 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Diagnostics for alarms
This information is also provided as a diagnostic tool for diagnosing the causes of alarms
such as:
"Ramp-up error"
Check the ramp-up phase to see which ramp-up phase the drive has reached.
"Drive malfunction"
Message ZK1 is set.
check specified parameter set, motor selection, DC link status.
Check following alarms 300500 to 300515.
"Zero speed monitoring",
25050 "Contour monitoring",
25060 "Speed setpoint limitation"
25080 "Positioning monitoring"
The enabling for the drive may have been omitted (e.g. pulse enable, drive enable,
pulse enable for PLC not available); this leads to display pulses enabled = off.
"Motor temperature exceeded"
Check the current motor temperature.
For details on the behavior of the NC control in response to individual alarms, and remedial
action, please refer to:
References:
/DA/ Diagnostic Manual
5.3.3 Service display PROFIBUS DP 840Di
The user interface 840Di Start-Up provides diagnostic screen forms for PROFIBUS-DP and
its nodes. . These diagnostic screens are only intended for information. You cannot modify
them.
The following detailed information is displayed:
PROFIBUS configuration
Information on the slaves regarding their assignment to PLC/NC
Detailed information on the slaves and the corresponding slots
Information on the axes.
To obtain a quick overview, the current states of certain functions are represented by colored
lamps. The following general conventions are used for the meaning of the individual colors:
Green: Function is OK.
Red: Failure or no communication at the moment
Gray: Function is not available for the present communication.
D1: Diagnostics tools
5.3 Service overview
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 293
Diagnostic screen PROFIBUS-DP Configuration
The diagnostic screen PROFIBUS-Configuration provides general information about the
PROFIBUS-DP.
The following parameters are displayed:
Table 5- 1 Diagnostic screen Profibus-Configuration
Function/Part function Explanation/Meaning
Bus-configuration
Baudrate in MBd Transmission rate
Cycle time in msec Configured bus-cycle time; also defines the position controller cycle at the same time
Synchronous part (TDX)
in msec
configured time span for the cyclic data exchange within a PROFIBUS-DP cycle
Status
Configuration ok Status of the configuration.
Green lamp: DP-Master is powered up.
Red lamp: Error function/no communication
Bus status Current bus status is shown in this field. Each bus status is explained briefly in the screen.
Possible states are:
POWER_ON
OFFLINE
CLEAR
OPERATE
ERROR
Diagnostics screen of the DP slaves
This diagnostic screen provides an overview of the configuredd slaves and the slaves
identified on the bus.
The following information is offered:
Table 5- 2 Diagnostic screen Information about slaves
Function/Part function Explanation/Meaning
Slave no. (DP address) Configured DP address of the DP slave
Assignment It is shown, whether the DP slave is assigned to the NC or to the PLC.
NC: e.g. one or more drives controlled by the NC.
PLC: e.g. I/O peripherals or an axis controlled by the PLC.
active on the bus Shows, whether the DP slave has been identified on the bus.
Green lamp: DP slave was identified at the PROFIBUS-DP and the data exchange is
working with the assigned component (NC or PLC)
Red lamp: Error function/no communication
D1: Diagnostics tools
5.3 Service overview
Basic Functions
294 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Function/Part function Explanation/Meaning
Synchr. with NC It is shown, whether the DP slave is running synchronously to NC on the bus.
Green lamp: DP slave runs synchronously to NC at PROFIBUS-DP i.e. the equidistant data
exchange takes place.
Gray lamp: DP slave is not assigned to NC but instead to PLC.
Red lamp: Error function/no communication
Number of slots Number of configured slots within the DP slave
Details By pressing the button another diagnostic screen is opened, which contains the detailed
information for the respective DP slave.
Detailed information of the slots within a slave
Via the button Details the diagnostic screen of detailed information for the slave is opened.
This screen shows you detailed information about the slots assigned to the DP slave.
The field Slave shows you the most important information for the currently selected DP
slave.
The following information is offered for the slots:
Table 5- 3 Diagnostic screen Detailed information for slave
Function/Part function Explanation/Meaning
Slave
Slave no. (DP address) Configured DP address of the DP slave
Assignment It is shown, whether the DP slave is assigned to the NC or to the PLC.
NC: e.g. one or more drives controlled by the NC.
PLC: e.g. I/O peripherals or an axis controlled by the PLC.
Active on the bus Shows, whether the DP slave has been identified on the bus.
Green lamp: DP slave was identified at the PROFIBUS-DP and the data exchange is
working with the assigned component (NC or PLC)
Red lamp: Error function/no communication
Synchronous It is shown, whether the DP slave is running synchronously to NC on the bus.
Green lamp: DP slave runs synchronously to NC at PROFIBUS-DP i.e. the equidistant data
exchange takes place.
Gray lamp: DP slave is not assigned to NC but instead to PLC.
Red lamp: Error function/no communication
Slots
No. Slot number within the DP slave
I/O address I/O address in the I/O address area of the PLC assigned to this slot. For NC axes, the set and
the actual value must always be configured on the same I/O address.
logical drive no. Drive number specified in the NC machine date for the axis.
Length [byte] Length of the I/O area reserved for the slot in step 7 I/O address area
Type Specification, whether the slot is input, output or diagnostic slot. If the slot is assigned to an NC
axis, then the output is always denoted as setpoint value and the input always as actual value.
Machine axis Display of the name defined in the machine data for this slot. If the slot is not assigned to any
NC axis, <No NC-axis> is shown.
D1: Diagnostics tools
5.3 Service overview
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 295
Function/Part function Explanation/Meaning
Telegram type The telegram type of the NC axis configured in the NC machine data. If the slot is not assigned
to any NC axis, the telegram type is not filled (-).
State Current state of slot. Displayed only for NC axes.
Green: Slot used by NC, communication active
Gray: No NC axis
Red: Slot used by NC, communication currently not active
Diagnostic screen for the axes
The diagnostic screen AxisInfo shows the axis-specific detailed infformation The diagnostic
screen enables an NC-oriented view of the axis information.
The following information is offered for the slots:
Table 5- 4 Diagnostic screen Axis Info
Function/Part function Explanation/Meaning
Machine axis Name of the axis defined in the NC-machine data
Output
Slave/Slot Configured routing
State Current state of slot.
Green lamp: Cyclic communication
Red lamp: (still) no cyclic communication
Telegram failures It is shown, how many telegram failures have occured since the NC-power up. This
value is an indication of the quality (susceptibility to faults) of the PROFIBUS-DP
strand.
Encoder 1
Slave/Slot Configurable routing
State Current state of slot.
Green lamp: Cyclic communication
Red lamp: (still) no cyclic communication
Telegram failures It is shown, how many telegram failures have occured since the NC-power up. This
value is an indication of the quality (susceptibility to faults) of the PROFIBUS-DP
strand.
Type Display of the encoder type configured in the NC-machine data.
ABS: Absolute encoder
INC: Incremental value encoder
Encoder 2 (If configured, the same display as for encoder 1)
D1: Diagnostics tools
5.4 Communication log
Basic Functions
296 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
5.4 Communication log
Log assistance
In event of a fault and when developing OEM applications, control logs may assist with the
analysis.
Logs and version
Communication log
The communication errors which have occurred between the HMI and NC are displayed in
chronological order via the soft key Comm. log in the "Diagnostics" operating area This error
list assists developers of OEM applications in localizing sporadic errors. The list has no
relevance for normal operation.
Logbook
The logbook display selected by means of soft key Logbook in the "Diagnostics" operating
area automatically lists details of all alterations to the control that are relevant for the system
(e.g., changes in access level).
For SINUMERIK 840Di, the logbook is displayed in 840Di Start-Up.
Version
in case of service, the integrated HMI or NC software version can be read (Operating area
"Diagnosis" under the Version) softkey.
The software version of each software module is recorded additionally in a list.
D1: Diagnostics tools
5.5 PLC status
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 297
5.5 PLC status
PLC status signals can be checked and altered via the operator panel in the "Diagnostics"
operating area.
Application
The end customer or service personnel can use this function on site without a programming
device to do the following:
Check the input and output signals of the PLC I/Os.
Carry out limited troubleshooting
Check the interface signals for diagnostic purposes.
Operation
For information about status display operation and changing PLC signals, refer to the
Operating Manual for the relevant HMI software.
Status display
The status of the following data can be displayed on the operator panel.
Interface signals from the machine control panel
Interface signals to the machine control panel
Interface signals between the NCK and PLC
Interface signals between the HMI and PLC
Data blocks (DB 0-127)
Flags (FB 0-255)
Timers (T 0-127)
Counters (C 0-63)
Inputs (IB 0-127)
Outputs (QB 0-127)
For a breakdown of the interface signals (DBx, DBBy), refer to:
References:
/LIS2/ Lists (Volume 2)
Change in status
The status of the above signals can be changed for test purposes. Signal combinations are
also possible. A maximum of ten operands can be altered at any one time.
D1: Diagnostics tools
5.6 Identifying defective drive modules
Basic Functions
298 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
5.6 Identifying defective drive modules
Deactivate drives
Drives can be removed from the NC configuration using a piece of machine data.
Troubleshooting may involve a situation where a drive module (SIMODRIVE 611 digital)
displayed in an alarm text needs to be removed from the bus in order to determine whether
this module has caused the displayed error.
With machine datum:
MD13030 $MN_DRIVE_MODULE_TYPE,
individual modules can be removed from the NC-side drive bus configuration (the affected
axes are switched to simulation).
Note
You must remove the desired module from the drive bus configuration (SIMODRIVE 611
digital) before you activate the function. To do this, connect the drive so as to exclude the
module.
Since this internal modification to the machine configuration can result in damage to the
machine if implemented incorrectly, the axes are prevented from moving.
If Safety Integrated has been activated for the modules concerned, you must disable it
manually (safety, logged, EMERGENCY STOP scheme).
Remove drive module at NC end
A drive module (SIMODRIVE 611 digital) specified in an alarm text must be removed from
the bus:
1. Remove the module from the drive bus network
2. Set entries of the drive module in machine datum:
MD13030 $MN_DRIVE_MODULE_TYPE
to zero (zero-axis module).
3. Perform an NC RESET.
The axes which were controlled by the removed drive modules are now replaced by
simulated axes. The 611D bus with its drive modules is now in a state in which it could
normally move axes, but axis traversal has been disabled internally.
Alarm 300020 "Drive %1 removed for diagnostics" displays this status to the operator.
D1: Diagnostics tools
5.6 Identifying defective drive modules
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 299
Restoring the initial configuration
After completing the diagnostics, the initial configuration on the drive bus must be restored:
1. Replace or re-install the removed drive module.
2. Change entries of the drive module in machine datum:
MD13030 $MN_DRIVE_MODULE_TYPE
back to the original values.
3. Perform an NC RESET.
Example
The 2-axis module with drive numbers "1" and "2" must be removed from a drive grouping.
Note
Before activating the function, the module in question must be removed from the drive bus
configuration
(SIMODRIVE 611 digital). To do this, connect the drive bus so as to exclude the module.
If Safety Integrated has been activated for the modules concerned, you must disable it
manually (safety, logged, EMERGENCY STOP scheme).
Table 5- 5 Bus configuration example
Module Drive no. Active Type Module type Power section code
1 10 1 ARM/MSD Axis 6
Left 1 1 SRM/FDD Axis 14
Right 2 1 SRM/FDD Axis 14
Left 4 1 HLA Axis
Right 5 1 ANA Axis
4 12 1 SLM Axis 11
5 11 1 PER DMP-C
Module "2" must now be removed:
Machine datum:
MD13030 $MN_DRIVE_MODULE_TYPE
is to be selected on the "General MD" MD screen.
DRIVE_MODULE_TYPE[0] = 1
DRIVE_MODULE_TYPE[1] = 2 <- set this entry to zero
DRIVE_MODULE_TYPE[2] = 2 <- set this entry to zero
DRIVE_MODULE_TYPE[3] = 2
DRIVE_MODULE_TYPE[4] = 2
DRIVE_MODULE_TYPE[5] = 1
DRIVE_MODULE_TYPE[6] = 9
D1: Diagnostics tools
5.6 Identifying defective drive modules
Basic Functions
300 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
After the changes, the table looks like this:
DRIVE_MODULE_TYPE[0] = 1
DRIVE_MODULE_TYPE[1] = 0
DRIVE_MODULE_TYPE[2] = 0
DRIVE_MODULE_TYPE[3] = 2
DRIVE_MODULE_TYPE[4] = 2
DRIVE_MODULE_TYPE[5] = 1
DRIVE_MODULE_TYPE[6] = 9
Alarms 300020 "Drive 1 removed for diagnostics" and 300020 "Drive 2 removed for
diagnostics" are displayed.
Internally simulated drives are used for all axes which had settings on the removed drive
numbers. If the controller is engaged for the drives that are still installed, these drives
operate in the normal way. Interpolative traversal of all axes is disabled.
Note
If alarm 300003 "Axis xx drive yy incorrect module type zz" appears, then you have removed
only one part of a 2-axis module. In this case, you should check the module type in the drive
configuration display. "NO" axis type is shown for removed modules.
D1: Diagnostics tools
5.7 Data lists
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 301
5.7 Data lists
5.7.1 Machine data
5.7.1.1 Drive-specific machine data
Number Identifier: $MD_ Description
1401 MOTOR_MAX_SPEED Speed for max. useful motor speed
1417 SPEED_THRESHOLD_X nx for 'nact < nx' signal
1418 SPEED_THRESHOLD_MIN nmin for 'nact < nmin' signal
1426 SPEED_DES_EQ_ACT_TOL Tolerance band for 'nset-nact' signal
1428 TORQUE_THRESHOLD_X Threshold torque
1602 MOTOR_TEMP_WARN_LIMIT Maximum motor temperature
1604 LINK_VOLTAGE_WARN_LIMIT DC link under voltage warning threshold
1620 PROG_SIGNAL_FLAGS Bits variable signal function
1621 PROG_SIGNAL_NR Signal number variable signal function
1622 PROG_SIGNAL_ADDRESS Address variable signal function
1623 PROG_SIGNAL_THRESHOLD Threshold variable signal function
1624 PROG_SIGNAL_HYSTERESIS Hysteresis variable signal function
1625 PROG_SIGNAL_ON_DELAY ON Delay variable signal function
1626 PROG_SIGNAL_OFF_DELAY OFF Delay variable signal function
1700 TERMINAL_STATE Status of binary inputs
1702 MOTOR_TEMPERATURE Motor temperature
1706 DESIRED_SPEED Speed setpoint
1707 ACTUAL_SPEED Speed actual value
1708 ACTUAL_CURRENT Smoothed current actual value
5.7.1.2 NC-specific machine data
Number Identifier: $MN_ Description
11410 SUPPRESS_ALARM_MASK Mask for suppressing special alarms
11411 ENABLE_ALARM_MASK Activation of special alarms
11412 ALARM_REACTION_CHAN_NOREADY Alarm reaction CHAN_NOREADY permitted
11413 ALARM_PAR_DISPLAY_TEXT Texts as alarm parameters (Siemens Rights)
11420 LEN_PROTOCOL_FILEX File size for protocol files (KB)
13030 DRIVE_MODULE_TYPE Module identifier (SIMODRIVE 611 digital)
D1: Diagnostics tools
5.7 Data lists
Basic Functions
302 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
5.7.1.3 Axis/spindle-specific machine data
Number Identifier: $MA_ Description
32200 POSCTRL_GAIN [n] Servo gain factor
32250 RATED_OUTVAL Rated output voltage
32260 RATED_VELO Rated motor speed
36010 STOP_LIMIT_FINE Exact stop fine
36030 STANDSTILL_POS_TOL Zero speed tolerance
36050 CLAMP_POS_TOL Clamping tolerance
36210 CTRLOUT_LIMIT Maximum speed setpoint
36300 ENC_FREQ_LIMIT[n] Encoder limit frequency
36400 CONTOUR_TOL Tolerance band contour monitoring
36500 ENC_CHANGE_TOL Max. tolerance for actual position value acquisition
37010 FIXED_STOP_TORQUE_DEF Clamping torque
43510 FIXED_STOP_TORQUE Fixed stop clamping torque
5.7.2 Setting data
5.7.2.1 Axis/spindle-specific setting data
Number Identifier: $SA_ Description
43510 FIXED_STOP_TORQUE Fixed stop clamping torque
5.7.3 Signals
5.7.3.1 Signals to axis/spindle
Signal name SINUMERIK 840D sl SINUMERIK 828D
Actual gear stages A, B, C DB31, ... .DBX16.0-2 DB380x.DBX2000.0-2
Parameter set selection A, B, C DB31, ... .DBX21.0-2 DB380x.DBX4001.0-2
Motor selection A, B DB31, ... .DBX21.3/4 -
Pulse enable DB31, .DBX21.7 DB380x.DBX4001.7
D1: Diagnostics tools
5.7 Data lists
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 303
5.7.3.2 Signals from axis/spindle
Signal name SINUMERIK 840D sl SINUMERIK 828D
Referenced/synchronized 1 DB31, ... .DBX60.4 DB390x.DBX0.4
Referenced/synchronized 2 DB31, ... .DBX60.5 DB390x.DBX0.5
Fixed stop reached DB31, ... .DBX62.5 DB390x.DBX2.5
Setup mode active DB31, ... .DBX92.0 -
Ramp-up function generator quick stop DB31, ... .DBX92.1 -
Torque limit 2 active DB31, ... .DBX92.2 -
Speed setpoint smoothing active DB31, ... .DBX92.3 -
Active parameter set A, B, C DB31, ... .DBX93.0-2 DB390x.DBX4001.0-2
Active motor A, B DB31, ... .DBX93.3/4 -
Drive Ready DB31, ... .DBX93.5 DB390x.DBX4001.5
Speed controller integrator disabled DB31, ... .DBX93.6 DB390x.DBX4001.6
Pulses enabled DB31, ... .DBX93.7 DB390x.DBX4001.7
Motor temperature prewarning DB31, ... .DBX94.0 DB390x.DBX4002.0
Heat-sink temperature prewarning DB31, ... .DBX94.1 DB390x.DBX4002.1
Ramp-up function completed DB31, ... .DBX94.2 DB390x.DBX4002.2
_'Md_'< Mdx DB31, ... .DBX94.3 DB390x.DBX4002.3
_'nact_'< nmin DB31, ... .DBX94.4 DB390x.DBX4002.4
_'nact_'< nx DB31, ... .DBX94.5 DB390x.DBX4002.5
_'nact_'= nset DB31, .DBX94.6 DB390x.DBX4002.6
D1: Diagnostics tools
5.7 Data lists
Basic Functions
304 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 305
F1: Travel to fixed stop
6
6.1 Brief description
Customer benefit
The "Travel to fixed stop" function can be used for operations such as traversing tailstocks or
sleeves to an end limit position in order to clamp workpieces.
Features
The clamping torque and a fixed stop monitoring window can be programmed in the parts
program and can also be altered via setting data once the fixed stop has been reached.
The "travel to fixed stop" function can be implemented for axes as well as for spindles
with axis-traversing capability.
The function can be implemented for several axes simultaneously and parallel to the
motion of other axes.
Torques or the power can be adjusted to a specific setting.
Travel with limited torque/power (Force Control, FOC) can be activated.
The "travel to fixed stop" functions can be enabled from synchronized actions.
Block search with calculation, multi-channel (SERUPRO).
Move axes with FXS and FOC in simulation mode.
Vertical axes can also be moved with FXS to a fixed stop.
With SW 6.4 and higher, VDI signals can be used to set a REPOS offset for each axis and
display the FXS status currently active on the machine after the search target has been
located.
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
306 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
6.2 General functionality
6.2.1 Functional sequence, programming, parameterization
Programming
Travel to fixed stop is selected or deselected with the following commands:
FXS[<axis>]=1 (select)
FXS[<axis>]=0 (deselect)
The commands are modal.
The clamping torque is set with command:
FXST[<axis>] = <torque>
The torque is specified as a percentage referred to the reference torque of the drive
(SINAMICS: p2003).
The command is used for setting the width of the fixed stop monitoring window.
FXSW[<axis>] = <window width>
The unit is dependent on the default setting: mm, inch or degrees.
Channel axis identifier
Instead of the machine axis identifiers, it is also possible to use channel axis identifiers if the
channel axis is precisely assigned to one machine axis.
Restrictions:
Channel axis identifiers may not be used (option disabled) for machine axes which have an
active transformation or frame.
If the machine axis is a coupled axis (e.g. following axis), programming is prevented and
alarm 14092 "Incorrect axis type" is displayed.
The movement to the destination point can be described as a path or positioning axis
movement. With positioning axes, the function FXS can be performed across block
boundaries. The function may also be selected for several machine axes simultaneously.
The FXST and FXSW commands are optional.
The travel path and the command which activates that function must be programmed in one
block (exception: Synchronized actions).
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 307
Examples
With machine axis identifiers:
X250 Y100 F100 FXS[X1]=1
X250 Y100 F100 FXS[X1]=1 FXST[X1]=12.3
X250 Y100 F100 FXS[X1]=1 FXST[X1]=12.3 FXSW[X1]=2 ; mm
X250 Y100 F100 FXS[X1]=1 FXSW[X1]=2 ; mm
References:
/PG/ Programming Manual Fundamentals
Channel axis identifier with unambiguous machine axis assignment:
For the purpose of illustrating the differences in programming, channel axis X is programmed
as the image of machine axis AX1 [or X1 (Name in machine parameter:
MD10000 $MN_AXCONF_MACHAX_NAME_TAB)].
Programming with machine axis identifiers
FXS[X1] = 1 ; Selecting X1
FXST[X1] = 10 ; New torque for X1
FXSW[X1] = 5 ; New window for X1
Programming with channel axis identifiers
FXS[X] = 1 ; Selecting X ->X1
FXST[X] = 10 ; New torque X ->X1
FXSW[X] = 5 ; New window for X -> X1
All four of the following programming lines have the same effect when the channel axis X is
imaged on the machine axis AX1, X1:
Z250 F100 FXS[AX1]=1 FXST[AX1]=12.3 FXSW[AX1]=2000
Z250 F100 FXS[X1]=1 FXST[X1]=12.3 FXSW[X1]=2000
Z250 F100 FXS[X]=1 FXST[X]=12.3 FXSW[X]=2000
Z250 F100 FXS[X]=1 FXST[X1]=12.3 FXSW[AX1]=2000
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
308 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Functional sequence
The function is explained by the example below (sleeve is pressed onto workpiece).
Actual position after "travel to
fixed stop"
Progr. end
position
Start position Fixed stop
monitoring window
Figure 6-1 Example of travel to fixed stop
Selection
The NC detects that the function "Travel to fixed stop" is selected via the command FXS[x]=1
and signals the PLC using the IS DB31, ... DBX62.4 ("Activate travel to fixed stop") that the
function has been selected.
If the machine data:
MD37060 $MA_FIXED_STOP_ACKN_MASK
(Monitoring of PLC acknowledgments for travel to fixed stop)
is set correspondingly, the system waits for the acknowledgement of the PLC using the IS
DB31, ... DBX3.1 ("Enable travel to fixed stop").
The programmed target position is then approached from the start position at the
programmed velocity. The fixed stop must be located between the start and target positions
of the axis/spindle. A programmed torque limit is effective from the start of the block, i.e. the
fixed stop is also approached with reduced torque. Allowance for this limitation is made in
the NC through an automatic reduction in the acceleration rate.
If no torque has been programmed in the block or since the start of the program, then the
value is valid in the axis-specific machine data:
MD37010 $MA_FIXED_STOP_TORQUE_DEF
(Fixed stop clamping torque default setting)
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 309
Fixed stop reached
As soon as the axis comes into contact with the mechanical fixed stop (workpiece), the
closed-loop control in the drive raises the torque so that the axis can move on. The torque
rises up to the programmed limit value and then remains constant.
The "Fixed point reached" status can be calculated as follows depending on the machine
data MD37040 $MA_FIXED_STOP_BY_SENSOR (fixed stop recognition by sensor):
FIXED_STOP_BY_SENSOR = 0
The "Fixed stop reached" status is achieved when the axial contour deviation (=
difference between actual and expected following error) has exceeded the value set in
machine data:
MD37030 $MA_FIXED_STOP_THRESHOLD (Threshold for fixed stop detection)
FIXED_STOP_BY_SENSOR = 1
External sensor transmits the "Fixed stop reached" state to the NC via the PLC using the
IS DB31, ... DBX1.2 ("Sensor fixed stop").
FIXED_STOP_BY_SENSOR = 2
The "Fixed stop reached" status is active either when the status has been detected by the
contour monitoring function or when the external sensor signals this status by a signal
change from 0 " 1 to (DB31,...DBX 1.2).
The axis contour deviation is explained in:
References:
/FB1/ Function Manual Basic Function; Diagnostics tool (D1)
Internal processes
Once the NC has detected the "Fixed stop reached" status, it deletes the distance-to-go and
the position setpoint is made to follow. The controller enabling command remains active.
The PLC is then informed of the state using IS DB31, ... DBX62.5 ("Fixed stop reached").
If the machine data:
MD37060 $MA_FIXED_STOP_ACKN_MASK
is set correspondingly, then the system waits for the acknowledgement of the PLC using the
IS DB31, ... DBX1.1 ("Acknowledge fixed stop reached").
The NC then executes a block change or considers the positioning motion to be completed,
but still leaves a setpoint applied to the drive actuator to allow the clamping torque to take
effect.
The fixed stop monitoring function is activated as soon as the stop position is reached.
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
310 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Monitoring window
If no fixed stop monitoring window was programmed in the block or from program start, then
the value set in the machine data:
MD37020 $MA_FIXED_STOP_WINDOW_DEF
(Default for fixed stop-monitoring window)
is valid.
If the axis leaves the position it was in when the fixed stop was detected, then alarm 20093
"Fixed stop monitoring has responded" is displayed and the "Travel to fixed stop" function
deselected.
The window must be selected by the user such that the alarm is activated only when the axis
leaves the fixed stop position.
Enabling the fixed stop alarms
With the machine data:
MD37050 $MA_FIXED_STOP_ALARM_MASK
enabling the fixed stop alarms can be established as follows:
MD37050 = 0 Fixed stop not reached (suppress Alarm 20091)
MD 37050 = 2 Fixed stop not reached (suppress alarm 20091) and fixed stop aborted
(suppress alarm 20094)
MD 37050 = 3 Fixed stop aborted (suppress alarm 20094)
All other permissible values of 7 or less do not suppress any alarms.
Using the parts program command NEWCONF a new setting can be activated.
Fixed stop is not reached
If the programmed end position is reached, without detecting the state "fixed stop reached",
then depending on the state of the machine data:
MD37050 $MA_FIXED_STOP_ALARM_MASK (Release of fixed stop alarms)
the alarm 20091 "Fixed stop not reached" is output.
Function abort
If the "Travel to fixed stop" function is aborted owing to a pulse cancellation command,
cancelation of PLC acknowledgments or a Reset in the approach block, the display or
suppression of alarm 20094 can be controlled via machine data:
MD37050m $MA_FIXED_STOP_ALARM_MASK
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 311
Abort without alarm
The travel to fixed stop can be aborted by the PLC in the approach block without triggering
an alarm (for example, when the operator actuates a key), if in the machine data:
MD37050 $MA_FIXED_STOP_ALARM_MASK
the alarm 20094 is suppressed.
The Travel to fixed stop function is deselected in response to both "Fixed stop not reached"
and "Fixed stop aborted".
Interrupts
If the fixed stop position is not reached when the function is active, alarm 20091 "Fixed stop
not reached" is output and a block change executed.
If a travel request (e.g. from the part program, the PLC, from compile cycles or from the
operator panel front) is provided for an axis after the fixed stop has been reached, the alarm
20092 "Travel to fixed stop still active" is output and the axis is not moved.
If an axis has reached the fixed stop and is then moved out of this position by more than the
value specified in
SD FIXED_STOP_WINDOW (Fixed stop monitoring window)
from the position, then the alarm 20093 "Standstill monitoring has triggered at the stop" is
given, the function "Travel to fixed stop" for this axis is deselected and the system variable is
set $AA_FXS[x]=2.
No termination during alarm
"Travel to fixed stop" remains active from now on for alarms,
if the bit values in the machine data:
MD37052 $MA_FIXED_STOP_ALARM_REACTION
were set.
IS "Mode group ready" (DB11, ... DBX6.3) remains active.
Alarm suppression after new programming
Travel to fixed stop can be used for simple measuring processes.
For example, it is possible to carry out a check for tool breakage by measuring the tool
length by traversing onto a defined obstacle. To do so, the fixed stop alarm must be
suppressed. When the function for clamping workpieces is then used "normally," the alarm
can be activated using parts program commands.
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
312 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Sequence in case of a fault or abnormal termination
The IS DB31, ... DBX62.4 ("Activate travel to fixed stop") is reset.
Depending on the machine data:
MD37060 $MA_FIXED_STOP_ACKN_MASK
the acknowledgement of the PLC is awaited through resetting of the NST
DB31, ... DBX3.1 ("Enable travel to fixed stop").
The torque limitation is then canceled and a block change executed.
Deselection
The NC recognizes the function deselection via programming of the command FXS[x]=0.
Then an advance stop (STOPRE) is internally released, since it can't be foreseen where the
axis will be after deselection.
The torque limitation and monitoring of the fixed stop monitoring window are canceled.
The IS DB31, ... DBX62.4 ("Activate travel to fixed stop") and DB31, ... DBX62.5 ("Fixed stop
reached") are reset.
Depending on the machine data:
MD37060 $MA_FIXED_STOP_ACKN_MASK
the acknowledgement of the PLC is awaited through resetting of the NST
DB31, ... DBX3.1 ("Enable travel to fixed stop") and/or
DB31, ... DBX1.1 ("Acknowledge fixed stop reached").
The axis will then change to position control. The follow-up mode of the position setpoints is
ended and a synchronization to the new actual position is carried out.
A programmed traverse motion can then be executed. This motion must lead away from the
fixed stop or else the stop or even the machine may sustain damage.
A block change is executed after the target position has been reached.
Multiple selection
A selection may only be carried out once. If the function is called once more due to faulty
programming (FXS[Axis]=1) the alarm 20092 "Travel to fixed stop still active" is initiated.
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 313
Block-related synchronized actions
By programming a block-related synchronized action, travel to fixed stop can be connected
during an approach motion.
Programming example:
N10 G0 G90 X0 Y0
N20 WHEN $AA_IW[X]>17 DO FXS[X]=1 ; If X reaches a position greater
N30 G1 F200 X100 Y110 ; 17mm FXS is activated
Changing the clamping torque and fixed stop monitoring window
The clamping torque and the monitoring window can be changed with the commands
FXST[x] and FXSW[x]. The changes take effect before traversing movements in the same
block.
Programming of a new fixed stop monitoring window causes a change not only in the
window width but also in the reference point for the center of the window if the axis has
moved prior to reprogramming. The actual position of the machine axis when the window is
changed is the new window center point.
Terminal EP (Enable Pulses) can be controlled using MD37002
With the machine data:
MD37002 $MA_FIXED_STOP_CONTROL
the response in the case of pulse inhibit at the stop is controlled.
Deleting the pulses using terminal EP or using IS DBX31, ...DBX21.7 ("Pulse enable") does
not cancel the function. As a result, the drive will press against the fixed stop again without
any further operating action when the machine is restarted.
The rise time of the torque corresponds to the time needed by the current controller of the
drive to reach the limitation again.
If the pulses are deleted when a deselection is active (waiting for PLC acknowledgments),
the torque limit will be reduced to zero. If the pulses are reactivated during this phase, torque
is no longer built up. Once the deselection has been completed, you can continue traversing
as normally.
FXS commands programmable in synchronized actions
The parts program commands FXS, FXST and FXSW can be programmed in synchronized
actions/technology cycles.
The function FXS[x]=1 can also be activated without movement; the torque is limited
immediately. As soon as the axis is moved via a setpoint, the limit stop monitor is activated.
In static and block related synchronized actions, the same commands FXS, FXST, FXSW can be
used as in the normal parts program run. The values assigned can result from a calculation.
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
314 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Ramp for torque limitation with MD37012
A ramp has been implemented so that the setting of a torque limit is not to jerky.
For this in the machine data:
MD37012 $MA_FIXED_STOP_TORQUE_RAMP_TIME
defining the length of the ramp until the new torque limit is reached.
6.2.2 Response to RESET and function abort
Response to RESET
During selection (fixed stop not yet reached) the function FXS can be aborted with RESET. The
termination is carried out such that an "almost achieved" fixed stop (setpoint already beyond
the fixed stop, but still within the threshold for the fixed stop detection) will not result in
damage.
This is achieved by synchronizing the position setpoint to the new actual position. As soon
as the fixed stop is reached, the function remains operative even after RESET.
Function abort
A function abort can be triggered by the following events:
Emergency stop:
With an 840D control, the NC and drive are brought into a no-current condition for
"Emergency Stop", i.e. the PLC must react.
With an 840Di control, the NC and drive are brought into a no-current condition for
Emergency Stop, i.e. the PLC must react.
CAUTION
Make sure that after canceling the function
"Travel to fixed stop" by "Emergency Stop," no dangerous machine situation
(MD37002 $MA_FIXED_STOP_CONTROL e.g. canceling pulse disable) can occur.
The fixed stop monitoring function responds in the case of:
Exit from fixed stop position by axis
Tool breakage
Pulse disable
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 315
6.2.3 Block search response
Block search with calculation
The response is as follows:
If the target block is located in a program section in which the axis must stop at a fixed
limit, then the fixed stop is approached if it has not yet been reached.
If the target block is located in the program section in which the axis must not stop at a
fixed limit, then the axis leaves the fixed stop if it is still positioned there.
If the desired fixed stop status is reached, alarm message 10208 "press NC Start to
continue the program" is output. The program can be continued after pressing NC Start to
acknowledge.
At the start of the target block, FXST[x] and FXSW[x] are set to the same value as they
would have during normal program processing.
Block search without calculation
The commands FXS, FXST and FXSW are ignored.
FOC
FOCON/FOCOF is activated modally. It is already active in the approach block.
SERUPRO
Block search with calculation, multi-channel
The block search in program test mode is designated SERUPRO and is derived from the
"Search-Run by Program test." This search mode allows the user a multi-channel block
search with calculation of all required status data from the previous history.
The PLC interface is updated in this block search and matching processes, which cover the
interaction of several channels executed within the framework of this block search correctly.
Search process with FXS and FOC
The user selects FXS or FOC in a program area of the searched target block in order to acquire
all states and functions of this machining last valid. The NC will start the selected program in
Program test mode automatically. After the target block has been found, the NC stops at the
beginning of the target block, deselects Program test internally again and displays the Stop
condition "Search target found" in its block display.
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
316 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
If FXS "travel to fixed stop" is located between the beginning of the program and the search
target, the instruction is not really executed by the NC. The motion is only simulated up to
the programmed end point.
CAUTION
SERUPRO approach does not really take the statementFXS into account. The approach to
the programmed end position of the FXS block is only simulated without torque limitation.
The user can log the turning on and turning off of FXS in the parts program. If necessary, the
user can start an ASUB in order to activate or deactivate FXS in this SERUPRO-ASUP.
$AA_FXS and $VA_FXS
The meaning of system variable $AA_FXS is redefined for SERUPRO only and completely
replaced by variable $VA_FXS. Variables $AA_FXS and $VA_FXS have the same values
continuously outside the SERUPRO function.
Description NCK Variables
Axis not at fixed stop $AA_FXS = 0 and $VA_FXS = 0
Fixed stop successfully approached $AA_FXS = 1 and $VA_FXS = 1
Approach to fixed stop failed $AA_FXS = 2 and $VA_FXS = 2
Travel to fixed stop selection active $AA_FXS = 3 and $VA_FXS = 3
Fixed stop detected $AA_FXS = 4 and $VA_FXS = 4
Travel to fixed stop deselection active $AA_FXS = 5 and $VA_FXS = 5
$AA_FXS Simulate axis traversal
System variable $AA_FXS displays the current status of program simulation "program-
sensitive system variable."
Example:
If in the SERUPRO process axis Y traversal is simulated with FXS[Y]=1, then $AA_FXS has a
value of 3.
If in the SERUPRO process axis Y traversal is simulated with FXS[Y]=0, then $AA_FXS has a
value of 0.
During simulation with SERUPRO, $AA_FXS cannot have the values 1, 2, 4, 5, since the
actual status of $VA_FXS "travel to fixed stop" can never be detected.
Note
The state $AA_FXS = 1 is never reached during the SERUPRO operation. This means that
other program branches can be executed and as a result the simulation can provide different
results - compared with the normal program execution.
If after the SERUPRO process axis Y is traversed again, then variables $AA_FXS and
$VA_FXS are assigned the same values again.
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 317
$VA_FXS Real machine status
Variable $VA_FXS always describes the real machine status.
In this way, the actual existing machine status of the corresponding axis with $VA_FXS is
displayed.
Setpoint/actual status comparison
The two system variables $AA_FXS and $VA_FXS can be used to compare the setpoint and
actual states in the parts program. The SERUPRO ASUB routine is then as follows:
SERUPRO ASUB
Asup fxsSeruproAsup.mpf
;The setpoint and actual states are compared for the
;REPOSA block FXS to correspondingly activate or deactivate.
N100 WHEN ($AA_FXS[X]==3) AND ($VA_FXS[X]==0 DO FXS[X]=1
N200 WHEN ($AA_FXS[X]==0) AND ($VA_FXS[X]==1 DO FXS[X]=0
N1020 REPOSA
REPOS display Offset
Once the search target has been found, for each axis of the FXS state prevailing on the
machine through the axis VDI-signals:
IS DB31, ... DBX62.4 ("Activate travel to fixed stop")
and
IS DB31, ... DBX62.5 ("Fixed stop reached")
displayed.
Example:
If the machine is at the fixed stop and the block search has reached a block after deselection
of FXS, the new target position is displayed via IS DB31, ... DBX62.5 ("Fixed stop reached") is
displayed as REPOS offset.
FXS fully automatically in REPOS
With REPOS the functionality of FXS is repeated automatically and designated FXS-REPOS
below. This sequence is comparable to the program "fxsSeruproAsup.mpf." Every axis is
taken into account and the torque last programmed before the search target is applied.
The user can treat FXS separately in a SERUPRO-ASUP.
The following then applies:
Every FXS action executed in SERUPRO-ASUP automatically takes care of
$AA_FXS[X] == $VA_FXS[X].
This deactivates FXS-REPOS for axis X.
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
318 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Deactivate FXS REPOS
FXS-REPOS is deactivated by:
an FXS synchronous action which refers to REPOSA
Or
$AA_FXS[X] == $VA_FXS[X] in SERUPRO_ASUP.
Note
A SERUPRO-ASUP without FXS handling or no SERUPRO-ASUP results in fully
automatic FXS-REPOS.
CAUTION
FXS-REPOS moves all path axes in a path grouping to the target position. Axes with and
without FXS treatment thus traverse together with the G code and feedrate valid at the
time the target block is processed. As a result, the fixed stop may be approached in
rapid traverse(G0) or higher velocity.
FOC fully automatically in REPOS
The FOC-REPOS function behaves analogously to the FXS-REPOS function.
Note
A continuously changing torque characteristic cannot be implemented with FOC-REPOS.
Example:
A program moves axis X from 0 to 100 and activates FOC every 20 millimeters for 10
millimeters at a time. This torque characteristic is generated with nonmodal FOC and therefore
cannot be traced by FOC-REPOS. FOC-REPOS will traverse axis X from 0 to 100 with or without
FOC.
For programming examples of FXS "travel to fixed stop," please see:
References:
/FB1/ Function Manual Basic Functions; Mode Group, Channel, Program Operation (K1);
Section: Program test
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 319
6.2.4 Miscellaneous
Setting data
The following axis-specific setting data are provided for the "Travel to fixed stop" function:
SD43500 $SA_FIXED_STOP_SWITCH (selection of travel to fixed stop)
SD43510 $SA_FIXED_STOP_TORQUE (clamping torque for travel to fixed stop)
SD43520 $SA_FIXED_STOP_WINDOW (fixed stop monitoring window)
The setting data are effective only when the axis has reached the fixed stop.
The status of the setting data is displayed via the operator panel front in the "Parameters"
area.
The commands FXS[x], FXST[x] and FXSW[x] effect a block synchronous change in these
setting data.
If FXST[x] and FXSW[x] are not programmed, then, if "Travel to fixed stop" is activated, the
defaults from the following machine data is copied to the corresponding setting data:
MD37010 $MA_FIXED_STOP_TORQUE_DEF (default for fixed stop clamping torque)
MD37020 $MA_FIXED_STOP_WINDOW_DEF (default for fixed stop monitoring window)
The setting data for clamping torque and fixed stop monitoring window can be changed by
the operator and via the PLC. It is thus possible to specify a higher or lower clamping torque
or a modified fixed stop monitoring window after the fixed stop has been reached.
Changing the clamping torque using the ramp and values greater than 100%
A clamping torque change is transferred to the drive step-like. It is possible to specify a ramp
to always ensure that a modified torque limit is reached: The setting is done via the following
machine data:
MD37012 $MA_FIXED_STOP_TORQUE_RAMP_TIME
Clamping torque greater than 100%
Values greater than 100% are only practical for a short time for SD43510
$SA_FIXED_STOP_TORQUE.
Irrespectively, the maximum torque is limited by the drive.
For example, the following drive machine data have a limiting effect:
p1520/p1521 upper torque limit/force limit / lower torque limit/force limit
p1522/p1523 upper torque limit/force limit / lower torque limit/force limit
p1530/p1531 power limit, motoring / power limit, regenerating
p0640 current limit
p0326 motor stall force correction factor
Additional information can be found in the SINAMICS S120 Function Manual.
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
320 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Status query in the parts program
System variable $AA_FXS[x] indicates the status of the "travel to fixed stop" function.
It has the following coding:
$AA_FXS=0 Axis not located at the fixed stop.
$AA_FXS=1 Fixed stop has been approached successfully
(axis is within fixed stop monitoring window).
$AA_FXS=2 Approach to fixed stop has failed
(axis is not at fixed stop).
$AA_FXS=3 Travel to fixed stop activated.
$AA_FXS=4 Fixed stop detected.
$AA_FXS=5 Travel to fixed stop is deselected.
The deselection is not yet completed.
Query of the system variables in the part programs initiates a preprocessing stop.
As a result of the status query in the parts program, it is possible, for example, to react to an
erroneous operational sequence of the "Travel to fixed stop" function.
Example:
MD37050 $MA_FIXED_STOP_ALARM_MASK = 0
No alarm is generated in response to an error. A block change therefore takes place and
the error scenario can be evaluated via the system variable
Program code
X300 Y500 F200 FXS[X1]=1 FXST[X1]=25 FXSW[X1]=5
IF $AA_FXS[X1]=2 GOTOF FXS_ERROR
G01 X400 Y200
Inoperative IS signals
The following NC/PLC interface signals (PLC NCK) have no effect for axes at end stop
until deselected (incl. traversing motion):
DB31, ... DBX1.3 (axis/spindle disable)
DB31, ... DBX2.1 (controller enable)
Actual position at fixed stop
System variable $AA_IM[x] can determine the actual position of the machine axis, e.g. for
test purposes after successful "Travel to fixed stop."
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 321
Combination with other functions
"Measure with deletion of distance to go" (command MEAS) and "travel to fixed stop" cannot
be programmed at the same time in one block.
Exception:
One function is acting on a path axis while the other is acting on a positioning axis or both
functions are acting on positioning axes.
Contour monitoring
The axis contour monitoring function is inoperative while "Travel to fixed stop" is active.
Positioning axes
When "Travel to fixed stop" is applied toPOSA axes, block changes are made independently of
the fixed stop motion.
Vertical axes
The "Travel to fixed stop" function can be used for vertical axes even when alarms are
active.
Should the traversal of vertical axes be aborted as a result of an FXS alarm when "Travel to
fixed stop" is active, the relevant drives are not disconnected from the supply via the VDI
interface.
This functionality has the same effect on vertical axes as an electronic weight compensation
and can be configured via machine data:
MD37052 $MA_FIXED_STOP_ALARM_REACTION
Note
Additional description regarding the adaptation for SINAMICS, please refer to the SINAMICS
S120 Function Manual and the Function Manual Extended Functions; Compensation (K3);
Chapter: Electronic counterweight.
MD37052
With the machine data MD37052 $MA_FIXED_STOP_ALARM_REACTION, the drive is not
disconnected from the power supply by setting the bits, even when an alarm is generated, as
the NC/PLC interface signal DB11 DBX6.3 (mode group ready) remains active.
Bit value=0:
The alarms have an effect on FXS (drive becomes disconnected as previously).
NST DB11 DBX6.3 (mode group ready) is deleted.
Bit value=1:
The alarms have no effect on FXS.
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
322 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
NST DB11 DBX6.3 (mode group ready) remains active.
Bit Alarm Meaning
0 20090 Travel to fixed stop cannot be programmed
1 20091 Fixed stop is not reached.
2 20092 Travel to a fixed stop active.
3 20093 Standstill monitoring on fixed stop is triggered.
4 20094 Travel to fixed stop aborted.
6.2.5 Supplementary conditions for expansions
Response to pulse blocking
The cancellation of the pulse enable, either using terminal EP (Enable Pulses) or using IS
DB31, ... DBX21.7 ("Pulse enable") is known as pulse blocking in the following.
The machine data:
MD37002 $MA_FIXED_STOP_CONTROL
can be used to influence the interaction of travel to fixed stop and pulse blocking.
Bit 0: Response in case of pulse blocking at stop as follows:
Bit 0 = 0 Travel to fixed stop aborted.
Bit 0 = 1 Travel to fixed stop is interrupted,
i.e., the drive becomes powerless.
Once the pulse blocking is canceled again, the drive will press at the limited torque again.
The torque is actuated step-like.
Programming FXS in synchronized actions
The function is not available for analog axes (PLC acknowledgment cannot be awaited).
Select FXS[ ]=1:
The following signal interfaces are set:
Message to PLC:
IS DB31, ... DBX62.4 ("Activate travel to fixed stop")
The FXS selection command can only be used in systems with digital drives (VSA, HSA,
HLA).
Following condition must be observed:
MD37060 $MA_FIXED_STOP_ACKN_MASK, Bit 0 = 0
Bit 0 = 1 (waiting for PLC acknowledgement) must not be set, otherwise, an interpolator
stop would be required to acknowledge the signal, interrupting the movement.
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 323
Deselect FXS[ ]=0:
The following signal interfaces are reset:
Message to PLC:
IS DB31, ... DBX62.4 ("Activate travel to fixed stop")
The machine data:
MD37060 $MA_FIXED_STOP_ACKN_MASK
must contain the value zero for signal deselection without motion stop.
Without ramp
The torque limit is changed without taking into account the ramp if:
FXS is activated with (FXS[]=1), to make sure that the reduction is activated immediately
(especially for synchronized actions).
The drive needs to be de-energized as quickly as possible in the event of a fault.
Selection of FXS with G64
In the machine data:
MD37060 $MA_FIXED_STOP_ACKN_MASK
Bit 0 must be = 0 (Do not wait for PLC-input signal "Enable travel to fixed stop"), since the
selection of FXS may not initiate a motion stop.
Modify the torque FXST
The clamping torque can already be modified when approaching the stop.
The torque limit FXST acts in addition to the acceleration limitation with ACC.
The new torque taking into account the ramp
(MD37012 $MA_FIXED_STOP_TORQUE_RAMP_TIME)
becomes active one interpolation cycle after the change in the drive.
A change of the effective torque can be checked by reading the synchronized action variable
$VA_TORQUE[axis].
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
324 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
6.2.6 Travel with limited torque/force FOC (option for 828D)
Function
For applications in which torque or force are to be changed dynamically depending on the
travel or on the time or on other parameters (e.g. pressing), the following functionalityFOC
(Force Control) is provided.
Force/travel or force/time profiles are thus possible using the "Interpolation cycle" resolution.
The function allows torque/force to be modified at any time using synchronized actions.
The function can be activated modally or block-related.
Modal activation (FOCON/FOCOF)
The activation of the function after POWER_ON and RESET is determined by the machine data:
MD37080 $MA_FOC_ACTIVATION_MODE
Table 6- 1 Controlling the initial setting of the modal limitation of torque/force
After Value Effect
0
FOCOF
Bit 0
Power On
1
FOCON
0
FOCOF
Bit 1
RESET
1
FOCON
FOCON: Activation of the modally effective torque/force limitation
FOCOF: Disable torque/force limitation
The modal activation acts beyond the program end.
If already programmed, it is effective with FXST set torque/force.
FXST can be programmed irrespectively of FOCON; it comes into effect, however, only after the
function has been activated.
Programming
The programming of the axis is carried out in square brackets.
The following are permissible:
Geometry axis identifiers
Channel axis identifiers
Machine axis identifiers
Example:
N10 FOCON[X] ; Modal activation of the torque limit
N20 X100 Y200 FXST[X]=15 ; X travels with reduced torque (15%)
N30 FXST[X]=75 X20 ; Changing the torque to 75%.
; X travels with this reduced torque.
N40 FOCOF[X] ; Disable torque limit
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 325
Block-related limit (FOC)
The parts program command FOC activates the torque limit for a block.
An activation from a synchronized action takes effect up to the end of the current parts
program block.
Priority FXS/FOC
An activation of FXS with FOC active has priority, i.e. FXS is executed.
A deselection of FXS will cancel the clamping.
A modal torque/force limitation remains active.
After PowerOn the activation takes effect with the machine data:
MD37010 $MA_FIXED_STOP_TORQUE_DEF.
This torque can be modified at any time by programmingFXST.
Synchronized actions
The language commands FOC, FOCON, FOCOF can also be programmed in synchronized actions
as the commands for "travel to fixed stop."
Determine FOC status
The activation status can be read at any time via the status variable $AA_FOC.
If FXS is also activated, the status is not changed.
0: FOC not active
1: FOC modal active
2: FOC block-related active
Determine torque limit status
The system variables $VA_TORQUE_AT_LIMIT can be used at any time to read in systems
whether the currently active torque corresponds to the given torque limit.
0: Effective torque less than torque limit value
1: Effective torque has reached the torque limit value
F1: Travel to fixed stop
6.2 General functionality
Basic Functions
326 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Restrictions
The function FOC is subject to the following restrictions:
The change of the torque/force limitation representing itself as an acceleration limitation
is only taken into account in the traversing movement at block limits (see command ACC).
Only FOC:
No monitoring is possible from the VDI interface to check that the active torque limit has
been reached.
If the acceleration limitation is not adapted accordingly, an increase of the drag distance
during the traversing motion occurs.
If the acceleration limitation is not adapted accordingly, the end-of-block position is
possibly reached later than specified in:
MD36040 $MA_STANDSTILL_DELAY_TIME.
The machine data:
MD36042 $MA_FOC_STANDSTILL_DELAY_TIME
is introduced for this and monitored in this status.
Possible application link and container axes
All axes that can be traversed in a channel, i.e. also link axes and container axes, can be
traversed to fixed stop.
References:
/FB2/ Function Manual Extended Functions; Several Control Panels on Multiple NCUs,
Decentralized Systems (B3)
The status of the machine axis is kept in the case of a container switch, i.e. a clamped
machine axis remains at the stop.
If a modal torque limitation has been activated with FOCON, this is kept for the machine axis
even after a container switch.
F1: Travel to fixed stop
6.3 Travel to fixed stop
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 327
6.3 Travel to fixed stop
Preconditions
The functions "Travel to fixed stop" ad "Force Control" can only be activated for PROFIBUS
drives that support a SINAMICS-compatible telegram structure. Please observe the notes in
the SINUMERIK 840Di Manual in the chapter "Extended telegram configuration".
Selection
The NC detects that that function "Travel to fixed stop" is selected (using the command
FXS[x]=1 and signals the PLC using the interface signal DB31, ... DBX62.4 ("Activate travel
to fixed stop") that the function has been selected.
The axis now traverses to the target position at the programmed velocity. At the same time,
the clamping torque (specified via FXST[x]) is transferred to the drive via the interface, and
this limits its effective torque. In addition, the acceleration is reduced accordingly in the NC
automatically acc. to FXST[x]).
Fixed stop reached
As soon as the axis reaches the fixed stop, the axial contour deviation increases.
If the threshold entered in the machine data:
MD37030 FIXED_STOP_THRESHOLD
is exceeded or the IS signal DB31, ... DBX1.2 ("Sensor fixed stop") is set, then the control
identifies that the fixed stop has been reached.
The NC will then delete the distance to go and will synchronize the position setpoint to the
current actual position value. The controller enabling command remains active.
Then the NC issues IS DB31, ... DBX62.5 ("Fixed stop reached") to the PLC.
Then a block change is executed. The clamping torque continues to be applied.
F1: Travel to fixed stop
6.3 Travel to fixed stop
Basic Functions
328 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
VA_FXS=4
VA_FXS=0/2
VA_FXS=3 VA_FXS=1
MD37030 $MA_FlXED_STOP_THRESHOLD
0
Endstop correctly approached
Following error
Block change
Block with FXS[x]=1
lS "Activate FXS"
History
lS "FXS reached"
Figure 6-2 Fixed stop reached
Fixed stop is not reached
If the programmed end position is reached without the "Fixed stop reached" status being
recognized, then the torque limitation in the drive is canceled via the digital interface and IS
DB31, ... DBX62.4 ("Activate travel to fixed stop") is reset.
Then a block change is executed.
F1: Travel to fixed stop
6.3 Travel to fixed stop
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 329
VA_FXS=3 VA_FXS=2
0
VA_FXS=0/2
Endstop is not reached
Block with FXS[x]=1
lS "Activate FXS"
Block change
Following error
Figure 6-3 Fixed stop is not reached
Deselection
The NC recognizes the function deselection via programming of the command FXS[x]=0.
Then an advance stop (STOPRE) is internally released, since it can't be forseen where the axis
will be after deselection.
The torque limitation and monitoring of the fixed stop monitoring window are canceled.
The IS DB31, ... DBX62.4 ("Activate travel to fixed stop") and DB31, ... DBX62.5 ("Fixed stop
reached") are reset.
The axis will then change to position control. The follow-up mode of the position setpoints is
ended and a synchronization to the new actual position is carried out.
A programmed traverse motion can then be executed. This motion must lead away from the
fixed stop or else the stop or even the machine may sustain damage.
A block change is executed after the target position has been reached.
F1: Travel to fixed stop
6.3 Travel to fixed stop
Basic Functions
330 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
VA_FXS=5
VA_FXS=1 VA_FXS=0
0
Block change
Block with FXS[x]=0
lS "Activate FXS"
lS "FXS reached"
Following error
Axis is at endstop FXS exited
Switch-on position controller
Figure 6-4 Fixed stop deselection
Enabling the fixed stop alarms
With the machine data:
MD37050 $MA_FIXED_STOP_ALARM_MASK
enabling the fixed stop alarms can be established as follows:
MD 37050 = 0 Fixed stop not reached (suppress Alarm 20091)
MD 37050 = 2 Fixed stop not reached (suppress alarm 20091) and fixed stop aborted
(suppress alarm 20094)
MD 37050 = 3 Fixed stop aborted (suppress alarm 20094)
All other values 7 do not suppress any alarms.
Using the parts program command NEWCONF a new setting can be activated.
Terminal EP (Enable Pulses) can be controlled with MD37002
With the machine data:
MD37002 $MA_FIXED_STOP_CONTROL
the response in the case of pulse inhibit at the stop is controlled.
Deleting the pulses by terminal 663 or the "Pulse enable" IS DBX31, ...DBX21.7 will not
abort the function. As a result, the drive will press against the fixed stop again without any
further operating action when the machine is restarted.
F1: Travel to fixed stop
6.4 Examples
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 331
The rise time of the torque corresponds to the time needed by the current controller of the
drive to reach the limitation again.
If the pulses are deleted when a deselection is active (waiting for PLC acknowledgments),
the torque limit will be reduced to zero. If the pulses are reactivated during this phase, torque
is no longer built up. Once the deselection has been completed, you can continue traversing
as normally.
6.4 Examples
Static synchronized actions
Travel to fixed stop (FXS), initiated by a synchronized action.
N10 IDS=1 WHENEVER ; Activate static synchronized action:
(($R1==1) AND ; By the setting of $R1=1
($AA_FXS[Y]==0)) DO ; for
$R1=0 FXS[Y]=1 ; the axis Y FXS is activated
FXST[Y]=10 ; the active torque is reduced to 10%
FA[Y]=200 ; and a travel motion to
POS[Y]=150 ; direction of the stop started
N11 IDS=2 WHENEVER ; once the stop has been recognized
($AA_FXS[Y]==4) DO ; ($AA_FXS[Y]==4), the torque is
FXST[Y]=30 ; increased to 30%
N12 IDS=3 WHENEVER ; after reaching the stop
($AA_FXS[Y]==1) DO ; the torque becomes dependent
FXST[Y]=$R0 ; on R0 controlled
N13 IDS=4 WHENEVER ; deselection in dependence
(($R3==1) AND ; on R3 and
($AA_FXS[Y]==1)) DO ; reverse
FXS[Y]=0
FA[Y]=1000 POS[Y]=0
N20 FXS[Y]= 0 ; normal program run:
G0 G90 X0 Y0
N30 RELEASE(Y) ; axis Y for the movement to
; activate synchronized action
N40 G1 F1000 X100 ; Movement of another axis
N50 ......
N60 GET(Y) ; Include axis Y again in the
; pathgroup
F1: Travel to fixed stop
6.4 Examples
Basic Functions
332 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Multiple selection
A selection may only be carried out once. If the function is called once more due to faulty
programming (FXS[Axis]=1) the alarm 20092 "Travel to fixed stop still active" is initiated.
Programming code that scans $AA_FXS[] or a separate flag (here R1) in the condition will
ensure that the function is not activated more than once.
Programming example (parts program fragment):
N10 R1=0
N20 IDS=1 WHENEVER ($R1 == 0 AND $AA_IW[AX3]>7) DO R1=1 FXS[AX1]=1
FXST[AX1] = 12
Block-related synchronized actions
By programming a block-related synchronized action, travel to fixed stop can be connected
during an approach motion.
Programming example:
N10 G0 G90 X0 Y0
N20 WHEN $AA_IW[X]>17 DO FXS[X]=1 ; If X reaches a position greater
N30 G1 F200 X100 Y110 ; 17mm FXS is activated
F1: Travel to fixed stop
6.5 Data lists
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 333
6.5 Data lists
6.5.1 Machine data
6.5.1.1 Axis/spindle-specific machine data
Number Identifier: $MA_ Description
36042 FOC_STANDSTILL_DELAY_TIME Delay time, standstill monitoring for active
torque/force limiting
37000 FIXED_STOP_MODE Travel to fixed stop mode
37002 FIXED_STOP_CONTROL Sequence monitoring for travel to fixed stop
37010 FIXED_STOP_TORQUE_DEF Fixed stop clamping torque default setting
37012 FIXED_STOP_TORQUE_RAMP_TIME Time until the modified torque limit is reached
37020 FIXED_STOP_WINDOW_DEF Default for fixed stop monitoring window
37030 FIXED_STOP_THRESHOLD Threshold for fixed stop detection
37040 FIXED_STOP_BY_SENSOR Fixed stop detection via sensor
37050 FIXED_STOP_ALARM_MASK Enabling the fixed stop alarms
37052 FIXED_STOP_ALARM_REACTION Reaction to fixed stop alarms
37060 FIXED_STOP_ACKN_MASK Monitoring of PLC acknowledgments for travel to fixed
stop
37070 FIXED_STOP_ANA_TORQUE Torque limit on fixed stop approach for analog drives
37080 FOC_ACTIVATION_MODE. Initial setting of the modal torque/force limiting
6.5.2 Setting data
6.5.2.1 Axis/spindle-specific setting data
Number Identifier: $SA_ Description
43500 FIXED_STOP_SWITCH Selection of travel to fixed stop
43510 FIXED_STOP_WINDOW Fixed stop clamping torque
43520 FIXED_STOP_TORQUE Fixed stop monitoring window
F1: Travel to fixed stop
6.5 Data lists
Basic Functions
334 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
6.5.3 Signals
6.5.3.1 Signals to axis/spindle
Signal name SINUMERIK 840D sl SINUMERIK 828D
Acknowledge fixed stop reached DB31, ... .DBX1.1 DB380x.DBX1.1
Sensor for fixed stop DB31, ... .DBX1.2 DB380x.DBX1.2
Axis/spindle disable DB31, ... .DBX1.3 DB380x.DBX1.3
Controller enable DB31, .DBX2.1 DB380x.DBX2.1
Enable travel to fixed stop DB31, .DBX3.1 DB380x.DBX3.1
6.5.3.2 Signals from axis/spindle
Signal name SINUMERIK 840D sl SINUMERIK 828D
Activate travel to fixed stop DB31, ... .DBX62.4 DB390x.DBX2.4
Fixed stop reached DB31, ... .DBX62.5 DB390x.DBX2.5
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 335
G2: Velocities, setpoint / actual value systems,
closed-loop control
7
7.1 Brief description
The description of functions explains how to parameterize a machine axis in relation to:
Actual-value/measuring systems
Setpoint system
Operating accuracy
Travel ranges
Axis velocities
Control parameters
7.2 Velocities, traversing ranges, accuracies
7.2.1 Velocities
Maximum path and axis velocities and spindle speed
The maximum path and axis velocities and spindle speed are influenced by the machine
design, the dynamic response of the drive and the limit frequency of the actual-value
acquisition (encoder limit frequency).
The maximum axis velocity is defined in machine data:
MD32000 $MA_MAX_AX_VELO (maximum axis velocity)
The maximum permissible spindle speed is specified using machine data:
MD35100 $MA_SPIND_VELO_LIMIT (maximum spindle speed)
For an explanation, please refer to:
References:
/FB1/ Function Manual Basic Functions; Spindles (S1)
With a high feedrate (resulting from programmed feedrates and feedrate override), the
maximum path velocity is limited to Vmax.
This automatic feedrate limiting can lead to a drop in velocity over several blocks with
programs generated by CAD systems with extremely short blocks.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.2 Velocities, traversing ranges, accuracies
Basic Functions
336 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Example
Interpolation cycle = 12 ms
N10 G0 X0 Y0; [mm]
N20 G0 X100 Y100; [mm]
Path length programmed in block = 141.42 mm
Vmax = (141.42 mm/12 ms) * 0.9 = 10606.6 mm/s = 636.39 m/min
Minimum path, axis velocity
The following restriction applies to the minimum path or axis velocity:
V
10
3
min
Computational resolution [
lncr.
mm or degrees
] * interpolation cycle [s]
The computational resolution is defined using machine data:
MD10200 $MN_INT_INCR_PER_MM (computational resolution for linear positions)
or
MD10210 $MN_INT_INCR_PER_DEG (computational resolution for angular positions)
If Vmin is not reached, no traversing is carried out.
Example
MD10200 $MN_INT_INCR_PER_MM = 1000 [incr. /mm];
Interpolation cycle = 12 ms;
Vmin = 10
-3
/(1000
incr
/mm x 12 ms) = 0.005
mm
/min;
The value range of the feedrates depends on the computational resolution selected.
For the standard assignment of machine data:
MD10200 $MN_INT_INCR_PER_MM
(computational resolution for linear positions) (1000 incr./mm)
or
MD10210 $MN_INT_INCR_PER_DEG
(computational resolution for angular positions) (1000 incr./deg.)
G2: Velocities, setpoint / actual value systems, closed-loop control
7.2 Velocities, traversing ranges, accuracies
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 337
The following value range can be programmed with the specified resolution:
Range of values for path feed F and geometry axes:
Metric system: Inch system:
0.001 F 999,999.999
[mm/min, mm/rev, degrees/min, degrees/rev]
0.001 F 399,999.999 [inch/min, inch/rev]
Range of values for feedrate for positioning axes:
Metric system: Inch system:
0.001 FA 999,999.999
[mm/min, mm/rev, degrees/min, degrees/rev]
0.001 FA 399,999.999
[inch/min, inch/rev]
Range of values for spindle speed S:
0.001 S 999,999.999 [rpm]
If the computational resolution is increased/decreased, by a factor, then the value ranges
change accordingly.
7.2.2 Traversing ranges
Range of values of the traversing ranges
The range of values of the traversing range depends on the computational resolution
selected.
If machine data:
MD10200 $MN_INT_INCR_PER_MM
(computational resolution for linear positions) (1000 incr./mm)
or
MD10210 $MN_INT_INCR_PER_DEG
(computational resolution for angular positions) (1000 incr./degree)
are assigned their default values, the following range of values can be programmed with the
input resolution:
Table 7- 1 Traversing ranges of axes
G71 [mm, degrees] G70 [inch, degrees]
Range Range
Linear axes X, Y, Z, etc. 999,999.999 399,999.999
Rotary axes A, B, C, etc. 999,999.999 999,999.999
Interpolation parameters I, J, K 999,999.999 399,999.999
The unit of measurement of rotary axes is always degrees.
If the computational resolution is increased/decreased by a factor of 10, the ranges of values
change accordingly.
The traversing range can be limited by software limit switches and working areas.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.2 Velocities, traversing ranges, accuracies
Basic Functions
338 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
References:
/FB1/ Function Manual, Basic Functions; Axis Monitoring, Protection Zones (A3)
The traversing range for rotary axes can be limited via machine data.
References:
/FB2/ Function Manual, Extended Functions; Rotary Axes (R2)
For special features of linear and rotary axes with a large traversing range, see:
References:
/FB1/ Function Manual, Basic Functions; Reference Point Approach (R1)
7.2.3 Positioning accuracy of the control system
Actual-value resolution and computational resolution
The positioning accuracy of the control depends on the actual-value resolution (=encoder
increments/(mm or degrees)) and the computational resolution (=internal increments/(mm or
degrees)).
The coarse resolution of these two values determines the positioning accuracy of the control.
The input resolution, interpolator and position-control cycle selections have no effect on this
accuracy.
As well as limiting using MD32000, the control limits the maximum path velocity in relation to
the situation and according to the following formula:
1
DRlVE_ENC_RATlO_NUMERA [n]
DRlVE_AX_RATlO_NUMERA [n]
DRlVE_AX_RATlO_DENOM [n]
lNT_lNCR_PER_MM
LEADSCREW_PlTCH
*
*
*
DRlVE_ENC_RATlO_DENOM [n]
*
ENC_RESOL [n] * ENC_PULSE_MULT[n]
lnternal increments / mm
Encoder increments / mm
G2: Velocities, setpoint / actual value systems, closed-loop control
7.2 Velocities, traversing ranges, accuracies
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 339
7.2.4 Block diagram of resolutions and scaling values
Block diagram of units and resolutions
MD10250 SCALlNG_VALUE_lNCH
MD10240
SCALlNG_SYSTEM_lS_METRlC = 1
"999999
+ 9999.99 mm
MD10200 NT_lNCR_PER_MM = 100
*
*
*
-
MD10240
SCALlNG_SYSTEM
_lS_METRlC
*
MD31025
$MA_ENC_PULSE_MULT
lnput / display resolution
(is specified by the operator
panel being used)
lnternal unit
[mm or degrees]
lnternal increments / (mm or degrees)
(decimal places are eliminated)
En-
coder
Yes No
Actual value
resolution
(encoder increments/
(mm or degrees))
Motor
Speed setpoint
resolution
Drive unit
Scaling example:
Machine data input and display in cm
(for basic metric system).
e.g. for MD36110 POS_LlMlT_PLUS
(1st software limit switch plus)
= + 999.999 cm
MD10230
SCALlNG_FACTORS_USER_DEF[n]
selected by
MD10220
SCALlNG_USER_DEF_MASK
(active only for machine and setting
data)
MD10230
SCALlNG_FACTORS_USER_DEF
selected using
MD10220
SCALlNG_USER_DEF_MASK
(only active for machine and
setting data)
MD10200 lNT_lNCR_PER_MM
or
MD10200 lNT_lNCR_PER_DEG
(computational resolution)
MD10230
SCALlNG_FACTORS_USER_DEF[0]
=0,1;
MD10220
SCALlNG_USER_DEF_MASK = "H1"
(bit no. 0 as hex value)
lnput / output unit
This diagram shows how input values are converted into internal units.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.2 Velocities, traversing ranges, accuracies
Basic Functions
340 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
It also shows the following conversion to internal increments/(mm or degrees), which can
cause loss of decimal places if the computational resolution was selected to be coarser than
the input resolution.
In addition, it provides an overview of the following topics:
Selection of measuring system (metric/inch)
Scaling of physical quantities of machine and setting data
Conversion of basic system
Setting of computational resolution
7.2.5 Input/display resolution, computational resolution
Resolutions: Differences
Resolutions, e.g. resolutions of linear and angular positions, velocities, accelerations and
jerk, must be differentiated as follows:
Input resolution
Data is input via the control panel or parts programs.
Display resolution
Data is displayed via the control panel.
Computational resolution
Data input via the control panel or parts program is displayed internally.
The input and display resolution is defined via the control panel being used, whereby the
display resolution of position values can be changed with machine data:
MD9004 $MM_DISPLAY_RESOLUTION.
Machine data:
MD9011 $MM_DISPLAY_RESOLUTION_INCH
can be used to configure the display resolution of position values using the inch system.
This allows you to display up to six decimal places with the inch setting.
For the programming of parts programs, the input resolutions listed in the Programming
Manual apply.
The desired computational resolution is defined via machine data:
MD10200 $MN_INT_INCR_PER_MM (computational resolution for linear positions)
or
MD10210 $MN_INT_INCR_PER_DEG (computational resolution for angular positions).
It is independent of the input/display resolution but should have at least the same resolution.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.2 Velocities, traversing ranges, accuracies
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 341
The maximum number of places after the decimal point for position values, velocities, etc., in
the parts program and the number of places after the decimal point for tool offsets, zero
offsets, etc. (and therefore also for the maximum possible accuracy). is defined by the
computational resolution.
The accuracy of angle and linear positions is limited to the computational resolution by
rounding the product of the programmed value with the computational resolution to an
integer number.
To make the rounding clear, powers of 10 should be used for the computational resolution.
Example of rounding
Computational resolution: 1000 increments/mm
Programmed path: 97.3786 mm
Effective value = 97.379 mm
Example of programming in the
1
/
10
m range
All the linear axes of a machine are to be programmed and traversed within the range of
values 0.1 to 1000 m.
In order to position accurately to 0.1 m, the computational resolution must be set
to 10
4
incr./mm.
MD10200 $MN_INT_INCR_PER_MM = 10000 [incr./mm]:
Example of related parts program:
N20 G0 X 1.0000 Y 1.0000 ; Traverse axes to position
X=1.0000 mm, Y=1.0000 mm
N25 G0 X 5.0002 Y 2.0003 ; Traverse axes to position
X=5.0002 mm, Y=2.0003 mm
7.2.6 Scaling of physical quantities of machine and setting data
Input/output units
Machine and setting data that possess a physical quantity are interpreted in the input/output
units below depending on whether the metric or inch system is selected:
Physical quantity: Input/output units for standard basic system:
Metric Inch
Linear position 1 mm 1 inch
Angular position 1 degree 1 degree
Linear velocity 1 mm/min 1 inch/min
G2: Velocities, setpoint / actual value systems, closed-loop control
7.2 Velocities, traversing ranges, accuracies
Basic Functions
342 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Physical quantity: Input/output units for standard basic system:
Metric Inch
Angular velocity 1 rpm 1 rpm
Linear acceleration 1 m/s
2
1 inch/s
2
Angular acceleration 1 rev./
s2
1 rev./s
2
Linear jerk 1 m/s
3
1 inch/s
3
Angular jerk 1 rev./s
3
1 rev./s
3
Time 1 s 1 s
Position controller servo gain 1/s 1/s
Rev. feedrate 1 mm/rev inch/rev
Compensation value linear
position
1 mm 1 inch
Compensation value angular
position
1 degree 1 degree
The units listed below are used for storage. The control always uses these units internally
irrespective of the basic system selected.
Physical quantity: Internal unit:
Linear position 1 mm
Angular position 1 degree
Linear velocity 1 mm/s
Angular velocity 1 deg./s
Linear acceleration 1 mm/s
2
Angular acceleration 1 degree/s
2
Linear jerk 1 mm/s
3
Angular jerk 1 degree/s
3
Time 1 s
Position controller servo gain 1/s
Rev. feedrate 1 mm/degree
Compensation value linear position 1 mm
Compensation value angular position 1 degree
The user can define different input/output units for machine and setting data.
For this, the machine data:
MD10220 $MN_SCALING_USER_DEF_MASK
(activation of scaling factors)
and
MD10230 $MN_SCALING_FACTORS_USER_DEF[n]
(Scaling factors of physical quantities)
allow you to set the adaptation between the newly selected input/output units and the
internal units.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.2 Velocities, traversing ranges, accuracies
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 343
lnput/output units for machine
and setting data
Format conversion
lnternal units
User-defined
MD10230 SCALlNG_FACTORS_USER_DEF[n]
MD10220 SCALlNG_FACTORS_USER_DEF_MASK
Do the input/
output units
correspond to the
standard basic system?
No
Yes
The following applies:
Selected input/output unit = MD10230 * internal unit
In the machine data:
MD10230 $MN_SCALING_FACTORS_USER_DEF[n]
the selected input/output unit printed in each case in the internal units 1mm, 1 degree and
1 s must be input.
Example 1
Machine data input/output of the linear velocities is to be in m/min instead of mm/min (initial
state).
(The internal unit is mm/s)
The scaling factor for the linear velocities is to differ from the standard setting. For
this in the machine data:
MD10220 $MN_SCALING_USER_DEF_MASK
the bit number 2 must be set.
MD10220 $MN_SCALING_USER_DEF_MASK = 'H4'; (bit no. 2 as hex value)
G2: Velocities, setpoint / actual value systems, closed-loop control
7.2 Velocities, traversing ranges, accuracies
Basic Functions
344 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The scaling factor for the linear velocities is to differ from the standard setting. For
this in the machine data:
MD10220 $MN_SCALING_USER_DEF_MASK
the bit number 2 must be set.
MD10220 $MN_SCALING_USER_DEF_MASK = 'H4'; (bit no. 2 as hex value)
The scaling factor is calculated using the following formula:
MD10230 SCALlNG_FACTORS_USER_DEF[n]
MD10230 SCALlNG_FACTORS_USER_DEF[n]
MD10230 SCALlNG_FACTORS_USER_DEF[n]
1
m
1
mm
s
1
mm
s
1000 mm
60s min 1000
60
16.667;
16.667
lnput/output unit selected
lnternal unit
Index n defines the "linear velocity" in the "Scaling factors of physical quantities" list.
Example 2
In addition to the change in Example 1, the machine data input/output of linear accelerations
must be in ft/s
2
instead of m/s
2
(initial state).
(The internal unit is mm/s
2
.)
MD10220 SCALlNG_USER_DEF_MASK
MD10220 SCALlNG_FACTORS_USER_DEF[4]
MD10230 SCALlNG_FACTORS_USER_DEF[4]
1
ft
1
mm
s
s
2
2
1
mm
s
2
mm
s
2
H14 ;
304,8
12*25,4
304,8 ;
(Bit No. 4 and Bit No. 2 from example 1
as hex value)
Index 4 defines the "linear acceleration" in the "Scaling factors of physical quantities" list.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.3 Metric/inch measuring system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 345
7.3 Metric/inch measuring system
7.3.1 Conversion of basic system by parts program
Programmable switchover in the measuring system
The basic system can be switched over within a part program via the G functions
G70/G71/G700/G710 (G group 13). The programmed measuring system (G70/G71/G700/G710) and
the basic system may be identical or different at any time. When the measuring system is
switched over within a particular section of the part program, this would enable an inch
thread to be processed on a workpiece within a metric basic system, for example.
The following section of the part program is executed in "metric" in the basic system:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC = 1
Program code Comment
N100 G71 ;
;
;
Switchover to metric processing
The conversion factor does not come into effect because the
programmed
measuring system does not differ from the basic system.
.... ; Metric processing
N200 G70 ;
;
Switchover to processing in inches
The conversion factor comes into effect.
... ; Machining in inches
N300 ; Switchover to metric processing
... ; Metric processing
Initial state of the G functions
The initial state for the G functions can be set via the following machine data on a channel-
specific basis:
MD20150 $MC_GCODE_RESET_VALUES[12] (reset position for G group 13)
When changing the measuring system via the HMI user interface, the reset position is
automatically preconfigured for compatibility with the new measuring system via G700 or G710.
Displaying length-related data on the HMI
Length-related data is displayed on the HMI in the configured basic system
MD10240 $MN_SCALING_SYSTEM_IS_METRIC (metric basic system).
The following length-related data is displayed in the configured basic system:
Machine data
Data in the machine coordinate system
Tool data
Work offsets
G2: Velocities, setpoint / actual value systems, closed-loop control
7.3 Metric/inch measuring system
Basic Functions
346 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The following length-related data is displayed in the programmed measuring system:
Data in the workpiece coordinate system
Reading in part programs from external sources
If part programs, including data sets (work offsets, tool offsets, etc.), programmed in a
different measuring system from the basic system are read in from an external source, the
initial state must first be changed via machine data MD10240.
NC/PLC interface signals
In the case of NC/PLC interface signals containing dimension information, e.g. feedrate for
path and positioning axes, data exchange is carried out with the PLC in the configured basic
system.
G functions G700/G710
The G functions G700/G710 extend the functionality of G70/G71 as follows:
1. The feedrate is interpreted in the programmed measuring system:
G700: length parameters [inch]; feedrates [inch/min]
G710: length parameters [mm]; feedrates [mm/min]
The programmed feedrate is modal and therefore remains active after subsequent
G70/G71/G700/G710 commands. If the feedrate is to apply in the new G70/G71/G700/G710
context, it must be re-programmed.
2. System variables and machine data specifying lengths in the parts program are read and
written in the programmed measuring system.
Differences during the reading and writing of machine data and system variables
The following differences exist between G70/G71 and G700/G710 in terms of reading and writing
machine data and system variables in the part program:
G70/G71: Reading and writing takes place in the configured basic system.
G700/G710: Reading and writing takes place in the configured measuring system.
Example
The following parts program is executed with an initial metric state:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC = 1
Program code Comment
N100 R1=0 R2=0 ;
N120 G01 G70 X1 F1000 ; Prog. meas. system: inch
N130 $MA_LUBRICATION_DIST[X]=10 ; MD = 10 [mm] (basic system)
N150 IF ($AA_IW[X]>$MA_LUBRICATION_DIST[X]) ; SYS [mm] > MD [mm] (both basic system)
N160 R1=1 ;
N170 ENDIF ;
G2: Velocities, setpoint / actual value systems, closed-loop control
7.3 Metric/inch measuring system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 347
Program code Comment
N180 IF ($AA_IW[X]>10) ;
;
SYS [mm] (basic system) > 10 [inch]
(prog. meas. system)
N190 R2=1 ;
N200 ENDIF ;
N210 IF ( (R1+R2) = 1 ) ;
;
Alarm if only one of the two
conditions (N150, N180) is TRUE
N220 SETAL(61000) ;
N230 ENDIF ;
N240 M30 ;
N120: if G70 is replaced by G700, alarm 61000 (N220) does not occur.
Synchronized actions
To ensure in the case of synchronized actions that the current part program context does not
determine the measuring system used in the condition and/or action part, the measuring
system must be defined within the synchronized action (condition and/or action parts). This
is the only way of achieving defined, reproducible behavior in the use of length-related data
within a synchronized action.
Example 1
The measuring system is not specified within the synchronized action. Therefore, the
traversing motion of the X axis takes place in the measuring system of the configured initial
state:
Program code Comment
N100 R1=0 ;
N110 G0 X0 Z0 ;
N120 WAITP(X) ;
N130 ID=1 WHENEVER $R1==1 DO POS[X]=10 ;
;
X = 10 inch or mm, depending on the
rest of the parts program
N140 R1=1 ;
N150 G71 Z10 F10 ; Z = 10 mm X = 10 mm
N160 G70 Z10 F10 ; Z = 10 inch X = 10 inch
N170 G71 Z10 F10 ; Z = 10 mm X = 10 mm
N180 M30 ;
Example 2
The "metric" measuring system is explicitly programmed with G71 within the synchronized
action. This means the traversing motion of the X axis takes place in the metric measuring
system:
Program code Comment
N100 R1=0 ;
N110 G0 X0 Z0 ;
N120 WAITP(X) ;
N130 ID=1 WHENEVER $R1==1 DO G71 POS[X]=10 ;
;
X = 10 mm, independent of the
rest of the parts program
G2: Velocities, setpoint / actual value systems, closed-loop control
7.3 Metric/inch measuring system
Basic Functions
348 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Program code Comment
N140 R1=1 ;
N150 G71 Z10 F10 ; Z = 10 mm X = 10 mm
N160 G70 Z10 F10 ; Z = 10 inch X = 10 mm
N170 G71 Z10 F10 ; Z = 10 mm X = 10 mm
N180 M30 ;
Reading and writing of data in the case of G70/G71 and G700/G710 in the part program
Data area G70/G71 G700/G710
Read Write Read Write
Display, decimal places (WCS) P P P P
Display, decimal places (MCS) G G G G
Feedrates G G P P
Positional data X, Y, Z P P P P
Interpolation parameters I, J, K P P P P
Circle radius (CR) P P P P
Polar radius (RP) P P P P
Pitch P P P P
Programmable FRAME P P P P
Settable FRAMES G G P P
Basic frames G G P P
Work offsets external G G P P
Axial preset offset G G P P
Operating range limit (G25/G26) G G P P
Protection zones P P P P
Tool offsets G G P P
Length-related machine data G G P P
Length-related setting data G G P P
Length-related system variables G G P P
GUD G G G G
LUD G G G G
PUD G G G G
R parameters G G G G
Siemens cycles P P P P
Jog/handwheel increment factor G G G G
P: Data is read/written in the programmed measuring system
G: Writing/reading takes place in the configured basic system.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.3 Metric/inch measuring system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 349
NOTICE
Read position data in synchronized actions
If a measuring system has not been explicitly programmed in the synchronized action
(condition component and/or action component) length-related position data in the
synchronized action are always read in the parameterized basic system.
Reference:
/PG/ Programming Manual, Fundamentals; List of Addresses
NC-specific conversion factor
The default conversion factor in the machine data is:
MD10250 $MN_SCALING_VALUE_INCH (conversion factor for switchover to inch system)
set to 25.4 for converting from the metric to the inch measuring system. By changing the
conversion factor, the control system can also be adapted to customer-specific measuring
systems.
Axis-specific conversion factor
The default conversion factor in the axis-specific machine data is:
MD31200 $MA_SCALING_FACTOR_G70_G71 (conversion factor when G70/G71 is active)
set to 25.4 for converting from the metric to the inch measuring system. By changing the
conversion factor, the control system can also be adapted to customer-specific measuring
systems on an axis-specific basis.
7.3.2 Manual switchover of the basic system
General
The control system can operate with the metric or inch measuring system. The initial setting
of the measuring system (basic system) is defined using the following machine data:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC (basic system metric).
Depending on the basic system, all length-related data is interpreted either as metric or inch
measurements.
The relevant softkey on the HMI in the "Machine" operating area is used to change the
measuring system of the controller.
The change in the measuring system occurs only under the following boundary conditions:
MD10260 $MN_CONVERT_SCALING_SYSTEM=1
Bit 0 of MD20110 $MC_RESET_MODE_MASK is set in every channel.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.3 Metric/inch measuring system
Basic Functions
350 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
All channels are in the Reset state.
Axes doe not traverse with JOG, DRF or PLC.
Constant grinding wheel peripheral speed (GWPS) is not active.
Actions such as part program start or mode change are disabled for the duration of the
measuring system changeover.
If the measuring system cannot be changed, this is indicated by a message to that effect on
the user interface. These measures ensure that a consistent set of data is always used for a
running program with reference to the measuring system.
The actual change in the measuring system is made by writing all the necessary machine
data and subsequently activating them with a RESET.
The machine data:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC
and the corresponding G70/G71/G700/G710 settings in the machine data:
MD20150 $MN_GCODE_RESET_VALUES
are automatically switched over consistently for all configured channels.
During this process, the value in machine data:
MD20150 $MC_GCODE_RESET_VALUES[12]
changes between G700 and G710.
This process takes place independently of the protection level currently set.
Note
The availability of the softkey and, therefore, its functionality, can be configured using the
compatibility machine data:
MD10260 $MN_CONVERT_SCALING_SYSTEM
If several NCUs are linked by NCU-link, the switchover has the same effect on all linked
NCUs. If the prerequisites for a switchover are not fulfilled on one of the NCUs linked, no
switchover will take place on none of the NCUs. It is assumed that interpolations between
several NCUs will take place on the existing NCUs, whereby the interpolations can provide
correct results only if the same unit systems are used.
References:
/FB2/ Function Manual, Extended Functions; Several Control Panels on Multiple NCUs,
Decentralized Systems (B3)
G2: Velocities, setpoint / actual value systems, closed-loop control
7.3 Metric/inch measuring system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 351
System data
When changing over the measuring system, from the view of the user, all length-related
specifications are converted to the new measuring system automatically.
This includes:
Positions
Feedrates
Acceleration rates
Jerk
Tool offsets
Programmable, settable and work offsets external and DRF offsets
Compensation values
Protection zones
Machine data
Jog and handwheel factors
After the changeover, all of the above data is available in physical quantities.
Data, for which no unique physical units are defined, is not converted automatically.
This includes:
R parameters
GUDs (Global User Data)
LUDs (Local User Data)
PUDs (Program global User Data)
Analog inputs/outputs
Data exchange via FC21
In this case, the user is requested to take into account the currently valid system of units:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC
The current system of units setting can be read using the signal:
DB10 DBX107.7 (inch measuring system)
Using the signal:
DB10 DBB71 (change counter, system of units inch/metric)
the "system of units change counter" can be read out
G2: Velocities, setpoint / actual value systems, closed-loop control
7.3 Metric/inch measuring system
Basic Functions
352 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The system of units for sag compensation is configured using:
MD32711 $MA_CEC_SCALING_SYSTEM_METRIC
References:
/FB2/ Function Manual Extended Functions; Compensations (K3)
The measuring system for positional data of the indexing axis tables and switching points
for software cams is configured in machine data element:
MD10270 $MN_POS_TAB_SCALING_SYSTEM.
References:
/FB2/ Function Manual, Extended Functions; Software Cams, Limit Switching Signals
(N3)/Indexing Axes (T1)
User tool data
For user-defined tool data:
MD18094 $MN_MM_NUM_CC_TDA_PARAM
and tool cutting edge data:
MD18096 $MN_MM_NUM_CC_TOA_PARAM
additional machine data sets are introduced:
MD10290 $MN_CC_TDA_PARAM_UNIT [MM_NUM_CC_TDA_PARAM]
MD10292 $MN_CC_TOA_PARAM_UNIT [MM_NUM_CC_TOA_PARAM]
A physical unit can be configured using these machine data. All length-related user-defined
tool data are automatically converted to the new measuring system according to the input on
switchover.
Reference point
The reference point is retained. It is not necessary to repeat referencing.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.3 Metric/inch measuring system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 353
Input resolution and computational resolution
The input/computational resolution is set in the control using machine data:
MD10200 $MN_INT_INCR_PER_MM
Default settings:
Metric system Inch system
1000 (0.001 mm) 0.0001
Example:
1 inch = 25.4 mm 0.0001 inch = 0.00254 mm = 2.54 m
To be able to program and display the last 40 mm, MD10200 must be assigned a value of
100000.
Only with this identical setting for both measuring systems is it possible to change the
measuring system without a significant loss of accuracy. Once MD10200 has been set to this
value, it will not need to be changed each time the measuring system is switched over.
JOG and handwheel factor
The machine data:
MD31090 $MA_JOG_INCR_WEIGHT
consists of two values containing axis-specific increment weighting factors for each of the
two measuring systems.
Depending on the actual setting in machine data:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC
the control automatically sets the appropriate value.
The user defines the two increment factors, e.g., for the first axis, during the installation and
startup phase:
Metric:
MD31090 $MA_JOG_INCR_WEIGHT[0;AX1]=0.001 mm
Inch:
MD31090 $MA_JOG_INCR_WEIGHT[1;AX1]=0.00254 mm 0.0001 inch
In this way, MD31090 does not have to be written on every inch/metric switchover.
Remaining distances are not accumulated during incremental traversing with JOG when the
measuring system is changed, since all internal positions always refer to mm.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.3 Metric/inch measuring system
Basic Functions
354 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Data backup
Data sets which can be separately read out of the control and have data where the system of
units is relevant, receive - when reading - as a function of machine data:
MD10260 $MN_CONVERT_SCALING_SYSTEM
an INCH or METRIC identification corresponding to machine data:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC
This specifies the measuring system in which the data were originally read out.
This information is intended to prevent data sets from being read into the control system with
a measuring system, which is different from the active system. In this case, alarm 15030 is
triggered and the write process is interrupted.
Since the language instruction is also evaluated in parts programs, these can also be
"protected" against operator errors as described above. You can, therefore, prevent parts
programs containing only metric data, for example, from running on an inch measuring
system.
Archive and machine data sets are downwards compatible for a setting:
MD11220 $MN_INI_FILE_MODE = 2
Note
The INCH/METRIC operation is only generated if the compatibility machine data:
MD10260 $MN_CONVERT_SCALING_SYSTEM
is set.
Rounding machine data
All length-related machine data are rounded to the nearest 1 pm when writing in the inch
measuring system (MD10240 $MN_SCALING_SYSTEM_IS_METRIC=0 and MD10260
$MN_CONVERT_SCALING_SYSTEM=1), in order to avoid rounding problems.
The disturbing loss of accuracy, which occurs as a result of conversion to ASCII when
reading out a data backup in the inch system of measurement, is corrected by this procedure
when the data is read back into the system.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.3 Metric/inch measuring system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 355
7.3.3 FGROUP and FGREF
Programming
It should be possible to program the effective machining feedrate in the usual way as a path
feedrate via the F value in processing procedures where the tool, the workpiece or both are
moved by a rotary axis (e.g., laser machining of rotating tubes).
In order to achieve this, it is necessary to specify an effective radius (reference radius) for
each of the rotary axes involved. You can do this by programming the modal NC address:
FGREF[<rotary axis>]=<reference radius>
The unit of the reference radius depends on the G70/G71/G700/G710 setting.
In order to include the axes in the calculation of the path feedrate, they must all be specified
in the FGROUP command.
In order to ensure compatibility with the behavior with no FGREF programming, the evaluation
1 degree = 1 mm is activated on system power-up and RESET.
This corresponds to a reference radius of:
FGREF = 360 mm/(2) = 57.296 mm
This default is independent of the active basic system
(MD10240 $MN_SCALING_SYSTEM_IS_METRIC) and the currently active
G70/G71/G700/G710 setting.
Special features of the feedrate weighting for rotary axes in FGROUP:
Program code
N100 FGROUP(X,Y,Z,A)
N110 G1 G91 A10 F100
N120 G1 G91 A10 X0.0001 F100
The programmed F value in block N110 is evaluated as a rotary axis feedrate in degrees/min,
while the feedrate weighting in block N120 is either 100 inch/min or 100 mm/min, depending
on the current inch/metric setting.
CAUTION
The FGREF factor also works if only rotary axes are programmed in the block. The normal F
value interpretation as degree/min applies in this case only if the radius reference
corresponds to the FGREF default:
For G71/G710: FGREF[A]=57.296
For G70/G700: FGREF[A]=57.296/25.4
Example
The following example is intended to demonstrate the effect of FGROUP on the path and path
feedrate. The variable $AC_TIME contains the time of the block start in seconds. It can only be
used in synchronized actions.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.3 Metric/inch measuring system
Basic Functions
356 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Program code Comment
N100 G0 X0 A0
N110 FGROUP(X,A)
N120 G91 G1 G710 F100 ; Feedrate = 100mm/min or 100 degrees/min
N130 DO $R1=$AC_TIME
N140 X10 ; Feedrate = 100 mm/min, path = 10 mm, R1 = approx.
6 s
N150 DO $R2=$AC_TIME
N160 X10 A10 ; Feedrate = 100 mm/min, path = 14.14 mm, R2
= approx. 8 s
N170 DO $R3=$AC_TIME
N180 A10 ; Feedrate = 100 degrees/min, path = 10 degrees, R3
= approx. 6 s
N190 DO $R4=$AC_TIME
N200 X0.001 A10 ; Feedrate = 100 mm/min, path = 10 mm, R4 = approx.
6 s
N210 G700 F100 ; Feedrate = 2540 mm/min or 100 degrees/min
N220 DO $R5=$AC_TIME
N230 X10 ; Feedrate = 2540 mm/min, path = 254 mm, R5
= approx. 6 s
N240 DO $R6=$AC_TIME
N250 X10 A10 ; Feedrate = 2540 mm/min, path = 254.2 mm, R6
= approx. 6 s
N260 DO $R7=$AC_TIME
N270 A10 ; Feedrate = 100 degrees/min, path = 10 degrees, R7
= approx. 6 s
N280 DO $R8=$AC_TIME
N290 X0.001 A10 ; Feedrate = 2540 mm/min, path = 10 mm, R8
= approx. 0.288 s
N300 FGREF[A]=360/(2*$PI) ; Set 1 degree = 1 inch via the effective radius.
N310 DO $R9=$AC_TIME
N320 X0.001 A10 ; Feedrate = 2540 mm/min, path = 254 mm, R9
= approx. 6 s
N330 M30
Diagnostics
Read reference radius
The value of the reference radius of a rotary axis can be read using system variables:
For the display in the user interface, in synchronized actions or with a preprocessing stop
in the part program via the system variables:
$AA_FGREF[<axis>] Current main run value
Without preprocessing stop in the part program via system variable:
$PA_FGREF[<axis>] Programmed value
If no values are programmed, the default 360 mm/(2) = 57.296 mm (corresponding to 1 mm
per degree) will be read in both variables.
For linear axes, the value in both variables is always 1 mm.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.3 Metric/inch measuring system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 357
Read path axes affecting velocity
The axes involved in path interpolation can be read using system variables:
For the display in the user interface, in synchronized actions or with a preprocessing stop
in the part program via the system variables:
$AA_FGROUP[<axis>] Returns the value "1" if the specified axis affects the
path velocity in the current main run record by means of
the basic setting or through FGROUP programming.
Otherwise, the variable returns the value "0".
$AC_FGROUP_MASK Returns a bit key of the channel axes programmed with
FGROUP which are to affect the path velocity.
Without preprocessing stop in the part program via system variables:
$PA_FGROUP[<axis>] Returns the value "1" if the specified axis affects the
path velocity by means of the basic setting or through
FGROUP programming. Otherwise, the variable returns
the value "0".
$P_FGROUP_MASK Returns a bit key of the channel axes programmed with
FGROUP which are to affect the path velocity.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
358 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
7.4 Setpoint/actual-value system
7.4.1 General
Control loop
A control loop with the following structure can be configured for every closed-loop controlled
axis/spindle:
CTRLOUT_TYPE=0 (SlMULATlON)
ENC_TYPE=0 (SlMULATlON)
NUM_ENCS
M
G
G
Closed-
loop
control
Speed-setpoint
output
Speed-
setpoint
routing
Actual-value
processing
Actual-
value
routing
lFC position
measuring
system 1/2
Actual-value
processing
Motor
Encoder
Encoder
Figure 7-1 Block diagram of a control loop
Setpoint output
A setpoint telegram can be output for each axis/spindle. The setpoint output to the actuator
is realized from the SINUMERIK 840D sl.
Actual-value acquisition
A maximum of two measuring systems can be connected for each axis/spindle, e.g. a direct
measuring system for machining processes with high accuracy requirements and an indirect
measuring system for high-speed positioning tasks.
The number of encoders used is recorded in the machine data:
MD30200 $MA_NUM_ENCS (number of encoders)
In the case of two actual-value branches, the actual value is acquired for both branches.
The active measuring system is always used for position control, absolute value calculation
and display. If both measuring systems are activated at the same time by the PLC interface,
positioning measuring system 1 is chosen internally by the control.
Reference point approach is executed by the selected measuring system.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 359
Each position measuring system must be referenced separately.
For an explanation of actual-value acquisition compensation functions, see:
References:
/FB2/ Function Manual, Extended Functions; Compensations (K3)
For an explanation of encoder monitoring, see:
References:
/FB1/ Function Manual, Basic Functions; Axis Monitoring, Protection Zones (A3)
Switching between measuring systems
One can switch between the two measuring systems through the following NC/PLC interface
signals:
DB31, ... DBX1.5 (position measuring system 1)
DB31, ... DBX1.6 (position measuring system 2)
References
/FB1/ Function Manual, Basic Functions; Various Interface Signals (A2)
It is possible to switch over measuring systems at any time, the axes do not have to be
stationary to do this. Switchover only takes place if a permissible deviation between the
actual values and the two measuring systems has not been violated.
The associated tolerance is entered in the machine data:
MD36500 $MA_ENC_CHANGE_TOL (Max. tolerance on position actual value switchover)
On switchover, the current difference between position measuring system 1 and 2 is
traversed immediately.
Monitoring
The permissible deviation between the actual values of the two measuring systems is to be
entered in the machine data:
MD36510 $MA_ENC_DIFF_TOL
For the cyclic comparison of the two measuring systems used, this difference must not be
exceeded, as otherwise Alarm 25105 "Measuring systems deviate" is generated.
If the axis is not referenced (at least in the current control measuring system) then the
related monitoring is not active if MD36510 = 0 or if neither of the two measuring systems in
the axis is active/available).
Types of actual-value acquisition
The used encoder type must be defined through the following machine data:
MD30240 $MA_ENC_TYPE (type of actual-value acquisition (actual position value))
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
360 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Simulation axes
The speed control loop of an axis can be simulated for test purposes.
The axis "traverses" with a following error, similar to a real axis.
A simulation axis is defined by setting the two following machine data to "0":
MD30130 $MA_CTRLOUT_TYPE[n] (output value of setpoint)
MD30240 $MA_ENC_TYPE[n] (type of actual-value acquisition)
As soon as the standard machine data have been loaded, the axes become simulation axes.
The setpoint and actual value can be set to the reference point value with reference point
approach.
The machine data:
MD30350 $MA_SIMU_AX_VDI_OUTPUT (output of axis signals with simulation axes)
can be used to define whether the axis-specific interface signals are to be output on the PLC
during the simulation.
Actual-value correction
If actual-value corrections performed by the NC on the encoder selected for position control
do not influence the actual value of another encoder defined in the same axis, then this
encoder is to be declared as "independent" via the following machine data:
MD30242 $MA_ENC_IS_INDEPENDENT
Actual-value corrections include the following:
Modulo treatment
Reference point approach
Measuring system comparison
PRESET
7.4.2 Setpoint and encoder assignment
Setpoint marshalling
The following machine data are relevant for the setpoint assignment of a machine axis.
MD30100 $MA_CTRLOUT_SEGMENT_NR[ n ]
Setpoint assignment, bus segment
System Value Meaning
840D sl 5 PROFIBUS-DP / PROFINET (default)
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 361
MD30110 $MA_CTRLOUT_MODULE_NR[ n ]
Setpoint assignment: Drive number / module number
System Value Meaning
840D sl x Index x of MD13050 $MN_DRIVE_LOGIC_ADDRESS[ x ] should be entered,
which refers to the connected drive.
MD30110 $MA_CTRLOUT_MODULE_NR[ n ] = x, refers to:
MD13050 $MN_DRIVE_LOGIC_ADDRESS[ x ]
Note
The machine data is of no significance if the drive is simulated (MD30130
$MA_CTRLOUT_TYPE[ n ] = 0).
MD30120 $MA_CTRLOUT_NR[ n ]
Setpoint assignment: Setpoint output on drive module/module
System Value Meaning
840D sl 1 Modular drive at PROFIBUS / PROFINET with PROFIdrive profile (default)
MD30130 $MA_CTRLOUT_TYPE[ n ]
Setpoint output type
System Value Meaning
0 Simulation (operation without drive) 840D sl
1 Setpoint output active
Encoder assignment
The following machine data are relevant for assigning the encoder information of the drive -
transferred in the PROFIdrive telegram - to the encoder inputs of the machine axis:
MD30210 $MA_ENC_SEGMENT_NR[ n ]
Actual value assignment, bus segment
System Value Meaning
840D sl 5 PROFIBUS-DP / PROFINET
MD30220 $MA_ENC_MODULE_NR[ n ]
Actual value assignment: Drive module number/measuring circuit number
System Value Meaning
840D sl x The number of the drive assigned using MD13050
$MN_DRIVE_LOGIC_ADDRESS[ x ] should be entered.
MD30220 $MA_ENC_MODULE_NR[ n ] = x, refers to:
MD13050 $MN_DRIVE_LOGIC_ADDRESS[ x ]
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
362 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
MD30230 $MA_ENC_INPUT_NR[ n ]
Actual value assignment: Input on drive module/measuring circuit module
System Value Meaning
840D sl x Number of the encoder interface within the PROFIdrive telegram
Examples
PROFIdrive telegram 103
x = 1 1st encoder interface (G1_ZSW, G1_XIST1, G1_XIST2)
x = 2 2nd encoder interface (G2_ZSW, G2_XIST1, G2_XIST2)
PROFIdrive telegram 118
x = 1 1st encoder interface (G2_ZSW, G2_XIST1, G2_XIST2)
x = 2 2nd encoder interface (G3_ZSW, G3_XIST1, G3_XIST2)
Note
For SINAMICS S120:
- encoder 1 (G1_...): Motor encoder
- encoder 2 (G2_...): Direct measuring system
- encoder 3 (G3_...): Additional measuring system
MD30240 $MA_ENC_TYPE[ n ]
Encoder type of the actual value sensing (position actual value)
System Value Meaning
0 Simulation (operation without encoder)
1 Incremental encoder
840D sl
4 Absolute encoder
Note
Corresponds with PROFIdrive parameter p979
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 363
MD30242 $MA_ENC_IS_INDEPENDENT[ n, axis ]
Encoder is independent
System Value Meaning
0 The encoder is not independent.
1 The encoder is independent.
If the actual-value corrections, which are made for the encoder selected for the
position control, are not to influence the actual value of the second encoder
defined in the same axis, then this should be declared as independent.
Actual value corrections are:
Modulo handling
Reference point approach
Measuring system alignment
PRESET
Example: One axis, 2 encoders, the 2nd encoder is independent
MD30200 $MA_NUM_ENCS[ AX1 ] = 2
MD30242 $MA_ENC_IS_INDEPENDENT[ 0, AX1 ] = 0
MD30242 $MA_ENC_IS_INDEPENDENT[ 1, AX1 ] = 1
Selection, position measuring system 1 / 2: DB31.DBX1.5 / 1.6
If encoder 1 is selected for closed-loop position control, then the actual value
corrections are only performed on this encoder, as encoder 2 is independent.
If encoder 2 is selected for position control, then the actual value corrections
are performed on both encoders, as encoder 1 is not independent.
This means that the machine data only has an effect on the passive encoder
of a machine axis.
2 The passive encoder is dependent.
The encoder actual value is changed by the active encoder. In combination
with MD35102 $MA_REFP_SYNC_ENCS = 1, for reference point approach,
the passive encoder is aligned to the active encoder - but is NOT referenced.
In the referencing mode MD34200 $MA_ENC_REFP_MODE = 3 (distance-
coded reference marks) the passive encoder is automatically referenced with
the next traversing motion after passing the zero mark distance. This is done
independent of the actual operating mode setting.
840D sl
3 The encoder is independent.
For modulo rotary axes, modulo actual value corrections are also performed in
the passive encoder.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
364 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Note
Machine data index [ n ]
The machine data index [ n ] for encoder assignment has the following meaning:
n = 0: The first encoder assigned to the machine axis
n = 1: Second encoder assigned to the machine axis
The assignment is made using machine data:
MD30220$MA_ENC_MODULE_NR[ n ]
MD30230$MA_ENC_INPUT_NR[ n ]
7.4.3 Adapting the motor/load ratios
Gear types
The following gear types are available for adapting the mechanical ratios:
Gear type Activation Adaptation Installation location
Motor/load gear Parameter set Fixed configuration Gear unit
Measuring gear encoder Power ON Sensor-dependent Sensor-side
Load intermediate gear unit NewConfig Load-dependent Tool-side
Local position of gear unit/encoder
+ENC_lS_DlRECT2=0 +ENC_lS_DlRECT2=0 +ENC_lS_DlRECT2=1
DRlVE_AX_RATlO2_NUMERA
DRlVE_AX_RATlO2_DENOM
DRlVE_AX_RATlO_NUMERA
DRlVE_AX_RATlO_DENOM
ENC_lS_DlRECT=0 ENC_lS_DlRECT=1 ENC_lS_DlRECT=1
M
=
=
Tool
Motor/load
gear
lntermediate
gear
Powered tools
No. of load revs
No. of tool revs
No. of motor revs
No. of load revs
Motor-side encoder Load-side encoder Tool-side encoder
Figure 7-2 Gear unit types and encoder locations
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 365
Motor/load gear
The motor/load gear supported by SINUMERIK is configured via the following machine data:
MD31060 $MA_DRIVE_AX_RATIO_NUMERA (Numerator load gearbox)
MD31050 $MA_DRIVE_AX_RATIO_DENOM (Denominator load gearbox)
The transmission ratio is obtained from the numerator/denominator ratio of both machine
data. The associated parameter sets are used automatically as default by the control to
synchronize the position controller with the relevant transmission ratios.
Since a gear stage change is not always carried out automatically, and there are also
several ways to request a gear stage change, the position controller is not always
incorporated via parameter sets.
Note
For further information about the parameter sets for gear stage change, see:
References:
/FB1/ Function Manual Basic Functions; Spindles (S1)
Intermediate gear
Additional, configurable load intermediate gears are also supported by the control:
MD31066 $MA_DRIVE_AX_RATIO2_NUMERA (intermediate gear numerator)
MD31064 $MA_DRIVE_AX_RATIO2_DENOM (intermediate gear denominator)
Power tools generally have their "own" intermediate gear. Such variable mechanics can be
configured by multiplying the active intermediate gearbox and the motor/load gearbox.
CAUTION
Unlike the motor/load gear, there is no parameter set for the intermediate gear and,
therefore, no way of controlling the time-synchronized switchover to parts program or PLC
(VDI interface). Part programming during gear change is, therefore, ruled out. It remains the
task of the user to match the synchronization of the relevant changed machine data to the
corresponding mechanical switchover and activate it. On switchover during a movement,
compensations cannot be ruled out due to jumps in the scaling factors. These are not
monitored for violation of the maximum acceleration.
Encoder directly at the tool
Another connection option is possible for a "tool-side encoder" on the intermediate gear, by
configuring machine data:
MD31044 $MA_ENC_IS_DIRECT2
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
366 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Encoder not directly at the tool
The following supplementary conditions apply to a gear change of the intermediate gear in
position-control mode:
The gear ratio to be changed is incorporated in a re-scaling of the encoder information in
this case.
In this case, the following applies to axes/spindles in positioning mode:
A non-abrupt gear change is only possible at zero speed.
To do this, the tool-side position before and after a gear change are set equal for a
change in the ratio, since the mechanical position does not (or hardly) changes during a
gear stage change.
Recommendation:
To avoid 21612 "Controller enable reset during motion", changeover should be carried
out "only at zero speed". It is still permissible and expedient to switch the axis or spindle
to speed-control or follow-up mode before or during a gear change.
Boundary conditions
If the encoder to be used for position control is connected directly at the tool, the gear stage
change only affects the physical quantities at the speed interface between the NC and the
drive of the motor/load gear. The internal parameter sets are not changed.
Reference point and position reference
In the case of gear changes, it is not possible to make a statement about the effect of the
reference point or machine position reference on the encoder scaling. In such cases, the
control partially cancels the status "Axis referenced/synchronized".
If the position reference to the machine, tool, etc., has been lost, it must first be restored
through appropriate adjustment or referencing of the lost reference point. This is especially
important for the functions Travel to fixed stop, Referencing to Bero, Cam and Zero marker.
CAUTION
The control cannot detect all possible situations that can lead to loss of the machine
position reference. Therefore, it is the responsibility of the commissioning engineer or user
to initiate explicit referencing of zero marker synchronization in such cases.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 367
Note
In order to permit new referencing without an interrupting RESET,
machine data:
MD34080 $MA_REFP_MOVE_DIST
and
MD34090 $MA_REFP_MOVE_DIST_CORR
are changed over to NewConfig effectiveness.
For more detailed information about referencing, please see:
References:
/FB1/ Function Manual Basic Functions; Reference Point Travel (R1)
7.4.4 Speed setpoint output
Control direction and travel direction of the feed axes
You must determine the travel direction of the feed axis before starting work.
Control direction
Before the position control is started up, the speed controller and current controller of the
drive must be started up and optimized.
Travel direction
With the machine data:
MD32100 $MA_AX_MOTION_DIR (travel direction).
the direction of motion of the axis can be reversed,
without affecting the control direction of the position control.
Speed setpoint adjustment
SINUMERIK 840D sl
In the case of speed setpoint comparison, the NC is informed, which speed setpoint
corresponds to which motor speed in the drive, for parameterizing the axial control and
monitoring. This comparison is carried out automatically.
For PROIBUS-DP drives, alternatively, the manual speed setpoint comparison is also
possible.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
368 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Manual comparison
In the machine data:
MD32250 $MA_RATED_OUTVAL
a value not equal to zero is entered.
For more detailed information about motor speed adjustments, please see:
References:
/HBI/ Manual SINUMERIK 840Di; "Axes and Spindles"
Note
Velocity adjustment and maximum speed setpoint
Owing to the automatic speed setpoint comparison a velocity adjustment is not necessary
for SINUMERIK 840D sl!
Maximum speed setpoint
For SINUMERIK 840D sl, the maximum speed setpoint is defined as a percentage. 100%
means maximum speed setpoint or maximum speed for PROFIdrive drives (manufacturer-
specific setting parameters in the drive, e.g. p1082 for SINAMICS).
The output of the spindle speed is implemented in the NC for SINUMERIK 840D sl.
Data for 5 gear stages are realized in the control.
These stages are defined by a minimum and maximum speed for the stage itself and by a
minimum and maximum speed for the automatic gear stage changeover. A new set gear
stage is output only if the new programmed speed cannot be traversed in the current gear
stage.
With the machine data:
MD36210 $MA_CTRLOUT_LIMIT[n] (maximum speed setpoint)
the speed setpoint is restricted percentage-wise.
Values up to 200% are possible.
When the speed is exceeded, an alarm is generated.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 369
n
5-25%
t [s]
MD36210 CTRLOUT_LlMlT
MD32000 MAX_AX_VELO
Max. axis velocity
= Speed setpoint
Set
Max. speed setpoint
Figure 7-3 Maximum speed setpoint
However, due to control processes, the axes should not reach their maximum velocity
(MD32000 $MA_MAX_AX_VELO) at 100% of the speed setpoint, but at 80% to 95%.
In case of axes, whose maximum speed is attained at around 80% of the speed setpoint
range, the default value (80%) of the machine data:
MD32000 $MA_MAX_AX_VELO (maximum axis velocity)
7.4.5 Actual-value processing
Actual-value resolution
In order to be able to create a correctly closed position control loop, the control system must
be informed of the valid actual-value resolution. The following axis-specific machine data are
used for the purpose, which are partially specified from the drive (MD31000, 31010, 31020,
31025).
The control calculates the actual-value resolution from the settings made in the MD. The
control parameter sets of the position control are identified as servo parameter sets.
The machining process of the machine forms the basis of the position actual-value
acquisition.
Direct measuring system (DM) is on machine directly: Load-side encoder
Indirect measuring system (IM) is on motor indirectly: Motor-side encoder
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
370 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Depending on the type of axis (linear axis, rotary axis) and the type of actual-value
acquisition (directly at the machine, indirectly at the motor), the following machine data must
be parameterized to calculate the actual-value resolution:
Machine data Linear axis Linear axis Rotary axis
Linear scale/
or as direct
measuring
system
Encoder
on
motor
Encoder
on
machine
and/or tool
Encoder
on
motor
Encoder
on
machine
and/or tool
MD30300 $MA_IS_ROT_AX 0 0 0 1 1
MD31000 $MA_ENC_IS_LINEAR[n]
MD31010 $MA_ENC_GRID_POINT_DIST[n]
MD34320 $MA_ENC_INVERS[n]
1
Spacing
0
-
-
0
-
-
0
-
-
0
-
-
MD31040 $MA_ENC_IS_DIRECT[n] - / 1 0 1 0 1
MD31044 $MA_ENC_IS_DIRECT2[n] - / 1 0 1 0 1
MD31020 $MA_ENC_RESOL[n] - Pulses/
rev
Pulses/
rev
Pulses/r
ev
Pulses/
rev
MD31025 $MA_ENC_PULSE_MULT[n] Encoder multiplication
MD31030 $MA_LEADSCREW_PITCH - mm/rev. mm/rev. - -
MD31050 $MA_DRIVE_AX_RATIO_DENOM[n] - Load
rev.
-/1 Load
rev.
MD31060 $MA_DRIVE_AX_RATIO_NUMERA[n] - Motor
rev. if
infeed
gear
available
-/1 Motor
rev.
MD31070 $MA_DRIVE_ENC_RATIO_DENOM[n] - Encoder
rev.
Encoder
rev.
Encoder
rev.
Encoder
rev.
MD31080 $MA_DRIVE_ENC_RATIO_NUMERA[n] - Motor-
side
encoder*
Motor
rev.
Motor
rev.
Load
rev.
- = Does not apply to this combination
* The encoder on the motor side is a built-in encoder and, therefore, does not have a
measuring gear unit.
The transmission ratio is always 1:1.
For distance-coded measuring systems
These machine data are not required for encoder matching (path evaluation).
However, they must be entered correctly for the setpoint calculation! Otherwise the
required servo gain factor (KV) will not be set. The load revolutions are entered into
machine data MD31050 $MA_DRIVE_AX_RATIO_DENOM and the motor revolutions
in machine data MD31060 $MA_DRIVE_AX_RATIO_NUMERA.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 371
Coding of the machine data
The indices of the following machine data are coded at the encoder [Encoder no.]:
Encoder 0 or 1
Encoder-dependent machine data Meaning
MD31070 $MA_DRIVE_ENC_RATIO_DENOM[n] Measuring gear denominator
MD31080 $MA_DRIVE_ENC_RATIO_NUMERA[n] Measuring gear numerator
MD31000 $MA_ENC_IS_LINEAR[n] Direct measuring system linear scale
MD31010 $MA_ENC_GRID_POINT_DIST[n] Distance between reference marks on
linear scales
MD31020 $MA_ENC_RESOL[n] Encoder pulses per revolution
for rotary encoder
MD31040 $MA_ENC_IS_DIRECT[n] Encoder is connected directly at the
machine
MD34320 $MA_ENC_INVERS[n] Length measuring system is in the opposite
sense
Additional machine data without index Meaning
MD30200 $MA_NUM_ENCS Number of encoders
MD30300 $MA_IS_ROT_AX Rotary axis
MD31030 $MA_LEADSCREW_PITCH Leadscrew pitch
Index [n] of the following machine data depend on the servo parameter sets of the position
controller, with which the actual-value resolution is calculated automatically in the control:
MD DRIVE_AX_...[servo parameter set no.] : 0-5
Parameter-set-dependent machine data Meaning
MD31050 $MA_DRIVE_AX_RATIO_DENOM[n] Denominator load gearbox
MD31060 $MA_DRIVE_AX_RATIO_NUMERA[n] Numerator load gearbox
For the following machine data, the control does not consider any parameter set nor any
indices for coded encoders.
NewConfig-dependent machine data
Encoder-dependent machine data Meaning
MD31044 $MA_ENC_IS_DIRECT2[n] Encoder on intermediate gear
MD34080 $MA_REFP_MOVE_DIST [n] Reference point approach distance
MD34090 $MA_REFP_MOVE_DIST_CORR[n] Reference point offset
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
372 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
NewConfig-dependent machine data
Additional machine data without index Meaning
MD31064 $MA_DRIVE_AX_RATIO2_DENOM Intermediate gear denominator
MD31066 $MA_DRIVE_AX_RATIO2_NUMERA Intermediate gear numerator
MD32000 $MA_MAX_AX_VELO Maximum axis velocity
Note
These machine data can be activated in parts programs with the command NEWCONF or via
the HMI operator panel using a soft key.
Variants of actual-value acquisition
The relevant machine data and relational calculations for the different methods of actual-
value acquisition are described in the following.
7.4.6 Adjustments to actual-value resolution
Calculating the ratio
The calculation of the ratio is obtained from the associated machine data and is defined for
encoders as follows:
=
Actual-value resolution
Computational resolution
Encoder increments/(mm)
lnternal increments/(mm)
For encoders with rotary axis, the following applies:
=
Actual-value resolution
Computational resolution
Encoder increments/(degrees)
lnternal increments/(degrees)
The internal pulse multiplication is defined by MD31025 $MA_ENC_PULSE_MULT.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 373
Linear axis with linear scale
MD30300 lS_ROT_AX = 0
M
MD30300 ENC_lS_LlNEAR=1
MD31010 ENC_GRlD_POlNT_DlST (linear encoder)
MD34320 ENC_lNVERS (in the opposite direction)
Load gear
Table
Ball screw
Linear scale
Figure 7-4 Linear axis with linear scale
In order to adapt the actual-value resolution to the calculation resolution, the control
calculates the quotients from the "internal increments/mm" and the "encoder increments/mm"
as follows:
Encoder increments / mm
Internal increments / mm
=
ENC_GRID_POINT_DIST [n] * INT_INCR_PER_MM
ENC_PULSE_MULT[n]
The distance for linear encoders is based on the pulse increments.
Linear axis with rotary encoder on motor
=
=
n
n
n
ENC_lS_LlNEAR_=0
ENC_lS_LlNEAR_=0
lS_ROT_AX=0
ENC_RESOL
LEADSCREW_PlTCH
DRlVE_ENC_RATlO_NUMERA
DRlVE_ENC_RATlO_DENOM
DRlVE_AX_RATlO_NUMERA
DRlVE_AX_RATlO_DENOM
G M
Motor
Spindle
Number of motor revolutions
Number of encoder revolutions
No. of motor revs.
No. of spindle revs
Load
gear
Meas.
gear
Encoder
Ball screw
Table
Figure 7-5 Linear axis with rotary encoder on motor
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
374 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
In order to adapt the actual-value resolution to the calculation resolution, the control
calculates the quotients from the "internal increments/mm" and the "encoder increments/mm"
as follows:
SINUMERIK example
Linear axis with rotary encoder (2048 Impulse) on motor;
internal multiplication (2048)
Gear: Motor/leadscrew ratio 5:1
Pitch 10 mm
10000 increments per mm
1
DRlVE_ENC_RATlO_NUMERA [n]
DRlVE_AX_RATlO_NUMERA [n]
DRlVE_AX_RATlO_DENOM [n]
lNT_lNCR_PER_MM
LEADSCREW_PlTCH
*
*
*
DRlVE_ENC_RATlO_DENOM [n]
*
ENC_RESOL [n] * ENC_PULSE_MULT[n]
lnternal increments / mm
Encoder increments / mm
MD30300 $MA_IS_ROT_AX = 0
MD31000 $MA_ENC_IS_LINEAR[0] = 0
MD31040 $MA_ENC_IS_DIRECT[0] = 0
MD31020 $MA_ENC_RESOL[0] = 2048
MD31025 $MA_ENC_PULSE_MULT = 2048
MD31030 $MA_LEADSCREW_PITCH = 10
MD31080 $MA_DRIVE_ENC_RATIO_NUMERA[0] = 1
MD31070 $MA_DRIVE_ENC_RATIO_DENOM[0] = 1
MD31060 $MA_DRIVE_AX_RATIO_NUMERA[0] = 5
MD31050 $MA_DRIVE_AX_RATIO_DENOM[0] = 1
MD10200 $MN_INT_INCR_PER_MM = 10000
*
1
2048 * 2048
*
1
1
1
5
* 10 mm * 10000 incr./mm = 0.004768
lnternal increments/mm
Encoder increments/mm
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 375
Linear axis with rotary encoder on the machine
lS_ROT_AX=0
n n
=
DRlVE_ENC_RATlO_NUMERA
DRlVE_ENC_RATlO_DENOM
LEADSCREW_PlTCH
ENC_lS_DlRECT=1
ENC_RESOL
ENC_lS_LlNEAR=0
G M
No. of spindle revs
No. of encoder revs
Load
gear
Spindle
Meas.
gear
Ball screw
Table
Encoder
Figure 7-6 Linear axis with rotary encoder on the machine
In order to adapt the actual-value resolution to the calculation resolution, the control
calculates the quotients from the "internal increments/mm" and the "encoder increments/mm"
as follows:
1
DRlVE_ENC_RATlO_NUMERA [n]
lNT_lNCR_PER_MM
LEADSCREW_PlTCH
*
*
DRlVE_ENC_RATlO_DENOM [n]
*
ENC_RESOL [n] * ENC_PULSE_MULT[n]
lnternal increments / mm
Encoder increments / mm
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
376 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Rotary axis with rotary encoder on motor
n n
ENC_RESOL
ENC_lS_DlRECT=0
=
=
ENC_lS_LlNEAR=0
lS_ROT_AX=1
DRlVE_AX_RATlO_NUMERA
DRlVE_AX_RATlO_DENOM
DRlVE_ENC_RATlO_NUMERA
DRlVE_ENC_RATlO_DENOM
n
G M L
No. of load revs
Resolver gearing Load gear
Rotary table
Load Encoder
No. of motor revs
Number of encoder revolutions
Number of motor revolutions
Motor
Figure 7-7 Rotary axis with rotary encoder on motor
In order to adapt the actual-value resolution to the calculation resolution, the control
calculates the quotients from the "internal increments/degree" and the "encoder
increments/degree" as follows:
Example for rotary axis with encoder on motor
Rotary axis with rotary encoder (2048 Impulse) on motor;
internal multiplication (2048)
Gear: Motor/rotary axis ratio 5:1
1000 increments per degree
DRlVE_ENC_RATlO_NUMERA [n]
DRlVE_AX_RATlO_NUMERA [n]
DRlVE_AX_RATlO_DENOM [n]
lNT_lNCR_PER_DEG
*
*
DRlVE_ENC_RATlO_DENOM [n]
*
ENC_RESOL [n] * ENC_PULSE_MULT[n]
360 degrees lnternal increments / degrees
Encoder increments / degrees
MD30300 $MA_IS_ROT_AX = 1
MD31000 $MA_ENC_IS_LINEAR[0] = 0
MD31040 $MA_ENC_IS_DIRECT[0] = 0
MD31020 $MA_ENC_RESOL[0] = 2048
MD31025 $MA_ENC_PULSE_MULT = 2048
MD31080 $MA_DRIVE_ENC_RATIO_NUMERA[0] = 1
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 377
MD31070 $MA_DRIVE_ENC_RATIO_DENOM[0] = 1
MD31060 $MA_DRIVE_AX_RATIO_NUMERA[0] = 5
MD31050 $MA_DRIVE_AX_RATIO_DENOM[0] = 1
MD10210 $MN_INT_INCR_PER_DEG = 1000
*
360 degrees
2048 * 2048
*
1
1
1
5
* 1000 incr./degrees = 0.017166
lnternal increments/degrees
Encoder increments/degrees
Result:
1 internal increment corresponds to 0.017166 encoder increments of the internal unit.
Rotary axis with rotary encoder on the machine
lS_ROT_AX=1
n
n
ENC_lS_LlNEAR_=0
ENC_RESOL
DRlVE_ENC_RATlO_NUM
DRlVE_ENC_RATlO_DENOMERA
ENC_lS_DlRECT=1
=
G M L
No. of load revs
No. of encoder revs
Resolver gearing Load gear
Rotary table
Load
Encoder
Figure 7-8 Rotary axis with rotary encoder on the machine
In order to adapt the actual-value resolution to the calculation resolution, the control
calculates the quotients from the "internal increments/degree" and the "encoder
increments/degree" as follows:
DRlVE_ENC_RATlO_NUMERA [n]
lNT_lNCR_PER_DEG
*
DRlVE_ENC_RATlO_DENOM [n]
*
ENC_RESOL [n] * ENC_PULSE_MULT[n]
360 degrees lnternal increments / degrees
Encoder increments / degrees
G2: Velocities, setpoint / actual value systems, closed-loop control
7.4 Setpoint/actual-value system
Basic Functions
378 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Intermediate gear encoder on tool
n
ENC_lS_DlRECT=1
+ENC_lS_DlRECT2=1
n
ENC_RESOL
DRlVE_ENC_RATlO_NUMERA
DRlVE_ENC_RATlO_DENOM
DRlVE_AX_RATlO_NUMERA
DRlVE_AX_RATlO_DENOM
n
ENC_lS_DlRECT=1
+ENC_lS_DlRECT2=0
ENC_lS_DlRECT=0
+ENC_lS_DlRECT2=1
DRlVE_AX_RATlO2_NUMERA
DRlVE_AX_RATlO2_DENOM
=
=
=
M G
Number of motor revolutions
Number of encoder revolutions
No. of motor revs
No. of spindle revs
Encoder
Meas.
gear
Motor
Load
gear
lntermediate gear
Tool
No. of load revs
No. of spindle revs
Rotating tool
Tool
Figure 7-9 Intermediate gear with encoder directly on the rotating tool
In order to adapt the actual-value resolution to the calculation resolution, the control
calculates the quotients from the "internal increments/mm" and the "encoder increments/mm"
as follows:
DRlVE_ENC_RATlO_NUMERA [n]
lNT_lNCR_PER_DEG
*
DRlVE_ENC_RATlO_DENOM [n]
*
ENC_RESOL [n] * ENC_PULSE_MULT[n]
360 degrees lnternal increments / degrees
Encoder increments / degrees
G2: Velocities, setpoint / actual value systems, closed-loop control
7.5 Closed-loop control
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 379
7.5 Closed-loop control
7.5.1 General
Position control of an axis/spindle
The closed-loop control of an axis consists of the current and speed control loop of the drive
plus a higher-level position control loop in the NC.
The basic structure of an axis/spindle position control is illustrated below:
MD32400 $MA_AX_JERK_ENABLE
MD32402 $MA_AX_JERK_MODE
MD32410 $MA_AX_JERK_TlME
MD32200 $MA_POSCTRL_GAlN[n]
MD33000 FlPO_TYPE MD32900 DYN_MATCH_ENABLE
MD32910 DYN_MATCH_TlME[n]
MD32500 $MA_FRlCT_COMP_ENABLE *
MD32100 $MA_AX_MOTlON_DlR
MD32110 $MA_ENC_FEEDBACK_POL[n]
MD32700 $MA_ENC_COMP_ENABLE[n]
MD32450 $MA_BACKLASH[n]
MD32452 $MA_BACKLASH_FACTOR[n]
MD32620 $MA_FFW_MODE
MD32630 $MA_FFW_ACTlVATlON_MODE
MD32610 $MA_VELO_FFW_WElGHT[n]
MD32650 $MA_AX_lNERTlA
MD32652 $MA_AX_MASS
MD32810 $MA_EQUlV_SPEEDCTRL_TlME[n]
MD32800 $MA_EQUlV_CURRCTRL_TlME[n]
Fine
interpolation
Jerk
limiting
Dynamic
response
adaptation
Pre-
control
Closed-
loop control
Speed
setpoint
processing
Actual value
processing
lS
Position
measuring
system 1/2
Figure 7-10 Principle representation of the setpoint processing and closed-loop control
For a description of the feedforward control, backlash, friction compensation with further
machine data, and leadscrew error compensation, see:
References:
/FB2/ Function Manual Extended Functions; Compensations (K3)
For a description of jerk limitation, see:
References:
/FB1/ Function Manual, Basic Functions; Acceleration (B2).
G2: Velocities, setpoint / actual value systems, closed-loop control
7.5 Closed-loop control
Basic Functions
380 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Fine interpolation
The fine interpolator (FIPO) is used to adjust the setpoint of the (generally slower)
interpolator cycle clock to the faster position-control cycle.
Fine interpolation further improves the quality of the contour (decreasing the step effect of
the speed setpoint).
There are three types of FIPOs:
1: Differential FIPO
2: Cubic FIPO
3: Cubic FIPO, optimized for operation with feedforward control
The type of fine interpolation can be determined through the following machine data:
MD33000 $MA_FIPO_TYPE (fine interpolator type)
A differential FIPO not only performs cycle matching but also calculates a mean value
(smoothing) from an IPO cycle.
The cubic FIPO, type 3, supplies the best contour accuracy in addition to the cycle
adaptation.
Servo gain factor (K
v
)
In order that few contour deviations occur in the continuous path mode, a high servo gain
factor (Kv) is necessary:
MD32200 $MA_POSCTRL_GAIN[n]
However, if the servo gain factor (Kv) is too high, instability, overshoot and possibly
impermissibly high loads on the machine will result.
The maximum permissible servo gain factor (Kv) depends on the following:
Design and dynamics of the drive
(rise time, acceleration and braking capacity)
Machine quality
(elasticity, oscillation damping)
Position control cycle or speed control cycle for active DSC
The servo gain factor (Kv) is defined as follows:
Velocity
Following error
[m/min]
KV
[mm]
;
[m/min]/[mm]: Unit of servo gain factor (KV) according to VDI standard
G2: Velocities, setpoint / actual value systems, closed-loop control
7.5 Closed-loop control
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 381
Servo gain factor (K
v
) setting for SINUMERIK 840D sl
t
DYN_MATCH_TlME Axis 1 [Axis 1]
Axis 1 with high servo gain and
dynamic response adaptation
Axis 2 equiv. time
Step response of
the position control
loop
Axis 1 with high
servo gain
Axis 2 with low servo gain
Equiv. time
Figure 7-11 Dynamic response adaptation
Dynamic response adaptation
The purpose of dynamic response adaptation is to set an identical following error for axes
with different servo gain factors (Kv). The optimum contour accuracy for axes interpolating
with each other can thus be achieved without reduced control quality. A high servo gain
factor (Kv) for an axis can be maintained, which guarantees optimum disturbance
suppression of the axis.
The function is activated with the machine data:
MD32900 $MA_DYN_MATCH_ENABLE (dynamic response adaptation)
The adaptation of the axes and the difference of the equivalent time constants of the
"slowest" control loop to the respective axis is realized using machine data:
MD32910 $MA_DYN_MATCH_TIME [n] (time constant of dynamic response adaptation)
With this MD the equivalent time constant of the position control loops of the axes with a
higher servo gain factor (Kv) is adjusted to the axes with the lowest servo gain factor (Kv).
Example of dynamic response adaptation of axes 1, 2 and 3 (without speed feedforward
control):
The equivalent time constant of the position control loop is as follows:
For axis 1: 30 ms
For axis 2: 20 ms
For axis 3: 24 ms
Axis 1 is dynamically the slowest axis.
This results in the following values for the machine data MD32910:
G2: Velocities, setpoint / actual value systems, closed-loop control
7.5 Closed-loop control
Basic Functions
382 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Axis 1: 0 ms
Axis 2: 10 ms
Axis 3: 6 ms
Approximation formulae
The equivalent time constant of the position control loop of an axis is calculated according to
the following formula:
No feedforward control is active
MD32200 POSCTRL_GAlN [1/s]
1
T
Spares
Speed feedforward control
MD32810 EQUlV_SPEEDCTRL_TlME
T
Spares
Combined torque/speed precontrol
MD32800 EQUlV_CURRCTRL_TlME
T
Spares
Note
If a dynamic response adaptation is done for a geometry axis, then the same dynamic
behavior is necessary for all other geometry axes and is to be activated with the following
setting:
MD32900 $MA_DYN_MATCH_ENABLE= 1
References:
"Commissioning Instructions" SINUMERIK 840D sl, SINAMICS S120
7.5.2 Parameter sets of the position controller
Six different parameters sets
The position control can operate with 6 different servo parameter sets.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.5 Closed-loop control
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 383
They are used as follows
1. Fast adaptation of the position control to altered machine characteristics during operation,
e.g. a gear change of the spindle.
2. Matching the dynamics of an axis to another axis, e.g. during tapping.
Parameter set changeover
The following machine data can be changed by switching over the parameter set during operation:
Denominator load gearbox MD31050 $MA_DRIVE_AX_RATIO_DENOM[n]
Numerator load gearbox MD31060 $MA_DRIVE_AX_RATIO_NUMERA[n]
Servo gain factor (Kv) MD32200 $MA_POSCTRL_GAIN[n]
Backlash compensation MD32452 $MA_BACKLASH_FACTOR[n]
Feedforward control factor MD32610 $MA_VELO_FFW_WEIGHT[n]
MD36012 $MA_STOP_LIMIT_FACTOR[n]
MD36000 $MA_STOP_LIMIT_COARSE[n]
MD36010 $MA_STOP_LIMIT_FINE[n]
Exact stop limits
and zero-speed window
MD36030 $MA_STANDSTILL_POS_TOL[n]
Equivalent time constant
Current control loop for combined torque/speed
precontrol
MD32800 $MA_EQUIV_CURRCTRL_TIME[n]
Equivalent time constant
speed control loop for speed feedforward control
MD32810 $MA_EQUIV_SPEEDCTRL_TIME[n]
Time constant for dynamic response adaptation MD32910 $MA_DYN_MATCH_TIME[n]
Threshold value for velocity monitoring MD36200 $MA_AX_VELO_LIMIT[n]
Tapping or thread cutting
The following applies to parameter sets for axes:
For machine axes not involved in tapping or thread cutting, parameter set 1 (index=0) is
always used.
The further parameter sets need not be considered.
For machine axes involved in tapping or thread cutting, the same parameter set number
as for the current gear stage of the spindle is activated.
All parameter sets correspond to the gear stages and must therefore be parameterized.
The current parameter set is displayed in operating area "Diagnostics" in the "Service axis"
display. The parameter sets for gear stages 1 to 5 are referred to as interpolation
parameters.
Parameter sets during gear stage change
Interpolation parameter sets during gear stage change:
In the case of spindles, each gear stage is assigned its own parameter set.
Dependent on the NC/PLC interface signal:
G2: Velocities, setpoint / actual value systems, closed-loop control
7.5 Closed-loop control
Basic Functions
384 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ... DBX16.0 - 16.2 (actual gear stage)
the corresponding parameter set is activated.
DB31, ... DBX16.0 - 16.2 (actual gear stage) Active parameter set
000 1st gear stage 2 (Index=1)
001 1st gear stage 2 (Index=1)
010 2nd gear stage 3 (Index=2)
011 3rd gear stage 4 (Index=3)
100 4th gear stage 5 (Index=4)
101
110
111
5th gear stage 6 (Index=5)
For more information on gear stages for spindles see:
References:
/FB1/ Function Manual Basic Functions; Spindles (S1)
G2: Velocities, setpoint / actual value systems, closed-loop control
7.6 Optimization of the control
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 385
7.6 Optimization of the control
7.6.1 Position controller, position setpoint filter: Balancing filter
Application
For speed and torque feedforward control
With feedforward control active, the position setpoint is sent through a so-called balancing
filter before it reaches the controller itself. It is thus possible to control the speed setpoint to
100 % in advance, without resulting in overshoots when positioning.
Filter activation
The filter is activated and the precontrol version selected by changing the axial machine
data:
MD32620 $MA_FFW_MODE
Value Meaning
3 Speed precontrol
4 Combined torque/speed precontrol
Activation of feedforward control
Parts programs can be used to activate and deactivate the feedforward control for all axes,
using instructions FFWON and FFWOF, which does not affect the following machine data:
MD32630 FFW_ACTIVATION_MODE
Control response with POWER ON, RESET, REPOS, etc.
In the case of POWER ON and RESET, as well as with "Enable machine data", the setting
data of the feedforward control are read in anew (see the appropriate values of the machine
data).
Mode change, block search and repositioning have no influence on the feedforward control.
Recommended setting in case of recommissioning
If recommissioning, or if previous standard values are loaded (switch position 1 on
commissioning switch and POWER ON), the following machine data default values apply:
MD32620 $MA_FFW_MODE = 3
MD32610 $MA_VELO_FFW_WEIGHT = 1
The balancing time for the speed feedforward control then just has to be adjusted in the
following machine data:
MD32810 $MA_EQUIV_SPEEDCTRL_TIME
G2: Velocities, setpoint / actual value systems, closed-loop control
7.6 Optimization of the control
Basic Functions
386 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Setting the equivalent time constant of the speed control loop
MD32810 speed feedforward control
We recommend that the axis be allowed to move in and out in "AUTOMATIC" mode with a
parts program and that travel-in to the target position, i.e., the actual position value of the
active measuring system, be monitored with servo trace.
The actual position value can also be output to the drive module's digital-to-analog converter,
and an oscilloscope can be used for monitoring.
The initial value for setting is the time constant of the speed control loop. This can be read
from the reference frequency characteristic of the speed control loop. In the frequent case of
a PI controller with speed setpoint smoothing, an approximate equivalent time can be read
from drive machine data p1414, p1415, p1416 and p1421.
Another option would be to trace the speed setpoint and actual value at a constant
acceleration using an oscilloscope and to measure the follow-on time of the speed actual
value.
This start value (e.g. 1.5 ms) is now entered:
MD32810 $MA_EQUIV_SPEEDCTRL_TIME = 0.0015
The axis then travels to and fro and the operator monitors a greatly-magnified characteristic
of the position actual value at the target position.
The following rules apply to making manual fine adjustments:
Overshoot monitored: magnify MD32810.
Excessively slow approach monitored: reduce MD32810.
Magnifying MD32810
Increasing the value of MD32810 slows the axis down and increases the geometric contour
error on curves to some degree.
It has a similar effect to reducing the position controller gain:
MD32200 $MA_POSCTRL_GAIN
This can also be watched in the Diagnostics area in the screen form "Service Axis" based on
the servo gain value calculated.
Reducing MD32810
Reducing the value of MD32810 quickens the axis.
Therefore, MD32810 should be assigned as small a value as possible, with the overshoot
setting the limit during positioning.
MD32810 fine adjustment
Experience has shown that the initial value is only modified slightly during fine adjustment,
typically by adding or deducting 0.25 ms.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.6 Optimization of the control
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 387
For example, if the initial value is 1.5 ms, the optimum value calculated manually is usually
within the range 1.25 ms to 1.75 ms.
In the case of axes equipped with direct measuring systems (load encoders) and strong
elasticity, you may possibly accept small overshoots of some micrometers.
These can be reduced with the help of the position setpoint filter for dynamic response
adaptation (MD32910 $MA_DYN_MATCH_TIME) and for jerk (MD32410
$MA_AX_JERK_TIME), which also reduces the axis speed.
Identical axis data within an interpolation group
All the axes within an interpolation group should have identical settings in the following data:
MD32200 $MA_POSCTRL_GAIN (adapted using MD32910)
MD32620 $MA_FFW_MODE
MD32610 $MA_VELO_FFW_WEIGHT
MD32810 $MA_EQUIV_SPEEDCTRL_TIME (or MD32800 $MA_EQUIV_CURRCTRL_TIME)
(dependent on the mechanical system and drive)
MD32400 $MA_AX_JERK_ENABLE
MD32402 $MA_AX_JERK_MODE
MD32410 $MA_AX_JERK_TIME
The servo gain display (KV) in the axis service screen form is used for checking.
Unequal axis data of an interpolation group
If identical values are not possible for the above data, the following machine data can be
used to make an adjustment:
MD32910 $MA_DYN_MATCH_TIME
This allows the same servo gain value (KV) to be displayed.
Different servo gain display values (KV) usually point to the following:
The gear ratios do not match in one or several axes.
The feedforward control setting data do not match.
Setting the equivalent time constant of the current control loop
MD32800 Equivalent time constant current control loop for precontrol
The same rules and recommendations apply to setting the time constant of the current
control loop as to the speed feedforward control.
However, activation of the torque feedforward control filter with:
MD32620 $MA_FFW_MODE = 4
must, for the purposes of setting the time constant with
MD32800 $MA_EQUIV_CURRCTRL_TIME
but are enabled as before in the drive.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.6 Optimization of the control
Basic Functions
388 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Limitation to stiff machines
Experience has shown that this expenditure is only worthwhile in the case of very stiff
machines, and requires appropriate experience. The elasticities of the machine are often
excited due to the injection of the torque so strongly that the existing vibrations neutralize the
gain in contour accuracy.
In this case, it would be worth trying the use of Dynamic Stiffness Control (DSC) as an
alternative:
MD32640 $MA_STIFFNESS_CONTROL_ENABLE = 1
Note
If DSC is to be activated (MD32640 = 1), no parameters may be assigned for actual-value
inversion in the NC (MD32110 $MA_ENC_FEEDBACK_POL = -1). Otherwise, error 26017
occurs.
In DSC mode, actual-value inversion may only be undertaken in the drive (SINAMICS
parameter p0410).
For more information about the effect of the feedforward control relating to the speed and
torque position controller setpoints, please refer to:
References:
Function Manual, Extended Functions; Compensations (K3)
7.6.2 Position controller, position setpoint filter: Jerk filter
Application
In some applications, such as when milling sculptured surfaces, it can be advantageous to
smooth the position setpoint curves to obtain better surfaces, due to reduced excitations of
machine vibrations.
Functionality
The filter effect of the position setpoints must be as strong as possible without impermissibly
affecting contour accuracy.
The smoothing behavior of the filter must also be as "symmetrical" as possible, i.e., if the
same contour was to be traveled in both forward and reverse, the characteristic rounded by
the filter should be as similar as possible in both directions.
The effect of the filter can be monitored by means of the effective servo gain factor (KV),
which is displayed on the Axis service screen form. The filtering effect rounds the position
setpoints slightly, thus reducing the path accuracy so that with increasing filter time a smaller
effective servo gain factor (KV) is displayed.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.6 Optimization of the control
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 389
Filter enable with MD32402
With the machine data:
MD32402 $MA_AX_JERK_ENABLE
the position setpoint filter is enabled
and determined using the following definitions:
MD32402 $MA_AX_JERK_MODE = 2 Filter mode, moving average value
MD32410 $MA_AX_JERK_TIME = 0.02 Set the filter time in seconds (e.g. 20 ms)
MD32400 $MA_AX_JERK_ENABLE = 1 Enable filter calculation
If no filter mode previously:
MD32402 $MA_AX_JERK_MODE = 2
was activated, then "Power On" must be initiated once.
Otherwise, "Enable machine data" or "Reset" at the machine control panel are sufficient.
Note
Generally, the filter is set using:
MD32402 $MA_AX_JERK_MODE = 2
Fine adjustment
The fine adjustment of the jerk filter is carried out as follows:
1. Assess the traversing response of the axis
(e.g., based on positioning processes with servo trace).
2. Modify the filter time in MD32410 $MA_AX_JERK_TIME.
3. Activate the modified time via "Enable machine data" or RESET on the machine control
panel.
Disabling
Disabling the jerk filter:
1. Disable filter calculation:
MD32410 $MA_AX_JERK_ENABLE = 0.
2. Activate the interlock via "Enable machine data" or RESET on the machine control panel.
Boundary conditions
The jerk filter is available in all control versions as follows:
Effective filter times are limited to a range between a minimum of 1 position-control cycle
up to a maximum of 32 position-control cycles (31 position-control cycles are available).
G2: Velocities, setpoint / actual value systems, closed-loop control
7.6 Optimization of the control
Basic Functions
390 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Further supplementary conditions regarding the filter effect:
The display of the calculated servo gain factor (KV) in the Axis service screen form
displays smaller values than would be appropriate based on the filter effect.
Path accuracy is better than the displayed servo gain (KV) suggests.
Therefore, on resetting
MD32400 $MA_AX_JERK_MODE = 1
to
MD32400 $MA_AX_JERK_MODE = 2,
the displayed servo gain (KV) can be reduced while retaining the same filter time,
although the path accuracy improves.
Axes that interpolate with each other must be set identically.
Once an optimum value has been identified for these axes, the one with the longest filter
time should be used as the setting for all axes within the interpolation group.
For further information about jerk limiting at the interpolator level, please see:
References:
/FB1/ Function Manual Basic Functions; Acceleration (B2)
Chapter: "Axis-related jerk limiting"
Chapter: "Axis-specific machine data".
7.6.3 Position control with proportional-plus-integral-action controller
Function
As standard, the core of the position controller is a P controller.
It is possible to switch-in an integral component for special applications (such as an
electronic gear). The resulting proportional-plus-integral-action controller then corrects the
error between setpoint and actual positions down to zero in a finite, settable time period
when the appropriate machine data are set accordingly.
CAUTION
When the proportional-plus-integral-action controller is active, overshoots occur in the
actual position. In this instance, you must decide whether this effect is admissible or
acceptable for the application in question. Closed-loop control know-how and
measurements using the servo trace are absolutely necessary in order to use the function.
If the appropriate machine data are incorrectly set, then machines could be damaged due
to instability.
G2: Velocities, setpoint / actual value systems, closed-loop control
7.6 Optimization of the control
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 391
Procedure
1. First optimize the position control loop as a proportional-action controller first using the
tools described in the previous subsections.
2. Increase the tolerances of the following machine data while measurements are being
taken to determine the quality of the position control with proportional-plus-integral-action
controller:
MD36020 $MA_POSITIONING_TIME
MD36030 $MA_STANDSTILL_POS_TOL
MD36040 $MA_STANDSTILL_DELAY_TIME
MD36400 $MA_CONTOUR_TOL
3. Activate the position control loop as a proportional-plus-integral-action controller by
setting the following machine data:
MD32220 $MA_POSCTRL_INTEGR_ENABLE ; set value 1
MD32210 $MA_POSCTRL_INTEGR_TIME ; integral time [sec.]
Effect of integral time:
Tn 0:
The control error is corrected quickly; however, the control loop can become instable.
Tn :
The control error is corrected more slowly.
4. If you search for the optimum compromise for Tn.
Tn for the application between these two extreme cases, you should not select the value
to be too close to the instability limit, as otherwise, instability could occur and in turn
damage the machine.
5. Use servo trace to trace the travel-in of an automatic program traveling to and from a
target position.
6. Set the servo trace to display the following:
Following error
Actual velocity
Actual position
Reference position
7. Reset the tolerance values in the following machine data to the required values, once the
optimum value for Tn has been identified:
MD36020 $MA_POSITIONING_TIME
MD36030 $MA_STANDSTILL_POS_TOL
MD36040 $MA_STANDSTILL_DELAY_TIME
MD36400 $MA_CONTOUR_TOL
G2: Velocities, setpoint / actual value systems, closed-loop control
7.6 Optimization of the control
Basic Functions
392 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Example
Setting result after several iterative processes for KR and Tn.
Each of the following quantities - following error, actual velocity, actual position, and position
setpoint - has been recorded by servo trace. When traversing in JOG mode, the
characteristic of the individual data shown in the following figure was then drawn.
Set machine data:
MD32220 $MA_POSCTRL_INTEGR_ENABLE = 1
MD32210 $MA_POSCTRL_INTEGR_TIME = 0.003
MD32200 $MA_POSCTRL_GAIN[1] = 5.0
Parameter set selection 0
Graphic1 <Tr.1: Axis X1, Tr.2: Axis X1>
Graphic2 <Tr.3: Axis X1, Tr.4: Axis X1>
Tr.1: Following error
Tr.3: Actual position measuring syst. 1
Tr.2: Actual velocity
Tr.4: Position setpoint
Marker X:
Marker X:
Figure 7-12 Following error (1), actual velocity (2), position actual value (3), position setpoint (4)
G2: Velocities, setpoint / actual value systems, closed-loop control
7.7 Data lists
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 393
7.7 Data lists
7.7.1 Machine data
7.7.1.1 Displaying machine data
Number Identifier: $MM_ Description
9004 DISPLAY_RESOLUTION Display resolution
9010 SPIND_DISPLAY_RESOLUTION Display resolution for spindles
9011 DISPLAY_RESOLUTION_INCH Display resolution for INCH system of measurement
7.7.1.2 NC-specific machine data
Number Identifier: $MN_ Description
10000 AXCONF_MACHAX_NAME_TAB Machine axis name
10050 SYSCLOCK_CYCLE_TIME System basic cycle
10070 IPO_SYSCLOCK_TIME_RATIO Factor for interpolator cycle
10060 POSCTRL_SYSCLOCK_TIME_RATIO Factor for position-control cycle
10200 INT_INCR_PER_MM Computational resolution for linear positions
10210 INT_INCR_PER_DEG Computational resolution for angular positions
10220 SCALING_USER_DEF_MASK Activation of scaling factors
10230 SCALING_FACTORS_USER_DEF Scaling factors of physical quantities
10240 SCALING_SYSTEM_IS_METRIC Basic system metric
10250 SCALING_VALUE_INCH Conversion factor for switchover to
inch system
10260 CONVERT_SCALING_SYSTEM Basic system switchover active
10270 POS_TAB_SCALING_SYSTEM Measuring system of position tables
10290 CC_TDA_PARAM_UNIT Physical units of the tool data for CC
10292 CC_TOA_PARAM_UNIT Physical units of the tool edge data for CC
13050 DRIVE_LOGIC_ADDRESS Logical drive addresses
13060 DRIVE_TELEGRAM_TYPE Standard message frame type for PROFIBUS DP
13070 DRIVE_FUNCTION_MASK DP function used
13080 DRIVE_TYPE_DP Drive type PROFIBUS DP
7.7.1.3 Channel-specific machine data
Number Identifier: $MC_ Description
20150 GCODE_RESET_VALUES Initial setting of the G groups
G2: Velocities, setpoint / actual value systems, closed-loop control
7.7 Data lists
Basic Functions
394 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
7.7.1.4 Axis/spindle-specific machine data
Number Identifier: $MA_ Description
30110 CTRLOUT_MODULE_NR Setpoint assignment: Drive number
30120 CTRLOUT_NR Setpoint assignment: Setpoint output on drive module
30130 CTRLOUT_TYPE Output type of setpoint
30200 NUM_ENCS Number of encoders
30220 ENC_MODULE_NR Actual value assignment: Drive module number
30230 ENC_INPUT_NR Actual value assignment: Input on the drive module
30240 ENC_TYPE Type of actual-value acquisition (position actual value)
30242 ENC_IS_INDEPENDENT Encoder is independent
30300 IS_ROT_AX Rotary axis
31000 ENC_IS_LINEAR Direct measuring system (linear scale)
31010 ENC_GRID_POINT_DIST Distance between reference marks on linear scales
31020 ENC_RESOL Encoder pulses per revolution
31030 LEADSCREW_PITCH Leadscrew pitch
31040 ENC_IS_DIRECT Encoder is connected directly to the machine
31044 ENC_IS_DIRECT2 Encoder on intermediate gear
31050 DRIVE_AX_RATIO_DENOM Denominator load gearbox
31060 DRIVE_AX_RATIO_NUMERA Numerator load gearbox
31064 DRIVE_AX_RATIO2_DENOM Intermediate gear denominator
31066 DRIVE_AX_RATIO2_NUMERA Intermediate gear numerator
31070 DRIVE_ENC_RATIO_DENOM Measuring gear denominator
31080 DRIVE_ENC_RATIO_NUMERA Measuring gear numerator
31090 JOG_INCR_WEIGHT Weighting of increment for INC/handwheel
31200 SCALING_FACTOR_G70_G71 Factor for converting values when G70/G71 is active
32000 MAX_AX_VELO Maximum axis velocity
32100 AX_MOTION_DIR Travel direction
32110 ENC_FEEDBACK_POL Sign actual value (feedback polarity)
32200 POSCTRL_GAIN Servo gain factor (Kv)
32210 POSCTRL_INTEGR_TIME Integrator time position controller
32220 POSCTRL_INTEGR_ENABLE Activation of integral component of position controller
32250 RATED_OUTVAL Rated output voltage
32260 RATED_VELO Rated motor speed
32450 BACKLASH Backlash
32500 FRICT_COMP_ENABLE Friction compensation active
32610 VELO_FFW_WEIGHT Feedforward control factor for speed feedforward
control
32620 FFW_MODE Feedforward control mode
32630 FFW_ACTIVATION_MODE Activate feedforward control from program
32650 AX_INERTIA Moment of inertia for torque feedforward control
G2: Velocities, setpoint / actual value systems, closed-loop control
7.7 Data lists
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 395
Number Identifier: $MA_ Description
32652 AX_MASS Axis mass for torque precontrol
32711 CEC_SCALING_SYSTEM_METRIC System of measurement of sag compensation
32800 EQUIV_CURRCTRL_TIME Equivalent time constant current control loop for
feedforward control
32810 EQUIV_SPEEDCTRL_TIME Equivalent time constant speed control loop for
feedforward control
32900 DYN_MATCH_ENABLE Dynamics matching
32910 DYN_MATCH_TIME [n] Time constant for dynamic response adaptation
32930 POSCTRL_OUT_FILTER_ENABLE Activation of low-pass filter at position controller
output
33000 FIPO_TYPE Fine interpolator type
34320 ENC_INVERS[n] Length measuring system is inverse
35100 SPIND_VELO_LIMIT Maximum spindle speed
36200 AX_VELO_LIMIT [n] Threshold value for velocity monitoring
36210 CTRLOUT_LIMIT[n] Maximum speed setpoint
36400 AX_JERK_ENABLE Axial jerk limitation
36410 AX_JERK_TIME Time constant for axial jerk filter
36500 ENC_CHANGE_TOL Max. tolerance for position actual-value switchover
36510 ENC_DIFF_TOL Measuring system synchronism tolerance
36700 ENC_COMP_ENABLE[n] Interpolatory compensation
G2: Velocities, setpoint / actual value systems, closed-loop control
7.7 Data lists
Basic Functions
396 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 397
H2: Auxiliary function outputs to PLC
8
8.1 Brief description
8.1.1 Function
Auxiliary functions permit activation of the system functions of the NCK and PLC user
functions. Auxiliary functions can be programmed in:
Parts programs
Synchronized actions
User cycles
References:
For detailed information on using auxiliary function outputs in synchronized actions, refer to
the Function Manual, Synchronized Actions.
Predefined auxiliary functions
Predefined auxiliary functions activate system functions. The auxiliary function is also output
to the NC/PLC interface.
The following auxiliary functions are predefined:
Type Function Example Meaning
M Special function M30 End of program
S Spindle function S100 Spindle speed 100 (e.g. rpm)
T Tool number T3 Tool number 3
D, DL Tool offset D1 Tool cutting edge number 1
F Feed F1000 Feedrate 1000 (e.g. mm/min)
User-defined auxiliary functions
User-defined auxiliary functions are either extended predefined auxiliary functions or user-
specific auxiliary functions.
Extension of predefined auxiliary functions
Extension of predefined auxiliary functions refers to the "address extensions" parameter. The
address extension defines the number of the spindle to which the auxiliary function applies.
The spindle function M3 (spindle right) is predefined for the master spindle of a channel. If a
2nd spindle is assigned to a channel, a corresponding user-defined auxiliary function must
be defined that extends the predefined auxiliary function.
H2: Auxiliary function outputs to PLC
8.1 Brief description
Basic Functions
398 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Type Function Example Meaning
M Special function M2=3 2nd spindle: Spindle right
S Spindle function S2=100 2nd spindle: Spindle speed = 100 (e.g. rpm)
T Tool number T2=3
User-specific auxiliary functions
User-specific auxiliary functions do not activate system functions. User-specific auxiliary
functions are output to the NC/PLC interface only. The functionality of the auxiliary functions
must be implemented by the machine manufacturer / user in the PLC user program.
Type Function Example Meaning
H
1)
Auxiliary function H2=5 User-specific function
1)
Recommendation
8.1.2 Definition of an auxiliary function
An auxiliary function is defined by the following parameters:
Type, address extension, and value
The 3 parameters are output to the NC/PLC interface.
Output behavior
The auxiliary function-specific output behavior defines for how long an auxiliary function is
output to the NC/PLC interface and when it is output relative to the traversing motion
programmed in the same parts program block.
Group assignment
An auxiliary function can be assigned to a particular auxiliary function group. The output
behavior can be defined separately for each auxiliary function group. This becomes
active if no auxiliary function-specific output behavior has been defined. Group
membership also affects output of an auxiliary function after block search.
References:
For more detailed information on auxiliary function output to the NC/PLC interface, see:
Function Manual, Basic Functions, Basic PLC Program (P3)
H2: Auxiliary function outputs to PLC
8.1 Brief description
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 399
8.1.3 Overview of auxiliary functions
M functions
M (special function)
Address extension Value
Value range Meaning Value range Type Meaning Number
8)
0 (implicit) - - - up to 8 digits INT Function 5
Remarks:
- - -
Value range Meaning Value range Type Meaning Number
8)
1 ... 20 Spindle number 1 ... 99 INT Function 5
Remarks:
Example: "Spindle stop" for 2nd spindle of the channel: M2=5.
The master spindle of the channel is addressed if no an address extension is specified.
Value range Meaning Value range Type Meaning Number
8)
0 ... 99 Any 2147483647 INT Function 5
Remarks:
User-specific M function
8)
See "Meaning of footnotes" at the end of the overview.
Application
Controlling machine functions in synchronism with the part program.
Further information
The following M functions have a predefined meaning: M0, M1, M2, M17, M30
M3, M4, M5, M6, M19, M70, M40, M41, M42, M43, M44, M45.
For each M function (M0 - M99), there is a dynamic signal at the NC/PLC interface that
indicates the validity (new output) of the M function. In addition, 64 additional signals can
be assigned for user M functions.
References:
Function Manual Basic Functions; PLC Basic Program (P3)
For subprograms, machine data can be used to set whether an output of the M function
should be undertaken for the end of the part program M17, M2 and M30 to the PLC:
MD20800 $MC_SPF_END_TO_VDI (subprogram end to PLC)
For the predefined M function M40 M45, only limited redefinition of the output
specification is possible.
H2: Auxiliary function outputs to PLC
8.1 Brief description
Basic Functions
400 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The predefined auxiliary functions M0, M1, M17, M30, M6, M4, M5 cannot be redefined.
M function-specific machine data:
MD10800 $MN_EXTERN_CHAN_SYNC_M_NO_MIN
MD10802 $MN_EXTERN_CHAN_SYNC_M_NO_MAX
MD10804 $MN_EXTERN_M_NO_SET_INT
MD10806 $MN_EXTERN_M_NO_DISABLE_INT
MD10814 $MN_EXTERN_M_NO_MAC_CYCLE
MD10815 $MN_EXTERN_M_NO_MAC_CYCLE_NAME
MD20094 $MC_SPIND_RIGID_TAPPING_M_NR
MD20095 $MC_EXTERN_RIGID_TAPPING_M_NR
MD20096 $MC_T_M_ADDRESS_EXT_IS_SPINO
MD22200 $MC_AUXFU_M_SYNC_TYPE
MD22530 $MC_TOCARR_CHANGE_M_CODE
MD22532 $MC_GEOAX_CHANGE_M_CODE
MD22534 $MC_TRAFO_CHANGE_M_CODE
MD22560 $MC_TOOL_CHANGE_M_CODE
S functions
S (spindle function)
Address extension Value
Value range Meaning Value range Type Meaning Number
8)
0 ... 20 Spindle number
5)
0 ... 3.4028 exp38
3)
REAL Spindle speed 3
Remarks:
The master spindle of the channel is addressed if no an address extension is specified.
3)
,
5)
,
8)
See "Meaning of footnotes" at the end of the overview.
Application
Spindle speed.
Further information
S functions are assigned to auxiliary function group 3 by default.
Without an address extension, the S functions refer to the master spindle of the channel.
S function-specific machine data:
MD22210 $MC_AUXFU_S_SYNC_TYPE (Output time of the S functions)
H2: Auxiliary function outputs to PLC
8.1 Brief description
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 401
H functions
H (aux. function)
Address extension Value
Value range Meaning Value range Type Meaning Number
8)
- 2147483648 ...
+ 2147483647
INT 0 ... 99 Any
0 ... 3.4028 exp38
2) 3) 4)
REAL
Any 3
Remarks:
The functionality must be implemented by the user in the PLC user program.
2) 3) 4) 8)
See "Meaning of footnotes" at the end of the overview.
Application
User-specific auxiliary functions.
Further information
H function-specific machine data:
MD22110 $MC_AUXFU_H_TYPE_INT (type of H-auxiliary function is an integer)
MD22230 $MC_AUXFU_H_SYNC_TYPE (Output time of the H functions)
T functions
T (tool number)
5) 6)
Address extension Value
Value range Meaning Value range Type Meaning Number
8)
1 ... 12 Spindle number
(with active tool
management)
0 ... 32000
(also symbolic tool names for
active tool management)
INT Selection of the tool 1
Remarks:
Tool names are not output to the PLC.
1)
1) 5) 6) 8)
See "Meaning of footnotes" at the end of the overview.
Application
Tool selection.
H2: Auxiliary function outputs to PLC
8.1 Brief description
Basic Functions
402 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Further information
Identification of the tools, optionally via tool number or location number.
References:
Function Manual, Tool Management
Function Manual, Basic Functions; Tool Offset (W1)
When T0 is selected, the current tool is removed from the tool holder but not replaced by
a new tool (default setting).
T function-specific machine data:
MD22220 $MC_AUXFU_T_SYNC_TYPE (Output time of the T functions)
D functions
D (tool offset)
Address extension Value
Value range Meaning Value range Type Meaning Number
8)
- - - - - - 0 ... 9 INT Selection of the tool
offset
1
Remarks:
Clearing the tool offset with D0. Default is D1.
8)
See "Meaning of footnotes" at the end of the overview.
Application
Selection of the tool offset.
Further information
Initial setting: D1
After a tool change, the default tool cut can be parameterized via:
MD20270 $MC_CUTTING_EDGE_DEFAULT (Basic position of the tool cut without
programming)
Deselection of the tool offset: D0
D function-specific machine data:
MD22250 $MC_AUXFU_D_SYNC_TYPE (Output time of the D functions)
DL functions
DL (additive tool offset)
Address extension Value
Value range Meaning Value range Type Meaning Number
8)
H2: Auxiliary function outputs to PLC
8.1 Brief description
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 403
DL (additive tool offset)
- - - - - - 0 ... 6 INT Selection of the
additive tool offset
1
Remarks:
The additive tool offset selected with DL refers to the active D number.
8)
See "Meaning of footnotes" at the end of the overview.
Application
Selection of the additive tool offset with reference to an active tool offset.
Further information
Initial setting: DL = 0
DL values cannot be output to the PLC via synchronized actions.
Default setting of the additive tool offset without an active DL function:
MD20272 $MC_SUMCORR_DEFAULT (basic setting of the additive offset without a
program)
Deselection of the additive tool offset: DL = 0
DL function-specific machine data:
MD22252 $MC_AUXFU_DL_SYNC_TYPE (output time DL functions)
F functions
F (feedrate)
Address extension Value
Value range Meaning Value range Type Meaning Number
8)
- - - - - - 0.001 ... 999 999.999 REAL Path feed 6
Remarks:
- - -
8)
See "Meaning of footnotes" at the end of the overview.
Application
Path velocity.
Further information
F function-specific machine data:
MD22240 $MC_AUXFU_F_SYNC_TYPE (output time of F functions)
FA functions
FA (axial feedrate)
Address extension Value
H2: Auxiliary function outputs to PLC
8.1 Brief description
Basic Functions
404 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
FA (axial feedrate)
Value range Meaning Value range Type Meaning Number
8)
1 - 31 Axis number 0.001 ... 999 999.999 REAL Axial feedrate 6
Remarks:
- - -
8)
See "Meaning of footnotes" at the end of the overview.
Application
Axial velocity.
Further information
F function-specific machine data:
MD22240 $MC_AUXFU_F_SYNC_TYPE (output time of F functions)
Meaning of footnotes
1)
If tool management is active, neither a T change signal nor a T word is output to the
interface (channel).
2)
The type for the values can be selected by the user via MD22110
$MC_AUXFU_H_TYPE_INT.
3)
Because of the limited display options on the operator panel screens, the REAL type
values displayed are restricted to:
999 999 999.9999 to 999 999 999.9999
The NC calculates internally but with complete accuracy.
4)
The REAL values are rounded and output to the PLC when setting the machine data:
MD22110 $MC_AUXFU_H_TYPE_INT = 1 (type of H-auxiliary functions is an integer)
The PLC user program must interpret the value transferred according to the machine
data setting.
5)
If the tool management is active, the meaning of the address extension can be
parameterized. Address extension = 0 means the value must be replaced by that of the
master spindle number, i.e. it is equivalent to not programming the address extension.
Auxiliary functions M19 "Position spindle" collected during a block search are not output
to the PLC.
6)
M6: Value range of the address extension:
- without tool management: 0 ... 99
- with tool management: 0 ... maximum spindle number
0: to be replaced by the value of the master spindle number or master tool holder
7)
If tool management is active, the auxiliary function M6 "Tool change" can only be
programmed once in a part program block, irrespective the address extensions that are
programmed.
8)
Maximum number of auxiliary functions per part program block.
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 405
8.2 Predefined auxiliary functions
Function
Every pre-defined auxiliary function is assigned to a system function and cannot be changed.
If a pre-defined auxiliary function is programmed in a part program/cycle, then this is output
to the PLC via the NC/PLC interface and the corresponding system function is executed in
the NCK.
Definition of a predefined auxiliary function
The parameters of the predefined auxiliary function are stored in machine data and can be
changed in some cases. All machine data, which are assigned to an auxiliary function, have
the same index <n>.
MD22040 $MC_AUXFU_PREDEF_GROUP[<n>] (group assignment of predefined
auxiliary functions)
MD22050 $MC_AUXFU_PREDEF_TYPE[<n>] (type of predefined auxiliary functions)
MD22060 $MC_AUXFU_PREDEF_EXTENSION[<n>] (address extension for predefined
auxiliary functions)
MD22070 $MC_AUXFU_PREDEF_VALUE[<n>] (value of predefined auxiliary functions)
MD22080 $MC_AUXFU_PREDEF_SPEC[<n>] (output behavior of predefined auxiliary
functions)
8.2.1 Overview: Predefined auxiliary functions
Significance of the parameters listed in the following tables:
Parameter Meaning
Index <n> Machine data index of the parameters of an auxiliary function
Type MD22050 $MC_AUXFU_PREDEF_TYPE[<n>]
Address extension MD22060 $MC_AUXFU_PREDEF_EXTENSION[<n>]
Value MD22070 $MC_AUXFU_PREDEF_VALUE[<n>]
Group MD22040 $MC_AUXFU_PREDEF_GROUP[<n>]
Predefined auxiliary functions
General auxiliary functions, Part 1
System function Index <n> Type Address
extension
Value Group
Stop 0 M 0 0 1
Conditional stop 1 M 0 1 1
2 M 0 2 1
3 M 0 17 1
End of subroutine
4 M 0 30 1
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
406 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
General auxiliary functions, Part 1
System function Index <n> Type Address
extension
Value Group
Tool change 5 M (0) 6
1)
(1)
Spindle-specific auxiliary functions, spindle 1
System function Index <n> Type Address
extension
Value Group
Spindle right 6 M 1 3 (2)
Spindle left 7 M 1 4 (2)
Spindle stop 8 M 1 5 (2)
Spindle positioning 9 M 1 19 (2)
Axis mode 10 M 1 70
2)
(2)
Automatic gear stage 11 M 1 40 (4)
Gear stage 1 12 M 1 41 (4)
Gear stage 2 13 M 1 42 (4)
Gear stage 3 14 M 1 43 (4)
Gear stage 4 15 M 1 44 (4)
Gear stage 5 16 M 1 45 (4)
Spindle speed 17 S 1 -1 (3)
General auxiliary functions, Part 2
System function Index <n> Type Address
extension
Value Group
Feed 18 F 0 -1 (1)
Cutting edge selection 19 D 0 -1 (1)
DL 20 L 0 -1 (1)
Tool selection 21 T (0) -1 (1)
Stop (associated) 22 M 0 -1
3)
1
Conditional stop (associated) 23 M 0 -1
4)
1
End of subroutine 24 M 0 -1
5)
1
Nibbling 25 M 0 20
6)
(10)
Nibbling 26 M 0 23
6)
(10)
Nibbling 27 M 0 22
6)
(11)
Nibbling 28 M 0 25
6)
(11)
Nibbling 29 M 0 26
6)
(12)
Nibbling 30 M 0 122
6)
(11)
Nibbling 31 M 0 125
6)
(11)
Nibbling 32 M 0 27
6)
(12)
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 407
Spindle-specific auxiliary functions, spindle 2
System function Index <n> Type Address
extension
Value Group
Spindle right 33 M 2 3 (72)
Spindle left 34 M 2 4 (72)
Spindle stop 35 M 2 5 (72)
Spindle positioning 36 M 2 19 (72)
Axis mode 37 M 2 70
2)
(72)
Automatic gear stage 38 M 2 40 (74)
Gear stage 1 39 M 2 41 (74)
Gear stage 2 40 M 2 42 (74)
Gear stage 3 41 M 2 43 (74)
Gear stage 4 42 M 2 44 (74)
Gear stage 5 43 M 2 45 (74)
Spindle speed 44 S 2 -1 (73)
Spindle-specific auxiliary functions, spindle 3
System function Index <n> Type Address
extension
Value Group
Spindle right 45 M 3 3 (75)
Spindle left 46 M 3 4 (75)
Spindle stop 47 M 3 5 (75)
Spindle positioning 48 M 3 19 (75)
Axis mode 49 M 3 70
2)
(75)
Automatic gear stage 50 M 3 40 (77)
Gear stage 1 51 M 3 41 (77)
Gear stage 2 52 M 3 42 (77)
Gear stage 3 53 M 3 43 (77)
Gear stage 4 54 M 3 44 (77)
Gear stage 5 55 M 3 45 (77)
Spindle speed 56 S 3 -1 (76)
Spindle-specific auxiliary functions, spindle 4
System function Index <n> Type Address
extension
Value Group
Spindle right 57 M 4 3 (78)
Spindle left 58 M 4 4 (78)
Spindle stop 59 M 4 5 (78)
Spindle positioning 60 M 4 19 (78)
Axis mode 61 M 4 70
2)
(78)
Automatic gear stage 62 M 4 40 (80)
Gear stage 1 63 M 4 41 (80)
Gear stage 2 64 M 4 42 (80)
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
408 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Spindle-specific auxiliary functions, spindle 4
System function Index <n> Type Address
extension
Value Group
Gear stage 3 65 M 4 43 (80)
Gear stage 4 66 M 4 44 (80)
Gear stage 5 67 M 4 45 (80)
Spindle speed 68 S 4 -1 (79)
Spindle-specific auxiliary functions, spindle 5
System function Index <n> Type Address
extension
Value Group
Spindle right 69 M 5 3 (81)
Spindle left 70 M 5 4 (81)
Spindle stop 71 M 5 5 (81)
Spindle positioning 72 M 5 19 (81)
Axis mode 73 M 5 70
2)
(81)
Automatic gear stage 74 M 5 40 (83)
Gear stage 1 75 M 5 41 (83)
Gear stage 2 76 M 5 42 (83)
Gear stage 3 77 M 5 43 (83)
Gear stage 4 78 M 5 44 (83)
Gear stage 5 79 M 5 45 (83)
Spindle speed 80 S 5 -1 (82)
Spindle-specific auxiliary functions, spindle 6
System function Index <n> Type Address
extension
Value Group
Spindle right 81 M 6 3 (84)
Spindle left 82 M 6 4 (84)
Spindle stop 83 M 6 5 (84)
Spindle positioning 84 M 6 19 (84)
Axis mode 85 M 6 70
2)
(84)
Automatic gear stage 86 M 6 40 (86)
Gear stage 1 87 M 6 41 (86)
Gear stage 2 88 M 6 42 (86)
Gear stage 3 89 M 6 43 (86)
Gear stage 4 90 M 6 44 (86)
Gear stage 5 91 M 6 45 (86)
Spindle speed 92 S 6 -1 (85)
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 409
Spindle-specific auxiliary functions, spindle 7
System function Index <n> Type Address
extension
Value Group
Spindle right 93 M 7 3 (87)
Spindle left 94 M 7 4 (87)
Spindle stop 95 M 7 5 (87)
Spindle positioning 96 M 7 19 (87)
Axis mode 97 M 7 70
2)
(87)
Automatic gear stage 98 M 7 40 (89)
Gear stage 1 99 M 7 41 (89)
Gear stage 2 100 M 7 42 (89)
Gear stage 3 101 M 7 43 (89)
Gear stage 4 102 M 7 44 (89)
Gear stage 5 103 M 7 45 (89)
Spindle speed 104 S 7 -1 (88)
Spindle-specific auxiliary functions, spindle 8
System function Index <n> Type Address
extension
Value Group
Spindle right 105 M 8 3 (90)
Spindle left 106 M 8 4 (90)
Spindle stop 107 M 8 5 (90)
Spindle positioning 108 M 8 19 (90)
Axis mode 109 M 8 70
2)
(90)
Automatic gear stage 110 M 8 40 (92)
Gear stage 1 111 M 8 41 (92)
Gear stage 2 112 M 8 42 (92)
Gear stage 3 113 M 8 43 (92)
Gear stage 4 114 M 8 44 (92)
Gear stage 5 115 M 8 45 (92)
Spindle speed 116 S 8 -1 (91)
Spindle-specific auxiliary functions, spindle 9
System function Index <n> Type Address
extension
Value Group
Spindle right 117 M 9 3 (93)
Spindle left 118 M 9 4 (93)
Spindle stop 119 M 9 5 (93)
Spindle positioning 120 M 9 19 (93)
Axis mode 121 M 9 70
2)
(93)
Automatic gear stage 122 M 9 40 (95)
Gear stage 1 123 M 9 41 (95)
Gear stage 2 124 M 9 42 (95)
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
410 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Spindle-specific auxiliary functions, spindle 9
System function Index <n> Type Address
extension
Value Group
Gear stage 3 125 M 9 43 (95)
Gear stage 4 126 M 9 44 (95)
Gear stage 5 127 M 9 45 (95)
Spindle speed 128 S 9 -1 (94)
Spindle-specific auxiliary functions, spindle 10
System function Index <n> Type Address
extension
Value Group
Spindle right 129 M 10 3 (96)
Spindle left 130 M 10 4 (96)
Spindle stop 131 M 10 5 (96)
Spindle positioning 132 M 10 19 (96)
Axis mode 133 M 10 70
2)
(96)
Automatic gear stage 134 M 10 40 (98)
Gear stage 1 135 M 10 41 (98)
Gear stage 2 136 M 10 42 (98)
Gear stage 3 137 M 10 43 (98)
Gear stage 4 138 M 10 44 (98)
Gear stage 5 139 M 10 45 (98)
Spindle speed 140 S 10 -1 (97)
Spindle-specific auxiliary functions, spindle 11
System function Index <n> Type Address
extension
Value Group
Spindle right 141 M 11 3 (99)
Spindle left 142 M 11 4 (99)
Spindle stop 143 M 11 5 (99)
Spindle positioning 144 M 11 19 (99)
Axis mode 145 M 11 70
2)
(99)
Automatic gear stage 146 M 11 40 (101)
Gear stage 1 147 M 11 41 (101)
Gear stage 2 148 M 11 42 (101)
Gear stage 3 149 M 11 43 (101)
Gear stage 4 150 M 11 44 (101)
Gear stage 5 151 M 11 45 (101)
Spindle speed 152 S 11 -1 (100)
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 411
Spindle-specific auxiliary functions, spindle 12
System function Index <n> Type Address
extension
Value Group
Spindle right 153 M 11 3 (102)
Spindle left 154 M 12 4 (102)
Spindle stop 155 M 12 5 (102)
Spindle positioning 156 M 12 19 (102)
Axis mode 157 M 12 70
2)
(102)
Automatic gear stage 158 M 12 40 (104)
Gear stage 1 159 M 12 41 (104)
Gear stage 2 160 M 12 42 (104)
Gear stage 3 161 M 12 43 (104)
Gear stage 4 162 M 12 44 (104)
Gear stage 5 163 M 12 45 (104)
Spindle speed 164 S 12 -1 (103)
Spindle-specific auxiliary functions, spindle 13
System function Index <n> Type Address
extension
Value Group
Spindle right 165 M 13 3 (105)
Spindle left 166 M 13 4 (105)
Spindle stop 167 M 13 5 (105)
Spindle positioning 168 M 13 19 (105)
Axis mode 169 M 13 70
2)
(105)
Automatic gear stage 170 M 13 40 (107)
Gear stage 1 171 M 13 41 (107)
Gear stage 2 172 M 13 42 (107)
Gear stage 3 173 M 13 43 (107)
Gear stage 4 174 M 13 44 (107)
Gear stage 5 175 M 13 45 (107)
Spindle speed 176 S 13 -1 (106)
Spindle-specific auxiliary functions, spindle 14
System function Index <n> Type Address
extension
Value Group
Spindle right 177 M 14 3 (108)
Spindle left 178 M 14 4 (108)
Spindle stop 179 M 14 5 (108)
Spindle positioning 180 M 14 19 (108)
Axis mode 181 M 14 70
2)
(108)
Automatic gear stage 182 M 14 40 (110)
Gear stage 1 183 M 14 41 (110)
Gear stage 2 184 M 14 42 (110)
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
412 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Spindle-specific auxiliary functions, spindle 14
System function Index <n> Type Address
extension
Value Group
Gear stage 3 185 M 14 43 (110)
Gear stage 4 186 M 14 44 (110)
Gear stage 5 187 M 14 45 (110)
Spindle speed 188 S 14 -1 (109)
Spindle-specific auxiliary functions, spindle 15
System function Index <n> Type Address
extension
Value Group
Spindle right 189 M 15 3 (111)
Spindle left 190 M 15 4 (111)
Spindle stop 191 M 15 5 (111)
Spindle positioning 192 M 15 19 (111)
Axis mode 193 M 15 70
2)
(111)
Automatic gear stage 194 M 15 40 (113)
Gear stage 1 195 M 15 41 (113)
Gear stage 2 196 M 15 42 (113)
Gear stage 3 197 M 15 43 (113)
Gear stage 4 198 M 15 44 (113)
Gear stage 5 199 M 15 45 (113)
Spindle speed 200 S 15 -1 (112)
Spindle-specific auxiliary functions, spindle 16
System function Index <n> Type Address
extension
Value Group
Spindle right 201 M 16 3 (114)
Spindle left 202 M 16 4 (114)
Spindle stop 203 M 16 5 (114)
Spindle positioning 204 M 16 19 (114)
Axis mode 205 M 16 70
2)
(114)
Automatic gear stage 206 M 16 40 (116)
Gear stage 1 207 M 16 41 (116)
Gear stage 2 208 M 16 42 (116)
Gear stage 3 209 M 16 43 (116)
Gear stage 4 210 M 16 44 (116)
Gear stage 5 211 M 16 45 (116)
Spindle speed 212 S 16 -1 (115)
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 413
Spindle-specific auxiliary functions, spindle 17
System function Index <n> Type Address
extension
Value Group
Spindle right 213 M 17 3 (117)
Spindle left 214 M 17 4 (117)
Spindle stop 215 M 17 5 (117)
Spindle positioning 216 M 17 19 (117)
Axis mode 217 M 17 70
2)
(117)
Automatic gear stage 218 M 17 40 (119)
Gear stage 1 219 M 17 41 (119)
Gear stage 2 220 M 17 42 (119)
Gear stage 3 221 M 17 43 (119)
Gear stage 4 222 M 17 44 (119)
Gear stage 5 223 M 17 45 (119)
Spindle speed 224 S 17 -1 (118)
Spindle-specific auxiliary functions, spindle 18
System function Index <n> Type Address
extension
Value Group
Spindle right 225 M 18 3 (120)
Spindle left 226 M 18 4 (120)
Spindle stop 227 M 18 5 (120)
Spindle positioning 228 M 18 19 (120)
Axis mode 229 M 18 70
2)
(120)
Automatic gear stage 230 M 18 40 (122)
Gear stage 1 231 M 18 41 (122)
Gear stage 2 232 M 18 42 (122)
Gear stage 3 233 M 18 43 (122)
Gear stage 4 234 M 18 44 (122)
Gear stage 5 235 M 18 45 (122)
Spindle speed 236 S 18 -1 (121)
Spindle-specific auxiliary functions, spindle 19
System function Index <n> Type Address
extension
Value Group
Spindle right 237 M 19 3 (123)
Spindle left 238 M 19 4 (123)
Spindle stop 239 M 19 5 (123)
Spindle positioning 240 M 19 19 (123)
Axis mode 241 M 19 70
2)
(123)
Automatic gear stage 242 M 19 40 (125)
Gear stage 1 243 M 19 41 (125)
Gear stage 2 244 M 19 42 (125)
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
414 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Spindle-specific auxiliary functions, spindle 19
System function Index <n> Type Address
extension
Value Group
Gear stage 3 245 M 19 43 (125)
Gear stage 4 246 M 19 44 (125)
Gear stage 5 247 M 19 45 (125)
Spindle speed 248 S 19 -1 (124)
Spindle-specific auxiliary functions, spindle 20
System function Index <n> Type Address
extension
Value Group
Spindle right 249 M 20 3 (126)
Spindle left 250 M 20 4 (126)
Spindle stop 251 M 20 5 (126)
Spindle positioning 252 M 20 19 (126)
Axis mode 253 M 20 70
2)
(126)
Automatic gear stage 254 M 20 40 (128)
Gear stage 1 255 M 20 41 (128)
Gear stage 2 256 M 20 42 (128)
Gear stage 3 257 M 20 43 (128)
Gear stage 4 258 M 20 44 (128)
Gear stage 5 259 M 20 45 (128)
Spindle speed 260 S 20 -1 (127)
Tool holder-specific auxiliary functions, T auxiliary functions
System function Index <n> Type Address
extension
Value Group
Tool selection 261 T 1 -1 129
Tool selection 262 T 2 -1 130
Tool selection 263 T 3 -1 131
Tool selection 264 T 4 -1 132
Tool selection 265 T 5 -1 133
Tool selection 266 T 6 -1 134
Tool selection 267 T 7 -1 135
Tool selection 268 T 8 -1 136
Tool selection 269 T 9 -1 137
Tool selection 270 T 10 -1 138
Tool selection 271 T 11 -1 139
Tool selection 272 T 12 -1 140
Tool selection 273 T 13 -1 141
Tool selection 274 T 14 -1 142
Tool selection 275 T 15 -1 143
Tool selection 276 T 16 -1 144
Tool selection 277 T 17 -1 145
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 415
Tool holder-specific auxiliary functions, T auxiliary functions
System function Index <n> Type Address
extension
Value Group
Tool selection 278 T 18 -1 146
Tool selection 279 T 19 -1 147
Tool selection 280 T 20 -1 148
Tool holder-specific auxiliary functions, M6 auxiliary functions
System function Index <n> Type Address
extension
Value Group
Tool change 281 M 1 6
1)
149
Tool change 282 M 2 6
1)
150
Tool change 283 M 3 6
1)
151
Tool change 284 M 4 6
1)
152
Tool change 285 M 5 6
1)
153
Tool change 286 M 6 6
1)
154
Tool change 287 M 7 6
1)
155
Tool change 288 M 8 6
1)
156
Tool change 289 M 9 6
1)
157
Tool change 290 M 10 6
1)
158
Tool change 291 M 11 6
1)
159
Tool change 292 M 12 6
1)
160
Tool change 293 M 13 6
1)
161
Tool change 294 M 14 6
1)
162
Tool change 295 M 15 6
1)
163
Tool change 296 M 16 6
1)
164
Tool change 297 M 17 6
1)
165
Tool change 298 M 18 6
1)
166
Tool change 299 M 19 6
1)
167
Tool change 300 M 20 6
1)
168
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
416 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
( ) The value can be changed.
1)
The value is depends on the machine data:
MD22560 $MC_TOOL_CHANGE_M_MODE (M function for tool change)
2)
The value can be preset with a different value using the following machine data:
MD20095 $MC_EXTERN_RIGID_TAPPING_M_NR (M function for switching over to
the controlled axis mode (ext. mode))
MD20094 $MC_SPIND_RIGID_TAPPING_M_NR (M function for switching over to
controlled axis mode)
Note
The value 70 is always output to the PLC.
3)
The value is set using machine data:
MD22254 $MC_AUXFU_ASSOC_M0_VALUE (additional M function for program stop)
4)
The value is set using machine data:
MD22256 $MC_AUXFU_ASSOC_M1_VALUE (additional M function for conditional
stop)
5)
The value is set using machine data:
MD10714 $MN_M_NO_FCT_EOP (M function for spindle active after reset)
6)
The value is set using machine data:
MD26008 $MC_NIBBLE_PUNCH_CODE (definition of M functions)
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 417
8.2.2 Overview: Output behavior
Significance of the parameters listed in the following table:
Parameter Meaning
Index <n> Machine data index of the parameters of an auxiliary function
Output behavior MD22080 $MC_AUXFU_PREDEF_SPEC[<n>], Bits 0 ... 18
Bits 19 ... 31: Reserved
Output behavior of the predefined auxiliary functions
Index <n>
Output behavior, bit
System function
18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Stop 0 0 0 0 (0) 0 0 0 0 (0) 0 0 1 0 0 0 0 0 (0) (1)
Conditional stop 1 0 0 0 (0) 0 0 0 0 (0) 0 0 1 0 0 0 0 0 (0) (1)
2 0 0 0 (0) 0 0 0 0 (0) 0 0 1 0 0 0 0 0 (0) (1)
3 0 0 0 (0) 0 0 0 0 (0) 0 0 1 0 0 0 0 0 (0) (1)
End of subroutine
4 0 0 0 (0) 0 0 0 0 (0) 0 0 1 0 0 0 0 0 (0) (1)
Tool change 5 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Spindle right 6 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Spindle left 7 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Spindle stop 8 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Spindle positioning 9 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Axis mode 10 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Automatic gear stage 11 0 0 0 (0) 0 0 0 (0) (0) (0) (0) 0 0 1 (0) (0) (0) (0) (1)
Gear stage 1 12 0 0 0 (0) 0 0 0 (0) (0) (0) (0) 0 0 1 (0) (0) (0) (0) (1)
Gear stage 2 13 0 0 0 (0) 0 0 0 (0) (0) (0) (0) 0 0 1 (0) (0) (0) (0) (1)
Gear stage 3 14 0 0 0 (0) 0 0 0 (0) (0) (0) (0) 0 0 1 (0) (0) (0) (0) (1)
Gear stage 4 15 0 0 0 (0) 0 0 0 (0) (0) (0) (0) 0 0 1 (0) (0) (0) (0) (1)
Gear stage 5 16 0 0 0 (0) 0 0 0 (0) (0) (0) (0) 0 0 1 (0) (0) (0) (0) (1)
Spindle speed 17 0 0 0 (0) 0 0 0 (0) (0) (0) 0 (0) (1) (0) (0) (0) 0 (0) (1)
Feed 18 0 0 0 (0) 0 0 0 (0) (0) (0) 0 (0) (1) (0) 0 (1) 0 (0) (1)
Cutting edge selection 19 0 0 0 (0) 0 0 0 (0) (0) (0) 0 (0) (0) (1) 0 (0) 0 (0) (1)
DL 20 0 0 0 (0) 0 0 0 (0) (0) (0) 0 (0) (0) (1) 0 (0) 0 (0) (1)
Tool selection 21 0 0 0 (0) 0 0 0 (0) (0) (0) 0 (0) (0) (1) 0 (0) 0 (0) (1)
Stop (associated) 22 0 0 0 (0) 0 0 0 0 (0) 0 0 1 0 0 0 0 0 (0) (1)
Conditional stop
(associated)
23 0 0 0 (0) 0 0 0 0 (0) 0 0 1 0 0 0 0 0 (0) (1)
End of subroutine 24 0 0 0 (0) 0 0 0 0 (0) 0 0 1 0 0 0 0 0 (0) (1)
Nibbling 25 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (1) (0) 0 (0) (0) (0) (1)
Nibbling 26 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (1) (0) 0 (0) (0) (0) (1)
Nibbling 27 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (1) (0) 0 (0) (0) (0) (1)
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
418 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Index <n>
Output behavior, bit
System function
18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Nibbling 28 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (1) (0) 0 (0) (0) (0) (1)
Nibbling 29 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (1) (0) 0 (0) (0) (0) (1)
Nibbling 30 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (1) (0) 0 (0) (0) (0) (1)
Nibbling 31 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (1) (0) 0 (0) (0) (0) (1)
Nibbling 32 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (1) (0) 0 (0) (0) (0) (1)
( ) The value can be changed.
Significance of the bits
Bit Meaning
Acknowledgement "normal" after an OB1 cycle 0
An auxiliary function with normal acknowledgment is output to the NC/PLC interface at the beginning of the OB1
cycle. The auxiliary function-specific change signal indicates to the PLC user program that the auxiliary function is
valid.
The auxiliary function is acknowledged as soon as organization block OB1 has run once. This corresponds to a
complete PLC user cycle.
The auxiliary function with normal acknowledgment is output in synchronism with the part program block in which it
is programmed. If execution of the parts program block, e.g. path and/or positioning axis movements, is completed
before acknowledgment of the auxiliary function, the block change is delayed until after acknowledgment by the
PLC.
In continuous-path mode, a constant path velocity can be maintained in conjunction with an auxiliary function with
normal acknowledgment, if the auxiliary function is output by the PLC during the traversing motion and before
reaching the end of the block.
Acknowledgement "quick" with OB40 1
An auxiliary function with quick acknowledgment is output to the NC/PLC interface before the next OB1 cycle. The
auxiliary function-specific change signal indicates to the PLC user program that the auxiliary function is valid.
The auxiliary function is acknowledged immediately by the PLC basic program in the next OB40 cycle.
Acknowledgment of the auxiliary function is not confirmation that the corresponding PLC user function has been
executed. The auxiliary function is still executed in the OB1 cycle. Next output of the auxiliary functions to the PLC
is therefore not possible until after this OB1 cycle has run completely. This is noticeable in continuous-path mode
(drop in path velocity) especially if auxiliary functions with quick acknowledgment are output in several consecutive
part program blocks.
With auxiliary functions with quick acknowledgment, it cannot be guaranteed that the PLC user program will
respond in synchronism with the block.
Note
Parameterization of the output behavior of auxiliary functions as "quick auxiliary functions" is only possible in
conjunction with user-defined auxiliary functions.
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 419
Bit Meaning
No predefined auxiliary function
2
A predefined auxiliary function is treated like a user-defined auxiliary function with this setting. The auxiliary function
then no longer triggers the corresponding system function but is only output to the PLC.
Example:
Reconfiguration of the "Position spindle" auxiliary function (index 9) to a user-defined auxiliary function with normal
acknowledgment and output prior to the traversing motion.
MD22080 $MC_AUXFU_PREDEF_SPEC [ 9 ] = 'H25' (100101B)
No output to the PLC 3
The auxiliary function is not output to the PLC.
Spindle response after acknowledgement by the PLC 4
The associated system function is only executed after acknowledgment by the PLC.
Output prior to motion 5
The auxiliary function is output to the PLC before the traversing motions programmed in the part program block
(path and/or block-related positioning axis movements).
Output during motion 6
The auxiliary function is output to the PLC during the traversing motions programmed in the part program block
(path and/or block-related positioning axis movements).
Output at block end 7
The auxiliary function is output to the PLC after the traversing motions programmed in the part program block have
been completed (path and/or block-related positioning axis movements).
Not output after block search, types 1, 2, 4 8
Block search, types 1, 2, 4: The auxiliary function collected during the block search is not output.
Collection during block search with program test (type 5, SERUPRO) 9
For a block search with program test, the auxiliary function is collected group-specific in the following system
variables:
$AC_AUXFU_M_VALUE[<n>]
$AC_AUXFU_M_EXT[<n>]
$AC_AUXFU_M_STATE[<n>]
No output during block search with program test (type 5, SERUPRO) 10
For block search with program test, the auxiliary function is not output to the PLC.
Cross-channel auxiliary function (SERUPRO) 11
For block search with program test (SERUPRO), the help function is collected on a cross-channel basis in the
global list of the auxiliary functions.
Note
For each auxiliary function group, only the last auxiliary function of the group is always collected.
Output performed via synchronized action (read only) 12
The bit is set if the auxiliary function was output to the PLC via a synchronized action.
Implicit auxiliary function (read-only) 13
The bit is set if the auxiliary function was implicitly output to the PLC.
Active M01 (read only) 14
The bit is set if the auxiliary function, for active M01, was output to the PLC.
No output during positioning test run 15
During the run-in test, the auxiliary function is not output to the PLC.
16 Nibbling off
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
420 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Bit Meaning
17 Nibbling on
18 Nibbling
Note
In the case of auxiliary functions for which no output behavior has been defined, the
following default output behavior is active:
Bit 0 = 1: Output duration one OB1 cycle
Bit 7 = 1: Output at block end
8.2.3 Parameter assignment
8.2.3.1 Group assignment
The handling of the auxiliary functions for a block search is defined using the group
assignment of an auxiliary function. The 168 auxiliary function groups available are
subdivided into predefined and user-definable groups:
Predefined groups: 1 ... 4 10 ... 12 72 ... 168
User-defined groups: 5 ... 9 13 ... 71
Each predefined auxiliary function is assigned, as standard, to an auxiliary function group.
For most pre-defined auxiliary functions, this assignment can be changed using the following
machine data:
MD22040 $MC_AUXFU_PREDEF_GROUP[<n>] (group assignment of predefined auxiliary
functions)
If an auxiliary function is not assigned to any group, then a value of "0" should be entered
into the machine data.
For the pre-defined auxiliary functions with the following indices <n>, the group assignment
cannot be changed: 0, 1, 2, 3, 4, 22, 23, 24
Note
1st auxiliary function group and block search
Auxiliary functions of the 1st auxiliary function group are, for a block search, only collected,
but not output.
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 421
8.2.3.2 Type, address extension and value
An auxiliary function is programmed via the type, address extension, and value parameters
(see "Programming an auxiliary function (Page 436)").
Type
The identifier of an auxiliary function is defined via the "type," e.g.:
"M" For additional function
"S" for spindle function
"F" for feed
The setting is done via the following machine data:
MD22050 $MC_AUXFU_PREDEF_TYPE[<n>] (type of predefined auxiliary functions)
Note
The "type" cannot be changed for predefined auxiliary functions.
Address extension
The "address extension" of an auxiliary function is for addressing different components of the
same type. In the case of predefined auxiliary functions, the value of the "address extension"
is the spindle number to which the auxiliary function applies.
The setting is done via the following machine data:
MD22060 $MC_AUXFU_PREDEF_EXTENSION[<n>] (address extension for predefined
auxiliary functions)
Grouping together auxiliary functions
To assign an auxiliary function for all spindles of a channel to the same auxiliary function
group, the value "1" is entered for the "address extension" parameter.
Example:
The auxiliary function M3 (machine data index = 6) is assigned to the second auxiliary
function group for all the channel's spindles.
MD22040 $MC_AUXFU_PREDEF_GROUP[ 6 ] = 2
MD22050 $MC_AUXFU_PREDEF_TYPE[ 6 ] = "M"
MD22060 $MC_AUXFU_PREDEF_EXTENSION[ 6 ] = -1
MD22070 $MC_AUXFU_PREDEF_VALUE[ 6 ] = 3
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
422 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Value
The parameters "value" and "type" define the meaning of an auxiliary function, i.e. the
system function that is activated on the basis of this auxiliary function.
The "value" of an auxiliary function is defined in the machine data:
MD22070 $MC_AUXFU_PREDEF_VALUE[<n>] (value of predefined auxiliary functions)
Note
The "value" cannot be changed for a predefined auxiliary function. For some predefined
auxiliary functions, the "value" can be reconfigured via additional machine data (see
"Associated auxiliary functions (Page 431)").
8.2.3.3 Output behavior
Parameter "Output behavior" defines when the predefined auxiliary function is output to the
NC/PLC interface and when it is acknowledged by the PLC.
The setting is done via the following machine data:
MD22080 $MC_AUXFU_PREDEF_SPEC[<n>] (output behavior of predefined auxiliary
functions)
Output behavior relative to motion
Output prior to motion
The traversing motions (path and/or block-related positioning axis movements) of the
previous part program block end with an exact stop.
The auxiliary functions are output at the beginning of the current parts program block.
The traversing motion of the actual part program block (path and/or positioning axis
motion) is only started after acknowledgment of the auxiliary functions by the PLC:
Output duration one OB1 cycle (normal acknowledgment): after one OB1 cycle
Output duration one OB40 cycle (quick acknowledgment): after one OB40 cycle
Output during motion
The auxiliary functions are output at the beginning of the traversing motions (path and/or
positioning axis movements).
The path velocity of the current parts program block is reduced so that the time to the end
of the block is greater than the time to acknowledgment of the auxiliary functions by the
PLC.
Output duration one OB1 cycle (normal acknowledgment): one OB1 cycle
Output duration one OB40 cycle (quick acknowledgment): one OB40 cycle
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 423
Output after motion
The traversing motions (path and/or block-related positioning axis movements) of the
current part program block end with an exact stop.
The auxiliary functions are output after completion of the traversing motions.
The block change is performed after acknowledgment of the auxiliary functions by the
PLC:
Output duration one OB1 cycle (normal acknowledgment): after one OB1 cycle
Output duration one OB40 cycle (quick acknowledgment): after one OB40 cycle
Examples of different output behavior
The following figures illustrate the differing behavior regarding:
Output and acknowledgment of the auxiliary function
Spindle response (speed change)
Traverse movement (velocity change)
The binary values specified in the diagrams under "Output behavior" refer to the
parameterized output behavior (MD22080).
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
424 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
M3
t
v
M3
t
v
M3
t
v
M3
t
v
Axis motion
Quit
Output
Block change
Spindle
response
Axis motion
Quit Output
Block change
Spindle
response
Axis motion
Quit Output
Block
change
Spindle
response
Axis motion
Quit Output
Block change
Spindle
response
M3 S500 X10 ; Output option
0010 0001
M3 S500 X10 ; Output option
0011 0001
M3 S500 X10 ; Output option
0100 0001
M3 S500 X10 ; Output option
0101 0001
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 425
Axis motion
Block change
Quit Output
Spindle
response
Axis motion
Block change
Quit Output
Spindle
response
Axis motion
Quit Output
Block change
Spindle
response
Axis motion
Block change
Quit
Output
Default setting
Default setting
Axis motion
Block change
Quit
Output
Spindle
response
Default setting
Spindle
response
M5 X10 ;
Output option 1001 0001
M5 X10 ;
Output option 1000 0001
M3 S500 X10 ;
Output option 0011 0001
M5 X10 ;
Output option 0010 0001
M3 S500 X10 ;
Output option 0011 0001
M5
t
v
M5
t
v
M3
t
v
M5
v
M4
t
v
t
H2: Auxiliary function outputs to PLC
8.2 Predefined auxiliary functions
Basic Functions
426 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Axis movement
Block change
Output
Spindle response
Default setting
Axis movement
Block change
Output
Spindle response
Default setting
Axis movement
Output
Block change
Default setting
Spindle response
Output behavior 0011 0001
Output behavior 0100 0001
Output behavior 0010 0001
Ack
Ack
Ack
t
t
t
v
v
v
M70
M19
M19 X10 ;
M3 S1000 X10 ;
M70 X10 ;
S1000
H2: Auxiliary function outputs to PLC
8.3 User-defined auxiliary functions
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 427
8.3 User-defined auxiliary functions
There are two uses for user-defined auxiliary functions:
Extension of predefined auxiliary functions
User-specific auxiliary functions
Extension of predefined auxiliary functions
Because there is only one set of machine data for the predefined auxiliary functions, they
can only ever be used to address one spindle of the channel. To address further spindles,
user-defined auxiliary functions must be parameterized to supplement the predefined
auxiliary functions.
Extension of predefined auxiliary functions refers to the "address extensions" parameter. The
number of the spindle that the auxiliary function refers to is entered in the "address
extension" parameter.
The relevant predefined auxiliary functions can be extended for the following system
functions:
Type
Address extension
1)
System function
Value
Tool change M 1 6
Spindle right M 1 3
Spindle left M 1 4
Spindle stop M 1 5
Position spindle M 1 19
Axis mode M 1 70
Automatic gear stage M 1 40
Gear stage 1 M 1 41
Gear stage 2 M 1 42
Gear stage 3 M 1 43
Gear stage 4 M 1 44
Gear stage 5 M 1 45
Spindle speed S 1 -1
Tool selection T 1 -1
1)
Address extension = 1 is the default value used in the auxiliary functions predefined in the
machine data
H2: Auxiliary function outputs to PLC
8.3 User-defined auxiliary functions
Basic Functions
428 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Example:
Extension of the predefined auxiliary function for the system function "spindle right" for the
second and third spindle of the channel.
Auxiliary function "spindle right" for the second spindle of the channel:
MD22010 $MC_AUXFU_ASSIGN_TYPE[ n ] = "M"
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[ n ] = 2
MD22030 $MC_AUXFU_ ASSIGN_VALUE[ n ] = 3
Auxiliary function "spindle right" for the third spindle of the channel:
MD22010 $MC_AUXFU_ ASSIGN_TYPE[ m ] = "M"
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[ m ] = 3
MD22030 $MC_AUXFU_ ASSIGN_VALUE[ m ] = 3
User-specific auxiliary functions
User-specific auxiliary functions have the following characteristics:
User-specific auxiliary functions only activate user functions.
No system functions can be activated by user-specific auxiliary functions.
A user-specific auxiliary function is output to the PLC according to the parameterized
output behavior.
The functionality of a user-specific auxiliary function is implemented by the machine
manufacturer/user in the PLC user program.
8.3.1 Parameter assignment
8.3.1.1 Maximum number of user-defined auxiliary functions
The maximum number of user-defined auxiliary function per channel can be parameterized
via the machine data:
MD11100 $MN_AUXFU_MAXNUM_GROUP_ASSIGN (maximum number of user-defined
auxiliary functions)
H2: Auxiliary function outputs to PLC
8.3 User-defined auxiliary functions
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 429
8.3.1.2 Group assignment
The handling of the auxiliary functions for a block search is defined using the group
assignment of an auxiliary function. The 168 auxiliary function groups available are
subdivided into predefined and user-definable groups:
Predefined groups: 1 ... 4 10 ... 12 72 ... 168
User-defined groups: 5 ... 9 13 ... 71
Every user-defined auxiliary function is assigned as standard to the 1st auxiliary function
group. The assignment can be changed using the following machine data:
MD22000 $MC_AUXFU_ASSIGN_GROUP[<n>] (group assignment of user-defined auxiliary
functions)
If an auxiliary function is not assigned to any group, then a value of "0" should be entered
into the machine data.
Note
1st auxiliary function group and block search
Auxiliary functions of the 1st auxiliary function group are, for a block search, only collected,
but not output.
8.3.1.3 Type, address extension and value
An auxiliary function is programmed via the type, address extension, and value parameters
(see "Programming an auxiliary function (Page 436)").
Type
The name of an auxiliary function is defined via the "type".
The identifiers for user-defined auxiliary functions are:
Type Identifier Meaning
"H" Auxiliary function User-specific auxiliary functions
"M" Special function
"S" Spindle function
"T" Tool number
Extension of predefined auxiliary
functions
The setting is done via the following machine data:
MD22010 $MC_AUXFU_ASSIGN_TYPE[<n>] (type of user-defined auxiliary functions)
H2: Auxiliary function outputs to PLC
8.3 User-defined auxiliary functions
Basic Functions
430 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Address extension
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[<n>] (address extension user-defined
auxiliary functions)
The functionality of the address extension is not defined in user-specific auxiliary functions. It
is generally used to distinguish between auxiliary functions with the same "value".
Grouping together auxiliary functions
If all the auxiliary functions of the same type and value are assigned to the same auxiliary
function group, a value of "-1" must be entered for the "address extension" parameter.
Example:
All user-specific auxiliary functions with the value "= 8" are assigned to the tenth auxiliary
function group.
MD22000 $MC_AUXFU_ASSIGN_GROUP [ 1 ] = 10
MD22010 $MC_AUXFU_ ASSIGN_TYPE [ 1 ] = "H"
MD22020 $MC_AUXFU_ ASSIGN_EXTENSION [ 1 ] = -1
MD22030 $MC_AUXFU_ ASSIGN_VALUE [ 1 ] = 8
Value
MD22030 $MC_AUXFU_ASSIGN_VALUE[<n>] (value of user-defined auxiliary functions)
The functionality of the "value" parameter is not defined in user-specific auxiliary functions.
The value is generally used to activate the corresponding PLC user function.
Grouping together auxiliary functions
If all the auxiliary functions of the same type and address extension are assigned to the
same auxiliary function group, a value of "-1" must be entered for the "value" parameter.
Example:
All user-specific auxiliary functions with the address extension "= 2" are assigned to the
eleventh auxiliary function group.
MD22000 $MC_AUXFU_ASSIGN_GROUP [ 2 ] = 11
MD22010 $MC_AUXFU_ ASSIGN_TYPE[ 2 ] = "H"
MD22020 $MC_AUXFU_ ASSIGN_EXTENSION[ 2 ] = 2
MD22030 $MC_AUXFU_ ASSIGN_VALUE[ 2 ] = -1
H2: Auxiliary function outputs to PLC
8.4 Associated auxiliary functions
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 431
8.3.1.4 Output behavior
The "output behavior" of user-defined auxiliary functions can be parameterized via the
machine data:
MD22035 $MC_AUXFU_ASSIGN_SPEC[<n>] (output behavior of user-defined auxiliary
functions)
For a description of the individual output parameters, see the "Output behavior (Page 422)"
section of the predefined auxiliary functions. The information given there can be applied
analogously to the output behavior of user-defined auxiliary functions.
8.4 Associated auxiliary functions
Function
Associated auxiliary functions are user-defined auxiliary functions that have the same effect
as the corresponding predefined auxiliary functions. User-defined auxiliary functions can be
associated for the following predefined auxiliary functions:
M0 (stop)
M1 (conditional stop)
Requirements
The precondition for association of a user-defined auxiliary function with one of the
predefined auxiliary functions mentioned is parameterization of a user-defined auxiliary
function. Only "M" is allowed as a "type" parameter of the user-defined auxiliary function.
Parameter assignment
Association of a user-defined auxiliary function with one of the predefined auxiliary functions
mentioned is set in the machine data:
MD22254 $MC_AUXFU_ASSOC_M0_VALUE (additional M function for program stop)
MD22256 $MC_AUXFU_ASSOC_M1_VALUE (additional M function for conditional stop)
Group assignment
The group assignment of an associated user-defined auxiliary function is always the group
assignment of the corresponding predefined auxiliary function.
H2: Auxiliary function outputs to PLC
8.4 Associated auxiliary functions
Basic Functions
432 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Application
Associated auxiliary functions can be used in:
Main program
Subroutine
Cycle
Note
Associated auxiliary functions may not be used in synchronized actions.
NC/PLC interface signals
In the case of an associated user-defined auxiliary function, the same signals are output to
the NC/PLC interface as for the corresponding predefined auxiliary function. To distinguish
which auxiliary function has actually been programmed, the value of the user-defined
auxiliary function ("value" parameter) is output as the value of the auxiliary function. This
means it is possible to distinguish between predefined and user-defined auxiliary functions in
the PLC user program.
Note
A change in machine data MD22254 and/or MD22256 may require corresponding
adjustment of the PLC user program:
Specific NC/PLC interface signals
The following specific NC/PLC interface signals are available:
DB21, ... DBX318.5 (associated M00/M01 active) feedback signal
DB21, ... DBX30.5 (activate associated M01) activation signal
Boundary conditions
Please note the following boundary conditions:
A user-defined auxiliary function may not be multiply associated.
Predefined auxiliary functions (e.g. M3, M4, M5 etc.) may not be associated.
Example
Associating the user-defined auxiliary function M123 with M0:
MD22254 $MC_AUXFU_ASSOC_M0_VALUE = 123
The user-defined auxiliary function M123 thus has the same functionality as M0.
H2: Auxiliary function outputs to PLC
8.5 Type-specific output behavior
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 433
8.5 Type-specific output behavior
Function
The output behavior of auxiliary functions relative to a traversing motions programmed in the
parts program block can be defined type-specifically.
Parameter assignment
Parameters are assigned to type-specific output behavior via the machine data:
MD22200 $MC_AUXFU_M_SYNC_TYPE (output time for M functions)
MD22210 $MC_AUXFU_S_SYNC_TYPE (output time for S functions)
MD22220 $MC_AUXFU_T_SYNC_TYPE (output time for T functions)
MD22230 $MC_AUXFU_H_SYNC_TYPE (output time for H functions)
MD22240 $MC_AUXFU_F_SYNC_TYPE (output time for F functions)
MD22250 $MC_AUXFU_D_SYNC_TYPE (output time for D functions)
MD22252 $MC_AUXFU_DL_SYNC_TYPE (output time for DL functions)
The following output behaviors can be parameterized:
MD $MC_AUXFU_xx_SYNC_TYPE = <value>
Value Output behavior
0 Output prior to motion
1 Output during motion
2 Output at block end
3 No output to the PLC
4 Output according to the output behavior defined with MD22080
For a description of the various output behaviors, see the section titled "Output behavior
(Page 422)".
Note
For the output behavior that can be set for each type of auxiliary function, please refer to the
"Detailed Description of Machine Data" List Manual.
Example
Output of auxiliary functions with different output behaviors in a part program block with
traverse movement.
H2: Auxiliary function outputs to PLC
8.5 Type-specific output behavior
Basic Functions
434 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Output behavior for which parameters have been assigned:
MD22200 $MC_AUXFU_M_SYNC_TYPE = 1 M function:
Output during motion
MD22220 $MC_AUXFU_T_SYNC_TYPE = 0 T function:
Output prior to motion
MD22230 $MC_AUXFU_H_SYNC_TYPE = 2 H function:
Output at the end of the block
Parts program block:
Program code
...
N10 G01 X100 M07 H5 T5
...
Time sequence for auxiliary function output:
> Start N10
t
X100
T5
M07
H5
H2: Auxiliary function outputs to PLC
8.6 Priorities of the output behavior for which parameters have been assigned
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 435
8.6 Priorities of the output behavior for which parameters have been
assigned
The following priorities must be observed for the following areas in connection with the
parameterized output behavior of an auxiliary function:
Output duration (normal / quick acknowledgment)
Output relative to motion (prior to / during / after the motion)
As a general rule, the parameterized output behavior with lower priority becomes active if no
output behavior with higher priority has been parameterized.
Output duration
The following priorities apply to the output duration:
Priority Output behavior Defined via:
Highest auxiliary function-specific Part program instruction: QU()
(see "Programmable output duration (Page 438)")
Auxiliary function-specific MD22035 $MC_AUXFU_ASSIGN_SYNC[<n>]
MD22080 $MC_AUXFU_PREDEF_SYNC[<n>]
Group-specific MD11110 $MC_AUXFU_GROUP_SPEC[<n>]
Lowest Not defined Default output behavior: Output duration one OB1 cycle
Output relative to motion
The following rules apply to output relative to motion:
Priority Output behavior Defined via:
Highest
Auxiliary function-specific MD22035 $MC_AUXFU_ASSIGN_SYNC[<n>]
MD22080 $MC_AUXFU_PREDEF_SYNC[<n>]
Group-specific MD11110 $MC_AUXFU_GROUP_SPEC[<n>]
Type-specific MD22200 $MC_AUXFU_M_SYNC_TYPE
MD22210 $MC_AUXFU_S_SYNC_TYPE
MD22220 $MC_AUXFU_T_SYNC_TYPE
MD22230 $MC_AUXFU_H_SYNC_TYPE
MD22240 $MC_AUXFU_F_SYNC_TYPE
MD22250 $MC_AUXFU_D_SYNC_TYPE
MD22252 $MC_AUXFU_DL_SYNC_TYPE
Lowest Not defined Default output behavior: Output at block end
Note
Parts program blocks without path motion
In a part program block without a path motion (even those with positioning axes and
spindles), the auxiliary functions are all output immediately in a block.
H2: Auxiliary function outputs to PLC
8.7 Programming an auxiliary function
Basic Functions
436 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
8.7 Programming an auxiliary function
Syntax
An auxiliary function is programmed in a part program block with the following syntax:
<Type>[<Address extension>=]<Value>
Note
If no address extension is programmed, the address extension is implicitly set = 0.
Predefined auxiliary functions with the address extension = 0 always refer to the master
spindle of the channel.
Symbolic addressing
The values for the "address extension" and "value" parameters can also be specified
symbolically. The symbolic name for the address extension must then be stated in brackets.
Example:
Symbolic programming of the auxiliary function M3 (spindle right) for the first spindle:
Program code Comment
DEF SPINDEL_NR=1 ; First spindle in the channel
DEF DREHRICHTUNG=3 ; Clockwise direction of rotation
N100 M[SPINDEL_NR] = DREHRICHTUNG ; corresponding to: M1=3
Note
If you use symbolic names to program an auxiliary function, the symbolic name is not
transferred when the auxiliary function is output to the PLC. The corresponding numerical
value is transferred instead.
H2: Auxiliary function outputs to PLC
8.7 Programming an auxiliary function
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 437
Examples
Example 1: Programming of predefined auxiliary functions
Program code Comment
N10 M3 ; "Spindle right" for the master spindle of the channel.
N20 M0=3 ; "Spindle right" for the master spindle of the channel.
N30 M1=3 ; "Spindle right" for the 1st spindle of the channel.
N40 M2=3 ; "Spindle right" for the 2nd spindle of the channel.
Example 2: Programming examples of auxiliary functions with the corresponding values for
output to the PLC
Program code Comment
DEF Coolant=12 ; Output to PLC: - - -
DEF Lubricant=130 ; Output to PLC: - - -
H[coolant]=lubricant ; Output to PLC: H12=130
H=coolant ; Output to PLC: H0=12
H5 ; Output to PLC: H0=5
H=5.379 ; Output to PLC: H0=5.379
H17=3.5 ; Output to PLC: H17=3.5
H[coolant]=13.8 ; Output to PLC: H12=13.8
H='HFF13' ; Output to PLC: H0=65299
H='B1110' ; Output to PLC: H0=14
H5.3=21 ; Error
H2: Auxiliary function outputs to PLC
8.8 Programmable output duration
Basic Functions
438 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
8.8 Programmable output duration
Function
User-specific auxiliary functions, for which the output behavior "Output duration of an OB1
cycle (slow acknowledgement)" was parameterized, can be defined for individual outputs via
the parts program guide QU (Quick) for auxiliary functions with quick acknowledgement.
Syntax
An auxiliary function with quick acknowledgment is defined in a part program block with the
following syntax:
<Type>[<Address extension>]=QU(<Value>)
Example
Different behavior for the output of the auxiliary functions M100 and M200 in a parts
program. The output behavior of the auxiliary functions is parameterized as follows:
M100
Output duration one OB1 cycle (slow acknowledgment)
Output during motion
M200
Output duration one OB1 cycle (slow acknowledgment)
Output prior to motion
Program code Comment
N10 G94 G01 X50 M100 ;
;
Output of M100: during the motion
Acknowledgment: slow
N20 Y5 M100 M200 ;
;
;
Output of M200: prior to the motion
Output of M100: during the motion
Acknowledgment: slow
N30 Y0 M=QU(100) M=QU(200) ;
;
;
Output of M200: prior to the motion
Output of M100: during the motion
Acknowledgement: quick
N40 X0
N50 M100 M200 ;
;
;
Output of M200: immediate 1)
Output of M100: immediate 1)
Acknowledgment: slow
M17
1)
Without a traverse movement, auxiliary functions are always output to the PLC immediately.
H2: Auxiliary function outputs to PLC
8.8 Programmable output duration
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 439
The following figure shows the time sequence of the part program. Please note the time
difference during the processing of parts program blocks N20 and N30.
Block number
X axis
Y axis
Strobe from NCK and
acknowledgment by basic
PLC program
PLC cycle time (OB1)
M100 change (lS)
M200 change (lS)
M200
M100
N10 N20 N30 N40 N50
OB1
M200
M100
H2: Auxiliary function outputs to PLC
8.9 Auxiliary function output to the PLC
Basic Functions
440 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
8.9 Auxiliary function output to the PLC
Function
On output of an auxiliary function to the PLC, the following signals and values are passed to
the NC/PLC interface:
change signals
"Address extension" parameter
"Value" parameter
Data areas in the NC/PLC interface
The change signals and values of the auxiliary functions are within the following data areas
in the NC/PLC interface:
Change signals for auxiliary function transfer from NC channel:
DB21, ... DBB58 - DBB67
Transferred M and S functions:
DB21, ... DBB68 - DBB112
Transferred T, D and DL functions:
DB21, ... DBB116 - DBB136
Transferred H and F functions:
DB21, ... DBB140 - DBB190
Decoded M signals (M0 - M99):
DB21, ... DBB194 - DBB206 (dynamic M functions)
References
A detailed description of the above data areas in the NC/PLC interface can be found in:
List Manual, Lists, Book 2; chapter: "Signals from/to NCK channel (DB 21 DB 30)"
The access methods for the NC/PLC interface are described in:
Function Manual, Basic Functions, Basic PLC Program (P3)
H2: Auxiliary function outputs to PLC
8.10 Auxiliary functions without block change delay
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 441
8.10 Auxiliary functions without block change delay
Function
For auxiliary functions with parameterized and/or programmed output behavior, too:
"Output duration one OB40 cycle (quick acknowledgment)"
"Output before the motion" or "Output during the motion"
there may be drops in velocity in continuos-path mode (short traverse paths and high
velocities). This the system has to wait for acknowledgment of the auxiliary function by the
PLC toward the end of the block. To avoid these velocity drops, the block change can be
made irrespective of whether such auxiliary functions have been acknowledged:
Parameter assignment
Suppression of the block change delay with quick auxiliary functions is set via the machine
data:
MD22100 $MC_AUXFU_QUICK_BLOCKCHANGE (block change delay with quick auxiliary
functions)
Value Meaning
0 In the case of quick auxiliary function output to the PLC, the block change is delayed until
acknowledgment by the PLC (OB40).
1 In the case of quick auxiliary function output to the PLC, the block change is not delayed.
Boundary conditions
Synchronism of auxiliary functions that are output without a block change delay is no longer
ensured for the part program block in which they are programmed. In the worst case
scenario, acknowledgment comes one OB40 cycle and execution of the auxiliary function
comes one OB1 cycle after the change to the next part program block.
8.11 M function with an implicit preprocessing stop
Function
Triggering a preprocessing stop in conjunction with an auxiliary function can be programmed
explicitly via the STOPRE part program command. Always triggering a preprocessing stop in M
function programming can be parameterized for each M function via the following machine
data:
MD10713 $MN_M_NO_FCT_STOPRE[<n>] (M function with preprocessing stop)
H2: Auxiliary function outputs to PLC
8.11 M function with an implicit preprocessing stop
Basic Functions
442 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Example
The user-defined M function M88 is intended to trigger a preprocessing stop.
Parameter assignment:
MD10713 $MN_M_NO_FCT_STOPRE [ 0 ] = 88
Application:
Parts program (extract)
Program code Comment
...
N100 G0 X10 M88 ; Traversing motion and implicit preprocessing stop via M88
N110 Y=R1 ; N110 is only interpreted after the traversing motion has
been completed and the M function has been acknowledged.
...
Boundary conditions
If a subroutine called indirectly via an M function in a part program in one of the following
ways, no preprocessing stop is performed:
MD10715 $MN_M_NO_FCT_CYCLE (M function to be replaced by subroutine)
M98 (ISO dialect T / ISO dialect M)
H2: Auxiliary function outputs to PLC
8.12 Response to overstore
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 443
8.12 Response to overstore
Overstore
On the SINUMERIK operator interface, before starting the following functions:
NC START of a part program
NC START to resume an interrupted part program
the auxiliary functions that are output at the start can be changed by the "Overstore"
function.
Possible applications include:
Addition of auxiliary functions after block search
Restoring the initial state to position a part program
Types of auxiliary functions that can be overstored
The following types of auxiliary functions can be overstored:
M (special function)
S (spindle speed)
T (tool number)
H (aux. function)
D (tool offset number)
DL (additive tool offset)
F (feed)
Duration of validity
An overstored auxiliary function, e.g. M3 (spindle right), is valid until it is overwritten by
another auxiliary function from the same auxiliary function group, by additional overstoring or
by programming in a part program block.
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
444 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
8.13 Block-search response
8.13.1 Auxiliary function output during type 1, 2, and 4 block searches
Output behavior
In the case of type 1, 2, and 4 block searches, the auxiliary functions are collected on the
basis of specific groups. The last auxiliary function in each auxiliary function group is output
after NC-START in a separate part program block before the actual reentry block, and has
the following output behavior:
Output duration of one OB1 cycle (normal acknowledgment)
Output prior to motion
Output control
Whether or not the auxiliary function is output to the PLC after a block search can be
configured via bit 8 of the machine data:
MD22080 $MC_AUXFU_PREDEF_SPEC[<n>]
(output behavior of predefined auxiliary functions)
where <n> = system function index (0 ... 32)
MD22035 $MC_AUXFU_ASSIGN_SPEC[<n>]
(output behavior of user-defined auxiliary functions)
where <n> = auxiliary function index (0 ... 254)
MD11110 $MN_AUXFU_GROUP_SPEC[<n>]
(output behavior of the auxiliary functions in a group)
where <n> = group index (0 ... 63)
Bit Value Meaning
0 Output during type 1, 2, and 4 block searches 10
1 No output during type 1, 2, and 4 block searches
This behavior does not affect the display and does not affect variables
$AC_AUXFU_STATE[<n>], $AC_AUXFU_VALUE[<n>], and $AC_AUXFU_EXT[<n>].
The auxiliary functions are always regarded as collected after a block search, even though
they are not output to the PLC.
During collection, an auxiliary function that is not output after a block search also overwrites
an auxiliary function whose bit 8 is not set.
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 445
The user can scan the collected auxiliary functions after a block search and, under certain
circumstances, output them again by means of the subprogram or synchronous actions.
Note
The following auxiliary functions are not collected:
Auxiliary functions which are not assigned to any auxiliary function group.
Auxiliary functions which are assigned to the first auxiliary function group.
Overstorage of auxiliary functions
After completion of a block search, the collected auxiliary functions are ouput on the next
NC-START. If it is necessary to output additional auxiliary functions, they can be added via
the "Overstore" function (see "Response to overstore (Page 443)").
M19 behavior (position spindle)
After a block search, the last spindle positioning command programmed with M19 is always
carried out, even if other spindle-specific auxiliary functions are programmed between the
part program with M19 and the target block. Setting the necessary spindle enables must
therefore be derived from the interface signals of the traverse commands in the PLC user
program:
DB31, ... DBX64.6 / 64.7 (traverse command minus / plus)
In this case, the spindle-specific auxiliary functions M3, M4, and M5 are not suitable because
they might not be output to the PLC until after the spindle positioning.
References
For detailed information on the block search, please refer to:
Function Manual, Basic Functions, Mode Group, Channel, Program Operation, Reset
Behavior (K1)
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
446 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
8.13.2 Assignment of an auxiliary function to a number of groups
Function
User-defined auxiliary functions can also be assigned to multiple groups via the group
assignment (MD22000 $MC_AUXFU_ASSIGN_GROUP). During the block search these
auxiliary functions are collected for all the configured groups.
Note
Predefined auxiliary functions can only be assigned to one group.
Example
The DIN includes the following M-commands for coolant output:
M7: Coolant 2 ON
M8: Coolant 1 ON
M9: Coolants 1 and 2 OFF
Consequently, both coolants can also be active together:
If M7 and M8 are collected in two separate groups (e.g., groups 5 and 6)
If M9 has to be assigned to these two groups, e.g.:
Group 5: M7, M9
Group 6: M8, M9
Parameter assignment:
MD11100 $MN_AUXFU_MAXNUM_GROUP_ASSIGN = 4
MD22000 $MC_AUXFU_ASSIGN_GROUP[0] = 5
MD22000 $MC_AUXFU_ASSIGN_GROUP [1] = 5
MD22000 $MC_AUXFU_ASSIGN_GROUP [2] = 6
MD22000 $MC_AUXFU_ASSIGN_GROUP [3] = 6
MD22010 $MC_AUXFU_ASSIGN_TYPE [0] = M
MD22010 $MC_AUXFU_ASSIGN_TYPE [1] = M
MD22010 $MC_AUXFU_ASSIGN_TYPE [2] = M
MD22010 $MC_AUXFU_ASSIGN_TYPE [3] = M
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[0] = 0
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[1] = 0
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[2] = 0
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[3] = 0
MD22030 $MC_AUXFU_ASSIGN_VALUE[0] = 7
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 447
MD22030 $MC_AUXFU_ASSIGN_VALUE[1] = 9
MD22030 $MC_AUXFU_ASSIGN_VALUE[2] = 8
MD22030 $MC_AUXFU_ASSIGN_VALUE [3] = 9
MD22035 $MC_AUXFU_ASSIGN_SPEC [0] = 'H121'
MD22035 $MC_AUXFU_ASSIGN_SPEC [1] = 'H121'
MD22035 $MC_AUXFU_ASSIGN_SPEC [2] = 'H121'
MD22035 $MC_AUXFU_ASSIGN_SPEC [3] = 'H121'
Part program (section):
Program code
...
N10 ... M8
N20 ... M9
N30 ... M7
...
During the block search, the auxiliary function M9 is collected for groups 5 and 6.
Scan of the collected M auxiliary functions:
M function of the fifth group: $AC_AUXFU_M_VALUE [4] = 7
M function of the sixth group: $AC_AUXFU_M_VALUE [5] = 9
8.13.3 Time stamp of the active M auxiliary function
When outputting collected auxiliary functions following a block search, attention must be paid
to the sequence during collecting. For this reason, each group is assigned a time stamp
which can be queried on a group-specific basis by way of the system variable below:
$AC_AUXFU_M_TICK[<n>] (time stamp of the active M auxiliary function)
8.13.4 Determining the output sequence
Function
The following predefined procedure is provided to simplify the process of determining the
output sequence of M auxiliary functions for the programmer:
AUXFUMSEQ(VAR INT _NUM_IN, VAR INT _M_IN[], VAR INT _EXT_IN[], VAR
INT _NUM_OUT, VAR INT _M_OUT[], VAR INT _EXT_OUT[])
Input parameters:
VAR INT _NUM_IN: Number of relevant M commands
VAR INT _M_IN[]: Field of relevant M codes
VAR INT _EXT_IN[]: Field of relevant M address extensions
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
448 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Output parameters:
VAR INT _NUM_OUT: Number of determined M codes
VAR INT _M_OUT[]: Field of determined M codes
VAR INT _EXT_OUT[]: Field of determined M address extensions
The function determines the sequence in which the M auxiliary functions, which have been
collected on a group-specific basis, are output for the predefined M codes. The sequence is
determined from the collection times $AC_AUXFU_M_TICK[<n>] (see "Time stamp of the
active M auxiliary function (Page 447)").
A particular M code is only taken into account once, even if it belongs to more than one
group. If the number of relevant M commands is less than or equal to 0, all the collected M
codes are output. The number of relevant M commands is limited to 64.
Example
M commands for coolant output:
M7: Coolant 2 ON
M8: Coolant 1 ON
M9: Coolants 1 and 2 OFF
Group assignment:
Group 5: M7, M9
Group 6: M8, M9
Part program (section):
Program code
...
N10 ... M8
N20 ... M9
N30 ... M7
...
During block searches, the auxiliary functions are collected on the basis of specific groups.
The last auxiliary function in an auxiliary function group is output to the PLC following a block
search:
Group 5: M7
Group 6: M9
If they are output in the sequence M7 M9, no coolant is then active. However, coolant 2
would be active during the execution of the program. Therefore, the correct output sequence
for the M auxiliary functions is determined with an ASUP which contains the predefined
procedure AUXFUMSEQ():
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 449
Program code
DEF INT _I, _M_IN[3], _EXT_IN[3], _NUM_OUT, _M_OUT[2], _EXT_OUT[2]
_M_IN[0]=7 _EXT_IN[0]=0
_M_IN[1]=8 _EXT_IN[1]=0
_M_IN[2]=9 _EXT_IN[2]=0
AUXFUMSEQ(3,_M_IN,_EXT_IN,_NUM_OUT,_M_OUT,_EXT_OUT)
FOR _I = 0 TO _NUM_OUT-1
M[_EXT_OUT[_I]]=_M_OUT[_I]
ENDFOR
8.13.5 Output suppression of spindle-specific auxiliary functions
Function
In certain situations, such as a tool change, it may be necessary not to output the spindle-
specific auxiliary functions collected during the block search in action blocks, but to delay
output, for example, until after a tool change. The automatic output of the spindle-specific
auxiliary functions after a block search may be suppressed for this purpose. Output can then
be performed manually later by overstoring or by an ASUB.
Parameterization
Suppression of the automatic output of the spindle-specific auxiliary functions after a block
search is set via machine data:
MD11450 $MN_SEARCH_RUN_MODE (behavior after a block search)
Bit Value Meaning
0 The output of the spindle-specific auxiliary functions is performed in the action
blocks.
2
1 Output of the auxiliary functions is suppressed in the action blocks.
System variables
The spindle-specific auxiliary functions are always stored in the following system variables
during block searches, irrespective of the parameter assignment described above:
System variable Description
Accumulated spindle speed $P_SEARCH_S [<n> ]
Value range: 0 ... Smax
Accumulated spindle direction of rotation $P_SEARCH_SDIR [<n>]
Value range: 3, 4, 5, -5, -19, 70
Accumulated spindle gear level M function $P_SEARCH_SGEAR [<n>]
Value range: 40 ... 45
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
450 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
System variable Description
Accumulated spindle position
Value range: 0 ... MD30330 $MA_MODULO_RANGE
(size of the module range)
or
Accumulated traversing path
$P_SEARCH_SPOS [<n>]
Value range: -100,000,000 ... 100,000,000
Accumulated position approach mode $P_SEARCH_SPOSMODE [<n>]
Value range: 0 ... 5
For later output of the spindle-specific auxiliary functions, the system variables can be read
in an AS, for example, and output after the action blocks are output:
DB21, ... DBX32.6 = 1 (last action block active)
Note
The contents of the system variables $P_S, $P_DIR and $P_SGEAR may be lost after block
search due to synchronization operations.
More detailed information on ASUB, block search, and action blocks is to be found in:
References:
Function Manual, Basic Functions; BAG, Channel, Program Operation, Reset Response
(K1), Chapter: "Program test"
Example
Block search for contour with suppression of output of the spindle-specific auxiliary functions
and start of an ASUB after output of action blocks.
Parameter assignment: MD11450 $MN_SEARCH_RUN_MODE, bit 2 = 1
After the block search on N55, the ASUB is started.
Parts program:
Program code Comment
N05 M3 S200 ; Spindle 1
N10 G4 F3
N15 SPOS=111 ; Spindle 1 is positioned to 111 degrees in the ASUB
N20 M2=4 S2=300 ; Spindle 2
N25 G4 F3
N30 SPOS[2]=IC(77) ; Spindle 2 traverses incrementally by 77 degrees
N55 X10 G0 ; Destination block
N60 G4 F10
N99 M30
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 451
ASUB:
Program code Comment
PROC ASUP_SAVE
MSG ("Output of the spindle functions")
DEF INT SNR=1
AUSG_SPI:
M[SNR]=$P_SEARCH_SGEAR[SNR] ; Output gear level.
S[SNR]=$P_SEARCH_S[SNR] ; Output speed (for M40, a suitable
gear level is determined).
M[SNR]=$P_SEARCH_SDIR[SNR] ; Output direction of rotation,
positioning or axis mode.
SNR=SNR+1 ; Next spindle.
REPEAT AUSG_SPI P=$P_NUM_SPINDLES-1 ; For all spindles.
MSG("")
REPOSA
RET
Explanation of example
If the number of spindles is known, outputs of the same type can be written in one part
program block to reduce program runtime.
Output of $P_SEARCH_SDIR should be made in a separate part program block because
spindle positioning or switchover to axis mode in conjunction with the gear change can
cause an alarm.
If the ASUB which has been started is ended with REPOSA, spindle 1 remains at position 111
degrees, while spindle 2 is repositioned at position 77 degrees.
If a different response is required, the program sequence for block search (for example) "N05
M3 S..." and "N30 SPOS[2] = IC(...)" requires special treatment.
Whether block search is active can be ascertained in the ASUB via the system variable
$P_SEARCH.
$P_SEARCH==1 ; Block search active
In the case of incremental positioning after speed control operation, the path to be traversed
is defined but, in some cases, the final position reached only becomes known during
positioning. This is the case, for example, during position calibration on crossing the zero
mark when switching on position control. For this reason, the distance programmed after the
zero position is accepted as the REPOS position (REPOSA in the ASUB).
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
452 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Boundary conditions
Collected S values
The meaning of an S value in the parts program depends on the feed type that is currently
active:
G93, G94, G95, G97, G971: The S value is interpreted as the speed
G96, G961: The S value is interpreted as a constant cutting rate
If the feed operation is changed (e.g. for a tool change) before output of the system variable
$P_SEARCH_S, the original setting from the target block in the parts program must be
restored to avoid use of the wrong type of feed.
Collected direction of rotation
For output of the direction of rotation, the system variable $P_SEARCH_SDIR is assigned
default value "-5" at the start of the block search. This value has no effect on output.
This ensures that the last spindle operating mode is retained for a block search across
program section in which spindles are not programmed with a direction of rotation,
positioning or axis mode.
The programming of M19, SPOS, and SPOSA is collected as "M-19" (internal M19) in the
system variables $P_SEARCH_SDIR as an alternative to M3, M4, M5, and M70.
For the output of "M-19", the positioning data is read internally from the system variables
$P_SEARCH_SPOS and $P_SEARCH_SPOSMODE. Both system variables can also be
written to, in order, for example, to make corrections.
Note
Because of the assignments described above (e.g. M[<n>] = $P_SEARCH_SDIR[<n>]), the
values "5" and "19" generally remain hidden from the user and only have to be observed in
the case of special evaluation of the system variables in the ASUB.
8.13.6 Auxiliary function output with a type 5 block search (SERUPRO)
Output behavior
In the case of type 5 block searches (SERUPRO), an auxiliary function can be output to the
PLC during the block search and/or collected on a group-specific basis in the following
system variables:
$AC_AUXFU_PREDEF_INDEX[<n>] (index of a predefined auxiliary function)
$AC_AUXFU_TYPE[<n>] (type of auxiliary function)
$AC_AUXFU_STATE[<n>] (output state of the auxiliary function)
$AC_AUXFU_EXT[<n>] (address extension of the auxiliary function)
$AC_AUXFU_VALUE[<n>] (value of the auxiliary function)
For a description of the system variables, see "Querying system variables (Page 465)".
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 453
Output control
Whether an auxiliary function is output to the PLC during a type 5 block search (SERUPRO)
and/or collected on a group-specific basis in the following system variables can be
configured via bits 9 and 10 of the machine data:
MD22080 $MC_AUXFU_PREDEF_SPEC[<n>]
(output behavior of predefined auxiliary functions)
where <n> = system function index (0 ... 32)
MD22035 $MC_AUXFU_ASSIGN_SPEC[<n>]
(output behavior of user-defined auxiliary functions)
where <n> = auxiliary function index (0 ... 254)
MD11110 $MN_AUXFU_GROUP_SPEC[<n>]
(output behavior of the auxiliary functions in a group)
where <n> = group index (0 ... 63)
Bit Value Meaning
0 No collection during type 5 block searches (SERUPRO) 9
1 Collection during type 5 block searches (SERUPRO)
0 Output during type 5 block searches (SERUPRO) 10
1 No output during type 5 block searches (SERUPRO)
Output counter
The user can output the collected auxiliary functions to the PLC on a channel-by-channel
basis in the block search ASUB. For the purposes of serialized output via multiple channels,
the three output counters are changed across all the channels each time an auxiliary
function is output:
$AC_AUXFU_TICK[<n>,<m>] (output counter for the active auxiliary function)
<n>: Group index (0 to 63)
<m>: Output counter (0 ... 2)
0: Output sequence counter (All outputs within an IPO cycle)
1: Package counter within an output sequence in the IPO cycle
2: Auxiliary function counter within a package
Explanation:
An auxiliary function package comprises a maximum of 10 auxiliary functions.
Two packages can be processed per IPO cycle in each channel during SERUPRO because
synchronized actions are processed in this cycle.
An output sequence of up to a maximum of 20 packages (2 packages per channel *
10 channels) can be processed within an IPO cycle across all channels.
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
454 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
This encoding defines how many auxiliary function packages and, within these, how many
auxiliary functions have been processed during the same IPO cycle: Auxiliary functions
which have been collected in one IPO cycle all have the same sequence counter. Auxiliary
functions which have been collected in one package (block or synchronized action) all have
the same package counter. The total on the auxiliary function counter increases every time
an auxiliary function is collected.
Global list of auxiliary functions
At the end of SERUPRO, the auxiliary functions collected on a group-specific basis in the
individual channels are entered in a cross-channel (global) list with the channel number
($AN_AUXFU_LIST_CHANNO[<n>]) and group index
($AN_AUXFU_LIST_GROUPINDEX[<n>]) according to their counter state
($AC_AUXFU_TICK[<n>,<m>]).
...
Global list of auxiliary functions
Channel 1 Channel 2 Channel 10
$AN_AUXFU_LlST_ENDlNDEX
n = 0 ... MAXNUM_GROUPS * MAXNUM_CHANNELS - 1
0 0 639
0 0
0 0
12 0 0
11 2 4
10 3 4
9 7 3
8 5 2
7 8 1
6 0 1
5 10 1
4 5 1
3 3 2
2 2 2
1 3 1
0 2 1
$AN_AUXFU_LlST_GROUPlNDEX[n] $AN_AUXFU_LlST_CHANNO[n] n
$AC_AUXFU_TlCK[n]
$AC_AUXFU_SPEC[n]
$AC_AUXFU_STATE[n]
$AC_AUXFU_VALUE[n]
$AC_AUXFU_EXT[n]
$AC_AUXFU_TYPE[n]
$AC_AUXFU_PREDEF_lNDEX[n]
n = 0
n = ...
n = 63 (MAXNUM_GROUPS)
$AC_AUXFU_TlCK[n]
$AC_AUXFU_SPEC[n]
$AC_AUXFU_STATE[n]
$AC_AUXFU_VALUE[n]
$AC_AUXFU_EXT[n]
$AC_AUXFU_TYPE[n]
$AC_AUXFU_PREDEF_lNDEX[n]
n = 0
n = ...
n = 63 (MAXNUM_GROUPS)
$AC_AUXFU_TlCK[n]
$AC_AUXFU_SPEC[n]
$AC_AUXFU_STATE[n]
$AC_AUXFU_VALUE[n]
$AC_AUXFU_EXT[n]
$AC_AUXFU_TYPE[n]
$AC_AUXFU_PREDEF_lNDEX[n]
n = 0
n = ...
n = 63 (MAXNUM_GROUPS)
The two field variables $AN_AUXFU_LIST_CHANNO[<n>] and
$AN_AUXFU_LIST_GROUPINDEX[<n>] from the global list are writable and readable.
The index <n> has the following range of values: 0 ... MAXNUM_GROUPS *
MAXNUM_CHANNELS - 1
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 455
The global list is structured on the basis of the sequence in which the search target was
found. It is intended to be used as a system proposal for auxiliary functions to be output in
the following ASUB at the end of SERUPRO. If an auxiliary function is not to be output, the
corresponding group index is to be set to "0".
Behavior regarding spindle auxiliary functions
Following the start of the search, all the channels collect the auxiliary functions in the
channel variables on a group-specific basis. In order to perform a far-reaching restoration of
the spindle state in the SERUPRO target block using the collected auxiliary functions, the
last active auxiliary function in any group of spindle auxiliary functions must characterize the
state of the spindle in the target block. In the case of transitions in spindle states, obsolete
auxiliary functions are deleted or, if necessary, implicit auxiliary functions are entered.
All the spindle auxiliary functions from the global auxiliary function list must correspond to the
spindle states achieved in the target block to enable the auxiliary functions to be processed
when the list is output and to ensure that no alarms or unintended spindle states are
requested which could prevent the continuation of the part program.
This affects the groups of auxiliary functions for any spindle configured in the system,
whereby the spindle number corresponds to an auxiliary function's address extension.
Group a: M3, M4, M5, M19, M70
Group b: M40, M41, M42, M43, M44, M45
Group c: S
Deleting obsolete auxiliary functions
In the functions below, the auxiliary functions from group a are deleted for the spindle
concerned:
For the following spindle when a generic coupling, such as COUPON, TRAILON, EGON,
etc. is switched on
Generating implicit auxiliary functions from group a
In the functions below, the auxiliary functions from group a are generated implicitly for the
spindle concerned:
For the following spindle when the synchronous spindle coupling is switched off
COUPOF generates M3, M4 and S or M5 in the main run depending on the coupling
situation.
COUPOF(S<n>, S<m>, POS) and COUPOFS(S<n>, S<m>, POS, POS) generate M3,
M4 and S.
COUPOFS generates M5 in the main run.
COUPOFS(S<n>, S<m>, POS) generates M19 in the main run.
The implicit M19 ("SPOS[<address extension>] = IC(0)" in the ASUB) activates the
positioning mode without a traversing motion.
M70 is generated during a traversing motion as an axis or during the transition to axis
mode by selecting a transformation during which the spindle enters as an axis.
M5 is generated during SPCOF.
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
456 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Note
Within the context of the "axis interchange" and "axis container rotation" functions, the
auxiliary functions for programming the spindle must always be specified in a way which
ensures compatibility with the actual (motor) state during interchange/rotation. A distinction is
made here between the axis interchange and axis container mechanisms.
Example of axis container rotation:
An axis container has four spindles, each assigned to a separate channel (1 - 4). M3 S1000
is always programmed in channel 1, and an axis container rotation is then executed. The
other channels do not perform any spindle programming. Following the third axis container
rotation and the fourth spindle programming, M3, all four spindles rotate clockwise at a
speed of 1,000 rpm. If the end of the SERUPRO now lies within this range, every ASUB for a
channel is expected to contain an M3 S1000 for the local spindle.
During interchange however, the collected auxiliary functions may only be assigned to the
channel where the spindle is currently located.
Cross-channel auxiliary function
An auxiliary function can also be collected on a cross-channel basis in the global auxiliary
function list in the case of type 5 block searches 5 (SERUPRO). Only the last auxiliary
function collected from this group (highest counter state) is entered in the global list.
Configuration takes place via bit 11 in the machine data:
MD22080 $MC_AUXFU_PREDEF_SPEC[<n>]
(output behavior of predefined auxiliary functions)
where <n> = system function index (0 ... 32)
MD22035 $MC_AUXFU_ASSIGN_SPEC[<n>]
(output behavior of user-defined auxiliary functions)
where <n> = auxiliary function index (0 ... 254)
MD11110 $MN_AUXFU_GROUP_SPEC[<n>]
(output behavior of the auxiliary functions in a group)
where <n> = group index (0 ... 63)
Bit Value Meaning
0 Channel-specific collection 11
1 Cross-channel collection
The spindle auxiliary functions are filtered out beforehand at the end of the search
depending on the spindle state. The channel data is updated accordingly. The global
auxiliary function list can be processed in sequence in the ASUBs at the end of the
SERUPRO, and the sorted auxiliary functions can be output with channel synchronization.
Querying the last auxiliary function collected
The index of the last auxiliary function collected in the global list can be queried using the
system variable $AN_AUXFU_LIST_ENDINDEX.
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 457
8.13.7 ASUB at the end of the SERUPRO
Function
After completing the block search with the program test (SERUPRO), before starting the
subsequent processing, the auxiliary functions collected during the search must be output.
For this purpose, during the block search, the auxiliary functions are collected in a global list.
The SERUPRO end ASUBs generate the corresponding part program blocks channel-
specific from this list. This ensures that the collected auxiliary functions can be output both
channel-specific as well as cross-channel in the correct sequence. A fully functional
SERUPRO end ASUB is a component of the NCK software.
Users/machinery construction OEMs can change the SERUPRO end ASUB. The
subsequently described functions support processing the global list of auxiliary functions and
generating the part program blocks required for synchronized auxiliary function output.
Function AUXFUSYNC(...)
Function:
The function AUXFUSYNC generates a complete part program block as string from the global list
of auxiliary functions at each call. The part program block either contains auxiliary functions
or commands to synchronize auxiliary function outputs (WAITM, G4, etc.).
The function triggers a preprocessing stop.
Syntax:
PROC AUXFUSYNC(VAR INT <NUM>, VAR INT <GROUPINDEX>[10], VAR
STRING[400] <ASSEMBLED>)
Parameters:
<NUM>: Contains information about the part program block, supplied in
parameter <ASSEMBLED> or the auxiliary functions contained in it.
Value range: -1, 0, 1 ... 10
Value Meaning
1 Number of auxiliary functions contained in the part program
block
0 Part program block without auxiliary functions, e.g. WAITM, G4
-1 End identifier. The global list of auxiliary functions has been
completely processed for the actual channel.
<GROUP INDEX>: Contains the indices of the auxiliary function groups contained in the
part program block. With index = number of the auxiliary function
group - 1
<ASSEMBLED>: Contains the complete part program block for the channel-specific
SERUPRO end ASUB as string.
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
458 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Further information:
If auxiliary functions were collected via a synchronized action, two NC blocks are generated.
One NC block to output the auxiliary functions. An executable NC block via which the NC
block is transported to the main run to output the auxiliary functions:
1. Output of the auxiliary functions via synchronized action, e.g.: WHEN TRUE DO M100 M102
2. Executable NC block, e.g.: G4 F0.001
Function AUXFUDEL(...)
Function:
The function AUXFUDEL deletes the specified auxiliary function from the global list of
auxiliary functions channel-specific for the calling channel. Deletion is realized by setting the
corresponding group index ...GROUPINDEX[n] to 0.
The function must be called before calling AUXFUSYNC.
The function triggers a preprocessing stop.
Syntax:
PROC AUXFUDEL(CHAR <TYPE>, INT <EXTENSION>, REAL <VALUE>, INT <GROUP>)
Parameters:
<TYPE>: Type of auxiliary function to be deleted
<EXTENSION>: Address extension of the auxiliary function to be deleted
<VALUE>: Value of auxiliary function to be deleted
<GROUP>: Number of the auxiliary function group
Function AUXFUDELG(...)
Function:
The function AUXFUDELG deletes all auxiliary functions of the specified auxiliary function
group from the global list of auxiliary functions channel-specific for the calling channel.
Deletion is realized by setting the corresponding group index ...GROUPINDEX[n] to 0.
The function must be called before calling AUXFUSYNC.
The function triggers a preprocessing stop.
Syntax:
PROC AUXFUDELG(INT <GROUP>)
Parameters:
<GROUP>: Number of the auxiliary function group
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 459
Multi-channel block search
CAUTION
Multi-channel block search and AUXFUDEL / AUXFUDELG
If, for a multi-channel block search in the SERUPRO end ASUBs, auxiliary functions with
AUXFUDEL / AUXFUDELG are deleted from the global list of auxiliary functions, before
calling the AUXFUSYNC function, the channels involved must be synchronized. The
synchronization ensures that before calling the AUXFUSYNC, all delete requests are
processed and a consistent list is available.
Examples
Two examples for configuring a user-specific SERUPRO end ASUB.
Example 1: Deleting auxiliary functions and generating the auxiliary function output with
AUXFUSYNC(...)
Program code Comment
N10 DEF STRING[400] ASSEMBLED=""
N20 DEF STRING[31] FILENAME="/_N_CST_DIR/_N_AUXFU_SPF"
N30 DEF INT GROUPINDEX[10]
N40 DEF INT NUM
N60 DEF INT ERROR
N90
N140 AUXFUDEL("M",2,3,5) ; M2=3 (5th auxiliary function group) delete
N150
N170 AUXFUDELG(6) ;
;
Delete the collected auxiliary function of the
6th group.
N180
N190 IF ISFILE(FILENAME)
N210 DELETE(ERROR,FILENAME) ; Delete the FILENAME file
N220 IF (ERROR<>0) ; Error evaluation
N230 SETAL(61000+ERROR)
N240 ENDIF
N250 ENDIF
; CAUTION!
; If, for a multi-channel block search, auxiliary functions with AUXFUDEL/AUXFUDELG
; are deleted from the global list of auxiliary functions, before the loop to
; generate the subprogram FILENAME with AUXFUSYNC, the channels must be synchronized.
The synchronization ensures that all delete requests were processed
; in all channels and a consistent list is available.
; Example: WAITM(99,1,2,3)
N270 LOOP
N300 AUXFUSYNC(NUM,GROUPINDEX,ASSEMBLED) ; General a part program block
N310
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
460 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Program code Comment
N320 IF (NUM==-1) ;
;
All auxiliary functions of the channel
have been executed.
N340 GOTOF LABEL1
N350 ENDIF
N380 WRITE(ERROR,FILENAME,ASSEMBLED) ; Write a part program block to file FILENAME.
N390 IF (ERROR<>0) ; Error evaluation
N400 SETAL(61000+ERROR)
N410 ENDIF
N430 ENDLOOP
N440
N450 LABEL1:
N460
N480 CALL FILENAME ; Process a generated subroutine.
N490
N510 DELETE(ERROR,FILENAME) ; Delete the file again after execution.
N520 IF (ERROR<>0)
N530 SETAL(61000+ERROR)
N540 ENDIF
N550
N560 M17
Example 2: Deleting auxiliary functions and generating the auxiliary function output without
AUXFUSYNC(...)
Program code Comment
N0610 DEF STRING[400] ASSEMBLED=""
N0620 DEF STRING[31] FILENAME="/_N_CST_DIR/_N_AUXFU_SPF"
N0630 DEF INT GROUPINDEX[10]
N0640 DEF INT NUM
N0650 DEF INT LAUF
N0660 DEF INT ERROR
N0670 DEF BOOL ISQUICK
N0680 DEF BOOL ISSYNACT
N0690 DEF BOOL ISIMPL
...
N0760 AUXFUDEL("M",2,3,5) ; M2=3 (5th auxiliary function group) delete
N0770
N0790 AUXFUDELG(6) ;
;
Delete the collected auxiliary function of the
6th group.
N0800
N0810 IF ISFILE(FILENAME)
N0830 DELETE(ERROR,FILENAME) ;
;
File already exists and must be
deleted.
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 461
Program code Comment
N0840 IF (ERROR<>0)
N0850 SETAL(61000+ERROR)
N0860 ENDIF
N0870 ENDIF
N0880
; CAUTION!
; If, for a multi-channel block search, auxiliary functions with AUXFUDEL/AUXFUDELG
; are deleted from the global list of auxiliary functions, before the loop to
; generate the subprogram FILENAME with AUXFUSYNC, the channels must be synchronized.
The synchronization ensures that all delete requests were processed
; in all channels and a consistent list is available.
; Example: WAITM(99,1,2,3)
N0890 LOOP
N0920 AUXFUSYNC(NUM,GROUPINDEX,ASSEMBLED) ;
;
;
Procedure to generate
auxiliary function blocks from the global
auxiliary function list.
N0930
N0940 IF (NUM==-1) ;
;
All auxiliary functions of the channel
are processed.
N0960 GOTOF LABEL1
N0970 ENDIF
N0980
N1000 IF (NUM>0) ;
;
If auxiliary functions are output,
the block is generated.
N1010
N1020 ASSEMBLED=""
N1030
N1050 FOR LAUF=0 TO NUM-1 ;
;
Collected auxiliary functions for a
block.
N1060
N1080 IF GROUPINDEX[LAUF]<>0 ;
;
Auxiliary functions deleted from the
global list have the group index 0.
N1090
N1100 ISQUICK=$AC_AUXFU_SPEC[GROUPINDEX[LAUF]] BAND'H2'
N1110
N1120 ISSYNACT=$AC_AUXFU_SPEC[GROUPINDEX[LAUF]] BAND'H1000'
N1130
N1140 ISIMPL=$AC_AUXFU_SPEC[GROUPINDEX[LAUF]] BAND'H2000'
N1150
N1180 IF ISSYNACT ;
;
Assemble a block for the M auxiliary
function output
N1190 ASSEMBLED= ASSEMBLED << "WHEN TRUE DO "
N1200 ENDIF
H2: Auxiliary function outputs to PLC
8.13 Block-search response
Basic Functions
462 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Program code Comment
N1210 ; Implicitly generated M19 is mapped to SPOS[SPI(<spindle no.>)] = IC(0).
N1230 IF (ISIMPL AND ($AC_AUXFU_VALUE[GROUPINDEX[LAUF]==19))
N1240 ASSEMBLED= ASSEMBLED << "SPOS[SPI(" <<
$AC_AUXFU_EXT[GROUPINDEX[LAUF]] << ")=IC(0)"
N1260 ELSE
N1270 ASSEMBLED= ASSEMBLED << "M[" << $AC_AUXFU_EXT[GROUPINDEX[LAUF]] << "]="
N1280
N1290 IF ISQUICK
N1300 ASSEMBLED= ASSEMBLED << "QU("
N1310 ENDIF
N1320
N1330 ASSEMBLED= ASSEMBLED << $AC_AUXFU_VALUE[GROUPINDEX[LAUF]]
N1340
N1350 IF ISQUICK
N1360 ASSEMBLED= ASSEMBLED << ")"
N1370 ENDIF
N1380 ENDIF
N1400 ENDIF
N1420 ENDFOR
N1430
N1450 WRITE(ERROR,FILENAME,ASSEMBLED) ; Write an auxiliary function block to a file.
N1460
N1470 IF ISSYNACT
N1480 ASSEMBLED="G4 F0.001"
N1490 WRITE(ERROR,FILENAME,ASSEMBLED)
N1500 ENDIF
N1510
N1520 ELSE
N1540 WRITE(ERROR,FILENAME,ASSEMBLED) ; Write an auxiliary function block to a file.
N1550 ENDIF
N1560
N1570 ENDLOOP
N1580
N1590 LABEL1:
N1600
N1620 CALL FILENAME ; Process a generated subroutine.
N1630
N1650 DELETE(ERROR,FILENAME) ; Delete the file again after execution.
N1660 IF (ERROR<>0)
N1670 SETAL(61000+ERROR)
N1680 ENDIF
N1690
N1700 M17
H2: Auxiliary function outputs to PLC
8.14 Implicitly output auxiliary functions
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 463
8.14 Implicitly output auxiliary functions
Function
Implicitly output auxiliary functions are auxiliary functions which have not been programmed
explicitly and which are also output by other system functions (e.g. transformation selection,
tool selection, etc.). These implicit auxiliary functions do not lead to any system function;
instead, the M codes are collected according to output behavior parameters assigned to
them and/or are output to the PLC.
Parameterization
The M codes for auxiliary functions to be output implicitly are defined with the machine data:
MD22530 $MC_TOCARR_CHANGE_M_CODE (M code with a toolholder change)
This machine data value indicates the number of the M code which is output when a
toolholder is activated at the NC/PLC interface.
If the value is positive, the unchanged M code is always output.
If the value is negative, the number of the toolholder is added to the machine data value,
and this number is output.
MD22532 $MC_GEOAX_CHANGE_M_CODE (M code when switching the geometry
axes)
Number of the M code which is output when the geometry axes on the NC/PLC interface
are switched.
MD22534 $MC_TRAFO_CHANGE_M_CODE (M code in the case of transformation
changes)
Number of the M code which is output during a transformation switch of the geometry
axes at the NC/PLC interface.
Note
No M code is output if the number of the M code being output or the
MD22530/MD22532/MD22534 value is between 0 and 6, or is either 17 or 30. Whether or
not an M code which is generated in this manner leads to conflicts with other functions is
not monitored.
Output behavior
In the case of implicitly output auxiliary functions, bit 13 is set in machine data MD22080 or
MD22035 (output behavior of predefined or user-defined auxiliary functions).
This bit can be queried via the system variable $AC_AUXFU_SPEC[<n>].
H2: Auxiliary function outputs to PLC
8.15 Information options
Basic Functions
464 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Implicitly output auxiliary function M19
To achieve uniformity in terms of how M19 and SPOS or SPOSA behave at the NC/PLC
interface, auxiliary function M19 can be output to the NC/PLC interface for SPOS and
SPOSA (see spindles (S1), "positioning mode" < "General functionality (Page 1285)").
The implicitly output auxiliary function M19 is collected during the block search.
8.15 Information options
Information about auxiliary functions (e.g. about the output status) is possible via:
The group-specific modal M auxiliary function display on the user interface
Querying system variables in part programs and synchronized actions
8.15.1 Group-specific modal M auxiliary function display
Function
The output status and acknowledgement status of M auxiliary functions can be displayed on
the user interface on a group-specific basis.
Requirements
To implement function-oriented acknowledgement and display of M auxiliary functions, the
auxiliary functions must be managed in the PLC and, thus, in the user program itself.
Therefore, it is up to the PLC programmer to program the acknowledgement of these
auxiliary functions. He has to know which auxiliary functions in which group have to be
acknowledged.
Standard
M auxiliary functions that are not managed by means of the PLC are identified by the NC as
"transferred" and output to the PLC. There is no functional acknowledgement for these
auxiliary functions. All M-auxiliary functions collected after a block search are also displayed
so that the operator knows which auxiliary functions will be output after a start following a
block search.
PLC activities
In the case of auxiliary function groups that are managed by the PLC itself, the PLC user
program must acknowledge all auxiliary functions of this groups when Apply and Function
End are activated. The PLC programmer must know all the auxiliary functions of these
groups.
H2: Auxiliary function outputs to PLC
8.15 Information options
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 465
Miscellaneous
Only the group-specific M auxiliary functions are displayed. The block-by-block display is
also retained. Up to 15 groups can be displayed, whereby only the last M function of a group
that was either collected or output to the PLC is displayed for each group. The M functions
are presented in various display modes depending on their status:
Status Display mode
Auxiliary function is collected Inverted with yellow font
Auxiliary function is output from NCK to PLC Inverted
Auxiliary function has been transferred from NCK to PLC
and transport acknowledgement has taken place
Black font on gray background
Auxiliary function is managed by the PLC and has been
directly applied by the PLC.
Black font on gray background
Auxiliary function is managed by the PLC, and the function
acknowledgement has taken place.
Black font on gray background
Display update
The display is organized in such a way that the collected auxiliary functions are always
displayed first, before those that were managed by the PLC and before those that were
managed by the NC. A collected auxiliary function is marked as collected until it has been
output from the NCK to the PLC. PLC-managed auxiliary functions are retained until they are
displaced by another auxiliary function. In the case of a reset, only the collected auxiliary
functions and the NC-managed auxiliary functions are deleted.
8.15.2 Querying system variables
Function
Auxiliary functions can be queried on a group-specific basis via system variables in the part
program and via synchronized actions:
$AC_AUXFU_... [<n>] = <value>
System variables Meaning
Index of the last auxiliary function collected for an
auxiliary function group (search) or the last
predefined auxiliary function to be output
Type: INT
<value>:
If no auxiliary function has been output yet for the
specified group or if the auxiliary function is a
user-defined auxiliary function, the variable
supplies the value "-1".
<n>: Group index (0 to 63)
$AC_AUXFU_PREDEF_INDEX[<n>]
Note:
A predefined auxiliary function can be uniquely identified via
this variable.
H2: Auxiliary function outputs to PLC
8.15 Information options
Basic Functions
466 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
System variables Meaning
Type of the last auxiliary function collected for an
auxiliary function group (search) or the last
auxiliary function to be output
<value>:
Type: CHAR
$AC_AUXFU_TYPE[<n>]
<n>: Group index (0 to 63)
Address extension of the last auxiliary function
collected for an auxiliary function group (search)
or the last auxiliary function to be output
<value>:
Type: INT
$AC_AUXFU_EXT[<n>]
or M function specific:
$AC_AUXFU_M_EXT[<n>]
<n>: Group index (0 to 63)
Value of the last auxiliary function collected for an
auxiliary function group (search) or the last
auxiliary function to be output
<value>:
Type: REAL
$AC_AUXFU_VALUE[<n>]
or M function specific:
$AC_AUXFU_M_VALUE[<n>]
<n>: Group index (0 to 63)
Bit-encoded output behavior according to
MD22080/MD22035 (or QU programming) of the
last auxiliary function collected for an auxiliary
function group (search) or the last auxiliary
function to be output
Value:
Type: INT
<n>: Group index (0 to 63)
$AC_AUXFU_SPEC[<n>]
Note:
This variable can be used to determine whether the auxiliary
function should be output with a fast acknowledgement.
Output state of the last auxiliary function collected
for an auxiliary function group (search) or the last
auxiliary function to be output
Type: INT
Value range: 0 ... 5
0: No auxiliary function
1: M-auxiliary function was collected via a
search
2: M-auxiliary function has been output to the
PLC
3: M-auxiliary function has been output to the
PLC and the transport acknowledgement has
taken place
4: M-auxiliary function is managed by the PLC
and has been applied by the PLC
<value>:
5: M-auxiliary function is managed by the PLC,
and the function acknowledgement has taken
place
$AC_AUXFU_STATE[<n>]
or M function specific:
$AC_AUXFU_M_STATE[<n>]
<n>: Group index (0 to 63)
H2: Auxiliary function outputs to PLC
8.15 Information options
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 467
Example
All M-auxiliary functions of the 1st group will be stored in the order they are output
id=1 every $AC_AUXFU_M_STATE[0]==2 do
$AC_FIFO[0,0]=$AC_AUXFU_M_VALUE[0]
References
For more information on the system variables, refer to:
List Manual, System Variables
H2: Auxiliary function outputs to PLC
8.16 Supplementary conditions
Basic Functions
468 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
8.16 Supplementary conditions
8.16.1 General constraints
Spindle replacement
Because the auxiliary functions are parameterized channel-specifically, if function: "spindle
replacement" is used, the spindle-specific auxiliary function must be parameterized
immediately in all channels that use the spindles.
Tool management
If tool management is active, the following constraints apply:
T and M<k> functions are not output to the PLC.
Note
k is the parameterized value of the auxiliary function for the tool change (default: 6):
MD22560 $MC_TOOL_CHANGE_M_CODE (auxiliary function for tool change)
If no address extension is programmed, the auxiliary function refers to the master spindle
or the master tool holder of the channel.
Definition of the master spindle:
MD20090 $MC_SPIND_DEF_MASTER_SPIND
Part program instruction: SETMS
Definition of the master tool holder
MD20124 $MC_TOOL_MANAGEMENT_TOOLHOLDER
Part program instruction: SETMTH
Maximum number of auxiliary functions per part program block
A maximum of 10 auxiliary functions may be programmed in one part program block.
DL (additive tool offset)
The following restrictions apply to the DL function:
Only one DL function can be programmed per part program block.
If DL functions are used in synchronous actions, parameter: "Value" is not output to the
PLC.
H2: Auxiliary function outputs to PLC
8.16 Supplementary conditions
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 469
8.16.2 Output behavior
Thread cutting
During active thread cutting G33, G34 and G35, the following output behavior:
Output duration one OB40 cycle (quick acknowledgment)
Output during motion
is always active for the spindle-specific auxiliary functions:
M3 (spindle right)
M4 (spindle left)
The spindle-specific auxiliary function M5 (spindle stop) is always output at the end of the
block. The parts program block that contains M5 is always ended with exact stop, i.e. even
during active continuous path mode.
Synchronized actions
With output auxiliary functions from synchronized actions, the parameterized output behavior
is ignored except for the following parameters:
Bit0: Output duration one OB1 cycle (normal acknowledgment)
Bit1: Output duration one OB40 cycle (quick acknowledgment)
Auxiliary functions: M17 or M2 / M30 (end of subroutine)
In its own parts program block
If one of the auxiliary functions M17, M2 or M30 is programmed as the only auxiliary function in
a part program block and an axis is still in motion, the auxiliary function is not output to the
PLC until after the axis has stopped.
Overriding the parameterized output behavior
The parameterized output behavior of the auxiliary functions M17 or M2/M30 is overridden by
the output behavior that is determined in the following machine data:
MD20800 $MC_SPF_END_TO_VDI, Bit 0 (subprogram end / stop to PLC)
Bit Value Description
0 The auxiliary functions M17 or M2/M30 (subprogram end) are not output to the PLC.
Continuous-path mode is not interrupted at the end of the subroutine
0
1 The auxiliary functions M17 or M2/M30 (subprogram end) are output to the PLC.
Auxiliary function: M1 (conditional stop)
Overlapping of the parameterized output behavior
The parameterized output behavior of the auxiliary function M1 is overridden by the output
behavior defined in the following machine data:
MD20800 $MC_SPF_END_TO_VDI, Bit 1 (subprogram end / stop to PLC)
H2: Auxiliary function outputs to PLC
8.17 Examples
Basic Functions
470 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Bit Value Description
0 The auxiliary function M01 (conditional stop) is always output to the PLC. A quick
acknowledgement is ineffective, because M01 is permanently assigned to the first
auxiliary function group and is therefore always output at the end of the block.
1
1 The auxiliary function M01 (conditional stop) is only output to the PLC, if the function:
"Programmed stop" is activated via the HMI user interface.
In the case of a quick acknowledgement, the M1 is output to the PLC during the motion.
While the function is not active, this does not interrupt continuous-path mode.
Part program blocks without traverse movement
In a part program block without a traverse movement, all auxiliary functions are output in a
block immediately, irrespective of their parameterized output behavior.
8.17 Examples
8.17.1 Extension of predefined auxiliary functions
Task
Parameter assignment of auxiliary functions M3, M4, and M5 for the second spindle of the
channel
Parameter assignment: M3
Requirements:
Machine data index: 0 (first user-defined auxiliary function)
auxiliary function group: 5
Type and value: M3 (spindle right)
Address extension: 2 as appropriate for the 2nd spindle of the channel
Output behavior:
Output duration one OB1 cycle (normal acknowledgment)
Output prior to motion
Parameter assignment:
MD22000 $MC_AUXFU_ASSIGN_GROUP[ 0 ] = 5
MD22010 $MC_AUXFU_ASSIGN_TYPE [ 0 ] = "M"
MD22020 $MC_AUXFU_ASSIGN_EXTENSION [ 0 ] = 2
MD22030 $MC_AUXFU_ASSIGN_VALUE [ 0 ] = 3
MD22035 $MC_AUXFU_ASSIGN_SPEC [ 0 ] = 'H21'
H2: Auxiliary function outputs to PLC
8.17 Examples
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 471
Parameter assignment: M4
Requirements:
Machine data index: 1 (second user-defined auxiliary function)
Auxiliary function group: 5
Type and value: M4 (spindle left)
Address extension: 2 as appropriate for the 2nd spindle of the channel
Output behavior:
Output duration one OB1 cycle (normal acknowledgment)
Spindle response following acknowledgment
Output during motion
Parameter assignment:
MD22000 $MC_AUXFU_ASSIGN_GROUP [ 1 ] = 5
MD22010 $MC_AUXFU_ASSIGN_TYPE [ 1 ] = "M"
MD22020 $MC_AUXFU_ASSIGN_EXTENSION [ 1 ] = 2
MD22030 $MC_AUXFU_ASSIGN_VALUE [ 1 ] = 4
MD22035 $MC_AUXFU_ASSIGN_SPEC [ 1 ] = 'H51'
Parameter assignment: M5
Requirements:
Machine data index: 2 (third user-defined auxiliary function)
Auxiliary function group: 5
Type and value: M5 (spindle stop)
Address extension: 2 as appropriate for the 2nd spindle of the channel
Output behavior:
Output duration one OB1 cycle (normal acknowledgment)
Spindle response following acknowledgment
Output at block end
H2: Auxiliary function outputs to PLC
8.17 Examples
Basic Functions
472 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Parameter assignment:
MD22000 $MC_AUXFU_ASSIGN_GROUP [ 2 ] = 5
MD22010 $MC_AUXFU_ASSIGN_TYPE [ 2 ] = "M"
MD22020 $MC_AUXFU_ASSIGN_EXTENSION [ 2 ] = 2
MD22030 $MC_AUXFU_ASSIGN_VALUE [ 2 ] = 5
MD22035 $MC_AUXFU_ASSIGN_SPEC [ 2 ] = 'H91'
8.17.2 Defining auxiliary functions
Task
Parameter assignment of the auxiliary function-specific machine data for a machine with the
following configuration:
Spindles
Spindle 1: Master spindle
Spindle 2: Second spindle
Gear stages
Spindle 1: 5 gear stages
Spindle 2: No gear stages
Switching functions for cooling water on/off
Spindle 1
"ON" = M50
"OFF" = M51
Spindle 2
"ON" = M52
"OFF" = M53
Requirements
Spindle 1 (master spindle)
Note
Default assignments
The auxiliary functions M3, M4, M5, M70 and M1=3, M1=4, M1=5, M1=70 of spindle 1
(master spindle) are assigned as standard to the second auxiliary function group.
All S and S1 values of spindle 1 (master spindle) are assigned to the third auxiliary
function group by default.
H2: Auxiliary function outputs to PLC
8.17 Examples
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 473
The gear stage last programmed is to be output after block search. The following auxiliary
functions are assigned to the ninth auxiliary function group for this reason:
M40, M41, M42, M43, M44, M45
M1=40, M1=41, M1=42, M1=43, M1=44, M1=45
The auxiliary functions M3, M4, M5, M70 and M1=3, M1=4, M1=5, M1=70
(second auxiliary function group) and S and S1 values (third auxiliary function group)
should possess the following output behavior:
Output duration one OB40 cycle (quick acknowledgment)
Output prior to motion
The auxiliary functions for gear changeover M40 to M45 and M1=40 to M1=45
(ninth auxiliary function group) should have the following output behavior:
Output duration one OB1 cycle (normal acknowledgment)
Output prior to motion
Spindle 2
Only one M function for directional reversal may be programmed in one block. The
direction of rotation last programmed is to be output after block search. The following
auxiliary functions are assigned to the tenth auxiliary function group for this reason:
M2=3, M2=4, M2=5, M2=70
All S2 values are assigned to auxiliary function group 11.
The auxiliary functions M2=3, M2=4, M2=5, M2=70 (tenth auxiliary function group) and
S2 values (auxiliary function group 11) should have the following output behavior:
Output duration one OB40 cycle (quick acknowledgment)
Output prior to motion
Cooling water
It is not permissible to switch the cooling water on and off in one part program block. After
a block search, the cooling water will be switched on or off. For this purpose, the following
auxiliary functions are assigned, for example, to auxiliary function group 12 or 13:
Auxiliary function group 12: M50, M51
Auxiliary function group 13: M52, M53
The auxiliary functions M50, M51 (auxiliary function group 12) and M52, M53 (auxiliary
function group 13) should have the following output behavior:
Output duration one OB1 cycle (normal acknowledgment)
Output prior to motion
H2: Auxiliary function outputs to PLC
8.17 Examples
Basic Functions
474 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Parameterization of the machine data
The machine data are parameterized by appropriate programming within a parts program.
Program code Comment
$MN_AUXFU_MAXNUM_GROUP_ASSIGN=21 ; Number of user-defined auxiliary functions
per channel
$MN_AUXFU_GROUP_SPEC[1]='H22' ; Output behavior of auxiliary function group 2
$MN_AUXFU_GROUP_SPEC[2]='H22' ; Output behavior of auxiliary function group 3
$MN_AUXFU_GROUP_SPEC[8]='H21' ; Output behavior of auxiliary function group 9
$MC_AUXFU_ASSIGN_TYPE[0]="M" ; Description of auxiliary function 1: M40
$MC_AUXFU_ASSIGN_EXTENSION[0]=0
$MC_AUXFU_ASSIGN_VALUE[0]=40
$MC_AUXFU_ASSIGN_GROUP[0]=9
; ... (and analogously for aux. functions 2 to 5)
$MC_AUXFU_ASSIGN_TYPE[5]="M" ; Description of auxiliary function 6: M45
$MC_AUXFU_ASSIGN_EXTENSION[5]=0
$MC_AUXFU_ASSIGN_VALUE[5]=45
$MC_AUXFU_ASSIGN_GROUP[5]=9
$MC_AUXFU_ASSIGN_TYPE[6]="M" ; Description of auxiliary function 7: M1=40
$MC_AUXFU_ASSIGN_EXTENSION[6]=1
$MC_AUXFU_ASSIGN_VALUE[6]=40
$MC_AUXFU_ASSIGN_GROUP[6]=9
; . . . (and analogously for aux. functions 8
to 11)
$MC_AUXFU_ASSIGN_TYPE[11]="M" ; Description of auxiliary function 12: M1=45
$MC_AUXFU_ASSIGN_EXTENSION[11]=1
$MC_AUXFU_ASSIGN_VALUE[11]=45
$MC_AUXFU_ASSIGN_GROUP[11]=9
$MN_AUXFU_GROUP_SPEC[9] = 'H22' ; Output behavior of auxiliary function group 10
$MC_AUXFU_ASSIGN_TYPE[12]="M" ; Description of auxiliary function 13: M2=3
$MC_AUXFU_ASSIGN_EXTENSION[12]=2
$MC_AUXFU_ASSIGN_VALUE[12]=3
$MC_AUXFU_ASSIGN_GROUP[12]=10
$MC_AUXFU_ASSIGN_TYPE[13]="M" ; Description of auxiliary function 14: M2=4
$MC_AUXFU_ASSIGN_EXTENSION[13]=2
$MC_AUXFU_ASSIGN_VALUE[13]=4
$MC_AUXFU_ASSIGN_GROUP[13]=10
$MC_AUXFU_ASSIGN_TYPE[14]="M" ; Description of auxiliary function 15: M2=5
H2: Auxiliary function outputs to PLC
8.17 Examples
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 475
Program code Comment
$MC_AUXFU_ASSIGN_EXTENSION[14]=2
$MC_AUXFU_ASSIGN_VALUE[14]=5
$MC_AUXFU_ASSIGN_GROUP[14]=10
$MC_AUXFU_ASSIGN_TYPE[15]="M" ; Description of auxiliary function 16: M2=70
$MC_AUXFU_ASSIGN_EXTENSION[15]=2
$MC_AUXFU_ASSIGN_VALUE[15]=70
$MC_AUXFU_ASSIGN_GROUP[15]=10
$MN_AUXFU_GROUP_SPEC[10] = 'H22' ; Specification of auxiliary function group 11
$MC_AUXFU_ASSIGN_TYPE[16] = "S" ; Description of auxiliary function 17: S2=<all
values>
$MC_AUXFU_ASSIGN_EXTENSION[16]=2
$MC_AUXFU_ASSIGN_VALUE[16]=-1
$MC_AUXFU_ASSIGN_GROUP[16]=11
$MN_AUXFU_GROUP_SPEC[11]='H21' ; Specification of auxiliary function group 12
$MC_AUXFU_ASSIGN_TYPE[17]="M" ; Description of auxiliary function 18: M50
$MC_AUXFU_ASSIGN_EXTENSION[17]=0
$MC_AUXFU_ASSIGN_VALUE[17]=50
$MC_AUXFU_ASSIGN_GROUP[17]=12
$MC_AUXFU_ASSIGN_TYPE[18]="M" ; Description of auxiliary function 19: M51
$MC_AUXFU_ASSIGN_EXTENSION[18]=0
$MC_AUXFU_ASSIGN_VALUE[18]=51
$MC_AUXFU_ASSIGN_GROUP[18]=12
$MN_AUXFU_GROUP_SPEC[12]='H21' ; Specification of auxiliary function group 13
$MC_AUXFU_ASSIGN_TYPE[19]="M" ; Description of auxiliary function 20: M52
$MC_AUXFU_ASSIGN_EXTENSION[19]=0
$MC_AUXFU_ASSIGN_VALUE[19]=52
$MC_AUXFU_ASSIGN_GROUP[19]=13
$MC_AUXFU_ASSIGN_TYPE[20]="M" ; Description of auxiliary function 21: M53
$MC_AUXFU_ASSIGN_EXTENSION[20]=0
$MC_AUXFU_ASSIGN_VALUE[20]=53
$MC_AUXFU_ASSIGN_GROUP[20]=13
H2: Auxiliary function outputs to PLC
8.18 Data lists
Basic Functions
476 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
8.18 Data lists
8.18.1 Machine data
8.18.1.1 NC-specific machine data
Number Identifier: $MN_ Description
10713 M_NO_FCT_STOPRE M function with preprocessing stop
10714 M_NO_FCT_EOP M function for spindle active after NC RESET
10715 M_NO_FCT_CYCLE M function to be replaced by subroutine
11100 AUXFU_MAXNUM_GROUP_ASSIGN Maximum number of user-defined auxiliary functions
per channel
11110 AUXFU_GROUP_SPEC Group-specific output behavior
11450 SEARCH_RUN_MODE Behavior after a block search
8.18.1.2 Channel-specific machine data
Number Identifier: $MC_ Description
20110 RESET_MODE_MASK Definition of control initial setting after part program
start
20112 START_MODE_MASK Definition of control initial setting after power-up and
on RESET or at end of part program
20270 CUTTING_EDGE_DEFAULT Basic setting of tool cutting edge without programming
20800 SPF_END_TO_VDI Subroutine end / Stop at PLC
22000 AUXFU_ASSIGN_GROUP Group assignment of user-defined auxiliary functions
22010 AUXFU_ASSIGN_TYPE Type of user-defined auxiliary functions
22020 AUXFU_ASSIGN_EXTENSION Address extension for user-defined auxiliary functions
22030 AUXFU_ASSIGN_VALUE Value of user-defined auxiliary functions
22035 AUXFU_ASSIGN_SPEC Output behavior of user-defined auxiliary functions
22040 AUXFU_PREDEF_GROUP Group assignment of predefined auxiliary functions
22050 AUXFU_PREDEF_TYPE Type of predefined auxiliary functions
22060 AUXFU_PREDEF_EXTENSION Address extension for predefined auxiliary functions
22070 AUXFU_PREDEF_VALUE Value of predefined auxiliary functions
22080 AUXFU_PREDEF_SPEC Output behavior of predefined auxiliary functions
H2: Auxiliary function outputs to PLC
8.18 Data lists
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 477
Number Identifier: $MC_ Description
22100 AUXFU_QUICK_BLOCKCHANGE Block change delay with quick auxiliary functions
22110 AUXFU_H_TYPE_INT Type of H auxiliary functions
22200 AUXFU_M_SYNC_TYPE M functions output time
22210 AUXFU_S_SYNC_TYPE S functions output time
22220 AUXFU_T_SYNC_TYPE T functions output time
22230 AUXFU_H_SYNC_TYPE H functions output time
22240 AUXFU_F_SYNC_TYPE F functions output time
22250 AUXFU_D_SYNC_TYPE D functions output time
22252 AUXFU_DL_SYNC_TYPE DL functions output time
22254 AUXFU_ASSOC_M0_VALUE Additional M function for program stop
22256 AUXFU_ASSOC_M1_VALUE Additional M function for conditional stop
22530 TOCARR_CHANGE_M_CODE M code for change of tool holder
22532 GEOAX_CHANGE_M_CODE M code for replacement of geometry axes
22534 TRAFO_CHANGE_M_CODE M code for change of tool holder
22560 TOOL_CHANGE_M_CODE Auxiliary function for tool change
8.18.2 Signals
8.18.2.1 Signals to channel
Signal name SINUMERIK 840D sl SINUMERIK 828D
Activate associated M01 DB21, ... .DBX30.5 DB3200.DBX14.5
8.18.2.2 Signals from channel
Signal name SINUMERIK 840D sl SINUMERIK 828D
M function 1 - 5 change DB21, ... .DBX58.0-4 DB2500.DBX4.0-4
M function 1 - 5 not decoded DB21, ... .DBX59.0-4 -
S function 1 - 3 change DB21, ... .DBX60.0-2 DB2500.DBX6.0
S function 1 - 3 quick DB21, ... .DBX60.4-6 -
T function 1 - 3 change DB21, ... .DBX61.0-2 DB2500.DBX8.0
T function 1 - 3 quick DB21, ... .DBX61.4-6 -
D function 1 - 3 change DB21, ... .DBX62.0-2 DB2500.DBX10.0
D function 1 - 3 quick DB21, ... .DBX62.4-6 -
DL function change DB21, ... .DBX63.0 -
DL function quick DB21, ... .DBX63.4 -
H function 1 - 3 change DB21, ... .DBX64.0-2 DB2500.DBX12.0-2
H2: Auxiliary function outputs to PLC
8.18 Data lists
Basic Functions
478 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Signal name SINUMERIK 840D sl SINUMERIK 828D
H function 1 - 3 quick DB21, ... .DBX64.4-6 -
F function 1 - 6 change DB21, ... .DBX65.0-5 -
M function 1 - 5 quick DB21, ... .DBX66.0-4 -
F function 1 - 6 quick DB21, ... .DBX67.0-5 -
Extended address M function 1 (16 bit int) DB21, ... .DBB68-69 DB2500.DBB3004
M function 1 (DInt) DB21, ... .DBB70-73 DB2500.DBD3000
Extended address M function 2 (16 bit int) DB21, ... .DBB74-75 DB2500.DBB3012
M function 2 (DInt) DB21, ... .DBB76-79 DB2500.DBD3008
Extended address M function 3 (16 bit int) DB21, ... .DBB80-81 DB2500.DBB3020
M function 3 (DInt) DB21, ... .DBB82-85 DB2500.DBD3016
Extended address M function 4 (16 bit int) DB21, ... .DBB86-87 DB2500.DBB3028
M function 4 (DInt) DB21, ... .DBB88-91 DB2500.DBD3024
Extended address M function 5 (16 bit int) DB21, ... .DBB92-93 DB2500.DBB3036
M function 5 (DInt) DB21, ... .DBB94-97 DB2500.DBD3032
Extended address S function 1 (16 bit int) DB21, ... .DBB98-99 DB2500.DBB4004
S function 1 (real) DB21, ... .DBB100-103 DB2500.DBD4000
Extended address S function 2 (16 bit int) DB21, ... .DBB104-105 DB2500.DBB4012
S function 2 (real) DB21, ... .DBB106-109 DB2500.DBD4008
Extended address S function 3 (16 bit int) DB21, ... .DBB110-111 DB2500.DBB4020
S function 3 (real) DB21, ... .DBB112-115 DB2500.DBD4016
Extended address T function 1 (16 bit int) DB21, ... .DBB116-117 DB2500.DBB2004
T function 1 (integer) DB21, ... .DBB118-119 DB2500.DBD2000
Extended address T function 2 (16 bit int) DB21, ... .DBB120-121 -
T function 2 (integer) DB21, ... .DBB122-123 -
Extended address T function 3 (16 bit int) DB21, ... .DBB124-125 -
T function 3 (integer) DB21, ... .DBB126-127 -
Extended address D function 1 (8 bit int) DB21, ... .DBB128 DB2500.DBB5004
D function 1 (8 bit int) DB21, ... .DBB129 DB2500.DBD5000
Extended address D function 2 (8 bit int) DB21, ... .DBB130 -
D function 2 (8 bit int) DB21, ... .DBB131 -
Extended address D function 3 (8 bit int) DB21, ... .DBB132 -
D function 3 (8 bit int) DB21, ... .DBB133 -
Extended address DL function (8 bit int) DB21, ... .DBB134 -
DL function (real) DB21, ... .DBB136 -
Extended address H function 1 (16 bit int) DB21, ... .DBB140-141 DB2500.DBB6004
H function 1 (real or DInt) DB21, ... .DBB142-145 DB2500.DBD6000
Extended address H function 2 (16 bit int) DB21, ... .DBB146-147 DB2500.DBB6012
H function 2 (REAL or DInt) DB21, ... .DBB148-151 DB2500.DBD6008
Extended address H function 3 (16 bit int) DB21, ... .DBB152-153 DB2500.DBB6020
H function 3 (real or DInt) DB21, ... .DBB154-157 DB2500.DBD6016
Extended address F function 1 (16 bit int) DB21, ... .DBB158-159 -
H2: Auxiliary function outputs to PLC
8.18 Data lists
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 479
Signal name SINUMERIK 840D sl SINUMERIK 828D
F function 1 (real) DB21, ... .DBB160-163 -
Extended address F function 2 (16 bit int) DB21, ... .DBB164-165 -
F function 2 (real) DB21, ... .DBB166-169 -
Extended address F function 3 (16 bit int) DB21, ... .DBB170-171 -
F function 3 (real) DB21, ... .DBB172-175 -
Extended address F function 4 (16 bit int) DB21, ... .DBB176-177 -
F function 4 (real) DB21, ... .DBB178-181 -
Extended address F function 5 (16 bit int) DB21, ... .DBB182-183 -
F function 5 (real) DB21, ... .DBB184-187 -
Extended address F function 6 (16 bit int) DB21, ... .DBB188-189 -
F function 6 (real) DB21, ... .DBB190-193 -
Dynamic M function: M00 - M07 DB21, ... .DBB194 DB2500.DBB1000
Dynamic M function: M08 - M15 DB21, ... .DBB195 DB2500.DBB1001
Dynamic M function: M16 - M23 DB21, ... .DBB196 DB2500.DBB1002
Dynamic M function: M24 - M31 DB21, ... .DBB197 DB2500.DBB1003
Dynamic M function: M32 - M39 DB21, ... .DBB198 DB2500.DBB1004
Dynamic M function: M40 - M47 DB21, ... .DBB199 DB2500.DBB1005
Dynamic M function: M48 - M55 DB21, ... .DBB200 DB2500.DBB1006
Dynamic M function: M56 - M63 DB21, ... .DBB201 DB2500.DBB1007
Dynamic M function: M64 - M71 DB21, ... .DBB202 DB2500.DBB1008
Dynamic M function: M72 - M79 DB21, ... .DBB203 DB2500.DBB1009
Dynamic M function: M80 - M87 DB21, ... .DBB204 DB2500.DBB1010
Dynamic M function: M88 - M95 DB21, ... .DBB205 DB2500.DBB1011
Dynamic M function: M96 - M99 DB21, ... .DBX206.0-3 DB2500.DBB1012.0-3
Associated M00/M01 active DB21, ... .DBX318.5 DB3300.DBX4002.5
8.18.2.3 Signals to axis/spindle
Signal name SINUMERIK 840D sl SINUMERIK 828D
F function for positioning axis (real) DB31, ... .DBB78-81 -
8.18.2.4 Signals from axis/spindle
Signal name SINUMERIK 840D sl SINUMERIK 828D
M function for spindle (Int) DB21, ... .DBB86-87 DB370x.DBD0000
S function for spindle (real) DB21, ... .DBB88-91 DB370x.DBD0004
H2: Auxiliary function outputs to PLC
8.18 Data lists
Basic Functions
480 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 481
K1: Mode group, channel, program operation, reset
response
9
9.1 Brief description
Channel
An NC channel represents the smallest unit for manual traversing of axes and automatic
processing of part programs. At any one time, a channel will always be in a particular mode,
e.g. AUTOMATIC, MDA, or JOG. A channel can be regarded as an independent NC.
Mode group
A channel always belongs to a mode group. A mode group can also consist of several
channels.
A mode group can be identified by the fact that all channels of the mode group are always in
the same mode at a particular time, e.g. AUTOMATIC, MDA, or JOG. This is ensured
through the NC internal mode logic.
A mode group can be regarded as an independent multi-channel NC.
Channel gaps
When channels are configured, placeholder channels can be provided in order to create as
uniform a configuration as possible over machines in a series. Only the channels that are
actually used are then activated.
Program test
The following options are available for testing or moving in position a new part program.
Program execution without setpoint outputs
Program execution in single-block mode
Program execution with dry run feedrate
Skip part program blocks
Block search with or without calculation.
Block search
The block search function enables the following program simulations for locating specific
program points:
Type 1 without calculation at contour
Type 2 with calculation at contour
K1: Mode group, channel, program operation, reset response
9.1 Brief description
Basic Functions
482 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Type 4 with calculation at block end point
Type 5 automatic start of the selected program point with calculation of all required data
from history
Automatic start of an ASUB after a block search
Cascaded block search
Cross-channel block search in "Program test" mode
Program operation
The execution of part programs or part program blocks in AUTOMATIC or MDA modes is
referred to as program operation. During execution, the program sequence can be controlled
by PLC interface signals and commands.
For each channel, basic settings or channel-specific machine data can be specified. These
initial settings affect, for example, G groups and auxiliary function output.
A part program can be selected only if the relevant channel is in the Reset state.
Furthermore, all further program runs are handled by PLC interface signals and the
corresponding commands.
Start of part program or part program block
Part program calculation and program control
RESET command, program status, and channel status
Responses to operator and program actions
Event-driven program calls
Asynchronous subroutines (ASUBs), interrupt routines
Interrupt inputs allow the NC to interrupt the the current part program execution so that it can
react to more urgent events in interrupt routines or ASUBs.
Single block
With the single-block function, the user can execute a part program block-by-block.
There are 3 types of setting for the single-block function:
SLB1: = IPO single block
SLB2: = Decode single block
SLB3: = Stop in cycle
K1: Mode group, channel, program operation, reset response
9.1 Brief description
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 483
Basic block display
A second basic block display can be used with the existing block display to display all blocks
that produce an action on the machine.
The actually approached end positions are shown as an absolute position. The position
values refer either to the workpiece coordinate system (WCS) or the settable zero system
(SZS).
Program execution from external source
When complex workpieces are machined, the NC may not have enough memory for the
programs. The "Execution from external source" function enables subroutines to be called
(EXTCALL) and executed from an external memory (e.g. from the HMI Advanced hard disk).
Behavior after POWER ON, Reset, ...
The control-system response after:
Power up (POWER ON)
Reset/part program end
Part program start
can be modified for functions, such as G codes, tool length compensation, transformation,
coupled axis groupings, tangential follow-up, programmable synchronous spindle for certain
system settings through machine data.
Subroutine call with M, T and D functions
For certain applications, it may be advantageous to replace M, T or D functions as well as a
few NC language commandsSPOS, SPOSA, by a subroutine call. This can be used, for
example, to call the tool change routine.
Relevant machine data can be used to define and control subroutines having M, T or D
functions. For example, for a gear stage change.
Program runtime/part counter
Information on the program runtime and the part count is provided to assist the machine tool
operator.
The functions defined for this purpose are not identical to the functions of tool management
and are intended primarily for systems without tool management.
K1: Mode group, channel, program operation, reset response
9.2 Mode group (MG)
Basic Functions
484 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.2 Mode group (MG)
Mode group
A mode group combines NC channels with axes and spindles to form a machining unit.
A mode group contains the channels that are required to run simultaneously in the same
mode from the point of view of the machining sequence.
The configuration of a mode group defines which channels are to be included in the group.
Note
This description assumes one mode group and one channel.
Functions that need several channels (e.g. "Axis replacement" function), are described in:
References:
Function Manual Extended Functions; Mode Groups, Channels, Axis replacement (K5)
Assignment: Channel - Mode group
Axes and/or spindles are assigned to one channel.
The channel, in turn, is assigned to a mode group with the following machine data:
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP (channel valid in mode group)
If the same mode group is addressed in several channels, these channels together form a
mode group.
Note
The control system does not recognize mode group-specific data. However, it is possible to
make some channel-specific settings that pertain to the mode group.
Channel-specific assignments
Axes can be assigned to multiple channels that, in turn, are allocated to different mode
groups. The axes can then be interchanged between these channels (axis replacement).
Axis replacement functions independently of the mode group.
Machine axes and spindles are assigned to a channel. They differ as follows:
Geometry axes can be operated in the path grouping.
Using the master spindle, they can perform functions such as G96, G961, G331, G332, etc.
Channel axes that are not defined as geometry axes can be moved as path axes,
synchronous axes, positioning axes, PLC axes, and command axes.
Special axes have no geometric relationship with one another.
K1: Mode group, channel, program operation, reset response
9.2 Mode group (MG)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 485
Master spindle geometry axes can perform functions using the master spindle.
Auxiliary spindles are all other spindles/axes in the channel apart from the master
spindle.
The GEOAX replacement command can be programmed to declare a channel axis as a
geometry axis and define its geometry axis number. It is defined with SETMS, which spindle in
the channel should be the master spindle.
Any axis in the channel can be configured as a spindle. The number of axes per channel
depends on the control version. In order to optimize the performance utilization, the available
channel and axis configurations are limited depending on the hardware.
With SINUMERIK 840D sl, the following configurations are permissible depending on the
HW/SW version:
Up to 12 axes/spindles per channel
Maximum of 31 axes or 20 spindles per NCU
For information about other axis configurations such as axis containers, link axes,
reciprocating axes, main run, rotary, linear, master and slave axes and the various
implementations, see K2: Axis Types, Coordinate Systems, Frames (Page 695) and S1:
Spindles (Page 1279).
Mode group-specific interface signals
The exchange of mode group-specific signals to/from the mode group is transferred to DB11
in the user interface. In this way, the mode group can be monitored and controlled from the
PLC or NCK.
The following table represents all the mode group-specific interface signals.
Signals from PLC to NCK
Mode group Reset
Mode group Stop axes plus spindles
Mode group Stop
Mode change
Operating mode: JOG, MDA, AUTOM.
Single block: Type A, Type B
Machine function REF, REPOS, TEACH IN,
Signals from NCK to PLC
Mode strobe: JOG, MDA, AUTOMATIC
Machine function strobe: REF, REPOS, TEACH IN
All channels (1 to 10, max.) in Reset state
Mode group Ready
Active mode: JOG, MDA, AUTOMATIC
Digitizing
Active machine function: REF, REPOS, TEACH IN
var. INC, 10000 INC ......... 1 INC
K1: Mode group, channel, program operation, reset response
9.2 Mode group (MG)
Basic Functions
486 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Change in mode group
A configuration change of a mode group with respect to its assigned channels requires a
subsequent POWER ON.
The change is made using machine data:
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP.
Mode group numbers must be assigned contiguously starting with 1.
Machine data
There are no mode group-specific machine data.
Channel gaps
The channels to which a mode group is assigned with MD10010 are regarded as activated.
Instead of a mode group number, the number "0" can be assigned to channels. The result is
as follows:
The non-activated channel does not take up memory space in the control.
Series machines with similar designs can be kept uniform during configuration. Only the
channels that can actually be used by the machine tool are activated (channels with
mode group number greater than 0).
Special case:
Channel 1 must always be available!
If:
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP [0] = 0
is specified, the control automatically sets
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP [0] = 1 (mode group 1).
Example configurations:
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP[0] = 1
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP[1] = 2
...
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP[3] = 0 ; gap
...
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP[8] = 1
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP[9] = 2
K1: Mode group, channel, program operation, reset response
9.2 Mode group (MG)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 487
9.2.1 Mode group Stop
Function
The following NC/PLC interface signals are used to stop the traversing motions of the axes
or of the axes and spindles in all mode group channels and to interrupt part program
execution:
DB11 DBX0.5 (mode group Stop)
DB11 DBX0.6 (mode group Stop axes plus spindles)
9.2.2 Mode group RESET
Function
A mode group Reset is requested via a mode group-specific NC/PLC interface signal:
DB11 DBX0.7 = 1 (mode group reset)
Effect
Effect on the channels of mode group:
Part program preparation (preprocessing) is stopped.
All axes and spindles are decelerated to zero speed according to their acceleration
curves without contour violation.
Any auxiliary functions not yet output to the PLC are no longer output.
The preprocessing pointers are set to the interruption point, and the block pointers are set
to the beginning of the appropriate part programs.
All initial settings, (e.g. the G functions), are set to the parameterized values.
All alarms with "Channel reset" criterion are canceled.
If all the channels of the mode group are in reset state, then:
All alarms with "Mode group reset" cancel criterion are canceled.
The NC/PLC interface indicates completion of the mode group Reset and the mode
group's readiness to operate:
DB11 DBX6.7 (all channels in the reset state)
DB11 DBX6.3 = 1 (mode group ready)
K1: Mode group, channel, program operation, reset response
9.3 Mode types and mode type change
Basic Functions
488 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.3 Mode types and mode type change
Unique mode
The channels of a mode group operate in one mode.
A mode group is either in AUTOMATIC, JOG, or MDA mode.
Several channels of the same mode group cannot be in different modes at the same time. If
individual channels are assigned to different mode groups, a channel switchover activates
the corresponding mode group. This allows mode changes to be initiated via a channel
switchover.
Modes in the mode group
The following operating modes are available:
AUTOMATIC
Automatic processing of part programs.
Part program test
All channels of the mode group can be active at the same time.
JOG in Automatic
JOG in AUTOMATIC is an extension of AUTOMATIC mode intended to simplify use. JOG
can be executed without leaving AUTOMATIC mode if boundary conditions so permit.
JOG
Jogging (manual axis traversal)
The axes can be traversed manually with the handwheel or the traversing keys.
Channel-specific signals and interlocks are effective in ASUBs and when a movement
is activated via IDS synchronized actions. Links are also taken into account.
Every channel in the mode group can be active.
MDA
Manual Data Automatic (the NC blocks are entered via the operator panel)
Restricted automatic execution of part programs and sections of part programs (can
be only one block or a sequence of blocks).
Part program test
A maximum of 1 channel per mode group can be active (applies only to TEACH IN)
Axes can be manually traversed only in subordinate machine functions such as JOG,
REPOS or TEACH IN.
K1: Mode group, channel, program operation, reset response
9.3 Mode types and mode type change
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 489
Applies to all modes
Cross-mode synchronized actions
Modal synchronized actions can be executed per IDS in all modes for the following functions
in parallel to the channel:
Command axis functions
Spindle functions
Technology cycles
Selection
The user can select the desired operating mode by means of soft keys on the operator
interface.
This selection (AUTOMATIC, MDA, or JOG) is transferred to interface signals:
DB11 DBX4.0-2 (strobe mode)
in the PLC, but is not activated at this point.
Activation and priorities
The desired mode of the mode group is activated via the interface signals:
DB11 DBX0.0-2 (mode type)
If several modes are selected at the same time, the following priority is in effect:
Priority Mode Mode-group signal (NCK
PLC)
1st priority, high JOG DB11 DBX0.2
2nd priority, medium MDA DB11 DBX0.1
3rd priority, low AUTOMATIC DB11 DBX0.0
Display
The current mode of the mode group is displayed via the interface signals:
DB11 DBX6.0-2 (active mode)
Mode-group signal (NCK PLC) Active operating mode
DB11 DBX6.2 JOG
DB11 DBX6.1 MDA
DB11 DBX6.0 AUTOMATIC
Global machine function for mode group
After mode selection, a machine function can be selected, which is then valid globally for the
whole mode group.
K1: Mode group, channel, program operation, reset response
9.3 Mode types and mode type change
Basic Functions
490 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Within JOG mode
Within JOG mode, one of the following machine functions can be selected:
REF (reference point approach)
REPOS (repositioning)
Within MDA mode
Within MDA mode, one of the following machine functions can be selected:
REF (reference point approach)
REPOS (repositioning)
TEACHIN (teach-in of axis positions)
TEACH IN, REPOS or REF
The selection of the machine functions TEACH IN, REPOS or REF from the user interface is
stored under the interface signal:
DB11 DBX5.0-2 (strobe machine function)
The desired machine functions TEACHIN, REPOS or REF are activated with the interface
signals:
DB11 DBX1.0-2 (machine function)
The display of the active machine function TEACHIN, REPOS or REF can be seen in the
interface signal:
DB11 DBX7.0-2 (active machine function)
Operating statuses
The following three channel statuses can occur in each mode:
1. Channel reset
The machine is in its initial state. This is defined by the machine manufacturer's PLC
program, e.g. after POWER ON or at the end of the program.
2. Channel active
A program has been started, and the program is being executed or a reference point
approach is in progress.
3. Channel interrupted
The running program or reference point approach has been interrupted.
Functions in the modes
Modes are supplemented through user-specific functions. These functions are not related to
any particular technology or machine. A subset of the available functions can be selected in
each mode, depending on the operating state.
K1: Mode group, channel, program operation, reset response
9.3 Mode types and mode type change
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 491
These functions are categorized as follows:
NCK-specific functions
Mode group-specific functions
Channel-specific functions
The individual functions can be started and/or executed from the three individual channel
statuses: "channel reset", "channel active", or "channel interrupted". The channel states and
program states can be checked on the operator panel.
Boundary condition for submode TEACH IN
TEACH IN is not permissible for leading or following axes of an active axis grouping, e.g. for:
gantry axis grouping or a gantry axis pair
Coupled-axis grouping of master and slave axis
JOG in AUTOMATIC details
JOG in AUTOMATIC mode is permitted if the mode group is in RESET state and the axis is
jog-capable.
RESET for the mode group means:
All channels in RESET state.
All programs interrupted.
No DRF channel active.
Jog-capable axis means:
The axis is not:
A PLC axis (as a concurrent positioning axis), i.e. the PLC has fetched the axis via
axis replacement (e.g. via FC18).
A command axis, i.e. the axis was programmed by a synchronous action and the
motion has not yet been completed.
A rotating spindle, e.g. a spindle rotating despite RESET.
An asynchronous reciprocating axis.
Comment: The jog-capable property is independent of the JOG in AUTOMATIC function.
Activation
The function "JOG in AUTOMATIC" can be activated with the machine data:
MD10735 $MN_JOG_MODE_MASK
K1: Mode group, channel, program operation, reset response
9.3 Mode types and mode type change
Basic Functions
492 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
1. Before POWER ON, the following machine data must be set:
MD10735 $MN_JOG_MODE_MASK, Bit 0
2. The user switches to AUTO (PLC user interface DB11 DBX0.0 = 01 edge). JOG in
AUTOMATIC is then active if the NCK previously had channel status RESET and
program status Aborted in all mode group channels. The axis in question must also be
jog-capable. DRF must be deactivated (if not already deactivated).
3. RESET is initiated or the running program is finished with M30/M2 in all mode group
channels that do not have channel status Reset and program status Aborted.
4. The relevant axis is made "Jog-capable" (e.g. axis replacement PLCNCK).
Comment: In most applications, the axes to be traversed are JOG-capable and switching to
AUTO will also activate JOG in AUTOMATIC!
Features of JOG in AUTOMATIC
The +/ keys cause a JOG movement, and the mode group is switched internally to JOG.
(i.e. Internal JOG).
Moving the handwheels causes a JOG movement, and the mode group is switched
internally to JOG, unless DRF is active.
An ongoing JOG movement is not complete until the end position of the increment has
been reached (if this has been set) or the movement has been aborted with Delete
distance-to-go.
In this way an increment can be stopped using Stop and then moved to the end using
Start. The NCK remains in Internal JOG during this time. A partial increment is possible,
but it must not be interrupted using Stop. There is a mode in which releasing the travel
key causes interruption within an increment.
Without any JOG movement, JOG in AUTOMATIC responds in the same way as
Automatic. In particular, the Start key starts the selected part program and the
appropriate HMI softkey initiates a block search.
If JOG movement is active, the NCK is internally in JOG mode, and, thus, a block search
request is refused and a Start cannot start the part program. Start starts any remaining
increment or has no effect.
While a mode group axis is being traversed in JOG mode, the mode group remains
internally in JOG mode.
Comment: This phase can begin with the JOG movement of an axis and end with the end
of the JOG movement of another axis.
Axis replacement is not possible for an axis with active JOG movement. (The axis might
change mode group). The NCK blocks any axis replacement attempt.
K1: Mode group, channel, program operation, reset response
9.3 Mode types and mode type change
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 493
The PLC user interface indicates "Automatic" mode:
DB11 DBX6.0=1
DB11 DBX6.1=0
DB11 DBX6.2=0
DB11 DBX7.0=0
DB11 DBX7.1=0
DB11 DBX7.2=0
In JOG in AUTOMATIC, the PLC user interface displays whether the mode group is in
Mode group RESET. This enables the NCK to now automatically switch internally to
JOG, if required.
DB11 DBX6.4
DB11 DBX26.4; For mode group 2
DB11 DBX46.4; For mode group 3
In JOG in AUTOMATIC, the PLC user interface displays whether the NCK has
automatically switched to Internal JOG.
DB11 DBX6.5
DB11 DBX26.5; For mode group 2
DB11 DBX46.5; For mode group 3
Boundary conditions
JOG in AUTOMATIC can only switch internally to JOG if the mode group is in Mode group
RESET state, i.e. it is not possible to jog immediately in the middle of a stopped program.
The user can jog in this situation by pressing the JOG key or the Reset key in all channels of
the mode group.
Selecting AUTOMATIC disables the INC keys and the user can/must press the INC keys
again to select the desired increment. If the NCK switches to Internal JOG, the selected
increment is retained.
If the user attempts to jog the geometry or orientation axes, the NCK switches to Internal
JOG and the motion is executed. Several axes can be physically moved in this way; they
must all be JOG-capable.
Following the JOG movement, the NCK deactivates Internal JOG again and selects AUTO
mode again. The internal mode change is delayed until the movement is complete. This
avoids unnecessary multiple switching operations, e.g. when using the handwheel. The PLC
can only rely on the Internal JOG active PLC signal.
The NCK will then switch to Internal JOG if the axis is not enabled.
See also
R1: Reference point approach (Page 1223)
K1: Mode group, channel, program operation, reset response
9.3 Mode types and mode type change
Basic Functions
494 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.3.1 Monitoring functions and interlocks of the individual modes
Channel status determines monitoring functions
Monitoring functions in operating modes
Different monitoring functions are active in individual operating modes. These monitoring
functions are not related to any particular technology or machine.
In a particular mode only some of the monitoring functions are active depending on the
operating status. The channel status determines which monitoring functions are active in
which mode and and in which operating state.
Interlocking functions in operating modes
Different interlocks can be active in the different operating modes. These interlocking
functions are not related to any particular technology or machine.
Almost all the interlocks can be activated in every mode, depending on the operating status.
9.3.2 Mode change
Introduction
A mode change is requested and activated via the mode group interface (DB11, ...). A mode
group will either be in AUTOMATIC, JOG, or MDA mode, i.e. it is not possible for several
channels of a mode group to take on different modes at the same time.
What mode transitions are possible and how these are executed can be configured in the
PLC program on a machine-specific basis.
Note
The mode is not changed internally until the signal "Channel status active" is no longer
pending. For error-free mode change however, all channels must assume a permissible
operating mode.
K1: Mode group, channel, program operation, reset response
9.3 Mode types and mode type change
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 495
Possible mode changes
The following table shows possible mode changes for one channel.
AUTOMATIC JOG MDA
AUTO MDA JOG without
handwheel
AUTO
Reset Interrupt Reset Interrupt Interrupt Reset Interrupt active Interrupt
AUTOMATIC X X X
JOG X X X X X
MDA X X X X
Possible mode changes are shown by an "X".
Special cases
Errors during mode change
If a mode change request is rejected by the system, the error message "Operating mode
cannot be changed until after NC Stop" is output. This error message can be cleared
without changing the channel status.
Mode change disable
A mode change can be prevented by means of interface signal:
DB11, DBX0.4 (Mode change disable).
This suppresses the mode change request.
The user must configure a message to the operator indicating that mode change is
disabled. No signal is set by the system.
Mode change from MDA to JOG
If all channels of the mode group are in Reset state after a mode change from MDA to
JOG, the NC switches from JOG to AUTO. In this state, part program commands START or
INIT can be executed.
If a channel of the mode group is no longer in Reset state after a mode change, the part
program command START is rejected and Alarm 16952 is issued.
K1: Mode group, channel, program operation, reset response
9.4 Channel
Basic Functions
496 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.4 Channel
Assignment part program - channel
Part programs are assigned to channels.
Part programs of different channels are largely independent of each other.
Channel properties
A channel constitutes an "NC" in which one part program can be executed at a time.
Machine axes, geometry axes and positioning axes are assigned to the channels according
to the machine configuration and the current program status (AXIS CHANGE, GEO AXIS
CHANGE, SETMS).
The system assigns each channel its own path interpolator with associated programming.
Each channel can run its own machining program, which is controlled from the PLC.
The following channel-specific functions make it possible for the channels to process part
programs independently:
Each channel has its own NC Start, NC Stop, RESET.
One feedrate override and one rapid traverse override per channel.
Dedicated interpreter for each channel.
Dedicated path interpolator for each channel, which calculates the path points such that
all the machining axes of the channel are controlled simultaneously from path axes.
Selection and deselection of tool cutting edges and their length and radius
compensations for a tool in a specific channel.
For more information on tool offset, refer to:
References:
/FB1/ Function Manual, Basic Functions; Tool Offset (W1)
Channel-specific frames and frames active in the channel for transforming closed
calculation rules into Cartesian coordinate systems. Offsets, rotations, scalings, and
mirrorings for geometry axes and special axes are programmed in a frame.
For more information on frames, refer to:
References:
/FB1/ Function Manual, Basic Functionse; Axes, Coordinate Systems, Frames (K2),
Chap: "External work offset"
Display of channel-specific alarm responses.
Display of current machining sequence (axis position, current G functions, current
auxiliary functions, current program block) for each channel.
Separate program control functions for each channel.
These functions (with the exception of the display functions) are controlled and checked by
the PLC with interface signals.
Channels in the same mode group always have to be operated in the same mode
(AUTOMATIC, JOG, MDA).
K1: Mode group, channel, program operation, reset response
9.4 Channel
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 497
Channel configuration
Channels can be filled with their own channel name via the following machine data:
MD20000 $MC_CHAN_NAME (channel name)
The various axes are then assigned to the available channels via machine data. There can
be only one setpoint-issuing channel at a time for an axis/spindle. The axis/spindle actual
value can be read by several channels at the same time. The axis/spindle must be registered
with the relevant channel.
Moreover, the following channel-specific settings can also be defined via machine data:
Position of deletions or the basic program settings of G groups via the machine data:
MD20150 $MC_GCODE_RESET_VALUES (RESET position of G groups)
Auxiliary function groups regarding the combination and the output time.
Transformation conditions between machine axes and geometry axes
Other settings for the execution of a part program
Change in the channel assignment
An online change in the channel configuration cannot be programmed in a part program or
PLC user program. Changes in the configuration must be made via the machine data. The
changes become effective only after a new POWER ON.
Container axes and link axes
An axis container combines a group of axes in a container. These axes are referred to as
container axes. This involves assigning a pointer to a container slot (ring buffer location
within the relevant container) to a channel axis. One of the axes in the container is located
temporarily in this slot.
Each machine axis in the axis container must be assigned at all times to exactly one channel
axis.
Link axes can be assigned permanently to one channel or dynamically (by means of an axis
container switch) to several channels of the local NCU or the other NCU. A link axis is a non-
local axis from the perspective of one of the channels belonging to the NCU to which the axis
is not physically connected.
The assignment between the link axes and a channel is implemented as follows:
For permanent assignment using machine data:
Allow the direct logic machine axis image to show link axes.
For dynamic assignment:
Allow the axis container slot machine data to show link axes.
For more information on link axes and container axes, refer to
References:
/FB2/ Function Manual, Extended Functions; Several Operator Panel Fronts and NCUs,
Distributed Systems (B3)
K1: Mode group, channel, program operation, reset response
9.4 Channel
Basic Functions
498 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Interface signals
NCK channel 1 signals lie in DB21 of the user interface, those of channel 2 in DB22. The
channel or channels can be monitored and controlled from the PLC or NCK.
Technology in channel
The machine data can be used to relate the technology specification for the machine to
specific channels:
MD27800 $MC_TECHNOLOGY_MODE
Among other functions, this information is used for evaluation in HMI, PLC, and standard
cycles.
Siemens supplies standard MD for milling. If the machine tool is not a milling machine, but
some other type, a different data/program block can be loaded by the HMI or PLC depending
on the technology mode set in the machine data.
Spindle functions using a PLC
It is possible to control special spindle motions via an axial PLC interface as an alternative to
FC18 and to start and stop them using VDI interface signals without executing a part
program.
This option is available only if the channel status is in "Interrupted" or "RESET" mode and
the program status is in "Interrupted" or "Aborted" mode. This acceptance state will occur in
case of RESET and in JOG mode.
A separate spindle start can be set for each spindle. The following spindle functions can be
controlled by PLC via interface signals:
Spindle Stop (corresponds to M5)
Spindle Start clockwise (corresponds to M3)
Spindle Start counterclockwise" (corresponds to M4)
Select gear stage
Spindle positioning (corresponds to M19)
In the case of multi-channel operation, the spindle started by the PLC becomes active in the
channel that is handling the spindle when the start command is received.
For more information about the special spindle interface, see:
References:
/FB1/ Function Manual, Basic Functions; Spindles (S1)
K1: Mode group, channel, program operation, reset response
9.4 Channel
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 499
Autonomous single-axis operations
It is possible to decouple a particular axis/spindle in the main run from the channel behavior
triggered by the NC program run.
The PLC identifies the corresponding axis/spindle from the axial NC/PLC interface signal:
DB31, ... DBB28.7 (PLC controlled axis) = 1 assume control
DB31, ... DBB28.7 (PLC controlled axis) = 0 relinquish control
The following functions can be controlled from the PLC:
Cancel axis/spindle sequence (equivalent to delete distance-to-go)
Stop or interrupt axis/spindle
Resume axis/spindle operation (continue the motion sequence)
Reset axis/spindle to the initial state
For a detailed description of these stand-alone single axis operations, refer to:
References:
/FB2/ Function Manual, Basic Functions; Positioning axes (P2)
For additional information on the channel-specific signal exchange (PLC NCK), see:
References:
/FB1/ Function Manual Basic Functions; PLC Basic Program (P3)
9.4.1 Global start disable for channel
User/PLC
A global Start disable can be set for the selected channel via the HMI or from the PLC.
Function
When Start disable is set, no new program starts are accepted for the selected channel.
Start attempts are counted internally.
If a start is executed by the PLC before a global block disable is sent from the HMI to the
NCK, the program is not stopped by the Start disable and its status is transmitted to the HMI.
NC Start disable and global Start disable have the same effect on the internal counter for
starts that have been sent but not executed. (OPI variable startRejectCount).
K1: Mode group, channel, program operation, reset response
9.4 Channel
Basic Functions
500 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Bypassing global Start disable
The interface signal:
DB21, ... DBX7.5 (PLC NCK)
allows the PLC to temporarily bypass a global Start disable.
0: Global Start disable is effective
1: Global Start disable is temporarily canceled.
Messages
If desired, a message can be issued when a Start attempt occurs while a global block
disable is active.
The control is exercised using machine data:
MD11411 $MN_ENABLE_ALARM_MASK Bit 6
1: Alarm 16956 appears: Channel %1, Program %2 cannot be started because of
"Global Start disable".
0: Start attempts when a global block disable is set are not signaled by an alarm.
K1: Mode group, channel, program operation, reset response
9.5 Program test
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 501
9.5 Program test
Several control functions are available for testing a new part program. These functions are
provided to reduce danger at the machine and time required for the test phase. Several
program functions can be activated at the same time to achieve a better result.
Test options
The following test options are described below:
Program execution without setpoint outputs
Program execution in single-block mode
Program execution with dry run feedrate
Skip part program blocks
Block search with or without calculation.
9.5.1 Program execution without setpoint outputs
Function
In the "Program test" status, a part program is executed without the output of axis or spindle
setpoints.
The user can use this to check the programmed axis positions and auxiliary function outputs
of a part program. This program simulation can also be used as an extended syntax check.
Selection
This function is selected via the operator interface in the "Program control" menu.
The selection sets the following interface signal:
DB21, ... DBX25.7 (program test selected)
This does not activate the function.
Activation
The function is activated via interface signal:
DB21, ... DBX1.7 (activate program test)
K1: Mode group, channel, program operation, reset response
9.5 Program test
Basic Functions
502 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Display
The corresponding field on the operator interface is reversed and the interface signal in the
PLC as a checkback of the active program test:
DB21, ... DBX33.7 (program test active)
Program start and program run
When the program test function is active, the part program can be started and executed (incl.
auxiliary function outputs, wait times, G function outputs etc.) via the interface signal:
DB21, ... DBX7.1 (NC-Start)
The safety functions such as software limit switch, working area limits continue to be valid.
The only difference compared to normal program operation is that an internal axis disable is
set for all axes (including spindles). The machine axes do not move, the actual values are
generated internally from the setpoints that are not output. The programmed velocities
remain unchanged. This means that the position and velocity information on the operator
interface is exactly the same as that output during normal part program execution. The
position control is not interrupted when this function is active, so the axes do not have to be
referenced when the function is switched off.
CAUTION
The signals for exact stop:
DB31, ... DBX60.6/60.7 (exact stop coarse/fine)
mirror the actual status on the machine.
They are only canceled during program testing if the axis is pushed out of its set position
(the set position remains constant during program testing).
With signal:
DB21, ... DBX33.7 (program test active)
both the PLC program and the part program can use variable $P_ISTEST to decide how to
react or branch in response to these signals during testing.
Note
Dry run feedrate
"Program execution without axis motion" can also be activated with the function "Dry run
feedrate". With this function, part program sections with a small programmed feedrate can be
processed in a shorter time.
K1: Mode group, channel, program operation, reset response
9.5 Program test
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 503
Note
Tool management
Because of the axis disable, the assignment of a tool magazine is not changed during
program testing. A PLC application must be used to ensure that the integrity of the data in
the tool management system and the magazine is not corrupted. The toolbox diskettes
contain an example of the basic PLC program.
9.5.2 Program execution in single-block mode
Function
In case of "Program execution in single block mode" the part program execution stops after
every program block. If tool cutter radius compensation or a tool nose radius correction is
selected, processing stops after every intermediate block inserted by the control.
The program status switches to "Program status stopped".
The channel status remains active.
The next part program block is processed on NC Start.
Application
The user can execute a part program block-by-block to check the individual machining steps.
Once the user decides that an executed part program block is functioning correctly, he can
call the next block.
Single block types
The following different types of single block are provided:
Decoding single block
With this type of single block, all blocks of the part program (even the pure computation
blocks without traversing motions) are processed sequentially by "NC Start".
Action single block (initial setting)
With this type of single block, the blocks that initiate actions (traversing motions, auxiliary
function outputs, etc.) are processed individually.
Blocks that were generated additionally during decoding (e.g. for cutter radius
compensation at acute angles) are also processed individually in single-block mode.
Processing is however not stopped at calculation blocks as these do not trigger actions.
K1: Mode group, channel, program operation, reset response
9.5 Program test
Basic Functions
504 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The single block types are determined via the user interface in the menu "Program controls".
CAUTION
In a series of G33/G34/G35 blocks, a single block is only operative if "dry run feed" is selected.
Calculation blocks are not processed in single step mode (only if single decoding block is
active).
SBL2 is also ineffective with G33/G34/G35.
Selection
It is possible to select the single block mode:
via the machine control panel (key "Single Block")
via the user interface
For an exact procedure see:
References:
Operating Manual of the installed HMI Application
Activation
The function is activated through the PLC basic program via the interface signal:
DB21, ... DBX0.4 (activate single block)
Display
Active single block mode is indicated by a reversal in the relevant field in the status line on
the operator interface.
Because of the single block mode, as soon as the part program processing has processed a
part program block, the following interface signal is set:
DB21, ... DBX35.3 (program status interrupted)
Processing without single block stop
Despite the selected single block mode, a processing without the single block stop can be
set for specific program runs, e.g. for:
internal ASUBs
User ASUBs
Intermediate blocks
Block search group blocks (action blocks)
Init blocks
Subroutines with DISPLOF
K1: Mode group, channel, program operation, reset response
9.5 Program test
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 505
Non-reorganizable blocks
Non-repositionable blocks
Reposition block without travel information
Tool approach block.
The setting is done via the following machine data:
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (Prevent single block stop)
References:
Detailed machine-data description
9.5.3 Program execution with dry run feedrate
Function
During "Program execution with dry run feedrate" the traversing speeds, which have been
programmed together with G01, G02, G03, G33, G34 and G35, are replaced by a
parameterized feedrate value:
SD42100 $SC_DRY_RUN_FEED (dry run feed rate)
The dry run feedrate also replaces the programmed revolutional feedrate in program blocks
with G95.
The exact way of working of the parameterized dry run feedrate (SD42100) depends on the
setting of another setting data:
SD42101 $SC_DRY_RUN_FEED_MODE (Mode for test run speed)
Value Meaning
0 Dry run feedrate is the maximum of the programmed feedrate and setting data SD42100.
(Default setting!)
SD42100 becomes effective only when the stored value is greater than the programmed
feedrate.
1 Dry run feedrate is the minimum of the programmed feedrate and SD42100.
SD42100 becomes effective only when the stored value is less than the programmed
feedrate.
2 The value in SD42100 acts as the dry run feed rate, regardless of the programmed feedrate.
10 As in the case of "0", except thread cutting (G33, G34, G35) and thread boring (G331,
G332, G63). These functions are executed as programmed.
11 As in the case of "1", except thread cutting (G33, G34, G35) and thread boring (G331,
G332, G63). These functions are executed as programmed.
12 As in the case of "2", except thread cutting (G33, G34, G35) and thread boring (G331,
G332, G63). These functions are executed as programmed.
A dry run feedrate can be selected in the automatic modes and activated on interruption of
an automatic mode or end of a block.
For more information on influencing the feedrate, see "V1: Feedrates (Page 1389)".
K1: Mode group, channel, program operation, reset response
9.5 Program test
Basic Functions
506 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Application
DANGER
Workpieces may not be machined when "dry run feedrate" is active because the altered
feedrates might cause the permissible tool cutting rates to be exceeded and the workpiece
or machine tool could be damaged.
Selection
This function is selected via the operator interface in the "Program control" menu.
The selection sets the following interface signal:
DB21, ... DBX24.6 (dry run feed rate selected)
This does not activate the function.
Activation
The function is activated via interface signal:
DB21, ... DBX0.6 (activate dry run feed)
Display
Active dry run feedrate mode is indicated by a reversal in the relevant field in the status line
on the operator interface.
K1: Mode group, channel, program operation, reset response
9.5 Program test
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 507
9.5.4 Skip part-program blocks
Function
When testing or breaking in new programs, it is useful to be able to disable or skip certain
part program blocks during program execution. For this, the respective records must be
marked with a slash.
%100
N120 M30
N80 ...
N30 ...
Main program/subroutine
N10 ...
N20 ...
/N40 ...
/N50 ...
N60 ...
N70 ...
N90 ...
N100 ...
N110 ...
Block being
processed
Skip blocks
N40 and N50 during
processing
Figure 9-1 Skipping part program blocks
Selection
This function is selected via the operator interface in the "Program control" menu.
The selection sets the following interface signal:
DB21, ... DBX26.0 (skip block selected)
This does not activate the function.
K1: Mode group, channel, program operation, reset response
9.5 Program test
Basic Functions
508 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Activation
The function is activated via the interface signal:
DB21, ... DBX2.0 (activate skip block)
Note
The "Skip part programs" function remains active during block searches.
Display
Activated "Skip block" function is indicated by a reversal of the relevant field on the operator
interface.
K1: Mode group, channel, program operation, reset response
9.6 Block search
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 509
9.6 Block search
Function
Block search offers the possibility of starting part program execution from almost any part
program block.
This involves the NC rapidly performing an internal run through the part program (without
traversing motions) to the selected target block during block search. Here, every effort is
made to achieve to the exact same control status as would result at the target block during
normal part program execution (e.g. with respect to axis positions, spindle speeds, loaded
tools, NC/PLC interface signals, variable values) in order to be able to resume automatic part
program execution from the target block with minimum manual intervention.
Block search types
Type 1: Block search without calculation
Block search without calculation is used to find a part program block in the quickest
possible way. No calculation of any type is performed. The control status at the target
block remains unchanged compared to the status before the start of the block search.
Type 2: Block search with calculation at contour
Block search with calculation at contour is used to enable the programmed contour to be
approached in any situation. On NC Start, the start position of the target block or the end
position of the block before the target block is approached. This is traversed up to the end
position. Processing is true to contour.
K1: Mode group, channel, program operation, reset response
9.6 Block search
Basic Functions
510 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Type 4: Block search with calculation at block end point
Block search with calculation at block end point is used to enable a target position (e.g.
tool change position) to be approached in any situation. The end position of the target
block or the next programmed position is approached using the type of interpolation valid
in the target block. This is not true to contour.
Only the axes programmed in the target block are moved. If necessary, a collision-free
initial situation must be created manually on the machine in "JOG REPOS" mode before
the start of further automatic part program execution.
Type 5: Block search with calculation in "Program test" (SERUPRO) mode
SERUPRO (search run by programtest) is a cross-channel block search with calculation.
Here, the NC starts the selected part program in "Program test" mode. On reaching the
target block, the program test is automatically deselected. This type of block search also
enables interactions between the channel in which the block search is being performed
and synchronized actions as well as with other NC channels.
Note
For more information on block searches, refer to:
References:
/FB1/ Function Manual Basic Functions; Auxiliary Function Output to PLC (H2),
Chapter: "Behavior on block search"
Subsequent actions
After completion of a block search, the following subsequent actions may occur:
Type 1 - Type 5: Automatic Start of an ASUB
When the last action block is activated, a user program can be started as an ASUB.
Type 1 - Type 4: Cascaded block search
A further block search with a different target specification can be started from "Search
target found".
9.6.1 Sequence for block search of Type 1, 2 and 4
Time sequence
The block search (Types 1, 2, and 4) proceeds as follows:
1. Activate search via input in HMI Advanced or HMI Embedded
2. Search target found, or alarm if target cannot be found
K1: Mode group, channel, program operation, reset response
9.6 Block search
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 511
3. NC Start for output of action blocks
4. NC Start for program continuation.
Block search
active (DB21, ...
DBX33.4)
Action block
active (DB21, ...
DBX32.3)
Block search
starting
Search target 1
found
Block search
starting
Search target 2
found
NC Start
action blocks
being output
Last
action block
Channel status
Reset (DB21, ...
DBX35.7)
Last action block
active (DB21, ...
DBX32.6)
Channel status
interrupted
(DB21, ... DBX35.6)
Figure 9-2 Time sequence of interface signals
Interface signals
In the PLC, the following interface signals are set according to the time sequence shown in
the figure:
DB21, ... DBX33.4 (block search active)
DB21, ... DBX32.3 (action block active)
DB21, ... DBX32.4 (approach block active)
DB21, ... DBX32.6 (last action block active)
DB21, ... DBX1.6 (PLC action complete)
Continuation mode after block search
Following the block search, the program can be resumed via interface signal:
DB21, ... DBX7.1 (NC Start).
If an axis is first programmed after "Block search with calculation at block end point", the
incremental value can be added to the value accumulated up to the search target using
setting data
SD42444 $SC_TARGET_BLOCK_INCR_PROG.
K1: Mode group, channel, program operation, reset response
9.6 Block search
Basic Functions
512 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Action blocks
Action blocks contain the actions accumulated during "Block search with calculation", such
as auxiliary function outputs and tool (T, D), spindle (S), and feedrate programming
commands. During "block search with calculation" (contour or block end point), actions such
as M function outputs are accumulated in so-called action blocks. These blocks are output
on an NC Start after "Search target found".
Note
With the action blocks, the accumulated spindle programming (S value, M3/M4/M5/M19, SPOS)
also becomes active.
The PLC user program must ensure that the tool can be operated and that, if necessary, the
spindle programming is reset via PLC signal:
DB31, ... DBX2.2(spindle reset)
or the spindle programming is not output.
Single-block processing: MD10702 $MN_IGNORE_SINGLEBLOCK_MASK ()
By setting bit 3 = 1, it is possible to prevent a stop after every action block in single-block
mode.
Boundary conditions for approach block/target block
Block search type 2
Interface signal:
DB21, ... DBX32.4 (approach block active)
is only set with "Block search with calculation at contour" because a separate approach
block is not generated with "Block search with calculation at block end point" (the approach
block is the same as the target block).
Block search type 4
The approach movement "Search with calculation to block end point" is performed using the
type of interpolation valid in the target block. This should be G0 or G1, as appropriate. With
other types of interpolation, the approach movement can be aborted with an alarm (e.g.
circle end point error on G2/G3).
9.6.2 Block search in connection with other NCK functions
9.6.2.1 ASUB after and during block search
Synchronization of the channel axes
With the start of an ASUB after "block search with calculation", the actual positions of all
channel axes are synchronized during preprocessing.
K1: Mode group, channel, program operation, reset response
9.6 Block search
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 513
Effects:
System variable: $P_EP (programmed end position)
In the ASUB, the system variable provides: $P_EP (programmed end position) the
current actual position of a channel axes in the work piece coordinate system.
$P_EP == "current actual position of the channel axis"
System variable: $AC_RETPOINT (repositioning point in the ASUB)
In the ASUB, the system variable provides: $AC_RETPOINT (repositioning point in the
ASUB) the actual position of a channel axis in the workpiece coordinate system
accumulated with a block search.
$AC_RETPOINT == "collected search position of the channel axis (WCS)"
Block search type 2
For block search type 2 (block search with calculation on contour) the following part program
command must be programmed at the conclusion of the ASUB:
REPOSA (repositioning on the contour; linear; all channel axes)
Effect:
All channel axes are moved to their search position that was collected during the block
search.
$P_EP == "accumulated search position of the channel axis (WCS)"
Block search type 4 and part program command REPOS
After block search type 4 (block search with calculation at block end point) no automatic
repositioning is initiated during the following period of time by the part program command
REPOS:
Start: NC/PLC interface signals: DB21,... DBB32, Bit6 (last action block active) == 1
End: Continuing the part program processing per NC START,.
The start point of the approach movement is represented by the current axis positions of the
channel axes at the time of the NC start command. The end point results from the other
transversing movements programmed in the part program.
For block search type 4, no approach movement is generated by the NC.
Effect:
After exiting the ASUB, the system variable $P_EP thus provides the actual position, on
which the channel axes of the ASUB were positioned (or manual (mode: JOG).
$P_EP == "current actual position of the channel axis"
9.6.2.2 PLC actions after block search
To allow activation of PLC actions (starting of ASUBs, call-up of PLC functions) after the end
of the block search at a defined point, there is the NCK/PLC interface signal:
DB21, ... DB32.6 (last action block active) == 1
K1: Mode group, channel, program operation, reset response
9.6 Block search
Basic Functions
514 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
This means that all action blocks are processed and that actions are possible by the PLC
(ASUB, FC) or the operator (overstoring, mode change after JOG/REPOS). This allows the
PLC to perform another tool change, for example, before the start of the transversing
movement.
By default, alarm 10208 is output at this moment to notify the operator that another NC
START is needed to continue program execution.
In combination with alarm 10208, the following interface signals are set:
DB21, ... DBX36.7 (NCK alarm with processing stop)
DB21, ... DBX36.6 (channel-specific NCK alarm is present)
PLC-controlled alarm triggering
The setting by which alarm 10208 is only triggered after ending the PLC action, is done via
machine data:
MD11450 $MN_SEARCH_RUN_MODE, Bit 0 = 1
Bit Value Meaning
0 1 With the change of the last action block after a block search, the following takes
place:
Execution of the part program is stopped
DB21, ... DBB32.6 (last action block active) = 1
Alarm display: Alarm 10208 only if the following applies:
DB21, ... DBX1.6 (PLC action ended) == 1
9.6.2.3 Spindle functions after block search
Control system response and output
The behavior with regard to the spindle functions after ending the block search can be set
via machine data:
MD11450 $MN_SEARCH_RUN_MODE, Bit 2
Bit Value Meaning
0 Output of spindle auxiliary functions (M3, M4, M5, M19, M70) in action blocks. 2
1 Output of the auxiliary functions is suppressed in the action blocks. The spindle
programmings that accumulated during the block search can be output at a later
point in time (e.g. via ASUB).
The program data for this is stored in the following system variables:
$P_SEARCH_S
$P_SEARCH_SDIR
$P_SEARCH_SGEAR
$P_SEARCH_SPOS
$P_SEARCH_SPOSMODE
K1: Mode group, channel, program operation, reset response
9.6 Block search
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 515
System variables
The spindle-specific auxiliary functions are always stored in the following system variables
on block search, irrespective of the programming described above:
System variables Description
$P_SEARCH_S[ n ] Collected spindle speed,
value range = { 0 ... Smax }
$P_SEARCH_SDIR[ n ] Collected spindle rotation direction,
value range = { 3, 4, 5, -5, -19, 70 }
$P_SEARCH_SGEAR[ n ] Collected spindle gear stage M function,
value range = { 40 ... 45 }
$P_SEARCH_SPOS[ n ] Collected spindle position,
value range = { 0 ... MD30330 $MA_MODULO_RANGE }
Collected traverse path,
value range = { -100.000.000 ... 100.000.000 }
$P_SEARCH_SPOSMODE[ n ] Collected position approach mode,
value range = { 0 ... 5 }
For later output of the spindle-specific auxiliary functions, the system variables can be read,
for example in an ASUB, and output after output of the action blocks:
DB21, ... DBX32.6 == 1 (last action block active)
Note
The contents of the system variables $P_S, $P_DIR and $P_SGEAR may be lost after block
search due to synchronization operations.
Reference:
More detailed information on ASUB, block search, and action blocks is to be found in:
/FB1/ Function Manual, Basic Functions; Auxiliary Function Output to PLC (H2),
Section: Output suppression of spindle-specific auxiliary functions
/FB1/ Function Manual, Basic Functions; Mode Group, Channel, Program Operation (K1)
Section: Program test
/FB1/ Function Manual, Basic Functions; Spindles (S1),
Section: Auxiliary spindle functions after block search
9.6.3 Automatic start of an ASUB after a block search
Parameter assignment
Making the function effective
The automatic ASUB start after a block search is activated by the following MD setting:
MD11450 $MN_SEARCH_RUN_MODE, bit 1 = 1
K1: Mode group, channel, program operation, reset response
9.6 Block search
Basic Functions
516 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Program to be activated
In the default setting, the program _N_PROG_EVENT_SPF is activated from the directory
_N_CMA_DIR as ASUB after the block search by changing the last action block. If another
program is to be activated, then the name of this user program must be entered in the
following machine data:
MD11620 $MN_PROG_EVENT_NAME
Behavior when the single block processing is set
Via the following channel-specific machine data it can be set, whether the activated ASUB
are processed without interruption despite a set single block processing or whether the
single block processing is to be made active:
MD20106 $MC_PROG_EVENT_IGN_SINGLEBLOCK
Bit Value Description
0 Single block execution is active. 4
1 Single block processing is suppressed.
Behavior when the read-in disable is set
Via the following channel-specific machine data it can be set, whether the activated ASUB
are processed without interruption despite a set read-in disable (DB21, ... DBX6.1 = 1), or
whether the read-in disable is to be made active:
MD20107 $MC_PROG_EVENT_IGN_INHIBIT
Bit Value Description
0 Read-in disable is active. 4
1 Read-in disable is suppressed.
Note
For moe information on parameterization of MD11620, MD20108 and MD20107 see "Event-
driven Program calls > Parameterization (Page 586)".
Programming
The event that has started this ASUB can be determined by scanning the system variable
$P_PROG_EVENT. In case of an automatic activation after a block search
$P_PROG_EVENT returns the value "5".
Sequence
Sequence of automatic start of an ASUB after a block search
1. Start block search (with/without calculation, at contour, at end-of-block point).
2. Stop after "Search target found".
3. NC Start for output of action blocks.
4. Last action block is activated.
K1: Mode group, channel, program operation, reset response
9.6 Block search
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 517
5. Automatic start of /_N_CMA_DIR/_N_PROG_EVENT_SPF (default) as an ASUB.
6. The NC will stop after changing the last ASUB block (REPOSA command) and the following
NC/PLC interface signal is set:
DB21, ... DBX32.6 (last action block active)
The alarm 10208 "Enter NC-start for program continuation" is generated.
Note
If bit 0 is set to "1" in MD11450 $MN_SEARCH_RUN_MODE, then the alarm 10208 is
generated only when the PLC requests this by setting the following NC/PLC interface
signal:
DB21, ... DBX1.6 (PLC action complete)
9.6.4 Cascaded block search
Functionality
The "Cascaded block search" function can be used to start another block search from the
status "Search target found". The cascading can be continued after each located search
target as often as you want and is applicable to the following block search functions:
Type 1 block search without calculation
Type 2 block search with calculation at contour
Type 3 block search with calculation at block end point
Note
Another "cascaded block search" can be started from the stopped program execution
only if the search target has been found.
Activation
The "cascaded block search" is configured in the existing machine data:
MD11450 $MN_SEARCH_RUN_MODE
Cascaded block search is enabled (i.e., several search targets can be specified)
with Bit 3 = 0 (FALSE).
For compatibility reasons, the cascaded block search can be disabled with Bit 3 = 1
(TRUE). By default, the cascaded block search is set with Bit 3 = 0.
K1: Mode group, channel, program operation, reset response
9.6 Block search
Basic Functions
518 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Execution behavior
Search target found, restart search
When the search target is reached, the program execution stops and the search target is
displayed as a current block. After each located search target, a new block search can be
repeated as often as you want.
Change search target specifications
You can change the search target specifications and block search function prior to each
block search start.
Example: Sequence with cascaded block search
RESET
Block search up to search target 1
Block search up to search target 2 "Cascaded block search"
NC Start for output of the action blocks Alarm 10208
NC Start Continue program execution
Block search
active (DB21, ...
DBX33.4)
Action block
active (DB21, ...
DBX32.3)
Block search
starting
Search target 1
found
Block search
starting
Search target 2
found
NC Start
action blocks
being output
Last
action block
Channel status
Reset (DB21, ...
DBX35.7)
Last action block
active (DB21, ...
DBX32.6)
Channel status
interrupted
(DB21, ... DBX35.6)
Figure 9-3 Chronological order of interface signals
K1: Mode group, channel, program operation, reset response
9.6 Block search
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 519
9.6.5 Examples of block search with calculation
Selection
From the following examples, select the type of block search that corresponds to your task.
Type 4 block search with calculation at block end point
Example with automatic tool change after block search with active tool management:
1. Set machine data:
MD11450 $MN_ SEARCH_RUN_MODE to 1
MD11602 $MN_ASUP_START_MASK Bit 0 = 1 (ASUB Start from stopped state)
2. Select ASUB "BLOCK_SEARCH_END" from PLC via FB4.
Reference:
/FB1/ Function Manual, Basic Functions, Basic PLC Program (P3)
3. Load and select part program "WORKPIECE_1".
4. Search to block end point, block number N220.
5. HMI signals "Search target found".
6. NC Start for output of action blocks.
7. With the PLC signal:
DB21... DB32.6 (last action block active)
the PLC starts ASUB "BLOCK_SEARCH_END" via FC9.
References:
/FB1/ Function Manual, Basic Function, Basic PLC Program (P3)
8. After the end of the ASUB (can be evaluated, e.g., via M function M90 to be defined, see
example for block N1110), the PLC sets signal:
DB21, ... DBX1.6 (PLC action ended).
Alternatively, the VDI interface signal:
DB21-DB30 DBB318 Bit 0 (ASUB is stopped)
can also be scanned.
As a result, Alarm 10208 is displayed, i.e., other actions can now be performed by the
operator.
K1: Mode group, channel, program operation, reset response
9.6 Block search
Basic Functions
520 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9. Manual operator actions (JOG, JOG-REPOS, overstoring)
10. Continue part program with NC Start.
Y
X
100
200
0
300
100 200 300 400
Approach point
(170,30)
Tool
change point
(450,300)
Approach movement
Target block N220
Figure 9-4 Approach movement for search to block end point (target block N220)
Note
"Search to contour" with target block N220 would generate an approach movement to the
tool change point (start point of the target block).
Type 2 block search with calculation at contour
Example with automatic tool change after block search with active tool management:
1. to 3. Same as example for Type 4 block search
4. Search to contour, block number N260
5. to 10. Same as example for Type 4 block search
K1: Mode group, channel, program operation, reset response
9.6 Block search
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 521
Y
X
100
200
0
300
100 200 300 400
Approach point
Tool
change point
(450,300)
Approach movement
N260
Figure 9-5 Approach movement for search to contour (target block N260)
Note
"Search to block end point" with target block N260 would result in Alarm 14040 (circle end
point error).
Part programs for Type 4 and Type 2
PROC WORKPIECE_1
;Main program
...
;Machine contour section 1 with "CUTTER_1"tool
...
N100 G0 G40 X200 Y200 ; Deselect radius compensation
N110 Z100 D0 ; Deselect length compensation
;End of contour section 1
;
;Machine contour section 2 with "CUTTER_2"tool
N200 T="CUTTER_2" ; Preselect tool
N210 WZW ; Call tool change routine
N220 G0 X170 Y30 Z10 S3000 M3 D1 ; Approach block for contour section 2
N230 Z-5 ; Infeed
N240 G1 G64 G42 F500 X150 Y50 ; Start point of contour
N250 Y150
N260 G2 J50 X100 Y200
N270 G1 X50
N280 Y50
K1: Mode group, channel, program operation, reset response
9.6 Block search
Basic Functions
522 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
N290 X150
N300 G0 G40 G60 X170 Y30 ; Deselect radius compensation
N310 Z100 D0 ; Deselect length correction
End of contour section 2
...
M30
PROC WZW
Tool change routine
N500 DEF INT TNR_AKTIV ; Variable for active T number
N510 DEF INT TNR_VORWAHL ; Variable for preselected T number
N520 TNR_AKTIV = $TC_MPP6[9998,1] ; Read T number of active tool
N530 GETSELT(TNR_VORWAHL) ; Read T number of preselected tool
;
;Execute tool change only if tool is not yet active
N540 IF TNR_AKTIV == TNR_VORWAHL GOTOF ENDE
N550 G0 G40 G60 G90 SUPA X450 Y300 Z300 D0 ; Approach tool change position
N560 M6 ; Execute tool change
;
END: M17
PROC SUCHLAUF_ENDE SAVE
ASUB for calling the tool change routine after block search
N1000 DEF INT TNR_AKTIV ; Variable for active T number
N1010 DEF INT TNR_VORWAHL ; Variable for preselected T number
N1020 DEF INT TNR_SUCHLAUF ; Variable for T number determined in
search
N1030 TNR_AKTIV = $TC_MPP6[9998,1] ; Read T number of active tool
N1040 TNR_SUCHLAUF = $P_TOOLNO ; Read T number determined by search
N1050 GETSELT(TNR_VORWAHL) ; Read T number of preselected tool
N1060 IF TNR_AKTIV ==TNR_SUCHLAUF GOTOF ASUP_ENDE
N1070 T = $TC_TP2[TNR_SUCHLAUF] ; T selection by tool name
N1080 WZW ; Call tool change routine
N1090 IF TNR_VORWAHL == TNR_SUCHLAUF GOTOF ASUP_ENDE
N1100 T = $TC_TP2[TNR_VORWAHL] ; Restore T preselection by tool name
ASUP_ENDE:
N1110 M90 ; Check-back signal to PLC
N1120 REPOSA ; ASUB end
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 523
9.7 Block search Type 5 SERUPRO
SERUPRO
The "search via program test" is from now on referred to as SERUPRO. This acronym has
been derived from "SEarch RUn by PROgram test".
Function
SERUPRO can be used for a cross-channel block search.
This search permits a block search with calculation of all necessary data from the previous
history, so as to acquire all previously valid status data for a particular overall NC status. The
PLC is hereby updated to the current status.
The NC is operated in "Program test" mode during this block search so that interactions
between a channel and synchronized actions or between several channels, can take place
within an NCU.
Channels
In combination with the HMI, SERUPRO is provided for the following channels:
For the current SERUPRO channel only (1)
For all channels with the same workpiece name as the SERUPRO channel (2)
For all channels with the same mode group as the SERUPRO channel (3)
For all channels of the NCU (4)
The scope of channels for SERUPRO is selected by means of configuration file
maschine.ini, in Section [BlockSearch]:
Section [BlockSearch] Enable search function for HMI and select search configuration
SeruproEnabled=1 ;SERUPRO softkey available for HMI. Default value is (1)
SeruproConfig=1 ;Number (1) to (4) of above indicated channel grouping. Default value is (1)
All other channels started with SERUPRO are operated in "Self-Acting SERUPRO" mode.
Only the channel in which a target block has been selected can be started with a block
search in SERUPRO mode.
Supported functions
Supported NC functions during SERUPRO:
Gear stage change
Setpoint and actual value linkages for drives such as "master-slave" as well as "electronic
gear" and "axial master value coupling"
Coupled motion in axis grouping
Gantry axes
Tangential follow-up of individual axes
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
524 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Superimposed motion interpolation
Travel to fixed stop
Synchronous spindle grouping
On reaching the beginning of the target block (see "Time sequence of SERUPRO" below),
the user can activate a SERUPRO ASUB.
Special points should be noted during SERUPRO ASUB with regard to:
Reference point approach
Tool management
Spindle ramp-up
Other functions after search target was found, such as:
Continue machining after SERUPRO search target found (REPOS offset)
Repositioning on contour with controlled REPOS
Part program expansions for SERUPRO
Activation
SERUPRO is activated via the HMI. SERUPRO is operated using the "Prog.Test Contour"
softkey.
SERUPRO uses REPOS to approach the target block.
Chronological sequence of SERUPRO
1. Via HMI, softkey "Pog. test contour" and the search target are operated.
2. The NC now automatically starts the selected program in "Program test" mode.
In this mode, axes are not traversed.
Auxiliary functions $A_OUT and the direct PLC IO are output.
The auxiliary functions of the target block are not output.
3. Numerous operator actions are permitted during this phase:
Start, Stop
Axis replacement
Deletion of distance-to-go
Mode change, ASUBs, etc.
The program and channel statuses of interface signal:
DB21, ... DBB35
or system variable:
$AC_PROG
is supplied analogous to real operation.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 525
4. The part program command WAITM/WAITE/WAITMC will wait for the partner channels
involved.
This waiting occurs if the partner channels are:
In SERUPRO mode
In Program test more or are actually running
5. Selection of program test and dry run feedrate is rejected with corresponding Alarm
16935.
6. The NC stops at the beginning of the target block, deselects "Program test" internally,
and displays the Stop condition "Search target found" in its block display.
7. As required, the user can start an ASUB that is traversed really. This ASUB is referred to
below as the SERUPRO-ASUB.
8. The user presses Start:
The spindles are started. Then, the path axes start a REPOS operation that guides them
to the block starting point of the target block.
The REPOS operation is implemented by a system ASUB and can be expanded using
the "Editable ASUB" function.
SERUPRO operation
The sequence of operations in items 2. to 6. corresponds to one SERUPRO operation.
SERUPRO ASUB
An ASUB that can be called optionally when the target block is reached. It is actually
executed.
SERUPRO approach
Approach to the starting point of the target block during a block search in SERUPRO test
mode.
Boundary conditions for block search SERUPRO
The SERUPRO function may only be activated in "AUTOMATIC" mode and may only be
aborted in program status (channel status RESET).
If in normal mode only the PLC starts commonly several channels, then this can be
simulated by SERUPRO in each channel.
If machine data setting:
MD10708 $MN_SERUPRO_MASK Bit 1 = 0
Alarm 16942: "Channel %1 Start program command action %2<ALNX> not possible"
aborts the simulation if part program command START is used.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
526 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Machine data:
MD10707 $MN_SERUPRO_TEST_MASK
allows program testing to be deactivated in the stopped state without the SERUPRO
operation being affected. The default setting allows program testing to be deactivated only in
the RESET state.
Note
After program testing has been deactivated, a REPOS operation is initiated that is subject to
the same restrictions as a SERUPRO approach operation. Any adverse effects can be
inhibited using an ASUB.
Controlling SERUPRO behavior
Machine data:
MD10708 $MN_SERUPRO_MASK
can be used to control the SERUPRO behavior as follows:
Bit Value Meaning
0 The search stops at M0. 0
1 The search is not stopped for M0.
0 The search is interrupted for command START with alarm 16942. 1
1 Command START starts the specified channel.
Caution!
Without any special measures, the axes physically traverse (move) in the started
channel. The user is solely responsible in preventing the axes from undesirably
traversing, e.g. by activating "Program test".
0 The SERUPRO function group is disabled. 2
1 The SERUPRO function group is enabled. The START command starts the specified
channel in the "Program test" mode.
0 All channels that find the search target (also for self-acting SERUPRO) end SERUPRO
at the same time.
3
1 SERUPRO ends as soon as the search target has been found. No further
synchronization operations take place in the channels started by SERUPRO.
0 The overrides (channel, axis, spindle) specified via the NC/PLC interface are active
during SERUPRO.
4
1 The overrides (channel, axis, spindle) specified via the NC/PLC interface are not active
during SERUPRO.
Note
The programmable overrides, e.g. OVR, are active during SERUPRO.
0 The "Single block" function is active during SERUPRO. 5
1 The "Single block" function is not active during SERUPRO.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 527
Basic G function settings for SERUPRO
Machine data:
MD20112 $MC_START_MODE_MASK
is used to define the channel-specific basic settings after a program start for various G
functions, e.g. the actual plane, adjustable work offset, active tool length compensation,
active kinematic transformation etc.
For SERUPRO, using machine data:
MD22620 $MC_START_MODE_MASK_PRT
you can enter your own basic setting. The structure of machine data MD22620 is identical
with that of MD20112.
The SERUPRO-specific G function initial settings are enabled using machine data:
MD22621 $MC_ENABLE_START_MODE_MASK_PRT
Bit Value Meaning
0 After the part program start, MD20112 $MC_START_MODE_MASK becomes active 0
1 After the part program start, MD22620 $MC_START_MODE_MASK_PRT becomes
active
NC/PLC interface signal "Block search via program test is active"
The block search via program test is displayed using the NC/PLC interface signal:
DB21, ... DBX318.1 = 1
The interface signal is set from the start of the block search until the target block is inserted
into the main run.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
528 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
For user-defined ASUB after the SERUPRO operation
Note
If the machine manufacturer decides to start an ASUB after the SERUPRO operation as
described in item 7, the following must be observed:
Stopped status acc. to point 6.:
Machine data:
MD11602 $MN_ASUP_START_MASK
and
MD11604 $MN_ASUP_START_PRIO_LEVEL
allow the NCK to start the ASUB from stopped status automatically via the FC9 block.
Acknowledgement of FC9 only after completion of REPOS block:
The ASUB can only be signaled as complete from the FC9 block with "ASUB Done" if the
REPOS block has also been completed.
Deselection of assigned REPOS operation after Item 8:
The start of the ASUB deselects the assigned REPOS operation!
Therefore, the ASUB should be ended with REPOSA in order to retain the REPOS
operation.
Deleting an unwanted REPOS operation:
The unwanted REPOS operation is deleted by completing the ASUB with M17 or RET.
Special handling of ASUB:
As a basic rule, an ASUB that ends with REPOS and is started from stopped status receives
special treatment.
The ASUB stops automatically before the REPOS block and indicates this via:
DB21, ... DBX318.0 (ASUB is stopped)
Automatic ASUB start
The ASUB in path:
/_N_CMA_DIR/_N_PROG_EVENT_SPF
is started automatically in SERUPRO approach with machine data:
MD11450 $MN_SEARCH_RUN_MODE, Bit1 = 1
according to the following sequence:
1. The SERUPRO operation has been performed completely.
2. The user presses "Start".
3. Automatic ASUB start.
4. The NCK stops automatically before the REPOS part program command
and Alarm 10208 "Press NC Start to continue the program" appears.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 529
5. The user presses "Start" again.
6. The NCK executes the REPOS movement and continues the part program at the target
block.
Note
The automatic ASUB start with MD11450 requires Starts to continue the program.
The procedure is in this respect similar to other search types.
9.7.1 REPOS
MD11470
REPOS occurs according to machine data:
MD11470 $MN_REPOS_MODE_MASK
Case A:
The REPOS operation moves all axes from the current position to the start of the target
block in a single block.
MD11470 $MN_REPOS_MODE_MASK Bit 3 = 1
Case B:
The path axes are repositioned together in one block. The SPOS and POS axes are
repositioned in the residual block.
MD11470 $MN_REPOS_MODE_MASK Bit 3 = 0
9.7.1.1 Continue machining after SERUPRO search target found
User information regarding the REPOS operation
REPOS is generally used to interrupt an ongoing machining operation and to continue
machining after the interruption.
In the SERUPRO approach, on the other hand, a program section must be "executed" later.
This is the case, when SERUPRO has finished the simulation and is to be moved again to
the target block. SERUPRO refers to the existing REPOS function, which the user can adapt
as necessary.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
530 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
SERUPRO approach
The user can change the REPOS behavior of individual axes at specific times to reposition
certain axis types either earlier, later, or not at all. This affects SERUPRO approach in
particular. Repositioning movements of some axes can also be controlled independently of
SERUPRO approach during the REPOS operation.
CAUTION
The REPOS operation moves all axes from the current position to the start of the target
block in a single block with the appropriate setting of machine data:
MD11470 $MN_REPOS_MODE_MASK Bit 3.
During this process, the NC cannot detect any possible collisions with the machine or the
workpiece!
Protection zones and software limits are monitored.
Set REPOS response
Machine data:
MD11470 $MN_REPOS_MODE_MASK
can be used to set bits that specify the behavior of the NC during repositioning.
Bit 0 = 1 The dwell time is resumed at the point of interruption in the residual
repositioning block.
Bit 1 = 1 Reserved
Bit 2 = 1 Prevent repositioning of individual axes using VDI signals.
Bit 3 = 1 Reposition positioning axes in the approach block during block search via
program test (SERUPRO).
Bit 4 = 1 Positioning axes in approach block on every REPOS.
Bit 5 = 1 Modified feedrates and spindle speeds are valid immediately in the residual
block. Otherwise, not until the next block.
Bit 6 = 1 After SERUPRO, neutral axes and positioning spindles in the approach block
are repositioned as command axis.
Bit 7 = 1 The level of interface signal:
DB31, ... DBX10.0 (REPOSDELAY)
is read if REPOSA is interpreted.
Axes, which are neither geometry nor orientation axes, are then excluded by
REPOS and are not moved.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 531
Repositioning with controlled REPOS
At any point during processing, a part program can be interrupted and an ASUB started with
a REPOS.
For path axes, the REPOS mode can be controlled by the PLC via VDI signals to reposition
on the contour. This mode is programmed in the part program and defines the approach
behavior. See "Repositioning to contour with controlled REPOS".
The REPOS behavior of individual axes can also be controlled via VDI signals
and is enabled with machine data:
MD11470 $MN_REPOS_MODE_MASK BIT 2==1.
Path axes cannot be influenced individually. For all other axes that are not geometry axes,
repositioning of individual axes can be prevent temporarily and also delayed. VDI signals can
be used to subsequently reenable or to continue blocking individual channel axes that
REPOS would like to traverse.
DANGER
Signal:
DB31, ... DBX2.2 (Delete distance-to-go, axis-specific)
produces the following dangerous behavior with Prevent repositioning of individual axes"
via:
MD11470 $MN_REPOS_MODE_MASK (Bit 2==1).
As long as an axis is programmed incrementally after the interruption, the NC approaches
different positions than those approached with no interruption (see example below).
Example: Axis is programmed incrementally
Axis A is positioned at 11 before the REPOS operation; the programmed operation in the
interruption block (target block for SERUPRO) specifies 27.
Any number of blocks later, this axis is programmed to move incrementally through 5 with:
N1010 POS[A]=IC(5) FA[A]=1000.
With interface signal:
DB31, ... DBX10.0 (REPOSDELAY)
the axis does not traverse in the REPOS operation and is moved to 32 with N1010.
(The user may have to deliberately acknowledge the travel from 11 to 27.)
Caution:
The axis is programmed incrementally after the interruption.
In the example, the NC moves to 16 (instead of 32).
A) Start axes individually
The REPOS behavior for SERUPRO approach with several axes is selected with:
MD11470 $MN_REPOS_MODE_MASK BIT 3 == 1
The NC commences SERUPRO approach with a block that moves all positioning axes to the
programmed end and the path axis to the target block.
The user starts the individual axes by selecting the appropriate feedrate enables. The target
block motion is then executed.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
532 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
B) Reposition positioning axes in the repositioning block
Positioning axes are not repositioned in the residual block but rather in the repositioning
block, and their effect is not limited to the block search via program test on SERUPRO
approach.
MD11470 $MN_REPOS_MODE_MASK
Bit 3=1 for block search via program test (SERUPRO)
Bit 4=1 for each REPOS
Note
If neither bit 3 nor bit 4 is set, "non-path axes" are repositioned in the residual block in this
phase.
Prefer or ignore REPOS
Further REPOS adaptations can be made by setting the bits in:
MD11470 $MN_REPOS_MODE_MASK
Bit 5 = 1 Modified feedrates and spindle speeds are valid immediately in the residual
block and are given priority. This behavior relates to every REPOS operation.
Bit 6 = 1 Neutral axes and positioning spindles are repositioned after SERUPRO.
Neutral axes that are not allowed to be further repositioned must receive
interface signal:
DB31, ... DBX10.0 (REPOSDELAY)
This cancels the REPOS movement.
Bit 7 = 1 The level of interface signal:
DB31, ... DBX10.0 (REPOSDELAY)
is read if REPOSA is interpreted.
Axes, which are neither geometry nor orientation axes, are then excluded by
REPOS and are not moved.
Note: REPOSDELAY is changed from edge to level evaluation.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 533
Delayed approach of axis with REPOS offset
With the axial level-triggered VDI signal axis/spindle (PLCNCK):
DB31, ... DBX10.0 (REPOSDELAY)
with the edge of NST:
DB21, ... DBX31.4 (REPOSMODEEDGE)
the REPOS offset for this axis is traversed only after the next time it is programmed.
Whether this axis is currently subject to a REPOS offset can be scanned via synchronized
actions with $AA_REPOS_DELAY.
CAUTION
Interface signal:
DB31, ... DBX10.0 (REPOSDELAY)
has no effect on machine axes that form a path.
Whether an axis is a path axis can be determined with:
DB31, ... DBX76.4 (path axis).
Acceptance timing of REPOS VDI signals
With the 0/1 edge of the channel-specific VDI signal (PLCNCK):
DB21, ... DBX31.4 (REPOSMODEEDGE)
the level signals of:
DB21, ... DBX31.0-31.2 (REPOSPATHMODE0 till 2)
and
DB31, ... DBX10.0 (REPOSDELAY)
are transferred to the NC.
The levels relate to the current block in the main run. There are two different cases:
Case A:
One repositioning block of a currently active REPOS operation is contained in the main run.
The active REPOS operation is aborted, restarted and the REPOS offsets controlled via the
signals:
DB21, ... DBX31.0-31.2 (REPOSPATHMODE0 till 2)
and
DB31, ... DBX10.0 (REPOSDELAY).
Case B:
No repositioning block of a currently active REPOS operation is contained in the main run.
Each future REPOS operation wishing to reapproach the current main program block is
controlled by the level of interface signal:
DB21, ... DBX31.0-31.2 (REPOSPATHMODE0 till 2)
and
DB31, ... DBX10.0 (REPOSDELAY).
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
534 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Note
In the running ASUB affects the NST:
DB21, ... DBX31.4 (REPOSMODEEDGE)
does not affect the final REPOS, unless this signal applies to the REPOS blocks.
In Case A, the signal is only allowed in the stopped state.
Response to RESET:
NCK has acknowledged the PLC signal
If the level of the signals:
DB21, ... DBX31.4 (REPOSMODEEDGE) = 1
and
DB21, ... DBX319.0 (REPOSMODEEDGEACKN) = 1
and
a RESET occurs in this situation, then the interface signal of the NCK:
DB21, ... DBX319.1319.3 (Repos Path Mode Ackn0 to 2)
is deleted.
NCK has not yet acknowledged the PLC signal:
If the level of the signals:
DB21, ... DBX31. (REPOSMODEEDGE 4) = 1
and
DB21, ... DBX319.0 (REPOSMODEEDGEACKN) = 0
and a RESET occurs in this situation, the NCK cancels interface signal:
DB21, ... DBX319.0 (REPOSMODEEDGEACKN) = 0
and
DB21, ... DBX319.1319.3 (Repos Path Mode Ackn0 to 2).
Controlling SERUPRO approach with VDI signals
The SERUPRO approach can be used with:
DB21, ... DBX31.4 (REPOSMODEEDGE)
and the associated signals in the following phases:
Between "Search target found" and "Start SERUPRO ASUB"
From "SERUPO-ASUB stops automatically before REPOS" to "Target block is executed"
While the SERUPRO ASUB is being executed, e.g. in the program section before the
REPOS operation, interface signal:
DB21, ... DBX31.4 (REPOSMODEEDGE)
does not affect the SERUPRO approach.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 535
REPOS operations with VDI signals
Control REPOS with VDI interface signals
REPOS offsets can be positively influenced with the following channel-specific VDI interface
signals from the PLC:
DB21, ... DBX31.0-31.2 (REPOSPATHMODE0 to 2) channel-specific *
DB21, ... DBX31.4 (REPOSMODEEDGE) channel-specific
DB31, ... DBX10.0 (REPOSDELAY) *axis/spindle
(This axial interface does not affect machine axes that form a path.)
DB31, ... DBX72.0 (REPOSDELAY) axis/spindle
* These signals are available in the respective DB of the HMI or PLC.
REPOS acknowledgement signals
The following VDI signals can be used to acknowledge from the NCK functions that control
the REPOS response via PLC:
DB21, ... DBX319.0 (REPOSMODEEDGEACKN) channel-specific
DB21, ... DBX319.1-319.3 (Repos Path Mode Ackn0 to 2) channel-specific
DB21, ... DBX319.5 (Repos DEFERRAL Chan) channel-specific
DB31, ... DBX70.0 (Repos offset) axis/spindle
DB31, ... DBX70.1 (Repos offset valid) axis/spindle
DB31, ... DBX70.2 (Repos Delay Ackn) axis/spindle
DB31, ... DBX76.4 (path axis) axis/spindle
For further information, see "REPOS offset in the interface"
REPOS acknowledgement operations
With the channel-specific VDI signal:
DB21, ... DBX319.0 (REPOSMODEEDGEACKN)
if a "handshake" is established by the interface signal:
DB21, ... DBX31.4 (REPOSMODEEDGE)
recognized by the NC and acknowledged with DB21, ... DBX319.0 to the PLC.
Note
If the NCK has not yet acknowledged interface signal:
DB21, ... DBX31.4 (REPOSMODEEDGE)
with interface signal:
DB21, ... DBX319.0 (REPOSMODEEDGEACKN)
a RESET in this situation causes the program to abort, and the REPOS that is to be used to
control the REPOSPATHMODE can no longer take place.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
536 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
A REPOSMODE specified by the PLC from NCK with the interface signals:
DB21, ... DBX319.1-319.3 (Repos Path Mode Ackn0 to 2)
and
DB31, ... DBX10.0 (Repos Delay)
with:
DB31, ... DBX70.2 (Repos Delay Ackn)
in the following way:
A part program is stopped at N20 ( time (2) in figure). The NCK stops according to the
braking ramp. After the PLC has specified the REPOSPATHMODE, the NCK accepts the
REPOSPATHMODE with the 0/1 edge of REPOSMODEEDGE at Time (3). Repos Path
Mode Ackn remains set until the ASUB is initiated ( Time (4)). The REPOS command is
started in the ASUB ( Time (5)). The ASUB RESET block is activated again ( Time (6)):
N20
N10 N30
t 3 4 5 6
4
4 4
(3) Select RMN
(5) Command is started with ASUP
(6) Reposition from REPOS is
terminated.
The remaining block starts
(4) lnitiate ASUB
(2) Stop part program
(7) The remaining block is
finished
(1) Start part program
REPOSPATHMODE
REPOSMODEEDGE
REPOSMODEEDGEACKN
Repos Path Mode Ack
Figure 9-6 REPOS sequence in part program with timed acknowledgement signals from NCK
NCK sets acknowledgement again
Phase with REPOSPATHMODE still active (residual block of the program stopped at
Time (2) is not yet completely executed).
As soon as the REPOS repositioning motion of the ASUB is executed, the NCK sets the
"Repos Path Mode Ackn" again ( Time (5)). If no REPOSPATHMODE has been
preselected via a VDI signal, the programmed REPOS mode is displayed.
"Repos Path Mode Ackn" is canceled when the residual block is activated ( Time (6)).
The part program block N30 following the block at Time (2) is resumed.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 537
Interface signal:
DB31, ... DBX70.2 (Repos Delay Ackn) is defined in the same way.
DB31, ... DBX70.1 (Repos offset valid) = 1, if:
DB21, ... DBX319.1-319.3 (Repos Path Mode Ackn0 to 2) = 4 (RMN).
Valid REPOS offset
When the SERUPRO operation is complete, the user can read out the REPOS offset via the
axis/spindle VDI signal (NCKPLC):
DB31, ... DBX70.0 (REPOS offset).
The effects of this signal on the relevant axis are as follows:
Value 0: No REPOS offset is applied.
Value 1: REPOS offset is applied.
Range of validity
Interface signal:
DB31, ... DBX70.0 (REPOS offset)
is supplied at the end of the SERUPRO operation.
The REPOS offset is invalidated at the start of a SERUPRO ASUB or the automatic ASUB
start.
Updating the REPOS offset within the scope
Between the SERUPRO end and SERUPRO start, the axis can be moved in JOG mode with
a mode change.
In JOG mode, the user manually moves the axis over the REPOS offset path in order to set
interface signal:
DB31, ... DBX70.0 (REPOS offset) to the value 0.
Within the range of validity, the axis can also be traversed using FC18, whereby the IS
DB31, ... DBX70.0 (REPOS offset) is continuously updated.
Displaying the range of validity
The range of validity of the REPOS offset is indicated with interface signal:
DB31, ... DBX70.1 (REPOS offset valid)
It is indicated whether the REPOS offset calculation was valid or invalid:
Value 0: The REPOS offset of this axis is calculated correctly.
Value 1: The REPOS offset of this axis cannot be calculated, as the REPOS has not
yet occurred, e.g. it is at the end of the ASUB, or no REPOS is active.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
538 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
REPOS offset after an axis replacement
The group signal:
DB21, ... DBX319.5 (Repos DEFERRAL Chan)
can be used to determine whether a valid REPOS offset has taken place:
Value 0: All axes currently controlled by this channel have either no REPOS offset or
their REPOS offsets are invalid.
Value 1: Miscellaneous.
REPOS offset with synchronized synchronous spindle coupling
When repositioning with SERUPRO, processing continues at the point of interruption. If a
synchronous spindle coupling was already synchronized, there is no REPOS offset of the
following spindle and no synchronization path is present. The synchronization signals remain
set.
Search target found on block change
The axial VDI signal:
DB31, ... DBX76.4 (path axis)
is 1 if the axis is part of the path grouping.
This signal shows the status of the current block to be executed during block change.
Subsequent status changes are ignored.
If the SERUPRO operation is ended with "Search target found",
DB31, ... DBX76.4 (path axis) refers to the target block.
9.7.1.2 Repositioning on contour with controlled REPOS
Approach modes
Influence path axes individually
During SERUPRO approach, a REPOS operation is initiated in order to reposition to the
contour. A large number of axes, which the user can control by means of interface signals, is
frequently moved. The operator panel interface supplies the offsets per channel axis, which
REPOS intends to traverse.
Repositioning of the individual path axes can be controlled by the PLC with the interface
signals and it therefore has priority over the actual commands RMI, RMB and RME in the part
program.
RMI Repositioning to interruption point
RMB Repositioning to start of block
RME Repositioning to end-of-block position
RMN Repositioning to next point on path
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 539
Repositioning with RMN
Like RMI, RMB and RME, RMN (REPOS Mode Next) is redefined for SUREPRO approach. After
an interruption, RMN is used not to complete an already started repositioning, but to process
from the next path point:
At the time REPOSA is interpreted, position (B) is referenced in order to find point C at the
interruption block with the shortest distance to B. The repositioning block moves from B to C
to the end position.
A
B
C
1 2 3 4
A Actual position during search.
B Position reached using JOG key
after the SERUPRO operation.
C SERUPRO approach moves from B
to C as C is the point next to B in
target block 2-3.
A part program with the blocks
1-2, 2-3, 3-4.
Figure 9-7 SUREPRO approach under RMN
Application and procedure
SUREPRO approach with RMN offers the oppotunity of using the application shown in the
figure: If a program abort is forced by RESET at any point when the program is advancing
from block 2 to 3,
RMN is used to approach the abort location by the shortest route in order to process just
the distance to go from C-3 and 3-4. The user starts a SERUPRO operation at the
interruption block and uses the JOG keys to move in front of the problem component of
the target block.
RMI and RMB are always approached with RMI and RMB and the target block thus
repeated once completely.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
540 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Selecting REPOS mode
With the channel-specific VDI signal (PLCNCK)
DB21, ... DBX31.0-31.2 (REPOSPATHMODE0-2) the concerned function RMB, RMI, RME or RMN
can be selected with the 3 bits.
Repositioning point
RMNOTDEF REPOS Mode is not redefined
RMB Repositioning of block start point or last end point
RMI Repositioning interruption point
RME Repositioning end-of-block point
RMN Repositioning to next path point
DB21, ... DBX31.0-31.2 (REPOSPATHMODE)=0 corresponds to RMNOTDEF
DB21, ... DBX31.0-31.2 (REPOSPATHMODE)=1 corresponds to RMB
DB21, ... DBX31.0-31.2 (REPOSPATHMODE)=2 corresponds to RMI
DB21, ... DBX31.0-31.2 (REPOSPATHMODE)=3 corresponds to RME
DB21, ... DBX31.0-31.2 (REPOSPATHMODE)=4 corresponds to RMN
With DB21, ... DBX31.0-31.2 (REPOSPATHMODE0 to 2) = 0, no settings are overwritten
and the current program is valid. The interface signal responds to the level of the
corresponding mode.
Note
RMN is a general REPOS extension and it is not restricted to SERUPRO. For SERUPRO RMI
and RMB are identical.
With DB21, ... DBX31.031.2 (REPOSPATHMODE0 to 2), the path as a whole is controlled.
The path axes cannot be changed individually.
The behavior of the other axis types can be changed individually using interface signal
DB31, ... DBX10.0 (REPOSDELAY). This REPOS offset is not applied immediately, but only
when it is next programmed.
For further information on the programming of repositioning point, please refer to
References:
/PGA/ Programming Manual Job Planning; "Path Behavior" repositioning on Contour
Read REPOS mode in synchronized actions
The valid REPOS mode of the interrupted block can be read via synchronized actions using
system variable $AC_REPOS_PATH_MODE=
0: not defined Repositioning not defined
1: RMB Repositioning to beginning
2: RMI Repositioning to point of interruption
3: RME Repositioning to block end point
4: RMN Repositioning to next geometric path point of interrupted block
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 541
9.7.2 Acceleration measures via MD
Machine data settings
The processing speed of the entire SERUPRO operation can be accelerated using the
following machine data.
MD22600 $MC_SERUPRO_SPEED_MODE and
MD22601 $MC_SERUPRO_SPEED_FACTOR
With MD22600 $MC_SERUPRO_SPEED_MODE == 1, the SERUPRO operation will run at
the usual "dry run feedrate".
Through MD22600 $MC_SERUPRO_SPEED_MODE == 0
MD22601 $MC_SERUPRO_SPEED_FACTOR is evaluated,
and a further acceleration is permitted. Dynamic monitoring functions are disabled in this
mode.
SPEED factor for channel axes during ramp-up
Machine data MD22600 $MC_SERUPRO_SPEED_MODE is effective for the following
channel axes in the main run throughout the entire SERUPRO operation:
PLC axes
Command axes
Positioning axes
Reciprocating axes
The functions of MD22600 $MC_SERUPRO_SPEED_MODE and
MD22601 $MC_SERUPRO_SPEED_FACTOR apply only to SERUPRO and not to program
testing. In this case no axes/spindles are moved.
CAUTION
The NC as a discrete system generates a sequence of interpolation points.
It is possible that a synchronized action that was triggered in normal operation will no
longer be triggered in SERUPRO.
Mode of functioning with DryRun
An active SERUPRO SPEED-FACTOR has the following effect on DryRun:
DryRun is activated simultaneously.
This causes a switch from G95/G96/G961/G97/G971 to G94 in order to execute
G95/G96/G961/G97/G971 as quickly as you wish.
Tapping and thread cutting are performed at the usual velocity for DryRun.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
542 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DryRun and SERUPRO affect the spindle/axis with the following G codes:
G331/G332 causes the spindle to be interpolated as an axis in a path grouping. In the
case of tapping, the drilling depth (e.g. axis X) and the pitch and speed (e.g. spindle S)
are specified.
In the case of DryRun, the velocity of X is specified, the speed remains constant, and the
pitch is adjusted.
Following the SERUPRO simulation, the position for spindle S deviates from the normal
position because the spindle S has rotated less during simulation.
9.7.3 SERUPRO ASUP
SERUPRO ASUB special points
Special points should be noted for SERUPRO ASUB with regard to:
Reference point approach: Referencing via part program G74
Tool management: Tool change and magazine data
Spindle ramp-up On starting a SERUPRO ASUB
G74 reference point approach
If statement G74 (reference point approach) is programmed between the program start and
the search target, this will be ignored by the NC.
SERUPRO approach does not take this G74 statement into account!
Tool management
If tool management is active, the following setting is recommended:
Set MD18080 $MA_TOOL_MANAGEMENT_MASK BIT 20 = 0.
The tool management command generated during the SERUPRO operation is thus not
output to the PLC!
The tool management command has the following effect:
The NC acknowledges the commands automatically.
No magazine data are changed.
Tool data are not changed.
Exception:
The tool enabled during the test mode can assume 'active' status. As a result, the spindle
may contain the incorrect tool after the SERUPRO operation.
Remedy:
The user starts a SERUPRO ASUB that is actually traversed. Prior to the start, the user
can start an ASUB that loads the correct tool.
SERUPRO operation: Functionality: In sequence steps 2. to 6.
SERUPRO ASUB: Functionality: The sequence of point 7.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 543
In addition, machine data setting
MD18080 $MA_TOOL_MANAGEMENT_MASK Bit 11 = 1 is required because the ASUB
may have to repeat a T selection.
Systems with tool management and auxiliary spindle are not supported by SERUPRO!
Example
Tool change subroutine
PROC L6 ; Tool change routine
N500 DEF INT TNR_AKTUELL ; Variable for active T number
N510 DEF INT TNR_VORWAHL ; Variable for preselected T number
; Determine current tool
N520 STOPRE ; In program testing
N530 IF $P_ISTEST ; from the program context
N540 TNR_AKTUELL = $P_TOOLNO ; the "current" tool is read.
N550 ELSE ; Otherwise, the tool of the spindle
is read out.
N560 TNR_AKTUELL = $TC_MPP6[9998,1] ; Read tool T number on the spindle
N570 ENDIF
N580 GETSELT(TNR_VORWAHL) ; Read T number of preselected tool
of the master spindle. Execute tool
change only if tool not yet
current.
N590 IF TNR_AKTUELL <> TNR_VORWAHL ; Approach tool change position
N600 G0 G40 G60 G90 SUPA X450 Y300 Z300 D0
N610 M206 ; Execute tool change
N620 ENDIF
N630 M17
ASUB for calling the tool change routine after block search type 5
PROC ASUPWZV2
N1000 DEF INT TNR_SPINDEL ; Variable for active T number
N1010 DEF INT TNR_VORWAHL ; Variable for preselected T number
N1020 DEF INT TNR_SUCHLAUF ; Variable for T number determined in
block search
N1030 TNR_SPINDEL = $TC_MPP6[9998,1] ; Read tool T number on the spindle
N1040 TNR_SUCHLAUF = $P_TOOLNO ; read T number determined by search
run, i.e., that tool determines the
current tool offset.
N1050 GETSELT(TNR_VORWAHL) ; Read T number of preselected tool
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
544 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
N1060 IF TNR_SPINDEL ==TNR_SUCHLAUF GOTOF
ASUP_ENDE1
;
N1070 T = $TC_TP2[TNR_SUCHLAUF] ; T selection by tool name
N1080 L6 ; Call tool change routine
;
N1085 ASUP_ENDE1: ;
N1090 IF TNR_VORWAHL == TNR_SUCHLAUF GOTOF
ASUP_ENDE
;
N1100 T = $TC_TP2[TNR_VORWAHL] ; Restore T preselection by tool name
;
N1110 ASUP_ENDE: ;
N1110 M90 ; Feedback to PLC
N1120 REPOSA ; ASUB end
In both of the programs PROC L6 and PROC ASUPWZV2, the tool change is programmed
with M206 instead of M6.
ASUB program "ASUPWZV2" uses different system variables to detect the progress of the
program ($P_TOOLNO) and represent the current status of the machine
($TC_MPP6[9998,1]).
Spindle ramp-up
When the SERUPRO ASUB is started, the spindle is not accelerated to the speed specified
in the program because the SERUPRO ASUB is intended to move the new tool into the
correct position at the workpiece after the tool change.
A spindle ramp-up is performed with SERUPRO ASUB as follows:
SERUPRO operation has finished completely.
The user starts the SERUPRO ASUB via function block FC 9
in order to ramp up the spindle.
The start after M0 in the ASUB does not change the spindle status.
SERUPRO ASUB automatically stops before the REPOS part program block.
The user presses START.
The spindle accelerates to the target block state if the spindle was not programmed
differently in the ASUB.
Note
Modifications for REPOS of spindles:
The transitions of speed control mode and positioning mode must be taken into
consideration in the event of modifications in SERUPRO approach and spindle
functionality.
For further information about operating mode switchover of spindles, see
References: /FB1/ Function Manual, Basic Functions; Spindles (S1), 2.1 Spindle Modes.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 545
9.7.4 Self-acting SERUPRO
Self-acting SERUPRO
The channel-specific function "Self-acting SERUPRO" allows a SERUPRO sequence without
having to previously define a search target in a program of the associated SERUPRO
channels.
In addition, a special channel, the "serurpoMasterChan", can be defined for each "Self-acting
SERUPRO". A search target can be defined in this channel.
The "Self-acting SERUPRO" function supports the SERUPRO cross-channel block search.
Function
The "Self-Acting SERUPRO" operation cannot be used to find a search target. If the search
target is not reached, no channel is stopped. In certain situations, however, the channel is
nevertheless stopped temporarily. In this case, the channel will wait for another channel.
Examples are: Wait marks, couplings, or axis replacement.
Wait phase occurs:
During this wait phase, the NC checks whether the channel "seruproMasterChan" has
reached a search target. If no search target is reached, the Wait phase is left.
If the search target is reached,
the SERUPRO operation is also ended in the channel. The "serupro-MasterChan" channel
must have been started in normal SERUPRO mode.
No wait phase occurs:
"Self-Acting SERUPRO" is ended by M30 of the part program.
The channel is now in Reset state again.
A SERUPRO approach does not not take place.
Starting a group of channels
If a group of channels is only started with "Self-Acting SERUPRO", then all channels are
ended with "RESET".
Exceptions:
A channel waits for a partner channel that has not been started at all.
A cross-channel block search can be carried out as follows:
Via the HMI, the user selects the channels that must work together (channel group).
The user chooses an especially important channel from the channel group for which he
wants to select a search target explicitly (target channel).
The HMI will then start SERUPRO on the target channel and "Self-Acting SERUPRO" in
the remaining channels of the channel group.
The operation is complete if each channel concerned has deleted "seruproActive".
"Self-acting SERUPRO" accepts no master channel on another NCU.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
546 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Activation
"Self-acting SERUPRO" is activated via the HMI as a block search start for the Type 5 block
search for target channel "seruproMasterChan".
No search target is specified for dependent channels started from the target channel.
9.7.5 Inhibit specific part of the program in the part program for SERUPRO
Programmed interrupt pointer
As a general rule, only the user of the machine knows the mechanical situation that is
currently being executed in the program. The user can use a "programmable interrupt
pointer" to suppress SERUPRO at a particular point in the program where complex
mechanical conditions prevail to enable user intervention.
Through suitable manipulation of the interrupt pointer, it is possible, with "search for interrupt
point", to resume processing to the search-suppressed location prior to the search-
suppressed location. Search-suppressed areas can also be defined in areas of the part
program in which the NCK is not allowed to resume processing.
The last block processed before the search-suppressed target area is used as a search
pointer.
Input program section
The IPTRLOCK and IPTRUNLOCK language commands mark search-suppressed sections of the
program. These language commands cannot be used in synchronized actions.
IPTRLOCK Start of search-suppressed program section
IPTRUNLOCK End of search-suppressed program section
IPTRLOCK
Freezes the interrupt pointer at the next "machine function block". This block is referred to
below as the Hold block. If a program abort occurs after IPTRLOCK, then the hold block is used
as a search pointer.
Machine function block
Is a single block (SBL1) that can be executed in the main run with a stop after each function
block.
IPTRUNLOCK
The interrupt pointer is repositioned at the current block at the time of the interrupt for the
subsequent program section.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 547
Note
When a search target is found, the interrupt pointer is set to the hold block. The block search
can be repeated for a new search target with the same hold block.
A search-suppressed area in the part program can be detected using the $P_IPRTLOCK
variable.
Nesting rules
The following features regulate the interaction between NC commands IPTRLOCK and
IPTRUNLOCK with nesting and end of subroutine:
1. IPTRLOCK is activated implicitly at the end of the subroutine in which IPTRUNLOCK is called.
2. IPTRLOCK in an untraceable section has no effect.
3. If subprogram1 calls subprogram2 in a search-suppressed area, subprogram2 remains
search-suppressed. IPTRUNLOCK in particular has no effect in subroutine 2.
Examples of nesting with two program levels
Nesting of search-suppressed program sections in 2 program levels.
; Interpretation of the blocks in an illustrative
sequence.
; Subprogram1 is prepared for the block search:
N10010 IPTRLOCK() ; Program level 1
N10020 R1 = R1 + 1 ;
N10030 G4 F1 ; hold block
of the search-suppressed program section starts
... ;
N10040 Subprogram2 ; Interpretation of subprogram2
... ; Program level 2
N20010 IPTRLOCK () ; is ineffective
... ;
N20020 IPTRUNLOCK () ; is ineffective
... ;
N20030 RET ;
... ;
N10050 IPTRLOCK() ;
N10060 R2 = R2 + 2 ;
N10070 G4 F1 ; End of search-suppressed program section
An interruption in a search-suppressed program section of the above program always
returns N10030 G4 F1 block.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
548 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
With implicit IPTRUNLOCK
Nesting of search-suppressed program sections in two program levels with implicit
IPTRUNLOCK. The implicit IPTRUNLOCK in subprogram 1 ends the search-suppressed area.
; Interpretation of the blocks in an illustrative
sequence.
; Subprogram1 is prepared for the block search:
N10010 IPTRLOCK() ; Program level 1
N10020 R1 = R1 + 1 ;
N10030 G4 F1 ; Hold block
... ; of the search-suppressed program section starts
as in previous example ;
N20030 RET ;
... ;
N10060 R2 = R2 + 2 ;
N10070 RET ; End of search-suppressed program section
N100 G4 F1 ; Main program is continued
An interruption in a search-suppressed program section of the above program always
returns N10030 G4 F1 block.
An interruption at N100 provides N100 again in SPARPRI
On one program level
Nesting of IPTRLOCK and IPTRUNLOCK on one program level
; Interpretation of the blocks in an illustrative
sequence
; Subprogram1 is prepared for the block search:
N10010 IPTRLOCK() ; Program level 1
N10020 R1 = R1 + 1 ;
N10030 G4 F1 ; hold block
of the search-suppressed program section starts
... ;
N10050 IPTRLOCK() ; is ineffective
... ;
N10060 IPTRUNLOCK() ; is ineffective
N10070 R2 = R2 + 2 ; End of search-suppressed program section
N100 IPTRLOCK() ; is ineffective
... ;
An interruption in a search-suppressed program section of the above program always
returns theN10030 G4 F1 block in SPARPI.
An interruption on N100 then provides N100 again.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 549
Automatic interrupt pointer
In certain applications it can be useful to automatically define a prespecified type of coupling
as a search-suppressed area. The automatic interrupt pointer function is activated with
machine data
MD 22680 $MC_AUTO_IPTR_LOCK.
Bit 0 = 1: Electronic gearbox with EGON
Bit 1 = 1: Axial leading value coupling with LEADON
This program section begins with the last executable block before the activation and ends
with the deactivation.
The automatic interrupt pointer is not active for couplings that were activated or deactivated
via synchronized actions.
Example: To declare axial master value coupling as search-suppressed:
N100 G0 X100 ;
N200 EGON(Y, "NOC", X, 1,
1)
; search-suppressed program section starts
N300 LEADON(A, B, 1) ;
... ;
N400 EGOFS(Y) ;
... ;
N500 LEADOF(A, B) ; search-suppressed program section ends
N600 G0 X200 ;
A program abort within search-suppressed program section (N200 - N500) always provides the
interrupt pointer with N100.
CAUTION
Using an overlap of the "programmable interrupt pointer" and
"automatic interrupt pointer" via machine data, the NC selects the largest possible search-
suppressed area.
A program may need a coupling for almost all of the runtime. In this case, the automatic
interrupt pointer would always point to the start of the program and the SERUPRO function
would in fact be useless.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
550 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.7.6 Special features in the part-program target block
9.7.6.1 STOPRE in the part-program target block
STOPRE block
The STOPRE block receives all modal settings from the preceding block and can, therefore,
apply conditions in advance in relation to the following actions:
Synchronize program line currently processing with the main run.
Derive modal settings for SERUPRO in order, for example, to influence this REPOS
motion on approach of SERUPRO.
Example 1
Position a Z axis by specifying an X axis setpoint.
When block "G1 F100 Z=$AA_IM[X]" is interpreted, the preceding STOPRE block ensures
synchronization with the main run. The correct setpoint of the X axis is thus read via $AA_IM
to move the Z axis to the same position.
Example 2
Read and correctly calculate external zero offset.
N10 G1 X1000 F100 ;
N20 G1 X1000 F500 ;
N30 G1 X1000 F1000 ;
N40 G1 X1000 F5000 ;
N50 SUPA G1 F100 X200 ; move external zero offset after 200
N60 G0 X1000 ;
N70 ... ;
Via an implicit STOPRE before N50, the NCK can read and correctly and correctly compute
the current zero offset.
For a SERUPRO operation on the search target N50 repositioning occurs in the SERUPRO
approach to the implicit STOPRE and the speed is determined from N40 with F5000.
Implicit preprocessing stop
Situations in which interpreter issues an implicit preprocessing stop:
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 551
1. In all blocks in which one of the following variable access operations occurs: -
Programming of a system variable beginning with $A...
- Redefined variable with attribute SYNR/SYNRW
2. On the following part program commands:
- Part program command MEACALC, MEASURE
- Programming of SUPA (suppress frames and online offsets)
- Programming of CTABDEF (start of curve table definition)
- Part program command WRITE/DELETE (write/delete file)
- Before the first WRITE/DELETE command in a sequence of such commands
- Part program command EXTCALL
- Part program command GETSELT, GETEXET
- Tool change and active fine tool offset FTOCON
3. On the following commands executions:
- Finishing of Type 1 search ("Search without calculation") and
Type 2 search with calculation ("Search at contour end point")
Note: Type 2 search "Block search at contour start point" has the same behavior.
9.7.6.2 SPOS in target block
SPOS
If a spindle is programmed with M3/M4 and the target block contains an SPOS command,
the spindle is switched over to SPOS on completion of the SERUPRO process (search
target located). This is indicated on the VDI interface.
9.7.7 Behavior during POWER ON, mode change and RESET
SERUPRO is inactive during POWER ON. The mode change is permitted during
SERUPRO. RESET will cancel SERUPRO and deselects the internally selected program
test. SERUPRO cannot be combined with other block search types.
9.7.8 Special features of functions supported during SERUPRO
SERUPRO supports the following NC functions:
Traversing to fixed stop: FXS and FOC automatically
Force Control
Synchronous spindle: Synchronous spindle grouping with COUPON
Autonomous single-axis operations: the PLC-controlled axes
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
552 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Linkages: Setpoint and actual value couplings can be simulated
Master/slave for drives. These functions are closely simulated
by electronic gears. The relevant
Axial master value coupling restrictions must be considered in each case!
Axis couplings
Coupled motion: Axis grouping with TRAILON and TRAILOF,
Traverse gantry axis couplings
Tangential control: Tangential follow-up of individual axes
Axis functions
Axis enable,
Autonomous axis operations,
Axis transfer
Gear stage change: During program test (not fully automatically)
Overlaid movements: Superimposed motion interpolation
For more information about these functions, see the following subsections.
9.7.8.1 Travel to fixed stop (FXS)
FXS
The functionality of FOC is repeated automatically with REPOS and designated FXS-
REPOS below. Every axis is taken into account and the torque last programmed before the
search target is applied.
Furthermore, the meaning of system variable $AA_FXS is redefined for SERUPRO as
follows:
$AA_FXS displays the current status of program simulation.
$VA_FXS always describes the real machine status.
The two system variables $AA_FXS and $VA_FXS have the same values continuously
outside the SERUPRO function.
The user can treat FXS and FOC as special commands in a SERUPRO ASUB.
9.7.8.2 Force Control (FOC)
System variables $AA_FOC, $VA_FOC
The meaning of system variable $AA_FOC is redefined for SERUPRO as follows:
$AA_FOC represents the current status of program simulation.
$VA_FOC always describes the real machine status.
The FOC-REPOS function behaves analogously to the FXS-REPOS function. The
functionality of FOC is repeated automatically with REPOS and is designated FOC-REPOS.
Every axis is taken into account and the torque last programmed before the search target is
applied.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 553
Boundary condition
A continuously changing torque characteristic cannot be implemented with FOC-REPOS.
Example
A program moves axis X from 0 to 100 and activates FOC every 20 increments for 10
increments at a time. This torque characteristic is usually generated with non-modal FOC
and cannot, therefore, be traced by FOC-REPOS. FOC-REPOS will traverse axis X from 0 to
100, with or without FOC, according to the last programming.
Note
For further information about the SERUPRO block search in relation to FXS or
FOC, see
References: /FB1/ Function Manual Basic Functions; Traversing to Fixed Stop (F1), General
Functions
9.7.8.3 Synchronous spindle
The synchronous spindle can be simulated.
The synchronous spindle operation with main spindle and any number of following spindles
can be simulated in all existing channels with SERUPRO.
For further information about synchronous spindles, see:
References: /FB2/ Function Manual, Extended Functions; Synchronous Spindle (S3)
9.7.8.4 Couplings and master-slave
Setpoint and actual value couplings
The SERUPRO operation is a program simulation in Program Test mode with which setpoint
and actual value couplings can be simulated.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
554 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Specifications for EG simulation
For simulation of EG, the following definitions apply:
1. Simulation always takes place with setpoint coupling.
2. If under SERUPRO there are only some, i.e. not all, leading axes, the simulation is
aborted with Alarm 16952 "Reset Clear/No Start". This can occur with cross-channel
couplings.
3. Axes that have only one encoder from the point of view of the NCK and are operated with
external data cannot be simulated correctly. These axes must not be integrated in
couplings.
CAUTION
In order to be able to simulate couplings correctly, the couplings must have been
switched off previously.
This can occur with machine data MD10708 $MA_SERUPRO_MASK.
Specifications for coupled axes
The SERUPRO operation simulates coupled axes always assuming that they are setpoint
couplings. In this way, the end points are calculated for all axes that are used as target
points for SERUPRO approach. The coupling is also active with "Search target found". The
path from the current point to the end point is carried out for SERUPRO approach with the
active coupling.
LEADON
The following specifications apply for the simulation of axial master value couplings:
1. Simulation always takes place with setpoint coupling.
2. SERUPRO approach takes place with active coupling and an overlaid motion of the
following axis in order to reach the simulated target point.
The following axis that is moved solely by the coupling cannot always reach the target point.
In SERUPRO approach, an overlaid linear motion is calculated for the following axis to
approach the simulated point!
Reaching simulated target point for LEAD with JOG
At the time of "Search target found", the coupling is already active, especially for the JOG
movements. If the target point is not reached, SERUPRO approach can be used to traverse
the following axis with active coupling and an overlaid motion to the target point.
Note
For further information about the repositioning of soupled axes, see
"Continue machining after SERUPRO search target found".
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 555
Master-slave
During the block search, only the link status should be updated without calculating the
associated positions of the coupled axis.
A system ASUB can be started automatically after the block search is finished. In this
subroutine, the user can control the link status and the associated axis positions
subsequently. The information needed can be read from additional block search system
variables.
System variable for master/slave
The following system variables are needed for the position offset between the axes to be
coupled with the desired link status:
NCK variables Description
$P_SEARCH_MASLD[X] Slave* Position offset between slave and master axis when
the link is closed.
$P_SEARCH_MASLC[X] Slave* Current status of a master/slave link was changed
during block search.
$AA_MASL_STAT[X] Slave* Current status of a master/slave link active.
Slave* for slave axis identifier
Note
This block search for the master/slave link is effective only if the position offset between the
axes can be determined.
In order to determine the programmed positions, the axes to be linked must be in the same
channel at the time of the block search. If this is not the case, the block search is aborted
with alarm 15395.
Variables $P_SEARCH_MASLD, $P_SEARCH_MASLC and $AA_MASL_STAT are cleared
on MASLON.
For further information about the master/slave link, see:
References:
/FB3/ Function Manual Special Function; Speed/Torque Coupling (TE3), Master-Slave
The system ASUB is called progevent.spf and must be available in the /_N_CMA_DIR
directory. The contents might be as follows:
progevent.spf
X=Master axis, Y=Slave axis
Programming
N10 IF(($S_SEARCH_MASLC[Y]< >0) AND ($AA_MASL_STAT[Y]< >0))
N20 MASLOF(Y)
N30 SUPA Y=$AA_IM[X]-$P_SEARCH_MASLD[Y]
N40 MASLON(Y)
N50 ENDIF
N60 REPOSA
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
556 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
To ensure that the ASUB can be automatically started, the following machine data must be
set:
MD11602 $MN_ASUB_START_MASK = 'H03'
MD11604 $MN_ASUP_START_PRIO_LEVEL = 100
MD11450 $MN_SEARCH_RUN_MODE = 'H02'
Coupled axes
The following coupled axes links are compatible with the SERUPRO operation:
Coupled motion TRAILON and TRAILOF
Gantry axes
Tangential control
The activatable and deactivatable "master/slave" link as long as activation and
deactivation is not selective
Note
In case of the leading axis, whose following axes are in another channel, with:
MD22601 $MC_SERUPRO_SPEED_FACTOR = positive
the measure for acceleration of the processing speed does not work.
Coupled motion
The motion-synchronous action for coupled motion of an axis grouping with TRAILON, TRAILOF
is supported by SERUPRO.
For further information about coupled motion with TRAILON, TRAILOF please refer to
References:
/FB3/ Function Manual, Special Functions; M3, "Axis Couplings and ESR"
/PGA/ Programming Manual Job Planning; "Path Behavior" and "Motion-Synchronous Actions"
Gantry axes
Mechanically linked machine axes can be moved without a mechanical offset using the
gantry axis function. This operation is simulated correctly with SERUPRO.
For further information about the functionality of gantry axes, refer to
References:
/FB3/ Function Manual Special Functions; G1, "Gantry Axes"
Tangential control
Tangential follow-up of individual axes is supported by SERUPRO.
For further information about tangential control, see:
References:
/FB3/ Function Manual Special Functions; T3, "Tangential Control"
If "overlaid movements" are used, only the block search via program test (SERUPRO) can
be used, since the overlaid movements are interpolated accordingly in the main run. This
applies in particular to $AA_OFF.
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 557
9.7.8.5 Axis functions
SERUPRO conditions
The special conditions for SERUPRO must be observed with axis enable, autonomous axis
operations, and axis replacement.
Axis enable
The axial IS DB31, ... DBX3.7 ("Program test axis/spindle enable") controls the axis enables
if no closed-loop controller enable is to (or can) be issued at the machine and is active only
during the program test or when SERUPRO is active.
It is possible, via the interface signal PLC NCK
DB31, ... DBX3.7 (program test axis/spindle enable) to do this enabling. If the real servo
enable is missing during program testing or SERUPRO, the effect on the axes/spindles is as
follows:
As soon as the simulated program run intends to move an axis/spindle, the message
"Waiting for axis enable" or "Waiting for spindle enable" is displayed and the simulation is
stopped.
If, during a simulated movement, the VDI signal DB31, ... DBX3.7 (program test
axis/spindle enable) is canceled again, the alarm 21612: "Channel %1 axis %2 VDI signal
servo enable reset during motion is activated.
Autonomous axis operations
Autonomous single-axis operations are axes controlled by the PLC that can also be
simulated on SERUPRO. During SERUPRO operation, as in normal operation, the PLC can
take over or give up control of an axis. If required, this axis can also be traversed using
FC18. The PLC takes over control of the axis before the approach block and is responsible
for positioning this axis. This is valid for all block search types.
For further information about autonomous single-axis operations, see:
References:
/FB2/ Function Manual Extended Functions; P2, "Positioning axes"
Axis replacement
Problem: A program moves an axis and gives up control before the target block with
WAITP(X). X is thus not subject to REPOS and the axis is not taken into account in
SERUPRO approach.
Via the machine data MD11470 $MN_REPOS_MODE_MASK, the following behavior can be
achieved for SERUPRO-REPOS:
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
558 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The neutral axes are moved as "command axes" in the SERUPRO-REPOS. The axis
interpolates without a path context even it was last programmed as a path axis. In this
scenario, the velocity results from MD32060 $MA_POS_AX_VELO. After SERUPRO
approach, this axis is again neutral.
Neutral axes that are however not allowed to be repositioned must receive the axial VDI
signal REPOSDELAY. This deletes the REPOS movement.
Example:
After SERUPRO, one axis is deliberately moved in the synchronized action via technology
cycles. The command axes are always moved in the approach block, never in the target
block. The target block can only be changed if all command axes have been moved to the
end.
CAUTION
The PLC-controlled axis is not repositioned!
Axes enabled by RELEASE(X) before the target block are not repositioned.
9.7.8.6 Gear stage change
Operational sequences
The gear stage change (GSW) requires physical movements from the NCK in order to shift
into a new gear.
In the SERUPRO operation, no gear stage change is required and is carried out as follows:
Some gears can only be changed when controlled by the NC, since either the axis must
oscillate or a certain position must be approached beforehand.
The gear stage change can be suppressed selectively for DryRun, program test, and
SERUPRO using bits 0 to 2 in MD35035 $MA_SPIND_FUNCTION_MASK.
The gear stage change must then be performed in REPOS; this will work even if the axis
involved is to be in "speed control mode" at the target block. In other cases, the automatic
gear stage change is denied with an alarm if, for example, the axis was involved in a
transformation or coupling between the gear stage change and the target block.
Note
For further information about gear stage changes in DryRun, Program test and SERUPRO,
see
References: /FB1/ Function Manual Basic Functions; Spindle Programming (S1)
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 559
9.7.8.7 Superimposed motion
Only SERUPRO
If "overlaid movements" are used, only the block search via program test (SERUPRO) can
be used, since the overlaid movements are interpolated accordingly in the main run. This
applies in particular to $AA_OFF.
Velocity profile instead of maximum axis velocity
During Program test, a velocity profile must be used, which allows "superimposed
movements" to be interpolated during the main run. It is thus not possible to interpolate at
the maximum axis velocity.
The axis velocity is set in "Dry run feedrate" mode using
SD42100 $SC_DRY_RUN_FEED.
The velocity of the SERUPRO operation is selected using
MD22600 $MC_SERUPRO_SPEED_MODE.
9.7.8.8 REPOS offset in the interface
REPOS offset provided or valid
When the SERUPRO operation is finished, the user can use the OPI to read off the REPOS
offset applied via the REPOS process.
An axial interface bit is offered for this
DB31, ...DBX70.0 (REPOS offset).
Value 0 No REPOS offset has to be applied to this axis
Value 1 A REPOS offset has to be applied to this axis.
Scope: The axis-VDI-interface bit "REPOS offset" is provided when the SERUPRO operation
is finished. The "REPOS offset" is invalid when a SERUPRO ASUB starts or continues. The
axis can be moved in JOG mode with a mode change between the SERUPRO end and start
and the "REPOS offset" bit is continuously updated (i.e., the user traverses the REPOS
offset by hand and the bit changes to 0). In the scope, the axis can also be traversed using
FC18, with the "REPOS offset" continuously being updated.
The scope of "REPOS offset" is displayed with the axial VDI interface bit
DB31, ...DBX70.1 (REPOS offset valid):
Value 0 DB31, ... DBX70.0 (REPOS offset) has not been calculated as valid
Value 1 DB31, ... DBX70.0 (REPOS offset) has been calculated as valid
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
560 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.7.8.9 Making the initial settings more flexible
Initial setting/initial SERUPRO setting
Machine data MD20112 $MC_START_MODE_MASK defines the initial setting of the control
for part program start with respect to the G codes (especially the current plane and settable
zero offset), tool length compensation, transformation, and axis couplings. The special option
exists for the SERUPRO operation of using
MD22620 $MC_ENABLE_START_MODE_MASK_PRT
to select an initial setting that differs from the normal part program start. The new setting
must therefore been stored in:
MD22620 $MC_START_MODE_MASK_PRT
The meaning of the bits of MD22620 is identical to those of:
MD20112 $MC_START_MODE_MASK.
Example
The synchronous spindle coupling at the beginning of the SERUPRO operation is retained
for the part program start.
; synchronous spindle coupling not
configured
$MC_START_MODE_MASK = 'H400' ; is switched off
$MC_START_MODE_MASK_PRT = 'H00' ; remains active
$MC_ENABLE_START_MODE_MASK_PRT = 'H01' ; $MC_START_MODE_MASK_PRT is evaluated
in SERUPRO instead of
$MC_START_MODE_MASK
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 561
9.7.9 System variables and variables for SERUPRO sequence
SERUPRO detection
The SERUPRO sequence can be detected using the following system variables:
$P_ISTEST is TRUE (valid also for program test)
$P_SEARCH is set to 5 (search in extended program test)
$AC_ASUP Bit 20 in system ASUB is set after the search target
is found (SERUPRO operation step 8.)
$P_ISTEST AND (5 == $P_SEARCHL) reliably detects SERUPRO.
$AC_SEARCH is not supplied by the SERUPRO operation.
Note
$P_SEARCHL is set at the beginning of the SERUPRO operation and
reset on RESET. As a result, $P_SEARCHL continues to be set in the SERUPRO ASUB and
in the residual part program and can continue to be evaluated.
In contrast, the $P_ISTEST variable is set only in the SERUPRO operation and is thus
suitable for search-specific adaptation of programs.
Synchronized action
SERUPRO can be scanned in a synchronized action using system variable
$AC_SERUPRO = TRUE.
SERUPRO Updated REPOS acknowledgements can be scanned via:
"Program-sensitive system variable" Description
$AC_REPOS_PATH_MODE Type of REPOS MODE
$AA_REPOS_DELAY REPOS suppression is currently active
for this axis
K1: Mode group, channel, program operation, reset response
9.7 Block search Type 5 SERUPRO
Basic Functions
562 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
$AC_SERUPRO and $P_ISTEST, if SERUPRO is still active in the main run
Note
During interpretation of system variables $P_ISTEST and $AC_SERUPRO, a check is made
to determine whether the SERUPRO target block has already been found.
If so, an implicit preprocessing stop is inserted before the two system variables are
evaluated.
As a result, interpretation is halted and not continued again until SERUPRO is deactivated in
the main run as well. The decision as to whether SERUPRO must be active or inactive is
then made correctly.
Additional variable for interpretation during simulation search
In JOG and MDA modes, NC variable "selectedWorkPProg" can be used to select whether
the previously selected program or the program to be simulated is to be displayed in the HMI
during the simulation, e.g., with SERUPRO. For more information, refer to
References: /LIS2/ Lists (Book 2), Section "Variables".
9.7.10 Restrictions
Conditional use
SERUPRO supports the following NC functions subject to certain restrictions:
NCK functionality Restrictions
Master/slave for drives
and SERUPRO
Selective enabling and disabling of the master/slave link with
MASLON active
Axis enables and SERUPRO Real servo enable missing during program testing
Axis replacement and SERUPRO Axes traversing as path axes before RELEASE are ignored on
REPOS
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 563
9.8 Program operation mode
PLC, MD, operation
The execution of part programs can be controlled via the HMI in many ways using PLC
inputs, machine data settings and operator inputs.
Definition
The execution of part programs or part program blocks in AUTOMATIC or MDA modes is
referred to as program operation.
Channel control
Every channel can be manipulated by means of interface signals from the PLC. The control
is exercised via mode group-specific or channel-specific interface signals. An overview of
these signals is given under data lists in this Function Manual.
Status messages
Each channel reports its current program operation status to the PLC with interface signals.
These signals are, in turn, divided up into mode group-specific and channel-specific signals.
9.8.1 Initial settings
Machine data
Defined conditions can be set via machine data for the program operation or certain
implementations of the NC language scope.
MD settings
Initial settings
Initial settings can be programmed in channel-specific machine data for each channel. These
initial settings affect, for example, G groups and auxiliary function output.
Auxiliary function output
The timing for output of auxiliary functions can be predefined via machine data
AUXFU_x_SYNC_TYPE (MD22200, 22210, 22220, 22230, 22240, 22250, 22260), (output
timing for M, S, T, H, F, D, E functions). For further information, see:
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
564 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
References:
/FB1/ Function Manual Basic Functions; Auxiliary Function Outputs to PLC (H2)
G groups
An initial programming setting can be specified for each of the available G groups using
MD20150 $MC_GCODE_RESET_VALUES (reset state of G groups). This initial setting is
automatically active during program start or in Reset until it is deselected by a G command
from the same G group.
Via the MD22510 $MC_GCODE_GROUPS_TO_PLC (G codes, which are output to interface
NCK-PLC after block change/RESET), the output of the G codes to the PLC interface can be
activated.
A list of G groups with the associated G functions is available in:
References:
/PG/ Programming Manual Fundamentals
Basic configurations of the NC language scope for SINUMERIK solution line
For SINUMERIK 840D sl, certain basic configurations of the NC language scope can be
generated (configurable) via machine data. The options and functions of the NC language
scope is specially tailored (configured) to the needs of the user.
NC language scope
The way that non-active options and functions should be moved with NC language
commands can be set via the machine data MD10711
$MN_NC_LANGUAGE_CONFIGURATION:
0: All available language commands can be programmed. Whether or not the needed
function is activated can only be recognized upon execution. This corresponds to the default
setting for previous controls such as SINUMERIK 840D and 840Di.
If only certain options are enabled and not all operations are available:
1: All the language commands are known. Language commands for non-enabled options are
already recognized at the beginning of the program interpretation and lead to the alarm
12553 "option/function is not active."
2: Only those language commands are known, which correspond to the current scope of
enabled options of the NCK software. All commands for non-enabled options are not
recognized and trigger the alarm 12550 "Name not defined or option/function not available".
Note
Option-free functions also have the status "enable option"
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 565
If only certain functions activated are:
3: All the language commands are known. Non-activated functions are already recognized at
the beginning of the program interpretation and result in the alarm 12553 "Option/function is
not active". For example, if the option date is set for the cylinder coat transformation, but the
transformation is not activated in machine data MD24100 $MC_TRAOF_TYPE_1, then the
programming of TRACYL triggers the alarm 12553.
4: Only those NC language commands are known, which correspond to the current scope of
active functions of the NCK software. All commands for non-active functions are not
recognized and trigger the alarm 12550 "Name not defined or option/function not available".
Whether the command in question is generally unavailable in the Siemens NC language or
whether this is true only on the corresponding system cannot be distinguished in this
scenario.
Whether the current NC language scope of enabled options and active functions is also truly
programmable can be checked using the STRINGIS program command, see example.
Check sample application for NC language scope on cylinder jacket transformation TRACYL
The cylinder jacket transformation is optional and must be enabled beforehand. In order to
check this, the following initial conditions are assumed:
The cylinder coat transformation option is not enabled and the machine data
$MN_NC_LANGUAGE_CONFIGURATION = 2; NC language command TRACYL is unknown
The following program is started
N1 R1=STRINGIS("TRACYL") ;R1 is 0 (TRACYL is an unknown name)
N2 IF STRINGIS("TRACYL") ==204
N3 TRACYL(1, 2, 3) ;block is not interpreted
N4 ELSE
N5 G00
N6 ENDIF
N7 M30
Example of whether STRINGIS result is programmable or not
The result of STRINGIS = number-coded return value (three-digit)
Number coding of the basic information (1st digit from the left):
000 Name is unknown, programming is denied with Alarm 12550
100: Name is known but cannot be programmed, triggers alarm 12533
200: Name/symbol is known, but interpretation is not possible
2xx: Name/symbol is known, the command can be programmed, if xx > 0
Definition for name/symbol:
Name: Any STRING that is checked to see
whether it is a component of the NC language in the existing NCK version or configuration.
Symbol: contains the description or significance of an NC language command that is needed
for the NC program and cycle interpretation.
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
566 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Dependent on machine data MD10711
$MN_NC_LANGUAGE_CONFIGURATION = (set value) results in the following interpretations of the
option and function relative to their programmability 2xx:
Table 9- 1 Setting options
MD10711 = 0 1 2 3 4
Option Function Return value as the basic information (1st digit from the left)
0 0 2 1 0 1 0
1 0 2 2 2 1 0
1 1 2 2 2 2 2
0 1 2 1 0 1 0
Definition for option/function:
0 corresponds to option not activated or function deactivated
1 corresponds to option/activated or function activated
For more detailed information on the value ranges of 2xx programmable functions, see
References:
/PGA/ Programming Manual Job Planning; Other Functions, "STRINGIS"
9.8.2 Selection and start of part program or part-program block
Reset status
Channel status
A part program can be selected only if the relevant channel is in the Reset state.
Start command, channel status
There are two possible START commands for initiating processing of a part program or part
program block:
The channel-specific interface DB21, ... DBX7.1 (NC Start), which is usually controlled
from the machine control panel key NC Start, starts program execution in the same
channel.
With the NC instruction START, program execution in the first channel can be started
from the second channel, for example (for further information, see Section on Channel
synchronization).
The START command can only be executed in AUTOMATIC and MDA modes. For this, the
channel concerned must be in the following state:
DB21, ... DBX35.7(channel status reset) or
DB21, ... DBX35.6 (channel status interrupted).
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 567
Signals, Alarms
Required signal states
The part program can now be enabled for execution in the channel with the START
command on the condition that certain signal states exist on the machine.
The following enable signals are relevant on the VDI interface:
DB11 DBX4.4 (mode group ready) must be present
DB11 DBX0.7 (mode group reset) must not be present
DB21, ... DBX1.7 (activate program test) must not be present
DB21, ... DBX7.0 (NC start disable) must not be present
DB21, ... DBX7.2 (NC stop at the block limit) must not be present
DB21, ... DBX7.3 (NC Stop) must not be present
DB21, ... DBX7.4 (NC Stop axes plus spindle) must not be present
DB21, ... DBX7. 7 (Reset) must not be present
DB10 DBX56.1 (Emergency stop) may not be present
No axis or NCK alarm must be active
For a further explanation of the individual signals see Chapter 5.
Execution of command
The parts program or the parts program block is automatically executed and the the following
interface signals are set:
DB21, ... DBX35.5 (channel status reset)
DB21, ... DBX35.0 (program status running)
The program is processed until the end of the program has been reached or the channel is
interrupted or aborted by a STOP or RESET command.
Alarms
Under certain conditions the START command will have no effect and one of the following
alarms will be triggered:
10200 "No NC Start permitted with active alarm"
10202 "No NC Start permitted with active command" (see /DA/)
10203 "No NC Start permitted for non-referenced axes"
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
568 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.8.3 Part-program interruption
"Interrupted" status
Channel status
The STOP command is executed only if the channel concerned has the status
IS DB21, ... D35.5 ("Channel active").
STOP commands
There are various commands that stop the program execution and set the channel status to
"interrupted". These are in particular the interface signals:
DB21, ... DBX7.2 ("NC stop at the block limit)
DB21, ... DBX7.3 ("NC stop")
DB21, ... DBX7.4 ("NC stop, axes plus spindles")
DB21, ... DBX2.0 ("Single block")
Programming command "M00" or "M01".
For a further explanation of the individual interface signals, please see
References: /FB1/ Function Manual Basic Functions; NC/PLC interface signals (Z1), for
explanations of the individual part program instructions, see:
References: /PG/ Programming Manual Fundamentals; see "Li st of Instructions"
Execution of command
After execution of the STOP command, the IS DB21, ... DBX35.3 ("Program status
interrupted") is set. Processing of the interrupted program can continue from the point of
interruption with the command START.
The following actions are executed when the STOP command is triggered:
Part program execution is stopped at the next block limit (with NC stop at block limit,
M00/M01 or single block), processing is stopped immediately with the other STOP
commands.
Any auxiliary functions of the current block not yet output, are no longer output.
The axes of each channel are brought to a standstill along a braking ramp and part
program execution is then stopped.
The block indicator stops at the point of interruption.
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 569
Possible actions in the interrupt state
The following actions can be executed when the part program has been interrupted (program
status stopped, channel interrupted):
Overstoring
References:
/BEM/, Operating Manual HMI Embedded
Block search
References:
/BEM/ Operating Manual HMI Embedded
Repositioning at contour (machine function REPOS)
References:
/BEM/ Operating Manual HMI Embedded
Oriented tool retraction
References:
/PGA/ Programming Manual, Job Planning
Interrupt routine
DRF-Function, Displacement of the workpiece zero
References:
/FB2/ Function Manual, Extended Functions; Manual and Handwheel Travel (H1)
Starting the interrupted program with the interface signal:
DB21, ... DBX7.1 (NC start) or
via NC instruction START from another channel.
9.8.4 RESET command
Command priority
Channel status
The RESET command can be executed in every channel state. This command is aborted by
another command.
Commands
RESET command
The following Reset commands are available:
DB11, ... DBX0.7 ("mode group reset")
DB21, ... DBX7.7 ("Reset")
For a further explanation of the individual interface signals, please see
References: /FB1/ Function Manual Basic Functions; NC/PLC interface signals (Z1)
A RESET command can be used to interrupt an active part program or a part program block
(in MDA).
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
570 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
After execution of the Reset command, the interface signal DB21, ... DBX35.7 ("Channel
status Reset") is set.
The part program cannot be continued at the point of interruption. All the axes of the channel
go into exact stop unless they are in follow-up mode. The same applies to the spindles
configured in the channel.
The following actions are executed when the RESET command is triggered:
Part program preparation is stopped immediately.
Axes and, if they exist, spindles in the channel are decelerated along a braking ramp.
Any auxiliary functions of the current block not yet output, are no longer output.
The block indicator is reset to the beginning of the part program.
All Reset alarms (channel-specific, axis-specific, spindle-specific) are cleared from the
display.
9.8.5 Program status
Interface information
The status of the selected program is displayed in the interface for each channel.
The PLC can then trigger certain responses and interlocks configured by the manufacturer
depending on the status.
The program status is only displayed in the AUTOMATIC and MDA modes. In all other
modes the program status is aborted or interrupted.
Program statuses
The following program statuses are available at the interface:
DB21, ... DBX35.4 ("Program status aborted")
DB21, ... DBX35.3 ("program status interrupted")
DB21, ... DBX35.2 ("Program status stopped")
DB21, ... DBX35.1 ("Program status wait")
DB21, ... DBX35.0 ("Program status running")
For a further explanation of the individual interface signals, please see
References: /FB1/ Function Manual Basic Functions; NC/PLC interface signals (Z1)
The effect of commands/signals
The program status can be controlled by activating different commands or interface signals.
The following table shows the resulting program status when these signals are set
(assumption: status before the signal is set -> Program status running).
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 571
Table 9- 2 Effect on program status
Commands
Program execution statuses
Aborted Interrupted Stopped Wait Running
IS "Reset" X
IS "NC Stop" X
IS "NC stop at block limit" X
IS "NC stop axes and spindles" X
IS "Read-in disable" X
IS "Feed stop, channelsp." X
IS "Feed stop, axissp." X
Feed override = 0% X
IS "Spindle stop" X
M02/M30 in a block X
M00/M01 in a block X
IS "Single block" X
IS "Delete distance-to-go" X
Auxiliary functions output to PLC but
not yet acknowledged
X
Wait instruction in program X
9.8.6 Channel status
Interface representation
The current channel status is displayed in the interface. The PLC can then trigger certain
responses and interlocks configured by the manufacturer depending on the status at the
interface.
The channel status is displayed in all operating modes.
Channel statuses
The following channel statuses are available at the interface:
DB21, ... DBX35.7 ("channel status reset")
DB21, ... DBX35.6 ("channel status interrupted")
DB21, ... DBX35.5 ("channel status reset")
For a further explanation of the individual signals see Chapter 5.
The effect of commands/signals
The channel status can be modified through the activation of various commands or interface
signals. The following table shows the resulting channel status when these signals are set
(assumed status before the signal is set - > Channel status active).
The "Channel status active" signal is obtained when a part program or
part program block is being executed or when the axes are traversed in JOG mode.
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
572 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Commands
Resulting channel status
Reset Interrupted active
IS "Reset" X
IS "NC Stop" X
IS "NC stop at block limit" X
IS "NC stop axes and spindles" X
IS "Read-in disable" X
IS "Feed stop, channelsp." X
IS "Feed stop, axissp." X
Feed override = 0%
IS "Spindle stop" X
M02/M30 in a block X
M00/M01 in a block X
IS "Single block" X
IS "Delete distance-to-go" X
Auxiliary functions output to PLC but
not yet acknowledged
X
Wait instruction in program X
9.8.7 Responses to operator or program actions
Status transitions
The following table shows the channel and program statuses that result after certain operator
and program actions.
The left-hand side of the table shows the channel and program statuses and the mode
groups from which the initial situation can be selected. Various operator/program actions are
listed on the right-hand side of the table, the number of the situation after the action has
been carried out is shown in brackets after each action.
Table 9- 3 Responses to operator or program actions
Situation Channel
status
Program status Active mode Operator or program action (Situation after the
action)
R U A N U S W A A M J
1 x x x RESET (4)
2 x x x RESET (5)
3 x x x RESET (6)
4 x x x NC Start (13); Mode change (5 or 6)
5 x x x NC Start (14); Mode change (4 or 6)
6 x x x Direction key (15); Mode change (4 or 5)
7 x x x NC Start (14)
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 573
Situation Channel
status
Program status Active mode Operator or program action (Situation after the
action)
R U A N U S W A A M J
8 x x x NC Start (15)
9 x x x NC Start (13); Mode change (10 or 11)
10 x x x NC Start (16); Mode change (9 or 11)
11 x x x Direction key (17); Mode change (9 or 10)
12 x x x NC Start (13); Mode change (10 or 11)
13 x x x NC Stop (12)
14 x x x NC Stop (7); at block end (5)
15 x x x NC Stop (8); at JOG end (6)
16 x x x NC Stop (10); at block end (10)
17 x x x NC Stop (11); at JOG end (11)
18 x x x Reset (4); wait for other channel (18)
Channel status Program status Operating modes
R --> aborted N --> aborted A --> aborted
U --> interrupted U --> interrupted M --> aborted
A --> running S --> stopped J --> aborted
W --> waiting
A --> running
9.8.8 Part-Program Start
Start handling
Table 9- 4 Typical program sequence
Sequence Command Conditions
(must be satisfied before the
command)
Comments
1 Load program (via the operator
interface or part program)
2 Select AUTOMATIC mode
3 Program preselection Channel preselected
Preselected channel in
RESET state
User ID sufficient for
program preselection
4 NC start for preselected channel NC start disable not
available
Reference point approached in
all axes
5 Program execution
6 M02/M30/RESET None End of program
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
574 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.8.9 Example of timing diagram for a program run
Signal sequences
NC START (from PLC, HMl, COM, X-user language)
NC STOP (from PLC, HMl, COM, X-user language)
lS "NC START DlSABLE" (DB21, ... DBX7.0)
lS "Read-in disable" (DB21, ... DBX6.0)
lS "Axis controller enable" (DB31, ... DBX2.1)
lS "Feed STOP" (DB31, ... DBX8.3)
lS "Spindle controller enable" (DB31, ... DBX2.1)
lS "Spindle STOP" (DB31, ... DBX8.3)
lS "Program status running" (DB21, ... DBX35.0)
lS "Program status interrupted" (DB21, ... DBX35.3)
lS "Program status stopped" (from NCK) (3)
(DB21, ...DBX35.2)
lS "Program status aborted" (from NCK) (4)
(DB21, ... DBX35.4)
lS "Travel command X axis" (from NCK) (DB31, ... DBB68)
lS "Exact stop fine" (from NCK) (DB31, ... DBX60.7)
lS "Spindle stationary" (from NCK) (DB31, ... DBX61.4)
lS "Spindle in setpoint range" (from NCK)
(DB31, ... DBX83.5)
Spindle ramp-up Axis running
Program:
N10 G01 G90 X100
M3 S1000 F1000
M170 lf N20 M0 lf
.....
(2)
(1)
Link via PLC user program
AuxF M170 from PLC user program completed
i.e., block N10 completed (AuxF output during traverse)
Program stopped with read-in disable
Program aborted with RESET
Figure 9-8 Examples of signals during a program run
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 575
9.8.10 Program jumps
9.8.10.1 Jump back to start of program
Function
With the function "Jump back to start of the program" the control jumps back from a part
program to the beginning of the program. The program is then processed again.
As compared to the function "Program jumps to jump marks", with which a repeated
processing of the program can also be implemented, the function "Jump back to the start of
the program" offers the following advantages:
The programming of a jump mark at the start of the program is not necessary.
The program restart can be controlled through the NC/PLC interface signal:
DB21, ... DBX384.0 (control program branching)
The timer for the program runtime can be reset to "0" at the restart of the program.
The timer for workpiece counting can be incremented by "1" at program restart.
Application
The function is used, if the processing of subsequent workpieces is to be done through an
automatic program restart e.g. in case of turning machine with bar loader/-changer.
Activation
The jump back takes place only when the following NC/PLC interface signal is set:
DB21, ... DBX384.0 (control program branching) = 1
If the signal is at "0", then no jump back is exected and the program processing is continued
with the next part program block after the function call.
Parameter assignment
Program runtime
The runtime of the selected NC program is stored in the system variable $AC_CYCLE_TIME.
When starting a new program, the system variable is automatically reset to "0"(see Chapter
"Program runtime (Page 675)")
Via the following machine data it can be set that the system variable $AC_CYCLE_TIME is
reset to "0" even in case of a program restart through the function "jump back to start of
program":
MD27860 $MC_PROCESSTIMER_MODE (Activation of the program runtime measurement)
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
576 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Bit Value Description
0 $AC_CYCLE_TIME is not reset to "0" by the function "jump back to start of program". 8
1 $AC_CYCLE_TIME is reset to "0" by the function "jump back to start of program".
Note
In order that the setting of bit 8 can become effective, the measurement of the current
program runtime must be active (MD27860 bit 1 = 1).
Workpiece count
After the part program end (M02 / M30) has been attained, the activated workpiece counters
($AC_TOTAL_PARTS / $AC_ACTUAL_PARTS / $AC_SPECIAL_PARTS) are incremented
by "1" (see Chapter "Workpiece Counter (Page 681)").
Via the following machine data it can be set that the activated workpiece counter is
incremented even in case of a program restart through the function "jump back to start of
program":
MD27880 $MC_PART_COUNTER (activation of workpiece counters)
Bit Value Description
In case of a program restart through the function "jump back to start of program", the
workpiece counter:
0 $AC_TOTAL_PARTS is not incremented. 7
1 $AC_TOTAL_PARTS is incremented.
0 $AC_ACTUAL_PARTS is not incremented. 11
1 $AC_ACTUAL_PARTS is incremented.
0 $AC_SPECIAL_PARTS is not incremented. 15
1 $AC_SPECIAL_PARTS is incremented.
Programming
The function is called in the main or the part program via the command GOTOS.
Syntax:
GOTOS
Parameters: none
Application in synchronized actions: not possible
Note
GOTOS internally initiates a STOPRE (pre-processing stop).
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 577
Example
Programming Comment
N10 ... ; Beginning of the program
...
N90 GOTOS ; Jump to beginning of the program
...
9.8.11 Program section repetitions
9.8.11.1 Overview
Function
The program section repetition allows the repetition of any labeled section of a part program.
For more information on labels, please see:
References:
/PG/ Programming Manual Fundamentals; Program Jumps and Program Repetitions
Definition options of part program sections
The program repetition offers various options for defining a part program section that is
supposed to be repeated:
A single part program block
A part program section after a start label
A part program section between a start label and end label
A part program section between a start label and the key word: ENDLABEL
References:
/PGA/ Programming Manual Job Planning; Chapter "Program Coordination"
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
578 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.8.11.2 Individual part program block
Functionality
Via REPEATB (B=Block) in part program block N150, the part program processing branches to
the part program block N120 that is labeled START_1. This is repeated x number of times. If P
is not specified, the program section is repeated exactly once. After the last repetition, the
part program is continued with the part program block N160 following the REPEATBinstruction.
:
N100 ...
N120 START_1: ... ; Label: START_1
N130 ...
N140 ...
N150 REPEATB START_1 P=n ; Repetition after: START_1
N160 ...
:
Note
Label search direction
The part program block identified by the label can appear before or after the REPEATB
statement. The search initially commences toward the start of the program. If the label is not
found, a search is made in the direction of the program end.
Programming
Syntax:
REPEATB <Label> [P=n]
Label
Start label to which the instruction: REPEAT branches
Type: String
P
Number of repetitions
n
Number of repetitions
Type: Integer
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 579
9.8.11.3 A part program section after a start label
Functionality
Via REPEAT in part program block N150, the part program processing branches to the part
program block N120 that is labeled START_1. This part program block and all of the following
part program blocks (N130 and N140) are repeated x number of times up to the part
program block that contains the REPEATinstruction (N150). If P is not specified, the part
program section (N120 - N140) is repeated exactly once. After the last repetition, the part
program is continued with the part program block N160 following the REPEATinstruction.
:
N100 ...
N120 START_1: ... ; Start label: START_1
N130 ...
N140 ...
N150 REPEAT START_1 P=n ; Repetition after: START_1
N160 ...
:
Note
Label search direction
The part program block marked with the Start label must come before the REPEATinstruction.
Programming
Syntax:
REPEAT <Label> [P=n]
Label
Start label to which the instruction: REPEAT branches
Type: String
P
Number of repetitions
n
Number of repetitions
Type: Integer
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
580 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.8.11.4 A part program section between a start label and end label
Functionality
Via REPEAT in part program block N160, the part program processing branches to the part
program block N120 that is labeled START_1 with a start label. This part program block and all
the part program blocks up to and including the part program block marked with the end
label END_1 (N140) are repeated x number of times. If P is not specified, the part program
section (N120 - N140) is repeated exactly once. After the last repetition, the part program is
continued with the part program block N170 following the REPEATinstruction.
:
N100 ...
N120 START_1: ... ; Start label: START__1
N130 ...
N140 END_1 ... ; End label: END_1
N150 ...
N160 REPEAT START_1 END_1 P=n ; Repetition: START_1 until END_1
N170 ...
:
Note
Label search direction
The program section marked with the Start and End labels can come before or after the
REPEATinstruction. The search initially commences toward the start of the program. If the Start
label is not found, a search is made in the direction of the program end.
If the REPEAT instruction is between the Start and End label, only the part program section
from the Start label to the REPEAT instruction is repeated.
REPEAT instruction repeated.
Programming
Syntax:
REPEAT <Start_Label> <End_Label> [P=n]
Start_Label
Start label to which the instruction: REPEAT branches.
Beginning of the part program section that is repeated.
Type: String
End_Label
End of the part program section that is repeated.
Type: String
P
Number of repetitions
n
Number of repetitions
Type: Integer
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 581
9.8.11.5 A part program section between a Start label and the key word: ENDLABEL
Functionality
Via REPEAT in part program block N150, the part program processing branches to the part
program block N120 that is labeled START_1 with a start label. This part program block and all
the part program blocks up to and including the part program block marked with the key word
ENDLABEL (N140) are repeated x number of times. If P is not specified, the part program
section (N120 - N140) is repeated exactly once. After the last repetition, the part program is
continued with the part program block N170 following the REPEATinstruction.
:
N100 ...
N120 START_1: ... ; Start label: START__1
N130 ...
N140 ENDLABEL: ... ; End label: Keyword ENDLABEL
N150 ...
N160 REPEAT START_1 END_1 P=n ; Repetition: START_1 until END_1
N170 ...
:
Note
Label search direction
The program section marked with the Start and End labels can come before or after the
REPEATinstruction. The search initially commences toward the start of the program. If the Start
label is not found, a search is made in the direction of the program end.
If no keyword ENDLABEL is located between the Start label and the REPEAT instruction, the part
program section from the Start label to the REPEAT instruction is repeated.
Programming
Syntax:
REPEAT <Label> [P=n]
Label
Start label to which the instruction: REPEAT branches.
Beginning of the part program section that is repeated.
Type: String
P
Number of repetitions
n
Number of repetitions
Type: Integer
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
582 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.8.12 Event-driven program calls
9.8.12.1 Function
What is the purpose of the function?
The function "Event-driven program calls" offers the possibility of letting an application
program run implicitly during certain events, such as for doing the default settings of
functions of initializations.
Events
Triggering events can be:
Part program start
Part program end
Operator panel reset
Power-up of the NC control
The triggering events are selected with the machine data MD20108
$MC_PROG_EVENT_MASK (see chapter "Parameterization").
User program
In the default setting the program _N_PROG_EVENT_SPF is activated after the triggering
event occurs. If a different application program is to be activated, then it must be entered in
the machine date MD11620 $MN_PROG_EVENT_NAME (see chapter "Parameterization").
The application program activated by the event is basically processed in the channel, in
which the respective event occurred.
The application program is executed with the lowest priority and so can be interrupted by the
user ASUB.
Processing sequence
Sequence during activation through part program start
Initial state:
Channel: in the Reset-state
Mode: AUTO
AUTO + overstoring or MDA
TEACHIN
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 583
1. NC Start
2. Initialization sequence with evaluation of:
MD20112 $MC_START_MODE_MASK (Definition of the control default settings in case
of NC START)
3. Implicit call of _N_PROG_EVENT_SPF as part program
4. Processing of the data part of the main program
5. Processing of the program part of the main program
Sequence during activation through part program end
Initial state:
Channel: in active status
Mode: AUTO
AUTO + overstoring or MDA
TEACHIN
1. Block with end of part program is changed
2. Control activates reset-sequence with evaluation of machine data:
MD $MC_RESET_MODE_MASK
$MC_GCODE_RESET_VALUES
$MC_GCODE_RESET_MODE
3. Implicit call of _N_PROG_EVENT_SPF as ASUB
4. Control activates reset-sequence with evaluation of machine data:
$MC_RESET_MODE_MASK
$MC_GCODE_RESET_VALUES
$MC_GCODE_RESET_MODE
The G code reset position continues to be set with machine data!
Sequence during activation through operator panel reset
Initial state:
Channel: any
Mode: any
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
584 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
1. Control activates reset-sequence with evaluation of machine data:
MD $MC_RESET_MODE_MASK
$MC_GCODE_RESET_VALUES
$MC_GCODE_RESET_MODE
2. Implicit call of _N_PROG_EVENT_SPF as ASUB
3. Control activates reset-sequence with evaluation of machine data:
$MC_RESET_MODE_MASK
$MC_GCODE_RESET_VALUES
$MC_GCODE_RESET_MODE
The G code reset position continues to be set with machine data!
Sequence during activation through power-up
1. Control activates after power-up reset-sequence with evaluation of machine data:
MD $MC_RESET_MODE_MASK
$MC_GCODE_RESET_VALUES
$MC_GCODE_RESET_MODE
2. Implicit call of _N_PROG_EVENT_SPF as ASUB
3. Control activates reset-sequence with evaluation of machine data:
$MC_RESET_MODE_MASK
$MC_GCODE_RESET_VALUES
$MC_GCODE_RESET_MODE
The G code reset position continues to be set with machine data!
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 585
Signal chart
The following diagrams show the signal chart of the NC/PLC interface signals DB21, ...
DBB35 ("Program status" and "Channel status") in case of event-driven program call:
_N_PROG_
EVENT_SPF
_N_PROG_
EVENT_SPF
_N_PROG_
EVENT_SPF
DB21, ... DBX35.0
DB21, ... DBX35.2
DB21, ... DBX35.4
DB21, ... DBX35.5
DB21, ... DBX35.6
DB21, ... DBX35.7
(Program status running)
Part-
program
Start
Part-
program
End Active End End
(Program status stopped)
(Program status aborted)
(channel status active)
(channel status interrupted)
(Channel status reset)
Figure 9-9 Signal chart in case of activation through part program start and part program end
_N_PROG_
EVENT_SPF
_N_PROG_
EVENT_SPF
DB21, ... DBX35.0
DB21, ... DBX35.2
DB21, ... DBX35.4
DB21, ... DBX35.5
DB21, ... DBX35.6
DB21, ... DBX35.7
(Program status running)
Active End
(Program status stopped)
(Program status aborted)
(channel status active)
(channel status interrupted)
(Channel status reset)
Operator
panel
reset
Figure 9-10 Signal chart during activation through operator panel reset
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
586 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Note
DB21, ... DBX35.4 ("Program status aborted") and DB21, ... DBX35.7 ("Channel status
reset") are only received if event-driven use program is complete. Between program end and
the start of the event-driven application program these states are not imported. This is also
the case between an operator panel reset and the start of the application program.
Display
The information about the triggering event is provided to the PLC via the NC/PLC interface
byte DB21, ... DBB376.
Bit Value Description
0 1 Part program start from the channel status reset
1 1 Part program end
2 1 Operator panel reset
3 1 Ramp-Up
4 1 1st start after block search (see "Automatic Start of an ASUB after block search
(Page 515)")
The global query of DB21, ... DBB376 on 0 enables the determination, whether an event-
driven application program is active at all.
If the event-driven application program has expired or has been interrupted with RESET,
then the related display bit is deleted in the interface. For a very brief program, the
corresponding bit remains for at least the duration of a complete PLC cycle.
9.8.12.2 Parameter assignment
Triggering event
Which events the application program should activate, is set channel-specific in the machine
data:
MD20108 $MC_PROG_EVENT_MASK (event-controlled program call)
Bit Value Description
0 1 Activation through part program start
1 1 Activation through part program end
2 1 Activation through Operator panel reset
3 1 Activation through Power up of the NC control
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 587
Prerequisite for the activation:
The application program (default setting: _N_PROG_EVENT_SPF) must be loaded and
cleared.
Note
MD20108 $MC_PROG_EVENT_MASK is ignored during the simulation.
User program
In the default setting after an event set with MD20108 occurs, the program
_N_PROG_EVENT_SPF is activated from the directory _N_CMA_DIR.
If another program is to be activated, then the name of this user program must be entered in
the following machine data:
MD11620 $MN_PROG_EVENT_NAME
The specified program must be present in one of the cycle directories.
The following search path is run when an event set with MD20108 occurs.
1. /_N_CUS_DIR/ for user cycles
2. /_N_CMA_DIR/ for manufacturer cycles
3. /_N_CUS_DIR/ for standard cycles
The first found program with the given name is called.
Note
The specified name is checked syntactically as in case of a subroutine identifier i.e. the first
two characters must be alphabets or underscores (no digits). Prefix (_N_) and suffix (_SPF)
of the program names are added automatically, if not specified.
Note
The same protection mechanisms that can be activated for cycles (protection levels for
writing, reading etc.) are activated.
Behavior when starting a user ASUB
The behavior of the function "event-driven program call" upon start of a user ASUB from the
channel statu reset can be set channel-specific with the machine data:
MD20109 $MC_PROG_EVENT_MASK_PROPERTIES
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
588 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Bit Value Description
0 The occurrence of an event set with MD20108 (part program start, part program
end and/or operator panel reset) leads to the activation of the event-driven user
program.
0
1 The occurrence of an event set with MD20108 does not lead to the activation of the
event-driven user program.
Behavior when the single block processing is set
The behavior of the function "event-driven program call" in case of set single block
processing can be set channel-specific with the machine data:
MD20106 $MC_PROG_EVENT_IGN_SINGLEBLOCK
Bit Value Description
In the event-driven user program:
after an activation through part program start
0 the single block processing is effective.
0
1 the single block processing is suppressed.
after an activation through part program end
0 the single block processing is effective.
1
1 the single block processing is suppressed.
after an activation through operator panel reset:
0 the single block processing is effective.
2
1 the single block processing is suppressed.
after an activation through power-up
0 the single block processing is effective.
3
1 the single block processing is suppressed.
If the single block processing is suppressed, then the event-driven user program is
processed without interruption.
Note
MD20106 $MC_PROG_EVENT_IGN_SINGLEBLOCK affects all single block processing
types.
Note
The single block processing in the event-driven user program can be switched-off through
the following configuration:
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (Prevent single block stop) bit 0 = 1
The differentiated settings in MD20106 $MC_PROG_EVENT_IGN_SINGLEBLOCK are then
ineffective.
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 589
Behavior when the read-in disable is set
The behavior of the function "event-driven program call" in case of set read-in disable
(DB21, ... DBX6.1 = 1) can be set channel-specific with the machine data:
MD20107 $MC_PROG_EVENT_IGN_INHIBIT
Bit Value Description
In the event-driven user program:
after an activation through part program start
0 the read-in disable is effective.
0
1 the read-in disable is suppressed.
after an activation through part program end
0 the read-in disable is effective.
1
1 the read-in disable is suppressed.
after an activation through operator panel reset:
0 the read-in disable is effective.
2
1 the read-in disable is suppressed.
after an activation through power-up
0 the read-in disable is effective.
3
1 the read-in disable is suppressed.
Note
For bit 0 = 1 (user program is activated after part program start) the following constraint is
applicable:
If the user program is ended with the part program command RET, then RET always leads to
an executable block (similar to M17).
In case of bit 0 = 0, RET interpretation is done in the interpreter and leads to an executable
block.
Suppress updating of the display of the program and channel statuses.
In order to avoid a flickering of the display of the program and the channel statuses in the
operator panel, the updating of the display can be suppressed for the execution of the
normally very brief event-driven user program. In the display then, the program and channel
status remains visible before activation of the event-driven user program (e.g. "program
status cancelled" and "channel state reset").
The parameterization of this function is done with the channel-specific machine data:
MD20192 $MC_PROG_EVENT_IGN_PROG_STATE
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
590 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Bit Value Description
During execution of an event-driven user program the updating of the display of the
program and channel status
upon an activation through part program end
0 is not suppressed.
1
1 suppressed.
upon an activation through operator panel reset:
0 is not suppressed.
2
1 suppressed.
upon an activation through power-up
0 is not suppressed.
3
1 suppressed.
Note
The system variables $AC_STAT and $AC_PROG are not affected by this function, i.e. in
the running event-driven user program $AC_STAT is set to "active" and $AC_PROG to
"running".
NC/PLC interface signals DB21, ... DBX35.0-7 ("Program status ..." and "Channel status ...")
also remain unaffected.
Bahavior for NC Stop
The behavior of the function "event-driven program call" for NC-Stop (i.e. NC/PLC interface
signal DB21, ... DBX7.2, 7.3 or 7.4 is set) can be set channel-specific for the triggering event
part program end, operator panel reset and power up with the machine data:
MD20193 $MC_PROG_EVENT_IGN_STOP
Bit Value Description
The event-driven user program is:
upon an activation through part program end
0 stopped/prevented at NC stop
1
1 despite NC Stop been completely processed.
upon an activation through operator panel reset:
0 stopped/prevented at NC stop
2
1 despite NC Stop been completely processed.
upon an activation through power-up
0 stopped/prevented at NC stop
3
1 despite NC Stop been completely processed.
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 591
In this way, an edge change of the interface signal DB21, ... DBX7.3 (NC-Stop) initiated by
the user by activating the NC Stop key in case of reset or power-up is ignored during the
execution of the event-driven user program and an undesired stop behavior at the machine
is prevented.
Note
A programming of DELAYFSTON/ DELAYFSTOF in the event-driven user program cannot be
provided with the behavior set with MD20193, because the NC Stop can cause an
interruption before the execution of the first command DELAYFSTON.
9.8.12.3 Programming
User program
End of program
The following must be kept in mind, if the user program is to be activated through the part
program start.
The user program must be ended with M17 or RET.
A jump back by means of REPOS command is not permitted and leads to an alarm.
Block display
The display can be suppressed in the current block display using the DISPLOF attribute in the
PROC statement.
Processing status
Via the user M function the PLC can be informed about the processing status of the event-
driven user program.
Scan for triggering event
The event, which causes the activation of the user program, can be queried in the user
program with the following system variable:
$P_PROG_EVENT (event-driven program call active)
Value Description
1 Activation through part program start
2 Activation through part program end
3 Activation through Operator panel reset
4 Activation through Power up
5 Activation after output of the last action block after Block search (see "Automatic Start of an
ASUB after block search (Page 515)")
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
592 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Query of the current channel
The application program is basically processed in the channel, in which the corresponding
event has occurred. The current channel is queried in the user program with the following
system variables:
$P_CHANNO (query of the current channel number)
Note
Power up is an event that takes place in all channels.
9.8.12.4 Boundary conditions
Emergency stop / error message
If an error is present when the operator panel is reset or after power-up EMERGENCY
STOP or Mode group/NCK-Continue, then the event-driven user program will only be
processed after EMERGENCY STOP or the error has been acknowledged in all channels.
Note
The power up event occurs in all channels at the same time.
9.8.12.5 Examples
Example 1: Call of all events set with MD20108
Parameter assignment:
MD20108 $MC_PROG_EVENT_MASK = 'H0F' Call of _N_PROG_EVENT_SPF for:
Part program start
Part program end
Operator panel reset
Ramp-Up
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 593
Programming:
Program code Comment
PROC PROG_EVENT DISPLOF
IF ($P_PROG_EVENT==1) ; Processing for part program start.
MY_GUD_VAR=0 ; Initialize GUD variable
RET
ENDIF
IF ($P_PROG_EVENT==2) OR ($P_PROG_EVENT==3) ; Processing for part program end and
operator panel reset.
DRFOF ; Deactivate DRF offsets
IF $MC_CHAN_NAME=="CHAN1"
CANCEL(2) ; Delete modal synchronized action 2
ENDIF
RET
ENDIF
IF ($P_PROG_EVENT==4) ; Sequence for power-up
IF $MC_CHAN_NAME=="CHAN1"
IDS=1 EVERY $A_INA[1]>5.0 DO $A_OUT[1]=1
ENDIF
RET
ENDIF
RET
Example 2: Call through Operator panel reset
Parameter assignment:
MD20108 $MC_PROG_EVENT_MASK = 'H04' Call of _N_PROG_EVENT_SPF for:
Operator panel reset
Programming:
Program code Comment
PROC PROG_EVENT DISPLOF
N10 DRFOF ; Deactivate DRF offsets
N20 M17
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
594 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Example 3: Initialization of the function
Section of the startup file (_N_INITIAL_INI):
Program code Comment
...
CHANDATA(3) ; Initialization for channel 3
$MC_PROG_EVENT_IGN_INHIBIT='H04F'
$MC_PROG_EVENT_MASK='H04'
...
Meaning:
The part program _N_PROG_EVENT_SPF from the directory _N_CMA_DIR should be
started automatically with the RESET key and processed till the end, regardless of whether
the read-in disable is activated or deactivated.
9.8.13 Influencing the Stop events through Stop delay area
Stop Delay Area
The reaction to a stop event can be influenced by conditioned interruptible area in the
current part program. Such a program area is called stop delay area.
Within the stop delay areas there should be no stop and the feed should not be changed.
Stops do not take effect until the program section has been completed (Example: making of
a thread).
A stop delay area is defined with the part program commands:
DELAYFSTON
Start a Stop Delay Area
DELAYFSTOF
End a Stop Delay Area
References:
Programming Manual, Job Planning
Stop events
Overview of the NCK events that cause a stop:
NCK events Response Stop criteria
Reset and mode group RESET immediate IS: DB21, ... DBX7.7 and DB11 DBX20.7
PROG_END Alarm 16954 NC prog.: M30
Interrupt delayed IS: "FC-9" and ASUP DB10 DBB1
DELDISTOGO_SYNC immediate IS: "Delete distance-to-go" DB21, ... DBX6.2 and axial
PROGRESETREPEAT delayed IS: "Clear number of subprogram passes" DB21, ... DBX6.3
PROGCANCELSUB delayed IS: "Program level abort" DB21, ... DBX6.4
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 595
NCK events Response Stop criteria
SINGLEBLOCKSTOP delayed In the stop delay area: NC stops at the end of the 1st block
outside the stop delay area.
Sinlge block is active before the stop delay area:
IS: "NC Stop at block limit" DB21, ... DBX7.2
SINGLEBLOCK_IPO delayed IS: "Activate single-block type 1" DB11 DBX21.7
SINGLEBLOCK_DECODIER delayed IS: "Activate single-block type 2" DB11 DBX21.6
STOPALL immediate IS: DB21, ... DBX7.4 and DB11 DBX20.6
STOPPROG delayed IS: DB21, ... DBX7.3 and DB11 DBX20.5
OVERSTORE_BUFFER_END_REACHED Alarm 16954 NC prog.: Stop because of empty overstore buffer
PREP_STOP Alarm 16954 NC prog.: STOPRE and all implicit Stopres
PROG_STOP Alarm 16954 NC prog.: M0 and M1
STOPPROGATBLOCKEND delayed IS: "NC Stop at block limit" DB21, ... DBX7.2
STOPPROGATSUPEND System fault SR end should always deselect the stop delay section.
WAITM Alarm 16954 NC prog.: WAITM
WAITE Alarm 16954 NC prog.: WAITE
INIT_SYNC Alarm 16954 NC prog.: INIT with parameter "S"
MMCCMD Alarm 16954 NC prog.: MMC( STRING, CHAR )
PROGMODESLASHON delayed IS: DB21, ... DBB26 Activate/switch over skip block
PROGMODESLASHOFF delayed IS: DB21, ... DBB26 deactivate skip block
PROGMODEDRYRUNON delayed IS: DB21, ... DBX0.6 Activate DryRun
PROGMODEDRYRUNOFF delayed IS: DB21, ... DBX0.6 Deactivate DryRun
BLOCKREADINHIBIT_ON delayed IS: DB21, ... DBX6.1 Activate read-in disable
STOPATEND_ALARM immediate Alarm: Alarm configuration STOPATENDBYALARM
STOP_ALARM immediate Alarm: Alarm configuration STOPBYALARM
STOPATIPOBUFFER_ISEMPTY_ALARM immediate Internal: Stop after alarm on empty IPO buffer
STOPATIPOBUF_EMPTY_ALARM_REORG immediate Internal: Stop after alarm on empty IPO buffer
RETREAT_MOVE_THREAD Alarm 16954 NC prog.: Alarm 16954 at LFON (Stop & fast lift in G33 not
possible
WAITMC Alarm 16954 NC prog.: WAITMC
NEWCONF_PREP_STOP Alarm 16954 NC prog.: NEWCONF
BLOCKSEARCHRUN_NEWCONF Alarm 16954 NC prog.: NEWCONF
SET_USER_DATA delayed OPI: PI "_N_SETUDT"
SYSTEM_SHUTDOWN immediate System shutdown for SINUMERIK 840Di
ESR delayed Extended stop and retract
EXT_ZERO_POINT delayed External work offset
STOPRUN Alarm 16955 OPI: PI "_N_FINDST" STOPRUN
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
596 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Reaction
The reaction to a stop event can be:
immediate
Stops immediately even in stop delay section. Is known as a "hard stop event".
delayed
Does not stop (even short-term) until after stop delay section. Is known as a "soft stop
event".
Alarm 16954
Program is aborted because illegal program commands have been used in stop delay
section.
Alarm 16955
Program is continued, an illegal action has taken place in the stop delay section.
Alarm 16957
The program section (stop delay section) enclosed by DELAYFSTON and DELAYFSTOF could
not be activated. As a result, every stop will take effect immediately and is not subject to
a delay! This will always occur when the deceleration begins before the stop delay area
but ends within the stop delay area. Likewise, if the stop delay area is entered with an
override of 0, the stop delay area also cannot be activated. (example: a G4 before the stop
delay section allows the user to reduce the override to 0. The next block in the stop delay
section then begins with override 0 and the described alarm situation occurs.)
Note
MD11411 $MN_ENABLE_ALARM_MASK (activation of warnings) Bit 7 activates this
alarm.
Stop criteria
A stop event can be triggered by the following:
VDI interface signals from the PLC "Hard" stop event
Alarms with NOREADY response "Hard" stop event
Stop key "Soft" stop event
Read-in disable "Soft" stop event
Single BLock "Soft" stop event
Note
Some NCK events are stopped for a short time, in order to perform a switching operation,
and restart immediately. These include e.g. the ASUB that stops the contour briefly in order
to then start the ASUB program immediately. These events are also allowed in the stop
delay area, however they are pushed back to its end and are thus considered "soft stop
events".
K1: Mode group, channel, program operation, reset response
9.8 Program operation mode
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 597
Conditions
The following conditions apply while a stop delay area is being processed:
A change in the feed is ignored while in the stop delay area. A feed disable is thus not
effective until the program area has been exited, and is stopped.
None of the main run axes, such as command axes and positioning axes, which are
traversed with POSA, is stopped.
Part program command G4 is permitted in the stop delay area.
Other part program commands that cause a stop in the meantime (e.g. WAITM), are not
permitted and trigger the alarm 16954.
A stop delay section entered with an override of 0% will not be accepted!
K1: Mode group, channel, program operation, reset response
9.9 Asynchronous subroutines (ASUBs), interrupt routines
Basic Functions
598 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.9 Asynchronous subroutines (ASUBs), interrupt routines
9.9.1 Function
9.9.1.1 General functionality
Note
The terms "asynchronous subroutines (ASUB)" and "interrupt routines" used alternatively in
the description below refer to the same functionality.
Interrupt routines
Interrupt routines are normal part programs, which are started by interrupt events (interrupt
inputs, process or machine status) related to the machining process or the relevant machine
status.
Any part program block currently being executed will be interrupted by the routine if it is not
specifically declared to be locked against interruption. It is possible to continue the
subroutine at the point of interruption at a later stage.
Main program/subprogram lnterrupt routine
Return possible
%100
ABHEB_Z
N10 R1=34 ...
N20 X...Y...
...
M17
Block being
processed
a routine to an event
and "switch it" readyAssign
Event
(input switched)
N10 SETlNT ...
N20 ...
N30 ...
N40 ...
N50 ...
N60 ...
N70 ...
N80 ...
N90 ...
N100 ...
N110 ...
N120 M30
K1: Mode group, channel, program operation, reset response
9.9 Asynchronous subroutines (ASUBs), interrupt routines
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 599
Definition of interrupt routines
The command SETINT or an interrupt signal via the PI service "ASUB" must be assigned to a
part program, which is supposed to act as interrupt routine. This turns the part program into
an interrupt routine.
Interrupt signals
A total of 8 interrupt signals (inputs) are available.
All inputs can be controlled via the PLC.
The first four interrupt signals are also controlled via the 4 rapid NC inputs of the NCU
module.
The signal status of the rapid NC inputs can be read out via the PLC interface (DB10).
The transmission of the rapid NC input signals to the interrupt signals can be disabled via
the PLC interface (DB10).
4 rapid NC inputs
4 interrupt signals 4 interrupt signals
PLC interface
Figure 9-11 Interrupt signals
For more information on PLC control of the rapid NC inputs (interrupt signals) see:
References:
Function Manual Basic Functions; PLC Basic program (P3)
Function Manual, Extended Functions; Digital and analog NCK I/Os (A4)
Call of interrupt routines
During program operation
It is possible to call the interrupt routines, when the mode groups are present in program
operation. This means that the processing is done either in the mode type AUTOMATIC or
MDA part program blocks.
Outside the program operation
Interrupt routines can also be activated in the following program statuses or mode types:
JOG, JOG REF
MDA Teach In, MDA Teach In REF, MDA Teach In JOG, MDA REF, MDA JOG
K1: Mode group, channel, program operation, reset response
9.9 Asynchronous subroutines (ASUBs), interrupt routines
Basic Functions
600 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
AUTOMATIC, stopped, ready
Not referenced
If an interrupt routine is activated in JOG or REF mode, it will interrupt any jogging and
referencing operations in progress.
Activating
The activation of an interrupt routine can be done:
By a 0/1 transition of the interrupt signal, triggered by a 0/1 transition at the rapid NC
input
by the call of the "Function Call ASUB"
References:
Function Manual Basic Functions; PLC Basic Program (P3)
an exit is set via the synchronous action, which indirectly sets an interrupt entry via short-
circuit (see "Examples (Page 611)").
References:
Function Manual, Synchronized Actions
Display
The activation of an interrupt routine is shown with the following NC/PLC interface signal:
DB21, DBX378.0 (ASUB active)
9.9.1.2 Sequence of an interrupt routine in program operation
Decelerating the axes
Upon activation, all machine axes are decelerated to a standstill according to the
acceleration ramp(MD32300 $MA_MAX_AX_ACCEL), and the axis positions are stored.
Reorganization
In addition to decelerating the axes, the previously decoded calculation blocks are calculated
back to the interruption block. i.e. all the variables, frames and G codes are assigned the
value that they would have at the point of interruption if the part program had not been
previously decoded. These values are put in the buffer so that they can be called up again
when the interrupt routine is completed.
Exceptions, where no reorganization is possible:
In thread cutting blocks
With complex geometries (e.g. spline or radius compensation)
K1: Mode group, channel, program operation, reset response
9.9 Asynchronous subroutines (ASUBs), interrupt routines
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 601
Processing of interrupt routine
The Interrupt routine is automatically started on completion of reorganization.
The system handles the interrupt routine like a normal part program (nesting depth, etc.)
End of interrupt routine
After the end identifier (M02, M30, M17) of the Interrupt routine has been processed, the axis
traverses by default to the end position programmed in the part program block following the
interruption block.
A REPOS instruction must have been programmed at the end of the interrupt routine if return
positioning to the point of interruption is required, e.g.
N104 REPOSL M17
Part program:
PROGNAME
N10 ...
N20 Y20
N30 X60
N40 ...
N50 M30
Interrupt routine:
INTER
N101 ...
N102 ...
N103 ...
N104 REPOSL M17
Interruption point
Standard (for G90)
End point of the
interrupt routine
Path with
REPOSL
Standard (for G91)
N101
N20
N30
N40
N104
Traverse path of the
interrupt routine
Figure 9-12 End of interrupt routine
K1: Mode group, channel, program operation, reset response
9.9 Asynchronous subroutines (ASUBs), interrupt routines
Basic Functions
602 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.9.1.3 Interrupt routine with REPOSA
If an interrupt routine with REPOSA triggered by the PLC (block FC9) "interrupted" in channel
status in program operation is completed, then the following sequence is typical:
1. Before the re-approach to the contour, the controller stops and goes to program status
"Stopped". The following NC/PLC-interface signal is set:
DB21, ... DBX318.0 (ASUB is stopped)
2. The operator presses the START key. Thereupon, the signal DB21, ... DBX318.0 is reset
and the re-approach motion starts.
3. At the end of the re-approach motion, the FC9 signal "ASUB done" is set and the path of
the interrupted part program is continued.
Note
The NC/PLC-interface signal DB21, ... DBX318.0 (ASUB is stopped) is available only for
the following case: Interrupt "interrupted" in program operation in the channel status.
Note
In case of interrupt routines that close without REPOS, the signals "Asub-Done" and
DB21, ... DBX318.0 (ASUB is stopped) occur at the same time.
9.9.1.4 NC response
The different reactions of the control to an activated interrupt routine in the various operating
states are given in the following table:
Status of NC ASUB start Control system reaction
Program is active Interrupt, (PLC) 1. Fast retraction or stop axes
2. Interrupt the program for the duration of the ASUB
3. Approach of the interruption point, if REPOS in ASUB
4. Continuation of the part program
RESET Interrupt, (PLC) The ASUB is executed like a main program. RESET (without M30) is
executed at the end of the ASUB. The next control system status
depends on the following machine data:
MD20110 $MC_RESET_MODE_MASK
MD20112 $MC_START_MODE_MASK
References:
Function Manual Basic Functions; Axes, Coordinate Systems, Frames
(K2), Chapter: "Workpiece-related actual-value system"
Interrupt, (PLC) ASUB is executed. At the end of the ASUB the STOP state is reapplied.
If REPOS in the ASUB:
The ASUB processing is stopped before the approach block.
The approach movement can be initiated with the Start key.
Program operation
(AUTOMATC or MDA)
+ channel stopped
Start key Once the ASUB has been executed, processing of the interrupted
program is resumed.
K1: Mode group, channel, program operation, reset response
9.9 Asynchronous subroutines (ASUBs), interrupt routines
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 603
Status of NC ASUB start Control system reaction
Manual mode
+ channel stopped
Interrupt, (PLC) Control system assumes the status "internal program execution mode"
for the addressed channel (not evident externally) and then activates the
ASUB. The selected operating mode remains valid. The original status is
resumed after execution of the ASUB (M17).
JOG
AUTO Teach-In
AUTO Teach reference pnt.
Interrupt, (PLC)
MDA JOG,
MDA Teach-In,
MDA Teach reference pnt.
Interrupt, (PLC)
Stop processing, evaluate:
MD11602 $MN_ASUP_START_MASK
MD11604 $MN_ASUP_START_PRIO_LEVEL
Internal switchover to "internal program execution mode" if appropriate,
activate ASUB, restore status prior to ASUB start.
Any LIFTFAST defined with SETINT is not activated in JOG mode.
Manual mode
+ channel running
Interrupt, (PLC) The current active motion is stopped. The distance-to-go is deleted. The
remaining sequence of operations is the same as for "Manual mode,
channel stopped".
Processing of INITIAL.INI
Block search
Alarm that cannot be
removed by NC start.
Digitalizing active
Channel in fault condition
not possible The signal "Interrupt request not possible" is generated.
9.9.2 Parameter assignment
Effect of mode group signals
The effect of the mode group signals (mode group reset, mode group Stop axes plus
spindle, mode change disable, ...) on channels of mode group, which are currently
processing the interrupt routines, is set in the machine data:
MD11600 $MN_BAG_MASK
Bit Value Description
0 Mode group signals are applicable. 0
1 Mode group signals are not applicable.
MD11600 also controls, whether the internal program execution mode is imported only for
the channel, in which the interrupt routine has been activated, or to all channels in the mode
group.
Bit Value Description
0 The mode switchover is done to all channels in the mode group. 1
1 An internal mode switchover takes place only in the channel, in which the interrupt
routine was activated (possible only if bit 0 is set to "1").
If, via MD 11600, the channel in which the interrupt is running has left the mode group, the
mode group signals Mode Group RESET, Mode Group STOP, ... have no effect on this
channel. In this way the interrupt routines can run without being disturbed by the mode group
signals.
K1: Mode group, channel, program operation, reset response
9.9 Asynchronous subroutines (ASUBs), interrupt routines
Basic Functions
604 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Ignore stop conditions
In the default setting an ASUB start is prevented under the following conditions:
Stop by means of Stop key, M0, M01
Not all axes are referenced yet
read-in disable is active (DB21, ... DBX6.1 = 1)
Via the following machine data the ASUP Start can also be enabled for these conditions:
MD11602 $MN_ASUP_START_MASK (ignore stop conditions for ASUB)
Bit Value Description
Stop reason: Stop key, M0 or M1
0 Stop reason prevented ASUB start.
0
1 An ASUB is started immediately, if the NCK is in the reset status or in the JOG
mode.
Tip:
Without this bit setting, no ASUB can be started in the reset status /JOG mode.
Note:
This bit is set implicitly, if the machine data
MD20108 $MC_PROG_EVENT_MASK in a channel deviates from zero!
This bit is set implicitly, if in the machine data
MD11450 $MN_SEARCH_RUN_MODE the bit 1 is set!
Stop reason: Not all axes are referenced yet
0 Stop reason prevented ASUB start.
1
1 ASUB start also permitted, if all axes are not yet referenced.
Stop reason: Read-in disable is active
0 The ASUB is selected internally, but processed only when the read-in disable is
cancelled.
The value of the machine data MD20116 $MC_IGNORE_INHIBIT_ASUP is
evaluated.
In case MD20116=0, then an ASUB is triggered internally immediately, the blocks
of the ASUB Program are changed only with the cancellation of the read-in disable.
With the triggering of ASUB the path is decelerated immediately (except with the
option of BLSYNC).
A resetting of the read-in disable is done in the ASUP program.
2
1 ASUB start also permitted, when the read-in disable is active.
That is, the blocks of the ASUB program are changed and processed immediately.
In this way, the machine data MD20116 $MC_IGNORE_INHIBIT_ASUP becomes
ineffective.
The NCK behavior corresponds to the machine data allocation:
MD20116 $MC_IGNORE_INHIBIT_ASUP= FFFFFFFF.
K1: Mode group, channel, program operation, reset response
9.9 Asynchronous subroutines (ASUBs), interrupt routines
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 605
Note
Explicit ASUB start
If MD11602 is set such that the ASUB may not be started automatically, the routine can still
be activated by the Start key. Any rapid retraction that may be parameterized is always
started.
Jogging during interruption of a JOG ASUB
In case of single or multi-channel systems the ASUB started automatically in the mode type
JOG can be jogged during interruption.
This functionality is enabled via the bit 3 in the machine data:
MD11602 $MN_ASUP_START_MASK
Bit Value Description
0 Jogging during interruption of a JOG ASUB is not possible. 3
1 Jogging during interruption of a JOG ASUB is possible.
In case of multi-channel systems, the bit 1 must also be set in the machine data
MD11600 $MN_BAG_MASK.
After jogging, a REPOS is triggered with the START key and the ASUB is continued at the
interruption point.
Application example:
In case of a single-slide turning machine a stock removal cycle is started as ASUB in the
mode type JOG and with this a shaft several meters long is processed. During processing it
is necessary to change the cutting edge of the tool. The machine operator stops the ASUB
and jogs away for changing the cutting edge of the tool. After changing the cutting edge, he
activates the START key. The interruption point is approached through REPOS. Thereafter,
the ASUB is continued.
Note
The function "Jogging during interruption of a JOG ASUB" acts only for those ASUB, which
have been activated from the program status "cancelled" (channel status reset).
The function does not work in multi-channel systems without MD11600 $MN_BAG_MASK
Bit1=1.
Effectiveness of MD11602
Priorities are assigned to the interrupt routines, which define the ranking during the
processing (see also "Programming"). There are priorities from 1 to 128. Priority 1
corresponds to the highest priority.
Starting from which priority the ASUB start conditions parameterized with
MD11602 $MN_ASUP_START_MASK are to be effective, is determined with the machine
data:
MD11604 $MN_ASUP_START_PRIO_LEVEL
MD11602 is considered from the priority given here till the highest priority.
K1: Mode group, channel, program operation, reset response
9.9 Asynchronous subroutines (ASUBs), interrupt routines
Basic Functions
606 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Behavior when the read-in disable is set
Via the following channel-specific machine data it can be set for each interrupt signal,
whether the assigned interrupt routines are processed without interruption despite a set
read-in disable (DB21, ... DBX6.1 = 1), or whether the read-in disable is to be made active:
MD20116 $MC_IGNORE_INHIBIT_ASUP
Bit Value Description
In case of a set read-in disable:
after an activation the interrupt routine is assigned to the interrupt signal 1:
0 the read-in disable is effective.
0
1 the read-in disable is suppressed.
after an activation the interrupt routine is assigned to the interrupt signal 2:
0 the read-in disable is effective.
1
1 the read-in disable is suppressed.
after an activation the interrupt routine is assigned to the interrupt signal 3:
0 the read-in disable is effective.
2
1 the read-in disable is suppressed.
Note
The settings in MD20116 $MC_IGNORE_INHIBIT_ASUP are ineffective, if the read-in
disable in the interrupt routines is ignored through the following configuration:
MD11602 $MN_ASUP_START_MASK (ignore stop conditions for ASUB) Bit 2 = 1
Behavior when the single block processing is set
Via the following channel-specific machine data it can be set for each interrupt signal,
whether the assigned interrupt routines are processed without interruption despite a set
single block processing or whether the single block processing is to be made active:
MD20117 $MC_IGNORE_SINGLEBLOCK_ASUP
Bit Value Description
In case of a single block processing:
after an activation the interrupt routine is assigned to the interrupt signal 1:
0 the single block processing is effective.
0
1 the single block processing is suppressed.
after an activation the interrupt routine is assigned to the interrupt signal 2:
0 the single block processing is effective.
1
1 the single block processing is suppressed.
after an activation the interrupt routine is assigned to the interrupt signal 3:
0 the single block processing is effective.
2
1 the single block processing is suppressed.
K1: Mode group, channel, program operation, reset response
9.9 Asynchronous subroutines (ASUBs), interrupt routines
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 607
Note
MD20117 $MC_IGNORE_SINGLEBLOCK_ASUP is effective only for the single block
processing type 1 (SBL1).
Note
The settings in MD20117 $MC_IGNORE_SINGLEBLOCK_ASUB are ineffective, if the single
block processing in the interrupt routines is ignored through the following configuration:
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (Prevent single block stop) bit 1 = 1
Suppress updating of the display of the program and channel statuses.
In order to avoid a flickering of the display of the program and the channel statuses in the
operator panel, the updating of the display can be suppressed for the execution of the
normally very brief interrupt routines. The program and the channel status before the
activation of the interrupt routine then remain visible in the display.
The parameterization of this function is done with the channel-specific machine data:
MD20191 $MC_IGN_PROG_STATE_ASUP
Bit Value Description
The updating of the display of the program and channel statuses is:
during execution the interrupt routine is assigned to the interrupt signal 1:
0 is not suppressed.
0
1 suppressed.
during execution the interrupt routine is assigned to the interrupt signal 2:
0 is not suppressed.
1
1 suppressed.
during execution the interrupt routine is assigned to the interrupt signal 3:
0 is not suppressed.
2
1 suppressed.
K1: Mode group, channel, program operation, reset response
9.9 Asynchronous subroutines (ASUBs), interrupt routines
Basic Functions
608 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The activation of an interrupt routine with suppressed display updating is shown with the
following NC/PLC interface signal:
DB21, DBX378.1 (stopped ASUB active)
Note
The system variables $AC_STAT and $AC_PROG are not affected by this function, i.e. in
the running interrupt routine $AC_STAT is set to "active" and $AC_PROG to "running".
NC/PLC interface signals DB21, ... DBX35.0-7 ("Program status ..." and "Channel status ...")
also remain unaffected.
Fast retraction from contour (LIFTFAST)
If mirroring is active for execution via frames, then the following machine data can be used to
set whether during "fast retraction from the contour" the retraction direction is also to be
mirrored:
MD21202 $MC_LIFTFAST_WITH_MIRROR (fast retraction with mirroring)
The distance for the fast retraction is stored for the 3 geometry axes in the machine data:
MD21200 $MC_LIFTFAST_DIST (Traversing path for fast retraction from the contour)
The maximum axis acceleration (MD32300 $MA_MAX_AX_ACCEL) effective during the
LIFTFAST motion is reduced by a factor, which is specified in the following machine data:
MD20610 $MC_ADD_MOVE_ACCEL_RESERVE
This creates an acceleration reserve for an overlayed motion.
9.9.3 Programming
Assignment Interrupt signal part program
The assignment interrupt signal part program is done with the command SETINT.
Example:
Program code Comment
...
N20 SETINT(3) ABHEBEN_Z ; If input 3 switches, then interrupt routine
"ABHEB_Z" should start.
...
K1: Mode group, channel, program operation, reset response
9.9 Asynchronous subroutines (ASUBs), interrupt routines
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 609
Together with SETINT additionally the following commands can be programmed:
LIFTFAST
When the interrupt signal arrives, a "Fast retraction of the tool from the contour" is
executed before the interrupt routine starts. The motion direction for the fast retraction is
specified by the program instruction ALF.
BLSYNC
Upon receiving the interrupt signal, the current program block is processed and only then
is the interrupt routine started.
Note
The assignment interrupt signal part program is cleared when the following happens:
Channel in Reset state
CLRINT instruction in part program
Priorities
If several SETINT instructions are in the part program and therefore several signals can be
simultaneously received, the assigned interrupt routines must be allocated priorities that
define the sequence in which the interrupt routines are executed:
PRIO=<value>
There are priorities from 1 to 128. Priority 1 corresponds to the highest priority.
Example:
Program code Comment
...
N20 SETINT(3) PRIO=2 ABHEBEN_Z ; If input 3 switches, then interrupt routine
"ABHEB_Z" should start.
N30 SETINT(2) PRIO=2 ABHEBEN_X ; If input 2 switches, then interrupt routine
"ABHEB_X" should start.
...
The interrupt routines are executed in the sequence of the priority values if the inputs
become available simultaneously (are energized simultaneously): First "ABHEBEN_Z", then
"ABHEBEN_X".
REPOS-query
Interrupt routines sequences may be generated for which there is no unambiguous return to
an interruption point in the block processing sequence (REPOS).
The system variable $P_REPINF can be used to scan the ASUB to determine whether a
REPOS is possible.
K1: Mode group, channel, program operation, reset response
9.9 Asynchronous subroutines (ASUBs), interrupt routines
Basic Functions
610 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Value Description
0 Repositioning with REPOS not possible because:
not called in ASUB
ASUB ran from reset status
ASUB ran from JOG
1 Repositioning with REPOS possible in ASUB
Determine cause of activation
With the system variable $AC_ASUP the cause leading to the activation of an intrerrupt
routine, is specified bit-coded and can be read in the part program and in synchronous
actions (see "User-specific ASUB for RET and REPOS > Programming (Page 613)").
Flexible programming
The following commands help in the flexible programming of interrupt routines:
Command Description
SAVE
If the SAVE command has been used to define the interrupt routine, the G
codes, frames and transformations previously active in the interrupted
part program become operative again as soon as the interrupt routine is
ended.
DISABLE
The DISABLE command can be set to protect part program sections from
being interrupted by an interrupt routine.
The assignment interrupt signal part program is maintained but the
interrupt routine no longer respond to the 0/1 signal transition.
ENABLE
The DISABLE command can be reset with the ENABLE command. Interrupt
routines are not activated until the next 0/1 transition of the interrupt
signal.
CLRINT
Clear assignment Interrupt signal part program
References
Programming Manual, Job Planning; Chapter: "Flexible NC Programming" > "Interrupt
routine (ASUB)"
K1: Mode group, channel, program operation, reset response
9.9 Asynchronous subroutines (ASUBs), interrupt routines
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 611
9.9.4 Restrictions
Cross-mode start of interrupt routines
Requirements:
Option: Cross-mode actions
MD11602 $MN_ASUP_START_MASK, at least Bit 0 = 1
For error-free execution of the function, the following settings in particular must be noted:
MD11600 $MN_BAG_MASK
MD11604 $MN_ASUP_START_PRIO_LEVEL
Interrupt assignment priority
Recommended settings:
MD11600 $MN_BAG_MASK = H11
MD11602 $MN_ASUP_START_MASK = H111
MD11604 $MN_ASUP_START_PRIO_LEVEL = 7
9.9.5 Examples
Activation of an interrupt routine via synchronous action
1. Define number of active digital inputs/outputs:
MD10350 $MN_FASTIO_DIG_NUM_INPUTS=3
MD10360 $MN_FASTIO_DIG_NUM_OUTPUTS=3
2. Generate short-circuit with the following MD setting:
MD10361 $MN_FASTIO_DIG_SHORT_CIRCUIT[0]='H0102B102'
MD10361 $MN_FASTIO_DIG_SHORT_CIRCUIT[1]='H0202B202'
3. HW assignment of the external NC input byte for NC program interrupt:
MD21210 $MC_SETINT_ASSIGN_FASTIN=2 ; better 1 byte more than needed
4. Define input as ASUB trigger:
SETINT(1) PRIO=1 SYNCASUP
5. IDS=1 EVERY $$AC_PATHN>=0.5 DO $A_OUT_[9]=1
K1: Mode group, channel, program operation, reset response
9.10 User-specific ASUB for RET and REPOS
Basic Functions
612 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.10 User-specific ASUB for RET and REPOS
9.10.1 Function
Function
The NCK software supplied contains preprogrammed processes (internal ASUBs) for
implementation of the RET and REPOS functions. They can be replaced by user-specific
ASUBs written by the machine tool manufacturer.
DANGER
The machine manufacturer is responsible for the contents of ASUB routines used to
replace ASUP.SYF supplied by Siemens.
Installation
In the manufacturer directory _N_CMA_DIR or in the user directory _N_CUS_DIR a routine
with the name "_N_ASUP_SPF" can be loaded. These must implement the actions desired
by the user for the functions RET and REPOS.
9.10.2 Parameter assignment
Activating
The parameters for the activation of the user-specific routine "_N_ASUP_SPF" are set with
the machine data:
MD11610 $MN_ASUP_EDITABLE (activation of a user-specific ASUP program).
Bit 0 and bit 1 specify, which of the internal system routines are to be replaced by the user-
specific ASUB:
Binary value Description
0 Neither in case RET nor in case of REPOS the user-specific routine _N_ASUP_SPF
is activated.
1 The user-defined routine is activated for RET, the routine provided in the system is
activated for REPOS.
2 The user-defined routine is activated for REPOS, the routine provided in the system is
activated for RET.
3 As in case RET and also in case of REPOS the user-specific routine is activated.
Bit 2 defines in which directory the user-specific routine is to be searched first in case of
activation.
K1: Mode group, channel, program operation, reset response
9.10 User-specific ASUB for RET and REPOS
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 613
Bit Value Description
0 The user-specific routine is searched first in the user directory _N_CUS_DIR. 2
1 The user-specific routine is searched first in the manufacturer directory
_N_CMA_DIR.
Defining a level of protection
If a user-specific ASUB is to be used for RET and/or REPOS, i.e. when:
MD11610 $MN_ASUP_EDITABLE 0
then a level of protection can be defined for the user-specific routine "_N_ASUP_SPF". The
level of protection can have values in the range 0 - 7.
The setting is done via the following machine data:
MD11612 $MN_ASUP_EDIT_PROTECTION_LEVEL (level of protection of the user-specific
ASUB)
For further information about protection levels, refer to:
References:
Commissioning Manual; Level of protection concept
Behavior when the single block processing is set
Via the following machine data it can be set, that despite a set single block processing the
internal ASUB or the user-specific "_N_ASUP_SPF" is processed without interruption:
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (Prevent single block stop)
Bit Value Description
0 A stop is done in each ASUB block. 0
1 The ASUB is processed without interruption.
9.10.3 Programming
Determine cause of ASUB activation
The reason that led to the activation is specified in bit code through the $AC_ASUP system
variable, and can be read in part program and synchronized actions.
Bit
19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RET 1 1 * 1
REPOS 1 1 1 1 1 1 1 1 * 1 1 1
*: If bit 9 is set, then the behavior depends on MD20114 (see table below)
K1: Mode group, channel, program operation, reset response
9.10 User-specific ASUB for RET and REPOS
Basic Functions
614 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The significance of the bits of system variable $AC_ASUP is as follows:
Bit Description
0 User interrupt "ASUB with BLSYNC"
Continuation: Freely selectable REORG or RET
1 User interrupt "ASUP"; The position at which it was stopped is stored for continuation with
REPOS.
Continuation: Freely selectable REORG or RET
2 User interrupt "ASUB from channel status Ready"
Continuation: Freely selectable REORG or RET
3 User interrupt "ASUB in a manual mode and in channel status not Ready"
Continuation: Freely selectable REORG or RET
4 User interrupt "ASUP"; The current position is stored when the interrupt occurs, for
continuation with REPOS.
Continuation: Freely selectable REORG or RET
5 Abort of the subroutine repeat
Continuation: With system ASUB REPOS
6 Activation of decoder single block
Continuation: With system ASUB REPOS
7 Activation of delete distance-to-go
Continuation: With system ASUB RET
8 Activation of axis synchronization
Continuation: With system ASUB REPOS
Mode change
Continuation: in case of system ASUP, REPOS or RET depending upon
MD20114 $MC_MODESWITCH_MASK (interruption of MDA through mode change):
Bit 0 = 0: RET
9
Bit 0 = 1: REPOS
10 Program continuation during TEACHIN or after TEACHIN deactivation
Continuation: With system ASUB RET
11 Overstore selection
Continuation: With system ASUB REPOS
12 Alarm with reaction correction block with REPOS
Continuation: With system ASUB REPOS
13 Retraction motion in case of G33 and Stop
Continuation: With system ASUB RET
14 Activation of dry run feedrate
Continuation: With system ASUB REPOS
15 Deactivation of dry run feedrate
Continuation: With system ASUB REPOS
16 Activation of skip block
Continuation: With system ASUB REPOS
K1: Mode group, channel, program operation, reset response
9.10 User-specific ASUB for RET and REPOS
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 615
Bit Description
17 Deactivation of skip block
Continuation: With system ASUB REPOS
18 Activate machine data
Continuation: With system ASUB REPOS
19 Make user data effective
Continuation: With system ASUB REPOS
20 Activation of system ASUB, after search type SERUPRO has reached the search target
Continuation: With system ASUB REPOS
K1: Mode group, channel, program operation, reset response
9.11 Single block
Basic Functions
616 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.11 Single block
Block-by-block processing
With the single-block function, the user can execute a part program block-by-block.
Single-block types
There are 3 types of setting for the single-block function:
SBL1 := IPO single block
When the SLB1 function is active, machining stops or pauses after each machine action
block (Ipo block).
SBL2 := Decode single block
When the SLB2 function is active, machining always stops or pauses after each part
program block. If a part program block is processed in several IPO blocks, machining
stops after every Ipo block. Thread cutting is an exception.
SBL3 := Decode single block
As for SLB2, but machining also stops in the part program blocks of the cycles.
1. Stopping after every block is undesirable in many situations and/or with certain blocks.
1st example:
Change after jog operation, if reorganization and/or repositioning
is not possible, MD10702, bits 6 and 7.
If a stop occurs in a block at the end of block, which cannot be
reorganized and/or repositioned, in this situation
Jog mode cannot be selected.
2nd example:
Change after JOG operation to a STOPRE block,
MD10702, bits 6 and 7
If AUTO mode is changed to Jog mode while a
STOPRE block is active, in addition to system ASUB2, a continuation start will be
followed by
one residual block and one or possibly (with
decoder single block) two more STOPRE blocks. A logic operation,
which always triggers a part program start in single block
and then always changes to Jog mode, remains
at the STOPRE block indefinitely.
3rd example:
DISPOF: Deactivate block display, MD10702, bits 6 and 7
If DISPOF is programmed in a subroutine, the block display
is suppressed. The operator must continuously
press Start blindly in the single block up to the end of the subroutine.
2. When single block is deactivated there is no stop at end of block.
3. When STOPRE blocks are displayed, the main run and preprocessing are synchronized
in the decoding single block.
The following sections describe how to control the behavior of single blocks and prevent
stops in particular situations.
K1: Mode group, channel, program operation, reset response
9.11 Single block
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 617
9.11.1 Decoding single block SBL2 with implicit preprocessing stop
Asynchronicity
As a result of preprocessing of part program blocks, the reference between the current block
display relative to the main run status of the NCK and the variable values displayed on the
HMI can be lost. The operator display then shows implausible variable values.
Preprocessing stop for each block
A preprocessing stop is executed for active SBL2 with each block with the channel-specific
setting data SD42200 $SC_SINGLEBLOCK2_STOPRE (activate debug mode for SBL2).
This suppresses preprocessing of part program blocks and maintains the relationship
between the current block display and the variable values display.
Note
This variant of SBL2 does not maintain an accurate contour. In other words, as a result of
the preprocessing stop, a different contour may be generated from the one created without
single-block mode or with SBL1.
Application: Debug mode for testing part programs.
9.11.2 Single block stop: Suppression using SBLOF
Single block off
Programs characterized by the SBLOF language command are executed completely in one
block as with every type of single block.
SBLOF is also valid in the called subroutines.
SBLOF
Example for subroutine without stop in single block:
PROC EXAMPLE SBLOF
G1 X10
RET
At the return command, the decision is made whether to stop at the end of the subprogram:
Return jump with M17 Stop at the end of the subprogram
Return jump with RET No stop at end of subroutine
K1: Mode group, channel, program operation, reset response
9.11 Single block
Basic Functions
618 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
SBLOF in the program
SBLOF alone must remain in the block. Single-block stop is deactivated from this block
onwards up to the next programmedSBLON or up to the end of the active subroutine level.
If SBLOF is active, then this definition is also valid in the called subroutines. SBLON
Example for an area in single block mode
The area between N20 and N60 is executed as one step in single-block mode.
N10 G1 X100 F1000
N20 SBLOF ; Deactivate single block
N30 Y20
N40 M100
N50 R10=90
N60 SBLON ; Reactivate single block
N70 M110
N80 ...
Asynchronous subprograms
The asynchronous subroutines ASUP1.SYF and ASUP2.SYF started system-internally in
REORG/REPOS can process the system ASUP in one step through the programming of
SBLOF.
Example: ASUP.SPF:
N10 SBLOF
N20 IF $AC_ASUP==H200
N30 RET ; No REPOS on mode change
N40 ELSE
N50 REPOSA ; REPOS in all other cases
N60 ENDIF
N70 RET
Constraints
The current block display can be suppressed in cycles with DISPLOF.
IfDISPLOF is programmed together withSBLOF, then the cycle call continues to be displayed
on single-block stops within the cycle.
The preset behavior of asynchronous subroutines in single block mode specified in
MD20117 MC_IGNORE_SINGLEBLOCK_ASUP (process interrupt program fully despite
single block) can be overwritten on a program-specific basis using SBLOF.
K1: Mode group, channel, program operation, reset response
9.11 Single block
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 619
Cycle
Example 1: A cycle is to act like a command for a user.
Main program:
N10 G1 X10 G90 F200
N20 X-4 Y6
N30 CYCLE1
N40 G1 X0
N50 M30
Program cycle:1
N100 PROC CYCLE1 DISPLOF SBLOF ; Suppress single block
N110 R10=3*SIN(R20)+5
N120 IF (R11 <= 0)
N130 SETAL(61000)
N140 ENDIF
N150 G1 G91 Z=R10 F=R11
N160 M17
CYCLE1 is processed for an active single block, i.e., the Start key must be pressed once to
process CYCLE1.
Example 2: An ASUB, which is started by the PLC in order to activate a modified zero offset
and tool offsets, is to be executed invisibly.
N100 PROC ZO SBLOF DISPLOF
N110 CASE $P_UIFRNUM OF 0 GOTOF
_G500 1 GOTOF _G54 2 GOTOF _G55 3 GOTOF _G56 4
GOTOF _G57 DEFAULT GOTOF END
N120 _G54: G54 D=$P_TOOL T=$P_TOOLNO
N130 RET
N140 _G54: G55 D=$P_TOOL T=$P_TOOLNO
N150 RET
N160 _G56: G56 D=$P_TOOL T=$P_TOOLNO
N170 RET
N180 _G57: G57 D=$P_TOOL T=$P_TOOLNO
N190 RET
N200 END: D=$P_TOOL T=$P_TOOLNO
N210 RET
K1: Mode group, channel, program operation, reset response
9.11 Single block
Basic Functions
620 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.11.3 Single block stop: inhibit according to situation
Suppress stopping in single cases
Depending on
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (Prevent single block stop)
setting bits 0 to 12 = 1 can suppress stopping at the end of the block during the following
machining processes.
Program execution must not stop after single blocks in the case of the following even if
block-by-block processing is selected:
1. An internal Asub
2. During a user ASUP
3. Subroutines with the attribute DISPLOF
4. Intermediate blocks
5. Block search group blocks
6. Init blocks
7. Blocks, which cannot be reorganized
8. Blocks, which are not repositionable
9. A repositioning block, which contains no traversing information
10. A prerun/main run/synchronization block, due to REORG
11. At a Tool selection block.
12. At a GET block
13. During a single block type 2
Sequence
If an ASUB is activated during the single block, for example, execution of the ASUB is
completed. The deceleration movement does not take place until after the end of the ASUB
or the first IPO block in which single-block suppression is not activated. If the velocity is too
large for the deceleration to be performed in this block (with continuous-path mode G64
active), G64), further block changes are allowed.
For decoding single block, MD10702 is only effective with "internal ASUB", "user ASUB" and
"subroutines with the attribute DISPLOF". In these cases, it is already clear at the time of
interpretation that the block belongs to one of the above categories. In these cases, further
blocks can be generated.
SBLON in ASUB
The single block stop of an internal ASUP or user ASUP that is suppressed with MD10702
$MN_IGNORE_SINGLEBLOCK_MASK can be reactivated in ASUP by programming SBLON.
This functionality can be suppressed again with MD20117
$MC_IGNORE_SINGLEBLOCK_ASUB. The SBLON command then becomes ineffective.
K1: Mode group, channel, program operation, reset response
9.11 Single block
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 621
Boundary conditions
The following restriction applies to decoding single block SBL2:
Block search approach blocks
Block not in ASUB; DISPLOF, SBLOF
Non-reorganizable and non-repositionable blocks
Blocks that are not generated in the interpreter, e.g., intermediate blocks
9.11.4 Single-block behavior in mode group with type A/B
Classifying channels
One mode group channel must be classified as a single-block control channel (KS), while the
other mode group channels must be classified as dependent channels (KA) via interface
signal. Type A or type B single-block behavior can be selected for KA channels.
Type A determines Stop (analogous to STOP key).
Type B determines Stop (analogous to stop at block limit).
Channel classification
In one channel (KS) in a mode group, the user should select single-block (NST DB21 ...
DBX0.4 (activate single block)). Single-block type A or B refers to other channels (KA) of a
mode group.
... ...
Mode group
Channel 1 KS Channel 2 KA Channel 3 KA Channel n KA
Behavior can be selected via type A or type B
Figure 9-13 Channel classification for single block in mode group 1
Type A, NST DB11, DBX1.7=1 (single block type A)
- all channels are stopped.
- All channels receive a start (Start key).
- Channel KS stops at the end of the block (due to single-block)
- Channels KA receive a STOP. (analogous to STOP key).
- All channels are stopped. (deceleration phase of all KAs)
Type B, NST DB11, ... DBX1.6=1 (single block type B)
- All channels are stopped.
- All channels receive a start
- Channel KS stops at the end of the block
K1: Mode group, channel, program operation, reset response
9.12 Program control
Basic Functions
622 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
- Channels KA receive a STOPATEND.
(analogous with NST DB21, ... DBX7.2 ("NC stop at the block limit).
- All channels are stopped at a block limit (at some point in time).
9.12 Program control
Options
1. Function selection (via operator interface or PLC)
2. Activation of skip levels
3. Adapting the size of the interpolation buffer
4. Program display modes via an additional basic block display
5. Execution from external source (buffer size and number)
6. Execution from external subroutines
9.12.1 Function selection (via operator panel front or PLC)
Operator interface or PLC
The user can control part program execution via the operator panel front or PLC.
Selection, activation, feedback
Selection
Different functions are available under the Program control soft key. Selection affects an
interface signal in the PLC. These signals are to be understood as selection signals from the
operator interface, and do not activate the selected function.
Activation
These signal states must be transferred to another area of the data block to activate the
selected function. With program control by the PLC the signals are to be set directly.
Feedback
The activated functions are partly signaled back to the PLC from the NCK.
K1: Mode group, channel, program operation, reset response
9.12 Program control
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 623
Table 9- 5 Program control: Interface signals
Function Selection signal Activation signal Feedback signal
SKP skip block 0 to 7
SKP skip block 8 to 9
DB21, ... DBX26.0 - 26.7
DB21, ... DBX27.0 - 27.1
DB21, ... DBX2.0 - 2.7
DB21, ... DBX31.6 - 31.7
- - -
DRY dry run feedrate DB21, ... DBX24.6 DB21, ... DBX0.6 DB21, ... DBX318.6
ROV Rapid traverse override DB21, ... DBX25.3 DB21, ... DBX6.6 - - -
Single block: Preselection of SBL1, SBL2 or SBL3 via program control display of HMI
SBL1: Action single block
SBL2: Decoding single block
SBL3: In cycle
HMI operator panel DB21, ... DBX0.4 - - -
M01 (Programmed stop) DB21, ... DBX24.5 DB21, ... DBX0.5 DB21, ... DBX32.5
Associated M01 DB21, ... DBX24.4 DB21, ... DBX30.5 DB21, ... DBX318.5
DRF selection DB21, ... DBX24.3 DB21, ... DBX0.3 DB21, ... DBX33.3
PRT program test DB21, ... DBX25.7 DB21, ... DBX1.7 DB21, ... DBX33.7
References:
/FB1/ Function Manual Basic Functions; NC/PLC Interface Signals (Z1)
/BAD/ Operating Manual HMI Advanced "Operating Area, Machine"
9.12.2 Activation of skip levels
Function
It is possible to skip blocks, which are not to be executed every time the program runs.
Blocks to be skipped are indicated in the part program by an oblique "/" before the block
number.
The skip levels in the parts program are specified by "/0" to "/9".
Only one skip level can be specified for each part program block.
Parameter assignment
The number of skip levels is defined using machine data:
MD51029 $MM_MAX_SKP_LEVEL (max. number of skip levels in the NC program)
K1: Mode group, channel, program operation, reset response
9.12 Program control
Basic Functions
624 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Programming
Blocks, which are not to be executed in every program pass (e.g., program test blocks) can
be skipped according to the following schematic.
Program code Comment
/N005 ; Block skipped, (DB21,... DBX2.0) 1st skip level
/0 N005 ; Block skipped, (DB21,... DBX2.0) 1st skip level
/1 N010 ; Block skipped, (DB21,... DBX2.1) 2nd skip level
/2 N020 ; Block skipped, (DB21,... DBX2.2) 3rd skip level
/3 N030 ; Block skipped, (DB21,... DBX2.3) 4th skip level
/4 N040 ; Block skipped, (DB21,... DBX2.4) 5th skip level
/5 N050 ; Block skipped, (DB21,... DBX2.5) 6th skip level
/6 N060 ; Block skipped, (DB21,... DBX2.6) 7th skip level
/7 N070 ; Block skipped, (DB21,... DBX2.7) 8th skip level
/8 N080 ; Block skipped, (DB21,... DBX31.6) 9th skip level
/9 N090 ; Block skipped, (DB21,... DBX31.7) 10th skip level
Activation
The 10 skip levels "/0" to "/9" are activated by the PLC setting the PLC NCK interface
signals.
The function is activated from the HMI via the "Program control" menu in the "Machine"
operating area:
for skip levels "/0" to "/7":
via the interface HMI PLC DB21, ... DBB26 (skip block selected).
for skip levels "/8" to "/9":
via interface HMI PLC DB21, ... DBX27.0 to DBX27.1.
References:
Operating Manual
Note
The levels to be skipped can only be changed when the control is in the STOP/RESET state.
K1: Mode group, channel, program operation, reset response
9.12 Program control
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 625
9.12.3 Adapting the size of the interpolation buffer
MD28060
The channel-specific interpolator executes prepared blocks from the interpolation buffer
during the part program run. The maximum number of blocks requiring space in the
interpolation buffer at any given point in time is defined by the memory configuring MD28060
$MM_IPO_BUFFER_SIZE (number of NC blocks in the IPO buffer (DRAM)). For some
applications it may be meaningful not to use the full buffer capacity in order to minimize the
"interval" between preparation and interpolation.
SD42990
The number of blocks in the interpolation buffer can be restricted dynamically to a smaller
value than in MD28060 $MC_MM_IPO_BUFFER_SIZE (number of NC blocks in the IPO
buffer (DRAM)), minimum 2 blocks, with the setting data SD42990
$SC_MAX_BLOCKS_IN_IPOBUFFER (max. number of blocks in the IPO buffer).
Values of setting data SD42990 $SC_MAX_BLOCKS_IN_IPOBUFFER:
Value Effect
< 0 No interpolation buffer limit active.
The max. possible interpolation buffer as set in MD 28060:
MM_IPO_BUFFER_SIZE is activated.
or 1 The minimum permissible interpolation buffer with 2 blocks is activated.
< < MM_IPO_BUFFER_SIZE The interpolation buffer is activated with no more than the maximum specified
number of blocks.
>= MM_IPO_BUFFER_SIZE The interpolation buffer is activated with the number of blocks specified in MD
28060: MM_IPO_BUFFER_SIZE.
Note
If SD42990 $SC_MAX_BLOCKS_IN_IPOBUFFER is set in the part program, the
interpolation buffer limitation takes effect immediately if the block with the SD is being
preprocessed by the interpreter.
This means that the limitation of the IPO buffer may take effect a few blocks before the
intended limitation (see also MD 28070 $MC_MM_NUM_BLOCKS_IN_PREP).
To avoid premature activation and to make the limitation of the IPO buffer take effect in
synchronism with the block, a STOPRE (preprocessing stop) must be programmed before
the SD is set in the part program.
K1: Mode group, channel, program operation, reset response
9.12 Program control
Basic Functions
626 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Validity
SD42990 $SC_MAX_BLOCK_IN_IPOBUFFER has global, channel-specific validity and can
also be modified in a part program. This modified value is maintained at program end. If this
setting data is to be reset again on defined events, a so-called event-driven program must be
created to do this. For example, this setting data could always be set to a predefined value
on RESET.
Application
The IPO buffer limitation can be used whenever the number of blocks between block
preparation and interpolation must be minimized, e.g., when actual positions in the part
program must be read and processed for other purposes.
Example
N10 ...
N20 ...
..........
N100 $SC_MAX_BLOCKS_IN_IPOBUFFER = 5 ; Limitation of IPO buffer to 5 NC
blocks
N110 ...
N120 ...
............
N200 $SC_MAX_BLOCKS_IN_IPOBUFFER = -1 ; Cancellation of the IPO buffer
limitation
N210 ...
............
9.12.4 Program display modes via an additional basic block display
Basic block display (only for ShopMill/ShopTurn)
A second so-called basic block display can be used with the existing block display to show
all blocks that produce an action on the machine.
Look Ahead basic block display
The actually approached end positions are shown as an absolute position. The position
values refer either to the workpiece coordinate system (WCS) or the settable zero system
(SZS).
K1: Mode group, channel, program operation, reset response
9.12 Program control
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 627
The number of Look Ahead display blocks stored in the display buffer depends on the
number of prepared blocks in the NCK preprocessing buffer in the relevant processing state.
If a preprocessing stop is processed, the number of display blocks is reduced to zero and
increases again after the stop is acknowledged. In the case of REORG events (e.g., mode
change, ASUB start), the display blocks stored for Look Ahead are deleted and
preprocessed again afterwards.
Processed values
Values processed in the basic block display coincide with the:
selected tools
feed and spindle speed
actually approached position values
exceptions:
With active tool radius compensation, deviations can occur.
For modulo axes, the programmed value is displayed in the basic block display. This
value can also lie outside the modulo range.
Note
As a basic rule the positions are represented in the WCS or the SZS.
The basic block display can be activated or deactivated with setting data
SD42750 $SC_ABSBLOCK_ENABLE.
9.12.5 Basic block display for ShopMill/ShopTurn
Configure basic block display
The basic block display can be configured via the following machine data:
NCK machine data for basic block display Significance:
MD28400 $MC_MM_ABSBLOCK Activate basic block display
MD28402
$MC_MM_ABSBLOCK_BUFFER_CONF[2]
Size of display buffer
Display machine data Position values to be set:
MD9004 $MM_DISPLAY_RESOLUTION For metric measurements
MD9011 $MM_DISPLAY_RESOLUTION_INCH For inch measurements
MD9010 $MM_SPIND_DISPLAY_RESOLUTION
Settable coordinate system for spindle display
resolution
MD9424 $MM_MA_COORDINATE_SYSTEM For actual value display in WCS or SZS
These display machine data are copied to NCK machine data
MD17200 $MN_GMMC_INFO_UNIT[0] to MD17200 $MN_GMMC_INFO_UNIT[3]. allowing
them to be accessed from the NCK.
K1: Mode group, channel, program operation, reset response
9.12 Program control
Basic Functions
628 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Activating
The basic block display is activated by MD 28400 $MC_MM_ABSBLOCK by means of
Power On. If MD28400 $MC_MM_ABSBLOCK is set to 1, a channel-specific display buffer
(FIFO) is created during power-up.
Size of display buffer (FIFO) = (MD28060 $MC_MM_IPO_BUFFER_SIZE + MD28070
$MC_MM_NUM_BLOCKS_IN_PREP) multiplied by 128 bytes. This corresponds to a size of
6KB in the machine data default setting.
Optimize size of display buffer:
The memory requirement can be optimized by entering a value between 128 and 512. The
display blocks preprocessed in the display buffer are transferred to the HMI via a
configurable upload buffer.
Maximum size of upload buffer is obtained by multiplying (MD28402
$MC_MM_ABSBLOCK_BUFFER_CONF[0] +
MD28402 $MC_MM_ABSBLOCK_BUFFER_CONF[1] + 1) by the block length configured in
MD28400 $MC_MM_ABSBLOCK.
The number of blocks before the current block is configured in
MD28402 $MC_MM_ABSBLOCK_BUFFER_CONF[0] and the number of blocks after the
current block is configured in MD28402 $MC_MM_ABSBLOCK_BUFFER_CONF[1].
Constraints
If the length of a display block configured in MD28400 $MC_MM_ABSBLOCK is exceeded,
this display block is truncated accordingly. This is represented by string "..." at the end of the
block.
For preprocessed cycles (MD10700 $MN_PREPROCESSING_LEVEL > 1), the display block
contains only axis positions.
Additional boundary conditions for the basic block display:
Modal synchronized action blocks with absolute values are
not taken into account.
The basic block display is deactivated during block search with or without computation.
Polar coordinate programming is not shown in Cartesian system.
K1: Mode group, channel, program operation, reset response
9.12 Program control
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 629
Radius / diameter values
Diameter values shown in the basic block display and position display may be needed as a
radius for internal calculation. These values for measurements in radius/diameter according
to G code group 29 can be manipulated using the following options:
G code DIAMCYCOF (expansion of channel-specific diameter programming)
This G code deactivates the channel-specific diameter programming during the cycle
execution. In this way, computations in the cycle can always be done in the radius. The
position display and the basic block display are continued according to the state of the
diameter programming before DIAMCYCOF.
In the basic block display, the last displayed value is retained.
G code DIACYCOFA[AX] (axis-specific diameter programming)
This G code deactivates the axis-specific diameter programming during the cycle
execution. In this way, computations in the cycle can always be done in the radius. In the
position display and in the basic block display, this continues according to the state of the
diameter programming before DIACYCOFA[AX].
In the basic block display, the last displayed value is retained.
MD27100 $MC_ABSBLOCK_FUNCTION_MASK
Bit0 = 1 Transverse axis setpoints are always shown as diameter values in the
basic block display.
Behavior while the compressor is active
With active compressor and G/Code group 30 not equal to COMPOF, two display blocks are
generated:
The first contains the G/Code of the active compressor.
The second contains the string "..." as character for missing display blocks.
Example
G0 X10 Y10 Z10 ; Block to be preprocessed for the basic block display
COMPCAD ; Compressor for optimized surface quality (CAD prog.) A
... ; string as character for missing display blocks
To avoid bottlenecks in the NCK performance, the basic block display is deactivated
automatically. As a sign that the display blocks are missing, a display block with the string
"..." is generated.
All display blocks are always generated in the single block.
K1: Mode group, channel, program operation, reset response
9.12 Program control
Basic Functions
630 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.12.6 Structure for a DIN block
Structure of display block for a DIN block
Basic structure of display block for a DIN block
Block number/label
G-functions of the first G-group
(only if changed as compared to the last machine function block).
Axis position
(sequence corresponding to MD20070 $MC_AXCONF_MACHAX_USED (machine axis
number valid in the channel)).
Further modal G functions
(only if changed as compared to the last machine function block).
Other addresses as programmed.
The display block for the basic block display is directly derived from the programmed part
program blocks according to the following rules:
Macros are expanded.
Skip identifiers and comments are omitted.
Block number and labels are transferred from the original block, but omitted if DISPLOF is
active.
The number of decimal places is defined in display machine data MD 9004, MD 9010 and
MD 9011 via the HMI.
HMI display machine data Access in NCK machine data
MD9004 $MM_DISPLAY_RESOLUTION MD17200 $MN_GMMC_INFO_NO_UNIT[0]
MD9011
$MM_DISPLAY_RESOLUTION_INCH
MD17200 $MN_GMMC_INFO_NO_UNIT[1]
MD9010
$MM_SPIND_DISPLAY_RESOLUTION
MD17200 $MN_GMMC_INFO_NO_UNIT[2]
MD9424 $MM_MA_COORDINATE_SYSTEM MD17200 $MN_GMMC_INFO_NO_UNIT[3]
Programmed axis positions are represented as absolute positions in the coordinate
system (WCS / ENS) specified in MD9424 $MM_MA_COORDINATE_SYSTEM
(coordinate system for actual value display)
Note
The modulo correction is omitted for modulo axes, which means that positions outside the
modulo range can be displayed. It also means that the basic block display differs from the
position display in which values are always modulo-converted.
K1: Mode group, channel, program operation, reset response
9.12 Program control
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 631
Examples
Comparisons between display block (original block) and basic block display:
Programmed positions are displayed as absolute.
The addresses AP/RP are displayed with their programmed values.
Original block: Display block:
N10 G90 X10.123 N10 X10.123
N20 G91 X1 N20 X11.123
Address assignments (non-DIN addresses) are displayed in the form <address> =
<constant>.
Original block: Display block:
N110 R1 = -67.5 R2 = 7.5
N130 Z = R1 RND = R2 N130 Z-67.5 RND = 7.5
Address indices (address extensions) are displayed as constants <address> [ <constant>
] = <constant>.
Original block: Display block:
N220 DEF AXIS AXIS_VAR = X
N240 FA[ AXIS_VAR] = R2 N240 FA[X] = 1000
DIN addresses without address extension are displayed in the form
<din_address> <constant>.
Original block: Display block:
N410 DEF REAL FEED = 1.5
N420 F = FEED N420 F1.5
The following applies for H functions: Each programmed valus is display irrespective of the
output type to PLC
(MD22110 $MC_AUXFU_H_TYPE_INT (type of H auxiliary function is integer)).
K1: Mode group, channel, program operation, reset response
9.12 Program control
Basic Functions
632 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
For Tool selection by tool command
display information is generated in the form T<value> or T=<string>. If an address
extension has been programmed, this is displayed as well.
If several spindles have been configured or the "Tool change via master tool holder"
function (MD20124 $MC_TOOL_MANAGEMENT_TOOLHOLDER (tool holder number))
is active, the T number is always output with address extension.
If no address extension has been programmed, the number of the master spindle or the
master toolholder is used instead (T<spindle_number/tool_holder>= ).
For the Spindle programming via S, M3, M4, M5, M19, M40 - M45 and M70 (or MD
20094 $MC_SPIND_RIGID_TAPPING_M_NR (M function for switching over in the
controlled axis operation)) the following regulation applies regarding the address
extension:
If an address extension has been programmed, then this is also resolved.
If several spindles have been configured, then the address extension is also output.
If no address extension has been programmed, the number of the master spindle is used
(S<spindle_number>=).
Indirect G code programming in form G[ <group> ] = <printout> is substituted by the
corresponding G code.
Original block: Display block:
N510 R1=2
N520 G[8]= R1 N520 G54
Modal G codes that do not generate an executable block are collected and output with
the display block of the next executable block if permitted by the syntax (DIN block). If
this is not the case (e.g. predefined subroutine call TRANSMIT), a separate display block
containing the modified G codes is placed in front of the next executable block.
Original block: Display block:
N610 G64 G64
N620 TRANSMIT N620 TRANSMIT
A display block is always generated for part program lines in which the addresses F and
FA appear (including for MD22240 $MC_AUXFU_F_SYNC_TYPE = 3 (output time of the
F functions)).
Original block: Display block:
N630 F1000 N630 F1000
N640 X100 N640 X100
The display blocks generated for the block display are derived directly from the
programmed part program blocks. If intermediate blocks (e.g. tool radius compensation
G41/G42, radius/chamfer RNDM, RND, CHF, CHR) are generated in the course of
contour preprocessing, these are assigned the display information from the part program
block on which the motion is based.
Original block: Display block:
N710 Y157.5 G42 N710 Y157.5 G42
N720 Z-67.5 RND=7.5 N720 Z-67.5 RND=7.5
K1: Mode group, channel, program operation, reset response
9.12 Program control
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 633
With the EXECTAB command (processing a table of contour elements), the block
generated by EXECTAB is shown in the display block.
Original block: Display block:
N810 EXECTAB (KTAB[5]) N810 G01 X46.147 Z-25.38
For the EXECSTRING command, the block generated via EXECSTRING is displayed in
the display block.
Original block:
N910 DEF STRING[40] PROGSTRING = "N905 M3 S1000 G94 Z100 F1000 G55"
N920 EXECSTRING(PROGSTRING)
Display block:
N905 Z100 G55 G94 M3 S1000 F1000
9.12.7 Execution from external
Function
The "Execution from external" function can be used to execute programs that cannot be
saved directly in the NC memory due to memory shortage from an external program
memory.
Note
Protected cycles (_CPF files) cannot be processed with this function.
K1: Mode group, channel, program operation, reset response
9.12 Program control
Basic Functions
634 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
External program memory
External program memory can be found on the following data carriers:
Local drive
Network drive
USB drive
Note
Execution from external source via USB interface
If external programs are to be transferred from an external USB drive via a USB interface,
only the interface via X203 (named "TCU_1") can be used.
A USB FlashDrive cannot be recommended as a persistent storage medium.
Applications
Direct execution from external programs
In principle, any program that is accessible via the directory structure of the interface in
the "Execution from external" HMI mode can be selected and executed.
Execution of external sub-programs from the part program
The external subroutine is called through the part program command EXTCALL with
specification of a call path (optional) and the subroutine identifier ( see "Execution from
external subroutines (Page 635)").
Parameter assignment
A reloading memory (FIFO buffer) must be reserved in the dynamic NC memory for
executing a program in the "Executing from external" mode (main program or subroutine).
Size of FIFO buffer
The size of the FIFO buffer is set in the machine data:
MD18360 $MN_MM_EXT_PROG_BUFFER_SIZE (FIFO buffer size for processing from
external)
Default: 30 kbyte
Number of the FIFO buffer
One FIFO buffer must be provided each for all programs (main run or subroutine) that are
executed simultaneously in the "Execution from external source" mode.
The number of the FIFO buffer is set in the machine data:
MD18362 $MN_MM_EXT_PROG_NUM (number of externally executed program levels
executable simultaneously)
K1: Mode group, channel, program operation, reset response
9.12 Program control
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 635
Behavior during RESET, POWER ON
External program calls are aborted through RESET and POWER ON and the concerned
FIFO buffers are erased.
A program selected for "Execution from external source" remains selected for "Execution
from external source" even after RESET / part program end. A POWER ON deletes the
selection.
9.12.8 Execution from external subroutines
Function
Individual machining steps for producing complex workpieces may involve program
sequences that require so much memory they cannot be stored in the NC memory.
In such cases, the user has the option of executing the program sequences as subroutines
from an external program memory in the "Execution from external source" mode with the
help of the EXTCALL part program instruction.
Preconditions
The following preconditions are applicable to the execution from external subroutines:
The subroutines must be accessible via the directory structure of the operator interface.
A reloading memory (FIFO buffer) must be reserved for each subprogram in the dynamic
NC memory.
Parameter assignment
The path for the external subprogram directory can be preset using setting data:
SD42700 $SC_EXT_PROG_PATH (Program path for the EXTCALL external subprogram
call)
The entire path of the program to be called along with the subprogram path or identifier
specified during programming is derived therefrom.
Programming
An external subroutine is called by means of parts program command EXTCALL.
Syntax:
EXTCALL("<path/><program name>")
Parameter:
Absolute or relative path data (optional)
<path>:
Type: STRING
K1: Mode group, channel, program operation, reset response
9.12 Program control
Basic Functions
636 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The program name is specified without prefix "_N_".
The file extension ("MPF", "SPF") can be attached to program
names using the "_" or "." character (optional).
<program name>:
Type: STRING
Note
Path specification: Short designations
The following short designations can be used to specify the path:
LOCAL_DRIVE: for local drive
CF_CARD: for CompactFlash Card
USB: for USB front connection
CF_CARD: and LOCAL_DRIVE: can be alternatively used.
EXTCALL call with absolute path name
If the subprogram exists at the specified path, it will be executed following the EXTCALL call. If
it does not exist, program execution is cancelled.
EXTCALL call with relative path name/without path name
In the event of an EXTCALL call with a relative path name or without a path name, the
available program memories are searched as follows:
If a path name is preset in SD42700 $SC_EXT_PROG_PATH, the data specified in the
EXTCALL call (program name or with relative path name) is searched for first, starting from
this path. The absolute path results from linking the following characters:
The path name preset in SD42700
The "/" character as a separator
The subprogram path or identifier programmed in EXTCALL
If the called subprogram is not found at the preset path, the data specified in the EXTCALL
call is then searched for in the user-memory directories.
The search ends when the subprogram is found for the first time. If the search does not
produce any hits, the program is canceled.
K1: Mode group, channel, program operation, reset response
9.12 Program control
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 637
Example
Execute from local drive
Main program:
Program code
N010 PROC MAIN
N020 ...
N030 EXTCALL ("ROUGHING")
N040 ...
N050 M30
External subprogram:
Program code
N010 PROC ROUGHING
N020 G1 F1000
N030 X= ... Y= ... Z= ...
N040 ...
...
...
N999999 M17
The "MAIN.MPF" main program is stored in NC memory and is selected for execution.
The "SCHRUPPEN.SPF" or "SCHRUPPEN.MPF" subprogram to subsequently loaded is on
the local drive in the directory "/user/sinumerik/data/prog/WKS.DIR/WST1.WPD".
The subprogram path is preset in SD42700:
SD42700 $SC_EXT_PROG_PATH = "LOCAL_DRIVE:WKS.DIR/WST1.WPD"
Note
Without the path being specified in the SD42700, the EXTCALL operation for this example
would have to be programmed as follows:
EXTCALL("LOCAL_DRIVE:WKS.DIR/WST1.WPD/SCHRUPPEN")
K1: Mode group, channel, program operation, reset response
9.13 System settings for power-up, RESET/part-program end and part-program start
Basic Functions
638 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.13 System settings for power-up, RESET/part-program end and part-
program start
Concept
The control-system response after:
Power up (POWER ON)
Reset/part program end
Part program start
can be modified for functions, such as G codes, tool length compensation, transformation,
coupled axis groupings, tangential follow-up, programmable synchronous spindle via
machine data.
The control-system
response after:
can be set with:
Power-up (POWER ON)
*)
MD20110 $MC_RESET_MODE_MASK
(Definition of control default settings after reset/parts program end)
MD20144 $MC_TRAFO_MODE_MASK
(Selection of the kinematic transformation function)
MD20150 $MC_GCODE_RESET_VALUES (initial setting of the G groups)
RESET/part program end MD20110 $MC_RESET_MODE_MASK
(Definition of control default settings after reset/parts program end)
MD20150 $MC_GCODE_RESET_VALUES (initial setting of the G groups)
MD20152 $MC_GCODE_RESET_MODE
(Definition of control initial setting after reset)
Part program start MD20112 $MC_START_MODE_MASK
(definition of initial control system settings after part program start)
MD20110 $MC_RESET_MODE_MASK
(Definition of control default settings after reset/parts program end)
*)
see also POWER ON (Page 814)
Example:
For certain applications (e.g. grinding) it is advisable not to apply the reset position of
individual functions until the part program start. This is possible through the appropriate
setting of machine data MD20110, MD20150, MD20152 and MD20112.
K1: Mode group, channel, program operation, reset response
9.13 System settings for power-up, RESET/part-program end and part-program start
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 639
System settings after power-up
MD20110 $MC_RESET_MODE_MASK, bit 0 = 0 or 1
RESET/parts program end
The tool length compens-
ation selected before
POWER ON remains active.
Bit 2=0
Bit 6=1
Bit 2=1
Tool length compensation active
acc. to MD20120/MD20121/MD20130
Bit 2 and bit 6
MD20110
- Tool length compensation off
- Transformation off
according to MD20118 with MD20050
- Geo axis exchange active
according to MD20140/MD20144 bit 1/MD24080 bit 0
- Transformation active
- Master tool holder initial state according to MD20124 $MC_TOOL_MANGEMENT_TOOLHOLDER
- Reference axis according to MD20100 $MC_DlAMETER_AX_DEF
- lnitial state for master spindle according to MD20090 $MC_SPlND_DEF_MASTER_SPlND
- Electronic gear is not activated.
- Basic frame is deselected.
- Master value coupling is not activated.
- Geometry axis assignment according to MD20050 $MC_AXCONF_GEOAX_ASSlGN_TAB
- Axial feedrate per revolution off/Path and synchronized axes on master spindle back
- Synchronous spindle coupling is not activated.
- Tangential tracking is not activated.
- Coupled-axis groupings are deactivated.
- G codes according to MD20150 $MC_GCODE_RESET_VALUES
(Default)
Bit 0=0
Bit 0=1
Bit0
RESET_MODE_MASK
MD20110
(POWER ON)
Power-up
Figure 9-14 System settings after power-up
K1: Mode group, channel, program operation, reset response
9.13 System settings for power-up, RESET/part-program end and part-program start
Basic Functions
640 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
System settings after RESET/part program end and part program start
MD20110 $MC_RESET_MODE_MASK, bit 0 = 0 or 1
RESET/parts program end
MD20110
RESET_MODE_MASK
Bit 0
Bit 0=1 - G codes according to MD20152 and MD20150
- MD20110, bits 6-18 are evaluated, i.e.
the function assigned to the respective bits
either adopts its reset position or retains
its current position (refer to tables below)
Bit 0=0
(Default)
The current settings are retained.
Parts program start
- G codes according to MD20150
- Tool length compensation off
- Transformation off
- Coupled motion off
- Tangential tracking off
- Synchronous spindle off
- Geometry axis assignment according to MD20050
- Master value coupling off
- Axial revolutional feedrate off
- Reserved (basic frame) off
- Master spindle according to MD20090
- Master tool holder off
- Reference axis according to MD20100
The settings activated by RESET
become valid.
Bits 4...17:
Function adopts RESET position
Bit 18:
Reference axis is retained.
Bit ...=1
MD20110
RESET_MODE_MASK
Bit 4
Bit ...=0 (default)
Bits 4...17: The current settings are retained.
Bit 18: Function adopts RESET position.
lnterpretation of the first part program block
Figure 9-15 System settings after RESET/part program end and part program start
K1: Mode group, channel, program operation, reset response
9.13 System settings for power-up, RESET/part-program end and part-program start
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 641
MD20152 $MC_GCODE_RESET_MODE
Each G code group controlled in MD20150 $MC_GCODE_RESET_VALUES[i] can be
selectively controlled with MD20152 $MC_GCODE_RESET_MODE[i].
MD20152 $MC_GCODE_RESET_MODE[i]
(i = G code group -1)
0 1
MD20150 $MC_GCODE_RESET_VALUES[i] The value stored in
MD20150 is active
The last active/
current value is active
Part program start
The initial setting of the control system at part program start, e.g. G codes (especially active
plane and active settable zero offset), active tool length compensation, transformation, and
axis coupling, is determined using machine data:
MD20112 $MC_START_MODE_MASK (definition of the basic setting of the control after part
program start)
Bit assignment, see:
References:
Detailed machine-data description
Application
If a bit is set in MD20112 $MC_START_MODE_MASK, the reset action of the relevant
function can be delayed until the start of the parts program.
Note
In MD20110 bits set to 1 cause settings to be retained,
in MD20112 bits set to 0 cause settings to be retained.
Significance of the machine data
The channel-specific machine data in the table "Selection of RESET and power-up
response" has the following significance:
Machine data Meaning
MD20120 $MC_TOOL_RESET_VALUE Tool length compensation on power-up
Definition of the tool (T No.) whose tool length compensation
values must be considered during RESET and power-up
according to MD20110 $MC_RESET_MODE_MASK
MD20121 $MC_TOOL_PRESEL_RESET_VALUE Preselected tool on RESET
Definition of the tool (T-No.) as a preselected tool whose tool
length compensation values must be considered during
RESET and power-up according to
MD20110 $MC_RESET_MODE_MASK
K1: Mode group, channel, program operation, reset response
9.13 System settings for power-up, RESET/part-program end and part-program start
Basic Functions
642 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Machine data Meaning
MD20130 $MC_CUTTING_EDGE_RESET_VALUE Tool cutting-edge length compensation on power-up
Definition of the cutting-edge number (D number) of the tool
in MD20120 $MC_TOOL_RESET_VALUE
MD20140 $MC_TRAFO_RESET_VALUE Power-up transformation data block
Definition of the transformation data block (TRAORI,
TRAANG, TRANSMIT)
MD20144 $MC_TRAFO_MODE_MASK Selection of the kinematic transformation function
Setting bit 1 causes the last active transformation to be
retained on POWER ON.
MD20150 $MC_GCODE_RESET_VALUES Initial setting of the G groups
MD20152 $MC_GCODE_RESET_MODE Reset behavior of G groups
G code initial state on RESET
MD20152 specifies for each entry in MD20150
$MC_GCODE_RESET_VALUES whether the setting in
accordance with MD20150 $MC_GCODE_RESET_VALUES
is adopted again (MD20152=0) or the current setting is
retained (MD20152=1) on reset/part program end.
MD21330 $MC_COUPLE_RESET_MODE_1 Coupling cancellation response
Cancelation of an axis coupling
MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB Assignment of geometry axis to channel axis
Acts upon bit 12 in MD20110/20112
MD20118 $MC_GEOAX_CHANGE_RESET Allow automatic geometry axis change
Acts upon bit 12 in MD20110/20112
Example
1. Activate RESET setting on RESET:
MD20110 = 'H01' (bit 0)
MD20112 = '0'
2. Transformation remains active on RESET/parts program start:
MD20110 = 'H81' (bit 0 + bit 7)
MD20112 = '0'
K1: Mode group, channel, program operation, reset response
9.13 System settings for power-up, RESET/part-program end and part-program start
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 643
3. Tool length compensation remains active on RESET/part program start:
MD20110 = 'H41' (bit 0 + bit 6)
MD20112 = '0'
4. Active level (bit 4) and settable frame (bit 5) remain active after RESET and are reset on
parts program start:
MD20110 = 'H31' (bit 4 + bit 5)
MD20112 = '30'
Note
For bit 5 and bit 6:
If MD20110/MD20112 are parameterized so that tool length compensation or a frame is
active on a parts program start/MDA start, the first programming of the axes must use
absolute measurements (because of the offsetting process).
Exception: With MD42442/MD42440 the offsetting process for G91 is suppressed.
9.13.1 Tool withdrawal after POWER OFF with orientation transformation
Function
If processing with tool orientation is interrupted (e.g. as a result of power failure), the
transformation which was previously active can be reselected after POWER ON to generate
a frame towards the tool axis. The tool can then be retracted in JOG mode by means of a
retraction movement towards the tool axis.
Precondition
This procedures requires valid axis positions after POWER ON which are either delivered by
absolute encoders or by the function "Position restoration on POWER ON (Page 1245)".
Parameter assignment
Last active transformation should be kept after POWER ON
This functionality is activated using the MD setting:
MD20144 $MC_TRAFO_MODE_MASK, Bit 1 = 1
In addition, the following bits must be set:
MD20110 $MC_RESET_MODE_MASK, bit 0 = 1 and bit 7 = 1
For the significance of MD20144 and 20110, see "System settings for power-up,
RESET/part-program end and part-program start (Page 638)".
K1: Mode group, channel, program operation, reset response
9.13 System settings for power-up, RESET/part-program end and part-program start
Basic Functions
644 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
NC language command WAITENC
For axes, which should be taken into account with WAITENC (see section "Programming") the
following axis-specific machine data must be set to "1":
MD34800 $MA_WAIT_ENC_VALID = 1
Programming
In the user program (/_N_CMA_DIR/_N_PROG_EVENT_SPF) to be called event-
controlled when powering up (precondition: MD20108 bit 3 = 1), the system must wait using
the NC language command WAITENC until the valid axis positions are available.
A frame that positions the tool axis in the direction of the X, Y or Z axis can then be
generated using the NC language commandTOROTX/TOROTY/TOROTZ.
Example
Orientation transformation and orientation axes with incremental encoders.
Configuration: Meaning:
MD10720 $MN_OPERATING_MODE_DEFAULT [ 0 ] = 6 Power-up in JOG mode
MD30240 $MA_ENC_TYPE [ 0, <axis>] = 1 Incremental measuring system
MD34210 $MA_ENC_REFP_STATE [ 0, <axis>] = 3 Enable the restoration of axis positions for
incremental encoders.
MD20108 $MC_PROG_EVENT_MASK = H9 Activate event-controlled using program
PROG_EVENT during power-up and at the start
of the part program.
MD20152 $MC_GCODE_RESET_MODE [ 52 ] = 1 Obtain TOFRAME via reset.
MD20110 $MC_RESET_MODE_MASK = HC1 Obtain transformation and tool offset via reset.
MD20144 $MC_TRAFO_MODE_MASK = H02 Obtain transformation via POWER OFF.
Event-controlled user program (/_N_CMA_DIR/_N_PROG_EVENT_SPF):
Program code Comment
;
Example with activation of the frame, which aligns the WCS in the tool direction, when powering-up
and resetting with part program start.
IF $P_PROG_EVENT == 4 ; Powering-up.
IF $P_TRAFO <> 0 ; Transformation has been selected.
WAITENC ; Wait for valid axis positions of the orientation axes.
TOROTZ ; Rotate the Z axis of the WCS towards the tool axis.
ENDIF
M17
ENDIF
IF $P_PROG_EVENT == 1 ; Start of the part program.
TOROTOF ; Reset the tool frame.
RET
ENDIF
K1: Mode group, channel, program operation, reset response
9.13 System settings for power-up, RESET/part-program end and part-program start
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 645
The WAITENC command essentially corresponds to the following NC program sequence
(example for 5-axis machine with AB kinematics):
Program code Comment
WHILE TRUE ; Wait for a measuring system.
IF (($AA_ENC_ACTIVE[X]==TRUE) AND ($AA_ENC_ACTIVE[Y]==TRUE) AND ($AA_ENC_ACTIVE[Z]==TRUE) AND
($AA_ENC_ACTIVE[A]==TRUE) AND ($AA_ENC_ACTIVE[B]==TRUE)) GOTOF GET_LABEL
ENDIF
G4 F0.5 ; 0.5 s wait time
ENDWHILE
:Position synchronization
GET_LABEL: GET(X,Y,Z,A,B,)
Boundary conditions
Retracting the tool in JOG mode
Once the tool has been retracted in the JOG mode, axes whose positions have been
restored are referenced. For further details, see also machine data:
MD20700 $MC_REFP_NC_START_LOCK
MD34110 $MA_REFP_CYCLE_NR
Note
If machine data MD20700 $MC_REFP_NC_START_LOCK is set to a value of "2", then an
NC start is also possible with "restored" axis positions (in the MDA mode or when
overstoring).
Axes with incremental encoders and without actual value buffering
It is to be assumed that axes with incremental encoders and without actual-value buffering
are clamped with sufficient speed in the event of a power failure to prevent them drifting from
their last position setpoint.
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
646 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.14 Replacement of NC functions by subprograms
9.14.1 General
Function
The NC-language offers the option of structuring more complex processing sequences
through subprograms. Normally these subprograms are started from the part programs with
explicitly programmed subprogram calls. Along with this, there is also the possibility of hiding
a subprogram call behind another NC -command (e.g. call of an M function) and thus of
replacing the actual command function by the subprogram.
Example: Call of the tool change cycle by the auxiliary function M6
The reasons for this are as follows:
Existing part programs can be adapted to the changed environmental conditions without
correcting the part programs themselves.
An introduced programming style can be maintained.
Replaceable NC functions
The following NC functions can be replaced by subprograms:
M, T, and D/DL auxiliary functions:
M Functions for switching operations
T Functions for tool selection
D/DL-Functions for tool compensation selection
Spindle-related functions during active synchronous spindle coupling:
Gear stage change (automatic change or direct gear stage)
Spindle positioning with SPOS, SPOSA and M19
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 647
9.14.2 Replacement of M functions
Conditions
The following conditions are applicable for replacing the M functions:
A maximum of one function replacement is active for each block.
The block with the function replacement may not contain the following elements:
M98
Modal subroutine call
Subprogram return
Part program end
A subroutine call must not be superimposed on M functions with predetermined
significance (see Section "Non-configurable M functions").
Configuration
The numbers of the M functions to be replaced by the subprograms are specified in the
machine data:
MD10715 $MC_M_NO_FCT_CYCLE[<n>]
The names of the subprograms that are to replace the M functions specified in MD10715 are
entered in the machine data:
MD10716 $MC_M_NO_FCT_CYCLE_NAME[<n>]
Example
MD10715 $MC_M_NO_FCT_CYCLE[0] = 101
MD10716 $MC_M_NO_FCT_CYCLE_NAME[0] = "SUB_M101"
Call of the subprogram SUB_M101 through M101
MD10715 $MC_M_NO_FCT_CYCLE[1] = 102
MD10716 $MC_M_NO_FCT_CYCLE_NAME[1] = "SUB_M102"
Call of the subprogram SUB_M102 through M102
Programming
If the M function configured with MD10715 is programmed in a part program block, the
appropriate subroutine is called at the end of the part program block.
If the M function is programmed again within the called subroutine, the M function is not
replaced again. In addition, other M function replacements configured with MD10715 or
MD10716 are not executed.
Exception:
The M function is also replaced in an ASUB if the ASUB was started in a subroutine that was
called via an M function.
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
648 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
System variables for the transfer parameters
Information about the programmed M function can be read in the replacement subroutine via
the following system variables:
System variable Meaning
$C_M_PROG = TRUE if the M function has been replaced
$C_M Value of the replaced address M (type: INT)
$C_AUX_VALUE[0] Value of the replaced address M (type: REAL)
$C_ME Address extension of the replaced M function
$C_AUX_EXT[0] Address extension of the replaced M function
(identical to $C_ME)
$C_AUX_IS_QUICK[0] = TRUE if M function was programmed with quick output to PLC
M functions that cannot be configured
M Functions that trigger system functions as pre-defined auxiliary functions should not be
used to call subroutines. The following M functions have standard predetermined
significance:
M function Remarks
M0 ... M5,
M17, M30, M19,
M40 ... M45
Predefined auxiliary functions that trigger system functions
M98, M99 with activated external NC language:
MD18800 $MN_MM_EXTERN_LANGUAGE == TRUE
M functions can be defined for specific tasks using the following machine data. Through this,
they receive a fixed meaning and, therefore, must not be used to call subroutines:
Machine data Significance
MD10714 $MN_M_NO_FCT_EOP M function for spindle active after
RESET
MD10804 $MN_EXTERN_CHAN_M_NO_SET_INT M function for ASUB activation (external
mode)
MD10806 $MN_EXTERN_CHAN_M_NO_DISABLE_INT M function for ASUB deactivation
(external mode)
MD10814 $MN_EXTERN_M_NO_MAC_CYCLE Macro call via M function
MD20094 $MC_SPIND_RIGID_TAPPING_M_NR M function for switchover to controlled
axis mode
MD20095 $MC_EXTERN_RIGID_TAPPING_M_NR M function for switchover to controlled
axis mode (external mode)
MD22254 $MC_AUXFU_ASSOC_M0_VALUE Additional M function for program stop
MD22256 $MC_AUXFU_ASSOC_M1_VALUE Additional M function for conditional stop
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 649
Machine data Significance
MD26008 $MC_NIBBLE_PUNCH_CODE Definition of M functions (for nibble-
specific)
MD26012 $MC_PUNCHNIB_ACTIVATION Activation of punching and nibbling
functions
Note
An exception here is the M function for the tool change configured via the following machine
data:
MD22560 $MC_TOOL_CHANGE_M_CODE (Tool change with M Function)
This M function is permitted to be replaced by a subroutine (see "Replacement of the M
function for the tool change (Page 652)").
9.14.3 Replacement of T and D/DL functions
9.14.3.1 General
Conditions
The following conditions are applicable for the replacement of T or D or DL functions:
A maximum of one function replacement is active for each block.
The block with the function replacement may not contain the following elements:
M98
Modal subroutine call
Subprogram return
Part program end
Configuration
Specification of the replacement subroutine
The name of the subroutine, which is to become effective in case of T-Function replacement,
is entered in the machine data:
MD10717 $MN_T_NO_FCT_CYCLE_NAME
The name of the subroutine, which is to become effective in case of D/DL function
replacement, is entered in the machine data:
MD11717 $MN_D_NO_FCT_CYCLE_NAME
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
650 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Note
The same subroutine should be configured for the T and D/DL replacement subroutine.
Specification of the D or DL number to the replacement subroutine
For a simultaneous programming of D or DL and T in a block, D or DL can either be
specified as parameter to the replacement subroutine or executed before calling the
replacement subroutine.
The behavior depends on the setting of bit 0 in the machine data:
MD10719 $MN_T_NO_FCT_CYCLE_MODE (Parameterization of the T function
replacement)
Bit Value Description
0 The D or the DL number is specified to the replacement subroutine via the system
variable (default setting).
0
1 The D or DL number is calculated directly in the block.
Note:
This function is only active if the tool change was configured with M function:
MD22550 $MC_TOOL_CHANGE_MODE = 1
otherwise the D or DL values are always transferred.
Call time of the replacement subroutine
The call time of the replacement subroutine is defined by the setting of bit 1 and bit 2 in the
machine data:
MD10719 $MN_D_NO_FCT_CYCLE_MODE
Value of bit 1 Value of bit 2 Call time of the replacement subroutine
0 0 At block end (default)
After the replacement subroutine has been executed, the
interpretation is resumed with the subprogram line following the
line that triggered the replacement operation.
1 0 At block start
After the replacement subroutine has been executed, the part
program line that controlled the call of the subroutine is
interpreted. The T address and the D or DL address and the M
function for the tool change are no longer processed.
0/1 1 At block start and block end
The replacement program is called twice.
Note
Which replacements are to be performed at the block start and which are to be performed at
the block end is up to the user.
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 651
Programming
Read activation time of the replacement subroutine
The $P_SUB_STAT system variables can be used to define the time (block start / block end)
when the replacement operation is executed:
Value Description
0 Replacement subroutine is not active
1 Replacement subroutine is active, call at block start
2 Replacement subroutine is active, call at block end
Example: T function replacement
Project design: Meaning:
MD22550 $MC_TOOL_CHANGE_MODE = 0 Tool change with
T function
MD10717 $MN_T_NO_FCT_CYCLE_NAME = "MY_T_CYCLE" T replacement subroutine
MD10719 $MN_T_NO_FCT_CYCLE_MODE = 0
Programming Comment
...
N110 D1
N120 G90 G0 X100 Y100 Z50 ; D1 is active
N130 D2 X110 Z0 T5 ; D1 remains active, programmed D2 is provided to
the T replacement cycle as a variable.
...
A comprehensive example for the T function replacement is given in "Examples of M/T
function replacement during tool change (Page 657)".
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
652 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.14.3.2 Replacement of the M function for the tool change
Tool change with M function
MD22550 $MC_TOOL_CHANGE_MODE = 1
For certain machine types (e.g. milling machine with tool magazine) the T function is not
used for the actual tool change, but instead for its preparation i.e. with the T function the new
tool is brought to the tool change position parallel to the machining time (without interruption
of the processing).
The actual tool change is then called with the M function, which is configured in the following
machine data:
MD22560 $MC_TOOL_CHANGE_M_CODE (M function for tool change)
References:
Function Manual Extended Functions; Tool Change (W3)
Replacement of the M function for the tool change
The M function for the tool change configured via MD22560 is replaced by a subroutine, if a
corresponding replacement subroutine is configured via both the following machine data:
MD10715 $MN_M_NO_FCT_CYCLE[n] (M function to be replaced by a subroutine)
MD10716 $MN_M_NO_FCT_CYCLE_NAME[n] (Name of subroutine for M function)
For more information, see "Replacement of M functions (Page 647)".
Note
The configuration of a replacement subroutine for the tool change with M code is dependent
on whether the tool change with M code was actually configured with MD22550
$MC_TOOL_CHANGE_MODE.
M function replacement with parameter transfer
If an M function replacement is configured with MD10715[n] and MD10716[n], then for this M
function replacement a parameter transfer can be set (similar to the parameter transfer for
the T function replacement):
MD10718 $MN_M_NO_FCT_CYCLE_PAR = n
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 653
The data (parameters) needed for the tool offset or the tool offset selection is passed to the
subroutine via the system variables. The parameters stored in the system variables always
refer to the part program line in which the M function to be replaced is programmed.
Note
The address extension and function value of the M function must be explicitly, i.e. constantly,
programmed for M function replacements with parameter transfer. An indirection definition
via variables is not allowed.
Permissible programming:
M<function value>
M=<function value>
M[<address extension>] = <function value>
Impermissible programming:
M=<Variable1>
M[<variable2>] = <variable1>
Conflict case: M and T functions for tool change in a block
If, in addition to the M function replacement with parameter transfer, a T function
replacement was configured, the following behavior is applicable in case of a conflict, i.e. T
and M function for tool change are in one block:
The T function replacement does not take place. Instead, the T value is made available to
the M function replacement via the appropriate $C_T... system variables.
The programming of the address T in the M function subroutine does not result in another
replacement.
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
654 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.14.3.3 Function replacement with parameter transfer
Rules for parameter transfer
The following rules are applicable for the parameter transfer to the replacement subroutines:
If one of the above-mentioned replacements is active, then all the information required for
the tool offset selection (T, D or DL numbers, M function for tool change, address
extensions) is transferred to the replacement subroutine.
Exception:
MD10719 $MN_T_NO_FCT_CYCLE_MODE Bit 0 = 1
With this configuration the D or the DL numbers are not transferred to the replacement
subroutines.
In a block, only one replacement subroutine can be processed at a time.
In case of multiple replacements of the T, D/DL addresses and the M Function for the tool
change, only one of the replacement subroutines is always active even under different
names. As described above, all the required parameters for the tool offset selection are
then made available to it. If configured accordingly, the subroutine is called before and/or
after execution of the part program line.
One and the same subroutine can be configured for the replacement of the T, D/DL
addresses and the M Function for the tool change. The function to be replaced can then
be determined by querying the system variables.
CAUTION
The values passed to the replacement subroutine have not yet been executed and
must, therefore, be programmed again in this subroutine.
System variables
The programmed values (T, D or Dl numbers, M function for tool change, address
extensions) can be transferred to the replacement subroutine via the following system
variables:
System variable Description
$C_T_PROG Returns the value "1", if address T has been programmed.
$C_T Value of the programmed address T
$C_TE Address extension of address T
$C_TS_PROG Returns the value "1", if the address T has been programmed with a tool identifier
of type STRING (only in case of active tool monitoring).
$C_TS Returns the string of the tool identifier programmed under address T (only in case
of active tool monitoring)
$C_D_PROG Returns the value "1", if address D has been programmed.
$C_D Value of the programmed address D
$C_DL_PROG Returns the value "1", if address DL has been programmed.
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 655
System variable Description
$C_DL Value of the programmed address DL
$C_M_PROG Returns the value '1", if an M function has been programmed for the tool change.
$C_M Value of the programmed address M
There are two different cases:
1. For the tool change with M function, a replacement subroutine is programmed
with parameter transfer. $C_M then returns the value: MD10715
$MN_M_NO_FCT_CYCLE
2. Only one replacement subroutine was configured for the addresses T and/or
D/DL and in the program the M function for the tool change is programmed
with the addresses to be replaced. $C_M then returns the value:
MD22560 $MC_TOOL_CHANGE_M_CODE
$C_ME Address extension of the M function for the tool change
Sample parameter transfers
Example 1:
Tool change with M6 should be active. The D/DL number is to be transferred to the
replacement subroutine.
Project design: Meaning:
MD22550 $MC_TOOL_CHANGE_MODE = 1 Tool change with
M function
MD10717 $MN_T_NO_FCT_CYCLE_NAME = "MY_T_CYCLE" T replacement subroutine
MD10719 $MN_T_NO_FCT_CYCLE_MODE = 0 Transfer of the
D/DL number
Programming Comment
...
N210 D1
N220 G90 G0 X100 Y100 Z50 ; D1 is active
N230 D2 X110 Z0 T5 ; D1 remains active, programmed D2 is provided
to the T replacement subroutine as a variable.
N240 M6 ; Execute tool change
...
Example 2:
Tool change with M6 should be active. The D/DL number is not to be transferred to the
replacement subroutine.
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
656 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Project design: Meaning:
MD22550 $MC_TOOL_CHANGE_MODE = 1 Tool change with
M function
MD10717 $MN_T_NO_FCT_CYCLE_NAME = "MY_T_CYCLE" Replacement subroutine
for T function
MD10719 $MN_T_NO_FCT_CYCLE_MODE = 1 No transfer of the D/DL
number
Programming Comment
...
N310 D1
N320 G90 G0 X100 Y100 Z50 ; D1 is active
N330 D2 X110 Z0 T5 ; D2 is activated, D2 is not transferred to the
T replacement subroutine as a variable
N340 M6 ; Execute tool change
...
Example 3:
A replacement subroutine (MY_T_CYCLE) is configured for T and M6.
In addition, MD10718 $MN_M_NO_FCT_CYCLE_PAR (M Function replacement with
parameters) was used to configure the parameter transfer to M6 replacement subroutine.
If M6 is now programmed in the block with D or DL, then the D or the DL number is also
transferred as parameter to the M6 replacement subroutine, when:
MD10719 $MN_T_NO_FCT_CYCLE_MODE = 1
Project design: Meaning:
MD22550 $MC_TOOL_CHANGE_MODE = 1 Tool change with
M function
MD22560 $MC_TOOL_CHANGE_M_CODE = 6 M code for tool change
MD10715 $MC_M_NO_FCT_CYCLE[3] = 6 M function to be
replaced
MD10716 $MC_M_NO_FCT_CYCLE_NAME[3] = "MY_T_CYCLE" Replacement
subroutine
for M function
MD10717 $MN_T_NO_FCT_CYCLE_NAME = "MY_T_CYCLE" Replacement
subroutine
for T function
MD10718 $MN_M_NO_FCT_CYCLE_PAR = 3 Parameter-
transfer to the
replacement
subroutine
for M6
MD10719 $MN_T_NO_FCT_CYCLE_MODE = 1 No transfer of the
D/DL number
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 657
Programming Comment
...
N410 D1
N420 G90 G0 X100 Y100 Z50 ; D1 is active
N330 D2 X110 Z0 T5 M6 ; D1 remains active, D2 and T5 are transferred
to the M6 replacement subroutine as a variable
...
9.14.3.4 Example of M/T function replacement for tool change
Example 1: Call of subroutine SUB_M6 through M6 with parameter transfer
Project design: Meaning:
MD10715 $MN_M_NO_FCT_CYCLE[2] = 6 M code for tool
change
MD10716 $MN_M_NO_FCT_CYCLE_NAME[2] = "SUB_M6" Replacement
subroutine
for M function
MD10718 $MN_M_NO_FCT_CYCLE_PAR = 2 M function
replacement with
parameter transfer
Main program:
Programming
PROC MAIN
...
N10 T1 D1 M6
...
N90 M30
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
658 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Replacement subroutine:
Programming Comment
PROC SUB_M6
N110 IF $C_T_PROG==TRUE ; Scan whether address T has been programmed
N120 T[$C_TE] = $C_T ; Execute T selection
N130 ENDIF
N140 M[$C_ME] = 6 ; Execute tool change
N150 IF $C_D_PROG==TRUE Scan whether address D has been programmed.
N160 D=$C_D Execute D selection
N170 ENDIF
N190 M17
Example 2: Replacement of T address and D or DL addresses at block start
The following should be true for the example:
Tool change is done with the address T.
Tool management not active.
B axis as indexing axis with Hirth tooth system.
Project design: Meaning:
MD11717 $MN_D_NO_FCT_CYCLE_NAME = "D_T_SUB_PROG" Replacement
subroutine
for D function
MD10717 $MN_T_NO_FCT_CYCLE_NAME = "D_T_SUB_PROG" Replacement
subroutine
for M function
MD10719 $MN_T_NO_FCT_CYCLE_MODE = 'H2' Call at block start
MD22550 $MC_TOOL_CHANGE_MODE = 0 Tool change with
T function
Main program:
Programming
...
N410 G01 F1000 X10 T1=5 D1
...
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 659
Replacement subroutine:
Programming Comment
N1000 PROC D_T_SUB_PROG DISPLOF SBLOF
...
N4100 IF $C_T_PROG==TRUE ; Scan whether address T has been
programmed
N4110 ; Replacement for address T with
tool no.
N4120 POS[B] = CAC($C_T) ; Move revolver to indexing position
N4130 T[$C_TE] = $C_T ; Select tool (T selection)
N4140 ENDIF
N4300 IF $C_T_PROG==TRUE ; Scan whether address D has been
programmed.
N4310 ; Replacement for address D
N4320 D=$C_D ; Select offset (D selection)
N4330 ENDIF
N4400 IF $C_DL_PROG==TRUE ; Scan whether address DL has been
programmed.
N4410 ; Replacement for address DL
N4420 D=$C_DL ; Select insert offset
N4430 ENDIF
...
N9999 RET
This causes the part program line
N410 G01 F1000 X10 T1=5 D1
to execute the following program:
Program Comment
N1000 PROC D_T_SUB_PROG DISPLOF SBLOF
...
N4100 IF $C_T_PROG==TRUE ; Scan whether address T has been
programmed
N4110 ; Replacement for address T with
tool no.
N4120 POS[B] = CAC($C_T) ; Move revolver to indexing position
N4130 T[$C_TE] = $C_T ; Select tool (T selection)
N4140 ENDIF
N4300 IF $C_T_PROG==TRUE ; Scan whether address D has been
programmed.
N4310 ; Replacement for address D
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
660 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Program Comment
N4320 D=$C_D ; Select offset (D selection)
N4330 ENDIF
N4400 IF $C_DL_PROG==TRUE ; Scan whether address DL has been
programmed.
N4430 ENDIF
...
N9999 RET
N410 G01 F1000 X10 ; Rest of N410 without tool
programming
9.14.3.5 Conflict resolution in case of multiple replacements
Multiple replacements
Multiple replacements mean that several replacement subroutines with different names have
been configured, e.g.:
For Address D and DL:
MD11717 $MN_FCT_CYCLE_NAME = "D_SUB_PROG"
For Address T:
MD10717 $MN_FCT_CYCLE_NAME = "T_SUB_PROG"
For the M function for the tool change
MD10715 $MN_M_NO_FCT_CYCLE[0] = 6
MD10716 $MN_M_NO_FCT_CYCLE_NAME[0] = "M6_SUB_PROG"
MD10718 $MN_M_NO_FCT_CYCLE_PAR = 0
MD22550 $MC_TOOL_CHANGE_MODE = 1
MD22560 $MC_TOOL_CHANGE_M_CODE = 6
Conflict resolution
The following table illustrates how the control system resolves the conflicts in case of
multiple replacements:
The following are programmed in one part program line:
D and/or DL T M6
Called
replacement subroutine:
X M6_SUB_PROG
X T_SUB_PROG
X X M6_SUB_PROG
X D_SUB_PROG
X X M6_SUB_PROG
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 661
The following are programmed in one part program line:
D and/or DL T M6
Called
replacement subroutine:
X X T_SUB_PROG
X X X M6_SUB_PROG
9.14.4 Replacement of spindle-related functions
9.14.4.1 General
Function
In case of active synchronous spindle coupling, the following spindle-related functions can
be replaced by a subroutine for the leading spindleof this coupling:
Direct gear stage change with M41 to M45 and automatic gear stage change in case of
speed programming with M40
Spindle positioning with SPOS, SPOSA and M19
Conditions
The replacement of a spindle-related function is executed only when:
the programmed spindle is active as leading spindleof a synchronous spindle
coupling.
Leading and following spindle are present in the same channel.
in case of a gear-stage change actually a gear-stage change is present.
Only one of the possible spindle-related function replacements can be executed in a part
program line. Multiple replacements lead to the termination of the part program
processing. If still several spindle-related functions have to be replaced, then the
respective function calls must be distributed to several part program lines.
Configuration
Functions to be replaced
The spindle-related functions to be replaced through the subprogram are selected in the
machine data:
MD30465 $MA_AXIS_LANG_SUB_MASK
Bit Description
Gear-stage change automatic (M40) and directly (M41-M45)
= 0 No replacement
0
= 1 Replacement through the subroutine set in MD15700 and MD15702
Spindle positioning with SPOS / SPOSA / M19
= 0 No replacement
1
= 1 Replacement through the subroutine set in MD15700 and MD15702
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
662 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Name of subprogram
The name of the subroutine, which is to replace the spindle-related function selected in
MD30465, is to be entered in the machine data:
MD15700 $MN_LANG_SUB_NAME (Name for the substitution subroutine)
Path to the subroutine
The path to the subroutine is set with the machine data:
MD15700 $MN_LANG_SUB_NAME (call path for the substitution subroutine)
Value Description
0 Path to the directory with the Manufacturer cycles: /_N_CMA_DIR
(default setting)
1 Path to the directory with the User cycles: /_N_CUS_DIR
2 Path to the directory with the Siemens cycles: /_N_CST_DIR
Call time of the replacement subroutine
Call at block start
If the replacement subroutine is called at block start, then the part program line that led to
the calling of the subroutine is processed after the subroutine is processed. The parts to be
replaced from the replacement subroutine are not processed any more.
Call at block end
During call at block end, the part program line that lead to the calling of the subroutine is
called first. The parts to be replaced in the replacement subroutine are processed. The
subroutine is called finally.
Read activation time of the replacement subroutine
The $P_SUB_STAT system variables can be used to define the time (block start / block end)
when the replacement operation is executed:
Value Description
0 Replacement subroutine is not active
1 Replacement subroutine is active, call at block start
2 Replacement subroutine is active, call at block end
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 663
9.14.4.2 Function replacement during gear-stage change
Function
If a gear-stage change is to be done for the leading spindle of an active synchronous spindle
coupling and the replacement is configured through a subroutine
(MD30465 $MA_AXIS_LANG_SUB_MASK, Bit 0 = 1), then a replacement subroutine is
called for the implementation of the gear-stage change.
The replacement subroutine handles the following tasks:
1. Resolve coupling
2. The gear stage change of the spindles involved in the coupling is executed
3. Close coupling again
Call time of the replacement subroutine
The call always takes place at the block start during automatic gear stage change with M40.
In case of programmed gear-stage change with M41 to M45 the time of the call depends on the
output response of this auxliary function to the PLC:
MD22080 $MC_AUXFU_PREDEF_SPEC[12] (output specification for M41)
...
MD22080 $MC_AUXFU_PREDEF_SPEC[16] (output specification for M45)
Bit Value Description
5 1 Output of the auxiliary function before the motion
6 1 Output of the auxiliary function during the motion
7 1 Output of the auxiliary function after the motion
In case of output before or during the motion the subroutine call is made at the block start. In
case of output after the motion the subroutine call is made at the block end.
Data transfer to the replacement subroutine
The data required for the replacement can be read in the replacement subroutine through
the following system variables:
System variable Description
$P_SUB_AXFCT scan for replacement type
Returns the value "1", if the replacement for the gear-stage change (M40,
M41-M45) is used.
$P_SUB_GEAR Programmed gear stage
Returns for each spindle the programmed or the calculated gear stage.
Outside the replacement program, these variables deliver the gear stage
of the leading spindle.
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
664 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
System variable Description
$P_SUB_AUTOGEAR Automatic gear stage change is active
Delivery to a spindle-specific replacement the information whether an
automatic gear stage change with M40 was active in the part program line
that triggered the replacement operation.
Outside the replacement operation, this variable delivers the current
setting in the interpreter.
$P_SUB_LA Leading spindle of the active coupling
Returns the axis identifier of the leading spindle of the active coupling,
which had triggered the replacement operation.
Tip:
If the variable is called outside the replacement operation, the program
processing is cancelled with an alarm.
$P_SUB_CA Following spindle of the active coupling
Returns the axis identifier of the following spindle of the active coupling,
which had triggered the replacement operation.
Tip:
If the variable is called outside the replacement operation, the program
processing is cancelled with an alarm.
Example
Configuration
The replacement subroutine for the gear-stage change is activated:
MD30465 $MA_AXIS_LANG_SUB_MASK[AX5] = 'H0001'
For the output of M41 to M45 to the PLC an output before the motion is configured:
MD22080 $MC_AUXFU_PREDEF_SPEC[12] = 'H21'
MD22080 $MC_AUXFU_PREDEF_SPEC[13] = 'H21'
MD22080 $MC_AUXFU_PREDEF_SPEC[14] = 'H21'
MD22080 $MC_AUXFU_PREDEF_SPEC[15] = 'H21'
MD22080 $MC_AUXFU_PREDEF_SPEC[16] = 'H21'
Main program:
Programming Comment
PROC MAIN
...
N110 COUPON(S2,S1) ; Activate synchronous spindle coupling
N120 G01 F100 X100 S5000 M3 M43 ; Call of _N_LANG_SUB_SPF due to M43
N130 M40 ; Automatic gear stage change on
N140 M3 S1000 ; Call of _N_LANG_SUB_SPF in case of
automatic gear-stage change based on S
programming.
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 665
Replacement subroutine _N_LANG_SUB_SPF, Variant 1:
This programming example is optimized for simplicity and speed. The spindles are thus
addressed directly (typically the machine manufacturer would know, which following
Spindle(s) are affected during spindle positioning and address these spindles directly). In the
example S1 is the leading spindle and S2 is the following spindle.
Programming Comment
N1000 PROC LANG_SUB DISPLOF SBLOF
N1100 IF($P_SUB_AXFCT ==1) ; Replacement due to gear stage
change
...
N1140 DELAYFSTON ; Start Stop Delay Area
N1150 COUPOF(S2,S1) ; Deactivate synchronous spindle
coupling
N1160 ; Execute gear-stage change
separately for main and following
spindle:
N1170 M1=$P_SUB_GEAR M2=$P_SUB_GEAR
N1180 DELAYFSTON ; End of Stop Delay Area
N1190 COUPON(S2,S1) ; Activate synchronous spindle
coupling
N1200 ENDIF
...
N9999 RET
Replacement subroutine _N_LANG_SUB_SPF, Variant 2:
In this programming example the spindles are not addressed directly, but instead the system
variables $P_SUB_LA and $P_SUB_CA are used.
Programming Comment
N1000 PROC LANG_SUB DISPLOF SBLOF
N1010 DEF AXIS _LA ; Auxiliary memory for leading axis /
leading spindle
N1020 DEF AXIS _CA ; Auxiliary memory for following axis /
following spindle
N1030 DEF INT _GEAR ; Auxiliary memory for gear stage
...
N1100 IF($P_SUB_AXFCT==1) ; Replacement due to gear stage change
N1110 _GEAR=$P_SUB_GEAR ; Save gear stage to be activated
temporarily
N1120 _LA=$P_SUB_LA ; Save axis identifier of the leading
spindle temporarily
N1130 _CA=$P_SUB_CA ; Save axis identifier of the following
spindle temporarily
N1140 DELAYFSTON ; Start Stop Delay Area
N1150 COUPOF(_CA,_LA) ; Deactivate synchronous spindle coupling
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
666 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Programming Comment
N1160 ; Execute gear stage change for leading and
following spindle:
N1170 M[AXTOSPI(_LA)]=_GEAR M[AXTOSPI(_CA)]=_GEAR
N1180 DELAYFSTOF End of Stop Delay Area
N1190 COUPON(_CA,_LA) ; Activate synchronous spindle coupling
N1200 ENDIF
...
N9999 RET
9.14.4.3 Function replacement during spindle positioning
Function
When the leading spindle of an active synchronous coupling with SPOS, SPOSA or M19 is to be
positioned and the replacement is configured through a subroutine
(MD30465 $MA_AXIS_LANG_SUB_MASK, Bit 1 = 1), then a replacement subroutine is
called for the implementation of the positioning.
The replacement subroutine handles the following tasks:
1. Resolve coupling
2. The spindles involved in the coupling are positioned separately at the position specified
by the leading spindle
3. Close coupling again
Application
Parallel processing of workpieces, e.g. in double-spindle machine. The spindles in such a
machine are coupled with the help of a coupling factor not equal to one and must, e.g. be
positioned at the same position due to a tool change. If the coupling is separated earlier,
then each spindle can be positioned at the tool change position separately.
Call time of the replacement subroutine
The call of the replacement subroutine during spindle positioning with SPOS or SPOSA always
takes place at the block start.
In the programming of M19 the call time depends on the output response of this auxiliary
function to the PLC:
MD22080 $MC_AUXFU_PREDEF_SPEC[9] (output specification for M19)
Bit Value Description
5 1 Output of the auxiliary function before the motion
6 1 Output of the auxiliary function during the motion
7 1 Output of the auxiliary function after the motion
In case of output before or during the motion the subroutine call is made at the block start. In
case of output after the motion the subroutine call is made at the block end.
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 667
Data transfer to the replacement subroutine
The data required for the replacement can be read in the replacement subroutine through
the following system variables:
System variable Description
$P_SUB_AXFCT scan for replacement type
Returns the value "2", when the replacement for spindle positioning is
active.
$P_SUB_SPOS Scan whether spindle positioning with SPOS is active
Returns TRUE, when the replacement is activated through SPOS.
$P_SUB_SPOSA San whether spindle positioning with SPOSA is active
Returns TRUE, when the replacement is activated through SPOSA.
$P_SUB_M19 Scan whether spindle positioning with M19 is active
Returns TRUE, when the replacement is activated through M19.
$P_SUB_SPOSIT SPOS / SPOSA -Position
Returns the programmed position.
Tip:
If the variable is called outside the replacement operation, the program
processing is cancelled with an alarm.
position approach mode
Returns the position approach mode for the spindle position returned by
$P_SUB_SPOSIT:
= 0 No change of the position approach mode
= 1 AC
= 2 IC
= 3 DC
= 4 ACP
= 5 ACN
= 6 OC
= 7 PC
$P_SUB_SPOSMODE
Tip:
If the variable is called outside the replacement operation, the program
processing is cancelled with an alarm.
$P_SUB_LA Leading spindle of the active coupling
Returns the axis identifier of the leading spindle of the active coupling,
which had triggered the replacement operation.
Tip:
If the variable is called outside the replacement operation, the program
processing is cancelled with an alarm.
$P_SUB_CA Following spindle of the active coupling
Returns the axis identifier of the following spindle of the active coupling,
which had triggered the replacement operation.
Tip:
If the variable is called outside the replacement operation, the program
processing is cancelled with an alarm.
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
668 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Example
Configuration
The replacement subroutine for the spindle positioning is activated:
MD30465 $MA_AXIS_LANG_SUB_MASK[AX5]='H0002'
For the output of M19 to the PLC an output before the motion is configured:
MD22080 $MC_AUXFU_PREDEF_SPEC[9]='H0021'
For spindle positioning with M19 the spindle position "260" is configured:
SD43240 $SA_M19_SPOS[AX5]=260
For the position approach mode during spindle positioning with M19 "Approach in positive
direction (ACP)" is configured:
SD43250 $SA_M19_SPOSMODE[AX5]=4
Main program:
Programming Comment
PROC MAIN
...
N110 COUPON(S2,S1) ; Activate synchronous spindle coupling
N220 SPOS[1]=100 ; Position leading spindle with SPOS
...
N310 G01 F1000 X100 M19 ; Position leading spindle with M19
Replacement subroutine _N_LANG_SUB_SPF, Variant 1:
This programming example is optimized for simplicity and speed. The spindles are thus
addressed directly (typically the machine manufacturer would know, which following
Spindle(s) are affected during spindle positioning and address these spindles directly). In the
example S1 is the leading spindle and S2 is the following spindle.
The SPOS and SPOSA commands are handled in common in the replacement subroutine. In
other wrods SPOSA is mapped to the SPOS command.
Programming Comment
N1000 PROC LANG_SUB DISPLOF SBLOF
...
N2100 IF($P_SUB_AXFCT==2)
N2110 ; Replacement of the SPOS / SPOSA / M19
command for an active synchronous
spindle coupling
N2185 DELAYFSTON ; Start Stop Delay Area
N2190 COUPOF(S2,S1) ; Deactivate synchronous spindle
coupling
N2200 ; Position leading and following spindle
N2210 IF($P_SUB_SPOS==TRUE) OR ($P_SUB_SPOSA==TRUE)
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 669
Programming Comment
N2220 ; Positioning the spindle with SPOS:
N2230 SPOS[1]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)
SPOS[2]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)
N2250 ELSE
N2260 ; Positioning the spindle using M19:
N2270 M1=19 M2=19 ; Position leading and following spindle
N2280ENDIF
N2285 DELAYFSTOF ; End of Stop Delay Area
N2290 COUPON(S2,S1) ; Activate synchronous spindle coupling
N2410 ELSE
N2420 ; Query on further replacements
...
N3300 ENDIF
...
N9999 RET
Replacement subroutine _N_LANG_SUB_SPF, Variant 2:
In this replacement subroutine the spindles are not addressed directly, but instead the
system variables $P_SUB_LA and $P_SUB_CA are used.
Programming Comment
N1000 PROC LANG_SUB DISPLOF SBLOF
N1010 DEF AXIS _LA ; Auxiliary memory for leading axis /
leading spindle
N1020 DEF AXIS _CA ; Auxiliary memory for following axis /
following spindle
N1030 DEF INT _LSPI ; Auxiliary memory for leading spindle
number (programmed spindle)
N1040 DEF INT _CSPI ; Auxiliary memory for following
spindle number
...
N2100 IF($P_SUB_AXFCT==2)
N2110 ; Replacement of the SPOS / SPOSA / M19
command for an active synchronous
spindle coupling
N2120 _LA=$P_SUB_LA ; Save axis identifier of the leading
spindle temporarily
N2130 _CA=$P_SUB_CA ; Save axis identifier of the following
spindle temporarily
N2140 _LSPI=AXTOSPI(_LA) ; Save the number of the leading
spindle temporarily
N2180 _CSPI=AXTOSPI(_LA) ; Save the number of the following
spindle temporarily
N2185 DELAYFSTON ; Start Stop Delay Area
N2190 COUPOF(_CA,_LA) ; Deactivate synchronous spindle
coupling
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
670 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Programming Comment
N2200 ; Position leading and following
spindle:
N2210 IF($P_SUB_SPOS==TRUE) OR ($P_SUB_SPOSA==TRUE)
N2220 ; Positioning the spindle with SPOS:
N2230 SPOS[_LSPI]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)
SPOS[_CSPI]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)
N2250 ELSE
N2260 ; Positioning the spindle using M19:
N2270 M[_LSPI]=19 M[_CSPI]=19 ; Position leading and following
spindle
N2280 ENDIF
N2285 DELAYFSTOF End of Stop Delay Area
N2290 COUPON(_CA,_LA) ; Activate synchronous spindle coupling
N2410 ELSE
N2420 ; Query on further replacements
...
N3300 ENDIF
...
N9999 RET
9.14.4.4 Sequence
The sequence of replacement of a spindle-related function depends on the replacement type
(gear-stage change or spindle positioning) and on the time of call of the replacement
subroutine (block start or block end).
The most important options are described in more detail below:
Sequence of a replacement program for a gear stage change at block start
The leading spindle is located in an active synchronous spindle coupling and an automatic
(M40 S...) or a gear stage change programmed with M41 to M45 is determined during the
interpretation of a part program line.
1. Call the replacement subroutine
The replacement subroutine set using MD15702 $MN_LANG_SUB_PATH (call path)
MD15700 $MN_LANG_SUB_NAME is called.
The system variable $P_SUB_AXFCT returns the value "1":
Replacement for gear-stage change is active.
The system variable $P_SUB_STAT returns the value "1":
Replacement subroutine is active, call at block start.
2. Transfer of the required data in the replacement subroutine
With the system variable $P_SUB_GEAR the programmed gear stage M41 to M45 or during
automatic gear-stage change (M40 S...) the calculated gear-stage is scanned in the
replacement subroutine.
The system variable $P_SUB_LA delivers the axis identifier of the leading spindle and
$P_SUB_CA delivers the axis identifier of the first following spindle involved in the
coupling.
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 671
3. Resolve coupling, gear-stage change of the spindles involved in the coupling
The coupling is disabled and the gear-stage change is done separately for the leading
and following spindles involved in the coupling.
4. Close coupling again and continue the part program
Then the coupling is closed again.
After the replacement subroutine has been executed, the part program line that controlled
the call of the subroutine is interpreted. Thus, the S value that lead to calling the
replacement subroutine during automatic gear stage change is now active too. In this
case, the automatic gear stage change M40 too is restored again. The gear stage request
M41-M45 is no longer processed.
Sequence of a replacement program for a gear stage change at block end
The part program line that leads to calling the replacement subroutine is executed first,
without the gear stage change. The replacement subroutine is called finally.
The system variable $P_SUB_STAT returns the value "2":
Replacement subroutine is active, call at block end.
The further sequence corresponds to the sequence of a replacement program for a gear-
stage change at block start.
Sequence of a replacement program for spindle positioning at the block start
The leading spindle is located in an active synchronous spindle coupling and the leading
spindle is positioned while interpreting a part program line with SPOS, SPOSA or M19.
1. Call the replacement subroutine
The replacement subroutine set using MD15702 $MN_LANG_SUB_PATH (call path)
MD15700 $MN_LANG_SUB_NAME is called.
The system variable $P_SUB_AXFCT returns the value "2":
Replacement for spindle-positioning is active.
The system variable $P_SUB_STAT returns the value "1":
Replacement subroutine is active, call at block start.
2. Transfer of the required data in the replacement subroutine
With the system variables $P_SUB_SPOS, $P_SUB_SPOSA or $P_SUB_M19 the
positioning command to be replaced can be determined.
The system variables $P_SUBPOSIT and $P_SUBPOSMODE are used to query the
travel position and the position approach mode that must be used.
The system variable $P_SUB_LA delivers the axis identifier of the leading spindle and
$P_SUB_CA delivers the axis identifier of the first following spindle involved in the
coupling.
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
672 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
3. Resolve coupling, positioning of the spindles involved in the coupling
The coupling is disabled and the leading and the following spindles involved in the
coupling are positioned accordingly.
4. Close coupling again and continue the part program
Then the coupling is closed again.
After the replacement subroutine has been executed, the part program line that controlled
the call of the subroutine is interpreted. In this case the SPOS, SPOSA or M19 command used
to trigger the replacement is no longer processed.
Sequence of a replacement program for a spindle positioning with M19 at block end
The part program line that leads to calling the replacement subroutine is executed first,
without the spindle positioning.
The system variable $P_SUB_STAT returns the value "2":
Replacement subroutine is active, call at block end.
The further sequence corresponds to the sequence of a replacement program for spindle
positioning at block start.
9.14.5 Properties of replacement subroutines
General rules
Like any other subroutine, a replacement subroutine can contain a PROC statement.
Replacement subroutines can also be called from the ISO-Dialect mode. The processing
of the replacement subroutine is basically done in Siemens standard mode. The return
shifts the control back to the language mode.
No transfer parameters can be defined. The transfer of data to the replacement
subroutine always occurs via a system variable.
The PROC statement enables program attributes such as SBLOF and DISPLOF to be
programmed.
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 673
The behavior in case of active single block and programmed SBLOF attribute depends on
the setting of bit 14 in the machine data:
MD10702 IGNORE_SINGLEBLOCK_MASK (Prevent single block stop)
Bit 14 = 0:
The replacement subroutine behaves like any other subroutine:
Return jump with M17: Stop at the end of the subprogram
Note:
The output of the M function at the PLC depends on the setting of bit 0 in the machine
data:
MD20800 $MC_SPF_END_TO_VDI (subprogram end to PLC)
Bit 0 = 0: no output
Bit 0 = 1: M17 is output to the PLC.
Return jump with RET: No stop at end of subprogram
Bit 14 = 1:
In a part program line, in which a replacement subroutine is called, stop is done only
once. Thereby it is not important, whether:
the replacement subroutine was called at the block start and/or at the block end.
from the replacement subroutine further subroutines were called.
the replacement subroutine was exited with M17 or RET.
The single block stop takes place for the replacement of M functions at the end of the
replacement subroutine. For the replacement of T functions and D/DL functions the time
of the single block stop depends on the call time of the replacement subroutine:
Call at block start single block stop at the end of the part program line
Call at block end single block stop at the end of the replacement subroutine
If the replacement subroutine has the DISPLOF attribute, the program line that has resulted
in the replacement subroutine call is displayed as the current block in the block display.
With DELAYFSTON and DELAYFSTOF areas or even the entire replacement subroutine can be
protected against interruptions, such as NC stop, read-in disable, etc.
Replacements do not occur recursively, i.e. the function that has led to the replacement
subroutine call is no longer replaced if it is programmed again in the replacement
subroutine.
Output of auxiliary functions to PLC
In the case of replacements that are called due to programmed auxiliary functions, the
replacement subroutine call does not result in any output of the auxiliary function to the PLC.
The auxiliary function is only output if it is programmed again in the replacement cycle.
Block-search response
The replacement subroutines are executed as in the normal program mode in case of block
search with calculation and SERUPRO.
K1: Mode group, channel, program operation, reset response
9.14 Replacement of NC functions by subprograms
Basic Functions
674 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.14.6 Restrictions
For using the function "Replacement of NC functions through subroutines" the following
boundary conditions must be noted:
Replacements in synchronized actions are not permitted
Replacements in technology cycles are not permitted
A part program line that contains language constructs to be replaced at the block start
may not be placed in front of any block-wise synchronized actions.
Spindle-related replacements are executed only if the programmed spindle is the leading
spindle of an active synchronous spindle coupling. It is detected by the system only if the
leading spindle is located in the channel in which the coupling was closed. If the leading
spindle is changed to another channel, then a gear stage change or a repositioning of this
spindle does not lead to the desired call in the replacement cycle.
Only the actions required for the respective replacements can be performed in the
replacement cycle.
in a part program block in which a replacement subroutine is called at the block end, no:
modular subroutine call should be active
subroutine return should be programmed.
part program end should be programmed.
CAUTION
The system does not monitor whether the user actually replaces the respective
function in the replacement cycle. Therefore, if the user fails to implement this
correctly, the actual intended function can be omitted.
K1: Mode group, channel, program operation, reset response
9.15 Program runtime / Part counter
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 675
9.15 Program runtime / Part counter
Information on the program runtime and workpiece counter are provided to support the
machine tool operator.
This information can be processed as system variables in the NC and/or PLC program. This
information is also available to be displayed on the operator interface.
9.15.1 Program runtime
Function
The "program runtime" function provides internal NC timers to monitor technological
processes, which can be read into the part program and into synchronized actions via the
NC and channel-specific system variables.
Time since the last control power-up
The timers for measuring the time since the last control power-up are always active and can
be read via NC-specific system variables:
System variable Meaning
$AN_SETUP_TIME Time since the last control power-up with default values ("cold restart") in minutes.
Is automatically reset to "0" in each control power-up with default values.
$AN_POWERON_TIME Time since the last normal control power-up ("warm restart") in minutes.
Is automatically reset to "0" in each normal control power-up.
Program runtimes
The timers for measuring the program runtimes are:
only available in the AUTOMATIC operating mode.
can be read via channel-specific system variables.
Some of the timers are always active, others can be activated / deactivated through MD
parameterization.
K1: Mode group, channel, program operation, reset response
9.15 Program runtime / Part counter
Basic Functions
676 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The following system variables are available for the timers that are always active:
System variable Meaning
$AC_ACT_PROG_NET_TIME Actual net runtime of the current program in seconds
Net runtime means that the time, in which the program was stopped, has been
deducted.
If, in the AUTOMATIC operating mode, a part program is restarted from the
RESET channel state, then $AC_ACT_PROG_NET_TIME is automatically
reset to "0".
Additional properties:
The reset button does not reset $AC_ACT_PROG_NET_TIME back to "0"
but only stops the timer.
When starting an ASUB, $AC_ACT_PROG_NET_TIME is set to "0" and
also counts the runtime of the ASUB. At the end of an ASUB, it behaves
just the same as for the RESET button: The timer is only held, but is not
set to "0".
$AC_ACT_PROG_NET_TIME is not reset when starting an event-
controlled program (PROG_EVENT).
The program runtime is only counted further if it involves a start, M30 or a
search PROG_EVENT.
The behavior of $AC_ACT_PROG_NET_TIME for GOTOS and override =
0% can be parameterized using MD27850 (refer to Section "Parameter
assignment")
Tip:
With $AC_PROG_NET_TIME_TRIGGER, $AC_ACT_PROG_NET_TIME can
be manipulated further.
$AC_OLD_PROG_NET_TIME Net runtime in seconds of the program that has just been correctly ended
"Correctly ended" means that the program was not interrupted with RESET,
but instead ended properly with M30.)
If a new program is started, $AC_OLD_PROG_NET_TIME remains
unscanned, till M30 is reached again.
Additional properties:
$AC_OLD_PROG_NET_TIME is set to "0" if the currently selected program
is edited.
$AC_OLD_PROG_NET_TIME is not changed at the end of an ASUB or an
event-controlled program (PROG_EVENT).
Tip:
The implied copying process of $AC_ACT_PROG_NET_TIME after
$AC_OLD_PROG_NET_TIME takes place only when
$AC_PROG_NET_TIME_TRIGGER is not written.
$AC_OLD_PROG_NET_TIME_COUNT Changes to $AC_OLD_PROG_NET_TIME
After POWER ON, $AC_OLD_PROG_NET_TIME_COUNT is at "0".
$AC_OLD_PROG_NET_TIME_COUNT is always increased if the control has
newly written to $AC_OLD_PROG_NET_TIME.
If the user terminates the running program with RESET,
$AC_OLD_PROG_NET_TIME and $AC_OLD_PROG_NET_TIME_COUNT
remain unchanged.
With $AC_OLD_PROG_NET_TIME_COUNT it can thus be ascertained,
whether $AC_OLD_PROG_NET_TIME was written.
Example:
If two programs running consecutively have the same runtime and were ended
correctly, then the user can identify this via the changed value in
$AC_OLD_PROG_NET_TIME_COUNT.
K1: Mode group, channel, program operation, reset response
9.15 Program runtime / Part counter
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 677
System variable Meaning
Trigger for the runtime measurement
Used for selective measurement of program sections i.e. by writing
$AC_PROG_NET_TIME_TRIGGER in the NC program the time measurement
can be enabled and disabled again:
1. $AC_PROG_NET_TIME_TRIGGER = 2 starts the measurement and in so
doing sets $AC_ACT_PROG_NET_TIME to "0".
2. $AC_PROG_NET_TIME_TRIGGER = 1 ends the measurement and copies
the value from $AC_ACT_PROG_NET_TIME into
$AC_OLD_PROG_NET_TIME.
In order to exploit all trigger options, specific values for
$AC_PROG_NET_TIME_TRIGGER are filled with special functions:
0 Neutral state
The trigger is not active.
1 Exit
Ends the measurement and copies the value from
$AC_ACT_PROG_NET_TIME into $AC_OLD_PROG_NET_TIME.
$AC_ACT_PROG_NET_TIME is set to "0" and then continues to run.
2 Start
Starts the measurement and in so doing sets
$AC_ACT_PROG_NET_TIME to "0". $AC_OLD_PROG_NET_TIME is not
changed.
3 Stop
Stops the measurement. Does not change $AC_OLD_PROG_NET_TIME
and keeps $AC_ACT_PROG_NET_TIME constant until it resumes
$AC_PROG_NET_TIME_TRIGGER
4 Resume
The measurement is resumed, i.e. a measurement that was previously
stopped is continued. $AC_ACT_PROG_NET_TIME continues to run.
$AC_OLD_PROG_NET_TIME is not changed.
All system variables are reset to 0 as a result of POWER ON!
Note
Residual time for a workpiece
If the same workpieces are produced one after the other, then from the timer values:
Processing time for the last workpiece produced (see $AC_OLD_PROG_NET_TIME)
and
current processing time (see $AC_ACT_PROG_NET_TIME)
the remaining residual time for a workpiece can be determined.
The residual time is displayed on the operator interface in addition to the current processing
time.
K1: Mode group, channel, program operation, reset response
9.15 Program runtime / Part counter
Basic Functions
678 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
NOTICE
Using STOPRE
The system variables $AC_OLD_PROG_NET_TIME and
$AC_OLD_PROG_NET_TIME_COUNT do not generate any implicit preprocessing stop.
This is uncritical when used in the part program if the value of the system variables comes
from the previous program run. However, if the trigger for the runtime measurement
($AC_PROG_NET_TIME_TRIGGER) is written very frequently and as a result
$AC_OLD_PROG_NET_TIME changes very frequently, then an explicit STOPRE should be
used in the part program.
The following system variables are available for the timers that are activated / deactivated
through MD parameterization:
System variable Meaning
$AC_OPERATING_TIME Total runtime of NC programs in Automatic mode (in s)
In the automatic mode, the runtimes of all programs between NC start and end of program
/ reset are summed up.
The default is not to count in NC STOP and override = 0%. Continued counting can be
activated at an override of 0% via MD27860.
The value is automatically reset to "0" every time the control powers up.
$AC_CYCLE_TIME Runtime of the selected NC program (in seconds)
The runtime between NC Start and End of program / NC-Reset is measured in the
selected NC program.
The default is not to count in NC STOP and override = 0%. Continued counting can be
activated at an override of 0% via MD27860.
The value is automatically reset to "0" every time a new NC program starts up. MD27860
can be set to ensure that this value will be deleted even if there is a jump to the beginning
of the program with GOTOS or in the event of ASUBs and PROG_EVENTs starting.
$AC_CUTTING_TIME Processing time in seconds
The runtime of the path axes (at least one is active) is measured in all NC programs
between NC start and end of program/NC reset without rapid traverse active. MD27860
can be used to set whether measuring should only be conducted when the tool is active or
independent of the tool state.
The measurement is interrupted when a dwell time is active.
The value is automatically reset to "0" every time the control powers up with default
values.
Activation/deactivation
The timer that can be activated is switched-in/switched-out using machine data:
MD27860 $MC_PROCESSTIMER_MODE, Bit 0-2
K1: Mode group, channel, program operation, reset response
9.15 Program runtime / Part counter
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 679
Bit Value Meaning
0 Timer for $AC_OPERATING_TIME not active. 0
1 Timer for $AC_OPERATING_TIME active.
0 Timer for $AC_CYCLE_TIME not active. 1
1 Timer for $AC_CYCLE_TIME active.
0 Timer for $AC_CUTTING_TIME not active. 2
1 Timer for $AC_CUTTING_TIME active.
Parameter assignment
Behavior of the timer that is always active
The behavior of the timer that is always active for GOTOS and override = 0% is set using
machine data:
MD27850 $MC_PROG_NET_TIMER_MODE
Bit Value Meaning
0 $AC_ACT_PROG_NET_TIME is not reset to "0" in case of a jump with GOTOS to the
program start (initial setting).
0
1 With a jump with GOTOS to the start of the program, $AC_ACT_PROG_NET_TIME is
reset to "0", the value is first saved in $AC_OLD_PROG_NET_TIME and the program
counter $AC_OLD_PROG_NET_TIME_COUNT is incremented.
0 For override = 0%, $AC_ACT_PROG_NET_TIME is not increased. This means that
the program runtime is measured without the time for which the override was set to
"0" (basic setting).
1
1 Also for override = 0%, $AC_ACT_PROG_NET_TIME is increased. This means that
the program runtime is measured with the time for which the override was set to "0".
Behavior of the timer that can be activated
The behavior of the timer that can be activated for certain functions (e.g. test run feedrate,
program test) is set using machine data:
MD27860 $MC_PROCESSTIMER_MODE
Bit Value Meaning
0 No measurement during active dry run feedrate. 4
1 Measurement during active dry run feedrate.
0 No measurement during program test. 5
1 Measurement during program test.
Only for bit 1 = 1 (timer for $AC_CYCLE_TIME is active)
0 $AC_CYCLE_TIME is reset to "0" also in case of Start through ASUB and
PROG_EVENTs.
6
1 $AC_CYCLE_TIME is not reset to "0" in case of Start through ASUB and
PROG_EVENTs.
K1: Mode group, channel, program operation, reset response
9.15 Program runtime / Part counter
Basic Functions
680 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Bit Value Meaning
Only for bit 2 = 1 (timer for $AC_CUTTING_TIME is active)
0 Timer for $AC_CUTTING_TIME counts only for the active tool.
7
1 Timer for $AC_CUTTING_TIME counts independent of the tool.
Only for bit 1 = 1 (timer for $AC_CYCLE_TIME is active)
0 $AC_CYCLE_TIME is not reset to "0" in case of a jump with GOTOS to the program
start.
8
1 $AC_CYCLE_TIME is reset to "0" in case of a jump with GOTOS to the program start.
Only for bit 0, 1 = 1 (timer for $AC_OPERATING_TIME and $AC_CYCLE_TIME are active)
0 Counting of the program runtime is not continued at an override of 0%.
9
1 Counting of the program runtime continues at an override of 0%.
Boundary conditions
Block search
No program runtimes are determined through block searches.
REPOS
The duration of a REPOS process is added to the current processing time
($AC_ACT_PROG_NET_TIME).
Examples
Example 1: Parameterization of the runtime measurement via MD27860
Activating the runtime measurement for the active NC program and hence no
measurement in case of active dry run feedrate and program test:
MD27860 $MC_PROCESSTIMER_MODE = 'H2'
Activating the measurement for the tool action time and measurement also with active dry
run feedrate and program test.
MD27860 $MC_PROCESSTIMER_MODE = 'H34'
Activating the measurement for the total runtime and the processing time with an active
tool, including measurement with a program test:
MD27860 $MC_PROCESSTIMER_MODE = 'H25'
Activating the measurement for the total runtime and the machining time (independent of
the tool), including measurement with a program test:
MD27860 $MC_PROCESSTIMER_MODE = 'Ha5'
Activating the measurement for the processing time with an active tool, including
measurements at an override = 0%, but not with a trial run feed active:
MD27860 $MC_PROCESSTIMER_MODE = 'H22'
K1: Mode group, channel, program operation, reset response
9.15 Program runtime / Part counter
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 681
Example 2: Measuring the duration of "mySubProgrammA"
Program code
...
N50 DO $AC_PROG_NET_TIME_TRIGGER=2
N60 FOR ii= 0 TO 300
N70 mySubProgrammA
N80 DO $AC_PROG_NET_TIME_TRIGGER=1
N95 ENDFOR
N97 mySubProgrammB
N98 M30
After the program has processed line N80, the net runtime of "mySubProgrammA" is located
in $AC_OLD_PROG_NET_TIME.
The value from $AC_OLD_PROG_NET_TIME:
is kept beyond M30.
is updated each time the loop is run through.
Example 3: Measuring the duration of "mySubProgrammA" and "mySubProgrammC"
Program code
N10 DO $AC_PROG_NET_TIME_TRIGGER=2
N20 mySubProgrammA
N30 DO $AC_PROG_NET_TIME_TRIGGER=3
N40 mySubProgrammB
N50 DO $AC_PROG_NET_TIME_TRIGGER=4
N60 mySubProgrammC
N70 DO $AC_PROG_NET_TIME_TRIGGER=1
N80 mySubProgrammD
N90 M30
9.15.2 Workpiece counter
Function
The "Workpiece counter" function makes available various counters which can be used in
particular internally in the control to count workpieces.
The counters exist as channel-specific system variables with read and write access in a
range of values from 0 to 999,999.999.
Channel-specific machine data can be used to control counter activation, counter reset
timing and the counting algorithm.
K1: Mode group, channel, program operation, reset response
9.15 Program runtime / Part counter
Basic Functions
682 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
System variables for workpiece counting
System variable Description
$AC_REQUIRED_PARTS Number of the workpieces to be produced (setpoint number of
workpieces)
In this counter the number of workpieces at which the actual workpiece
count ($AC_ACTUAL_PARTS) will be reset to "0" can be defined.
MD27880 can be used to activate the generation of the display alarm:
"Channel %1 workpiece target = %2 reached"
and of the channel-specific NC/PLC interface signal:
DB21, DBX317.2 (workpiece target reached).
$AC_TOTAL_PARTS Number of completed workpieces in total (actual workpiece total)
This counter specifies the total number of all workpieces produced
since the start time. The value is only automatically reset to "0" when
the control powers up with default values.
$AC_ACTUAL_PARTS Number of completed workpieces (actual workpiece total)
This counter registers the total number of all workpieces produced
since the start time. On condition that $AC_REQUIRED_PARTS > 0,
the counter is automatically reset to "0" when the required number of
workpieces ($AC_REQUIRED_PARTS) is reached.
$AC_SPECIAL_PARTS Number of workpieces selected by the user
This counter supports user-specific workpiece counts. An alarm can be
defined to be output when the setpoint number of workpieces is
reached ($AC_REQUIRED_PARTS). Users must reset the counter
themselves.
Note
All workpiece counters are set to "0" when the control powers up with default values and can
be read and written independent of their activation.
Activation
The workpiece counter is activated with the machine data:
MD27880 $MC_PART_COUNTER (activation of workpiece counters)
Bit Value Significance
0 1 $AC_REQUIRED_PARTS is active
0 Alarm / signal output in case of: $AC_ACTUAL_PARTS = $AC_REQUIRED_PARTS 1
1 Alarm / signal output in case of: $AC_SPECIAL_PARTS = $AC_REQUIRED_PARTS
4 1 $AC_TOTAL_PARTS is active.
0 $AC_TOTAL_PARTS is increased by the value "1" through M02 / M30. 5
1 $AC_TOTAL_PARTS is incremented by the value "1" through the M command
defined with MD27882[0].
6 0 $AC_TOTAL_PARTS is also active for program test / block search.
K1: Mode group, channel, program operation, reset response
9.15 Program runtime / Part counter
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 683
Bit Value Significance
7 1 $AC_TOTAL_PARTS is incremented by the value "1" upon a jump back with GOTOS.
8 1 $AC_ACTUAL_PARTS is active
0 $AC_ACTUAL_PARTS is increased by the value "1" through M02 / M30. 9
1 $AC_ACTUAL_PARTS is incremented by the value "1" through the M command
defined with MD27882[1].
10 0 $AC_ACTUAL_PARTS is also active for program test / block search.
11 1 $AC_ACTUAL_PARTS is incremented by the value "1" upon a jump back with GOTOS.
12 1 $AC_SPECIAL_PARTS is active.
0 $AC_SPECIAL_PARTS is increased by the value "1" through M02 / M30. 13
1 $AC_SPECIAL_PARTS is incremented by the value 1 through the M command
defined with MD27882[2].
14 0 $AC_SPECIAL_PARTS is also active for program test / block search.
15 1 $AC_SPECIAL_PARTS is incremented by the value "1" upon a jump back with
GOTOS.
Workpiece counting with user-defined M command
If the corresponding bit is set in MD27880, then the count pulse can be triggered via a user-
defined M command instead of via the end of program M2/M30.
The M command code is defined with the machine data:
MD27882 $MC_PART_COUNTER_MCODE[<n>] (workpiece counting with user-defined M
command)
<n> Significance
0 MD27882[0] defines the M command code, in which $AC_TOTAL_PARTS is incremented.
1 MD27882[1] defines the M command code, in which $AC_ACTUAL_PARTS is incremented.
2 MD27882[2] defines the M command code, in which $AC_SPECIAL_PARTS is incremented.
The respective workpiece counter is incremented by "1", when a user-defined M command is
called.
Boundary conditions
Mode change / NC RESET
The counters are not affected by a mode change or NC RESET.
$AC_REQUIRED_PARTS 0
Where $AC_REQUIRED_PARTS 0 and MD27880 $MC_PART_COUNTER bit 0 = 1,
the counting procedure and the identity comparison set with MD27880 are not conducted
for all the activated counters.
K1: Mode group, channel, program operation, reset response
9.15 Program runtime / Part counter
Basic Functions
684 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Examples
Activation of the workpiece counter $AC_REQUIRED_PARTS:
MD27880 $MC_PART_COUNTER = 'H3'
$AC_REQUIRED_PARTS is active
Display alarm at: $AC_REQUIRED_PARTS == $AC_SPECIAL_PARTS
Activation of the workpiece counter $AC_TOTAL_PARTS:
MD27880 $MC_PART_COUNTER = 'H10'
MD27882 $MC_PART_COUNTER_MCODE[0] = 80
$AC_TOTAL_PARTS is active; the counter is incremented by the value 1 with each
M02.
$MC_PART_COUNTER_MCODE[0] has no significance.
Activation of the workpiece counter $AC_ACTUAL_PARTS:
MD27880 $MC_PART_COUNTER = 'H300'
MD27882 $MC_PART_COUNTER_MCODE[1] = 17
$AC_TOTAL_PARTS is active; the counter is incremented by a value of "1" with each
M17.
Activation of the workpiece counter $AC_SPECIAL_PARTS:
MD27880 $MC_PART_COUNTER = 'H3000'
MD27882 $MC_PART_COUNTER_MCODE[2] = 77
$AC_SPECIAL_PARTS is active.
The following takes place with every M77: $AC_SPECIAL_PARTS + 1
Deactivation of the workpiece counter $AC_ACTUAL_PARTS:
MD27880 $MC_PART_COUNTER = 'H200'
MD27882 $MC_PART_COUNTER_MCODE[1] = 50
$AC_ACTUAL_PARTS is inactive
K1: Mode group, channel, program operation, reset response
9.15 Program runtime / Part counter
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 685
Activation of all counters:
MD27880 $MC_PART_COUNTER = 'H3313'
MD27882 $MC_PART_COUNTER_MCODE[0] = 80
MD27882 $MC_PART_COUNTER_MCODE[1] = 17
MD27882 $MC_PART_COUNTER_MCODE[2] = 77
$AC_REQUIRED_PARTS is active
Display alarm at: $AC_REQUIRED_PARTS == $AC_SPECIAL_PARTS
$AC_TOTAL_PARTS is active; the counter is incremented by the value 1 with each
M02.
$MC_PART_COUNTER_MCODE[0] has no significance.
$AC_ACTUAL_PARTS is active; the counter is incremented by a value of "1" with
each M17.
$AC_SPECIAL_PARTS is active; the counter is incremented by a value of "1" with
each M77.
Workpiece counter $AC_ACTUAL_PARTS is not processed during the program test/block
search:
MD27880 $MC_PART_COUNTER = 'H700'
MD27882 $MC_PART_COUNTER_MCODE[1] = 75
$AC_ACTUAL_PARTS is active; the counter is incremented by a value of "1" with
each M75, apart from during the program test and search.
Cancellation of the count modes in the MD27880 $MC_PART_COUNTER with bit 0 = 1:
MD27882 $MC_PART_COUNTER_MCODE[0] = 41
MD27882 $MC_PART_COUNTER_MCODE[1] = 42
MD27882 $MC_PART_COUNTER_MCODE[2] = 43
Program code Comment
...
N100 $AC_REQUIRED_PARTS=-10 ; value < 0 stop counting.
N200 M41 M43 ; Not counting.
N300 M42
...
N500 $AC_REQUIRED_PARTS=52 ; Value > 0: Counting in accordance with MD27880
activated.
N501 M43 ; Counting.
N502 M42 M41 ; Counting.
...
K1: Mode group, channel, program operation, reset response
9.16 Data lists
Basic Functions
686 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.16 Data lists
9.16.1 Machine data
9.16.1.1 General machine data
Displaying machine data
Number
SINUMERIK Operate
Identifier: $MM_ Description
9421 MA_AXES_SHOW_GEO_FIRST Display geo axes of channel first
9422 MA_PRESET_MODE PRESET / basic offset in JOG.
9423 MA_MAX_SKP_LEVEL Maximum number of skip levels
NC-specific machine data
Number Identifier: $MN_ Description
10010 ASSIGN_CHAN_TO_MODE_GROUP Channel valid in mode group
10280 PROG_FUNCTION_MASK Comparison commands ">" and "<"
10700 PREPROCESSING_LEVEL Program preprocessing level
10702 IGNORE_SINGLEBLOCK_MASK Prevent single-block stop
10707 PROG_TEST_MASK Program test modes
10708 SERUPRO_MASK Block change modes
10710 PROG_SD_RESET_SAVE_TAB Setting data to be updated
10711 NC_LANGUAGE_CONFIGURATION Manner of handling the languages, whose related
option or function is not activated.
10713 M_NO_FCT_STOPRE M function with preprocessing stop
10715 M_NO_FCT_CYCLE M function to be replaced by subroutine
10716 M_NO_FCT_CYCLE_NAME Subroutine name for M function replacement
10717 T_NO_FCT_CYCLE_NAME Name of the tool change cycle for T function
replacement
10718 M_NO_FCT_CYCLE_PAR M function replacement with parameters
10719 T_NO_FCT_CYCLE_MODE Parameter assignment for T function replacement
11450 SEARCH_RUN_MODE Block search parameter settings
11470 REPOS_MODE_MASK Repositioning properties
11600 BAG_MASK Mode group response to ASUB
11602 ASUP_START_MASK Ignore stop conditions for ASUB
11604 ASUP_START_PRIO_LEVEL Priorities, starting from which
$MN_ASUP_START_MASK is effective
K1: Mode group, channel, program operation, reset response
9.16 Data lists
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 687
Number Identifier: $MN_ Description
11610 ASUP_EDITABLE Activating a user-specific ASUB program
11612 ASUP_EDIT_PROTECTION_LEVEL Protection level of user-specific ASUB program
11620 PROG_EVENT_NAME Program name for PROG_EVENT
11717 D_NO_FCT_CYCLE_NAME Subroutine name for D function replacement
15700 LANG_SUB_NAME Name for replacement subroutine
15702 LANG_SUB_PATH Call path for replacement subroutine
17200 GMMC_INFO_NO_UNIT Global HMI info (without physical unit)
17201 GMMC_INFO_NO_UNIT_STATUS Global HMI status info (without physical unit)
18360 MM_EXT_PROG_BUFFER_SIZE FIFO buffer size for execution from external source
(DRAM)
18362 MM_EXT_PROG_NUM Number of program levels that can be processed
simultaneously from external
9.16.1.2 Channel-specific machine data
Basic machine data
Number Identifier: $MC_ Description
20000 CHAN_NAME Channel name
20050 AXCONF_GEOAX_ASSIGN_TAB Assignment of geometry axis to channel axis
20060 AXCONF_GEOAX_NAME_TAB Geometry axis name in channel
20070 AXCONF_MACHAX_USED Machine axis number valid in channel
20080 AXCONF_CHANAX_NAME_TAB Channel axis name in channel [channel axis no.]: 0...7
20090 SPIND_DEF_MASTER_SPIND Initial setting of master spindle in channel
20100 DIAMETER_AX_DEF Geometry axis with transverse axis function
20106 PROG_EVENT_IGN_SINGLEBLOCK Prog events ignore the single block
20107 PROG_EVENT_IGN_INHIBIT Prog events ignore the read-in disable
20108 PROG_EVENT_MASK Event-driven program calls
20109 PROG_EVENT_MASK_PROPERTIES Prog events properties
20114 MODESWITCH_MASK Setting for REPOS
20116 IGNORE_INHIBIT_ASUP Execute user ASUBs completely in spite of read-in
disable
20117 IGNORE_SINGLEBLOCK_ASUP Process user ASUBs completely in spite of single-
block processing
20160 CUBIC_SPLINE_BLOCKS Number of blocks for C spline
20170 COMPRESS_BLOCK_PATH_LIMIT Maximum traversing length of NC block for
compression
20191 IGN_PROG_STATE_ASUP Do not display the execution of the interrupt routine on
the operator panel
20192 PROG_EVENT_IGN_PROG_STATE Do not display the execution of the program events on
the operator panel
K1: Mode group, channel, program operation, reset response
9.16 Data lists
Basic Functions
688 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Number Identifier: $MC_ Description
20193 PROG_EVENT_IGN_STOP Prog events ignore the Stop key
20210 CUTCOM_CORNER_LIMIT Max. angle for intersection calculation with tool radius
compensation
20220 CUTCOM_MAX_DISC Maximum value for DISC
20230 CUTCOM_CURVE_INSERT_LIMIT Maximum angle for intersection calculation with tool
radius compensation
20240 CUTCOM_MAXNUM_CHECK_BLOCKS Blocks for predictive contour calculation with tool
radius compensation
20250 CUTCOM_MAXNUM_DUMMY_BLOCKS Maximum number of blocks without traversing motion
for TRC
20270 CUTTING_EDGE_DEFAULT Basic setting of tool cutting edge without programming
20400 LOOKAH_USE_VELO_NEXT_BLOCK Look Ahead to programmed following block velocity
20430 LOOKAH_NUM_OVR_POINTS Number of override corner values for Look Ahead
20440 LOOKAH_OVR_POINTS Override switch points for LookAhead
20500 CONST_VELO_MIN_TIME Minimum time with constant velocity
20600 MAX_PATH_JERK Path-related maximum jerk
20610 ADD_MOVE_ACCEL_RESERVE Acceleration reserve for overlaid movements
20700 REFP_NC_START_LOCK NC start disable without reference point
20750 ALLOW_GO_IN_G96 G0 logic for G96, G961
20800 SPF_END_TO_VDI Subprogram end to PLC
21000 CIRCLE_ERROR_CONST Circle end point monitoring constant
21010 CIRCLE_ERROR_FACTOR Circle end point monitoring factor
21100 ORIENTATION_IS_EULER Angle definition for orientation programming
21110 X_AXIS_IN_OLD_X_Z_PLANE Coordinate system for automatic Frame definition
21200 LIFTFAST_DIST Traversing path for fast retraction from the contour
21210 SETINT_ASSIGN_FASTIN HW assignment of the ext. NCK input byte for NC
program interrupt:
21202 LIFTFAST_WITH_MIRROR Lift fast with mirror
Block search
Number Identifier: $MC_ Description
20128 COLLECT_TOOL_CHANGE Tool change commands to the PLC after block search
22600 SERUPRO_SPEED_MODE Velocity with block search type 5
22601 SERUPRO_SPEED_FACTOR Velocity factor for block search type 5
22621 ENABLE_START_MODE_MASK_PRT Switches MD22620: START_MODE_MASK_ PRT for
SERUPRO search run
22622 DISABLE_PLC_START Allow part program start via PLC
22680 AUTO_IPTR_LOCK Disable interrupt pointer
K1: Mode group, channel, program operation, reset response
9.16 Data lists
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 689
Reset response
Number Identifier: $MC_ Description
20110 RESET_MODE_MASK Initial setting after RESET / parts program end
20112 START_MODE_MASK Basic setting for NC start after part program start
20118 GEOAX_CHANGE_RESET Allow automatic geometry axis change
20120 TOOL_RESET_VALUE Tool length compensation when powering-up
(RESET / part program end)
20121 TOOL_PRESEL_RESET_VALUE Preselected tool on RESET
20130 CUTTING_EDGE_RESET_VALUE Tool cutting edge length compensation when
powering-up (RESET / part program end)
20140 TRAFO_RESET_VALUE Transformation data set when powering-up
(RESET / part program end)
20150 GCODE_RESET_VALUES Initial setting of the G groups
20152 GCODE_RESET_MODE Reset behavior of G groups
20156 MAXNUM_GCODES_EXT Reset behavior of the external G groups
22620 START_MODE_MASK_PRT Initial setting at special NC Start after power-up and at
RESET
Auxiliary function settings
Number Identifier: $MC_ Description
22000 AUXFU_ASSIGN_GROUP Auxiliary function group
22010 AUXFU_ASSIGN_TYPE Auxiliary function type
22020 AUXFU_ASSIGN_EXTENSION Auxiliary function extension
22030 AUXFU_ASSIGN_VALUE Auxiliary function value
22200 AUXFU_M_SYNC_TYPE Output timing of M functions
22210 AUXFU_S_SYNC_TYPE Output timing of S functions
22220 AUXFU_T_SYNC_TYPE Output timing of T functions
22230 AUXFU_H_SYNC_TYPE Output timing of H functions
22240 AUXFU_F_SYNC_TYPE Output timing of F functions
22250 AUXFU_D_SYNC_TYPE Output timing of D functions
22400 S_VALUES_ACTIVE_AFTER_RESET S function active after RESET
22410 F_VALUES_ACTIVE_AFTER_RESET F function active after RESET
22510 GCODE_GROUPS_TO_PLC G codes that are output to the NCK/PLC interface on
block change/RESET
22550 TOOL_CHANGE_MODE New tool offset for M function
22560 TOOL_CHANGE_M_CODE M function for tool change
K1: Mode group, channel, program operation, reset response
9.16 Data lists
Basic Functions
690 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Memory settings
Number Identifier: $MC_ Description
27900 REORG_LOG_LIMIT Percentage of IPO buffer for log file enable
28000 MM_REORG_LOG_FILE_MEM Memory size for REORG (DRAM)
28010 MM_NUM_REORG_LUD_MODULES Number of blocks for local user variables for REORG
28020 MM_NUM_LUD_NAMES_TOTAL Number of local user variables (DRAM)
28040 MM_LUD_VALUES_MEM Memory size for local user variables (DRAM)
28050 MM_NUM_R_PARAM Number of channel-specific R parameters (SRAM)
28060 MM_IPO_BUFFER_SIZE Number of NC blocks in IPO buffer (DRAM)
28070 MM_NUM_BLOCKS_IN_PREP Number of blocks for block preparation (DRAM)
28080 MM_NUM_USER_FRAMES Number of settable Frames (SRAM)
28090 MM_NUM_CC_BLOCK_ELEMENTS Number of block elements for compile cycles (DRAM)
28100 MM_NUM_CC_BLOCK_USER_MEM Size of block memory for compile cycles (DRAM)
28400 MM_ABSBLOCK Activating basis blocks with absolute values
28402 MM_ABSBLOCK_BUFFER_CONF Dimension size of upload buffer
28500 MM_PREP_TASK_STACK_SIZE Stack size of preparation task (DRAM)
Program runtime and workpiece counter
Number Identifier: $MC_ Description
27860 PROCESSTIMER_MODE Activate the runtime measurement
27880 PART_COUNTER Activate the workpiece counter
27882 PART_COUNTER_MCODE[ ] Workpiece counting via M command
9.16.1.3 Axis/spindle-specific machine data
Number Identifier: $MA_ Description
30465 AXIS_LANG_SUB_MASK Substitution of NC language commands
30550 AXCONF_ASSIGN_MASTER_CHAN Reset position of channel for axis change
30600 FIX_POINT_POS Fixed value positions of axes with G75
33100 COMPRESS_POS_TOL Maximum deviation with compensation
K1: Mode group, channel, program operation, reset response
9.16 Data lists
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 691
9.16.2 Setting data
9.16.2.1 Channel-specific setting data
Number Identifier: $SC_ Description
42000 THREAD_START_ANGLE Start angle for thread
42010 THREAD_RAMP_DISP Acceleration behavior of axis when thread cutting
42100 DRY_RUN_FEED Dry run feedrate
42200 SINGLEBLOCK2_STOPRE Activate debug mode for SBL2
42444 TARGET_BLOCK_INCR_PROG Continuation mode after block search with calculation
42700 EXT_PROG_PATH Program path for external subroutine call EXTCALL
42750 ABSBLOCK_ENABLE Enable basic block display
42990 MAX_BLOCKS_IN_IPOBUFFER Maximum number of blocks in the interpolation buffer
9.16.3 Signals
9.16.3.1 Signals to NC
Signal name SINUMERIK 840D sl SINUMERIK 828D
Emergency stop DB10.DBX56.1 DB2600.DBX0.1
9.16.3.2 Signals to mode group
Signal name SINUMERIK 840D sl SINUMERIK 828D
AUTOMATIC mode DB11.DBX0.0 DB3000.DBX0.0
MDA mode DB11.DBX0.1 DB3000.DBX0.1
JOG mode DB11.DBX0.2 DB3000.DBX0.2
Mode change disable DB11.DBX0.4 DB3000.DBX0.4
Mode group stop DB11.DBX0.5 -
Mode group stop axes plus spindles DB11.DBX0.6 -
Mode group RESET DB11.DBX0.7 DB3000.DBX0.7
Machine function teach in DB11.DBX1.0 DB3000.DBX1.0
Machine function REPOS DB11.DBX1.1 -
Machine function REF DB11.DBX1.2 DB3000.DBX1.2
K1: Mode group, channel, program operation, reset response
9.16 Data lists
Basic Functions
692 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
9.16.3.3 Signals from mode group
Signal name SINUMERIK 840D sl SINUMERIK 828D
Selected mode AUTOMATIC DB11.DBX4.0 -
Selected mode MDA DB11.DBX4.1 -
Selected JOG mode DB11.DBX4.2 -
Selected machine function teach in DB11.DBX5.0 -
Selected machine function REPOS DB11.DBX5.1 -
Selected machine function REF DB11.DBX5.2 -
Active mode AUTOMATIC DB11.DBX6.0 DB3100.DBX0.0
Active mode MDA DB11.DBX6.1 DB3100.DBX0.1
Active mode JOG DB11.DBX6.2 DB3100.DBX0.2
Mode group ready DB11.DBX6.3 DB3100.DBX0.3
Mode group has been reset DB11.DBX6.4 -
NCK internal JOG active DB11.DBX6.5 -
All channels in the reset state DB11.DBX6.7 -
Active machine function teach in DB11.DBX7.0 DB3100.DBX1.0
Active machine function REPOS DB11.DBX7.1 -
Active machine function REF DB11.DBX7.2 DB3100.DBX1.2
9.16.3.4 Signals to channel
Signal name SINUMERIK 840D sl SINUMERIK 828D
Activate DRF DB21, ... .DBX0.3 DB3200.DBX0.3
Activate single block DB21, ... .DBX0.4 DB3200.DBX0.4
Activate M01 DB21, ... .DBX0.5 DB3200.DBX0.5
Activate dry run feedrate DB21, ... .DBX0.6 DB3200.DBX0.6
PLC action completed DB21, ... .DBX1.6 -
Activate the program test DB21, ... .DBX1.7 DB3200.DBX1.7
Skip block levels: /0 to /7 DB21, ... .DBX2.0-7 DB3200.DBX2.0-7
Read-in disable DB21, ... .DBX6.1 DB3200.DBX6.1
Program level abort DB21, ... .DBX6.4 DB3200.DBX6.4
NC start disable DB21, ... .DBX7.0 DB3200.DBX7.0
NC start DB21, ... .DBX7.1 DB3200.DBX7.1
NC stop at block limit DB21, ... .DBX7.2 DB3200.DBX7.2
NC stop DB21, ... .DBX7.3 DB3200.DBX7.3
NC stop axes plus spindles DB21, ... .DBX7.4 DB3200.DBX7.4
Reset DB21, ... .DBX7.7 -
REPOSPATHMODE DB21, ... .DBX31.0-2 -
REPOSMODEEDGE DB21, ... .DBX31.4 -
K1: Mode group, channel, program operation, reset response
9.16 Data lists
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 693
9.16.3.5 Signals from channel
Signal name SINUMERIK 840D sl SINUMERIK 828D
DRF selected DB21, ... .DBX24.3 DB1700.DBX0.3
Select NCK associated M01 DB21, ... .DBX24.4 -
M01 selected DB21, ... .DBX24.5 DB1700.DBX0.5
Dry run feedrate selected DB21, ... .DBX24.6 DB1700.DBX0.6
REPOSPATHMODE 0 - 2 DB21, ... .DBX25.0-2 -
Feedrate override selected for rapid traverse DB21, ... .DBX25.3 DB1700.DBX1.3
REPOS MODE EDGE DB21, ... .DBX25.4 -
Program test selected DB21, ... .DBX25.7 DB1700.DBX1.7
Skip-block selected /0 - /7 DB21, ... .DBX26.0-7 DB1700.DBX2.0-7
Skip-block selected /8 DB21, ... .DBX27.0 DB1700.DBX3.0
Skip-block selected /9 DB21, ... .DBX27.1 DB1700.DBX3.1
REPOSPATHMODE 0 - 2 DB21, ... .DBX31.0-2 -
REPOS MODE EDGE DB21, ... .DBX31.4 -
Skip block active /8 DB21, ... .DBX31.6 DB3200.DBX15.6
Skip block active /9 DB21, ... .DBX31.7 DB3200.DBX15.7
Execution from external active DB21, ... .DBX32.0 DB3300.DBX0.0
Action block active DB21, ... .DBX32.3 DB3300.DBX0.3
Approach block active DB21, ... .DBX32.4 DB3300.DBX0.4
M0/M1 active DB21, ... .DBX32.5 DB3300.DBX0.5
Last action block active DB21, ... .DBX32.6 DB3300.DBX0.6
Block search active DB21, ... .DBX33.4 DB3300.DBX1.4
M02/M30 active DB21, ... .DBX33.5 DB3300.DBX1.5
Transformation active DB21, ... .DBX33.6 DB3300.DBX1.6
Program test active DB21, ... .DBX33.7 DB3300.DBX1.7
Program status: Running DB21, ... .DBX35.0 DB3300.DBX3.0
Program status: Maintaining DB21, ... .DBX35.1 DB3300.DBX3.1
Program status: Stopped DB21, ... .DBX35.2 DB3300.DBX3.2
Program status: Interrupted DB21, ... .DBX35.3 DB3300.DBX3.3
Program status: Aborted DB21, ... .DBX35.4 DB3300.DBX3.4
Channel status: Active DB21, ... .DBX35.5 DB3300.DBX3.5
Channel status: Interrupted DB21, ... .DBX35.6 DB3300.DBX3.6
Channel status: Reset DB21, ... .DBX35.7 DB3300.DBX3.7
Interrupt handling active DB21, ... .DBX36.4 -
Channel ready DB21, ... .DBX36.5 -
Read-in enable is ignored DB21, ... .DBX37.6 -
Stop at the end of block with SBL is suppressed DB21, ... .DBX37.7 -
Number of the active G function of G function group 1 n
(8 bit int)
DB21, ... .DBB208-271 DB3500.DBB0-63
Workpiece setpoint reached DB21, ... .DBX317.2 DB3300.DBX4001.1
K1: Mode group, channel, program operation, reset response
9.16 Data lists
Basic Functions
694 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Signal name SINUMERIK 840D sl SINUMERIK 828D
ASUB is stopped DB21, ... .DBX318.0 DB3300.DBX4002.0
Block search via program test is active DB21, ... .DBX318.1 -
REPOS MODE EDGEACKN DB21, ... .DBX319.0 -
Repos Path Mode Ackn: 0 - 2 DB21, ... .DBX319.1-3 -
Repos DEFERAL Chan DB21, ... .DBX319.5 -
Display of the triggering event in case of event-driven
program call
DB21, ... .DBX376.0-7 DB3300.DBB4004
ASUB is active DB21, ... .DBX378.0 DB3300.DBB4006.0
ASUB with suppressed display update is active DB21, ... .DBX378.1 DB3300.DBB4006.1
9.16.3.6 Signals to axis/spindle
Signal name SINUMERIK 840D sl SINUMERIK 828D
REPOSDELAY DB31, ... .DBX10.0 -
9.16.3.7 Signals from axis/spindle
Signal name SINUMERIK 840D sl SINUMERIK 828D
REPOS offset DB31, ... .DBX70.0 -
REPOS offset valid DB31, ... .DBX70.1 -
REPOS Delay Ackn DB31, ... .DBX70.2 -
REPOSDELAY DB31, ... .DBX72.0 -
Path axis DB31, ... .DBX76.4 DB390x.DBX1002.4
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 695
K2: Axis types, coordinate systems, frames
10
10.1 Brief description
10.1.1 Axes
Machine axes
Machine axes are the axes that actually exist on a machine tool.
Channel axes
Every geometry axis and every special axis is assigned to a channel and, therefore, a
channel axis. Geometry axes and additional axes are always traversed in "their" channel.
Geometry axes
The three geometry axes always make up a fictitious rectangular coordinate system, the
basic coordinate system (BCS).
By using FRAMES (offset, rotation, scaling, mirroring), it is possible to image geometry axes
of the workpiece coordinate system (WCS) on the BCS.
Special axes
In contrast to geometry axes, no geometrical relationship is defined between the special
axes.
Path axes
Path axes are interpolated together (all the path axes of a channel have a common path
interpolator).
All the path axes of one channel have the same acceleration phase, constant travel phase
and delay phase.
Positioning axes
Positioning axes are interpolated separately (each positioning axis has its own axis
interpolator). Each positioning axis has its own feedrate and acceleration characteristic.
K2: Axis types, coordinate systems, frames
10.1 Brief description
Basic Functions
696 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Synchronized axes
Synchronous axes are interpolated together with path axes (all path axes and synchronous
axes of one channel have a common path interpolator).
All path axes and all synchronous axes of a channel have the same acceleration phase,
constant travel phase and deceleration phase.
Axis configuration
The machine data below are used to assign the geometry axes, special axes, channel axes
and machine axes as well as the names of the individual axis types:
MD20050 $MC_AXCONF_GEOAX_ASIGN_TAB (assignment of geometry axis to channel axis)
MD20060 $MC_AXCONF_GEOAX_NAME_TAB (name of the geometry axis in the channel)
MD20070 $MC_AXCONF_MACHAX_USED (machine axis number valid in channel)
MD20080 $MC_AXCONF_CHANAX_NAME_TAB (name of the channel axis in the channel)
MD10000 $MN_AXCONF_MACHAX_NAME_TAB (machine axis name)
MD35000 $MA_SPIND_ASSIGN_TO_MACHAX (assignment of spindle to machine axis)
Replaceable geometry axes
The "Replaceable geometry axes" function allows the geometry axes in a grouping to be
replaced by other channel axes.
Axes that are initially configured as synchronous special axes in a channel can replace any
selected geometry axis in response to a program command.
Link axis
Link axes are axes, which are physically connected to another NCU and whose position is
controlled from this NCU. Link axes can be assigned dynamically to channels of another
NCU. Link axes are not local axes from the perspective of a particular NCU.
The axis container concept is used for the dynamic modification of the assignment to an
NCU. Axis replacement with GET and RELEASE from the part program is not available for link
axes across NCU boundaries.
The link axes are described in
References:
/FB2/ Function Manual, Extended Functions; Multiple Operator Panels on Multiple NCUs,
Distributed Systems (B3)
K2: Axis types, coordinate systems, frames
10.1 Brief description
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 697
Axis container
An axis container is a circular buffer data structure, in which local axes and/or link axes are
assigned to channels. The entries in the circular buffer can be shifted cyclically.
In addition to the direct reference to local axes or link axes, the link axis configuration in the
logical machine axis image also allows references to axis containers.
This type of reference consists of:
Axis container number
A slot (circular buffer location within the corresponding container)
The entry in a circular buffer location contains:
A local axis
Or
A link axis
The axis container function is described in
References:
/FB2/ Function Manual, Extended Functions; Multiple Operator Panels on Multiple NCUs,
Distributed Systems (B3)
10.1.2 Coordinate systems
MCS
The machine coordinate system (MCS) has the following properties:
It is defined by the machine axes.
The machine axes can be perpendicular to each other to form Cartesian system or
arranged in any other way.
The names of the machine axes can be defined.
The machine axes can be linear or rotary axes.
BCS
The basic coordinates system (BKS) has the following properties:
The geometry axes form a perpendicular Cartesian coordinate system.
The BCS is derived from a kinematic transformation of the MCS.
BZS
The basic zero system (BZS) is the basic coordinate system with a basic offset.
K2: Axis types, coordinate systems, frames
10.1 Brief description
Basic Functions
698 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
SZS
The settable zero system (SZS) is the workpiece coordinate system with a programmable
frame from the viewpoint of the WCS. The workpiece zero is defined by the settable frames
G54 to G599.
WCS
The workpiece coordinate system (WCS) has the following properties:
In the workpiece coordinate system all the axes coordinates are programmed (parts
program).
It is made up of geometry axes and special axes.
Geometry axes always form a perpendicular Cartesian coordinate system
Special axes form a coordinate system without any geometrical relation between the
special axes.
The names of the geometry axes and special axes can be defined.
The workpiece coordinate system can be translated, rotated, scaled or mirrored with
FRAMES (TRANS, ROT, SCALE, MIRROR).
Multiple translations, rotational movements, etc., are also possible.
Zero offset external
The zero offset external has the following properties:
At a time defined in the PLC, a predefined additional zero offset between the basic and
the workpiece coordinate systems is activated.
The magnitudes of the offsets can be set by the following for each of the axes involved:
PLC
Operator Panel
Part program
Activated offsets take effect at the instant the first motion block of the relevant axes is
processed after offset activation. The offsets are superimposed on the programmed path
(no interpolation).
The velocity, at which the zero offset external is applied, is as follows:
Programmed F value plus +1/2 JOG velocity
The zero offset external is traversed at the end of G0 blocks.
The activated offsets are retained after RESET and end of program.
After POWER ON, the last active offset is still stored in the control but must be
reactivated by the PLC.
K2: Axis types, coordinate systems, frames
10.1 Brief description
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 699
10.1.3 Frames
Frame
A frame is a closed calculation rule (algorithm) that translates one Cartesian coordinate
system into another.
Frame components
Rough offset
Fine offset
Rotation
Scaling
Mirroring
Figure 10-1 Frame components
A frame consists of the following components:
Frame components Programmable with:
Rough offset
TRANS
ATRANS (additive translation component)
CTRANS (zero offset for multiple axes)
G58 (axial zero offset)
Offset
Fine offset
CFINE
G59 (axial zero offset)
Rotation ROT / ROTS
AROT / AROTS
CROTS
Scaling
SCALE
ASCALE
Mirroring
MIRROR
AMIRROR
Features in relation to axes
The rough and fine offsets, scaling and mirroring can be programmed for geometry and
special axes. A rotation can also be programmed for geometry axes.
K2: Axis types, coordinate systems, frames
10.1 Brief description
Basic Functions
700 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Rough and fine offsets
The translation component of frames comprises:
Rough offset with TRANS, ATRANS and CTRANS
The rough offset is normally specified by the machine setter.
The programmable offsets for all geometry axes and special axes are specified with
TRANS.
Fine offset with CFINE
This can be defined by the machine operator, within certain input limits.
G58, G59
G58 and G59 can be programmed to replace the rough and fine offsets of the programmable
frame on an axial basis. These functions can only be used when the fine offset is configured.
Rough offset with G58
G58 changes only the absolute translation component (rough offset) for the specified axis;
the total of additively programmed translations (fine offset) is retained.
Fine offset with G59
G59 is used for axial overwriting of the additively programmed translations for the specified
axes that were programmed with ATRANS.
Frame rotations
Orientations in space are defined via frame rotations as follows:
Rotation with ROT defines the individual rotations for all geometry axes.
Solid angles with ROTS, AROTS, CROTS define the orientation of a plane in space.
Frame rotation with TOFRAME defines a frame with a Z axis pointing in the tool direction.
Scaling
SCALE is used to program the programmable scale factors for all geometry axes and special
axes.
If a new scaling is to be based on a previous scaling, rotation, translation or mirroring, then
ASCALE must be programmed.
Mirroring
The axis to be mirrored can be set via the following machine data:
MD10610 MIRROR_REF_AX (reference axis for the mirroring)
Value Meaning
0 Mirroring is performed around the programmed axis.
1, 2 or 3 Depending on the input value, mirroring is mapped onto the mirroring of a specific
reference axis and rotation of two other geometry axes.
K2: Axis types, coordinate systems, frames
10.1 Brief description
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 701
Frame chaining
Frame components or complete frames can be combined to form a complete frame using the
chain operator ":" For instance, the actual frame $P_ACTFRAME comprises chaining the
complete basic frame, adjustable frame, the systems frames and the programmable frame:
$P_ACTFRAME = $P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME :
$P_ISO1FRAME : $P_ISO2FRAME : $P_ISO3FRAME :
$P_ACTBFRAME : $P_IFRAME : $P_TOOLFRAME :
$P_WPFRAME : $P_TRAFRAME : $P_PFRAME
$P_ISO4FRAME : $P_CYCFRAME
Frames with G91
Incremental programming with G91 is defined such that the compensation value is traversed
additively to the incrementally programmed value when a zero offset is selected.
The behavior depends on the setting in the setting data:
SD42440 $SC_FRAME_OFFSET_INCR_PROG (zero offset in frames)
Value Meaning
1 Zero offset is applied on FRAME and incremental programming of an axis (= default setting).
0 Only the programmed path is traversed.
Suppression of frames
The actual frames can be suppressed with the following operations:
Comman
d
Meaning
G53
Suppression of the actual work offset (non-modal)
G153
Suppression of the actual frame including basic frame
SUPA
Suppression of actual work offset, including programmed offsets, system frames,
handwheel offsets (DRF), external work offset, and overlaid movement
K2: Axis types, coordinate systems, frames
10.1 Brief description
Basic Functions
702 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
NCU global basic frames
Using NCU global basic frames, frames for other channels can be pre-assigned from a
channel.
Properties of the NCU global basic frames:
Can be read and written from all channels.
Can be activated only in the channels
Offsets, scaling and mirroring for channel and machine axes
All global and channel-specific basic frames are chained and therefore a complete basic
frame is obtained. As standard, there is at least one basic frame available per channel.
Settable frames
Settable frames can be defined as either global NCU or channel-specific frames.
Consistency
When writing, reading and activating frames, e.g. using channel coordination, the user is
solely responsible for achieving consistent behavior within the channels. Cross-channel
activation of frames is not supported.
K2: Axis types, coordinate systems, frames
10.2 Axes
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 703
10.2 Axes
10.2.1 Overview
Positioning axes
Command axes
Reciprocating axes
PLC axes
Synchro-
nous axes
Linear axes
Rotary axes
Geometry axes Special axes
C h a n n e l a x e s
Path axes
Kinematic
transformation
M a c h i n e a x e s
Spindle axes
Gantry axes
Coupled-motion axes
Guide value coupling axes
Feedrate-deter-
mined path axes
FGROUP ( )
Orientation axes
Figure 10-2 Relationship between geometry axes, special axes and machine axes
M a c h i n e a x e s
Local machine axis Link axis (via NCU link)
Figure 10-3 Local and external machine axes (link axes)
K2: Axis types, coordinate systems, frames
10.2 Axes
Basic Functions
704 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
10.2.2 Machine axes
Meaning
Machine axes are the axes that actually exist on a machine tool.
+X
+C
+Y
+Z
+
B
Figure 10-4 Machine axes X, Y, Z, B, S on a Cartesian machine
K2: Axis types, coordinate systems, frames
10.2 Axes
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 705
Application
The following can be machine axes:
Geometry axes X, Y, Z
Orientation axes A, B, C
Loader axes
Tool turrets
Axes for tool magazine
Axes for automatic tool changer
Spindle sleeves
Axes for pallet changers
etc.
10.2.3 Channel axes
Meaning
Each geometry axis and each special axis is assigned to a channel. Geometry axes and
additional axes are always traversed in "their" channel.
10.2.4 Geometry axes
Meaning
The three geometry axes always make up a fictitious rectangular coordinate system.
By using FRAMES (offset, rotation, scaling, mirroring), it is possible to image geometry axes
of the workpiece coordinate system (WCS) on the BCS.
Application
Geometry axes are used to program the workpiece geometry (the contour).
Plane selection G17, G18 and G19 (DIN 66217) always refers to the three geometry axes. That
is why it is advantageous to name the three geometry axes X, Y and Z.
K2: Axis types, coordinate systems, frames
10.2 Axes
Basic Functions
706 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
10.2.5 Replaceable geometry axes
Significance
The "Replaceable geometry axes" function allows the geometry axes in a grouping to be
replaced by other channel axes.
Axes that are initially configured as synchronous special axes in a channel can replace any
selected geometry axis in response to a program command.
Example
On a machine with two Z axes, Z1 and Z2, either of the Z axes can be programmed as the
geometry axis in response to an instruction in the part program.
Activation
Axis replacement is activated by the program command:
GEOAX([n, channel axis name]...)
n=0: Removes an axis from the geometry axis grouping.
n=1, 2, 3: Index of the geometry axis
GEOAX( ): Establishes the basic setting defined via MD for the assignment of
channel axes to geometry axes.
Channel axis name: Name of channel axis, which is to operate as a geometry axis.
A channel axis, which has been designated a geometry axis, can only be addressed under
its geometry axis name. The geometry axes names themselves remain unchanged.
Geometry axes can be replaced either individually or as a group in one command.
Supplementary conditions
As a basic rule, any channel axis designated as a geometry axis can be replaced by another
channel axis.
In this case, the following restrictions apply:
Rotary axes may not be programmed as geometry axes.
A geometry axis, which has the same name as a channel axis, cannot be replaced by
another channel axis (alarm message). Nor can an axis of this type be removed from the
geometry axis grouping. It cannot change its position within the geometry axis grouping.
Both axes in each of the axis pairs involved in the replacement operation must be block-
synchronized.
K2: Axis types, coordinate systems, frames
10.2 Axes
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 707
The following functions may not be active when geometry axes are replaced:
Transformation
Spline interpolation
Tool radius compensation
Tool fine compensation
Any active DRF offset or zero offset external will remain operative. They both act on
channel axes. The channel axis assignment is not affected by the replacement of
geometry axes.
Replacement of geometry axes
All frames, protection zones and working area limitations are deleted. They may need to be
reprogrammed after the replacement operation.
The system response to replacement of geometry axes is, therefore, identical to its response
to a change (switch on/off, switchover) in a kinematic transformation.
Tool Length Compensation
Any active tool length compensation remains operative and is applied to the new geometry
axes after replacement.
The system treats tool length compensations as not yet applied for the following geometry
axes:
All geometry axes, which have been newly added to the geometry axis grouping
All geometry axes, which have changed their positioning within the geometry axis
grouping
Geometry axes, which retain their position within the geometry axis grouping after a
replacement operation, also retain their status with respect to tool length compensation.
RESET
The reset behavior of the changed geometry axis assignment is defined with the following
machine data:
MD20110 $MC_RESET_MODE_MASK (definition of initial control system settings after
RESET/TP-End)
MD20118 $MC_GEOAX_CHANGE_RESET (allow automatic geometry axis change)
K2: Axis types, coordinate systems, frames
10.2 Axes
Basic Functions
708 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
MD20110 $MC_RESET_MODE_MASK
Bit Value Significance
0 In case of set machine data MD20118 $MC_GEOAX_CHANGE_RESET (allow
automatic geometry axis change) a changed geometry axis assignment is deleted
during reset or parts program end.
The initial setting defined in the machine data for the geometry axis assignment
becomes active.
12
1 A modified geometry axis assignment remains active after a reset/part-program end.
MD20118 $MC_GEOAX_CHANGE_RESET
Value Significance
0 The current configuration of the geometry axes remains unchanged on reset and program
start. With this setting, the response is identical to older software versions without geometry
axis replacement.
1 The configuration of the geometry axis remains unchanged during reset or parts program
end as a function of machine data MD20110 $MC_RESET_MODE_MASK and during parts
program start as a function of machine data MD20112 $MC_START_MODE_MASK
(definition of initial control system settings with NC START) or brought to the initial status
defined in the machine data MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB (assignment
of geometry axis to channel axis).
Program start
Analogously to the Reset response, the behavior during program start is based on the
setting in the machine data:
MD20112 $MC_START_MODE_MASK (definition of initial control system settings with NC-
START)
Bit Value Significance
0 A modified geometry axis assignment remains active on part-program start. 12
1 A modified geometry axis assignment is cleared on part-program start.
Approaching a reference point
When the "Reference point approach" mode is selected, the geometry axis configuration
defined by the machine data is automatically set.
K2: Axis types, coordinate systems, frames
10.2 Axes
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 709
M code
A changeover of the geometry axis with GEOAX( ) can be communicated to the PLC through
the output of an M code:
MD22532 $MC_GEOAX_CHANGE_M_CODE (M-Code during tool holder change)
Note
If this machine data is set to one of the values 0 to 6, 17, 30, then no M code is output.
Transformation changeover
The following interrelationships must be noted with respect to kinematic transformation and
geometry axis replacement:
Geometry axis assignments cannot be modified when the transformation is active.
Activation of a transformation deletes the programmed geometry axis configuration and
replaces it by the geometry axis assignment stored in the machine data of the activated
transformation.
The initial setting defined through MD for the geometry axis configuration becomes
effective after deactivating the transformation.
Should it be necessary to modify the geometry axis assignment in connection with
transformations, then another new transformation must be configured. The total number of
the transformations simultaneously available in the channel is equal to 8.
A maximum of two transformations per channel can be available simultaneously from the
transformation groups below:
Orientation transformations
(3-axis, 4-axis, 5-axis and nutation transformation)
TRAANG (oblique axis)
TRANSMIT
TRACYL
References:
/FB3/ Function Manual, Special Functions; 3-Axis to 5-Axis Transformation (F2)
/FB2/ Function Manual, Extended Functions; Kinematic Transformation (M1)
K2: Axis types, coordinate systems, frames
10.2 Axes
Basic Functions
710 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Example
In the example below, it is assumed that there are 6 channel axes with channel axis names
XX, YY, ZZ, U, V, W and three geometry axes with names X, Y, Z. The basic setting is
defined in machine data such that the geometry axes are imaged on the first three channel
axes, i.e., on XX, YY and ZZ.
GEOAX() ; The geometry axis assignment defined via the machine
data
MD AXCONF_GEOAX_ASSIGN_TAB
is effective,
i.e., XX, YY and ZZ become geometry axes.
G0 X0 Y0 Z0 U0 V0 W0 ; All the axes in rapid traverse to position 0.
GEOAX (1, U, 2, V, 3, W) ; Channel axis U becomes the first, V the second and W
the third geometry axis.
GEOAX(1, XX, 3, ZZ) ; Channel axis XX becomes the first, ZZ the third
geometry axis. The second geometry axis remains
unchanged.
G17 G2 X20 I10 F1000 ; Semicircle in the X, Y plane. Channel axes XX and V
traverse.
GEOAX(2,W) ; Channel axis W becomes the second geometry axis. The
first and third geometry axes remain unchanged.
G17 G2 X20 I10 F1000 ; Full circle in the X, Y plane. Channel axes XX and W
traverse.
GEOAX() ; The geometry axis assignment defined via the machine
data
MD AXCONF_GEOAX_ASSIGN_TAB
is effective,
i.e., XX, YY and ZZ become geometry axes.
GEOAX (1, U, 2, V, 3, W) ; U, V and W become the first, second and third
geometry axes.
G1 X10 Y10 Z10 XX=25 ; Channel axes U, V, W each traverse to position 10,
XX traverses to position 25.
GEOAX(0,V) ; V is again removed from the geometry axis grouping.
U and W remain geometry axes. The second geometry
axis is no longer assigned.
GEOAX (1, U, 2, V, 3, W) ; U, V and W become the first, second and third
geometry axes, i.e., U and W remain unchanged.
GEOAX(3,V) ; V becomes the third geometry axis. This means that
W, which was previously the third geometry axis, is
removed from the geometry axis grouping. The second
geometry axis is no longer assigned.
K2: Axis types, coordinate systems, frames
10.2 Axes
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 711
10.2.6 Special axes
Significance
In contrast to geometry axes, no geometrical relationship is defined between the special
axes.
Note
Geometry axes have an exactly defined relationship in the form of a right-angled coordinate
system.
Special axes are part of the basic coordinate system (BCS). With FRAMES (translation,
scaling, mirroring), special axes of the workpiece coordinate system can be mapped on the
basic coordinate system.
Application
Typical special axes are:
Rotary axes
Machine tool axes
Tool revolver axes
Loader axes
10.2.7 Path axes
Meaning
Path axes are interpolated together (all the path axes of a channel have a common path
interpolator).
All the path axes of one channel have the same acceleration phase, constant travel phase
and delay phase.
The feedrate programmed under address F (path feedrate) applies to all the path axes
programmed in a block, with the following exceptions:
An axis has been programmed that has been defined as having no control over the path
velocity with instruction FGROUP.
Axes programmed with instructions POS or POSA have an individual feedrate setting (axis
interpolator).
Application
Path axes are used to machine the workpiece with the programmed contour.
K2: Axis types, coordinate systems, frames
10.2 Axes
Basic Functions
712 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
10.2.8 Positioning axes
Significance
Positioning axes are interpolated separately (each positioning axis has its own axis
interpolator). Each positioning axis has its own feedrate and acceleration characteristic.
Positioning axes can be programmed in addition to path axes (even in the same block). Path
axis interpolation (path interpolator) is not affected by the positioning axes. Path axes and
the individual positioning axes do not necessarily reach their block end points at the same
time.
Instructions POS and POSA are used to program positioning axes and define block change
criteria:
POS
Block change takes place when the path axes and positioning axes have reached their
block end points.
POSA
Block change takes place when the path axes have reached their end of block position.
Positioning axes continue to traverse beyond block limits to their block end point.
Concurrent positioning axes differ from positioning axes in that they:
Only receive their block end points from the PLC
Can be started at any time (not at block limits)
Do not affect the execution of current part programs.
Application
Typical positioning axes are:
Loaders for moving workpieces away from machine
Tool magazine/turret
Reference
References:
/FB2/ Function Manual, Extended Functions, Positioning Axes (P2)
/FB1/ Function Manual, Basic Functions, Spindles (S1)
FB3/ Function Manual, Special Functions,; Gantry Axes (G1)
/FB3/ Function Manual, Special Functions; Axis Couplings and ESR (M3)
/FB1/ Function Manual, Basic Functions; Basic PLC Program (P3)
/FB2/ Function Manual, Extended Functions; Oscillation (P5)
/FBSY/ Function Manual Synchronized Actions
K2: Axis types, coordinate systems, frames
10.2 Axes
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 713
10.2.9 Main axes
Significance
A main axis is an axis that is interpolated by the main run.
This interpolation can be started as follows:
From synchronized actions
(as command axes due to an event via block-related, modal or static synchronized
actions)
From the PLC via special function blocks in the PLC basic program
(named as a concurrent positioning axis or a PLC axis)
Via the setting data or from the part program
(as an asynchronous or block-synchronous oscillating axis)
Channel control
An axis interpolated by the main axis reacts in terms of:
NC STOP
Alarm handling
Program control
End of program
RESET
Note
The response at the end of the program varies. The axis movement need not always be
completed and, therefore, may carry on beyond the end of the program.
Application
Certain axes in the main run can be decoupled at the channel response triggered by the NC
program sequence and controlled from the PLC. These axes are also interpolated in the
main run and respond independently for the channel and program sequence.
A PLC-controlled axis can then be controlled independently by the NC. This concerns the
following actions:
The sequence for canceling the axis (equivalent to delete distance-to-go)
Stopping or interrupting the axis
Continuing the axis (continue sequence of motion)
Resetting the axis to its basic status
K2: Axis types, coordinate systems, frames
10.2 Axes
Basic Functions
714 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
10.2.10 Synchronized axes
Significance
Synchronous axes are components of the path axes, which are not referenced in order to
calculate the tool path velocity. They are interpolated together with path axes (all path axes
and synchronous axes of one channel have a common path interpolator).
All path axes and all synchronous axes of a channel have the same acceleration phase,
constant travel phase and deceleration phase.
The feedrate (path feedrate) programmed under address F applies to all the path axes
programmed in a block but not to the synchronous axes.
Synchronous axes take the same time to cover the programmed path as the path axes.
FGROUP command
The command FGROUP specifies whether the axis is a feed-defining path axis (used to
calculate the path velocity) or a synchronous axis (not used to calculate the path velocity).
Example
N05 G00 G94 G90 M3 S1000 X0 Y0 Z0 ;
N10 FGROUP(X,Y) ; Axes X/Y are path axes,
Z is a synchronous axis.
N20 G01 X100 Y100 F1000 ; Progr. feedrate 1000 mm/min.
Feedrate of axis X = 707 mm/min.
Feedrate of axis Y = 707 mm/min.
N30 FGROUP (X) ; Axis X is a path axis,
axis Y is a synchronous axis
N20 X200 Y150 ; progr. Feedrate 1000 mm/min
Feedrate of Axis X = 1000 mm/min
Feedrate of Axis Y is set to 500 mm/min,
because only half the distance is to be
traversed.
K2: Axis types, coordinate systems, frames
10.2 Axes
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 715
Note
The channel axis name must be used for the FGROUP command.
This is defined by the machine data:
MD20080 $MC_AXCONF_CHANAX_NAME_TAB (name of the channel axis in the channel)
Application
In the case of helical interpolation FGROUP can be programmed to determine whether:
The programmed feedrate should be valid on the path
(all 3 programmed axes are path axes)
The programmed feedrate should be valid on the circuit
(2 axes are path axes and the infeed axis is a synchronous axis)
K2: Axis types, coordinate systems, frames
10.2 Axes
Basic Functions
716 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
10.2.11 Axis configuration
Assigning geometry, special, channel and machine axes.
Channel
2
Channel
1
1st geometry axis [0]
2nd geometry axis [1]
3rd geometry axis [2]
Local machine axes
Link axis: Machine axis AXn on NCU 2
NCn_AXm: Container link axis
Axis container CT1
Logical machine axis image
8th machine axis [7]
7th machine axis [6]
6th machine axis [5]
5th machine axis [4]
4th machine axis [3]
3rd machine axis [2]
2nd machine axis [1]
1st machine axis [0]
Channel
1
Channel
2
8th channel axis [7]
7th channel axis [6]
6th channel axis [5]
5th channel axis [4]
4th channel axis [3]
3rd channel axis [2]
2nd channel axis [1]
1st channel axis [0]
Channel
1
Channel
2
Slot 1
Slot 2
Slot 3
Slot 4
Channel axis names Machine axes used in the channel
Axis container names
Geometry axes used in the channel Geometry axis names
Channel
2
Channel
1
MD20060 $MC_AXCONF_GEOAX_NAME_TAB
X
Y
Z
A
B
U
V
-
...
MD20070 $MC_AXCONF_MACHAX_USED MD20080 $MC_AXCONF_CHANAX_NAME_TAB
AX1
AX2
AX3
AX4
AX5
AX6
-
-
...
1 2 3 31
.....
AX1AX2
4 5 6
AX3 AX4
1
2
3
4
5
6
7
0
MD10002 $MN_AXCONF_LOGlC_MACHAX_TAB
N
C
2
_
A
X
n
C
T
1
_
S
L
2
...
...
...
NC1_AX5
NC2_AX...
NC3_AX...
NC4_AX...
NCU 1
MD12701 $MN_AXCT_AXCONF_ASSlGN_TAB1
MD12750 $MN_AXCT_NAME_TAB
...
CT1
CT2
CT4
CT5
CT6
CT7
CT3
MD20050 $MC_AXCONF_GEOAX_ASSlGN_TAB
7
AX31
3
2
1
.....
MD10000 $MN_AXCONF_MACHAX_NAME_TAB
AX6
Z
Y
X
Figure 10-5 Axis configuration
K2: Axis types, coordinate systems, frames
10.2 Axes
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 717
Special features
Leading zeros for user-defined axis identifiers are ignored:
MD10000 `$MN_AXCONF_MACHAX_NAME_TAB[0] = X01 corresponds to X1
The geometry axes must be assigned to the channel axes in ascending order without any
gaps.
All channel axes that are not geometry axes are special axes.
Channel axis gaps
Normally, each channel axis defined in machine data MD20080
$MC_AXCONF_CHANAX_NAME_TAB must be assigned a machine axis.
In order to simplify commissioning series of machines with a different number of machine
axes, channel axes may also be defined, which are not assigned to any machine axis As a
result, gaps can occur in the numbering sequence of the channel axes.
Any channel axis gaps must be explicitly enabled:
MD11640 $MN_ENABLE_CHAN_AX_GAP = 1
Without being enabled, a value of 0 in machine data:
MD20070 $MC_AXCONF_MACHAX_USED
ends the assignment of possibly existing additional machine axes to channel axes.
References:
/FB2/ Function Manual Extended Functions; Several Control Panels on Multiple NCUs,
Decentralized Systems (B3)
Note
Channel axes without assigned machine axes (channel axis gaps) are, regarding the number
and indexing of the channel axes, treated just like normal channel axes with associated
machine axes.
If a channel axis without assigned machine axis (channel axis gap) is defined as geometry
axis, then this is rejected without an alarm.
K2: Axis types, coordinate systems, frames
10.2 Axes
Basic Functions
718 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Example: Channel axis gap
Channel axis B is not assigned a machine axis in the following example.
Channel axis gap
Channel
1
Channel
2
8th channel axis [7]
7th channel axis [6]
6th channel axis [5]
5th channel axis [4]
4th channel axis [3]
3rd channel axis [2]
2nd channel axis [1]
1st channel axis [0]
Channel
1
Channel
2
Channel axis names Machine axes used in the channel
X
Y
Z
A
B
U
V
-
...
MD20070 $MC_AXCONF_MACHAX_USED MD20080 $MC_AXCONF_CHANAX_NAME_TAB
1
2
3
4
0
5
6
0
... ...
NCU 1
Figure 10-6 Axis configuration with channel axis gap (excerpt)
Special situations: Channel axis gaps
Regarding channel axis gaps, the following also have to be taken into account:
Channel axes without assigned machine axes (channel axis gaps) are, regarding the
number and indexing of the channel axes, treated just like normal channel axes with
associated machine axes.
If a channel axis without assigned machine axis (channel axis gap) is defined as
geometry axis, then this is rejected without an alarm.
10.2.12 Link axes
Meaning
A link axis is a machine axis that is not on the NCU from which it is traversed. The identifier
of a local machine axis is not entered in the machine data for the logical machine axis image
of the traversing NCU, but the NCU and machine axis identifier of the NCU to which it is
physically connected.
As an example, machine axis AX1 of NCU2 should be traversed from NCU1:
NCU1: MD10002 $MN_AXCONF_LOGIC_MACHAX_TAB[n] = NC2_AX1
Precondition
The NCUs involved must be connected using link communication as precondition for using
link axes. The link axes and link communication functions are described in detail in:
K2: Axis types, coordinate systems, frames
10.3 Zeros and reference points
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 719
References:
/FB2/ Function Manual Extended Functions; Several Control Panels on Multiple NCUs,
Decentralized Systems (B3)
10.3 Zeros and reference points
10.3.1 Reference points in working space
Zeros and reference points
The neutral position of the machine is obtained from the coordinate axes and the
constructive characteristics of the machine. The zero of the coordinate system is obtained by
defining a suitable reference point on the machine in its neutral position.
The position of the coordinate systems (MCS, BCS, BZS, SZS, WCS) is determined by
means of zeros.
Zero points Reference points
M = Machine zero
R = Reference point
W = Workpiece zero
T = Toolholder reference point
Machine zero M
The machine zero M defines the machine coordinate system MCS. All other reference points
refer to the machine zero.
Workpiece zero W
The workpiece zero W defines the workpiece coordinate system in relation to the machine
zero M. The programmed part-program blocks are executed in the workpiece coordinate
system WCS.
Reference point R
The position of the reference point R is defined by cam switches. Reference point R
calibrates the position measuring system.
With incremental encoders, the reference point must be approached every time the control
power is switched on. The control can only then work with the measuring system and
transfer all position values to the coordinate systems.
K2: Axis types, coordinate systems, frames
10.3 Zeros and reference points
Basic Functions
720 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Toolholder reference point T
The toolholder reference point T is located on the toolholder locator. By entering the tool
lengths, the control calculates the distance between the tool tip (TCP Tool Center Position)
and the toolholder reference point.
Example: Zeros and reference points on a turning machine
W
T
M
R
K2: Axis types, coordinate systems, frames
10.3 Zeros and reference points
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 721
10.3.2 Position of coordinate systems and reference points
Control POWER ON
For incremental measuring probes, the reference point must be approached each time the
control is activated so that the control can transfer all position values to the coordinate
system.
Z
M M
X
Machine
coordinate
system (MCS)
Machine
zero
Spindle
Workpiece
length
Workpiece
coordinate
system (WCS)
Workpiece
zero
Figure 10-7 Position of coordinate systems by machine zero M and workpiece zero W
Machine
zero
Refer-
ence
point Toolholder
Toolholder reference point
T
L2
L1
R
Z
X
Z
M
X
Figure 10-8 Position of reference point in relation to machine zero
K2: Axis types, coordinate systems, frames
10.4 Coordinate systems
Basic Functions
722 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
10.4 Coordinate systems
10.4.1 Overview
Cartesian coordinate systems
DIN 66217 stipulates that machine tools must use right-angled, rectangular (Cartesian)
coordinate systems. The positive directions of the coordainate axes are determined using
the "Right Hand Rule". The coordinate system is related to the workpiece and programming
takes place independently of whether the tool or the workpiece is being traversed. When
programming, it is always assumed that the tool traverses relative to the coordinate system
of the workpiece, which is intended to be stationary.
x
y
z
Figure 10-9 Right-hand rule
A, B, C
X, Y, Z
+C
+A
+B
90
+X
+Z
+Y
Axes perpendicular to
one another
Rotary axes rotating
about X, Y, Z
Figure 10-10 Clockwise, rectangular Cartesian coordinate system
K2: Axis types, coordinate systems, frames
10.4 Coordinate systems
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 723
The following coordinate systems are defined:
MCS Machine Coordinat System
BCS Basic Coordinate System
BZS Basic Zero System
SZS Settable Zero System
WCS Workpiece Coordinate System
Interrelationships between coordinate systems
The coordinate systems are determined by the kinematic transformation and the FRAMES.
A kinematic transformation is used to derive the BCS from the MCS. If no kinematic
transformation is active, the BCS is the same as the MCS.
The basic frame maps the BCS onto the BKS.
An activated adjustable FRAME G54...G599 ENS is derived from the BNS.
The WCS, which is the basis for programming, is defined by the programmable FRAME.
K2: Axis types, coordinate systems, frames
10.4 Coordinate systems
Basic Functions
724 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Frame for cycles, programmable
frame; transformations
Home position offset
Frame chain
SZS = Settable Zero System
BZS = Basic Zero System
WCS = Workpiece Coordinate System
BCS = Basic Coordinate System
MCS = Machine Coordinate System
Chained system frames for PAROT, PRESET,
scratching, zero offset external
Chained field of basic frames,
channel-spec. and/or NCU global
G54 to G599 settable frame,
channel-spec. or NCU global
System frame for TOROT
(TOFRAME), workpieces
BCS
BZS
SZS
WCS
MCS
Handwheel (DRF) offset, superimposed movement, (zero
offset external)
Kinematic transformation
Figure 10-11 Interrelationships between coordinate systems
K2: Axis types, coordinate systems, frames
10.4 Coordinate systems
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 725
10.4.2 Machine coordinate system (MCS)
Machine coordinate system (MCS)
The machine coordinate system (MCS) is made up of all physically available machine axes.
+X
+C
+Y
+Z
+
B
Figure 10-12 MCS with machine axes X, Y, Z, B, C (5-axis milling machine)
K2: Axis types, coordinate systems, frames
10.4 Coordinate systems
Basic Functions
726 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
M
+X
+Z
Figure 10-13 MCS with machine axes X, Z (turning machine)
Axial preset offset
The "Preset" function can be used to redefine the control zero in the machine coordinate
system. The preset values act on machine axes. Axes do not move when "Preset" is active.
Note
After Preset, the reference points are invalid!
If possible do not use this function.
10.4.3 Basic coordinate system (BCS)
Basic coordinate system (BCS)
The basic coordinate system (BCS) consists of three mutually perpendicular axes (geometry
axes) as well as other special axes, which are not interrelated geometrically.
Machine tools without kinematic transformation
BCS and MKS always coincide when the BCS can be mapped onto the MCS withouth
kinematic transformation (e.g., TRANSMIT / face transformation, 5-axis transformation and up
to three machine axes).
On such machines, machine axes and geometry axes can have the same names.
K2: Axis types, coordinate systems, frames
10.4 Coordinate systems
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 727
+Y
+Z
+X
Machine zero
MCS = BCS
Figure 10-14 MCS=BCS without kinematic transformation
Machine tools with kinematic transformation
The BCS and MCS do not coincide when the BCS is mapped onto the MCS with kinematic
transformation (e.g., TRANSMIT / face transformation, 5-axis transformation or more than three
axes).
On such machines the machine axes and geometry axes must have different names.
Y
X
Z
X
Z
Y
MCS
Basic coordinate system (BCS)
Machine coordinate system (MCS)
Kinematic
transformation
BCS
BCS
BCS
MCS
MCS
Figure 10-15 Kinematic transformation between the MCS and BCS
K2: Axis types, coordinate systems, frames
10.4 Coordinate systems
Basic Functions
728 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Machine kinematics
The workpiece is always programmed in a two- or three-dimensional, right-angled coordinate
system (WCS). However, such workpieces are being programmed ever more frequently on
machine tools with rotary axes or linear axes not perpendicular to one another. Kinematic
transformation is used to represent coordinates programmed in the workpiece coordinate
system (rectangular) in real machine movements.
References:
/FB3/ Function Manual, Special Functions; 3-Axis to 5-Axis Transformation (F2)
/FB2/ Function Manual, Extended Functions; Kinematic Transformation (M1)
10.4.4 Additive offsets
Zero offsets external
The "zero offset external" is an axial offset. Unlike with frames, no components for rotation,
scaling and mirroring are possible.
+X
+Z
+Y
+X
+Y
+Z
Basic coordinate system (BCS)
Basic zero system (BZS)
External
zero offset
Figure 10-16 Zero offset external between BCS and BZS
K2: Axis types, coordinate systems, frames
10.4 Coordinate systems
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 729
Setting the offset values
The offset values are set:
PLC
By describing system variables
Via the operator panel
From menu "Current zero offsets"
NC Program
By assigning to system variable $AA_ETRANS[axis]
Activation of the offset values
The 0/1 edge of the following PLC signal activates the previously defined offset values:
DB31, ... DBX3.0 (accept external zero offset)
The 0/1 edge change is only evaluated in Automatic operating mode.
Effect of activation
The offset for an axis becomes active when the first motion block for this axis is executed
after the offset is activated.
Example of possible chronological sequence:
G0 X100
X150 ; A new "Zero offset external" is activated by the PLC during this
motion.
X200 ;
The new "Zero offset external" is applied due to G0 programming at the
end of the block (X200), if no velocity reserve is available (100%).
The "Zero offset external via system frame" is applied immediately.
Channel-specific system frames can be configured through the following machine data:
MD28082 $MC_MM_SYSTEM_FRAME_MASK (System frames SRAM)
K2: Axis types, coordinate systems, frames
10.4 Coordinate systems
Basic Functions
730 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Programming
Setting a new offset via the axis-specific system variables:
$AA_ETRANS[axis]=Ri
The instruction below reads the axis-specific active offset value:
Ri=$AA_ETRANS[axis]
Note
The read value can then differ from the previously set value, if the set value has not yet been
activated.
The read value corresponds to a value set previously, if the most recently set value has not
yet been activated. The system frame for the "Zero offset external" exists only if it has been
configured.
DRF offset
The DRF offset enables the adjustment of an additional incremental zero offset for geometry
and additional axes in the basic coordinate system through handwheel.
The DRF offset can be read via the axis-specific system variable:
$AC_DRF[<Axis>]
References:
/FB2/ Function Manual Extended Functions; Jog with/without Handwheel (H1),
Section: DRF offset
Overlaid movements
The "Superimposed motion" for the programmed axis can only be accessed from
synchronized actions via the system variable $AA_OFF[axis].
Run-up
After run-up (POWER ON) the last used offset values for the "Zero offset external" are
stored and do not become effective again until there is a renewed activation signal.
System frames are retained during Power ON, depending on the following machine data:
MD24008 $MC_CHSFRAME_POWERON_MASK (reset system frames after Power On)
K2: Axis types, coordinate systems, frames
10.4 Coordinate systems
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 731
RESET/end of program
The activated values remain active after RESET and program end.
Reset response of channel-specific system fames as follows:
The system frame for the "external zero offset" is active after RESET with the following
machine data setting:
MD24006 $MC_CHSFRAME_RESET_MASK, Bit 1 = 1
The "external zero offset" in the active system frame is deleted in the data management
through the following machine data setting:
MD24006 $MC_CHSFRAME_RESET_MASK, Bit 1 = 0
The following frames are active after RESET:
System frame for:
MD24006 $MC_CHSFRAME_RESET_MASK, Bit 4 = 1 (workpiece reference point)
MD24006 $MC_CHSFRAME_RESET_MASK, Bit 5 = 1 (cycles)
Suppression
The NC program instruction SUPA suppresses the "Zero offset external" while the block is
being processed.
The command G74 (reference point approach) and the equivalent operator actions in
"Reference point approach" mode suppress the "Zero offset external" for the duration of the
reference point approach.
With G74, i.e., "Automatic" or "MDA" mode, the previously active "Zero offset external"
automatically becomes active again with the next traverse motion in the block.
After a mode change from "Reference point approach" mode, the VDI signal for the
referenced axes must be set for reactivation.
K2: Axis types, coordinate systems, frames
10.4 Coordinate systems
Basic Functions
732 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
10.4.5 Basic zero system (BZS)
Basic zero system (BZS)
The basic zero system (BZS) is the basic coordinate system with a basic offset.
+X
+Z
+Y
+X
+Y
+Z
Basic coordinate system (BCS)
Basic zero system (BZS)
Basic offset
Figure 10-17 Basic offset between BCS and BZS
Basic offset
The basic offset describes the coordinate transformation between BCS and BZS. It can be
used, for example, to define the palette window zero.
The basic offset comprises:
Zero offset external
DRF offset
Superimposed motion
K2: Axis types, coordinate systems, frames
10.4 Coordinate systems
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 733
Chained system frames
Chained basic frames
G 54
y
x
z
z
z
y
y
x
x
G 55
x
y
z
x
y
z
z
y
x
SZS
WCS
BZS
SZS
WCS
MCS=
BCS
Base frame
Programmable
frame
Workpiece 2
Workpiece 1
Pallet
Programmable
frame
Figure 10-18 Example of the use of the basic offset
The following settings apply:
The user can change the basic offset from the part program by means of an operator
action and from the PLC.
If the basic offset is to take effect immediately, an ASUB can be started via the PLC using
FC9 in order to execute the appropriate G code.
Note
Recommendation to the machine manufacturer
Use the 3rd basic offset onwards for your own applications.
The 1st and 2nd basic offset are reserved for PRESET and the "Zero offset external".
K2: Axis types, coordinate systems, frames
10.4 Coordinate systems
Basic Functions
734 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
10.4.6 Settable zero system (SZS)
Settable zero system (SZS)
The "settable zero system" (SZS) is the workpiece coordinate system WCS with a
programmable frame (viewed from the perspective of the WCS). The workpiece zero is
defined by the settable FRAMES G54 to G599.
G54 ...G599
+X
+Z
+Y
+X
+Y
+Z
Settable zero system (SZS)
Basic zero system (BZS)
Figure 10-19 Settable FRAME G54 ... G599 between BNS and ENS
Programmable offsets act on the "settable zero system". All programmable offsets refer to
the "settable zero system".
WCS actual-value display in WCS or SZS
The actual values of the axes in the machine coordinate system (MCS) or the WCS can be
displayed on the HMI operator interface. For displays in WCS, the actual values can also be
displayed in relation to the SZS. The corresponding parameterization takes place through
the machine data:
MD9424 $MM_MA_COORDINATE_SYSTEM (coordinate system for actual value display)
Value Significance
0 Actual-value display in relation to the WCS
1 Actual-value display in relation to the SZS
K2: Axis types, coordinate systems, frames
10.4 Coordinate systems
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 735
Note
Display of the current coordinate system
When "Actual-value display in relation to the SZS" is active, the WCS is still displayed on the
HMI operator interface as the coordinate system to which the actual-value display relates.
Example
Actual-value display in relation to the WCS or SZS
Code (excerpt) Actual value display:
Axis X (WCS)
Actual value display:
Axis X (SZS)
N10 X100
100 100
N20 X0
0 0
N30 $P_PFRAME = CTRANS(X,10)
0 10
N40 X100
100 110
10.4.7 Workpiece coordinate system (WCS)
Workpiece coordinate system (WCS)
The workpiece coordinate system (WCS) is the programming basis.
+X
+Z
+Y
+X
+Y
+Z
Settable zero system (SZS)
Workpiece coordinate system (WCS)
Programmable FRAME
with $P_PFRAME
Figure 10-20 Programmable FRAME between SZS and WCS
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
736 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
10.5 Frames
10.5.1 Frame types
Frame
A frame is a data structure that contains values for offset (TRANS), fine offset (FINE),
rotation (ROT), mirroring (MIRROR) and scaling (SCALE) for axes.
Axial frame
An axial frame contains the frame values of an axis.
Example of the data structure of an axial frame:
Axis TRANS FINE ROT MIRROR SCALE
X 10.0 0.1 0.0 0 1
Channel-specific frame
A channel-specific frame contains frame values for all channel axes (geometry, special and
machine axes).
Rotations (ROT) are only included in the calculation for geometry axes.
A channel-specific frame is only active in the channel in which the frame is defined.
Example of the data structure of a channel-specific frame:
Geometry axes: X, Y, Z
Special axes: A
Machine axes: AX1
Axis TRANS FINE ROT MIRROR SCALE
X 10.0 0.1 0.0 0 1
Y 0.0 0.0 0.0 1 1
Z 0.0 0.0 45.0 0 1
A 2.0 0.1 0.0 0 2
AX1 0.0 0.0 0.0 0 0
Global frame
A global frame contains the frame values for all machine axes.
A global frame is active in all channels of the NC.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 737
Example of the data structure of a channel-specific frame:
Machine axes: AX1, ... AX5
Axis TRANS FINE ROT MIRROR SCALE
AX1 10.0 0.1 - 0 1
AX2 0.0 0.0 - 1 1
AX3 0.0 0.0 - 0 1
AX4 2.0 0.1 - 0 2
AX5 0.0 0.0 - 1 1
Effect
When activating a frame, using the frame values, a static coordinate transformation for the
axes contained in the frame is performed using a defined algorithm.
10.5.2 Frame components
10.5.2.1 Translation
Programming
The program commands below are used to program the translation:
Command Comment
$P_UIFR[1] = CTRANS(x,10,y,10)
$P_UIFR[1,x,tr] = 10
Frame components
TRANS x=10 y=10
Prog. frame only
y'
y
x'
x
Translation,
Fine offset
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
738 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
10.5.2.2 Fine offset
Parameterization
The corresponding fine offset parameterization takes place through the machine data:
MD18600 $MN_MM_FRAME_FINE_TRANS (fine offset in FRAME (SRAM))
Value Significance
0 The fine offset cannot be entered or programmed.
1 Fine offset possible for settable frames, basic frames and the prog. frame via command or
program.
Programming
The fine offset can be programmed in the program using command CFINE (x, .., y, ...).
The coarse offset is defined with CTRANS(...). Coarse and fine offset add up to the total offset.
$P_UBFR = CTRANS(x, 10) : CFINE(x, 0.1) : CROT(x, 45)
$P_UIFR[1]=CFINE(x, 0.5, y, 1.0, z, 0.1)
Access to the individual components of the fine offset is achieved through component
specification FI.
finex = $P_UIFR[ $P_UIFRNUM, x, FI ]
Fine offestting can be programmed only if:
MD18600 $MN_FRAME_FINE_TRANS = 1
if this is not the case, then each assignment of a fine offset to a settable frame and to the
basic frame with the alarm "FRAME: fine offset not possible".
A fine offset changed by the operator does not apply until after activation of the
corresponding frame, i.e., activation via G500, G54 to G599.
Once activated, a fine offset of a frame remains active the whole time the frame is active.
When the offset of the current frame is displayed, the total offset (coarse offset and fine
offset) is output.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 739
10.5.2.3 Rotations for geometry axes
Function
The direction of rotation about the coordinate axes is determined by means of a right-hand,
rectangular coordinate system with axes X, Y and Z.
x'
x
y'
y
Rotations
If the rotary motion is in a clockwise direction when looking in the positive direction of the
coordinate axis, the direction of rotation is positive. A, B and C identify rotations whose axes
are parallel to X, Y and Z.
B
A
y
x
C
z
Right-hand, rectangular
coordinate system
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
740 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Parameter assignment
The corresponding rotation in frame is parameterized through the machine data:
MD10600 $MN_FRAME_ANGLE_INPUT_MODE (rotation sequence in FRAME)
Value Meaning
1 RPY notation
2 Euler angle
RPY
Rotations with a RPY angle are carried out in the order Z, Y', X''.
x''' = x''
y''
y'''
z'' z'''
x''
x'
z''
z'
y' = y''
x'
x
y'
y
z = z'
Rotation about z Rotation about y' Rotation about x''
The angles are only clearly and uniquely defined in the following ranges:
-180 <= x <= 180
-90 < y < 90
-180 <= z <= 180
Euler angle
Rotations with a Euler angle are carried out in the order Z, X', Z''.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 741
Rotation about z Rotation about x' Rotation about z''
x''
x'''
y''
y'''
z''
y'
x'' = x'
z''
y''
z'
x
x'
y
y'
z = z'
The angles are only clearly and uniquely defined in the following ranges:
0 <= x < 180
-180 <= y <= 180
-180 <= z <= 180
The written angles can be uniquely read back again in these areas. When rotations that are
larger than the specified angles are entered, these are converted to a mode of
representation that does not exceed the specified range limits.
RPY example
$P_UIFR[1]=crot(x,10,y,90,z,40)
returns when reading
back:
$P_UIFR[1]=crot(x,0,y,90,z,30)
$P_UIFR[1]=crot(x,190,y,0,z,-200)
supplies when reading:
$P_UIFR[1]=crot(x,-170,y,0,z,160)
On writing and reading frame rotation components, these limits should be observed so the
same results are achieved on writing and reading, or on repeated writing.
Programming
The program commands below are used to program the rotation:
$P_UIFR[1]=CROT(x,10,y,10)
ROT x=10 y=10
$P_UIFR[1,x,rt]=10
CRPL - Constant Rotation Plane
The predefined function "Constant Rotation Plane", allows a rotation to be programmed in
any plane for each frame:
FRAME CRPL(INT,REAL)
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
742 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
This method offers the advantage that no axis identifier, around which a rotation should be
executed, has to be specified for a geometry coordinate axis.
As a rule, turning machines have only two geo axes, meaning that, up to now, a rotation in
the plane could not be programmed.
Parameter:
INT 0: Rotation in the active plane
1: Rotation about z
2: Rotation about y
3: Rotation about x
REAL Angle of rotation in degrees
RPY: -180 <= x <= 180
-90 <= y <= 90
-180 <= z <= 180
Euler: -180 <= x <= 180
0 <= y <= 180
-180 <= z <= 180
The user must keep to the named angles, in the interests of a unique backward
calculation. If the limits are violated, a unique backward calculation is impossible. Entry is
not aborted with an alarm.
Chaining with frames
CRPL() can be chained with frames and known frame functions such as CTRANS(), CROT(),
CMIRROR(), CSCALE(), CFINE().
Examples:
$P_PFRAME = $P_PFRAME : CRPL(0,30)
$P_PFRAME = CTRANS(x,10) : CRPL(1,30)
$P_PFRAME = CROT(x,10) : CRPL(2,30)
$P_PFRAME = CRPL(3,30) : CMIRROR(y)
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 743
10.5.2.4 Scaling
y
x
S
c
a
l
i
n
g
Programming
The program commands below are used to program the scaling:
$P_UIFR[1] = CSCALE(x,1,y,1)
SCALE x = 1y = 1
$P_UIFR[1,x,sc] = 1
10.5.2.5 Mirroring
x
y
Mirroring
Programming
The program commands below are used to program a mirroring:
$P_UIFR[1] = CMIRROR(x,1,y,1)
MIRROR x = 1y = 1
$P_UIFR[1,x,mi] = 1
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
744 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
10.5.2.6 Chain operator
Frame components or complete frames can be combined into a complete frame using the
chain operator ( : ).
10.5.2.7 Programmable axis identifiers
Geo, channel and machine axis identifiers can be used in the frame commands.
The programmed axis must be known to the channel-specific frames in the channel.
SPI
When programming frame instructions, the SPI(<spindle number>) axis function can be used
in place of an axis identifier.
SPI(<spindle number>) forms the reference of the spindle to the channel axis.
refer to MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ ] (assignment of spindle to
machine axis)
The following frame instructions can be programmed with SPI(spino):
CTRANS()
CFINE()
CMIRROR()
CSCALE()
A spindle can only be assigned to one rotary axis at a time. The CROT(..) function can
therefore not be programmed withSPI(), as only geometry axes are permitted forCROT().
The channel axis identifier or machine axis identifier of the axis belonging to the spindle is
always output when decompiling frames, even when axis identifiers have been programmed
in the part program with SPI(..).
If the spindle is assigned e.g., to the Channel Axis A then the programming:
N10 $P_UIFR[1] = CTRANS(SPI(1),33.33,X,1):CSCALE(SPI(1),33.33):CMIRROR(SPI(1))
during recompilation:
$P_UIFR[1]=CTRANS(X,1,A,33.33):CSCALE(A,33.33):CMIRROR(A)
If a spindle and an assigned axis are programmed in a frame instruction, then Alarm 16420
"Axis % multiply programmed" is output.
Example:
$P_UIFR[1] = CTRANS(SPI(1),33.33,X,1,A,44)
(The spindle is assigned to Axis A.)
Programming examples
$P_PFRAME[SPI(1),TR]=22.22
$P_PFRAME=CTRANS(X, axis value,Y,axis value,SPI(1),axis value)
$P_PFRAME=CSCALE(X,Scale,Y,scale,SPI(2),scale)
$P_PFRAME=CMIRROR(S1,Y,Z)
$P_UBFR=CTRANS(A,10):CFINE(SPI(1),0.1)
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 745
10.5.2.8 Coordinate transformation
Mirroring
Rough offset
Fine offset
Scaling
Rotation
The formulae below are used to discover the coordinate transformation for geometry axes:
v' = inv(M) * inv(S) * inv(R) + (v - t)
v = R * S * M * v + t
BCS WCS
WCS BCS
V: Position vector in BCS
V': Position vector in WCS
10.5.3 Frames in data management and active frames
10.5.3.1 Overview
The following frame types are available:
System frames (see diagram)
Basic frames ($P_NCBFR[n], $P_CHBFR[n])
Adjustable frames ($P_UIFR[n])
Programmable frame ($P_PFRAME[n])
Apart from the programmable frame, all types have a frame in the data management (data
management frame) and an active frame. For a programmable frame, there is only one
active frame.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
746 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Part program Archiving
System frames
G500, G54 .. G599, Pl_SETUDT, Reset,
Transformation change, GEOAX
(Active total frame)
(User interface)
Data management frames
(static memory of the NC)
Basic frames Settable frames
Activating data management frames using:
Part program
Active frames
(
c
h
a
i
n
i
n
g
a
l
l
a
c
t
i
v
e
f
r
a
m
e
s
)
Channel 1
$P_CYCFR
$P_TRAFR
$P_WPFR
$P_TOOLFR
$P_EXTFR
$P_SETFR
$P_PARTFR
NCU or CHAN CHAN
$P_UlFR[0]
$P_UlFR[n] $P_CHBFR[n]
NCU
$P_CHBFR[0] $P_NCBFR[0]
$P_NCBFR[n]
=
$P_ACTFRAME
$P_RELFR
$P_lSO4FR
$P_lSO3FR
$P_lSO2FR
$P_lSO1FR
$P_PARTFRAME : $P_SETFRAME: $P_EXTFRAME :
$P_lSO1FRAME : $P_lSO2FRAME : $P_lSO3FRAME :
$P_ACTBFRAME : $P_lFRAME : $P_TOOLFRAME :
$P_WPFRAME : $P_TRAFRAME : $P_lSO4FRAME :
$P_CYCFRAME :
$P_PFRAME (programmable frame)
CHAN
Writing frames
Data management frames and active frames can be written from the part program. Only data
management frames can be written via the user interface.
Archiving frames
Only data management frames can be archived.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 747
10.5.3.2 Activating data management frames
Data management frames become active frames as a result of the following actions:
Part program commands to activate/deactivate offsets: G54...G599,G500
RESET and MD20110 $MC_RESET_MODE_MASK, Bit14 = 1
Transformation changeover
Changing the geometry axis assignment GEOAX
via SINUMERIK Operate with PI service "_N_SETUDT"
Activating via SINUMERIK Operate
The activation of a data management frame with PI service "_N_SETUDT" only becomes
active in the channel after a hot restart for the selected part program. The activation is
effective in the reset state if the following machine data is set:
MD9440 $MM_ACTIVATE_SEL_USER_DATA (set active offset immediately)
Activating system frames
System frames are activated by:
programming the corresponding system function in the part program
Operator control at SINUMERIK Operate
Note
Modifying system frames of the data management
Although in principle, system frames of the data management can be modified by the
cycle programmer and activated using a G500, G54...G599 operation. However, this option
should only be used with reservation.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
748 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Activating data management frames
The behavior when activating data management frames can be set using the following
machine data:
MD24050 $MC_FRAME_SAA_MODE (save and activate data management frames)
Bit Value Meaning
0 Data management frames are activated only by programming the $P_CHBFRMASK,
$P_NCBFRMASK and $P_CHSFRMASK bit masks.
G500...G599 activate only the corresponding settable frame.
The reset response is independent of this.
0
1 Data management frames are not implicitly described by system functions, such as
TOROT, PAROT,
zero offset external and transformations.
System variable $P_CHSFRMASK
The system frames of the data management can be activated using system variable
$P_CHSFRMASK. The value of the variables is specified as bit coded according to the
machine data:
MD28082 $MC_MM_SYSTEM_FRAME_MASK (system frames of the data management)
The corresponding system frame of the data management in the channel is activated by
setting a bit of the system variable $P_CHSFRMASK to a value of 1. For a value of 0, the
currently active system frame in the channel remains active.
Activating system frames after RESET
After RESET, the system frames in the channel are activated whose bits are set in the
following machine data:
MD24006 $MC_CHSFRAME_RESET_MASK (active system frames after Reset)
Activating system frames for TCARR, PAROT and TOROT, TOFRAME
The system frames for TCARR, PAROT and TOROT, TOFRAME are activated according to the setting
in the following machine data:
MD20150 $MC_GCODE_RESET_VALUES (initial setting of the G groups)
When changing over geometry axes using transformation selection/deselection or the GEOAX
command, the actual total frame $P_ACTFRAME is either deleted or is re-calculated using
the new geometry axis constellation and activated. The system frames and all other frames
are conditioned again in relation to the geometry axes.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 749
10.5.3.3 NCU global frames
All settable frames G54 to G599 and all basic frames can be configured NCU globally or
channel-specifically. A combination of these is also possible with basic frames. Global
frames affect all channels on an NCU. All channels have read and write access to the NCU.
Global frames only have axial frame components, such as translations, scales and mirrors of
individual axes. Each channel can read or modify global frames for any machine axis.
A characteristic of global frames is that they are calculated in all channels of an NCU. As the
assignment of machine axes to channel axes and, in particular, to geometry axes, can be
different in all channels, there is no geometric relationship. Global frames describe offsets,
scales and mirrors of machine axes. Rotations cannot be used on global frames.
All settable frames can be reconfigured to global frames with the following machine data:
MD18601 $MN_MM_NUM_GLOBAL_USER_FRAMES (number of global, pre-defined user
frames (SRAM))
If the value of this machine data is greater than zero, there are no channel-specific settable
frames.
The following machine data becomes irrelevant then, and is not evaluated:
MD28080 $MC_MM_NUM_USER_FRAMES (number of settable frames (SRAM))
The number of global basic frames is parameterized through the following machine data:
MD18602 $MN_MM_NUM_GLOBAL_BASE_FRAMES (number of global, basic frames
(SRAM))
Channel-specific basic frames can also exist simultaneously through the following machine
data:
MD28081 $MC_MM_NUM_BASE_FRAMES (number of basic frames (SRAM))
Global frames can be read and written from all channels of an NCU. When writing global
frames, the user must ensure channel coordination. This can be achieved through e.g., wait
markers.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
750 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
10.5.4 Frame chain and coordinate systems
10.5.4.1 Overview
The figure below shows the frame chain for the current complete frame. The frame chain is
stored between the BCS and WCS. The SZS (Settable Zero System) corresponds to the
WCS, transformed by the programmable frame. The BZS (Basic Zero System) still includes
the current settable frame. The system frame for the zero offset external is only available if it
has been configured, otherwise the zero offset external is interpolated as a superimposed
motion of the axis, as it has been up to this point.
WCS, PCS
SZS, ACS
BZS, FCS
BCS, BCS
MCS, MCS
Reference point offset
Handwheel (DRF) offset, superimposed movement, zero offset
external, kinematic transformation
F
r
a
m
e
c
h
a
i
n
$P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME :
$P_lSO1FRAME : $P_lSO2FRAME : $P_lSO3FRAME
$P_TRAFRAME: $P_PFRAME :
$P_lSO4FRAME : $P_CYCFRAME
$P_TOOLFRAME : $P_WPFRAME
$P_lFRAME
$P_ACTBFRAME
WCS: Workpiece Coordinate System
SZS: Settable Zero System
BZS: Basic Zero System
BCS: Basic Coordinate System
MCS: Machine Coordinate System
PCS: Part Coordinate System
ACS: Adjustable Coordinate System
FCS: Foot Coordinate System
BCS: Basic Coordinate System
MCS: Machine Coordinate System
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 751
The current complete frame is calculated according to the formula below:
$P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME :
$P_ISO1FRAME : $P_ISO2FRAME : $P_ISO3FRAME :
$P_ACTBFRAME : $P_IFRAME :
$P_TOOLFRAME : $P_WPFRAME : $P_TRAFRAME:
$P_ACTFRAME =
$P_PFRAME : $P_ISO4FRAME : $P_CYCFRAME
10.5.4.2 Relative coordinate systems
Relative coordinate systems display the current setpoint positions of the axes, which lie
relative to a specified reference point in the active displayed coordinate system. No
programming can be done regarding the relative coordinate systems. Only the axis positions
in these systems can be read via the system variables.
The new display coordinate systems lie relative to WCS and ENS coordinate system and
result through transformation of the WCS or ENS axis positions with the active system frame
$P_RELFRAME. The relative coordinate systems can not only be displaced linearly, but also
rotated, mirrored, compressed or expanded.
The position indicator for axis setpoints is done in WCS or in ENS. The configuring is done
via HMI machine data. Always only one display-coordinate system is active in the channel.
For this reason only one relative frame is provided, which generates both the relative
coordinate systems in the same ratio. The HMI displays the relative coordinates according to
the configuring.
ENS , ACS
E
N
SR
E
L
,
A
C
SR
E
L
W
K
SR
E
L
,
P
C
SR
E
L
$
P
_
R
E
L
F
R
A
M
E
$
P
_
R
E
L
F
R
A
M
E
WKS , PCS
Figure 10-21 Relative coordinate systems
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
752 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The data maintenance frame $P_RELFR can be written in the part program and via BTSS.
All the frame components can be modified.
The active system frame $P_RELFRAME can be written in the part program and via BTSS.
The configuring of the system frame $P_RELFR is done via the following machine data:
Machine data Bit Description
MD28082 $MC_MM_SYSTEM_FRAME_MASK 11 Creation of $P_RELFR; with this, relative
coordinate systems become existent.
MD28083 $MC_MM_SYSTEM_DATAFRAME_MASK 11 Data maintenance frame $P_RELFR
MD24006 $MC_CHSFRAME_RESET_MASK. 11 $P_RELFR becomes active at Reset
MD24007 $MC_CHSFRAME_RESET_CLEAR_MASK 11 $P_RELFR is deleted at Reset
MD24008 $MC_CHSFRAME_POWERON_MASK 11 $P_RELFR is deleted at PowerOn
The axis position in the relative coordinate system WCSRel can be read via the variable
$AA_PCS_REL[ax]. The variable can be read in part program, BTSS and via synchronous
actions.
The axis position in the relative coordinate system ENSRel can be read via the variable
$AA_ACS_REL[ax]. The variable can be read in part program, BTSS and via synchronous
actions.
The setting of a relative reference point via the operator panel is done via the general
command interface for the workpiece and tool measuring. The system frame $P_RELFR for
relative coordinate systems is calculated and activated as follows:
$AC_MEAS_TYPE = 14
PI-services _N_SETUDT(6, 7)
An example for setting the relative axis positions is given in:
References:
/FB2/ Function Manual Extended Functions; Measurement (M5),
Chapter "Measurement of Geo- and special axes (Meas Type 14, 15)"
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 753
10.5.4.3 Configurable SZS
The function of the SZS coordinate system is to display actual values and move the axes
during a cycle interruption. Cycles utilize frames in the frame chain to perform their functions.
They input translations or rotations into either the programmable frame or the cycle system
frame. The WCS is, therefore, modified by cycles. A user who uses Stop to interrupt a cycle,
however, does not wish to traverse in the "cycle coordinate system", but in the programmed
WCS. This is why the SZS is used for the display. For reasons of compatibility, the SZS is
made configurable.
$P_TRAFRAME : $P_PFRAME :
$P_lSO4FRAME
$P_CYCFRAME
MD24030 $MC_FRAME_ACS_SET = 0
WCS
SZS
WCS
SZS
$P_TRAFRAME : $P_PFRAME :
$P_lSO4FRAME
$P_CYCFRAME
MD24030 $MC_FRAME_ACS_SET = 1
The following machine data can be used to set whether the ENS is with or without the
programmable frame, the transformation frame and $P_ISO4FRAME:
MD24030 $MC_FRAME_ACS_SET (setting of the ENS coordinate system)
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
754 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
As default, the value 1 is set.
Reconfiguring the SZS affects all SZS actual-value displays and the $AA_IEN[axis] system
variables. Traversing geometry axes in JOG mode in the SZS also depends on the
configuration.
10.5.4.4 Manual traverse in the SZS coordinate system
Previously, geometry axes have been traversed manually in JOG mode in the WCS. In
addition, there is also the option to carry out this manual operation in the SZS coordinate
system. The $AC_JOG_COORD variable enables the user to switch between manual
traversing in the WCS and SZS. The user can now select if he wants to traverse in the SZS
or the WCS.
$P_TRAFRAME : $P_PFRAME
$
P
_
C
Y
C
F
R
A
M
E
SZS
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 755
10.5.4.5 Suppression of frames
Programming
Command Significance
G53
Non-modal suppression of the following frames:
System frame for cycles
Programmable frame
System frame for transformations, workpieces, TOROT and TOFRAME
Active settable frame
G153
Non-modal suppression of the following frames:
System frame for cycles
Programmable frame
System frame for TOROT and TOFRAME, workpieces
Active settable frame
All channel-specific and NCU global basic frames
System frames for PAROT, PRESET, scratching, ext. ZO
SUPA
Implicit preprocessing stop and non-modal suppression of frames analog G153 and
additional
Handwheel offsets (DRF)
[ext. zero offset]
Overlaid motion
G500
Modal activation of the G500 frame. The G500 frame should be a zero frame.
DRFOF
Deactivate (clear) the handwheel offsets (DRF)
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
756 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
WCS, PCS
SZS, ACS
BZS, FCS
BCS, BCS
MCS, MCS
Kinematic transformation
Handwheel (DRF) offset, superimposed movement, zero offset external
Reference point offset
S
U
P
A
G
1
5
3
G
5
3
$P_TRAFRAME: $P_PFRAME :
$P_lSO$FRAME : $P_CYCFRAME
$P_TOOLFRAME : $P_WPFRAME
$P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME :
$P_lSO1FRAME : $P_lSO2FRAME : $P_lSO3FRAME
$P_lFRAME
$P_ACTBFRAME
Parameterization
Frame suppressions SUPA, G153 and G53 lead to the WCS, SZS and possibly the BZS
jumping when frame suppression is active. This characteristic for position display and pre-
defined position variables can be changed through the following machine data:
MD24020 $MC_FRAME_SUPPRESS_MODE (Positions during frame suppression)
Bit Significance
0 Positions for display (BTSS) are without frame suppression.
1 Position variables are without frame suppression.
When the bit is set, the position for the display or the variables is calculated without frame
suppression so that no further jumps in the position occur.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 757
10.5.5 Frame chain frames
10.5.5.1 Overview
There are up to four frame variants:
Settable frames (G500,G54 to G599)
Basic frames
Programmable frame
System frames
10.5.5.2 Settable frames $P_UIFR[n]
The number of NCU global settable frames is set through the following machine data:
MD18601 $MN_MM_NUM_GLOBAL_USER_FRAMES (number of global, pre-defined user
frames (SRAM))
The number can be between 0 and 100. If the MD has a value greater than zero, there are
only NCU global settable frames, otherwise the following machine data specifies the number
of channel-specific settable frames:
MD28080 $MC_MM_NUM_USER_FRAMES (number of settable frames (SRAM))
System variable $P_UIFR[n] can be used to read and write the frame field elements. The
frame is not activated simultaneously when writing a field element, but rather activation only
takes place on execution of a G500,G54, to G599 instruction. For NCU global frames, the
changed frame only becomes active in those channels of the NCU, which execute a
G500,G54 to G599 instruction. The variable is used primarily for storing write operations from
HMI or PLC. These frame variables are saved by the data backup.
Current settable frame $P_IFRAME
The predefined frame variable $P_IFRAME can be used to read and write the current
settable frame, which is valid in the channel, in the part program. The written settable frame
is immediately included in the calculation. In the case of NCU global settable frames, the
modified frame acts only in the channel in which the frame was programmed. If the frame is
to be modified for all channels of an NCU, $P_UIFR[n] and $P_IFRAME must be written
simultaneously. The other channels must then activate the corresponding frame, e.g., with
G54.
Programming of settable frames
Settable frames can be read and written via the part program and via the OPI by operator
actions and by the PLC. However, only data management frames can be written by the OPI.
The index of the active settable frame can be ascertained via the $P_UIFRNUM system
variable.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
758 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
10.5.5.3 Channel basic frames $P_CHBFR[n]
The number of basic frames in the channel can be configured via the machine data:
MD28081 $MC_MM_NUM_BASE_FRAMES (number of basic frames (SRAM))
The minimum configuration is designed for at least one basic frame per channel. A maximum
of 16 basic frames per channel is possible. In addition to the 16 basic frames, there can also
be 16 NCU-global basic frames in the channel.
System variable $P_CHBFR[n] can be used to read and write the basic frame field elements.
While writing a basic frame field element, the chained total frame is not activated. Instead,
the activation takes place only after a G500,G54..G599instruction is executed. The variable is
used primarily for storing write operations to the basic frame on HMI or PLC. These frame
variables are saved by the data backup.
Current channel basic frames $P_CHBFRAME[n]
System variable $P_CHBFRAME[n] can be used to read and write the current channel basic
frame field elements. The resulting total basic frame is calculated by means of the write
process in the channel. Whenever a basic frame is written, the complete basic frame is
calculated again.
Basic frame in channel $P_UBFR
The system variable is retained for reasons of compatibility, although it is redundant for the
$P_CHBFR[0] variables.
The basic frame with field device 0 is not activated simultaneously when writing to the
predefined $P_UBFR variable, but rather activation only takes place on execution of a
G500,G54,.G599instruction. For NCU global frames, the changed frame only becomes active
in those channels of the NCU, which execute a G500,G54..G599instruction. The variable is
used primarily for storing write operations to the basic frame on HMI or PLC. The variable
can also be read and written in the program.
$P_UBFR is identical to $P_CHBFR[0]. One basic frame always exists in the channel by
default, so that the system variable is compatible with older versions. If there is no channel-
specific basic frame, an alarm is issued at read/write: "Frame: Instruction not allowed" is
output on a read or write access.
Current first basic frame in the channel $P_BFRAME
The system variable is retained for reasons of compatibility, although it is redundant for the
$P_CHBFRAME[0] variables.
The predefined frame variable $P_BFRAME can be used to read and write the current basic
frame with the field device of 0, which is valid in the channel, in the part program. The written
basic frame is immediately included in the calculation. In the case of NCU global settable
frames, the modified frame acts only in the channel in which the frame was programmed. If
the frame is to be modified for all channels of an NCU, $P_UBFR and $P_BFRAME must be
written simultaneously. The other channels must then activate the corresponding frame, e.g.,
with G54.
$P_BFRAME is identical to $P_CHBFRAME[0]. The system variable always has a valid
default value. If there is no channel-specific basic frame, an alarm is issued at read/write:
"Frame: Instruction not allowed" is output on a read or write access.
Programming basic frames
Basic frames can be read and written via the part program and via the OPI by operator
actions and by the PLC. However, only data management frames can be written by the OPI.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 759
10.5.5.4 NCU global basic frames $P_NCBFR[n]
The number of global basic frames can be configured via the machine data:
MD18602 $MN_MM_NUM_GLOBAL_BASE_FRAMES (number of global, basic frames
(SRAM))
There are a maximum of 16 global basic frames. All basic frames are stored as fields.
System variable $P_NCBFR[n] can be used to read and write the basic frame field elements.
While writing a basic frame field element, the chained total frame is not activated. Instead,
the activation takes place only after a G500,G54..G599instruction is executed. If the modified
frame is to be active in every channel of the NCU, every channel must execute a
G500,G54..G599instruction. The variable is used primarily for storing write operations to the
basic frame on HMI or PLC. These frame variables are saved by the data backup.
Current NCU global basic frames $P_NCBFRAME[n]
System variable $P_NCBFRAME[n] can be used to read and write the current global basic
frame field elements. The resulting total basic frame is calculated by means of the write
process in the channel. The modified frame is activated only in the channel in which the
frame was programmed. If the frame is to be modified for all channels of an NCU,
$P_NCBFR[n] and $P_NCBFRAME[n] must be written simultaneously. The other channels
must then activate the frame, e.g., with G54. Whenever a basic frame is written, the complete
basic frame is calculated again.
Programming global frames
Global frames are programmed analogously, as are channel-specific frames, i.e., global
basic frames are programmed with $P_NCBFR[n] and global settable frames with
$P_UIFR[n].
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
760 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Geometry axis, channel axis and machine axis identifiers can be used as axis identifiers for
frame program commands. If there is no machine axis for the channel axis on the NCU,
programming with channel axis identifiers is rejected with the alarm 18314 "Frame: Type
conflict". Channel-specific frames can be programmed with geometry axis, channel axis and
machine axis identifiers. If there is no corresponding channel axis for the machine axis on
the NCU, programming with machine axis identifiers is rejected with the alarm 18314
"Frame: Type conflict". If frame components are applied to a machine axis or a channel axis,
which is also a geometry axis, the corresponding geometry axis components will also be
simultaneously modified.
Example:
$P_NCBFR[0] = CTRANS( ax1, 10 )
$P_NCBFR[0] = CTRANS(x, 10)
$P_NCBFR[0, ax1, FI ] = 0.1
$P_NCBFR[0, x, FI] = 0.1
Rotations cannot be used on global frames. The programming of a rotation is denied with
alarm: "18310 Channel %1 Block %2 Frame: rotation not allowed" is displayed.
It is not possible to program chaining of global frames and channel-specific frames, and any
attempt at this is rejected with the alarm 18314 "Frame: Type conflict". All global frames and
channel-specific frames are internally chained to the complete frame. This takes place in the
channel and only with all channel axes known in the channel. The assignment of a frame
with rotation components to a global frame is denied with alarm "Frame: Rotation not
allowed".
Example:
$P_NCBFR[0] = CTRANS( x, 10 ):CROT( y, 45 ) ; Faulty assignment on the global basic
frame
The following frames are channel-specific:
$P_UBFR, $P_BFRAME, $P_CHBFR[n],
$P_CHBFRAME[n], $P_NCBFRAME[n],
$P_ACTBFRAME and $P_ACTFRAME
These frames can contain rotation components.
These frames only affect the channel that has been set.
With SW 5.1, attempts to program a channel axis, which is also a link axis, is rejected with
alarm "14092 Channel %1 block %2 axis %3 is wrong axis type". An axis can be
programmed only if it physically exists on the NCU.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 761
10.5.5.5 Complete basic frame $P_ACTBFRAME
The chained complete basic frame is determined by the variable. The variable is read-only.
$P_CHBFRAME[0]
$P_CHBFRAME[n]
$P_NCBFRAME[n]
$P_NCBFRAME[0]
$P_ACTBFRAME
$P_ACTBFRAME
corresponds to
$P_NCBFRAME[0] : ... : $P_NCBFRAME[n] : $P_CHBFRAME[0] : ... : $P_CHBFRAME[n].
Programmability of the complete basic frame
System variables $P_CHBFRMASK and $P_NCBFRMASK can be used to select, which
basic frames to include in the calculation of the "complete" basic frame. The variables can
only be programmed in the program and read via the operator panel interface. The value of
the variables is interpreted as a bit mask and specifies, which basic frame array element of
$P_ACTBFRAME is included in the calculation. $P_CHBFRMASK can be used to define,
which channel-specific basic frames are included, and $P_NCBFRMASK can be used to
define, which NCU global basic frames are included in the calculation. When the variables
are programmed, the complete basic frame and the complete frame are calculated again.
After RESET and in the default setting, the value of $P_CHBFRMASK equals
$MC_CHBFRAME_RESET_MASK and the value of $P_NCBFRMASK equals
$MN_NCBFRAME_RESET_MASK.
$P_NCBFRMASK = 'H81' ; $P_NCBFRAME[0] : $P_NCBFRAME[7]
$P_CHBFRMASK = 'H11' ; $P_CHBFRAME[0] : $P_CHBFRAME[4]
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
762 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
10.5.5.6 Programmable frame $P_PFRAME
Programmable frames are available only as active frames.
This frame is reserved for the programmer.
The programmable frame can be maintained with the machine data:
MD24010 $MC_PFRAME_RESET_MODE = 1 ("Reset mode for programmable frame")
during RESET.
This functionality is important, most of all if after a RESET one still wants to retract out of an
oblique hole.
MIRROR
Mirrorings of a geometry axis were thus far (up to SW-P4) related to a defined reference axis
only using the machine data:
MD10610 $MN_MIRROR_REF_AX ("reference axis for the mirroring").
From the user's point of view, this definition is hard to follow. When mirroring the z axis, the
display showed that the x axis was mirrored and the y axis had been rotated about 180
degrees. When mirroring two axes this became even more complex and it was no longer
easy to understand, which axes had been mirrored and, which had not.
With SW P5 and higher, there is the option to clearly display the mirroring of an axis. A
mirroring is then not mapped to the mirroring of a reference axis and rotation of other axes.
This setting can be configured through the machine data setting:
MD10610 $MN_MIRROR_REF_AX = 0.
MIRROR and AMIRROR are used to expand the programming of the programmable frame.
Previously, the specified value of the coordinate axis, e.g., the value 0 for MIRROR X0, is not
evaluated, but the AMIRROR has a toggle function, i.e., MIRROR X0 activates the mirror and a
further AMIRROR X0 deactivates it. MIRROR always has an absolute effect and AMIRROR an
additive effect.
The
MD10612 $MN_MIRROR_TOGGLE = 0 ("Mirror Toggle")
machine data setting can be used to define that the programmed values are evaluated.
A value of 0, as inAMIRROR X0, deactivates the mirroring of the axis, and values not equal to 0
cause the axis to be mirrored if it is not already mirrored.
It is possible to read or write mirrors component by component independent of machine data
MD10612 $MN_MIRROR_TOGGLE.
A value = 0 means that the axis is not mirrored and a value = 1 means that the axis will
always be mirrored, irrespective of whether it has already been mirrored or not.
$P_NCBFR[0,x,mi] = 1 ; x axis is always mirrored.
$P_NCBFR[0,x,mi] = 0 ; x axis mirror is OFF.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 763
Axial replacement G58, G59
The translation component of the programmable frame is split into an absolute component
and a component for the total of all additively programmed translations. The absolute
component can be changed using TRANS, CTRANS or by writing the translation components, in
which the additive component is set to zero. G58 changes only the absolute translation
component for the specified axis; the total of additively programmed translations is retained.
G58 X... Y... Z... A... ...
G59 is used for axial overwriting of the additively programmed translations for the specified
axes, which were programmed with ATRANS.
G59 X... Y... Z... A... ...
Example:
TRANS X10 Y10 Z10
ATRANS X5 Y5 ; Total translations X15 Y15 Z10
G58 X20 ; Total translations X25 Y15 Z10
G59 X10 Y10 ; Total translations X30 Y20 Z10
G58 and G59 can be used only if machine data:
MD24000 $MC_FRAME_ADD_COMPONENTS ("Frame components for G58 / G59")
is TRUE, otherwise Alarm "18311 Channel %1 Block %2 Frame: instruction not permissible"
is output.
The function can also only be used in conjunction with a configured fine offset for the
programmable frame. If G58 or G59 is used without a configured fine offset, alarm "18312
channel %1 block %2 frame: Fine offset not configured" is output.
The absolute component of the translation is stored in the rough offset component and the
additive translation component is stored in the fine offset component. To this end, the
programmable frame or the fine offset is expanded.
Rough or absolute
Translation
Fine or additive
Translation
Translation
The fine component is transferred on saving the programmable frame in a local frame
variable (LUD or GUD) and on rewriting.
The table below shows the effect of various program commands on the absolute and
additive translation.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
764 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Coarse or absolute translation Fine or additive translation
TRANS X10
10 0
ATRANS X10
Unchanged alt_fine + 10
CTRANS(X,10)
10 0
CTRANS()
0 0
CFINE(X,10)
0 10
$P_PFRAME[X,TR] = 10
10 Unchanged
$P_PFRAME[X,FI] = 10
Unchanged 10
G58 X10
10 Unchanged
G59 X10
Unchanged 10
10.5.5.7 Channel-specific system frames
Channel-specific system frames
System frames are only described by system functions, such as PRESET, scratching, zero
offset external and oblique processing. There are up to seven system frames per channel.
The valid system frames in the channel can be defined via machine data:
MD28082 $MC_MM_SYSTEM_FRAME_MASK (System frames SRAM)
Only system frames required for system functions should be configured, in the interests of
memory space. Per channel, each system frame occupies approx. 1 KB SRAM and approx.
6 KB DRAM. The system frame for PRESET and scratching and the system frame for cycles
are the default. Channel-specific system frames are configured as bit codes, in accordance
with the table below:
Bit Default System frame
0 1 PRESET and scratching
1 0 Zero offset external via system frames
2 0 TCARR and PAROT with an orientational toolholder
3 0 TOROT and TOFRAME
4 0 Frame for workpiece reference points
5 1 Frame for cycles
6 0 Frame for selection and deselection of transformations
7 0 $P_ISO1FRAME : Frame for G51.1 mirroring (ISO)
8 0 $P_ISO2FRAME : Frame for G68 2DROT (ISO)
9 0 $P_ISO3FRAME : Frame for G68 3DROT (ISO)
10 0 $P_ISO4FRAME: Frame for G51 scale (ISO)
11 0 $P_RELFR: Frame for relative coordinate systems
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 765
Example:
$MC_MM_SYSTEM_FRAME_MASK = 'B001101' means that
there are three system frames; one for PRESET, one for PAROT and one for TOROT and
TOFRAME.
The system frame mask is used to define if the corresponding function has a system frame.
With non-configured frames, in certain circumstances the function will be rejected with an
alarm.
System frames in data management
The system frames are stored in the static NC memory and can, therefore, be archived and
reloaded. System frames in data management can be read and written in the program using
the following variables:
System variables Significance
$P_SETFR System frame for PRESET and scratching (SetFrame)
$P_EXTFR System frame for zero offset external (ExtFrame)
$P_PARTFR System frame for TCARR and PAROT (PartFrame)
$P_TOOLFR System frame for TOROT and TOFRAME (ToolFrame)
$P_WPFR System frame for workpiece reference points (Work-Piece-Frame)
$P_CYCFR System frame for cycles (Cycle-Frame)
$P_TRAFRAME System frame for transformations (Transformation Frame)
$P_ISO1FR Frame for G51.1 mirroring (ISO)
$P_ISO2FR Frame for G68 2DROT (ISO)
$P_ISO3FR Frame for G68 3DROT (ISO)
$P_ISO4FR System frame for G51 scale (ISO)
$P_RELFR System frame for relative coordinate systems
All write operations to these frames must be executed using system functions. For cycle
programmers, it has been made possible to write the frames using the above variables.
Attempts to write to a non-configured system frame are rejected with the alarm "Channel %1
block %2 name %3 not defined or option not available".
System frames in the data management are either activated directly with the system function
(TOROT, PAROT, etc.), or with a G500, G54 to G599 instruction.
Active system frames
The active system frames are the frames, which are active in the main run. An appropriate
current system frame exists for each current system frame in the data management. Only
with the activation of the data management frame are the values taken into account with
regard to the preprocessing.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
766 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The following current system frames exist:
$P_SETFRAME
In the part program, the variable $P_SETFRAME can be used to read and write the
current system frame for PRESET and scratching. The variable returns a zero frame if the
system frame is not configured through MD28082.
$P_EXTFRAME
In the part program, the variable $P_EXTFRAME can be used to read and write the
current system frame for the zero offset external. The variable returns a zero frame if the
system frame is not configured through MD28082.
$P_PARTFRAME
In the part program, the variable $P_PARTFRAME can be used to read and write the
current system frame for TCARR and PAROT for toolholders with orientation capability. The
variable returns a zero frame if the system frame is not configured through MD28082.
$P_TOOLFRAME
In the part program, the variable $P_TOOLFRAME can be used to read and write the
current system frame for TOROT and TOFRAME. The variable returns a zero frame if the
system frame is not configured through MD28082.
$P_WPFRAME
In the part program, the variable $P_WPFRAME can be used to read and write the
current system frame for setting workpiece reference points. The variable returns a zero
frame if the system frame is not configured through MD28082.
$P_CYCFRAME
In the part program, the variable $P_CYCFRAME can be used to read and write the
current system frame for cycles. The variable returns a zero frame if the system frame is
not configured through MD28082.
$P_TRAFRAME
In the part program, the variable $P_TRAFRAME can be used to read and write the
current system frame for transformations. The variable returns a zero frame if the system
frame is not configured through MD28082.
$P_ISO1FRAME, $P_ISO2FRAME, $P_ISO3FRAME, $P_ISO4FRAME
One can read and write the current system frames for special ISO language commands
in the parts program through the variables. The variable returns a zero frame if the
system frame is not configured through MD28082.
$P_RELFRAME
In the part program, the variable $P_RELFRAME can be used to read and write the
current system frame for relative coordinate systems. The variable returns a zero frame if
the system frame is not configured through MD28082.
$P_ACSFRAME
The currently resulting frame that is defined by the ENS-(ACS) coordinate system, can be
read and written through the $P_ACSFRAME variable.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 767
For MD24030 $MC_FRAME_ACS_SET = 0, the frame is calculated as follows:
$P_ACSFRAME = $P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME :
$P_ISO1FRAME : $P_ISO2FRAME : $P_ISO3FRAME :
$P_ACTBFRAME : $P_IFRAME :
$P_TOOLFRAME : $P_WPFRAME
For MD24030 $MC_FRAME_ACS_SET = 1, the frame is calculated as follows:
$P_ACSFRAME = $P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME :
$P_ISO1FRAME : $P_ISO2FRAME : $P_ISO3FRAME :
$P_ACTBFRAME : $P_IFRAME :
$P_TOOLFRAME : $P_WPFRAME : $P_TRAFRAME:
$P_PFRAME : $P_ISO4FRAME
$P_ACTFRAME
The resulting current complete frame $P_ACTFRAME is now a chain of all system
frames, basic frames, the current settable frame and the programmable frame. The
current frame is always updated whenever a frame component is changed.
The current complete frame is calculated according to the formula below:
$P_ACTFRAME = $P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME :
$P_ISO1FRAME : $P_ISO2FRAME : $P_ISO3FRAME :
$P_ACTBFRAME : $P_IFRAME :
$P_TOOLFRAME : $P_WPFRAME : $P_TRAFRAME:
$P_PFRAME : $P_ISO4FRAME : $P_CYCFRAME
10.5.6 Implicit frame changes
10.5.6.1 Frames and switchover of geometry axes
In the channel, the geometry axis configuration can be changed by switching a
transformation on and off and with the GEOAX() command (R3).
Machine data
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE
can be used to configure, for all channels of the system, whether the current complete frame
is calculated again on the basis of the new geometry axes or whether the complete frame is
deleted.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
768 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Four modes can be set via machine data:
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 0
The current complete frame is deleted when geometry axes are switched over, when
transformations are selected and deselected, and on GEOAX().
The modified geometry axis configuration is not used until a new frame is activated.
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 1
The current complete frame is calculated again when the geometry axes are switched
over, and the translations, scales and mirrors of the new geometry axes are effective.
The rotations of the geometry axes, which were programmed before the switchover,
remain effective for the new geometry axes.
The aspects described in the chapter "Frames for selection and deselection of
transformations" are relevant to TRANSMIT, TRACYL and TRAANG.
References:
/FB1/ Function Manual, Basic Functions; Axes, Coordinate System, Frames (K2);
Chapter: Frame for selection and deselection of transformations
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 2
The current complete frame is calculated again when the geometry axes are switched
over, and the translations, scales and mirrors of the new geometry axes are effective. If
rotations are active in the current basic frames, the current settable frame or the
programmable frame before the switchover, it is aborted with the alarm "Frame:
Geometry axis switchover not allowed".
The aspects described in the chapter "Frames for selection and deselection of
transformations" are relevant to TRANSMIT, TRACYL and TRAANG.
References:
/FB1/ Function Manual, Basic Functions; Axes, Coordinate System, Frames (K2);
Chapter: Frame for selection and deselection of transformations
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 3
The current frame is deleted when selecting and deselecting transformations.
With GEOAX(), the current complete frame is calculated again and the translations, scales
and mirrors of the new geometry axes come into effect.
The rotations of the geometry axes, which were programmed before the switchover,
remain effective for the new geometry axes.
The workpiece geometry is described by a coordinate system that is formed by the geometry
axes. A channel axis is assigned to each geometry axis and a machine axis is assigned to
each channel axis. An axial frame exists for each machine axis and for each frame (system
frame, basic frame, settable frame, programmable frame). When a new machine axis is
assigned to a geometry axis, the axial frame components of the machine axis, such as
translations (coarse and fine), scales and mirrors of the appropriate frame, are also applied.
The new geometry in the channel is then generated by the new contour frames resulting
from the new geometry axes (up to three in number).
The current valid frames are calculated again on the geometry axis switchover and a
resulting complete frame is generated. The data management frames are not included
unless they are activated.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 769
Example:
The channel axis is to become a geometry axis x through geo axis substitution. The
substitution is to give the programmable frame a translation component of 10 in the x axis.
The current settable frame is to be retained.
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 1
$P_UIFR[1] = CROT(x,10,y,20,z,30) ; Frame is retained after geo axis
substitution.
G54 ; Settable frame becomes active.
TRANS a10 ; Axial offset of a is also substituted.
GEOAX(1, a) ; a becomes x axis;
$P_ACTFRAME=CROT(x,10,
y,20,z,30):CTRANS(x10).
Several channel axes can become geometry axes on a transformation change.
Example:
Channel axes 4, 5 and 6 become the geometry axes of a 5-axis transformation. The
geometry axes are thus all substituted before the transformation. The current frames are
changed when the transformation is activated. The axial frame components of the channel
axes, which become geometry axes, are taken into account when calculating the new WCS.
Rotations programmed before the transformation are retained. The old WCS is restored
when the transformation is deactivated. The most common application will be that the
geometry axes do not change before and after the transformation and that the frames are to
stay as they were before the transformation.
Machine data:
$MN_FRAME_GEOAX_CHANGE_MODE = 1
$MC_AXCONF_CHANAX_NAME_TAB[0] = "CAX"
$MC_AXCONF_CHANAX_NAME_TAB[1] = "CAY"
$MC_AXCONF_CHANAX_NAME_TAB[2] = "CAZ"
$MC_AXCONF_CHANAX_NAME_TAB[3] = "A"
$MC_AXCONF_CHANAX_NAME_TAB[4] = "B"
$MC_AXCONF_CHANAX_NAME_TAB[5] = "C"
$MC_AXCONF_GEOAX_ASSIGN_TAB[0] = 1
$MC_AXCONF_GEOAX_ASSIGN_TAB[1] = 2
$MC_AXCONF_GEOAX_ASSIGN_TAB[2] = 3
$MC_AXCONF_GEOAX_NAME_TAB[0] = "X"
$MC_AXCONF_GEOAX_NAME_TAB[1]="Y"
$MC_AXCONF_GEOAX_NAME_TAB[2] = "Z"
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
770 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=4
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=5
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2]=6
$MC_TRAFO_AXES_IN_1[0] = 4
$MC_TRAFO_AXES_IN_1[1] = 5
$MC_TRAFO_AXES_IN_1[2] = 6
$MC_TRAFO_AXES_IN_1[3] = 1
$MC_TRAFO_AXES_IN_1[4] = 2
Program:
$P_NCBFRAME[0] = ctrans(x,1,y,2,z,3,a,4,b,5,c,6)
$P_CHBFRAME[0] = ctrans(x,1,y,2,z,3,a,4,b,5,c,6)
$P_IFRAME = ctrans(x,1,y,2,z,3,a,4,b,5,c,6):crot(z,45)
$P_PFRAME = ctrans(x,1,y,2,z,3,a,4,b,5,c,6):crot(x,10,y,20,z,30)
TRAORI ; Geo axis (4,5,6) sets transformer
; $P_NCBFRAME[0] = ctrans(x,4,y,5,z,6,cax,1,cay,2,caz,3)
; $P_ACTBFRAME =ctrans(x,8,y,10,z,12,cax,2,cay,4,caz,6)
; $P_PFRAME =
ctrans(x,4,y,5,z,6,cax,1,cay,2,caz,3):crot(x,10,y,20,z,30)
; $P_IFRAME = ctrans(x,4,y,5,z,6,cax,1,cay,2,caz,3):crot(z,45)
; Geo axis (1,2,3) sets transformation deactivation
; $P_NCBFRAME[0] = ctrans(x,1,y,2,z,3,a,4,b,5,c,6)
; $P_CHBFRAME[0] = ctrans(x,1,y,2,z,3,a,4,b,5,c,6)
; $P_IFRAME = ctrans(x,1,y,2,z,3,a,4,b,5,c,6):crot(z,45)
TRAFOOF
; $P_PFRAME = ctrans(x,1,y,2,z,3,a,4,b,5,c,6):crot(x,10,y,20,z,30)
10.5.6.2 Frame for selection and deselection of transformations
This function is available with NCK 51.00.00 and higher. Transformations TRANSMIT,
TRACYL and TRAANG are supported.
As a rule, the assignment of geometry axes to channel axes changes when selecting and
deselecting transformations. It is not possible to uniquely assign axial frame components to
geometric contour frame components when carrying out transformations, in which rotary
axes become linear axes and vice versa. The contour frame must be conditioned using
special treatment for such non-linear transformations.
The mode, set with MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 1 and 2, is
expanded in such a way as to take the above transformations into account.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 771
When selecting transformations, the contour frame is connected to the axial frames. With
transformations TRANSMIT, TRACYL and TRAANG, the virtual geometry axis is subject to
special treatment.
NOTICE
Transformations with virtual axes
When selecting TRANSMIT or TRACYL, offsets, scaling and mirroring of the real Y axis are
not transferred and accepted in the virtual Y axis. Offsets, scaling and mirroring of the
virtual Y axis are deleted for TRAFOOF.
TRANSMIT
C
y
x
Transmit expansions:
The machine data below can be used to take the axial complete frame of the TRANSMIT
rotary axis, i.e., the translation, fine offset, mirroring and scaling, into account in the
transformation:
MD24905 $MC_TRANSMIT_ROT_AX_FRAME_1 = 1
MD24955 $MC_TRANSMIT_ROT_AX_FRAME_2 = 1
A rotary axis offset can, for example, be entered by compensating the oblique position of a
workpiece in a frame within a frame chain. As a rule, this offset can also be included in the
transformation as an offset in the rotary axis. A c axis offset, as in the figure above, then
leads to corresponding x and y values.
MD24905 $MC_TRANSMIT_ROT_AX_FRAME_1 = 2
MD24955 $MC_TRANSMIT_ROT_AX_FRAME_2 = 2
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
772 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
With this setting, the axial offset of the rotary axis is taken account of in the transformation
up to the SZS. The axial offsets of the rotary axis included in the SZS frames are entered
into the transformation frame as rotation. This setting is only effective if the transformation
frame has been configured.
Frame expansions:
The expansions described below are only valid for the following machine data settings:
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 1
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 2
The selection of transformation TRANSMIT produces a virtual geometry axis, coupled by
way of the rotary axis, which is merely included in the contour frame but does not have a
reference to an axial frame. The geometric value results from the rotation of a rotary axis. All
other geometry axes accept their axial components when the transformation is selected.
Translations:
When selecting TRANSMIT, translations of the virtual axis are deleted. Translations of the
rotary axis can be taken into account in the transformation.
Rotations:
Rotation before the transformation is taken over.
Mirroring:
Mirroring of the virtual axis is deleted. Mirroring of the rotary axis can be taken into account
in the transformation.
Scaling:
Scaling of the virtual axis is deleted. Scaling of the rotary axis can be taken into account in
the transformation.
Example:
Machine data for TRANSMIT
; FRAME configurations
$MC_MM_SYSTEM_FRAME_MASK='H41' ; TRAFRAME, SETFRAME
$MC_CHSFRAME_RESET_MASK='H41' ; Frames are active after Reset.
$MC_CHSFRAME_POWERON_MASK='H41' ; Frames are deleted for Power On.
$MN_FRAME_GEOAX_CHANGE_MODE=1 ; Frames are calculated after switchover
of the geo axis.
$MC_RESET_MODE_MASK='H4041' ; Basic frame is not deselected after
RESET.
;$MC_RESET_MODE_MASK='H41' ; Basic frame is deselected after RESET.
;$MC_GCODE_RESET_VALUES[7]=2 ; G54 is the default setting.
$MC_GCODE_RESET_VALUES[7]=1 ; G500 is the default setting.
$MN_MM_NUM_GLOBAL_USER_FRAMES=0
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 773
$MN_MM_NUM_GLOBAL_BASE_FRAMES=3
$MC_MM_NUM_USER_FRAMES=10 ; from 5 to 100
$MC_MM_NUM_BASE_FRAMES=3 ; from 0 to 8
$MN_NCBFRAME_RESET_MASK='HFF'
$MC_CHBFRAME_RESET_MASK='HFF'
$MN_MIRROR_REF_AX=0 ; No scaling when mirroring.
$MN_MIRROR_TOGGLE=0
$MN_MM_FRAME_FINE_TRANS=1 ; Fine offset
$MC_FRAME_ADD_COMPONENTS=TRUE ; G58, G59 is possible.
; TRANSMIT is 1st transformer
$MC_TRAFO_TYPE_1=256
$MC_TRAFO_AXES_IN_1[0]=1
$MC_TRAFO_AXES_IN_1[1]=6
$MC_TRAFO_AXES_IN_1[2]=3
$MC_TRAFO_AXES_IN_1[3]=0
$MC_TRAFO_AXES_IN_1[4]=0
$MA_ROT_IS_MODULO[AX6]=TRUE;
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=1
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=6
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2]=3
$MC_TRANSMIT_BASE_TOOL_1[0]=0.0
$MC_TRANSMIT_BASE_TOOL_1[1]=0.0
$MC_TRANSMIT_BASE_TOOL_1[2]=0.0
$MC_TRANSMIT_ROT_AX_OFFSET_1=0.0
$MC_TRANSMIT_ROT_SIGN_IS_PLUS_1=TRUE
$MC_TRANSMIT_ROT_AX_FRAME_1=1
; TRANSMIT is 2nd transformer
$MC_TRAFO_TYPE_2=256
$MC_TRAFO_AXES_IN_2[0]=1
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
774 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
$MC_TRAFO_AXES_IN_2[1]=6
$MC_TRAFO_AXES_IN_2[2]=2
$MC_TRAFO_AXES_IN_2[3]=0
$MC_TRAFO_AXES_IN_2[4]=0
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[0]=1
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[1]=6
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[2]=2
$MC_TRANSMIT_BASE_TOOL_2[0]=4.0
$MC_TRANSMIT_BASE_TOOL_2[1]=0.0
$MC_TRANSMIT_BASE_TOOL_2[2]=0.0
$MC_TRANSMIT_ROT_AX_OFFSET_2=19.0
$MC_TRANSMIT_ROT_SIGN_IS_PLUS_2=TRUE
$MC_TRANSMIT_ROT_AX_FRAME_2=1
Part program:
; Frame settings
N820 $P_UIFR[1] = ctrans(x,1,y,2,z,3,c,4)
N830 $P_UIFR[1] = $P_UIFR[1] : crot(x,10,y,20,z,30)
N840 $P_UIFR[1] = $P_UIFR[1] : cmirror(x,c)
N850
N860 $P_CHBFR[0] = ctrans(x,10,y,20,z,30,c,15)
N870
; Tool selection, clamping compensation, plane selection
N890 T2 D1 G54 G17 G90 F5000 G64 SOFT
N900
; Approach start position
N920 G0 X20 Z10
N930
N940 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,C,15)
N950 setal(61000)
N960 endif
N970 if $P_BFRAME <> $P_CHBFR[0]
N980 setal(61000)
N990 endif
N1000 if $P_IFRAME <>
CTRANS(X,1,Y,2,Z,3,C,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1010 setal(61000)
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 775
N1020 endif
N1030 if $P_IFRAME <> $P_UIFR[1]
N1040 setal(61000)
N1050 endif
N1060 if $P_ACTFRAME <>
CTRANS(X,11,Y,22,Z,33,C,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1070 setal(61000)
N1080 endif
N1090
N1100 TRANSMIT(2)
N1110
N1120 if $P_BFRAME <> CTRANS(X,10,Y,0,Z,20,CAZ,30,C,15)
N1130 setal(61000)
N1140 endif
N1180 if $P_IFRAME <>
CTRANS(X,1,Y,0,Z,2,CAZ,3,C,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1190 setal(61000)
N1200 endif
N1240 if $P_ACTFRAME <>
CTRANS(X,11,Y,0,Z,22,CAZ,33,C,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1250 setal(61001)
N1260 endif
N1270
N1280
N1290 $P_UIFR[1,x,tr] = 11
N1300 $P_UIFR[1,y,tr] = 14
N1310
N1320 g54
N1330
; Set frame
N1350 ROT RPL=-45
N1360 ATRANS X-2 Y10
N1370
; Four-edge roughing
N1390 G1 X10 Y-10 G41 OFFN=1; allowance 1 mm
N1400 X-10
N1410 Y10
N1420 X10
N1430 Y-10
N1440
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
776 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
; Tool change
N1460 G0 Z20 G40 OFFN=0
N1470 T3 D1 X15 Y-15
N1480 Z10 G41
N1490
; Four-edge finishing
N1510 G1 X10 Y-10
N1520 X-10
N1530 Y10
N1540 X10
N1550 Y-10
N1560
; Deselect frame
N2950 m30 N1580 Z20 G40
N1590 TRANS
N1600
N1610 if $P_BFRAME <> CTRANS(X,10,Y,0,Z,20,CAZ,30,C,15)
N1620 setal(61000)
N1630 endif
N1640 if $P_BFRAME <> $P_CHBFR[0]
N1650 setal(61000)
N1660 endif
N1670 if $P_IFRAME <>
TRANS(X,11,Y,0,Z,2,CAZ,3,C,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1680 setal(61000)
N1690 endif
N1730 if $P_ACTFRAME <>
TRANS(X,21,Y,0,Z,22,CAZ,33,C,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1740 setal(61001)
N1750 endif
N1760
N1770 TRAFOOF
N1780
N1790 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,C,15)
N1800 setal(61000)
N1810 endif
N1820 if $P_BFRAME <> $P_CHBFR[0]
N1830 setal(61000)
N1840 endif
N1850 if $P_IFRAME <>
TRANS(X,11,Y,2,Z,3,C,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 777
N1860 setal(61000)
N1870 endif
N1880 if $P_IFRAME <> $P_UIFR[1]
N1890 setal(61000)
N1900 endif
N1910 if $P_ACTFRAME <>
TRANS(X,21,Y,22,Z,33,C,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1920 setal(61002)
N1930 endif
N1940
N2010 $P_UIFR[1] = ctrans()
N2011 $P_CHBFR[0] = ctrans()
N2020 $P_UIFR[1] = ctrans(x,1,y,2,z,3,c,0)
N2021 G54
N2021 G0 X20 Y0 Z10 C0
N2030 TRANSMIT(1)
N2040 TRANS x10 y20 z30
N2041 ATRANS y200
N2050 G0 X20 Y0 Z10
N2051 if $P_IFRAME <> CTRANS(X,1,Y,0,Z,3,CAY,2)
N2052 setal(61000)
N2053 endif
N2054 if $P_ACTFRAME <> CTRANS(X,11,Y,20,Z,33,CAY,2):CFINE(Y,200)
N2055 setal(61002)
N2056 endif
N2060 TRAFOOF
N2061 if $P_IFRAME <> $P_UIFR[1]
N2062 setal(61000)
N2063 endif
N2064 if $P_ACTFRAME <> CTRANS(X,11,Y,2,Z,33):CFINE(Y,0)
N2065 setal(61002)
N2066 endif
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
778 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
TRACYL
x
y
C
Diameter d
TRACYL expansions:
The machine data below can be used to take the axial complete frame of the TRACYL rotary
axis, i.e., the translation, fine offset, mirroring and scaling, into account in the transformation:
MD24805 $MC_TRACYL_ROT_AX_FRAME_1 = 1
MD24855 $MC_TRACYL_ROT_AX_FRAME_2 = 1
A rotary axis offset can, for example, be entered by compensating the oblique position of a
workpiece in a frame within a frame chain. As a rule, this offset can also be included in the
transformation as an offset in the rotary axis or as a y offset. A c axis offset, as in the figure
above, then leads to corresponding x and y values.
MD24805 $MC_TRACYL_ROT_AX_FRAME_1 = 2
MD24855 $MC_TRACYL_ROT_AX_FRAME_2 = 2
With this setting, the axial offset of the rotary axis is taken account of in the transformation
up to the SZS. The axial offsets of the rotary axis included in the SZS frames are entered
into the transformation frame as offsets on the peripheral surface. This setting is only
effective if the transformation frame has been configured.
Frame expansions:
The expansions described below are only valid for the following machine data settings:
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 1
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 2
The selection of transformation TRACYL produces a virtual geometry axis on the peripheral
surface, coupled via the rotary axis, which is only taken into account in the contour frame but
does not have a reference to an axial frame. All components of the virtual geometry axis are
deleted. All other geometry axes accept their axial components when the transformation is
selected.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 779
Translations:
When selecting TRACYL, translations of the virtual axis are deleted. Translations of the
rotary axis can be taken into account in the transformation.
Rotations:
Rotation before the transformation is taken over.
Mirroring:
Mirroring of the virtual axis is deleted. Mirroring of the rotary axis can be taken into account
in the transformation.
Scaling:
Scaling of the virtual axis is deleted. Scaling of the rotary axis can be taken into account in
the transformation.
Example:
Machine data for TRACYL:
; FRAME configurations
$MC_MM_SYSTEM_FRAME_MASK = 'H41' ; TRAFRAME, SETFRAME
$MC_CHSFRAME_RESET_MASK = 'H41' ; Frames are active after Reset.
$MC_CHSFRAME_POWERON_MASK = 'H41' ; Frames are deleted for Power On.
$MN_FRAME_GEOAX_CHANGE_MODE = 1 ; Frames are calculated after switchover
of the geo axis.
$MC_RESET_MODE_MASK = 'H4041' ; Basic frame is not deselected after
Reset.
;$MC_RESET_MODE_MASK = 'H41' ; Basic frame is deselected after Reset.
;$MC_GCODE_RESET_VALUES[7] = 2 ; G54 is the default setting.
$MC_GCODE_RESET_VALUES[7] = 1 ; G500 is the default setting.
$MN_MM_NUM_GLOBAL_USER_FRAMES = 0
$MN_MM_NUM_GLOBAL_BASE_FRAMES = 3
$MC_MM_NUM_USER_FRAMES = 10 ; from 5 to 100
$MC_MM_NUM_BASE_FRAMES = 3 ; from 0 to 8
$MN_NCBFRAME_RESET_MASK = 'HFF'
$MC_CHBFRAME_RESET_MASK = 'HFF'
$MN_MIRROR_REF_AX = 0 ; No scaling when mirroring.
$MN_MIRROR_TOGGLE = 0
$MN_MM_FRAME_FINE_TRANS = 1 ; Fine offset
$MC_FRAME_ADD_COMPONENTS = TRUE ; G58, G59 is possible
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
780 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
; TRACYL with groove side offset is 3rd transformer
$MC_TRAFO_TYPE_3 = 513; TRACYL
$MC_TRAFO_AXES_IN_3[0] = 1
$MC_TRAFO_AXES_IN_3[1] = 5
$MC_TRAFO_AXES_IN_3[2] = 3
$MC_TRAFO_AXES_IN_3[3] = 2
$MC_TRAFO_GEOAX_ASSIGN_TAB_3[0] = 1
$MC_TRAFO_GEOAX_ASSIGN_TAB_3[1] = 5
$MC_TRAFO_GEOAX_ASSIGN_TAB_3[2] = 3
$MC_TRACYL_BASE_TOOL_1[0] = 0.0
$MC_TRACYL_BASE_TOOL_1[1] = 0.0
$MC_TRACYL_BASE_TOOL_1[2] = 0.0
$MC_TRACYL_ROT_AX_OFFSET_1 = 0.0
$MC_TRACYL_ROT_SIGN_IS_PLUS_1 = TRUE
$MC_TRACYL_ROT_AX_FRAME_1 = 1
Part program:
;Simple traversing test with groove side offset
N450 G603
N460
; Frame settings
N500 $P_UIFR[1] = ctrans(x,1,y,2,z,3,b,4)
N510 $P_UIFR[1] = $P_UIFR[1] : crot(x,10,y,20,z,30)
N520 $P_UIFR[1] = $P_UIFR[1] : cmirror(x,b)
N530
N540 $P_CHBFR[0] = ctrans(x,10,y,20,z,30,b,15)
N550
N560 G54
N570
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 781
; Continuous-path mode with selected smoothing
N590 G0 x0 y0 z-10 b0 G90 F50000 T1 D1 G19 G641 ADIS=1 ADISPOS=5
N600
N610 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,B,15)
N620 setal(61000)
N630 endif
N640 if $P_BFRAME <> $P_CHBFR[0]
N650 setal(61000)
N660 endif
N670 if $P_IFRAME <>
TRANS(X,1,Y,2,Z,3,B,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N680 setal(61000)
N690 endif
N700 if $P_IFRAME <> $P_UIFR[1]
N710 setal(61000)
N720 endif
N730 if $P_ACTFRAME <>
TRANS(X,11,Y,22,Z,33,B,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N740 setal(61000)
N750 endif
N760
; Transformation ON
N780 TRACYL(40.)
N790
N800 if $P_BFRAME <> CTRANS(X,10,Y,0,Z,30,CAY,20,B,15)
N810 setal(61000)
N820 endif
N830 if $P_CHBFR[0] <> CTRANS(X,10,Y,0,Z,30,CAY,20,B,15)
N840 setal(61000)
N850 endif
N860 if $P_IFRAME <>
TRANS(X,1,Y,0,Z,3,CAY,2,B,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N870 setal(61000)
N880 endif
N890 if $P_UIFR[1] <>
TRANS(X,1,Y,0,Z,3,CAY,2,B,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N900 setal(61000)
N910 endif
N920 if $P_ACTFRAME <>
TRANS(X,11,Y,0,Z,33,CAY,22,B,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N930 setal(61001)
N940 endif
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
782 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
N950
N960 $P_UIFR[1,x,tr] = 11
N970 $P_UIFR[1,y,tr] = 14
N980
N990 g54
N1000
N1010 if $P_BFRAME <> CTRANS(X,10,Y,0,Z,30,CAY,20,B,15)
N1020 setal(61000)
N1030 endif
N1040 if $P_BFRAME <> $P_CHBFR[0]
N1050 setal(61000)
N1060 endif
N1070 if $P_IFRAME <>
TRANS(X,11,Y,0,Z,3,CAY,2,B,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N1080 setal(61000)
N1090 endif
N1100 if $P_IFRAME <> $P_UIFR[1]
N1110 setal(61000)
N1120 endif
N1130 if $P_ACTFRAME <>
TRANS(X,21,Y,0,Z,33,CAY,22,B,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N1140 setal(61001)
N1150 endif
N1160
; Transformation off
N1180 TRAFOOF
N1190
N1200 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,B,15)
N1210 setal(61000)
N1220 endif
N1230 if $P_BFRAME <> $P_CHBFR[0]
N1240 setal(61000)
N1250 endif
N1260 if $P_IFRAME <>
TRANS(X,11,Y,2,Z,3,B,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N1270 setal(61000)
N1280 endif
N1290 if $P_IFRAME <> $P_UIFR[1]
N1300 setal(61000)
N1310 endif
N1320 if $P_ACTFRAME <>
TRANS(X,21,Y,22,Z,33,B,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N1330 setal(61002)
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 783
N1340 endif
N1350
N1360 G00 x0 y0 z0 G90
N1370
N1380 m30
TRAANG
z
x
Frame expansions:
The expansions described below are only valid for the following machine data settings:
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 1
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 2
Translations:
When selecting TRAANG, translations of the virtual axis are deleted.
Rotations:
Rotation before the transformation is taken over.
Mirroring:
Mirrorings of the virtual axis are taken over.
Scaling:
Scalings of the virtual axis are taken over.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
784 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Example:
Machine data for TRAANG:
; FRAME configurations
$MC_MM_SYSTEM_FRAME_MASK = 'H1' ; SETFRAME
$MC_CHSFRAME_RESET_MASK = 'H41' ; Frames are active after RESET.
$MC_CHSFRAME_POWERON_MASK = 'H41' ; Frames are deleted for "Power On".
$MN_FRAME_GEOAX_CHANGE_MODE = 1 ; Frames are calculated after switchover
of the geo axis.
$MC_RESET_MODE_MASK = 'H4041' ; Basic frame is not deselected after
RESET.
;$MC_RESET_MODE_MASK = 'H41' ; Basic frame is deselected after RESET.
;$MC_GCODE_RESET_VALUES[7] = 2 ; G54 is the default setting.
$MC_GCODE_RESET_VALUES[7] = 1 ; G500 is the default setting.
$MN_MM_NUM_GLOBAL_USER_FRAMES = 0
$MN_MM_NUM_GLOBAL_BASE_FRAMES = 3
$MC_MM_NUM_USER_FRAMES = 10 ; from 5 to 100
$MC_MM_NUM_BASE_FRAMES = 3 ; from 0 to 8
$MN_NCBFRAME_RESET_MASK = 'HFF'
$MC_CHBFRAME_RESET_MASK = 'HFF'
$MN_MIRROR_REF_AX = 0 ; No scaling when mirroring.
$MN_MIRROR_TOGGLE = 0
$MN_MM_FRAME_FINE_TRANS = 1 ; Fine offset
$MC_FRAME_ADD_COMPONENTS = TRUE ; G58, G59 is possible.
; TRAANG is 1st transformer
$MC_TRAFO_TYPE_1 = 1024
$MC_TRAFO_AXES_IN_1[0] = 4 ; Inclined axis
$MC_TRAFO_AXES_IN_1[1] = 3 ; Axis is parallel to z
$MC_TRAFO_AXES_IN_1[2] = 2
$MC_TRAFO_AXES_IN_1[3] = 0
$MC_TRAFO_AXES_IN_1[4] = 0
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=4
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 785
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=2
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2] = 3
$MC_TRAANG_ANGLE_1 = 85.
$MC_TRAANG_PARALLEL_VELO_RES_1 = 0.
$MC_TRAANG_PARALLEL_ACCEL_RES_1 = 0.
$MC_TRAANG_BASE_TOOL_1[0] = 0.0
$MC_TRAANG_BASE_TOOL_1[1] = 0.0
$MC_TRAANG_BASE_TOOL_1[2] = 0.0
; TRAANG is 2nd transformer
$MC_TRAFO_TYPE_2 = 1024
$MC_TRAFO_AXES_IN_2[0] = 4
$MC_TRAFO_AXES_IN_2[1] = 3
$MC_TRAFO_AXES_IN_2[2] = 0
$MC_TRAFO_AXES_IN_2[3] = 0
$MC_TRAFO_AXES_IN_2[4] = 0
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[0] = 4
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[1] = 0
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[2] = 3
$MC_TRAANG_ANGLE_2 = -85.
$MC_TRAANG_PARALLEL_VELO_RES_2 = 0.2
$MC_TRAANG_PARALLEL_ACCEL_RES_2 = 0.2
$MC_TRAANG_BASE_TOOL_2[0] = 0.0
$MC_TRAANG_BASE_TOOL_2[1] = 0.0
$MC_TRAANG_BASE_TOOL_2[2] = 0.0
Part program:
; Frame settings
N820 $P_UIFR[1] = ctrans(x,1,y,2,z,3,b,4,c,5)
N830 $P_UIFR[1] = $P_UIFR[1] : crot(x,10,y,20,z,30)
N840 $P_UIFR[1] = $P_UIFR[1] : cmirror(x,c)
N850
N860 $P_CHBFR[0] = ctrans(x,10,y,20,z,30,b,40,c,15)
N870
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
786 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
; Tool selection, clamping compensation, plane selection
N890 T2 D1 G54 G17 G90 F5000 G64 SOFT
N900
; Approach start position
N920 G0 X20 Z10
N930
N940 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,B,40,C,15)
N950 setal(61000)
N960 endif
N970 if $P_BFRAME <> $P_CHBFR[0]
N980 setal(61000)
N990 endif
N1000 if $P_IFRAME <>
TRANS(X,1,Y,2,Z,3,B,4,C,5):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1010 setal(61000)
N1020 endif
N1030 if $P_IFRAME <> $P_UIFR[1]
N1040 setal(61000)
N1050 endif
N1060 if $P_ACTFRAME <>
TRANS(X,11,Y,22,Z,33,B,44,C,20):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1070 setal(61000)
N1080 endif
N1090
N1100 TRAANG(,1)
N1110
N1120 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,CAX,10,B,40,C,15)
N1130 setal(61000)
N1140 endif
N1150 if $P_BFRAME <> $P_CHBFR[0]
N1160 setal(61000)
N1170 endif
N1180 if $P_IFRAME <>
CTRANS(X,1,Y,2,Z,3,CAX,1,B,4,C,5):CROT(X,10,Y,20,Z,30):CMIRROR(X,CAX,C)
N1190 setal(61000)
N1200 endif
N1210 if $P_IFRAME <> $P_UIFR[1]
N1220 setal(61000)
N1230 endif
N1240 if $P_ACTFRAME <>
TRANS(X,11,Y,22,Z,33,CAX,11,B,44,C,20):CROT(X,10,Y,20,Z,30):CMIRROR(X,CAX,C)
N1250 setal(61001)
N1260 endif
N1270
N1280
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 787
N1290 $P_UIFR[1,x,tr] = 11
N1300 $P_UIFR[1,y,tr] = 14
N1310
N1320 g54
N1330
; Set frame
N1350 ROT RPL=-45
N1360 ATRANS X-2 Y10
N1370
; Four-edge roughing
N1390 G1 X10 Y-10 G41 OFFN=1; allowance 1 mm
N1400 X-10
N1410 Y10
N1420 X10
N1430 Y-10
N1440
; Tool change
N1460 G0 Z20 G40 OFFN=0
N1470 T3 D1 X15 Y-15
N1480 Z10 G41
N1490
; Four-edge finishing
N1510 G1 X10 Y-10
N1520 X-10
N1530 Y10
N1540 X10
N1550 Y-10
N1560
; Deselect frame
N1580 Z20 G40
N1590 TRANS
N1600
N1610 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,CAX,10,B,40,C,15)
N1620 setal(61000)
N1630 endif
N1640 if $P_BFRAME <> $P_CHBFR[0]
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
788 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
N1650 setal(61000)
N1660 endif
N1670 if $P_IFRAME <>
TRANS(X,11,Y,14,Z,3,CAX,1,B,4,C,5):CROT(X,10,Y,20,Z,30):CMIRROR(X,CAX,C)
N1680 setal(61000)
N1690 endif
N1700 if $P_IFRAME <> $P_UIFR[1]
N1710 setal(61000)
N1720 endif
N1730 if $P_ACTFRAME <>
TRANS(X,21,Y,34,Z,33,CAX,11,B,44,C,20):CROT(X,10,Y,20,Z,30):CMIRROR(X,CAX,C)
N1740 setal(61001)
N1750 endif
N1760
N1770 TRAFOOF
N1780
N1790 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,B,40,C,15)
N1800 setal(61000)
N1810 endif
N1820 if $P_BFRAME <> $P_CHBFR[0]
N1830 setal(61000)
N1840 endif
N1850 if $P_IFRAME <>
TRANS(X,1,Y,14,Z,3,B,4,C,5):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1860 setal(61000)
N1870 endif
N1880 if $P_IFRAME <> $P_UIFR[1]
N1890 setal(61000)
N1900 endif
N1910 if $P_ACTFRAME <>
TRANS(X,11,Y,34,Z,33,B,44,C,20):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1920 setal(61002)
N1930 endif
N1940
N1950 m30
10.5.6.3 Adapting active frames
The geometry axis configuration can change during program execution or on RESET. The
number of available geometry axes can vary from zero to three. With unavailable geometry
axes, components in the active frames (e.g., rotations) can lead to the active frames for this
axis configuration becoming invalid. This is indicated by the alarms below:
Channel %1 block %2 rotation programmed for non-existent geometry axis
This alarm remains present until the frames have been changed accordingly.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 789
The machine data below can be used to switch on the automatic adaptation of active frames,
thus preventing alarm 16440:
MD24040 $MC_FRAME_ADAPT_MODE
Bitmask for adapting the active frames with reference to the axis constellation.
The following settings apply:
Bit 0: Rotations in active frames, which rotate coordinate axes with no geometry
axes, are deleted from the active frames.
Bit 1: Shear angles in the active frames are orthogonalized.
Bit 2: Scalings of all geometry axes in the active frames are set to value 1.
With machine data setting
MD24040 $MC_FRAME_ADAPT_MODE = 1,
all rotations in the active frames, which could produce coordinate axis movements for non-
existent geometry axes, are deleted.
The data management frames are not changed. Only the possible rotations are applied
when the data management frames are activated.
Example:
No y axis exists:
MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[0] = 1
MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[1] = 0
MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[2] = 3
$P_UIFR[1] = crot(x,45,y,45,z,45)
N390 G54 G0 X10 z10 f10000
if $P_IFRAME <> crot(y,45) ; Only the rotation about y is taken over.
setal(61000)
endif
10.5.6.4 Mapped frames
Overview
The "Mapped frames" function supports the cross-channel consistent change of axial
frames, which are performed in channel-specific or global data management frames.
For instance, if the frame mapping is active for machine axes AX1 and AX4, and the axial
frame for AX1 is written in the data management in the channel-specific basic frame
$P_CHBFR[0], then this frame data is also accepted for AX4 in all channels in which the axis
is parameterized as channel axis.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
790 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Preconditions
The following preconditions must be fulfilled for frame mapping:
The data management frames relevant for mapping must be configured:
MD28083 $MC_MM_SYSTEM_DATAFRAME_MASK (system frames)
The relevant channel-specific data management frames must be enabled for mapping:
MD10616 $MN_MAPPED_FRAME_MASK (enable frame mapping)
Note
Mapping is always performed for global data management frames. They do not have to
be explicitly enabled for this purpose.
Parameter assignment
The parameterization of the mapping relationships is realized in the axis-specific machine
data:
MD32075 $MA_MAPPED_FRAME[<AXn>] = "AXm"
AXn, AXm: Machine axis identifier with n, m = 1, 2, ... max. number of machine axes
Mapping rules
The following rules apply for frame mapping:
The mapping is bidirectional.
An axial frame can be written for AXn or AXm. The frame data are always accepted and
taken for the other axis.
All parameterized mapping relationships are always evaluated.
When writing an axial frame of axes AXn, all mapping relationships are evaluated and the
frame data accepted for all directly and indirectly involved axes.
The mapping is global across all channels.
When writing an axial frame of axis AXn or AXm for a channel-specific frame, the frame
data are accepted for all channels in which AXn or AXm are parameterized as channel
axes.
Circular relationships are not permissible.
The mapping relationships must not be parameterized so that when writing an axial frame
of axes AXn in an NC channel, two axes are simultaneously changed.
K2: Axis types, coordinate systems, frames
10.5 Frames
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 791
When writing an axial frame, if the geometry or special axis identifier is used, the currently
assigned machine axis identifier is used to evaluate the mapping relationships.
Mapping is frame-specific.
When writing an axial frame, the frame data is only mapped within the same channel-
specific or global data management frame.
NOTICE
Data consistency
The user/machine manufacturer is solely responsible for ensuring that after a frame is
written, consistent frame data is subsequently used in all channels - e.g. by using
channel synchronization.
Permissible mapping
Description Parameter assignment: $MA_
p
e
r
i
p
h
e
r
a
l
s
p
e
e
d
m
a
x
s
p
e
e
d
m
a
x
t
o
o
l
c
l
e
a
r
a
n
c
e
a
n
g
l
e
d
i
s
c
r
a
d
i
u
s
m
i
n
d
i
s
c
w
i
d
t
h
m
i
n
/
a
c
t
.
a
n
g
l
e
g
r
a
d
i
e
n
t
d
i
s
c
g
e
o
m
e
t
r
y
-
l
e
n
g
t
h
1
g
e
o
m
e
t
r
y
-
r
a
d
i
u
s
1
l
e
n
g
t
h
2
s
l
o
t
w
i
d
t
h
/
-
r
a
d
i
u
s
2
p
r
o
j
e
c
t
i
o
n
/
-
l
e
n
g
t
h
4
/
5
l
e
n
g
t
h
3
Milling tools and drilling tools (all others)
Milling tools according to CLDATA*
1
ball end mill
end mill
end mill with corner rounding
angle head cutter
angle head cutter with corner rounding
face mill
thread mill
side mill
truncated cone mill
twist drill
solid bit
drilling rod
center drill
countersink
piloted counterbore
tap drill regular thread
tap drill fine thread
tap drill Whitworth thread
reamer
grinding tools and turning tools (400 - 599)
peripheral grinding wheel
peripheral grinding wheel with monitoring
as 401 but without base measurement for SUG*
2
face plate
face plate with monitoring
as 411 but without base measurement for SUG*
2
dresser
roughing tool
smoothing tool
recessing tool
cutting-off tool
threading tool
special tools (700)
slotting saw
tool position data according to DlN 66215,
grinding wheel peripheral speed
CLDATA*
1
"cutter Location Data"
Bl 1SUG*
2
compensation by NCK
tool parameter $TC_DP
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x x x x x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
100
110
120
121
131
140
145
150
155
200
205
210
220
230
231
240
241
242
250
400
401
403
410
411
413
490
500
510
520
530
540
700
1
5
/
1
6
1
2
/
1
3
/
1
4
8
/
9
7
6
5
4
3
2
1
2
4
2
1
/
2
2
/
2
3
130
T
P
G
3
T
P
G
4
/
5
T
P
G
6
T
P
G
7
T
P
G
8
x
x
x
x
x x
x x
x x
x x
x x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x x x x
x
x
x
x
x
x
x
x
x
x
x
W1: Tool offset
18.4 Tool cutting edge
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1481
Note
The tool type has no significance in the turning tool groups.
Non-listed numbers are also permitted, in particular with grinding tools (400-499).
Tool offset data
Tool offset data (TOA data) is stored in the system variables.
Example: Slotting saw tool type (Type 700)
Geometry Wear Base Unit
Length compensation
Length 1 $TC_DP3 $TC_DP12 $TC_DP21 mm
Length 2 $TC_DP4 $TC_DP13 $TC_DP22 mm
Length 3 $TC_DP5 $TC_DP14 $TC_DP23 mm
Saw blade compensation
Diameter d $TC_DP6 $TC_DP15 mm
Slot width b $TC_DP7 $TC_DP16 mm
Projection k $TC_DP8 $TC_DP17 mm
W1: Tool offset
18.4 Tool cutting edge
Basic Functions
1482 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Tool adapter (reference
point)
b/2-k = L2
d/2 = L1
L2
b
k
L1
d
Figure 18-3 Geometry of slotting saw (analogous to angle head cutter)
The width of the saw blade is accounted for with tool radius compensation (G40 to G42 as
follows:
Command Significance
G40
No saw blade compensation
G41
Saw blade compensation left
G42
Saw blade compensation right
W1: Tool offset
18.4 Tool cutting edge
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1483
18.4.3 Tool parameter 2: Cutting edge position
Description
The cutting edge position describes the position of the tool tip P in relation to the cutting
edge center point S. It is entered in tool parameter 2.
The cutting edge position is required together with the cutting edge radius (tool parameter 8)
for the calculation of the tool radius compensation for turning tools (tool type 5xx).
F
Z
X
R
P
S
F: Tool holder reference point
R: Cutting edge radius (tool radius)
S: Cutting edge center point
P: Tool tip
L
e
n
g
t
h
1
Length 2
Figure 18-4 Dimensions for turning tools: Turning tool
Cutting edge position parameter values
P2 = 1 P2 = 4 P2 = 5 P2 = 2 P2 = 3 P2 = 6 P2 = 7
P = S
P2 = 9 P2 = 8
+X
+Z
P
S
Figure 18-5 Tool parameter 2 (P2): Machining behind the turning center
W1: Tool offset
18.4 Tool cutting edge
Basic Functions
1484 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
P2 = 1 P2 = 4 P2 = 5 P2 = 2 P2 = 3 P2 = 6 P2 = 7
P = S
P2 = 9 P2 = 8
+X
+Z
P
S
Figure 18-6 Tool parameter 2 (P2): Machining in front of the turning center
+X
+Z
P2 = 1 P2 = 4
P2 = 5
P2 = 2 P2 = 3
P2 = 6 P2 = 7
P = S
P2 = 9
P2 = 8
P
S
+X
+Z
+X
+Z
+X
+Z
+X
+Z
Figure 18-7 Tool parameter 2 (P2): Cutting edge position for vertical boring and turning mills
Special points to be noted
If the cutting edge center point S is used instead of point P as a reference point to
calculate the tool length compensation, the identifier 9 must be entered for the cutting
edge position.
The identifier 0 (zero) is not permitted as a cutting edge position.
18.4.4 Tool parameters 3 - 5: Geometry - tool lengths
Description
The lengths of the tools are required for the geometry tool length compensation. They are
input as tool lengths 1 to 3 in the tool parameters 3 to 5. The following length specifications
must be entered as a minimum for each tool type:
Tool type Required tool lengths
Tool type 12x, 140, 145, 150: Tool length 1
Tool type 13x: Tool length 1 to 3 (depending on plane G17-G19)
W1: Tool offset
18.4 Tool cutting edge
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1485
Tool type Required tool lengths
Tool type 2xx: Tool length 1
Tool type 5xx: Tool length 1 to 3
Example: Twist drill (tool type 200) with tool length (tool parameter 3)
F
Length 1 (tool parameter 3)
F = tool holder reference point
Note
All three tool parameters 3 to 5 (tool length 1 to 3) are always calculated in the three
geometry axes, irrespective of the tool type.
If more tool lengths are input in the tool parameters 3 to 5 for a tool type than is required as
the minimum, then these extra tool lengths are settled in the geometry axes without any
alarm.
Special points to be noted
The active size of the tool is only defined when the geometry tool length compensation (tool
parameters 3 to 5) and the wear tool length compensation (tool parameters 12 to 14) are
added together. The base-dimension/adapter-dimension tool length compensation is also
added in order to calculate the total tool length compensation in the geometry axes.
References
For information about entering tool dimensions (lengths) in tool parameters 3 to 5 (tool
lengths 1 to 3) and how these are calculated in the three geometry axes, please refer to
Operating Manual.
W1: Tool offset
18.4 Tool cutting edge
Basic Functions
1486 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.4.5 Tool parameters 6 - 11: Geometry - tool shape
Description
The shape of the tool is defined with the help of tool parameters 6 to 11. The data is required
for the geometry tool radius compensation.
In most cases, only tool parameter 6 (tool radius 1) is used.
Tool parameter Description Application
6 Tool length 1 Not used
7 Tool length 2 Not used
The tool radius must be entered for the following tool types
in tool parameter 6 (tool radius 1):
Tool type 1xx Milling tools
Tool type 5xx Turning tools
8 Tool radius 1
A tool radius does not have to be entered for drilling tools
(tool type 2xx).
The cutting edge position (tool parameter 2) also has to be
entered for turning tools (tool type 5xx).
9 Tool radius 2 Not used
10 Tool angle 1 Not used
11 Tool angle 2 Not used
2D TRC with contour tools
For the definition of contour tools with multiple tool cutting edges, the minimum and
maximum limit angle can be entered. Both limit angles each relate to the vector of the cutting
edge center point to the cutting edge reference point and are counted clockwise.
Tool angle 1 Minimum limit angle per tool cutting edge
Tool angle 2 Maximum limit angle per tool cutting edge
W1: Tool offset
18.4 Tool cutting edge
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1487
3D-face milling
All the tool parameters 6 to 11 are required for tool description of 3D-face milling.
d
h
b
e
a
r
f
(h ... tool length)
Tool P6 :f ... length 1
Tool P7 :e ... length 2
Tool P8 :d/2... radius 1
Tool P9 :r ... radius 2
Tool P10 :a... angle 1
Tool P11 :b... angle 2
References
Please refer to the following documentation for information about entering tool shapes
(radius for tool radius compensation) in tool parameters 6 to 11 and how these are
calculated by geometry tool radius compensation in the three geometry axes:
Programming Manual Fundamentals; Chapter: "Tool compensations" > "2 D-tool
compensation"
Function Manual - Special Functions; 3D-tool radius compensation (W5)
For 3D-face milling, please refer to:
Programming Manual, Job Planning; Chapter: "Transformations" > "Three, Four and Five
axis Transformation (TRAORI)"
18.4.6 Tool parameters 12 - 14: Wear - tool lengths
Description
While geometry tool length compensation (tool parameters 3 to 5) is used to define the size
of the tool, wear tool length compensation can be used to correct the change in the active
tool size.
The active tool dimensions can change due to:
Differences between the tool fixture on the tool measurement machine and the tool fixture
on the machine tool
Tool wear caused during service life by machining
Definition of the finishing allowances
W1: Tool offset
18.4 Tool cutting edge
Basic Functions
1488 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Active tool size
The geometry tool compensation (tool parameters 3 to 5) and the wear tool length
compensation (tool parameters 12 to 14) are added together (geometry tool length 1 is
added to wear tool length 1, etc.) to arrive at the size of the active tool.
18.4.7 Tool parameters 15 - 20: Wear - tool shape
Description
While geometry tool radius compensation (tool parameters 6 to 11) is used to define the
shape of the tool, wear tool radius compensation can be used to correct the change in the
active tool shape.
The active tool dimensions can change due to:
Tool wear caused during service life by machining
Definition of the finishing allowances
Active tool shape
The geometry tool radius compensation (tool parameters 6 to 11) and the wear tool radius
compensation (tool parameters 15 to 20) are added together (geometry tool radius 1 is
added to wear tool radius 1, etc.) to arrive at the shape of the active tool.
18.4.8 Tool parameters 21 - 23: Tool base dimension/adapter dimension
Description
Tool base dimension/adapter dimension can be used when the reference point of the
toolholder (tool size) differs from the reference point of the toolholder.
W1: Tool offset
18.4 Tool cutting edge
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1489
This is the case when:
The tool and the tool adapter are measured separately but are installed on the machine in
one unit (the tool size and adapter size are entered separately in a cutting edge).
The tool is used in a second tool fixture located in another position (e.g. vertical and
horizontal spindle).
The tool fixtures of a tool turret are located at different positions.
Length 2
Length 1
Turning center
Length 2
Length 1
F: Toolholder reference points
F': Toolholder reference points
Tool base
dimension
length 2
Tool base
dimension
length 1
Length 2
Radius
Milling machine Turning machine
Tool base
dimension
length 1
Tool base
dimension
length 2
X
Z
Y
F
Z
X
F'
F
F'
F
Figure 18-8 Application examples for base-dimension/adapter-dimension TLC
Tool basic length 1 to 3 (tool parameters 21 to 23)
In order that the discrepancy between the toolholder reference point F and the toolholder
reference point F' can be corrected on the three geometry axes (three dimensional), all 3
basic lengths are active irrespective of the tool type. In other words, a twist drill (tool type
200) with a tool length compensation (length 1) can also have a tool base dimension/adapter
dimension in 3 axes.
References
Please refer to the following documentation for more information about base-
dimension/adapter-dimension tool length compensation:
Programming Manual, Fundamentals
W1: Tool offset
18.4 Tool cutting edge
Basic Functions
1490 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.4.9 Tool parameter 24: Undercut angle
Meaning
Certain turning cycles, in which traversing motions with tool clearance are generated,
monitor the tool clearance angle of the active tool for possible contour violations.
Value range
The angle (0 to 90 with no leading sign) is entered in tool parameter 24 as the tool
clearance angle.
1st contour to be machined
is not violated
2nd contour to be machined
could be violated
Tool clearance
angle
Tool clearance
angle
X
Z
Figure 18-9 Tool clearance angle of the turning tool during relief cutting
Machining type, longitudinal or transverse
The tool clearance angle is entered in different ways according to the type of machining
(longitudinal or face). If a tool is to be used for both longitudinal and face machining, two
cutting edges must be entered for different tool clearance angles.
Tool clearance
angle for
longitudinal
machining
Tool clearance
angle for
face machining
X
Z
Figure 18-10 Tool clearance angle for longitudinal and face machining
W1: Tool offset
18.4 Tool cutting edge
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1491
Note
If a tool clearance angle (tool parameter 24) of zero is entered, relief cutting is not monitored
in the turning cycles.
References
Please refer to the following documentation for a detailed description of the tool clearance
angle:
Programming Manual Cycles
18.4.10 Tools with a relevant tool point direction
The following must be observed for tools with relevant cutting edge position:
The straight line between the tool edge center points at the block start and block end is
used to calculate intersection points with the approach and retraction block. The
difference between the tool edge reference point and the tool edge center point is
superimposed on this movement.
For approach and/or retraction with KONT, the movement is superimposed in the linear
subblock of the approach or retraction movement. Therefore, the geometric conditions for
tools with or without relevant cutting edge position are identical.
In circle blocks and in motion blocks containing rational polynomials with a denominator
degree > 4, it is not permitted to change a tool with active tool radius compensation in
cases where the distance between the tool edge center point and the tool edge reference
point changes. With other types of interpolation, it is now possible to change when a
transformation is active (e.g. TRANSMIT).
For tool radius compensation with variable tool orientation, the transformation from the
tool edge reference point to the tool edge center point can no longer be performed by
means of a simple zero offset. Tools with a relevant cutting edge position are therefore
not permitted for 3D peripheral milling (an alarm is output).
Note
The subject is irrelevant with respect to face milling as only defined tool types without
relevant cutting edge position are permitted for this operation anyway. (A tool with a type,
which has not been explicitly approved, is treated as a ball end mill with the specified
radius. A cutting edge position parameter is ignored).
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1492 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.5 Tool radius compensation 2D (TRC)
18.5.1 General
Note
For tool radius compensation (WRK) see:
References:
/PG/ Programming Manual Fundamentals
Only the Programming Manual contains a complete technical description of the tool radius
compensation (TRC) and its special aspects.
Why TRC?
The contour (geometry) of the workpiece programmed in the part program should be
independent of the tools used in production. This makes it necessary to draw the values for
the tool length and tool radius from a current offset memory. Tool radius compensation can
be used to calculate the equidistant path to the programmed contour from the current tool
radius.
Tool
Path of the tool center point
at equal distance to the
contour (equidistant path)
Workpiece
contour
Figure 18-11 Workpiece contour (geometry) with equidistant path
TRC on the plane
TRC is active on the current plane (G17 to G19) for the following types of interpolation:
Linear interpolation ...
G0,G1
Circular interpolation ...
G2, G3, CIP
Helical interpolation ...
G2,G3
Spline interpolation ...
ASPLINE, BSPLINE, CSPLINE
Polynomial interpolation ...
POLY
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1493
18.5.2 Selecting the TRC (G41/G42)
Direction of compensation
TRC calculates a path, which is equidistant to the programmed contour. Compensation can
be performed on the left- or right-hand side of the programmed contour in the direction of
motion.
Command Significance
G41
TRC on the left-hand side of the contour in the direction of motion
G42
TRC on the right-hand side of the contour in the direction of motion
G40
Deselection of TRC
Intermediate blocks
In general, only program blocks with positions on geometry axes in the current plane are
programmed when TRC is active. However, dummy blocks can still also be programmed
with active TRC. Dummy blocks are program blocks, which do not contain any positions on a
geometry axis in the current plane:
Positions on the infeed axis
Auxiliary functions,
etc.
The maximum number of dummy blocks can be defined in the machine data:
MD20250 $MC_CUTCOM_MAXNUM_DUMMY_BLOCKS (Max no. of dummy blocks with no
traversing movements for TRC).
Special points to be noted
TRC can only be selected in a program block with G0 (rapid traverse) or G1 (linear
interpolation).
A tool must be loaded (T function) and the tool cutting edge (tool compensation) (D1 to D9)
activated no later than in the program block with the tool radius compensation selection.
Tool radius compensation is not selected with a tool cutting edge/tool compensation of D0.
If only one geometry axis is programmed on the plane when tool radius compensation is
selected, the second axis is automatically added on the plane (last programmed position).
If no geometry axis is programmed for the current plane in the block with the tool radius
compensation selection, no selection takes place.
If tool radius compensation is deselected (G40) in the block following tool radius
compensation selection, no selection takes place.
If tool radius compensation is selected, the approach behavior is determined by the
NORM/KONT instructions.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1494 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.5.3 Approach and retraction behavior (NORM/KONT/KONTC/KONTT)
NORM and KONT
The NORM and KONT instructions can be used to control approach behavior (selection of tool
radius compensation with G41/42) and retraction behavior (deselection of tool radius
compensation with G40):
Command Significance
NORM
Normal setting at start point/end point (initial setting)
KONT
Follow contour at start point/end point
KONTC
Approach/retraction with constant curvature
KONTT
Approach/retraction with constant tangent
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1495
Special points to be noted
KONT only differs from NORM when the tool start position is behind the contour.
P1
R = Tool radius
G42-corrected
P0
Contour = straight line
Behind
contour
ln front of
contour
P1'
G42
P0
P1"
G42
P0
R R
R
Contour OK
Example of selecting TRC with NORM
behind the contour
Example of selecting TRC with KONT
behind the contour and G451
Contour violation
P1'
P1
P1
P1'
Figure 18-12 Example for selecting TRC with KONT or NORM in front of and behind the contour
KONT and G450/G451 (corner behavior at outer corners) has a general effect and determines
the approach and retraction behavior with TRC.
When tool radius compensation is deselected, the retraction behavior is determined by
the NORM/KONT instructions.
Supplementary conditions
The approach and retraction blocks are polynomials in the following two variants. Therefore,
they are only available for control variants, which support polynomial interpolation.
KONTT
With KONTT, approach and retraction to/from the contour is with a constant tangent. The
curvature at the block transition is not usually constant.
KONTC
With KONTC, not only the tangent but also the curvature is constant at the transition, with
the result that a jump in acceleration can no longer occur on activation/deactivation.
Although KONTC includes the KONTT property, the constant tangent version KONTT is available
on its own, because the constant curvature required by KONTC can produce undesired
contours.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1496 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Axes
The continuity condition is observed in all three axes. It is thus possible to program a
simultaneous path component perpendicular to the compensation plane for
approach/retraction.
Only linear blocks are permitted for the original approach and retraction blocks with
KONTT/KONTC. These programmed linear blocks are replaced in the control by the
corresponding polynomial curves.
Exception
KONTT and KONTC are not available in 3D variants of tool radius compensation (CUT3DC,
CUT3DCC, CUT3DF).
If they are programmed, the control switches internally to NORM without an error message.
Example for KONTC
The two figures below show a typical application for approach and retraction with constant
curvature:
The full circle is approached beginning at the circle center point. The direction and curvature
radius of the approach circle at the block end point are identical to the values of the next
circle. Infeed takes place in the Z direction in both approach/retraction blocks
simultaneously.
The associated NC program segment is as follows:
$TC_DP1[1,1]=121 ; Milling tool
$TC_DP6 [1,1]=10 ; Radius 10 mm
N10 G1 X0 Y0 Z60 G64 T1 D1 F10000
N20 G41 KONTC X70 Y0 Z0
N30 G2 I-70 ; Full circle
N40 G40 G1 X0 Y0 Z60
N50 M30
Explanation:
In this example, a full circle with a radius of 70 mm is machined in the X/Y plane. Since the
tool has a radius of 10 mm, the resulting tool center point path describes a circle with a
radius of 60 mm. The start/end points are at X0 Y0 Z60, with the result that a movement
takes place in the Z direction at the same time as the approach/retraction movement in the
compensation plane.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1497
-60 -40 -20 0 20 40 60
-60
-40
-20
0
20
40
60
N20
N30
N40
Figure 18-13 Approach and retraction with constant curvature during inside machining of a full circle:
Projection in the X-Y plane.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1498 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
-50
0
-50
0
50
0
20
40
60
50
Figure 18-14 Approach and retraction with constant curvature during inside machining of a full circle:
3D representation.
KONTT and KONTC compared
The figure below shows the differences in approach/retraction behavior between KONTT and
KONTC. A circle with a radius of 20 mm about the center point at X0 Y-40 is compensated with
a tool with an external radius of 20 mm. The tool center point therefore moves along a
circular path with radius 40 mm. The end point of the approach blocks is at X40 Y30. The
transition between the circular block and the retraction block is at the zero point. Due to the
extended continuity of curvature associated with KONTC, the retraction block first executes a
movement with a negative Y component. This will often be undesired. This response does
not occur with the KONTT retraction block. However, with this block, an acceleration step
change occurs at the block transition.
If the KONTT or KONTC block is the approach block rather than the retraction block, the contour
is exactly the same, but is simply machined in the opposite direction, i.e. the approach and
retraction behavior are symmetrical.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1499
-40 -20 0 20 40
-40
-30
-20
-10
0
10
20
30
KONTT
KONTC
Figure 18-15 Differences between KONTT and KONTC
Note
The figure shows that a straight line bordering on the contour quadrant, e.g. to X20 Y-20,
would be violated with KONTC on retraction/approach to X0, Y0.
18.5.4 Smooth approach and retraction
18.5.4.1 Function
Description
The SAR (Smooth Approach and Retraction) function is used to achieve a tangential
approach to the start point of a contour, regardless of the position of the start point.
The approach behavior can be varied and adapted to special needs using a range of
additional parameters.
The two functions, smooth approach and smooth retraction, are largely symmetrical. The
following section is, therefore, restricted to a detailed description of approach; special
reference is made to differences affecting retraction.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1500 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Sub-movements
There are maximum 4 sub-movements in case of soft retraction and approach with the
following positions:
Start point of the movement P0
Intermediate points P1, P2 and P3
End point P4
Points P0, P3 and P4 are always defined. Intermediate points P1 and P2 can be omitted,
according to the parameters defined and the geometrical conditions.
On retraction, the points are traversed in the reverse direction, i.e. starting at P4 and ending
at P0.
18.5.4.2 Parameters
The response of the smooth approach and retraction function is determined by up to 9
parameters:
Non-modal G code for defining the approach and retraction contour
This G code cannot be omitted.
G147: Approach with a straight line
G148: Retraction with a straight line
G247: Approach with a quadrant
G248: Retraction with a quadrant
G347: Approach with a semicircle
G348: Retraction with a semicircle
P3 when approaching
with a straight line
(G147)
P3 when approaching
with a quadrant
(G247)
P3 when approaching
with a semicircle
(G347)
Tool-center-point
path
Tool center path Tool center path
Tool Tool
Contour Contour Contour
Tool
P0 P0
DlSR
P4
DlSR
P4
DlSR
P4
P0
Figure 18-16 Approach behavior depending on G147 to G347 and DISR (with simultaneous activation of
tool radius compensation)
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1501
Modal G code for defining the approach and retraction contour
This G code is only relevant if the approach contour is a quadrant or semicircle. The
approach and retraction direction can be determined as follows:
G140:
Defining the approach and retraction direction using active tool radius compensation.
((G140 is the initial setting.)
With positive tool radius:
G41 active approach from left
G42 active approach from right
If no tool radius compensation is active (G40), the response is identical to G143. In this
case, an alarm is not output. If the radius of the active tool is 0, the approach and
retraction side is determined as if the tool radius were positive.
G141:
Approach contour from left, or retract to the left.
G142:
Approach contour from right, or retract to the right.
G143:
Automatic determination of the approach direction, i.e., the contour is approached from
the side where the start point is located, relative to the tangent at the start point of the
following block (P4).
Note
The tangent at the end point of the preceding block is used accordingly on retraction. If
the end point is not programmed explicitly on retraction, i.e., if it is to be determined
implicitly, G143 is not permitted on retraction, since there is a mutual dependency between
the approach side and the position of the end point. If G143 is programmed in this case, an
alarm is output. The same applies if, when G140 is active, an automatic switchover to G143
takes place as a result of an inactive tool radius compensation.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1502 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Modal G code (G340, G341), which defines the subdivision of the movement into individual blocks
from the start point to the end point
Straight line
or circle
lnfeed movement
Straight line,
circle or helix
Machining plane
G340 G341
P0 P1 P0 P1
DlSCL DlSCL
P2,P3 P2
P3 P4 P4
Figure 18-17 Sequence of the approach movement depending on G340/G341
G340: The approach characteristic from P0 to P4 is shown in the figure.
If G247 or G347 is active (quadrant or semicircle) and start point P3 is outside the
machining plane defined by the end point P4, a helix is inserted instead of a circle.
Point P2 is not defined or coincides with P3.
The circle plane or the helix axis is determined by the plane, which is active in the
SAR block (G17 - G19), i.e., the projection of the start tangent is used by the
following block, instead of the tangent itself, to define the circle.
The movement from point P0 to point P3 takes place along two straight lines at the
velocity valid before the SAR block.
G341: The approach characteristic from P0 to P4 is shown in the figure.
P3 and P4 are located within the machining plane, with the result that a circle is
always inserted instead of a helix with G247 or G347.
Note
Active, rotating frames are included in all cases where the position of the active plane G17 -
G19 (circle plane, helix axis, infeed movements perpendicular to the active plane) is relevant.
DISR
DISRSpecifies the length of a straight approach line or the radius of an approach arc.
Retraction/approach with straight lines
On approach/retraction along a straight line, DISR specifies the distance from the cutter edge
to the start point of the contour, i.e., the length of the straight line with active TRC is
calculated as the total of the tool radius and the programmed value of DISR.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1503
An alarm is displayed:
If DISR is negative and the amount is greater than the tool radius (the length of the
resulting approach line is less than or equal to zero).
Retraction/approach with circles
Approach/retraction with circles DISR indicates always the radius of the tool center point
path. If tool radius compensation is activated, a circle is generated internally, the radius of
which is dimensioned such that the tool center path is derived, in this case also, from the
programmed radius.
An alarm is output on approach and retraction with circles:
If the radius of the circle generated internally is zero or negative
If DISR is not programmed
If the radius value 0.
DISCL
DISCLspecifies the distance from point P2 from the machining plane.
If the position of point P2 is to be specified by an absolute reference on the axis
perpendicular to the circle plane, the value must be programmed in the form DISCL = AC
( ....).
If DISCL is not programmed, points P1, P2 and P3 are identical with G340 and the approach
contour is mapped from P1 to P4.
The system checks that the point defined by DISCL lies between P1 and P3, i.e., in all
movements, which have a component perpendicular to the machining plane (e.g., infeed
movements, approach movements from P3 to P4), this component must have the same
leading sign. It is not permitted to change direction. An alarm is output if this condition is
violated.
On detection of a direction reversal, a tolerance is permitted that is defined by the machine
data:
MD20204 $MC_WAB_CLEARANCE_TOLERANCE (direction reversal on SAR).
However, if P2 is outside the range defined by P1 and P3 and the deviation is less than or
equal to this tolerance, it is assumed that P2 is in the plane defined by P1 and/or P3.
Example:
An approach is made with G17 starting at position Z=20 of point P1. The SAR plane defined
by P3 is at Z=0. The point defined by DISCL must, therefore, lie between these two points.
MD20204=0.010. If P2 is between 20.000 and 20.010 or between 0 and -0.010, it is assumed
that the value 20.0 or 0.0 is programmed. The alarm is output if the Z position of P2 is greater
than 20.010 or less than -0.010.
Depending on the relative position of start point P0 and end point P4 with reference to the
machining plane, the infeed movements are performed in the negative (normal for approach)
or positive (normal for retraction) direction, i.e., with G17 it is possible for the Z component of
end point P4 to be greater than that of start point P0.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1504 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Programming the end point P
4
(or P
0
for retraction) generally with X... Y... Z...
Possible ways of programming the end point P4for approach
End point P4 can be programmed in the actual SAR block.
P4 can be determined by the end point of the next traversing block.
Further blocks (dummy blocks) can be inserted between the SAR block and the next
traversing block without moving the geometry axes.
The end point is deemed to have been programmed in the actual SAR block for approach if
at least one geometry axis is programmed on the machining plane (X or Y with G17). If only
the position of the axis perpendicular to the machining plane (Z with G17) is programmed in
the SAR block, this component is taken from the SAR block, but the position in the plane is
taken from the following block. In this case, an alarm is output if the axis perpendicular to the
machining plane is also programmed in the following block.
Example:
Contour
Machining up to this
point with G0, then with
G1 F1000
z=0
Z=3
Z=30
DlSR=13
-10
X
50 40 30 20 10
0
P4
Y
$TC_DP1[1,1]=120 ; Milling tool T1/D1
$TC_DP6[1,1]=7 ; Tool with 7 mm radius
N10 G90 G0 X0 Y0 Z30 D1 T1
N20 X10
N30 G41 G147 DISCL=3 DISR=13 Z=0 F1000
N40 G1 X40 Y-10
N50 G1 X50
...
...
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1505
N30/N40 can be replaced by:
N30 G41 G147 DISCL=3 DISR=13 X40 Y-10 Z0 F1000
or:
N30 G41 G147 DISCL=3 DISR=13 F1000
N40 G1 X40 Y-10 Z0
Possible ways of programming the end point P0for retraction
The end position is always taken from the SAR block, no matter how many axes have been
programmed. We distinguish between the following situations:
1. No geometry axis is programmed in the SAR block.
In this case, the contour ends at point P2 (or at point P1, if P1 and P2 coincide). The
position in the axes, which describe the machining plane, is determined by the retraction
contour (end point of the straight line or arc). The axis component perpendicular to this is
defined by DISCL. If, in this case, DISCL = 0, the movement takes place completely within
the plane.
2. Only the axis perpendicular to the machining plane is programmed in the SAR block.
In this case, the contour ends at point P1. The position of the two other axes is
determined in the same way as in 1.
SAR block
(G248 G40 ....)
Tool center path
Tool
Contour (preceding block)
Following block (without offset)
P0
P1
P4
Retraction with SAR with simultaneous deactivation of TRC
If the SAR retraction block is also used to deactivate tool radius compensation, in the
case of 1. and 2., an additional path from P1 to P0 is inserted such that no movement is
produced when tool radius compensation is deactivated at the end of the retraction
contour, i.e., this point defines the tool center point and not a position on a contour to be
corrected.
3. At least one axis of the machining plane is programmed.
The second axis of the machining plane can be determined modally from its last position
in the preceding block. The position of the axis perpendicular to the machining plane is
generated as described in 1. or 2., depending on whether this axis is programmed or not.
The position generated in this way defines the end point P0.
No special measures are required for deselection of tool radius compensation, because
the programmed point P0 already directly defines the position of the tool center point at
the end of the complete contour.
The start and end points of the SAR contour (P0 and P4) can coincide on approach and
retraction.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1506 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Velocity of the preceding block (typically G0)
All movements from point P0 to point P2 are performed at this velocity, i.e., the movement
parallel to the machining plane and the part of the infeed movement up to the safety
clearance.
Programming the feedrate with FAD
FAD programmed with ...
G340
Feedrate from P2 or P3 to P4.
G341
Feedrate of the infeed movement perpendicular to the machining
plane from P2 to P3.
If FAD is not programmed, this part of the contour is traversed at the velocity, which is active
modally from the preceding block, in the event that no F command defining the velocity is
programmed in the SAR block.
Programmed response:
FAD=0 or negative Alarm output
FAD=...
Programmed value acts in accordance with the active G code
of group 15 (feed type; G93, G94, etc.)
FAD=PM(...)
Programmed value is interpreted as linear feed (like G94),
irrespective of the active G code of group 15
FAD=PR(...)
Programmed value is interpreted as revolutional feed (like
G95), irrespective of the active G code of group 15
Example:
P4
60
F2000 F2000
F500
G0
X
X
50 40
P3
P2
P1 P0
5
G0
20
10
Z
0
Y
-10
20 10
0
30
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1507
$TC_DP1[1,1]=120 ;Milling tool T1/D1
$TC_DP6[1,1]=7 ;Tool with 7mm radius
N10 G90 G0 X0 Y0 Z20 D1 T1
N20 G41 G341 G247 DISCL=AC(5) DISR=13FAD 500 X40 Y-10 Z=0 F2000
N30 X50
N40 X60
...
Programming feed F
This feed value is effective from point P3 (or from point P2, if FAD is not programmed). If no F
command is programmed in the SAR block, the speed of the preceding block is valid. The
velocity defined by FAD is not used for following blocks.
18.5.4.3 Velocities
Velocities at approach
In both approach diagrams below, it is assumed that no new velocity is programmed in the
block following the SAR block. If this is not the case, the new velocity comes into effect after
point P4.
No velocity programmed
Only F programmed
Only FAD programmed
F and FAD programmed
Velocity of preceding block (old F command)
lnfeed velocity programmed with FAD
New modal velocity programmed with F
Rapid traverse if G0 is active, otherwise with the old or new F command
P4
P2, P3 P1 P0
Figure 18-18 Velocities in the SAR subblocks on approach with G340
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1508 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
No velocity programmed
Only F programmed
Only FAD programmed
F and FAD programmed
Velocity of preceding block (old F command)
lnfeed velocity programmed with FAD
New modal velocity programmed with F
Rapid traverse if G0 is active, otherwise with the old or new F command
P4 P2 P3 P1 P0
Figure 18-19 Velocities in the SAR subblocks on approach with G341
Velocities at retraction
During retraction, the rolls of the modally active feedrate from the previous block and the
programmed feedrate value in the SAR block are interchanged, i.e., the actual retraction
contour (straight line, circle, helix) is traversed with the old feedrate value and a new velocity
programmed with the F word applies from point P2 up to P0.
If even retraction is active and FAD is programmed, the path from P3 to P2 is traversed with
FAD, otherwise it is traversed with the old velocity. The last F command programmed in a
preceding block always applies for the path from P4 to P2. G0 has no effect in these blocks.
Traversing from P2 to P0 takes place with the F command programmed in the SAR block or,
if no F command is programmed, with the modal F command from a preceding block. This
applies on the condition that G0 is not active.
If rapid traverse is to be used on retraction in the blocks from P2 to P0, G0 must be activated
before the SAR block or in the SAR block itself. If an additional F command is programmed
in the actual SAR blocks, it is then ineffective. However, it remains modally active for
following blocks.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1509
No velocity programmed
Only F programmed
Only FAD programmed
F and FAD programmed
Velocity of preceding block (old F command)
Retraction velocity programmed with FAD
New modal velocity programmed with F
Rapid traverse if G0 is active, otherwise with the old or new F command
P0 P1 P2 P3 P4
Figure 18-20 Velocities in the SAR subblocks on retraction
18.5.4.4 System variables
Points P3 and P4 can be read in the WCS as system variables during approach.
$P_APR: Read P3 (start point) in WCS
$P_AEP: Read P4 (contour start point) in WCS
=1 If the content of $P_APR and $P_AEP is valid, i.e., if these contain the
position values belonging to the last SAR approach block programmed.
$P_APDV
=0 The positions of an older SAR approach block are read.
Changing the WCS between the SAR block and the read operation has no effect on the
position values.
18.5.4.5 Supplementary conditions
Supplementary conditions
Any further NC commands (e.g., auxiliary function outputs, synchronous axis movements,
positioning axis movements, etc.) can be programmed in a SAR block.
These are executed in the first subblock on approach and in the last subblock on
retraction.
If the end point P4 is taken not from the SAR block but from a subsequent traversing
block, the actual SAR contour (straight line, quadrant or semicircle) is traversed in this
block.
The last subblock of the original SAR block does not then contain traversing information
for geometry axes. It is always output, however, because further actions (e.g., single
axes) may have to be executed in this block.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1510 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
At least two blocks must always be taken into consideration:
The SAR block itself
The block, which defines the approach or retraction direction
Further blocks can be programmed between these two blocks.
The number of possible dummy blocks is limited with the machine data:
MD20202 $MC_WAB_MAXNUM_DUMMY_BLOCKS (Maximum number of blocks with no
traversing motions with SAR).
If tool radius compensation is activated simultaneously in an approach block, the first
linear block of the SAR contour is the block, in which activation takes place.
The complete contour generated by the SAR function is treated by tool radius
compensation as if it has been programmed explicitly (collision detection, calculation of
intersection, approach behavior NORM/KONT).
The direction of the infeed movement and the position of the circle plane or the helix axis
are defined exclusively by the active plane (G17 - G19) - rotated with an active frame where
appropriate.
On approach, a preprocessor stop must not be inserted between the SAR block and the
following block, which defines the direction of the tangent.
Whether programmed explicitly or inserted automatically by the controller, a preprocessor
stop results, in this case, in an alarm.
Response with REPOS
If an SAR cycle is interrupted and repositioned, it resumes at the point of interruption on RMI.
With RME, the contact point is the end point of the last SAR block; with RMB, it is the start point
of the first SAR block.
If RMI is programmed together with DISPR (reapproach at distance DISPR in front of interruption
point), the reapproach point can appear in a subblock of the SAR cycle before the
interruption subblock.
18.5.4.6 Examples
Example 1
The following conditions must be true:
Smooth approach is activated in block N20
X=40 (end point); Y=0; Z=0
Approach movement performed with quadrant (G247)
Approach direction not programmed, G140 is valid, i.e., because TRC is active (G42) and
compensation value is positive (10), the contour is approached from the right
Approach circle generated internally (SAR contour) has radius 20, so that the radius of
the tool center path is equal to the programmed value DISR=10
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1511
Because of G341, the approach movement takes place with a circle in the plane, resulting
in a start point at (20, -20, 0)
Because DISCL=5, point P2 is at position (20, -20, 5) and, because of Z30, point P1 is in
N10 at (20, -20, 30)
SAR contour
Tool
lnfeed
movement in Z
Tool center path
0
20 40 60 80 100
-20
-40
X
Y
Figure 18-21 Contour example 1
Part program:
$TC_DP1[1,1]=120 ; Tool definition T1/D1
$TC_DP6[1,1]=10 ; Radius
N10 G0 X0 Y0 Z30
N20 G247 G341 G42 NORM D1 T1 Z0 FAD=1000 F=2000 DISCL=5 DISR=10
N30 X40
N40 X100
N50 Y-30
...
Example 2
The following conditions must be true for approach:
Smooth approach is activated in block N20
Approach movement performed with quadrant (G247)
Approach direction not programmed, G140 is valid, i.e., because TRC is active (G41), the
contour is approached from the left
Contour offset OFFN=5 (N10)
Current tool radius=10, and so the effective compensation radius for TRC=15; the radius
of the SAR contour is thus equal to 25, with the result that the radius of the tool center
path is equal to DISR=10
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1512 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The end point of the circle is obtained from N30, since only the Z position is programmed
in N20
Infeed movement
From Z20 to Z7 (DISCL=AC(7)) with rapid traverse
Then on to Z0 with FAD=200
Approach circle in X-Y-plane and following blocks with F1500
(In order that this velocity becomes effective in the following blocks, the active G-code
G0 in N30 must be overwritten with G1. Otherwise, the contour would continue to be
machined with G0.)
The following conditions must be true for retraction:
Smooth retraction is activated in block N60
Retraction movement performed with quadrant (G248) and helix (G340)
FAD not programmed, since irrelevant for G340
Z=2 in the start point; Z=8 in the end point, since DISCL=6
When DISR=5, the radius of SAR contour=20; that of the tool center point path=5
After the circle block, the retraction movement leads from Z8 to Z20 and the movement is
parallel to the X-Y plane up to the end point at X70 Y0.
Tool
Tool center path
Contour
Semicircle Helix
P3ret
P0app
P4ret
P4app
P0ret
P3app
50 30
5
20
80 60 40 20
X
Y
Figure 18-22 Contour example 2
Part program:
$TC_DP1[1,1]=120 ; Tool definition T1/D1
$TC_DP6[1,1]=10 ; Radius
N10 G0 X0 Y0 Z20 G64 D1 T1 OFFN = 5 (P0app)
N20 G41 G247 G341 Z0 DISCL = AC(7) DISR = 10 F1500 FAD=200 (P3app)
N30 G1 X30 Y-10 (P4app)
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1513
N40 X40 Z2
N50 X50 (P4ret)
N60 G248 G340 X70 Y0 Z20 DISCL = 6 DISR = 5 G40 F10000 (P3ret)
N70 X80 Y0 (P0ret)
N80 M 30
Note
The contour generated in this way is modified by tool radius compensation, which is
activated in the SAR approach block and deactivated in the SAR retraction block.
The tool radius compensation allows for an effective radius of 15, which is the sum of the
tool radius (10) and the contour offset (5). The resulting radius of the tool center path in the
approach block is therefore 10, and 5 in the retraction block.
18.5.5 Deselecting the TRC (G40)
G40 instruction
TRC is deselected with the G40 instruction.
Special points to be noted
TRC can only be deselected in a program block with G0 (rapid traverse) or G1 (linear
interpolation).
If D0 is programmed when tool radius compensation is active, compensation is not
deselected and error message 10750 is output.
If a geometry axis is programmed in the block with the tool radius compensation
deselection, then the compensation is deselected even if it is not on the current plane.
18.5.6 Compensation at outside corners
G450/G451
The G functions G450/G451 can be used to control the response with discontinuous block
transitions at outside corners:
Command Significance
G450
Discontinuous block transitions with transition circle
G451
Discontinuous block transitions with intersection of equidistant paths
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1514 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Transition circle
(radius = tool radius)
lntersection
P*
Outside corner Outside corner
Programming: G450 transition circle Programming: G451 intersection
Figure 18-23 Example of a 90 degree outside corner with G450 and G451
G450 (transition circle)
With the G function G450 active, on outside corners, the center point of the tool travels a
circular path along the tool radius. The circular path starts with the normal position
(perpendicular to the path tangent) at the end point of the previous path section (program
block) and ends in normal position at the start point of the new path section (program block).
Where outside corners are very flat, the response with G450 (transition circle) and G451
(intersection) becomes increasingly similar refer to very flat outside corners.
If pointed outside corners are desired, the tool must be retracted from the contour ( see
"DISC").
DISC
The G450 transition circle does not produce sharp outside contour corners because the path
of the tool center point through the transition circle is controlled so that the cutting edge
stops at the outside corner (programmed position). When sharp outside corners are to be
machined with G450, the DISC instruction can be used to program an overshoot. Thus, the
transition circle becomes a conic and the tool cutting edge retracts from the outside corner.
The range of values of the DISC instruction is 0 to 100, in increments of 1.
Value Significance
DISC = 0
Overshoot disabled, transition circle active
DISC = 100
Overshoot large enough to theoretically produce a response similar to
intersection (G451).
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1515
The programmable maximum value for DISC can be set via the machine data:
MD20220 $MC_CUTCOM_MAX_DISC (max. value for DISC).
Values greater than 50 are generally not advisable with DISC.
Conic section
Circle
Contour angle
DlSC=0 DlSC=100
DlSC=25
Figure 18-24 Example: Overshoot with DISC= 25
S/R scaled overshoot (with reference to the tool radius)
S traverse overshoot R radius
Contour angle
[degrees]
DlSC=100
S/R
0
0.2
0.4
0.6
0.8
1.0
30 60 90 120 150 180 0
DlSC=
10
20
30
40
50
Figure 18-25 Overshoot with DISC depending on contour angle
G451 (intersection)
If G function G451 is active, the position (intersection) resulting from the path lines (straight
line, circle or helix only) located at a distance of the tool radius to the programmed contour
(center-point path of the tool), is approached. Spines and polynomials are never extended.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1516 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Very pointed outside corners
Where outside corners are very pointed, G451 can result in excessive idle paths. Therefore,
the system switches automatically from G451 (intersection) to G450 (transition circle, with DISC
where appropriate) when outside corners are very pointed.
The threshold angle (contour angle) for this automatic switchover (intersection point
transition circle) can be specified in the machine data:
MD20210 $MC_CUTCOM_CORNER_LIMIT (Max. angle for compensation blocks with tool
radius compensation).
Long idle paths
Contour angle
Figure 18-26 Example of automatic switchover to transition circle
Very flat outside corners
Where outside corners are very flat, the response with G450 (transition circle) and G451
(intersection) becomes increasingly similar. In this case, it is no longer advisable to insert a
transition circle. One reason why it is not permitted to insert a transition circle at these
outside corners with 5-axis machining is that this would impose restrictions on speed in
contouring mode (G64). Therefore, the system switches automatically from G450 (transition
circle, with DISC where appropriate) to G451 (intersection) when outside corners are very flat.
The threshold angle (contour angle) for this automatic switchover (transition circle
intersection point) can be specified in the machine data:
MD20230 $MC_CUTCOM_CURVE_INSERT_LIMIT (Max. angle for intersection calculation
with tool radius compensation).
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1517
Contour angle
Below contour angle
MD20230 $MC_CUTCOM_CURVE_lNSERT_LlMlT
not a transition circle but an intersection.
Figure 18-27 Example of automatic switchover to intersection
18.5.7 Compensation at inside corners
Intersection
If two consecutive blocks form an inside corner, an attempt is made to find a point at which
the two equidistant paths intersect. If an intersection is found, the programmed contour is
shortened to the intersection (first block shortened at end, second block shortened at
beginning).
Shortened
contour
Figure 18-28 Example of a shortened contour
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1518 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
No intersection
In certain cases, no intersection is found between two consecutive blocks for inside corners
(see figure below).
Predictive contour calculation
If no intersection is found between two consecutive blocks, the control automatically checks
the next block and attempts to find an intersection with the equidistant paths of this block
(see figure below: intersection S). This automatic check of the next block (predictive contour
calculation) is always performed until a number of blocks defined via machine data has been
reached.
MD20240 $MC_CUTCOM_MAXNUM_CHECK_BLOCKS (blocks for predictive contour
calculation for TRC).
If no intersection is found within the number of blocks defined for the check, program
execution is interrupted and an alarm is output.
N30
S
N50
N40
Figure 18-29 If there is no intersection between N30 and block N40, the intersection between block N30
and block N50 is calculated.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1519
Multiple intersections
see also "Collision detection"
It can be the case with inside corners that predictive contour calculation finds multiple
intersections of the equidistant paths in several consecutive blocks. In these cases, the last
intersection is always used as the valid intersection:
lntersections
S1 and S2 are
not approached S1 S2
S3
Figure 18-30 Example: Inside corner with TRC without contour violation (predicting 3 blocks)
Special points to be noted
Where multiple intersections with the next block are found, the intersection nearest the start
of the next block applies.
18.5.8 Collision detection and bottleneck detection
Collision detection
Collision detection (bottleneck detection) examines whether the equidistant paths of non-
consecutive blocks intersect. If an intersection is found, the response is the same as for
inside corners with multiple intersections: The last intersection to be found is valid:
The maximum number of blocks used for the predictive check can be entered in the machine
data:
MD20240 $MC_CUTCOM_MAXNUM_CHECK_BLOCKS (blocks for predictive contour
calculation for TRC).
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1520 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Programming
Collision detection can be activated or deactivated in the program:
Command Significance
CDON
Collision detection ON
CDOF
Collision detection OFF
CDOF2
Collision detection OFF
With CDOF, the search for an intersection initially examines two consecutive blocks. Other
blocks are not included in the search. If an intersection is found between adjacent blocks, no
further blocks are examined. With outside corners, an intersection can always be found
between two consecutive blocks.
Predictive examination of more than two adjacent blocks is thus possible with CDON and CDOF.
Note
CDOF2 is only effective for 3D peripheral milling and has the same significance as CDOF for all
other types of machining (e.g. 3D face milling).
Omission of block
If an intersection is detected between two blocks, which are not consecutive, none of the
motions programmed between these blocks on the compensation plane are executed. All
other motions and executable instructions (M commands, traversal of positioning axes, etc.)
contained in the omitted blocks are executed at the intersection position in the sequence, in
which they are programmed in the NC program.
Warning 10763
If a block has been omitted as a result of the collision or bottleneck detection functions,
warning 10763 is output. The program is not interrupted.
This warning is suppressed if bit 1 is enabled in machine data:
MD11410 $MN_SUPPRES_ALARM_MASK (Mask for suppressing special alarm outputs).
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1521
Special points to be noted
When the intersections of non-consecutive blocks are checked, it is not the programmed
original contours that are examined, but the associated calculated equidistant paths. This
can result in a "bottleneck" being falsely detected at outside corners. The reason for this is
that the calculated tool path does not run equidistant to the programmed original contour
when DISC>0.
Offset curve when DlSC > 0
(conic section)
Offset curve when
DlSC = 0 (circle)
Figure 18-31 Bottleneck detection and outside corners
18.5.9 Blocks with variable compensation value
Supplementary conditions
A variable compensation value is permissible for all types of interpolation (including circular
and spine interpolation).
It is also permitted to change the sign (and, therefore, the compensation side).
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1522 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Tool center path
Programmed contour
N10
N20
N30
N40
N50
Figure 18-32 Tool radius compensation with variable compensation value
Calculation of intersection
When the intersections in blocks with variable compensation value are calculated, the
intersection of the offset curves (tool paths) is always calculated based on the assumption
that the compensation value is constant.
If the block with the variable compensation value is the first of the two blocks to be examined
in the direction of travel, then the compensation value at the block end is used for the
calculation; the compensation value at the block start is used otherwise.
Theoretical tool-center-
point path
Compensation D1 at
start of block N20
Compensation D2 at
end of block N20
Programmed contour
Tool center path
N10 N20
N30
D1
D2
Figure 18-33 Intersection calculation with variable compensation value
Restrictions
If during machining on the inside of the circle the compensation radius becomes geater than
the programmed circle radius, then the machining is rejected with the following alarm:
Alarm 10758 "Curvature radius with variable compensation value too small"
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1523
Maintain stability of closed contour
If a radius of two circles is increased slightly, a third block may be necessary in order to
maintain the stability of the closed contour. This is the case if two adjacent blocks, which
represent two possible intersection points for a closed contour, are skipped due to the
compensation.
A stable closed contour can be achieved by choosing the first intersection point instead of
the second.
SD42496 $SC_CUTCOM_CLSD_CONT 0 (response of TRC for closed contour).
In that case, the second intersection point is always reached, even if the block is skipped. A
third block is then not required.
18.5.10 Keep tool radius compensation constant
Description
The "Keep tool radius compensation constant" function is used to suppress tool radius
compensation for a number of blocks, whereby a difference between the programmed and
the actual tool center path traveled set up by tool radius compensation in the previous blocks
is retained as the compensation.
It can be an advantage to use this method when several traversing blocks are required
during line milling in the reversal points, but the contours produced by the tool radius
compensation (follow strategies) are not wanted.
Activation
The "Keep tool radius compensation constant" function is activated with the G code CUTCONON
(CUTter compensation CONstant ON) and deactivated with the G code CUTCONOF (CUTter
compensation CONstant OFF).
CUTCONON and CUTCONOF form a modal G-code group.
The initial setting is CUTCONOF.
The function can be used independently of the type of tool radius compensation (2
1
/2D, 3D
face milling, 3D circumferential milling).
Normal case
Tool radius compensation is normally active before the compensation suppression and is still
active when the compensation suppression is deactivated again.
In the last traversing block before CUTCONON, the offset point in the block end point is
approached. All following blocks, in which compensation suppression is active, are traversed
without compensation. However, they are offset by the vector from the end point of the last
offset block to its offset point. These blocks can have any type of interpolation (linear,
circular, polynomial).
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1524 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The deactivation block of the compensation suppression, i.e. the block that contains
CUTCONOF, is compensated normally. It starts in the offset point of the start point. One linear
block is inserted between the end point of the previous block, i.e. the last programmed
traversing block with active CUTCONON, and this point.
Circular blocks, for which the circle plane is perpendicular to the compensation plane
(vertical circles), are treated as though they had CUTCONON programmed. This implicit
activation of compensation suppression is automatically canceled in the first traversing block
that contains a traversing motion in the compensation plane and is not such a circle. Vertical
circle in this sense can only occur during circumferential milling.
Example:
N10 ; Definition of tool d1
N20 $TC_DP1[1,1] = 110 ; Type
N30 $TC_DP6[1,1]= ; Radius
N40
N50 X0 Y0 Z0 G1 G17 T1 D1 F10000
N60
N70 X20 G42 NORM
N80 X30
N90 Y20
N100 X10 CUTCONON ; Activate compensation suppression
N110 Y30 KONT ; On deactivation of contour suppression,
insert bypass circle, if necessary
N120 X-10 CUTCONOF
N130 Y20 NORM ; No bypass circle on deactivation of TRC
N140 X0 Y0 G40
N150 M30
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1525
Contour without TRC
Contour with TRC
-10
50
Y
X
N140
N130
N120
N110
N100
N90
N80 N70
Figure 18-34 Sample program for contour suppression
Special cases
If tool radius compensation is not active (G40), CUTCONON has no effect. No alarm is
produced. The G code remains active, however.
This is significant if tool radius compensation is to be activated in a later block with G41 or
G42.
It is permissible to change the G code in the 7th G-code group (tool radius compensation;
G40 / G41 / G42) with CUTCONON active. A change to G40 is active immediately.
The offset used for traversing the previous blocks is traveled.
If CUTCONON or CUTCONOF is programmed in a block without traversing in the active
compensation plane, activation is delayed until the next block that has such a traversing
motion.
If CUTCONON is programmed with active tool radius compensation and not canceled before
the end of the program, the traversing blocks are traversed with the last valid
compensation.
The same applies for reprogramming of G41 or G42 in the last traversing block of a
program.
If tool radius compensation is activated with G41 or G42 and CUTCONON is also already
active, activation of compensation is delayed until the next traversing block with CUTCONOF.
When reapproaching the contour with CUTCONOF, the 17th G-code group (approach and
retraction behavior with tool compensation; NORM / KONT) is evaluated, i.e. a bypass circle
is inserted if necessary for KONT. A bypass circle is inserted under the same conditions as
for activation of tool radius compensation with G41 or G42.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1526 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The number of blocks with suppressed tool radius compensation is restricted:
MD20252 $MC_CUTCOM_MAXNUM_SUPPR_BLOCKS (Maximum number of blocks
with compensation suppression).
If it is exceeded, machining is aborted and an error message issued.
The restriction is necessary because the internal block processing in the last block before
CUTCONON must be resumed when repositioning.
The response after reprogramming G41 or G42 when tool radius compensation is already
active is similar to compensation suppression.
The following deviations apply:
Only linear blocks are permissible
A single traversing block that contains G41 or G42 is modified so that it ends at the
offset point of the start point in the following block. Thus it is not necessary to insert a
dummy block. The same applies to the last block in a sequence of traversing blocks
where each contains G41 or G42.
The contour is always reapproached with NORM, independent of the G code of the 17th
group (approach and retraction behavior with tool compensation; NORM / KONT).
If G41 / G42 is programmed several times in consecutive traversing blocks, all blocks are
machined as for CUTCONON, except for the last one.
The type of contour suppression is evaluated only in the first traversing block of a
sequence of consecutive traversing blocks.
If both CUTCONON and G41 or G42 are programmed in the first block, the response to
deactivating contour suppression is determined by CUTCONON.
Changing from G41 to G42 or vice versa makes sense in this case as a means of changing
the compensation side (left or right of the contour) when restarting.
A change of compensation side (G41/G42) can also be programmed in a later block, even if
contour suppression is active.
Collision detection and bottleneck detection is deactivated for all blocks with active
contour suppression.
18.5.11 Alarm behavior
Alarm during preprocessing
If a tool radius compensation alarm is output during preprocessing, main-run machining
stops at the next block end reached, i.e. usually at the end of the block currently being
interpolated (if Look Ahead is active, once the axes have come to a stop).
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1527
Alarms for preprocessing stop and active tool radius compensation
Tool radius compensation generally requires at least one of the following traversing blocks
(even more for bottlenecks) to determine the end point of a block. Since the preprocessing
stop of such a block is not available, traversing continues to the offset point in the last block.
Correspondingly, the offset point in the start point is approached in the first block after a
preprocessing stop.
The contour obtained may deviate considerably from the one that would result without
preprocessing stop. Contour violations in particular are possible. Therefore the following
setting data was introduced:
SD42480 $MC_STOP_CUTCOM_STOPRE (alarm response for TRC and preprocessing
stop).
The response of the tool radius compensation remains unchanged compared to the previous
status, and/or an alarm is output for preprocessing stop during active tool radius
compensation and the program is halted, depending on the value.
The user can acknowledge this alarm and continue the NC program with NC start or abort it
with RESET.
18.5.12 Intersection procedure for polynomials
Function
If two curves with active tool radius compensation form an outside corner, depending on the
G code of the 18th group (corner behavior with tool compensation; G450 / G451) and
regardless of the type of curves involved (straight lines, circles, polynomials):
Either a conic is inserted to bypass the corner
Or
The curves involved are extrapolated to form an intersection.
If no intersection is found with G451 activated, or if the angle formed by the two curves is too
steep, switchover to insert mode is automatic.
The intersection procedure for polynomials is released with the machine data:
MD20256 $MC_CUTCOM_INTERS_POLY_ENABLE (Intersection process possible for
polynomials)
Note
If this machine data is set to inactive, a block (can be very short) is always inserted (even if
transitions are almost tangential). These short blocks always produce unwanted drops in
speed during G64 operation.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1528 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.5.13 G461/G462 Approach/retract strategy expansion
Function
In certain special geometrical situations, extended approach and retraction strategies,
compared with the previous implementation, are required in order to activate or deactivate
tool radius compensation (see figure below).
Note
The following example describes only the situation for deactivation of tool radius
compensation. The response for approach is virtually identical.
Example
G42 D1 T1 ; Tool radius 20 mm
...
G1 X110 Y0
N10 X0
N20 Y10
N30 G40 X50 Y50
Center point path with
Tool radius compensation
Programmed
contour
Tool radius
10
N20
20 50 0 100
N10
N30
Y
X
Figure 18-35 Retraction behavior with G460
The last block with active tool radius compensation (N20) is so short that an intersection no
longer exists between the offset curve and the preceding block (or a previous block) for the
current tool radius. An intersection between the offset curves of the following and preceding
blocks is therefore sought, i.e., between N10 and N30 in this example. The curve used for the
retraction block is not a real offset curve, but a straight line from the offset point at the end of
block N20 to the programmed end point of N30. The intersection is approached if one is found.
The colored area in the figure is not machined, although the tool used would be capable of
this.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1529
G460
With G460, the approach/retraction strategy is the same as before.
G461
If no intersection is possible between the last TRC block and a preceding block, the offset
curve of this block is extended with a circle whose center point lies at the end point of the
uncorrected block and whose radius is equal to the tool radius.
Center point path with
tool radius compensation
Programmed
contour
Auxiliary curve
10
N20
20 50 0 100
N10
N30
Y
X
Figure 18-36 Retraction behavior with G461
The control attempts to cut this circle with one of the preceding blocks. If CDOF is active, the
search is terminated when an intersection is found, i.e., the system does not check for more
intersections with even earlier blocks.
If CDON is active, the search for more intersections continues after the first intersection is
found.
An intersection point, which is found in this way, is the new end point of a preceding block
and the start point of the deactivation block. The inserted circle is used exclusively to
calculate the intersection and does not produce a traversing movement.
Note
If no intersection is found, the following alarm is output:
Alarm "10751 Collision danger"
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
1530 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
G462
If no intersection is possible between the last TRC block and a preceding block, a straight
line is inserted, on retraction with G462 (initial setting), at the end point of the last block with
tool radius compensation (the block is extended by its end tangent).
Center path
(corrected path)
Programmed
contour
Auxiliary curve
10
N20
20 50 0 100
N10
N30
N30
Y
X
Figure 18-37 Retraction behavior with G462
The search for the intersection is then identical to the procedure for G461.
With G462, the corner generated by N10 and N20 in the sample program is not machined to the
full extent actually possible with the tool used. However, this behavior may be necessary if
the part contour (as distinct from the programmed contour), to the left of N20 in the example,
is not permitted to be violated even with y values greater than 10 mm.
If KONT is active (travel round contour at start or end point), behavior will differ according to
whether the end point is in front of or behind the contour.
End point in front of contour
If the end point is located in front of the contour, the retraction behavior is the same as for
NORM. This feature does not change, even if the last contour block with G451 is extended with
a straight line or a circle. Additional circumnavigation strategies to avoid a contour violation
in the vicinity of the contour end point are therefore not required.
W1: Tool offset
18.5 Tool radius compensation 2D (TRC)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1531
End point behind contour
If the end point is behind the contour, a circle or straight line is always inserted depending on
G450/G451. In this case, G460-G462 has no effect.
If, in this situation, the last traversing block has no intersection with a preceding block, an
intersection with the inserted contour element or with the linear section from the end point of
the circumnavigation circle to the programmed end point can result.
If the inserted contour element is a circle (G450), and it intersects with the preceding block,
this is the same as the intersection, which would be produced with NORM and G461. In general,
however, a remaining section of the circle still has to be traversed. An intersection
calculation is no longer required for the linear section of the retraction block.
In the second case (if no intersection is found between the inserted contour element and the
preceding blocks), the intersection between the retraction straight line and a preceding block
is approached.
Therefore, when G461 or G462 is active, behavior deviating from G460 can only arise if NORM is
active or if behavior with KONT is identical to NORM due to the geometrical conditions.
Note
The approach behavior is symmetrical to the retraction behavior.
The approach/retraction behavior is determined by the state of the G command in the
approach/retraction block. The approach behavior can therefore be set independently of the
retraction behavior.
Example:
Program for using G461 during approach:
N10 $TC_DP1[1,1]=120 ; Tool type mill
N20 $TC_DP6[1,1]=10 ; Radius
N30 X0 Y0 F10000 T1 D1
N40 Y20
N50 G42 X50 Y5 G461
N60 Y0 F600
N70 X30
N80 X20 Y-5
N90 X0 Y0 G40
N100 M30
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
1532 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.6 Toolholder with orientation capability
18.6.1 General
Introduction
The orientation of the tool can vary (e.g. due to retooling) for one single class of machine
tools. When the machine is operating, the orientation that has been set is permanent,
however, and cannot be changed during traversing. For this reason, kinematic orientation
transformation (3-, 4- or 5-axis transformations, TRAORI) is neither necessary nor does it
make sense for such machines. However, it is necessary to take account of the changes in
the tool length components caused by changing the orientation, without having to trouble the
user with mathematics involved. The control performs these calculations.
Availability
For SINUMERIK 828D, the "toolholder with orientation capability" function is only available
for the milling versions.
Required data
The following requirements must be met if the control is to take tool compensations into
account for toolholders with orientation capability:
Tool data (geometry, wear, etc.)
Toolholder data (data for the geometry of the toolholder with orientation capability)
Toolholder selection
A toolholder defined in the control must be specified for the "Toolholder with orientation
capability" function. The NC program command below is used for this purpose:
TCARR = m
m: Number of the toolholder
The toolholder has an associated toolholder data block, which describes its geometry.
Activating the toolholder and its block has an immediate effect, i.e. from the next traversing
block onwards.
Assignment tool/toolholder
The tool that was active previously is assigned to the new toolholder.
From the point of view of the control, toolholder number m and tool numbers T can be
combined freely. In the real application, however, certain combinations can be ruled out for
machining or mechanical reasons. The control does not check whether the combinations
make sense.
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1533
Description of the kinematics of the toolholder
The kinematics of the toolholder with orientation capability is described with a total of 33
parameter sets.
The data of the data block can be edited by the user.
Toolholder with orientation capability
Example: Cardan toolholder with two axes for the tool orientation
Variant 1 Variant 2
A'
C
y
z
A' C
x
Figure 18-38 Cardan toolholder with two axes
Processing toolholder data blocks
Two options are available:
Explicit entry in the toolholder data block from the part program
Automatic acceptance of certain values (angles) from a frame
A requirement for this is that TCOFR (Tool Carrier Orientation FRame) is also specified
when the toolholder is selected.
The tool orientation used to calculate the tool length is determined again from the frame
active at this time when a toolholder is changed.
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
1534 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Orientation in Z direction
The G function TOFRAME defines a frame such that the Z direction in this frame is the same as
the current tool orientation.
If no tool carrier or a tool carrier without change in orientation is active, then the Z direction is
in the new frame:
The same as the old Z direction with G17
The same as the old Y direction with G18
The same as the old X direction with G19.
TCOABS for active frame
The absolute toolholder orientation is set using:
TCOABS (Tool Carrier Orientation ABSolute)
The orientation taken into account for the tool length compensation is independent of the
orientation of the active frame.
Only one of the instructions TCOABS or TCOFR can be valid.
Frame change
The user can change the frame following selection of the tool. This does not have any effect
on the tool length compensation components.
Angles in the toolholder data:
The programmed angles of rotation stored in the toolholder data are not affected by the
angle of rotation defined by the frames. When changing from TCOFR to TCOABS, the original
(programmed) angles of rotation in the toolholder data are reactivated.
Tool compensation types
TRC takes account of the current tool orientation when CUT2D or CUT3DFS is active.
All other tool compensation types
These are all the compensation types of G-code group 22, with the exception of CUT3DC and
CUT3DF. The response remains the same with respect to the plane used for compensation.
This is determined independent of the tool orientation from the active frame.
For CUT2DF and CUT3DFF, the compensation plane used for TRC is determined from the frame
independently of the current tool orientation. The active plane (G17/G18/G19) is considered.
CUT3DC and CUT3DF
3D tool compensation for circumferential milling
3D tool compensations for face milling with active 5-axis transformation are not affected by
the "Toolholder with orientation capability" function.
The orientation information is determined by the active kinematic 5-axis transformation.
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1535
Limited toolholder orientation
An alarm is output if an orientation that cannot be reached with the defined toolholder
kinematic is specified by the frame.
The following kinematics cannot achieve any orientation:
If the two rotary axes, which are necessary to define the kinematic, are not perpendicular
to each other and if the tool axis, which defines the tool direction, does not stand
perpendicular to the second rotary axis
or
Fewer than two axes have been defined.
Non-rotary toolholders
The tool orientation used internally is dependent only on the basic orientation of the tool and
the active plane (G17 - G19).
Ambiguities
With two axes, a particular tool orientation defined by the frame can generally be set with two
different rotary angle pairs. Of these two, the control selects the setting with which the rotary
angle is as close as possible to the programmed rotary angle.
Storing angles in the toolholder data
In virtually any case where ambiguities may arise, it is necessary to store the approximate
angle expected from the frame in the toolholder data.
Parameter sets
A complete set of parameters for a toolholder with orientation capability consists of 33
values.
The following system variables are available:
$TC_CARR1 to $TC_CARR33
In addition, $TC_CARR34 to $TC_CARR65 are freely available for the user and for fine
offsets.
The significance of the individual parameters is distinguished as follows:
Machine kinematics:
$TC_CARR1 to $TC_CARR20 and $TC_CARR23
$TC_CARR18 to $TC_CARR20 define a further vector l4, which is needed to describe the
machine with extended kinematics (both tool and workpiece can be rotated).
$TC_CARR21 and $TC_CARR22 contain the channel-axis identifiers of the rotary axes, the
positions of which can be used to determine the orientation of the toolholder with orientation
capability, if necessary.
Kinematic type:
$TC_CARR23 using letter T, P or M
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
1536 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The following three options are available for the kinematic type, for which both upper and
lower case text are permissible:
T: Only the (Tool) can be rotated (basic value).
P: Only the workpiece (Part) can be rotated.
M: Both tool and workpiece can be rotated (Mixed mode).
Any character other than the three mentioned here will result in the alarm if it is tried to
activate the toolholder with orientation capability:
Alarm "14153 Channel %1 block %2 unknown tool carrier type: %3"
Rotary axis parameters:
$TC_CARR24 to $TC_CARR33
The system variables in $TC_CARR24 to $TC_CARR33 can be used to define offsets, angle
compensations, Hirth tooth system, and axis limits.
Note
The system variables are available with and without active tool management.
Components and presetting of the chain/data block
The values $TC_CARR1 to $TC_CARR20 and $TC_CARR24 to $TC_CARR33 in the
toolholder data block are of NC language format type REAL.
The values $TC_CARR21 and $TC_CARR22 for the axis identifier of the first rotary axis (v1)
and the second rotary axis (v2) are of NC language format type AXIS. They are all preset to
zero.
The value $TC_CARR23 is initialized with the uppercase letter "T" (only tool can be rotated).
$TC_CARRn[m]
$TC_CARR[0]= 0 has a special significance
System variables for toolholders with orientation capability
$TC_CARRn[m]
n: Parameters 1...33
m: Number of the tool carrier 1 that can be oriented...Value of the machine data:
MD18088 $MN_MM_NUM_TOOL_CARRIER (Maximum number of definable tool
carriers)
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1537
Description NCK variables Language
format
Preassignmen
t
x component of offset vector l1 $TC_CARR1
REAL
0
y component of offset vector l1 $TC_CARR2
REAL
0
z component of offset vector l1 $TC_CARR3
REAL
0
x component of offset vector l2 $TC_CARR4
REAL
0
y component of offset vector l2 $TC_CARR5
REAL
0
z component of offset vector l2 $TC_CARR6
REAL
0
x component of rotary axis v1 $TC_CARR7
REAL
0
y component of rotary axis v1 $TC_CARR8
REAL
0
z component of rotary axis v1 $TC_CARR9
REAL
0
x component of rotary axis v2 $TC_CARR10
REAL
0
y component of rotary axis v2 $TC_CARR11
REAL
0
z component of rotary axis v2 $TC_CARR12
REAL
0
Angle of rotation 1 (in degrees) $TC_CARR13
REAL
0
Angle of rotation 2 (in degrees) $TC_CARR14
REAL
0
x component of offset vector l3 $TC_CARR15
REAL
0
y component of offset vector l3 $TC_CARR16
REAL
0
z component of offset vector l3 $TC_CARR17
REAL
0
x component of offset vector l4 $TC_CARR18
REAL
0
y component of offset vector l4 $TC_CARR19
REAL
0
z component of offset vector l4 $TC_CARR20
REAL
0
Axis identifier of the rotary axis v1 $TC_CARR21
AXIS
0
Axis identifier of the rotary axis v2 $TC_CARR22
AXIS
0
Kinematic type $TC_CARR23
CHAR
T
Offset of rotary axis v1 $TC_CARR24
REAL
0
Offset of rotary axis v2 $TC_CARR25
REAL
0
Angle offset of rotary axis v1 (Hirth tooth) $TC_CARR26
REAL
0
Angle offset of rotary axis v2 (Hirth tooth) $TC_CARR27
REAL
0
Angle increment of rotary axis v1 (Hirth tooth) $TC_CARR28
REAL
0
Angle increment of rotary axis v2 (Hirth tooth) $TC_CARR29
REAL
0
Minimum position of rotary axis v1 (SW limit) $TC_CARR30
REAL
0
Minimum position of rotary axis v2 (SW limit) $TC_CARR31
REAL
0
Maximum position of rotary axis v1 (SW limit) $TC_CARR32
REAL
0
Maximum position of rotary axis v2 (SW limit) $TC_CARR33
REAL
0
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
1538 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
System variables for the user and for fine offsets
$TC_CARR34 to $TC_CARR40
Contain parameters, which are freely available to the user.
$TC_CARR41 to $TC_CARR65
Contain fine offset parameters that can be added to the values in the basic parameters.
The fine offset value assigned to a basic parameter is obtained when the value 40 is
added to the parameter number.
$TC_CARR47 to $TC_CARR54 and $TC_CARR61 to $TC_CARR63
Not defined and produce an alarm if read or write access is attempted.
Description NCK variables Language
format
Preassignmen
t
Toolholder name * $TC_CARR34 String[32] ""
Axis name 1 ** $TC_CARR35 String[32] ""
Axis name 2 ** $TC_CARR36 String[32] ""
Identifier ** $TC_CARR37
INT
0
Position component X ** $TC_CARR38
REAL
0
Position component Y ** $TC_CARR39
REAL
0
Position component Z ** $TC_CARR40
REAL
0
x comp. fine offset of offset vector l1 $TC_CARR41
REAL
0
y comp. fine offset of offset vector l1 $TC_CARR42
REAL
0
z comp. fine offset of offset vector l1 $TC_CARR43
REAL
0
x comp. fine offset of offset vector l2 $TC_CARR44
REAL
0
y comp. fine offset of offset vector l2 $TC_CARR45
REAL
0
z comp. fine offset of offset vector l2 $TC_CARR46
REAL
0
x comp. fine offset of offset vector l3 $TC_CARR55
REAL
0
y comp. fine offset of offset vector l3 $TC_CARR56
REAL
0
z comp. fine offset of offset vector l3 $TC_CARR57
REAL
0
x comp. fine offset of offset vector l4 $TC_CARR58
REAL
0
y comp. fine offset of offset vector l4 $TC_CARR59
REAL
0
z comp. fine offset of offset vector l4 $TC_CARR60
REAL
0
Offset of fine offset of rotary axis v1 $TC_CARR64
REAL
0
Offset of fine offset of rotary axis v2 $TC_CARR65
REAL
0
Remarks:
* A toolholder with orientation capability cannot subsequently be assigned a number with system
variable $TC_CARR34, only a name.
** System variables $TC_CARR35 to $TC_CARR40 refer to the intended use of the toolholder with
orientation capability within the measuring cycles and can also be used for other purposes.
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1539
18.6.2 Kinematic interaction and machine design
Representation of the kinematic chain
The concept of the kinematic chain is used to describe the kinematic interaction between a
reference point and the tool tip.
The chain specifies all the data required for the toolholder data block in a schematic. To
describe the concrete case with a particular kinematic, the relevant components of the chain
must be assigned real vectors, lengths and angles. The chain represents the maximum
constellation. In simpler applications, individual components can be zero (e.g. kinematics
with one or no rotary axis).
The machine does not have to have axes that rotate the tool and/or workpiece table. The
function can be used even if the orientations are set manually by handwheels or
reconfiguration.
The machine design is described by the following parameters:
Two rotary axes (v1 and v2), each with one angle of rotation (1 or 2), which counts
positively for clockwise rotation facing the direction of the rotation vector.
Up to four offset vectors (l1 to l4) for relevant machine dimensions (axis distances,
distances to machine or tool reference points).
Zero vectors
Vectors v1 and v2 can be zero. The associated angle of rotation (explicitly programmed or
calculated from the active frame) must then also be zero, since the direction of the rotating
axis is not defined. If this condition is not satisfied, an alarm is produced when the toolholder
is activated.
Less than two rotating axes
The option not to define a rotating axis makes sense when the toolholder to be described
can only rotate the tool in one plane. A sensible minimum data block may, therefore, contain
only one single entry not equal to 0 in the toolholder data; namely, a value in one of the
components of v1 or v2 for describing a rotating axis parallel to the axis where the angle of
rotation 1 or 2 is determined from one frame.
Further special cases
Vectors v1 and v2 can be colinear. However, the degree of freedom for orientation is lost, i.e.
this type of kinematic is the same as one where only one rotary axis is defined. All possible
orientations lie on one cone sheath. The conical sheath deforms to a straight line if tool
orientation t and v1 or v2 become colinear. Change of orientation is, therefore, not possible in
this special case. The cone sheath deforms to a circular surface (i.e. all orientations are
possible in one plane), if tool orientation t and v1 or v2 are perpendicular to each other.
It is permissible for the two vectors v1 and v2 to be zero. A change in orientation is then no
longer possible. In this special case, any lengths l1 and l2, which are not equal to zero, act as
additional tool length compensations, in which the components in the individual axes are not
affected by changing the plane (G17 - G19).
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
1540 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Kinematics data expansions
Possibility of direct access to existing machine axes in order to define the toolholder
setting via the rotary axis positions.
Extension of the kinematics with rotary workpiece and on kinematics with rotary tool and
rotary workpiece.
Possibility to permit only discrete values in a grid for the rotary axis positions (Hirth tooth
system).
The extensions are compatible with earlier software versions and encompass the kinematic
data blocks from $TC_CARR18 to $TC_CARR23.
Machine with rotary tool
On machines with rotary tool there is no change in the definition of the kinematics compared
to older software versions. The newly introduced vector l4, in particular, has no significance.
Should the contents of l4 not be zero, this is ignored.
The term "Toolholder with orientation capability" is actually no longer really appropriate for
the new kinematic types, with which the table can also be rotated, either alone or additionally
to the tool. However, it has been kept for reasons of compatibility.
The kinematic chains used to describe the machine with rotary tool (general case) are shown
in the figure below:
Tool length
+ wear
+ tool base dimension
Tool reference
point
Toolholder reference point
Resulting tool length compensation
Tool orientation
l
1
l
2
v
1
,
1
v
2
,
2
l
3
Figure 18-39 Kinematic chain to describe a tool with orientation
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1541
Vectors, which describe offsets in the rotary head, are positive in the direction from the tool
tip to the reference point of the toolholder.
The following kinematic type is defined for machines with a rotary tool:
$TC_CARR23 using letter T
Machine with rotary workpiece
On machines with rotary workpiece, the vector l1 has no significance. If it contains a value
other than zero, this is ignored.
The kinematic chain for machines with rotary workpiece is shown in the figure below.
Machine reference point
Reference point of
the tool table
l
3
v
2
,
2
v
1
,
1
l
2
l
4
Figure 18-40 Kinematic chain to describe a rotary table
Vectors, which describe offsets in the rotary table, are positive in the direction from the
machine reference point to the table.
The following kinematic type is defined for machines with a rotary workpiece:
$TC_CARR23 using letter P
Note
On machines with rotary workpiece it is generally useful if the selected machine reference
point and the reference point of the table are identical. Selecting the reference points in this
way has the advantage that the position of the workpiece zero in the initial state (i.e. with
rotary axes not turned) does not change when the rotary table is activated. The (open)
kinematic chain (see figure) is then closed.
In this special case, therefore, the following formula applies: l2 = - (l3 + l4)
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
1542 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Machines with extended kinematics
On machines with extended kinematics (both tool and workpiece are rotary), it is only
possible to turn each of the components with one axis.
The kinematic of the rotary tool is described with the first rotary axis (v1) and the two vectors
l1 and l2, that of the rotary table with the second rotary axis (v2) and the two vectors l3 and l4.
The two kinematic chain components for machines with rotary tool and rotary workpiece are
shown in the figure below.
Tool length
+ wear
+ tool base dimension
Resulting tool length compensation
Reference point of the toolholder
Tool orientation
Reference point of the tool
Machine reference point
Reference point of the tool table
l
4
l
3
v
1
,
1
l
2
l
1
v
2
,
2
Figure 18-41 Kinematic sequence with extended kinematics
The following kinematic type is defined for machines with a rotary tool and rotary workpiece:
$TC_CARR23 using letter M (extended kinematics)
Note
On machines with extended kinematics it is generally useful, as with machines where only
the table can be rotated, for the machine reference point and the reference point of the table
to be identical. The (open) chain component to describe the table (see figure) is then closed.
In this special case, the following formula applies: l3 = - l4
Rotary tool types T and M
For machine kinematics with a rotary tool (types T and M), the toolholder component with
orientation capability, which describes the tool or head component (as opposed to the table
component), acts, in conjunction with the active tool, as a new overall tool.
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1543
Fine offset
The offset vectors l1 to l4 and the offsets of the rotary axes v1 and v2 can be represented as
the sum of a basic value and a fine offset. The fine offset parameters assigned to the basic
values are achieved by adding a value of 40 to the index of the basic value.
Example:
The parameter $TC_CARR5 is assigned to the fine offset $TC_CARR45.
Note
For the significance of the system variables $TC_CARR41 to $TC_CARR65 available for the
fine offset see:
References:
/PGA/ Programming Manual Job Planning; Tool Compensations
Activation
The following setting adds the fine offset values to the basic values:
SD42974 $SC_TOCARR_FINE_CORRECTION = 1 (fine offset TCARR on/off)
Supplementary conditions
The amount is limited to the permissible fine offset.
The maximum permissible value is defined:
For: With machine data:
The components of vectors l1 to l4: MD20188 $MC_TOCARR_FINE_LIM_LIN
The offsets of the two rotary axes v1 and v2: MD20190 $MC_TOCARR_FINE_LIM_ROT
An illegal fine offset value is only detected when:
A toolholder with orientation capability, which contains such a value, is activated
and
at the same time the following setting data is set:
SD42974 $SC_TOCARR_FINE_CORRECTION
Description of a rotation
A data block for describing a rotation comprises one vector v1 /v2 to describe the direction of
rotation of the rotary axis in its initial state and an angle 1/2. The angle of rotation is
counted positively for clockwise rotation facing the direction of the rotation vector.
The two toolholder angles 1 and 2 are determined using a frame, independent of the
active plane currently selected (G17 - G19).
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
1544 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The tool orientation in the initial state (both angles 1 and 2 are zero) is (as in the default case):
G17: Parallel to Z
G18: Parallel to Y
for G19: Parallel to X
Assigning data to the toolholder
Example of a machine with rotary toolholder
The following settings are obtained at the mill head shown for a machine with toolholder with
orientation capability of kinematic type T:
Component of the offset vector l1 = (-200, 0, 0)
Component of the offset vector l2 = (0, 0, 0)
Component of offset vector l3 = (-100, 0, 0)
Component of rotary axis v1 = (1, 0, 0)
Component of rotary axis v2 = (-1, 0, 1)
Tool base dimension of tool
reference point
(0, 0, 250)
Note
The tool reference point for the tool base dimension is defined by the reference point at the
machine.
For more information about the reference points in the working area, please refer to:
References:
/FB1/ Function Manual Basic Functions; Axes, Coordinate Systems, Frames (K2).
Resulting tool length compensation
Length + Wear
Tool base dimension
Tool carrier reference point
Axis 2
Axis 1
Tool reference point
x
z
y
100 mm
l
1
l
3
v
2
v
1
l
2
Figure 18-42 Assignment of the toolholder data
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1545
Suitable assumptions were made for the following values in the data block:
The two rotary axes intersect at one point.
All components of l2 are therefore zero.
The first rotary axis lies in the x/z plane, the second rotary axis is parallel to the x axis.
These conditions define the directions of v1 and v2 (the lengths are irrelevant, provided
that they are not equal to zero).
The reference point of the toolholder lies 200 mm in the negative x direction viewed from
the intersection of the two rotary axes.
This condition defines l1.
Specify associated data block values
The following associated data block values are specified for the toolholder shown on a
machine with rotary toolholder:
Description NCK variables Value
x component of offset vector l1 $TC_CARR1 - 200
y component of offset vector l1 $TC_CARR2 0
z component of offset vector l1 $TC_CARR3 0
x component of offset vector l2 $TC_CARR4 0
y component of offset vector l2 $TC_CARR5 0
z component of offset vector l2 $TC_CARR6 0
x component of rotary axis v1 $TC_CARR7 1
y component of rotary axis v1 $TC_CARR8 0
z component of rotary axis v1 $TC_CARR9 0
x component of rotary axis v2 $TC_CARR10 -1
y component of rotary axis v2 $TC_CARR11 0
z component of rotary axis v2 $TC_CARR12 1
Angle of rotation 1 (in degrees) $TC_CARR13 0
Angle of rotation 2 (in degrees) $TC_CARR14 0
x component of offset vector l3 $TC_CARR15 -100
y component of offset vector l3 $TC_CARR16 0
z component of offset vector l3 $TC_CARR17 0
Explanation
The toolholder kinematic chosen in the example is such that the two rotary axes form an
angle of 45 degrees, which means that the orientation cannot take just any value. In
concrete terms, this example does not permit the display of orientations with negative
X components.
x component of the tool base dimension: 0
y component of the tool base dimension: 0
z component of the tool base dimension: 250
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
1546 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Note
The required data cannot be determined unequivocally from the geometry of the toolholder,
i.e. the user is free to a certain extent to decide the data to be stored. Thus, for the example,
it is possible to specify only one z component for the tool base dimension up to the second
axis. In this case, l2 would no longer be zero, but would contain the components of the
distance between this point on the second axis and a further point on the first axis. The point
on the first axis can also be selected freely. Depending on the point selected, l1 must be
selected such that the reference point (which can also be selected freely) is reached.
In general: vector components that are not changed by rotation of an axis can be distributed
over any vectors "before" and "after" rotation.
18.6.3 Oblique machining with 3 + 2 axes
Description of function
Inclined machining with 3 + 2 axes describes an extension of the concept of toolholders with
orientation capability and applies this concept to machines with a rotary table, on which the
orientation of tool and table can be changed simultaneously.
The "Inclined machining with 3 + 2 axes" function is used to machine surfaces with any
rotation with reference to the main planes X/Y (G17), Z/X (G18) and Y/Z (G19).
It is possible to produce any orientation of the tool relative to the workpiece by rotating either
the tool, the workpiece or both the tool and the workpiece.
The software automatically calculates the necessary compensating movements resulting
from the tool lengths, lever arms and the angle of the rotary axis. It is always assumed that
the required orientation is set first and not modified during a machining process such as
pocket milling on an inclined plane.
Furthermore, the following 3 functions are described, which are required for oblique
machining:
Position programming in the direction of the tool orientation independent of an active
frame
Definition of a frame rotation by specifying the solid angle
Definition of the component of rotation in tool direction in the programmed frame while
maintaining the remaining frame components
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1547
Demarcation to 5-axis transformation
If the required functionality specifies that the TCP (Tool Center Point) does not vary in the
event of reorientation with reference to the workpiece, even during interpolation, the 5-axis
software is required.
For more explanations on 5-axis transformations, see:
References:
/FB3/ Function Manual, Special Functions; 3- to 5-Axis Transformation (F2)
Specification of the toolholder with orientation capability
The toolholder with orientation capability is represented by a general 5-axis kinematic
sequence described by a data block in the tool compensation memory with a total of 33
REAL values. For toolholders that have two rotary axes for setting the orientation (e.g. a
millhead), 31 of these values are constant.
In the current SW version, a data block in the tool compensation memory is described with a
total of 47 REAL values. For toolholders that have two rotary axes for setting the orientation,
45 of these values are constant.
The remaining two values are variable and are used to specify the orientation. The constant
values describe offsets and directions and setting options for the rotary axes; the variable
values describe the angles of the rotary axes.
18.6.4 Machine with rotary work table
System variables
To date, the angles stored in $TC_CARR13 and $TC_CARR14 were used for the calculation
of the active tool length with TCOABS. This still applies if $TC_CARR21 and $TC_CARR22 do
not refer to rotary axes. If $TC_CARR21 or $TC_CARR22 contains a reference to a rotary
axis in the channel, the axis position of the relevant axis at the start of the current block is
used as the angle, rather than the entry in $TC_CARR13 or $TC_CARR14.
A mixed operating mode is permissible, i.e. the angles can be determined from the entry in
the system variables $TC_CARR13 or $TC_CARR14 for one axis, and from the position of a
channel axis for the other.
This makes it possible for machines, on which the axes used to set the toolholder with
orientation capability are known within the NC, to access their position directly, whereas it
was previously necessary, for example, to read system variable $AA_IM[axis] and write the
result of the read operation to $TC_CARR13/14. In particular, this removes the implicit
preprocessing stop when reading the axis positions.
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
1548 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
MD20180
The rotary axis position is used with its programmed or calculated value, when the machine
data:
MD20180 $MC_TOCARR_ROT_ANGLE_INCR[i] = 0 (Rotary axis increment of the tool
carrier that can be oriented)
If the machine data is not zero however, the position used is the nearest grid point obtained
for a suitable integer value n from the equation:
= $MC_TOCARR_ROT_ANGLE_OFFSET[i] + n * $MC_TOCARR_ROT_ANGLE_INCR[i]
This functionality is required if the rotary axes need to be indexed and cannot, therefore,
assume freely-defined positions (e.g. with Hirth tooth systems). System variable
$P_TCANG[i] delivers the approximated valued and system variable $P_TCDIFF[i] the
difference between the exact and the approximated value.
Frame orientation TCOFR
With TCOFR (determination of the angle from the orientation defined by an active frame), the
increments are scaled after determination of the angle from the active frame rotation. If the
requested orientation is not possible due to the machine kinematic, the machining is aborted
with an alarm. This also applies if the target orientation is very close to an achievable
orientation. In particular the alarm in such situations cannot be prevented through the angle
approximation.
TCARR frame offset
A frame offset as a result of a toolholder change becomes effective immediately on selection
of TCARR=.... A change in the tool length, on the other hand, only becomes effective
immediately if a tool is active.
TCOFR/TCOABS frame rotation
A frame rotation does not take place on activation and a rotation, which is already active, is
not changed. As in case T (only the tool can be rotated), the position of the rotary axes used
for the calculation is dependent on the G code TCOFR / TCOABS and determined from the
rotation component of an active frame or from the entries $TC_CARRn.
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1549
Activation of a frame changes the position in the workpiece coordinate system accordingly,
without compensating movement by the machine itself. The ratios are shown in the figure
below:
Original position of table
Position of table after rotation
Frame offset
Position of coordinate system
after PAROT
Position of coordinate system
after TCARR
Original position of
the coordinate
system
Z
X
Z
X
Z
X
Figure 18-43 Zero offset on activation of a rotary table with TCARR
Example
On the machine in the figure, the rotary axis of the table is pointing in the positive Y direction.
The table is rotated by +45 degrees. PAROT defines a frame, which similarly describes a
rotation of 45 degrees about the Y axis. The coordinate system is not rotated relative to the
actual environment (marked in the figure with "Position of the coordinate system after
TCARR"), but is rotated by -45 degrees relative to the defined coordinate system (position after
PAROT). If this coordinate system is defined with ROT Y-45, for example, and if the toolholder is
then selected with active TCOFR, an angle of +45 degrees will be determined for the rotary
axis of the toolholder.
Rotary table
With rotary tables (kinematic types P and M), activation with TCARR similarly does not lead to
an immediate rotation of the coordinate system (see figure), i.e. even though the zero point
of the coordinate system is offset relative to the machine, while remaining fixed relative to
the zero point of the workpiece, the orientation remains unchanged in space.
Activation of kinematic types P and M
With kinematics of type P and M the selection of a toolholder activates an additive frame
(table offset of the toolholder with orientation capability), which takes into account the zero
point offset as a result of the rotation of the table.
The zero offset can be written to a dedicated system frame $P_PARTFR. For this, the bit 2
must be set in the machine data:
MD28082 $MC_MM_SYSTEM_FRAME_MASK (System frames (SRAM))
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
1550 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The basic frame identified by following machine data is then no longer required for the zero
offset:
MD20184 $MC_TOCARR_BASE_FRAME_NUMBER (Number of the basic frames for taking
the table offset)
Activation of kinematic type M
With kinematics of type M (tool and table are each rotary around one axis), the activation of
a toolholder with TCARR simultaneously produces a corresponding change in the effective tool
length (if a tool is active) and the zero offset.
Rotations
Depending on the machining task, it is necessary to take into account not only a zero offset
(whether as frame or as tool length) when using a rotary toolholder or table, but also a
rotation. However, the activation of a toolholder with orientation capability never leads
directly to a rotation of the coordinate system.
TOROT
If only the tool can be rotated, a frame whose Z axis points in the direction of the tool can be
defined with TOFRAME or TOROT.
PAROT
If the coordinate system needs to be fixed relative to the workpiece, i.e. not only offset
relative to the original position but also rotated according to the rotation of the table, then
PAROT can be used to activate such a rotation in a similar manner to the situation with a rotary
tool.
With PAROT, the translations, scalings and mirrorings in the active frame are retained, but the
rotation component is rotated by the rotation component of a toolholder with orientation
capability corresponding to the table.
PAROT and TOROT take into account the overall change in orientation in cases where the table
or the tool are oriented with two rotary axes. With mixed kinematics only the corresponding
component caused by a rotary axis is considered. It is thus possible, for example, when
using TOROT, to rotate a workpiece such that an oblique plane lies parallel to the X-Y plane
fixed in space, whereby rotation of the tool must be taken into account in machining where
any holes to be drilled, for example, are not perpendicular to this plane.
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1551
Language command PAROT is not rejected if no toolholder with orientation capability is active.
This causes no changes in the programmed frame.
Note
For more information about the TCARR and TOROT functions, as well as PAROT in relation to
channel-specific system frames, please refer to:
References:
/FB1/ Function Manual, Basic Functions; Axes, Coordinate systems, Frames (K2).
18.6.5 Procedure when using toolholders with orientation capability
Creating a toolholder
The number of available toolholder data sets in the NCK is defined with machine data:
MD18088 $MN_MM_NUM_TOOL_CARRIER (Maximum number of definable tool carriers)
1. The value is calculated as follows:
MD18088 = "Number of TO units" * "Number of tool holder data sets of a TO unit"
MD18088/"number of TO units" is permanently allocated to each TO unit.
Note
For further explanations on the definition and assignment of a TO unit by machine data:
MD28085 $MC_MM_LINK_TOA_UNIT (Assignment of a TO unit to a channel (SRAM))
References:
/FB/ Function Manual for Extended Functions; Memory Configurations (S7)
2. Zero setting of toolholder data:
You can use the command$TC_CARR1[0] = 0 to zero all values of all data sets.
Individual toolholder data sets can be deleted selectively with the NC command DELTC or
the PI service _N_DELTCAR.
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
1552 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
3. Accessing the data of a toolholder:
Part program
$TC_CARRn[m] = value
This describes the previous value of the system variables n for toolholder m with the
new value "value".
value = $TC_CARRn[m]
With "def real value" - the parameters of a toolholder m can be read if they have
already been defined (e.g. set MD18088). Otherwise, an alarm is signaled.
OPI interface
The parameters of a toolholder with orientation capability can be read and written with the
NCK-HMI (OPI) variable services using system variable $P_TCANG[<n>].
4. Data backup:
The system variables specified above are saved as part of the general NCK data backup.
Selecting the toolholder
A tool holder with number m is selected with the TCARR = m NC program command
(TCARR Tool Carrier).
TCARR = 0 deselects an active toolholder.
New tool or new toolholder
When a new tool is activated, it is always treated as if it was mounted on the active
toolholder.
A new toolholder is activated immediately when it is programmed. It is not necessary to
change tools or reprogram the active tool. The toolholder (number) and tool (number) are
independent and can be used in any combination.
Toolholder from G code of group 42
Absolute tool orientation TCOABS (Tool Carrier Orientation ABSolute):
Tool orientation is determined explicitly if the corresponding values are entered in system
variable $TC_CARR13 or $TC_CARR14 and G code TCOABS is activated in G-code group 42.
Frame tool orientation TCOFR (Tool Carrier Orientation FRame):
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1553
Tool orientation can also be determined automatically from the current orientation of an
active frame when selecting a tool, if one of the following G codes is active in G-code group
42 when the toolholder is selected:
TCOFR or TCOFRZ
The toolholder with orientation capability is set so that the tool points in the Z direction.
TCOFRX
The toolholder with orientation capability is set so that the tool points in the X direction.
TCOFRY
The toolholder with orientation capability is set so that the tool points in the Y direction.
The effect of TCOFR is such that, when machining on an inclined surface, tool compensations
are considered implicitly as if the tool were standing vertically on the surface.
Note
The tool orientation is not bound strictly to the frame orientation. When a frame is active and
G code TCOABS is active, you can select a tool, whereby the orientation of the tool is
independent of the orientation of the active frame.
Following tool selection, you can change the frame, which does not affect the components of
tool length compensation. It is then no longer certain that the tool is positioned perpendicular
to the machining plane. You should therefore first check that the intended tool orientation is
maintained on an inclined surface.
When TCOFR, etc., is active, the tool orientation used in the tool length calculation is always
determined from the active frame each time the toolholder is changed.
Toolholder from G code of group 53
The G codes of group 53 (TOFRAME, TOROT, etc.) can be used to define a frame such that an
axis direction (Z, Y or X) in this frame is equal to the current tool orientation.
The G code of group 6 (G17 - G19), which is active at the time TOFRAME is called, determines
the tool orientation.
If no toolholder is active, or if a toolholder is active but does not cause the tool orientation to
change, the Z direction in the new frame is:
The same as the old Z direction with G17
The same as the old Y direction with G18
The same as the old X direction with G19.
These directions are modified accordingly for rotating toolholders. The same applies to the
new X and Y directions.
Instead of TOFRAME or TOROT, one of the G codes TOFRAMEX, TOFRAMEY, TOROTX, or TOROTY can be
used. The meanings of the axes are interchanged accordingly.
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
1554 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Group change
Changing the G code from group 42 (TCOABS, TCOFR, etc.) causes recalculation of the tool
length components.
The (programmed) angles of rotation stored in the toolholder data are not affected, with the
result that the angles originally stored in the toolholder data are reactivated on a change
from TCOFR to TCOABS.
Read rotary angle (1 or 2):
The angles currently used to calculate the orientation can be read via system variable
$P_TCANG[n] where n = 1 or n = 2.
If two permissible solutions (i.e. a second valid pair of angles) are available for a particular
orientation, the values can be accessed with $P_TCANG[3] or $P_TCANG[4]. The number of
valid solutions 0 to 2 can be read with $P_TCSOL.
Tool radius compensation with CUT2D or CUT3DFS:
The current tool orientation is included in the tool radius compensation if either CUT2D or
CUT3DFS is active in G-code group 22 (tool compensation type).
For non-rotating toolholders, the behavior depends solely on the active plane of G code
group 6 (G17 - G19) and is, therefore, identical to the previous behavior.
All other tool compensation types:
The behavior for all other tool compensation types is unchanged.
For CUT2DF and CUT3DFF in particular, the compensation plane used for TRC is determined
from the active frame, independent of the current tool orientation. Allowance is made for the
active plane (G17 - G19) and the behavior is, therefore, the same as before.
The two remaining G codes of group 22, CUT3DC and CUT3DF, are not affected by the
toolholder functionality because the tool orientation information in these cases is made
available by the active kinematic transformation.
Two rotary axes
Two general solutions exist for two rotary axes. The control itself chooses these two solution
pairs such that the orientation angles resulting from the frame are as close as possible to the
specified angles.
The two following options are available for specifying the angles:
1. If $TC_CARR21 or $TC_CARR22 contains a reference to a rotary axis, the position of
this axis at the start of the block in which the toolholder is activated is used to specify the
angle.
2. If $TC_CARR21 or $TC_CARR22 does not contain a reference to a rotary axis, the
values contained in $TC_CARR13 or $TC_CARR14 are used.
Example
The control first calculates an angle of 10 degrees for one axis. The specified angle is 750
degrees. 720 degrees (= 2 * 360 degrees) are then added to the initial angle, yielding a final
angle of 730 degrees.
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1555
Rotary axis offset
Rotary axis offsets can be specified with system variables $TC_CARR24 and $TC_CARR25.
A value not equal to zero in one of these parameters means that the initial state of the
associated rotary axis is the position specified by the parameter (and not position zero). All
angle specifications then refer to the coordinate system displaced by this value.
When the machining plane is changed (G17 - G19), only the tool length components of the
active tool are interchanged. The components of the toolholder are not interchanged. The
resulting tool length vector is then rotated in accordance with the current toolholder and, if
necessary, modified by the offsets belonging to the toolholder.
The two toolholder angles 1and 2 are determined using a frame, independent of the active
plane currently selected (G17 - G19).
Limit values
Limit angles (software limits) can be specified for each rotary axis in the system variable set
($TC_CARR30 to $TC_CARR33) used to describe the toolholder with orientation capability.
These limits are not evaluated if both the minimum and maximum value is zero.
If at least one of the two limits is not equal to zero, the system checks whether the previously
calculated solution is within the permissible limits. If this is not the case, an initial attempt is
made to reach a valid setting by adding or subtracting multiples of 360 degrees to or from
the invalid axis position. If this is impossible and two different solutions exist, the first solution
is discarded and the second solution is used. The second solution is treated the same as the
first with reference to the axis limits.
If the first solution is discarded and the second used instead, the contents of $P_TCANG[1/2]
and $P_TCANG[3/4] are swapped, hence the solution actually used is also stored in
$P_TCANG[1/2] in this case.
The axis limits are monitored even if the axis angle is specified instead of being calculated.
This is the case if TCOABS is active when a toolholder with orientation capability is activated.
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
1556 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.6.6 Programming
Selecting the toolholder
A toolholder is selected with the number m of the toolholder with:
TCARR = m
Access to toolholder data blocks
The following access is possible from the part program:
The current value of the parameter n for the tool holder m is written with the new "value"
with:
$TC_CARRn[m] = value
The parameters of a tool holder m can, as far as the toolholder data set is already defined,
read with:
value = $TC_CARRn[m] (Value must be a REAL variable)
The toolholder data set number must lie in the range, which is defined by the machine data:
MD18088 $MN_MM_NUM_TOOL_CARRIER (Total number of toolholder data sets that can
be defined)
This number of toolholder data sets, divided by the number of active channels, can be
defined for a channel.
Exception:
If settings, which deviate from the standard, are selected via the machine data:
MD28085 $MC_MM_LINK_TOA_UNIT (Assignment of TO unit to a channel).
Canceling all toolholder data blocks
All values of all toolholder data sets can be deleted from within the part program using one
command.
$TC_CARR1[0] = 0
Values not set by the user are preset to 0.
Activation
A toolholder becomes active when both a toolholder and a tool have been activated. The
selection of the toolholder alone has no effect. The effect of selecting a toolholder depends
on the G code TCOABS / TCOFR (modal G-code group for toolholders).
Changing the G code in the TCOABS / TCOFR group causes recalculation of the tool length
components when the toolholder is active. With TCOABS, the values stored in the toolholder
data for both angles of rotation 1 and 2 are used to determine the tool orientation.
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1557
With TCOFR, the two angles are determined from the current frame. The values stored in the
toolholder data are not changed, however. These are also used to resolve the ambiguity that
can result when the angle of rotation is calculated from one frame. Here, the angle that
deviates least from the programmed angle is selected from the various possible angles.
Note
For more explanations on the programming of tool compensations with toolholder kinematic
and for the system variables see:
References:
Programming Manual, Job Planning
18.6.7 Supplementary conditions and control system response for orientation
Full orientation
For a given data set that describes a certain kinematic, all the conceivable special
orientations can only be displayed when the following conditions are satisfied:
The two vectors v1 and v2, that describe the rotary axes, must be defined (i.e., must not be
equal to zero).
The two vectors v1 and v2 must be perpendicular to each other.
The tool orientation must be perpendicular to the second rotary axis.
Non-defined orientation
If these conditions are not satisfied and an orientation that cannot be achieved by an active
frame is requested with TCOFR, an alarm is output.
Vector/angle of rotation dependencies
If vector v1 or v2, which describes the direction of a rotary axis, is set to zero, the associated
angle of rotation 1 or 2 must also be set to zero. Otherwise, an alarm is produced. The
alarm is not output until the toolholder is activated, i.e., when the toolholder is changed.
Tool fine compensation combined with orientation
Tool fine compensations and toolholders cannot be combined. The activation of tool fine
compensation when a toolholder is active, and vice versa the activation of the toolholder
when tool fine compensation is active, produces an alarm.
Automatic toolholder selection, RESET
For RESET or at program start, a toolholder can be selected automatically via the machine
data:
MD20126 $MC_TOOL_CARRIER_RESET_VALUE (Active toolholder at RESET)
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
1558 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
It is handled similar to the controlled selection of a tool via the machine data:
MD20120 $MC_TOOL_RESET_VALUE (Tool length compensation Power up (RESET/TP-
End))
The behavior at RESET or at program start is controlled as in the case of tool selection via the
same bit 6 in the machine data:
MD20110 $MC_RESET_MODE_MASK (definition of initial control settings after RESET/TP-
End)
Or:
MD20112 $MC_START_MODE_MASK (definition of initial control system settings at NC-
START)
References:
/FB1/ Function Manual Basic Functions; Mode Group, Channel, Program Operation, Reset
Response (K1)
SW 6.3 and higher
If TCOABS was active for the last selection before reset, the behavior is unchanged compared
to previous versions. A different active G code causes the toolholder with orientation
capability to be activated with the frame that was active before the last reset. Modified
toolholder data ($TC_CARR...) are also considered. If these data are unchanged, the
toolholder is activated in exactly the same state as before reset. If the toolholder data were
changed after the toolholder selection before reset, selection corresponding to the last frame
is not always possible. In this case, the toolholder with orientation capability is selected
according to the G-Code (group 42) values valid at this time and the active frame.
MD22530 output of auxiliary functions to PLC
That, optionally, a constant or an M code is output when the toolholder is selected, whose
number of the code is derived from the toolholder number. Can be set with the machine
data:
MD22530 $MC_TOCARR_CHANGE_M_CODE (M-Code at toolholder change)
References:
/FB1/ Function Manual Basic Functions; Output of Auxiliary Functions to PLC (H2)
W1: Tool offset
18.6 Toolholder with orientation capability
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1559
Toolholder kinematics
The following supplementary conditions must be met for toolholder kinematics:
Tool orientation in initial state, both angles 1 and 2 zero, as per default setting, even if:
G17 parallel to Z
G18 Parallel to Y
G19 parallel to Z
A permissible position in terms of the axis limits must be achievable.
For any possible orientation to be set, the two rotary axes must be perpendicular to each
other.
For machines, on which the table is rotated by both axes, the tool orientation must also
be perpendicular to the first rotary axis.
For machines with mixed kinematics, the tool orientation must be perpendicular to the
axis, which rotates the tool, i.e., also the first rotary axis.
The following applies to orientations specified in a frame:
The orientation specified in a frame must be achievable with the defined toolholder
kinematics, otherwise an alarm is output.
This situation can occur if the two rotary axes required to define the kinematics are not
perpendicular to each other.
This applies if fewer than two rotary axes are defined and is the case:
With kinematic type T with rotary tool, if the tool axis, which defines the tool direction,
is not perpendicular to the second axis.
With kinematic types M and P with rotary workpiece, if the tool axis, which defines the
tool direction, is not perpendicular to the first axis.
Rotary axes, which require a frame with a defined tool orientation in order to reach a
specific position, are only determined unambiguously in the case of one rotary axis. Two
general solutions exist for two rotary axes.
In all cases where ambiguities may arise, it is particularly important that the approximate
angles expected from the frame are stored in the tool data, and that the rotary axes are in
the vicinity of the expected positions.
Response with ASUP, REPOS
The toolholder can be changed in an asynchronous subprogram (ASUB). When the
interrupted program is resumed with REPOS, the approach motion of the new toolholder is
taken into account and the program continues with this motion. The treatment here is
analogous to tool change in an ASUB.
References:
/FB1/ Function Manual Basic Functions; Mode Group, Channel, Program Operation, Reset
Response (K1)
W1: Tool offset
18.7 Cutting data modification for tools that can be rotated
Basic Functions
1560 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.7 Cutting data modification for tools that can be rotated
18.7.1 Function
Using the function "cutting data modification for rotatable tools", the changed geometrical
relationships, that are obtained relative to the workpiece being machined when rotating tools
(predominantly turning tools, but also drilling and milling tools) can be taken into account.
18.7.2 Determination of angle of rotation
The actual rotation of the tool is always determined from a currently active, orientable
toolholder (refer to Chapter "Tool Holder with Orientation Capacity").
The angle of rotation of the tool holder with orientation capacity is normally (but not
necessarily) defined with theTCOFR command from an active frame. This method can be used
to define the tool orientation independently of the actual kinematics with which the tool is
rotated, identically in each case with the help of two angles.
The two machine-independent orientation angles (Beta) and (Gamma) are used to define
the tool rotation. is the angle of rotation and the applicate (typically a B axis in G18) and a
rotation around the ordinate (Typically a C axis in G18). The rotation is first executed around
Y, finally around , i.e. the y axis is rotated by the axis:
X
Z
W1: Tool offset
18.7 Cutting data modification for tools that can be rotated
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1561
18.7.3 Cutting edge position, cut direction and angle for rotary tools
Turning tools
Turning tools means the following tools whose tool type ($TC_DP1) has values in the range
of 500 to 599. Grinding tools (tool types 400 to 499) are equivalent to turning tools.
Tools are treated independently of tool type such as turning tools if:
SD42950 $SC_TOOL_LENGTH_TYPE = 2
Cutting edge position and cut direction
Turning tools are limited by their main and secondary cutting edges. The tool parameter
"Cutting edge position" is defined via the position of these two cutting edges relative to the
coordinate axes. The ratios are displayed with diagram in the following figure:
1 2
3 4
5 6
7 8
1
2
3
4
X
Z
Cut direction Length of cutting edge
Figure 18-44 Cutting edge position and cut direction for turning tools
The values 1 to 4 characterize the cases in which both cutting edges lie in the same
quadrant; the values 5 to 8 characterize the cases in which both cutting edges lie in
neighboring quadrants or there is a coordinate axis between the two cutting edges. The
cutting edge position is stored in the tool parameter $TC_DP2.
A cut direction can be defined for each turning tool. It is stored in the tool parameter
$TC_DP11. It has values between 1 and 4, and it characterizes a positive or negative
direction of the coordinate axes:
Value: Meaning:
1 Ordinate -
2 Ordinate +
3 Abscissa -
4 Abscissa +
W1: Tool offset
18.7 Cutting data modification for tools that can be rotated
Basic Functions
1562 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Two different cut directions can be assigned to each cutting edge position:
Cutting edge position: 1 2 3 4 5 6 7 8
Cut direction: 2, 4 2, 3 1, 3 1, 4 1, 2 3, 4 1, 2 3, 4
Holder angle and clearance angle
The following figure depicts the two angles (holder angle and clearance angle) of a turning
tool with cutting edge position 3, that are necessary for describing the geometry of the tool
cutting edge. The cut direction in this example is 3, i.e. it denotes the negative Z direction
(abscissa direction for G18).
Plate angle (= 180- holder angle - free angle)
X
Z
Free angle ($TC_DP24)
Holder angle ($TC_DP10)
Cut direction 3
Figure 18-45 Angle and cut direction for a turning tool with cutting edge position 3
The cut direction specifies the reference direction of the holder angle. The clearance angle is
the angle measured between the inverse cut direction and the adjacent cutting edge
(positive). Holder angle and clearance angle are stored in the tool parameters $TC_DP10 or
$TC_DP24.
Note
Cut direction and tool angle are relevant only in the cutting edge positions 1 to 8.
W1: Tool offset
18.7 Cutting data modification for tools that can be rotated
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1563
18.7.4 Modifications during the rotation of turning tools
Tool orientation
Unlike milling tools, turning tools are not rotation-symmetric. This means that normally 3
degrees of freedom or three rotary axes are required to describe the tool orientation. The
concrete kinematics therefore, is independent of the machine only to the extent the desired
orientation can be set. If necessary, the third degree of freedom can be substituted by a
rotation of the tool coordinate system.
Note
The division of the orientation into one portion created by the tool holder with orientation
capacity, and a second portion achieved via a rotation of the coordinate system is the
responsibility of the application. The control does not provide any further functionality in this
regard.
Shape of cutting edge
If a turning tool turns by an angle against the machining plane (i.e. around an axis in the
machining plane, typically a C axis) that is not a multiple of 180, then the configuration of
the (circular) tool cutting edge in the machining plane becomes an ellipse. It is assumed that
the deviations from the circular form arising on account of such rotations is so insignificant
that they can be ignored (tilt angle < 5), i.e. the control always ignores the tool orientation
and assumes a circular cutting edge.
This also means that with reference to the active plane, the control accepts only a rotation by
180 as a setting deviating from the initial position. This limitation is valid for the shape of
cutting edge only. The tool lengths are always considered correctly in random spatial
rotations.
Cutting edge position, cut direction and angle
A rotation by 180 around an axis in the machining plane means that while using the tool at
the same position, the spindle rotation direction with reference to the use of the unturned tool
must be inverted.
Cut direction and cutting edge position are also not modified like the cutting edge reference
point (see below) if the tool is rotated from the plane by +/- 90 (with a tolerance of app. 1)
because then the configuration of the cutting edge is not defined in the current plane.
W1: Tool offset
18.7 Cutting data modification for tools that can be rotated
Basic Functions
1564 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
If the tool rotates in the plane (rotation around an axis vertical to the machining place or
around the Y axis for G18), the cutting edge position is determined from the resulting angle
for the clearance and holder angles. If these two angles are not specified for the tool (i.e.
$TC_DP10 and $TC_DP24 are both zero), then the new cutting edge position is determined
from the turning angle alone. The cutting edge position changes only in 90 steps, i.e. the
cutting edge position remains independent of the initial state either in the value range 1 to 4
or 5 to 8. The new cutting edge position is then determined exclusively from the angle of
rotation if the specified values for holder angle and clearance angle are not allowed
(negative values, resulting plate angle negative or more than 90). Clearance angle and
holder angle are not modified in all these cases.
Depending on the rotation, the cut direction is modified in such a way that the resulting
clearance angle remains less than 90. If the original cut direction and the original cutting
edge position do not fit together (refer to "Cutting edge position, cut direction and angle for
turning tools"), then the cut direction is not modified during rotation of the tool.
The angle of rotation in the plane, as it was determined from the tool holder with orientation
capacity, is available in the system variable $P_CUTMOD_ANG or $AC_CUTMOD_ANG.
This angle is the original angle without any final rounding to multiples of 45 or 90.
Limit cases
If, for a turning tool, the cutting edge position, cut direction, clearance and holder angles
have valid values so that all cutting edge positions (1 to 8) are possible through suitable
rotations in the plane, then the cutting edge positions 1 to 4 are preferred to cutting edge
positions 5 to 8 in the cases in which one of the cutting edges (main or secondary cutting
edge) is away from the coordinate axis by less than half the input increment ((0.0005 for an
input specification of 3 decimal digits).
The following is applicable in all other cases (milling tools or turning tools without valid
cutting edge parameters) in which rotation is possible only in 90 steps: If the amount of the
rotation angle is smaller than 45 + 0.5 input increments (corresponds to 45.0005 for an
input specification of 3 decimal points), the cutting edge position and cut direction are not
changed, i.e. these cases are treated as rotations that are smaller than 45. Rotations, the
amount of which deviates from 180 by less than 45 + 0.5 input increments are treated
identically as rotations in the range of 135 to 225.
Cutting edge reference point
The cutting edge center point and the cutting edge reference point are defined for turning
tools. The position of these two points relative to each other is defined by the cutting edge
position.
The distance of the two points for cutting edge positions 1 to 4 is equal to 2 times the
cutting edge radius; for cutting edge positions 5 to 8 it is equal to 1 times the cutting edge
radius. In the first case, the cutting edge reference point relative to the cutting edge center
point lies in the machining plane on a bisecting line, while in the second case it lies on a
coordinate axis.
W1: Tool offset
18.7 Cutting data modification for tools that can be rotated
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1565
If your rotate the tool by a random angle around an axis vertical to the machining plane, the
the cutting edge reference point would also rotate if it had a fixed position relative to the tool.
The above-mentioned condition (position on an axis or a bisecting axis) is not fulfilled in most
cases. This is not desirable. Instead, the cutting edge reference point should always be
modified in such a way that the distance vector between cutting edge reference point and
cutting edge center point has one of the mentioned 8 directions. The cutting edge position
must be modified for this if necessary.
The ratios are shown with examples in the figure below:
old cutting reference point
SL8
SL3
SL3
new cutting edge reference point
cutting edge reference point
Figure 18-46 Cutting edge reference point and cutting edge position (SL) for tool rotation
A tool with the cutting edge position 3, the clearance angle 22.5 and holder angle 112.5 is
rotated. For rotations up to 22.5, the cutting edge position is maintained, the position of the
cutting edge reference point relative to the tool however, is compensated in such a way that
the relative position of both points are maintained in the machining plane. For bigger
rotations (up to 67.5), the cutting edge position changes to value 8.
Note
As the cutting edge reference point is defined by the tool length vector, modifying the cutting
edge reference point changes the effective tool length.
W1: Tool offset
18.7 Cutting data modification for tools that can be rotated
Basic Functions
1566 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.7.5 Cutting edge position for milling and tapping tools
Milling and tapping tools
Milling and tapping tools means the following tools whose tool type ($TC_DP1) has values in
the range of 100 to 299.
Tools are treated independently of tool type such as milling and tapping tools if:
SD42950 $SC_TOOL_LENGTH_TYPE = 1
Length of cutting edge
A cutting edge position is also introduced for the so defined milling and tapping tools which is
modified according to the following description, in case of rotations.
Any specified cutting edge position for tools that are not milling and tapping tools or turning
tools according to the mentioned definitions, is not evaluated.
The cutting edge position of the tapping and milling tools is stored in tool parameter
$TC_DP2 as in the case of turning tools. Based on the definition of the cutting edge position
for turning tools, this parameter can assume the values 5 to 8. Here, the cutting edge
position specifies the orientation (the direction of the rotation axis) of the tool:
Length of cutting edge Direction of rotation axis of tool
5 Abscissa +
6 Ordinate +
7 Abscissa -
8 Ordinate -
W1: Tool offset
18.7 Cutting data modification for tools that can be rotated
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1567
Example:
X
Z
Figure 18-47 Milling tool with cutting edge position 7
18.7.6 Modifications during rotation of milling and tapping tools
The cutting edge position is recalculated appropriately during a rotation of a milling or
tapping tool. Cut direction and tool angle (clearance angle or holder angle) are not defined
for milling and tapping tools so that the change in cutting edge position is derived exclusively
from the rotation. Thus, for milling and tapping tools, the cutting edge position always
changes when the amount of rotation with reference to the zero setting is more than 45.
18.7.7 Parameter assignment
Reaction to errors
Different fault conditions can occur during the activation of the "Cutting edge data
modification for rotary tools" function (via explicit call with CUTMOD or through a tool selection).
For each of these possible fault conditions, one can define whether the error is to trigger an
alarm output, whether such an alarm is only to be displayed (warning), or whether
additionally the interpretation of the part program must be cancelled. The setting is done via
the following machine data:
MD20125 $MC_CUTMOD_ERR
W1: Tool offset
18.7 Cutting data modification for tools that can be rotated
Basic Functions
1568 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Two bits of the machine data are assigned to each fault condition:
Fault condition Bit Description
0 Alarm output for error "Invalid cut direction" No valid cut direction is defined for
the active tool.
1 Program stop for error "Invalid cut direction"
2 Alarm output for error "Not defined cutting edge angle" The cutting edge angle (clearance
angle and holder angle) of the
active tool are both zero.
3 Program stop for error "Not defined cutting edge angle"
4 Alarm output for error "Invalid clearance angle" The clearance angle of the active
tool has an impermissible value
(< 0 or > 180).
5 Program stop for error "Invalid clearance angle"
6 Alarm output for error "Invalid holder angle" The holder angle of the active tool
has an impermissible value (< 0 or
> 90).
7 Program stop for error "Invalid holder angle"
8 Alarm output for error "Invalid plate angle" The plate angle of the active tool
has an impermissible value (< 0 or
> 90).
9 Program stop for error "Invalid plate angle"
10 Alarm output for error "Invalid cutting edge position -
holder angle combination"
The cutting edge position - holder
angle combination of the active tool
is not permitted (the holder angle
must be 90 for cutting edge
position 1 to 4; for cutting edge
positions 5 to 8 it must be 90).
11 Program stop for error "Invalid cutting edge position -
holder angle combination"
12 Alarm output for error "Invalid rotation" Inadmissible rotation of the active
tool (the tool was rotated from the
active machining plane by 90
(with a tolerance of about 1).
Hence the cutting edge position is
no longer defined in the machining
plane.
13 Program stop for error "Invalid rotation"
Response to POWER ON
The "cutting edge data modification for rotary tools" function (CUTMOD) is initialized
automatically during POWER ON with the value stored in machine data:
MD20127 $MC_CUTMOD_INIT
If the value of this machine data is "-2", CUTMOD is set to the value that is set in machine
data:
MD20126 $MC_TOOL_CARRIER_RESET_VALUE (Active toolholder at RESET)
W1: Tool offset
18.7 Cutting data modification for tools that can be rotated
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1569
18.7.8 Programming
The "Cutting edge data modification for rotary tools" function is activated with the CUTMOD
command.
Syntax
CUTMOD=<value>
Description
CUTMOD
Command to switch-in the function "cutting data modification for tools that can
be rotated"
The following values can be assigned to the CUTMOD command:
0 The function is deactivated.
The values supplied from system variables $P_AD... are the same as
the corresponding tool parameters.
> 0 The function is activated if a toolholder that can be orientated with the
specified number is active, i.e. the activation is linked to a specific
toolholder that can be orientated.
The values supplied from system variables $P_AD... may be modified
with respect to the corresponding tool parameters depending on the
active rotation.
The deactivation of the designated toolholder that can be orientated
temporarily deactivates the function; the activation of another
toolholder that can be orientated permanently deactivates it. This is
the reason that in the first case, the function is re-activated when
again selecting the same toolholder that can be orientated; in the
second case, a new selection is required - even if at a subsequent
time, the toolholder that can be orientated is re-activated with the
specified number.
The function is not influenced by a reset.
-1 The function is always activated if a toolholder that can be orientated
is active.
When changing the toolholder or when de-selecting it and a
subsequent new selection, CUTMOD does not have to be set again.
<value>
-2 The function is always activated if a toolholder that can be orientated
is active whose number is the same as the currently active toolholder
that can be orientated.
If a toolholder that can be orientated is not active, then this has the
same significance as CUTMOD=0.
If a toolholder that can be orientated is active, then this has the same
significance as when directly specifying the actual toolholder number.
W1: Tool offset
18.7 Cutting data modification for tools that can be rotated
Basic Functions
1570 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
< -2 Values less than 2 are ignored, i.e. this case is treated as if CUTMOD
was not programmed.
Note:
This value range should not be used as it is reserved for possible
subsequent expansions.
Note
SD42984 $SC_CUTDIRMOD
The function can be activated using the CUTMOD command replaces the function that can be
activated using the setting data SD42984 $SC_CUTDIRMOD. However, this function
remains available unchanged. However, as it doesn't make sense to use both functions in
parallel, it can only be activated if CUTMOD is equal to zero.
Effectiveness of the modified cutting data
The modified tool nose position and the modified tool nose reference point are immediately
effective when programming, even for a tool that is already active. A tool does not have to be
re-selected for this purpose.
Influence of the active machining plane
To determine modified tool nose position, cutting direction and holder or clearance angle, the
evaluation of the cutting edge in the active plane (G17 - G19) is decisive.
However, if setting data SD42940 $SC_TOOL_LENGTH_CONST (change of the tool length
component when selecting the plane), a valid value not equal to zero (plus or minus 17, 18
or 19), then its contents define the plane in which the relevant quantities are evaluated.
W1: Tool offset
18.7 Cutting data modification for tools that can be rotated
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1571
System variables
The following system variables are available:
System variables Description
$P_CUTMOD_ANG /
$AC_CUTMOD_ANG
Supplies the (non-rounded) angle in the active machining plane, that was
used as basis for the modification of the cutting data (tool nose position,
cut direction, clearance angle and holder angle) for the functions
activated using CUTMOD and/or $SC_CUTDIRMOD.
$P_CUTMOD_ANG refers to the actual state in the preprocessing,
$AC_CUTMOD_ANG to the actual main run block.
$P_CUTMOD /
$AC_CUTMOD
Reads the currently valid value that was last programmed using the
command CUTMOD (number of the toolholder that should be activated for
the cutting data modification).
If the last programmed CUTMOD value = -2 (activation with the currently
active toolholder that can be orientated), then the value -2 is not returned
in $P_CUTMOD, but the number of the active toolholder that can be
orientated at the time of programming.
$P_CUTMOD refers to the actual state in the preprocessing,
$AC_CUTMOD to the actual main run block.
$P_CUT_INV /
$AC_CUT_INV
Supplies the value TRUE if the tool is rotated so that the spindle direction
of rotation must be inverted. To do this, the following four conditions must
be fulfilled in the block to which the read operations refer:
1. If a turning or grinding tool is active
(tool types 400 to 599 and / or
SD42950 $SC_TOOL_LENGTH_TYPE = 2).
2. The cutting influence was activated using the language command
CUTMOD.
3. A toolholder that can be orientated is active, which was designated
using the numerical value of CUTMOD. Check - I reformulated.
4. The toolholder that can be orientated rotates the tool around an axis
in the machining plane (this is typically the C axis) so that the
resulting perpendicular of the tool cutting edge is rotated with respect
to the initial position by more than 90 (typically 180).
The contents of the variable is FALSE if at least one of the specified four
conditions is not fulfilled. For tools whose tool nose position is not
defined, the value of the variable is always FALSE.
$P_CUT_INV refers to the actual state in the preprocessing and
$AC_CUT_INV to the actual main run block.
All main run variables ($AC_CUTMOD_ANG, $AC_CUTMOD and $AC_CUT_INV) can be
read in synchronized actions. A read access operation from the preprocessing generates a
preprocessing stop.
Modified cutting data
If a tool rotation is active, the modified data are made available in the following system
variables:
System variable Description
$P_AD[2] Length of cutting edge
$P_AD[10] Holder angle
W1: Tool offset
18.7 Cutting data modification for tools that can be rotated
Basic Functions
1572 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
System variable Description
$P_AD[11] Cut direction
$P_AD[24] Clearance angle
Note
The data are always modified with respect to the corresponding tool parameters
($TC_DP2[..., ...] etc.) if the function "cutting data modification for rotatable tools" was
activated using the command CUTMOD and a toolholder that can be orientated, which causes a
rotation, is activated.
18.7.9 Example
The following example refers to a tool with tool nose position 3 and a toolholder that can be
orientated, which can rotate the tool around the B axis.
The numerical values in the comments specify the end of block positions in the machine
coordinates (MCS) in the sequence X, Y, Z.
Program code Comment
N10 $TC_DP1[1,1]=500
N20 $TC_DP2[1,1]=3 ; Length of cutting edge
N30 $TC_DP3[1,1]=12
N40 $TC_DP4[1,1]=1
N50 $TC_DP6[1,1]=6
N60 $TC_DP10[1,1]=110 ; Holder angle
N70 $TC_DP11[1,1]=3 ; Cut direction
N80 $TC_DP24[1,1]=25 ; Clearance angle
N90 $TC_CARR7[2]=0 $TC_CARR8[2]=1 $TC_CARR9[2]=0 ; B axis
N100 $TC_CARR10[2]=0 $TC_CARR11[2]=0 $TC_CARR12[2]=1 ; C axis
N110 $TC_CARR13[2]=0
N120 $TC_CARR14[2]=0
N130 $TC_CARR21[2]=X
N140 $TC_CARR22[2]=X
N150 $TC_CARR23[2]="M"
N160 TCOABS CUTMOD=0
N170 G18 T1 D1 TCARR=2 X Y Z
N180 X0 Y0 Z0 F10000 ; 12.000 0.000 1.000
N190 $TC_CARR13[2]=30
N200 TCARR=2
N210 X0 Y0 Z0 ; 10.892 0.000 -5.134
W1: Tool offset
18.7 Cutting data modification for tools that can be rotated
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1573
Program code Comment
N220 G42 Z10 ; 8.696 0.000 17.330
N230 Z20 ; 8.696 0.000 21.330
N240 X10 ; 12.696 0.000 21.330
N250 G40 X20 Z0 ; 30.892 0.000 5.134
N260 CUTMOD=2 X0 Y0 Z0 ; 8.696 0.000 7.330
N270 G42 Z10 ; 8.696 0.000 17.330
N280 Z20 ; 8.696 0.000 21.330
N290 X10 ; 12.696 0.000 21.330
N300 G40 X20 Z0 ; 28.696 0.000 7.330
N310 M30
Explanations:
In block N180, initially the tool is selected for CUTMOD=0 and non-rotated toolholders that can be
orientated. As all offset vectors of the toolholder that can be orientated are 0, the position
that corresponds to the tool lengths specified in $TC_DP3[1,1] and $TC_DP4[1,1] is
approached.
The toolholder that can be orientated with a rotation of 30 around the B axis is activated in
block N200. As the tool nose position is not modified due to CUTMOD=0, the old tool nose
reference point is decisive just as before. This is the reason that in block N210 the position is
approached, which keeps the old tool nose reference point at the zero (i.e. the vector (1, 12)
is rotated through 30 in the Z/X plane).
In block N260, contrary to block N200 CUTMOD=2 is effective. As a result of the rotation of the
toolholder that can be orientated, the modified tool nose position becomes 8. The
consequence of this is also the different axis positions.
The tool radius compensation (TRC) is activated in blocks N220 and/or N270. The different
tool nose positions in both program sections has no effect on the end positions of the blocks
in which the TRC is active; the corresponding positions are therefore identical. The different
tool nose positions only become effective again in the deselect blocks N260 and/or N300.
W1: Tool offset
18.8 Incrementally programmed compensation values
Basic Functions
1574 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.8 Incrementally programmed compensation values
18.8.1 G91 extension
Prerequisites
Incremental programming with G91 is defined such that the compensation value is traversed
additively to the incrementally programmed value when a tool compensation is selected.
Applications
For applications such as scratching, it is necessary only to traverse the path programmed in
the incremental coordinates. The activated tool compensation is not traversed.
Sequence
Selection of a tool compensation with incremental programming
Scratch workpiece with tool tip.
Save the actual position in the basic frame (set actual value) after reducing it by the tool
compensation.
Traverse incrementally from the zero position.
Activation
With setting data:
SD42442 $SC_TOOL_OFFSET_INCR_PROG,
it is possible to define whether a changed tool length is traversed with FRAME and incremental
programming of an axis, or whether only the programmed path is traversed.
Zero offset/frames G91
With setting data:
SD42440 $SC_FRAME_OFFSET_INCR_PROG,
it is possible to define whether a zero offset is traversed as standard with value = 1 with
FRAME and incremental programming of an axis, or whether only the programmed path is
traversed with value = 0.
References:
/FB1/ Function Manual, Basic Functions; Axes, Coordinate Systems, Frames (K2),
Chapter: "Frames"
W1: Tool offset
18.8 Incrementally programmed compensation values
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1575
Supplementary condition
If the behavior is set such that the offset remains active even after the end of the program
and RESET (MD20110 $MC_RESET_MODE_MASK, bit6=1), and if an incremental path is
programmed in the first part program block, the compensation is always traversed additively
to the programmed path.
Note
With this configuration, part programs must always begin with absolute programming.
18.8.2 Machining in direction of tool orientation
Typical application
On machines with toolholders with orientation capability, traversing should take place in the
tool direction (typically, when drilling) without activating a frame (e.g., using TOFRAME or
TOROT), on which one of the axes points in the direction of the tool.
This is also true of machines on which a frame defining the oblique plane is active during
oblique machining operations, but the tool cannot be set exactly perpendicular because an
indexed toolholder (Hirth tooth system) is restricting the setting of the tool orientation.
In these cases it is then necessary - contrary to the motion actually requested perpendicular
to the plane - to drill in the tool direction, as the drill would otherwise not be guided in the
direction of its longitudinal axis, which, among other things, would lead to breaking of the
drill.
MOVT
The end point of such a motion is programmed with MOVT= .... The programmed value is
effective incrementally in the tool direction as standard. The positive direction is defined from
the tool tip to the toolholder. The content of MOVT is thus generally negative for the infeed
motion (when drilling), and positive for the retraction motion. This corresponds to the
situation with normal paraxial machining, e.g., with G91Z ....
If the motion is programmed in the form MOVT=AC( ...), MOVT functions absolutely. In this
case a plane is defined, which runs through the current zero point, and whose surface
normal vector is parallel to the tool orientation. MOVT then gives the position relative to this
plane:
W1: Tool offset
18.8 Incrementally programmed compensation values
Basic Functions
1576 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Tool
Auxiliary plane
MOVT = AC ( ....)
X
Z
Figure 18-48 Definition of the position for absolute programming of a motion in tool direction
The reference to this auxiliary plane serves only to calculate the end position. Active frames
are not affected by this internal calculation.
Instead of MOVT= ... it is also possible to write MOVT=IC( ...) if it is to be plainly visible that
MOVT is to function incrementally. There is no functional difference between the two forms.
Supplementary conditions
The following supplementary conditions apply to programming with MOVT:
It is independent of the existence of a toolholder with orientation capability. The direction
of the motion is dependent on the active plane. It runs in the direction of the vertical axes,
i.e., with G17 in Z direction, with G18 in Y direction and with G19 in X direction. This applies
both where no toolholder with orientation capability is active and for the case of a
toolholder with orientation capability without rotary tool or with a rotary tool in its basic
setting.
MOVT acts similarly for active orientation transformation (3-4-5-axis transformation).
If in a block with MOVT the tool orientation is changed simultaneously (e.g., active 5-axis
transformation by means of simultaneous interpolation of the rotary axes), the orientation
at the start of the block is decisive for the direction of movement of MOVT. The path of the
tool tip (TCP - Tool Center Point) is not affected by the change in orientation.
Linear or spline interpolation (G0, G1, ASPLINE, BSPLINE, CSPLINE) must be active.
Otherwise, an alarm is produced. If a spline interpolation is active, the resultant path is
generally not a straight line, since the end point determined by MOVT is treated as if it had
been programmed explicitly with X, Y, Z.
A block with MOVT must not contain any programming of geometry axes (alarm 14157).
W1: Tool offset
18.9 Basic tool orientation
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1577
18.9 Basic tool orientation
Application
Normally, the orientation assigned to the tool itself depends exclusively on the active
machining plane. For example, the tool orientation is parallel to Z with G17, parallel to Y with
G18 and parallel to X with G19.
Different tool orientations can only be programmed by activating a 5-axis transformation. The
following system variables have been introduced in order to assign a separate orientation to
each tool cutting edge:
System variable Description of tool orientation Format Preassignment
$TC_DPV[t, d] Tool cutting edge orientation
INT
0
$TC_DPV3[t, d] L1 component of tool orientation
REAL
0
$TC_DPV4[t, d] L2 component of tool orientation
REAL
0
$TC_DPV5[t, d] L3 component of tool orientation
REAL
0
Indexing: Same as tool system variable $TC_DPx[t, d]
t: T number of cutting edge
d: D number of cutting edge
Identifiers $TC_DPV3 to $TC_DPV5 are analogous to identifiers $TC_DP3 to $TC_DP5 of
the tool length components.
MD18114
The system variables for describing the tool orientation are only available if machine data is
not equal to zero:
MD18114 $MN_MM_ENABLE_TOOL_ORIENT (assign orientation to tool cutting)
MD18114 $MN_MM_ENABLE_TOOL_ORIENT
Value = 1 Only system variable $TC_DPV[t, d] is available.
Value = 2 All four system variables are available.
W1: Tool offset
18.9 Basic tool orientation
Basic Functions
1578 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Define direction vector
If all four system variables contain 0, the orientation is defined only by the active plane (as
before).
If system variable $TC_DPV[t, d] is equal to zero, the other three parameters - if available -
define a direction vector. The amount of the vector is insignificant.
Example:
$TC_DPV[1, 1] = 0
$TC_DPV3[1, 1] = 1.0
$TC_DPV4[1, 1] = 0.0
$TC_DPV5[1, 1] = 1.0
In this example, the basic orientation points in the direction of the bisector in the L1-L3 plane,
i.e., the basic orientation in the bisector for a milling tool and active plane G17 lies in the Z/X
plane.
Basic orientation of tools
Basic orientation of: With :
Turning and grinding tools
G18
Milling tools
G17
The active tool orientation is unchanged in these cases and is equivalent to the original
settings in $TC_DPVx[t, d].
The basic orientation is always the direction perpendicular to the plane in which tool radius
compensation is performed. With turning tools, in particular, the tool orientation generally
coincides with the longitudinal tool axis.
The setting data specified below are effective only if the basic orientation of the tool is
defined by an entry in at least one of the system variables $TC_DPVx[t, d].
They have no effect if the tool orientation is only determined by the plane selection G17 - G19
and is compatible with previous behavior.
The plane of the basic orientation for a cutting edge is treated either like a milling tool or like
a turning tool, irrespective of the entry in $TC_DP1, if the following setting data is not equal
to zero:
SD42950 $SC_TOOL_LENGTH_TYPE (allocation of the tool length components
independent of tool type)
Plane change
A change of plane causes a change in orientation.
W1: Tool offset
18.9 Basic tool orientation
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1579
The following rotations are initiated:
When changing from: Rotations
G17 G18:
G18 G19:
G19 G17:
Rotation through -90 degrees about the Z axis
followed by rotation through -90 degrees about the X
axis
G17 G19:
G18 G17:
G19 G18:
Rotation through 90 degrees about the X axis
followed by rotation through 90 degrees about the Z
axis
These rotations are the same as those that have to be performed in order to interchange the
components of the tool length vector on a change of plane.
The basic orientation is also rotated when an adapter transformation is active.
If the following setting data is not equal to zero, the tool orientation is not rotated on a
change of plane:
SD42940 $SC_TOOL_LENGTH_CONST (change of tool length components on change of
planes).
Tool length components
The components of the tool orientation are treated the same as the components of the tool
length, with respect to setting data:
SD42910 $SC_MIRROR_TOOL_LENGTH (Sign change tool wear when mirroring).
SD42950 $SC_TOOL_LENGTH_TYPE (allocation of the tool length components
independent of tool type)
Therefore the components are changed respectively and assigned to the geometry axis.
System variable $TC_DPV[t, d]
The purpose of system variable $TC_DPV[t, d] is to allow the simple specification of certain
basic orientations (parallel to coordinate axes) that are required frequently. The permissible
values are shown in the table below. The values in the first and second/third columns are
equivalent.
Basic orientation $TC_DPV[t, d]
Milling tools * Turning tools *
0 or > 6 ($TC_DPV5[t, d],
$TC_DPV4[t, d],
$TC_DPV3[t, d],) **
($TC_DPV3[t, d],
$TC_DPV5[t, d],
$TC_DPV4[t, d],) **
1 (0, 0, V) (0, V, 0)
2 (0, V, 0) (0, 0, V)
3 (V, 0, 0) (V, 0, 0)
4 (0, 0, -V) (0, -V, 0)
W1: Tool offset
18.9 Basic tool orientation
Basic Functions
1580 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Basic orientation $TC_DPV[t, d]
Milling tools * Turning tools *
5 (0, -V, 0) (0, 0, -V)
6 (-V, 0, 0) (-V, 0, 0)
* Turning tools in this context are any tools whose tool type ($TC_DP1[t, d]) is between 400 and
599. All other tool types refer to milling tools.
** If all three values $TC_DPV3[t, d], $TC_DPV4[t, d], $TC_DPV5[t, d] are equal to zero in this
case, the tool orientation is determined by the active machining plane (default).
V Stands for a positive value in the corresponding system variables.
Example:
For milling tools:
$TC_DPV[t, d] = 2 is equal to:
$TC_DPV3[t, d] = 0, $TC_DPV4[t, d] = 0, $TC_DPV5[t, d] = V.
Supplementary conditions
If the "Scratch" function is used in the RESET state, the following must be noted with respect
to the initial setting:
The wear components are evaluated depending on the initial settings of the G-code
groups TOWSTD, TOWMCS and TOWWCS.
If a value other than the initial setting is needed to ensure correct calculation, scratching
may be performed only in the STOP state.
Note
"Special handling of tool compensations" pays particular attention to tool compensations
with evaluation of sign for tool length with wear and temperature fluctuations.
The following are taken into account:
Tool type
Transformations for tool components
Assignment of tool length components to geometry axes independently of tool type
W1: Tool offset
18.10 Special handling of tool compensations
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1581
18.10 Special handling of tool compensations
18.10.1 Relevant setting data
SD42900- 42960
Setting data SD42900 - SD42940 can be used to make the following settings with reference
to tool compensation:
Sign of the tool length
Sign of the wear
Behavior of the wear components when mirroring geometry axes
Behavior of the wear components when changing the machining plane via setting data
Allocation of the tool length components independent of actual tool type
Transformation of wear components into a suitable coordinate system for controlling the
effective tool length
Note
In the following description, the wear includes the total values of the following
components:
Wear values: $TC_DP12 to $TC_DP20
Sum offset, consisting of:
Wear values: $SCPX3 to $SCPX11
Setup values: $ECPX3 to $ECPX11
You will find detailed information about sum and tool offsets in:
References:
/FBW/ Function Manual Tool Management
/PG/ Programming Manual Fundamentals; Tool Compensations
Required setting data
SD42900 $SC_MIRROR_TOOL_LENGTH (mirroring of tool length components and
components of the tool base dimension)
SD42910 $SC_MIRROR_TOOL_WEAR (mirroring of wear values of tool length
components)
SD42920 $SC_WEAR_SIGN_CUTPOS (sign evaluation of the wear components)
SD42930 $SC_WEAR_SIGN (inverts the sign of the wear dimensions)
SD42940 $SC_TOOL_LENGTH_CONST (allocation of the tool length components to the
geometry axes)
W1: Tool offset
18.10 Special handling of tool compensations
Basic Functions
1582 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
SD42950 $SC_TOOL_LENGTH_TYPE (allocation of the tool length components
independent of tool type)
SD42935 $SC_WEAR_TRANSFORM (transformation of wear values)
SD42960 $SC_TOOL_TEMP_COMP (tool length offsets)
18.10.2 Mirror tool lengths (SD42900 $SC_MIRROR_TOOL_LENGTH)
Activation
Tool length mirroring is activated via the setting data:
SD42900 $SC_MIRROR_TOOL_LENGTH <> 0 (TRUE) (Sign change tool length when
mirroring)
Function
The following components are mirrored by inverting the sign:
Tool lengths: $TC_DP3, $TC_DP4, $TC_DP5
Tool base dimensions: $TC_DP21, $TC_DP22, $TC_DP23
Mirroring is performed for all tool base dimensions whose associated axes are mirrored.
Wear values are not mirrored.
Mirror wear values
The following setting data should be set in order to mirror the wear values:
SD42910 $SC_MIRROR_TOOL_WEAR <> 0 (Sign change tool wear when mirroring)
Inverting the sign mirrors the wear values of the tool length components whose associated
axes are mirrored.
W1: Tool offset
18.10 Special handling of tool compensations
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1583
Machining situation 1:
D13 is working in WCS 1
Machining situation 2:
D13 is working in WCS 2
D13
Z
1
Z
2
W
1
W
2
M
1
M
2
X
1
X
2
Figure 18-49 Application example: Double-spindle turning machine
18.10.3 Mirror wear lengths (SD42920 $SC_WEAR_SIGN_CUTPOS)
Activation
Wear length mirroring is activated by:
SD42920 $SC_WEAR_SIGN_CUTPOS <> 0 (TRUE) (Sign of wear for tools with cutting
edge systems)
Function
Length of cutting edge Length 1 Length 2
1 --- ---
2 --- Inverted
3 Inverted Inverted
4 Inverted ---
5 --- ---
6 --- ---
7 --- Inverted
8 Inverted ---
9 --- ---
W1: Tool offset
18.10 Special handling of tool compensations
Basic Functions
1584 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
In the case of tool types without a relevant cutting edge position, the wear length is not
mirrored.
Note
The mirroring (sign inversion) in one or more components can cancel itself through a
simultaneous activation of the functions:
Tool length-mirroring (SD42900 <> 0)
And:
Tool length-mirroring (SD42920 <> 0)
SD42930 $SC_WEAR_SIGN
Setting data not equal to zero:
Inverts the sign of all wear dimensions. This affects both the tool length and other variables
such as tool radius, rounding radius, etc.
Entering a positive wear dimension makes the tool "shorter" and "thinner".
Activation of modified setting data
When the setting data described above are modified, the tool components are not
reevaluated until the next time a tool edge is selected. If a tool is already active and the data
of this tool are to be reevaluated, the tool must be selected again.
Example:
N10 $SC_WEAR_SIGN = 0 ; No sign inversion of the wear values
N20 $TC_DP1[1,1] = 120 ; End mill
N30 $TC_DP6[1,1] = 100 ; Tool radius 100 mm
N40 $TC_DP15[1,1] = 1 ; Wear dimension of tool radius 1 mm, resulting
tool radius 101 mm
N100 T1 D1 G41 X150 Y20
....
N150 G40 X300N10
....
N200 $SC_WEAR_SIGN = 1 ; Sign inversion for all wear values; the new
radius of 99 mm is activated on a new
selection (D1). Without D1, the radius would
continue to be 101 mm.
N300 D1 G41 X350 Y-20
N310 ....
The same applies in the event that the resulting tool length is modified due to a change in
the mirroring status of an axis. The tool must be selected again after the mirror command, in
order to activate the modified tool-length components.
W1: Tool offset
18.10 Special handling of tool compensations
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1585
18.10.4 Tool length and plane change (SD42940 $SC_TOOL_LENGTH_CONST)
Plane change
The assignment of tool length components (length, wear and tool base dimension) to
geometry axes does not change when the machining plane is changed (G17G19).
Assignment of tools
The assignment of tool length components to geometry axes for turning and grinding tools
(tool types 400 to 599) is generated from the value of the following setting data in
accordance with the following table:
SD42940 $SC_TOOL_LENGTH_CONST (change of tool length components on change of
planes).
Layer Length 1 Length 2 Length 3
17 Y X Z
*) X Z Y
19 Z Y X
-17 X Y Z
-18 Z X Y
-19 Y Z X
*) Each value not equal to 0, which is not equal to one of the six listed values, is evaluated as value
18.
The following table shows the assignment of tool length components to geometry axes for all
other tools (tool types < 400 or > 599):
Layer Length 1 Length 2 Length 3
*) Z Y X
18 Y X Z
19 X Z Y
-17 Z X Y
-18 Y Z X
-19 X Y Z
*) Each value not equal to 0, which is not equal to one of the six listed values, is evaluated as value
17.
W1: Tool offset
18.10 Special handling of tool compensations
Basic Functions
1586 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Note
For representation in tables, it is assumed that geometry axes 1 to 3 are named X, Y, Z. The
axis order and not the axis identifier determines the assignment between a compensation
and an axis.
Three tool length components can be arranged on the 6 different types above.
18.10.5 Tool type (SD42950 $SC_TOOL_LENGTH_TYPE)
Definition of the assignment between tool length components (length, wear and tool base
dimension) and geometry axes independent of tool type.
Setting data not equal to zero: (the default definition is applied)
A distinction is made between turning and grinding tools (tool types 400 to 599) and other
tools (milling tools).
The value range is from 0 to 2. Any other value is interpreted as 0.
The assignment of tool length components is always independent of the actual tool type.
Value = 1: Always as for milling tools
Value = 2: Always as for turning tools
Toolholder with orientation capability
Setting data SD42900 - SD42950
Setting data SD42900 - SD42950 have no effect on the components of an active toolholder
with orientation capability. The calculation with a toolholder with orientation capability always
allows for a tool with its total resulting length (tool length + wear + tool base dimension). The
calculation of the resulting total length allows for all modifications caused by the setting data.
Note
When toolholders with orientation capability are used, it is common to define all tools for a
non-mirrored basic system, even those, which are only used for mirrored machining. When
machining with mirrored axes, the toolholder is then rotated such that the actual position of
the tool is described correctly. All tool-length components then automatically act in the
correct direction, dispensing with the need for control of individual component evaluation via
setting data, depending on the mirroring status of individual axes.
The use of toolholders with orientation capability is also practical if the physical
characteristics of the machine type prevents tools, which are permanently installed with
different orientations, from being rotated. Tool dimensioning can then be performed uniformly
in a basic orientation, where the dimensions relevant for machining are calculated according
to the rotations of a virtual toolholder.
W1: Tool offset
18.10 Special handling of tool compensations
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1587
18.10.6 Temperature offsets in tool direction (SD42960 $SC_TOOL_TEMP_COMP)
Note
Temperature offset in the tool direction is operative only as an option with generic 5-axis
transformation, types 24 and 56.
18.10.7 Tool lengths in the WCS, allowing for the orientation
Change tool or working plane
The values displayed for the tool correspond to the expansion in the WCS. If a toolholder
with an inclined clamping position is to be used, you should make sure that the
transformation used supports the toolholder. If this is not the case, incorrect tool dimensions
will be displayed. When changing the working plane from G17 to G18 or G19, you should
ensure that the transformation can also be used for these working planes. If the
transformation is only available for G17 machining, the dimensions continue to be displayed
for a tool in the Z direction after the plane change.
When transformation is deactivated, the basic tool is displayed in the x, y or z direction,
according to the working plane. Allowance is made for a programmed toolholder. These tool
dimensions are not altered when traversing without a transformation.
W1: Tool offset
18.10 Special handling of tool compensations
Basic Functions
1588 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.10.8 Tool length offsets in tool direction
Temperature compensation in real time
On 5-axis machines with a moving tool, temperature fluctuations can occur in the machining
heads. These can result directly in expansion fluctuations, which are transmitted to the tool
spindle in the form of linear expansion. A typical case on 5-axis heads, for example, is
thermal expansion in the direction of the longitudinal spindle axis.
It is possible to compensate this thermal expansion even when the tool is orientated by
assigning the temperature compensation values to the tool rather than to the machine axes.
In this way, linear expansion fluctuations can be compensated even when the tool orientation
changes.
Using the orientation transformation whose direction is determined by the current tool
orientation, it is possible to overlay motions in real time and rotate them simultaneously. At
the same time, the compensation values are adjusted continuously in the tool coordinate
system.
Compensation applies to the "Temperature compensation" option and is active only when
the axis to be compensated is really referenced.
Activation
Temperature compensation in the tool direction is an option, which must be enabled
beforehand.
It is activated by setting the following machine data to a value other than zero.
MD20390 $MC_TOOL_TEMP_COMP_ON (Activation of temperature compensation for tool
length)
In addition, the bit 2 must be set for each affected channel axis in the machine data:
MD32750 $MA_TEMP_COMP_TYPE [<axis index>] (temperature compensation type)
This can be more than three axes in cases where more than three channel axes in
succession can be temporarily assigned to geometry axes as a result of geometry axis
replacement of transformation switchover. If this bit is not set for a particular channel axis,
the compensation value cannot be applied in the axis. This does not have any effect on other
axes. In this case, an alarm is not output.
Applicability
Temperature compensation in the tool direction is operative only with generic 5-axis
transformations with:
Transformation type 24
Two axes rotate the tool
Transformation type 56
One axis rotates the tool, the other axis rotates the workpiece without temperature
compensation
W1: Tool offset
18.10 Special handling of tool compensations
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1589
In generic 5-axis transformation with:
Transformation type 40
The tool orientation is constant with a rotary workpiece, which means that the movement
of the rotary axes on the machine does not affect the temperature compensation
direction.
Temperature compensation in the tool direction also works in conjunction with orientation
transformations (not generic 5-axis transformations) with:
Transformation type 64 to 69
Rotating linear axis
Note
Temperature compensation can be activated with all other types of transformation. It is
not affected by a change in tool orientation. The axis move as if no orientation
transformation with temperature compensation were active.
Supplementary conditions
Temperature compensation in the tool direction is an option, which must be enabled in
advance and is available:
For generic 5-axis transformation
For transformation with rotated linear axis for transformation types 64 to 69
Limit values
The compensation values are restricted to the maximum values by the machine data:
MD20392 $MC_TOOL_TEMP_COMP_LIMIT[0] (Maximum temperature compensation for
tool length)
To:
MD20392 $MC_TOOL_TEMP_COMP_LIMIT[2]
The limit value default setting is 1 mm. If a temperature compensation value higher than this
limit is specified, it will be limited without an alarm.
SD42960
The three temperature compensation values together form a compensation vector and are
contained in setting data:
SD42960 $SC_TOOL_TEMP_COMP[0] (Temperature compensation with reference to tools)
To:
SD42960 $SC_TOOL_TEMP_COMP[2]
The setting data are user-defined, e.g., using synchronized actions or from the PLC. The
compensation values can, therefore, also be used for other compensation purposes.
W1: Tool offset
18.10 Special handling of tool compensations
Basic Functions
1590 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
In the initial state or when orientation transformation is deactivated, all three compensation
values apply in the direction of the three geometry axes (in the typical order X, Y, Z). The
assignment of components to geometry axes is independent of the tool type (turning, milling
or grinding tools) and the selected machining plane G17 to G19. Changes to the setting data
values take effect immediately.
Toolholder with orientation capability
If a toolholder with orientation capability is active, the temperature compensation vector is
rotated simultaneously to any change in orientation. This applies independently of any active
orientation transformation.
If a toolholder with orientation capability is active in conjunction with a generic 5-axis
transformation or a transformation with rotating linear axis, the temperature compensation
vector is subjected to both rotations.
Note
While transformations with rotating linear axes take changes in the tool vector (length) into
account, they ignore its change in orientation, which can be effected by a toolholder with
orientation capability.
Temperature compensation values immediately follow any applied change in orientation.
This applies in particular when an orientation transformation is activated or deactivated.
The same is true when the assignment between geometry axes and channel axes is
changed. The temperature compensation value for an axis is reduced to zero
(interpolatively), for example, when it ceases to be a geometry axis after a transformation
change. Conversely, any temperature compensation value for an axis, which changes over
to geometry axis status, is applied immediately.
Examples
Temperature compensation in tool direction
Example of a 5-axis machine with rotating tool, on which the tool can be rotated about the C
and B axes.
In its initial state, the tool is parallel to the Z axis. If the B axis is rotated through 90 degrees,
the tool points in the X direction.
Therefore, a temperature compensation value in the following setting data is also effective in
the direction of the machine X axis if transformation is active:
SD42960 $SC_TOOL_TEMP_COMP[2] (Temperature compensation with reference to tools)
If the transformation is deactivated with the tool in this direction, the tool orientation is, by
definition, parallel again to the Z axis and thus different to its actual orientation. The
temperature offset in the X axis direction is therefore reduced to zero and reapplied
simultaneously in the Z direction.
W1: Tool offset
18.10 Special handling of tool compensations
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1591
Example of a 5-axis machine with rotating tool (transformation type 24). The relevant
machine data are listed below:
The first rotary axis rotates about Z C-axis
The second rotary axis rotates about Y B-axis
The essential machine data are shown in the table below:
MD20390 TOOL_TEMP_COMP_ON = TRUE ; Temperature compensation active
Option ; Activate option
MD32750 TEMP_COMP_TYPE[ AX1 ] = 4 ; Compensation in tool direction
MD32750 TEMP_COMP_TYPE[ AX2 ] = 4 ; Compensation in tool direction
MD32750 TEMP_COMP_TYPE[ AX3 ] = 4 ; Compensation in tool direction
; Assignment of transformation type 24:
MD24100 TRAFO_TYPE_1 = 24 ; Transformer type 24 in first channel
MD24110 TRAFO_AXES_IN_1[0] = 1 ; First axis of the transformation
MD24110 TRAFO_AXES_IN_1[1] = 2 ; Second axis of the transformation
MD24110 TRAFO_AXES_IN_1[2] = 3 ; Third axis of the transformation
MD24110 TRAFO_AXES_IN_1[3] = 5 ; Fifth axis of the transformation
MD24110 TRAFO_AXES_IN_1[4] = 4 ; Fourth axis of the transformation
MD24120 TRAFO_GEOAX_ASSIGN_TAB_1[0] = 1 ; Geo axis for channel axis 1
MD24120 TRAFO_GEOAX_ASSIGN_TAB_1[1] = 2 ; Geo axis for channel axis 2
MD24120 TRAFO_GEOAX_ASSIGN_TAB_1[2] = 3 ; Geo axis for channel axis 3
MD24570 TRAFO5_AXIS1_1[0] = 0.0 ;
MD24570 TRAFO5_AXIS1_1[1] = 0.0 ; Direction
MD24570 TRAFO5_AXIS1_1[2] = 1.0 ; First rotary axis is parallel to Z
MD24572 TRAFO5_AXIS1_2[0] = 0.0 ; Direction
MD24572 TRAFO5_AXIS1_2[1] = 1.0 ; Second rotary axis is parallel to Y
MD24572 TRAFO5_AXIS1_2[2] = 0.0 ;
MD25574 TRAFO5_BASE_ORIENT_1[0] = 0.0 ;
MD25574 TRAFO5_BASE_ORIENT_1[1] = 0.0 ; Basic tool orientation
MD25574 TRAFO5_BASE_ORIENT_1[2] = 1.0 ; In Z direction
NC program
Temperature compensation values in the NC program
The compensation values assigned to axes X and Z are not zero and are applied for
temperature compensation with respect to tool length. The machine axis positions reached in
each case are specified as comments in the program lines.
W1: Tool offset
18.10 Special handling of tool compensations
Basic Functions
1592 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
SD42960 TOOL_TEMP_COMP[0] = -0.3 ; First compensation value
SD42960 TOOL_TEMP_COMP[1] = 0.0 ;
SD42960 TOOL_TEMP_COMP[2] = -1.0 ; Second compensation value
; Position setpoints of the
machine axes
N10 g74 x0 y0 z0 a0 b0 ; X Y Z
N20 x20 y20 z20 f10000 ; 20.30 20.00 21.00
N30 traori() ; 20.30 20.00 21.00
N40 x10 y10 z10 b90 ; 11.00 10.00 9.70
N50 trafoof ; 10.30 10.00 11.00
N60 x0 y0 z0 b0 c0 ; 0.30 0.00 1.00
N70 m30
With the exception of block N40, temperature compensation always acts in the original
directions, as the tool is pointing in the basic orientation direction. This applies particularly in
block N50. The tool is actually still pointing in the direction of the X axis because the B axis is
still at 90 degrees. However, because the transformation is already deactivated, the applied
orientation is parallel to the Z axis again.
MD20390 TOOL_TEMP_COMP_ON = TRUE ; Temperature compensation active
Option ; Activate option
MD32750 TEMP_COMP_TYPE[ AX1 ] = 4 ; Compensation in tool direction
MD32750 TEMP_COMP_TYPE[ AX2 ] = 4 ; Compensation in tool direction
MD32750 TEMP_COMP_TYPE[ AX3 ] = 4 ; Compensation in tool direction
For more details on "Temperature compensation" see:
References:
/FB2/ Function Manual Extended Functions; Compensations (K3)
For information on "Generic 5-axis transformations" see:
References:
/FB3/ Function Manual Special Functions; 3- to 5-Axis Transformation (F2)
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1593
18.11 Sum offsets and setup offsets
18.11.1 General
Sum offsets
Sum offsets can be treated as programmable process compensations during machining and
are composed of all the error sizes (including the wear), which cause the workpiece to
deviate from the specified dimensions.
Sum offsets are a generalized type of wear. They are part of the cutting edge data. The
parameters of the sum offset refer to the geometrical data of a cutting edge.
The compensation data of a sum offset are addressed by a DL number (DL: location-
dependent; compensations with reference to the location of use).
In contrast, the wear values of a D number describe the physical wear of the cutting edge,
i.e., in special situations, the sum offset can match the wear of the cutting edge.
Sum offsets are intended for general use, i.e., with active or inactive tool management or
with the flat D number function.
Machine data are used to classify the sum offsets into:
Sum offset fine
Sum offset coarse (setup offset)
Setup offset
The setup offset is the compensation to be entered by the setup engineer before machining.
These values are stored separately in the NCK. The operator subsequently only has access
to the "sum offset fine" via HMI.
The "sum offset fine" and "sum offset coarse" are added internally in the NCK. This value is
referred to below as the sum offset.
Note
The function is enabled via the machine data setting:
MD18080 $MN_MM_TOOL_MANAGEMENT_MASK, Bit 8=1 (Gradual memory reservation
for tool management).
If kinematic transformations (e.g., 5-axis transformations) are active, the tool length is
calculated first after allowing for the various wear components. The total tool length is then
used in the transformation. Unlike the case of a toolholder with orientation capability, the
wear values are thus always included in the transformation irrespective of the G code of
group 56.
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
1594 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.11.2 Description of function
Sum offsets
Several sum offsets (DL numbers) can be defined per D number. This allows you to
determine, for example, workpiece-location-dependent compensation values and assign
them to a cutting edge. Sum offsets have the same effect as wear, i.e., they are added to the
compensation values of the D number. The data are permanently assigned to a D number.
Attitudes
You can define the following settings in machine data:
Activate sum offset
Define maximum quantity of DL data sets to be created in NCK memory
Define maximum quantity of DL numbers to be assigned to a D number
Define whether the sum offsets (fine/coarse) are to be saved during data backup
Define the sum offset to be activated, if:
A new cutting edge compensation is activated
An operator panel front RESET is performed
An operator panel front START is performed
The end of the program has been reached
The name is oriented to the logic of the corresponding machine data for tools and cutting
edges.
The "setup offset" and "sum offset fine" can be read and written via system variables and
corresponding OPI services.
Note
When tool management is active, a machine data can be used to define whether the sum
offset of a tool activated during a programmed tool change remains unchanged or is set to
zero.
Summary of compensation parameters $TC_DPx
The following general system variables were previously defined for describing a cutting edge:
$TC_DP1 Tool type
$TC_DP2 Length of cutting edge
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1595
Parameters for geometry and wear
Tool geometry compensations are assigned to system variables $TC_DP3 to $TC_DP11.
System variables $TC_DP12 to $TC_DP20 allow you to name a wear for each of these
parameters.
Geometry Wear Length compensations
$TC_DP3 $TC_DP12 Length 1
$TC_DP4 $TC_DP13 Length 2
$TC_DP5 $TC_DP14 Length 3
Geometry Wear Radius compensation
$TC_DP6 $TC_DP15 Radius
$TC_DP7 $TC_DP16 Corner radius (tool type 700; slotting saw)
Geometry Wear Further compensations
$TC_DP8 $TC_DP17 Length 4 (tool type 700; slotting saw)
$TC_DP9 $TC_DP18 Length 5
$TC_DP10 $TC_DP19 Angle 1 (angle between face of tool and torus surface)
$TC_DP11 $TC_DP20 Angle 2 (angle between tool longitudinal axis and upper
end of torus surface)
Tool base dimension/adapter dimension
$TC_DP21 Adapter length 1
$TC_DP22 Adapter length 2
$TC_DP23 Adapter length 3
Technology
System variable Clearance angle
$TC_DP24 The clearance angle is stored here for ManualTurn; tool type 5xx.
Same significance as in standard cycles for turning tools.
The tip angle of the drill is stored here for ShopMill; tool type 2xx.
Used in standard cycles for turning tools; tool type 5xx. This is the
angle at the secondary cutting edge for these tools.
$TC_DP25 The value for the cutting rate is stored here for ManualTurn.
A bit-coded value for various states of tool types 1xx and 2xx is stored
here for ShopMill.
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
1596 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Parameters of the sum and setup offsets ($TC_SCPxy-, $TC_ECPxy)
The numbering of the parameters is oriented to the numbering of system variables $TC_DP3
to $TC_DP11.
The effect of the parameters is similar to the wear (additive to the tool geometry). Up to six
sum/setup parameters can be defined per cutting edge parameter.
Tool geometry
parameter, to which the
compensation is added.
Sum/setup parameters, length compensations Tool wear
parameters
$TC_DP3 Length 1
$TC_SCP13, $TC_SCP23,$TC_SCP33,
$TC_SCP43,$TC_SCP53,$TC_SCP63
$TC_ECP13, $TC_ECP23,$TC_ECP33,
$TC_ECP43,$TC_ECP53,$TC_ECP63
The numbers in bold, 1, 2, ... 6, designate the
parameters of a maximum of six (location-dependent
or similar) compensations that can be programmed
with DL =1 to 6 for the parameter specified in column
one.
$TC_DP12
$TC_DP4 Length 2
$TC_SCP14, $TC_SCP24,$TC_SCP34,
$TC_SCP44,$TC_SCP54,$TC_SCP64
$TC_ECP14, $TC_ECP24,$TC_ECP34,
$TC_ECP44,$TC_ECP54,$TC_ECP64
$TC_DP13
$TC_DP5 Length 3
etc.
$TC_DP14
Radius compensation
$TC_DP6 Radius $TC_DP15
$TC_DP7 Corner radius $TC_DP16
Further compensations
$TC_DP8 Length 4 $TC_DP17
$TC_DP9 Length 5 $TC_DP18
$TC_DP10 Angle 1,
etc.
$TC_DP19
$TC_DP11 Angle 2
$TC_SCP21, $TC_SCP31,$TC_SCP41,
$TC_SCP51,$TC_SCP61,$TC_SCP71
$TC_ECP21, $TC_ECP31,$TC_ECP41,
$TC_ECP51,$TC_ECP61,$TC_ECP71
The numbers in bold, 2, 3, ... 7, designate the
parameters of a maximum of six (location-dependent
or similar) compensations that can be programmed
with DL =1 to 6 for the parameter specified in column
one.
$TC_DP20
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1597
Supplementary conditions
The maximum number of DL data sets of a cutting edge and the total number of sum offsets
in the NCK are defined by machine data. The default value is zero, i.e., no sum offsets can
be programmed.
Activate the "monitoring function" to monitor a tool for wear or for "sum offset".
The additional sum/setup data sets use additional buffered memory. 8 bytes are required per
parameter.
A sum-offset data set requires: 8 bytes * 9 parameters = 72 bytes
A setup data set requires an equal amount of memory. A certain number of bytes is also
required for internal administration data.
18.11.3 Activation
Function
The function must be activated via the machine data:
MD18108 $MN_MM_NUM_SUMCORR (sum offsets in TO area).
System variables $TC_ECPx and $TC_SCPx and setup and sum offsets ("fine") defined via
the OPI interface can be activated in the part program.
This is done by programming the language command DL="number".
When a new D number is activated, either a new DL number is programmed, or the DL
number defined via the following machine data becomes active:
MD20272 $MC_SUMCORR_DEFAULT (basic setting of the additive offset without a
program)
DL programming
The sum offset is always programmed relative to the active D number with the command:
DL = "n"
The sum offset "n" is added to the wear of the active D number.
Note
If you use "setup offset" and "sum offset fine", both compensations are combined and added
to the tool wear.
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
1598 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The sum offset is deselected with the command:
DL = 0
Note
DL0 is not allowed. If compensation is deselected (D0 and T0), the sum offset also becomes
ineffective.
Programming a sum offset that does not exist triggers an alarm, similar to programming a D
compensation that does not exist.
Thus, only the defined wear remains part of the compensation (defined in system variables
$TC_DP12 to $TC_DP20).
Programming a sum offset when a D compensation is active (also applies to deselection)
has the same effect on the path as programming a D command. An active radius
compensation will, therefore, lose its reference to adjacent blocks.
Configuration
MD18112 $MN_MM_KIND_OF_SUMCORR, bit 4=0: (Properties of sum offset in the TO
area) default setting:
Only one set of sum offsets exists per DL number.
We refer in general to the sum offset.
This describes the data represented by $TC_SCPx.
D offset 2
Sum offset 2
Sum offset 1
$TC_SCP13[t , 2] ...
$TC_SCP21[t, 2 ]
$TC_SCP23[t , 2] ...
$TC_SCP31[t, 2 ]
$TC_DP1[t , 2] ...
$TC_DP3[t , 2] ...
$TC_DP11[t , 2] ...
$TC_DP25[t , 2] ...
Figure 18-50 MD18112 $MN_MM_KIND_OF_SUMCORR, bit 4 = 0
Tool T = t is active. With the data in the figure, the following is programmed:
D2 ; Cutting edge offsets, i.e., $TC_DP3 to $TC_DP11 + wear
($TC_DP12 to $TC_DP20) + adapter dimension
...
DL=1 ; Sum offset 1 is added to the previous D2 compensations, i.e.,
$TC_SCP13 to $TC_SCP21.
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1599
...
DL=2 ; Sum offset 2 is added to the D2 compensation instead of sum
offset 1, i.e., $TC_SCP23 to $TC_SCP31.
...
DL=0 ; Deselection of sum offset;
only the data of D2 remain active.
MD18112 $MN_MM_KIND_OF_SUMCORR, bit 4=1: Setup offsets are available
The sum offset is now composed of the "sum offset fine" (represented by $TC_SCPx) and
the setup offset (represented by $TC_ECPx). Two data sets therefore exist for one DL
number. The sum offset is calculated by adding the corresponding components ($TC_ECPx
+ $TC_SCPx).
Sum offset
fine 2
Setup offset 2
Sum offset
fine 1
Setup offset 1
D offset 2
$TC_DP1[t , 2 ]
$TC_DP25[t , 2 ]
$TC_ECP13[t , 2 ]
$TC_ECP21[t, 2 ]
$TC_ECP23[t, 2 ]
$TC_ECP31[t, 2 ]
$TC_DP3[t , 2 ]
$TC_DP11[t , 2 ]
$TC_SCP13[t , 2 ]
$TC_SCP21[t, 2 ]
$TC_SCP23[t , 2 ]
$TC_SCP31[t, 2 ]
$TC_DPCE[t, 2 ]
Figure 18-51 MD18112 $MN_MM_KIND_OF_SUMCORR, bit 4 = 1 "setup offsets" + "sum offsets fine"
Tool T = t is active. With the data in the figure, the following is programmed:
D2 ; Cutting edge compensations, i.e., $TC_DP3 to $TC_DP11 + wear
($TC_DP12 to $TC_DP20) + adapter dimension
...
DL=1 ; Sum offset 1 is added to the previous D2 compensations, i.e.,
$TC_ECP13 + $TC_SCP13 to $TC_ECP21 + $TC_SCP21.
...
DL=2 ; Sum offset 2 is added to the D2 compensation instead of sum
offset 1; i.e., $TC_ECP23 + $TC_SCP23,...$TC_ECP31 + $TC_SCP31
...
DL=0 ; Deselection of sum offset. Only the data of D2 remain active.
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
1600 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Reading/writing in the part program
The individual sets of sum offset parameters are differentiated according to the number
ranges of system variable $TC_SCP.
The significance of the individual variables is similar to geometry variables $TC_DP3 to
$TC_DP11. Only length 1, length 2 and length 3 are enabled for the basic functionality
(variables $TC_SCP13 to $TC_SCP15 for the first sum offset of the cutting edge).
R5 = $TC_SCP13[ t, d ] ; Sets the value of the R parameter to the value
of the first component of sum offset 1 for
cutting edge (d) on tool (t).
R6 = $TC_SCP21[ t, d ] ; Sets the value of the R parameter to the value
of the last component of sum offset 1 for
cutting edge (d) on tool (t).
R50 = $TC_SCP23[ t, d ] ; Sets the value of the R parameter to the value
of the first component of sum offset 2 for
cutting edge (d) on tool (t).
$TC_SCP43[ t, d ] = 1.234 ; Sets the value of the first component of sum
offset 4 for cutting edge (d) on tool (t) to the
value 1.234.
The above statements also apply to the setup offsets (if the NCK is configured with this
option), i.e.,
R5 = $TC_ECP13[ t, d ] ; Sets the value of the R parameter to the value
of the first component of setup offset 1 for
cutting edge (d) on tool (t).
R6 = $TC_ECP21[ t, d ] ; Sets the value of the R parameter to the value
of the last component of setup offset 1 for
cutting edge (d) on tool (t).
etc.
When working with setup offsets, "sum offsets fine" are written with the $TC_SCPx system
variables.
Creating a new sum offset
If the compensation data set (x) does not yet exist, it is created on the first write operation to
one of its parameters (y).
$TC_SCPxy[ t, d ] = r.r ; Parameter y of sum offset x is assigned the
value "r.r.". The other parameters of x have a
value of zero.
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1601
When working with setup offsets, "sum offsets fine" are written with the $TC_SCPx system
variables.
Note
When working with setup offsets, the data set for the setup offset is created when a data set
is created for "sum offset fine", if a data set did not already exist for [t, d].
Creating a new setup offset
If the compensation data set (x) does not yet exist, it is created on the first write operation to
one of its parameters (y).
$TC_ECPxy[ t, d ] = r.r ; The value "r.r" is assigned to the parameter y
of setup offset x. The other parameters of x
have the value zero.
Note
When working with setup offsets, the data set for the "sum offset fine" is created when a data
set is created for setup offsets, if a data set did not already exist for [t, d].
DELDL - Delete sum offset
Sum offsets are generally only relevant when machining with a cutting edge at a certain time
at a certain location of the workpiece. You can use the NC language command DELDLto
delete sum offsets from cutting edges (in order to release memory).
; Deletes all sum offsets for cutting edge d on tool t. status = DELDL( t, d )
; t, d are optional parameters.
If d is not specified, all sum offsets of all cutting edges of tool t are deleted.
If d and t are not specified, all sum offsets for the cutting edges on all tools of the TO unit are
deleted (for the channel, in which the command is programmed).
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
1602 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
When working with setup offsets, the DELDL command deletes both the setup offset and the
"sum offsets fine" of the specified cutting edge(s).
Note
The memory used for the data sets is released after deletion.
The deleted sum offsets can subsequently no longer be activated or programmed.
Sum offsets and setup offsets on active tools cannot be deleted (similar to the deletion of D
compensations or tool data).
The "status" return value indicates the result of the deletion command:
0: Deletion was successful
-1: Deletion was not (one cutting edge) or not completely (several cutting edges) successful
Data backup
The data are saved during a general tool-data backup (as a component of the D number
data sets).
It is advisable to save the sum offsets, in order to allow the current status to be restored in
the event of an acute problem. Machine data settings can be made to exclude sum offsets
from a data backup (settings can be made separately for "setup offsets" and "sum offsets
fine").
Note
Sum offsets behave in the same way as D compensations with reference to block search
and REPOS. The behavior on Reset and PowerOn can be defined by machine data.
If the setting of the following machine data indicates that the last active tool compensation
number (D) is to be activated after PowerOn, the last active DL number is then no longer
active:
MD20110 $MC_RESET_MODE_MASK (definition of initial control system settings after
RESET/TP end)
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1603
18.11.4 Examples
Example 1
That no compensation and no sum offset will come into effect must be defined during tool
change via the machine data:
MD20270 $MC_CUTTING_EDGE_DEFAULT=0 (Basic setting of tool cutting edge without
programming)
MD20272 $MC_SUMCORR_DEFAULT=0 (default setting sum offset without program).
T5 M06 ; Tool number 5 is loaded - no compensation active.
D1 DL=3 ; Compensation D1 + sum offset 3 of D1 are activated.
X10
DL=2 ; Compensation D1 + sum offset 2 are activated.
X20
DL=0 ; Sum offset deselection, only compensation D1 is now active.
D2 ; Compensation D2 is activated - the sum offset is not included
in the compensation.
X1
DL=1 ; Compensation D2 + sum offset 1 are activated.
X2
D0 ; Compensation deselection
X3
DL=2 ; No effect - DL2 of D0 is zero (same as programming T0 D2).
Example 2
During tool change it has to be defined that offset D2 and sum offset DL=1 are activated via
the machine data:
MD20270 $MC_CUTTING_EDGE_DEFAULT=2 (Basic setting of tool cutting edge without
programming)
MD20272 $MC_SUMCORR_DEFAULT=1 (default setting sum offset without program)
T5 M06 ; Tool number 5 is loaded - D2 + DL=1 are active (= values of
machine data)
D1 DL=3 ; Compensation D1 + sum offset 3 of D1 are activated.
X10
DL=2 ; Compensation D1 + sum offset 2 are activated.
X20
DL=0 ; Sum offset deselection, only compensation D1 is now active.
D2 ; Compensation D2 is activated - sum offset DL=1 is activated.
X1
DL=2 ; Compensation D2 + sum offset 2 are activated.
D1 ; Compensation D1 + sum offset 1 are activated.
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
1604 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.11.5 Upgrades for tool length determination
18.11.5.1 Taking the compensation values into account location-specifically and workpiece-
specifically
Composition of the effective tool length
For a tool compensation without active kinematic transformation, the effective tool length
consists of up to 8 vectors:
Tool length (geometry) ($TC_DP3 - $TC_DP5)
Wear ($TC_DP12 - $TC_DP14)
Tool base dimension (see note) ($TC_DP21 - $TC_DP23)
Adapter dimension (see note) ($TC_ADPT1 - $TC_ADPT3)
Total offsets fine ($TC_SCPx3 - $TC_SCPx5)
Sum offsets coarse or setup offsets ($TC_ECPx3 - $TC_ECPx5)
Offset vector l1 of toolholder with orientation capability ($TC_CARR1 - $TC_CARR3)
Offset vector l2 of toolholder with orientation capability ($TC_CARR4 - $TC_CARR6)
Offset vector l3 of toolholder with orientation capability ($TC_CARR15 - $TC_CARR17)
Note
The tool base dimension and adapter dimension can only be applied as alternatives.
Type of action of the individual vectors
The type of action of the individual vectors or groups of vectors depends on the following
further quantities:
Influencing quantity Operating principle
G codes Active processing level
Tool type Milling tool or turning/grinding tools
Machine data Tool management active/not active, toolholder with
orientation capability available/not available
Setting data Behavior of tool length components when mirroring or
when changing the plane
Toolholder with orientation capability Set values of toolholder with orientation capability
Adapter transformations Transformed tool compensation values
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1605
Distribution over the geometry-axis components
How the three vector components of partial totals of the vectors involved are distributed over
the three geometry-axis components is determined by the following quantities:
Influencing quantity dependencies
Active processing level:
G17 X/Y direction
G18 Z/X direction
G19 Y/Z direction
Infeed plane:
Z
Y
X
Tool type:
Milling tools, drilling tools, grinding tools, turning tools
See:
Section "Tool type", Table "Minimum
number of required tool parameters"
SD42900 $SC_MIRROR_TOOL_LENGTH
SD42910 $SC_MIRROR_TOOL_WEAR
SD42920 $SC_WEAR_SIGN_CUTPOS
SD42930 $SC_WEAR_SIGN
SD42940 $SC_TOOL_LENGTH_CONST
SD42950 $SC_TOOL_LENGTH_TYPE
See:
Sections "Special handling of tool
compensations" and "Setting data".
Adapter transformations See: "FB Tool management"
The resulting tool orientation always remains parallel to one of the three axis directions X, Y
or Z and exclusively depends on the active machining plane G17-G19, since it has not yet
been possible to assign the tool an orientation.
Stepless variation of the tool orientation
The toolholder with orientation capability also enables the tool orientation to be varied
steplessly, in addition to providing further offsets or linear expansion fluctuations with the aid
of offset vectors l1 - l3.
For more information, see:
References:
/FB1/ Function Manual Basic Functions; Tool Offset (W1),
Section: Toolholder with orientation capability
Minor operator compensations
Minor compensations, however, must also be modified during the normal production mode.
The reasons for this are e.g.:
Tool wear
Clamping errors
Temperature sensitivity of the machine:
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
1606 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
These compensations are defined as follows:
Definition Wear components
Wear $TC_DP12 - $TC_DP14,
Total offsets fine $TC_SCPx3 - $TC_SCPx5,
Sum offsets coarse or setup offsets $TC_ECPx3 - $TC_ECPx5
In particular, compensations, which affect the tool length calculation, should be entered in
the coordinates used for measurement.
These workpiece-specific compensations can be achieved more simply using the G-code
group 56 with the three values TOWSTD, TOWMCS and TOWWCS and the setting data:
SD42935 $SC_WEAR_TRANSFORM (transformation of tool components)
SD42935
Which of the wear components:
Wear ($TC_DP12 - $TC_DP14)
Setup offsets or sum offsets coarse ($TC_ECPx3 - $TC_ECPx5)
Sum offsets fine ($TC_SCPx3 - $TC_SCPx5)
are to be transformed in the transformations:
Adapter transformation
Toolholder with orientation capability
or not to be transformed, can be defined via the setting data:
SD42935 $SC_WEAR_TRANSFORM (transformation of wear values)
With the setting data in its initial state, all wear values are transformed.
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1607
The setting data is considered in the following functions:
Wear values in the machine coordinate system
Part program instruction: TOWMCS
Wear values in the workpiece coordinate system
Part program instruction: TOWWCS
1
1
2
2
3
3
Kinematic
transformation
Tool carrier with
orientation
capability
Adapter
transformation
Adapter dimension
Setup offset or
sum offset coarse
Sum offset fine
Tool base
dimension
Wear
Tool length
SD42935 $SC_WEAR_TRANSOFORM:
Bit 0 = TRUE
Bit 1 = TRUE
Bit 2 = TRUE
Figure 18-52 Transformation of wear data dependent on SD42935
Programming
G-code group 56 can be used to define the following values:
Syntax Corrections
TOWSTD
Initial setting value for offsets in tool length
TOWMCS
Wear data in the machine coordinate system (MCS)
TOWWCS
Wear values in workpiece coordinate system (WCS)
TOWBCS
Wear values in basic coordinate system (BCS)
TOWTCS
Wear values in the TCS (Tool Coordinate System) at the toolholder (tool carrier
reference point T)
TOWKCS
Wear values in tool coordinate system for kinematic transformation (KCS) of tool
head
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
1608 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Coordinate systems for offsets in tool length
G codes TOWMCS, TOWWCS, TOWBCS, TOWTCS and TOWKCS can be used, e.g. to measure the wear
tool length component in five different coordinate systems.
1. Machine coordinate system MCS
2. Basic coordinate system BCS
3. Workpiece coordinate system WCS
4. Tool coordinate system of kinematic transformation KCS
5. Tool coordinate system TCS
The calculated tool length or a tool length component can be represented and read out in
one of these coordinate systems using the GETTCOR function (predefined subprogram).
References:
/FB1/ Function Manual Basic Functions; Tool Offset (W1),
Section: Read tool lengths, tool length components
Tool carrier,
tool component
Tool
Kinematic transformation,
tool component
Kinematic transformation,
workpiece (table or part component)
WCS
BCS
TCS
MCS
KCS
P
X'
Z'
X
Z
X
Z
X
Z
X
Z
K
T
Figure 18-53 Coordinate system for the evaluation of tool lengths
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1609
18.11.5.2 Functionality of the individual wear values
TOWSTD
Initial setting (default behavior):
The wear values are added to the other tool length components.
The resulting total tool length is then used in further calculations.
In the case of an active toolholder with orientation capability:
The wear values are subjected to the appropriate rotation.
TOWMCS
Wear data in the MCS (machine coordinate system):
In the case of an active rotation by means of a toolholder with orientation capability:
The toolholder only rotates the vector of the resultant tool length. Wear is ignored.
Then the tool length vector rotated in this way and the wear are added. The wear is not
subjected to the rotation.
If no toolholder with orientation capability is active or this does not result in a rotation, TOWMCS
and TOWSTD are identical.
Linear transformation
The tool length can be uniquely defined in the MCS only if the MCS is generated by linear
transformation from the BCS.
This would be the case when:
no kinematic transformation is active
or orientation transformations (3-axis, 4-axis and 5-axis transformations) are active.
TOWWCS
Wear values in WCS (workpiece coordinate system):
If a toolholder with orientation capability is active, the tool vector is calculated as for
TOWMCS, without taking the wear into account.
The wear data are interpreted in the workpiece coordinate system.
The wear vector in the workpiece coordinate system is converted to the machine coordinate
system and added to the tool vector.
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
1610 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
TOWBCS
Wear values in BCS (basic coordinate system):
If a toolholder with orientation capability is active, the tool vector is calculated as for
TOWMCS, without taking the wear into account.
The wear data are interpreted in the workpiece coordinate system.
The wear vector in the basic coordinate system is converted to the workpiece coordinate
system and added to the tool vector.
Nonlinear transformation
If a nonlinear transformation is active, e.g., with TRANSMIT, and the MCS is specified as the
desired coordinate system, the BCS is automatically used instead of the MCS.
Toolholder with orientation capability
A table component of the toolholder with orientation capability, if available, is not applied
directly to the coordinate systems, unlike a table (or part) component of the kinematic
transformation. A rotation described by such a component is represented in a basic frame or
system frame and is thus included in the transition from WCS to BCS.
Kinematic transformation
The table (or part) component of the kinematic transformation is described by the transition
from BCS to MCS.
TOWTCS
Wear values in TCS (tool coordinate system):
If a toolholder with orientation capability is active, the tool vector is calculated as for
TOWMCS, without taking the wear into account.
The wear data are interpreted in the tool coordinate system.
The wear vector in the TCS (Tool Coordinate System) is converted to the machine
coordinate system by way of the tool coordinate system of the kinematic transformation
(KCS) and added to the tool vector.
TOWKCS
The wear value specifications for the kinematic transformation are interpreted in the
associated TCS (Tool Coordinate System).
The wear vector is converted to the machine coordinate system by way of the tool coordinate
system of the kinematic transformation and added to the tool vector.
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1611
G code change when a tool is active
Changing the G code in the group TOWSTD, TOWMCS, TOWWCS, TOWBCS, TOWTCS, and TOWKCS does
not affect an already active tool, and does not become effective until the next tool is
selected.
A new G code of this group will also come into effect if it is programmed in the same block, in
which a tool is selected.
Evaluation of individual wear components
Evaluation of individual wear components (assignment to geometry axes, sign evaluation) is
influenced by:
The active plane
The adapter transformation
The five setting data shown in the table below:
Setting Data Wear components
SD42910 $SC_MIRROW_TOOL_WEAR
TOWSTD TOWMCS TOWWCS
SD42920 $SC_WEAR_SIGN_CUTPOS X X
SD42930 $SC_WEAR_SIGN X
SD42940 $SC_TOOL_LENGTH_CONST X X X
SD42950 $SC_TOOL_LENGTH_TYPE X X X
Note
Wear components, which are subjected to an active rotation by an adapter transformation or
a toolholder with orientation capability, are referred to as non-transformed wear components.
W1: Tool offset
18.11 Sum offsets and setup offsets
Basic Functions
1612 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Special points to be noted
If TOWMCS or TOWWCS is active, the following setting data does not affect the non-transformed
wear components:
SD42920 $SC_WEAR_SIGN_CUTPOS (Sign of wear for tools with cutting edge systems)
The following setting data also does not affect the non-transformed wear components in
case of TOWWCS:
SD42910 $SC_MIRROR_TOOL_WEAR (Sign change tool wear when mirroring)
In this case, a possibly active mirroring is already contained in the frame, which is referred to
for evaluating the wear components.
On a plane change, the assignment between the non-transformed wear components and the
geometry axes is retained, i.e., these are not interchanged as with other length components.
The assignment of components depends on the active plane for tool selection.
Example
Let's assume a milling tool is used where only the wear value $TC_DP12 assigned to length
L1 is not equal to zero.
If G17 is active, this length is effective in the direction of the Z axis.
This measure always acts in the Z-direction also upon a plane change after the tool
selection, when TOWMCS or TOWWCS are active and the bit 1 is set in the setting data:
SD42935 $SC_WEAR_TRANSFORM (transformations for tool components)
If, for example, G18 is active on tool selection, the component is always effective in the
Y direction instead.
W1: Tool offset
18.12 Working with tool environments
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1613
18.12 Working with tool environments
18.12.1 General
Functions
The current states of tool data can be processed using the functions below, which are
generally available:
Save
Deletion
Read
Modify
A further function can be used to determine information about the assignment of the tool
lengths of the active tool to the abscissa, ordinate and applicate.
18.12.2 Saving with TOOLENV
Scope of a tool environment
The TOOLENV memory function is used to save any current states needed for the evaluation of
tool data stored in the memory.
The individual data are as follows:
The active G code of group 6 (G17,G18,G19)
The active G code of group 56 (TOWSTD, TOWMCS, TOWWCS, TOWBCS, TOWTCS, TOWKCS)
The active transverse axis
Machine data:
MD18112 $MN_MM_KIND_OF_SUMCORR (Properties of sum offsets in the TO area)
Machine data:
MD20360 $MC_TOOL_PARAMETER_DEF_MASK (definition of tool parameters).
Setting data:
SD42900 $SC_MIRROR_TOOL_LENGTH (Sign change tool length when mirroring)
Setting data:
SD42910 $SC_MIRROR_TOOL_WEAR (Sign change tool wear when mirroring)
W1: Tool offset
18.12 Working with tool environments
Basic Functions
1614 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Setting data:
SD42920 $SC_WEAR_SIGN_CUTPOS (Sign of wear for tools with cutting edge systems)
Setting data:
SD42930 $SC_WEAR_SIGN (sign of wear)
Setting data:
SD42935 $SC_WEAR_TRANSFORM (transformations for tool components)
Setting data:
SD42940 $SC_LENGTH_CONST (change of tool components on change of planes)
Setting data:
SD42950 $SC_TOOL_LENGTH_TYPE (allocation of the tool length components
independent of tool type)
The orientation component of the current complete frame (rotation and mirroring, no work
offsets or scales)
The orientation component and the resulting length of the active toolholder with
orientation capability
The orientation component and the resulting length of an active transformation
In addition to the data describing the environment of the tool, the T number, D number
and DL number of the active tool are also stored, so that the tool can be accessed later in
the same environment as the TOOLENV call, without having to name the tool again.
Not in the tool environment
The value of the machine data determines whether the adapter length or the tool base
dimension is included in the tool length calculation:
MD18104 $MN_MM_NUM_TOOL_ADAPTER (tool adapter in TO area).
Since a change to this machine data only takes effect after Power On, it is not saved in the
tool environment.
Note
Resulting length of toolholders with orientation capability and transformations:
Both toolholders with orientation capability and transformations can use system variables or
machine data, which act as additional tool length components, and which can be subjected
partially or completely to the rotations performed. The resulting additional tool length
components must also be stored when TOOLENV is called, because they represent part of the
environment, in which the tool is used.
Adapter transformation:
The adapter transformation is a property of the tool adapter and thus of the complete tool. It
is, therefore, not part of a tool environment, which can be applied to another tool.
W1: Tool offset
18.12 Working with tool environments
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1615
By saving the complete data necessary to determine the overall tool length, it is possible to
calculate the effective length of the tool at a later point in time, even if the tool is no longer
active or if the conditions of the environment (e.g., G codes or setting data) have changed.
Similarly, the effective length of different tool can be calculated assuming that it would be
used under the same conditions as the tool, for which the status was saved.
TOOLENV function
Saving a tool environment
The TOOLENV function is a predefined subprogram. It must, therefore, be programmed in a
separate block.
Syntax:
Status = TOOLENV(_NAME)
Value/parameter:
Status
INT
0: Function OK
-1: No memory reserved for tool environments:
MD18116 $MN_MM_NUM_TOOL_ENV = 0 (number of tool environments in TO
area).
i.e. the "tool environments" functionality is not available.
-2: No more free memory locations for tool environments available.
-3: Null string illegal as name of a tool environment.
-4: No parameter (name) specified.
_NAME
STRING
Name, under which the current data set is stored.
If a data set of the same name already exists, it is overwritten. In this case, the status
is 0.
18.12.3 Delete tool environment
DELTOOLENV function
This function can be used to delete sets of data used to describe tool environments. Deletion
means that the set of data stored under a particular name can no longer be accessed (an
access attempt triggers an alarm).
The DELTOOLENV function is a predefined subprogram.
It must, therefore, be programmed in a separate block.
W1: Tool offset
18.12 Working with tool environments
Basic Functions
1616 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Syntax:
There are two call formats:
Status = DELTOOLENV()
Status = DELTOOLENV(_NAME)
Value/parameter:
Status
INT
0: Function OK
-1: No memory reserved for tool environments:
MD18116 $MN_MM_NUM_TOOL_ENV = 0 (number of tool environments in TO
area).
i.e. the "tool environments" functionality is not available.
-2: A tool environment with the specified name does not exist.
_NAME
STRING
Name of data set to be deleted.
The first call format deletes all data sets.
The second call format deletes the data set with the specified name.
Data sets can only be deleted using the DELTOOLENV command, by an INITIAL.INI download
or by a cold start (NCK powerup with default machine data). There are no further automatic
deletion operations (e.g., on RESET).
18.12.4 How many environments and which ones are saved?
$P_TOOLENVN
This system variable returns the number of available data sets for describing tool
environments. (Data sets defined by TOOLENV and not yet deleted.)
The value range is from 0 to machine data:
MD18116 $MN_MM_NUM_TOOL_ENV (number of tool environments in TO area).
This system variable can be accessed even if no tool environments are possible (MD18116
= 0). In this case, the return value is 0.
Syntax:
_N = $P_TOOLENVN
Data type:
_N
INT
Number of defined TOOLENV.
W1: Tool offset
18.12 Working with tool environments
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1617
$P_TOOLENV
This system variable returns the number of the nth data set for describing a tool
environment.
The assignment of numbers to data sets is not fixed, but can be changed as a result of
deleting or creating data sets. The data sets are numbered internally. The range is from 1 to
$P_TOOLENVN.
Syntax:
_NAME = $P_TOOLENV[i]
Data type:
_NAME
STRING
Name of the data set with number i
i
INT
Number of the data set.
If an index is specified, which does not point to a defined data set, the following alarm is
output:
Alarm "17020 (inadmissible array-index1)"
18.12.5 Read T, D, DL from a tool environment
GETTENV function
The GETTENV function is used to read the T, D and DL numbers stored in a tool environment.
The GETTENV function is a predefined subprogram. It must, therefore, be programmed in a
separate block.
Syntax:
Status = GETTENV(_NAME, _TDDL)
Value/parameter:
Status
INT
0: Function OK
-1: No memory reserved for tool environments:
MD18116 $MN_MM_NUM_TOOL_ENV = 0 (number of tool environments in TO
area).
i.e. the "tool environments" functionality is not available.
-2: A tool environment with the name specified in _NAME does not exist.
_NAME
STRING
Name of the tool environment, from which the T, D and DL numbers can be read.
W1: Tool offset
18.12 Working with tool environments
Basic Functions
1618 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
_TDDL[3]
INT
This integer array contains:
- in "_TDDL[0]" the T number of the tool,
- in "_TDDL[1]" the D number of the tool,
- in "_TDDL[2]" the DL number of the tool,
whose tool environment in the data set is stored with the name "_NAME".
It is possible to omit the first parameter in the GETTENV function call (e.g., GETTENV(, _TDDL))
or to pass a null string as the first parameter (e.g., GETTENV("", _TDDL)). In both of these two
special cases, the T, D and DL numbers of the active tool are returned in _TDDL.
18.12.6 Read tool lengths, tool length components
GETTCOR function
The GETTCOR function is used to read out tool lengths or tool length components.
The parameters can be used to specify, which components are considered, and the
conditions, under which the tool is used.
The GETTCOR function is a predefined subprogram. It must, therefore, be programmed in a
separate block.
Syntax:
Status = GETTCOR(_LEN, _COMP, _STAT, _T, _D, _DL)
All parameters can be omitted with the exception of the first parameter (_LEN).
Value/parameter:
Status
INT
0: Function OK
-1: No memory reserved for tool environments:
MD18116 $MN_MM_NUM_TOOL_ENV = 0 (number of tool environments in TO
area).
i.e. the "tool environments" functionality is not available.
-2: A tool environment with the name specified in _STAT does not exist.
-3: Invalid string in parameter _COMP.
Causes of this error can be invalid characters or characters programmed twice.
-4: Invalid T number
W1: Tool offset
18.12 Working with tool environments
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1619
-5: Invalid D number
-6: Invalid DL number
-7: Attempt to access non-existent memory module
-8: Attempt to access a non-existent option (programmable tool orientation, tool
management).
-9: The _COMP string contains a colon (identifier for the specification of a coordinate
system), but it is not followed by a valid character denoting the coordinate
system.
_LEN[11]
REAL
Result vector
The vector components are arranged in the following order:
Tool type (LEN[0])
Length of cutting
edge
(LEN[1])
Abscissa (LEN[2])
Ordinate (LEN[3])
Applicate (LEN[4])
Tool radius (LEN[5])
The coordinate system defined in _COMP and _STAT is used as the reference
coordinate system for the length components. If no coordinate system is defined in
_COMP, the tool lengths are represented in the machine coordinate system.
The assignment of the abscissa, ordinate and applicate to the geometry axes depends
on the active plane in the tool environment, i.e. with G17, the abscissa is parallel to X,
with G18 it is parallel to Z, etc.
Components LEN[6] to LEN[10] contain the additional parameters, which can be used
to specify the geometry description of a tool (e.g. $TC_DP7 to $TC_DP11 for the
geometry and the corresponding components for wear or sum and setup offsets).
These 5 additional elements and the tool radius are only defined for components E, G,
S, and W. Their evaluation does not depend on _STAT. The corresponding values in
LEN[5] to LEN[10] can thus only be not equal to zero if at least one of the four specified
components is involved in the tool length calculation. The remaining components do not
influence the result. The dimensions refer to the control's basic system (inch or metric).
W1: Tool offset
18.12 Working with tool environments
Basic Functions
1620 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
_COMP
STRING
This string consists of two substrings, which are separated from one another by a colon.
The individual characters (letters) of the first substring identify the tool length
components to be taken into account when calculating the tool length.
The second substring identifies the coordinate system, in which the tool length is to be
output. It consists of only one single relevant character.
The order of the characters in the strings, and their notation (upper or lower case), is
arbitrary. Any number of blanks or white spaces can be inserted between the
characters.
The letters in the substrings cannot be programmed twice. The meanings in the first
substring are as follows:
-: (Minus symbol, only allowed as first character): The complete tool length is
calculated, minus the components specified in the next string.
C: Adapter or tool base dimension (whichever of the two alternative components is
active for the tool in use)
E: Setup offsets
G: Geometry
K: Kinematic transformation (is only evaluated for generic 3, 4 and 5-axis
transformation)
S: Sum offsets
T: Toolholder with orientation capability
W: Wear
If the first substring is empty (except for white spaces), the complete tool length is
calculated allowing for all components. This applies even if the _COMP parameter is not
specified.
An optional programmable colon must be followed by a single character specifying the
coordinate system, in which the tool length components are to be evaluated. If no
coordinate system is specified, the evaluation is performed in the MCS (machine
coordinate system). If any rotations are to be taken into account, they are specified in
the tool environment defined in _STAT.
The characters have the following significance:
B: Basic coordinate system (BCS)
K: Tool coordinate system of kinematic transformation (KCS)
M: Machine coordinate system (MCS)
T: Tool coordinate system (TCS)
W: Workpiece coordinate system (WCS)
W1: Tool offset
18.12 Working with tool environments
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1621
_STAT
STRING
Name of the data set for describing a tool environment.
If the value of this parameter is the null string ("") or is not specified, the current status is
used.
_T
INT
Internal T number of tool
If this parameter is not specified, or if its value is 0, the tool stored in _STAT is used.
If the value of this parameter is -1, the T number of the active tool is used. It is also
possible to specify the number of the active tool explicitly.
Note
If _STAT is not specified, the current status is used as the tool environment. Since _T = 0
refers to the T number saved in the tool environment, the active tool is used in that
environment, i.e. parameters _T = 0 and _T = -1 have the same meaning in this special case.
_D
INT
Cutting edge of the tool. If this parameter is not specified, or if its value is 0, the D
number used is based on the source of the T number. If the T number from the tool
environment is used, the D number of the tool environment is also read, otherwise the D
number of the currently active tool is read.
_DL
INT
Number of the local compensation. If this parameter is not specified, the DL number
used is based on the source of the T number. If the T number from the tool environment
is used, the D number of the tool environment is also read, otherwise the D number of
the currently active tool is read.
Any rotations and component exchanges initiated by the adapter transformation, toolholder
with orientation capability and kinematic transformation, are part of the tool environment.
They are thus always performed, even if the corresponding length component is not
supposed to be included. If this is undesirable, tool environments must be defined, in which
the corresponding transformations are not active. In many cases (i.e. any time a
transformation or toolholder with orientation capability is not used on a machine), the data
sets stored for the tool environments automatically fulfill these conditions, with the result that
the user does not need to make special provision.
W1: Tool offset
18.12 Working with tool environments
Basic Functions
1622 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
MD20360 $MC_TOOL_PARAMETER_DEF_MASK
The two least significant bits of this machine data specify how the wear (bit 0) and tool length
(bit 1) are to be evaluated if a diameter axis is used for turning and grinding tools.
If the bits are set, the associated entry is weighted with the factor 0.5. This weighting is
reflected in the tool length returned by GETTCOR.
Example:
MD20360 $MC_TOOL_PARAMETER_DEF_MASK = 3 (definition of tool parameters).
MD20100 $MC_DIAMETER_AX_DEF="X" (Geometry axis with face axis funtion)
X is diameter axis (standard turning machine configuration):
N30 $TC_DP1[1.1] = 500
N40 $TC_DP2[1.1] = 2
N50 $TC_DP3[1.1] = 3.0 ; Geometry L1
N60 $TC_DP4[1,1]= 4.0
N70 $TC_DP5[1,1]= 5.0
N80 $TC_DP12[1,1]= 12.0 ; Wear L1
N90 $TC_DP13[1,1]= 13.0
N100 $TC_DP14[1,1]= 14.0
N110 t1 d1 g18
N120 r1 = GETTCOR(_LEN, "GW")
N130 r3 = _LEN[2] ; 17.0 (= 4.0 + 13.0)
N140 r4 = _LEN[3] ; 7.5 (= 0.5 * 3.0 + 0.5 * 12.0)
N150 r5 = _LEN[4] ; 19.0 (= 5.0 + 14.0)
N160 m30
W1: Tool offset
18.12 Working with tool environments
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1623
Kinematic transformation, toolholder with orientation capability
If a toolholder with orientation capability is taken account of during the tool length calculation,
the following vectors are included in that calculation:
Type Vectors
M l1 and l2
T l1, l2 and l3
P Tool length is not influenced by the toolholder with orientation capability.
In generic 5-axis transformation, the following machine data are included in the tool length
calculation for transformer types 24 and 56:
Transformer
type
Machine data
24 MD24550/24650 $MC_TRAFO5_BASE_TOOL_1/2
MD24560/24660 $MC_TRAFO5_JOINT_OFFSET_1/2
MD24558/24658 $MC_TRAFO5_PART_OFFSET_1/2
56 MD24550/24650 $MC_TRAFO5_BASE_TOOL_1/2
MD24560/24660 $MC_TRAFO5_JOINT_OFFSET_1/2
Transformation type 56 corresponds to type M for a toolholder with orientation capability.
With this 5-axis transformation in the software versions used up to now, the following vector
is equivalent to the sum of the two vectors l1 and l3 for a toolholder with orientation capability
type M.
MD24560/24660 $MC_TRAFO5_JOINT_OFFSET_1/2 (vector of kinematic offset of the
first/second 5-axis transformation in the channel)
Only the sum is relevant for the transformation in both cases. The way, in which the two
individual components are composed, is insignificant. When calculating the tool length,
however, it is relevant which component is assigned to the tool and which is assigned to the
tool table.
This explains the introduction of new machine data:
MD24558/24658 $MC_TRAFO5_JOINT_OFFSET_PART_1/2 (vector kinematic offset in
table).
It is equivalent to the vector l3.
The following machine data no longer corresponds to the sum of l1 and l3, but only to vector l1.
MD24560/24660 $MC_TRAFO5_JOINT_OFFSET_1/2 (vector of kinematic offset of the first
5-axis transf. in the channel).
The new response is identical to the current response, if the following machine data equals
zero:
MD24558/24658 $MC_TRAFO5_JOINT_OFFSET_PART_1/2 (vector kinematic offset in
table).
W1: Tool offset
18.12 Working with tool environments
Basic Functions
1624 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
GETTCOR examples
GETTCOR(_LEN): Calculates the tool length of the currently active tool in the machine
coordinate system allowing for all components.
GETTCOR(_LEN; "CGW :
W" ):
Calculates the tool length for the active tool, consisting of the adapter
or tool base dimension, geometry and wear. Further components,
such as toolholder with orientation capability or kinematic
transformation, are not considered. The workpiece coordinate system
is used for the output.
GETTCOR(_LEN, "-K :B" ): Calculates the complete tool length of the active tool without allowing
for the length components of an active kinematic transformation.
Output in the basic coordinate system.
GETTCOR(_LEN, ":M",
"Testenv1",,3):
Calculates the complete tool length in the machine coordinate system
for the tool stored in the tool environment named "Testenv1". The
calculation is performed for cutting edge number D3, regardless of the
cutting edge number stored.
Compatibility
The GETTCOR function is used in conjunction with the TOOLENV and SETTCOR functions to replace
parts of the functionality, which were previously implemented externally in the measuring
cycles.
Only some of the parameters, which actually determine the effective tool length, were
implemented in the measuring cycles. The above functions can be configured to reproduce
the behavior of the measuring cycles in relation to the tool length calculation.
W1: Tool offset
18.13 Tool lengths L1, L2, L3 assignment: LENTOAX
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1625
18.13 Tool lengths L1, L2, L3 assignment: LENTOAX
LENTOAX function
The "LENTOAX" function provides information about the assignment of tool lengths L1, L2
and L3 of the active tool to the abscissa, ordinate and applicate. The assignment of abscissa,
ordinate and applicate to the geometry axes is affected by frames and the active plane (G17 -
G19).
Only the geometry component of a tool ($TC_DP3[x,y] to $TC_DP5[x,y]) is considered, i.e., a
different axis assignment for other components (e.g., wear) has no effect on the result.
The "LENTOAX" function is a predefined subprogram. It must, therefore, be programmed in
a separate block.
Syntax:
Status = LENTOAX(_AXIND, _MATRIX, _COORD)
The first two parameters must always be programmed; the last parameter can be
omitted.
Value/parameter:
Status
INT
0: Function OK, information in _AXIND sufficient for description (all tool length
components are parallel to the geometry axes).
1: Function is OK, however, the content of _MATRIX must be evaluated for a correct
description (the tool length components are not parallel to the geometry axes).
-1: Invalid string in parameter _COORD.
-2: No tool active.
_AXIND[3]
INT
array
Indices 0 to 2 are assigned to the abscissa (0), ordinate (1) and applicate (2) (e.g.,
_AXIND[0] contains the number of the tool length components, which are effective in
the direction of the abscissa).
The content has the following significance:
0: Assignment exists (axis does not exist)
1 to 3:
or
-1 to -3:
Number of the length effective in the corresponding coordinate axis. The
sign is negative if the tool length component is pointing in the negative
coordinate direction.
W1: Tool offset
18.13 Tool lengths L1, L2, L3 assignment: LENTOAX
Basic Functions
1626 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
_MATRIX[3][3]
REAL
array
Matrix, which represents the vector of the tool lengths (L1=1, L2=1, L3=1) to the vector
of the coordinate axes (abscissa, ordinate, applicate), i.e., the tool length components
are assigned to the columns in the order L1, L2, L3 and the axes are assigned to the
lines in the order abscissa, ordinate, applicate.
All elements are always valid in the matrix, even if the geometry axis belonging to the
coordinate axis is not available, i.e., if the corresponding entry in _AXIND is 0.
_COORD
STRING
Specifies the coordinate system used for the assignment.
MCS or M: The tool length is represented in the machine coordinate system.
BCS or B: The tool length is represented in the basic coordinate system.
WCS or W: The tool length is represented in the workpiece coordinate system
(default).
KCS or K: The tool length is represented in the tool coordinate system of the
kinematic transformation.
TCS or T: The tool length is represented in the tool coordinate system.
The notation of the characters in the string (upper or lower case) is arbitrary.
Further explanations
If the tool length components are parallel to the geometry axes, the axis indices assigned to
length components L1 to L3 are returned in the _AXIND array.
If a tool length component points in the negative axis direction, the associated axis index
contains a minus sign. In this case, the return value (status) is 0. If an axis does not exist,
the associated return value is 0. The assignment can also be read from the _MATRIX
parameter. Six of the nine matrix elements are then zero, and three elements contain the
value +1 or -1.
Note
In the TCS, all tool length components are always parallel or antiparallel to the axes.
The components can only be antiparallel when mirroring is active and the following setting
data is activated:
SD42900 $SC_MIRROR_TOOL_LENGTH (Sign change tool length when mirroring)
If not all length components are parallel or antiparallel to the geometry axes, the index of the
axis, which contains the largest part of a tool length component, is returned in _AXIND. In
this case (if the function does not return an error for a different reason), the return value is 1.
The mapping of tool length components L1 to L3 onto geometry axes 1 to 3 is then described
completely by the contents of the 3rd parameter _MATRIX.
W1: Tool offset
18.13 Tool lengths L1, L2, L3 assignment: LENTOAX
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1627
The _COORD parameter can be used to specify, which coordinate system is to be used for
the geometry axes. If the _COORD parameter is not specified (notation LENTOAX(_AXIND,
_MATRIX)), the WCS is used (default).
Example:
Standard situation: milling tool with G17
L1 applies in Z (applicate), L2 applies in Y (ordinate), L3 applies in X (abscissa).
Function call in the form:
Status = LENTOAX(_AXIND, _MATRIX, "WCS")
The result parameter _AXIND contains the values:
_AXIND[0] = 3
_AXIND[1] = 2
_AXIND[2] = 1
Or, in short: ( 3, 2, 1)
In this case, the associated matrix _MATRIX is:
_MATRlX = 1
1
1
A change from G17 to G18 or G19 does not alter the result, because the assignment of the
length components to the geometry axes changes in the same way as the assignment of the
abscissa, ordinate and applicate.
A frame rotation of Z through 60 degrees is now programmed with G17 active, e.g., rot Z60.
The direction of the applicate (Z direction) remains unchanged; the main component of L2
now lies in the direction of the new X axis; the main component of L1 now lies in the direction
of the negative Y axis. The return axis is thus 1, and _AXIND contains the values (2, -3, 1).
In this case, the associated matrix _MATRIX is:
_MATRlX = s ( ) sn ( )
1
sn ( ) s ( )
Note
For further information to the above mentioned coordinate systems, please refer to:
References:
/PGA/ Programming Manual Job Planning; Tool Compensations
W1: Tool offset
18.14 Supplementary conditions
Basic Functions
1628 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.14 Supplementary conditions
18.14.1 Flat D number structure
Grinding tools
Grinding tools (tool types 400-499) cannot be defined using the simple tool management
structure (flat D numbers).
Block search
T number output to PLC triggers a synchronization process in the NCK: with absolute,
indirect D programming, the PLC returns the D values via VDI. The NCK waits until the
output of a T number is followed by a response from the PLC: "I have written the D number".
With block search without calculation, this process of synchronization must be deactivated
until the first valid T number has been output again. That means that the NCK must not wait
on D programming.
Note
At what point the auxiliary functions can be output to PLC after block search is complete, can
be controlled with the machine data:
$MC_AUXFU_AT_BLOCK_SEARCH_END (auxiliary function output after block search)
Automatic on end or on NC start.
REORG
The (only) writable variable $A_MONIFACT, which is defined here, is stored by main-run
data. Since the write process takes place synchronously to the main run, no special
measures are required for Reorg.
18.14.2 SD42935 expansions
SD42935
Which of the wear components are to be transformed and which are not to be transformed in
conjunction with the functions TOWMCS and TOWWCS can be defined via the setting data:
SD42935 $SC_WEAR_TRANSFORM (transformation of wear values)
W1: Tool offset
18.15 Examples
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1629
18.15 Examples
18.15.1 Toolholder with orientation capability
18.15.1.1 Example: Toolholder with orientation capability
Requirement
The following example uses a toolholder, which is described fully by a rotation about the Y
axis. It is therefore sufficient to enter only one value to define the rotary axis (block N20).
Blocks N50 to N70 describe an end mill with radius 5 mm and length 20 mm.
Block N90 defines a rotation of 37 degrees about the Y axis.
Block N120 activates the tool radius compensation and all settings are made to describe the
compensation in the following blocks with a rotation of 37 degrees about the Y axis.
N10 ; Definition of toolholder 1
N20 $TC_CARR8[1] = 1 ; Component of the first rotary axis in
the Y direction
N30
N40 ; Definition of tool-compensation memory
T1/D1
N50 $TC_DP1[1,1] = 120 ; End mill
N60 $TC_DP3[1,1] = 20 ; Length 1
N70 $TC_DP6[1,1] = 5 ; Radius
N80
N90 ROT Y37 ; 37-degree rotation about y axis
N100
N110 X0 Y0 Z0 F10000
N120 G42 CUT2DF TCOFR TCARR = 1 T1 D1 X10
N130 X40
N140 Y40
N150 X0
N160 Y0
N170 M30
W1: Tool offset
18.15 Examples
Basic Functions
1630 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.15.1.2 Example of toolholder with orientation capability with rotary table
Use of the MOV command
For use of the MOVT command it is assumed that the program is running on a 5-axis machine,
on which the tool rotates about the Y axis in case of a rotation of the B axis:
N10 TRAORI()
N20 X0 X0 Z0 B45 F2000 ; Setting the tool orientation
N30 MOVT=-10 ; Infeed movement 10 mm in tool
direction
; (under 45 degrees in the Y-Z plane)
N40 MOVT=AC(20) ; Retraction in tool direction at
distance of
; 20 mm from the zero point
Machine with rotary table
Complete definition for the use of a toolholder with orientation capability with rotary table:
N10 $TC_DP1[1,1]=120
N20 $TC_DP3[1,1]= 13 ; Tool length 13 mm
; Definition of toolholder 1:
N30 $TC_CARR1[1] = 0 ; X component of 1st offset vector
N40 $TC_CARR2[1] = 0 ; Y component of 1st offset vector
N50 $TC_CARR3[1] = 0 ; Z component of 1st offset vector
N60 $TC_CARR4[1] = 0 ; X component of 2nd offset vector
N70 $TC_CARR5[1] = 0 ; Y component of 2nd offset vector
N80 $TC_CARR6[1] = -15 ; Z component of 2nd offset vector
N90 $TC_CARR7[1] = 1 ; X component of 1st axis
N100 $TC_CARR8[1] = 0 ; Y component of 1st axis
N110 $TC_CARR9[1] = 0 ; Z component of 1st axis
N120 $TC_CARR10[1] = 0 ; X component of 2nd axis
N130 $TC_CARR11[1] = 1 ; Y component of 2nd axis
N140 $TC_CARR12[1] = 0 ; Z component of 2nd axis
N150 $TC_CARR13[1] = 30 ; Angle of rotation of 1st axis
N160 $TC_CARR14[1] =-30 ; Angle of rotation of 2nd axis
W1: Tool offset
18.15 Examples
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1631
N170 $TC_CARR15[1] = 0 ; X components of 3rd offset vector
N180 $TC_CARR16[1] = 0 ; Y component of 3rd offset vector
N190 $TC_CARR17[1] = 0 ; Z component of 3rd offset vector
N200 $TC_CARR18[1] = 0 ; X component of 4th offset vector
N210 $TC_CARR19[1] = 0 ; Y component of 4th offset vector
N220 $TC_CARR20[1] = 15 ; Z component of 4th offset vector
N230 $TC_CARR21[1] = A ; Reference for 1st axis
N240 $TC_CARR22[1] = B ; Reference for 2nd axis
N250 $TC_CARR23[1] = "P" ; Toolholder type
N260 X0 Y0 Z0 A0 B45 F2000
N270 TCARR=1 X0 Y10 Z0 T1 TCOABS
N280 PAROT
N290 X0 Y0 Z0
N300 G18 MOVT=AC(20)
N310 G17 X10 Y0 Z0
N320 MOVT=-10
N330 PAROTOF
N340 TCOFR
N350 X10 Y10 Z-13 A0 B0
N360 ROTS X-45 Y45
N370 X20 Y0 Z0 D0
N380 Y20
N390 X0 Y0 Z20
N400 M30
The definition of the toolholder with orientation capability is given in full. The components
which contain the value 0 need not actually be given, as they are preset to zero in any case.
The toolholder is activated in N270.
As $TC_CARR21 and $TC_CARR22 refer to the machine axes A and B and TCOABS is active,
the values in $TC_CARR13 and $TC_CARR14 are ignored, i.e. the axis position A0 B45 is
used for the rotation.
The rotation of the 4th offset vector (length 15 mm in Z direction) around the B axis causes
an offsetting of the zero point by X10.607 [= 15 * sin(45)] and Z-4.393 [= -15 * (1. - cos(45))].
This zero offset is taken into account by an automatically written basic or system frame so
that the position X10.607 Y10.000 Z8.607 is approached. In the Z direction the tool selection
leads to an additional offset of 13 mm; the Y component is not affected by the table rotation.
N280 defines a rotation in accordance with the rotation of the table of the toolholder with
orientation capability. The new X direction thus points in the direction of the bisecting line in
the 4th quadrant, the new Z axis in the direction of the bisecting line in the 1st quadrant.
W1: Tool offset
18.15 Examples
Basic Functions
1632 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The zero point is approached in N290, i.e. the machine position X10.607 Y0 Z-4.393, since
the position of the zero point is not changed by the rotation.
N300 traverses in Y to the position Y33.000, since G18 is active and the Y component is not
affected by the active frame. The X and Z positions remain unchanged.
The position X17.678 Y0 Z1.536 is approached in N310.
N320 changes only the Z position to the value -8.464 as a result of the MOVT command. As
only the table can be rotated, the tool orientation remains unchanged parallel to the machine
Z direction, even if the Z direction of the active frame is rotated by 45 degrees.
N330 deletes the basic or system frame; thus the frame definition from N280 is undone.
In N340, TCOFR specifies that the toolholder with orientation capability is to be aligned
according to the active frame. Since a rotation is no longer active in N330 due to the PAROTOF
command, the initial state is applied. The frame offset becomes zero.
N350 thus approaches the position X10 X10 Z0 (= Z-13 + tool length). Note: Through the
simultaneous programming of both rotary axes A and B the actual position of the toolholder
with orientation capability is made to match that used in N340. The position approached by
the three linear axes is dependent on this position, however.
In N360, solid angles are used to define a plane whose intersecting lines in the X-Z and in the
Y-Z plane each form an angle of +45 degrees or -45 degrees with the X or Y axis. The plane
defined in such a way therefore has the following position: the surface normal points towards
the solid diagonals.
N370 traverses to the position X20 Y0 Z0 in the new coordinate system. Since the tool is
deselected with D0 at the same time, there is no longer an additional offset in Z. Since the
new X axis lies in the old X-Z plane, this block reaches the machine position X14.142 Y0 Z-
14.142.
N380 only traverses on the Y axis in the rotated coordinate system. This leads to a motion of
all three machine axes. The machine position is X5.977 Y16.330 Z-22.307.
N390 approaches a point on the new Z axis. Relative to the machine axes this is thus on the
solid diagonal. All three axes thus reach the position 11.547.
18.15.1.3 Basic tool orientation example
Basic orientation in the bisector
A milling tool is defined with length L1=10 whose basic orientation is in the bisector of the X-Z
plane.
N10 $TC_DP1[1,1]=120
N20 $TC_DP3[1,1]=10
N30 $TC_DPV [1,1] = 0
N40 $TC_DPV3[1,1] = 1
N50 $TC_DPV4[1,1] = 0
W1: Tool offset
18.15 Examples
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1633
N60 $TC_DPV5[1,1] = 1
N70 g17 f1000 x0 y0 z0 t1 d1
N80 movt=10
N80 m30
Description of example:
In N10 to N60, a milling tool is defined with length L1=10 (N20). The basic orientation is in the
bisector of the X-Z plane N40 to N60.
In N70, the tool is activated and the zero position is approached. As a result of the tool length
the machine positions X0 Y0 Z10 are thus obtained in this block.
In N80 an incremental traversing motion is performed from 10 into tool direction. The resulting
axis positions are thus X7.071 Y0 Z17.071.
18.15.1.4 Calculation of compensation values on a location-specific and workpiece-specific basis
Tool with adapter
A tool with adapter and toolholder with orientation capability is defined in the following
program example. In order to simplify the overview, only length L1 is different to zero for the
additive and insert offsets and for the adapter in case of the tool itself. The offset vectors of
the toolholder with orientation capability are all zero.
N10 $TC_TP2[1] = "MillingTool" ; Name of identifier
N20 $TC_TP7[1]=9 ; Location types
N30 $TC_TP8[1]=2 ; Status: enabled and not blocked
; D corr. D=1
N40 $TC_DP1[1,1]=120 ; Tool type - milling
N50 $TC_DP3[1,1]=; tool length compensation
vector
N60 $TC_DP12[1,1]= ; wear
N70 $TC_SCP13[1,1]=0.1 ; Sum offset DL=1
N80 $TC_ECP13[1,1]=0.01 ; Insert offset DL=1
N90 $TC_ADPTT[1]=5 ; Adapter transformation
N100 $TC_ADPT1[1]=0.001 ; Adapter dimension
; Magazine data
N110 $TC_MAP1[1]=3 ; Magazine type: Revolver
N120 $TC_MAP2[1]="Revolver" ; Magazine identifier
N130 $TC_MAP3[1]=17 ; Status of magazine
N140 $TC_MAP6[1]=1 ; Dimension - line
N150 $TC_MAP7[1]=2 ; Dimension - column -> 2 positions
W1: Tool offset
18.15 Examples
Basic Functions
1634 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
N160 $TC_MPP1[1,1]=1 ; Location type
N170 $TC_MPP2[1,1]=9 ; Location types
N180 $TC_MPP4[1,1]=2 ; Location state
N190 $TC_MPP7[1,1]=1 ; Bring adapter into position
N200 $TC_MPP6[1,1]=1 ; T number "MillingTool"
N210 $TC_MAP1[9999]=7 ; Magazine type: buffer
N220 $TC_MAP2[9999]="buffer" ; Magazine identifier
N230 $TC_MAP3[9999]=17 ; Status of magazine
N240 $TC_MAP6[9999]=1 ; Dimension - line
N250 $TC_MAP7[9999]=1 ; Dimension - column -> 1 position
N260 $TC_MPP1[9999.1]=2 ; Location type
N270 $TC_MPP2[9999.1]=9 ; Location types
N280 $TC_MPP4[9999.1]=2 ; Location state
N290 $TC_MPP5[9999,1]=1 ; Spindle no. 1
N300 $TC_MDP2[1,1]=0 ; Distance from spindle to mag. 1
; Definition of toolholder 1
N310 $TC_CARR10[1] = 1 ; Component of 2nd rotary axis in
X direction
N320 $TC_CARR14[1] = 45 ; Angle of rotation of 2nd axis
N330 $TC_CARR23[1] = "T" ; Tool mode
N340 Stopre
N350 $SC_WEAR_TRANSFORM = 'B101'
N360 T0 D0 DL=0
N370 ROT X30
N380 G90 G1 G17 F10000 X0 Y0 Z0
N390 T="MillingTool" X0 Y0 Z0 TOWSTD ; X 0.000 Y11.110 Z 0.001
N400 T="MillingTool" X0 Y0 Z0 TOWMCS ; X 0.000 Y10.100 Z 1.011
N410 T="MillingTool" X0 Y0 Z0 TOWWCS ; X 0.000 Y 9.595 Z 0.876
N420 TCARR=1 X0 Y0 Z0 ; X 0.000 Y 6.636 Z 8.017
N430 G18 X0 Y0 Z0 ; X10.100 Y-0.504 Z 0.876
N440 m30
Explanations regarding the example above
Starting at block N390, various methods are used to approach position X0 Y0 Z0. The
machine positions reached are specified in the blocks in comments. After the program a
description is given of how the positions were reached.
N390: The adapter transformation 5 (block N90) transforms length L1 into length L2. Only the
actual adapter dimension is not subject to this transformation. The Y value (L2 with G17)
results from the sum of the tool length (10), tool wear (1), sum offset (0.1), and insert offset
(0.01). The adapter dimension (0.001) is in Z (L1).
N400: In block N350, bits 0 and 2 are enabled in setting data:
SD42935 $SC_WEAR_TRANSFORM (transformations for tool components)
W1: Tool offset
18.15 Examples
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1635
This means that the tool wear and the insert offset are not subject to the adapter
transformation because of TOWMCS in block N400. The sum of these two compensations is
1.01. The Z position is, therefore, increased by this amount and the Y position is reduced by
this amount compared with block N390.
TOWWCS is active in N410. The sum of the tool wear and the insert offset is thus effective in the
active workpiece coordinate system. In block N370, a rotation through 30 degrees is activated
about the X axis. The original compensation value of 1.01 in the Z direction thus yields a new
Z component of 0.875 (= 1.01 * cos(30)) and a new Y component of -0.505 (= 1.01 * sin(30)).
This yields the dimension specified in the program comment when added to the sum of the
tool length, sum offset and adapter dimension produced in block N390.
In addition, a toolholder with orientation capability is activated in block N420. This executes a
rotation through 45 degrees about the X axis (see N310 - N330). Since all offset vectors of the
toolholder are zero, there is no additional zero offset. The toolholder with orientation
capability acts on the sum of the tool length, sum offset and adapter dimension. The
resulting vector component is X0 Y7.141 Z7.142. To this, as in block N410, the sum of tool
wear and insert offset evaluated in WCS is added.
G18 is activated in N430. The components of the sum of the tool length, sum offset and
adapter dimension are interchanged accordingly. The toolholder with orientation capability
continues to act on this new vector (rotation through 45 degrees about X axis). The resulting
vector component thereby is X10.100 Y0.0071 Z0.0071. The vector formed from tool wear
and insert offset (X0 Y-0.505 Z0.875) is not affected by the change of plane. The sum of the
two vectors yields the dimension specified in the comment in N430.
18.15.2 Examples 3-6: SETTCOR function for tool environments
Example 3
N10 def real _CORVAL[3]
N20 $TC_DP1[1,1] = 120 ; Milling tool
N30 $TC_DP3[1,1] = 10.0 ; Geometry L1
N40 $TC_DP12[1,1] = 1.0 ; Wear L1
N50 _CORVAL[0] = 0.333
N60 t1 d1 g17 g0
N70 r1 = settcor(_CORVAL, "GW", 0, 2, 2)
N80 t1 d1 x0 y0 z0 ; ==> MCS position X0.000 Y0.000
Z0.333
N90 M30
_CORCOMP is 2, therefore, the compensation effective in the Z direction is entered in the
geometry component (the old value is overwritten) and the wear value is deleted. The
resulting total tool length is thus:
L1 = 0.333 + 0.0 = 0.333.
W1: Tool offset
18.15 Examples
Basic Functions
1636 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Example 4
N10 def real _CORVAL[3]
N20 $TC_DP1[1,1] = 120 ; Milling tool
N30 $TC_DP3[1,1] = 10.0 ; Geometry L1
N40 $TC_DP12[1,1] = 1.0 ; Wear L1
N50 _CORVAL[0] = 0.333
N60 t1 d1 g17 g0
N70 r1 = settcor(_CORVAL, "GW", 0, 3, 2)
N80 t1 d1 x0 y0 z0 ;==> MCS position X0.000 Y0.000
Z11.333
N90 M30
_CORCOMP is 3, therefore, the wear value and compensation value are added to the
geometry component and the wear component is deleted. The resulting total tool length is
thus L1 = 11.333 + 0.0 = 11.333.
Example 5
N10 def real _CORVAL[3]
N20 $TC_DP1[1,1] = 120 ; Milling tool
N30 $TC_DP3[1,1] = 10.0 ; Geometry L1
N40 $TC_DP12[1,1] = 1.0 ; Wear L1
N50 _CORVAL[0] = 0.333
N60 t1 d1 g17 g0
N70 r1 = settcor(_CORVAL, "GW", 0, 3, 0)
N80 t1 d1 x0 y0 z0 ;==> MCS position X0.333 Y0.000
Z11.000
N90 M30
_CORCOMP is 3, as in the previous example, but the compensation is now effective on the
geometry axis with index 0 (X axis). The tool components L3 are assigned to this geometry
axis due to G17 with a milling tool. Calling SETTCOR thus does not affect tool parameters
$TC_DP3 and $TC_DP12. Instead, the compensation value is entered in $TC_DP5.
Example 6
N10 def real _CORVAL[3]
N20 $TC_DP1[1,1] = 500 ; Turning tool
N30 $TC_DP3[1,1] = 10.0 ; Geometry L1
N40 $TC_DP4[1,1] = 15.0 ; Geometry L2
N50 $TC_DP12[1,1]= 10.0 ; Wear L1
N60 $TC_DP13[1,1] =0.0 ; Wear L2
N70 _CORVAL[0] = 5.0
W1: Tool offset
18.15 Examples
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1637
N80 rot y 30
N90 t1 d1 g18 g0
N100 r1 = settcor(_CORVAL, "GW", 0, 3, 1)
N110 t1 d1 x0 y0 z0 ; ==> MCS position X24.330
Y0.000 Z17.500
N120 M30
The tool is a turning tool. A frame rotation is activated in N80, causing the basic coordinate
system (BCS) to be rotated in relation to the workpiece coordinate system (WCS). In the
WCS, the compensation value (N70) acts on the geometry axis with index 1, i.e., on the X
axis because G18 is active. Since "_CORRMODE = 3", the tool wear in the direction of the X
axis of the WCS must become zero once N100 has been executed. The contents of the
relevant tool parameters at the end of the program are thus:
$TC_DP3[1,1] : 21.830 ; Geometry L1
$TC_DP4[1,1] : 21.830 ; Geometry L2
$TC_DP12[1,1] : 2.500 ; Wear L1
$TC_DP13[1,1] : -4.330 ; Wear L2
The total wear including _CORVAL is mapped onto the X' direction in the WCS. This
produces point P2. The coordinates of this point (measured in X/Y coordinates) are entered
in the geometry component of the tool. The difference vector P2 - P1 remains in the wear.
The wear thus no longer has a component in the direction of _CORVAL.
_CORVAL = 5, effective in X' direction
Wear L1=10, L2=0
Geometry L1=10, L2=15
Original tool length
X
Z
X'
Z'
10 20 30
10
20
P1
P2
30
P0
Figure 18-54 Tool length compensation, example 6
W1: Tool offset
18.15 Examples
Basic Functions
1638 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
If the sample program is continued after N110 with the following instructions:
N120 _CORVAL[0] = 0.0
N130 r1 = settcor(_CORVAL, "GW", 0, 3, 0)
N140 t1 d1 x0 y0 z0 ; ==> MCS position X24.330 Y0.000
Z17.500
The remaining wear is included completely in the geometry because the compensation is now
effective in the Z' axis (parameter _GEOAX is 0). Since the new compensation value is 0, the
total tool length and thus the position approached in N140 may not change. If _CORVAL were
not equal to 0 in N120, a new total tool length and thus a new position in N140 would result,
however, the wear component of the tool length would always be zero, i.e., the total tool length
is subsequently always contained in the geometry component of the tool.
The same result as that achieved by calling the SETTCOR function with the _CORCOMP = 0
parameter twice can also be reached by calling _CORRCOMP = 1 (vectorial compensation)
just once:
N10 def real _CORVAL[3]
N20 $TC_DP1[1,1] = 500 ; Turning tool
N30 $TC_DP3[1,1] = 10.0 ; Geometry L1
N40 $TC_DP4[1,1] = 15.0 ; Geometry L2
N50 $TC_DP12[1,1]= 10.0 ; Wear L1
N60 $TC_DP13[1,1] =0.0 ; Wear L2
N70 _CORVAL[0] = 0.0
N71 _CORVAL[1] = 5.0
N72 _CORVAL[2] = 0.0
N80 rot y 30
N90 t1 d1 g18 g0
N100 r1 = settcor(_CORVAL, "GW", 1, 3, 1)
N110 t1 d1 x0 y0 z0 ; ==> MCS position X24.330 Y0.000
Z17.500
N120 M30
In this case, all wear components of the tool are set to zero immediately after the first call of
SETTCOR in N100.
Example 7
N10 def real _CORVAL[3]
N20 $TC_DP1[1,1] = 500 ; Turning tool
N30 $TC_DP3[1,1] = 10.0 ; Geometry L1
N40 $TC_DP4[1,1] = 15.0 ; Geometry L2
N50 $TC_DP12[1,1]= 10.0 ; Wear L1
N60 $TC_DP13[1,1] =0.0 ; Wear L2
N70 _CORVAL[0] = 5.0
W1: Tool offset
18.15 Examples
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1639
N80 rot y 30
N90 t1 d1 g18 g0
N100 r1 = settcor(_CORVAL, "GW", 3, 3)
N110 t1 d1 x0 y0 z0 ; ==> MCS position X25.000 Y0.000
Z15.000
As opposed to example 6, parameter _CORCOMP = 3, and so the _GEOAX parameter can
be omitted. The value contained in _CORVAL[0] now acts immediately on the tool length
component L1, the rotation in N80 has no effect on the result, the wear components in
$TC_DP12 are included in the geometry component together with _CORVAL[0], with the
result that the total tool length is stored in the geometry component of the tool, due to
$TC_DP13, after the first SETTCOR call in N100.
Example 8
N10 def real _CORVAL[3]
N20 $TC_DP1[1,1] = 500 ; Turning tool
N30 $TC_DP3[1,1] = 10.0 ; Geometry L1
N40 $TC_DP4[1,1] = 15.0 ; Geometry L2
N50 $TC_DP5[1,1] = 20.0 ; Geometry L3
N60 $TC_DP12[1,1]= 10.0 ; Wear L1
N70 $TC_DP13[1,1] =0.0 ; Wear L2
N80 $TC_DP14[1.1] =0.0 ; Wear L3
N90 $SC_WEAR_SIGN = TRUE
N100 _CORVAL[0] = 10.0
N110 _CORVAL[1] = 15.0
N120 _CORVAL[2] = 5.0
N130 rot y 30
N140 t1 d1 g18 g0
N150 r1 = settcor(_CORVAL, "W", 1, 1)
N160 t1 d1 x0 y0 z0 ; ==> MCS position X7.990 Y25.000
Z31.160
In N90 the setting data is enabled:
SD42930 $SC_WEAR_SIGN (sign of wear)
i.e. the wear must be valued with a negative sign.
W1: Tool offset
18.15 Examples
Basic Functions
1640 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
The compensation is vectorial (_CORCOMP = 1), and the compensation vector must be
added to the wear (_CORMODE = 1). The geometric conditions in the Z/X plane are shown
in the figure below:
P0
30 20 10 Z
Z'
P2
P1
10
30
20
X'
X
_CORVAL Y'= 5, X' = 15, Z'=10
Geometry
L1=10, L2=15
Wear L1=10, L2=0
(negative evaluation)
Resulting wear component
Original tool length
Figure 18-55 Tool length compensation, example 8
The geometry component of the tool remains unchanged due to _CORMODE = 1. The
compensation vector defined in the WCS (rotation about y axis) must be included in the wear
component such that the total tool length in the figure refers to point P2. Therefore, the
resulting wear component of the tool is given in relation to the distance between points P1
and P2.
However, since the wear is evaluated negatively, due to setting data SD42930, the
compensation determined in this way has to be entered in the compensation memory with a
negative sign. The contents of the relevant tool parameters at the end of the program are
thus:
$TC_DP3[1,1] : 10.000 ; Geometry L1 (unchanged)
$TC_DP4[1,1] : 15.000 ; Geometry L2 (unchanged)
$TC_DP5[1,1] : 10.000 ; Geometry L3 (unchanged)
$TC_DP12[1,1] : 2.010 ; Wear L1
;(= 10 -15*cos(30) + 10*sin(30))
$TC_DP13[1,1] : -16.160 ; Wear L2
;(= -15*sin(30) - 10*cos(30))
$TC_DP14[1,1] : -5.000 ; Wear L3
The effect of setting data SD42930 on the L3 component in the Y direction can be
recognized without the additional complication caused by the frame rotation.
W1: Tool offset
18.15 Examples
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1641
Example 9
2 (tool length must be valued in the diameter axis with the factor 0.5) is the value of machine
data:
MD20360 $MC_TOOL_PARAMETER_DEF_MASK (definition of tool parameters).
X is diameter axis:
N10 def real _LEN[11]
N20 def real _CORVAL[3]
N30 $TC_DP1[1,1]= 500
N40 $TC_DP2[1,1]= 2
N50 $TC_DP3[1,1]= 3.
N60 $TC_DP4[1,1]= 4.
N70 $TC_DP5[1,1]= 5.
N80 _CORVAL[0] = 1.
N90 _CORVAL[1] = 1.
N100 _CORVAL[2] = 1.
N110 t1 d1 g18 g0 x0 y0 z0 ; ==> MCS position X1.5 Y5 Z4
N120 r1 = settcor(_CORVAL, "g", 1, 1)
N130 t1 d1 x0 y0 z0 ; ==> MCS position X2.5 Y6 Z5
N140 r3 = $TC_DP3[1,1] ; = 5. = (3.000 + 2. * 1.000)
N150 r4 = $TC_DP4[1,1] ; = 5. = (4.000 + 1.000)
N160 r5 = $TC_DP5[1.1] ; = 6. = (5.000 + 1.000)
N170 m30
The compensation of the tool length is to be 1 mm in each axis (N80 to N100).
1 mm is thus added to the original length in lengths L2 and L3.
Twice the compensation value (2 mm) is added to the original tool length in L1, in order to
change the total length by 1 mm as required. If the positions approached in blocks N110 and
N130 are compared, it can be seen that each axis position has changed by 1 mm.
W1: Tool offset
18.16 Data lists
Basic Functions
1642 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.16 Data lists
18.16.1 Machine data
18.16.1.1 NC-specific machine data
Number Identifier: $MN_ Description
18082 MM_NUM_TOOL Number of tools that the NCK can manage (SRAM)
18088 MM_NUM_TOOL_CARRIER Maximum number of the defined toolholders
18094 MM_NUM_CC_TDA_PARAM Number of tool data (SRAM)
18096 MM_NUM_CC_TOA_PARAM Number of data, per tool cutting edge for compile
cycles (SRAM)
18100 MM_NUM_CUTTING_EDGES_IN_TOA Tool offsets in the TOA area (SRAM)
18102 MM_TYPE_OF_CUTTING_EDGE Type of D number programming (SRAM)
18105 MM_MAX_CUTTING_EDGE_NO Maximum value of D number
18106 MM_MAX_CUTTING_EDGE_PERTOOL Maximum number of D numbers per tool
18108 MM_NUM_SUMCORR Number of all sum offsets in NCK
18110 MM_MAX_SUMCORR_PER_CUTTEDGE Number of additive offsets per cutting edge
18112 MM_KIND_OF_SUMCORR Properties of additive offsets in the TO area (SRAM)
18114 MM_ENABLE_TOOL_ORIENT Assign orientation to cutting edges
18116 MM_NUM_TOOL_ENV Tool environments in the TOA area (SRAM)
18.16.1.2 Channel-specific machine data
Number Identifier: $MC_ Description
20096 T_M_ADDRESS_EXT_IS_SPINO Meaning of the address extension with T, M tool
change
20110 RESET_MODE_MASK Definition of initial control setting after RESET/part
program end
20120 TOOL_RESET_VALUE Tool length compensation at power-up (Reset/TP
end)
20121 TOOL_PRESEL_RESET_VALUE Preselected tool on RESET
20125 CUTMOD_ERR Troubleshooting for the CUTMOD function
20126 TOOL_CARRIER_RESET_VALUE Active toolholder on RESET
20127 CUTMOD_INIT Initialize CUTMOD for POWER ON
20130 CUTTING_EDGE_RESET_VALUE Tool cutting edge length compensation at power-up
(Reset/TP end)
20132 SUMCORR_RESET_VALUE Additive offset effective at RESET
W1: Tool offset
18.16 Data lists
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1643
Number Identifier: $MC_ Description
20140 TRAFO_RESET_VALUE Transformation data record at power up (Reset/TP
end)
20180 TOCARR_ROT_ANGLE_INCR[i] Rotary axis increment of the toolholder with
orientation capability
20182 TOCARR_ROT_ANGLE_OFFSET[i] Rotary axis offset of toolholder with orientation
capability
20184 TOCARR_BASE_FRAME_NUMBER Number of the basic frames to accept the table offset
20188 TOCARR_FINE_LIM_LIN Limit linear fine offset TCARR
20190 TOCARR_FINE_LIM_ROT Limit of the rotary fine offset TCARR
20202 WAB_MAXNUM_DUMMY_BLOCKS Maximum number of blocks with no traversing
motions with SAR
20204 WAB_CLEARANCE_TOLERANCE Direction reversal for WAB
20210 CUTCOM_CORNER_LIMIT Max. angle for intersection calculation with tool radius
compensation
20220 CUTCOM_MAX_DISC Maximum value for DISC
20230 CUTCOM_CURVE_INSERT_LIMIT Maximum value for intersection calculation with TRC
20240 CUTCOM_MAXNUM_CHECK_BLOCKS Blocks for predictive contour calculation with tool
radius compensation
20250 CUTCOM_MAXNUM_DUMMY_BLOCKS Maximum number of blocks without traversing motion
for TRC
20252 CUTCOM_MAXNUM_SUPPR_BLOCKS Maximum number of blocks with compensation
suppression
20256 CUTCOM_INTERS_POLY_ENABLE Intersection process possible for polynomials
20270 CUTTING_EDGE_DEFAULT Basic setting of tool cutting edge without programming
20272 SUMCORR_DEFAULT Initial setting of additive offset without program
20360 TOOL_PARAMETER_DEF_MASK Definition of tool parameters
20390 TOOL_TEMP_COMP_ON Activation of temperature compensation for tool length
20392 TOOL_TEMP_COMP_LIMIT Maximum temperature compensation for tool length
20610 ADD_MOVE_ACCEL_RESERVE Acceleration reserve for overlaid movements
21080 CUTCOM_PARALLEL_ORI_LIMIT Minimum angle (path tangent and tool orientation) for
3D tool radius compensation
22530 TOCARR_CHANGE_M_CODE M code for change of toolholder
22550 TOOL_CHANGE_MODE New tool compensations with M function
22560 TOOL_CHANGE_M_CODE M function for tool change
22562 TOOL_CHANGE_ERROR_MODE Response when errors occur at tool change
24558 TRAFO5_JOINT_OFFSET_PART_1 Vector of kinematic offset in table, transformation 1
24658 TRAFO5_JOINT_OFFSET_PART_2 Vector of kinematic offset in table, transformation 2
28085 MM_LINK_TOA_UNIT Assigning the TO unit to a channel (SRAM)
W1: Tool offset
18.16 Data lists
Basic Functions
1644 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
18.16.1.3 Axis/spindle-specific machine data
Number Identifier: $MA_ Description
32750 TEMP_COMP_TYPE Temperature compensation type
18.16.2 Setting data
18.16.2.1 Channel-specific setting data
Number Identifier: $SC_ Description
42442 TOOL_OFFSET_INCR_PROG Tool length compensation
42470 CRIT_SPLINE_ANGLE Core limit angle, for compressor
42480 STOP_CUTCOM_STOPRE Alarm response for tool radius compensation and
preprocessing stop
42494 CUTCOM_ACT_DEACT_CTRL Approach and retraction behavior for tool radius
compensation
42496 CUTCOM_CLSDT_CONT Behavior of the tool radius compensation for closed
contour
42900 MIRROR_TOOL_LENGTH Sign change, tool lengths when mirroring
42910 MIRROR_TOOL_WEAR Sign change, tool wear when mirroring
42920 WEAR_SIGN_CUTPOS Sign of wear for tools with cutting edge position
42930 WEAR_SIGN Sign of the wear
42935 WEAR_TRANSFORM Transformations for tool components
42940 TOOL_LENGTH_CONST Change of tool length components for change of
plane
42950 TOOL_LENGTH_TYPE Assignment of the tool length offset independent of
tool type
42960 TOOL_TEMP_COMP Temperature compensation value in relation to tool
42974 TCARR_FINE_CORRECTION Fine offset TCARR on/off
42984 CUTDIRMOD Modification of $P_AD[2] or $P_AD[11]
W1: Tool offset
18.16 Data lists
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1645
18.16.3 Signals
18.16.3.1 Signals from channel
Signal name SINUMERIK 840D sl SINUMERIK 828D
T function 1 change DB21, ... .DBX61.0 -
D function 1 change DB21, ... .DBX62.0 -
T function 1 DB21, ... .DBB116-119 DB2500.DBD2000
D function 1 DB21, ... .DBB128-129 DB2500.DBD5000
Active G function of group 7 DB21, ... .DBB214 DB3500.DBB6
Active G function of group 16 DB21, ... .DBB223 DB3500.DBB15
Active G function of group 17 DB21, ... .DBB224 DB3500.DBB16
Active G function of group 18 DB21, ... .DBB225 DB3500.DBB17
Active G function of group 23 DB21, ... .DBB230 DB3500.DBB22
W1: Tool offset
18.16 Data lists
Basic Functions
1646 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1647
Z1: NC/PLC interface signals
19
19.1 Brief description
The section entitled "NC/PLC interface signals" includes a detailed description of NC/PLC
interface signals relevant to function:
PLC messages (DB2)
NC (DB10)
Mode group (DB11)
OP (DB19)
NCK channel (DB21-DB30)
Axis/spindle (DB31-DB61)
Loading/unloading a magazine (DB71)
Spindle as change point (DB72)
Tool turret (DB73)
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1648 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
19.2 Various interface signals and functions (A2)
19.2.1 Signals from PLC to NC (DB10)
DB10
DBX56.4 - DBX56.7
Key-operated switch positions 0 to 3
Edge evaluation: no Signal(s) updated: cyclic
Significance of signal Access to certain data types can be disabled depending on the key-operated switch position.
Input, changing, deleting data as well as certain operations on the operator panel can be disabled
for certain user groups in this way.
Key-operated switch position 0 offers the fewest access rights and position 3 the most access
rights.
The signals "key-operated switch positions 1 to 3" can either be entered directly from the key-
operated switch on the machine control panel or from the PLC user program.
Only one interface signal may be set in each case. If several positions are set simultaneously
(interface signals), then they are no longer valid and key-operated switch position 3 is automatically
set by the control.
The allocation between the lockable data areas and the key operated switch positions is made by
HMI machine data for protection stages.
The following signal combinations apply:
0
1
2
3
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
The following signal combinations apply:
Bit 4
DB10, DBB56
Bit 5 Bit 6 Bit 7 Key-operated switch position
Application
example(s)
Depending on the rights assigned to the operator, programmer or installation engineer, certain
functions will be disabled by the key-operated switch. Unintentional changes to data (e.g. zero
offsets) or activation of program conditions (e.g. selecting dry run feed rate) by the operator can
therefore be prevented.
Corresponding to .... Disabling using a password
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1649
19.2.2 Selection/Status signals from HMI to PLC (DB10)
DB10
DBX103.0
Remote diagnosis active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Remote diagnosis (optional) is active, i.e. the control is operated via an external PC.
Signal state 0 or
edge change 1 0
Remote diagnosis is not active.
DB10
DBX103.5
AT box ready
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
The AT box for expansion modules is ready.
Signal state 0 or
edge change 1 0
The AT box is not ready. An expansion module conforming to the AT specification has either no
functionality or restricted functionality.
Additional references /BH/ Operator Components Manual; PCU 50,
Chapter: Spare parts
DB10
DBX103.6
PCU Temperature limit
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
The environment conditions of the limit value are in the permitted tolerance range of 5 to 55 degree
C.
Signal state 0 or
edge change 1 0
The temperature range was either exceeded, or the temperature fell below the limit.
The temperature monitor has responded and the PCU is disabled.
DB10
DBX103.7
PCU Battery alarm
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
The battery monitor has responded. Power failure can cause the loss of recently changed data and
a correct device configuration. A corresponding HMI alarm is reported. The PCU buffer battery is to
be tested. An insufficient battery voltage also affects the current time on the operator interface.
Signal state 0 or
edge change 1 0
No PCU battery alarm is active.
Signal irrelevant for
...
SINUMERIK 840/840Di with PCU 50, PCU 20 or PCU 70
Additional references /BH/ Operator Components Manual; PCU 50,
Chapter: Replacing the battery
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1650 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
19.2.3 Signals from the NC to the PLC (DB10)
DB10
DBX104.7
NCK CPU Ready
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change 0 1
The NCK CPU is ready and registers itself cyclically with the PLC.
After a correct initial start and the first complete OB1 cycle (initial setting cycle) the PLC and NCK
continuously exchange sign of life signals.
The PLC basic program sets the interface signal "NCK CPU Ready" to 1.
Signal state 0 or
edge change 1 0
The NCK CPU is not ready.
If a sign of life is not received from the NCK, the PLC/NCK interface is neutralized by the PLC basic
program and the interface signal "NCK CPU Ready" is set to 0.
The following measures are introduced by the PLC basic program:
Status signals from NCK to PLC (user interface) are deleted (cleared)
Change signals for help functions are deleted
Cyclic processing of the user interface PLC to NCK is terminated.
Additional references /DA/ Diagnostics Manual
/FB1/ Function Manual Basic Functions, PLC Basic Program (P3)
DB10
DBX108.3
SINUMERIK Operate Ready
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change 0 1
SINUMERIK Operate is ready and cyclically logs on with the NCK.
Signal state 0 or
edge change 1 0
SINUMERIK Operate is not ready.
Additional references /DA/ Diagnostics Manual
DB10
DBX108.6
Drive Ready
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change 0 1
All existing drives signal the status drive ready (summary of axial interface signals "DRIVE ready").
Signal state 0 or
edge change 1 0
As soon as the drive not ready status is signaled from a drive
(i.e. IS "DRIVE ready" = 0).
Signal irrelevant for
...
SINUMERIK 840Di sl
Corresponding to .... DB31, ... DBX93.5 (DRIVE ready)
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1651
DB10
DBX108.7
NC Ready
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change 0 1
The control system is ready.
This interface signal is an image of the relay contact "NC Ready".
This signal is set if:
Relay contact "NC Ready" is closed
All the voltages in the control have been established
The control is in the cyclic mode
Signal state 0 or
edge change 1 0
The control is not ready. The relay contact "NC Ready" is open.
The following faults will cause NC Ready to be canceled:
Undervoltage and overvoltage monitoring function has responded
Individual components are not ready (NCK CPU Ready)
NC CPU watchdog
If the signal "NC Ready" goes to 0 the following measures are introduced by the control if they are
still possible:
The controller enable signals are withdrawn (this stops the drives)
The following measures are introduced by the PLC basic program:
Status signals from NCK to PLC (user interface) are deleted (cleared)
Change signals for help functions are deleted
Cyclic processing of the PLC to NCK user interface is terminated
For further information see References!
The control is not ready again until after POWER ON.
Corresponding to .... Relay contact "NC Ready"
Additional references /DA/ Diagnostics Manual
/FB1/ Function Manual Basic Functions, PLC Basic Program (P3)
DB10
DBX109.0
NCK alarm is active
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change 0 1
At least one NCK alarm is present.
This is a group signal for the interface signals of all existing channels:
DB21, ... DBX36.6 (channel-specific NCK alarm is active).
Signal state 0 or
edge change 1 0
No NCK alarm is active.
Corresponding to .... DB21, ... DBX36.6 (channel-specific NCK alarm is active)
DB21, ... DBX36.7 (NCK alarm with processing stop present)
Additional references /DA/ Diagnostics Manual
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1652 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB10
DBX109.5
Heatsink temperature alarm, NCU 573
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change 0 1
In NCU 573, the limit values of the heat sink temperature was exceeded.
The heat sink temperature got activated and a steady operation of the operator panel is no longer
guaranteed.
Signal state 0 or
edge change 1 0
The heatsink monitoring function of the NCU 573 has not responded.
DB10
DBX109.6
Air temperature alarm
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change 0 1
The ambient temperature or fan monitoring function has responded.
This may be due to the following causes:
The temperature monitoring has identified an ambient temperature that is too high (approx. 60
C). Alarm 2110 "NCK temperature alarm" is output.
The speed monitoring of the 24 V DC fan used to cool the module has responded. Alarm 2120
"NCK fan alarm" is output.
Measures: Replace the fan and/or ensure that additional ventilation is provided.
When a temperature or fan error responds, a relay contact (terminal 5.1, 5.2 or 5.1, 5.3) in the
infeed/regenerative feedback unit is activated which can be evaluated by the customer.
Signal state 0 or
edge change 1 0
Neither the temperature monitoring nor the fan monitoring has responded.
Application
example(s)
Appropriate measures can be initiated by the PLC user program if the temperature or fan
monitoring is activated.
Corresponding to .... When a temperature or fan error responds, a relay contact (terminal 5.1, 5.2 or 5.1, 5.3) in the
infeed/regenerative feedback unit is activated. This can be evaluated.
Additional references /DA/ Diagnostics Manual
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1653
DB10
DBX109.7
NCK battery alarm
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change 0 1
The NCK battery voltage monitoring function has responded.
This may be due to the following causes:
The battery voltage is within the pre-warning limit range (approx. 2.7 to 2.9 V). Alarm 2100
"NCK battery warning threshold reached" has been triggered.
Refer to References for effects and measure.
The battery voltage is below the pre-warning limit range ( 2.6 V).
Alarm 2101 "NCK battery alarm" is signaled in cyclic operation.
Effects: A supply voltage failure - e.g. when the control is switched off - would result in the loss
of battery-buffered data (e.g. part program memory, variables,machine data ...).
Measure: Refer to additional References.
When the control ran-up, it was identified that the battery voltage was below the pre-warning
limit range ( 2.6 V).
Alarm 2102 "NCK battery alarm" is output; NC ready and mode group ready are not issued.
Effects: Some of the battery-buffered data may already have been lost!
Measure: Refer to additional References.
Signal state 0 or
edge change 1 0
The battery voltage is above the lower limit value (normal condition).
Special cases,
errors, ...
The NCK batteries should only be replaced while the NC is switched on to avoid data loss because
of no memory backup.
Additional references /DA/ Diagnostics Manual
/IAD/ SINUMERIK 840D/611D, Commissioning Manual
19.2.4 Signals to Operator Panel (DB19)
DB19
DBX0.0
Screen bright
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
The screen blanking is disabled.
Signal state 0 or
edge change 1 0
The screen blanking remains in effect.
Corresponding to .... DB19 DBX0.1 (darken screen)
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1654 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB19
DBX0.1
Darken screen
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
The screen is darkened by the PLC user program.
The automatic screen brightening / darkening is therefore ineffective:
i.e. the screen does not brighten up automatically on actuating the keyboard.
Signal state 0 or
edge change 1 0
The screen is controlled by the PLC user program "bright".
In this signal state, the screen brightening / darkening setting can be derived by the control via the
keyboard automatically.
The screen is darkened if no key is pressed for a period defined via the following machine data on
the keyboard:
MD9006 $MM_DISPLAY_BLACK_TIME (time to darken the screen)
The screen is brightened the next time a key on the operator panel front is pressed.
Application
example(s)
Screen saver
Special cases,
errors, ....
Notice:
The keyboard of the operator panel front continues to be effective if the interface signal:
DB19 DBX0.1 (darken screen) = 1
We therefore recommend that this is disabled using the interface signal:
DB19 DBX0.2 (key disable)
Corresponding to .... DB19 DBX0.2 (key disable)
MD9006 $MM_DISPLAY_BLACK_TIME (time to darken the screen)
DB19
DBX0.2
Key disable
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
The keyboard is disabled for the user.
Signal state 0 or
edge change 1 0
The keyboard is enabled for the user.
Application
example(s)
If the screen is darkened with the interface signal: DB19 DBX0.1 (darken screen), the keyboard
should be actuated simultaneously with the interface signal: DB19 DBX0.2 (key disable) to avoid
an unintended operation.
Corresponding to .... DB19 DBX0.1 (darken screen)
DB19
DBX0.3
Clear cancel alarms
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Clear error key on the machine control panel is pressed.
All cancel alarms of the NCKs and the control panel are then acknowledged. The PLC application
acknowledges the PLC alarms itself.
PowerOn and Reset alarms remain active on the NCK until the cause of the error has been
removed.
Signal state 0 or
edge change 1 0
Clear error key on the machine control panel is not pressed.
Functionality Only applicable to HMI Advanced or PCU 50.
Corresponding to .... DB19 DBX20.3 (Cancel alarm cleared)
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1655
DB19
DBX0.4
Clear recall alarms
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Clear error key on the machine control panel is pressed.
All cancel alarms of the NCKs and the control panel are then acknowledged. The PLC application
acknowledges the PLC alarms itself. POWER On and Reset alarms remain active on the NCK until
the cause of the error has been removed.
Signal state 0 or
edge change 1 0
Clear error key on the machine control panel is not pressed.
Application
example(s)
Applies to HMI Advanced only
Corresponding to .... DB19 DBX20.4 (Recall alarm cleared)
DB19
DBX0.7
Actual value in WCS
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
The PLC selects the display of actual values in the workpiece coordinate system (WCS). This
means that when the machine area is selected, the WCS display is activated; i.e. the machine and
the supplementary axes as well as their actual positions and distances to go are displayed in the
WCS in the "Position" window.
The interface signal is only evaluated when it enters the basic machine screen; this means that the
operator, within the machine area, can toggle as required between the particular coordinate
systems using the softkeys "actual values MCS" and "actual values WCS".
Signal state 0 or
edge change 1 0
This means that when the machine area is selected the coordinate system previously selected
(WCS or MCS) is reactivated and displayed.
Application
example(s)
Using the interface signal:DB19, DBX0.7 (actual value in WCS) = 1 each time that the machine
area is re-selected, the workpiece coordinate system display frequently required by the operator
(WCS), is selected.
Corresponding to .... DB19 DBX20.7 (changeover MCS/WCS)
Additional references Operating Manual HMI (corresponding to the used software)
DB19
DBB2
Higraph first error display
Edge evaluation: No Signal(s) updated: Cyclically
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1656 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB19
DBB4
Higraph first error display
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBX6.0 - 6.7
Analog spindle 1, utilization in percent
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBX7.0 - DBX7.7
Analog spindle 2, utilization in percent
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBX8.0 - DBX8.7
Channel number of the machine control panel to HMI
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBX10.0
Programming area selection
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Program area selection active
Signal state 0 or
edge change 1 0
Program area selection inactive
DB19
DBX10.1
Alarm area selection
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Alarm area selection active
Signal state 0 or
edge change 1 0
Alarm area selection inactive
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1657
DB19
DBX10.2
Tool offset selection
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Tool offset selection active
Signal state 0 or
edge change 1 0
Tool offset selection inactive
DB19
DBX10.7
ShopMill control signal
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBX12.2
COM2
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
COM2 active
Signal state 0 or
edge change 1 0
COM2 inactive
Application
example(s)
Valid for HMI Embedded;
a file transfer can be initiated via RS-232-C.
DB19
DBX12.3
COM1
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
COM1 active
Signal state 0 or
edge change 1 0
COM1 inactive
Application
example(s)
Valid for HMI Embedded;
a file transfer can be initiated via RS-232-C.
DB19
DBX12.4
RS-232-C Stop
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
V24 stop active
Signal state 0 or
edge change 1 0
V24 stop inactive
Application
example(s)
Valid for HMI Embedded;
a file transfer can be initiated via RS-232-C.
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1658 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB19
DBX12.5
RS-232-C external
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
V24 externally active
Signal state 0 or
edge change 1 0
V24 externally inactive
Application
example(s)
Valid for HMI Embedded;
a file transfer can be initiated via RS-232-C.
DB19
DBX12.6
RS-232-C off
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
RS-232-C off active
Signal state 0 or
edge change 1 0
RS-232-C off inactive
Application
example(s)
Valid for HMI Embedded;
a file transfer can be initiated via RS-232-C.
DB19
DBX12.7
RS-232-C on
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
RS-232-C on active
Signal state 0 or
edge change 1 0
RS-232-C on inactive
Application
example(s)
Valid for HMI Embedded;
a file transfer can be initiated via RS-232-C.
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1659
DB19
DBX13.5
Unload
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Unload active
Signal state 0 or
edge change 1 0
Unload inactive
Application
example(s)
Valid for HMI Embedded;
a file transfer can be initiated using the hard disk.
DB19
DBX13.6
Load part program
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Loading active
Signal state 0 or
edge change 1 0
Loading inactive
Application
example(s)
Valid for HMI Embedded;
a file transfer can be initiated using the hard disk.
DB19
DBX13.7
Selection
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Selection active
Signal state 0 or
edge change 1 0
Selection inactive
Application
example(s)
Valid for HMI Embedded;
a file transfer can be initiated using the hard disk.
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1660 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB19
DBX14.0 - DBX14.6
PLC index
Edge evaluation: No Signal(s) updated: Cyclically
Description This byte for control of the V24 interface describes the PLC index for the standard control file,
which specifies the axis, channel or TO number. This file is handled according to the contract from
the PLC HMI in the interface signal:
DB19 DBB12
Application
example(s)
Valid for HMI Embedded, with reference to DB19 DBB12
Dependent on:
DB19 DBX14.7=0 Akt. FS: PLC index that specifies axis, channel or TO No.
DB19 DBX14.7=1 Pas.FS: PLC index for the user control file
DB19
DBX14.7
Active or passive file system
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Passive file system
Signal state 0 or
edge change 1 0
Active file system
Application
example(s)
Valid for HMI Embedded, with reference to DB19 DBB12
DB19
DBX15.0 - DBX15.7
PLC line offset
Edge evaluation: No Signal(s) updated: Cyclically
Description This byte to control the RS-232-C interface defines the line of the standard or user control file in
which the control file to be transferred is specified.
Application
example(s)
Valid for HMI Embedded, with reference to DB19 DBB12
Dependent on:
DB19 DBX14.7=0 Akt. FS: PLC line offset in a standard control file
DB19 DBX14.7=1 Pas. FS: PLC line offset in a user control file
DB19
DBX16.0 - DBX16.6
PLC index for the user control file
Edge evaluation: No Signal(s) updated: Cyclically
Description This byte for controlling file transfer via hard disk defines the index for the control file (job list). This
file is handled from the PLC HMI correspondling to the contract which is in DB19 DBB13.
Application
example(s)
Valid for HMI Advanced, with reference to the interface signal:
DB19 DBB13
Dependent on:
DB19 DBX14.7=0 Akt. FS: PLC index for the standard control file
DB19 DBX14.7=1 Pas.FS: PLC index for the user control file
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1661
DB19
DBX16.7
Active or passive file system
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Passive file system
Signal state 0 or
edge change 1 0
Active file system
Application
example(s)
with HMI Advanced always 1
DB19
DBX17.0 - DBX17.7
PLC line offset in the user control file
Edge evaluation: No Signal(s) updated: Cyclically
Description This byte for controlling file transfer via the hard disk defines the line of the user control file in which
the control file to be transferred is located.
Application
example(s)
Valid for HMI Advanced, with reference to DB19 DBB13
Dependent on:
DB19 DBX14.7=0 Akt. FS: PLC line offset in a standard control file
DB19 DBX14.7=1 Pas. FS: PLC line offset in a user control file
DB19
DBX44.0
Mode change disable
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Mode change disable active
Signal state 0 or
edge change 1 0
Mode change disable active
DB19
DBX45.0
FC9 Out: Active
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBX45.1
FC9 Out: Done
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBX45.2
FC9 Out: Error
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBX45.3
FC9 Out: StartError
Edge evaluation: No Signal(s) updated: Cyclically
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1662 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
19.2.5 Signals from operator control panel (DB19)
DB19
DBX20.1
Screen is dark
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
The screen is darkened.
Signal state 0 or
edge change 1 0
The screen is not darkened.
Application
example(s)
Using this IS, the PLC can identify whether the screen was switched dark using the interface
signal:
DB19, DBX0.1 (darken screen)
or using the machine data:
MD9006 $MM_DISPLAY_BLACK_TIME (screen blanking time).
Corresponding to .... MD9006 $MM_DISPLAY_BLACK_TIME (screen blanking time)
DB19
DBX20.3
Cancel alarm cleared
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Cancel alarm deleted active
Signal state 0 or
edge change 1 0
Cancel alarm deleted inactive
Note: The signal is not reset automatically, it must be set by the user via the PLC user program.
DB19
DBX20.4
Recall alarm cleared
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Recall alarm deleted inactive
Signal state 0 or
edge change 1 0
Recall alarm deleted inactive
Note: The signal is not reset automatically, it must be set by the user via the PLC user program.
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1663
DB19
DBX20.6
Simulation selected
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
On entry to simulation = 1
Signal state 0 or
edge change 1 0
On exit from simulation = 0
Application
example(s)
Can be evaluated by machine manufacturer in order to activate the test on NC start.
The following must be set in the drive machine data:
MD1012 $MD_FUNC_SWITCH, bit 2 = 0.
Status "Ext. pulse disable active, terminal 663 open" is then not transmitted to the NC.
Corresponding to .... MD1012 $MD_FUNC_SWITCH, bit 2
DB19
DBX20.7
Switch over MCS/WCS
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
The coordinate system is switched over from workpiece coordinate system (WCS) to machine
coordinate system (MCS) or from MCS to WCS.
After it has been set, the signal is active for 1 PLC cycle.
Signal state 0 or
edge change 1 0
No effect
Application
example(s)
The interface signal:
DB19, DBX20.7 (change over MCS/WCS)
must be transferred to the interface signal:
DB19, DBX0.7 (actual value in WCS)
in order that the changeover becomes effective.
Corresponding to .... DB19, DBX0.7 (actual value in WCS)
DB19
DBX22.0 - DBX22.7
Displayed channel number from HMI
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBX24.0
Error (status RS-232-C from PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Error status active
Signal state 0 or
edge change 1 0
Error status inactive
Application
example(s)
The actual status of the RS 232C is sent to the PLC in acknowledgment byte DB19.DBB24.
Corresponding to .... Applies to HMI Embedded
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1664 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB19
DBX24.1
O.K. (status RS-232-C from PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
O.K. status active
Signal state 0 or
edge change 1 0
O.K. status inactive
Application
example(s)
The actual status of the RS 232C is sent to the PLC in acknowledgment byte DB19.DBB24.
Corresponding to .... Applies to HMI Embedded
DB19
DBX24.2
COM2 (status RS-232-C from PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
COM2 active
Signal state 0 or
edge change 1 0
COM2 inactive
Application
example(s)
The actual status of the RS 232C is sent to the PLC in acknowledgment byte DB19.DBB24.
Corresponding to .... Applies to HMI Embedded
DB19
DBX24.3
COM1 (status RS-232-C from PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
COM1 active
Signal state 0 or
edge change 1 0
COM1 inactive
Application
example(s)
The actual status of the RS 232C is sent to the PLC in acknowledgment byte DB19.DBB24.
Corresponding to .... Applies to HMI Embedded
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1665
DB19
DBX24.4
RS-232-C stop (status RS-232-C from PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
V24 stop active
Signal state 0 or
edge change 1 0
V24 stop inactive
Application
example(s)
The actual status of the RS 232C is sent to the PLC in acknowledgment byte DB19.DBB24.
Corresponding to .... Applies to HMI Embedded
DB19
DBX24.5
RS-232-C external (status RS-232-C from PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
V24 externally active
Signal state 0 or
edge change 1 0
V24 externally inactive
Application
example(s)
The actual status of the RS 232C is sent to the PLC in acknowledgment byte DB19.DBB24.
The bit "RS-232-C external" is delayed until the transfer of the part program to be externally
executed has been started and the selection has been made. Only then is an "NC Start" possible.
Corresponding to .... Applies to HMI Embedded
DB19
DBX24.6
RS-232-C off (status RS-232-C from PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
RS-232-C off active
Signal state 0 or
edge change 1 0
RS-232-C off inactive
Application
example(s)
The actual status of the RS 232C is sent to the PLC in acknowledgment byte DB19.DBB24.
Corresponding to .... Applies to HMI Embedded
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1666 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB19
DBX24.7
RS-232-C on (status RS-232-C from PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
RS-232-C on active
Signal state 0 or
edge change 1 0
RS-232-C on inactive
Application
example(s)
The actual status of the RS 232C is sent to the PLC in acknowledgment byte DB19.DBB24.
Corresponding to .... Applies to HMI Embedded
DB19
DBX25.0 - DBX25.7
Error RS-232-C
Edge evaluation: No Signal(s) updated: Cyclically
Description 0 = no error
1 = invalid number for the control file
(value in DB19.DBB14<127 or invalid)
2 = DB19.DBB15 could not be read
3 = control file /BD.DIR/PLC_IN_OUT_xxx.TEA not found
(value in DB19.DBB14 invalid)
4 = invalid index in control file.
(value in DB19.DBB15 incorrect)
5 = selected job list in the control file could not be opened (only HMI Advanced)
6 = error in the job list (job list interpreter returns error) (only HMI Advanced)
7 = job list interpreter signals empty job list (only HMI Advanced)
8 = error during the RS-232-C transmission.
The error text is entered into the DIENSTE PROTOKOLL [SERVICES REPORT].
9 = error when executing job list (only HMI Advanced)
Corresponding to .... Applies to HMI Embedded
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1667
DB19
DBX26.1
OK (job list selection from PLC, status)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Transfer correctly completed
Signal state 0 or
edge change 1 0
Transfer completed with error
Corresponding to .... Valid for HMI Advanced
DB19
DBX26.2
Error (job list selection from PLC, status) (previously bit 0)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Transfer completed with error
Signal state 0 or
edge change 1 0
Transfer correctly completed
Corresponding to .... Valid for HMI Advanced
DB19
DBX26.3
Active (job list selection from PLC, status)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Job in progress
Signal state 0 or
edge change 1 0
No task in progress
Corresponding to .... Valid for HMI Advanced
DB19
DBX26.5
Unload (job list selection from PLC, status)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Unload active
Signal state 0 or
edge change 1 0
Unload inactive
Corresponding to .... Valid for HMI Advanced
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1668 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB19
DBX26.6
Load (job list selection from PLC, status)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Loading active
Signal state 0 or
edge change 1 0
Loading inactive
Corresponding to .... Valid for HMI Advanced
DB19
DBX26.7
Selection (job list selection from PLC, status)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Selection active
Signal state 0 or
edge change 1 0
Selection inactive
Corresponding to .... Valid for HMI Advanced
DB19
DBX27.0 - DBX27.7
Data transfer error
Edge evaluation: No Signal(s) updated: Cyclically
Description 0 = no error
1 = invalid number for control file
(value in DB19.DBB16<127 or invalid)
2 = DB19.DBB17 could not be read
3 = control file /BD.DIR/PLC_IN_OUT_xxx.TEA not found
(value in DB19.DBB16 invalid)
4 = invalid index in control file
(value in DB19.DBB17 incorrect)
5 = selected job list in control file could not be opened
6 = error in the job list (job list interpreter signals an error)
7 = job list interpreter signals an empty job list
8 = data transfer error
The error text is entered into the DIENSTE PROTOKOLL [SERVICES REPORT].
9 = error while executing the job list
Corresponding to .... Valid for HMI Advanced
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1669
DB19
DBX40.0 - DBX40.7
Mode group number
Edge evaluation: No Signal(s) updated: Cyclically
Description This byte contains the mode group number.
DB19
DBX41.0 - DBX41.7
Channel number (FC9: ChanNo)
Edge evaluation: No Signal(s) updated: Cyclically
Description This byte contains the channel number (FC9: ChanNo).
DB19
DBX42.0
FC9: Start (measuring in Jog mode)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
Start active
Signal state 0 or
edge change 1 0
Start inactive
19.2.6 Signals to channel (DB21, ...)
DB21, ...
DBX6.2
Delete distance-to-go (channel-specific)
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change 0 1
Delete distance-to-go (channel-specific):
IS "Delete distance-to-go (channel-specific)" for path axes is only active in AUTOMATIC mode.
The rising edge of the interface signal is only effective for the axes involved in the geometry
grouping. These are also stopped with a ramp stop and their distance-to-go deleted (setpoint -
actual value difference). Any remaining following error is not removed. The next program block is
then started.
IS "Delete distance-to-go (channel-specific)" is therefore ignored by positioning axes.
Note:
IS "Delete distance-to-go" does not influence the running dwell time in a program block with dwell
time.
Signal state 0 or
edge change 1 0
No effect
Signal irrelevant for
...
Positioning axes
Application
example(s)
To terminate motion because of an external signal (e.g. measuring probe)
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1670 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBX6.2
Delete distance-to-go (channel-specific)
Special cases,
errors, ....
Delete distance-to-go (channel-specific)
When the axes have been stopped with IS "Delete distance-to-go" the next program block is
prepared with the new positions. After a "Delete distance-to-go", geometry axes thus follow a
different contour to the one originally defined in the part program.
If G90 is programmed in the block after "Delete distance-to-go" it is at least possible to approach the
programmed absolute position. On the other hand, with G91, the position originally defined in the
part program is no longer reached in the following block.
Corresponding to .... DB21, ... DBX6.2 (delete distance-to-go (axis-specific))
19.2.7 Signals from channel (DB21, ...)
DB21, ...
DBX36.6
Channel-specific NCK alarm is active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change 0 1
At least one NCK alarm is present for this channel.
Thus the following group interface signal is also set:
DB10 DBX109.0 (NCK alarm is present)
The PLC user program can interrogate whether processing for the channel in question has been
interrupted because of an NCK channel:
DB21, ... DBX36.7 (NCK alarm with processing stop present).
Signal state 0 or
edge change 1 0
No NCK alarm is active for this channel.
Corresponding to .... DB21, ... DBX36.6 (NCK alarm with processing stop present)
DB10 DBX109.0 (NCK alarm pending)
Additional references /DA/ Diagnostics Manual
DB21, ...
DBX36.7
NCK alarm with processing stop present
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
At least one NCK alarm - which is causing a processing stop of the part program running in this
channel - is active.
Signal state 0 or
edge change 1 0
There is no alarm active in this channel that is causing a processing stop.
Application
example(s)
With this alarm a program interruption because of an NCK alarm can be recognized immediately by
the PLC user program and the necessary steps introduced.
Corresponding to .... DB21, ... DBX36.6 (channel-specific NCK alarm pending)
Additional references /DA/ Diagnostics Manual
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1671
DB21, ...
DBX318.7
Overstore active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change 0 1
The overstore function is enabled (with the channel-specific PI service "_N_OST_ON"). If the PI
service is denied, the signal will not change.
Signal state 0 or
edge change 1 0
The overstore function is disabled (with the channel-specific PI service "_N_OST_OFF"). If the PI
service is denied, the signal will not change.
19.2.8 Signals to axis/spindle (DB31, ...)
DB31, ...
DBX1.0
Drive test travel enable
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
Safety handshake when the function generator is started by the NC.
If an axis is to be traversed without further operator intervention, using:
DB31, ... DBX61.0 (drive test travel request) = 1 signal,
the NC requests a travel enable signal (permissive signal) from the PLC control.
If all axis travel conditions are fulfilled, PLC acknowledges this with:
DB31, ... DBX1.0 (drive test travel enable) = 1 signal
The PLC always has the master authority in deciding whether an axis can be traversed.
Signal state 0 or
edge change
1 0
The NC does not request permission to move axis from the PLC with:
DB31, ... DBX1.0 (drive test travel enable) = 0 signal
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1672 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX1.3
Axis/spindle disable
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change 0 1
- Axis disable
- Spindle disable
(Test status)
If the interface signal "Axis disable" is output - for this axis - no more position partial setpoints are
output to the position controller; the axis travel is therefore disabled. The position control loop
remains closed and the remaining following error is reduced to zero.
If an axis is moved with axis disable the actual value position display shows the setpoint position
and the actual velocity value display shows the setpoint velocity even though the machine axis is
not actually moving.
With a RESET the position actual value display is set to the real actual value of the machine.
Travel commands continue to be output to the PLC for this axis.
If the interface signal is canceled again the associated axis can again traverse normally.
If the interface signal "Axis disable" is set for a traversing axis, the axis is stopped with a ramp stop.
If the interface signal "Spindle disable" is set, as for axis disable, for this spindle no more speed
setpoints are output to the speed controller in the open-loop control mode and no more position
partial setpoints are output to the position controller in positioning mode. The movement of the
spindle is thus disabled. The speed actual value display displays the speed setpoint value.
Spindle disable can only be canceled per "Reset" or with M2 followed by a program restart.
If interface signal "Spindle disable" is set while a spindle is turning, the spindle is stopped according
to its acceleration characteristic.
Signal state 0 or
edge change 1 0
(Normal conditions).
The position setpoint values are transferred to the position controller cyclically.
The speed setpoint values are transferred to the speed controller cyclically.
Cancellation of the "Axis/spindle disable" (edge change 1 0) does not take effect until the
axis/spindle is stationary (i.e. an interpolation setpoint is no longer present).
_ _
Actual position value
Axis inhibit
active
i
set
n
act
i
act
Encoder
1
Motor
Current
controller
Speed
controller
Position
controller
Position
setpoint from
the interpolator
Application
example(s)
The interface signal "Axis disable" and "Spindle disable" is used when running-in and testing a new
NC part program. In so doing, the machine axes and spindles should not execute any traversing or
rotational movement.
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1673
DB31, ...
DBX1.3
Axis/spindle disable
Special cases,
errors, ....
If, for an axis/spindle "axis/spindle disable" is present, then the interface signals:
DB31, ... DBX2.1 (controller enable),
DB2 ... (feed/spindle stop)
and where relevant
DB31, ... DBX12.0-12.1 (hardware limit switch)
are not effective regarding braking the axis/spindle.
The axis/spindle can however be brought into the "follow up" or "hold" state
(refer to DB31, ... DBX1.4 (follow-up mode)).
Notes:
This signal inhibits setpoint output to the drive.
A brief pulse can bring a traversing axis to a standstill. The axis will not move again in this block,
but only when the next block is reached.
Re-synchronization takes place automatically on the next traversing command for this axis, i.e. the
axis traverses the remaining distance-to-go.
Example:
; Xaxis remains stationary, the NC continues to interpolate
; for X20 the signal "axis inhibit" briefly comes,
; X travels from approx. 20 to 200
G0 X0 Y0
G1 F1000 X100
Y100
X200
...
For response together with synchronized operation, see:
References:
/FB2/ Function Manual Extended Functions; Synchronized Spindle (S3)
This signal is no longer effective when the coupling for FS/FA is activated. No. 6
If the signal for the LS/LA is set, it also applies to the FS/FA(s) No. 7
A workpiece clamped between two spindles (workpiece transfer from front to rear-side machining)
cannot be destroyed.
not set: 0 set: 1 No. Coupling Procedure
FS/FA LS/LA
Off
Off
Off
Off
ON
ON
ON
ON
Setpoints of axes are output
No setpoint output for FS/FA
No setpoint output for LS/LA
No setpoint output for LS/LA and FS/FA
Setpoints of axes are output
Disable not effective for FS/FA
Disable also effective for FS/FA
No setpoint output for LS/LA and FS/FA
0 0
0
0
0
0
0
0
2
3
4
5
6
7
8
1
1
1
1
1
1
1
1
1
Corresponding to .... DB21, ... DBX33.7 (program test active)
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1674 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX1.4
Follow-up mode
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 Follow-up mode is selected for the axis/spindle by the PLC.
The means that the position setpoint continually tracks the actual value if the controller enable for
the drive is withdrawn.
As soon as the follow-up mode is effective, the interface signal:
DB31, ... DBX61.3 (follow-up mode active)
is set to a 1 signal.
The actual value continues to be acquired and updated. If the axis/spindle is moved from its current
position by an external effect the zero speed and clamping monitoring do not issue an alarm.
When the closed-loop control system is reactivated, a control-internal repositioning operation is
performed (REPOSA: linear approach with all axes) to the last programmed position if a part
program is active.
Signal state 0 Follow-up mode is not selected (hold).
When "controller enable" is removed the previous position setpoint is kept in the control.
If the axis/spindle is moved out of position during this time a following error occurs between the
position setpoint and the position actual value. This position difference is reduced to zero
immediately by issuing "controller enable" so that the previous setpoint position is restored. Then,
all the other axis movements start from the setpoint position valid before "controller enable" was
removed.
When the position control is switched in again the axis may make a speed setpoint jump.
Zero speed monitoring or clamping monitoring is still active.
In order to disable (switch-out) the zero speed
monitoring, when clamping an axis, the interface signal:
DB31, ... DBX2.3 (clamping operation running)
should be set.
In the "holding state", the interface signal:
DB31, ... DBX61.3 (follow-up mode active)
is set to a 0 signal.
Special cases,
errors, ....
If the drive controller enable is withdrawn inside the control due to faults, then the following
should be carefully observed:
Before an NC start, after the queued alarms have been successfully deleted
(i.e. inside the control, the controller enable is re-issued), then "holding" should be activated:
DB31, ... DBX1.4 (follow-up mode) = 0
Otherwise, for an NC start and selected follow-up mode, the traversing distance of the previous NC
block would not be executed due to the internal delete distance to go.
Notice:
When changing over from the "follow-up" state to the "hold" state and in the control mode (a
controller enable is issued), a delete distance-to-go command is activated in the control. As a
consequence, for example, an NC block - in which only this axis is traversed - is ended directly.
Corresponding to .... DB31, ... DBX2.1 (controller enable)
DB31, ... DBX2.3 (clamping in progress)
DB31, ... DBX61.3 (follow-up mode active)
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1675
DB31, ...
DBX1.5 - DBX1.6
Position measuring system 1 (PMS1) / Position measuring system 2 (PMS2)
Edge evaluation: No Signal(s) updated: Cyclic
PMS1:
Signal state 1
PMS2:
Signal state 0
Position measuring system 1 is used for the axis/spindle (e.g. for position control, absolute value
calculation, display). If a position measuring system 2 also exists
(MD30200 $MA_NUM_ENCS = 2), this actual value is also acquired.
PMS1:
Signal state 0
PMS2:
Signal state 1
Position measuring system 2 is used for the axis/spindle (e.g. for position control, absolute value
calculation, display). If a position measuring system 1 also exists, this actual value is also acquired.
PMS1:
Signal state 1
PMS2:
Signal state 1
As it is not possible to use both position measuring systems simultaneously for the position control
of an axis/spindle, the control automatically selects position measuring system 1.
If a position measuring system 2 also exists, this actual value is also acquired.
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1676 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX1.5 - DBX1.6
Position measuring system 1 (PMS1) / Position measuring system 2 (PMS2)
PMS1:
Signal state 0
PMS2:
Signal state 0
1. The axis is in the park position.
This means that the following features are valid:
Both position measuring systems are inactive.
There is no actual value acquisition.
The position measuring system monitoring functions are disabled
(among others, cable connection of a measured value encoder).
The reference point has no effect:
DB31, ... DBX60.4/5 (referenced/synchronized) has the signal condition 0
As soon as an axis is parked, the interface signals:
DB31, ... DBX61.5 (position controller active),
DB31, ... DBX61.6 (speed controller active)
and
DB31, ... DBX61.7 (current controller active)
are set to a 0.
After parking has been completed the axis must be re-referenced (reference point
approach).
If interface signals PMS1 and PMS2 are set to 0 while the axis is moving, the axis is
stopped with a ramp stop without the controller enable being internally withdrawn.
This is appropriate for the following situations:
Spindle encoder no longer outputs a signal above a certain speed (no longer supplies any
pulses).
Spindle encoder is decoupled mechanically because it would not be able to cope with the
speed.
The spindle can then continue to run in speed-controlled mode. In order to really bring the
axis/spindle to a stop, the controller enable must always be removed additionally by the
PLC.
2. The spindle does not have a position measuring system and is only speed controlled.
In this case, the interface signal:
DB31, ... DBX2.1 (controller enable)
should be set to a 1 signal.
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1677
DB31, ...
DBX1.5 - DBX1.6
Position measuring system 1 (PMS1) / Position measuring system 2 (PMS2)
Application
example(s)
1. Changing over from position measuring system 1 to positioning measuring system 2 (and vice
versa).
If the axis in both position measuring systems was referenced and the limit frequency of the
measured value encoder has not been exceeded in the meantime (i.e.
DB31, ... DBX60.4 and 60.5 (referenced/synchronized 1 and 2) has signal state 1,
then after the changeover, a reference point approach does not have to be repeated.
On switchover, the current difference between position measuring system 1 and 2 is traversed
immediately.
With the machine data:
MD36500 $MA_ENC_CHANGE_TOL (maximum tolerance on position actual value
changeover)
a tolerance bandwidth can be entered - the deviation between the two actual values may lie
within this bandwidth when changing over.
If the actual value difference is greater than the tolerance, a switchover between the two
systems does not take place and alarm 25100 "Measuring system switchover" not possible is
triggered.
2. Parking axis (i.e. no PMS is active):
If the encoder has to be removed - e.g. if a rotary table has to be removed from the machine -
the position measuring system monitoring is switched off in the parking position.
The mounted axis/spindle encoder turns so quickly in certain applications that it can no longer
maintain its electrical characteristics (edge rate-of-rise, etc.).
3. Switch-off measuring system:
When measuring system 1 or 2 is switched off the associated interface signal:
DB31, ... DBX60.4/60.5 (referenced/synchronized 1/2)
is reset.
4. Reference point approach:
Reference point approach of the axis is executed with the selected position measuring system.
Every PMS must be separately referenced.
Special cases,
errors, ....
If the state "parking axis" is active, the interface signal:
DB31, ... DBX60.4/60.5 (referenced/synchronized 1/2)
is ignored at NC start for this axis.
Corresponding to .... DB31, ... DBX60.4 (referenced / synchronized 1)
DB31, ... DBX60.5 (referenced / synchronized 2)
DB31, ... DBX61.6 (speed controller active)
DB31, ... DBX2.1 (controller enable)
MD36500 $MA_ENC_CHANGE_TOL (Max. tolerance on position actual value switchover)
MD30200 $MA_NUM_ENCS (number of encoders)
Additional references /FB1/ Function Manual Basic Functions; Speeds, Set-Actual Value System, Control (G2)
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1678 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX2.1
Controller enable
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 The position control loop of the axis/spindle is closed; the axis/spindle is in closed-loop control.
Signal state 1 or
edge change
0 1
When "controller enable" is set by the PLC user program:
Position control loop of axis is closed.
Position actual value is no longer switched to the position setpoint.
The controller enable of the drive is output.
The interface signal:
DB31, ... DBX61.5 (position controller active)
is set to 1.
When "controller enable" has been signaled no new actual value synchronization of the axis
(reference point approach) of the axis is necessary if the maximum permissible limit frequency of
the axis measuring system has not been exceeded during follow-up mode.
As a function of the interface signal:
DB31, ... DBX1.4 (follow-up mode)
it is possible to select whether or not the axis first traverses back to the earlier setpoint position (i.e.
the positional deviation caused by the clamping process is moved through to eliminate the
deviation).
Edge change
1 0 or
signal state 0
"Controller enable" will be/is removed:
The procedure for removing "controller enable" depends on whether the axis/spindle or an axis of
the geometry grouping is stationary or traversing at this point in time.
Axis/spindle stationary:
Position control loop of axis is opened.
When IS "Follow-up mode" = 1 the position actual value is switched to the position setpoint
(i.e. the setpoint position is corrected to the actual value position). The position actual value
of the axis/spindle continues to be acquired by the control.
The controller enable of the drive is removed.
The interface signals:
DB31, ... DBX61.5 (position controller active)
DB31, ... DBX61.6 (speed controller active)
DB31, ... DBX61.7 (current controller active)
are set to 0.
Axis/spindle traverses:
The axis is stopped with rapid stop.
Alarm 21612 "VDI signal controller enable reset during movement" is triggered.
The position control loop of the axis/spindle is opened.
Independent of the interface signal:
DB31, ... DBX1.4 (follow-up mode)
At the end of braking the position actual value is switched to the position setpoint
(i.e. the setpoint position is corrected to track the actual value position).
The position actual value of the axis/spindle continues to be acquired by the control.
IS "Follow-up mode" is set.
The interface signals:
DB31, ... DBX61.5 (position controller active)
DB31, ... DBX61.6 (speed controller active)
DB31, ... DBX61.7 (current controller active)
are set to 0.
The axis status cannot be changed again until after RESET.
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1679
DB31, ...
DBX2.1
Controller enable
Application
example(s)
Using controller enable when clamping the axis:
The axis is positioned to the clamping position. As soon as it has stopped it is clamped and then
controller enable is removed. Controller enable is removed because the axis could be mechanically
pressed out of position slightly by clamping and the position controller would continuously have to
work against the clamping.
When clamping is to be stopped, a controller enable signal is first set again and then the axis is
freed from clamping.
Special cases,
errors, ....
If an attempt is made to traverse the axis/spindle without controller enable, the axis/spindle remains
stationary but sends a traversing/move command to the PLC (axis only). The traversing/move
command is kept and is executed when the controller enable is re-activated.
If the controller enable of a traversing geometry axis is removed the programmed contour cannot be
maintained.
Controller enable is automatically cancelled by the control when certain faults occur at the machine,
the position measuring system or the control.
Corresponding to .... DB31, ... DBX61.3 (follow-up mode active)
DB31, ... DBX1.4 (follow-up mode)
DB31, ... DBX61.5 (position controller active)
DB31, ... DBX61.6 (speed controller active)
DB31, ... DBX61.7 (current controller active)
MD36620 $MA_SERVO_DISABLE_DELAY_TIME (switch-off delay controller enable)
MD36610 $MA_AX_EMERGENCY_STOP_TIME (braking ramp time when errors occur)
DB31, ...
DBX2.2
Delete distance-to-go (axis-specific) /spindle reset
Edge evaluation: yes Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
Delete distance-to-go (axis-specific):
Depending on the operating mode, the following occurs for IS "delete distance-to-go axial":
In the JOG mode:
If the interface signal is set for one axis (edge change 0 1), this axis is stopped with ramp stop
and its distance-to-go deleted (setpoint-actual value difference).
Any remaining following error is removed.
for AUTOMATIC and MDA:
The rising edge of the interface signals only influences the axes which are not in the geometry
grouping. They are stopped with ramp stop and their distance-to-go deleted (setpoint-actual
value difference). The next program block can then be started. IS "delete distance-to-go axial" is
therefore ignored by geometry axes.
Note: IS "Delete distance-to-go" does not influence the running dwell time in a program block with
dwell time.
Signal state 0 or
edge change
1 0
No effect
Application
example(s)
To terminate motion because of an external signal (e.g. measuring probe)
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1680 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX2.2
Delete distance-to-go (axis-specific) /spindle reset
Special cases,
errors, ....
"Delete distance-to-go (axial)"
After the axes have been stopped with "Delete distance-to-go" the next program block is prepared
with the new positions. The axes thus follow a different contour to the one originally defined in the
part program after a "Delete distance-to-go".
If G90 is programmed in the block after "Delete distance-to-go" it is at least possible to approach the
programmed absolute position. On the other hand, with G91, the position originally defined in the
part program is not reached in the following block.
Corresponding to .... DB21, ... DBX6.2 (delete distance-to-go, channel-specific)
Additional references /FB1/ Function Manual Basic Functions; Spindles (S1)
DB31, ...
DBX9.0 - DBX9.2
Controller parameter set switchover (request)
requested parameter set
Edge evaluation: No Signal(s) updated: On request
Signal state 1 or
edge change
0 1
-
Signal state 0 or
edge change
1 0
-
Signal irrelevant for
...
MD35590 $MA_PARAMSET_CHANGE_ENABLE = 0
Application
example(s)
The binary-coded index of the parameter set to be activated is located in the 3 bits:
0 corresponds to the 1st parameter set
1 corresponds to the 2nd parameter set
etc. (max. 6 parameter sets are possible)
Special cases,
errors, ....
Indices 6-7 are mapped onto parameter set 6.
Corresponding to .... DB31, ...DBX69.0-69.2
DB31, ...
DBX9.3
Disable parameter set switchover commands from NC
Locks
Signal state 1 or
edge change
0 1
NC should not initiate any parameter set switchovers.
Signal state 0 or
edge change
1 0
Parameter set switchover by the NC is enabled.
Corresponding to .... DB31, ... DBX9.0 - DBX9.2
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1681
DB31, ...
DBX20.0
Ramp-up times
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
V/f operation operation is activated using machine data:
MD1014 $MD_U/F_MODE_ENABLE.
The time entered in the machine data:
MD1126 $MD_U/F_MODE_RAMP_TIME_2
is effective.
Signal state 0 or
edge change
1 0
V/f operation operation is activated using machine data:
MD1014 $MD_U/F_MODE_ENABLE.
The time entered in the machine data:
MD1125 $MD_U/F_MODE_RAMP_TIME_1
is effective.
Signal irrelevant for
...
SINUMERIK 840Di
Corresponding to .... MD1014 $MD_U/F_MODE_ENABLE (activate V/f operation)
MD1125 $MD_UF_MODE_RAMP_TIME_1 (ramp-up time 1 for V/f mode)
MD1126 $MD_UF_MODE_RAMP_TIME_2 (ramp-up time 2 for V/f mode)
Additional references /FBA/ SIMODRIVE 611D Function Manual Drive Functions
DB31, ...
DBX20.1
Ramp-function generator fast stop
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
A fast stop is triggered by the PLC for the drive (611D). Speed setpoint 0 is therefore entered. The
drive is stopped without a ramp function (regenerative braking).
As soon as the fast stop is recognized by the drive module, the interface signal:
DB31, ... DBX92.1 (Ramp-function generator fast stop active) is returned to the PLC.
Signal state 0 or
edge change
1 0
No rapid stop is requested by the PLC for the drive.
Signal irrelevant for
...
SINUMERIK 840Di
Corresponding to .... DB31, ... DBX92.1 (ramp-function generator fast stop active)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1682 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX20.2
Torque limit 2
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
Torque limit 2 is requested by the PLC for the axis/spindle.
For 611D two torque limit values can be set for each axis/spindle, whereby torque limit 2 refers to
torque limit 1 (reduction factor). Torque limit 2 is selected via the interface. The particular limit value
is defined using the drive parameters.
As soon as torque limit 2 is active for the drive, the drive signals this using the interface signal:
DB31, ... DBX92.2 (torque limit 2 active)
Signal state 0 or
edge change
1 0
Only torque limit 1 has been selected by the PLC.
Signal irrelevant for
...
SINUMERIKI 840Di
Application
example(s)
In order to reduce the stress on the mechanics and workpiece, the actual torque limit can be
reduced using torque limit 2 for certain machining operations.
Corresponding to .... DB31, ... DBX92.2 (torque limit 2 active)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
DB31, ...
DBX20.3
Speed setpoint smoothing
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
The PLC requests a filter to smooth the speed setpoint value.
In the drive module the interface signal is only effective under the following conditions:
Speed setpoint filter 1 is active in the drive
speed setpoint filter 1 has been configured as a low-pass filter (i.e. not as a band-stop filter)
As soon as these conditions exist whereby the smoothing of the speed setpoint is active, the 611D
or 611U signals this to the PLC using the interface signal:
DB31, ... DBX92.3 (speed setpoint smoothing active).
Signal state 0 or
edge change
1 0
No smoothing of the speed setpoint value is requested by the PLC.
Application
example(s)
With this interface signal, speed setpoint smoothing can - for example - be activated from the PLC
user program for a spindle during speed control to achieve smooth torque output. Speed setpoint
smoothing can therefore be deactivated when the spindle is in positioning mode.
Special cases,
errors, ....
Corresponding to .... DB31, ... DBX92.3 (speed setpoint smoothing active)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1683
DB31, ...
DBX21.0 - DBX21.2
Drive parameter set selection A, B, C
Edge evaluation: No Signal(s) updated: Cyclic
Meaning With bit combinations A, B and C it is possible to select 8 different drive parameter sets for the
digital drives SIMODRIVE 611D/611U.
The following assignment applies:
Drive parameter set
1
2
3
4
5
6
7
8
C
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
The switchable drive parameters are as follows:
Current setpoint filters (low-pass, band-stop); for adaptation to the mechanics
Motor speed normalization
Speed controller parameters
Speed setpoint filter
Speed monitoring data
As soon as the new drive parameter becomes effective, the drive signals this to the PLC using the
interface signals:
DB31, ... DBX93.0, 1 and 2 (active parameter set).
Application
example(s)
Drive parameter switchover can be used for the following:
Changing the gear stage
Changing over the measuring circuit
Special cases,
errors, ....
In principle it is possible to switch over drive parameter sets at any time. However, as torque jumps
can occur when switching over speed controller parameters and motor speed normalization,
parameters should only be switched over when in the zero speed state (especially when the axis is
stationary).
Corresponding to .... DB31, ... DBX93.0, 1 and 2 (active drive parameter set)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1684 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX21.3 - DBX21.4
Motor selection A, B
Edge evaluation: No Signal(s) updated: Cyclic
Meaning The PLC can switch between 4 different motors or motor mode types using the motor selection
function.
The following assignment applies:
Application Motor selection
Operating mode 1 Motor 1
Operating mode 2 Motor 2
res. up to SW6.3, then for
611D Performance 2 or 611U can be
used for operating mode 3 or 4
Motor 3
Motor 4
A
0
1
0
1
B
0
0
1
1
As soon as a new motor selection is detected, the drive cancels the pulse enable (feedback signal
using the interface signal DB31, ... DBX93.3 and 4 (active motor)).
Using the motor selection, it is possible, for example, to choose mode 1 as star-connected
operation and mode 2 as delta-connection operation for the main spindle drive (MSD).
The drive signals the currently selected motor back to the PLC using the interface signals:
DB31, ... DBX93.3 and 4 (active motor).
Application
example(s)
Timing for star-delta switchover
Special cases,
errors, ....
Caution:
Before a new motor is selected, the interface signal:
DB31, ... DBX21.5 (motor being selected)
must be set to 0!
Corresponding to .... DB31, ... DBX93.3 and 4 (active motor)
DB31, ... DBX21.5 (motor being selected)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
DB31, ...
DBX21.5
Motor being selected
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
The PLC outputs the interface signal:
DB31, ... DBX21.5 (motor being selected)
to the 611D to confirm that the external contactor has been switched over to the new motor (e.g.
that motor contactor 2 has been energized as part of the star/delta switchover process).
The pulses are then enabled by the drive.
Signal state 0 or
edge change
1 0
The interface signal:
DB31, ... DBX21.5 (motor being selected)
must be reset to 0 by the PLC user program before a new motor is selected! Otherwise the pulses
from the drive might be enabled too early.
Corresponding to .... DB31, ... DBX93.3 and 4 (active motor)
DB31, ... DBX21.3 and 4 (motor selection A, B)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1685
DB31, ...
DBX21.6
Speed controller integrator disable
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
The interface signal is used by the 611D/611U to disable the integrator of the speed controller.
The speed controller is thus changed over from a PI to a P controller.
Note:
If the speed controller integrator disable is activated, equalization processed might take place in
certain applications (e.g. if the integrator was already holding a load while stationary).
The 611D/611U acknowledges the integrator disable to the PLC using the interface signal:
DB31, ... DBX93.6 (speed controller integrator disabled).
Signal state 0 or
edge change
1 0
The integrator of the speed controller is enabled.
Corresponding to .... DB31, ... DBX93.6 (integrator n-controller disabled)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
DB31, ...
DBX21.7
Pulse enable
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
Pulse enable is signaled by the PLC for this drive (axis/spindle).
The pulses for the drive modules are only enabled if all enable signals are available (see DB31, ...
DBX93.5).
In this case, the following is signaled to the PLC:
DB31, ... DBX93.7 = 1 (pulses enabled)
For additional information refer to DB31, ... DBX93.7
Signal state 0 or
edge change
1 0
The pulses are disabled by the PLC for this drive.
If pulse enable is canceled for a moving axis/spindle the axis/spindle is not longer braked in a
controlled fashion. The axis coasts to rest.
Application
example(s)
Signal relevant to safety
Special cases,
errors, ....
If pulse enable is canceled for a moving axis/spindle as a result of an Emergency Stop, the
axis/spindle only coasts to rest.
Corresponding to .... DB31, ... DBX93.7 (pulses enabled)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1686 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
19.2.9 Signals from axis/spindle (DB31, ...)
DB31, ...
DBX61.0
Drive test travel request
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The control signals that all of the traversing conditions for the drives are fulfilled.
Prerequisites for this are:
The mechanical brake of the axis involved was previously released and all other axis traversing
conditions are fulfilled.
With:
DB31, ... DBX61.0 (drive test, travel request) = 1 signal
the appropriate axes can be moved.
The axis disable:
DB31, ... DBX1.3 (axis/spindle disable) = 1 signal
is not active.
Signal state 0 or
edge change
1 0
The control signals that the axes cannot be moved.
Axes cannot be moved for:
DB31, ... DBX61.0 (drive test, travel request) = 0 signal
in the control when faults are present
This means that the prerequisites specified above are not fulfilled.
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
DB31, ...
DBX61.3
Follow-up mode active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The control signals that the follow-up mode for the axis/spindle is not active.
Prerequisites for this are:
The controller enable for the drive has been withdrawn (either by the PLC with "controller enable
" = 0 signal or inside the control for faults; refer to the references)
Follow-up operation is selected (either by the PLC with IS "follow-up operation" = 1 signal or in
the control, e.g. when withdrawing the controller enable from an axis that is moving)
The position setpoint continually tracks the actual value while the follow-up mode is active.
Zero speed and clamping monitoring are not active.
Signal state 0 or
edge change
1 0
The control signals that follow-up mode for the axis/spindle is not active.
Zero speed and clamping monitoring are active.
This means that the prerequisites specified above are not fulfilled.
In the "hold" state, the interface signal:
DB31, ... DBX61.3 (follow-up mode active)
is 0.
Special cases,
errors, ....
Notice:
A delete distance-to-go is triggered internally in the control on transition from "Follow up" to "Hold"
(IS "Follow-up mode" = 0) or in the closed-loop control mode (IS "Controller enable" = 1).
Corresponding to .... DB31, ... DBX2.1 (controller enable)
DB31, ... DBX1.4 (follow-up mode!)
Additional references /DAsl/ Diagnostics Manual
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1687
DB31, ...
DBX61.4
Axis/spindle stationary
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The current speed of the axis or the actual number of rotations of the spindle lies under the limit
given by the machine data:
MD36060 $MA_STANDSTILL_VELO_TOL
(Maximum speed/number of rotations for signal "Axis/Spindle stationary").
Signal state 0 or
edge change
1 0
The actual velocity of the axis or the actual spindle speed is greater than the value specified in the
MD (standstill/zero speed range).
If a travel command is present, e.g. for a spindle, then the signal is always = 0 - even if the actual
speed lies below that specified in MD36060.
If the interface signal:
DB31, ... DBX61.4 (axis/ spindle stationary)
is signaled and there is no closed-loop position control active for the spindle, then at the MMC, an
actual speed of zero is displayed and with the system variable $AA_S[n] zero is read.
Application
example(s)
Enable signal for opening a protective device (e.g. open door).
The workpiece chuck or the tool clamping device is only opened when the spindle is stationary.
The oscillation mode can be switched-in during gear stage change after the spindle has been
braked down to standstill.
The tool clamping device must have been closed before the spindle can be accelerated.
Corresponding to .... MD36060 $MA_STANDSTILL_VELO_TOL
(maximum velocity/speed for signal "Axis/spindle stationary")
DB31, ...
DBX61.5
Position controller active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The control signals that the position controller for the axis or spindle is closed.
Signal state 0 or
edge change
1 0
The control signals that the position controller for the axis or spindle is open.
If "controller enable" is canceled because of a fault or from the PLC user program the position
controller is opened and therefore the interface signal
DB31, ... DBX61.5 (position controller active)
is set to 0.
Spindle without position control: Signal "Position controller active" is always "0".
See References for other effects.
Application
example(s)
If the position control is active the axis/spindle is kept in position by the position controller.
Any brakes or clamps can thus be opened.
The interface signal:
DB31, ... DBX61.5 (position controller active)
can be used as feedback signal for the interface signal:
DB31, ... DBX2.1 (controller enable).
The holding brake of a vertical axis must be activated as soon as the position control is no longer
active.
If a spindle has been technically designed/dimensioned for the purpose, in the part program, it can
be changed-over into the closed-loop position controlled mode as spindle or as axis (with SPCON or
M70).
In these cases, the interface signal "position controller active" is set.
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1688 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX61.5
Position controller active
Special cases,
errors, ....
Special case for simulation axes (MD30350 $MA_SIMU_AX_VDI_OUTPUT = "1"):
The IS "position controller active" is also set for simulation axes as soon as MD = "1".
Corresponding to .... DB31, ... DBX2.1 (controller enable)
DB31, ... DBX1.4 (follow-up mode)
DB31, ... DBX1.5 and 1.6 (position measuring system 1 and 2)
Additional references /DAsl/ Diagnostics Manual
DB31, ...
DBX61.6
Speed controller active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The control signals that the speed controller is closed for the axis or spindle.
Signal state 0 or
edge change
1 0
The control signals that the speed controller is open for the axis or spindle.
The speed controller output is cleared.
Application
example(s)
If the spindle is not under position control, the interface signal can be used as a feedback for the
interface signal:
DB31, ... DBX2.1 (controller enable).
Special cases,
errors, ....
Special case for simulation axes (MD30350 = "1"):
The interface signal:
DB31, ... DBX61.6 (speed controller active)
is also set for simulation axes as soon as:
MD30350 $MA_SIMU_AX_VDI_OUTPUT (output of the axis signals for simulation axes) = "1".
Corresponding to .... DB31, ... DBX61.5 (position controller active)
DB31, ...
DBX61.7
Current controller active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The control signals that the current controller is closed for the axis or spindle.
Signal state 0 or
edge change
1 0
The control signals that the current controller for the axis or spindle is open.
The current controller output (including the feedforward quantities on the manipulated variable for
the voltage) is cleared.
Corresponding to .... DB31, ... DBX61.5 (position controller active)
DB31, ... DBX61.6 (speed controller active)
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1689
DB31, ...
DBX69.0 - DBX69.2
Controller parameter set switchover (A (checkback signal))
Active parameter set
Edge evaluation: no Signal(s) updated: After switchover
Signal state 1 or
edge change
0 1
-
Signal state 0 or
edge change
1 0
-
Signal irrelevant for
...
MD35590 $MA_PARAMSET_CHANGE_ENABLE = 0
Application
example(s)
The binary-coded index of the activated parameter set is located in the 3 bits:
0 corresponds to the 1st parameter set
1 corresponds to the 2nd parameter set
etc. (max. 6 parameter sets are possible)
Special cases,
errors, ....
Index 0 is returned if the switchover function is disabled with:
MD35590 $MA_PARASET_CHANGE_ENABLE = 0.
In this case, the 1st parameter set is always active.
Corresponding to .... DB31, ...DBX9.0 - DBX9.2 (controller parameter set switchover (request))
DB31, ...
DBX76.0
Lubrication pulse
Edge evaluation: yes Signal(s) updated: cyclic
Edge change
0 1
or
1 0
As soon as the axis/spindle has covered the traversing distance set in the machine data:
MD33050 $MA_LUBRICATION_DIST (travel distance for lubrication from the PLC),
the interface signal:
DB31, ...DBX76.0 (lubrication pulse)
is inverted and the lubrication is started.
The position measurement is restarted after each Power On.
Application
example(s)
The lubrication pump for the axis/spindle can be activated with IS "Lubrication pulse". Machine bed
lubrication therefore depends on the distance traveled.
Corresponding to .... MD33050 $MA_LUBRICATION_DIST (lubrication pulse distance)
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1690 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX92.0
Setting-up mode active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
Setting-up mode is active for the drive (611D). The setting-up mode is selected using the terminals
on the infeed/regenerative feedback module.
The setting-up mode is required for optimizing the machining process.
The following adaptations and additional functions are possible:
Drive:
Reducing the speed setpoint limits
Reducing the current setpoint limits
I/RF:
Disabling the closed-loop DC link voltage control
Signal state 0 or
edge change
1 0
Normal operation is active for the drive. The following thus applies:
The maximum limit values for speed and current setpoint are active
DC link voltage control is active
Signal irrelevant for
...
SINUMERIK 840Di
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
DB31, ...
DBX92.1
Ramp-function generator fast stop active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
PLC receives the signal that the ramp function generator fast stop is active.
The function has been activated by the interface signal:
DB31, ... DBX20.1 (ramp-function generator fast stop)
The drive is stopped without a ramp function with speed setpoint = 0 and without pulse
suppression.
Signal state 0 or
edge change
1 0
Ramp function generator fast stop is not active for the drive.
Application
example(s)
Bypassing the ramp function generator on the servo side
Corresponding to .... DB31, ... DBX20.1 (ramp-function generator fast stop)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1691
DB31, ...
DBX92.2
Torque limit 2 active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
Drive (611D) sends an acknowledgment to the PLC that torque limit 2 is active in addition to torque
limit 1. The particular limit value is defined using the drive parameters.
Signal state 0 or
edge change
1 0
Only torque limit 1 is active.
Signal irrelevant for
...
SINUMERIK 840Di
Corresponding to .... DB31, ... DBX20.2 (torque limit 2)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
DB31, ...
DBX92.3
Speed setpoint smoothing active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The speed setpoint smoothing requested by the PLC with the interface signal:
DB31, ... DBX20.3 (speed setpoint smoothing)
is active.
Signal state 0 or
edge change
1 0
No speed setpoint smoothing is active.
Corresponding to .... DB31, ... DBX20.3 (speed setpoint smoothing)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1692 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX93.0 - DBX93.2
Active drive parameter set A, B, C
Edge evaluation: no Signal(s) updated: cyclic
Meaning The drive module (611D/611U) signals back to the PLC which drive parameter set is currently
active.
With bit combinations A, B and C, 8 different drive parameter sets can be selected for the 611D.
The following assignment applies:
active drive parameter set
1
2
3
4
5
6
7
8
C
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
Application
example(s)
Drive parameter switchover can be used for the following:
Changing the gear stage
Changing over the measuring circuit
Corresponding to .... DB31, ... DBX21.0 - DBX21.2 (drive parameter set selection)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
DB31, ...
DBX93.3 - DBX93.4
Active motor A, B
Edge evaluation: no Signal(s) updated: cyclic
Meaning The drive module (611D) returns signals to PLC stating which motor selection is currently active.
Motor selection can be used with a main spindle drive (MSD) to switch between star and delta
operation and so reduce the starting current.
The following assignment applies:
Application
Motor 1 MSD: Star mode
Active motor
Motor 2
Motor 3
Motor 4
MSD: Delta mode
Reserved
Reserved
B A
0 0
0
1
1
1
0
1
Corresponding to .... DB31, ... DBX21.3 and DBX21.4 (motor selection)
DB31, ... DBX21.5 (motor being selected)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1693
DB31, ...
DBX93.5
Drive Ready
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The drive is ready.
Signal state 0 or
edge change
1 0
The drive is not ready.
If the signal is reset in operation, the drive is stopped (pulse inhibit or fast stop). When powering-up,
the pulses are still inhibited (cancelled) In addition, the following NC/PLC interface signals are
reset:
DB10, DBX108.6 = 0 (drive ready)
DB31, ... DBX61.7 = 0 (current controller active)
DB31, ... DBX61.6 = 0 (speed controller active)
Corresponding to .... SINAMICS
Signal source: Drive telegram, message word: MELDW.12 (drive ready), function block diagram
[2456]
SINUMERIK
DB10, DBX108.6 (drive ready)
DB31, ... DBX61.7 (current controller active)
DB31, ... DBX61.6 (speed controller active)
Additional references /LH1/ SINAMICS S120/S150 List Manual
/IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
DB31, ...
DBX93.6
Speed controller integrator disabled
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The request from the PLC to disable the integrator of the speed controller using interface signal:
DB31, ... DBX21.6 (integrator inhibit, speed controller)
is active for the drive module.
The speed controller has therefore switched from a PI to a P controller.
Signal state 0 or
edge change
1 0
The integrator of the speed controller is enabled. The speed controller functions as a PI controller.
Corresponding to .... DB31, ... DBX21.6 (integrator disable, n-controller)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1694 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX93.7
Pulses enabled
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The pulse enable for the drive module is available. The axis/spindle can now be traversed.
Signal state 0 or
edge change
1 0
The drive module pulses are suppressed. Therefore, the axis/spindle cannot be traversed.
The pulses are suppressed as soon as there is no enable signal (refer to Fig.).
Also, if the "controller enable of drive" is withdrawn, the drive is stopped with setpoint 0
(regenerative braking).
A timer is started in the drive module and after the configured time has expired:
MD1404 $MD_PULSE_SUPPRESSION_DELAY (timer stage, pulse suppression),
the pulses are inhibited.
If, within this time, the actual speed reaches the shutdown speed:
MD1403 $MD_PULSE_SUPPRESSION_SPEED (pulse suppression),
then at this time, the pulses are inhibited.
If the speed is less than/equal to the speed threshold (MD1403), and if the controller enable of the
drive is withdrawn, then the pulses are immediately suppressed.
Pulse suppression is also triggered if there is no position measuring system ("parking axis" state).
As soon as the pulses are suppressed, then also the interface signals:
DB31, ... DBX61.7 (current controller active)
and
DB31, ... DBX61.6 (speed controller active)
are reset.
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1695
DB31, ...
DBX93.7
Pulses enabled
l/R = lnfeed/regenerative feedback module
PE = Pulse enable
611D
drive module
l/R
NC
Pulses enabled
"Safe operating stop"
(terminal 663)
Pulse enable
(hardware)
Pulse enable
(software)
(terminal 63)
Central pulse enable
PLC-NST
"pulses enabled"
PLC-NST
"pulse enable"
&
Pulse enable for 611D drive module
Corresponding to .... DB31, ... DBX21.7 (pulse enable)
MD1404 $MD_PULSE_SUPRESSION_DELAY
MD1403 $MD_PULSE_SUPRESSION_SPEED
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1696 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX94.0
Motor temperature prewarning
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The drive module signals a "Motor temperature prewarning" to the PLC.
In this case, the motor temperature has exceeded the defined warning threshold:
MD1602 $MD_MOTOR_TEMP_WARN_LIMIT (maximum motor temperature; standard value
120 C) ( in the diagram).
If the motor temperature remains too high, after a defined time:
MD1603 $MD_MOTOR_TEMP_ALARM_TIME
(timer state, motor temperature alarm, standard value 240 s)
the drive is regeneratively braked and then the pulses are inhibited ( in the diagram).
Alarm 300614 is output and the interface signal:
DB10 DBX108.6 (611D ready)
is withdrawn.
If the motor temperature rises still further and the shutdown threshold defined in:
MD1607 $MD_MOTOR_TEMP_SHUTDOWN_LIMIT
(motor temperature shutdown limit, default value 155 C)
is reached, the drive is stopped immediately (refer to in the diagram).
An alarm is also output and IS "Drive Ready" canceled.
However, if the motor temperature drops back down to below the warning threshold, the IS is reset
to 0 (refer to in the diagram).
Special case:
If no temperature sensor signal is measured, this is interpreted as a fault in the motor PTC
thermistor
In this case, the interface signal:
DB31, ... DBX94.0 (motor temperature prewarning)
is also set.
The procedure continues as described above.
Signal state 0 or
edge change
1 0
The motor temperature is below the warning threshold.
The actual motor temperature is displayed in the axis/spindle service display in the operating area
"diagnostics".
This display corresponds to the machine data:
MD1702 $MD_MOTOR_TEMPERATURE (motor temperature)
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1697
DB31, ...
DBX94.0
Motor temperature prewarning
4
3
2
1
2
2
4 3
Time
MD1603 $MD_MOTOR_TEMP
_ALARM_TlME
MD1602 $MD_MOTOR
_TEMP_WARN_LlMlT
MD1607 $MD_MOTOR_TEMP
_SHUTDOWN_LlMlT
Alarm Alarm
lS "Drive
ready"
Warning
Warning
0
1
0
1
lS "Motor
temperature
pre-warning"
Warning threshold
Shutdown limit
Time
611D/611U-MD
Time
Warning
Alarm
Warning
Alarm Motor temperature
Application
example(s)
As soon as "Motor temperature prewarning" has been signaled, the PLC can, for example, initiate
controlled shutdown of the drives.
Corresponding to .... DB31, ... DBX93.5 (drive ready)
MD1602 $MD_MOTOR_TEMP_WARN_LIMIT
MD1603 $MD_MOTOR_TEMP_ALARM_TIME
MD1607 $MD_MOTOR_TEMP_SHUTDOWN_LIMIT
Additional references /DAsl/ Diagnostics Manual
/IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
DB31, ...
DBX94.1
Heatsink temperature prewarning
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The drive module sends the warning "heatsink temperature prewarning" to the PLC.
This triggers the following:
Terminal 5 on the infeed/regenerative feedback module is simultaneously activated.
The drive module is switched off after 20 seconds. The drives are stopped when the impulse
enable is removed. Then alarm 300515 is triggered.
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1698 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX94.1
Heatsink temperature prewarning
Signal state 0 or
edge change
1 0
The drive module heatsink temperature pre-warning has not responded.
Application
example(s)
As soon as "heatsink temperature prewarning" has been signaled, the PLC can, for example,
initiate controlled shutdown of the drives.
Additional references /DAsl/ Diagnostics Manual
DB31, ...
DBX94.2
Ramp-up completed
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The PLC is signaled, that after a new speed setpoint has entered, the speed actual value has
reached the speed tolerance bandwidth:
MD1426 $MD_SPEED_DES_EQ_ACT_TOL (tolerance bandwidth for nset = nact - signal)
and has remained within this tolerance bandwidth for at least the time defined using machine data:
MD1427 $MD_SPEED_DES_EQ_ACT_DELAY (delay time nset = nact - signal)
refer to the diagram).
Even if the speed actual value leaves the tolerance band (because of speed fluctuations resulting
from changes in load) the "ramp-up completed" signal remains (1 signal).
Signal state 0 or
edge change
1 0
The conditions described above have not yet been fulfilled. The ramp-up has therefore not yet been
completed.
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1699
DB31, ...
DBX94.2
Ramp-up completed
TD = MD1427 $MD_SPEED_DES_EQ_ACT_DELAY
! signal
that is
interlocked
T > TD
! therefore
no signal
T < TD
! Signal
T > TD
! Signal
T > TD
! therefore
no signal
T < TD
MD2426
$MD_SPEED_DES_EQ_ACT_TOL
0
1
lS "nact =
nset"
0
1
Speed actual value nact
Speed tolerance
bandwidth
Speed setpoint
n
set
lS "Ramp-up
completed"
Speed n
Time
Time
Time
Time
inactive
active
Ramp-function generator
active (control word servo)
Corresponding to .... DB31, ... DBX94.6 ("nact = nset")
DB31, ... DBX94.3 ("|MD| = Mdx")
MD1426 $MD_SPEED_DES_EQ_ACT_TOL
MD1427 $MD_SPEED_DES_EQ_ACT_DELAY
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1700 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX94.3
|Md| < Mdx
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
611D signals to the PLC that the torque setpoint |Md| does not exceed the threshold torque Mdx in
the steady-state condition (i.e. ramp-up completed) (refer to the diagram).
The threshold torque is set using the machine data:
MD1428 $MD_TORQUE_THRESHOLD_X (threshold torque)
as a % of the actual torque limit value.
The torque threshold characteristic is speed-dependent.
While ramping-up, the interface signal:
DB31, ... DBX94.2 (|Md|< Mdx)
remains at 1.
The signal |Md|< Mdx only becomes active after ramp-up has been completed:
DB31, ... DBX94.2 (ramp-up completed) = 1
and the signal interlocking time for the threshold torque:
MD1429 $MD_TORQUE_THRESHOLD_X_DELAY (delay time nd < ndx - signal)
has expired
Signal state 0 or
edge change
1 0
The torque setpoint |Md| is larger than the threshold torque Mdx.
If necessary, the PLC user program can initiate a response.
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1701
DB31, ...
DBX94.3
|Md| < Mdx
Remains active during ramp-up
TD2 = MD1429 $MD_TORQUE_THRESHOLD_X_DELAY
TD = MD1427 $MD_SPEED_DES_EQ_ACT_DELAY
TD2
T > TD
! therefore
no signal
! signal
that is
interlocked
T < TD
interlocked to active
Threshold torque 611D:
MD1428 $MD_TORQUE_THRESHOLD_X
for JM
d
J < M
d
x
Torque setpoint
M
d
Torque
Time
0
1
lS
"lMdl < Mdx"
0
1
Speed actual value n
act
Speed
tolerance
band
Speed setpoint n
set
lS "Ramp-up
completed"
Speed
Time
Time
Time
Time
inactive
active
Ramp-function generator
active (control word servo)
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1702 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX94.3
|Md| < Mdx
Corresponding to .... DB31, ... DBX94.2 (ramp-up completed)
MD1428 $MD_TORQUE_THRESHOLD_X
MD1429 $MD_TORQUE_THRESHOLD_X_DELAY
MD1427 $MD_SPEED_DES_EQ_ACT_DELAY
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
DB31, ...
DBX94.4
|nact| < nmin
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The SIMODRIVE 611 D/ 611D signals the PLC that the speed actual value nact is less than the
minimum speed (nmin).
The minimum speed is defined using the machine data:
MD1418 $MD_SPEED_THRESHOLD_MIN.
Signal state 0 or
edge change
1 0
The speed actual value is higher than the minimum speed.
Corresponding to .... MD1418 $MD_SPEED_THRESHOLD_MIN (minimum speed (nmin for nact< nmin))
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
DB31, ...
DBX94.5
|nact| < nx
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The 611D/ 611U signals the PLC that the speed actual value nact is less than the threshold speed
(nx).
The threshold speed is defined using the machine data:
MD1417 $MD_SPEED_THRESHOLD_X.
Signal state 0 or
edge change
1 0
The speed actual value is higher than the threshold speed.
Corresponding to .... MD1417 $MD_SPEED_THRESHOLD_X (threshold speed (nx for nact < nx))
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1703
DB31, ...
DBX94.6
nact = nset
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
SIMODRIVE 611D/611U signals the PLC that after a new speed setpoint has been entered, the
speed actual value nact has reached the speed tolerance bandwidth:
MD1426 $MD_SPEED_DES_EQ_ACT_TOL (tolerance bandwidth for nset = nact signal)
and has remained within this tolerance bandwidth for at least the time defined using machine data:
MD1427 $MD_SPEED_DES_EQ_ACT_DELAY (delay time for nset = nact signal)
(refer to the diagram).
If the speed actual value then leaves the tolerance bandwidth, then contrary to the signal "ramp-up
completed", the interface signal:
DB31, ... DBX94.6 (nact = nset)
is set to 0.
Signal state 0 or
edge change
1 0
The conditions described above have not yet been fulfilled. The speed actual value is outside the
speed tolerance bandwidth.
Corresponding to .... DB31, ... DBX94.2 (ramp-up completed)
MD1426 $MD_SPEED_DES_EQ_ACT_TOL
MD1427 $MD_SPEED_DES_EQ_ACT_DELAY
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1704 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX94.7
Variable signaling function
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 The SIMODRIVE 611D/611U signals the PLC that the threshold value has exceeded the value
being monitored.
With the variable signaling function it is possible to monitor for each axis whether a defined
threshold - that can be entered - is exceeded for any programmable value of SIMODRIVE
611D/611U. A corresponding interface signal is then sent to the PLC.
The parameters for the variables being monitored are set in the following 611D machine data:
MD1620 $MD_PROG_SIGNAL_FLAGS (bits variable signal function)
MD1621 $MD_PROG_SIGNAL_NR (signal number variable signal function)
MD1622 $MD_PROG_SIGNAL_ADDRESS (address variable signal function)
MD1623 $MD_PROG_SIGNAL_THRESHOLD (threshold variable signal function)
MD1624 $MD_PROG_SIGNAL_HYSTERESIS (hysteresis variable signal function)
MD1625 $MD_PROG_SIGNAL_ON_DELAY (on delay variable signal function)
MD1626 $MD_PROG_SIGNAL_OFF_DELAY (off delay variable signal function)
Monitoring:
The parameterized variable is monitored to check whether it exceeds a defined threshold. In
addition, a tolerance band (hysteresis) can be defined which is considered when scanning for
violation of the threshold value. Further, the "threshold exceeded" signal can be also be logically
combined with an on delay and off delay time (refer to the diagram).
Selection:
The variable to be monitored can be selected by entering a signal number or by entering a symbolic
address.
The machine data:
MD1620 $MD_PROG_SIGNAL_FLAGS (bits, variable signaling function)
can be used to enable and disable the variable signaling function on an axis-for-axis basis.
This machine data can also be used to determined whether the threshold value comparison is to be
signed or unsigned.
For further information see References.
Signal state 0 SIMODRIVE 611D signals the PLC that the threshold value of the variable being monitored has not
been exceeded or that the conditions defined in the above 611D-MD are not fulfilled.
If the variable signaling function is disabled (MD1620), signal state "0" is output to the PLC.
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1705
DB31, ...
DBX94.7
Variable signaling function
MD1626 $MD_PROG_SlGNAL_OFF_DELAY
Drop-out delay time
MD1625 $MD_ PROG_SlGNAL_ON_DELAY
Pull-in delay time
t
Signal "Threshold value exceeded"
MD1624
$MD_PROG_SlGNAL
_HYSTERESlS
Tolerance band
MD1623
$MD_PROG_
SlGNAL_
THRESHOLD
Threshold
Application
example(s)
With the variable signal function the machine tool manufacturer can monitor one additional
threshold value for specific applications for each axis/spindle and evaluate the result in the PLC
user program.
Example:
The interface signal:
DB31, ... DBX94.7 (variable signaling function)
should be set to a 1 if the motor torque exceeds 50 % of the rated torque.
Corresponding to .... MD1620 $MD_PROG_SIGNAL_FLAGS (bits variable signal function)
MD1621 $MD_PROG_SIGNAL_NR (signal number variable signal function)
MD1622 $MD_PROG_SIGNAL_ADDRESS (address variable signal function)
MD1623 $MD_PROG_SIGNAL_THRESHOLD (threshold variable signal function)
MD1624 $MD_PROG_SIGNAL_HYSTERESIS (hysteresis variable signal function)
MD1625 $MD_PROG_SIGNAL_ON_DELAY (on delay variable signal function)
MD1626 $MD_PROG_SIGNAL_OFF_DELAY (off delay variable signal function)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
DB31, ...
DBX95.0
VDC link < warning threshold
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The drive signals the PLC that the DC link voltage VDC link has dropped below the DC link
undervoltage warning threshold.
The DC link undervoltage warning threshold is defined using:
MD1604 $MD_LINK_VOLTAGE_WARN_LIMIT.
The DC link undervoltage warning threshold should be defined to be greater than 400 V, depending
on the application case. If the DC link voltage drops below 280 V, the unit is powered-down by the
hardware.
Z1: NC/PLC interface signals
19.2 Various interface signals and functions (A2)
Basic Functions
1706 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX95.0
VDC link < warning threshold
Signal state 0 or
edge change
1 0
The DC link voltage VDClink is greater than the DC link undervoltage warning threshold.
Application
example(s)
If a warning signal is given, measures can be taken by the PLC user program, for example, to stop
machining (e.g. start tool retraction) or to buffer the DC link voltage.
Corresponding to .... MD1604 $MD_LINK_VOLTAGE_WARN_LIMIT (DC link undervoltage warning threshold)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
DB31, ...
DBX95.7
i
2
t monitoring
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The drive signals the PLC that the power unit monitoring has responded.
The rated current limit of this i
2
t monitoring function is defined in drive machine data
MD1261 $MD_I2T_NOMINAL_REDUCTION.
It is also possible to set the time for which the power unit may be at its limit in machine data:
MD1262 $MD_DIAGNOSIS_I2T
The i
2
t monitoring function can be used to protect the power unit of digital drives against continuous
overloads.
Signal state 0 or
edge change
1 0
The i
2
t monitoring function has not responded.
Application
example(s)
Further measures can be initiated by the PLC user program, if necessary, when the warning signal
is activated.
Corresponding to .... MD1261 $MD_I2T_NOMINAL_REDUCTION (i2t limiting, rated power unit current)
MD1262 $MD_DIAGNOSIS_I2T (i
2
t time at the limit)
MD1263 $MD_LIMIT_I2T (i
2
t actual limit factor)
MD1264 $MD_LOAD_I2T (i
2
t actual utilization factor)
Additional references /IDsl/ Commissioning Manual IBN CNC: NCK, PLC, Drive
Z1: NC/PLC interface signals
19.3 Axis monitoring, protection zones (A3)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1707
19.3 Axis monitoring, protection zones (A3)
19.3.1 Signals to channel (DB21, ...)
DB21, ...
DBX1.1
Enable protection zones
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
When a positive edge of this signal appears, a protection zone is enabled and the active alarm
cleared. Then, motion can start in the same protection zone. As a result of the start of motion, the
protection zone is enabled, the IS "machine or channel-specific protection zone violated" is set, and
the axis starts to move.
The enabling signal is canceled if motion is started that does not lead into the enabled protection
zone.
Signal state 0 or
edge change
1 0
No effect
Application
example(s)
This allows protection zones to be released:
if the current position is within a protection zone (alarm 2 present)
if motion is to be started towards the protection zone limit
(alarm 1 or 2 present)
DB21, ...
DBX8.0 - DBX9.1
Activate machine-specific protection zone 1 ( ...10)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The pre-activated, machine-related protection zone 1 ( ...10) is activated by the PLC user program.
The protection zone is immediately activated.
Only protection zones that have been pre-activated in the part program can be activated.
Signal state 0 or
edge change
1 0
The pre-activated, machine-related protection zone 1 ( ...10) is de-activated by the PLC user
program.
The protection zone is immediately de-activated.
Only protection zones that have been activated via the PLC and have been pre-activated in the NC
part program can be de-activated.
Application
example(s)
Before a sensor, for example, is moved into the working range, the relevant machine-related
protection zone can be activated.
DB21, ...
DBX10.0 - DBX11.1
Activate channel-specific protection zone 1 ( ...10)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The preactivated, channel-specific protection zone 1 ( ...10) is activated by the PLC user program.
The protection zone is immediately activated.
Only protection zones that have been pre-activated in the part program can be activated.
Z1: NC/PLC interface signals
19.3 Axis monitoring, protection zones (A3)
Basic Functions
1708 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBX10.0 - DBX11.1
Activate channel-specific protection zone 1 ( ...10)
Signal state 0 or
edge change
1 0
The pre-activated, channel-specific protection zone 1 ( ...10) is de-activated by the PLC user
program.
The protection zone is immediately de-activated.
Only protection zones that have been activated via the PLC and have been pre-activated in the NC
part program can be de-activated.
Application
example(s)
Before a synchronous spindle, for example, is moved into the working range, the relevant machine-
related protection zone can be activated.
19.3.2 Signals from channel (DB21, ...)
DB21, ...
DBX272.0
DBX273.1
Machine-related protection zone 1 ( ...10) pre-activated
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The machine-related protection zone 1 ( ...10) is preactivated in the current block.
(Pre-activated in the part program).
The protection zone can therefore be activated or de-activated in the PLC user program using the
interface signal:
DB21, ... DBX8.0 - DBX9.1 (machine-related protection zone 1 (...10))
Signal state 0 or
edge change
1 0
The machine-related protection zone 1 ( ...10) is deactivated in the current block.
(De-activated in the part program).
The protection zone can therefore not be activated or de-activated in the PLC user program using
the interface signal:
DB21, ... DBX8.0 to DBX9.1 (activate machine-related protection zone 1 (...10))
Corresponding
to ....
DB21, ... DBX8.0 - DBX9.1 (activate machine-related protection zone 1 (...10))
DB21, ...
DBX274.0
DBX275.1
Channel-specific protection zone 1 (...10) pre-activated
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The channel-specific protection zone 1 ( ...10) is preactivated in the current block.
(Pre-activated in the part program).
The protection zone can therefore be activated or de-activated in the PLC user program using the
interface signal:
DB21, ... DBX10.0 - DBX11.1 channel-specific protection zone 1 (...10))
Signal state 0 or
edge change
1 0
The channel-specific protection zone 1 ( ...10) is deactivated in the current block.
(De-activated in the part program.)
The protection zone can therefore not be activated or de-activated in the PLC user program using
the interface signal:
DB21, ... DBX10.0 - DBX11.1 (channel-specific protection zone 1 (...10))
Corresponding
to ....
DB21, ... DBX10.0 - DBX11.1 (activate channel-specific protection zone 1 (...10))
Z1: NC/PLC interface signals
19.3 Axis monitoring, protection zones (A3)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1709
DB21, ...
DBX276.0
DBX277.1
Machine-related protection zone 1 (...10) violated
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The activated, machine-related protection zone 1 ( ...10) is violated in the current block or in the
current JOG movement.
The pre-activated, machine-related protection zone 1 ( ...10) would be violated in the current block
if it would be activated by the PLC.
Signal state 0
or edge change
1 0
The activated, machine-related protection zone 1 (...10) is not violated in the current block.
The pre-activated, machine-related protection zone 1 (...10) would not be violated in the current
block if it would be activated by the PLC.
Application
example(s)
Before parts are moved into the working zone - this IS can be used to check as to whether the tool
or workpiece is located in the machine-related protection zone of the part to be moved in.
DB21, ...
DBX278.0 -
DBX279.1
Channel-specific protection zone 1 (...10) violated
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The activated, channel-specific protection zone 1 ( ...10) is violated in the current block.
The pre-activated, channel-specific protection zone 1 ( ...10) would be violated in the current block
if it would be activated by the PLC.
Signal state 0 or
edge change
1 0
The activated, channel-specific protection zone 1 ( ...10) is not violated in the current block.
The pre-activated, channel-specific protection zone 1 (...10) would not be violated in the current
block if it would be activated by the PLC.
Application
example(s)
Before parts are moved into the working zone - this IS can be used to check whether the tool or
workpiece is located in the channel-specific protection zone of the part to be moved-in.
19.3.3 Signals to axis/spindle (DB31, ...)
DB31, ...
DBX2.3
Clamping in progress
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
Clamping in progress.
The clamping monitoring function is activated.
Signal state 0 or
edge change
1 0
Clamping completed.
The clamping monitoring function is replaced by the standstill (zero speed) monitoring.
Corresponding to .... MD36050 $MA_CLAMP_POS_TOL (Clamping tolerance)
Z1: NC/PLC interface signals
19.3 Axis monitoring, protection zones (A3)
Basic Functions
1710 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX3.6
Velocity/spindle speed limitation
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The NCK limits the velocity/spindle speed to the limit value set in the machine data:
MD35160 $MA_SPIND_EXTERN_VELO_LIMIT
Signal state 0 or
edge change
1 0
No limitation active.
Corresponding to .... MD35100 $MA_SPIND_VELO_LIMIT (max. spindle speed)
SD43220 $SA_SPIND_MAX_VELO_G26 (prog. spindle speed limiting G26)
MD43230 $SA_SPIND_MAX_VELO_LIMIT (prog. spindle speed limiting G96/G961)
DB31, ...
DBX12.0 - DBX12.1
Hardware limit switches plus and minus
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
A switch can be mounted at each end of the travel range of a machine axis which will cause a
signal "hardware limit switch plus or minus" to be signaled to the NC via the PLC if it is actuated.
If the signal is recognized as set, alarm 021614 "hardware limit switch + or -" is output and the axis
is decelerated immediately.
The braking/deceleration type is defined using the machine data:
MD36600 $MA_BRAKE_MODE_CHOICE (braking behavior at the hardware limit switch)
If the controller enable is withdrawn at the same time as the "hardware limit switch" signal, then the
axis responds as described in Chapter A2 ("various interface signals").
Signal state 0 or
edge change
1 0
Normal condition - a hardware limit switch has not been actuated.
Corresponding to .... MD36600 $MA_BRAKE_MODE_CHOICE (deceleration behavior when the hardware limit switch
responds)
DB31, ...
DBX12.2 - DBX12.3
2nd software limit switch plus or minus
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
2nd software limit switch for the plus and minus directions is effective.
1st software limit switch for the plus and minus directions is not effective.
In addition to the 1st software limit switches (plus and minus), the 2nd software limit switches (plus
and minus) can be activated using these interface signals.
The position is defined using machine data:
MD36130 $MA_POS_LIMIT_PLUS2 (2nd software limit switch plus)
and
MD36120 $MA_POS_LIMIT_MINUS2 (2nd software limit switch minus).
Z1: NC/PLC interface signals
19.3 Axis monitoring, protection zones (A3)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1711
DB31, ...
DBX12.2 - DBX12.3
2nd software limit switch plus or minus
Signal state 0 or
edge change
1 0
1st software limit switch for the plus and minus directions is effective.
2nd software limit switch for the plus and minus directions is not effective.
Corresponding to .... MD36110 $MA_POS_LIMIT_PLUS (1st software limit switch plus)
MD36130 $MA_POS_LIMIT_PLUS2 (2nd software limit switch plus)
MD36100 $MA_POS_LIMIT_MINUS (1st software limit switch minus)
MD36120 $MA_POS_LIMIT_MINUS2 (2nd software limit switch minus)
19.3.4 Signals from axis/spindle (DB31, ...)
DB31, ...
DBX60.2 - DBX60.3
Encoder limit frequency exceeded 1
Encoder limit frequency exceeded 2
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The limit frequency set in the machine data:
MD36300 $MA_ENC_FREQ_LIMIT (encoder limit frequency)
has been exceeded.
The reference point for the position measuring system involved has been lost (IS:
Referenced/synchronized has a signal state 0). Closed loop position control is no longer possible.
Spindles continue to run with closed-loop speed control. Axes are stopped with a fast stop (with
open-circuit position control loop) along a speed setpoint ramp.
Signal state 0 or
edge change
1 0
The limit frequency set in machine data:
MD36300 $MA_ENC_FREQ_LIMIT
is no longer exceeded
(encoder frequency < ENC_FREQ_LIMIT_LOW).
For the edge change 1 0, the encoder frequency must have fallen below the value of machine
data:
MD36302 $MA_ENC_FREQ_LIMIT_LOW
Z1: NC/PLC interface signals
19.4 Continuous-path mode, exact stop and LookAhead (B1)
Basic Functions
1712 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
19.4 Continuous-path mode, exact stop and LookAhead (B1)
19.4.1 Signals from channel (DB21, ...)
DB21, ...
DBX36.3
All axes stationary
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
All axes assigned to the channel are stationary with interpolator end.
No other traversing movements are active.
19.4.2 Signals from axis/spindle (DB31, ...)
DB31, ...
DBX60.6
Position reached with exact stop coarse
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The axis is in the appropriate exact stop and no interpolator is active for the axis and:
the control is in the reset mode (reset key or end of program)
the axis was last programmed as a positioning axis or positioning spindle (initial setting of
supplementary axis: Positioning axis)
the path movement was stopped with NC Stop
the spindle is in the closed-loop position-controlled mode (SPCON/SPOS instruction) and is
stationary
the axis is switched from closed-loop speed-controlled to closed-loop position-controlled mode
with IS "position measuring system"
Signal state 0 or
edge change
1 0
The axis is not in the appropriate exact stop or the interpolator is active for the axis or:
the path movement was stopped with NC Stop
the spindle is in the closed-loop speed-controlled mode (SPCOF/SPOSA instruction)
the "follow-up" mode is active for the axis
the "parking" mode is active for the axis
the axis is switched from closed-loop position-controlled to closed-loop speed-controlled mode
with IS "position measuring system"
Signal irrelevant for
...
Rotary axes that are programmed as rounding axes.
Corresponding to .... MD36000 $MA_STOP_LIMIT_COARSE (exact stop coarse)
Z1: NC/PLC interface signals
19.4 Continuous-path mode, exact stop and LookAhead (B1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1713
DB31, ...
DBX60.7
Position reached with exact stop fine
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
Refer to DB31, ... DBX60.6 (position reached with exact stop coarse).
Signal state 0 or
edge change
1 0
Refer to DB31, ... DBX60.6 (position reached with exact stop coarse).
Signal irrelevant for
...
Rotary axes that are programmed as rounding axes.
Corresponding to .... MD36010 $MA_STOP_LIMIT_FINE (exact stop fine)
Z1: NC/PLC interface signals
19.5 Travel to fixed stop (F1)
Basic Functions
1714 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
19.5 Travel to fixed stop (F1)
19.5.1 Signals to axis/spindle (DB31, ...)
DB31, ...
DBX1.1
Acknowledge fixed stop reached
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
Significance after the fixed stop has been reached:
DB31, ... DBX62.5 (fixed stop reached) = 1
The axis presses against the fixed stop with the clamping torque:
The fixed stop monitoring window is activated.
A block change is executed.
Signal state 0
Edge change
1 0
Significance after the fixed stop has been reached:
DB31, ... DBX62.5 (fixed stop reached) = 1
The axis presses against the fixed stop with the clamping torque.
The fixed stop monitoring window is activated.
A block change is not executed and the channel message
"Wait: Auxiliary function acknowledgment missing" is displayed.
Meaning after the fixed stop has been reached:
IS "Fixed stop reached" DB31, ... DBX62.5 = 1
The function is aborted, the alarm "20094 axis %1 Function aborted" is output.
Significance when de-selecting the function FXS=0 via the part program:
The torque limiting and the monitoring of the fixed stop monitoring window are canceled.
IS irrelevant
for ...
MD37060 $MA_FIXED_STOP_ACKN_MASK
(monitoring PLC acknowledgments for travel to fixed stop)
= 0 or 1
Corresponding to .... MD37060 $MA_FIXED_STOP_ACKN_MASK
(monitoring PLC acknowledgments for travel to fixed stop)
DB31, ... DBX62.5 (fixed stop reached)
DB31, ...
DBX1.2
Sensor for fixed stop
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
Fixed stop is reached.
Signal state 0 or
edge change
1 0
Fixed stop is not reached.
Corresponding to .... The signal is only active if:
MD37040 $MA_FIXED_STOP_BY_SENSOR = 1
Z1: NC/PLC interface signals
19.5 Travel to fixed stop (F1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1715
DB31, ...
DBX3.1
Enable travel to fixed stop
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
Meaning when FXS function is selected using the part program
(IS "Activate travel to fixed stop" = 1):
Travel to fixed stop is enabled and the axis traverses from the start position at the programmed
velocity to the programmed target position.
Signal state 0
Edge change
1 0
Meaning when FXS function is selected using the part program
(IS "Activate travel to fixed stop" = 1):
Travel to fixed stop is inhibited.
The axis is stationary at the start position with reduced torque.
The channel message "wait": Auxiliary function acknowledgment missing" is displayed.
Meaning before the fixed stop has been reached
(IS "fixed stop reached" = 0):
Travel to fixed stop is aborted.
The alarm "20094: Axis%1 Function aborted" is displayed.
Meaning after the fixed stop has been reached
IS "fixed stop reached" = 1):
The torque limiting and monitoring of the fixed stop monitoring window are canceled.
Deselection: DB31, ...DBX1.1 (acknowledge fixed stop reached)
IS irrelevant
for ...
MD37060 $MA_FIXED_STOP_ACKN_MASK
(monitoring PLC acknowledgments for travel to fixed stop)
= 0 or 2
Corresponding to .... MD37060 $MA_FIXED_STOP_ACKN_MASK
(monitoring PLC acknowledgments for travel to fixed stop)
DB31, ... DBX62.4 (activate travel to fixed stop)
19.5.2 Signals from axis/spindle (DB31, ...)
DB31, ...
DBX62.4
Activate travel to fixed stop
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The "Travel to fixed stop" function is active.
This signal is used for analog drives in order, for example, to activate the current or torque limitation
parameterized in the actuator.
Signal state 0 or
edge change
1 0
The "Travel to fixed stop function" is not active.
Z1: NC/PLC interface signals
19.5 Travel to fixed stop (F1)
Basic Functions
1716 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX62.5
Fixed stop reached
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The fixed stop was reached after selecting the FXS function.
This signal is used by analog drives, e.g. to switch the actuator from speed-controlled to current or
torque-controlled mode so that a programmable clamping torque can be set.
Signal state 0 or
edge change
1 0
The fixed stop has still not been reached after selecting the FXS function.
Z1: NC/PLC interface signals
19.6 Help function output to PLC (H2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1717
19.6 Help function output to PLC (H2)
19.6.1 Signals to channel (DB21, ...)
DB21, ...
DBX30.5
Activate associated M01
Edge evaluation: no Signal(s) updated:
Signal state 1 or
edge change
0 1
PLC signals the NCK that the associated M01 (help function) should be activated.
Signal state 0 or
edge change
1 0
De-activate the associated M01 (help function).
Corresponding to .... DB21, ... DBX 318.5 (associated M01 active)
19.6.2 Signals from channel (DB21, ...)
DB21, ...
DBB58,
DBB60 - DBB65
M, S, T, D, H, F functions Modification
Edge evaluation: No Signal(s) updated: job-controlled by NCK
Signal state 1 or
edge change
0 1
One M, S, T, An D, H, or F function has been output to the interface with a new value together with
the associated change signal at the beginning of an OB1 cycle.
In this case, the change signal indicates that the appropriate value is valid.
Signal state 0 or
edge change
1 0
The change signals are reset by the PLC basic program at the start of the next OB1 cycle.
The value of the data involved is not valid.
Z1: NC/PLC interface signals
19.6 Help function output to PLC (H2)
Basic Functions
1718 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBX59.0 - DBX59.4
M function 1-5 not included in list
Edge evaluation: No Signal(s) updated: job-controlled by NCK
Signal state 1 or
edge change
0 1
M function is greater than 99 (for extended address = 0) or for extended address > 0, not included
in the decoding list.
This signal is available - together with the associated M change signal - for one OB1 cycle.
Cause:
Incorrect M function programmed
M function not configured in the decoding list of the PLC
Remedy, e.g.:
PLC sets read-in disable
Output of a PLC alarm
Signal state 0 or
edge change
1 0
M function less than 99 (for extended address = 0) or for extended address > 0 included in the
decoding list.
DB21, ...
DBB60 - DBB64,
DBB66 - DBB67
M, S, T, D, H, F functions Additional info "Quick" (fast acknowledgment)
Edge evaluation: No Signal(s) updated: job-controlled by NCK
Signal state 1 or
edge change
0 1
One M, S, T, An D, H, or F function has been output to the interface with a new value together with
the associated change signal at the beginning of an OB1 cycle.
In this case, the additional info "Quick" indicates the quick help function.
Signal state 0 or
edge change
1 0
The change signals are reset by the PLC basic program at the start of the next OB1 cycle.
The value of the data involved is not valid.
DB21, ...
DBB68 - DBB97
M functions 1 to 5
Extended address M functions 1 to 5
Edge evaluation: No Signal(s) updated: job-controlled by NCK
Signal state 1 or
edge change
0 1
Up to 5 M functions programmed in an NC block are simultaneously made available here as soon
as the M change signals are available.
Value range of M functions: 0 to 9999 9999; integer number
Value range of the extended address: 0 to 99; integer number
The M functions remain valid until they are overwritten by new M functions.
Signal state 0 or
edge change
1 0
After the PLC has ramped-up.
All help functions are deleted before a new function is entered.
Application
example(s)
Decoding and evaluation of M functions that are not decoded as standard or via a list.
Using the extended address, the M function can be assigned to another channel that does not
correspond to that channel in which the program is running.
Special cases,
errors, ......
For M00 to M99 the extended address = 0.
Z1: NC/PLC interface signals
19.6 Help function output to PLC (H2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1719
DB21, ...
DBB98 - DBB115
S functions 1 to 3
Extended address S functions 1 to 3
Edge evaluation: No Signal(s) updated: job-controlled by NCK
Signal state 1 or
edge change
0 1
Up to 3 S functions programmed in an NC block are simultaneously made available here as soon
as the S change signals are available.
Value range of the spindle speed: 0 to 999 999; integer number
Value range of the extended address: 0 to 6; integer number
The S functions remain valid until they are overwritten by new S functions.
Signal state 0 or
edge change
1 0
After the PLC has ramped-up.
All help functions are deleted before a new function is entered.
Application
example(s)
Spindle speed control by the PLC.
The extended address is used to program for which spindle the S word is valid.
E.g.: S2=500
DB21, ...
DBB118, DBB119
T function 1
Edge evaluation: No Signal(s) updated: job-controlled by NCK
Signal state 1 or
edge change
0 1
The T function programmed in an NC block is made available here
as soon as the T change signal is available.
Value range of T functions: 0 to 99 999 999; integer number
The T function remains valid until it is overwritten by a new T function.
Signal state 0 or
edge change
1 0
After the PLC has ramped-up.
All help functions are deleted before a new function is entered.
Application
example(s)
Control of automatic tool selection.
Special cases,
errors, ......
With T0, the current tool is removed from the tool holder but not replaced by a new tool (default
configuration of the machine manufacturer).
Z1: NC/PLC interface signals
19.6 Help function output to PLC (H2)
Basic Functions
1720 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBB129
D function 1
Edge evaluation: No Signal(s) updated: job-controlled by NCK
Signal state 1 or
edge change
0 1
The D function programmed in an NC block is made available here
as soon as the D change signal is available.
Value range of D functions: 0 to 999; integer number
The D function remains valid until it is overwritten by a new D function.
Signal state 0 or
edge change
1 0
After the PLC has ramped-up.
All help functions are deleted before a new function is entered.
Application
example(s)
Implementation of protective functions.
Special cases,
errors, ......
D0 is reserved for deselecting the current tool offset.
DB21, ...
DBB140 - DBB157
H functions 1 to 3
Extended address H functions 1 to 3
Edge evaluation: No Signal(s) updated: job-controlled by NCK
Signal state 1 or
edge change
0 1
Up to 3 H functions programmed in an NC block are made available here simultaneously as soon
as the H change signals are available.
Value range of the H function: Floating point (corresponding to the MC5+format)
Value range of the extended address: 0 to 99; integer number
The H functions remain valid until they are overwritten by new H functions.
Signal state 0 or
edge change
1 0
After the PLC has ramped-up.
All help functions are deleted before a new function is entered.
Application
example(s)
Switching functions on the machine.
Z1: NC/PLC interface signals
19.6 Help function output to PLC (H2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1721
DB21, ...
DBB158 - DBB193
F functions 1 to 6
Extended address F functions 1 to 6
Edge evaluation: No Signal(s) updated: job-controlled by NCK
Signal state 1 or
edge change
0 1
Up to 6 F functions (one path feed and up to 5 axis-specific feeds for
positioning axes) are made available here simultaneously as soon as the F change
signals are available.
Value range of F function: Floating point (corresponding to the MC5+format)
Value range of the extended address: 0 to 18; integer number
The extended address of the F function is generated from the feed type (path feed or axis-specific
feed) and the axis names.
It is coded as follows:
Path feed; e.g.: F=1000 e.g.: F=1000
Machine axis number of the positioning axis
for an axis-specific feed
e.g.: FA[X1]=500 1 to 18:
0:
The F functions remain until they are overwritten by new F functions.
Signal state 0 or
edge change
1 0
After the PLC has ramped-up.
All help functions are deleted before a new function is entered.
Application
example(s)
Control of programmed F word by the PLC, e.g. through overwriting of the set feed rate override.
Corresponding to .... MD22240 $MC_AUXFU_F_SYNC_TYPE (output time of F functions)
DB21, ...
DBB194 - DBB206
Dynamic M functions: M0 - M99
Edge evaluation: No Signal(s) updated: job-controlled by NCK
Signal state 1 or
edge change
0 1
The dynamic M signal bits are set by decoded M functions.
Signal state 0 or
edge change
1 0
For a general help function output, the dynamic M signal bits are acknowledged by the PLC basic
program after the OB1 has been completely run-through (executed once).
For a fast help function output, after the PLC identifies the help functions, they are acknowledged in
the same OB40 cycle.
Application
example(s)
Spindle clockwise/counterclockwise rotation, switch coolant ON/OFF
Z1: NC/PLC interface signals
19.6 Help function output to PLC (H2)
Basic Functions
1722 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBX318.5
Associated M01/M00 active
Edge evaluation: No Signal(s) updated:
Signal state 1 or
edge change
0 1
This bit indicates that an M00 or M01 help function is active if the appropriate associated M00 and M01
(help functions) were enabled/activated beforehand.
Signal state 0 or
edge change
1 0
No associated M00/M01 help functions active.
Corresponding to .... DB21, ... DBX30.5 (activate associated M01)
19.6.3 Signals from axis/spindle (DB31, ...)
DB31, ...
DBD78
Value of F help function
Edge evaluation: no Signal(s) updated: Job-controlled
The values of the F help functions for positioning axes are stored here. The axis to which each
value applies is determined by the extended address.
DB31, ...
DBD86
Value of M help function
Edge evaluation: no Signal(s) updated: Job-controlled
The values for the M3, M4, M5 help functions are sent to the associated interface for the addressed
spindle.
DB31, ...
DBD88
Value of S help function
Edge evaluation: no Signal(s) updated: Job-controlled
The values for the S help functions are sent to the associated interface for the addressed spindle.
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1723
19.7 Mode group, channel, program operation, reset response (K1)
19.7.1 Signals to mode group (DB11)
DB11
DBX0.0
AUTOMATIC mode
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
AUTOMATIC mode is selected by the PLC program.
Signal state 0 or
edge change
1 0
AUTOMATIC mode is not selected by the PLC program.
Signal irrelevant for
...
DB11 DBX0.4 (operating mode, changeover inhibit) = 1
Corresponding to .... DB11 DBX6.0 (active AUTOMATIC mode)
DB11
DBX0.1
MDA mode
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
MDA mode is selected by the PLC program.
Signal state 0 or
edge change
1 0
MDA mode is not selected by the PLC program.
Signal irrelevant for
...
DB11 DBX0.4 (operating mode, changeover inhibit) = 1
Corresponding to .... DB11 DBX6.1 (active MDA mode)
DB11
DBX0.2
JOG mode
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
JOG mode is selected by the PLC program.
Signal state 0 or
edge change
1 0
JOG mode is not selected by the PLC program.
Signal irrelevant for
...
DB11 DBX0.4 (operating mode, changeover inhibit) = 1
Corresponding to .... DB11 DBX6.2 (active JOG mode)
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
1724 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB11
DBX0.4
Mode changeover inhibit
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The currently active mode (JOG, MDA or AUTOMATIC) of the mode group cannot be changed. The
machine functions that can be selected within a mode group can be changed.
Signal state 0 or
edge change
1 0
The mode of the mode group can be changed.
DBX0.4 = 0
NC
Mode switchover
disable
Mode selection
AUTOMATlC
mode
MDA operating
mode
JOG mode
DB11
DBX0.5
Mode group stop
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
An NC stop is activated for all the channels of the mode group. The channel status of all the active
channels changes to the channel status "interrupted". All of the channels in channel status "reset"
remain in the channel status "reset". Programs that are running at this point are immediately
interrupted (at the earliest possible point, even within a block) and the program status changes to
"stopped". All the moving axes of the mode group are decelerated according to their acceleration
characteristics without contour violation. The program can be restarted with NC start. None of the
spindles of that mode group are affected.
Signal state 0 or
edge change
1 0
Channel status and program execution are not influenced.
Special cases,
errors, ... ...
All the axes of a mode group that are not triggered by a program or a program block (e.g. axes
traverse because traverse keys are being pressed on the machine control panel) decelerate to rest
with mode group stop.
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1725
DB11
DBX0.6
Mode group stop axes plus spindles
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
An NC stop is activated for all the channels of the mode group. The channel status of all of the
active channels changes to the channel status "interrupted". All of the channels in channel status
"reset" remain in the channel status "reset". Programs that are running at this point are immediately
interrupted (at the earliest possible point, even within a block) and the program status changes to
"stopped". All the moving axes and spindles of the mode group are decelerated according to their
acceleration characteristics without contour violation. The program can be restarted with NC start.
Signal state 0 or
edge change
1 0
Channel status and program execution are not influenced.
Special cases,
errors, ......
All the axes and spindles of a mode group that are not triggered by a program or a program block
(e.g. axes traverse because traverse keys are pressed on the machine control panel, spindles are
controlled by the PLC) decelerate to rest with "mode group stop plus spindles".
DB11
DBX0.7
Mode group reset
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
A reset is activated for all the channels of the mode group. All of the channels are then in the
channel status "reset". All of the current programs are then in the program status "aborted". All
moving axes and spindles are decelerated to zero speed according to their acceleration ramp
without contour violation. The initial settings are set (e.g. for G functions). The alarms for the mode
group are cleared if they are not POWER ON alarms.
Signal state 0 or
edge change
1 0
Channel status and program execution are not influenced by this signal.
Corresponding to .... DB21, ... DBX7.7 (channel reset)
DB11 DBX6.7 (all channels in the reset state)
Special cases,
errors, ......
An alarm that withdraws the interface signal
DB11 DBX6.3 (mode group ready)
ensures that all channels of the mode group are no longer in the reset state.
In order to switch to another operating mode, a mode group reset (DB11 DBX0.7) must then be
initiated.
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
1726 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB11
DBX1.0
Machine function TEACH IN
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
Machine function TEACH IN is activated in JOG mode for the mode group.
Signal state 0 or
edge change
1 0
Machine function TEACH IN is not activated.
Signal irrelevant for
...
If JOG mode is not active.
Additional references /BA/ Operating Manual HMI (corresponding to the used software)
DB11
DBX1.1
Machine function REPOS
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
Machine function REPOS is activated in JOG mode for the mode group.
Signal state 0 or
edge change
1 0
Machine function REPOS is not activated.
Signal irrelevant for
...
JOG mode is not active.
Application
example(s)
When a fault occurs when executing a part program (e.g. tool breakage), the axis is manually
moved away from the fault location in the JOG mode in order to be able to replace the tool.
The axis can then be manually returned to the exact previous position using the REPOS machine
function so that the program can be continued in the automatic mode.
Additional references /BA/ Operating Manual HMI (corresponding to the used software)
DB11
DBX1.2
Machine function REF
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
Machine function REF is activated in the JOG mode for the mode group.
Signal state 0 or
edge change
1 0
Machine function REF is not activated.
Signal irrelevant for
...
If JOG mode is not active.
Additional references /FB1/ Function Manual Basic Functions; Reference Point Travel (R1)
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1727
DB11
DBX1.6
Single block type B
Edge evaluation: No Signal(s) updated:
Signal state 1 or
edge change
0 1
Bit set and DB11 DBX1.7 not set: Response across modes
All channels are stopped.
All channels receive a start command.
Channel KS stops at the end of the block.
The channels KA receive a STOPATEND.
(comparable with DB21, ... DBX7.2 (NC stop at the block limit).)
All channels are stopped at a block limit (at some point in time).
(If DB11 DBX1.6 and DB11 DBX1.7 are set simultaneously, it is impossible to determine which
single block type is required. In this case, the control assumes: No single block across mode
groups).
Signal state 0 or
edge change
1 0
If Bit DB11 DBX1.6 is not set and Bit DB11 DBX1.7 is set, then it is single block type A.
(If DB11 DBX1.6 and DB11 DBX1.7 are not set, it is impossible to determine which single block
type is required. The control then assumes: No single block across mode groups).
Corresponding to .... Single block type A
DB11
DBX1.7
Single block type A
Edge evaluation: No Signal(s) updated:
Signal state 1 or
edge change
0 1
DB11 DBX1.7 set and DB11 DBX1.6 not set: Response across modes
All channels are stopped.
All channels receive a start (start key).
Channel KS stops at the end of the block (due to single-block)
Channels KA receive a STOP command. (comparable to the STOP KEY).
All channels are stopped. (deceleration phase of all KAs)
(If DB11 DBX1.6 and DB11 DBX1.7 are set simultaneously, it is impossible to determine which
single block type is required. The control then assumes: No single block across mode groups).
Signal state 0 or
edge change
1 0
If DB11 DBX1.7 is not set and DB11 DBX1.6 is set, then it is single block type B.
(If DB11 DBX1.6 and DB11 DBX1.7 are not set, it is impossible to determine which single block
type is required. The control then assumes: No single block across mode groups).
Corresponding to .... Single block type B
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
1728 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
19.7.2 Signals from the mode group (DB11)
DB11
DBX4.0
Selected mode AUTOMATIC
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
AUTOMATIC mode is selected by HMI.
Signal state 0 or
edge change
1 0
AUTOMATIC mode is not selected by HMI.
DB11
DBX4.1
Selected mode MDA
Edge evaluation: Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
MDA mode is selected by HMI.
Signal state 0 or
edge change
1 0
MDA mode is not selected by HMI.
DB11
DBX4.2
Data block
Selected JOG mode
Signal(s) from BAG (HMI PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
JOG mode is selected by HMI.
Signal state 0 or
edge change
1 0
JOG mode is not selected by HMI.
DB11
DBX5.0
Selected machine function TEACH IN
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The machine function TEACH IN is selected by HMI within BAG.
Signal state 0 or
edge change
1 0
The machine function TEACH IN is not selected by HMI.
Additional references /BA/ Operating Manual HMI (corresponding to the used software)
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1729
DB11
DBX5.1
Selected REPOS machine function
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The machine function REPOS is selected by HMI within BAG.
Signal state 0 or
edge change
1 0
The machine function REPOS is not selected by HMI.
Application
example(s)
When a fault occurs when executing a part program (e.g. tool breakage), the axis is manually
moved away from the fault location in the JOG mode in order to be able to replace the tool.
The axis can then be manually returned to the exact previous position using the REPOS machine
function so that the program can be continued in the automatic mode.
Additional references /BA/ Operating Manual HMI (corresponding to the used software)
DB11
DBX5.2
Selected machine function REF
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The machine function REF is selected by HMI within BAG.
Signal state 0 or
edge change
1 0
The machine function REF is not selected by HMI.
Additional references /FB1/ Function Manual Basic Functions; Reference Point Travel (R1)
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
1730 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB11
DBX6.0
Data block
Active mode AUTOMATIC
Signal(s) from the mode group (NCK PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
AUTOMATIC mode is active.
Signal state 0 or
edge change
1 0
AUTOMATIC mode is not active.
DB11
DBX6.1
Active mode MDA
Edge evaluation: Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
MDA mode is active.
Signal state 0 or
edge change
1 0
MDA mode is not active.
DB11
DBX6.2
Active JOG mode
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
JOG mode is active.
Signal state 0 or
edge change
1 0
JOG mode is not active.
DB11
DBX6.3
Mode group ready
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
This signal is set after power on and all of the voltage have been established. The mode group is
now ready and parts programs can be executed and axes traversed in the individual channels.
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1731
DB11
DBX6.3
Mode group ready
Signal state 0 or
edge change
1 0
The mode group is not ready. Possible causes for this are:
A critical axis or spindle alarm is present
Hardware faults
The mode group has been incorrectly configured (machine data)
If the mode group ready changes to signal state "0", then:
the axis and spindle drives are braked down to standstill with the max. braking current.
the signals from the PLC to the NCk are brought into an inactive state (cleared state).
Special cases,
errors, ......
An alarm that withdraws the interface signal
DB11 DBX6.3 (mode group ready)
ensures that all channels of the mode group are no longer in the reset state.
In order to switch to another operating mode, a mode group reset (DB11 DBX0.7) must be made.
DB11
DBX6.7
All channels in the reset state
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
All the channels that belong to this mode group are in the "channel status reset" state (DB21, ...
DBX7.7).
Signal state 0 or
edge change
1 0
At least one of the channels in the mode group is not in "channel status reset" (DB21, ... DBX7.7).
Corresponding to .... DB21, ... DBX7.7 (channel state, reset)
DB11
DBX7.0
Active machine function TEACH IN
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
Machine function TEACH IN is active in the mode group.
Signal state 0 or
edge change
1 0
Machine function TEACH IN is not active.
Additional references /BA/ Operating Manual HMI (corresponding to the used software)
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
1732 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB11
DBX7.1
Active REPOS machine function
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
Machine function REPOS is active in the mode group.
Signal state 0 or
edge change
1 0
Machine function REPOS is not active.
Application
example(s)
When a fault occurs when executing a part program (e.g. tool breakage), the axis is manually
moved away from the fault location in the JOG mode in order to be able to replace the tool.
The axis can then be manually returned to the exact previous position using the REPOS machine
function so that the program can be continued in the automatic mode.
Further references /BA/ Operating Manual HMI (corresponding to the used software)
DB11
DBX7.2
Active machine function REF
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
Machine function REF is active in the mode group.
Signal state 0 or
edge change
1 0
Machine function REF is not active.
Further references /FB1/ Function Manual Basic Functions; Reference Point Travel (R1)
19.7.3 Signals to channel (DB21, ...)
DB21, ...
DBX0.4
Activate single block
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
In AUTOMATIC and MDA modes, the operator must enable processing of each individual part
program block of the part program selected in the channel by reactivating NC START.
Signal state 0 or
edge change
1 0
No effect.
Special cases,
errors, ......
In the case of active tool offset, intermediate blocks are inserted, when necessary. These blocks
must also be enabled using NC START.
In a series of G33 blocks, a single block is only operative if "dry run feed" is selected.
In the case of a decoding single block, calculation blocks are not processed in the single step.
Corresponds to .... DB21, ... DBX35.3 (program status interrupted)
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1733
DB21, ...
DBX0.5
Activate M01
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
Activation of program control "Conditional stop"M01 is requested.
Signal state 0 or
edge change
1 0
Activation of program control "Conditional stop" M01 is not requested.
Corresponds to .... DB21, ... DBX24.5 (M01 selected)
DB21, ... DBX32.5 (M0/M01 active)
DB21, ...
DBX1.6
PLC action completed
Edge evaluation: no Signal(s) updated: cyclic
At the end of the block search, concluding action blocks are executed:
DB21, ... DBX32.3 (action block active) == 1 AND
DB21, ... DBX32.6 (last action block active) == 1
Alarm "10208 Channel <Channel Number> Issue NC START to continue program" notifies the user
that he must reactivate NC START to resume the part program starting from the target block.
If other actions are to be executed by the PLC user program prior to the NC START (e.g., tool
change), Search mode can be parameterized as follows:
MD11450 $MN_SEARCH_RUN_MODE = 1
Output of alarm delayed until the existing signal is reset.
Signal state 1 or
edge change
0 1
PLC action is completed.
Signal state 0 or
edge change
1 0
PLC action is not yet completed.
Corresponds to .... DB21, ... DBX32.3 (action block active)
DB21, ... DBX32.6 (last action block active)
DB21, ... DBX33.4 (block search active)
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
1734 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBX1.7
Activate program test
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
Activation of the program test is requested.
During the program test, all motion commands of axes (not spindles) take place under "Axis
disable."
Notice!
Due to the axis disable, the assignment of a tool magazine is not changed for the program test. The
user/machine manufacturer must utilize a suitable PLC user program to ensure that the NCK-
internal tool management and the actual assignment of the tool magazine remain consistent. Refer
to the program example included in the PLC Toolbox.
Signal state 0 or
edge change
1 0
Activation of the program test is not requested.
Corresponds to .... DB21, ... DBX25.7 (program test selected)
DB21, ...DBX33.7 (program test active)
DB21, ...
DBX2.0
Skip block
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
Skip blocks marked in the part program with an slash (/) are not processed. If there is a series of
skip blocks, the signal is only active if it is present before the first skip block of the series is
decoded.
Note
The signal should be available prior to the start of the part program.
Signal state 0 or
edge change
1 0
Skip blocks marked in the part program with an slash (/) are processed.
Corresponds to .... DB21, ... DBX26.0 (Skip block selected)
DB21, ... DBX35.2 (Program status stopped)
DB21, ...
DBX6.1
Read-in disable
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The main run reads in no more preprocessed part program blocks.
Note
The signal is only active in AUTOMATIC and MDA modes.
Signal state 0 or
edge change
1 0
The main run reads in preprocessed part program blocks.
Corresponds to .... DB21, ... DBX35.0 (program status running)
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1735
DB21, ...
DBX6.4
Program level abort
Edge evaluation: yes Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
At each edge change 0 1 the current program level being processed (subroutine level, ASUB
level, save routine) is immediately aborted. Processing of the part program continues at the next
higher program level from the exit point.
Signal state 0 or
edge change
1 0
No effect.
Special cases,
errors, ......
The main program level cannot be aborted with this IS, only with IS "Reset".
DB21, ...
DBX7.0
NC START disable
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The NC START disable prevents a part program from being started with NC START signal DB21, ...
DBX7.1 (NC START) == 1.
Signal state 0 or
edge change
1 0
NC START disable is not active.
Special cases,
errors, ......
The start of a part program selected in the channel by part program command START in another
channel (program coordination) is not prevented by the interface signal:
DB21, ... DBX7.0 (NC start disable) == 1.
Corresponds to .... DB21, ... DBX7.1 (NC START)
DB21, ...
DBX7.1
NC START
Edge evaluation: yes Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
AUTOMATIC mode: The selected NC program is started or continued, or the auxiliary functions that
were saved during the program interruption are output.
If data are transferred from the PLC to the NC during program status "Program interrupted," then
these data are immediately cleared at NC start.
Operating mode MDA:
The entered block information or part program blocks are released for execution.
Signal state 0 or
edge change
1 0
No effect.
Corresponds to .... DB21, ... DBX7.0 (NC start disable)
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
1736 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBX7.2
NC STOP at block limit
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The current NC program is stopped after the current part program block has been completely
processed. Otherwise, as for DB21, ... DBX7.3 (NC stop).
Signal state 0 or
edge change
1 0
No effect.
Corresponds to .... DB21, ... DBX7.3 (NC stop)
DB21, ... DBX7.4 (NC stop, axes plus spindles)
DB21, ... DBX35.2 (program status stopped)
DB21, ... DBX35.6 (channel status interrupted)
DB21, ...
DBX7.3
NC STOP
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
AUTOMATIC or MDA mode:
Processing of the part program active in the channel is stopped.
The axes (not spindles) are brought to a standstill within the assigned acceleration parameters.
Program status: stopped
Channel status: interrupted
JOG mode:
In JOG mode, incompletely traversed incremental paths (INC...) are retracted at the next NC
START.
Note
The signal must be present for at least one PLC cycle (OB1).
Signal state 0 or
edge change
1 0
No effect.
Signal irrelevant for
...
Program status: aborted
Channel status: Reset
Special cases,
errors, ......
If data are transferred to the NCK after NC STOP (e.g., tool offset), the data are cleared at the
next NC START.
Corresponds to .... DB21, ... DBX7.2 (NC STOP at block limit)
DB21, ... DBX7.4 (NC STOP axes plus spindles)
DB21, ... DBX35.2 (program status stopped)
DB21, ... DBX35.6 (channel status interrupted)
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1737
DB21, ...
DBX7.4
NC STOP axes plus spindles
Edge evaluation: no Signal(s) updated: cyclic
See DB21, ... DBX7.3 (NC STOP).
In addition, the spindles of the channel are stopped.
DB21, ...
DBX7.7
Reset
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The channel is reset. The initial settings are set (e.g. G functions).
The alarms for the channel are cleared if they are not POWER ON alarms.
The reset signal must be issued by the PLC (e.g., using a logic operation with the reset key on the
MCP). The signal is only evaluated by the selected channel.
The program status changes to "Aborted", and the channel status changes to "Channel status
reset".
Signal state 0 or
edge change
1 0
No effect.
Corresponds to .... DB11, ... DBX0.7 (mode group reset)
DB21, ... DBX35.7 (channel status reset)
DB21, ...
DBX31.0 - DBX31.2
REPOS mode (REPOSPATHMODE)
Edge evaluation: no Signal(s) updated: cyclic
REPOS mode specified by HMI:
Bit:2 1 0
0 0 0 = 0: no REPOS mode active
0 0 1 = 1: Re-approach to block start RMB
0 1 0 = 2: Re-approach to interruption point RMI
0 1 1 = 3: Re-approach to block end point RME
1 0 0 = 4: Re-approach to nearest path point RMN
Corresponds to .... DB21, ...DBX25.0 - DBX25.2 (REPOS mode (REPOSPATHMODE))
DB31, ... DBX10.0 (REPOSDELAY)
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
1738 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBX31.4
REPOS mode change (REPOSMODEEDGE)
Edge evaluation: yes Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The REPOS mode has changed:
DB21, ... DBX31.0 - DBX31.2 (REPOS mode (REPOSPATHMODE))
Signal state 0 or
edge change
1 0
REPOS mode has not changed.
Corresponds to .... DB21, ... DBX31.0 - DBX31.2 (REPOS mode (REPOSPATHMODE))
DB21, ... DBX319.0 (REPOSMODEEDGEACKN)
DB21, ...DBX31.0 - DBX31.2 (REPOS mode (REPOSPATHMODE))
19.7.4 Signals from channel (DB21, ...)
DB21, ...
DBX32.3
Action block active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The action block is being executed.
Signal state 0 or
edge change
1 0
No action block active.
Additional references /BA/ Operating Manual HMI (corresponding to the used software)
DB21, ...
DBX32.4
Approach block active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The approach block for the progress of the program with "Block search with computation on
contour" is active, as with "Block search with computation on block end point" no approach block is
created of its own. The axes are automatically positioned on the collected search position if ASUP
exits with REPOSA during "Block search with computation on contour".
Signal state 0 or
edge change
1 0
The search target is found during "Block search with computation on contour".
Further references /PGA/ Programming Manual Job Planning
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1739
DB21, ...
DBX32.5
M00/M01 active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The part program block is processed, the auxiliary functions are output, and:
M00 is in the RAM
M01 is in the RAM and IS "Activate M01" is active
The program status changes to "Stopped".
Signal state 0 or
edge change
1 0
With DB21, ... DBX7.1 (NC start)
For a program abort as a result of a reset
Screen
1
2
3
4
5
1
2
3
4
5
6
6
M00
lS "Channel state active" (even when
axes are moved in JOG mode)
M change signal (1 PLC cycle time)
lS "M00/M01 active"
NC block with M00
Block processed
Data transfer to working memory
Corresponding to .... DB21, ... DBX0.5 (activate M01)
DB21, ... DBX24.5 (M01 selected)
DB21, ...
DBX32.6
Last action block active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The last action block is being executed.
This means, that all the action blocks on the side of NC have been processed and the actions on
the side of PLC (ASUP, FC) or the operator such as overstore, mode change according to
JOG/REPOS are possible. In this way the PLC for example can still perform a tool change before
the start of movement.
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
1740 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBX32.6
Last action block active
Signal state 0 or
edge change
1 0
The last action block is not being executed. Action blocks contain the actions collected during
"block search with computation" such as
Outputting help function H, M00, M01, M..
Tool programming T, D, DL
Spindle programming S-Value, M3/M4/M5/M19, SPOS
Feed programming, F
Further references /FB1/ Function Manual Basic Functions; K1 Channel, Program Operation, Reset Response
DB21, ...
DBX33.4
Block search active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The block search function is active.
It was selected from the operator interface screen and started using the interface signal:
DB21, ... DBX7.1 (NC start)
Signal state 0 or
edge change
1 0
Search target found.
Application
example(s)
The block search function makes it possible to jump to a certain block within a part program and to
start processing the part program from this block.
Additional references /FB1/ Function Manual Basic Functions; K1 Channel, Program Operation, Reset Response
DB21, ...
DBX33.5
M02/M30 active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
NC block with M02 or M30 (or M17 if a subroutine was started) is completely processed; if
traversing motions are also programmed in this block, the signal is only output when the target
position is reached.
The program was interrupted as a result of a reset, and the program status changes to
"Aborted".
When MDA mode or machine functions REF or PRESET are selected
After DB10 DBX56.2 (acknowledge EMERGENCY STOP)
Signal state 0 or
edge change
1 0
No program end or program abort
Status after activation of control
Start of an NC program
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1741
DB21, ...
DBX33.5
M02/M30 active
Screen
1
2
3
4
5
1
2
3
4
5
M02
M change signal (1 PLC cycle time)
lS "M02/M30 active"
NC block with M02
Block processed
Data transfer to working memory
Application
example(s)
The PLC can detect the end of program processing with this signal and react appropriately.
Special cases,
errors, ......
The M02 and M30 functions have equal priority.
The interface signal:
DB21, ... DBX33.5 (M02/M30 active)
is available as steady-state signal after the end of the program.
Not suitable for automatic follow-on functions such as workpiece counting, bar feed, etc.
M02/M30 must be written in a separate block and the word M02/M30 or the decoded M signal used
for these functions.
Auxiliary functions that could result in a read-in operation being stopped and any S values that
are to be operative beyond M02/M30 must not be written in the last block of a program.
DB21, ...
DBX33.6
Transformation active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The NC command TRAORI (activate transformation) is programmed in the NC part program. This
block has been processed by the NC and the transformation is now activated.
Signal state 0 or
edge change
1 0
No transformation active.
Additional references /PGA/ Programming Manual Job Planning
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
1742 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBX33.7
Program test active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
Program control program test is active. Axis disable is set internally for all axes (not spindles).
Therefore the machine axes do not move when a part program block or a part program is being
processed. The axis movements are simulated on the operator interface with changing axis position
values.
The axis position values for the display are generated from the calculated setpoints.
The part program is processed in the normal way.
Signal state 0 or
edge change
1 0
Program control "Program test" is not active.
Corresponding to .... DB21, ... DBX1.7 (activate program test)
DB21, ... DBX25.7 (program test selected)
DB21, ...
DBX35.0
Program status running
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The part program was started with the interface signal:
DB21, ... DBX7.1 (NC start)
and is running.
The running program was stopped with the interface signal:
DB21, ... DBX6.1 (read-in disable)
Signal state 0 or
edge change
1 0
Program stopped by M00/M01 or NC stop or operating mode change.
If single block mode, the block is processed.
End of program reached (M02/M30).
Program aborted due to a reset.
No actual block in the memory (e.g. for MDA).
The actual block cannot be executed.
Signal irrelevant for
...
The part program was started with the interface signal:
DB21, ... DBX7.1 (NC start)
and is running.
Special cases,
errors, ......
The interface signal:
DB21, ... DBX35.0 (program status running)
does not change to 0 if workpiece machining is stopped due to the following events:
A feed disable or spindle disable was output
DB21, ... DBX6.1 (read-in disable)
Feed correction to 0%
The spindle and axis monitoring functions respond
Position setpoints are entered in the NC program for axes in "follow-up mode," for axes without
"servo enable," or for "parking axes"
Corresponding to .... DB21, ... DBX6.1 (read-in disable)
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1743
DB21, ...
DBX35.1
Program status wait
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The running program is waiting for the program command WAIT_M or WAIT_E in an NC block. The
wait condition specified in the WAIT command for the channel or channels has not yet been fulfilled.
Signal state 0 or
edge change
1 0
Program status wait is not active.
Further references /PG/ Programming Manual Fundamentals
DB21, ...
DBX35.2
Program status stopped
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The NC part program has been stopped by:
DB21, ... DBX7.3 (NC stop)
DB21, ... DBX7.4 (NC stop, axes plus spindles)
DB21, ... DBX7.2 (NC stop at the block limit)
Programmed M00 or M01
or
Single block mode
Signal state 0 or
edge change
1 0
"Program status stopped" is not present.
Corresponding to .... DB21, ... DBX7.3 (NC stop)
DB21, ... DBX7.4 (NC stop, axes plus spindles)
DB21, ... DBX7.2 (NC stop at the block limit)
DB21, ...
DBX35.3
Program status interrupted
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
When the operating mode changes from AUTOMATIC or MDA (in stopped program status) to JOG,
the program status changes to "Interrupted". The program can be continued at the point of
interruption in AUTOMATIC or MDA mode when NC start is issued.
Signal state 0 or
edge change
1 0
"Program status interrupted" not available.
Special cases,
errors, ......
The interface signal:
DB21, ... DBX35.3 (program status interrupted)
indicates that the part program can continue to be processed by restarting it.
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
1744 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBX35.4
Program status aborted
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The program has been selected but not started, or the current program was aborted with a reset.
Signal state 0 or
edge change
1 0
Program status interrupted is not active.
Corresponding to .... DB21, ... DBX7.7 (reset)
DB21, ...
DBX35.5
Channel status active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
In this channel:
A part program is presently being executed in Automatic or MDA mode
or
At least one axis is being traversed in JOG mode.
Signal state 0 or
edge change
1 0
DB21, ... DBX35.3 (channel status interrupted) or DB21, ... DB35.7 (channel status reset) is
present.
DB21, ...
DBX35.6
Channel status interrupted
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The NC part program in AUTOMATIC or MDA mode or a traversing motion in JOG mode can be
interrupted by:
DB21, ... DBX7.3 (NC stop)
DB21, ... DBX7.4 (NC stop, axes plus spindles)
DB21, ... DBX7.2 (NC stop at the block limit)
Programmed M00 or M01
or
Single block mode
After an NC start the part program or the interrupted traversing movement can be continued.
Signal state 0 or
edge change
1 0
DB21, ... DBX35.5 (channel status active) or DB21, ... DB35.7 (channel status reset) is present.
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1745
DB21, ...
DBX35.7
Channel status reset
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The signal changes to 1 as soon as the channel goes into the reset state, i.e. no processing taking
place.
Signal state 0 or
edge change
1 0
The signal is set to 0 as soon as processing takes place in the channel, e.g.:
Execution of a part program
Block search
TEACH IN active
Overstore active
DB21, ...
DBX36.4
Interrupt processing active
Edge evaluation: Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
One or several channels in the mode group are not in the required operating state as the result of
an active interrupt routine. The signal is not set if an interrupt routine is running in a program mode.
Signal state 0 or
edge change
1 0
All channels are operating in the required mode.
Corresponding to .... MD11600 $MN_BAG_MASK
DB21, ...
DBX36.5
Channel is ready
Edge evaluation: Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
A channel is ready for a part program processing of machine axes, geometry axes and positioning
axes. These are already allocated corresponding to machine configuration and the current program
status of the concerned channels.
Signal state 0 or
edge change
1 0
The concerned channel is not ready for a part program processing of machine axes, geometry axes
and positioning axes.
Corresponding to .... MD11600 $MN_BAG_MASK
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
1746 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBX37.6
Read-in disable is ignored
Edge evaluation: Signal(s) updated:
The following machine data are used to specify that the read-in disable (DB21, ... DBX6.1) is to be
ignored:
MD11602 $MN_ASUP_START_MASK, Bit 2 = 1 (start also permitted if read-in disable is active)
MD20116 $MC_IGNORE_INHIBIT_ASUP (execute interrupt program in spite of read-in disable)
MD20107 $MC_ PROG_EVENT_IGN_INHIBIT (Prog events ignore read-in disable)
Part program blocks for which read-in disable is ignored are designated as read-in disable-
inoperative.
Signal state 1 Read-in disable is active (DB21, ... DBX6.1==1) AND part program block is read-in disable-
inoperative.
Signal state 0 Read-in disable is not active (DB21, ... DBB6.1 == 0) OR
(read-in disable is active (DB21, ... DBX6.1 == 1) AND part program block is read-in disable-
operative)
Corresponding to .... DB21, ... DBX37.7 (Stop at block end is ignored during single block (SBL))
DB21, ...
DBX37.7
Stop at block end is ignored during single block (SBL)
Edge evaluation: Signal(s) updated:
The following machine data and part program commands are used to specify that the stop at block
end during single block (DB21, ... DBX0.4 == 1) is to be ignored:
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (Prevent single block stop)
MD20117 $MC_IGNORE_SINGLEBLOCK_ASUP (Execute interrupt program completely in
spite of single block)
MD20106 $MC_PROG_EVENT_IGN_SINGLEBLOCK (Prog events ignore single block)
SBLOF (suppress single block), SBLON (cancel single block suppression)
Part program blocks for which stop at block end during single block is ignored are designated as
single block-inoperative.
Signal state 1 Single block is active (DB21, ... DBX0.4==1) AND part program block is single block-inoperative.
Signal state 0 Single block is not active (DB21, ... DBB0.4 == 0) OR
(single block is active (DB21, ... DBX0.4 == 1) AND part program block is single block-operative)
Corresponding to .... Read-in disable is ignored. DB21, ... DBX37.6 (read-in disable is ignored)
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1747
DB21, ...
DBB208 - DBB271
Active G function of groups 1 to 60
Edge evaluation: No Signal(s) updated: Cyclically
Signal state <> 0 A G function or mnemonic identifier of the G group is active.
The active G function can be determined from the value (starting with 1):
1 = First G function of the G group
2 = Second G function of the G group
3 = Third G function of the G group
Please refer to a listing of the possible G-groups with the relevant functions in the Programming
Manual Fundamentals.
Signal state = 0 No G function or G group mnemonic identifier is active.
Application
example(s)
The active G group is stored in binary code in the relevant byte.
The following evaluation applies:
Bit
Evaluation
Example:
7 6 5 4 3 2 1 0
128 64 32 16 8 4 2 1
0 1 0 1 1 0 1 0 G90
Special cases,
errors, ......
In contrast to auxiliary functions, G functions are not output to the PLC subject to
acknowledgement, i.e. processing of the part program is continued immediately after the G function
output.
Additional references Programming Manual, Fundamentals
DB21, ...
DBX318.0
ASUB is stopped
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The signal is set to 1 if the control stops automatically prior to the end of the ASUB.
The IS DB21, ... DBX318.0 (ASUB is stopped) is only supplied in the case "Interrupt in a program
mode and channel status stopped".
Signal state 0 or
edge change
1 0
The IS DB21, ... DBX318.0 (ASUB is stopped) is set to 0 with start and reset.
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
1748 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBX318.0
ASUB is stopped
Typical sequence of an ASUB with REPOSA:
Control has stopped
automatically.
lS "ASUB stopped" is
set.
Path motion of an
ASUB with REPOSA
FC9 block signals "ASUB Done"
Path of the parts program
Control system stopped,
ASUB is then started by the
FC.
Event that brings the control
into the "stopped" status
occurs.
Example: Stop key
ASUB with REPOSA
ASUB with REPOSA
is triggered in the
status AUTOMATIC
mode stopped
If the interrupt routine is ended with REPOSA, then the following sequence is typical:
The part program is stopped using the stop key, stop-all key or as a result of an alarm.
The controller assumes program status "Stopped".
The PLC initiates an ASUB via block FC9.
Before the re-approach to the contour, the controller stops and goes to program status
"Stopped". IS DB21, ... DBX318.0 (ASUB is stopped) is set.
The user presses Start. The IS DB21, ... DBX318.0 (ASUB is stopped) is reset, the re-approach
motion is started.
At the end of the re-approach motion, the FC9 signal "ASUB done" is set and the path of the
interrupted part program is continued.
DB21, ...
DBX318.1
Block search via program test is active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
During the processing of the part program block in context of block search (internal channel status:
"Program test"), up to the change of the target block in the main execution (Program status:
"Stopped").
Signal state 0 or
edge change
1 0
With the change of the target block in the main execution (internal channel status: "Program test" is
de-selected; Stop condition: "Search target found" is displayed).
Special cases,
errors, ......
The block search (SERUPRO) can only be activated in AUTOMATIC mode in program status
"Aborted".
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1749
DB21, ...
DBX319.0
REPOSMODEEDGEACKN
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The interface signal detected by the NCK:
DB21, ... DBX31.4 (REPOSMODEEDGE)
is with the interface signal:
DB21, ... DBX319.0 (REPOSMODEEDGEACKN)
acknowledged, if level signals from:
DB21, ... DBX31.0 - DBX31.2 (REPOSMODE0-2)
and from:
DB31, ... DBX10.0 (REPOSDELAY)
are taken over in the NC.
The levels relate to the current block in the main run.
Signal state 0 or
edge change
1 0
SERUPRO-ASUB stops automatically before REPOS and IS DB21, ... DBX319
(REPOSMODEEDGE) does not influence the SERUPRO approach.
Corresponding to .... DB21, ... DBX31.4 (REPOSMODEEDGE)
DB21, ...
DBX319.1 -
DBX319.3
Repos Path Mode Ackn 0 - 2
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 Using the interface signal:
DB21, ... DBX319.1 - DBX319.3 (Repos Path Mode Ackn 0-2)
with the 3 bits, one of the functions for the re-approach point RMB, RMI, RME or RMN can be
acknowledged according to the following coding to the PLC:
DB21, ... DBX319.1 - DBX319.3 = 1 RMB: Re-approach at the start of the block
DB21, ... DBX319.1 - DBX319.3 = 2 RMI: Re-approach at the point of interruption
DB21, ... DBX319.1 - DBX319.3 = 3 RME: Re-approach at the end of the block
DB21, ... DBX319.1 - DBX319.3 = 4 RMN: Re-approach at the nearest path point
Signal state 0 DB21, ... DBX319.1 - DBX319.3 = 0
RMNOTDEF: The ReposMode that is not re-defined is acknowledged to the PLC.
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
1750 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBX319.1 -
DBX319.3
Repos Path Mode Ackn 0 - 2
Example of the sequence of REPOS acknowledgments in the part program and signal timing of the
acknowledgement process from the NCK:
1
1
2
2
3
3
7
7
4
4
5
5
6
6
4 4
4
REPOSPATHMODE
REPOSMODEEDGE
6 5 4 3 t
REPOSMODEEDGEACKN
Repos Path Mode Ackn
N30
N10
N20
The remaining block is finished
Output ASUB
Command is started with ASUP
Re-approach from REPOS has been
completed. The remaining block starts.
Preselect RMN
Stop part program
Start part program
Corresponding to .... DB21, ... DBX31.0 - DBX31.2 (REPOSPATHMODE0-2)
DB21, ... DBX31.4 (REPOSMODEEGGE)
DB21, ... DBX319.0 (REPOSMODEEGGEACKN)
DB31, ... DBX70.2 (Repos Delay Ackn)
Additional references /FB1/ Function Manual Basic Functions;
BAG, Channel, Program Operation, Reset Response (K1),
Section: " Block search, type 5 SERUPRO for block search"
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1751
DB21, ...
DBX319.5
Repos DEFERAL Chan
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
All axes currently controlled by this channel have either no REPOS offset or their REPOS offsets
are invalid.
Signal state 0 or
edge change
1 0
Miscellaneous.
Corresponding to .... DB31, ... DBX70.0 (Repos offset)
DB21, ...
DBB376
PROG-EVENT-DISPLAY
Edge evaluation: No Signal(s) updated: Event-driven
Signal state 1 or
edge change
0 1
The event assigned to the bit has activated the "Event-driven program call" function.
Signal state 0 or
edge change
1 0
The event assigned to the bit has not activated the "Event-driven program call" function.
or
The event-driven user program has expired or was cancelled with RESET.
Bit assignments Bit 0 part program start from channel status RESET
Bit 1 end of part program
Bit 2 operator panel reset
Bit 3 run-up
Bit 4 1st start after the search run
Bit 5 - 7 reserved, currently always 0
All bits 0 No event-driven program call is active
Signal duration: at least one complete PLC cycle
DB21, ...
DBX378.0
ASUB is active
Edge evaluation: No Signal(s) updated: Event-driven
Signal state 1 or
edge change
0 1
One ASUB is active.
Note:
The user gets a feedback on a running ASUB through DB21, DBX378.0 even outside FC9 block.
Signal state 0 or
edge change
1 0
No ASUB is active.
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
1752 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBX378.1
Still ASUB is active
Edge evaluation: No Signal(s) updated: Event-driven
Signal state 1 or
edge change
0 1
An ASUB with suppressed display updating (refer to MD20191 $MC_IGN_PROG_STATE_ASUP) is
active.
Signal state 0 or
edge change
1 0
No ASUB with suppressed display updating is active.
DB21, ...
DBX384.0
Control program branching
Edge evaluation: No Signal(s) updated:
Signal state 1 or
edge change
0 1
GOTOS in the part program initiates a return to the program start. The program is then processed
again.
Signal state 0 or
edge change
1 0
GOTOS initiates no return. Program execution is continued with the next part program block after
GOTOS.
Corresponding to .... MD27860 $MC_PROCESSTIMER_MODE (Activation of the program runtime measurement)
MD27880 $MC_PART_COUNTER (activation of workpiece counters)
19.7.5 Signals to axis/spindle (DB31, ...)
DB31, ...
DBX10.0
REPOSDELAY
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The REPOS offset of the axis is first applied with its next programming.
Signal state 0 or
edge change
1 0
There is no REPOS offset.
Special cases,
errors, ......
The signal is not relevant for path axes.
Corresponds to .... DB21, ... DBX31.0 - DBX31.2 (REPOSPATHMODE0-2)
DB31, ... DBX70.2 (REPOS Delay Ackn)
DB31, ... DBX72.0 (REPOSDELAY)
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1753
19.7.6 Signals from axis/spindle (DB31, ...)
DB31, ...
DBX70.0
REPOS offset
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
A REPOS offset must be applied for the appropriate axis.
Signal state 0 or
edge change
1 0
No REPOS offset need be applied for the appropriate axis.
Corresponds to .... DB31, ... DBX70.1 (REPOS offset valid)
DB31, ...
DBX70.1
REPOS offset valid
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The range of validity of the REPOS offset is indicated with the value 1.
The REPOS offset was calculated to be valid.
Signal state 0 or
edge change
1 0
A value of zero indicates that the REPOS offset was calculated to be invalid.
Application
example(s)
Updating the REPOS offset in the range of validity:
Between SERUPRO end and start, the axis can be moved in JOG mode with a mode change. The
user moves the REPOS offset to the zero value.
Corresponds to .... DB31, ... DBX70.0 (REPOS offset)
DB31, ...
DBX70.2
REPOS Delay Ackn
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The axis was programmed within a traversing block, and the REPOS offset was applied.
Note
A REPOS offset was available for the axis, and REPOSDELAY was active:
DB31, ... DBX10.0 (REPOSDELAY) == 1
This signal behaves the same as:
DB21, ... DBX319.1 - DBX319.3 (Repos Path Mode Ackn)
Signal state 0 or
edge change
1 0
The value zero is used to acknowledge that the REPOS offset is not active for this axis. This signal
is cancelled on activation of the remaining block.
Corresponds to .... DB31, ... DBX10.0 (REPOSDELAY)
DB31, ... DBX72.0 (REPOSDELAY)
Z1: NC/PLC interface signals
19.7 Mode group, channel, program operation, reset response (K1)
Basic Functions
1754 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX72.0
REPOSDELAY
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
After a block search, a REPOS offset is applied for this axis. However it is not applied using the
approach block, but rather using the next traversing block in which the axis is programmed.
Signal state 0 or
edge change
1 0
The REPOS offset for this axis is not active.
Special cases,
errors, ......
The signal is not relevant for path axes.
Corresponds to .... DB21, ... DBX31.0 - DBX31.2 (REPOSPATHMODE)
DB31, ... DBX10.0 (REPOSDELAY)
DB31, ... DBX70.2 (REPOS Delay Ackn)
DB31, ...
DBX76.4
Path axis
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The axis is involved in the path (path axis).
Note
In conjunction with SERUPRO in status "Target block found", the signal refers to the status of the
axis in the target block.
Signal state 0 or
edge change
1 0
The axis is not involved in the path.
Z1: NC/PLC interface signals
19.8 Axis types, coordinate systems, frames (K2)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1755
19.8 Axis types, coordinate systems, frames (K2)
19.8.1 Signals to axis/spindle (DB31, ...)
DB 31, ...
DBX3.0
External zero offset
Edge evaluation: no Signal(s) updated:
Signal state 1 or
edge change
0 1
The preselected value of the external work offset of an axis is used as the new value for calculating
the total work offset between the basic and the workpiece coordinate systems.
Signal state 0 or
edge change
1 0
The preselected value of the external work offset of an axis is not used as the new value for
calculating the total work offset between the basic and workpiece coordinate systems. The previous
value is still valid.
Signal irrelevant for
...
$AA_ETRANS[axis] equals zero for all axes.
Special cases,
errors, ......
Signal zero after ramp-up (power ON).
Corresponding to .... $AA_ETRANS[axis]
19.9 Emergency Stop (N2)
19.9.1 Signals to NC (DB10)
DB10
DBX56.1
EMERGENCY STOP
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The NC is switched to the EMERGENCY STOP state and the EMERGENCY STOP procedure is
started on the NC.
Signal state 0 or
edge change
1 0
The NC is not in the EMERGENCY STOP state.
The EMERGENCY STOP status is (still) active but can be reset using the interface signals:
DB10 DBX56.2 (acknowledge EMERGENCY STOP)
and
DB11 DBX0.7 (mode group reset)
Corresponding to .... DB10 DBX56.2 (acknowledge EMERGENCY STOP)
DB10 DBX106.1 (acknowledge EMERGENCY STOP)
Z1: NC/PLC interface signals
19.9 Emergency Stop (N2)
Basic Functions
1756 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB10
DBX56.2
Acknowledge EMERGENCY STOP
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The EMERGENCY STOP state is only reset if the interface signal:
DB10 DBX56.2 (acknowledge EMERGENCY STOP)
is set followed by the interface signal:
DB11, ... DBX0.7 (mode group reset).
It must be noted that IS "Acknowledge EMERGENCY STOP" and IS "Reset" must be set (together)
for a long enough period so that the interface signal:
DB10 DBX106.1 (EMERGENCY STOP active)
was reset.
Resetting the EMERGENCY STOP state has the following effects:
the controller enable is switched in
Follow-up mode is canceled for all axes and position control mode resumed
DB31, ... DBX61.5 set (position controller active)
DB11, ... DBX6.3 set (mode group ready)
DB10 DBX106.1 reset (EMERGENCY STOP active)
Alarm 3000 is canceled
Part program processing is interrupted for all channels
1
2
3
1
2
3
lS aknowledge "EMERGENCY STOP"
lS "EMERGENCY STOP active?
lS "RESET"
lS "Reset" has no effect
lS "Acknowledge EMERGENCY STOP" and "RESET" reset "EMERGENCY STOP" active
lS "Acknowledge EMERGENCY STOP" has no effect
lS "EMERGENCY STOP"
Special cases,
errors, ......
The EMERGENCY STOP state cannot be reset using the interface signal:
DB21, ... DBX7.7 (reset).
Corresponding to .... DB10 DBX56.1 (EMERGENCY STOP)
DB10 DBX106.1 (acknowledge EMERGENCY STOP)
DB11 DBX0.7 (mode group reset)
Z1: NC/PLC interface signals
19.10 PLC basic program (P3)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1757
19.9.2 Signals from NC (DB10)
DB10
DBX106.1
EMERGENCY STOP active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The NC is in the EMERGENCY STOP state.
Corresponding to .... DB10 DBX56.1 (EMERGENCY STOP)
DB10 DBX56.2 (acknowledge EMERGENCY STOP)
19.10 PLC basic program (P3)
To describe the NC/PLC interface signals, refer to:
References:
Function Manual, Basic Functions; PLC Basic Program (P3)
Chapter: "Signal/Data Specifications"
Z1: NC/PLC interface signals
19.11 Reference point approach (R1)
Basic Functions
1758 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
19.11 Reference point approach (R1)
19.11.1 Signals to channel (DB21, ...)
DB21, ...
DBX1.0
Activate referencing
Edge evaluation: yes Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The channel specific referencing is started with the interafce signal:
DB21, ... DBX1.0 (Activate referencing).
The control acknowledges the successful start with the interface signal:
DB21, ... DBX33.0 (Referencing active)
With the channel specific referencing each machine axis, which is allocated to a channel, can be
referenced (control internals are simulated by traversing keys plus/minus).
Using the axis-specific machine data:
MD34110 $MA_REFP_CYCLE_NR (axis sequence for channel-specific Referencing)
can determine in which sequence the machine axes are referenced.
If all the axes entered in REFP_CYCLE_NR have reached their reference point,
the interface signal:
DB21, ... DBX36.3 (all axes present)
is set.
Application
example(s)
If the machine axes are to be referenced in a particular sequence, there are the following
possibilities:
The operator must observe the correct sequence when starting.
The PLC must check the sequence when starting or define it itself.
The function channel specific referencing will be used.
Corresponding to .... DB21, ... DBX33.0 (Referencing active)
DB21, ... DBX36.2 (all reference point required axes are referenced)
DB21, ...
DBX33.0
Referencing active
Edge evaluation: yes Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The channel specific referencing was started with the interface signal:
DB21, ... DBX1.0 (activate referencing)
and the successful start was acknowledged with the interface signal:
DB21, ... DBX33.0 (referencing active).
The channel specific referencing is operational.
Signal state 0 or
edge change
1 0
channel specific referencing is completed.
axis specific referencing is operational
no referencing active
Signal irrelevant for
...
Spindles
Corresponding to .... DB21, ... DBX1.0 (activate referencing)
Z1: NC/PLC interface signals
19.11 Reference point approach (R1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1759
19.11.2 Signals from channel (DB21, ...)
DB21, ...
DBX36.2
All axes that have to be referenced are referenced
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
All axes that must be referenced (linear axes and rotary axes) of the channel are referenced.
The machine data:
MD20700 $MC_REFP_NC_START_LOCK (NC start inhibit without reference point)
is zero.
If two position measuring systems are connected to an axis, that would prevent an NC start, then
the active one must be referenced so that the axis is considered to have been referenced.
An NC Start command for parts program processing is only accepted when this signal is present.
Axes that have to be referenced are axes, if:
MD34110 $MA_REFP_CYCLE_NR _ = -1
and the axis is not in the parked position (position measuring system inactive and the controller
enable withdrawn).
Signal state 0 or
edge change
1 0
One or more axes of the channel have not been referenced.
Special cases,
errors, ......
The spindles of the channel have no effect on this interface signal.
Corresponding to .... DB31, ... DBX60.4 (referenced / synchronized 1)
DB31, ... DBX60.5 (referenced / synchronized 2)
19.11.3 Signals to axis/spindle (DB31, ...)
DB31, ...
DBX2.4 - DBX2.7
Reference point value 1 to 4
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
When the reference cam is reached, the NCK is signaled which coded reference cam is actuated.
The interface signal:
DB31, ... DBX2.4 - DBX2.7 (reference point values 1 to 4)
must remain set until the reference point is reached,
or until a new coded reference cam is actuated.
If the machine axis has reached the reference point (axis stationary) then using the reference point
value pre-selected using
IS "reference point values 1 to 4" from the machine data:
MD34100 $MA_REFP_SET_POS (reference point value)
is transferred into the control as the new reference position.
Signal state 0 or
edge change
1 0
No effect.
Signal irrelevant for
...
Linear measurement systems with distance-coded reference marks
Z1: NC/PLC interface signals
19.11 Reference point approach (R1)
Basic Functions
1760 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX2.4 - DBX2.7
Reference point value 1 to 4
Application
example(s)
On a machine tool with large traversing distances, four coded reference cams can be distributed
over the entire distance traveled by the axis, four different reference points approached and the
time required to reach a valid referenced point reduced.
Special cases,
errors, ......
If the machine axis has arrived at the reference point and none of the four "reference point value 1
to 4" interface signals has been set, the value of the reference point is automatically set to 1.
Corresponding to .... MD34100 $MA_REFP_SET_POS (reference point value)
DB31, ...
DBX12.7
Reference point approach delay
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The machine axis is positioned on the reference cam.
Signal state 0 or
edge change
1 0
The machine axis is positioned in front of the reference cam. An appropriately long reference cam
(up to the end of the traversing range) should be used to prevent the machine axis from being
located behind (after) the referencing cam.
Corresponding to .... DB31, ... DBX2.4 - DBX2.7 (reference point values 1 to 4)
19.11.4 Signals from axis/spindle (DB31, ...)
DB31, ...
DBX60.4
Referenced/synchronized 1
Edge evaluation: Signal(s) updated:
Signal state 1 or
edge change
0 1
Axes:
When being referenced, if the machine axis has reached the reference point (incremental
measuring systems) or the target point (for length measuring system with distance-coded reference
marks), then the machine axis is referenced and the following interface signal is set:
DB31, ... DBX60.4 (referenced/synchronized 1)
(depending on which position measuring system is active when referencing).
Spindles:
After power-on, a spindle is synchronized the latest after one spindle revolution (360 degrees) (the
zero mark passed or the Bero responded).
Signal state 0 or
edge change
1 0
The machine axis/spindle with position measuring system 1 is not referenced/synchronized.
corresponding to .... DB31, ... DBX1.5 (position measuring system 1)
Z1: NC/PLC interface signals
19.11 Reference point approach (R1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1761
DB31, ...
DBX60.5
Referenced/synchronized 2
Edge evaluation: Signal(s) updated:
Signal state 1 or
edge change
0 1
Axes:
When being referenced, if the machine axis has reached the reference point (incremental
measuring systems) or the target point (for length measuring system with distance-coded reference
marks), then the machine axis is referenced and the following interface signal is set:
DB31, ... DBX60.5 (referenced/synchronized 2)
(depending on which position measuring system is active when referencing).
Spindles:
After power-on, a spindle is synchronized the latest after one spindle revolution (360 degrees) (the
zero mark passed or the Bero responded).
Signal state 0 or
edge change
1 0
The machine axis/spindle with position measuring system 2 is not referenced/synchronized.
Axes:
Alarm 21610 was output.
Spindles:
Encoder limit frequency exceeded.
corresponding to .... DB31, ... DBX1.6 (position measuring system 2)
MD34102 $MA_REFP_SYNC_ENCS (measuring system calibration) = 0
DB31, ...
DBX71.4
Restored 1
Edge evaluation: Signal(s) updated:
Signal state 1 or
edge change
0 1
If MD34210 $MA_ENC_REFP_STATE is set to a value of 3, the last axis position buffered before
switch off is restored in distance-coded, incremental measuring systems. Referencing does not take
place automatically. Position measuring system 1 is in "Position restored" state.
Signal state 0 or
edge change
1 0
The machine axis/spindle with position measuring system 1 is not restored.
corresponding to .... DB31, ... DBX60.4 (referenced / synchronized 1)
DB31, ...
DBX71.5
Restored 2
Edge evaluation: Signal(s) updated:
Signal state 1 or
edge change
0 1
If MD34210 $MA_ENC_REFP_STATE is set to a value of 3, the last axis position buffered before
switch off is restored in distance-coded, incremental measuring systems. Referencing does not take
place automatically. Position measuring system 2 is in "Position restored" state.
Signal state 0 or
edge change
1 0
The machine axis/spindle with position measuring system 2 is not restored.
corresponding to .... DB31, ... DBX60.5 (referenced / synchronized 2)
Z1: NC/PLC interface signals
19.12 Spindles (S1)
Basic Functions
1762 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
19.12 Spindles (S1)
19.12.1 Signals to axis/spindle (DB31, ...)
DB31, ...
DBX2.2
Spindle reset/delete distance-to-go
Edge evaluation: yes Signal(s) updated: cyclic
Edge change
0 1
Independent of the machine data:
MD35040 $MA_SPIND_ACTIVE_AFTER_RESET
selects a spindle reset for the various spindle operating modes in the following fashion:
Control mode:
Spindle stops
Program continues to run
Spindle continues to run with subsequent M and S program commands
Oscillating mode:
Oscillation is interrupted
Axes continue to run
Program continues with the actual gearbox stage
With the following M value and higher S value, it is possible that the IS:
DB31, ... DBX83.1 (programmed speed high)
is set.
Positioning mode:
Is stopped
Axis operation:
Is stopped
Signal state 0 or
edge change
1 0
No effect.
Corresponding to .... MD35040 $MA_SPIND_ACTIVE_AFTER_RESET (own spindle reset)
DB21, ... DBX7.7 (reset)
DB31, ... DBX2.2 (delete distance to go): is a different name for the same signal
Z1: NC/PLC interface signals
19.12 Spindles (S1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1763
DB31, ...
DBX16.0 - DBX16.2
Actual gear stage A to C
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1
(status-controlled)
If the new gear stage is engaged, the PLC user program sets the interface signals:
DB31, ... DBX16.2 - DBX16.0 (actual gear stage A to C)
and
DB31, ... DBX16.3 (gear is changed over).
This signals the NCK that the correct gear stage has been successfully engaged.
The gear change is considered to have been completed (spindle oscillation mode is deselected),
the spindle accelerates in the new gear stage to the last programmed spindle speed and the next
block in the parts program can be executed.
The actual gear stage is output in coded format.
For each of the 5 gear stages, there is one set of parameters assigned as follows:
Parameter set No. NC/PLC interface Meaning
Data for axis mode
Data for 1st gear stage
Data for 2nd gear stage
Data for 3rd gear stage
Data for 4th gear stage
Data for 5th gear stage
0
1 000
001
2 010
3 011
4 100
5 101
110
111
Special cases,
errors, ......
If the PLC user reports back to the NCK with a different actual gear stage than issued by the NCK
as the setpoint gear stage, the gear change is still considered to have been successfully completed
and the actual gear stage A to C is activated.
Corresponding to .... DB31, ... DBX82.0 - DBX82.2 (setpoint gear stage A to C)
DB31, ... DBX82.3 (change over gear stage)
DB31, ... DBX16.3 (gear is changed)
DB31, ... DBX18.5 (oscillation speed)
Parameter sets for gear stages
Z1: NC/PLC interface signals
19.12 Spindles (S1)
Basic Functions
1764 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX16.3
Gear is changed over
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
When the new gear stage is engaged, the PLC user sets the interface signals:
DB31, ... DBX16.0 - DBX16.2 (actual gear stages A to C)
and
DB31, ... DBX16.3 (gear is changed over).
This signals the NCK that the correct gear stage has been successfully engaged.
The gear stage change is complete (spindle oscillation mode is deselected), the spindle accelerates
in the new gear stage to the last programmed spindle speed and the next block in the parts
program can be executed.
The interface signal:
DB31, ... DBX82.3 (change over gear)
is reset by the NCK - the PLC user then resets the interface signal:
(gear is changed over).
Signal state 0 or
edge change
1 0
No effect.
Signal irrelevant for
...
... spindle modes other than the oscillation mode
Special cases,
errors, ......
If the PLC user reports back to the NCK with a different actual gear stage than issued by the NCK
as the setpoint gear stage, the gear change is still considered to have been successfully completed
and the actual gear stage A to C is activated.
Corresponding to .... DB31, ... DBX16.2 - DBX16.0 (actual gear stage A to C)
DB31, ... DBX82.2 - DBX82.0 (setpoint gear stage A to C)
DB31, ... DBX82.3 (change over gear stage)
DB31, ... DBX18.5 (oscillation speed)
DB31, ...
DBX16.4 - DBX16.5
Resynchronizing spindles 2 and 1
Edge evaluation: yes Signal(s) updated: Cyclically
Edge change
0 1
The spindle should be resynchronized, as the synchronization between the position measuring
system of the spindle and the 0 degree position has been lost.
Signal state 0 or
edge change
1 0
No effect.
Signal irrelevant for
...
... spindle modes other than the control mode.
Application
example(s)
The machine has a selector switch to changeover between a vertical and a horizontal spindle. Two
different position encoders are used (one for the vertical spindle and one for the horizontal spindle),
but only one actual value input is used on the control. When the system switches from the vertical
to the horizontal spindle, the spindle must be resynchronized.
This synchronization is triggered by the IS "re-synchronize spindle 1 or 2".
Corresponding to .... DB31, ... DBX60.4 (referenced / synchronized 1)
DB31, ... DBX60.5 (referenced / synchronized 2)
Z1: NC/PLC interface signals
19.12 Spindles (S1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1765
DB31, ...
DBX16.7
Delete S value
Edge evaluation: yes Signal(s) updated: Cyclically
Edge change
0 1
Control mode:
Spindle stops
Program continues to run
Spindle continues to run with the following S value, if M3 or M4 were active
Oscillation mode, axis mode, positioning mode:
Signal has no effect for the corresponding function. However, if the open-loop control mode is
selected again, a new S value must be programmed.
Signal state 0 or
edge change
1 0
No effect.
Application
example(s)
Terminating traversing motion on account of an external signal (e.g. sensing probe).
DB31, ...
DBX17.4 - DBX17.5
Re-synchronize spindle when positioning 2 and 1
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 When positioning, the spindle must be re-synchronized.
Signal state 0 or
edge change
1 0
No effect.
Signal irrelevant for
...
... spindle modes other than the positioning mode.
Application
example(s)
The spindle has an indirect measuring system and slippage may occur between the motor and the
clamp. If the signal=1 - when positioning is started, the old reference is deleted and the zero mark is
searched for again before the end position is approached.
Corresponding to .... DB31, ... DBX60.4 (referenced / synchronized 1)
DB31, ... DBX60.5 (referenced / synchronized 2)
DB31, ...
DBX17.6
Invert M3/M4
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The direction of rotation of the spindle motor changes for the following functions:
M3
M4
M5
SPOS/M19/SPOSA from the motion; not effective for SPOS/M19/SPOSA from zero speed (stationary).
Application
example(s)
The machine has a selector switch to changeover between a vertical and a horizontal spindle. The
mechanical design is implemented so that for the horizontal spindle, one more gearwheel is
engaged than for the vertical spindle. The direction of rotation must therefore be changed for the
vertical spindle if the spindle is always to rotate clockwise with M3.
Z1: NC/PLC interface signals
19.12 Spindles (S1)
Basic Functions
1766 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX18.4
Oscillation controlled by the PLC
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
If the interface signal:
DB31, ... DBX18.4 (oscillation controlled by thePLC)
is not set, then automatic oscillation in the NCK is carried-out using the interface signal:
DB31, ... DBX18.5 (oscillation speed).
The two times for the directions of rotation are entered in the machine data:
MD35440 $MA_SPIND_OSCILL_TIME_CW (oscillation time for the M3 direction)
and
MD35450 $MA_SPIND_OSCILL_TIME_CCW (oscillation time for the M4 direction).
If the IS "oscillation via PLC" is set, then with the IS "oscillation speed" a speed is only output in
conjunction with the interface signals:
DB31, ... DBX18.6 - DBX18.7 (setpoint direction of rotation, counter-clockwise and clockwise).
The oscillation, i.e. the continuous change of the direction of rotation, is performed by the PLC user
program using the interface signal "setpoint direction of rotation, counter-clockwise and clockwise"
(oscillation via the PLC).
Application
example(s)
If the new gear stage cannot be engaged in spite of several attempts by the NCK, the system can
be switched to oscillation via PLC. Both of the times for the directions of rotation can then be
altered by the PLC user program as required. This ensures that the gear satge is reliably changed -
even with unfavorable gear wheel positions.
Corresponding to .... MD35440 $MA_SPIND_OSCILL_TIME_CW (oscillation time for the M3 direction)
MD35450 $MA_SPIND_OSCILL_TIME_CCW (oscillation time for the M4 direction)
DB31, ... DBX18.5 (oscillation speed)
DB31, ... DBX18.7 (setpoint direction of rotation, counter-clockwise)
DB31, ... DBX18.6 (setpoint direction of rotation, clockwise)
Z1: NC/PLC interface signals
19.12 Spindles (S1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1767
DB31, ...
DBX18.5
Oscillation speed
Edge evaluation: no Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
If the gear stage is to be changed (DB31, ... DBX82.3 (change over gear) is set), then the spindle
operating mode changes to the oscillation mode.
Depending on the instant in time that the interface signal:
DB31, ... DBX18.5 (oscillation speed)
is set, the spindle decelerates down to standstill with different deceleration levels:
The IS "Oscillation speed" is set before the interface signal:
DB31, ... DBX82.3 (change over gear)
is set by the NCK.
When oscillating, the spindle is decelerated down to standstill with the deceleration:
MD35410 $MA_SPIND_OSCILL_ACCEL.
Once the spindle is stationary, oscillation is immediately initiated.
The IS "Oscillation speed" is enabled after the IS "Change gear" is set by the NCK and when the
spindle is stationary. The position controller is disabled. The spindle decelerates with the specified
deceleration rate in the speed controlled mode.
After the IS "oscillation speed" is set, the spindle starts to oscillate with the oscillation acceleration
(MD35410).
if the interface signal:
DB31, ... DBX18.4 (oscillation via the PLC)
is not set, then automatic oscillation is executed in the NCK using the IS "Oscillation speed".
The two times for the directions of rotation are entered in the machine data:
MD35440 $MA_SPIND_OSCILL_TIME_CW (oscillation time for the M3 direction)
and
MD35450 $MA_SPIND_OSCILL_TIME_CCW (oscillation time for the M4 direction).
If the IS "oscillation via PLC" is set, then with the IS "oscillation speed" a speed is only output in
conjunction with the interface signals:
DB31, ... DBX18.6 - DBX18.7 (setpoint direction of rotation, counter-clockwise and clockwise).
The oscillation, i.e. the continuous change of the direction of rotation, is performed by the PLC user
program using the interface signal "setpoint direction of rotation, counter-clockwise and clockwise"
(oscillation via the PLC).
Signal state 0 or
edge change
1 0
The spindle does not oscillate.
Signal irrelevant for
...
... All spindle modes except the oscillation mode.
Application
example(s)
The oscillation speed is used to make it easier to engage a new gear stage.
Corresponding to .... DB31, ... DBX18.4 (oscillation controlled by the PLC)
DB31, ... DBX18.7 (setpoint direction of rotation, counter-clockwise)
DB31, ... DBX18.6 (setpoint direction of rotation, clockwise)
Z1: NC/PLC interface signals
19.12 Spindles (S1)
Basic Functions
1768 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX18.6 - DBX18.7
Setpoint direction of rotation, counter-clockwise/setpoint direction of rotation, clockwise
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
If the interface signal:
DB31, ... DBX18.4 (oscillation by the PLC)
is set, then the direction of rotation for the oscillation speed
can be entered using the two interface signals:
DB31, ... DBX18.6 - DBX18.7 (setpoint direction of rotation counter-clockwise and clockwise).
The times for the oscillation movement of the spindle motor are defined by setting the interface
signals "direction of rotation setpoint counter-clockwise and clockwise" for a corresponding length of
time.
Signal irrelevant for
...
... spindle modes other than the oscillation mode
Application
example(s)
Refer to DB31, ... DBX18.4 (oscillation controlled by the PLC)
Special cases,
errors, ......
If both of the interface signals are set simultaneously enabled, no oscillation speed is output.
If an interface signal is not set, then an oscillation speed is not output.
Corresponding to .... DB31, ... DBX18.4 (oscillation controlled by the PLC
DB31, ... DBX18.5 (oscillation speed)
19.12.2 Signals from axis/spindle (DB31, ...)
DB31, ...
DBX60.0
Spindle/no axis
Edge evaluation: yes Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
The machine axis is operated in one of the following spindle modes:
Control mode
Oscillation mode
Positioning mode
Rigid tapping
Synchronous mode
The interface signals to the axis (DB31, ... DBB12 - DBB15) and from the axis
(DB31, ... DBB74 - DBB81) are invalid.
The interface signals to the spindle (DB31, ... DBB16 - DBB19) and from the spindle
(DB31, ... DBB82 - DBB91) are valid.
Signal state 0 or
edge change
1 0
The machine axis is operated as an axis
The interface signals to the axis (DB31, ... DBB12 - DBB15) and from the axis
(DB31, ... DBB74 - DBB81) are valid.
The interface signals to the spindle (DB31, ... DBB16 - DBB19) and from the spindle
(DB31, ... DBB82 - DBB91) are invalid.
Application
example(s)
If a machine axis operates alternatively as a spindle or rotary axis:
Turning machine: Spindle / C axis
Milling machine: Spindle / rotary axis for rigid tapping
The currently active operating mode
can be identified from interface signal:
DB31, ... DBX60.0 (spindle/no axis).
Z1: NC/PLC interface signals
19.12 Spindles (S1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1769
DB31, ...
DBX82.0 - 82.2
Setpoint gear stage A to C
Edge evaluation: yes Signal(s) updated: Cyclic
See DB31, ... DB82.3 (change gear).
Signal state 1 or
edge change
0 1
The set gear stage is output in coded format:
(C B A) 1st gear stage
1st gear stage
2nd gear stage
3rd gear stage
4th gear stage
5th gear stage
invalid value
invalid value
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Signal irrelevant for
...
... Other spindle modes except oscillation mode
Corresponding to .... DB31, ... DBX82.3 (Change gear)
DB31, ... DBX16.0 - DBX16.2 (Actual gear stage A to C)
DB31, ... DBX16.3 (gear is changed)
DB31, ...
DBX82.3
Change gear
Edge evaluation: yes Signal(s) updated: Cyclic
Specification of gear stage:
Manual specification using M function M41 - M45 corresponding to gear stage 1 - 5
If set gear stage <> actual gear stage =>
DB31, ... DBX82.3 (change gear) = 1
DB31, ... DBX82.0 - DBX82.2 (set gear stage) = set gear stage
Automatic gear stage selection depending on the progr. Spindle speed via M-function M40
at specified setpoint speed requires gear stage change =>
DB31, ... DBX82.3 (change gear) = 1
DB31, ... DBX82.0 - DBX82.2 (setpoint gear stage) = setpoint gear stage
Signal state 1 or
edge change
0 1
New set gear stage was specified AND
set gear stage <> actual gear stage
Special cases,
errors, ......
Signal is not output if: Set gear stage == actual gear stage
Corresponding to .... DB31, ... DBX82.0 - DBX82.2 (Setpoint gear stage A to C)
DB31, ... DBX16.0 - 16.2 (Actual gear stage A to C)
DB31, ... DBX16.3 (gear is changed)
Z1: NC/PLC interface signals
19.12 Spindles (S1)
Basic Functions
1770 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX83.0
Speed limit exceeded
Edge evaluation: yes Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
The actual speed exceeds the maximum spindle speed:
MD35100 $MA_SPIND_VELO_ LIMIT
by more than the spindle speed tolerance:
MD35150 $MA_SPIND_DES_VELO_TOL
Corresponding to .... MD35150 $MA_SPIND_DES_VELO_TOL (spindle speed tolerance)
MD35100 $MA_SPIND_VELO_LIMIT (maximum spindle speed)
DB31, ...
DBX83.1
Set speed limited (programmed speed too high)
Edge evaluation: yes Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
The set speed of the spindle that is specified directly (programmed spindle speed) or indirectly
(constant cutting rate) would violate the current maximum limit value. The set speed is therefore
defined at the maximum limit value.
Limit values:
Maximum speed of specified gear stage
Maximum spindle speed
Speed limiting by means of NC/PLC interface
Programmed spindle speed limiting G26
Programmed spindle speed limiting for G96
Programmed spindle speed limiting by VELOLIM in the open-loop speed controlled mode
Signal state 0 or
edge change
1 0
The set speed of the spindle is outside the maximum limit value.
Application
example(s)
The interface signal:
DB31, ... DBX83.1 (set speed limited)
can be used to determine if the programmed speed is unattainable.
The PLC user can accept this state as permissible and enable the path feed, or he can disable the
path feed or the complete channel, IS:
DB31, ... DBX83.5 (spindle in setpoint range)
is processed.
DB31, ...
DBX83.2
Setpoint speed increased (programmed speed too low)
Edge evaluation: yes Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
The set speed of the spindle that is specified directly (programmed spindle speed) or indirectly
(constant cutting rate) would violate the current minimum limit value. The set speed is therefore
defined at the minimum limit value.
Limit values:
Minimum speed of the specified gear stage
Minimum spindle speed
Speed limiting by means of NC/PLC interface
programmed spindle speed limiting G25
programmed spindle speed limiting for G96
Z1: NC/PLC interface signals
19.12 Spindles (S1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1771
DB31, ...
DBX83.2
Setpoint speed increased (programmed speed too low)
Signal state 0 or
edge change
1 0
The set speed of the spindle is outside the minimum limit value.
Application
example(s)
The interface signal indicates if the programmed set speed is unattainable. The feed can be
enabled nonetheless by means of the PLC user program.
The PLC user can accept this state as permissible and enable the path feed, or he can disable the
path feed or the complete channel, IS:
DB31, ... DBX83.5 (spindle in setpoint range)
is processed.
Corresponding to .... DB21, ... DBX6.0 (feed disable)
DB31, ... DBX4.3 (feed / spindle stop)
DB31, ... DBX83.5 (spindle in setpoint range)
DB31, ...
DBX83.5
Spindle in setpoint range
Edge evaluation: yes Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
The actual speed of the spindle deviates from the set speed by less than the spindle speed
tolerance:
MD35150 $MA_SPIND_DES_VELO_TOL.
Signal state 0 or
edge change
1 0
The actual speed of the spindle deviates from the set speed by more than the spindle speed
tolerance:
MD35150 $MA_SPIND_DES_VELO_TOL.
Normal status during the acceleration/deceleration phase of the spindle.
Signal irrelevant for
...
... All spindle modes except for control mode (speed mode).
Application
example(s)
Feed enable in the channel only at the end of the acceleration phase of the spindle:
IF ( DB31, ... DBX83.5 (spindle in setpoint range) == 1 )
THEN ( DB21, ... DBX6.0 (feed disable) = 0 )
ELSE ( DB21, ... DBX6.0 (feed disable) = 1)
Note: Axes positioning will also be stopped.
Corresponding to .... MD35500 $MA_SPIND_ON_SPEED_AT_IPO_START
MD35500 $MA_SPIND_DES_VELO_TOL (spindle speed tolerance)
DB31, ...
DBX83.7
Actual direction of rotation clockwise
Edge evaluation: yes Signal(s) updated: Cyclic
Interface signal is only valid if the spindle is rotating:
DB31, ... DBX61.4 (axis/spindle stationary) == 0
The actual direction of rotation is derived from the position measuring encoder.
Signal state 1 or
edge change
0 1
Actual direction of rotation: Right
Z1: NC/PLC interface signals
19.12 Spindles (S1)
Basic Functions
1772 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX83.7
Actual direction of rotation clockwise
Signal state 0 or
edge change
1 0
Actual direction of rotation: Left
Signal irrelevant for
...
Spindle is stationary: DB31, ... DBX61.4 (axis/spindle stationary) == 1
Spindles without position measuring encoder
Corresponding to .... DB31, ... DBX61.4 (axis/spindle stationary)
DB31, ...
DBX84.3
Rigid tapping active
Edge evaluation: yes Signal(s) updated: Cyclic
The spindle is internally switched to axis mode by the "Rigid tapping" function (G331/G332). This
results in a reaction to or updating of the spindle-specific interface signals:
DB31, ... DBX2.2 (spindle reset)
DB31, ... DBX16.4 - DBX16.5 (synchronize spindle)
DB31, ... DBX17.6 (invert M3/M4)
DB31, ... DBX83.5 (spindle in setpoint range)
DB31, ... DBX83.1 (programmable speed too high)
Signal state 1 or
edge change
0 1
Rigid tapping active.
Application
example(s)
Notice!
If the following signals are set during rigid tapping, the thread will be destroyed:
DB11, DBX0.7 (mode group reset) = 1
DB21, ... DBX7.7 (channel reset) = 1
DB31, ... DBX2.1 (controller enable) = 0
DB31, ... DBX8.3 (feed stop) = 1
DB31, ...
DBX84.5
Active spindle mode: Positioning mode
Edge evaluation: yes Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
Positioning mode (SPOS or SPOSA) is active.
Corresponding to .... DB31, ... DBX84.7 (spindle mode control mode)
DB31, ... DBX84.6 (spindle mode oscillation mode)
Z1: NC/PLC interface signals
19.12 Spindles (S1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1773
DB31, ...
DBX84.6
Active spindle mode: Oscillation mode
Edge evaluation: yes Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
Oscillation mode is active.
Note: The spindle changes automatically to oscillation mode if there is a gear change.
Corresponding to .... DB31, ... DBX84.7 (spindle mode control mode)
DB31, ... DBX84.5 (spindle mode positioning mode)
DB31, ... DBX82.3 (change gear)
DB31, ...
DBX84.7
Active spindle mode: Control mode
Edge evaluation: yes Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
The spindle is in control mode with the following functions:
Spindle direction of rotation specification M3/M4 or spindle stop M5
M41...M45, or automatic gear stage change M40
Corresponding to .... DB31, ... DBX84.6 (spindle mode oscillation mode)
DB31, ... DBX84.5 (spindle mode positioning mode)
DB31, ...
DBX85.5
Spindle in position
Edge evaluation: yes Signal(s) updated: Cyclic
The interface signal is processed exclusively with the function spindle positioning. This includes:
SPOS, SPOSA and M19 in the part program
SPOS and M19 in synchronized actions
Spindle positioning, using FC18
Spindle positioning via PLC interface (DB31, ... DBX30.4)
Signal state 1 or
edge change
0 1
Precondition for the output of the DB31, ... DBX85.5 signal (spindle in position) is reaching the
"Exact stop fine".
DB31, ... DBX60.7 (exact stop fine) = 1
Additionally, the last programmed spindle position must have been reached on the setpoint side.
If the spindle is already at the programmed position after a positioning, then signal DB31,...
DBX85.5 (spindle in position) is set.
Signal state 0 or
edge change
1 0
When signal DB31, ... DBX60.7 is withdrawn (exact stop fine), then signal DB31, ... DBX85.5
(spindle in position) is also always reset.
Application
example(s)
Spindle in position for the tool change
If the machine operator interrupts the tool change cycle (e.g. with NC stop, NC stop axis plus
spindle, mode group stop etc.), then NC/PLC interface signal DB31, ... DBX85.5 can be used to
query that the position has been reached with which the spindle should enter the tool changer.
Corresponding to .... DB31, ... DBX60.7 (Exact stop fine)
Z1: NC/PLC interface signals
19.12 Spindles (S1)
Basic Functions
1774 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBB86 - DBB87
M function for spindle
Edge evaluation: yes Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
From the NCK one of the following M functions: M3, M4, M5, M70 is output to the PLC.
The output occurs by means of: See "Corresponds to ...." below
Corresponding to .... DB31, ... DBB86 - DBB87 (M function for spindle), axis-specific
DB21, ... DBB58, DBB68 - DBB97 (M function for spindle), channel-specific
DB31, ...
DBB88 - DBB91
S function for spindle
Edge evaluation: yes Signal(s) updated: Cyclic
Signal state 1 or
edge change
0 1
An S function was output from the NCK to the PLC.
The output occurs by means of: See "Corresponds to ...." below
The following S functions are output here:
S.... as spindle speed in rpm (programmed value)
S .... as constant cutting rate in m/min or ft/min
The following S functions are not output here:
S.... as the programmed Spindle speed limiting G25
S.... as the programmed Spindle speed limiting G26
S .... as spindle speed in rpm if a spindle was not defined in the controller
S.... as the dwell time in spindle revolutions
Corresponding to .... DB31, ... DBB88 - DBB91 (S function for spindle), axis-specific
DB21, ... DBB60, DBB98 - DBB115 (S function for spindle), channel-specific
Z1: NC/PLC interface signals
19.13 Feeds (V1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1775
19.13 Feeds (V1)
19.13.1 Signals to channel (DB21, ...)
DB21, ...
DBX0.6
Activate dry run feed
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The dry run feed rate defined using the setting data:
SD42100 $SC_DRY_RUN_FEED
is used instead of the programmed feed (for G01, G02, G03) if the dry run feed rate is greater than
that programmed.
The dry run feed rate is effective after the reset state.
This interface signal is evaluated at NC start when the channel is in the "reset" state.
The dry run feed can be activated from the PLC or operator panel.
When selected from the operator panel front, the PLC interface signal:
DB21, ... DBX24.6 (dry run feed selected)
is set and transferred from the PLC basic program to the interface signal:
DB21, ... DBX0.6 (activate dry run feed).
When selected using the PLC, the IS "activate dry run feed" should be set from the PLC user
program.
Signal state 0 or
edge change
1 0
The programmed feed is used.
Effective after the reset state.
Application
example(s)
Testing a workpiece program with an increased feed rate.
Special cases,
errors, ......
If the signal changes to "0" within a G33 block, the programmed feed is not activated until the end of
the block is reached, since an NC stop was not triggered.
Corresponding to .... DB21, ... DBX24.6 (dry run feed rate selected)
SD42100 $SC_DRY_RUN_FEED (dry run feed rate)
Z1: NC/PLC interface signals
19.13 Feeds (V1)
Basic Functions
1776 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBB4
Feedrate override
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The feedrate override can be defined via the PLC in binary or Gray coding.
With binary coding, the feed value is interpreted in %.
0% to 200% feed changes are possible, in accordance with the binary value in the byte.
The following permanent assignment applies:
Code Feed rate override factor
00000000
00000001
00000010
00000011
.
11001000
0.00 0%
0.01 1%
0.02 2%
0.03 3%
.
2.00 200%
Z1: NC/PLC interface signals
19.13 Feeds (V1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1777
DB21, ...
DBB4
Feedrate override
Signal state 1 or
edge change
0 1
Binary values > 200 are limited to 200%.
The machine data:
MD12100 $MN_OVR_FACTOR_LIMIT_BIN (limit for binary-coded override switch)
can be used to additionally limit the maximum feedrate override.
With Gray coding, the individual switch settings are assigned to the following codes:
Table: Gray coding for feed rate override
Switch
position
Code Feed rate
override factor
(standard values)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
00001
00011
00010
00110
00111
00101
00100
01100
01101
01111
01110
01010
01011
01001
01000
11000
11001
11011
11010
11110
11111
11101
11100
10100
10101
10111
10110
10010
10011
10001
10000
0.0
0.01
0.02
0.04
0.06
0.08
0.10
0.20
0.30
0.40
0.50
0.60
0.70
0.75
0.80
0.85
0.90
0.95
1.00
1.05
1.10
1.15
1.20
1.20
1.20
1.20
1.20
1.20
1.20
1.20
1.20
The factors listed in the table for the feedrate override are stored in the machine data:
MD12030 $MN_OVR_FACTOR_FEEDRATE [n].
The table contains the default settings.
The number of possible switch settings for standard machine panels is described in the
Configuration Manuals for SINUMERIK 840D.
Corresponding to .... DB21, ... DBX6.7 (feed rateoverride active)
MD12030 $MN_OVR_FACTOR_FEEDRATE [n] (evaluation of the path feed rate override switch)
MD12100 $MN_OVR_FACTOR_LIMIT_BIN (limit for binary coded override switch)
Z1: NC/PLC interface signals
19.13 Feeds (V1)
Basic Functions
1778 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBB5
Rapid traverse override
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The rapid traverse override can be entered via the PLC in either the binary or Gray code.
For binary coding, the rapid traverse override is interpreted as a %.
0% to 100% feed changes are possible, in accordance with the binary value in the byte.
The following permanent assignment applies:
Code Rapid traverse override factor
00000000
00000001
00000010
00000011
.
11001000
0.00 0%
0.01 1%
0.02 2%
0.03 3%
.
1.00 100%
Binary values > 100 are limited to 100%.
Using the machine data:
MD12100 $MN_OVR_FACTOR_LIMIT_BIN (limit for binary-coded override switch),
the maximum rapid traverse override can be additionally limited.
Z1: NC/PLC interface signals
19.13 Feeds (V1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1779
DB21, ...
DBB5
Rapid traverse override
Signal state 1 or
edge change
0 1
In gray coding, the following codes are assigned to the individual switch settings:
Table: Gray coding for rapid traverse override
Switch
position
Code Rapid traverse
override factor
(standard values)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
00001
00011
00010
00110
00111
00101
00100
01100
01101
01111
01110
01010
01011
01001
01000
11000
11001
11011
11010
11110
11111
11101
11100
10100
10101
10111
10110
10010
10011
10001
10000
0.0
0.01
0.02
0.04
0.06
0.08
0.10
0.20
0.30
0.40
0.50
0.60
0.70
0.75
0.80
0.85
0.90
0.95
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
The factors listed in the table for the rapid traverse override are stored in the machine data:
MD12050 $MN_OVR_FACTOR_RAPID_TRA[n].
The table contains the default settings.
The number of possible switch settings for standard machine panels is described in the
Configuration Manuals for SINUMERIK 840D.
Corresponding to .... DB21, ... DBX6.6 (rapid traverse override active)
MD12050 $MN_OVR_FACTOR_RAPID_TRA[n] (evaluation of the path feed rate override switch)
MD12100 $MN_OVR_FACTOR_LIMIT_BIN (limit for binary coded override switch)
Z1: NC/PLC interface signals
19.13 Feeds (V1)
Basic Functions
1780 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBX6.0
Feed disable
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The signal is active in one channel in all operating modes.
The signal disables the feed for all of the axes (geometry and synchronized) that interpolate relative
to one another as long as G33 (thread) is not active.
All axes are brought to a standstill but still maintaining the path contour. When the feed disable is
canceled (0 signal), the interrupted part program is continued.
The signal triggers a feed disable for all positioning axes. This signal brings all traversing axes to a
standstill with controlled braking (ramp stop). No alarm is output.
The position control is retained, i.e. the following error is eliminated.
If a travel request is issued for an axis with an active "Feed disable", then this is kept. The queued
travel request is executed immediately when the "Feed disable" is canceled.
If the axis is interpolating in relation to others, this also applies to these axes.
Signal state 0 or
edge change
1 0
The feed rate is enabled for all axes of the channel.
If a travel request ("travel command") exists for an axis or group of axes when the "feed disable" is
canceled, then this is executed immediately.
Application
example(s)
Stopping machining by selecting FEED OFF on the machine control panel.
Special cases,
errors, ......
The feed disable is inactive when G33 is active.
DB21, ...
DBX6.6
Rapid traverse override active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The rapid traverse override between 0 and a maximum of 100% entered in the PLC interface is
channel-specific. The override factor is defined using the machine data:
MD12040 $MN_OVR_RAPID_IS_GRAY_CODE (rapid traverse override switch gray coded)
and
MD12050 $MN_OVR_FACTOR_RAPID_TRA [n] (evaluation of the rapid traverse override switch).
Signal state 0 or
edge change
1 0
The rapid traverse override entered at the PLC interface is ignored.
When the rapid traverse override is inactive, the NC always uses 100% as the internal override
factor.
Exceptions are the zero setting for a binary interface and the 1st switch setting for a Gray-coded
interface. In these cases, the override factors entered at the PLC interface are used. With a binary
interface, the override factor = 0. With a Gray-coded interface, the value entered in the machine
data for the 1st switch setting is output as the override value.
Application
example(s)
The override value is generally selected using the rapid traverse override switch on the machine
control panel.
Using the interface signal:
DB21, ... DBX6.6 (rapid traverse override active),
the rapid traverse override switch can be enabled from the PLC user program while commissioning
a new NC program, e.g. using the key-operated switch.
Special cases,
errors, ......
The rapid traverse override is inactive when G33, G63, G331, G332 are active.
Corresponding to .... DB21, ... DBB5 (rapid traverse override)
Z1: NC/PLC interface signals
19.13 Feeds (V1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1781
DB21, ...
DBX6.7
Feedrate override active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The feed rate override between 0 and a maximum of 200% entered at the PLC interface is active
for the path feed rate and therefore automatically for the related axes.
In JOG mode, the feed rate override acts directly on the axes.
The override factor is entered using the machine data:
MD12020 $MN_OVR_FEED_IS_GRAY_CODE (path feed rate override factor, gray-coded)
and
MD12030 $MN_OVR_FACTOR_FEEDRATE [n] (evaluation of the path feed rate override switch)
Signal state 0 or
edge change
1 0
The feed rate override entered at the PLC interface is ignored.
When the feed rate override is inactive, the NC always uses 100% as the internal override factor.
Exceptions are the zero setting for a binary interface and the 1st switch setting for a Gray-coded
interface. In these cases, the override factors entered in the PLC interface are used. With a binary
interface, the override factor = 0. With a Gray-coded interface, the value entered in the machine
data for the 1st switch setting is output as the override value.
Application
example(s)
The override value is generally selected using the feed rate override switch on the machine control
panel.
Using the interface signal:
DB21, ... DBX6.7 (feed rate override active),
the feed rate override switch can be enabled from the PLC user program while commissioning a
new NC program, e.g. using the key-operated switch.
Special cases,
errors, ......
The feed rate override is inactive when G33, G63, G331, G332 are active.
Corresponding to .... DB21, ... DBB4 (feed rate override)
Z1: NC/PLC interface signals
19.13 Feeds (V1)
Basic Functions
1782 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB21, ...
DBX12.3, DBX16.3,
DBX20.3
Feed stop (Geometry axis 1 to 3)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The signal is only active in JOG mode.
The signal stops the feed of the geometry axis. This signal brings all traversing axes to a standstill
with controlled braking (ramp stop). No alarm is output.
The position control is retained, i.e. the following error is eliminated.
If - for a geometry axis - a travel request is issued with an active "feed stop", the request is kept.
This queued travel request is executed immediately after the "feed stop" is canceled.
Signal state 0 or
edge change
1 0
The feed is enabled for the geometry axis.
If, for the geometry axis, a travel request ("travel command") is active when the "feed stop" is
cancelled, this is executed immediately.
DB21, ...
DBX24.6
Dry run feed rate selected
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
Dry run feed rate is selected.
Instead of the programmed feed rate, the dry run feed rate entered in setting data:
SD42100 $SC_DRY_RUN_FEED
is active.
When activated from the operator panel, the dry run feed signal is automatically entered in the PLC
interface and transmitted by the PLC basic program to the PLC interface signal:
DB21, ... DBX0.6 (active dry run feed).
Signal state 0 or
edge change
1 0
Dry run feed rate is not selected.
The programmed feed rate is active.
Corresponding to .... DB21, ... DBX0.6 (activate dry run feed)
SD42100 $SC_DRY_RUN_FEED (dry run feed rate)
Z1: NC/PLC interface signals
19.13 Feeds (V1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1783
DB21, ...
DBX25.3
Feed rate override selected for rapid traverse
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The feed rate override switch should also be active as rapid traverse override switch.
Override values above 100% are limited to the maximum value for 100% rapid traverse override.
The interface signal:
DB21, ... DBX25.3 (feed rate override for rapid traverse selected)
is automatically entered into the PLC interface from the operator panel
and transferred from the PLC basic program to the PLC interface signal:
DB21, ... DBX6.6 (rapid traverse override active).
Further, the interface signal:
DB21, ... DBB4 (feed rate override)
is copied from the PLC basic program to the interface signal:
DB21, ... DBB5 (rapid traverse override).
Signal state 0 or
edge change
1 0
The feed rate override switch should not be activated as rapid traverse override switch.
Application
example(s)
The signal is used when no separate rapid traverse override switch is available.
DB 21, ...
DBX29.0 - DBX29.3
Activate fixed feed rate 1 - 4 for path/geometry axes
Edge evaluation: No Signal(s) updated: Cyclically
Description These signals are used to select/de-select the function "fixed feed" and define which fixed feed
should be effective for path/geometry axes.
Bit 3 Bit 2 Bit 1 Bit 0 Meaning
Fixed feed is de-selected
Fixed feed 1 is selected
Fixed feed 2 is selected
Fixed feed 3 is selected
Fixed feed 4 is selected
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
Corresponding to .... MD12202 $MN_PERMANENT_FEED[n]
MD12200 $MN_RUN_OVERRIDE_0
Z1: NC/PLC interface signals
19.13 Feeds (V1)
Basic Functions
1784 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
19.13.2 Signals to axis/spindle (DB31, ...)
DB31, ...
DBB0
Feed rate override (axis-specific)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The axis-specific feed rate override can be defined via the PLC in binary or Gray coding. With
binary coding, the feed value is interpreted in %. 0% to 200% feed changes are possible, in
accordance with the binary value in the byte.
The following permanent assignment applies:
Code
Axis-specific feed rate
override factor
00000000
00000001
00000010
00000011
.
01100100
0.00 0%
0.01 1%
0.02 2%
0.03 3%
.
. .
. .
1.00 100%
.
11001000
.
. .
. .
2.00 200%
Binary values > 200 are limited to 200%.
Using the machine data:
MD12100 $MN_OVR_FACTOR_LIMIT_BIN (limit for binary-coded override switch)
the maximum axis-specific feed rate override can be additionally limited.
Z1: NC/PLC interface signals
19.13 Feeds (V1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1785
DB31, ...
DBB0
Feed rate override (axis-specific)
Signal state 1 or
edge change
0 1
In gray coding, the following codes are assigned to the individual switch settings:
Table: Gray coding for axis-specific feed rate override
Switch
position
Code Axial feed rate
override factor
(standard values)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
00001
00011
00010
00110
00111
00101
00100
01100
01101
01111
01110
01010
01011
01001
01000
11000
11001
11011
11010
11110
11111
11101
11100
10100
10101
10111
10110
10010
10011
10001
10000
0.0
0.01
0.02
0.04
0.06
0.08
0.10
0.20
0.30
0.40
0.50
0.60
0.70
0.75
0.80
0.85
0.90
0.95
1.00
1.05
1.10
1.15
1.20
1.20
1.20
1.20
1.20
1.20
1.20
1.20
1.20
The factors listed in the table for the axial feed rate override
are stored in the NC-specific machine data:
MD12010 $MN_OVR_FACTOR_AX_SPEED [n]
The table contains the default settings.
The number of possible switch settings for standard machine panels is described in the
Configuration Manuals for SINUMERIK 840D.
Corresponding to .... DB31, ... DBX1.7 (override effective
MD12010 $MN_OVR_FACTOR_AX_SPEED [n] (evaluation of the axis feed rate override switch)
MD12100 $MN_OVR_FACTOR_LIMIT_BIN (limit for binary coded override switch)
Z1: NC/PLC interface signals
19.13 Feeds (V1)
Basic Functions
1786 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX1.7
Override active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
Feed rate override active:
The axis-specific feed rate override between 0 and a maximum of 200% entered in the PLC
interface is used.
The override factor is defined using the machine data:
MD12000 $MN_OVR_AX_IS_GRAY_CODE (axis feed rate override switch gray coded)
and
MD12010 $MN_OVR_FACTOR_AX_SPEED [n] (evaluation of the axis feed rate override switch).
Spindle override active:
The spindle override - input at the PLC interface - of 0 to a maximum of 200% is taken into account.
The override factor is entered using the machine data:
MD12060 $MN_OVR_SPIND_IS_GRAY_CODE (spindle override switch, Gray coded)
and
MD12070 $MN_OVR_FACTOR_SPIND_SPEED [n] (evaluation of the spindle override switch).
Signal state 0 or
edge change
1 0
The existing axis-specific feed rate override or spindle override is not active.
If the feed rate override is inactive, "100%" is used as the internal override factor.
Exceptions are the zero setting for a binary interface and the 1st switch setting for a Gray-coded
interface. In these cases, the override factors entered at the PLC interface are used.
For a binary interface, the override factor = 0. For a gray-coded interface, the value entered in the
machine data for the 1st switch setting is output as the override value.
Application
example(s)
The override value is generally specified using the axis-specific feed rate override switch or the
spindle override switch on the machine control panel.
The "feed rate override active" signal can be used to enable the feed rate override switch from the
PLC user program, e.g. using the key-operated switch when commissioning a new NC program.
Special cases,
errors, ......
The spindle override is always accepted with 100% in the spindle "Oscillation mode".
The spindle override acts on the programmed values before the limits (e.g. G26, LIMS...) intervene.
The feed rate override is ineffective for:
active G33
active G63 (the override is defined in the NC at 100%)
active G331, G332 (the override is defined in the NC at 100%)
The spindle override is inactive for:
active G63 (the override is defined in the NC at 100%)
Corresponding to .... DB31, ... DBB0 (feed/spindle override)
Z1: NC/PLC interface signals
19.13 Feeds (V1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1787
DB31, ...
DBX3.2 - DBX3.5
Activate fixed feed rate 1 - 4 for machine axes
Edge evaluation: No Signal(s) updated: Cyclically
Description These signals are used to select/de-select the function "fixed feed" and define which fixed feed
should be effective for machine axes.
Bit 5 Bit 4 Bit 3 Bit 2 Meaning
Fixed feed is de-selected
Fixed feed 1 is selected
Fixed feed 2 is selected
Fixed feed 3 is selected
Fixed feed 4 is selected
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
Corresponding to .... MD12202 $MN_PERMANENT_FEED[n]
MD12200 $MN_RUN_OVERRIDE_0
DB31, ...
DBX4.3
Feed stop/spindle stop (axis-specific)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The signal is active in all modes.
Feed stop:
The signal triggers a "feed stop" for the axis. This signal brings all traversing axes to a standstill
with controlled braking (ramp stop). No alarm is output.
The signal triggers a "feed stop" for all path axes interpolating relative to each other when the "feed
stop" is activated for any one of these path axes. In this case, all the axes are brought to a stop with
adherence to the path contour. When the "feed stop" signal is canceled, execution of the interrupted
parts program is resumed.
The position control is retained, i.e. the following error is eliminated.
If a travel request is issued for an axis with an active "feed stop", this is kept. This queued travel
request is executed immediately after the "feed stop" is canceled.
If the axis is interpolating in relation to others, this also applies to these axes.
Spindle stop:
The spindle is brought to a standstill along the acceleration characteristic.
In the positioning mode, when the "Spindle stop" signal is set positioning is interrupted. The above
response applies with respect to individual axes.
Signal state 0 or
edge change
1 0
Feed stop:
The feed rate is enabled for the axis.
If a travel request ("travel command") is active when the "feed stop" is canceled, this is executed
immediately.
Spindle stop:
The speed is enabled for the spindle.
The spindle is accelerated to the previous speed setpoint with the acceleration characteristic or, in
positioning mode, positioning is resumed.
Z1: NC/PLC interface signals
19.13 Feeds (V1)
Basic Functions
1788 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DB31, ...
DBX4.3
Feed stop/spindle stop (axis-specific)
Application
example(s)
Feed stop:
The traversing motion of the machine axes is not started with "feed stop", if, for example, certain
operating states exist at the machine that do not permit the axes to be moved (e.g. a door is not
closed).
Spindle stop:
In order to change a tool
To enter help functions (M, S, H, T, D and F functions) during setup.
Special cases,
errors, ......
Spindle stop is inactive when G331, G332 are active.
DB31, ...
DBB19
Spindle override
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or
edge change
0 1
The spindle override can be defined via the PLC in binary or Gray coding.
The override value determines the percentage of the programmed speed setpoint that is issued to
the spindle.
With binary coding, the override is interpreted in %. 0% to 200% feed changes are possible, in
accordance with the binary value in the byte.
The following permanent assignment applies:
Code Spindle override factor
00000000
00000001
00000010
00000011
.
01100100
0.00 0%
0.01 1%
0.02 2%
0.03 3%
.
. .
. .
1.00 100%
.
11001000
.
. .
. .
2.00 200%
Binary values > 200 are limited to 200%.
The machine data:
MD12100 $MN_OVR_FACTOR_LIMIT_BIN (limit for binary-coded override switch)
can be used to additionally limit the maximum spindle override.
Z1: NC/PLC interface signals
19.13 Feeds (V1)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1789
DB31, ...
DBB19
Spindle override
Signal state 1 or
edge change
0 1
In gray coding, the following codes are assigned to the individual switch settings:
Table: Gray coding for spindle override
Switch
position
Code Spindle override
factor
(standard values)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
00001
00011
00010
00110
00111
00101
00100
01100
01101
01111
01110
01010
01011
01001
01000
11000
11001
11011
11010
11110
11111
11101
11100
10100
10101
10111
10110
10010
10011
10001
10000
0.5
0.55
0.60
0.65
0.70
0.75
0.80
0.85
0.90
0.95
1.00
1.05
1.10
1.15
1.20
1.20
1.20
1.20
1.20
1.20
1.20
1.20
1.20
1.20
1.20
1.20
1.20
1.20
1.20
1.20
1.20
The factors listed in the table for spindle override are stored in the machine data:
MD12070 $MN_OVR_FACTOR_SPIND_SPEED [n]
The table contains the default settings.
The number of possible switch settings for standard machine panels is described in the
Configuration Manuals for SINUMERIK 840D.
Corresponding to .... DB31, ... DBX1.7 (override active)
MD12070 $MN_OVR_FACTOR_SPIND_SPEED [n] (evaluation of the spindle override switch)
MD12100 $MN_FACTOR_LIMIT_BIN (limit for binary-coded override switch)
Z1: NC/PLC interface signals
19.13 Feeds (V1)
Basic Functions
1790 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
19.13.3 Signals from axis/spindle (DB31, ...)
DB31, ...
DBX62.2
Revolutional feed rate active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
For programming of G95 (revolutional feed rate) in JOG mode or automatic mode.
Corresponding to .... SD41100 $SN_JOG_REV_IS_ACTIVE (revolutional feed rate for JOG active)
SD42600 $SC_JOG_FEED_PER_REV_SOURCE
(in the JOG mode revolutional feed rate for geometry axes, on which the frame with rotation acts)
SD43300 $SA_ASSIGN_FEED_PER_REV_SOURCE
(revolutional feed rate for position axes/spindles)
MD32040 $MA_JOG_REV_VELO_RAPID (revolutional feed rate for JOG with rapid traverse
override)
MD32050 $MA_JOG_REV_VELO (revolutional feed rate for JOG mode)
DB31, ...
DBB78 - DBB81
F function for positioning axis
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or
edge change
0 1
The F value of a positioning axis programmed in the current block is entered in the axis-specific
PLC interface signal.
The assignment between the DB number and machine axis number is established using the axis
name.
The value is retained until it is overwritten by another.
Format: Binary number in real format.
Application
example(s)
Modification of the programmed F value by the PLC, e.g. by overwriting the selected axis-specific
feed rate override.
Corresponding to .... MD22240 $MC_AUXFU_F_SYNC_TYPE (output time F functions)
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1791
Appendix
A
A.1 List of abbreviations
A
AC Adaptive Control
ADI4 Analog Drive Interface for 4 Axes
ALM Active Line Module
ARM Rotating induction motor
AS PLC
ASCII American Standard Code for Information Interchange
ASUB Asynchronous subroutine
AuxF Auxiliary function
AUXFU Auxiliary function
B
BA Mode
BAG Mode group
BCD Binary Coded Decimals: Decimal numbers encoded in binary code
BCS Basic Coordinate System
BERO Proximity limit switch
BI Binector Input
BICO Binector Connector
BIN BINary files
BO Binector Output
BOT Boot file (SIMODRIVE 611D)
C
CAD Computer-Aided Design
CAM Computer-Aided Manufacturing
CC Compile Cycle
CF Card Compact Flash Card
CI Connector Input
CNC Computerized Numerical Control
CO Connector Output
CoL Certificate of License
COM Communication
Appendix
A.1 List of abbreviations
Basic Functions
1792 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
CP Communication Processor
CPA Compiler Projecting Data: Configuring data of the compiler
CPU Central Processing Unit
CR Carriage Return
CRC Cutter radius compensation
CTS Clear To Send: Ready to send signal for serial data interfaces
CU Control Unit
CUTCOM Cutter radius Compensation: Tool radius compensation
D
DAC Digital-to-Analog Converter
DB Data Block (PLC)
DBB Data Block Byte (PLC)
DBD Data Block Double word (PLC)
DBW Data Block Word (PLC)
DBX Data block bit (PLC)
DIN Deutsche Industrie Norm (German Industry Standard)
DIO Data Input/Output: Data transfer display
DIR Directory
DO Drive Object
DPM Dual Port Memory
DPR Dual Port RAM
DRAM Dynamic memory (non-buffered)
DRF Differential Resolver Function (handwheel)
DRIVE-CliQ Drive Component Link with IQ
DRY Dry Run: Dry run feedrate
DSB Decoding Single Block
DSC Dynamic Servo Control / Dynamic Stiffness Control
DW Data Word
DWORD Double Word (currently 32 bits)
E
EFP Compact I/O module (PLC I/O module)
EMC ElectroMagnetic Compatibility
EN European standard
ENC Encoder: Actual value encoder
EnDat Encoder interface
EPROM Erasable Programmable Read Only Memory
EQN Designation for an absolute encoder with 2048 sine signals per revolution
ES Engineering System
ESD Electrostatic Sensitive Devices
Appendix
A.1 List of abbreviations
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1793
ESR Extended Stop and Retract
ETC ETC key ">"; Softkey bar extension in the same menu
F
FB Function Block (PLC)
FC Function Call: Function block (PLC)
FDD Feed Drive
FEPROM Flash EPROM: Read and write memory
FIFO First In First Out: Memory that works without address specification and whose data
are read in the same order in which they were stored.
FIPO Fine interpolator
FRAME Coordinate transformation
FST Feed Stop
FW Firmware
G
GC Global Control (PROFIBUS: Broadcast telegram)
GEO Geometry, e.g. geometry axis
GIA Gear Interpolation dAta
GND Signal Ground
GP Basic Program (PLC)
GS Gear stage
GSD Device master file for describing a PROFIBUS slave
GSDML Generic Station Description Markup Language: XML-based description language for
creating a GSD file
GUD Global User Data
GWPS Grinding Wheel Peripheral Speed
H
HEX Abbreviation for hexadecimal number
HHU HandHeld Unit
HMI Human Machine Interface, SINUMERIK user interface
HW Hardware
HW Config SIMATIC S7 tool for configuration and parameterization of hardware components
within an S7 project
HW limit switch Hardware limit switch
I
I Input
I/RF Infeed/regenerative feedback unit of SIMODRIVE 611(D)
Appendix
A.1 List of abbreviations
Basic Functions
1794 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
IBN Commissioning
ICA Interpolatory compensation
INC Increment
IPO Interpolator
IS Interface signal
J
JOG Jogging: Setup mode
K
Kp Proportional gain
K Transformation ratio
KV Gain factor of control loop
L
LAD LADder diagram
LAI Logical Machine Axis Image
LAN Local Area Network
LEC Leadscrew Error Compensation
LEDs Light Emitting Diode
LF Line Feed
LSB Least Significant Bit
LUD Local User Data
M
MAC Media Access Control
MB Megabyte
MCI Motion Control Interface
MCIS Motion Control Information System
MCP Machine Control Panel
MCS Machine Coordinate System
MD Machine Data
MDA Manual Data Automatic: Manual input
MLFB Machine-Readable Product Code
MM Motor Module
MMC Man Machine Communication
MPF Main Program File: NC part program (main program)
MPI Multi Port Interface
MSD Main Spindle Drive
MSGW Message word
Appendix
A.1 List of abbreviations
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1795
N
NC Numerical Control
NCK Numerical Control Kernel
NCU Numerical Control Unit
NRK Name for the operating system of the NCK
NX Numerical eXtension (axis extension module)
O Output
O
OB Organization block in the PLC
OEM Original Equipment Manufacturer
OLP Optical Link Plug: Fiber optic bus connector
OP Operator Panel: Operating equipment
OPI Operator Panel Interface: Interface for connection to the operator panel
OPT Options
P
PC Position Controller
PC Personal Computer
PCMCIA Personal Computer Memory Card International Association
PCU PC Unit
PG Programming device
PII Process Image Input
PIQ Process Image Output
PKE Parameter identification: Part of a PIV
PKW Parameter identification: Value: Parameterizing part of a PPO
PLC Programmable Logic Control: Adaptation control
PMS Position Measuring System
PN PROFINET
PNO PROFIBUS user organization
PO POWER ON
POS Positioning: e.g. POS axis = positioning axis = channel axis which is not traversed to
its programmed position in an interpolatory relationship to other axes, i.e. it is
traversed independently of other channel axes.
POSMO A Positioning Motor Actuator: Positioning motor
POSMO CA Positioning Motor Compact AC: Complete drive unit with integrated power and
control module as well as positioning unit and program memory; AC infeed
POSMO CD Positioning Motor Compact DC: Like CA but with DC infeed
POSMO SI Positioning Motor Servo Integrated: Positioning motor, DC infeed
POU Program Organization Unit
Appendix
A.1 List of abbreviations
Basic Functions
1796 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
PPO Parameter Process data Object; Cyclic data telegram for PROFIBUS DP
transmission and "Variable speed drives" profile
PROFIBUS Process Field Bus: Serial data bus
PRT Program test
PSW Program control word
PTP Point-To-Point
PUD Program global User Data: Global program variable
PZD Process Data: Process data part of a PPO
Q
QEC Quadrant error compensation
R
RAM Random Access Memory: Read/write memory
REF REFerence point approach function
REPOS REPOSition function
RISC Reduced Instruction Set Computer: Type of processor with small instruction set and
ability to process instructions at high speed
ROV Rapid Override: Input correction
RP R variable, arithmetic parameter, predefined user variable
RPY Roll Pitch Yaw: Rotation type of a coordinate system
RTCP Real Time Control Protocol
RTLI Rapid Traverse Linear Interpolation: Linear interpolation during rapid traverse motion
S
SBC Safe Brake Control
SBL Single Block
SD Setting Data
SEA Setting Data Active: Identifier (file type) for setting data
SERUPRO SEarch RUn by PROgram test
SGA Safety-related output
SGE Safety-related input
SH Safe standstill
SIM Single Inline Module
SK Softkey
SKP SKiP: Function for skipping a part program block
SLM Synchronous Linear Motor
SM Stepper motor
SMC Sensor Module Cabinet Mounted
SME Sensor Module Externally Mounted
SPF Sub Program File: Subprogram
Appendix
A.1 List of abbreviations
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1797
SRAM Static RAM (non-volatile)
SRM Synchronous Rotary Motor
SSI Synchronous Serial Interface (interface type)
SSL Block search
STW Control word
SW Software
SW limit switch Software limit switch
SYF System Files
SYNACT SYNchronized ACTion
T
T Tool
TB Terminal Board (SINAMICS)
TC Tool Change
TCP Tool Center Point: Tool tip
TCP/IP Transport Control Protocol / Internet Protocol
TCU Thin Client Unit
TEA Testing Data Active: Identifier for machine data
TIA Totally Integrated Automation
TLC Tool Length Compensation
TM Terminal Module (SINAMICS)
TM Tool Management
TNRC Tool Nose Radius Compensation
TO Tool Offset
TOA Tool Offset Active: Identifier (file type) for tool offsets
TRANSMIT Transform Milling Into Turning: Coordination transformation for milling operations on
a lathe
TRC Tool Radius Compensation
TTL Transistor-Transistor Logic (interface type)
U
UP User program
UPS Uninterruptible Power Supply
USB Universal Serial Bus
V
VDE Verband Deutscher Elektrotechniker [Association of German Electrical Engineers]
VDI Internal communication interface between NCK and PLC
VDI Verein Deutscher Ingenieure [Association of German Engineers]
VI Voltage Input
VO Voltage Output
Appendix
A.1 List of abbreviations
Basic Functions
1798 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
W
WCS Workpiece coordinate system
WO Work Offset
WOA Work Offset Active: Identifier for work offsets
WOP Workshop-Oriented Programming
WPD WorkPiece Directory
X
XML Extensible Markup Language
Z
ZSW Status word (of drive)
Appendix
A.2 Feedback on the documentation
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1799
A.2 Feedback on the documentation
This document will be continuously improved with regard to its quality and ease of use.
Please help us with this task by sending your comments and suggestions for improvement
via e-mail or fax to:
E-mail: mailto:[email protected]
Fax: +49 9131 - 98 2176
Please use the fax form on the back of this page.
Appendix
A.2 Feedback on the documentation
Basic Functions
1800 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
To
SlEMENS AG
l DT MC MS1
P.O. Box 3180
D-91050 Erlangen / Germany
Fax: +49 9131 - 98 2176 (Documentation)
From
Name:
Address of your company/department
Street:
Zip code: City:
Phone: /
Fax: /
Suggestions and/or corrections
Appendix
A.3 Overview
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1801
A.3 Overview
General Documentation
SlNUMERlK 840D sl Documentation Overview
User Documentation
Manufacturer/Service Documentation
Manufacturer/Service Documentation
Electronic Documentation
Sales Brochure Catalog NC 61 *
)
Catalog PM 21 SlMOTlON,
SlNAMlCS S120 and Motors
for Production Machines *
)
Operating Manual
Universal *
)
Turning *
)
Milling *
)
HMl-Advanced *
)
Programming Manual
Fundamentals *
)
Job Planning *
)
Measuring Cycles
Lists, System Variables
Programming Manual
lSO Turning/Milling
Diagnostics Manual *
)
Function Manual
Drive Functions
Function Manual
Safety lntegrated
EMC Guidelines
Equipment Manual
NCU *
)
Operator Components
and Networking *
)
Guidelines for
Machine Configuration
Commissioning Manual
CNC: NCK, PLC, Drive *
)
Base Software and
Operating Software *
)
Base Software and
HMl-Advanced *
)
List Manual *
)
Part 1
Part 2
Function Manual
Basic Functions *
)
Extended Functions
Special Functions
Synchronized Actions
Tool Management
Function Manual
lSO Dialects
Motors
*
)
Recommended minimum scope documentation
DOConCD *
)
DOConWEB
SlNUMERlK
SlNAMlCS
SlNUMERlK
840D sl
SlNUMERlK
840D sl
840Di sl
802D sl
SlNAMlCS
S120
SlNUMERlK
840D sl
SlNUMERlK
840D sl
SlNUMERlK
840D sl
840D
840Di sl
SlNUMERlK
840D sl
SlNAMlCS
S120
SlNUMERlK
840D sl
SlNUMERlK
SlNUMERlK
840D sl
SlNUMERlK
840D sl
SlNUMERlK
840D sl
SlNUMERlK
840D sl
SlNUMERlK
840D sl
840Di sl
802D sl
828D
Appendix
A.3 Overview
Basic Functions
1802 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1803
Glossary
Absolute dimensions
A destination for an axis movement is defined by a dimension that refers to the origin of the
currently active coordinate system. See Incremental dimension
Acceleration with jerk limitation
In order to optimize the acceleration response of the machine whilst simultaneously
protecting the mechanical components, it is possible to switch over in the machining program
between abrupt acceleration and continuous (jerk-free) acceleration.
Address
An address is the identifier for a certain operand or operand range, e.g. input, output etc.
Alarms
All messages and alarms are displayed on the operator panel in plain text with date and
time and the corresponding symbol for the cancel criterion. Alarms and messages are
displayed separately.
1. Alarms and messages in the part program:
Alarms and messages can be displayed in plain text directly from the part program.
2. Alarms and messages from PLC
Alarms and messages for the machine can be displayed in plain text from the PLC
program. No additional function block packages are required for this purpose.
Archive
Reading out of files and/or directories on an external memory device.
Asynchronous subroutine
Part program that can be started asynchronously to (independently of) the current program
status using an interrupt signal (e.g. "Rapid NC input" signal).
Automatic
Operating mode of the control (block sequence operation according to DIN): Operating mode
for NC systems in which a subprogram is selected and executed continuously.
Glossary
Basic Functions
1804 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Auxiliary functions
Auxiliary functions enable part programs to transfer parameters to the PLC, which
then trigger reactions defined by the machine manufacturer.
Axes
In accordance with their functional scope, the CNC axes are subdivided into:
Axes: interpolating path axes
Auxiliary axes: non-interpolating feed and positioning axes with an axis-specific feed rate.
Auxiliary axes are not involved in actual machining, e.g. tool feeder, tool magazine.
Axis address
See Axis identifier
Axis identifier
Axes are identifed using X, Y, and Z as defined in DIN 66217 for a dextrorotatory, right-
angled coordinate system.
Rotary axes rotating around X, Y, and Z are identified using A, B, and C. Additional axes
situated parallel to the specified axes can be designated using other letters.
Axis name
See Axis identifier
Backlash compensation
Compensation for a mechanical machine backlash, e.g. backlash on reversal for ball screws.
Backlash compensation can be entered separately for each axis.
Backup battery
The backup battery ensures that the user program in the CPU is stored so that it is safe
from power failure and so that specified data areas and bit memory, timers and counters are
stored retentively.
Base axis
Axis whose setpoint or actual value position forms the basis of the calculation of a
compensation value.
Glossary
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1805
Basic coordinate system
Cartesian coordinate system which is mapped by transformation onto the machine
coordinate system.
The programmer uses axis names of the basic coordinate system in the part program. The
basic coordinate system exists parallel to the machine coordinate system if no
transformation is active. The difference between the two coordinate systems lies in the
axis identifiers.
Baud rate
Rate of data transfer (Bit/s).
Blank
Workpiece as it is before it is machined.
Block
"Block" is the term given to any files required for creating and processing programs.
Block search
For debugging purposes or following a program abort, the "Block search" function can be
used to select any location in the part program at which the program is to be started or
resumed.
Booting
Loading the system program after power ON.
C axis
Axis around which the tool spindle describes a controlled rotational and positioning
movement.
Channel
A channel is characterized by the fact that it can process a part program independently of
other channels. A channel exclusively controls the axes and spindles assigned to it. Part
program runs of different channels can be coordinated through synchronization.
Circular interpolation
The tool moves on a circle between specified points on the contour at a given feed rate,
and the workpiece is thereby machined.
Glossary
Basic Functions
1806 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
CNC
See NC
COM
Component of the NC for the implementation and coordination of communication.
Compensation axis
Axis with a setpoint or actual value modified by the compensation value
Compensation memory
Data range in the control, in which the tool offset data are stored.
Compensation table
Table containing interpolation points. It provides the compensation values of the
compensation axis for selected positions on the basic axis.
Compensation value
Difference between the axis position measured by the encoder and the desired, programmed
axis position.
Connecting cables
Connecting cables are pre-assembled or user-assembled 2-wire cables with a connector at
each end. This connecting cable connects the CPU to a programming device or to other
CPUs by means of a multi-point interface (MPI).
Continuous-path mode
The objective of continuous-path mode is to avoid substantial deceleration of the path
axes at the part program block boundaries and to change to the next block at as close to the
same path velocity as possible.
Contour
Contour of the workpiece
Contour monitoring
The following error is monitored within a definable tolerance band as a measure of contour
accuracy. An unacceptably high following error can cause the drive to become overloaded,
for example. In such cases, an alarm is output and the axes are stopped.
Glossary
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1807
Coordinate system
See Machine coordinate system, Workpiece coordinate system
CPU
Central processing unit, see PLC
C-Spline
The C-Spline is the most well-known and widely used spline. The transitions at the
interpolation points are continuous, both tangentially and in terms of curvature. 3rd order
polynomials are used.
Curvature
The curvature k of a contour is the inverse of radius r of the nestling circle in a contour point
(k = 1/r).
Cycles
Protected subroutines for execution of repetitive machining operations on the workpiece.
Data block
1. Data unit of the PLC that HIGHSTEP programs can access.
2. Data unit of the NC: Data modules contain data definitions for global user data. These
data can be initialized directly when they are defined.
Data word
Two-byte data unit within a data block.
Diagnosis
1. Operating area of the control.
2. The control has both a self-diagnostics program as well as test functions for servicing
purposes: status, alarm, and service displays
Dimensions specification, metric and inches
Position and lead values can be programmed in inches in the machining program.
Irrespective of the programmable dimensions (G70/G71), the controller is set to a basic
system.
Glossary
Basic Functions
1808 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DRF
Differential Resolver Function: NC function which generates an incremental zero offset in
Automatic mode in conjunction with an electronic handwheel.
Drive
The drive is the unit of the CNC that performs the speed and torque control based on the
settings of the NC.
Dynamic feedforward control
Inaccuracies in the contour due to following errors can be practically eliminated using
dynamic, acceleration-dependent feedforward control. This results in excellent machining
accuracy even at high path velocities. Feedforward control can be selected and
deselected on an axis-specific basis via the part program.
Editor
The editor makes it possible to create, edit, extend, join, and import programs/texts/program
blocks.
Exact stop
When an exact stop statement is programmed, the position specified in a block is
approached exactly and, if necessary, very slowly. To reduce the approach time, exact
stop limits are defined for rapid traverse and feed.
Exact stop limit
When all path axes reach their exact stop limits, the control responds as if it had reached its
precise destination point. A block advance of the part program occurs.
External zero offset
Zero offset specified by the PLC.
Fast retraction from contour
When an interrupt occurs, a motion can be initiated via the CNC machining program,
enabling the tool to be quickly retracted from the workpiece contour that is currently being
machined. The retraction angle and the distance retracted can also be parameterized. After
fast retraction, an interrupt routine can also be executed (SINUMERIK 840D).
Feed override
The programmed velocity is overriden by the current velocity setting made via the machine
control panel or from the PLC (0 to 200%). The feedrate can also be corrected by a
programmable percentage factor (1-200%) in the machining program.
Glossary
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1809
Finished-part contour
Contour of the finished workpiece. See Raw part.
Fixed machine point
Point that is uniquely defined by the machine tool, e.g. machine reference point.
Fixed-point approach
Machine tools can approach fixed points such as a tool change point, loading point, pallet
change point, etc. in a defined way. The coordinates of these points are stored in the control.
The control moves the relevant axes in rapid traverse, whenever possible.
Frame
A frame is an arithmetic rule that transforms one Cartesian coordinate system into another
Cartesian coordinate system. A frame contains the following components: zero offset,
rotation, scaling, mirroring.
Functionality
The path-jerk limitation can be activated/deactivated by programming the setting data.
Parameter: Value
Value range: TRUE, FALSE
Application:
Part program
Static synchronized action
Geometry
Description of a workpiece in the workpiece coordinate system.
Geometry axis
Geometry axes are used to describe a 2- or 3-dimensional area in the workpiece coordinate
system.
Ground
Ground is taken as the total of all linked inactive parts of a device which will not become live
with a dangerous contact voltage even in the event of a malfunction.
Glossary
Basic Functions
1810 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Helical interpolation
The helical interpolation function is ideal for machining internal and external threads using
form milling cutters and for milling lubrication grooves.
The helix comprises two movements:
Circular movement in one plane
A linear movement perpendicular to this plane
High-level CNC language
The high-level language offers: user-defined variables, system variables, macro
techniques.
High-speed digital inputs/outputs
The digital inputs can be used for example to start fast CNC program routines (interrupt
routines). The digital CNC outputs can be used to trigger fast, program-controlled switching
functions (SINUMERIK 840D).
HIGHSTEP
Summary of programming options for PLCs of the AS300/AS400 system.
Identifier
In accordance with DIN 66025, words are supplemented using identifiers (names) for
variables (arithmetic variables, system variables, user variables), subroutines, key words,
and words with multiple address letters. These supplements have the same meaning as the
words with respect to block format. Identifiers must be unique. It is not permissible to use the
same identifier for different objects.
Inch measuring system
Measuring system, which defines distances in inches and fractions of inches.
Inclined surface machining
Drilling and milling operations on workpiece surfaces that do not lie in the coordinate planes
of the machine can be performed easily using the function "inclined-surface machining".
Increment
Travel path length specification based on number of increments. The number of increments
can be stored as setting data or be selected by means of a suitably labeled key (i.e. 10,
100, 1000, 10000).
Glossary
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1811
Incremental dimension
Also incremental dimension: A destination for axis traversal is defined by a distance to be
covered and a direction referenced to a point already reached. See Absolute dimension.
Intermediate blocks
Motions with selected tool offset (G41/G42) may be interrupted by a limited number of
intermediate blocks (blocks without axis motions in the offset plane), whereby the tool offset
can still be correctly compensated for. The permissible number of intermediate blocks which
the control reads ahead can be set in system parameters.
Interpolator
Logic unit of the NCK that defines intermediate values for the motions to be carried out in
individual axes based on information on the end positions specified in the part program.
Interpolatory compensation
Interpolatory compensation is a tool that enables manufacturing-related leadscrew error and
measuring system error compensations (SSFK, MSFK).
Interrupt routine
Interrupt routines are special subroutines that can be started by events (external signals)
in the machining process. A part program block which is currently being worked through is
interrupted and the position of the axes at the point of interruption is automatically saved.
Inverse-time feedrate
With SINUMERIK 840D, the time required for the path of a block to be traversed can be
programmed for the axis motion instead of the feed velocity (G93).
JOG
Control operating mode (setup mode): In JOG mode, the machine can be set up. Individual
axes and spindles can be traversed in JOG mode by means of the direction keys. Additional
functions in JOG mode include: Reference point approach, Repos, and Preset (set
actual value).
Key switch
The key switch on the machine control panel has four positions that are assigned functions
by the operating system of the control. The key switch has three different colored keys that
can be removed in the specified positions.
Glossary
Basic Functions
1812 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Keywords
Words with specified notation that have a defined meaning in the programming language for
part programs.
KV
Servo gain factor, a control variable in a control loop.
Leading axis
The leading axis is the gantry axis that exists from the point of view of the operator and
programmer and, thus, can be influenced like a standard NC axis.
Leadscrew error compensation
Compensation for the mechanical inaccuracies of a leadscrew participating in the feed. The
control uses stored deviation values for the compensation.
Limit speed
Maximum/minimum (spindle) speed: The maximum speed of a spindle can be limited by
specifying machine data, the PLC or setting data.
Linear axis
In contrast to a rotary axis, a linear axis describes a straight line.
Linear interpolation
The tool travels along a straight line to the destination point while machining the workpiece.
Load memory
The load memory is the same as RAM for the CPU 314 of the PLC.
Look Ahead
The Look Ahead function is used to achieve an optimal machining speed by looking ahead
over an assignable number of traversing blocks.
Glossary
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1813
Machine axes
Physically existent axes on the machine tool.
Machine control panel
An operator panel on a machine tool with operating elements such as keys, rotary switches,
etc., and simple indicators such as LEDs. It is used to directly influence the machine tool via
the PLC.
Machine coordinate system
A coordinate system, which is related to the axes of the machine tool.
Machine zero
Fixed point of the machine tool to which all (derived) measuring systems can be traced back.
Machining channel
A channel structure can be used to shorten idle times by means of parallel motion
sequences, e.g. moving a loading gantry simultaneously with machining. Here, a CNC
channel must be regarded as a separate CNC control system with decoding, block
preparation and interpolation.
Macro techniques
Grouping of a set of statements under a single identifier. The identifier represents the set of
consolidated statements in the program.
Main block
A block prefixed by ":" introductory block, containing all the parameters required to start
execution of a -> part program.
Main program
The part program designated by a number or an identifer in which additional main
programs, subroutines, or cycles can be called.
MDA
Control operating mode: Manual Data Automatic. In the MDA mode, individual program
blocks or block sequences with no reference to a main program or subroutine can be input
and executed immediately afterwards through actuation of the NC start key.
Glossary
Basic Functions
1814 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Messages
All messages programmed in the part program and alarms detected by the system are
displayed on the operator panel in plain text with date and time and the corresponding
symbol for the cancel criterion. Alarms and messages are displayed separately.
Metric measuring system
Standardized system of units: For length, e.g. mm (millimeters), m (meters).
Mirroring
Mirroring reverses the signs of the coordinate values of a contour, with respect to an axis. It
is possible to mirror with respect to more than one axis at a time.
Mode group
Axes and spindles that are technologically related can be combined into one mode group.
Axes/spindles of a BAG can be controlled by one or more channels. The same mode
type is always assigned to the channels of the mode group.
Mode of operation
An operating concept on a SINUMERIK control. The following modes are defined: Jog,
MDA, Automatic.
NC
Numerical Control: Numerical control (NC) includes all components of machine tool control:
NCK, PLC, HMI, COM.
Note
A more correct term for SINUMERIK 840D controls would be: Computerized Numerical
Control
NCK
Numerical Control Kernel: Component of NC that executes the part programs and
basically coordinates the motion operations for the machine tool.
Network
A network is the connection of multiple S7-300 and other end devices, e.g. a programming
device via a connecting cable. A data exchange takes place over the network between the
connected devices.
Glossary
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1815
NRK
Numeric robotic kernel (operating system of NCK)
NURBS
The motion control and path interpolation that occurs within the control is performed based
on NURBS (Non Uniform Rational B-Splines). As a result, a uniform process is available
within the control for all interpolations for SINUMERIK 840D.
OEM
The scope for implementing individual solutions (OEM applications) for the SINUMERIK
840D has been provided for machine manufacturers, who wish to create their own operator
interface or integrate process-oriented functions in the control.
Operator interface
The user interface (UI) is the display medium for a CNC in the form of a screen. It features
horizontal and vertical softkeys.
Oriented spindle stop
Stops the workpiece spindle in a specified angular position, e.g. in order to perform
additional machining at a particular location.
Oriented tool retraction
RETTOOL: If machining is interrupted (e.g. when a tool breaks), a program command can be
used to retract the tool in a user-specified orientation by a defined distance.
Overall reset
In the event of an overall reset, the following memories of the CPU are deleted:
Work memory
Read/write area of load memory
System memory
Backup memory
Override
Manual or programmable control feature, which enables the user to override programmed
feedrates or speeds in order to adapt them to a specific workpiece or material.
Glossary
Basic Functions
1816 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Part program block
Part of a part program that is demarcated by a line feed. There are two types: main
blocks and subblocks.
Part program management
Part program management can be organized by workpieces. The size of the user memory
determines the number of programs and the amount of data that can be managed. Each file
(programs and data) can be given a name consisting of a maximum of 24 alphanumeric
characters.
Path axis
Path axes include all machining axes of the channel that are controlled by the
interpolator in such a way that they start, accelerate, stop, and reach their end point
simultaneously.
Path feedrate
Path feed affects path axes. It represents the geometric sum of the feed rates of the
geometry axes involved.
Path velocity
The maximum programmable path velocity depends on the input resolution. For example,
with a resolution of 0.1 mm the maximum programmable path velocity is 1000 m/min.
PCIN data transfer program
PCIN is an auxiliary program for sending and receiving CNC user data (e.g. part programs,
tool offsets, etc.) via a serial interface. The PCIN program can run in MS-DOS on standard
industrial PCs.
Peripheral module
I/O modules represent the link between the CPU and the process.
I/O modules are:
Digital input/output modules
Analog input/output modules
Simulator modules
Glossary
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1817
PLC
Programmable Logic Control: Programmable logic controller. Component of NC:
Programmable controller for processing the control logic of the machine tool.
PLC program memory
SINUMERIK 840D: The PLC user program, the user data and the basic PLC program are
stored together in the PLC user memory.
PLC programming
The PLC is programmed using the STEP 7 software. The STEP 7 programming software is
based on the WINDOWS standard operating system and contains the STEP 5 programming
functions with innovative enhancements.
Polar coordinates
A coordinate system, which defines the position of a point on a plane in terms of its distance
from the origin and the angle formed by the radius vector with a defined axis.
Polynomial interpolation
Polynomial interpolation enables a wide variety of curve characteristics to be generated,
such as straight line, parabolic, exponential functions (SINUMERIK 840D).
Positioning axis
Axis that performs an auxiliary movement on a machine tool (e.g. tool magazine, pallet
transport). Positioning axes are axes that do not interpolate with path axes.
Pre-coincidence
Block change occurs already when the path distance approaches an amount equal to a
specifiable delta of the end position.
Program block
Program blocks contain the main program and subroutines of part programs.
Programmable frames
Programmable frames enable dynamic definition of new coordinate system output points
while the part program is being executed. A distinction is made between absolute definition
using a new frame and additive definition with reference to an existing starting point.
Glossary
Basic Functions
1818 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Programmable Logic Control
Programmable logic controllers (PLC) are electronic controls, the function of which is stored
as a program in the control unit. This means that the layout and wiring of the device do not
depend on the function of the control. The programmable logic controller has the same
structure as a computer; it consists of a CPU (central module) with memory, input/output
modules and an internal bus system. The peripherals and the programming language are
matched to the requirements of the control technology.
Programmable working area limitation
Limitation of the motion space of the tool to a space defined by programmed limitations.
Programming key
Character and character strings that have a defined meaning in the programming language
for part programs.
Protection zone
Three-dimensional zone within the working area into which the tool tip must not pass.
Quadrant error compensation
Contour errors at quadrant transitions, which arise as a result of changing friction conditions
on the guideways, can be virtually entirely eliminated with the quadrant error compensation.
Parameterization of the quadrant error compensation is performed by means of a circuit test.
R parameters
Arithmetic parameter that can be set or queried by the programmer of the part program for
any purpose in the program.
Rapid traverse
The highest traverse rate of an axis. For example, rapid traverse is used when the tool
approaches the workpiece contour from a resting position or when the tool is retracted
from the workpiece contour. The rapid traverse velocity is set on a machine-specific basis
using a machine data element.
Reference point
Machine tool position that the measuring system of the machine axes references.
Glossary
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1819
Rotary axis
Rotary axes apply a workpiece or tool rotation to a defined angular position.
Rotation
Component of a frame that defines a rotation of the coordinate system around a particular
angle.
Rounding axis
Rounding axes rotate a workpiece or tool to an angular position corresponding to an
indexing grid. When a grid index is reached, the rounding axis is "in position".
Safety Functions
The control is equipped with permanently active montoring functions that detect faults in the
CNC, the PLC, and the machine in a timely manner so that damage to the workpiece,
tool, or machine is largely prevented. In the event of a fault, the machining operation is
interrupted and the drives stopped. The cause of the malfunction is logged and output as an
alarm. At the same time, the PLC is notified that a CNC alarm has been triggered.
Scaling
Component of a frame that implements axis-specific scale modifications.
Selecting
Series of statements to the NC that act in concert to produce a particular workpiece.
Likewise, this term applies to execution of a particular machining operation on a given raw
part.
Serial RS-232-C interface
For data input/output, the PCU 20 has one serial V.24 interface (RS232) while the
PCU 50/70 has two V.24 interfaces. Machining programs and manufacturer and user data
can be loaded and saved via these interfaces.
Setting data
Data, which communicates the properties of the machine tool to the NC, as defined by the
system software.
Glossary
Basic Functions
1820 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Softkey
A key, whose name appears on an area of the screen. The choice of soft keys displayed is
dynamically adapted to the operating situation. The freely assignable function keys (soft
keys) are assigned defined functions in the software.
Software limit switch
Software limit switches limit the traversing range of an axis and prevent an abrupt stop of the
slide at the hardware limit switch. Two value pairs can be specified for each axis and
activated separately by means of the PLC.
Spline interpolation
With spline interpolation, the controller can generate a smooth curve characteristic from only
a few specified interpolation points of a set contour.
SRT
Transformation ratio
Standard cycles
Standard cycles are provided for machining operations, which are frequently repeated:
Cycles for drilling/milling applications
for turning technology
The available cycles are listed in the "Cycle support" menu in the "Program" operating area.
Once the desired machining cycle has been selected, the parameters required for assigning
values are displayed in plain text.
Subblock
Block preceded by "N" containing information for a sequence, e.g. positional data.
Subroutine
Sequence of statements of a part program that can be called repeatedly with different
defining parameters. The subroutine is called from a main program. Every subroutine can be
protected against unauthorized read-out and display. Cycles are a form of subroutines.
Synchronization
Statements in part programs for coordination of sequences in different channels at
certain machining points.
Glossary
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1821
Synchronized actions
1. Auxiliary function output
During workpiece machining, technological functions ( auxiliary functions) can be output
from the CNC program to the PLC. For example, these auxiliary functions are used to
control additional equipment for the machine tool, such as quills, grabbers, clamping
chucks, etc.
2. Fast auxiliary function output
For time-critical switching functions, the acknowledgement times for the auxiliary
functions can be minimized and unnecessary hold points in the machining process can
be avoided.
Synchronized axes
Synchronized axes take the same time to traverse their path as the geometry axes take for
their path.
Synchronized axis
A synchronized axis is the gantry axis whose set position is continuously derived from the
motion of the leading axis and is, thus, moved synchronously with the leading axis. From
the point of view of the programmer and operator, the synchronized axis "does not exist".
Syntax
$SC_IS_SD_MAX_PATH_JERK = value
System memory
The system memory is a memory in the CPU in which the following data is stored:
Data required by the operating system
The operands times, counters, markers
System variables
A variable that exists without any input from the programmer of a part program. It is
defined by a data type and the variable name preceded by the character $. See User-
defined variable.
Glossary
Basic Functions
1822 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Tapping without compensating chuck
This function allows threads to be tapped without a compensating chuck. By using the
interpolating method of the spindle as a rotary axis and the drilling axis, threads can be cut to
a precise final drilling depth, e.g. for blind hole threads (requirement: spindles in axis
operation).
Text editor
See Editor
TOA area
The TOA area includes all tool and magazine data. By default, this area coincides with the
channel area with regard to the reach of the data. However, machine data can be used to
specify that multiple channels share one TOA unit so that common tool management data
is then available to these channels.
TOA unit
Each TOA area can have more than one TOA unit. The number of possible TOA units is
limited by the maximum number of active channels. A TOA unit includes exactly one tool
data block and one magazine data block. In addition, a TOA unit can also contain a
toolholder data block (optional).
Tool
Active part on the machine tool that implements machining (e.g. turning tool, milling tool, drill,
LASER beam, etc.).
Tool nose radius compensation
Contour programming assumes that the tool is pointed. Because this is not actually the case
in practice, the curvature radius of the tool used must be communicated to the control which
then takes it into account. The curvature center is maintained equidistantly around the
contour, offset by the curvature radius.
Tool offset
Consideration of the tool dimensions in calculating the path.
Tool radius compensation
To directly program a desired workpiece contour, the control must traverse an equistant
path to the programmed contour taking into account the radius of the tool that is being used
(G41/G42).
Glossary
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1823
Transformation
Additive or absolute zero offset of an axis.
Traversing range
The maximum permissible travel range for linear axes is 9 decades. The absolute value
depends on the selected input and position control resolution and the unit of measurement
(inch or metric).
User memory
All programs and data, such as part programs, subroutines, comments, tool offsets, and zero
offsets/frames, as well as channel and program user data, can be stored in the shared CNC
user memory.
User Program
User programs for the S7-300 automation systems are created using the programming
language STEP 7. The user program has a modular layout and consists of individual blocks.
The basic block types are:
Code blocks
These blocks contain the STEP 7 commands.
Data blocks
These blocks contain constants and variables for the STEP 7 program.
User-defined variable
Users can declare their own variables for any purpose in the part program or data block
(global user data). A definition contains a data type specification and the variable name. See
System variable.
Variable definition
A variable definition includes the specification of a data type and a variable name. The
variable names can be used to access the value of the variables.
Velocity control
In order to achieve an acceptable traverse rate in the case of very slight motions per block,
an anticipatory evaluation over several blocks ( Look Ahead) can be specified.
Glossary
Basic Functions
1824 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
WinSCP
WinSCP is a freely available open source program for Windows for the transfer of files.
Working area
Three-dimensional zone into which the tool tip can be moved on account of the physical
design of the machine tool. See Protection zone.
Working area limitation
With the aid of the working area limitation, the traversing range of the axes can be further
restricted in addition to the limit switches. One value pair per axis may be used to describe
the protected working area.
Working memory
RAM is a work memory in the CPU that the processor accesses when processing the
application program.
Workpiece
Part to be made/machined by the machine tool.
Workpiece contour
Set contour of the workpiece to be created or machined.
Workpiece coordinate system
The workpiece coordinate system has its starting point in the workpiece zero-point. In
machining operations programmed in the workpiece coordinate system, the dimensions and
directions refer to this system.
Workpiece zero
The workpiece zero is the starting point for the workpiece coordinate system. It is defined
in terms of distances to the machine zero.
Glossary
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1825
Zero offset
Specifies a new reference point for a coordinate system through reference to an existing
zero point and a frame.
1. Settable
SINUMERIK 840D: A configurable number of settable zero offsets are available for each
CNC axis. The offsets - which are selected by means of G functions - take effect
alternately.
2. External
In addition to all the offsets which define the position of the workpiece zero, an external
zero offset can be overridden by means of the handwheel (DRF offset) or from the PLC.
3. Programmable
Zero offsets can be programmed for all path and positioning axes using the TRANS
statement.
Glossary
Basic Functions
1826 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1827
Index
$
$A_MONIFACT, 1628
$AA_ATOL, 209
$AA_ETRANS, 799
$AA_FGREF, 356
$AA_FGROUP, 357
$AA_S, 1284
$AA_VLFCT, 1374
$AA_VMAXB, 1374
$AA_VMAXM, 1374
$AC_ACT_PROG_NET_TIME, 676
$AC_ACTUAL_PARTS, 682
$AC_ASUP, 613
$AC_AUXFU_EXT, 466
$AC_AUXFU_M_EXT, 466
$AC_AUXFU_M_STATE, 466
$AC_AUXFU_M_TICK, 447
$AC_AUXFU_M_VALUE, 466
$AC_AUXFU_PREDEF_INDEX, 452, 465
$AC_AUXFU_SPEC, 463, 466
$AC_AUXFU_STATE, 466
$AC_AUXFU_TICK, 453
$AC_AUXFU_TYPE, 466
$AC_AUXFU_VALUE, 466
$AC_CONSTCUT_S, 1367
$AC_CTOL, 209
$AC_CUT_INV, 1571
$AC_CUTMOD, 1571
$AC_CUTMOD_ANG, 1564, 1571
$AC_CUTTING_TIME, 678
$AC_CYCLE_TIME, 678
$AC_FGROUP_MASK, 357
$AC_OLD_PROG_NET_TIME, 676
$AC_OLD_PROG_NET_TIME_COUNT, 676
$AC_OPERATING_TIME, 678
$AC_OTOL, 209
$AC_PATHACC, 230, 242
$AC_PATHJERK, 241, 242, 243
$AC_PROG_NET_TIME_TRIGGER, 677
$AC_REQUIRED_PARTS, 682
$AC_SGEAR, 1328, 1350
$AC_SMAXACC, 1373
$AC_SMAXACC_INFO, 1373
$AC_SMAXVELO, 1373
$AC_SMAXVELO_INFO, 1373
$AC_SMINVELO, 1373
$AC_SMINVELO_INFO, 1373
$AC_SPECIAL_PARTS, 682
$AC_SPIND_STATE, 1373
$AC_STOLF, 212
$AC_TOTAL_PARTS, 682
$AC_WORKAREA_CS_COORD_SYSTEM, 103
$AC_WORKAREA_CS_LIMIT_MINUS, 103
$AC_WORKAREA_CS_LIMIT_PLUS, 103
$AC_WORKAREA_CS_MINUS_ENABLE, 103
$AC_WORKAREA_CS_PLUS_ENABLE, 103
$AN_AUXFU_LIST_CHANNO, 454
$AN_AUXFU_LIST_ENDINDEX, 456
$AN_AUXFU_LIST_GROUPINDEX, 454
$AN_POWERON_TIME, 675
$AN_SETUP_TIME, 675
$C_AUX_EXT, 648
$C_AUX_IS_QUICK, 648
$C_AUX_VALUE, 648
$C_D, 654
$C_D_PROG, 654
$C_DL, 655
$C_DL_PROG, 654
$C_M, 648, 655
$C_M_PROG, 648, 655
$C_ME, 648, 655
$C_T, 654
$C_T_PROG, 654
$C_TE, 654
$C_TS, 654
$C_TS_PROG, 654
$P_AD[10], 1571
$P_AD[11], 1572
$P_AD[2], 1571
$P_AD[24], 1572
$P_CHANNO, 592
$P_CONSTCUT_S, 1367
$P_CTOL, 209
$P_CUT_INV, 1571
$P_CUTMOD, 1571
$P_CUTMOD_ANG, 1564, 1571
$P_FGROUP_MASK, 357
$P_GEAR, 1350
$P_ISTEST, 502
$P_OTOL, 209
$P_PROG_EVENT, 591
$P_REPINF, 609
$P_SEARCH_S, 449, 515
$P_SEARCH_SDIR, 449, 515
Index
Basic Functions
1828 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
$P_SEARCH_SGEAR, 449, 515, 1329
$P_SEARCH_SPOS, 450, 515
$P_SEARCH_SPOSMODE, 450, 515
$P_SGEAR, 1329
$P_STOLF, 212
$P_SUB_AUTOGEAR, 664
$P_SUB_AXFCT, 663, 667
$P_SUB_CA, 664, 667
$P_SUB_GEAR, 663
$P_SUB_LA, 664, 667
$P_SUB_M19, 667
$P_SUB_SPOS, 667
$P_SUB_SPOSA, 667
$P_SUB_SPOSIT, 667
$P_SUB_SPOSMODE, 667
$P_SUB_STAT, 651
$P_TOOLENV, 1617
$P_TOOLENVN, 1616
$PA_ATOL, 209
$PA_FGREF, 356
$PA_FGROUP, 357
$SC_IS_SD_MAX_PATH_ACCEL, 228
$SC_IS_SD_MAX_PATH_JERK, 241
$SC_SD_MAX_PATH_ACCEL, 228
$SC_SD_MAX_PATH_JERK, 240
$TC_DP1, 1561
$TC_DP10, 1562
$TC_DP11, 1561
$TC_DP2, 1561, 1566
$TC_DP24, 1562
$TC_DPCE[t,d], 1460
$TC_DPNT, 1395
$VC_SGEAR, 1328
_
_N_PROG_EVENT_SPF, 516, 587
3
3D-face milling, 1487
6
611D Ready, 35
8
840D sl
Ethernet connection, 916
840D with integrated PLC
Interface HMI/PLC, 879
Interface MCP / PLC and HHU / PLC, 879
NCK/PLC interface, 878
A
ACC, 1360
ACC[axis], 226
Acceleration correction
in the part program/synchronized action, 1437
Access authorization, 62
Access features, 63
Access method, 1121
Access security, 62
ACN, 1359
ACP, 1359
Action blocks, 512
Action single block, 503
Activation
from machine control panel, hand-held unit, 915
Actual value, 1128
Actual value synchronization, 46
Actual value in workpiece coordinate system, 38
Actual-value acquisition, 358
Actual-value correction, 360
Actual-value processing, 367
Actual-value resolution, 369
Actual-value system
Workpiece-related, 819
Adaptation factor
Dynamic path response, 186
Adapter dimension, 1488
Adapting the motor/load ratios, 364
ADDFRAME, 798
Address
Input, absolute, 1133
Input, symbolic, 1133
Ranges, 1119
Addressing
Absolute, 1122
Direct, 1121, 1133
Indirect, 1122, 1133
Symbolic, 1122
Adjustments to actual-value resolution, 372
AG_SEND, AG_RECV, 904
Air temperature alarm, 36
Alarm
Display, 270
Handler, 270
Log, 270
Alarm for preprocessing stop, 1527
Index
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1829
ALF, 609
Angle
Clearance, 1562
Holder, 1562
ANY, 1096
ANY in FB, 1097
ANY in FC, 1096
Assignment tool/toolholder, 1532
ASUB
Activating, 600
after block search with calculation, 513
Internal, 612
Priority, 609
Reorganization, 600
SERUPRO end, 457
ASUBs, 903
ATOL, 207
ATRANS, 699
Autonomous single-axis operations, 557
AUXFUDEL, 458
AUXFUDELG, 458
AUXFUMSEQ, 447
AUXFUSYNC, 457
Auxiliary function
Associated, 431
Counter, 453
Output behavior, 422
Auxiliary Function
Address extension, 421
Definition, 398
Predefined, 397
Type, 421
User-defined, 397
Value, 422
Auxiliary function output, 563
Auxiliary functions
Pre-defined, 405
User-specific, 428
Axis clamping, 84
Axis configuration, 716
Axis disable, 39
Axis monitoring, 77
Axis monitoring functions
Actual velocity, 93
Axis/spindle-specific setting data, 141
Constraints, 126
Following error, 79
Speed setpoint, 92
Zero speed, 83
Axis/spindle disable DB31, ... DBX1.3, 1418
Axis/spindle stationary, 49
B
BAG, 897
Basic block display
Activating, 628
Configure, 627
Basic coordinate system (BCS), 697, 726
Basic display
Size of display buffer, 628
Basic orientation of tool, example, 1632
Basic orientation of tools, 1578
Basic tool orientation, 1577
Block
Hide, 623
Block search
Cascaded, 510
Time sequence of types 1, 2 and 4, 510
with calculation at block end point (type 4), 510
with calculation at the contour (type 2), 509
with calculation in program test mode, SERUPRO
(type 5), 510
without calculation (type 1), 509
Block search SERUPRO, 523
Automatic interrupt pointer, 549
Conditions for axis functions, 557
Control REPOS with VDI interface signals, 535
Coupled axes, 556
Definition SERUPRO ASUB, 525
Definition SERUPRO operation, 525
Delayed approach of axis with REPOS offset, 533
Gear stage change, 558
Initial setting, 560
Master-slave, 555
Overlaid movements, 559
Path axes, 533
Prefer or ignore REPOS, 532
Programmable interrupt pointer, 546
REPOS acknowledgments, 535
REPOS offset after an axis replacement, 538
REPOS offset with synchronous spindle
coupling, 538
REPOS operation, 529
Reposition positioning axes, 532
Repositioning with controlled REPOS, 531
Set REPOS response, 530
Setpoint and actual value couplings, 553
Supported functions, 523, 551
System variable for recognition, 561
Time sequence, 524
Updating the REPOS offset within the scope, 537
Block search with calculation
Accumulated spindle functions, 515
Collected actual position, 513
Index
Basic Functions
1830 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Current actual position, 513
Block-related limit (FOC), 325
BLSYNC, 609
BRISK, 223
BRISKA, 223
C
Cancel alarms, 37
Cascaded block search, 517
CFC, 1393
CFCIN, 1393
CFINE, 699
CFTCP, 1393
Channel
Configuration, 497
Current, 592
Display status, 571
Initial setting, 563
Path interpolator, 496
Properties, 496
Statuses, 571
Channel axes, 705
Channel axis identifiers with FXS, 306
Channel status
Channel active, 490
Channel interrupted, 490
Channel reset, 490
Channel-specific basic position after power up,
RESET, 846
Channel-specific diameter programming, 847
Channel-specific NCK alarm is active, 36
Chart status, 1164
Clamping monitoring, 84
Clearance angle, 1562
Closed-loop control, 379
CLRINT, 610
Collision detection, 1519
Communication log, 296
COMPCAD, 200
COMPCURV, 200
Compensation number, 1460
COMPON, 200
Compression mode, 202
Computational resolution, 340
Concurrent axes, 902
Constant, 1126
Constant curvature, 1495
Constant cutting rate, 845
Constant cutting rate (G96), 1397
Constant cutting rate G96, G961, G962
Geometry axis as transverse axis, 1398
Interrupts, 1401
Constant cutting rate setting, 1366
Constant speed G97, G971, 1398
Constant tangent, 1495
Continuous-path mode, 153
Implicit, 156
Contour
Sampling factor, 198
Sampling time, 198
Tolerance, 206
Contour error, 78
Contrast, 54
Control direction, 367
Control system response
at the end of the parts program, 638
at the start of the parts program, 638
during power-up, 638
when resetting, 638
Controller enable, 44
Controller parameter set switchover, 67
Conversion of basic system, 349
Counter pulse, 683
Cross reference, 1114
CTOL, 207
CTRANS, 699
Current controller active, 49
Curvature, 196
Cut direction, 1561
Cutting edge
Center point, 1564
Position, 1561, 1566
Reference point, 1564
Shape, 1563
Cutting edge number, 1460
Cutting edge position, 1483
Relevant, 1491
Cyclic operation, 896
Cyclic signal exchange, 34
D
D functions, 402, 1455
D number structure
flat (without tool management), 1470
D numbers
Allocation of free ..., 1459
D/DL function replacement, 649
Darken screen, 37
Data
Block, 1113, 1128
Classes, 1112, 1141
Format, 1168
Index
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1831
Type, 1124
Data channel, faster, 58
Data exchange
with control panel, 877
Data interface, 880
Data type
Test, 1124
DB 31, ...
DBB16-19, 1303
DBB82-91, 1303
DBX1.5, 94
DBX1.6, 94
DBX12.0, 95
DBX12.1, 95
DBX12.2, 96
DBX12.3, 96
DBX16.0-16.2, 1338
DBX16.3, 1336, 1338
DBX18.4, 1335, 1336
DBX18.5, 1335, 1336, 1337, 1338
DBX18.6, 1336
DBX18.7, 1336
DBX4.3, 1336
DBX60.0, 1303
DBX60.2, 1377
DBX60.3, 1377
DBX60.4, 1244, 1377
DBX60.4/60.5, 1337, 1338
DBX60.5, 1244, 1377
DBX60.6, 83, 1379
DBX60.7, 83, 1379
DBX61.5, 1337
DBX64.6, 83
DBX64.7, 83
DBX70.0, 559
DBX70.1, 559
DBX82.0-82.2, 1334, 1337
DBX82.3, 1334, 1337, 1338
DBX83.1, 1295
DBX84.6, 1337
DB10
DBB4-7, 839
DBX103.0, 1649
DBX103.0, 36
DBX103.5, 1649
DBX103.6, 1649
DBX103.7, 1649
DBX104.3, 917
DBX104.4, 917
DBX104.7, 35, 900, 1650
DBX106.1, 838, 840, 841, 1757
DBX107.7, 351
DBX108.3, 35, 1650
DBX108.6, 35, 1650
DBX108.7, 35, 1651
DBX109.0, 36, 1651
DBX109.5, 1652
DBX109.6, 36, 1652
DBX109.7, 36, 1653
DBX180.2, 1650
DBX56.1, 45, 567, 837, 839, 841, 1755
DBX56.2, 837, 840, 1756
DBX56.4, 65
DBX56.4 - DBX56.7, 1648
DBX56.5, 65
DBX56.6, 65
DBX56.7, 65
DBX92.0, 899
DBX92.1, 899
DB11
DBX0.0, 489, 492, 1723
DBX0.1, 489, 1224, 1227, 1723
DBX0.2, 489, 1224, 1227, 1723
DBX0.4, 495, 1724
DBX0.5, 487, 1724
DBX0.6, 487, 1725
DBX0.7, 487, 569, 840, 1226, 1228, 1229, 1725
DBX07.7, 567
DBX1.0, 1726
DBX1.0-1.2, 490
DBX1.1, 1726
DBX1.2, 1224, 1227, 1726
DBX1.6, 621, 1727
DBX1.7, 621, 1727
DBX26.4, 493
DBX26.5, 493
DBX4.0, 1728
DBX4.0-4.2, 489
DBX4.1, 1728
DBX4.2, 1728
DBX4.4, 567
DBX46.4, 493
DBX46.5, 493
DBX5.0, 1728
DBX5.0-5.2, 490
DBX5.1, 1729
DBX5.2, 1729
DBX6.0, 489, 493, 1730
DBX6.1, 489, 493, 1730
DBX6.2, 489, 493, 1730
DBX6.3, 487, 838, 841, 1730
DBX6.4, 493
DBX6.5, 493
DBX6.7, 487, 1731
Index
Basic Functions
1832 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DBX7.0, 493, 1731
DBX7.0-7.2, 490
DBX7.1, 493, 1732
DBX7.2, 493, 1732
DB1600, 1109
DB19
DBB12, 1660
DBB13, 38, 1660
DBB16, 38
DBB17, 38
DBB2, 1655
DBB26, 38
DBB27, 38
DBB4, 1656
DBX 0.3, 37
DBX 0.4, 37
DBX0.0, 37, 1653
DBX0.1, 37, 1654
DBX0.2, 37, 1654
DBX0.3, 1654
DBX0.4, 1655
DBX0.7, 38, 1655
DBX10.0, 1656
DBX10.1, 1656
DBX10.2, 1657
DBX10.7, 1657
DBX12.2, 1657
DBX12.3, 1657
DBX12.4, 1657
DBX12.5, 1658
DBX12.6, 1658
DBX12.7, 1658
DBX13.5, 1659
DBX13.6, 1659
DBX13.7, 1659
DBX14.0, 1660
DBX14.1, 1660
DBX14.2, 1660
DBX14.3, 1660
DBX14.4, 1660
DBX14.5, 1660
DBX14.6, 1660
DBX14.7, 1660
DBX15.0, 1660
DBX15.1, 1660
DBX15.2, 1660
DBX15.3, 1660
DBX15.4, 1660
DBX15.5, 1660
DBX15.6, 1660
DBX15.7, 1660
DBX16.0, 1660
DBX16.1, 1660
DBX16.2, 1660
DBX16.3, 1660
DBX16.4, 1660
DBX16.5, 1660
DBX16.6, 1660
DBX16.7, 1661
DBX17.0, 1661
DBX17.1, 1661
DBX17.2, 1661
DBX17.3, 1661
DBX17.4, 1661
DBX17.5, 1661
DBX17.6, 1661
DBX17.7, 1661
DBX20.1, 1662
DBX20.3, 37, 1654, 1662
DBX20.4, 37, 1655, 1662
DBX20.6, 1663
DBX20.7, 1655, 1663
DBX22.0 - DBX22.7, 1663
DBX24.0, 1663
DBX24.1, 1664
DBX24.2, 1664
DBX24.3, 1664
DBX24.4, 1665
DBX24.5, 1665
DBX24.6, 1665
DBX24.7, 1666
DBX25.0 - DBX25.7, 1666
DBX26.1, 1667
DBX26.2, 1667
DBX26.3, 1667
DBX26.5, 1667
DBX26.6, 1668
DBX26.7, 1668
DBX27.0 - DBX27.7, 1668
DBX40.0 - DBX40.7, 1669
DBX41.0 - DBX41.7, 1669
DBX42.0, 1669
DBX44.0, 1661
DBX45.0, 1661
DBX45.1, 1661
DBX45.2, 1661
DBX45.3, 1661
DBX6.0, 1656
DBX6.1, 1656
DBX6.2, 1656
DBX6.3, 1656
DBX6.4, 1656
DBX6.5, 1656
DBX6.6, 1656
Index
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1833
DBX6.7, 1656
DBX7.0, 1656
DBX7.1, 1656
DBX7.2, 1656
DBX7.3, 1656
DBX7.4, 1656
DBX7.5, 1656
DBX7.6, 1656
DBX7.7, 1656
DBX8.0, 1656
DBX8.1, 1656
DBX8.2, 1656
DBX8.3, 1656
DBX8.4, 1656
DBX8.5, 1656
DBX8.6, 1656
DBX8.7, 1656
DB21, ...
D35.5, 568
DBB116 - DBB136, 440
DBB118 - DBB119, 1719
DBB129, 1720
DBB140 - DBB157, 1720
DBB140 - DBB190, 440
DBB158 - DBB193, 1721
DBB194, 1361
DBB194 - DBB206, 440, 1721
DBB202, 1361
DBB208 - DBB271, 1747
DBB35, 524
DBB376, 586, 1751
DBB4, 1776
DBB5, 1778
DBB58, 1717
DBB58 - DBB67, 440
DBB60 - DBB64, 1718
DBB60 - DBB65, 1717
DBB66 - DBB67, 1718
DBB68 - DBB112, 440
DBB68 - DBB97, 1718
DBB68ff., 1361
DBB98 - DBB115, 1719
DBX0.4, 504, 1732
DBX0.5, 1733
DBX0.6, 506, 1775
DBX1.0, 1227, 1758
DBX1.1, 1707
DBX1.6, 511, 514, 1733
DBX1.7, 501, 567, 1734
DBX10.0 - DBX11.1, 1707
DBX10.0 to DBX11.1, 118
DBX12.3, 1782
DBX16.3, 1782
DBX2.0, 508, 568, 1734
DBX2.0-7, 624
DBX20.3, 1782
DBX24.6, 506, 1782
DBX25.3, 1783
DBX25.7, 501
DBX26.0, 507
DBX272.0 - DBX273.1, 1708
DBX272.0 to 273.1, 117
DBX274.0 - DBX275.1, 1708
DBX274.0 to 275.1, 117
DBX276.0 - DBX277.1, 1709
DBX276.0 to DBX277.1, 117
DBX278.0 - DBX279.1, 1709
DBX278.0 to DBX279.1, 117
DBX29.0 - DBX29.3, 1783
DBX30.5, 432, 1717
DBX31.0 - DBX31.2, 1737
DBX31.0-31.2, 533, 535, 540
DBX31.4, 533, 534, 535, 1738
DBX31.6/7, 624
DBX310.1-319.3, 535, 536, 537
DBX318.0, 602, 1747
DBX318.1, 1748
DBX318.5, 432, 1722
DBX318.7, 1671
DBX319.0, 534, 535, 1749
DBX319.1- DBX319.3, 1749
DBX319.1-319.3, 534
DBX319.5, 535, 538, 1751
DBX32.3, 511, 1738
DBX32.4, 511, 512, 1738
DBX32.5, 1739
DBX32.6, 450, 511, 1739
DBX33.0, 1227, 1758
DBX33.4, 511, 1740
DBX33.5, 1740
DBX33.6, 1741
DBX33.7, 502, 1742
DBX35.0, 567, 570, 1742
DBX35.1, 570, 1743
DBX35.2, 570, 1743
DBX35.3, 504, 568, 570, 1743
DBX35.4, 570, 586, 1744
DBX35.5, 567, 571, 1744
DBX35.6, 566, 571, 1744
DBX35.7, 566, 570, 571, 586, 1745
DBX36.2, 1225, 1228, 1759
DBX36.3, 1712
DBX36.4, 1745
DBX36.5, 1745
Index
Basic Functions
1834 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DBX36.6, 36, 514, 1651, 1670
DBX36.7, 36, 514, 1651, 1670
DBX37.6, 1746
DBX37.7, 1746
DBX378.0, 1751
DBX378.1, 1752
DBX384.0, 575, 1752
DBX59.0 - DBX59.4, 1718
DBX6.0, 1780
DBX6.1, 1289, 1322, 1734
DBX6.2, 38, 1669
DBX6.4, 1735
DBX6.6, 1780
DBX6.7, 1781
DBX7.0, 567, 1735
DBX7.1, 502, 511, 569, 1735
DBX7.2, 567, 568, 1736
DBX7.3, 567, 568, 1736
DBX7.4, 567, 568, 1324, 1372, 1737
DBX7.5, 500
DBX7.7, 567, 569, 840, 1226, 1228, 1229, 1303,
1737
DBX8.0 - DBX9.1, 1707
DBX8.0 to DBX9.1, 118
DB21,
DBX378.0, 600
DBX378.1, 608
DB31, ...
DBB0, 1784
DBB1.5, 1272
DBB1.6, 1272
DBB19, 1788
DBB2.1, 1272
DBB60.4, 1254, 1264, 1267
DBB60.5, 1254, 1264, 1267
DBB68ff., 1361
DBB78 - DBB81, 1790
DBB86 - DBB87, 1774
DBB88 - DBB91, 1774
DBD 78, 1722
DBD86, 1722
DBD88, 1722
DBX1.0, 39, 48, 1671
DBX1.1, 1714
DBX1.2, 1714
DBX1.3, 39, 1372, 1672
DBX1.4, 40, 43, 46, 84, 91, 1258, 1259, 1674
DBX1.5, 44, 359, 1229, 1243, 1312
DBX1.5 - DBX1.6, 1675
DBX1.6, 44, 359, 1229, 1243, 1312
DBX1.7, 1786
DBX10.0, 530, 532, 533, 535, 536, 540, 1752
DBX12.0 - DBX12.1, 1710
DBX12.2 - DBX12.3, 1710
DBX12.7, 1233, 1234, 1235, 1236, 1760
DBX16.0 - 16.2, 384
DBX16.0 - DBX16.2, 1763
DBX16.0-16.2, 1285, 1318, 1323, 1324, 1325,
1330, 1342
DBX16.3, 1281, 1285, 1318, 1323, 1324, 1325,
1342, 1346, 1764
DBX16.4, 1312
DBX16.4 - DBX16.5, 1764
DBX16.5, 1312
DBX16.7, 1372, 1765
DBX17.0, 1345
DBX17.4 - DBX17.5, 1765
DBX17.4/17.5, 1341
DBX17.6, 1353, 1765
DBX18.4, 1341, 1766
DBX18.5, 1285, 1318, 1341, 1372, 1767
DBX18.6 - DBX18.7, 1768
DBX2.1, 40, 43, 44, 45, 1229, 1243, 1258, 1259,
1341, 1678
DBX2.2, 47, 85, 512, 531, 1284, 1292, 1324, 1372,
1679, 1762
DBX2.3, 84, 91, 1709
DBX2.4 - DBX2.7, 1759
DBX2.4/ .5/ .6/ .7, 1241
DBX20.0, 1681
DBX20.1, 1325, 1681
DBX20.2, 1682
DBX20.3, 286, 1682
DBX21.0, 50, 287
DBX21.0 - DBX21.2, 1683
DBX21.1, 50, 287
DBX21.2, 50, 287
DBX21.3, 50, 288
DBX21.3 - DBX21.4, 1684
DBX21.4, 50, 288
DBX21.5, 50, 1684
DBX21.6, 50, 1685
DBX21.7, 45, 51, 283, 1685
DBX28.7, 499
DBX3.0, 799, 834, 1755
DBX3.1, 1715
DBX3.2 - DBX3.5, 1787
DBX3.6, 1710
DBX3.7, 557
DBX30.0, 1363
DBX30.1, 1363
DBX30.2, 1363
DBX30.3, 1363
DBX30.4, 1363
Index
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1835
DBX39.0, 119, 120, 121, 122
DBX4.3, 1372, 1787
DBX4.6, 1224
DBX4.7, 1224
DBX60.0, 1768
DBX60.2 - DBX60.3, 1711
DBX60.4, 43, 1225, 1226, 1228, 1229, 1241, 1244,
1252, 1256, 1258, 1259, 1760
DBX60.4/60.5, 1331, 1341, 1342
DBX60.5, 43, 841, 1225, 1226, 1228, 1229, 1241,
1244, 1252, 1256, 1258, 1259, 1761
DBX60.6, 43, 91, 1288, 1296, 1299, 1300, 1712
DBX60.7, 43, 91, 1244, 1296, 1299, 1300, 1346,
1713
DBX61.0, 39, 48, 1686
DBX61.3, 40, 48, 1258, 1259, 1686
DBX61.4, 48, 49, 1258, 1284, 1285, 1291, 1318,
1370, 1687
DBX61.5, 45, 49, 1283, 1341, 1687
DBX61.6, 45, 49, 1688
DBX61.7, 49, 1688
DBX62.2, 1396, 1790
DBX62.4, 312, 317, 1715
DBX62.5, 277, 312, 317, 1716
DBX64.6, 445
DBX64.7, 445
DBX68.0-68.3, 1364
DBX69.0, 49, 68
DBX69.0 - DBX69.2, 1689
DBX69.0-69.2, 1330
DBX69.1, 49, 68
DBX69.2, 49, 68
DBX7.7, 1372
DBX70.0, 535, 537, 1753
DBX70.1, 535, 537, 1753
DBX70.2, 535, 536, 537, 1753
DBX71.4, 1313, 1761
DBX71.4/5, 1245
DBX71.5, 1313, 1761
DBX72.0, 535, 1754
DBX76.0, 49, 1689
DBX76.4, 535, 538, 1754
DBX82.0 - DBX82.2, 1769
DBX82.0-82.2, 1318, 1320, 1321, 1323, 1341, 1344
DBX82.3, 1318, 1320, 1321, 1334, 1341, 1344,
1769
DBX83.0, 1375, 1770
DBX83.1, 1284, 1320, 1322, 1371, 1372, 1770
DBX83.2, 1320, 1322, 1371, 1372, 1770
DBX83.5, 1284, 1285, 1289, 1291, 1371, 1771
DBX83.7, 1771
DBX84.0, 1366
DBX84.3, 1772
DBX84.5, 1341, 1346, 1772
DBX84.6, 1281, 1334, 1341, 1344, 1346, 1773
DBX84.7, 1283, 1319, 1342, 1773
DBX85.5, 1300, 1773
DBX9.0, 47, 49, 67
DBX9.0 - DBX9.2, 1680
DBX9.1, 47, 49, 67
DBX9.2, 47, 49, 67
DBX9.3, 48, 1680
DBX92.0, 287, 1690
DBX92.1, 51, 284, 1690
DBX92.2, 286, 1691
DBX92.3, 286, 1691
DBX93.0, 50, 51, 287
DBX93.0 - DBX93.2, 1692
DBX93.1, 50, 51, 287
DBX93.2, 50, 51, 287
DBX93.3, 52, 288
DBX93.3 - DBX93.4, 1692
DBX93.4, 52, 288
DBX93.5, 35, 45, 52, 284, 1650, 1693
DBX93.6, 51, 52, 286, 1693
DBX93.7, 51, 52, 284, 1694
DBX94.0, 52, 289, 1696
DBX94.1, 52, 289, 1697
DBX94.2, 52, 290, 1698
DBX94.3, 53, 290, 1700
DBX94.4, 53, 290, 1702
DBX94.5, 53, 290, 1702
DBX94.6, 53, 291, 1703
DBX94.7, 1704
DBX95.0, 1705
DBX95.7, 289, 1706
DB4500, 1110
DB9000 ... DB9063, 1109
DC, 1359
Decoding single block, 503
Default passwords, 64
Defective drive modules
Identification of, 298
Delete distance-to-go, 38, 1427
DELTOOLENV, 1615
Description of a rotation, 1543
DIACYCOFA, 848
DIAM90, 847
DIAM90/DIAM90A[AX], 849
DIAM90A, 848
DIAMCHAN, 848
DIAMCHANA, 848
DIAMCYCOF, 847
DIAMCYCOF/DIACYCOFA[AX], 849
Index
Basic Functions
1836 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
DIAMOF, 847
DIAMOFA, 848
DIAMON, 847
DIAMON/DIAMONA[AX], 849
DIAMONA, 848
Direct control key
Address, 917
Interrupts, 917
OPs at Ethernet Bus, 917
Direction vector, 1578
DISABLE, 610
DISC, 1514
Display block, structure (DIN), 630
Display resolution, 54, 340
Displaying position values in the diameter, 851
DL functions, 402
DRIVE, 257
Drive Ready, 35
Drive test travel enable, 39
Drive test travel request, 48
DRIVEA, 258
Dry run feedrate, 505, 1424
Dynamic response
Adaptation, 184
Dynamic response adaptation, 381
Dynamic response of an axis/spindle, 1435
DYNFINISH, 193
DYNNORM, 193
DYNPOS, 193
DYNROUGH, 193
DYNSEMIFIN, 193
E
EMERGENCY STOP
Acknowledgment, 840
Interface, 837
Sequence, 838
Emergency stop control elements, 837
ENABLE, 610
Encoder coding, 371
Encoder directly at the tool, 365
End-of-motion criterion
Programmable in program/synchronized
action, 1439
Ethernet
Connection, 915
Evaluation of individual wear components, 1611
Event-controlled program sequences, 582
Exact stop, 148
Implicit, 153
Exact-stop criteria, 149, 150
Execute external subroutine, 634
External program memory, 634
External work offset, 851
F
F functions, 403
FA, 1360
FA functions, 403
FB1 RUN_UP (Basic program, start-up section), 946
FB10 Safety relay, 1006
FB11 Brake test, 1008
FB2 GET (Read NC Variable), 954
FB29 Signal recorder and data trigger
diagnostics, 1014
FB3 PUT (write NC variables), 961
FB4 PI_SERV (PI services), 968
Available PI services, 971
General PI services, 972
PI services tool management, 976
FB5 GETGUD (read GUD variable), 990
FB7 PI_SERV2 (PI services), 997
FB9 MzuN (control units switchover), 1001
FC10 AL_MSG, 1037
FC12 AUXFU, 1039
FC13 BHGDisp, 1040
FC17, 1044
FC18 SpinCtrl, 1047
FC19 / MCP_IFM, 1058
FC2 GP_HP (Basic program, cyclic section), 1018
FC21 Transfer, 1064
FC22 TM_DIR, 1072
FC24 MCP_IFM2, 1074
FC25 / MCP_IFT, 1078
FC3 GP_PRAL (Basic program, diagnostics), 1022
FC3 GP_PRAL (Basic program, interrupt-driven
section), 1019
FC6 TM_TRANS2, 1023
FC7 TM_REV, 1024
FC8 TM_TRANS, 1027
FC9 ASUP, 1034
Feed
for chamfer/rounding, 1433
Non-modal, 1434
Override switch, 1418
Types, 1389
Feedrate
Inverse-time (G93), 1394
Linear (G94), 1394
Path feedrate F, 1392
Revolutional (G95), 1395
Tooth, 1395
Index
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1837
Types (G93, G94, G95), 1394
Feedrates
Dry run feedrate, 1424
Feed disable, 1417
Feed override, 1423
Feedrate control, 1416
Feedrate override, 1418
Feedrate/spindle stop, 1417
Feedrates in one block, 1426
Rigid tapping G331/G332, 1412
Spindle override, 1421
Thread cutting G33, 1402
FGROUP, 711, 714
FIFO Buffer, 634
Fine interpolation, 380
Fine offset, 699
FIPO, 380
Firmware, 1107
Fixed feedrate values, 1431
FL, 1393
Flat D number structure, 1470
Follow-up mode active, 48
Foreground language, 54
Format
Identifier, 1126
FPRAOF, 1359
FPRAON, 1359
FRAME, 705
Frame change, 1534
Frame rotations, 700
in the direction of the tool, 806
with solid angles, 804
Free-form surface
Mode, 146
Free-form surfaces, 197
Mode, 196
Function interface, 881
Function overview of inch/metric switchover
Data backup, 354
Rounding machine data, 354
Synchronized actions, 347
Function selection (via operator panel front or
PLC), 622
FXS REPOS, 318
FZ, 1395
G
G groups, 564
G0 tolerance factor, 210
G25, 100, 1360
G26, 100, 1360
G40, 1493
G41, 1493
G42, 1493
G450/G451, 1513
G451, 1515
G460, 1529
G461, 1453, 1529
G462, 1453, 1530
G58, 699
G59, 699
G60, 149
G601, 150
G602, 150
G603, 150
G64, 156
G642, 162
G643, 162
G644, 165
G645, 170
G9, 149
G91 extension, 1574
Zero point offset, 1575
G93, 1394
G94, 1394
G95, 1395
G96, G961, G97, G971, 1397
Gap, 486
Gear stage
Manual entry, 1323
Specification by PLC, 1322
Gear stage change
Automatic, 1379
Gear stages, 1314
Gear step
in M70, 1347
Geometry axes, 705, 711, 726
Geometry axes during handwheel traveling, 851
GETTCOR, 1618
Compatibility, 1624
Orientable toolholder, 1623
GETTENV, 1617
GOTOS, 576
Grouping together auxiliary functions, 421
H
H functions, 401
Hardware interrupt, 899
Hardware limit switches, 95
Helical interpolation, 715
Helix interpolation, 715
High-speed data channel, 58
Index
Basic Functions
1838 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
HMI CPU1 Ready, 35
Hold block, 546
Holder angle, 1562
Homing
in rotary absolute encoders, 1268
with incremental measurement system, 1231
I
IC, 1359
ID check, 683
Implicit continuous-path mode, 156
Implicit exact stop, 153
Implicit preprocessing stop, 550
Incrementally programmed compensation values, 1574
Input resolution, 340
Interface
PLC/HMI, 886
PLC/HMI-Messages, 887
PLC/MCP, 891
PLC/NCK, 880
Interface signals
611D Ready, 1650
Acknowledge EMERGENCY STOP, 1756
Acknowledge fixed stop reached, 1714
Action block active, 1738
Activate associated M1, 1717
Activate channel-specific protection zone, 1707
Activate dry run feed, 1775
Activate fixed feed rate 1 - 4 for machine
axes, 1787
Activate fixed feed rate 1 - 4 for path/geometry
axes, 1783
Activate M01, 1733
Activate machine-specific protection zone, 1707
Activate program test, 1734
Activate referencing, 1758
Activate single block, 1732
Activate travel to fixed stop, 1715
Active, 1667
Active drive parameter set A, B, C, 1692
Active G function of groups 1 to 60, 1747
Active JOG mode, 1730
Active machine function REF, 1732
Active machine function TEACH IN, 1731
Active mode AUTOMATIC, 1730
Active mode MDA, 1730
Active motor A, B, 1692
Active or passive file system, 1660, 1661
Active REPOS machine function, 1732
Active spindle control mode, 1773
Active spindle mode oscillation mode, 1773
Active spindle positioning mode, 1772
Actual direction of rotation clockwise, 1771
Actual gear stage A to C, 1763
Actual value in WCS, 1655
Air temperature alarm, 1652
Alarm area selection, 1656
All axes stationary, 1712
All axes that have to be referenced are
referenced, 1759
All channels in the reset state, 1731
Analog spindle 1, utilization in percent, 1656
Analog spindle 2, utilization in percent, 1656
Approach block active, 1738
Associated M01/M00 active, 1722
ASUB is stopped, 1747
ASUP active, 1751
AT box ready, 1649
AUTOMATIC mode, 1723
Axis/spindle disable, 1672
Axis/spindle stationary, 1687
Block search active, 1740
Block search via program test is active, 1748
Cancel alarm cleared, 1662
Change gear, 1769
Channel is ready, 1745
Channel No. (FC9\ ChanNo), 1669
Channel number of the machine control panel to
HMI, 1656
Channel status active, 1744
Channel status interrupted, 1744
Channel status reset, 1745
Channel-specific NCK alarm is active, 1670
Channel-specific protection zone preactivated, 1708
Channel-specific protection zone violated, 1709
Clamping in progress, 1709
Clear cancel alarms, 1654
Clear recall alarms, 1655
COM1, 1657, 1664
COM2, 1657, 1664
Control program branching, 1752
Controller enable, 1678
Controller parameter set switchover (checkback
signal), 1689
Controller parameter set switchover (request), 1680
Current controller active, 1688
D function 1, 1720
Darken screen, 1654
Data transfer error, 1668
Delete distance-to-go (axis-specific)/Spindle
reset, 1679
Delete distance-to-go (channel-specific), 1669
Delete S value, 1765
Index
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1839
Disable parameter set switchover commands from
NC, 1680
Displayed channel number from HMI, 1663
Drive parameter set selection A, B, C, 1683
Drive Ready, 1693
Drive test travel enable, 1671
Drive test travel request, 1686
Dry run feed rate selected, 1782
Dynamic M functions M0 - M99, 1721
EMERGENCY STOP, 1755
EMERGENCY STOP active, 1757
Enable protection zones, 1707
Enable travel to fixed stop, 1715
Encoder limit frequency exceeded, 1711
Error, 1663, 1667
Error RS-232-C, 1666
Extended address F functions 1 to 6, 1721
Extended address H functions 1 to 3, 1720
Extended address M functions 1 to 5, 1718
Extended address S functions 1 to 3, 1719
External zero offset, 1755
F function for positioning axis, 1790
FC9 Out\ Active, 1661
FC9 Out\ Done, 1661
FC9 Out\ Error, 1661
FC9 Out\ StartError, 1661
FC9\ Start (measuring in Jog), 1669
Feed disable, 1780
Feed rate override (axis-specific), 1784
Feed rate override selected for rapid traverse, 1783
Feed stop (Geometry axis 1 to 3), 1782
Feed stop/spindle stop (axis-specific), 1787
Feedrate override, 1776
Feedrate override active, 1781
Fixed stop reached, 1716
Follow-up mode, 1674
Follow-up mode active, 1686
Gear is changed over, 1764
Hardware limit switches plus and minus, 1710
Heatsink temperature prewarning, 1697
Higraph first error display, 1655, 1656
HMI CPU1 Ready, 1650
i2t monitoring, 1706
Interrupt processing active, 1745
Invert M3/M4, 1765
JOG mode, 1723
Key disable, 1654
Key-operated switch position, 1648
Last action block active, 1739
Load, 1668
Load part program, 1659
Lubrication pulse, 1689
M fct. 1-5 not included in list, 1718
M function for spindle, 1774
M(d) less than M(dx), 1700
M, S, T, D, H, F functions Additional info Quick
(quick acknowledgment), 1718
M, S, T, D, H, F functions Modification, 1717
M00/M01 active, 1739
M02/M30 active, 1740
Machine function REF, 1726
Machine function REPOS, 1726
Machine function TEACH IN, 1726
Machine-related protection zone preactivated, 1708
Machine-related protection zone violated, 1709
MDA mode, 1723
Mode change disable, 1661
Mode changeover inhibit, 1724
Mode group number, 1669
Mode group ready, 1730
Mode group reset, 1725
Mode group stop, 1724
Mode group stop axes plus spindles, 1725
Motor being selected, 1684
Motor selection A, B, 1684
Motor temperature prewarning, 1696
n(act) equals n(set), 1703
n(act) less than n(min), 1702
n(act) less than n(x), 1702
NC Ready, 1651
NC start, 1735
NC start disable, 1735
NC stop, 1736
NC Stop at block limit, 1736
NC Stop axes plus spindles, 1737
NCK alarm is active, 1651
NCK alarm with processing stop present, 1670
NCK battery alarm, 1653
NCK CPU Ready, 1650
NCU 573 heatsink temperature alarm, 1652
OK, 1664, 1667
Oscillation controlled by the PLC, 1766
Oscillation speed, 1767
Override active, 1786
Overstore active, 1671
Path axis, 1754
PCU Battery alarm, 1649
PCU temperature limit, 1649
PLC action completed, 1733
PLC index, 1660
PLC line offset, 1660, 1661
Position controller active, 1687
Position measuring systems 1 and 2, 1675
Position reached with exact stop coarse, 1712
Index
Basic Functions
1840 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Position reached with exact stop fine, 1713
PROG-EVENT-DISPLAY, 1751
Program level abort, 1735
Program status aborted, 1744
Program status interrupted, 1743
Program status running, 1742
Program status stopped, 1743
Program status wait, 1743
Program test active, 1742
Programming area selection, 1656
Pulse enable, 1685
Pulses enabled, 1694
Ramp-function generator fast stop, 1681
Ramp-function generator fast stop active, 1690
Ramp-up completed, 1698
Ramp-up times, 1681
Rapid traverse override, 1778
Rapid traverse override active, 1780
Read-in disable, 1734
Read-in enable is ignored, 1746
Recall alarm cleared, 1662
Reference point approach delay, 1760
Reference point value 1 to 4, 1759
Referenced/synchronized 1, 1760
Referenced/synchronized 2, 1761
Referencing active, 1758
Remote diagnosis active, 1649
Repos DEFERAL Chan, 1751
REPOS Delay Ackn, 1753
REPOS offset, 1753
REPOS offset valid, 1753
Repos Path Mode Ackn0-2, 1749
REPOSDELAY, 1752, 1754
REPOSMODEEDGE, 1738
REPOSMODEEDGEACKN, 1749
Reset, 1737
Restored 1, 1761
Restored 2, 1761
Re-synchronize spindle when positioning 2 and
1, 1765
Resynchronizing spindles 2 and 1, 1764
Revolutional feed rate active, 1790
Rigid tapping active, 1772
RMB, 1737
RME, 1737
RMI, 1737
RMN, 1737
RMNOTDEF, 1737
RS-232-C external, 1658, 1665
RS-232-C off, 1658, 1665
RS-232-C on, 1658, 1666
RS-232-C stop, 1665
RS-232-C Stop, 1657
S function for spindle, 1774
Screen bright, 1653
Screen is dark, 1662
Second software limit switch plus or minus, 1710
Selected JOG mode, 1728
Selected machine function REF, 1729
Selected mode AUTOMATIC, 1728
Selected mode MDA, 1728
Selected mode TEACH IN, 1728, 1729
Selection, 1659, 1668
Sensor for fixed stop, 1714
Setpoint direction of rotation,
counter.clockwise/setpoint direction of rotation,
clockwise, 1768
Setpoint gear stage A to C, 1769
Setpoint speed increased, 1770
Setpoint speed limited, 1770
Setting-up mode active, 1690
ShopMill control signal, 1657
Simulation selected, 1663
Single block type A, 1727
Single block type B, 1727
Skip block, 1734
Speed controller active, 1688
Speed controller integrator disable, 1685
Speed controller integrator disabled, 1693
Speed limit exceeded, 1770
Speed setpoint smoothing, 1682
Speed setpoint smoothing active, 1691
Spindle in position, 1773
Spindle in setpoint range, 1771
Spindle override, 1788
Spindle reset/Delete distance-to-go, 1762
Spindle/no axis, 1768
Still ASUB is active, 1752
Stop at the end of block with SBL is
suppressed, 1746
Switch over MCS/WCS, 1663
T function 1, 1719
Tool offset selection, 1657
Torque limit 2, 1682
Torque limit 2 active, 1691
Transformation active, 1741
Unload, 1659, 1667
Value of F help function, 1722
Value of M help function, 1722
Value of S help function, 1722
Variable signaling function, 1704
VDClink lower than warning threshold, 1705
Velocity/spindle speed limitation, 1710
Intermediate gear, 365, 1332
Index
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1841
Interpolation parameter sets, 383
Interpolator end, 149
Interpolatory axis grouping, 45
Interrupt
Lock, 610
Routine, 598
Signal, 599
Interrupt routine
End, 601
Inverse-time feedrate (G93), 1394
IPTRLOCK, 546
IPTRUNLOCK, 546
J
Jerk
Increase, velocity-dependent jerk, 244
Jerk limitation, 167
Jerk limiting
Smoothing method, 249
Jogging
during interruption of a JOG ASUB, 605
in the mode type AUTOMATIC, 491
K
Key disable, 37
Key switch, 65
Kinematic transformation, 726
Kinematic type, 1535
KONT, 1494
KONTC, 1494
KONTT, 1494
L
LENTOAX, 1625
LIFTFAST, 609
Limit
Velocity, for path axes, 1393
Limit switches-monitoring, 95
Limited toolholder orientation, 1535
LIMS, 1360
Linear axis
with linear scale, 373
with rotary encoder on motor, 373
with rotary encoder on the machine, 375
Linear feedrate (G94), 1395
Linear signal distortions, 78
Loader axes, 711
Lockable data areas, 66
Logbook, 296
LookAhead, 171
Selection and deselection, 172
Lubrication pulse, 49
M
M decoding acc. to list, 907
M function replacement, 647
M1, 469
M17, 469
M19, 1287, 1359
M2, 469
M3, 1358
M30, 469
M4, 1358
M40, 1361, 1379
M41, 1361
M42, 1361
M43, 1361
M44, 1361
M45, 1361
M5, 1358
M70, 1302, 1359
Machine axes, 704
Machine coordinate system (MCS), 38, 697, 725
Machine kinematics, 1535
Machine tool axes, 711
Machine with rotary tool, 1540
Machine with rotary workpiece, 1541
Machine zero, 1223
Machine zero M, 719
Machines with extended kinematics, 1542
Machining in direction of tool orientation, 1575
MAIN, 1116
Main axes, 713
Manual switchover of the basic system
General, 349
Input resolution and computational resolution, 353
JOG and handwheel factor, 353
Reference point, 352
System data, 351
Tool data, 352
Master-slave switchover with G96, G961, 1401
MCP identification, 918
MCS, 38
Md < Mdx, 53
MD10000, 307, 696
MD10010, 484, 486
MD10050, 1273
MD10070, 1273
MD10131, 55
Index
Basic Functions
1842 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
MD10192, 1333
MD10200, 337, 340, 341, 353, 374
MD10210, 337, 340, 377
MD10220, 342
MD10230, 342, 343
MD10240, 345, 346, 350, 351, 353, 354, 1367
MD10260, 349, 350, 354
MD10270, 352
MD10290, 352
MD10292, 352
MD10600, 740, 804, 806
MD10602, 767, 769, 770, 778, 783
MD10610, 700, 762
MD10612, 762
MD10613, 816
MD10615, 814
MD10618, 119
MD10680, 198
MD10682, 198
MD10702, 505, 512, 616, 620, 673
MD10704, 1424, 1425
MD10707, 526
MD10708, 525
MD10710, 102, 1399
MD10712, 195
MD10713, 441
MD10714, 416
MD10715, 647, 652
MD10716, 647, 652
MD10717, 649
MD10718, 652
MD10719, 650
MD10735, 491, 492
MD1103, 319
MD1104, 319
MD1105, 319
MD11100, 428
MD11110, 435
MD11220, 354
MD11270, 58
MD11300, 1225
MD11346, 1469
MD11410, 1318, 1403, 1407, 1520
MD11411, 500
MD11412, 271
MD11450, 449, 514, 515, 517, 528, 556
MD11470, 529, 530, 531, 532, 557
MD11550, 1413
MD11600, 603
MD11602, 556, 603, 604, 605
MD11604, 556, 603, 605
MD11610, 612
MD11620, 587
MD11717, 649
MD12000, 1420
MD12010, 1421
MD12020, 1419
MD12030, 173, 175, 1419
MD12040, 1419
MD12050, 1419
MD12060, 1421
MD12070, 1422
MD12080, 1422
MD12082, 1420
MD12090, 1412
MD12100, 173, 175, 1422
MD12200, 1432
MD12202, 1431, 1432
MD12204, 1431, 1432
MD12240, 1442
MD1230/1231, 319
MD13030, 298, 299
MD1417, 53, 290
MD1418, 53, 290
MD1426, 52, 53, 289, 291
MD1428, 53, 290
MD14504, 911
MD14506, 911
MD14508, 911
MD15700, 662
MD15702, 662
MD1604, 284
MD1620, 291
MD1621, 291
MD1622, 291
MD1623, 291
MD1624, 291
MD1625, 291
MD1626, 291
MD1700, 282, 283
MD1702, 286
MD1706, 285
MD1707, 285
MD1708, 286
MD17200, 627
MD18080, 1593
MD18088, 1536, 1551, 1556
MD18094, 352
MD18096, 352
MD18100, 1456, 1470
MD18102, 1462, 1470, 1471
MD18104, 1614
MD18105, 1460, 1461, 1462, 1463
MD18106, 1460, 1461, 1463
Index
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1843
MD18108, 1597
MD18112, 1598, 1613
MD18114, 1577
MD18116, 1615, 1616, 1617, 1618
MD18150, 58
MD18190, 108, 116
MD18360, 634
MD18362, 634
MD18600, 738
MD18601, 749, 757, 813
MD18602, 749, 759, 813
MD20000, 497
MD20050, 642, 696, 789
MD20060, 696
MD20070, 696
MD20080, 696, 715
MD20090, 468, 1358, 1474
MD20092, 1355
MD20094, 416, 1302
MD20095, 416
MD20096, 1458, 1459
MD20100, 845, 851, 1398, 1401, 1622
MD20106, 516, 588
MD20107, 516, 589
MD20108, 586
MD20109, 587
MD20110, 349, 602, 638, 708, 814, 815, 822, 846,
848, 1454, 1473, 1475, 1558, 1575, 1602
MD20112, 527, 602, 638, 641, 708, 818, 822, 846,
1473, 1558
MD20114, 613
MD20116, 606
MD20117, 606, 618, 620
MD20118, 642, 708
MD20120, 641, 1473, 1558
MD20121, 641, 1454, 1473
MD20124, 468
MD20125, 1567
MD20126, 1557, 1568
MD20127, 1568
MD20130, 642, 1473
MD20140, 642
MD20144, 643
MD20150, 102, 213, 223, 238, 257, 258, 345, 350,
497, 564, 638, 642, 748, 815, 817, 846, 848, 1408,
1410, 1411, 1442
MD20152, 638, 642, 815, 846, 848
MD20170, 201
MD20172, 201, 1390
MD20180, 1548
MD20184, 801, 802, 809, 810, 1550
MD20188, 1543
MD20190, 1543
MD20191, 607
MD20192, 589
MD20193, 590
MD20200, 1433
MD20201, 1433, 1444, 1445
MD20202, 1510
MD20204, 1503
MD20210, 1516
MD20220, 1515
MD20230, 1516
MD20240, 1518, 1519
MD20250, 1493
MD20252, 1526
MD20256, 1527
MD20270, 402, 1455, 1465, 1471, 1473, 1603
MD20272, 403, 1597, 1603
MD20360, 1469, 1613, 1622, 1641
MD20390, 1588, 1591, 1592
MD20392, 1589
MD20400, 174
MD20430, 175
MD20440, 175
MD20443, 178
MD20450, 176
MD20460, 182, 183
MD20462, 182
MD20465, 186
MD20480, 163, 166, 206
MD20482, 202, 206, 211
MD20488, 205
MD20490, 156
MD20500, 224, 225
MD20550, 151
MD20552, 152
MD20560, 210
MD20600, 194, 237
MD20602, 194, 234, 235
MD20603, 194
MD20606, 197
MD20610, 227
MD20650, 1404
MD20700, 1266
MD20750, 1399
MD20800, 399, 469
MD20850, 1287
MD21015, 56
MD21016, 57
MD21020, 99
MD21110, 807
MD21200, 608, 1409
MD21202, 608
Index
Basic Functions
1844 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
MD21220, 1427
MD21230, 1427
MD21330, 642
MD22000, 429, 1287
MD22010, 429, 1287
MD22020, 430, 1287
MD22030, 430, 1287
MD22035, 431
MD22040, 420, 429
MD22050, 421
MD22060, 421
MD22070, 422
MD22080, 422, 663, 666
MD22100, 441
MD22110, 401, 404
MD22140, 1443
MD22200, 433
MD22210, 400, 433
MD22220, 402, 433
MD22230, 401, 433
MD22240, 403, 404, 433
MD22250, 402, 433
MD22252, 403, 433
MD22254, 416, 431
MD22256, 416, 431
MD22410, 1423
MD22510, 564, 1092
MD22530, 463, 1558
MD22532, 463, 709
MD22534, 463
MD22550, 650, 652, 1454, 1465, 1466, 1471, 1473,
1474
MD22560, 416, 652, 1454, 1473, 1474
MD22560, 468
MD22562, 1467, 1468
MD22600, 541
MD22601, 541, 556
MD22620, 560
MD22621, 527
MD22680, 549
MD24000, 763
MD24002, 816
MD24004, 814
MD24006, 731, 748, 815
MD24007, 817
MD24008, 730, 814
MD24010, 762
MD24020, 756
MD24030, 753
MD24040, 789
MD24100, 1591
MD24110, 1591
MD24120, 1591
MD24550, 1623
MD24558, 1623
MD24560, 1623
MD24570, 1591
MD24572, 1591
MD24650, 1623
MD24658, 1623
MD24660, 1623
MD24805, 778
MD24855, 778
MD24905, 771
MD24955, 771
MD25574, 1591
MD26008, 416
MD27100, 851
MD27800, 498
MD27850, 679
MD27860, 575, 678, 679
MD27880, 576, 682
MD27882, 683
MD28060, 625, 628
MD28070, 205
MD28080, 749, 757
MD28081, 749, 758
MD28082, 729, 748, 764, 800, 802, 807, 810, 813,
1549
MD28085, 1456, 1551, 1556
MD28150, 61
MD28200, 108, 116
MD28210, 116
MD28212, 116
MD28400, 628
MD28530, 58, 165
MD28533, 178
MD28560, 818
MD28600, 103
MD28610, 197
MD30130, 360
MD30200, 358, 371
MD30240, 359, 360
MD30242, 360, 1256
MD30250, 1261
MD30300, 370, 371, 374, 376, 1442
MD30310, 97
MD30330, 1253
MD30340, 1253
MD30350, 360
MD30455, 1253, 1360
MD30460, 845, 847, 848, 851
MD30465, 661
MD30550, 1226
Index
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1845
MD31000, 370, 371, 374, 376
MD31010, 370, 371
MD31020, 370, 371, 374, 376, 1273
MD31030, 126, 370, 371, 374
MD31040, 370, 371, 374, 376, 1297, 1341
MD31044, 365, 370, 371, 1332
MD31050, 67, 126, 365, 370, 371, 374, 377, 383,
1303, 1331, 1337
MD31060, 67, 126, 365, 370, 371, 374, 377, 383,
1303, 1331
MD31064, 365, 372, 1332
MD31066, 365, 372, 1332
MD31070, 126, 370, 371, 374, 377
MD31080, 126, 370, 371, 374, 376
MD31090, 353
MD31122, 1267, 1311
MD31123, 1267, 1311
MD32000, 79, 256, 369, 372, 1377, 1393, 1410
MD32040, 1396
MD32050, 1396
MD32060, 558, 1435
MD32074, 814
MD32100, 367
MD32200, 47, 67, 79, 279, 380, 383, 392, 1303
MD32200, 82
MD32210, 391, 392
MD32220, 391, 392
MD32250, 126, 367, 368
MD32260, 126
MD32300, 79, 194, 222, 231, 232, 233, 234, 256, 608,
1233, 1411, 1435, 1437
MD32310, 156, 194, 233
MD32400, 249, 250, 389
MD32402, 250, 389
MD32410, 249, 389
MD32420, 223, 224, 238, 239
MD32430, 238, 239
MD32431, 194, 237, 243
MD32432, 194, 244
MD32433, 194, 232
MD32434, 231, 232, 243
MD32435, 243
MD32438, 245
MD32439, 245
MD32440, 183, 186
MD32452, 383, 1303
MD32610, 79, 383, 1303
MD32620, 385, 1304
MD32630, 385
MD32640, 388
MD32711, 352
MD32750, 1588, 1591, 1592
MD32800, 67, 79, 383, 387, 1303
MD32810, 67, 79, 126, 383, 385, 1303
MD32900, 381, 382
MD32910, 67, 381, 383, 387, 1303
MD33000, 380
MD33050, 49
MD33100, 163, 198, 201, 206
MD33120, 170, 207
MD34000, 1234, 1237, 1252, 1253
MD34010, 1224, 1232, 1235, 1236, 1250, 1263
MD34020, 1233, 1236
MD34030, 1234
MD34040, 1233, 1235, 1236, 1237, 1250, 1251, 1267,
1311
MD34050, 1235
MD34060, 1239, 1251, 1253, 1298
MD34070, 1240, 1242, 1252
MD34080, 367, 371, 1240, 1242, 1255
MD34090, 367, 371, 1240, 1242, 1247, 1248, 1262,
1264, 1265, 1266
MD34092, 1237
MD34093, 1239
MD34100, 1241, 1252, 1263, 1266, 1267
MD34102, 1254, 1256
MD34104, 1258
MD34110, 1227
MD34120, 1230, 1258
MD34200, 1230, 1248, 1255, 1256, 1257, 1263, 1267,
1311
MD34210, 1244, 1245, 1260, 1261, 1262, 1263, 1264,
1265, 1270
MD34220, 1274
MD34230, 1271
MD34232, 1271
MD34300, 1251
MD34320, 370, 371, 1247
MD34330, 1268
MD34800, 644
MD34990, 1412
MD35000, 696, 744, 1354, 1361
MD35010, 1315, 1319, 1334, 1337, 1341, 1346
MD35012, 1314, 1341, 1344
MD35014, 1347
MD35020, 1308
MD35030, 1308
MD35035, 1288, 1349, 1352
MD35040, 1283
MD35090, 1314
MD35092, 1319
MD3510, 1346
MD35100, 1375
MD35110, 1314, 1380
Index
Basic Functions
1846 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
MD35112, 1319
MD35120, 1314, 1380
MD35122, 1319
MD35130, 67, 1314, 1320, 1322, 1372
MD35135, 1314
MD35140, 1314, 1320, 1322, 1372, 1400, 1402
MD35150, 1235, 1289, 1291, 1371, 1375
MD35200, 1283, 1292, 1294, 1298, 1314, 1345
MD35210, 1283, 1292, 1294, 1295, 1298, 1299, 1314,
1345
MD35212, 1319
MD35220, 253, 256
MD35230, 253, 256
MD35240, 165, 256
MD35242, 251
MD35300, 1273, 1292, 1293, 1294, 1298, 1299, 1314,
1345, 1360
MD35310, 1314, 1341, 1344
MD35350, 1298, 1344
MD35400, 1050, 1335, 1336
MD35410, 1334, 1337
MD35430, 1335
MD35440, 1335
MD35450, 1335
MD35500, 1285, 1289
MD35510, 1290, 1370
MD35550, 1314, 1320
MD35590, 47, 67, 1315, 1329
MD36000, 84, 149, 383, 1296, 1299, 1300, 1378, 1379
MD36010, 81, 82, 84, 149, 383, 1296, 1299, 1300,
1378, 1379
MD36012, 84, 150, 383, 1303
MD36020, 82, 391
MD36030, 83, 84, 383, 391
MD36040, 83, 326, 391
MD36042, 326
MD36050, 84, 91
MD36052, 85, 87, 88, 90
MD36060, 48, 49, 1284, 1291, 1370
MD36100, 96
MD36110, 96
MD36120, 96
MD36130, 96
MD36200, 93, 383, 1303
MD36210, 92, 368
MD36220, 93
MD36300, 1272, 1273
MD36302, 1293
MD36400, 79, 391
MD36500, 359
MD36510, 359
MD36600, 95
MD36610, 45, 80, 82, 83, 85, 93, 94, 838
MD36620, 45, 838
MD37002, 313, 314, 322, 330
MD37010, 319, 325
MD37012, 314, 319, 323
MD37020, 310, 319
MD37030, 327
MD37040, 309
MD37050, 310, 311, 330
MD37052, 311, 321
MD37060, 308, 309, 312, 322, 323
MD37080, 324
MD51029, 623
MD9000, 54
MD9001, 54
MD9003, 54
MD9004, 54, 340, 630
MD9006, 37, 1654
MD9010, 630
MD9011, 340, 630
MD9424, 630, 734
MD9440, 821
Measuring systems, 359, 1223
Memory
Type, 1118
Memory requirements
of basic PLC program, 928
Message signals in DB2, 1094
Messages, 270
Mirroring
Frames, 743
Retraction direction (lift fast), 608
Modal activation (FOCON/FOCOF), 324
Mode, 488
AUTOMATIC, 488
JOG, 488
JOG in Automatic, 488
MDA, 488
Mode change
from/to the AUTOMATIC, JOG, MDA modes, 495
Mode group, 484
Change in configuration of the mode group, 486
Channel-specific assignments, 484
Number, 486
User interface, 485
Modes
Change, 488, 494
Cross-mode synchronous actions, 489
of the mode group, 488
Priorities, 489
Submode TEACH IN, 490
Monitor type, 54
Index
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1847
Motor/load gear, 365
Multi-instance DB, 1101
Multiple feedrate values in one block, 1426
N
nact, 53
NC
Block compressor, 200
Failure, 900
Languages, 564
NC Start, 566
Read/write variables, 903
NC VAR selector, 934
Input options, 938
Start-up, installation, 946
NCK alarm is active, 36
NCK alarm with processing stop, 36
NCK battery alarm, 36
NCK CPU Ready, 35
Non-acknowledged gear step change, 1333
Nonlinear signal distortions, 78
Non-modal feedrate FB, 1434
NORM, 1494
O
Offset, 1121
Onboard IO, 1118
Operating modes
Interlocks, 494
Monitoring functions, 494
Operating statuses, 490
Operations, 1141
Orientation, 107
Tolerance, 206
OTOL, 207
Output
Behavior of an auxiliary function, 422
Counter, 453
Sequence, 453
Overload factor, 155
Override
in G331/332, 1412
OVRA, 1360
P
Package
Counter, 453
Parameter set
For axes, 383
Position controller, 382
Servo, 1436
Switchover, 383
Toolholder with orientation capability, 1535
Part program
Channel enable, 567
Interruption, 568
Selection, 566
Skipping of specific part program blocks, 507
Starting, 573
Password, 64
Resetting, 64
Setting, 64
Path
Feedrate F, 1392
Velocity, maximum, 1393
Path axes, 711
Path criterion, 160
Path feed, 337
Path interpolator, 496
PCOF, 1359
Physical quantities, 341
PLC
Axes, 712
Basic program functions, 862
Read/write variable, 58
Status, 297
Technical data, 857
Versions, 860
PLC interface, 877
PLC-controlled axis, 499
POINTER, 1096
POINTER in FB, 1097
POINTER in FC, 1096
Polynomials, intersection process, 1527
POS, 711, 712
POSA, 711, 712
Position control, 382
Position control loop, 379
Position controller active, 49
Position measuring system, 44
Position of coordinate systems and reference
points, 721
Position of the transverse axis in the machine
coordinate system, 845
Positioning accuracy, 338
Positioning axes, 337, 712
Processing time, 678
PROFIBUS
Connection, 919
PROFIBUS connection, 920
Index
Basic Functions
1848 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
PROFIBUS Diagnosis, 899
PROFINET
Connection, 922
Program
Display status, 570
Interrupt, 1117
Organization, 1116
Organizational unit, 1113
Program action, 572
Program test, 501
Runtimes, 675
Statuses, 570
Program control, interface signals, 623
Program display modes, 626
Program execution without setpoint outputs, 501
Program operation, 563
Initial setting, 563
Program section repetition, 577
Programmable end-of-motion criterion, 1439
Programmable run-in and run-out paths, 1403
Programmable servo parameter set
In the part program/synchronized action, 1440
Programmable single-axis dynamic response, 1391,
1435
Programming device
Hardware requirements, 932
Project, 1112
Protection level
for user ASUB, 613
Protection levels, 62
Programmable, 66
Protection zones, 77, 106
Activate, 115
Data storage, 114
Deactivation, 115
Definition as per partprogram, 110
Definition with system variables, 113
Enable, 119
Example, activation, 138
Example, definition, 129
Restrictions, 125
Protection-zone violation, 119
Pulse multiplication factor, 372
R
Radius-related data, 850
Ramp-up completed, 52
Rapid traverse override switch, 1418
Reaching simulated target point for LEAD with
JOG, 554
Read
Single, 1164
Recall alarms, 37
Reference axis
Assign via SCC[AX] for G96/G961/G962, 846
for G96 / G961 / G962, 843
for RESET, end of parts program or start of parts
program retained, 846
Reference point R, 719
Reference points, 719
Referencing methods, 1223
Relevant standards, 835
Remote diagnostics, 36
Replaceable geometry axes, 706
Replacement subroutine
for tool change, 652
Replacement zero mark, 1268
REPOS Offset, 317
Repositioning
at the beginning of the block, 539
at the interruption point, 539
Repositioning neutral axes after SERUPRO, 532
Repositioning on contour
Repositioning point, 540
Reset
Behavior, 638
RESET
Command, 569
Residual time
For a workpiece, 677
Resolutions, 339
Revolutional feedrate (G95), 1395
Rewiring, 1150
Rotary axes, 711
Rotary axis
with rotary encoder on motor, 376
with rotary encoder on the machine, 377
Rotary axis parameters, 1536
Rotation component, 802
Rough offset, 699
Rounding, 157
Run times
Program, 675
Run-in and run-out paths, programmable, 1403
Run-up axes, 1437
S
S functions, 400
S..., 1358
SAVE, 610
SBLOF, 617
SBLON, 620
Index
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1849
Scaling, 339
Screen bright, 37
SD41100, 1396
SD41200, 1352
SD42010, 1404, 1405
SD42100, 505, 1424, 1425
SD42101, 505, 1425
SD42200, 617
SD42440, 701
SD42442, 1574
SD42444, 511
SD42465, 163, 206
SD42466, 163, 206
SD42470, 203
SD42480, 1527
SD42496, 1523
SD42500, 227, 228
SD42502, 227, 228
SD42510, 240
SD42512, 240
SD42600, 1368, 1396
SD42676, 207
SD42678, 207
SD42700, 635
SD42800, 1354, 1355
SD42900, 1452, 1581, 1582, 1605, 1613, 1626
SD42910, 1579, 1581, 1582, 1605, 1611, 1612, 1613
SD42920, 1581, 1583, 1605, 1611, 1612, 1614
SD42930, 1581, 1584, 1605, 1611, 1614, 1639
SD42935, 1582, 1606, 1612, 1614, 1628, 1634
SD42940, 1570, 1579, 1581, 1585, 1605, 1611, 1614
SD42950, 1561, 1578, 1579, 1582, 1605, 1611, 1614
SD42960, 1452, 1582, 1589, 1590
SD42974, 1543
SD42980, 807, 809
SD42984, 1570
SD42990, 625
SD43200, 1365
SD43202, 1365, 1366
SD43206, 1365, 1367
SD43210, 1400, 1402
SD43220, 1400
SD43235, 1375
SD43240, 1287, 1359, 1368
SD43250, 1287, 1368
SD43300, 1368, 1396
SD43400, 101
SD43410, 101
SD43420, 100
SD43430, 100
SD43500, 319
SD43510, 319
SD43520, 319
Secant error, 198
Selection of the cutting edge when changing tool, 1455
Self-acting SERUPRO, 545
SERUPRO, 315
End ASUB, 457
SPEED factor for channel axes during ramp-up, 541
SERUPRO approach, 525, 530
Control from the PLC, 534
Influence path axes individually, 538
Repositioning to next point, 539
SERUPRO ASUB, 317
SERUPRO ASUP
Special features, 542
serurpoMasterChan, 545
Service display
Axis/spindle, 274
Drive, 281
PROFIBUS-DP, 292
Servo gain factor, 275, 380, 381
Servo parameter set, 1436
Programmable, 1440
SETINT, 599, 608
SETMS, 1358
Setpoint output, 358
Setpoint system, 358
Several transverse axes
Acceptance of the additional transverse axis, 848
Axis identifier, 844
Axis replacement in synchronized actions, 848
Axis replacement via axis container rotation, 848
Axis-specific diameter programming, 848
Definition of several transversing axes in the
channel, 845
Signal distortions, 78
Signal exchange
Cyclic, 855
Event-controlled, 855
Signals
Alarm signals, 36
Axis/spindle-specific (DB31, ...), 34
Channel-specific (DB21, ...), 34
Compile cycles, 882
NCK/PLC, 883
PLC/axes, spindles, 885
PLC/Mode group, 883
PLC/NCK, 882
PLC/NCK channels, 884
Ready signals, 35
Signature, 1124
Simulation axes, 360
Single axes, 1435
Index
Basic Functions
1850 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
Single block
Channel classification, 621
Do not stop, depending on the situation, 620
Program operation mode, 503
Reactivate suppression in the ASUB, 620
SBL1, 616
SBL2, 616
SBL2 with implicit preprocessing stop, 617
SBL3, 616
Stop suppression, 617
Suppression in the program SBLOF, 618
Suppression with started ASUB, 618
Single-axis dynamic response, 1435
Single-axis dynamic response?, 1391
Skip levels, 623
Slotting saw, 1481
Smooth approach and retraction
Significance, 1499
Sub-movements, 1500
Smoothing
Path velocity, 181
SOFT, 238
SOFTA, 239
Software limit switch, 96
SPCOF, 1359
SPCON, 1359
Special axes, 711
Special bit memory, 1140
Special points in the target block
STOPRRE block, 550
Specify gear stage, 1316
Speed
Feedforward control, 385
Speed control loop, 379
Speed controller active, 49
Speed default, 1365
Speed setpoint adjustment, 367
Speed setpoint output, 367
SPI, 1361
Spindle
Definitions, 1364
Gear stage 0, 1326
Interface, 1363
Job, 1363
Modes, 1280
Setpoint speed, 1371
Speed limits, 1373
Speed, maximum, 1372
Speed, minimum, 1372
Spindle disable, 39
Spindle functions using a PLC, 498
Spindle override factor, 1421
Spindle speed, 337
Spindle speed limitation with G96, G961, 1399
Spline, 147
SPOS, 1285, 1358
SPOSA, 1359
Star/delta switchover with FC17, 1325
Star-delta changeover, 1044
Start-up and synchronization of NCK PLC, 896
Status, 1154
Table, 1114, 1163
STOLF, 211
Stop Delay Area, 594
Stop event, 594
Storing angles in the toolholder data, 1535
Strings, 1102
Subprograms, 646
SVC, 1358
Symbol
Table, 1114
Symbolic programming, 905
Synchronized axes, 159, 714
T
T function, 401, 1454
T function replacement, 649
Table
Status, 1114
Symbol, 1114
TCARR, 1548
TCOABS, 1548
TCOFR, 1548
TCP Tool Center Position, 720
TEACH IN, 488
Tick, 453
TOA
Data, 1481
Unit, 1456
Tolerance
Factor for spindle speed, 1371
for G0, 210
Tool, 1454
Change, 1454
Change tool with M06, 1454
Cutting edge, 1477
DISC, 1514
Length, 1484
Management, 483
Offset data, 1481
Parameters, 1477
Retraction, 643
Select, 1454
Index
Basic Functions
Function Manual, 03/2010, 6FC5397-0BP20-1BA0 1851
Shape, 1486
Shape, active, 1488
Size, active, 1488
T function, 1454
Tool base dimension/adapter dimension, 1488
Tool cutting edge, 1455
Tool radius compensation 2D (TRC), 1492
Type, 1479
Wear, 1487, 1488
Tool base dimension, 1488
Tool change
D function, 1455
Offset memory, 1456
Program, 652
Tool environments, 1613
Tool length compensation
Calculate tool-specifically, example, 1633
Geometry, 1484
Wear, 1487
Workpiece-specific calculation, 1604
Tool offset
Offset in the NC, 1457
Types, 1534
Tool radius compensation
Keep constant, 1523
Wear, 1488
Tool radius compensation, 2D, 1492
Approach and retraction behavior, 1494
Collision detection, 1519
Compensation and inner corners, 1517
Compensation at outside corners, 1513
Deselection, 1513
Geometry, 1486
Modified alarm response, 1527
Point of intersection G451, 1515
Selection, 1493
Smooth approach and retraction, 1499
Transition circle, 1514
Variable compensation value, 1521
Tool revolver axes, 711
TOOLENV, 1613
Toolholder reference point T, 720
Toolholder selection, 1532
Toolholder with orientation capability, 1452, 1532
Calculation of active tool length, 1547
Create new, 1551
Examples, 1629
Kinematic chain, 1539
Toolholder, with orientation capability
Control system response on Reset, program start,
REPOS, 1557
Create new, 1551
Inclined machining, 1546
Programming, 1556
Supplementary conditions, 1557
Swiveling working table, 1547
Tooth feedrate, 1395
Torsion, 196
TOWBCS, 1610
TOWKCS, 1610
TOWMCS, 1609
TOWSTD, 1609
TOWTCS, 1610
TOWWCS, 1609
TRANS, 699
TRANSMIT, 726
Transverse axis
Definition, 843
Definition of a transversing axis in the channel, 845
Dimensions, 847
Functions, 843
Initial setting, 848
Position and designation, 845
Programming the transversing commands, 844
Travel to fixed stop
Block search, 315
Contour monitoring, 321
Customer benefit, 305
Deselection, 312
Function abort, 314
Functional sequence, 308
Monitoring window, 310
Positioning axes, 321
Programming, 306
RESET, 314
Selection, 308
Setting data, 319, 330
Status query, 320
Travel to fixed stop (F1)
Interrupts, 311
Setting data, 310
Traversing movement release, 1268
Traversing ranges, 337
U
UDT assignments, 905
Undercut angle, 1490
User
Data block, 1121
Interface, 1121
User-defined ASUB
after SERUPRO operation, 528
UTD-blocks, 905
Index
Basic Functions
1852 Function Manual, 03/2010, 6FC5397-0BP20-1BA0
V
Variables
Local, 1123
Table, 1123
Velocities, 335
VELOLIM, 1360
Version, 296
Vertical axes, 321
W
WAITENC, 644
WAITS, 1360
WALIMOF, 101
WALIMON, 101
WCS, 38
Work offset $P_EXTFRAME, 851
Working area limitation, 98
in BCS, 100
in WCS/SZS, 102
Working area limitation group, 103
Workpiece
Counter, 681
Workpiece coordinate system (WCS), 38, 698, 735
Workpiece zero W, 719
Y
YDelta, 1044
Z
Zero points, 719
Zero vectors, 1539