Siemens SINUMERIK 840D sl Function Manual
Text of the manual
SINUMERIK 840D sl / 828D
Synchronized actions
Function Manual
Valid for
Control
SINUMERIK 840D sl / 840DE sl / 828D
CNC software Version 4.8 SP3
08/2018
6FC5397-5BP40-6BA2
Preface
Fundamental safety
instructions
1
Brief description
2
Detailed description
3
Examples
4
Data lists
5
NC/PLC interface signals
6
Appendix
A
Warning notice system
This manual contains notices you have to observe in order to ensure your personal safety, as well as to prevent
damage to property. The notices referring to your personal safety are highlighted in the manual by a safety alert
symbol, notices referring only to property damage have no safety alert symbol. These notices shown below are
graded according to the degree of danger.
DANGER
indicates that death or severe personal injury will result if proper precautions are not taken.
WARNING
indicates that death or severe personal injury may result if proper precautions are not taken.
CAUTION
indicates that minor personal injury can result if proper precautions are not taken.
NOTICE
indicates that property damage can result if proper precautions are not taken.
If more than one degree of danger is present, the warning notice representing the highest degree of danger will be
used. A notice warning of injury to persons with a safety alert symbol may also include a warning relating to property
damage.
Qualified Personnel
The product/system described in this documentation may be operated only by personnel qualified for the specific
task in accordance with the relevant documentation, in particular its warning notices and safety instructions. Qualified
personnel are those who, based on their training and experience, are capable of identifying risks and avoiding
potential hazards when working with these products/systems.
Proper use of Siemens products
Note the following:
WARNING
Siemens products may only be used for the applications described in the catalog and in the relevant technical
documentation. If products and components from other manufacturers are used, these must be recommended or
approved by Siemens. Proper transport, storage, installation, assembly, commissioning, operation and
maintenance are required to ensure that the products operate safely and without any problems. The permissible
ambient conditions must be complied with. The information in the relevant documentation must be observed.
Trademarks
All names identified by ® are registered trademarks of Siemens AG. The remaining trademarks in this publication
may be trademarks whose use by third parties for their own purposes could violate the rights of the owner.
Disclaimer of Liability
We have reviewed the contents of this publication to ensure consistency with the hardware and software described.
Since variance cannot be precluded entirely, we cannot guarantee full consistency. However, the information in
this publication is reviewed regularly and any necessary corrections are included in subsequent editions.
Siemens AG
Division Digital Factory
Postfach 48 48
90026 NÜRNBERG
GERMANY
Document order number: 6FC5397-5BP40-6BA2
Ⓟ 08/2018 Subject to change
Copyright © Siemens AG 1994 - 2018.
All rights reserved
The SINUMERIK documentation is organized into the following categories:
●
General documentation/catalogs
●
User documentation
●
Manufacturer/service documentation
Additional information
You can find information on the following topics at the following address (https://
support.industry.siemens.com/cs/de/en/view/108464614):
●
Ordering documentation/overview of documentation
●
Additional links to download documents
●
Using documentation online (find and search in manuals/information)
If you have any questions regarding the technical documentation (e.g. suggestions,
corrections), please send an e-mail to the following address
(mailto:[email protected]).
mySupport/Documentation
At the following address (https://support.industry.siemens.com/My/ww/en/documentation),
you can find information on how to create your own individual documentation based on
Siemens' content, and adapt it for your own machine documentation.
Training
At the following address (http://www.siemens.com/sitrain), you can find information about
SITRAIN (Siemens training on products, systems and solutions for automation and drives).
FAQs
You can find Frequently Asked Questions in the Service&Support pages under Product
Support (https://support.industry.siemens.com/cs/de/en/ps/faq).
SINUMERIK
You can find information about SINUMERIK at the following address (http://www.siemens.com/
sinumerik).
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
3
This publication is intended for:
●
Project engineers
●
Technologists (from machine manufacturers)
●
System startup engineers (Systems/Machines)
●
Programmers
Benefits
The function manual describes the functions so that the target group knows them and can
select them. It provides the target group with the information required to implement the
functions.
Standard version
This documentation only describes the functionality of the standard version. Extensions or
changes made by the machine tool manufacturer are documented by the machine tool
manufacturer.
Other functions not described in this documentation might be executable in the control. This
does not, however, represent an obligation to supply such functions with a new control or when
servicing.
Further, for the sake of simplicity, this documentation does not contain all detailed information
about all types of the product and cannot cover every conceivable case of installation, operation
or maintenance.
Technical Support
Country-specific telephone numbers for technical support are provided in the Internet at the
following address (https://support.industry.siemens.com/sc/ww/en/sc/2090) in the "Contact"
area.
Preface
Synchronized actions
4
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Table of contents
Preface.........................................................................................................................................................3
1
Fundamental safety instructions...................................................................................................................9
1.1
General safety instructions.......................................................................................................9
1.2
Warranty and liability for application examples........................................................................9
1.3
Industrial security...................................................................................................................10
2
Brief description..........................................................................................................................................13
3
Detailed description....................................................................................................................................15
3.1
Definition of a synchronized action........................................................................................15
3.2
Components of synchronized actions....................................................................................16
3.2.1
Validity, identification number (ID, IDS).................................................................................16
3.2.2
Frequency (WHENEVER, FROM, WHEN, EVERY)..............................................................17
3.2.3
G command (condition)..........................................................................................................18
3.2.4
Condition................................................................................................................................19
3.2.5
G command (action)...............................................................................................................19
3.2.6
Action (DO)............................................................................................................................20
3.3
System variables for synchronized actions............................................................................20
3.3.1
Reading and writing...............................................................................................................21
3.3.2
Operators and arithmetic functions .......................................................................................22
3.3.3
Type conversions...................................................................................................................25
3.3.4
Marker/counter ($AC_MARKER)...........................................................................................26
3.3.5
Parameters ($AC_PARAM)....................................................................................................27
3.3.6
R parameters ($R).................................................................................................................28
3.3.7
Machine and setting data ($$M, $$S)....................................................................................29
3.3.8
Timer ($AC_TIMER)...............................................................................................................30
3.3.9
FIFO variables ($AC_FIFO)...................................................................................................31
3.3.10
Path tangent angle ($AC_TANEB).........................................................................................36
3.3.11
Override ($A...OVR)...............................................................................................................36
3.3.12
Capacity evaluation ($AN_IPO ... , $AN/AC_SYNC ... , $AN_SERVO).................................38
3.3.13
Working-area limitation ($SA_WORKAREA_ ... )...................................................................41
3.3.14
SW cam positions and times ($$SN_SW_CAM_ ...)..............................................................41
3.3.15
Path length evaluation / machine maintenance ($AA_TRAVEL ... , $AA_JERK ... )..............42
3.3.16
Polynomial coefficients, parameters ($AC_FCT ...)...............................................................43
3.3.17
Overlaid movements ($AA_OFF)...........................................................................................45
3.3.18
Online tool length compensation ($AA_TOFF)......................................................................48
3.3.19
Current block in the interpolator ($AC_BLOCKTYPE, $AC_BLOCKTYPEINFO,
$AC_SPLITBLOCK)...............................................................................................................51
3.3.20
Initialization of array variables (SET, REP)............................................................................54
3.3.21
Grinding-specific system variables ($AC_IN_KEY_G...)........................................................54
3.3.22
Status Synchronized action disabled ($AC_SYNA_STATE)..................................................57
3.4
User-defined variables for synchronized actions...................................................................58
3.5
Language elements for synchronized actions and technology cycles...................................60
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
5
Language elements for technology cycles only.....................................................................66
3.7
Actions in synchronized actions.............................................................................................67
3.7.1
Output of M, S and H auxiliary functions to the PLC..............................................................67
3.7.2
Reading and writing of system variables................................................................................68
3.7.3
Polynomial evaluation (SYNFCT)..........................................................................................68
3.7.4
Online tool offset (FTOC).......................................................................................................73
3.7.5
Programmed read-in disable (RDISABLE).............................................................................75
3.7.6
Cancel preprocessing stop (STOPREOF).............................................................................76
3.7.7
Delete distance-to-go (DELDTG)...........................................................................................76
3.7.8
Traversing axes, to position (POS)........................................................................................78
3.7.9
Setting the measuring system (G70, G71, G700, G710).......................................................81
3.7.10
Position in specified reference range (POSRANGE).............................................................82
3.7.11
Traversing axes, endless (MOV)............................................................................................83
3.7.12
Axial feedrate (FA).................................................................................................................84
3.7.13
Axis replacement (GET, RELEASE, AXTOCHAN)................................................................85
3.7.14
Traversing spindles (M, S, SPOS).........................................................................................90
3.7.15
Withdrawing the enable for the axis container rotation (AXCTSWEC)..................................92
3.7.16
Actual value setting with loss of the referencing status (PRESETON)..................................94
3.7.17
Actual value setting without loss of the referencing status (PRESETONS)...........................99
3.7.18
Couplings (CP..., LEAD..., TRAIL..., CTAB...)......................................................................105
3.7.19
Measurement (MEAWA, MEAC)..........................................................................................109
3.7.20
Travel to fixed stop (FXS, FXST, FXSW, FOCON, FOCOF, FOC)......................................112
3.7.21
Channel synchronization (SETM, CLEARM).......................................................................114
3.7.22
User-specific error reactions (SETAL).................................................................................115
3.7.23
Cancel the actual subprogram level (CANCELSUB)...........................................................116
3.8
Technology cycles................................................................................................................116
3.8.1
General................................................................................................................................116
3.8.2
Processing mode (ICYCON, ICYCOF)................................................................................118
3.8.3
Definitions (DEF, DEFINE)...................................................................................................120
3.8.4
Parameter transfer...............................................................................................................120
3.8.5
Context variable ($P_TECCYCLE)......................................................................................120
3.9
Protected synchronized actions...........................................................................................121
3.10
Coordination via part program and synchronized action (LOCK, UNLOCK, CANCEL).......122
3.11
Coordination via PLC...........................................................................................................123
3.12
Configuration........................................................................................................................124
3.13
Control behavior in specific operating states.......................................................................125
3.13.1
Power On.............................................................................................................................125
3.13.2
NC reset...............................................................................................................................126
3.13.3
NC stop................................................................................................................................126
3.13.4
Operating mode change.......................................................................................................127
3.13.5
End of program....................................................................................................................128
3.13.6
Block search.........................................................................................................................128
3.13.7
Program interruption by ASUB.............................................................................................129
3.13.8
REPOS.................................................................................................................................129
3.13.9
Response to alarms.............................................................................................................130
3.14
Diagnostics (HMI Advanced only)........................................................................................130
3.14.1
Displaying the status of synchronized actions.....................................................................131
3.14.2
Displaying main run variables..............................................................................................132
Table of contents
Synchronized actions
6
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Logging main run variables..................................................................................................133
4
Examples..................................................................................................................................................137
4.1
Examples of conditions in synchronized actions..................................................................137
4.2
Reading and writing of SD/MD from synchronized actions..................................................137
4.3
Examples of adaptive control...............................................................................................139
4.3.1
Clearance control with variable upper limit..........................................................................139
4.3.2
Feedrate control...................................................................................................................141
4.3.3
Control velocity as a function of normalized path.................................................................142
4.4
Monitoring a safety clearance between two axes................................................................143
4.5
Store execution times in R parameters................................................................................143
4.6
"Centering" with continuous measurement..........................................................................144
4.7
Axis couplings via synchronized actions..............................................................................147
4.7.1
Coupling to leading axis.......................................................................................................147
4.7.2
Non-circular grinding via master value coupling..................................................................148
4.7.3
On-the-fly parting.................................................................................................................152
4.8
Technology cycles position spindle......................................................................................153
4.9
Synchronized actions in the TC/MC area.............................................................................154
5
Data lists...................................................................................................................................................159
5.1
Machine data........................................................................................................................159
5.1.1
General machine data..........................................................................................................159
5.1.2
Channelspecific machine data.............................................................................................159
5.1.3
Axis-specific machine data...................................................................................................159
5.2
Setting data..........................................................................................................................160
5.2.1
Axis/spindle-specific setting data.........................................................................................160
5.3
Signals.................................................................................................................................160
5.3.1
Signals to channel................................................................................................................160
5.3.2
Signals from channel............................................................................................................161
6
NC/PLC interface signals.........................................................................................................................163
6.1
Signals to channel (DB21, ...)..............................................................................................163
6.2
Signals from channel (DB21, ...)..........................................................................................164
A
Appendix...................................................................................................................................................167
A.1
Overview..............................................................................................................................167
Index.........................................................................................................................................................169
Table of contents
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
7
Fundamental safety instructions
1
1.1
General safety instructions
WARNING
Danger to life if the safety instructions and residual risks are not observed
If the safety instructions and residual risks in the associated hardware documentation are not
observed, accidents involving severe injuries or death can occur.
●
Observe the safety instructions given in the hardware documentation.
●
Consider the residual risks for the risk evaluation.
WARNING
Malfunctions of the machine as a result of incorrect or changed parameter settings
As a result of incorrect or changed parameterization, machines can malfunction, which in turn
can lead to injuries or death.
●
Protect the parameterization (parameter assignments) against unauthorized access.
●
Handle possible malfunctions by taking suitable measures, e.g. emergency stop or
emergency off.
1.2
Warranty and liability for application examples
Application examples are not binding and do not claim to be complete regarding configuration,
equipment or any eventuality which may arise. Application examples do not represent specific
customer solutions, but are only intended to provide support for typical tasks.
As the user you yourself are responsible for ensuring that the products described are operated
correctly. Application examples do not relieve you of your responsibility for safe handling when
using, installing, operating and maintaining the equipment.
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
9
Siemens provides products and solutions with industrial security functions that support the
secure operation of plants, systems, machines and networks.
In order to protect plants, systems, machines and networks against cyber threats, it is
necessary to implement – and continuously maintain – a holistic, state-of-the-art industrial
security concept. Siemens’ products and solutions constitute one element of such a concept.
Customers are responsible for preventing unauthorized access to their plants, systems,
machines and networks. Such systems, machines and components should only be connected
to an enterprise network or the Internet if and to the extent such a connection is necessary
and only when appropriate security measures (e.g. firewalls and/or network segmentation) are
in place.
For additional information on industrial security measures that may be implemented, please
visit:
Industrial security (http://www.siemens.com/industrialsecurity)
Siemens’ products and solutions undergo continuous development to make them more secure.
Siemens strongly recommends that product updates are applied as soon as they are available
and that the latest product versions are used. Use of product versions that are no longer
supported, and failure to apply the latest updates may increase customer’s exposure to cyber
threats.
To stay informed about product updates, subscribe to the Siemens Industrial Security RSS
Feed at:
Industrial security (http://www.siemens.com/industrialsecurity)
Further information is provided on the Internet:
Industrial Security Configuration Manual (https://support.industry.siemens.com/cs/ww/en/
view/108862708)
Fundamental safety instructions
1.3 Industrial security
Synchronized actions
10
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Unsafe operating states resulting from software manipulation
Software manipulations (e.g. viruses, trojans, malware or worms) can cause unsafe operating
states in your system that may lead to death, serious injury, and property damage.
●
Keep the software up to date.
●
Incorporate the automation and drive components into a holistic, state-of-the-art industrial
security concept for the installation or machine.
●
Make sure that you include all installed products into the holistic industrial security concept.
●
Protect files stored on exchangeable storage media from malicious software by with
suitable protection measures, e.g. virus scanners.
●
Protect the drive against unauthorized changes by activating the "know-how protection"
drive function.
Fundamental safety instructions
1.3 Industrial security
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
11
Fundamental safety instructions
1.3 Industrial security
Synchronized actions
12
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
A synchronized action consists of a series of related statements within a part program that is
called cyclically in the interpolator clock cycle synchronously to the machining blocks.
A synchronized action is essentially divided into two parts, the optional condition and the
obligatory action part. The time at which the actions are executed can be made dependent on
a specific system state using the condition part. The conditions are evaluated cyclically in the
interpolator clock cycle. The actions are then a reaction to user-definable system states. Their
execution is not bound to block limits.
Furthermore, the validity of the synchronized action (non-modal, modal or static) and the
frequency of the execution of the actions (once, repeatedly) can be defined.
Examples of permissible actions
●
Output of auxiliary functions to PLC
●
Writing and reading of main run variables
●
Traversing of positioning axes
●
Activation of synchronous procedures, such as:
–
Read-in disable
–
Delete distance-to-go
–
End preprocessing stop
●
Activation of technology cycles
●
Calculation of function values
●
Tool offsets
●
Activating/deactivating couplings
●
Measuring
●
Enabling/disabling of synchronized actions
Examples of non-permissible actions
●
Traversing of path axes
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
13
Schematic diagram of synchronized actions
,QLWLDWHGDFWLRQV
QRQPRGDO
PRGDO
PRGDOVWDWLF
DFURVVPRGHV
*DWLQJORJLF
(YDOXDWLRQRI
FRQGLWLRQV
5HDOWLPHHYHQWVDQGYDOXHV
'LJLWDOLQSXWVVLJQDOV
9DOXHVRIV\VWHPYDULDEOHV
0HDVXUHGYDOXHV
'ULYHGDWD
,Q1&.LQWHUSRODWLRQF\FOH
Brief description
Synchronized actions
14
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Definition of a synchronized action
A synchronized action is defined in a block of a part program. Any further commands that are
not part of the synchronized action, must not be programmed within this block.
Components of a synchronized action
A synchronized action consists of the following components:
Validity, ID no.
(Page 16)
(optional)
Condition part
(optional)
Action part
Frequency
(Page 17)
G command
(Page 18)
(optional)
Condition
(Page 19)
Keyword
G command
(Page 19)
(optional)
Actions
(Page 20)
--- 1)
ID=
IDS=
--- 1)
WHENEVER
FROM
WHEN
EVERY
G...
Logical
expression
DO
G...
Action 1
...
Action n
1)
not programmed
Syntax
Examples:
1. DO
2. [] DO
3. ID= [] DO
4. IDS= [] DO
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
15
Components of synchronized actions
3.2.1
Validity, identification number (ID, IDS)
Validity
The validity defines when and where the synchronized action will be processed:
Validity
Meaning
--- 1)
Non-modal synchronized action
A non-modal synchronized action applies:
●
As long as the main run block following the synchronized action is active
●
Only in the AUTOMATIC mode
Example:
The synchronized action from N10 takes effect as long as N20 is active.
N10 WHEN $A_IN[1]==TRUE DO $A_OUTA[1]=10
N20 G90 F1000 X100
ID=
Modal synchronized action
A modal synchronized action applies:
●
Until the part program has been completed
●
Only in the AUTOMATIC mode
Range of values: See the paragraph below "Identification number" > "Value
range"
Example:
N20 ID=1 EVERY $A_IN[1]==TRUE DO $A_OUTA[1]=10
IDS=
Static synchronized action
A static synchronized action applies:
●
In all operating modes for an unlimited period of time
Range of values: See the paragraph below "Identification number" > "Value
range"
Example:
N30 IDS=1 EVERY $A_IN[1]==TRUE DO $A_OUTA[1]=10
1)
Not programmed
Note
Static synchronized actions
Static synchronized actions (IDS) can be defined in an ASUB and activated at any time by
activation of the ASUB via the PLC user program.
Detailed description
3.2 Components of synchronized actions
Synchronized actions
16
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Identification number ID/IDS
Range of values
The identification numbers ID/IDS are in various number ranges. The number ranges are
assigned to different users.
ID/IDS
User
Directory
1 ... 999
"General area"
Any directory
"Safety Integrated" function
/_N_CST_DIR/_N_SAFE_SPF
1000 ... 1199
Machine manufacturer
/_N_CMA_DIR
1200 ... 1399
Siemens
/_N_CST_DIR
Parallelization
If several synchronized actions are to be active in parallel in a channel, their identification
numbers ID/IDS must be different. Synchronized actions with the same identification number
replace each other within a channel.
Sequence of execution
Modal and static synchronized actions are executed in the order of their identification numbers
ID/IDS.
Non-modal synchronized actions are executed after execution of the modal synchronized
actions in the order of their programming.
Coordination via part programs and synchronized actions
Synchronized actions can be coordinated via part programs and synchronized actions based
on the identification numbers ID/IDS (see Section "Coordination via part program and
synchronized action (LOCK, UNLOCK, CANCEL) (Page 122)").
Coordination via PLC
Synchronized actions with identification numbers ID/IDS in the range from 1 to 64 can be
coordinated via the NC/PLC interface from the PLC user program (see Section "Coordination
via PLC (Page 123)").
3.2.2
Frequency (WHENEVER, FROM, WHEN, EVERY)
The frequency specifies how often the condition is queried and, when the condition is fulfilled,
how often the action should be executed. The frequency is part of the condition.
Frequency
Meaning
--- 1)
If no frequency is specified, the action is executed cyclically in every interpolator clock cycle.
WHENEVER
If the condition is fulfilled, the action is executed cyclically in every interpolator clock cycle.
FROM
After the condition has been fulfilled once, the action is executed cyclically in every interpolator clock
cycle for as long as the synchronized action is active.
Detailed description
3.2 Components of synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
17
If the condition is fulfilled, the action is executed once and then the condition is no longer checked.
EVERY
In the following cases, the action is executed once:
●
The condition is already satisfied at the start of the synchronized action (state: TRUE)
●
At every state transition of the condition from FALSE to TRUE (rising edge)
1)
Not programmed
See also
Technology cycles (Page 116)
3.2.3
G command (condition)
Defined initial state
With regard to the part program sequence, synchronized actions can be executed at any time
depending on fulfillment of the condition. It is therefore recommended that the measuring
system (inch or metric) be defined in a synchronized action before the condition and/or in the
action part. This generates a defined initial position for the evaluation of the condition and the
execution of the action, irrespective of the current part program state.
G commands
The following G commands are permissible:
●
G70 (Inch dimensions for geometric specifications (lengths))
●
G71 (Metric dimensions for geometric specifications (lengths))
●
G700 (Inch dimensions for geometric and technological specifications (lengths, feedrate))
●
G710 (Metric dimensions for geometric and technological specifications (lengths, feedrate))
Note
No other G commands are permitted in synchronized actions except G70, G71, G700 and
G710.
Validity
A G command programmed in the condition part also applies for the action part even if no G
command has been programmed in the action part itself.
A G command programmed in the action part only applies within the action part.
Detailed description
3.2 Components of synchronized actions
Synchronized actions
18
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Execution of the action can be made dependent on the fulfillment of a condition. As long as
the synchronized action is active, the condition is checked cyclically in the interpolator clock
cycle. If no condition is specified, the action is executed cyclically in every interpolator clock
cycle.
All operations that return a truth value (TRUE/FALSE) as the result can be programmed as a
condition:
●
Comparisons of system variables with constants
●
Comparisons of system variables with system variables
●
Comparisons of system variables with results of arithmetic operations
●
Linking of comparisons through Boolean expressions
Examples
Comparisons
Program code
ID=1 WHENEVER $AA_IM[X] > $$AA_IM[Y] DO ...
ID=2 WHENEVER $AA_IM[X] > (10.5 * SIN(45)) DO ...
Boolean operations
Program code
ID=1 WHENEVER ($A_IN[1]==1) OR ($A_IN[3]==0) DO ...
See also
Reading and writing (Page 21)
Examples of conditions in synchronized actions (Page 137)
System variables for synchronized actions (Page 20)
3.2.5
G command (action)
Defined initial state
With regard to the part program sequence, synchronized actions can be executed at any time
depending on fulfillment of the condition. Therefore, it is advisable to define the required
measuring system (inch or metric) in the action part in a synchronized action. This generates
a defined initial position for the execution of the action, irrespective of the current part program
state.
Detailed description
3.2 Components of synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
19
The following G commands are permissible:
●
G70 (Inch dimensions for geometric specifications (lengths))
●
G71 (Metric dimensions for geometric specifications (lengths))
●
G700 (Inch dimensions for geometric and technological specifications (lengths, feedrate))
●
G710 (Metric dimensions for geometric and technological specifications (lengths, feedrate))
Validity
A G command programmed in the condition part also applies for the action part even if no G
command has been programmed in the action part itself.
A G command programmed in the action part only applies within the action part.
3.2.6
Action (DO)
The action part of a synchronized action is initiated with the keyword DO.
One or more actions can be programmed in the action part. These are executed when the
appropriate condition is fulfilled. If several actions are programmed in one synchronized action,
they are all executed in the same interpolator clock cycle.
Example:
If the actual value of the Y axis is greater than or equal to 35.7, the auxiliary function M135 is
output on the PLC and, at the same time, digital output 1 = 1 is set.
Program code
WHEN $AA_IM[Y] >= 35.7 DO M135 $A_OUT[1]=1
Technology cycle
A technology cycle can be called as an action (see Section "Technology cycles (Page 116)").
3.3
System variables for synchronized actions
The system variables of the NC are listed in the "System Variables" Parameter Manual with
their respective properties. System variables that can be read or written in synchronized
actions, are marked with an "X" in the corresponding line (Read or Write) of the "SA"
(synchronized action) column.
Note
System variables used in synchronized actions are implicitly read and written synchronous to
the main run.
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
20
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
A comprehensive description of the system variables listed in this function manual can be
found in:
●
System Variables Parameter Manual
3.3.1
Reading and writing
The reading and writing of variables is performed in the main run in synchronized actions with
a few exceptions. Exceptions are:
●
User-defined variables: LUD, GUD
●
Machine data: $M...
●
Setting data: $S...
●
R parameters: R or R[]
These variables are already read and written during the preprocessing.
System variables
Generally, all system variables that can be used in synchronized actions are read/written in
the main run. These system variables are marked with an "X" in the "Read" and/or "Write" line
of the "SA" (synchronized action) column in the "System Variables" Parameter Manual.
References:
System Variables Parameter Manual
System of the identifiers
The identifiers of the system variables that are read/written in the main run have the following
system:
$A...
Current main run data
$V...
Servo data
$R...
R parameters to be read/written in the main run
$$M...
Machine data to be read/written in the main run
$$S...
Setting data to be read/written in the main run
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
21
Operators and arithmetic functions
Operators
Arithmetic operators
System variables of the REAL and INT type can be linked by the following operators:
Operator
Meaning
+
Addition
-
Subtraction
*
Multiplication
/
●
Division in synchronized actions: INT / INT ⇒ INT
●
Division in synchronized actions with REAL result by using the function ITOR():
ITOR( INT ) / ITOR( INT ) ⇒ REAL
●
Division in NC programs: INT / INT ⇒ REAL
DIV
Integer division: INT / INT ⇒ INT
MOD
Modulo division (only for type INT) supplies remainder of an INT division
Example: 3 MOD 4 = 3
Note
Only variables of the same type may be linked by these operations.
Relational operators
Operator
Meaning
==
Equal to
<>
Not equal to
<
Less than
>
Greater than
<=
Less than or equal to
>=
Greater than or equal to
Boolean operators
Operator
Meaning
NOT
NOT
AND
AND
OR
OR
XOR
Exclusive OR
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
22
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Bit logic operators
Operator
Meaning
B_OR
Bit-by-bit OR
B_AND
Bit-by-bit AND
B_XOR
Bit-by-bit exclusive OR
B_NOT
Bit-by-bit negation
Priority of the operators
The operators have the following priorities for execution in the synchronized action (highest
priority: 1):
Priori‐
ty
Operators
Meaning
1
NOT, B_NOT
Negation, bit-by-bit negation
2
*, /, DIV, MOD
Multiplication, division
3
+, -
Addition, subtraction
4
B_AND
Bit-by-bit AND
5
B_XOR
Bit-by-bit exclusive OR
6
B_OR
Bit-by-bit OR
7
AND
AND
8
XOR
Exclusive OR
9
OR
OR
10
<<
Concatenation of strings, result type STRING
11
==, <>, <, >, >=, <=
Relational operators
Note
It is strongly recommended that the individual operators are clearly prioritized by setting
parentheses "( … )" when several operators are used in an expression.
Example of a condition with an expression with several operators:
Program code
... WHEN ($AA_IM[X] > VALUE) AND ($AA_IM[Y] > VALUE1) DO ...
Arithmetic functions
Operator
Meaning
SIN()
Sine
COS()
Cosine
TAN()
Tangent
ASIN()
Arc sine
ACOS()
Arc cosine
ATAN2()
Arc tangent 2
SQRT()
Square root
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
23
2nd power (square)
TRUNC()
Integer component
The accuracy for comparison commands can be set using TRUNC
ROUND()
Round to an integer
LN()
Natural logarithm
EXP()
Exponential function
A detailed description of the functions can be found in:
References
Programming Manual, Job Planning; Section "Flexible NC programming" ff.
Indexing
The index of a system variable of type "Array of …" can in turn be a system variable. The index
is also evaluated in the main run in the interpolator clock cycle.
Example
Program code
... WHEN … DO $AC_PARAM[$AC_MARKER[1]]=3
Restrictions
●
It is not permissible to nest indices with further system variables.
●
The index must not be formed via preprocessing variables. The following example is
therefore not permitted since $P_EP is a preprocessing variable:
$AC_PARAM[ 1 ] = $P_EP[ $AC_MARKER[ 0 ] ]
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
24
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
An implicit type conversion is performed between the following data types for value
assignments and parameter transfers with different data types:
●
REAL
●
INT
●
BOOL
Note
Conversion REAL to INT
For the conversion from REAL to INT, a decimal place value ≧ 0.5 rounded up to the next
higher integer. For a decimal place value < 0.5, rounding is to the next lower integer.
Behavior in accordance with the ROUND function.
If the REAL value is outside the INT value range, an alarm is displayed and a conversion
is not performed.
Conversion from REAL or INT to BOOL
●
Value <> 0 → TRUE
●
Value == 0 → FALSE
Examples
Conversion: INT $AC_MARKER → REAL $AC_PARAM
Program code
$AC_MARKER[1]=561
ID=1 WHEN TRUE DO $AC_PARAM[1] = $AC_MARKER[1]
Conversion: REAL $AC_PARAM → INT $AC_MARKER
Program code
$AC_PARAM[1]=561.0
ID=1 WHEN TRUE DO $AC_MARKER[1] = $AC_PARAM[1]
Conversion: INT $AC_MARKER → BOOL $A_OUT
Program code
$AC_MARKER[1]=561
ID=1 WHEN $A_IN[1] == TRUE DO $A_OUT[0]=$AC_MARKER[1]
Conversion: REAL $R401 → BOOL $A_OUT
Program code
R401 = 100.542
WHEN $A_IN[0] == TRUE DO $A_OUT[2]=$R401
Conversion: BOOL $A_OUT → INT $AC_MARKER
Program code
ID=1 WHEN $A_IN[2] == TRUE DO $AC_MARKER[4] = $A_OUT[1]
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
25
Conversion: BOOL $A_OUT → REAL $R10
Program code
WHEN $A_IN[3] == TRUE DO $R10 = $A_OUT[3]
3.3.4
Marker/counter ($AC_MARKER)
The $AC_MARKER[] variables are channel-specific arrays of system variables for use
as markers or counters.
Data type:
INT (integer)
:
Array index: 0, 1, 2, ... (max. number – 1)
Number per channel
The maximum number of $AC_MARKER variables per channel can be set via the machine
data:
MD28256 $MC_MM_NUM_AC_MARKER =
Storage location
The storage location of the $AC_MARKER variables can be defined channel-specifically via
the machine data:
MD28257 $MC_MM_BUFFERED_AC_MARKER =
Value
Storage location
0
Dynamic memory (default setting)
1
Static memory
Note
Data backup and memory space
●
The $AC_MARKER variables created in the static memory can be saved channel-
specifically via the data backup. Data block: _N_CH_ACM
●
Please ensure that sufficient memory is available in the selected memory area. An array
element requires 4 bytes of memory space.
Reset behavior
The reset behavior depends on the storage location of the $AC_MARKER variables:
●
Dynamic memory: Initialization with the value "0"
Static memory: Retention of the current value
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
26
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
The $AC_PARAM[] variables are channel-specific arrays of system variables for use
as general buffers.
Data type:
REAL
:
Array index: 0, 1, 2, ... (max. number - 1)
Number per channel
The maximum number of $AC_PARAM variables per channel can be set via the machine data:
MD28254 $MC_MM_NUM_AC_PARAM =
Storage location
The storage location of the $AC_PARAM variables can be defined channel-specifically via the
machine data:
MD28255 $MC_MM_BUFFERED_AC_PARAM =
Value
Storage location
0
Dynamic memory (default setting)
1
Static memory
Note
Data backup and memory space
●
The $AC_PARAM variables created in the static memory can be saved channel-specifically
via the data backup. Data block: _N_CH_ACP
●
Please ensure that sufficient memory is available in the selected memory area. An array
element requires 4 bytes of memory space.
Reset behavior
The reset behavior depends on the storage location of the $AC_PARAM variables:
●
Dynamic memory: Initialization with the value "0"
●
Static memory: Retention of the current value
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
27
R parameters ($R)
Whether R parameters are treated as preprocessing or main run variables depends on whether
they are written with or without $ characters. In principle, the notation is freely selectable. For
use in synchronized actions, R parameters should be used as main run variables, i.e. with $
characters:
●
$R[]
●
$R
Data type:
REAL
:
Array index: 0, 1, 2, ...
:
Number of the R parameter: 0, 1, 2, ...
The notations with index or number are equivalent.
Parameterizable number per channel
The maximum number of R parameters per channel can be set via the machine data:
MD28050 $MC_MM_NUM_R_PARAM =
Reset behavior
R parameters are saved persistently in the static memory of the NC. Therefore, R parameters
retain their values with all reset types:
●
Power on reset
●
NC reset
●
End of part program reset
Example
Value assignment to R10 in the action part of the synchronized action and subsequent
evaluation in the part program
WHEN $A_IN[1]==1 DO $R[10]=$AA_IM[Y] ; assignment
G1 X100 F150
STOPRE
IF R[10] > 50 ... ; evaluation in the part program
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
28
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Machine and setting data ($$M, $$S)
Reading and writing MD and SD
When machine and setting data is used in synchronized actions, a distinction must be made
as to whether this remains unchanged during the execution of the synchronized action, or is
changed through parallel processes.
Data that remains unchanged can already be read or written by the NC during preprocessing.
Data that is changed can only be read or written by the NC during the main run.
Data access during preprocessing
Machine and setting data that can already be read and written in synchronized actions during
preprocessing, is programmed with the same identifiers as in the part program: $M ... or $S ...
Program code
; The reversal position of the Z axis $SA_OSCILL_REVERSE_POS2[Z]
; remains unchanged over the entire machining period
ID=2 WHENEVER $AA_IM[z]<$SA_OSCILL_REVERSE_POS2[Z]–6 DO $AA_OVR[X]=0
Data access during the main run
An additional "$" is added as prefix for machine and setting data that may only be read or
written in synchronized actions during the main run: $$M… or $$S…
Program code
; The reversal position of the Z axis $SA_OSCILL_REVERSE_POS2[Z]
; can be changed by operator input at any time
ID=1 WHENEVER $AA_IM[z] < $$SA_OSCILL_REVERSE_POS2[Z] DO $AA_OVR[X] = 0
Writing during the main run
The following requirements must be satisfied for writing during the main run:
●
The access authorization at the time of writing must be sufficient for writing.
●
The machine or setting data must have the property "Effective immediately".
Program code
; The switching position of the SW cam $SN_SW_CAM_ ... must,
; depending on the current setpoint of the X axis in WCS $AA_IW[X],
; only be written during the main run
ID=2 WHEN $AA_IW[X] > 10 DO $$SN_SW_CAM_PLUS_POS_TAB_1[0] = 20
$$SN_SW_CAM_MINUS_POS_TAB_1[0]=20
A complete overview of the properties of the machine and setting data can be found in:
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
29
Parameter Manual: Lists (Book 1)
●
Parameter Manual: Detailed Machine Data Description
3.3.8
Timer ($AC_TIMER)
The $AC_TIMER[] variables are channel-specific arrays of system variables.
Data type:
REAL
:
Array index: 0, 1, 2, ... (max. number - 1)
Unit:
Seconds
Number per channel
The maximum number of $AC_TIMER variables per channel can be set via the machine data:
MD28258 $MC_MM_NUM_AC_TIMER =
Function
Starting
A timer is started by assigning a value ≥ 0:
$AC_TIMER[] = ; with starting value ≥ 0
Incrementing
The value of the timer is incremented by the duration of the set interpolator clock cycle
(MD10071 IPO_CYCLE_TIME) for each interpolator clock cycle.
$AC_TIMER[] +=
Stopping
A timer is stopped by assigning a value < 0:
$AC_TIMER[] = ; with stopping value < 0
When a stopping value is assigned, only the further incrementing of the timer is stopped. The
stopping value is not assigned. After the timer is stopped, the last valid value is retained and
can still be read.
Note
The current value of a timer can be be read when the timer is running or stopped.
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
30
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Output the actual value of the X axis as voltage value via analog output $A_OUTA[3], 500 ms
after the detection of digital input $A_IN[1]:
Program code
Comment
WHEN $A_IN[1] == 1 DO $AC_TIMER[1]=0
; Start timer, starting value 0
WHEN $AC_TIMER[1]>=0.5 DO $A_OUTA[3]=$AA_IM[X] $AC_TIMER[1]=-1
3.3.9
FIFO variables ($AC_FIFO)
A FIFO variable provides a complex data structure based on R parameters. The data structure
comprises one administration part and one user data part. The user data part is structured as
a stack according to the FIFO principle (first in, first out). Using the index of the FIFO variables,
the different functions are addressed in the administration part as well as the user data.
0'
0&B67$57B$&B),)2
5Q
5Q
5Q0'
$&B),)2>@
$&B),)2>@
$&B),)2>@
$&B),)2>P@
5
5
0'
0&B/(1B$&B),)2
5Q
①
Administration part
②
User data part
③
R parameter range above the FIFO variables: Read and write permitted
④
R parameter range below the FIFO variables: Only read permitted
Note
The statements regarding R parameters also apply to FIFO variables. See Chapter "R
parameters ($R) (Page 28)".
Syntax
Write
$AC_FIFO[] =
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
31
$AC_FIFO[, ] =
Read
= $AC_FIFO[]
= $AC_FIFO[, ]
Meaning
$AC_FIFO:
FIFO data structure in the R parameters, starting from value in MD28262
$MC_START_AC_FIFO
Data type:
REAL
:
Number of FIFO variables
Data type:
INT
Value range:
1, 2, ... max. number (see references below)
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
32
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Index of the FIFO variables with which the various functions and data within the data
structure of the FIFO variables is accessed.
Value range:
0, 1, 2, ... (MD28264 $MC_LEN_AC_FIFO - 1)
Value
Meaning
Administrative data
0
Write
A value is written to the FIFO stack by assigning a value to the FIFO stack
via index 0 ($AC_FIFO[ 0 ] = ). The assigned value is written to the
next free location in the FIFO stack.
If all memory locations in the FIFO stack are already occupied, an alarm is
displayed:
●
When writing in an NC program: Alarm 20149
●
When writing in a synchronized action: Alarm 17020
Read
A value is read from the FIFO stack by assigning the FIFO stack to a variable
with index 0 ( = $AC_FIFO[ 0 ]). The oldest value is read and then
removed from the FIFO stack.
Note
●
Reading in the NC program / synchronized action
If a value is read in an NC program / synchronized action with index 0,
the oldest value is read and removed from the FIFO stack as described
above.
●
Reading on the user interface, e.g. SINUMERIK Operate
If a value is read or displayed with index 0 on the user interface, e.g.
SINUMERIK Operate: "Diagnosis" > "NC/PLC Variables", the value is
read internally with index 1 (oldest value) without changing the FIFO
stack.
1
Write / Read: The "oldest" user data is addressed; the FIFO stack is not
changed
2
Write / Read: The "newest" user data is addressed; the FIFO stack is not
changed
3
Read: Returns the sum of the values of all user data
Enable via MD28266 $MC_MODE_AC_FIFO, bit 0 required. See paragraph
below "Summation across all user data"
4
Read: Supplies the number of user data currently stored in the FIFO stack.
Write: Reset to the initial state is realized by writing the value of 0 to FIFO
variable, index 4.
Example: $AC_FIFO1[4] = 0
5
Read: Returns the current write index, relative to the beginning of the FIFO
stack
User data
6
Write/read: The 1st field element of the user data range is addressed
7
Write/read: The 2nd field element of the user data range is addressed
n
Write/read: The nth field element of the user data range is addressed
References
List Manual, System Variables
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
33
Number of FIFO variables per channel
The number of FIFO variables per channel is set using:
MD28260 $MC_NUM_AC_FIFO =
Beginning of the R parameter range of FIFO variables
The R parameter, from which the range of FIFO variables for the channel begins, is set using:
MD28262 $MC_START_AC_FIFO =
Note
Free R parameters
Only the R parameters whose numbers are below the start R parameter of the FIFO variables,
can be written to the NC program.
Number of field elements for each FIFO variable
The maximum number of field elements per FIFO variable is set using:
MD28264 $MC_LEN_AC_FIFO =
Total number of R parameters in the channel
The total number of R parameters, which are required in the channel, is set using:
MD28050 $MC_MM_NUM_R_PAR‐
AM =
MD28262 $MC_START_AC_FIFO +
MD28260 $MC_NUM_AC_FIFO *
(MD28264 $MC_LEN_AC_FIFO + 6)
Summation of all user data
The sum of the values of all user data is only provided via $AC_FIFO[ 3 ] if the function is
activated via machine data:
MD28266 $MC_MODE_AC_FIFO, bit 0 =
Value
Meaning
FALSE
The sum of the values of all user data is not provided
TRUE
The sum of the values of all user data is provided
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
34
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Serial determination of the length of workpieces that move past an automatic measuring station
on a conveyor belt.
/HQJWKPHDVXUHPHQW
'LUHFWLRQRIEHOWWUDYHO
The measurement results are written to or read from the $AC_FIFO1 system variable via
synchronized actions.
●
Read: With index 0, the "oldest" user data element is read and deleted from the FIFO stack.
●
Write: With index 0, the value is written to the next free user data element.
8QGHILQHG
8QGHILQHG
8QGHILQHG
2OGHVWHOHPHQW>@
0RVWUHFHQWHOHPHQW>@
6XPRIDOOYDOXHV
3UHYLRXVO\
$IWHUUHDGLQJDQGZULWLQJ
1XPEHURIDVVLJQHGHOHPHQWV
&XUUHQWZULWHLQGH[
8QGHILQHG
8QGHILQHG
8QGHILQHG
8QGHILQHG
2OGHVWHOHPHQW>@
0RVWUHFHQWHOHPHQW>@
6XPRIDOOYDOXHV
1XPEHURIDVVLJQHGHOHPHQWV
&XUUHQWZULWHLQGH[
8QGHILQHG
:ULWH1H[WHOHPHQW
1$&B),)2>@
5HDG2OGHVWHOHPHQW
15 $&B),)2>@
$&B),)2>@
>@
>@
>@
>@
>@
>@
>@
>@
>@
>@
>@
>@
>@
$&B),)2>@
>@
>@
>@
>@
>@
>@
>@
>@
>@
>@
>@
>@
>@
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
35
Path tangent angle ($AC_TANEB)
The angle between the tangent at the end point of the current block and the tangent at the
start point of the following block can be read via the channel-specific system variable
$AC_TANEB (Tangent ANgle at End of Block).
Data type:
REAL
The tangent angle is always specified positive in the range 0.0 to 180.0°.
If the tangent angle cannot be determined, the value -180.0° is output.
Used only with programmed blocks
It is recommended that the tangent angle only be read for programmed blocks, not for
intermediate blocks generated by the system. A distinction can be made via the system variable
$AC_BLOCKTYPE:
$AC_BLOCKTYPE == 0 (programmed block)
Example:
Program code
ID=2 EVERY $AC_BLOCKTYPE==0 DO $R1=$AC_TANEB
3.3.11
Override ($A...OVR)
Current override
Channel-specific override
The path feedrate can be changed via the channel-specific system variable $AC_OVR.
Data type:
REAL
Unit:
%
Range of val‐
ues:
0.0 to machine data
●
For binary-coded override switch
MD12100 $MN_OVR_FACTOR_LIMIT_BIN
●
For gray-coded override switch
MD12030 $MN_OVR_FACTOR_FEEDRATE[30]
The system variable $AC_OVR must be written in every interpolator clock cycle, otherwise the
value "100%" is effective.
Channel-specific rapid traverse override
With G0 blocks (rapid traverse), the rapid traverse feedrate can also be influenced via the
setting data SD42122 $SC_OVR_RAPID_FACTOR in addition to the system variable
$AC_OVR.
Requirement: Release of the rapid traverse override via the user interface.
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
36
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
The axial feedrate can be changed via the axis-specific system variable $AA_OVR:
Data type:
REAL
Unit:
%
Range of val‐
ues:
0.0 to machine data
●
For binary-coded override switch
MD12100 $MN_OVR_FACTOR_LIMIT_BIN
●
For gray-coded override switch
MD12030 $MN_OVR_FACTOR_FEEDRATE[30]
The system variable $AA_OVR must be written in every interpolator clock cycle, otherwise the
value "100%" is effective.
PLC override
Channel-specific override
The channel-specific override (DB21, ... DBB4) set via the machine control panel can be read
via the channel-specific system variable $AC_PLC_OVR:
Data type:
REAL
Unit:
%
Range of val‐
ues:
0.0 to maximum value
Axis-specific override
The axis-specific override (DB31, ... DBB0) set via the machine control panel can be read via
the axis-specific system variable $AA_PLC_OVR:
Data type:
REAL
Unit:
%
Range of val‐
ues:
0.0 to maximum value
Effective override
Effective channel-specific override
The effective channel-specific override can be read via the channel-specific system variable
$AC_TOTAL_OVR:
Data type:
REAL
Unit:
%
Range of val‐
ues:
0.0 to maximum value
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
37
Effective axis-specific override
The effective axis-specific override can be read via the axis-specific system variable
$AA_TOTAL_OVR:
Data type:
REAL
Unit:
%
Range of val‐
ues:
0.0 to maximum value
3.3.12
Capacity evaluation ($AN_IPO ... , $AN/AC_SYNC ... , $AN_SERVO)
The values of the current, maximum and average system utilization due to synchronized
actions can be read via the following system variables:
NC-specific system variable
Meaning
$AN_IPO_ACT_LOAD
Current computing time of the interpolator level (incl. synchron‐
ized actions of all channels)
$AN_IPO_MAX_LOAD
Longest computing time of the interpolator level (incl. synchron‐
ized actions of all channels)
$AN_IPO_MIN_LOAD
Shortest computing time of the interpolator level (incl. synchron‐
ized actions of all channels)
$AN_IPO_LOAD_PERCENT
Current computing time of the interpolator level in relation to the
interpolator cycle (%)
$AN_SYNC_ACT_LOAD
Current computing time for synchronized actions over all chan‐
nels
$AN_SYNC_MAX_LOAD
Longest computing time for synchronized actions over all chan‐
nels
$AN_SYNC_TO_IPO
Percentage share that the synchronized actions have of the total
computing time (over all channels)
$AN_SERVO_ACT_LOAD
Current computing time of the position controller
$AN_SERVO_MAX_LOAD
Longest computing time of the position controller
$AN_SERVO_MIN_LOAD
Shortest computing time of the position controller
Channel-specific system variable
Meaning
$AC_SYNC_ACT_LOAD
Current computing time for synchronized actions in the channel
$AC_SYNC_MAX_LOAD
Longest computing time for synchronized actions in the channel
$AC_SYNC_AVERAGE_LOAD
Average computing time for synchronized actions in the channel
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
38
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Computing time shares of the synchronized actions on the interpolator cycle
Activation
The system variables only contain valid values when the "Utilization evaluation via
synchronized actions" diagnostic function is active.
For this, the following machine data must be greater than zero:
MD11510 $MN_IPO_MAX_LOAD > 0 (maximum permissible interpolator utilization)
When the function is active, the current values are displayed in the "Time required for
synchronized actions" line in the "Diagnostics" > "System utilization" operating area.
Note
The system variables always contain the values of the previous interpolator cycle.
Overload limit
An overload limit is specified via the value set via MD11510 $MN_IPO_MAX_LOAD:
MD11510 $MN_IPO_MAX_LOAD =
If the value set in the machine data is exceeded, the following system variable is set:
$AN_IPO_LOAD_LIMIT = TRUE
If the value falls below the set value again, the system variable is reset:
$AN_IPO_LOAD_LIMIT = FALSE
Application
A user-specific strategy to avoid a level overflow can be implemented via the system variable
$AN_IPO_LOAD_LIMIT.
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
39
Resetting of min./max. values
The following system variables for min./max. values are reset by writing arbitrary values:
System variable
Meaning
$AN_SERVO_MAX_LOAD
Longest computing time of the position controller
$AN_SERVO_MIN_LOAD
Shortest computing time of the position controller
$AN_IPO_MAX_LOAD
Longest computing time of the interpolator level
(incl. synchronized actions of all channels)
$AN_IPO_MIN_LOAD
Shortest computing time of the interpolator level
(incl. synchronized actions of all channels)
$AN_SYNC_MAX_LOAD
Longest computing time for synchronized actions
over all channels
$AC_SYNC_MAX_LOAD
Longest computing time for synchronized actions
in the channel
Example
Program code
Comment
$MN_IPO_MAX_LOAD=80
; Overload limit
;
; Initialization of the min./max. values
N01 $AN_SERVO_MAX_LOAD=0
N02 $AN_SERVO_MIN_LOAD=0
N03 $AN_IPO_MAX_LOAD=0
N04 $AN_IPO_MIN_LOAD=0
N05 $AN_SYNC_MAX_LOAD=0
N06 $AC_SYNC_MAX_LOAD=0
;
; Alarm 63111 when the overload limit is exceeded
N10 IDS=1 WHENEVER $AN_IPO_LOAD_LIMIT == TRUE DO M4711 SETAL(63111)
;
; Alarm 63222 when the computing time share of the
; synchronized actions over all channels exceeds 30% of the interpolator cycle
N20 IDS=2 WHENEVER $AN_SYNC_TO_IPO > 30 DO SETAL(63222)
;
N30 G0 X0 Y0 Z0
...
N999 M30
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
40
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Working-area limitation ($SA_WORKAREA_ ... )
Only the activation via the setting data is effective for the traversable command axes in
synchronized actions with regard to the programmable working-area limitation G25/G26:
●
$SA_WORKAREA_PLUS_ENABLE
●
$SA_WORKAREA_MINUS_ENABLE
Switching the working-area limitation on and off via the commands WALIMON/WALIMOF in the
part program has no effect on the command axes traversable via synchronized actions.
3.3.14
SW cam positions and times ($$SN_SW_CAM_ ...)
The values of the SW cam positions and times can be read and written via the following setting
data:
NC-specific setting data
Meaning
$SN_SW_CAM_MINUS_POS_TAB_1[0..7]
Minus cam positions
$SN_SW_CAM_MINUS_POS_TAB_2[0..7]
Minus cam positions
$SN_SW_CAM_PLUS_POS_TAB_1[0..7]
Plus cam positions
$SN_SW_CAM_PLUS_POS_TAB_2[0..7]
Plus cam positions
$SN_SW_CAM_MINUS_TIME_TAB_1[0..7]
Minus cam lead or delay time
$SN_SW_CAM_MINUS_TIME_TAB_2[0..7]
Minus cam lead or delay time
$SN_SW_CAM_PLUS_TIME_TAB_1[0..7]
Plus cam lead or delay time
$SN_SW_CAM_PLUS_TIME_TAB_2[0..7]
Plus cam lead or delay time
Note
The setting of a software cam via synchronized actions must not be performed immediately
before the cam is reached. At least three interpolation cycles must be available before the cam
is reached.
A detailed description of the "Software cam" function can be found in:
References
Function Manual for Extended Functions, Software Cams, Position-Switching Signals (N3)
Examples
Program code
; Changing a cam position:
ID=1 WHEN $AA_IW[x] > 0 DO $$SN_SW_CAM_MINUS_POS_TAB_1[0] = 50.0
...
; Changing a lead time
ID=1 WHEN $AA_IW[x] > 0 DO $$SN_SW_CAM_MINUS_TIME_TAB_1[0] = 1.0
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
41
Machine and setting data ($$M, $$S) (Page 29)
3.3.15
Path length evaluation / machine maintenance ($AA_TRAVEL ... , $AA_JERK ... )
The data of the path length evaluation, e.g. for machine maintenance, can be read via the
system variables listed below.
Activation
The activation for the recording of the path length evaluation data is performed via:
MD18860 $MN_MM_MAINTENANCE_MON = 1
The data to be recorded for the specific axis can be selected via the following axis-specific
machine data:
MD33060 $MA_MAINTENANCE_DATA[], bit n = 1
Bit
Meaning
0
Recording of total traversing distance, total traversing time and number of traversing operations
of the axis.
1
Recording of total traversing distance, total traversing time and number of traversing operations
of the axis at high speed.
2
Recording of total number of axis jerks, the time during which the axis is traversed with jerk and
the number of traversing operations with jerk.
System variable
System variable
Meaning
n
$AA_TRAVEL_DIST
Total travel distance:
Sum of all set position changes in MCS in [mm] or [deg.]
0
$AA_TRAVEL_TIME
Total travel time:
Sum of IPO cycles of set position changes in MCS in [s] (resolution: 1 IPO
cycle)
$AA_TRAVEL_COUNT
Total travel count:
A complete machine axis trip is defined by the following succession of states,
as based on set position: standstill > traversing > standstill
$AA_TRAVEL_DIST_HS
Total traversing distance at high axis velocities 1)
1
$AA_TRAVEL_TIME_HS
Total traversing time at high axis velocities 1)
$AA_TRAVEL_COUNT_HS
Total number of traversing operations at high axis velocities 3)
$AA_JERK_TOT
Total sum of axis jerks:
Sum of all jerk setpoints in [m/s3] or [deg./ s3]
2
$AA_JERK_TIME
Total travel time with jerk:
Sum of IPO cycles from jerk setpoint changes in [s] (solution: 1 IPO cycle)
$AA_JERK_COUNT
Total number of traversing operations with jerk
1) Actual machine axis velocity ≥ 80% of the maximum parameterized axis velocity (MD32000 MAX_AX_VELO)
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
42
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
For a detailed description of the function, refer to:
Function Manual, Special Functions, Section "Path length evaluation (W6)"
3.3.16
Polynomial coefficients, parameters ($AC_FCT ...)
Function
Using the FCTDEF function, as a maximum, a 3rd degree polynomial can be defined:
f(x) = a0 + a1*x + a2*x2 + a3*x3
Note
The definition must be made in a part program.
Syntax
FCTDEF(,,,a0,a1,a2,a3)
Meaning
Parameter
Meaning
:
Number of the polynomial function
:
Lower limit of the function values
:
Upper limit of the function values
a0, a1, a2, a3:
Polynomial coefficient
Note
Polynomial coefficients (a2, a3) that are not required can be omitted when programming the
FCTDEF(...) function.
System variable
Read and write access to polynomial coefficients and parameters is also possible from
synchronized actions via the following system variables:
System variable
Meaning
$AC_FCTLL[]:
Lower limit for function value
$AC_FCTUL[]:
Upper limit for function value
$AC_FCT0[]:
a0
$AC_FCT1[]:
a1
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
43
The number specified during the definition of the
polynomial function (see above: Syntax)
Part program
When writing system variables in the part program, preprocessing stop STOPRE must be
programmed explicitly for block-synchronous writing.
Note
Block-synchronous writing in the part program
So that the system variables can be written block-synchronously in the part program, the
STOPRE command (preprocessing stop) must be used after writing the system variables.
Synchronized action
When writing system variables in synchronized actions, they take effect immediately.
Use
The function value f(x) of the polynomial can be used as input value in synchronized actions,
e.g. for the following functions:
●
"Polynomial evaluation (SYNFCT) (Page 68)"
●
"Online tool offset (FTOC) (Page 73)"
Example: Linear dependency
D
$FWXDOFXUUHQWYDOXH>$@
/RZHUOLPLW
8SSHUOLPLW
)HHGUDWH)>PPPLQ@
$$B&855
Figure 3-2
Example of linear dependency
Parameter
Meaning
:
Number of the polynomial, e.g. = 1
:
Lower limit of the function values = -100
:
Upper limit of the function values = 100
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
44
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Axis section on the ordinate (feedrate):
(5 - 4) / 100 = 5 / a0
a0 = 100 * 5 / (5 - 4) = 500
a1:
Gradient of the straight line:
a1 = 100 / (4 - 5) = -100
a2:
= 0 (no square component)
a3:
= 0 (no cubic component)
Program code
FCTDEF(1, -100, 100, 500, -100, 0, 0)
; Or in abbreviated notation without parameters a2 and a3
FCTDEF(1, -100, 100, 500, -100)
3.3.17
Overlaid movements ($AA_OFF)
Overlaid movements
The system variable $AA_OFF can be used to specify a position offset in a channel axis which
is traversed immediately:
$AA_OFF[] =
The following machine data can be used to set whether the position offset of the system
variable is to be assigned or summed up (integrated):
MD36750 $MA_AA_OFF_MODE, bit 0 =
Meaning
0
Assignment: $AA_OFF =
1
Summing (integration): $AA_OFF +=
Limitation of the overlay velocity
The maximum permissible velocity with which the position offset can be traversed can be set
via the machine data:
MD32070 $MA_CORR_VELO (axis velocity for overlay)
Axial jerk limitation
Setting the following machine data activates an axial jerk limitation for the $AA_OFF overlaying:
MD32420 $MA_JOG_AND_POS_JERK_ENABLE (basic position of axial jerk limitation) = 1
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
45
The axial jerk is limited to the value set in MD32430 $MA_JOG_AND_POS_MAX_JERK (axial
jerk).
Note
No predictive velocity control can be made for the overlaid $AA_OFF motion. This can cause
a discontinuous velocity change, in particular for clocked specification (via synchronous
actions) for $AA_OFF overlay values. In such cases, we recommend the deactivation of the
jerk limitation when possible.
Upper limit of the compensation value
The value of $AA_OFF can be limited via the following setting data:
SD43350 $SA_AA_OFF_LIMIT (upper limit of the compensation value $AA_OFF in case of
clearance control)
The status of the limitation can be read via the following system variable:
$AA_OFF_LIMIT[] ==
Value
Meaning
-1
Compensation value is limited in the negative direction
1
Compensation value is limited in the positive direction.
0
No limitation of the offset value
Reset behavior
With static synchronized actions (IDS = DO $AA_OFF = ), deselection
of the position offset effective in $AA_OFF results in an immediate new overlaid movement.
The reset behavior with regard to $AA_OFF can therefore be set via the following machine
data:
MD36750 $MA_AA_OFF_MODE, bit 1 =
Meaning
0
The position offset in $AA_OFF is deselected with RESET
1
The position offset in $AA_OFF is retained after RESET
JOG mode
Execution of an overlaid movement because of $AA_OFF can also be enabled for JOG mode:
MD36750 $MA_AA_OFF_MODE, bit 2 =
Meaning
0
JOG mode: Overlaid movement because of $AA_OFF disabled
1
JOG mode: Overlaid movement because of $AA_OFF enabled
A mode change to JOG mode is only possible when the current position offset has been
traversed. Otherwise the following alarm is displayed:
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
46
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Alarm "16907 Action ... only possible in stop state"
Supplementary conditions
●
Interrupt routines and ASUB
When an interrupt routine is activated, modal motion-synchronous actions are retained and
are also effective in the ASUB. If the subprogram return is not made with REPOS, the modal
synchronized actions changed in the asynchronous subprogram continue to be effective in
the main program.
●
REPOS
In the remainder of the block, the synchronized actions are treated in the same way as in
an interruption block. Modifications to modal synchronized actions in the ASUB are not
effective in the interrupted program. Polynomial coefficients programmed with FCTDEF are
not affected by ASUB and REPOS.
The polynomial coefficients from the calling program are active in the ASUB. The polynomial
coefficients from the ASUB continue to be active in the calling program.
●
End of program
Polynomial coefficients programmed with FCTDEF remain active after the end of program.
●
Block search: Collection of the polynomial coefficients
During block search with calculation, the polynomial coefficients are collected in the system
variables.
●
Block search: Deselection of active overlaid movements
During block search, the CORROF and DRFOF commands are collected and output in an
action block. All the deselected DRF offsets are collected in the last block that contains
CORROF or DRFOF.
The commands for the deselection of overlaid movements CORROF(,
"AA_OFF") are not collected during a block search. If a user wishes to continue to use this
block search, this is possible by means of block search via "SERUPRO" program testing.
Reference:
Function Manual Basic Functions; Mode Group, Channel, Program Operation (K1)
●
Deselection of the position offset in case of synchronized actions
Alarm 21660 is displayed if a synchronized action is active when the position offset is
deselected via the CORROF(,"AA_OFF") command. $AA_OFF is deselected
simultaneously and not set again. If the synchronized action becomes active later in the
block after CORROF, $AA_OFF remains set and a position offset is interpolated.
References:
Programming Manual, Fundamentals
Note
The coordinate system (BCS or WCS) in which a main run variable is defined determines
whether frames will or will not be included.
Distances are always calculated in the set basic system (metric or inch). A change with G70
or G71 has no effect.
DRF offsets, zero offsets external, etc., are only taken into consideration in the case of main
run variables that are defined in the MCS.
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
47
Online tool length compensation ($AA_TOFF)
Function
In conjunction with an active orientation transformer or an active tool carrier, tool length
compensations can be applied during processing/machining in real time. Changing the
effective tool length using online tool length compensation produces changes in the
compensatory movements of the axes involved in the transformation in the event of changes
in orientation. The resulting velocities can be higher or lower depending on machine kinematics
and the current axis position.
Velocity and acceleration with which specified tool length compensations can be traversed via
the system variable $AA_TOFF, can be specified via the following machine data:
●
MD21194 $MC_TOFF_VELO (velocity, online offset in tool direction)
●
MD21196 $MC_TOFF_ACCEL (acceleration, online offset in tool direction)
For further information regarding the activation of the function, see:
References:
Programming Manual, Job Planning; Section "Transformations "TOFFON, TOFFOF""
Applications in synchronized actions
In synchronized actions, tool length compensations can be applied in all three dimensions via
the system variable $AA_TOFF. The three geometry axis names X, Y, Z are used as index.
All three offset directions can be active at the same time.
For an active orientation transformation or for an active tool carrier that can be oriented, the
offsets are effective in the respective tool axes. An overlaid motion must be switched off with
TOFFOF() before switching a transformation on or off.
After deselection of the tool length compensation in one dimension, the value of the system
variable $AA_TOFF in this dimension is equal to 0.
Mode of operation of the offset in the tool direction
The tool length compensations do not change the tool parameters, but are taken into account
within the transformation or the tool carrier that can be orientated, so that offsets are obtained
in the tool coordinate system.
For each dimension, it is possible to define whether the tool length compensation specified in
$AA_TOFF should be calculated as an absolute or incremental (integrating) value via the
following machine data:
MD21190 $MC_TOFF_MODE (operation of tool offset in tool direction)
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
48
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
The current value of the tool length compensation can be read via the system variable
$AA_TOFF_VAL.
Note
An evaluation of the variables $AA_TOFF_VAL is only useful in conjunction with an active
orientation transformation or an active tool carrier.
Examples
Selecting the online tool length compensation
Machine data for online tool length compensation:
●
MD21190 $MC_TOFF_MODE = 1
●
MD21194 $MC_TOFF_VEL[0] = 10000
●
MD21194 $MC_TOFF_VEL[1] = 10000
●
MD21194 $MC_TOFF_VEL[2] = 10000
●
MD21196 $MC_TOFF_ACC[0] = 1
●
MD21196 $MC_TOFF_ACC[1] = 1
●
MD21196 $MC_TOFF_ACC[2] = 1
Activate online tool length compensation in the part program:
Program code
N5 DEF REAL XOFFSET
; Activate orientation transformation
N10 TRAORI
; Activate tool length compensation in the Z direction
N20 TOFFON(Z)
; Tool length compensation in the Z direction: 10 mm
N30 WHEN TRUE DO $AA_TOFF[Z] = 10
G4 F5
...
; Static synchronized action: Tool length compensation in the X direction
; corresponds to the position of the X2 axis in the WCS
N50 ID=1 DO $AA_TOFF[X] = $AA_IW[X2]
G4 F5
...
; Note: Current total tool length compensation in the X direction
N100 XOFFSET = $AA_TOFF_VAL[X]
; Retract the tool length compensation in the X direction to 0
N120 TOFFON(X, -XOFFSET)
G4 F5
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
49
Deselecting the online tool length compensation
Program code
; Activate orientation transformation
N10 TRAORI
; Activate tool length compensation in the X direction
N20 TOFFON(X)
; Tool length compensation in the X direction: 10 mm
N30 WHEN TRUE DO $AA_TOFF[X] = 10
G4 F5
...
; Delete tool length compensation in the X direction
; No axis is traversed. To the current position in the WCS,
; the position offset in accordance with the current orientation
; is added.
N80 TOFFOF(X)
N90 TRAFOOF
Activating and deactivating in the part program
The online tool length compensation is activated in the part program with TOFFON and
deactivated with TOFFOF. When activating for the respective offset direction, an offset value
can be specified, e.g. TOFFON(Z,25), which is then immediately traversed. The status of the
online tool length compensation is activated at the NC/PLC interface via the following signals:
●
DB21, ... DBX318.2 (TOFF active)
●
DB21, ... DBX318.3 (TOFF movement active)
Note
The online tool length compensation remains inactive until it is reselected using via
TOFFON in the part program.
Behavior at reset and power on
The behavior at reset can be set via the machine data:
MD21190 $MC_TOFF_MODE, bit 0 = (operation of tool offset in tool direction)
Value
Meaning
0
The tool length offset $AA_TOFF is deselected at reset
1
The tool length offset $AA_TOFF is retained at reset
This is always necessary in case of synchronized actions IDS= DO
$AA_TOFF[n]=, as otherwise there would be an immediate tool length
compensation.
Similarly, a transformation or a tool carrier that can be oriented, can be deselected after reset
via the following machine data:
MD20110 $MC_RESET_MODE_MASK (initial setting after reset)
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
50
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
The tool length compensation must also be deleted in this case.
If a tool length offset is to remain active extending beyond a reset, and a transformation change
or a change of the tool carrier that can be oriented takes place, then alarm 21665 "Channel
%1 $AA_TOFF[ ] reset" is output. The tool length compensation is set to 0.
After power on, all tool length offsets are set to 0.
The function is deactivated after POWER ON.
Behavior at change of operating mode
The tool length compensation remains active after a change of operating mode. The offset is
executed in all operating modes except JOG and REF.
If a tool length compensation is traversed because of $AA_TOFF[ ] at a change of operating
mode, the operating mode changeover is only carried out after the traversal of the tool length
compensation. Alarm 16907 "Channel %1 action %2 possible only in stop state" is
displayed.
Behavior with REPOS
The tool length compensation is active in REPOS mode.
Supplementary conditions
With an existing tool length offset, the following supplementary conditions must be taken into
account:
●
A transformation must be switched off with TRAFOOF.
●
Before activating a transformation in the part program, an active tool length offset must be
deleted with TOFFOF.
●
A transformation is switched off when changing over from CP to PTP. A tool length offset
must be deleted before the changeover. If a tool length compensation is active when you
change to axis-specific manual travel in JOG mode, the change to PTP is not performed.
CP remains active until the tool length compensation has been deleted via TOFFOF.
●
Before a geometry axis interchange, an active tool length offset in the direction of the
geometry axis must be deleted via TOFFOF.
●
Before a change of plane, an active tool length offset must be deleted via TOFFOF.
●
The TOFFON and TOFFOF are not collected during a block search and not output in the
action block.
3.3.19
Current block in the interpolator ($AC_BLOCKTYPE, $AC_BLOCKTYPEINFO,
$AC_SPLITBLOCK)
Information on the block currently being processed in the main run can be read in synchronized
actions via the following system variables.
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
51
$AC_BLOCKTYPE and $AC_BLOCKTYPEINFO
The system variable $AC_BLOCKTYPE contains the block type or the ID for the function that
generated the block.
The system variable $AC_BLOCKTYPEINFO contains, in addition to the block type (thousands
position), the function-specific cause for the generation of the intermediate block.
$AC_BLOCKTYPE
$AC_BLOCKTYPEINFO
Value
Meaning: Current block has been gener‐
ated because of ...
Value
Meaning
0
Programmed block!
-
-
1
NC as intermediate block
1000
Contains no further information
2
Chamfer/rounding
2001
Straight line
2002
Circle
3
Smooth approach/retraction (SAR)
3001
Approach with straight line
3002
Approach with quadrant
3003
Approach with semicircle
4
Tool offset
4001
Approach block after STOPRE
4002
Connection blocks if intersection point not found
4003
Point-type circle on inner corners
(on TRACYL only)
4004
Bypass circle (or conical cut) at outer corners
4005
Approach blocks for offset suppression
4006
Approach blocks on repeated TRC activation
4007
Block split due to excessive curvature
4008
Compensation blocks for 3D front milling (tool vector parallel
to plane vector)
5
Corner rounding
5001
Rounding contour through G641
5002
Rounding contour through G642
5003
Rounding contour through G643
5004
Rounding contour through G644
6
Tangential tracking (TLIFT)
6001
Linear movement of the tangential axis without lift movement
6002
Non-linear movement of the tangential axis (polynomial)
without lift movement
6003
Lift movement: Tangential axis and lift movement start simul‐
taneously
6004
Lift movement: Tangential axis does not start until a certain
lift position is reached
7
Path segmentation
7001
Programmed path segmentation is active without punching
or nibbling
7002
Programmed path segmentation with active punching or nib‐
bling
7003
Automatically, internally generated path segmentation
8
Compile cycle
x
x: ID of the compile cycle application that generated the block
9
Path-relative orientation interpolation (OR‐
IPATH/ORIROTC)
9000
Interpolation of the tool orientation with ORIPATH
9001
Interpolation of the rotation of the tool with ORIROTC
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
52
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Meaning: Current block has been gener‐
ated because of ...
Value
Meaning
10
Pole handling with orientation transforma‐
tion
10000
Look-ahead positioning of the pole axis
10001
Traversal of the pole taper
$AC_SPLITBLOCK
The system variable $AC_SPLITBLOCK can be used to determine whether an internally
generated block or a programmed block shortened by the NC is present.
$AC_SPLITBLOCK
Value
Meaning:
0
Programmed block. A block generated by the compressor is also treated as a programmed
block.
1
Internally generated block or a shortened original block
3
Last block in a chain of internally generated blocks or shortened original blocks
Example
Synchronized actions for counting smoothing blocks.
The query of the system variable $AC_TIMEC == 0 (interpolation cycles since start of the block)
ensures that the block type is determined only once at the start of the block.
Program code
Comment
$AC_MARKER[0]=0
; Counter for all smoothing blocks
$AC_MARKER[1]=0
; Counter for G641 smoothing blocks
$AC_MARKER[2]=0
; Counter for G642 smoothing blocks
...
; Synchronized action for counting all smoothing blocks
ID=1 WHENEVER ($AC_TIMEC==0) AND ($AC_BLOCKTYPE==5) DO
$AC_MARKER[0] = $AC_MARKER[0] + 1
...
; Synchronized action for counting the G641 smoothing blocks
ID=2 WHENEVER ($AC_TIMEC==0) AND ($AC_BLOCKTYPEINFO==5001) DO
$AC_MARKER[1] = $AC_MARKER[1]+1
...
; Synchronized action for counting the G642 smoothing blocks
ID=3 WHENEVER ($AC_TIMEC==0) AND ($AC_BLOCKTYPEINFO==5002) DO
$AC_MARKER[2] = $AC_MARKER[2] + 1
...
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
53
Initialization of array variables (SET, REP)
Function
Array variables can also be initialized in synchronized actions via the SET and REP commands.
For a detailed description of the commands, refer to:
References
Programming Manual, Job Planning; Section "Flexible NC programming" > "Variables" >
"Definition and initialization of array variables (DEF, SET, REP)"
Example
Program code
PROC MAIN
N10 DEF REAL SYG_IS[3,2]
...
WHEN TRUE DO SYG_IS[0,0]=REP(0.0,3)
WHEN TRUE DO SYG_IS[1,1]=SET(3,4,5)
...
Supplementary conditions
●
Only array variables that can be written in synchronized actions are initialized.
3.3.21
Grinding-specific system variables ($AC_IN_KEY_G...)
When grinding, input signals asynchronous with the machine operation must be identified and
the appropriate actions must be integrated in the program sequence. The following system
variables and NC/PLC interface signals are available:
System variable
NC/PLC interface DB21, ...
Description
NC-internal communication
$AC_IN_KEY_G_ENABLE[1 ... 8] 1
---
Input signal enable on the NC side
Communication NC → PLC 2)
$AC_IN_KEY_G_ISENABLE[1 ... 8]
1)
DBX390.0 ... 7
Input signal enable
$AC_IN_KEY_G_RUN_OUT[1 ... 8]
DBX391.0 ... 7
Enable request for the action on the NC side (optional)
Communication PLC → NC 3)
$AC_IN_KEY_G[1 ... 8]
DBX385.0 ... 7
Input signal
---
DBX386.0 ... 7 1)
Input signal inhibit on the PLC side
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
54
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
NC/PLC interface DB21, ...
Description
$AC_IN_KEY_G_RUN_IN[1 ... 8]
DBX387.0 ... 7
Enable request for the action on the PLC side (optional)
1) As a result of the ANDlogic operation of the NC enable signal on the NC side in $AC_IN_KEY_G_ENABLE and PLC enable
signal NOT(DBX386.0 ... 7), the enable signal is formed in $AC_IN_KEY_G_ISENABLE and DBX390.0 ... 7.
2) The content of the system variable is transferred in the NC/PLC interface
3) The content of the NC/PLC interface is transferred in the system variable
Example
Inputs
●
The main program starts a cycle (ZYKLUS_1), in which grinding is executed as well as the
intermediate dressing.
●
An operator can request an "intermediate dressing" action asynchronous to the machining
operation itself using an input signal of the PLC I/O.
●
Identifying the input signal and requesting the action is realized in a technology cycle.
Technology cycle ("SIGNAL_IN_x") is called in the action part of the synchronized action
(ID ) set up in the cycle.
The call schematic, the relevant commands and the signal flow are shown in the following
diagram.
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
55
The PLC user program must provide the functions on the PLC side, for example "enable input
signal x".
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
56
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Call cycle "ZYKLUS_1"
●
Cycle "ZYKLUS_1"
–
Set the enable for input signal x ($AC_IN_KEY_G_ENABLE)
–
Set up the synchronized action with technology cycle "SIGNAL_IN_x"
–
Initialize the trigger for action x "intermediate dressing" (R01)
–
Grind the component
●
Technology cycle "SIGNAL_IN_x" (in parallel with the cycle)
–
Identify the input signal ($AC_IN_KEY_G) with the enable active
($AC_IN_KEY_G_ISENABLE)
–
Request the enable of action x from the PLC ($AC_IN_KEY_G_RUN_OUT)
–
Wait for the enable of action x from the PLC ($AC_IN_KEY_G_RUN_IN)
–
Request action x in cycle (R01)
–
Feedback signal of the request to the PLC ($AC_IN_KEY_G_RUN_OUT)
–
Wait for acknowledgment from the PLC ($AC_IN_KEY_G_RUN_IN)
●
Cycle "ZYKLUS_1" (after completing grinding)
–
Reset the enable for input signal x ($AC_IN_KEY_G_ENABLE)
–
If action x is requested ⇒ execute intermediate dressing
–
... (possibly re-execute grinding/intermediate dressing operations etc.)
●
PLC user program
–
Function "Enable input signal x":
Set interface signal DBX386.0 ... 7
–
Function "Enable input signal x":
Logically combine (AND) the input signal from the PLC I/O and the enable of input signal
(DBX390.0 ... 7) - and set the result in the interface (DBX385.0 ... 7)
–
Function "Enable action x":
Check/set the interface signals DBX391.0 ... 7 / DBX387.0 ... 7
3.3.22
Status Synchronized action disabled ($AC_SYNA_STATE)
System variable $AC_SYNA_STATE outputs in bit code whether a synchronized action is
disabled via the PLC (see "Coordination via PLC (Page 123)") or via a synchronized action is
disabled (see "Coordination via part program and synchronized action (LOCK, UNLOCK,
CANCEL) (Page 122)").
Detailed description
3.3 System variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
57
These bits have the following meaning:
Bit
Value
Meaning
0
0
Not disabled
1
Disabled via PLC or synchronized action
1
0
Not disabled via PLC
1
Disabled via PLC
2
0
Not disabled via synchronized action
1
Disabled via synchronized action
Disabling via PLC or synchronized action have different levels of priority. The following
hierarchy of priorities applies:
Priority 1 (highest priority):
Disabled via PLC across all channels (⇒ all synchronized ac‐
tions in the channel are inhibited)
Priority 2:
Disabled via synchronized action
Priority 3:
Individual disabling via PLC (⇒ a single synchronized action
in the channel is disabled)
$AC_SYNA_STATE only outputs the value of the disable with the highest priority, even if
disabling is simultaneously active via PLC and Synchronized action:
Status
Highest
priority
$AC_SYNA_STATE
Bit 2
Bit 1
Bit 0
Bit-coded value
Channel-wide disable via PLC is active.
In addition, disable via synchronized action
can be active.
Channel-
wide disable
via PLC
0
1
1
3
Channel-wide disable via PLC is not active.
Disable via synchronized action is active.
Additionally, a single disable can be active
via PLC.
Disabled via
synchron‐
ized action
1
0
1
5
Channel-wide disable via PLC is not active.
Disable via synchronized action is not active.
Single disable via PLC is active.
Single disa‐
ble via PLC
0
1
1
3
No disable is active.
-
0
0
0
0
3.4
User-defined variables for synchronized actions
GUD variables capable of synchronized actions
As well as specific system variables, predefined global synchronized-action user variables
(synchronized action GUD) can also be used in synchronized actions. The number of
synchronized action GUD items available to the user is parameterized for each specific data
type and access using the following machine data:
●
MD18660 $MM_NUM_SYNACT_GUD_REAL[] =
●
MD18661 $MM_NUM_SYNACT_GUD_INT[] =
Detailed description
3.4 User-defined variables for synchronized actions
Synchronized actions
58
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
MD18662 $MM_NUM_SYNACT_GUD_BOOL[] =
●
MD18663 $MM_NUM_SYNACT_GUD_AXIS[] =
●
MD18664 $MM_NUM_SYNACT_GUD_CHAR[] =
●
MD18665 $MM_NUM_SYNACT_GUD_STRING[] =
The index is used to specify the data block (access rights) and the value to
specify the number of synchronized-action GUDs for each data type (REAL, INT, etc.). A 1-
dimensional array variable with the following naming scheme is then created in the relevant
data block for each data type.: SYG_[]:
Index
Data type
(MD18660 to MD18665)
Block
REAL
INT
BOOL
AXIS
CHAR
STRING
0
SGUD
SYG_RS[ i ]
SYG_IS[ i ]
SYG_BS[ i ]
SYG_AS[ i ]
SYG_CS[ i ]
SYG_SS[ i ]
1
MGUD
SYG_RM[ i ]
SYG_IM[ i ]
SYG_BM[ i ]
SYG_AM[ i ]
SYG_CM[ i ]
SYG_SM[ i ]
2
UGUD
SYG_RU[ i ]
SYG_IU[ i ]
SYG_BU[ i ]
SYG_AU[ i ]
SYG_CU[ i ]
SYG_SU[ i ]
3
GUD4
SYG_R4[ i ]
SYG_I4[ i ]
SYG_B4[ i ]
SYG_A4[ i ]
SYG_C4[ i ]
SYG_S4[ i ]
4
GUD5
SYG_R5[ i ]
SYG_I5[ i ]
SYG_B5[ i ]
SYG_A5[ i ]
SYG_C5[ i ]
SYG_S5[ i ]
5
GUD6
SYG_R6[ i ]
SYG_I6[ i ]
SYG_B6[ i ]
SYG_A6[ i ]
SYG_C6[ i ]
SYG_S6[ i ]
6
GUD7
SYG_R7[ i ]
SYG_I7[ i ]
SYG_B7[ i ]
SYG_A7[ i ]
SYG_C7[ i ]
SYG_S7[ i ]
7
GUD8
SYG_R8[ i ]
SYG_I8[ i ]
SYG_B8[ i ]
SYG_A8[ i ]
SYG_C8[ i ]
SYG_S8[ i ]
8
GUD9
SYG_R9[ i ]
SYG_I9[ i ]
SYG_B9[ i ]
SYG_A9[ i ]
SYG_C9[ i ]
SYG_S9[ i ]
Where i = 0 to ( - 1)
Block: _N_DEF_DIR/_N_ ... _DEF, e.g for SGUD ⇒ _N_DEF_DIR/_N_SGUD_DEF
Properties
Synchronized-action GUD have the following properties:
●
Synchronized-action GUD can be read and written in synchronized actions and part
programs/cycles.
●
Synchronized-action GUD can be accessed via the OPI.
●
Synchronized-action GUD is displayed on the HMI user interface in the "Parameters"
operating area.
●
Synchronized-action GUD can be used on the HMI in the Wizard, in the variables view and
in the variables log.
Detailed description
3.4 User-defined variables for synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
59
The array size for STRING type synchronized action GUD is set to a fixed value of 32 (31
characters + \0).
●
Even if no definition files have been created manually for global user data (GUD),
synchronized-action GUD defined using machine data can be read in the corresponding
GUD block from the HMI.
Note
User variables (GUD, PUD, LUD) can only be defined with the same name as synchronized-
action GUD (DEF ... SYG_xy) if no synchronized-action GUD has been parameterized
with the same name (MD18660 - MD18665). These user-defined items of GUD cannot be
used in synchronized actions.
Access rights
The access rights defined in a GUD definition file remain valid and refer only to the GUD
variables defined in this GUD definition file.
Deletion behavior
If the content of a particular GUD definition file is reactivated, the old GUD data block in the
active file system is deleted first. The configured synchronized-action GUD is also reset at this
point. This process is also possible using the HMI in the operator area "Services" > "Define
and activated user data (GUD)".
3.5
Language elements for synchronized actions and technology cycles
The following language elements can be used in synchronized actions and technology cycles:
Fixed addresses
L
Subprogram number
F
Feed
S 1) 2)
Spindle
M 1) 2)
M function
H1)
H function
1) Chapter: "Output of M, S and H auxiliary functions to the PLC (Page 67)"
2) Chapter: "Traversing spindles (M, S, SPOS) (Page 90)"
Fixed addresses with axis extension: Miscellaneous
POS
Traversing axes, to position (POS) (Page 78)
POSA
Modal positioning axis
SPOS
Spindle positioning
Chapter: "Traversing spindles (M, S, SPOS) (Page 90)"
MOV 1)
Positioning axis
Chapter: "Traversing axes, endless (MOV) (Page 83)"
Detailed description
3.5 Language elements for synchronized actions and technology cycles
Synchronized actions
60
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Fixed addresses with axis extension: Miscellaneous
FA
Axial feedrate (FA) (Page 84)
OVRA
Axial override
ACC
Axial acceleration
MEASA
Axial measurement with deletion of distance-to-go
MEAWA
Axial measurement without deletion of distance-to-go
Chapter: "Measurement (MEAWA, MEAC) (Page 109)"
MEAC
Cyclic measuring
Chapter: "Measurement (MEAWA, MEAC) (Page 109)"
SCPARA
Parameter set changeover
VELOLIMA
Axial velocity/speed limitation
ACCLIMA
Axial acceleration limitation
JERKLIMA
Axial jerk limitation
1) Not permitted in technology cycles
Settable addresses: Travel to fixed stop 1)
FXS
Activate travel to fixed stop
FXST
Torque limit for travel to fixed stop
FXSW
Monitoring window for travel to fixed stop
FOC
Non-modal torque/force limitation
FOCON
Activate travel with limited torque/force
FOCOF
Deactivate travel with limited torque/force
1) Chapter: "Travel to fixed stop (FXS, FXST, FXSW, FOCON, FOCOF, FOC) (Page 112)"
Settable addresses: Couplings > Generic coupling 1)
CPBC
Block change criterion with active coupling
CPDEF
Create coupling module
CPDEL
Delete coupling module
CPFMOF
Behavior of the following axis when switching off the coupling
CPFMON
Behavior of the following axis when switching on the coupling
CPFMSON
Synchronization mode during coupling
CPFPOS
Synchronized position of the following axis when switching on
CPFRS
Reference system for the coupling module of the following axis
CPLA 2)
Assigning an axis as leading axis to a following axis
CPLCTID
Number of the curve table for the coupling of the following axis
CPLDEF
Definition of the reference: Leading axis to following axis
CPLDEL
Cancellation of the reference: Leading axis to following axis
CPLDEN
Coupling factor: Numerator
CPLNUM
Coupling factor: Denominator
CPLDYPRIO
Priority of the leading axis for the dynamic limitation
CPLDYVLL
Limitation of the overlaid motion of the leading axis: Lower limit
CPLDYVLU
Limitation of the overlaid motion of the leading axis: Upper limit
Detailed description
3.5 Language elements for synchronized actions and technology cycles
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
61
Settable addresses: Couplings > Generic coupling 1)
CPLINSC
Scaling factor for the input value of the leading axis
CPLINTR
Offset value for the input value of the leading axis
CPLOF
Coupling of leading axis to following axis: Switch off
CPLON
Coupling of leading axis to following axis: Switch on
CPLOUTSC
Scaling of the output value
CPLOUTTR
Offset of the output value
CPLPOS
Synchronized position of the leading axis when switching on
CPLSETVAL
Coupling type of the following axis to the leading axis
CPMALARM
Define alarm behavior
CPMBRAKE 2)
Defining the response to a stop signal and commands
CPMPRT
Define start behavior for program test
CPMRESET
Define reset behavior
CPMSTART
Define start behavior
CPMVDI
Define behavior regarding NC/PLC interface signals
CPOF
Deactivation of the coupling to all defined leading axes
CPON
Activation of the coupling to all defined leading axes
CPRES 2)
Activates the coupling parameter parameterized in the machine data
CPSETTYPE
Define basic coupling properties
CPSYNCOP
Position synchronism "coarse"
CPSYNCOP2
Position synchronism 2 "coarse"
CPSYNFIP
Position synchronism "fine"
CPSYNFIP2
Position synchronism 2 "fine"
CPSYNCOV
Velocity synchronism "coarse"
CPSYNFIV
Velocity synchronism "fine"
1) Chapter: "Couplings (CP..., LEAD..., TRAIL..., CTAB...) (Page 105)"
2) Currently not available in synchronized actions
G functions: Set measuring system 1)
G70
Inch measuring system
G71
Metric measuring system
G700
Inch measuring system
G710
Metric measuring system
1) Chapter: "Setting the measuring system (G70, G71, G700, G710) (Page 81)"
Predefined subprograms: Miscellaneous
POLFA
Axial retraction position for single axis
POLFC
Axial retraction position for channel axes
STOPREOF
Cancel preprocessing stop (STOPREOF) (Page 76)
RDISABLE
Programmed read-in disable (RDISABLE) (Page 75)
DELDTG
Delete distance-to-go (DELDTG) (Page 76)
LOCK
Lock synchronized action
Detailed description
3.5 Language elements for synchronized actions and technology cycles
Synchronized actions
62
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Predefined subprograms: Miscellaneous
UNLOCK
Unlock synchronized action
ICYCON
Technology cycle: One block per interpolator clock cycle
ICYCOF
Technology cycle: All blocks in one interpolator clock cycle
SYNFCT
Polynomial evaluation (SYNFCT) (Page 68)
FTOC
Tool fine compensation
Section: "Online tool offset (FTOC) (Page 73)"
SOFTENDSA
Software limit switch
PROTA
Change status of a protection zone
SETM
Set marker of the channel coordination
Section: "Channel synchronization (SETM, CLEARM) (Page 114)"
CLEARM
Delete marker of the channel coordination
Section: "Channel synchronization (SETM, CLEARM) (Page 114)"
RET
Subprogram return
GET
Request axis
Section: "Axis replacement (GET, RELEASE, AXTOCHAN) (Page 85)"
RELEASE
Release axis
Section: "Axis replacement (GET, RELEASE, AXTOCHAN) (Page 85)"
AXTOCHAN
Transfer axis to another channel
Section: "Axis replacement (GET, RELEASE, AXTOCHAN) (Page 85)"
AXCTSWEC
Withdrawing the enable for the axis container rotation (AXCTSWEC)
(Page 92)
SETAL
User-specific error reactions (SETAL) (Page 115)
IPOBRKA
Block change criterion: Deceleration ramp
ADISPOSA
Tolerance window for end-of-motion criterion
Predefined subprograms: Coupling > Coupled motion 1)
TRAILON
Coupled motion on
TRAILOF
Coupled motion off
1) Section: "Couplings (CP..., LEAD..., TRAIL..., CTAB...) (Page 105)"
Predefined subprograms: Couplings > Master value coupling 1)
LEADON
Master value coupling on
LEADOF
Master value coupling off
1) Section: "Couplings (CP..., LEAD..., TRAIL..., CTAB...) (Page 105)"
Predefined subprograms: Couplings > Torque coupling (master/slave)
MASLON
Coupling on
MASLOF
Coupling off
MASLDEF
Define coupling
MASLDEL
Delete coupling
MASLOFS
Coupling with slave spindle off
Detailed description
3.5 Language elements for synchronized actions and technology cycles
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
63
Predefined functions: Coupling > Curve tables 1)
CTAB
Calculates the following axis position based on the leading axis posi‐
tion using the curve table
CTABINV
Calculates the leading axis position based on the following axis posi‐
tion using the curve table
CTABID
Determines the table number of the curve table
CTABLOCK
Disable curve table
CTABUNLOCK
Enable curve table
CTABISLOCK
Determines the lock status of the curve table
CTABEXISTS
Checks whether the curve table exists
CTABMEMTYP
Determines the storage location of the curve table (static/dynamic
memory)
CTABPERIOD
Determines the periodicity of the curve table
CTABNO
Determines the number of curve tables
CTABNOMEM
Determines the number of existing curve tables in a specific storage
location
CTABSEG
Determines the number of already used curve segments in a specific
storage location
CTABSEGID
Determines the number of already used curve segments in a specific
table
CTABFSEG
Determines the number of curve segments that are still possible in a
specific table
CTABMSEG
Determines the maximum possible number of curve segments in a
specific storage location
CTABPOL
Determines the number of already used polynomials in a specific stor‐
age location
CTABPOLID
Determines the number of already used polynomials in a specific table
CTABFPOL
Determines the number of polynomials that are still possible in a spe‐
cific table
CTABMPOL
Determines the maximum possible number of polynomials in a specific
storage location
CTABTSV
Determines the following value at the start of the table
CTABTEV
Determines the following value at the end of the table
CTABTSP
Determines the leading value at the start of the table
CTABTEP
Determines the leading value at the end of the table
CTABTMIN
Determines the minimum following value of the table
CTABTMAX
Determines the minimum following value of the table
CTABFNO
Determines the number of curve tables that are still possible in a spe‐
cific storage location
CTABSSV
Determines the starting value of a table segment for the following axes
CTABSEV
Determines the end value of a table segment for the following axes
1) Section: "Couplings (CP..., LEAD..., TRAIL..., CTAB...) (Page 105)"
Detailed description
3.5 Language elements for synchronized actions and technology cycles
Synchronized actions
64
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Predefined functions: Arithmetic
SIN
Sine
ASIN
Arc sine
COS
Cosine
ACOS
Arc cosine
TAN
Tangent
ATAN2
Arc tangent 2
SQRT
Square root
POT
2nd power (square)
TRUNC
Integer component
ROUND
Round to next integer
ROUNDUP
Rounding up of an input value to the next integer
ABS
Absolute value
LN
Natural logarithm
EXP
Exponential function
MINVAL
Smaller of two values
MAXVAL
Larger of two values
BOUND
Check for defined value range
Predefined functions: Current machine data values
GETMDACT
Determines the current value of the machine data
GETMDPEAK
Determines the maximum value that has occurred in the machine data
since the last RESETPEAK
GETMDLIM
Determines the maximum or minimum limit value of the machine data
RESETPEAK
Resets the maximum value again for GETMDPEAK
Predefined functions: Format conversions
ITOR
INT → REAL
RTOI
REAL → INT
RTOB
REAL → BOOL
BTOR
BOOL → REAL
ITOB
INT → BOOL
BTOI
BOOL → INT
Predefined functions: Safety Integrated
SIRELAY
Activation of the safety functions parameterized with SIRELIN, SIREL‐
OUT and SIRELTIME
Detailed description
3.5 Language elements for synchronized actions and technology cycles
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
65
Predefined functions: Miscellaneous
POSRANGE
Position in specified reference range (POSRANGE) (Page 82)
PRESETON
Actual value setting with loss of the referencing status (PRESETON)
(Page 94)
PRESETONS
Actual value setting without loss of the referencing status (PRESE‐
TONS) (Page 99)
Predefined procedures: Miscellaneous
CANCELSUB
Cancel the actual subprogram level (CANCELSUB) (Page 116)
References
For detailed descriptions of the language elements not described in this manual, refer to:
●
Programming Manual, Fundamentals
●
Programming Manual, Job Planning
3.6
Language elements for technology cycles only
The following language elements may only be used in technology cycles:
Jump statements
IF
Branch
GOTO
Jump to label, search direction forward, then backward
GOTOF
Jump to label, search direction forward
GOTOB
Jump to label, search direction backward
End of program
M02
End of program
M17
End of program
M30
End of program
RET
End of program
References
For detailed descriptions of the statements not described in this manual, refer to:
●
Programming Manual, Fundamentals
●
Programming Manual, Job Planning
Detailed description
3.6 Language elements for technology cycles only
Synchronized actions
66
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Actions in synchronized actions
3.7.1
Output of M, S and H auxiliary functions to the PLC
Output timing
Auxiliary functions of the M, S and H type can be output from synchronized actions. The output
to the PLC is immediate, i.e. directly in the interpolator clock cycle in which the action is
executed.
Any output times set via the machine data for auxiliary functions have no effect when output
from synchronized actions:
●
MD11110 $MN_AUXFU_GROUP_SPEC (auxiliary function group specification)
●
MD22200 $MC_AUXFU_M_SYNC_TYPE (output time of M functions)
●
MD22210 $MC_AUXFU_S_SYNC_TYPE (output time of the S functions)
●
MD22230 $MC_AUXFU_H_SYNC_TYPE (output time of the H functions)
Maximum number
General
A maximum of 10 auxiliary functions can be output simultaneously from the part program and
the active synchronized actions of a channel, i.e. in one OB40 cycle of the PLC.
Synchronized-action-specific
The maximum permissible number of auxiliary functions in the action part of a synchronized
action is:
●
M functions: 5
●
S functions: 3
●
H functions: 3
Non-modal synchronized actions
In non-modal synchronized actions (without specification of ID or IDS), auxiliary functions can
only be output in conjunction with the scanning frequency WHEN or EVERY.
Predefined M functions
Predefined M functions generally must not be output in synchronized actions.
Exceptions: M3, M4, M5, M40, M41, M42, M43, M44, M45, M70 and M17
See also
Frequency (WHENEVER, FROM, WHEN, EVERY) (Page 17)
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
67
Reading and writing of system variables
The system variables of the NC are listed in the "System Variables" Parameter Manual with
their respective properties. System variables that can be read or written in the action part of
synchronized actions are marked with an "X" in the corresponding line (Read or Write) of the
"SA" (synchronized action) column.
Note
System variables used in synchronized actions are implicitly read and written synchronous to
the main run.
References:
System Variables Parameter Manual
3.7.3
Polynomial evaluation (SYNFCT)
Application
A variable that is evaluated via a polynomial can be read with the SYNFCT function in the main
run and the result can be written to another variable. Application examples:
●
Feedrate as a function of drive load
●
Position as a function of a sensor signal
●
Laser power as a function of path velocity
Syntax
SYNFCT(,,)
Meaning
Parameter
Meaning
:
Number of the polynomial defined with FCTDEF:
f(x) = a0 + a1*x + a2*x2 + a3*x3
:
System variable, output:
= f(x)
:
System variable, input:
x =
For information on FCTDEF, see Chapter "Polynomial coefficients, parameters ($AC_FCT ...)
(Page 43)"
Example: Additive override of the path feedrate
An override value is added to the programmed feedrate (F word):
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
68
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Factive = Fprogrammed + FAC
N110 ID=1 DO SYNFCT(1, $AC_VC[X], $AA_CURR[X])
Example: Multiplicative override of the path feedrate
The programmed feedrate is multiplied by a percentage factor (additional override):
Factive = Fprogrammed * FactorAC
Meaning
$AC_OVR
Path override can be specified via synchronized action
Input value is the percentage drive load $AA_LOAD of the X axis.
The operating point is set to 100% at 30% drive load.
The axis must stop at 80% load.
An excessive velocity corresponding to the programmed value +20% is permissible.
2SHUDWLQJSRLQW
8SSHUOLPLW
'ULYHORDG>@
$$B/2$'
D
2YHUULGH>@
Figure 3-4
Example: Multiplicative control
Determining the parameters of the FCTDEF function:
FCTDEF(,,,a0,a1,a2,a3)
:
= 2 (example)
:
= 0
:
= 120
Polynomial: f(x) = a0 + a1x +a2x2 + a3x3
a0:
50 / 100 = 80 / a0 ⇒ a0 = 160
a1
= 100 % / -50 % = -2
a2
= 0 (not a square component)
a3
= 0 (not a cubic component)
Calculation of the override value:
SYNFCT(,,)
:
= 2
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
70
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
$AC_OVR (path override can be specified via synchronized action)
Determining the parameters of the FCTDEF function:
FCTDEF(,,,a0,a1,a2,a3)
:
= 1 (example)
:
= 0.2
:
= 0.5
Polynomial: f(x) = a0 + a1x +a2x2 + a3x3
a0:
10 / x = 20 / 0.3 ⇒ a0 = x + 0.2 = 0.15 + 0.2 = 0.35
a1
= 0.15 mm / 10 V = 1.5 * 10-2 mm/V
a2
= 0 (not a square component)
a3
= 0 (not a cubic component)
Calculation of the override value:
SYNFCT(,,)
:
= 1
:
$AA_OFF (overlaid movement of an axis)
:
$A_INA (analog input)
Programming:
Program code: %_N_AON_SPF
Comment
PROC AON
; Clearance control "ON"
FCTDEF(1, 0.2, 0.5, 0.35, 1.5 EX-2)
; Polynomial definition
ID=1 DO SYNFCT(1,$AA_OFF[Z],$A_INA[3])
; Clearance control
ID=2 WHENEVER $AA_OFF_LIMIT[Z]<>0 DO $AA_OVR[X] = 0
; Limit value test
RET
ENDPROC
Program code: %_N_AOFF_SPF
Comment
PROC AOFF
; Clearance control "OFF"
CANCEL(1)
; Delete clearance control
CANCEL(2)
; Delete limit value check
RET
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
72
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Program code: %_N_AOFF_SPF
Comment
ENDPROC
Program code: %_N_MAIN_MPF
Comment
N100 $SA_AA_OFF_LIMIT[Z]=1
N110 AON
; Clearance control "ON"
...
N200 G1 X100 F1000
N210 AOFF
; Clearance control "OFF"
M30
See also
Online tool offset (FTOC) (Page 73)
3.7.4
Online tool offset (FTOC)
The FTOC function enables the overlaid movement of a geometry axis for the online tool offset,
depending on a reference value, e.g. the actual value of an arbitrary axis. The offset value is
calculated on the basis of a polynomial defined with FCTDEF (see Section "Polynomial
coefficients, parameters ($AC_FCT ...) (Page 43)"). The coefficient a0 specified in the
polynomial definition is also evaluated by FTOC.
Example: Machining and dressing in the "Grinding" technology
:RUNSLHFH
'UHVVLQJDPRXQW
*ULQGLQJZKHHO
/HQJWKWREHFRUUHFWHG
$%HIRUHGUHVVLQJ
%$IWHUGUHVVLQJ
%
$
'UHVVLQJUROO
Figure 3-7
Dressing during machining using a dressing roller
References:
Function Manual, Extended Functions; Grinding (W4)
Syntax
FTOC(,,[,,])
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
73
Number of the polynomial defined with FCTDEF
Programmed read-in disable (RDISABLE)
Function
The RDISABLE command in the active section causes block processing to be stopped when
the relevant condition is fulfilled. Processing of programmed motion-synchronous actions still
continues. The read-in disable is canceled again as soon as the condition for the RDISABLE
is no longer fulfilled.
An exact stop is initiated at the end of the block containing RDISABLE irrespective of whether
or not the read-in disable is still active. The exact stop is also triggered if the control is in the
continuous-path mode (G64, G641 ... G645).
RDISABLE can be programmed with reference to the block or also modal (ID=, IDS=)!
Application
Using RDISABLE, for example, the program can be started in the interpolator clock cycle as
a function of external inputs.
Example
Program code
Comment
WHENEVER $A_INA[2]<7000
DO RDISABLE
; Program processing is stopped if the voltage at input
2 drops to below 7 V (assuming that the value 1000 cor-
responds to 1 V).
...
N10 G01 X10
; RDISABLE acts at the end of N10, if the condition is
fulfilled during its processing.
N20 Y20
...
Supplementary conditions
Read-in disable RDISABLE in conjunction with axis exchange
Acts via the synchronized actions RDISABLE read-in disable and axis exchange (e.g. path
axis → positioning axes) together in one block, RDISABLE does not act on the action block,
but the re-approach block REPOSA implicitly generated as a result of the axis exchange:
Program code
Comment
N100 G0 G60 X300 Y300
N105 WHEN TRUE DO POS[X]=20 FA[X]=20000
; Synchronized action → REORG → REPOSA
N110 WHENEVER $AA_IM[X]<>20 DO RDISABLE
; RDISABLE acts on REPOSA
N115 G0 Y20
; 1. X-axis, 2nd Y axis
N120 Y-20
N125 M30
Path axis X becomes a positioning axis as a result of the synchronized action in the block
N105. REORG is therefore executed in the channel with REPOSA. Therefore, RDISABLE in N110
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
75
does not act on block N115 – but instead on the internal REPOSA block. As a consequence, to
start, positioning axis X is traversed to its programmed position and then in block N115, the Y
axis to its programmed position.
An explicit release of path axis X before traversing as positioning axis (synchronized action in
N105) with RELEASE(X) avoids the REORG operation, and the X and Y axes traverse together
in block N115.
Program code
Comment
N100 G0 G60 X300 Y300
N101 RELEASE(X)
; Explicit release
N105 WHEN TRUE DO POS[X]=20 FA[X]=20000
...
3.7.6
Cancel preprocessing stop (STOPREOF)
With the STOPREOF command, an existing preprocessing stop can be cancelled from a
synchronized action.
Note
The STOPREOF command can only be programmed in non-modal synchronized actions
(without specification of ID or IDS) and only in conjunction with the scanning frequency WHEN.
Example
●
N10: Non-modal synchronized action.
If the path distance-to-go $AC_DTEB is less than 5 mm, the existing preprocessing stop
due to the reading of the analog input $A_INA is cancelled.
●
N20: Traversing block whose path distance-to-go is evaluated via $AC_DTEB.
●
N30: Branch that triggers the preprocessing stop due to the reading of $A_INA.
Due to the synchronized action, input $A_INA is not evaluated at the end of the N20 block, but
already 5 mm before the end of the block. If the voltage is then greater than 5 V at input $A_INA,
there is a branch to "MARKE_1".
Program code
N10 WHEN $AC_DTEB < 5 DO STOPREOF
N20 G01 X100
N30 IF $A_INA[7] > 5000 GOTOF MARKE_1
3.7.7
Delete distance-to-go (DELDTG)
The path distance-to-go can be deleted with the DELDTG command and axial distances-to-go
can be deleted with the DELDTG (...) function in synchronized actions.
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
76
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
After deletion of the distance-to-go, the value of the deleted distance-to-go can be read via a
system variable:
●
Path distance-to-go: $AC_DELT
●
Axial distance-to-go: $AA_DELT
Syntax
DELDTG
DELDTG([,, ... ])
Meaning
Parameter
Meaning
DELDTG
Deletion of the path distance-to-go
DELDTG(...)
Deletion of the axial distances-to-go of the specified channel axes
:
Channel axis
Supplementary conditions
Path-specific and axial delete distance-to-go
Path-specific and axial delete distance-to-go can only be executed in a non-modal
synchronized action (without specification of ID or IDS).
Path-specific delete distance-to-go
●
The deletion of the path distance-to-go can only be executed in a non-modal synchronized
action (without specification of ID or IDS).
●
The deletion of the path distance-to-go must not be used with active tool radius
compensation.
Axial delete distance-to-go
Delete distance-to-go for indexing axes:
●
Without Hirth tooth system: The axis is braked immediately
●
With Hirth tooth system: The axis traverses to the next indexing position
Examples
Delete path distance-to-go
If the input $A_IN is set during the traversing block N20, the path distance-to-go is deleted.
Program code
N10 WHEN $A_IN[1]==1 DO DELDTG
N20 G01 X100 Y100 F1000
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
77
Delete axial distances-to-go
N10: If input 1 is set at any time within the part program, the V axis is started as a positioning
axis in the positive traversing direction.
N100: Non-modal synchronized action to delete distance-to-go of the V axis, depending on
digital input 2.
N110: Non-modal synchronized action to delete distance-to-go of the X1 axis, depending on
digital input 3.
N120: The X1 axis is positioned modally. The Y and Z axes are traversed as path axes. The
non-modal synchronized actions from N100 and N110 are executed together with N120. The
non-modal synchronized actions are also terminated with the end of block N120.
For this reason, the distances-to-go of the X1 and V axes can only be deleted as long as N120
is active.
Program code
N10 ID=1 WHEN $A_IN[1]==1 DO MOV[V]=1 FA[V]=700
...
N100 WHEN $A_IN[2]==1 DO DELDTG(V)
N110 WHEN $A_IN[3]==1 DO DELDTG(X1)
N120 POSA[X1]=100 FA[X1]=10 G1 Y100 Z100 F1000
3.7.8
Traversing axes, to position (POS)
With the POS command, an axis can be traversed using a synchronized action. The axis is
then called the command axis. It is possible to traverse the axis alternating via the part program
and the synchronized action. If a command axis traversed via synchronized actions is
subsequently traversed via the part program, a preprocessing stop with reorganization
(STOPRE) is executed in the channel of the part program.
Examples:
Example 1: Alternate traversing via part program and synchronized action
Program code
Comment
N10 G01 X100 Y200 F1000
; Traversing via part program
...
; Traversing via static synchronized action when input 1 is set
N20 ID=1 WHEN $A_IN[1]==1 DO POS[X]=150 FA[X]=200
...
CANCEL(1)
; Deselect synchronized action
...
; Traversing again via part program => implicit preprocessing stop
; with reorganization, if the X axis in the meantime has been
; traversed via synchronized action
N100 G01 X240 Y200 F1000
Example 2: Alternate traversing of the X-axis via two synchronized actions
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
78
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
If the traversing motion of one synchronized action is still active when the traversing motion of
the other synchronized action is started, the second traversing motion replaces the first.
Program code
; 1st traversing motion
ID=1 EVERY $A_IN[1]>=1 DO POS[V]=100 FA[V]=560
; 2nd traversing motion
ID=2 EVERY $A_IN[2]>=1 DO POS[V]=$AA_IM[V] FA[V]=790
Dimensions: Absolute/incremental
The commands G90/G91 to specify the dimensions (absolute/incremental) cannot be
programmed in synchronized actions. Therefore by default, the dimensions that were active
in the part program at the time of execution of the synchronized action is also effective in the
synchronized action.
The following commands can be programmed in the action part to specify the dimensions
within a synchronized action:
Command
Meaning
IC(…)
Incremental
AC(…)
Absolute
DC(...)
Direct, i.e. position rotary axis via shortest route
ACN(...)
Position modulo rotary axis absolutely in negative direction of motion
ACP(...)
Position modulo rotary axis absolutely in positive direction of motion
CAC(...)
Traverse axis to coded position absolutely
CIC(...)
Traverse axis to coded position incrementally
CDC(...)
Traverse rotary axis to coded position via shortest route
CACN(...)
Traverse modulo rotary axis to coded position in negative direction
CACP(...)
Traverse modulo rotary axis to coded position in positive direction
Examples:
Program code
; Incremental traversing by 10 mm
ID=1 EVERY G710 $AA_IM[B]>75 DO POS[X]=IC(10)
...
; Absolute traversing
ID=1 EVERY G710 $AA_IM[B]>75 DO POS[X]=AC($AA_MW[V]-$AA_IM[W]+13.5)
Behavior with active axial frames
If programmable and settable frames and tool length compensations are not explicitly
deactivated for inclusion in the calculation for synchronized actions via the following machine
data, the frame and/or tool length compensation active in the part program at the time the
synchronized action is executed in parallel, takes effect:
MD32074 $MA_FRAME_OR_CORRPOS_NOTALLOWED, bit 9 = 1
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
79
Example 1: Traversing with active frames / tool length compensations (bit 9 == 0):
Program code
Comment
N100 TRANS X20
; Zero offset in X: 20 mm.
; Synchronized action: The X axis traverses to position 60 mm
IDS=1 EVERY G710 $A_IN==1 DO POS[X]=40
...
; Zero offset in X: -10 mm. =>
; Synchronized action: The X axis now traverses to position 30 mm
N130 TRANS X-10
...
Example 2: Traversing with deactivated frames / tool length compensations (bit 9 == 1):
Program code
Comment
N100 TRANS X=0.001
; Zero offset in X: 0.001 degrees
N120 POS[X]=270
; X traverses to position 270.001 degrees
...
; With $A_IN=1, X traverses to position 180.000 degrees.
IDS=1 EVERY G710 $A_IN==1 DO POS[X]=180
...
; X traverses to position 90.001 degrees
N130 POS[X]=90
...
; Coded position 1 = 100 degrees => X traverses to 100.001 degrees
N140 POS[X]=CAC(1)
...
; Coded position 2 = 200 degrees => X traverses to 200.000 degrees
N150 POS[X]=CIC(1)
Note
If a command axis travels to indexing positions incrementally, the axial frames have no effect
on this command axis.
Takeover of the control of a command axis by the PLC
The control of a command axis that has been started via a static synchronized action (IDS) is
taken over by the PLC irrespective of the status of the part program containing the
synchronized action:
DB31, ... DBX28.7 == 1 (request for PLC to control axis)
References:
Function Manual, Extended Functions; Chapter "P2: positioning axes"
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
80
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Parameterizable axis status
The behavior with regard to the axis status after the end of the part program and NC Reset
can be parameterized via the following machine data:
MD30450 $MA_IS_CONCURRENT_POS_AX[] =
Axis status before PP end / NC RESET 1)
Axis status after PP end / NC RESET 1)
0
Channel axis
Channel axis
0
Command axis
Channel axis
1
Channel axis
Command axis
1
Command axis
Command axis
1) PP end: Part program end
See also
Technology cycles (Page 116)
3.7.9
Setting the measuring system (G70, G71, G700, G710)
If a specific measuring system (inch/metric) is not explicitly defined in a synchronized action
with G70, G71, G700, G710, the measuring system active in the part program at the time the
synchronized action is executed takes effect:
●
G70/G71 active in the part program:
–
All the programmed position values are interpreted in the programmed measuring
system.
–
All the read position data is interpreted in the parameterized basic system.
●
G700/G710 active in the part program:
–
All the programmed position values are interpreted in the programmed measuring
system.
–
All the read position data is interpreted in the parameterized basic system.
The following rules apply when defining the measuring system in the synchronized action:
●
If a measuring system is programmed in the condition part, this also takes effect in the
action part if a measuring system has not been specifically programmed there.
●
If there is only a measuring system programmed in the action part, the system which is
currently activated in the part program takes effect in the condition part.
●
Different systems of units can be programmed in the condition and action parts.
●
The measuring system programmed in the synchronized action has no effect on the part
program.
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
81
N10 ID=1 EVERY $AA_IM[Z]>200 DO POS[Z2]=10
;
;
;
$AA_IM:
200:
10:
#
#
#
N20 ID=2 EVERY $AA_IM[Z]>200 DO G70 POS[Z2]=10
;
;
;
$AA_IM:
200:
10:
#
#
inch
N30 ID=3 EVERY G71 $AA_IM[Z]>200 DO POS[Z2]=10
;
;
;
$AA_IM:
200:
10:
#
mm
mm
N40 ID=4 EVERY G71 $AA_IM[Z]>200 DO G70 POS[Z2]=10
;
;
;
$AA_IM:
200:
10:
#
mm
inch
N50 ID=5 EVERY $AA_IM[Z]>200 DO G700 POS[Z2]=10
;
;
;
$AA_IM:
200:
10:
#
#
inch
N60 ID=6 EVERY G710 $AA_IM[Z]>200 DO POS[Z2]=10
;
;
;
$AA_IM:
200:
10:
mm
mm
mm
N70 ID=7 EVERY G710 $AA_IM[Z]>200 DO G700 POS[Z2]=10
;
;
;
$AA_IM:
200:
10:
mm
mm
inch
#: The unit depends on the parameterized basic system (MD10240 $MN_SCALING_SYS-
TEM_IS_METRIC) and the measuring system programmed in the part program
Note
Measuring system and technology cycles
If a technology cycle is being used, the measuring system can also be programmed in the
technology cycle instead of the measuring system having to be assigned in the action part of
the synchronized action.
3.7.10
Position in specified reference range (POSRANGE)
Function
The POSRANGE function can be used to determine whether the current position of an axis is
within the tolerance range around a specified reference position.
Note
With modulo axes, the modulo offset is taken into account.
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
82
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
POSRANGE(, , , [] )
Meaning
Function return value
Type: BOOL
TRUE: The current position of the axis is within the tolerance
range.
FALSE: The current position of the axis is not within the toler‐
ance range.
Name of the channel axis
Type: AXIS
Reference position
Type: REAL
Permissible tolerance around the reference position
Type: REAL
The tolerance is specified as an absolute value. The tolerance
range results from: Reference position +/- tolerance
Optional: Coordinate system
Type: INT
Range of values:
0 = MCS (machine coordinate system)
1 = BCS (basic coordinate system)
2 = SZS (settable zero system)
3 = WCS (workpiece coordinate system)
3.7.11
Traversing axes, endless (MOV)
Function
An axis can be traversed endlessly, i.e. without specifying an end position, in a specific direction
via the MOV command. The axis traverses so long in the specified direction until it is stopped
or another traversing direction is specified by a MOV command.
Application example: Endlessly rotating rotary axes
Syntax
MOV[] =
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
83
Traversing command for a command axis
The default value for the feedrate of positioning axes is set via axial machine data:
MD32060 $MA_POS_AX_VELO (initial setting for positioning axis velocity)
●
The axial feedrate can be specified as a linear or revolutional feedrate.
The feedrate type can be set via the setting data:
SD43300 $SA_ASSIGN_FEED_PER_REV_SOURCE (revolutional feedrate for positioning
axes / spindles)
●
The feedrate type can be switched synchronous to the part program via the FPRAON and
FPRAOF commands. Refer to:
References:
/FB1/ Function Manual Basic Functions; Feedrates (V1)
Note
So that technology cycles executed in parallel do not obstruct each other, the axial feedrate
from synchronized actions is not output as an auxiliary function to the NC/PLC interface.
See also
Traversing axes, endless (MOV) (Page 83)
3.7.13
Axis replacement (GET, RELEASE, AXTOCHAN)
Command axes can be interchanged between channels via the GET, RELEASE and
AXTOCHAN commands.
Requirement
The command axis that is interchanged between the channels must be known and
parameterized as command axis in the respective channel.
Programming
Syntax
GET( [{, }])
RELEASE(( [{, }])
AXTOCHAN(, [{, , }])
Meaning
GET:
Request to replace an axis in the same channel
RELEASE:
Release of an axis for an axis replacement
AXTOCHAN:
Request for an axis for replacement in the specified channel
:
Machine axis name
Type:
AXIS
Range of values:
Machine axis names defined in the channel
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
85
Range of values:
1 ... maximum channel number
Axis type and axis status regarding axis replacement
The axis type and axis status currently valid at the time of the synchronized action activation
can be queried via the $AA_AXCHANGE_TYP or $AA_AXCHANGE_STAT system variable.
Depending on the channel that has the current interpolation authorization for this axis and
depending on the status for the permissible axis replacement, a different sequence results
from the synchronized action.
An axis can be requested with GET from a synchronized action, if
●
Another channel has the write or interpolation authorization for the axis
●
The requested axis is already assigned to the requested channel
●
The axis in the neutral axis state is controlled by the PLC
●
The axis is a command axis, oscillating axis, or concurrent PLC axis
●
The axis is already assigned to the NC program of the channel
Note
Supplementary condition: An "axis controlled exclusively by the PLC" or a "permanently
assigned PLC axis" cannot be assigned to the NC program.
An axis can be released from a synchronized action with RELEASE, if the axis:
●
Was previously assigned to the NC program of the channel.
●
Is already in the neutral axis state.
●
Already has another channel that has the interpolation authorization of this axis
Request axis from another channel
If, when the GET action is activated, another channel has the interpolation authorization for the
axis $AA_AXCHANGE_TYP[axis] == 2, axis replacement is used to fetch the axis from this
channel $AA_AXCHANGE_TYP[axis] == 6 and assign it to the requesting channel as soon as
possible. The axis then becomes the neutral axis ($AA_AXCHANGE_TYP[axis]==3).
The state change to a neutral axis does not result in reorganization in the requesting channel.
Requested axis was already requested as neutral axis:
$AA_AXCHANGE_TYP[axis]==6, the axis is required for the NC program
$AA_AXCHANGE_TYP[axis] == 5 and assigned as soon as possible to the NC program of the
channel $AA_AXCHANGE_TYP[axis] == 0.
Note
This assignment results in a reorganization.
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
86
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Axis is already assigned to the requested channel
If the requested axis has already been assigned to this channel at the point of activation, and
its status is that of a neutral axis not controlled by the PLC $AA_AXCHANGE_TYP[axis]==3,
it is assigned to the NC program $AA_AXCHANGE_TYP[axis]==0.
This results in a reorganization procedure.
Axis in the state of the neutral axis is controlled from the PLC
If the axis in neutral axis state is controlled by the PLC $AA_AXCHANGE_TYP[axis]==4), the
axis is requested as a neutral axis $AA_AXCHANGE_TYP[axis] == 8. This disables the axis
for automatic axis replacement between channels (Bit 0 == 0) in accordance with the value of
bit 0 in machine data:
MD10722 $MN_AXCHANGE_MASK (parameterization of the axis replacement behavior)
This corresponds to $AA_AXCHANGE_STAT[axis] == 1.
Axis is active as command axis / assigned to the PLC
If the axis is active as a command axis or oscillating axis or a concurrent positioning axis (PLC
axis) ($AA_AXCHANGE_TYP[] == 1), the axis is requested as a neutral axis
($AA_AXCHANGE_TYP[] == 8). Depending on the setting in the following machine data,
the axis is blocked for an automatic axis replacement between channels:
MD10722 $MN_AXCHANGE_MASK (parameterization of the axis replacement behavior)
This corresponds to $AA_AXCHANGE_STAT[] == 1.
With a further GET request, the axis is then requested for the NC program ⇒
$AA_AXCHANGE_TYP[axis] == 7.
Axis already assigned to the NC program of the channel
If the axis is already assigned to the NC program of the channel
($AA_AXCHANGE_TYP[] == 0) or if this assignment is requested, e.g. axis replacement
triggered by the NC program ($AA_AXCHANGE_TYP[] == 5 or
$AA_AXCHANGE_TYP[] == 7), there is no state change.
Release axis for axis replacement
If the axis is assigned to the NC program at the time of release ($AA_AXCHANGE_TYP[]
== 0), it is transferred to the neutral axis state ($AA_AXCHANGE_TYP[] == 3) and if
required, released for axis replacement in another channel.
This results in a reorganization procedure.
Axis to be released is already a neutral axis:
If the axis is already in the neutral axis state ($AA_AXCHANGE_TYP[] == 3) or active
as command or oscillating axis or assigned to the PLC as concurrent positioning axis
($AA_AXCHANGE_TYP[] == 1), the axis is released for an automatic axis replacement
between channels.
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
87
$AA_AXCHANGE_STAT[] is reset from 1 to 0 if there is no other reason to link the axis
to the channel. Such a link of the axis is present, for example, with:
●
Active axis coupling
●
Active fast retraction
●
Active transformation
●
JOG request
●
Rotating frame with PLC, command or oscillating axis motion
Another channel already has the interpolation authorization
If another channel already has the interpolation authorization ($AA_AXCHANGE_TYP[]
== 2), there is no state change. This also means that waiting for an axis, triggered by NC
program ($AA_AXCHANGE_TYP[] == 5) or a previous GET request from a synchronized
action ($AA_AXCHANGE_TYP[] == 6) cannot be aborted by a RELEASE from a
synchronized action.
Supplementary conditions
●
If several GET and RELEASE requests are programmed for the same axis, they may mutually
cancel each other under certain circumstances and only the last respective requests are
performed.
Example:
Programming:
GET(X,Y) RELEASE(Y,Z) GET(Z)
Execution:
GET(X) RELEASE(Y) GET(Z)
●
If further commands are programmed in the action part of a synchronized action in addition
to GET/RELEASE, there is no waiting period until the GET/RELEASE request is completed
before these commands are executed. This can lead to an error if, for example, an axis
requested for the positioning motion with GET is not yet available:
GET[] POS[]
Example 1: GET and RELEASE as action in synchronized actions in two channels
Requirement: The Z axis must be known in the 1st and 2nd channels
1. Program sequence in the first channel:
Program code
Comment
WHEN TRUE DO RELEASE(Z)
; Z axis becomes neutral
; Read-in disable as long as Z axis is program axis
WHENEVER $AA_TYP[Z] == 1 DO RDISABLE
N110 G4 F0.1
...
; Z axis returns to status as NC program axis
WHEN TRUE DO GET(Z)
; Read-in disable until Z axis is program axis
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
88
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
WHENEVER($AA_TYP[Z]<>1) DO RDISABLE
N120 G4 F0.1
...
WHEN TRUE DO RELEASE(Z)
; Z axis becomes neutral
; Read-in disable as long as Z axis is program axis
WHENEVER $AA_TYP[Z] == 1 DO RDISABLE
N130 G4 F0.1
...
N140 START(2)
; Start 2nd channel
N150 ; See below: "3. Continuation: Program sequence in the first channel"
2. Program sequence in the second channel:
Program code
Comment
WHEN TRUE DO GET(Z)
; Move Z axis to second channel (neutral)
; Read-in disable as long as Z axis is in other channel
WHENEVER $AA_TYP[Z] == 0 DO RDISABLE
N210 G4 F0.1
...
WHEN TRUE DO GET(Z)
;Z axis is NC program axis
; Read-in disable until Z axis is program axis
WHENEVER($AA_TYP[Z]<>1) DO RDISABLE
N220 G4 F0.1
...
WHEN TRUE DO RELEASE(Z)
; Z axis in second channel is neutral axis
; Read-in disable as long as Z axis is program axis
WHENEVER $AA_TYP[Z] == 1 DO RDISABLE
N230 G4 F0.1
...
N250 WAITM(10,1,2)
;Synchronize with channel 1
N999 M30
3. Continuation: Program sequence in the first channel:
Program code
Comment
N150 WAITM(10,1,2)
;Synchronize with channel 2
...
WHEN TRUE DO GET(Z)
;Move Z axis to this channel
; Read-in disable as long as Z axis is in other channel
WHENEVER $AA_TYP[Z] == 0 DO RDISABLE
N160 G4 F0.1
...
N199 WAITE(2)
;Wait for end of program in channel 2
N999 M30
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
89
Transfer axis to another channel (AXTOCHAN)
An axis can be requested for an arbitrary channel from a synchronized action with the
AXTOCHAN command.
If the axis is already assigned to the NC program of the channel
($AA_AXCHANGE_TYP[] == 0), there is no state change.
If an axis is requested for the same channel from a synchronized action, AXTOCHAN is mapped
on the GET command.
●
With the first request for the same channel, the axis becomes a neutral axis.
●
With the second request, the axis is assigned to the NC program.
Supplementary condition
A "PLC-controlled axis" corresponds to a "concurrent positioning axis" where special
supplementary conditions must be carefully observed. For further details, see:
References:
/FB2/ Function Manual, Extended Functions; Positioning Axes (P2)
Note
A PLC axis cannot replace the channel.
An axis controlled exclusively by the PLC cannot be assigned to the NC program.
3.7.14
Traversing spindles (M, S, SPOS)
Spindles can be started, positioned and stopped via synchronized actions. The programming
is performed in the action part of the synchronized action with the same syntax as in the part
program. Without numeric extension the commands for the master spindle apply. By specifying
a numeric extension, it is possible to program each spindle individually:
Program code
Comment
ID = 1 EVERY $A_IN[1]==1 DO M3 S1000
;
Master spindle
ID = 2 EVERY $A_IN[2]==1 DO SPOS=270
;
Master spindle
ID = 1 EVERY $A_IN[1]==1 DO M1=3 S1=1000 SPOS[2]=90
If concurrent commands are specified for a spindle through synchronized actions that are
active in parallel, the chronological sequence decides the activation.
User-specific spindle enable
The start of spindle motions at defined times can be achieved via synchronized actions by
blocking the motion programmed in the part program.
Example:
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
90
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
The spindle is programmed within a part program and should not start at the beginning of the
block, but only when input 1 is set. The synchronized action holds the spindle override at 0%
until the enable via input 1. See Section "Override ($A...OVR) (Page 36)".
Program code
; As long as input 1 is not set => spindle override = 0%
ID=1 WHENEVER $A_IN[1]==0 DO $AA_OVR[S1]=0
...
; The start of the spindle is triggered
; The spindle is enabled when input 1 is set
G01 X100 F1000 M3 S1=1000
Transition between command axis and spindle
Since several synchronized actions can be active simultaneously, the situation may arise
where a spindle motion is started when the spindle is already active. In this case, the most
recently activated motion is applicable. At a reversal in the direction of motion, the spindle is
first braked and then traversed in the opposite direction.
Direction of rotation, speed and position can also be changed during the motion.
Examples
Program code
Comment
ID=1 EVERY $AC_TIMER[1] >= 5 DO M3 S300
; Speed and direction of rotation
ID=2 EVERY $AC_TIMER[1] >= 7 DO M4 S500
; Speed and direction of rotation
ID=3 EVERY $A_IN[1]==1 DO S1000
; Speed
ID=4 EVERY ($A_IN[4]==1) AND ($A_IN[1]==0) DO SPOS=0
; Spindle positioning
Transitions between axis and spindle
In state ↓
To →
POS
MOV<>0
MOV=0
SPOS
M3/M4
M5
LEADON
TRAIL ON
during traversing
Axis
x
x
x
x
x
x
x
x
Position-controlled spindle
x
x
x
x
x
x
-
-
Speed-controlled spindle
-
-
-
x
x
x
-
-
in motion
Axis
x
x
x
-
-
-
x
x
Position-controlled spindle
-
-
-
-
-
-
-
-
Speed-controlled spindle
-
-
-
x
x
x
-
-
Transitions marked with x are permitted:
The transitions marked with - are rejected with an alarm.
See also
Couplings (CP..., LEAD..., TRAIL..., CTAB...) (Page 105)
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
91
Withdrawing the enable for the axis container rotation (AXCTSWEC)
Function
Using the command AXCTSWEC an already issued enable signal to rotate the axis container
can be withdrawn again. The command triggers a preprocessing stop with reorganization
(STOPRE).
The following conditions must be fulfilled so that in the channel, the enable signal to rotate the
axis container is withdrawn again:
●
In the channel, the axis container rotation must already have been enabled:
–
AXCTSWE()
–
$AC_AXCTSWA[] == 1
●
Axis container rotation was still not started:
–
$AN_AXCTSWA[] == 0
As feedback signal for the successful withdrawal of the enable signal, the following channel-
specific system variable is reset:
$AC_AXCTSWA[] == 0
For a detailed description of the system variables, refer to:
References:
Parameter Manual System Variables
Syntax
DO AXCTSWEC()
Meaning
AXCTSWEC:
Withdrawing the enable for the axis container rotation for the channel
:
Name of axis container:
Possible data include:
●
CT:
The number of the axis container is attached to the CT letter combination.
Example: CT3
●
:
Individual name of the axis container set using
MD12750 $MN_AXCT_NAME_TAB. Example: A_CONT3
●
:
Axis name of a container axis known in the channel.
Example
Program code
Comment
; Initialization of the global counter for the technology cycle CTSWEC
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
92
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
N110 ID=1 DO CTSWEC
;
For technology cycle CTSWEC, see below.
NEXT:
N200 G0 X30 Z1
N210 G95 F.5
N220 M3 S1000
N230 G0 X25
N240 G1 Z-10
N250 G0 X30
N260 M5
; Enable of the axis container rotation for container spindle S1.
N270 AXCTSWE(S1)
N200 GOTO NEXT
Program code
Comment
PROC CTSWEC( STRING _ex_CT="CT1"
INT _ex_CTsl_BITmask=1H
INT _ex_CT_SL_Number=1
INT _ex_WAIT_number_of_IPOs=1000
) DISPLOF ICYCOF
DEFINE _ex_number_of_IPOs AS $AC_MARKER[0]
IF ($AC_STOP_COND[0] + $AC_STOP_COND[1] + $AC_STOP_COND[2] + $AC_STOP_COND[3] +
$AC_STOP_COND[4] + $AC_STOP_COND[5] + $AC_STOP_COND[6] + $AC_STOP_COND[7] +
$AC_STOP_COND[8] + $AC_STOP_COND[9] + $AC_STOP_COND[10]) > 0)
; Increment IPO cycle counter
_ex_number_of_IPOs = _ex_number_of_IPOs + 1
; If a stop condition for longer than "_ex_WAIT_number_of_IPOs"
; IPO cycles is present AND its own slot has not been enabled
IF ( _ex_number_of_IPOs >= _ex_WAIT_number_of_IPOs) AND
($AN_AXCTSWEC[_ex_CT] == _ex_CTsl_BITmask )
AXCTSWEC
;
Cancel the enable of the axis container rotation.
ENDIF
ELSE
; Reset IPO cycle counter
_ex_number_of_IPOs = 0
ENDIF
RET
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
93
Time of execution of synchronized actions
Program code
; Enable of the axis container rotation.
N10 AXCTSWE(CT3)
; Traversing of the container axis AX_A => before the axis is traversed, there
; is a waiting period for the end of the axis container rotation: $AN_AXCTSWA[CT3]==0
N20 AX_A = 10
; Cancellation of the enable. No effect!
WHEN DO AXCTSWEC(AX_A)
N30 G4 F1
Because after the enable of the axis container rotation in block N10, an axis of the axis
container (AX_A) is used in block N20 and this use leads to the system waiting for the end of
the axis container rotation, the synchronized action only comes together with the program
block N30 in the main run and has therefore no effect.
Remedy:
Program code
Comment
; Enable of the axis container rotation.
N11 AXCTSWE(CT3)
; Cancellation of the enable.
WHEN DO AXCTSWEC(AX_A)
N21 ...
;
Executable NC block
; Traversing of the container axis AX_A => before the axis is traversed, there
; is a waiting period for the end of the axis container rotation: $AN_AXCTSWA[CT3]==0
N31 AX_A = 10
Note
Without the executable block N21, the synchronized action would only be implemented after
the end of the axis container rotation with the next executable program block N31 in the main
run and would therefore have no effect, just the same as in the example above.
3.7.16
Actual value setting with loss of the referencing status (PRESETON)
Function
The PRESETON() procedure sets new actual values in the machine coordinate system (MCS)
from synchronized actions for one axis. This corresponds to work offset of the axis MCS. The
axis is not traversed.
From synchronized actions, PRESETON must only be used on command axes, i.e. on axes that
have been started from a synchronized action. The axis must also be assigned to the channel,
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
94
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
i.e. this channel must have the interpolation right for this axis. The axis is not requested from
another channel via axis replacement.
Referencing status
By setting a new actual value in the machine coordinate system, the referencing status of the
machine axis is reset.
DB31, ... DBX60.4/.5 = 0 (referenced/synchronized measuring system 1/2)
It is recommended that PRESETON only be used for axes that do not require a reference point.
To restore the original machine coordinate system, the measuring system of the machine axis
must be referenced again, e.g. through active referencing from the part program (G74).
CAUTION
Loss of the referencing status
By setting a new actual value in the machine coordinate system with PRESETON, the
referencing status of the machine axis is reset to "not referenced/synchronized".
Programming
Syntax
WHEN | EVERY ... DO PRESETON(,)
Meaning
WHEN, EVERY:
Only WHEN and EVERY must be used as frequency (Page 17).
PRESETON:
Actual value setting with loss of the referencing status
:
Machine axis name
Type:
AXIS
Range of values:
Machine axis names defined in the channel
:
New actual value of the machine axis in the machine coordinate system
(MCS)
The input is made in the current valid system of units (inch/metric)
An active diameter programming (DIAMON) is taken into account
Type:
REAL
System variable
$AC_PRESET
The axis-specific system variable $AC_PRESET provides the vector from the zero point of the
currently offset MCS' to the zero point of the original MCS0 after the referencing of the machine
axis.
$AC_PRESET = $AC_PRESET + "current actual position of the axis in the MCS"
- "PRESETON actual position"
The work offset can be undone with the system variables:
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
95
PRESETON(, $VA_IM + $AC_PRESET[]) ; "current actual
position of the axis in the MCS'" + "offsets"
Example
Program code
N10 G1 X=10 F5000
; Traverse the X axis as command axis to position 200
N20 WHEN TRUE DO G71 POS[X]=200
; IF set position of the X axis in the MCS ($AA_IM[X]) >= 80
; THEN "actual position of the X axis in the MCS" = "set position of the X
axis in the MCS" + "offset"
; = 80 + 70 = 150
; "progr. end position of the X axis" = "progr. end position of the X
axis" + "offset"
; = 200 + 70 = 270
; $AC_PRESET = $AC_PRESET - 70
N30 WHEN G71 $AA_IM[X] >= 80 DO PRESETON(X, $AA_IM[X]+70)
N40 G4 F3
Supplementary conditions
Axes for which PRESETON must not be used
●
Traversing command axes in spindle mode
●
Traversing concurrent positioning axes (FC18)
●
Axes involved in a transformation
●
Traversing path axes
●
Reciprocating axes
●
Axes on which one or more of the following safety functions (Safety Integrated) are active
–
Enable safe limit switch
MD36901 $MA_SAFE_FUNCTION_ENABLE[], bit 1 = 1
–
Enable safe cam, pair 1 ... 4, cam +/-
MD36901 $MA_SAFE_FUNCTION_ENABLE[], bits 8 ... 15 = 1
●
Hirth axes
●
Synchronized axes of a gantry grouping
●
Axes for which the reference point approach from the part program (G74) is active
●
Slave axis of a speed/torque coupling (master-slave)
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
96
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
PRESETON can be used on a stationary geometry axis when a further geometry axis is not
being traversed in the channel at the same time.
●
PRESETON can be used on a stationary geometry axis even when a further geometry axis
is being traversed in the channel at the same time, but this axis is in the "neutral axis" state
or traversing as a command axis.
Example: A further geometry (X) is traversing at the same time in the "neutral axis" state
Program code
Comment
N10 G0 X0 Y0
; X, Y: Geometry axes
N15 RELEASE(Y) 1)
; Neutral axis
N20 ID=1 WHEN 20.0 < $AA_IM[X] DO
PRESETON(Y,20)
; $AA_IM: Set position in the
MCS
N30 G0 X40
; Geometry axis X traverses
N40 M30
1) Note
The release of an axis in the action part of a synchronized action does not ensure that the release
is on time.
N20 ID=1 WHEN 20.0 < $AA_IM[X] DO RELEASE(Y) PRESETON(Y,20) ; NOT
recommended!
Example: A further geometry (X) is traversing at the same time as command axis
Program code
Comment
N10 G0 X0 Y0
; X, Y: Geometry axes
N20 ID=1 WHEN TRUE DO POS[X]=40
FA[X]=1000
; X command axis
N30 ID=2 WHEN 20.0 < $AA_IM[X] DO
PRESETON(Y,20)
; $AA_IM: Set position in the
MCS
N40 M30
PLC-controlled axes
●
PRESETON can be used on PLC-controlled axes according to their current type.
Spindle states
The following table shows the reactions that occur when PRESETON is used on a spindle in a
synchronized action:
PRESETON in synchronized action
Spindle mode
Traversing sta‐
tus
Assigned to the NC
program
Main axis
Speed control mode
In motion
Alarm 17601
Alarm 17601
Stationary
+
+
Positioning mode SPOS
In motion
Alarm 17601
Alarm 17601
Stationary
+
+
Positioning across block bounda‐
ries SPOSA
In motion
Alarm 17601
-
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
97
PRESETON in synchronized action
Spindle mode
Traversing sta‐
tus
Assigned to the NC
program
Main axis
Axis mode
In motion
Alarm 17601
+
Stationary
+
+
+: Possible
-: Not possible
PRESETON in the NC program
Spindle mode
Traversing sta‐
tus
Assigned to the NC
program
Main axis
Speed control mode
In motion
Alarm 22324
Alarm 22324
Stationary
+
+
Positioning mode SPOS
In motion
-
+
Stationary
+
+
Positioning across block bounda‐
ries SPOSA
In motion
Alarm 10610
-
Axis mode
In motion
-
+
Stationary
+
+
+: Possible
-: Not possible
Axis couplings
●
Leading axes: The sudden change of the leading axis position caused by PRESETON is not
traversed in the following axes. The coupling is not changed.
●
Following axes: Only the overlaid position component of the following axis is affected by
PRESETON.
Gantry grouping
●
If PRESETON is used on the guide axis of a gantry grouping, the work offset is also performed
in all synchronized axes of the gantry grouping.
Indexing axes
●
PRESETON can be used on indexing axes.
Software limit switches, operating range limit, protection areas
●
If the axis position is outside the specified limits after a work offset by PRESETON, an alarm
is not displayed until an attempt is made to traverse the axis.
Block search with calculation
PRESETON commands are collected during the block search and executed with the NC start
to continue the NC program.
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
98
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
Position-dependent NC/PLC interface signals
●
The status of the position-dependent NC/PLC interface signals is redetermined based on
the new actual position.
Example: Fixed point positions
–
Parameterized fixed point positions: MD30600 $MA_FIX_POINT_POS[0...3] =
–
NC/PLC interface signals DB31, ... DBX75.3 ... 5 (JOG approach fixed point: reached)
If the axis is at a fixed point position with the exact stop tolerance, the associated NC/PLC
interface signal is set. The NC/PLC interface signal is reset when the actual value is set by
PRESETON to a different value outside the exact stop tolerance around the fixed point
position.
DRF offset
●
A DRF offset of the axis is deleted by PRESETON.
Overlaid movement $AA_OFF
●
An overlaid movement ($AA_OFF) (Page 45) is not affected by PRESETON.
Online tool offset FTOC
●
An active online tool offset (FTOC) (Page 73) remains active even after PRESETON.
Axis-specific compensations
Axis-specific compensations remain active after PRESETON.
JOG mode
●
PRESETON must only be used on a stationary axis.
JOG mode, REF machine function
●
PRESETON must not be used.
See also
On-the-fly parting (Page 152)
3.7.17
Actual value setting without loss of the referencing status (PRESETONS)
Function
The PRESETONS() procedure sets new actual values in the machine coordinate system (MCS)
from synchronized actions for one axis. This corresponds to work offset of the axis MCS. The
axis is not traversed.
From synchronized actions, PRESETONS must only be used on command axes, i.e. on axes
that have been started from a synchronized action. The axis must also be assigned to the
channel, i.e. this channel must have the interpolation right for this axis. The axis is not
requested from another channel via axis replacement.
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
Function Manual, 08/2018, 6FC5397-5BP40-6BA2
99
By setting a new actual value in the machine coordinate system (MCS) with PRESETONS, the
referencing status of the machine axis is not changed.
Requirements
●
Encoder type
PRESETONS is only possible with the following encoder types of the active measuring
system:
–
MD30240 $MA_ENC_TYPE[] = 0 (simulated encoder)
–
MD30240 $MA_ENC_TYPE[] = 1 (raw signal encoder)
●
Referencing mode
PRESETONS is only possible with the following referencing mode of the active measuring
system:
–
MD34200 $MA_ENC_REFP_MODE[] = 0 (no reference point
approach possible)
–
MD34200 $MA_ENC_REFP_MODE[] = 1 (referencing of
incremental, rotary or linear measuring systems: zero pulse on the encoder track)
Startup
Axis-specific machine data
Actual value setting without loss of the referencing status (PRESETONS) must be set axis-
specifically:
MD30460 $MA_BASE_FUNCTION_MASK, bit 9 = 1
Note
PRESETON deactivated
Activation of the "Actual value setting without loss of the referencing status PRESETONS"
function deactivates the "Actual value setting with loss of the referencing status PRESETON"
function. The options mutually exclude each other.
Programming
Syntax
... DO PRESETONS(, )
Meaning
:
Only WHEN and EVERY must be used as frequency (Page 17).
PRESETONS:
Actual value setting with loss of the referencing status
:
Machine axis name
Type:
AXIS
Range of values:
Machine axis names defined in the channel
Detailed description
3.7 Actions in synchronized actions
Synchronized actions
100
Function Manual, 08/2018, 6FC5397-5BP40-6BA2