|
|
B3: Distributed systems - 840D sl only
3
3.1
Brief description
3.1.1
Several operator panels on several NCUs (T:M:N)
Under certain circumstances, a single operator control and monitoring station may not be
sufficient for complex plants and machines. Therefore, several operator control and monitoring
stations in a SINUMERIK system network (Ethernet) can be connected to several numerical
controls (NCU) via a PCU in such a way that they enable flexible and distributed operation and
monitoring of the entire system.
The following figure provides an overview of the components that currently can be connected
in a system network to form an operator control and monitoring system T:1:N. Meanings:
● T: Thin Client Unit (TCU) or HT8 handheld unit (connected to the PCU)
● M: Man Machine Control (MMC), e.g. PCU 50.x with SINUMERIK Operate
● N: Numeric Control Unit (NCU), e.g. NCU 7x0.3 PN
2SHUDWRU SDQHO IURQW 23 [[[
2SHUDWRU SDQHO IURQW 23 [[[
+DQGKHOG XQLW
ZLWK
ZLWK
+7
7KLQ &OLHQW 8QLW 7&8
7KLQ &OLHQW 8QLW 7&8
0DFKLQH FRQWURO
0DFKLQH FRQWURO SDQHO
SDQHO
0&3 [[[
,QGXVWULDO (WKHUQHW
0&3 [[[
3& XQLW 3&8
[
,( 6ZLWFK
ZLWK
6&$/$1&( [[[
8VHU LQWHUIDFH
6,180(5,. 2SHUDWH
6,180(5,.
'
6,180(5,.
'
6,180(5,.
'
6,180(5,.
'
VO
VO
VO
VO
1&8 [
31
1&8 [
31
1&8 [
31
1&8 [
31
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
73
B3: Distributed systems - 840D sl only
3.1 Brief description
Figure 3-1
Example of a T:1:N network
T: Thin Client Unit (TCU) or HT8 handheld unit
The graphic information of the PCU user interface is transferred via the TCU to the operator
panel front (OP) and displayed there. TCU and operator panel front together form an operator
station.
● Maximum number
In principle, any number of operator stations, only limited by the amount of available address
space, can be operated in the system network.
● Online
A maximum of four operator stations per PCU can be online simultaneously.
● Operating focus
At any one time, only one of the operator stations on the PCU that are online, can have the
operating focus. Entries with regard to the user interface can only be made via this operator
station. The user interfaces on the other online operator stations are darkened to indicate
that they do not have operating focus. Only a message is displayed on operator stations
that are not online.
The operating focus can be switched between the online operator stations.
● HT8 handheld unit
A HT8 handheld unit combines a TCU, an operator panel front and a machine control panel
in a single device.
M: PCU with SINUMERIK Operate
Several operator stations and several NCUs can be connected to a PCU with SINUMERIK
Operate user interface. The data of the channels of different NCUs can be displayed on the
operator stations through suitable configuring of the channel menu.
N: SINUMERIK 840D sl
● Internal SINUMERIK Operate user interface
Because of the existing external SINUMERIK Operate user interface on the PCU in the
system network, the NCU-integrated internal SINUMERIK Operate user interface must be
switched off. The internal SINUMERIK Operate user interface must not be switched off only
when it is used with a limited range of functions, exclusively within the scope of tool
management. Detailed information on this can be found in the Commissioning Manual
"Operator Components and Networking (IM5)", Section "Network configuration" >
"Application example"
● Machine control panel (MCP)
For a flexible switchover of the machine control panels, only one MCP can be connected
to one NCU. The switchover of the MCPs is user-specifically via the PLC user program
(function block FB 9).
Extended Functions
74
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.1 Brief description
Installation and connection
References
● TCU, MCP, PCU:
SINUMERIK 840D sl Operator Components and Networking Manual
● NCU:
SINUMERIK 840D sl NCU 7x0.3 PN Manual
● Machine control panel (MCP)
FB 9: MtoN Control Unit Switchover
● Switch SCALANCE:
Communication with SIMATIC System Manual
Configuration, commissioning and parameter assignment
References
● Structure of the system network and commissioning of a TCU:
Operator Components and Networking Commissioning Manual (IM5)
● Configuration of the channel menu
SINUMERIK Operate Commissioning Manual (IM9), Section "Channel menu"
Programming
References
● MCP:
Basic Functions Function Manual, Section "P3 Basic PLC program for SINUMERIK 840D
sl" > "Block descriptions" > "FB 9: MtoN control unit switchover"
Boundary conditions
Currently, only one PCU (M) can be configured for each T:M:N network ⇒ T:1:N
3.1.2
NCU link
3.1.2.1
Link communication
The NCU-link communication allows an interpolator clock-synchronous cross-NCU data
exchange for the following applications:
● Cross-NCU data exchange via link variables $A_DLx
● Cross-NCU traversing of axes and spindles using link axes and container link axes
● Cross-NCU master value coupling of axes and spindles using lead link axes
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
75
B3: Distributed systems - 840D sl only
3.1 Brief description
Safety Integrated
If axis-specific Safety Integrated Functions are active for a link axis, data that is not safety-
related is exchanged between the local safety axis (link axis on NCUx) and the channel that
is traversing it (NCUy) via the NCU link. This also enables Safety Integrated-supporting
functions for link axes, such as velocity/speed monitoring-dependent setpoint limiting and
higher-order stop functions (STOP D/E).
Link module
The link communication requires optional link modules. A link module is an optional PROFINET
module for isochronous real-time communication (IRT) via Ethernet. The link module occupies
the option slot of the NCU.
Quantity structure
As standard, a maximum of three NCUs can be interconnected to form a link group.
Note
For a specific project, on request to your local regional Siemens representative, further NCUs
can be integrated to form a link group.
3.1.2.2
Link variables
Link variables are global system user variables that for configured link communication can be
used by all NCUs of the network. Link variables can read and written in part programs, cycles
and synchronized actions.
The reading and writing of link variables is performed in the main run. A channel
synchronization is therefore performed implicitly with regard to the link variables so that all
channels read the same value in the same interpolator cycle. By comparison, global user data
(GUD) can also be used cross-channel like the link variables. However, as GUD variables are
preprocessed, no implicit channel synchronization is performed here. If necessary, GUD
variables must therefore be synchronized by the user through specific programming.
Note
On systems without an NCU link, link variables can also be used as additional NCU global
user data alongside standard global user data (GUD).
3.1.2.3
Link axes
Link axes enable the creation of distributed control systems, in which the setpoints of the
machine axes are not created by channels of the NCU to which the machine axes are physically
connected, but by channels of an arbitrary NCU of the link group.
Extended Functions
76
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.1 Brief description
Fixed assignment for link axes
The assignment, on which NCU the setpoints for which machine axis are created, is fixed for
link axes through the machine data configuration.
Variable assignment for container link axes
The assignment, on which NCU the setpoints for which machine axis are created, is variable
for container link axes. A container link axis can therefore be traversed alternatively by each
NCU of the link group. See Section "Axis container (Page 101)".
Irrespective of the assignment described above, the logical machine axis can be made known
to the link axis of several channels on the NCU generating the setpoint and then functionally
handled as a local logical machine axis, e.g. master value for position/feed couplings, NCU-
local axis interchange.
3.1.2.4
Lead link axes
If in conjunction with the coupling functions of the generic coupling, all interpolators, i.e. the
setpoint-creating/processing channels, the leading and following axes/spindles, are on the
same NCU, the use of a lead link axis is not required. The machine axes of the leading and/
or following axes/spindles can also be connected link axes to different NCUs.
Application
A lead link axis is always required when not all interpolators of a coupling group are on the
same NCU. The lead link axis provides an image of the leading axis/spindle or the master
value for the local interpolators, on another NCU. Starting from this master value, the setpoints
of the following axes/spindles are then generated by the interpolators on this NCU.
Further application
A lead link axis is also used if more machine axes are involved in a coupling than are available
absolutely or relatively on an NCU for the coupling.
References
Special Functions Function Manual, Section "Axis couplings (M3)" > "Generic coupling"
3.1.2.5
Dependencies
In order that several axes can be traversed in an interpolatary relationship, it is essential that
the setpoints generated by the interpolator of the traversing channel be transferred to the
position control at the same time.
During the transfer of the setpoints via the NCU link, for example, for a link axis there is a delay
of one interpolator cycle in relation to the setpoint of a local axis. The delay must be
compensated by a suitable increase of the buffer between the interpolator and the position
controller :
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
77
B3: Distributed systems - 840D sl only
3.1 Brief description
MD18720 $MN_MM_SERVO_FIFO_SIZE = <value> = <default value + compensation
value>
Function
Compensation value
Link axis
One interpolator cycle must be compensated on all NCUs with axes that in-
terpolate with a link or container link axis.
Container-link axis
Compensation value = 1
Lead-link axis
Two interpolator cycles must be compensated on the NCU of the leading axis
that generates the setpoints for the lead link axis.
Compensation value = 2
Note
In contrast to lead link axes, link and container link axes require another compensation value
(MD18720 $MN_MM_SERVO_FIFO_SIZE). With simultaneous use of link or container link
axes and lead link axes within a link group, the delays cannot be compensated.
3.1.2.6
Application example: Rotary indexing machine
On the basis of rotary cycle machine with two NCUs, the application of the "NCU Link" function
is shown as example. The principal units of the rotary indexing machine are:
● MTR rotary axis for the rotary table
● MS1 - MS4 spindles
● Machining stations 1 and 2, each with the X1 and Z1 linear axes
● Loading and unloading station
All of the machine axes remain permanently assigned to their particular NCU. The same axes
(X and Z) and spindles (S1) are always addressed in the machining program of the relevant
NCU.
The workpiece status is represented schematically after each machining step.
For each machining step, the rotary table (MTR) advances one position counter-clockwise.
This so assigns the spindles to another station for each machining step. The changing
relationships of the spindles defined in the channels to the machine axes are represented as
an axis container in the NCU.
If the machine axis of a spindle is not contained on its own NCU, the spindle setpoints are
transferred by link communication to the associated NCU and output there at the machine axis.
Extended Functions
78
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.1 Brief description
1&8 /LQN YLD 352),1(7
1&8
6HWSRLQW WUDQVIHU LV QRW FXUUHQWO\ UHTXLUHG
1&8
/LQN PRGXOH
/LQN PRGXOH
6SLQGOH 06
1&8
6SLQGOH 06
1&8
5RWDU\ WDEOH
'ULYH
075
'ULYH
8QORDGLQJ VWDWLRQ
/RDGLQJ VWDWLRQ
6SLQGOH
06
=
6SLQGOH
06
;
=
0DFKLQLQJ VWDWLRQ
;
0DFKLQLQJ VWDWLRQ
Figure 3-2
Fig. 1: Initial situation
1&8 /LQN YLD 352),1(7
1&8
6HWSRLQW WUDQVIHU 1&8
! 1&8
VSLQGOH 06
1&8
/
LQN PRGXOH
/
LQN PRGXOH
6SLQGOH 06
1&8
6SLQG
OH 06
1&8
5RWDU\ D[LV 075
'ULYH
'ULYH
/RDGLQJ VWDWLRQ
8QORDGLQJ VWDWLRQ
6SLQGOH 06
=
6SLQGOH 06
=
;
0DFKLQLQJ VWDWLRQ
;
0DFKLQLQJ VWDWLRQ
Figure 3-3
Fig. 2: Location after rotation by one position
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
79
B3: Distributed systems - 840D sl only
3.2 NCU link
Parameterization (schematic)
General
Programmed channel axes in the part programs of both NCUs: X, Z, S1
NCU1
Machine axes defined in the NCU:
Local:
X1, Z1
Axis container:
MS1, MS2
NCU2
Machine axes defined in the NCU:
Local:
X1, Z1
Axis container:
MS3, MS4
Initial setting
Rotation of the MTR (rotary table) rotary axis
by one position
(Fig. 1)
(Fig. 2)
NCU1
Machining station 1: X1, Z1, MS2
Diagram showing the channel axes programmed in the part program:
X → X1 and Z → Z1
X → X1 and Z → Z1
S1 → MS2
S1 → MS1
NCU2
Machining station 2: X1, Z1, MS2
Diagram showing the channel axes programmed in the part program:
X → X1 and Z → Z1
X → X1 and Z → Z1
S1 → MS3
S1 → MS2 (link axis)
3.2
NCU link
3.2.1
Link communication
3.2.1.1
General information
'DWD H[FKDQJH E\ 1&8 /LQN YLD 352),1(7
1&8
1&8
1&8Q
1&8
1&8
1&8
/LQN PRGXOH
/LQN PRGXOH
/LQN PRGXOH
Figure 3-4
Link communication (principle)
Extended Functions
80
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
The NCU-link communication cycle allows an interpolator clock-synchronous cross-NCU data
exchange for the following applications:
● Cross-NCU link variables $A_DLx
All the NCUs involved with the NCU-link communication have a common view of the link
variables because they are exchanged via the NCU link interpolator cycle clock-
synchronous between the NCU of the link group.
● Cross-NCU traversing of axes and spindles using link axes and container-link axes
If single or interpolation axis traversal is made from a channel of an NCU, NCU-link setpoints
can also be transferred to axes physically connected to another NCU of the link group.
These axes are designated as link axes.
● Cross-NCU master value coupling of axes and spindles using lead-link axes
NCU1 traverses axis X1 (leading axis), the setpoints are transferred to a link axis of NCU2
(lead-link axis) via the NCU link. Coupling of axis X2 is realized in NCU2 on this lead-link
axis. This means axis X2 is indirectly the following axis of X1.
Data transfer
Depending on the active functions, the following cyclic and non-cyclical data transmissions
occur between the NCUs involved with the link communication:
● High-priority, cyclic data transfer:
- Setpoints, actual values and status signals of the axes
- NCU status signals
● High-priority, non-cyclic, non-displaceable data transfer:
- Non-safety-related data as part of the Safety Integrated function
- States of the container axes during an axis container rotation
● Low-priority, non-cyclic, displaceable data transfer (listed in order of decreasing priority):
- Link variables
- Warm restart requirements
- Activation of axis container rotations
- Changes in NCU-global machine and setting data
- Activation of the axial machine data for link axes
- Alarms
Displacement
If for low-priority, non-cyclic, displaceable data transmission not all requirements can be sent
in a single interpolator cycle, the request with higher priority displaces that with a lower priority.
The requirements with lower priority are then sent at a later point in time.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
81
B3: Distributed systems - 840D sl only
3.2 NCU link
Quantity structure: NCU 7x0.3 PN
As standard, a maximum of three NCUs can be interconnected to form a link group.
Note
For a specific project, on request to your local regional Siemens representative an NCU-link
group with more than three NCUs is possible. Without project-specific supplements, more than
three NCUs are rejected with Alarm 380020.
NCU link and Safety Integrated
The following figure shows a constellation with two NCUs and two machine axes, of which the
MA2 machine axis of the NCU2 is traversed as link axis for NCU1. The Safety Integrated
function monitors the safety-related aspects of both axes.
1&8 /LQN YLD 352),1(7
6DIHW\ ,QWHJUDWHG
(WKHUQHW
352),1(7
1&8
1&8
352),%86
1&.
1&.
&KDQQHO
1
*
)
1
;
=
&KDQQHO D[HV
;
=
0'
/RJ 0DFKLQH D[LV LPDJH
0'
0DFKLQH D[HV
0'
&RQWURO8QLW
&RQWURO8QLW
0RWLRQ
0
RWLRQ
0RQLWRU
0RQLWRU
00
60
60
0
0
63/
63/
3/&
3/&
;
;
;
;
3
3
3
0
0
)6HQG )5HFY
1&8 ORFDO D[LV
31
/LQN D[LV
31
352),VDIH
352),VDIH
)B',
)B'2
',
'2
',
'2
)B',
)B'2
Figure 3-5
NCU link and Safety Integrated
The safety-related input signals (F_DI) of both NCUs can be acquired, linked via the safe
programmable logic (SPL) and exchanged using the safety-related CPU-CPU communication
(FSend/FRecv).
Extended Functions
82
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
As part of the Safety Integrated function, the NCU-link communication permits the single-
channel non-safety-related transfer of link axis data for Safety Integrated-supporting functions.
Examples:
● Interpolatory braking for an implicit Stop D of all traversing axes, including the link axes, in
the channel.
● Reduce the speed of all axes traversing in the channel, including link axes, for a change
of the safe speed.
Safety Integrated acceptance test and NCU link
The Acceptance Test wizard (ATW) is generally used to perform the acceptance test
separately for each NCU. Only alarms on the home NCU of the axis are displayed for link axes.
To make the ATW also check alarms for link axes, the ATW must be told the safety-relevant
NCU connected via the NCU link. For this purpose, these must be entered in the
NETNAMES.INI file on the PG/PCU on which the ATW runs.
Example: Entries in the NETNAMES.INI file for NCU link with two safety-relevant NCUs
Adapt file: NETNAMES.INI (excerpt)
[own]
owner = HMI_1
[conn HMI_1]
conn_1= NCU_1
conn_2= NCU_2
[param HMI_1]
mmc_address = 1
[param network]
[param NCU_1]
nck_address= 192.168.214.2,LINE=10,NAME=/NC,SAP=030d,PROFILE=CLT1__CP_L4_INT
plc_address= 192.168.214.2,LINE=10,NAME=/PLC,SAP=0201,PROFILE=CLT1__CP_L4_INT
ADDRESS2=
192.168.214.2,LINE=10,NAME=/CP,SAP=0501,PROFILE=CLT2__CP_L4_INT
ADDRESS10=
192.168.214.2,LINE=10,NAME=/
DRIVE_00_000,SAP=0201,SUBNET=0000-00000000:000,PROFILE=CLT2__CP_L4_INT
ADDRESS11=
192.168.214.2,LINE=10,NAME=/DRIVE_03_003,SAP=0900,PROFILE=CLT2__CP_L4_INT
ADDRESS12=
192.168.214.2,LINE=10,NAME=/DRIVE_03_011,SAP=0B00,PROFILE=CLT2__CP_L4_INT
ADDRESS13=
192.168.214.2,LINE=10,NAME=/DRIVE_03_012,SAP=0C00,PROFILE=CLT2__CP_L4_INT
ADDRESS14=
192.168.214.2,LINE=10,NAME=/DRIVE_03_013,SAP=0D00,PROFILE=CLT2__CP_L4_INT
ADDRESS15=
192.168.214.2,LINE=10,NAME=/DRIVE_03_014,SAP=0E00,PROFILE=CLT2__CP_L4_INT
ADDRESS16=
192.168.214.2,LINE=10,NAME=/DRIVE_03_015,SAP=0F00,PROFILE=CLT2__CP_L4_INT
name=Machine_1
[param NCU_2]
nck_address= 192.168.214.1,LINE=10,NAME=/NC,SAP=030d,PROFILE=CLT1__CP_L4_INT
plc_address= 192.168.214.1,LINE=10,NAME=/PLC,SAP=0201,PROFILE=CLT1__CP_L4_INT
ADDRESS2=
192.168.214.1,LINE=10,NAME=/CP,SAP=0501,PROFILE=CLT2__CP_L4_INT
ADDRESS10=
192.168.214.1,LINE=10,NAME=/
DRIVE_00_000,SAP=0201,SUBNET=0000-00000000:000,PROFILE=CLT2__CP_L4_INT
ADDRESS11=
192.168.214.1,LINE=10,NAME=/DRIVE_03_003,SAP=0900,PROFILE=CLT2__CP_L4_INT
ADDRESS12=
192.168.214.1,LINE=10,NAME=/DRIVE_03_011,SAP=0B00,PROFILE=CLT2__CP_L4_INT
ADDRESS13=
192.168.214.1,LINE=10,NAME=/DRIVE_03_012,SAP=0C00,PROFILE=CLT2__CP_L4_INT
ADDRESS14=
192.168.214.1,LINE=10,NAME=/DRIVE_03_013,SAP=0D00,PROFILE=CLT2__CP_L4_INT
ADDRESS15=
192.168.214.1,LINE=10,NAME=/DRIVE_03_014,SAP=0E00,PROFILE=CLT2__CP_L4_INT
ADDRESS16=
192.168.214.1,LINE=10,NAME=/DRIVE_03_015,SAP=0F00,PROFILE=CLT2__CP_L4_INT
name=Machine_2
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
83
B3: Distributed systems - 840D sl only
3.2 NCU link
References
The "Safety Integrated" function is described in detail in:
Function Manual for Safety Integrated
3.2.1.2
Link module
The NCU-link communication takes place via link modules A link module is an optional
PROFINET module for isochronous real-time communication (IRT) via Ethernet. The link
module can be used only for the NCU-link communication. It is not possible to use a link module
for general PROFINET communication.
The option slot is required on the NCU module for the link module.
Note
There is only one option slot on the NCU module. This prevents the parallel use of an NCU-
link module and other optional modules.
Link module and NCU modules
The Communication Board Ethernet CBE30-2 is available as link module for the "NCU710.3
PN", "NCU720.3 PN" and "NCU730.3 PN" NCU modules. The option slot is required on the
NCU module for the link module.
References
Manual NCU7x0.3 PN; "Connectable components" > "CBE30-2" section
3.2.1.3
Parameter assignment: NC system cycles
As basic requirement for link communication, the following system cycle clocks must be set
the same in all NCUs involved in the NCU group:
● Basic system cycle clock
● Position control cycle clock
● Interpolator cycle clock
Basic system cycle clock
The DP cycle set for isochronous communication in the STEP 7 project is used as basic system
cycle clock. The current basic system cycle clock is displayed in machine data:
Extended Functions
84
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
MD10050 $MN_SYSCLOCK_CYCLE_TIME
Note
Manual alignment across several communications buses
If several isochronous communication buses (PROFIBUS 1 ... n, PROFINET 1 ... m) have
been configured on an NCU, the same DP cycle time in STEP 7 HW Config must be set for
each communication bus.
Depending on the position control cycle clock
For the SINUMERIK 840D sl, the ratio between the basic system cycle clock and the position
control cycle clocks is fixed (1:1) and cannot be changed. Because only certain position control
cycle clocks can be set for the NCU link, only these position control cycle clocks can be set
as the basic system cycle clock or DP cycle time. See the next paragraph "Position control
cycle clock".
Position control cycle clock
The position control cycle clock is set as a ratio to the basic system cycle clock. For the
SINUMERIK 840D sl, the ratio is fixed (1:1) and cannot be changed. The current position
control cycle clock is displayed in the machine data:
MD10061 $MN_POSCTRL_CYCLE_TIME
Note
Permitted position control cycle clocks
For the NCU link, depending on the number of NCUs in the link group, only the following
position control cycle clocks [ms] are set:
●
2 NCU: 2.0, 2.5, 3.0, 3.5, 4.0
●
3 NCU: 3.0, 3.5, 4.0
See Section "Configuration (Page 87)".
Interpolator cycle clock
The interpolator cycle clock is set as a ratio of the basic system cycle clock. The setting is
made via the following machine data:
MD10070 $MN_IPO_SYSCLOCK_TIME_RATIO
The actual interpolator cycle clock is displayed in machine data:
MD10071 $MN_IPO_CYCLE_TIME
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
85
B3: Distributed systems - 840D sl only
3.2 NCU link
Notes on setting
Cycle clock settings
It is recommended that the following settings are made:
● The default 90% setting for the CPU time share of the NC should be retained:
MD10185 $MN_NCK_PCOS_TIME_RATIO
● The system cycle clocks must be set so that the average system utilization caused by the
interpolator and the position controller does not exceed 60% in normal program operation.
As maximum value, 90% should be not be exceeded.
Note:
In special circumstances, maximum values > 100% can be displayed.
Lowest cyclic communication load
The lowest cyclic communication load during the Link communication results for a cycle ratio
of interpolator clock to position controller clock cycle of 1: 1. With activated "Dynamic Servo
Control (DSC)" drive function, this is generally the most effective setting.
Disadvantage: No telegram repetitions are possible for the link communication.
Time frame of the NC/PLC interface update
The following setting is active during the run-up of all NCUs involved in the link group:
MD18000 $MN_VDI_UPDATE_IN_ONE_IPO_CYCLE = 1
This causes the NC/PLC interface to be read and written completely in just one interpolation
cycle.
System utilization
The system utilization is displayed on the SINUMERIK Operate user interface, under:
"Diagnostics" operating area > "ETC key (">") > "System utilization"
Interpolator clock cycle and link variables
When parameterizing the system clock cycles, in addition to the maximum system utilization
values in the "worst-case" scenario, the expected maximum CPU time loading at the
interpolator level as a result of transferring link variables in productive operation must be taken
into account.
WARNING
Open-loop control failure due to CPU time overflow at the interpolator level
If, when parameterizing the NC, the interpolator clock cycle was set to short, then as a result
of the additional CPU time load due to transferring link variables, in productive operation CPU
time overflow can occur at the interpolator level.
References: Diagnostics Manual; Chapter "NC alarms" > Alarm 4240 "CPU time overflow at
the IPO or position controller level".
Extended Functions
86
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
3.2.1.4
Parameter assignment: Link communication
NC-specific machine data
Number
Identifier $MN_
Meaning
MD12510
NCU_LINKNO
Unique numerical identification of the NCU within the link group. The
identifiers must be assigned without any gaps in ascending ordering
starting from 1.
Value range: 1, 2, ... Maximum NCU number
Note:
The NCU to which the value 1 is assigned as NCU identification is the
master NCU of the link group. The parameterization of link axes and axis
containers may only be made with the machine and setting data of the
master NCU.
MD18780
MM_NCU_LINK_MASK.Bit 0
Activation of the link communication
MD18781
NCU_LINK_CONNECTIONS
Number of internal link connections
Note:
It is recommended to retain the default value 0 (determination of the
number by the NC).
MD18782
MM_LINK_NUM_OF_MODULES
Number of NCUs to be connected with one another via NCU link.
3.2.1.5
Configuration
The NC system software supplies specific configurations for each supported combination of
NCU number and position controller cycle of a link group (see section "Parameter assignment:
NC system cycles (Page 84)").
During the system startup, the appropriate configuration will be loaded (as specified by the
values parameterized in the machine data):
● MD18782 $MN_MM_LINK_NUM_OF_MODULES (number of NCUs of the line group))
● MD10061 $MN_POSCTRL_CYCLE_TIME (position controller cycle)
Note
For applications, in which the standard configurations that have been supplied cannot be used,
please contact your local Siemens sales person.
3.2.1.6
Wiring the NCUs
The numerical sequence of the NCUs within a link group is defined in the NCUs using the
following machine data:
MD12510 $MN_NCU_LINKNO = <NCU number>, with NCU number = 1 ... max. NCU number
Cabling
Starting from the NCU1, the NCU link modules should be wired up in the NCU number
sequence according to the following schematic: NCU(n), Port 0 → NCU(n+1), Port 1
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
87
B3: Distributed systems - 840D sl only
3.2 NCU link
1&8 /LQN YLD 352),1(7
1&8 /LQN YLD 352),1(7
1&8
1&8
1&8
/LQN PRGXOH
/LQN PRGXOH
/LQN PRGXOH
1&8
1&8
1&8Q
Figure 3-6
Wiring schematic, NCU link
3.2.1.7
Activation
The link communication is activated using the following machine data:
MD18780 $MN_ MM_NCU_LINK_MASK, Bit 0 = 1
Note
Activation time
It is recommended to activate the link communication only after complete commissioning of
the entire functionality on all participating NCUs has been done.
3.2.2
Link variables
Complex systems with several NCUs require for the complete system coordination of the
manufacturing processes a cyclic exchange of user-specific data between the NCUs. The data
exchange is performed via the link communication and a special memory area, the link
variables memory available for each NCU.
The size and data structure of the link variables memory can be specified for each specific
user. The data stored in the link variables memory is addressed using a special $A_DLx link
variables.
Link variables are therefore system-global user variables that can be read and written in part
programs and cycles by all NCUs involved in a link group if link communication has been
configured. Unlike global user variables (GUD), link variables can also be used in synchronized
actions.
Extended Functions
88
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
1&8 /LQN YLD 352),1(7
1&8
1&8
1&8
1&8
/LQN
PRGXOH
/LQN PR
GXOH
&KDQQHO
/LQN YDULDEOH
/LQN YDULDEOH
PHPRU\
PHPRU\
1
$B'/[> @
Figure 3-7
Link variables
Link variabls as NCU-global user variables
Note
If an NCU Is not a node of a link group or the link variables are not required for communication
via NCU link, the link variables can be used as the NCU-global user variables.
3.2.2.1
Properties of the link variables memory
Parameterizing the memory size
The size of the link variables memory in bytes is set with the following machine data:
MD18700 $MN_MM_SIZEOF_LINKVAR_DATA (size of the link variables memory)
The setting for the size of the link variables memory should be identical for all NCUs involved
in the link group. If the memory sizes are different, the largest value assigned is used.
Initialization
After an NCU is powered up, the link variables memory is initialized with 0.
Structure
From the point of view of the system, the link variables memory is an unstructured memory
area that is available for link communication purposes. The link variables memory is structured
by the user/machine manufacturer alone. Depending on how the data structure is defined, the
link variables memory is accessed by means of data format-specific link variables.
System-wide alignment
Once a link variables memory has been written to, the changes that have been made to the
data are transferred to the link variables memories of all other NCUs involved in the link group.
The link variables memories are usually updated by means of link communication within two
interpolation cycles.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
89
B3: Distributed systems - 840D sl only
3.2 NCU link
3.2.2.2
Properties of the link variables
The link variables memory is accessed via the following data format-specific link variables:
Data type 1)
Designation
Data format 2)
Bytes 2)
Index i 3)
Value range
UINT
$A_DLB[ i ]
BYTE
1
i = n * 1
0 ... 255
INT
$A_DLW[ i ]
WORD
2
i = n * 2
-32768 ... 32767
INT
$A_DLD[ i ]
DWORD
4
i = n * 4
-2147483648 ... 2147483647
REAL
$A_DLR[ i ]
REAL
8
i = n * 8
±(2,2*10-308 … 1,8*10+308)
1) Data type of link variables when used in part program/cycle
2) Data format of link variables or number of bytes addressed by the link variables in the link variables memory
3) The following must be noted for index i:
●
Index i is a byte index that relates to the beginning of the link variables memory.
●
The index must be selected so that the bytes addressed in the link variables memory are located on a data format limit
⇒ index i = n * bytes, where n = 0, 1, 2, etc.
- $A_DLB[i]: i = 0, 1, 2, ...
- $A_DLW[i]: i = 0, 2, 4, ...
- $A_DLD[i]: i = 0, 4, 8, ...
- $A_DLR[i]: i = 0, 8, 16, ...
Write
A link variable is written with main-run synchronism.
Read
A preprocessing stop is initiated when a link variable is read.
Checks
The following checks are performed for the link variables and link variables memory:
● Observance of the value range limits
● Access to format limit
● Observance of defined memory area in link variables memory
The user/machine manufacturer is solely responsible for preventing the following errors:
● Accessing with incorrect data format
● Accessing the wrong address (index i)
● Reciprocal overwriting of the same data item by multiple channels of a single NCU or
different NCUs
● Reading a data item before it has been updated by a channel of its own NCU or of a different
NCU
Note
Data consistency
The user/machine manufacturer is solely responsible for ensuring data consistency within
the link variables memory, both on a local-NCU basis and across NCUs.
Extended Functions
90
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
3.2.2.3
Write elements
In the case of write access to the link variables memory (e.g. $A_DLB[4] = 21), what is known
as a link variables write element is required for managing the write process within the system.
The maximum number of write elements that are available for each interpolation cycle is set
by means of the following machine data:
MD28160 $MC_MM_NUM_LINKVAR_ELEMENTS
The maximum number of write elements thus restricts the number of link variables that can be
written during each interpolation cycle.
3.2.2.4
Dynamic response during write
The link variables are written with main-run synchronism. The new value may be read by the
other channels in its own NCU no later than the next interpolation cycle. It can be read in the
next part program block in its own channel.
The channels of the other NCUs in the link group normally see the new value after two
interpolation cycles. However, the limited bandwidth can lead to delays in transferring write
requests to the other NCUs in the link group (message delays). Causes for a message delay
can be:
● Writing a large number of link variables in an interpolation cycle
● Writing link variables and a the request for an axis container rotation in the same interpolator
cycle
● Writing link variables and transferring an alarm in the same interpolation cycle
3.2.2.5
System variable
NC-specific system variable
Identifier
Meaning
$AN_LINK_TRANS_RATE_LAST
The number of write requests that were still free in
the last interpolator cycle.
$AN_LINK_TRANS_RATE_LAST_SUM[<n>]
The number of write requests that were still free in
the last interpolator cycle in the send direction to
the specified NC <n> (NCU number).
$AN_LINK_CONN_SIZE_LINKVAR
The number of bytes to be transferred for a write
request of a link variable.
$AN_LINK_CONN_SND[<n>]
The maximum number of bytes that can be trans-
ferred per interpolator cycle from the current NCU
to the specified NCU.
$AN_LINK_CONN_RCV[<n>]
The maximum number of bytes that can be trans-
ferred per interpolator cycle from the specified
NCU to the current NCU.
<n>: NCU number according to MD12510 $MN_NCU_LINKNO of the relevant NCU
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
91
B3: Distributed systems - 840D sl only
3.2 NCU link
Note for: $AN_LINK_CONN_SIZE_LINKVAR
The writing of a link variable causes the number of bytes specified in
$AN_LINK_CONN_SIZE_LINKVAR to be transferred via the not-cyclic link communication.
The number is independent of the format of the link variables.
The maximum number of write requests that can be transferred to the specified NCU for each
interpolator cycle is calculated as:
Max. number of write requests = $AN_LINK_CONN_SND[<n>] /
$AN_LINK_CONN_SIZE_LINKVAR
Channelspecific system variable
Identifier
Meaning
$A_LINK_TRANS_RATE 1)
Number of write requests that still can be transfer-
red in the current interpolator cycle.
1) Application example, refer to Section: "Synchronization of a write request (Page 92)"
3.2.2.6
Synchronization of a write request
If certain applications require the new value of a link variable to be transferred to the other
NCUs in the link group in precisely two interpolation cycles, writing to the link variable must be
made in a synchronized action. In the synchronized action, writing to the link variable is only
executed if in the actual interpolator cycle, the write request can still be executed. The
$A_LINK_TRANS_RATE system variable contains the number of write requests that can still
be transferred in the current interpolator cycle.
In the following example, a link variable, data type WORD (2 bytes) and a link variable, data
type DWORD (4 bytes), are written:
Program example
N120 WHEN $A_LINK_TRANS_RATE > 0 DO $A_DLW[0] = 9
N125 WHEN $A_LINK_TRANS_RATE > 0 DO $A_DLD[2] = 7
N130 G4 F1
The synchronized action in N120 is performed only when the write request can be transferred
in the same interpolator cycle to the other NCU of the link group. In this case, the
$A_LINK_TRANS_RATE system variable is also decremented in the same interpolator cycle
so that the updated value is available for the synchronized action in the following N125 block.
3.2.2.7
Example: Structure of the link variables memory
The following data are defined for the link communication:
Data format
Number
Bytes per data
Bytes required
BYTE
2
1
2
WORD
1
2
2
DWORD
3
4
12
Extended Functions
92
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
Data format
Number
Bytes per data
Bytes required
REAL
1
8
8
required size of the link variables memory:
24
Memory structure
The data is arranged in the link variables memory as follows, with the data format limits taken
into account:
/LQN YDULDEOH PHPRU\
0'
01B00B6,=(2)B/,1.9$5B'$7$
,QGH[
%<7(
%<7(
:25'
':25'
':25'
':25'
5(
$/
Figure 3-8
Example: Structure of the link variables memory
Note
Memory structure
The data in the link variables memory is always arranged randomly and may therefore appear
different (although the data format limits will still be taken into account).
Access via a link variable must be programmed as follows, in accordance with the memory
structure defined:
Program code
Description
$A_DLB[0]
;
BYTE(1)
$A_DLB[1]
;
BYTE(2)
$A_DLW[2]
;
WORD
$A_DLD[4]
;
DWORD(1)
$A_DLD[8]
;
DWORD(2)
$A_DLD[12]
;
DWORD(3)
$A_DLR[16]
;
REAL
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
93
B3: Distributed systems - 840D sl only
3.2 NCU link
3.2.2.8
Example: Read drive data
Task
A system contains two NCUs (NCU1/NCU2). The NCUs are connected via the NCU link. The
MA2 machine axis of NCU1 (drive 2) travels in interpolation mode as link axis for NCU2. The
actual current value of drive 2 should be transferred for evaluation from NCU1 to NCU2. The
figure below shows the basic design of the system.
1&8 OLQN YLD 352),1(7
1&8
1&8
1&8
1&8
/LQN PRGXOH
/LQN PRGXOH
/RJ PDFKLQH D[LV LPDJH
0'
01B$;&21)B/2*,&B0$&+$;B7$%
0DFKLQH D[HV
0'
01B$;&21)B0$&+$;B1$0(B7$%
Requirement
The actual current value for drive 2 (NCU1/MA2) can be read via the $VA_CURR system
variable. In the case of PROFIdrive-based drives, the following machine data item needs to
be set for this purpose:
MD36730 $MA_DRIVE_SIGNAL_TRACKING = 1 (acquisition of additional actual drive values)
Setting the machine data makes the following drive actual values available:
● $AA_LOAD, $VA_LOAD (drive capacity utilization in %)
● $AA_POWER, $VA_POWER (drive active power in W)
● $AA_TORQUE, $VA_TORQUE (drive torque setpoint in Nm)
● $AA_CURR, $VA_CURR (actual current value of axis or spindle in A)
Extended Functions
94
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
Programming
NCU1
A static synchronized action is used to write cyclically in the interpolation cycle the actual
current value $VA_CURR of axis 2 (NCU1/MA2) via the link variable $A_DLR[0] (REAL value)
to the first 8 bytes of the link variables memory:
Program code
IDS=1 WHENEVER TRUE DO $A_DLR[0]=$VA_CURR[MA2]
NCU2
With a static synchronized action, the transferred actual current value is read cyclically in the
interpolator cycle via link variable $A_DLR[0]. If the actual current value is greater than 23 A,
alarm 61000 is displayed.
Program code
IDS=1 WHEN $A_DLR[0] > 23.0 DO SETAL(61000)
3.2.3
Link axes
3.2.3.1
General information
A link axis is designated as a machine axis for which the setpoints are generated by a different
NCU than that to which the machine axis is physically connected. Link axes in conjunction with
axis containers (see Section "Axis container (Page 101)") permit in complex plants, such as
rotary indexing machines with several NCUs, the alternate use of machine axes of the NCU
of the link group.
The following figure shows as example an MA1 machine axis connected to the NCU1. The
MA2 machine axis is connected to the NCU2. The X and Z channel axes travel in interpolation
mode by a part program that runs in a channel of NCU1. The setpoints are generated in the
NCU1 interpolator. For machine axis MA1, they are forwarded to the position control of the
NCU1. For machine axis MA2, they are transferred via the NCU link to the position control of
the NCU2 and output there to the drive.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
95
B3: Distributed systems - 840D sl only
3.2 NCU link
1&8 OLQN
1&8
1&8
&KDQQHO
1
*
)
1
;
=
&KDQQHO D[HV
0'
0&B$;&21)B&+$1$;B1$0(B7$%
/RJ PDFKLQH D[LV LPDJH
0'
01B$;&21)B/2*,&B0$&+$;B7$%
0DFKLQH D[HV
0'
01B$;&21)B0$&+$;B1$0(B7$%
/RFDO D[LV
/LQN D[LV
Figure 3-9
Link axes
Requirement
The use of link axes requires a link communication defined in accordance with "Section Link
communication (Page 80)".
Home NCU
The home NCU of a link axis is the NCU on which it is physically connected as machine axis.
The position control and the exchange of axial NC/PLC interface signals of a link axis always
occurs on the home NCU. The generation of the setpoint can in principle be performed on any
NCU of the link group.
In the above figure:
● NCU1: Home NCU of machine axis MA1
● NCU2: Home NCU of machine axis MA2
Extended Functions
96
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
3.2.3.2
Name of a link axis
The name of a link axis is composed of the identifier for the home NCU on which the machine
axis is physically connected and the general machine axis name AXn:
NC<ID>_<axis>
<ID>:
Identification of the NCU of the link group in accordance with:
MD12510 $MN_NCU_LINKNO
See Section "Parameter assignment: Link communication (Page 87)"
<axis>:
General machine axis name: AX1, AX2, AX3, ...
3.2.3.3
Parameterization
Assignment: Geometry axis or special axis to link axis
Direct assignment
A geometry or special axis can be assigned directly to a link axis in the logical machine axis
image by specification of the link axis name:
MD10002 $MA_AXCONF_LOGIC_MACHAX_TAB[ <axis>] = <link axis>
Parameters
Meaning
<axis>:
Machine axis index: 0, 1, 2, … (max. number of machine axes - 1)
<link axis>:
Name of the link axis: NCx_AXy, see Section "Name of a link axis (Page 97)"
Indirect assignment
A geometry or special axis can be assigned to a link axis indirectly in the logical machine axis
image by specification of a container slot. The container slot then contains the actual name of
the link axis, as described above. This is called a container-link axis. See also Section: "Axis
container (Page 101)".
Synchronous setpoint output
A delay of one interpolator cycle results during the transfer of the setpoints of a link axis for
the setpoint-generating NCU to the home NCU. To ensure that the setpoints for the
interpolation of local axes and link axes are output to the drives at exactly the same time, this
delay must be compensated. To do this, on the setpoint-generating NCU, the number of buffer
elements of the buffer between the interpolator and the position controller must be set one
element larger than the number of buffer elements of the home NCU:
MD18720 $MN_MM_SERVO_FIFO_SIZE= 3
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
97
B3: Distributed systems - 840D sl only
3.2 NCU link
Example
1&8
*HRPHWU\ D[LV QDPH
*HRPHWU\ D[HV XVHG LQ WKH FKDQQHO
&KDQQHO D[LV QDPH
0'
0'
0'
0&B$;&21)B*(2$;B1$0(B7$%
0&B$;&21)B*(2$;B$66,*1B7$%
0&B$;&21)B&+$1$;B1$0(B7$%
&KDQQHO
&KDQQHO
&KDQQHO
;
;
&KDQQHO
&KDQQHO
&KDQQHO
=
=
VW JHRPHWU\ D[LV > @
;
VW FKDQQHO D[LV > @
;
QG JHRPHWU\ D[LV > @
=
QG FKDQQHO D[LV > @
=
UG FKDQQHO D[LV > @
UG JHRPHWU\ D[LV > @
0DFKLQH D[HV XVHG LQ WKH FKDQQHO
/RJLFDO PDFKLQH D[LV LPDJH
0'
0&B$;&21)B0$&+$;B86('
0'
01B$;&21)B/2*,&B0$&+$;B7$%
&KDQQHO
&KDQQHO
Figure 3-10
Example: Parameterization of link axes
Channel 1
The local AX1/AX2 machine axes of the NCU1 are assigned to the X/Z geometry axes.
Channel 2
The NC2_AX1/NC2_AX2 link axes of the NCU2 are assigned to the X/Z geometry axes.
3.2.3.4
Auxiliary function output for spindles
During program execution and after block search with "search via program test" (SERUPRO),
the pre-defined auxiliary functions S, M3, M4, M5, M19 and M70 are output channel-specific
on the NCU on which the spindle has been programmed and also axis-specific on the home
NCU.
Output of the channel-specific auxiliary functions
● DB21, ... DBW68 (extended address of the M function)
● DB21, ... DBD70 (M function 1)
● DB21, ... DBW98 (extended address of S function 1)
● DB21, ... DBD100 (S function 1)
Output of the axis-specific auxiliary functions
● DB31, ... DBD78 (F function for axis)
● DB31, ... DBW86 (M function for spindle)
● DB31, ... DBD88 (S function for spindle)
Extended Functions
98
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
References
Detailed information about the auxiliary function output can be found in:
Function Manual, Basic Functions, "Help function outputs to the PLC (H2)" section
3.2.3.5
Supplementary conditions
Maximum number of machine axes
Even for the use of link axes, as previously, the maximum number of concurrently-usable
geometry and special axes as well as machine axes are still available for each NCU type.
"Lead link axes and "link axes" functions
As the functions "lead link axes" and "link axes" require different settings in machine data
MD18720 $MN_MM_SERVO_FIFO_SIZE, they cannot be used within a link group at the same
time.
Alarms: General behavior
If an error is detected at the position control level of the home NCU of a link axis and the
relevant alarm does not have "NC not ready" as response, the alarm is transferred via the NCU
link to the setpoint-generating NCU and then output.
Alarms: Behavior for emergency stop
If an emergency stop request is activated for an NCU via the NC/PLC interface, all axes
physically connected to this NCU will be switched to the "follow-up" mode. This also affects
link axes whose setpoints are currently generated by other NCUs. Under the assumption that
no further practical machining operations are then possible on these NCUs, an additional alarm
will be generated that stops all dependent axis movements.
Alarm acknowledgement
This additional alarm must be acknowledged by an NC reset. If the original alarm is still active
at this time, although the additional alarm can be acknowledged, an additional self-clearing
alarm will be generated that prevents a traversal of the axes or a program start until the original
alarm has been acknowledged.
Alarms: Response for "NC not ready" alarm response
If an error is detected at the position control level of the home NCU of a link axis and the
relevant alarm does not have "NC not ready" as response, the alarm is transferred to the
setpoint-generating NCU via the NCU link and output there. The alarm output is also made on
the home NCU.
Under the assumption that no further practical machining operations are then possible on the
setpoint-generating NCU, an additional alarm will be generated that stops all dependent axis
movements.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
99
B3: Distributed systems - 840D sl only
3.2 NCU link
Alarm acknowledgement
See alarm acknowledgement under "Alarms: Behavior for Emergency Stop"
Alarms: Behavior for "Mode group not ready" alarm response
If an error is detected within a mode group with several channels and the relevant alarm has
"Mode group not ready" as response, this causes the traversing movements in all channels of
the mode group to stop. If the traversing movements are generally independent of each other,
the response via the following machine data item can be changed to "Channel not ready":
MD11412 $MN_ALARM_REACTION_CHAN_NOREADY = TRUE
Effect
In the NC/PLC interface, instead of signal DB11 DBX26.3 (mode group ready), the signal
DB21, DBX36.5 (channel ready), is reset.
Advantage
The alarm response remains limited to the channel in which the error is detected. If required,
the PLC user program can initiate further responses.
Requirement
There is no higher-priority alarm response than "Mode group not ready".
Compensations
The following compensations are not available:
● Link axes: Quadrant error compensation (QEC)
● Container link axes: Sag compensation (CEC)
Switch-off an NCU in a link group
If an NCU in a link group is switched off, the machining on all other NCUs of the link group will
be cancelled and an alarm issued.
Powering up an NCU group
If an NC reset is triggered on an NCU in a link group, it will also be transferred to all other
NCUs of the link group so that all NCUs of the link group perform a warm restart.
Nibbling and punching technologies
The fast inputs/outputs required for the nibbling and punching must be connected and
parameterized on the NCU on which the part program is processed and the axes interpolated.
The commands for "High-speed nibbling and punching", e.g. PONS and SONS, are not available
for link axes.
Extended Functions
100
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
Frames
A link axis is permitted in a Frame command only when it is a geometry axis. The Frame
command changes only the geometry in the channel to which the link axis is currently assigned.
Speed/torque coupling, master-slave
The drives of all axes/spindles of a master-slave group must be connected to the same NCU.
The master axis can, however, be traversed as link axis for the channel of another NCU.
3.2.4
Axis container
3.2.4.1
General information
An axis container is a circular data structure with a parameterized number of elements. These
elements together with axis containers, are designated as slots (Slot 1, Slot 2, ... Slot n). The
slots allow a variable assignment of geometry and/or special axes to machine axes. The entry
in a slot can reference an NCU-local machine axis (container axis) or a link axis (container-link
axis).
The following figure shows an axis container with four slots. The container axes refer in the
current position of the axis container to the following machine axes:
Container axis
Machine axis
CT1_SL1
NCU 1: AX1
CT1_SL2
NCU 1: AX2
CT1_SL3
NCU 2: AX1
CT1_SL4
NCU 2: AX2
$[LV FRQWDLQHU &7
6ORW
6ORW
6ORW
6ORW
Figure 3-11
Example: Axis container CT1 with four slots
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
101
B3: Distributed systems - 840D sl only
3.2 NCU link
Rules
The following rules must be observed with regard to axis containers:
● All machine axes of an axis container may be assigned to just one channel axis at any one
time.
● Multiple slots of an axis container must not reference the same machine axis.
● At any one time, only one channel is authorized to write to a machine axis, directly or via
a container axis.
● Several geometry and/or special axes of a channel can also be assigned to the container
axes of an axis container.
Assignment: Geometry or special axis → container axis
In the logical machine axis image MD10002 $MN_AXCONF_LOGIC_MACHAX_TAB, a
container axis can be assigned as a machine axis via container and slot to a geometry or
special axis, e.g. CONTAINER "CT1", slot "1":
MD10002 $MN_AXCONF_LOGIC_MACHAX_TAB[ n ] = CT1_SL1
During the traversing of the geometry or special axis, the machine axis assigned at this time
to slot 1 then traverses.
Axis container rotation
An axis container rotation is always performed when all channels involved on the axis container
have granted their enable with a program command. After the axis container rotation, other
machine axes are assigned to the geometry or special axes of the channels.
The setting data specifies the increment of an axis container rotation.
See Section "Parameterization (Page 104)".
Axis container name
The following program commands can be addressed via the axis container name (<axis
container>):
● Program commands:
- AXCTSWE(<axis container>)
- AXCTSWED(<axis container>)
- AXCTSWEC(<axis container>)
Extended Functions
102
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
The following names are possible:
CT<container number>: The number of the axis container is attached to the CT letter
combination.
Example: CT3
<container name>:
Individual name of the axis container set using
MD12750 $MN_AXCT_NAME_TAB
Example: A_CONT3
<axis name>:
Axis name of a container axis which is known in the channel in-
volved.
Implicit wait
There is an implicit wait for the completion of a requested axis container rotation if one of the
following events has occurred:
● Part program language commands which will cause a container axis assigned to this axis
container in this channel to move
● GET(<channel axis name>) on a corresponding container axis
● The next AXCTSWE(<axis container>) for this axis container
Note
Even an IC(0) will result in a wait including synchronization where necessary (block-by-
block change in addressing according to incremental dimension even though an absolute
dimension has been set globally).
Synchronization with axis position
If the new container axis assigned to the channel after a container rotation does not have the
same absolute machine position as the previous axis, then the container is synchronized with
the new position (internal REORG).
Note
SD41700 $SN_AXCT_SWWIDTH[<axis container>] is only updated for a new configuration.
If, after incremental rotation of the RTM/MS, the position of a circuit before the initial position
is reached, the container can be rotated normally in the forward direction to reach the initial
position of the container again. The drum or rotary table must however be turned back to the
original position, so that measuring and supply cables are not twisted.
See also
System variable (Page 112)
Programming (Page 110)
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
103
B3: Distributed systems - 840D sl only
3.2 NCU link
3.2.4.2
Parameterization
Machine data
NC-specific machine data
Number
Identifier $MN_
Meaning
MD12750
AXCT_NAME_TAB
Name of the axis container
MD12760
AXCT_FUNCTION_MASK.Bit x
Axis container-specific functions
MD1270x
AXCT_AXCONF_ASSIGN_TABx
Assignment of machine axes to the slots of an axis container
MD18720
MM_SERVO_FIFO_SIZE
Size of the IPO/SERVO data buffer
Note:
The value 3 must be set on all participating NCUs for cross-NCU axis
containers.
Name of the axis container
MD12750 $MN_AXCT_NAME_TAB[ <index> ] = "<name>"
Parameters
Meaning
<index>:
0, 1, … max. axis container index
<name>:
Name of the axis container (e.g. CT1)
Axis container-specific functions
MD12760 $MN_AXCT_FUNCTION_MASK.Bit x = <value>
Parameters
<value>
Meaning
Bit 0:
0
For a direct axis container connection (AXCTSWED), all other chan-
nels must be in the RESET state.
1
For a direct axis container connection (AXCTSWED), only other chan-
nels that have the interpolation authorization to axes of the axis con-
tainer need to be in the RESET state.
The machine data is used to activate the axis container-specific functions.
Assignment of machine axes to the slots of an axis container
MD1270x $MN_AXCT_AXCONF_ASSIGN_TABx[ <index> ] = <axis>
Parameters
Meaning
x:
1 … max. number of axis containers
<index>:
0, 1, … max. slot index
<axis>:
Name of a local machine axis (e.g. AX1)
Name of a link axis. See Section "General information (Page 95)".
The slots within an axis container must be assigned in ascending order without gaps, starting
with slot index 0.
Extended Functions
104
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
Setting data
Increment of an axis container rotation
SD41700 $SN_AXCT_SWWIDTH[<index>]=<increment>
Parameters
Meaning
<index>:
0, 1, … max. axis container index
<increment>:
Number of slots through which the axis container rotates
Illustration of the axis container rotation
The axis container rotation is enabled by means of program commands. See Section
"Programming (Page 110)".
In the left-hand part of the figure "Axis container rotation, Fig. 1," the link axis NCU1_AX1 is
assigned to slot 1 in the initial setting of the axis container.
After the rotation with an increment of 1 (right-hand side), the link axis NCU2_ AX2 is assigned
to slot 1.
$[LV FRQWDLQHU &7
$[LV FRQWDLQHU &7
6ORW
6ORW
6ORW
6ORW
6ORW
6ORW
6ORW
6ORW
$VVLJQPHQW SULRU WR URWDWLRQ
$VVLJQPHQW DIWHU URWDWLRQ
6'
61B$;&7B6::,'7+> @
Figure 3-12
Axis container rotation, Fig. 1
Based on the initial setting stated above, the link axis NCU2_ AX1 is assigned to slot 1 after
a rotation with an increment of 2, (figure "Axis container rotation, Fig. 2," left part).
Based on the initial setting stated above, the link axis NCU1_ AX2 is assigned to slot 1 after
a rotation with an increment of -1 (figure "Axis container rotation, Fig. 2," right part).
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
105
B3: Distributed systems - 840D sl only
3.2 NCU link
$[LV FRQWDLQHU &7
$[LV FRQWDLQHU &7
6ORW
6ORW
6ORW
6ORW
6ORW
6ORW
6ORW
6ORW
$VVLJQPHQW DIWHU URWDWLRQ
$VVLJQPHQW DIWHU URWDWLRQ
6'
61B$;&7B6::,'7+> @
6'
61B$;&7B6::,'7+> @
Figure 3-13
Axis container rotation, Fig. 2
Axis container with container-link axes
The parameterization of an axis container that contains container-link axes must be made on
the master NCU of the link group (MD12510 $MN_NCU_LINKNO == 1).
Alignment of axial machine data
For container axes, all axial machine data marked with the "CTEQ" (container equal) attribute
must have the same value for all container axes. Any different values will be aligned
automatically.
Control startup
During the control startup, all machine data will be aligned to the values of the container axis
of the first slot. If the value of a machine data item changes, the following message will be
displayed: "The axial machine data of the axes in axis container <n> has been adapted".
Activate machine data
If a machine data item of any container axis is changed, the new value also becomes
immediately available in all other container axes. The following message is displayed:
"Caution: This MD will be set for all container axes".
Extended Functions
106
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
Slot change
If a slot of an axis container is assigned another machine axis, (MD127xx
AXCT_AXCONF_ASSIGN_TAB<x>), the following message is displayed: "The machine data
of the axes in axis container <n> will be adapted at the next startup".
Note
Container-link axes
For container-link axes, a machine data alignment is performed for all NCUs of the link group
involved on the axis container.
Parameter example
Assumptions
NCU
Components
NCU1:
Channel 1, X/Z geometry axes → 1st/2nd channel axis
Channel 2, X/Z geometry axes → 1st/2nd channel axis
Machine axes: AX1, AX2
CT1 axis container with four slots
NCU2:
Machine axes: AX1, AX2
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
107
B3: Distributed systems - 840D sl only
3.2 NCU link
Parameter assignment: NCU1
1&8
*HRPHWU\ D[LV QDPH
*HRPHWU\ D[HV XVHG LQ WKH FKDQQHO
&KDQQHO D[LV QDPH
0'
0'
0'
0&B$;&21)B*(2$;B1$0(B7$%
0&B$;&21)B*(2$;B$66,*1B7$%
0&B$;&21)B&+$1$;B1$0(B7$%
&KDQQHO
&KDQQHO
&KDQQHO
;
;
&KDQQHO
&KDQQHO
&KDQQHO
=
=
VW JHRPHWU\ D[LV > @
;
VW FKDQQHO D[LV > @
;
QG JHRPHWU\ D[LV > @
=
QG FKDQQHO D[LV > @
=
UG FKDQQHO D[LV > @
UG JHRPHWU\ D[LV > @
0DFKLQH D[HV XVHG LQ WKH FKDQQHO
/RJLFDO PDFKLQH D[LV LPDJH
0'
0&B$;&21)B0$&+$;B86('
0'
01B$;&21)B/2*,&B0$&+$;B7$%
&KDQQHO
&KDQQHO
$[LV FRQWDLQHU &7
6ORW
6ORW
6ORW DVVLJQPHQW
0'
01B$;&21)B$66,*1B7$%> @ ಯ1& B$; ರ
01B$;&21)B$66,*1B7$%> @ ಯ1& B$; ರ
01B$;&21)B$66,*1B7$%> @ ಯ1& B$; ರ
01B$;&21)B$66,*1B7$%> @ ಯ1& B$; ರ
6ORW
6ORW
Figure 3-14
Example: Parameter assignment of channel axes and axis containers
Effect
By programming the X and Z geometry axes in the 1st and 2nd channel of the NCU1, the
following axes traverse in the current position of the container:
● The local AX1 and AX2 machine axes of the NCU1.
● As container-link axes, the AX1 and AX2 machine axes of the NCU2.
For the axis container rotation, see Section "Programming (Page 110)".
Extended Functions
108
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
Notes on the parameter assignment
Container axis distribution and communications utilization
In the case of a plant with several NCUs that traverse alternately axes of other NCUs (link
axes) in conjunction with axis containers, the type and manner how the link axes are distributed
within the axis container decide on the utilization of the link communication.
$[LV FRQWDLQHU &7[
$FKVFRQWDLQHU &7[
6\PPHWULFDO D[LV GLVWULEXWLRQ
$V\PPHWULFDO D[LV GLVWULEXWLRQ
① Blue slot: Refers to a drive connected to the NCU1
② Red slot: Refers to a drive connected to the NCU2
③ Drives connected to NCU1
④ Drives connected to NCU2
Figure 3-15
Axis distribution
● Symmetrical axis distribution
In the case of a symmetrical axis distribution, each NCU first traverses only local axes. This
means no link communication occurs. Provided all NCUs only traverse link axes, each
transition of the axis container increases the utilization of the link communication up to a
maximum.
● Asymmetrical axis distribution
For an asymmetric axis distribution, each NCU traverses local and link axes from the
beginning. Unlike with symmetrical axis distribution, this results in a constant average
utilization of the link communication.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
109
B3: Distributed systems - 840D sl only
3.2 NCU link
Drive distribution and communications utilization
In a system with several NCUs that in conjunction with axis containers alternately traverse
axes of another NCU (link axes), the distribution of the drives connected to the NCU decides
the utilization of the link communication.
●
Symmetric drive distribution
In the case of a symmetric drive distribution, the drives addressed via the axis container
are connected to both NCUs. On account of this arrangement, the maximum possible
number of drives can still be addressed via the logical machine axes images (LAI) on both
NCUs.
1&8
1&8
&7
/$,
$
$
$
$
$
$
$
$
$
$
$
$
Figure 3-16
Symmetric drive distribution
●
Asymmetric drive distribution
In the case of an asymmetric drive distribution, the drives addressed via the axis container
are only connected to NCU1. On account of this arrangement, the maximum possible
number of drives can only be addressed via the logical machine axes images (LAI) on
NCU2. Only the maximum number minus the drives used by NCU2 can be addressed via
the LAI of NCU1. In order to also be able to use the maximum number of drives on NCU1,
they must be connected to NCU2 and addressed from NCU1 via the NCU link. This results
in a higher cyclic link communication load.
1&8
&7
1&8
/$,
$
$
$
$
$
$
$
$
$
$
Figure 3-17
Asymmetric drive distribution
3.2.4.3
Programming
Function
The AXCTSWE or AXCTSWED commands are used to enable the rotation of the specified axis
container.
Any previously set enable for axis container rotation is cancelled with the AXCTSWEC command.
Syntax
AXCTSWE(<ID>)
Extended Functions
110
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
AXCTSWED(<ID>)
AXCTSWEC(<ID)
Meaning
AXCTSWE:
Enable for rotation of the axis container
The program processing is not stopped by AXCTSWE.
The rotation is performed as soon as all channels involved on the axis con-
tainer have been enabled.
The increment of an axis container rotation is set via the SD41700
$SN_AXCT_SWWIDTH setting data (see Section "Parameterization
(Page 104)")
AXCTSWED:
Enable to rotate the axis container without consideration of the other channels
involved on the axis container
The increment of an axis container rotation is set via the SD41700
$SN_AXCT_SWWIDTH setting data (see Section "Parameterization
(Page 104)")
Note
● Command variant to simplify the commissioning of the part program or
synchronized action.
● The behavior with regard to the other channels involved on the axis
container can be specified via:
MD12760 $MN_ AXCT_FUNCTION_MASK, bit 0
See Section "Parameterization (Page 104)".
AXCTSWEC:
Canceling the enable to rotate the axis container
Note
The enable for rotating an axis container can only be cancelled when the
rotation has yet not been started:
$AN_AXCTSWA[<axis container>] == 0
See Section "System variable (Page 112)"
<ID>:
Name of the axis container or a container axis:
CT<number>:
Default identifier of an axis container:
MD12750 $MN_AXCT_NAME_TAB
Example: CT1
<Container>:
User-specific name of an axis container:
MD12750 $MN_AXCT_NAME_TAB
Example: CONTAINER_1
<axis>:
Name of a known container axis in the channel
References
The use of the AXCTSWEC command in synchronized actions is described in detail in:
Synchronized Actions Function Manual, Section "Detailed description" > "Actions in
synchronized actions" > "Cancel release for axis container rotation (AXCTSWEC)"
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
111
B3: Distributed systems - 840D sl only
3.2 NCU link
3.2.4.4
System variable
Container-specific system variable
System variable
Description
$AC_AXCTSWA[<ID>]
Channel-specific status of the axis container rotation
$AN_AXCTSWA[<ID>]
NCU-specific status of the axis container rotation
$AN_AXCTSWE[<ID>]
Slot-specific status of the axis container rotation
$AN_AXCTAS[<ID>]
Number of slots through which the axis container was just switched
through.
ID: Axis container name or name of a container axis
NC-specific system variable
System variable
Description
$AN_LAI_AX_IS_AXCTAX 1)
Status: LAI axis == container axis
of the machine axes in the logical machine axis image
(MD10002 $MN_AXCONF_LOGIC_MACHAX_TAB)
regarding axis container.
$AN_LAI_AX_IS_LEADLINKAX 1)
Status: LAI axis == lead-link axis
$AN_LAI_AX_IS_LINKAX 1)
Status: LAI axis == link axis
$AN_LAI_AX_TO_IPO_NC_CHANAX[<ID>]
Channel and channel axis number or NCU-ID and the
global axis number
$AN_LAI_AX_TO_MACHAX[<ID>]
NCU-ID and axis number of the machine axis
1) Bit mask: Bit n ≙ LAI axis (n+1) from MD10002 $MN_AXCONF_LOGIC_MACHAX_TAB
ID: LAI axis number
NCU-ID: Value from MD12510 $MN_NCU_LINKNO
References
A detailed description of the system variables can be found in:
System Variables, List Manual
See also
Evaluating axis container system variables (Page 124)
Extended Functions
112
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
3.2.4.5
Machining with axis container (schematic)
6WDUW
,QLWLDO VHWXS
,)
+DV D[LV FRQWDLQHU
1R
URWDWLRQ WHUPLQDWHG"
<HV
$1B$;&76:$ &7
6HWXS F\FOLF
,)
+DV URWDWLRQ RQ WKH
0DLQWDLQLQJ
1R
PDFKLQH WHUPLQDWHG"
<HV
0DFKLQH F\FOLF
&OHDQ XS F\FOLF
&RQWDLQHU URWDWLRQ HQDEOH
$;&76:( &7
,)
&RQWLQXH F\FOLF
<HV
PDFKLQLQJ"
1R
)LQDO FOHDQ XS
(QG
Figure 3-18
Example: Schematic machining sequence for a station of a rotary cycle machine
3.2.4.6
Behavior in different operating states
Startup (Power On)
In the startup the controller, with regard to the slot assignment, the initial state defined in the
machine data is always assumed irrespective in which state of the axis container the control
was switched off:
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
113
B3: Distributed systems - 840D sl only
3.2 NCU link
MD1270x $MN_AXCT_AXCONF_ASSIGN_TABx
Note
Alignment between setpoint and actual status
After a controller startup, it is the sole responsibility of the user / machine manufacturer to
detect any difference between the status of the axis container and the machine status and to
compensate for this with a suitable axis container rotation.
Mode change
A container axis whose axis container in the Automatic mode was enabled for rotation cannot
be traversed after a change in the JOG mode.
Channel-specific Reset state
As soon as a channel involved on the axis container is in the Reset state, no enable for axis
container rotation is required for this channel. It suffices to enable the remaining active
channels.
Block search
An axis container rotation (AXCTSWE) cannot be enabled and activated in one block, but the
enabling and activation commands must be programmed in separate action blocks. In other
words, the axis container status changes in response to each separate rotation command as
a function of the status of other channels.
3.2.4.7
Behavior when withdrawing the release for axis container rotation
TheAXCTSWE command enables the channel-specific axis container rotation for an axis
container. The AXCTSWEC command cancels the enable.
The following figure shows an example the sequence of an axis container rotation as
represented in the axis container-specific system variables. Two channels for two NCUs are
always involved on the axis container.
Extended Functions
114
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
1&8
&KDQQHO
$&B$;&76:$> ,'!@
&KDQQHO
$&B$;&76:$> ,'!@
1&8
$1B$;&76:$> ,'!@
1&8
&KDQQHO
$&B$;&76:$> ,'!@
&KDQQHO
$&B$;&76:$> ,'!@
1&8
$1B$;&76:$> ,'!@
① NCU1, channel1: Enable issued using the AXCTSWE command
② NCU2, channel2: Enable issued using the AXCTSWE command
③ NCU1, channel2: Enable issued via AXCTSWE command → all enables of all channels are now
present in the NCU1 → the overall enable status of NCU1 is transferred to NCU2 via link com-
munication
④ NCU2, channel1: Enable issued via AXCTSWE command → all enables of all channels are now
present in the NCU2 → the overall enable status of NCU2 is transferred to NCU1 via link com-
munication
All enable signals for all channels (NCU2 and NCU1) are now present in NCU2 → the axis
container rotation is performed in NCU2
⑤ NCU1: All enable signals for all channels (NCU1 and NCU2) are now present in NCU1 → the
axis container rotation is performed in NCU1
⑥ NCU1/NCU2: axis container rotation has been completed
Figure 3-19
Cross-NCU enable and axis container rotation
To allow a previously granted enable to be canceled, the enable for at least one of the channels
(NCU1 or NCU2) involved on the axis container must still be pending at the time of the
cancellation. This means the cancel must be made before time ④.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
115
B3: Distributed systems - 840D sl only
3.2 NCU link
Withdrawal is no longer possible as soon as all enable signals are available from all channels
of all NCUs (instant in time ④). In this case, the AXCTSWEC command has no effect. No
feedback is sent to the user.
See also
Programming (Page 110)
3.2.4.8
Supplementary conditions
Axis mode
If a container axis in axis mode or as a positioning spindle (POSA, SPOSA) traverses, the axis
container rotates only after reaching the programmed end position.
Spindle
● A container axis active as a spindle continues to rotate during an axis container rotation.
● The control type of a spindle (speed / position control) refers to the associated machine
axis. The set control type "moves" with the machine axis when an axis container rotates.
● For commands that refer to the master spindle of the channel, a machine axis with the
corresponding spindle number must exist in the channel at the time of execution of the
command:
MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ <axis>] == number of the master spindle
Note
It is the sole responsibility of the user / machine manufacturer to ensure for spindles as
container axes that an appropriate machine axis must still exist in the channel after an axis
container rotation for the master spindle.
Work offsets
Note
It is the sole responsibility of the user / machine manufacturer to ensure that after an axis
container rotation the effective work offsets in the channel are adapted to the changed machine
axis assignments.
Continuous-path mode
If continuous-path mode is active in the channel and an axis container rotation is performed,
a subsequent programming of a container axis interrupts the continuous-path mode. The
interruption also occurs even when the container axis not a path axis.
Extended Functions
116
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
PLC axis
If a container axis whose axis container has been enabled for rotation becomes a PLC axis,
the status change occurs only after completion of the axis container rotation.
Command axis
If a container axis whose axis container has been enabled for rotation traverses as a command
axis, the traversing movement is performed only after completion of the axis container rotation.
Oscillating axis
If a container axis whose axis container has been enabled for rotation becomes an oscillation
axis, the status change occurs only after completion of the axis container rotation.
External work offset
The "external work offset" is based on the machine coordinate system (MCS). Therefore, for
an active "external work offset", one of the container axes rejects the axis container rotation
with alarm 4022.
Axial frames
The axial frame of a channel axis, which is also a container axis, is no longer valid after an
axis container rotation. Since the axis container rotation assigns a new machine axis to the
channel axis, but the axial frame is referred to a machine axis, the rotation also changes the
axial frame. If the two frames do not coincide, a synchronization process (internal REORG) is
performed.
Note
The assignment between a channel axis and a machine axis is altered by the axis container
rotation. The current frames remain unchanged after a rotation. The user is responsible for
ensuring that the correct frames are selected after a rotation by programming basic frame
masks, for example.
Transformation
If a container axis is involved as a spindle in a transformation, the transformation must be
deselected before the enable of the axis container rotation.
Axis couplings
If an axis coupling is active for a container axis, the coupling with COUPOF must be deselected
before the enable of the axis container rotation. After completion of the rotation, the coupling
can be immediately selected again with COUPON. A new define of the coupling is not required.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
117
B3: Distributed systems - 840D sl only
3.2 NCU link
Gantry axis
A gantry axis cannot be a container axis.
Travel to fixed limit
If a container axis is at the limit stop, no axis container rotation can be performed.
Drive alarms
If a drive alarm is pending for a container axis, the axis container rotation is not performed.
3.2.5
Lead link axes
3.2.5.1
General information
If, for an axis coupling, the the machine axes of the leading and following axes are not
connected to the same NCU, the coupling must be established using a link axis of the NCU of
the following axis. In this case, the link axis is designated as lead-link axis.
The setpoints of the master axis are transferred synchronously in the interpolator cycle via the
NCU link to the lead-link axis. Similarly, in the opposite direction, the actual values and the
status data of the lead-link and the following axis are transferred to the leading axis.
The lead-link axis is parameterized as local leading axis of the following axis.
/HDGLQJ D[LV GDWD
$[LV FRXSOLQJ
)ROORZLQJ D[LV GDWD
/HDG OLQN D[LV
8S
1&8 OLQN
)ROORZLQJ D[LV
1&8
1&8
.DQDODFKVHQ
0'
;
;
<
0&B$;&21)B&+$1$;B1$0(B7$%
/RJ 0DVFKLQHQDFKVDEELOG
$;
1& B$;
$;
0'
01B$;&21)B/2*,&B0$&+$;B7$%
0DVFKLQHQDFKVHQ
/HDG OLQN
0$
0$
0'
$[LV
01B$;&21)B0$&+$;B1$0(B7$%
/HDGLQJ D[LV
)ROORZLQJ D[LV
Figure 3-20
Lead-link axis
Extended Functions
118
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
Coupled axes
Lead link axes can be used in conjunction with following axis couplings:
● Master value coupling
● Coupled motion
● Tangential tracking
● Electronic gear (ELG)
● Synchronous spindle
Requirement
The NCU must communicate via the NCU link. See Section "Link communication (Page 80)"
3.2.5.2
Parameterization
Link communication
NC-specific machine data
Number
Identifier $MN_
Meaning
MD12510
NCU_LINKNO
Unique numerical identification of the NCU within the link group. The
identifiers must be assigned without any gaps in ascending ordering
starting from 1.
Value range: 1, 2, ... Maximum NCU number
Note:
The NCU to which the value 1 is assigned as NCU identification is the
master NCU of the link group. The parameterization of link axes and axis
containers may only be made with the machine and setting data of the
master NCU.
MD18780
MM_NCU_LINK_MASK.Bit 0
Activation of the link communication
MD18781
NCU_LINK_CONNECTIONS
Number of internal link connections
Note:
It is recommended to retain the default value 0 (determination of the
number by the NC).
MD18782
MM_LINK_NUM_OF_MODULES
Number of NCUs to be connected with one another via NCU link.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
119
B3: Distributed systems - 840D sl only
3.2 NCU link
Setpoint synchronization
NC-specific machine data
Number
Identifier $MN_
Meaning
MD18720
MM_SERVO_FIFO_SIZE
Size of the IPO/SERVO data buffer
The transfer of the setpoints of the leading axis via the NCU link to the
NCU of the lead-link axis produces a deadtime of two interpolator cycles.
The dead time is compensated by parameterizing the sizes of the IPO/
SERVO data buffer on the NCU of the leading axis and the NCU of the
lead-link axis:
● NCU of the leading axis: 4
● NCU of the lead-link axis: 2
Note
With the simultaneous use of lead link axes and cross-NCU axis containers, the axis container
means machine data MD18720 $MN_MM_SERVO_FIFO_SIZE = 3 must be set. This means
a synchronous output of the setpoints for leading and following axis is not possible. The offset
then has the size of one interpolator cycle.
Leading, lead-link and following axis
NC-specific machine data
Number
Identifier $MN_
Meaning
MD10000
AXCONF_MACHAX_NAME_TAB
Machine axis name
MD10002
AXCONF_LOGIC_MACHAX_TAB
Logical machine axis image
Channel-specific machine data
Number
Identifier $MC_
Meaning
MD20070
AXCONF_MACHAX_USED
Used machine axis
Axis-specific machine data
Number
Identifier $MA_
Meaning
MD30554
AXCONF_ASSIGN_MASTER_NCU
Master NCU
If a machine axis can be traversed for several NCUs, one NCU must
be defined as master NCU. The setpoint generation is made after the
startup of the control for this NCU.
Extended Functions
120
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.2 NCU link
3.2.5.3
System variables to enter a leading value
Leading values can be specified on the NCU of the leading axis using the following system
variable:
● Position leading value: $AA_LEAD_SP[<leading axis>]
● Velocity leading value: $AA_LEAD_SV[<leading axis>]
When making a change, the values are also transferred to the NCU of the following axis per
NCU link.
Note
These system variables have a lower transfer priority than those of the link variables.
3.2.5.4
Supplementary conditions
The following supplementary conditions must be observed:
● The leading axis cannot be a link axis
● The leading axis cannot be a container axis
● The leading axis cannot be a gantry axis
● The leading axis may only be replaced within its own NCU (see Section "K10: Cross-
channel axis interchange (Page 387)")
● Couplings with lead link axes must not be cascaded
● A lead link axis must not be traversed independently of the leading axis
Note
"Lead link axes and "link axes" functions
Because the "lead link axes and "link axes" functions require different settings in machine
data: MD18720 $MN_MM_SERVO_FIFO_SIZE, they cannot be used simultaneously within
a link group.
3.2.5.5
Example
A detailed example for parameterizing and programming an axis coupling with lead-link axis
is provided in the Section: "Examples" > "Lead link axis (Page 135)".
3.2.6
System of units within a link group
For a cross-NCU interpolation, the same system of units must be active on all NCUs of the
link group.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
121
B3: Distributed systems - 840D sl only
3.3 Examples
Common system of units changeover via HMI
The following conditions must be fulfilled for all NCUs of the link group in order that a system
of units changeover can be made from the HMI user interface of an NCU of the link group as
well as on all other NCUs of the link group:
● MD10260 $MN_CONVERT_SCALING_SYSTEM = 1
● For all channels:
MD20110 $MC_RESET_MODE_MASK, Bit 0 = 1
● All channels are in the reset state
● No axis is traversed in the JOG or DRF mode or via the PLC
● The function "constant grinding wheel peripheral speed (GWPS)" is not active.
If, on one NCU of the link group, one of the specified conditions is not fulfilled, then the system
of units changeover is not made on any of the NCUs of the link group.
Different systems of units
Different systems of units are possible in spite of an active link group, as long as no cross NCU
interpolation takes place. The system of units settings are made for a specific NCU in the part
program or synchronous action using G commands (G70, G71, G700, G710).
References
Function Manual, Basic Functions; Velocities, Setpoint-Actual Value Systems, Closed-Loop
Control (G2)
3.3
Examples
3.3.1
Link axis
Parameter example for two NCUs each with a link axis
NCU1
Machine data
Note
General link data:
$MN_NCU_LINKNO = 1
Master NCU
$MN_MM_NCU_LINK_MASK = 1
Set NCU-link active
$MN_MM_SERVO_FIFO_SIZE = 3
Size of the data buffer between interpolation and position con-
trol
$MN_MM_LINK_NUM_OF_MODULES = 2
Number of link modules
Logical machine axis image (LAI):
$MN_AXCONF_LOGIC_MACHAX_TAB[0] = "AX1"
Local machine axis
$MN_AXCONF_LOGIC_MACHAX_TAB[1] = "AX2"
Local machine axis
Extended Functions
122
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.3 Examples
Machine data
Note
$MN_AXCONF_LOGIC_MACHAX_TAB[2] = "NC2_AX3"
Link axis
Machine axis name, unique system-wide as NCU identifier:
$MN_AXCONF_MACHAX_NAME_TAB[0] = "NC1_A1"
$MN_AXCONF_MACHAX_NAME_TAB[1] = "NC1_A2"
$MN_AXCONF_MACHAX_NAME_TAB[2] = "NC1_A3"
Assignment of channel axis to machine axis:
$MC_AXCONF_MACHAX_USED[0] = 1
1. Channel axis to the machine axis of LAI[0]
$MC_AXCONF_MACHAX_USED[1] = 2
2. Channel axis to the machine axis of LAI[1]
$MC_AXCONF_MACHAX_USED[2]=3
3. Channel axis to the machine axis of LAI[2]
NCU2
Machine data
Note
General link data:
$MN_NCU_LINKNO = 2
Slave NCU
$MN_MM_NCU_LINK_MASK = 1
Set NCU-link active
$MN_MM_SERVO_FIFO_SIZE = 3
Size of the data buffer between interpolation and position con-
trol
$MN_MM_LINK_NUM_OF_MODULES = 2
Number of link modules
Logical machine axis image (LAI):
$MN_AXCONF_LOGIC_MACHAX_TAB[0] = "AX1"
Local machine axis
$MN_AXCONF_LOGIC_MACHAX_TAB[1] = "AX2"
Local machine axis
$MN_AXCONF_LOGIC_MACHAX_TAB[2] = "NC1_AX3"
Link axis
Machine axis name, unique system-wide as NCU identifier:
$MN_AXCONF_MACHAX_NAME_TAB[0] = "NC2_A1"
$MN_AXCONF_MACHAX_NAME_TAB[1] = "NC2_A2"
$MN_AXCONF_MACHAX_NAME_TAB[2] = "NC2_A3"
Assignment of channel axis to machine axis:
$MC_AXCONF_MACHAX_USED[0] = 1
1. Channel axis to the machine axis of LAI[0]
$MC_AXCONF_MACHAX_USED[1] = 2
2. Channel axis to the machine axis of LAI[1]
$MC_AXCONF_MACHAX_USED[2]=3
3. Channel axis to the machine axis of LAI[2]
3.3.2
Axis container coordination
The characteristic as a function of time is displayed from top to bottom in the following tables.
The data are valid on condition that only two channels have axes in the container.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
123
B3: Distributed systems - 840D sl only
3.3 Examples
3.3.2.1
Axis container rotation without a part program wait
Channel 1
Channel 2
Comment
AXCTWE(C1)
Part program ...
Channel 1 enables the axis container for
rotation.
Part program without movement of a
Part program ...
container axis
AXCTSWE(C1)
Channel 2 enables the axis container for
rotation, container rotates because both
channels have enabled rotation
Part program with movement of a con-
Part program with movement of a con-
Without wait
tainer axis
tainer axis
3.3.2.2
Axis container rotation with an implicit part program wait
Channel 1
Channel 2
Comment
AXCTWE(C1)
Part program ...
Channel 1 enables the axis container for
rotation.
Part program with movement of a con-
Part program ...
Channel 1 waits implicitly for axis con-
tainer axis
tainer rotation
AXCTSWE(C1)
Channel 2 enables the axis container for
rotation, rotation occurs.
Channel 1 is continued.
3.3.2.3
Axis container rotation by one channel only (e.g. during power up)
Channel 1
Channel 2
Comment
AXCTWED(C1)
In the RESET state
Instantaneous rotation
3.3.3
Evaluating axis container system variables
3.3.3.1
Conditional branch
Channel 1
Comment
N100 AXCTWE(CT1)
Channel 1: Enable of the rotation of axis container CT1
MARKER1:
N200 ...
Part program without movement of a container axis
IF $AC_AXCTSWA[CT1] == 1 GOTOB MARKE1
IF rotation of axis container CT1 still active
THEN continue with MARKER1
ELSE (rotation of axis container CT1 completed)
N300 ...
Part program with movement of a container axis
Extended Functions
124
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.3 Examples
3.3.3.2
Static synchronized action with $AN_AXCTSWA
Channel 1
Comment
IDS =1 EVERY $AN_AXCTSWA[CT1] == 1 DO M99
Static synchronized action:
Always output auxiliary function M99 at the beginning of an
axis container rotation.
References: Synchronized Actions Function Manual
3.3.3.3
Wait for certain completion of axis container rotation
Note
Although programming system variables $AN_AXCTSWA initiates an implicit preprocessing
stop, the subsequent command sequence cannot be used to uniquely identify the completion
of a requested axis container rotation in the channel:
WHILE ($AN_AXCTSWA[<ID>] == TRUE) ; wait: until the enable for axis
container rotation was canceled
ENDWHILE
While the channel in the command sequence waits for the completion of the axis container
rotation, initiated from another channel, a reorganization could be carried out in the
backg17round. For instance, by transferring a requested axis to another channel. As a
consequence, the system variable would then supply the value FALSE. Even if the axis
container rotation had still not been completed.
Recommended command sequence:
RL = $AN_AXCTAS[<ID>] ; read: actual axis container position
AXCTSWE(<ID>)
; enable: axis container rotation
WHILE (RL == $AN_AXCTAS[<ID>]) ; wait: until the read is not equal
to the actual axis container
; position
ENDWHILE
RL is any random user variable.
Example 1: Explicit waiting using system variable $AN_AXCTAS
Program code
Comment
RL = $AN_AXCTAS[<ID>]
; Reading: actual axis container position
AXCTSWE(<ID>)
; Enable: Axis container rotation
WHILE (RL == $AN_AXCTAS[<ID>])
; Wait: Change the axis container
ENDWHILE
; Position
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
125
B3: Distributed systems - 840D sl only
3.3 Examples
Example 2: Explicit wait using the WAIT mark
Program code
Comment
CLEARM(9)
; Delete: marker (tag) 9 in the channel
AXCTSWE(<ID>)
; Enable: Axis container rotation
; SynAct: Wait for axis container rotation to have been completed ≙ set: marker (tag)
9 in the channel
WHEN $AN_AXCTSWA[<ID>] == TRUE DO SETM(9)
WAITMC(9, 1)
; Wait: Marker (tag) 9 of channel 1
Example 3: Implicit wait using the container spindle
Program code
Comment
; Program (again) the container spindle
; Internally, before starting the container spindle, the system waits for the end
; of the axis container rotation
M3 S100
; Master spindle of the channel
Example 4: Implicit wait using the container axis
Program code
Comment
; Program the container axis incrementally without traversing path
; Internally, before starting the container axis, the system waits for the end
; of the axis container rotation
X=IC(0)
; Channel axis X
3.3.4
Configuration of a multi-spindle turning machine
Introduction
The following example describes the use of:
● Several NCUs in the NCU link group
● Flexible configuration with axis containers
Extended Functions
126
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.3 Examples
Machine description
●
Over the circumference of a drum A (front-plane machining), the machine has distributed:
-
4 main spindles, HS1 to HS4
Each main spindle has the possibility of material feed (bars, hydraulic bar feed, axes:
STN1-STN4).
-
4 cross slides
- Each slide has two axes.
- Optionally, a powered tool S1-S4 can operate on each slide.
●
Over the circumference of a drum B (back-plane machining), the machine has distributed:
-
4 counterspindles GS1 to GS4
-
4 cross slides
- Each slide has two axes.
- Optionally, a powered tool S5-S8 can operate on each slide.
- Each counterspindle can be moved through a linear axis, for example, for transferring
parts from the main spindle for the rear-plane machining in drum B. (Transfer axes.
Axes: ZG1-ZG4).
●
Couplings:
- If drum A rotates, all of the main spindles of this drums are subordinated to a different
group of slides.
- If drum B rotates, all of the counterspindles and all of the transfer axes of this drum are
subordinated to a different group of slides.
- The rotations of drums A and B are autonomous.
- The rotations of drums A and B are limited to 270 degrees.
(range and twisting of supply cables)
Term: Position
Main spindle HSi and counterspindle GSi together with their slides characterize a position.
NCU assignment
The axes and spindles of a position (for this example) are each assigned to an NCU. One of
the NCUs, the master NCU, also controls the axes for rotating drums A and B. The result is 4
NCUs with a maximum of the following axes:
Number of axes
Per NCUi the following axes/spindles must be configured:
Slide 1: Xi1, Zi1
2: Xi2, Zi2
Spindles: HSi, GSi, powered tools: S1, S2
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
127
B3: Distributed systems - 840D sl only
3.3 Examples
Transfer axis: ZG
i
Bar feed: STNi.
For the master NCU, the two axes for rotating drums A and B are added to the above-
mentioned axes. The list shows that it would not be possible to configure the axis number for
a total of 4 positions via an NCU. (Limit 31 axes, 4 + 10 + 2 axes are required).
Axis container
With rotation of drums A/B, HSi, GSi, ZGi and STNi must be assigned to another NCU and must
therefore be configured as link axes in axis containers.
)URQW SODQH PDFKLQLQJ 'UXP 9
%DFN SODQH PDFKLQLQJ 'UXP +
1&8G
=*
671
+6
3DUW WUDQVIHU
*6
3RVLWLRQ G
1&8F
671
=*
+6
*6
3DUW WUDQVIHU
3RVLWLRQ F
759
75+
1&8D
=*
+6
*6
3DUW WUDQVIHU
3RVLWLRQ D
671
1&8E
=*
%DU IHHG
+6
*6
671
3DUW WUDQVIHU
3RVLWLRQ E
Figure 3-21
Schematic diagram of main spindles HSi, countersp. GSi, bar feed axis STNi and transfer axes ZGi
Extended Functions
128
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.3 Examples
; &
= &
3RVLWLRQ F
+6
= &
; &
Figure 3-22
Two slides per position can also work together on one spindle.
Note
The axes are given the following names in order to clarify the assignments of axes to slides
and positions:
Xij with i slide (1, 2), j position (A-D)
Zij with i slide (1, 2), j position (A-D)
Whereas the positions and their slides remain in one place, main spindles, counterspindles,
bar feed axes STN and transfer axes ZG move to new positions as the result of rotations of
drums V or H.
For example, the axes to be managed per NC when the slide is taken into account are as
follows for the configurations shown in the above diagrams:
Axes of master NCU
Table 3-1
Axes of master NCU: NCUa
Common axes
Local axes
Remark
TRV (drum V)
Only master NCU
TRH (drum H)
Only master NCU
X1A
Slide 1
Z1A
Slide 1
X2A
Slide 2
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
129
B3: Distributed systems - 840D sl only
3.3 Examples
Common axes
Local axes
Remark
Z2A
Slide 2
S1
Slide 1
S2
Slide 2
HS1
Axis container required
GS1
Axis container required
ZG1
Axis container required
STN1
Axis container required
4
8
Axes of the NCUb to NCUd
The NCUs that are not master NCUs have the same axes with the exception of the axes for
the drive for drums TRV and TRH. The letter designating the position must be replaced
accordingly for the NCU and axis name (a, A → b, B to d, D).
Configuration rules
The following rules were applied for the configuration described below:
● Main spindle, counterspindles and axes that are assigned to different NCUs through drum
rotation while they are operating as illustrated in the above diagram "Main spindle ..." must
be configured in an axis container.
(HSi, GSi, ZGi, STNi).
● All main spindles of drum A are in the same container (No. 1).
● All bar feed axes of drum A are in the same container (No. 2).
● All counterspindles of drum B are in the same container (No. 3).
● All transfer axes of drum B are in the same container (No. 4).
● The main spindles HSi and their counterspindles GSi as well as the transfer axes of the
counterspindle ZGi and the bar feed axes STNi of the main spindle are assigned as follows
for reasons of NCU equal load distribution:
NCUa HS1-STN1,
NCUb HS2-STN2, ... etc.
● Slide axes Xij, Zij are purely local axes with fixed NCU assignment.
● Slides are assigned to a dedicated channel of an NCU in each case.
Slides can therefore be moved autonomously.
Extended Functions
130
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.3 Examples
Configuration options
● Main spindles or counterspindles must be flexibly assigned to the slide.
● The speed of the main spindle and the counterspindle can be defined independently in
each position.
Exceptions:
During the parts change from front-plane machining in drum V to rear-plane machining in
drum H, the speeds of the main spindle and the counterspindle must be synchronized
(synchronous spindle coupling).
In cases where slide 2 also participates in front-plane machining so as to "support" slide 1,
the main spindle speed also applies to slide 2. Similarly if slide 1 participates in rear-plane
machining, the counterspindle speed also applies to slide 1.
Minor changes in speed
Due to the unavoidable time delays incurred in the processing of actual values, abrupt changes
in speed should be avoided during cross-NCU machining operations. See axis data and
signals.
Configuration for NCU1
Uniform use of channel axis names in the part programs:
S4: Main spindle
S3: Counterspindle
X1: Infeed axis
Z1: Longitudinal axis
S1: Driven tool
Z3: Transfer axis
TRV: Drum V for main spindle
TRH: Drum H for counterspindle
STN: Hydraulic bar feed
Axes highlighted in bold characterize the current channel as home channel for the axis in
conjunction with axis replacement.
Table 3-2
NCUa, position: a, channel: 1, slide: 1
Channel axis name
..._MA-
$MN_
Container, slot
Machine axis name
CHAX_USE
AXCONF_LOGIC_MA-
entry (string)
D
CHAX_TAB
S4
1
AX1: CT1_SL1
1 1
HS1
NC1_AX1
S3
2
AX2: CT3_SL1
3 1
GS1
NC1_AX2
X1
3
AX3:
X1A
Z1
4
AX4:
Z1A
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
131
B3: Distributed systems - 840D sl only
3.3 Examples
Channel axis name
..._MA-
$MN_
Container, slot
Machine axis name
CHAX_USE AXCONF_LOGIC_MA-
entry (string)
D
CHAX_TAB
Z3
5
AX5: CT4_SL1
4 1
ZG1
NC1_AX5
S1
6
AX6:
WZ1A
STN
7
AX7: CT2_SL1
2 1
STN1
NC1_AX7
TRV
11
AX11:
TRV
TRH
12
AX12:
TRH
x2 *
z2 *
Table 3-3
NCUa, position: a, channel: 2, slide: 2
Channel axis name
..._MA-
$MN_
Container, slot
Machine axis name
CHAX_USE
AXCONF_LOGIC_MA-
entry (string)
D
CHAX_TAB
S4
1
AX1: CT1_SL1
1 1
HS1
NC1_AX1
S3
2
AX2: CT3_SL1
3 1
GS1
NC1_AX2
Z3
5
AX5: CT4_SL1
4 1
ZG1
NC1_AX5
STN
7
AX7: CT2_SL1
2 1
STN1
NC1_AX7
X2
8
AX8:
X2A
Z2
9
AX9:
Z2A
S1
10
AX10:
WZ2A
x1 *
z1 *
Note
* due to program coordination via axis positions and 4-axis machining in one position
For the entry in a location of the axis container, the format: "NC1_AX.." is required, with the
meaning NC1 = NCU 1. In the above tables, NCUa is mapped to NC1_..., NCUb to NC2_...,
etc.
Extended Functions
132
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.3 Examples
Further NCUs
The above listed configuration data must be specified accordingly for NCUb to NCUd. The
following must be observed:
● The axes TRA and TRB are only available for NCUa, channel 1.
● The container numbers are retained for the additional NCUs, as specified for the individual
axes.
● The slot numbers are as follows:
NCUb → 2
NCUc → 3
NCUd → 4.
● The machine axis names are as follows:
NCUb → HS2, GS2, ZG2, STN2
NCUc → HS3, GS3, ZG3, STN3
NCUd → HS4, GS4, ZG4, STN4.
Axis container
The information relating to containers given in Table 7-17 and the container entries of the
similarly configured NCUs, NCUb to NCUd, are specified in the following tables, sorted
according to containers and slots, as they have to be set in machine data:
MD12701 $MN_AXCT_AXCONF_ASSIGN_TAB1[slot]
MD12716 $MN_AXCT_AXCONF_ASSIGN_TAB16[slot]
whereby slots: 1-4 must be set for the 4 positions of a multi-spindle turning machine:
Note
For the machine data entry
$MN_AXC_AXCONF_ASSIGN_TABi[slot]
the values (without decimal point and machine axis name) that are entered under initial position
in the above tables must be set.
Table 3-4
Axis containers and their position-dependent contents for drum A
Container
Slot
Initial Situation
Switch 1
Switch 2
Switch 3
Switch 4 =
(TRA 0°)
(TRA 90°)
(TRA 180°)
(TRA 270°)
(TRA 0°)
1
1
NC1_AX1, HS1
NC2_AX1, HS2
NC3_AX1, HS3
NC4_AX1, HS4
NC1_AX1, HS1
2
NC2_AX1, HS2
NC3_AX1, HS3
N4C_AX1, HS4
NC1_AX1, HS1
NC2_AX1, HS2
3
NC3_AX1, HS3
NC4_AX1, HS4
NC1_AX1, HS1
NC2_AX1, HS2
NC3_AX1, HS3
4
NC4_AX1, HS4
NC1_AX1, HS1
NC2_AX1, HS2
NC3_AX1, HS3
NC4_AX1, HS4
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
133
B3: Distributed systems - 840D sl only
3.3 Examples
Container
Slot
Initial Situation
Switch 1
Switch 2
Switch 3
Switch 4 =
(TRA 0°)
(TRA 90°)
(TRA 180°)
(TRA 270°)
(TRA 0°)
2
1
NC1_AX7, STN1
NC2_AX7, STN2
NC3_AX7, STN3
NC4_AX7 STN4
NC1_AX7, STN1
2
NC2_AX7, STN2
NC3_AX7, STN3
NC4_AX7, STN4
NC1_AX7, STN1
NC2_AX7, STN2
3
NC3_AX7, STN3
NC4_AX7, STN4
NC1_AX7, STN1
NC2_AX7, STN2
NC3_AX7, STN3
4
NC4_AX7, STN4
NC1_AX7, STN1
NC2_AX7, STN2
NC3_AX7, STN3
NC4_AX7, STN4
Drum movement
0°
+ 90°
+ 90°
+ 90°
- 270°
671
671
671
671
671
+6
+6
+6
+6
+6
+6
+6
+6
+6
+6
671
671
671
671
671
+6
+6
+6
+6
+6
671
671
671
671
671
+6
+6
+6
+6
+6
671
671
671
671
671
Figure 3-23
Positions of drum A
Table 3-5
Axis containers and their position-dependent contents for drum B
Container
Slot
Initial Situation
Switch 1
Switch 2
Switch 3
Switch 4 =
(TRB 0°)
(TRB 90°)
(TRB 180°)
(TRB 270°)
(TRB 0°)
3
1
NC1_AX2, GS1
NC2_AX2, GS2
NC3_AX2, GS3
NC4_AX2, GS4
NC1_AX2, GS1
2
NC2_AX2, GS2
NC3_AX2, GS3
NC4_AX2, GS4
NC1_AX2, GS1
NC2_AX2, GS2
3
NC3_AX2, GS3
NC4_AX2, GS4
NC1_AX2, GS1
NC2_AX2, GS2
NC3_AX2, GS3
4
NC4_AX2, GS4
NC1_AX2, GS1
NC2_AX2, GS2
NC3_AX2, GS3
NC4_AX2, GS4
4
1
NC1_AX5, ZG1
NC2_AX5, ZG2
NC3_AX5, ZG3
NC4_AX5 ZG4
NC1_AX5, ZG1
2
NC2_AX5, ZG2
NC3_AX5, ZG3
NC4_AX5, ZG4
NC1_AX5, ZG1
NC2_AX5, ZG2
3
NC3_AX5, ZG3
NC4_AX5, ZG4
NC1_AX5, ZG1
NC2_AX5, ZG2
NC3_AX5, ZG3
4
NC4_AX5, ZG4
NC1_AX5, ZG1
NC2_AX5, ZG2
NC3_AX5, ZG3
NC4_AX5, ZG4
Extended Functions
134
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.3 Examples
3.3.5
Lead link axis
3.3.5.1
Configuration
/HDG OLQN D[HV
0DVWHU
)ROORZLQJ
D[LV
D[HV
;
<
=
;
<
=
;
<
=
/$;
/$;
/$;
/$;
/$;
/$;
/$;
/$;
/$;
$;
$;
$;
$;
$;
$;
$;
1&8
1&8
1&8 Q
&RXSOHG D[HV RQ OHDGLQJ D[LV 1& B$; ZLWK
= /$; RQ 1&8 DQG = /$; RQ 1&8Q DV
OHDG OLQN D[HV
Figure 3-24
NCU2 to NCUn use a lead link axis to enable coupling to the machine axis on NCU1 (NCU1-AX3).
The following example refers to the axis coupling section between Y(LAX2, AX2) as following
axis on NCU2 and Z(LAX3, NC1_AX3) as lead link axis.
Machine data
● The machine data of a leading value axis may only be loaded on the home NCU. From this
NCU, the relevant machine data are distributed to the other NCUs where a lead link axis
has been defined.
● Each lead link axis reduces the maximum number of axes that can be traversed on this
NCU by one axis.
Machine data for NCU1 (leading axis)
Machine data
Meaning
$MN_NCU_LINKNO = 1
1. or master NCU
$MN_MM_NCU_LINK_MASK = 1
NCU link active
$MN_MM_LINK_NUM_OF_MODULES= 2
Number of link modules
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
135
B3: Distributed systems - 840D sl only
3.3 Examples
Machine data
Meaning
$MN_MM_SERVO_FIFO_SIZE = 4
The size of the data buffer is increased to 4 between interpo-
lation and position control
$MN_AXCONF_LOGIC_MACHAX_TAB[0] = "AX1"
$MN_AXCONF_LOGIC_MACHAX_TAB[1] = "AX2"
$MN_AXCONF_LOGIC_MACHAX_TAB[2] = "AX3"
$MN_AXCONF_MACHAX_NAME_TAB[0] = "XM1"
$MN_AXCONF_MACHAX_NAME_TAB[2] = "YM1"
$MA_AXCONF_ASSIGN_MASTER_NCK[ AX3 ] = 1
$MC_AXCONF_MACHAX_USED[0]=1 ; X
$MC_AXCONF_MACHAX_USED[1]=2 ; Y
$MC_AXCONF_MACHAX_USED[2]=3 ; Z
Machine data for NCU2 (following axis)
Machine data
Meaning
$MN_NCU_LINKNO = 2
2. NCU number
$MN_MM_NCU_LINK_MASK = 1
Activate link
$MN_MM_NUM_CURVE_TABS = 5
Number of curve tables
$MN_MM_LINK_NUM_OF_MODULES= 2
Number of link modules
$MN_MM_NUM_CURVE_SEGMENTS= 50
$MN_MM_NUM_CURVE_POLYNOMS = 100
$MN_MM_SERVO_FIFO_SIZE = 2
Size of the data buffer between interpolation and position
control (standard)
$MN_AXCONF_LOGIC_MACHAX_TAB[0] = "NC1_AX3"
Lead link on NCU1/AX3
$MN_AXCONF_LOGIC_MACHAX_TAB[1] = "AX2"
$MN_AXCONF_LOGIC_MACHAX_TAB[2] = "AX3"
$MC_AXCONF_MACHAX_USED[0]=3
AX3 is machine axis of the 1st channel axis
$MC_AXCONF_MACHAX_USED[1]=2
AX2 is machine axis of the 2nd channel axis
$MC_AXCONF_MACHAX_USED[2]=1
AX3 on NCU1 is machine axis of the 3rd channel axis
3.3.5.2
Programming
Program for NCU1 (leading axis)
NCU1 traverses leading axis Z
Identifier for NCU2, that the leading axis of NCU1 is assigned: Link variable $A_DLB[0] = 1
Extended Functions
136
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.3 Examples
Identifier for NCU2, that the leading axis of NCU1 has been released: Link variable $A_DLB[0]
= 0
Program code
Comment
N1000 R1 = 0
; Initialize loop counter
N1004 G1 Z0 F1000
; Traverse axis Z to the starting position
N1005 $A_DLB[0] = 1
; Identifier for NCU2: Axis Z is assigned
LOOP10:
;
N1005 R1=R1+1
; Increment loop counter
N1006 Z0.01 G91
; Traversing the leading value axis Z
N1008 Z0.02
; Traversing the leading value axis Z
N1010 Z0.03
; Traversing the leading value axis Z
N1012 IF R1 < 10 GOTOB LOOP10
;
N1098 $A_DLB[0] = 0
; Identifier for NCU2: Axis Z is free
Program for NCU2 (following axis)
The program establishes a connection between leading axis movements on NCU1 and
following axis movements on NCU2 via a curve table. If the table has been defined, NCU2
goes into the wait position (N2006) until NCU1 has assigned axis Z as the leading axis (N1005).
The coupling is activated (N2010) as soon as axis Z has been assigned as leading axis. The
coupling is kept until NCU1 has released axis Z as the leading axis.
Program code
Comment
N2000 CTABDEL(1)
; Initialize table 1
N2001 G04 F.1
;
N2003 G0 Y0 Z0
; Traverse axes Y, Z into the starting position
N2002 CTABDEF(Y, Z, 1, 0)
; Table definition ON
N2003 G1 X0 Y0
;
Intermediate point 1
N2004 G1 X100 Y200
;
Intermediate point 2
N2005 CTABEND
; Table definition OFF
LOOP20:
;
N2006 IF ($A_DLB[0] == 0) GOTOB LOOP20
; Wait for NCU1
N2010 LEADON(Y,Z,1)
;
=> close coupling
LOOP25:
;
N2030 IF ($A_DLB[0] > 0) GOTOB LOOP25
; Keep the coupling until NCU1 no longer traver-
ses the leading value axis
N2090 LEADOF(Y,Z)
;
=> open coupling
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
137
B3: Distributed systems - 840D sl only
3.4 Data lists
3.4
Data lists
3.4.1
Machine data
3.4.1.1
General machine data
Number
Identifier: $MN_
Description
10002
AXCONF_LOGIC_MACHAX_TAB
Logical NCU machine axis image
10065
POSCTRL_DESVAL_DELAY
Position setpoint delay
10134
MM_NUM_MMC_UNITS
Number of simultaneous MMC communication partners
12510
NCU_LINKNO
NCU number in an NCU group
12520
LINK_TERMINATION
NCU numbers for which bus terminating resistors are
active
12530
LINK_NUM_OF_MODULES
Number of link modules
12701
AXCT_AXCONF_ASSIGN_TAB1
List of axes in the axis container
12716
AXCT_AXCONF_ASSIGN_TAB16
12750
AXCT_NAME_TAB
List of axis container names
12760
AXCT_FUNCTION_MASK
Functions for the axis container
18700
MM_SIZEOF_LINKVAR_DATA
Size of the link variables memory
18720
MM_SERVO_FIFO_SIZE
Size of the data buffer between interpolation and posi-
tion controller
18780
MM_NCU_LINK_MASK, bit 0
Link communication activation
3.4.1.2
Channelspecific machine data
Number
Identifier: $MC_
Description
20000
CHAN_NAME
Channel name
20070
AXCONF_MACHAX_USED
Machine axis number valid in channel
28160
MM_NUM_LINKVAR_ELEMENTS
Number of write elements for the NCU link variables
3.4.1.3
Axis/spindlespecific machine data
Number
Identifier: $MA_
Description
30550
AXCONF_ASSIGN_MASTER_CHAN
Default assignment between an axis and a channel
30554
AXCONF_ASSIGN_MASTER_NCU
Initial setting defining which NCU generates setpoints
for the axis
30560
IS_LOCAL_LINK_AXIS
Axis is a local link axis
32990
POCTRL_DESVAL_DELAY_INFO
Current position setpoint delay
Extended Functions
138
Function Manual, 12/2018, A5E40874029B AB
B3: Distributed systems - 840D sl only
3.4 Data lists
3.4.2
Setting data
3.4.2.1
General setting data
Number
Identifier: $SA
Description
41700
AXCT_SWWIDTH[container number]
Axis container rotation setting
3.4.2.2
Axis/spindle-specific setting data
Number
Identifier: $SA_
Description
43300
ASSIGN_FEED_PER_REV_SOURCE
Rotational feedrate for positioning axes/spindles
3.4.3
Signals
3.4.3.1
Signals from NC
Signal name
SINUMERIK 840D sl
MCP1 ready
DB10.DBX104.0
MCP2 ready
DB10.DBX104.1
HHU ready
DB10.DBX104.2
NCU link active
DB10.DBX107.6
HMI2-CPU ready (HMI connected to OPI or MPI)
DB10.DBX108.1
HMI1-CPU at MPI ready
DB10.DBX108.2
HMI1-CPU at OPI ready (standard connection)
DB10.DBX108.3
3.4.3.2
Signals from HMI/PLC
Signal name
SINUMERIK 840D sl
ONL_REQUEST
DB19.DBB100
Online request from HMI
ONL_CONFIRM
DB19.DBB102
Acknowledgement from PLC for online request
PAR_CLIENT_IDENT
DB19.DBB104
HMI writes its client identification (bus type, HMI bus ad-
dress)
PAR_MMC_TYP
DB19.DBB106
HMI type according to NETNAMES.INI: Main/secondary
operator panel/alarm server
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
139
B3: Distributed systems - 840D sl only
3.4 Data lists
Signal name
SINUMERIK 840D sl
PAR_MSTT_ADR
DB19.DBB107
HMI writes address to the MCP to be activated
PAR_STATUS
DB19.DBB108
PLC writes the online enable for the HMI (connection state)
PAR_Z_INFO
DB19.DBB109
PLC writes additional information to the connection state
M_TO_N_ALIVE
DB19.DBB110
Sign of life from the PLC to HMI using M to N block
3.4.3.3
General online interface
Signal name
SINUMERIK 840D sl
MMC1_CLIENT_IDENT
DB19.DBB120
PLC writes PAR_CLIENT_IDENT to MMCx_CLI-
ENT_IDENT, if HMI goes online.
MMC1_TYP
DB19.DBB122
PLC writes PAR_MMC_TYP to MMCx_TYP, if HMI goes
online.
MMC1_MSTT_ADR
DB19.DBB123
PLC writes PAR_MSTT_ADR to MMCx_MSTT_ADR, if HMI
goes online
MMC1_STATUS
DB19.DBB124
Connection state, HMI and PLC write alternating, their re-
quests/acknowledgements.
MMC1_Z_INFO
DB19.DBB125
Additional information, connection state (pos./neg. acknowl-
edgement, error messages, ...)
MMC1_SHIFT_LOCK
DB19.DBX126.0
HMI switchover lock
MMC1_MSTT_SHIFT_LOCK
DB19.DBX126.1
MCP switchover lock
MMC1_ACTIVE_REQ
DB19.DBX126.2
HMI requests active operator mode
MMC1_ACTIVE_PERM
DB19.DBX126.3
Enable from PLC to change the operator mode
MMC1_ACTIVE_CHANGED
DB19.DBX126.4
HMI has changed the operator mode
MMC1_CHANGE_DENIED
DB19.DBX126.5
HMI active/passive switchover denied
MMC2_CLIENT_IDENT
DB19.DBB130
PLC writes PAR_CLIENT_IDENT to MMCx_CLI-
ENT_IDENT, if HMI goes online.
Extended Functions
140
Function Manual, 12/2018, A5E40874029B AB
|