Gantry operation (C11)

1.1 IntroductionPAGEREF _Toc307388093 \h3

1.2 Programming 8

1.2.1 Soft gantry 8

1.2.2 Hard gantry 10

1.2.2.1 Configuration 10

1.2.2.2 Referencing 10

1.2.2.3 Error handling 10

1.3 Parameters 11

1.3.1 Overview 11

1.3.1.1 Channel parameters for dynamic gantry operation 11

1.3.1.2 Axis parameters in general 11

1.3.1.3 Axis parameters for dynamic gantry operation 11

1.3.1.4 Axis parameters for static gantry operation 11

1.3.2 Description 12

1.3.2.1 Channel parameters 12

1.3.2.2 Axis parameters 17

More:

button Introduction

button Programming

button Parameters


Introduction

Description

In addition to normal contour programming, axes can also be operated as so-called gantry axes. Contrary to the normal synchronous operation, additional position deviation monitoring mechanisms are active and specific error reactions apply.

The following prerequisites fundamentally apply to gantry operation with several axes:

· Identical drive types

· Identical dynamic parameters and gain of the axes

Identical error response (or internal drive error response)

Mechanical ("hard") gantry

In the case of the mechanical (also static) gantry, due the machine structure the axes are firmly coupled to one another and are defined by the machine's configuration. (Figure 1-1).

In the case of the mechanical gantry, the gantry coupling cannot be changed after the control system has been started up.

Figure 1-1: Mechanical gantry operation

Programmable gantry
("soft" gantry)

Machines that do not require mechanical gantry operation thanks to their basic structure, for example milling machines with two independent slides, can be run in the gantry mode by means of programming. For example, this is necessary when such slides have to be coupled to one another for clamping and machining of large workpieces (Figure 1-2).

Figure 1-2: Programmable gantry operation ("soft" gantry)

Monitoring functions

The axes specified in the gantry combination are coupled in terms of the setpoint. Coupling is monitored in terms of the actual value.

An offset for coupling can be specified between individual gantry axes.

Two limits can be specified for monitoring.

Absolute monitoring is active after referencing of the axes or relative before referencing.


Programming

More:

button Soft gantry

button Hard gantry


Soft gantry

Syntax
and defining a
gantry coupling

The #(SET) AX LINK command is available in extended syntax for programmed gantry operation:

#SET AX LINK [ < coupling_group> , [ <slave>=<master>,G [,<limit_1>,limit_2>] ]

{, [ <slave>=<master>,G [,<limit_1>,limit_2>] ] } ]

or alternative

#AX LINK [NBR] [<coupling_group>, [ <slave>=<master>,G [,<limit_1>,limit_2>] ]

{, [ <slave>=<master>,G [,<limit_1>,limit_2>] ] } ]

<coupling_group> Number of the coupling group
1 ... [Max. number of coupling groups -1] , Positive integer.

<slave> Designation or logical axis number of the slave axis of coupling pair i

<master> Designation or logical axis number of the master axis of coupling pair i

i Max. number of coupling pairs

NBR With the logic switch NBR the evaluation can be changed from logical axes names to axes numbers. Then the axes couplings (resp. coupling pairs) have to be defined with logical axis numbers. At that time of definition the axes must not exist in NC channel. Their availability in NC channel is checked only at activation of the coupling group!

G Key word for "gantry coupling"

When gantry coupling is used, the following values serve to monitor the permissible position difference of the gantry axes in two stages. Specified in [mm]. Positive real number:

<limit_1> First monitoring limit. If this limit is exceeded, the motion is aborted and the control system assumes the error state. In the case of the default, the position difference is dissipated during RESET. Depending on the specific application, deviating motion can still be realised.

<limit_2> Second monitoring limit. An error that is not capable of reset is output if this limit is exceeded. The control system must be switched off and the position difference must be remedied manually.

The default values from the axis parameter records P-AXIS-00072 and P-AXIS-00071 of the slave axis apply if the monitoring limits are not programmed.

Handling and operating principle

q Gantry coupling takes place at precisely the positions where the axes are at the time when coupling is selected. There is no need to specify an offset in the NC command because the offset is calculated internally in the position controller via the nominal positions.

q The dynamic data of the slave axis is taken into consideration during the contouring motion.

q If programmed accordingly (P-CHAN-00104/P-CHAN-00105), coupling that is still active on RESET or at the end of the program is implicitly restored for safety reasons the next time the program is started.

Programming example

:

N10 #SET AX LINK[1, [Y2 = Y1,G,0.01,0.25]] Gantry coupling of Y1 as
master axis and Y2 as slave
axis. First limit is 10µm
Second limit is 250 µm.

N20 #SET AX LINK[2, [Y2 = Y1,G]] Gantry coupling of Y1 (master and
Y2 (slave). The monitoring
limits of the axis parameter
record of the Y2 axis apply.

N30 #SET AX LINK [3,[Y2 = Y1]] Standard coupling of Y2 with Y1.
No gantry operation.

or alternative

N10 #AX LINK[1, [Y2 = Y1,G,0.01,0.25]]

N20 #AX LINK NBR[2, [8 = 2,G]] Gantry coupling via log. axis numbers

Parallel machining of workpieces with a symmetrical or scaled structure can also be programmed by an extended syntax of the #SET AX LINK command. Position differences are not monitored in these modes (mirroring or scaling).

#SET AX LINK [ <coupling_group> , [ <slave>=<master>,<numerator>, <denominator>]

{, [ <slave>=<master>,<numerator>,<denominator>] } ]

or alternative

#AX LINK [NBR] [<coupling_group>, [ <slave>=<master>,<numerator>, <denominator>]

{, [ <slave>=<master>,<numerator>,<denominator>] } ]

<coupling_group> Number of the coupling group
1 ... [Max. number of coupling groups(1) -1] , Positive integer.

<slave> Designation or logical axis number of the slave axis of the coupling pair i

<master> Designation or logical axis number of the master axis of the coupling pair i

i Max. number of coupling pairs(2)

NBR With the logic switch NBR the evaluation can be changed from logical axes names to axes numbers. Then the axes couplings (resp. coupling pairs) have to be defined with logical axis numbers. At that time of definition the axes must not exist in NC channel. Their availability in NC channel is checked only at activation of the coupling group!

<numerator>, <denominator> Integers. These serve to calculate a coupling factor between the
master and slave axes. The following applies to the resulting factor:

- -1 : mirror coupling

- 1 : standard coupling; equivalent to the previous syntax

- 0 : output of an error message

At the moment, factors that produce pure scaling or scaling with simultaneous mirroring (-1<factor <0 or factor < -1) are not permissible. A warning is issued and the coupling is treated as a standard coupling.

Programming example

:

N10 #SET AX LINK[1, [Y2 = Y1,1,-1]] Mirroring coupling (factor -1)

N20 #SET AX LINK[1, [Y2 = Y1,-1,1]] Mirroring coupling (factor -1)

N30 #SET AX LINK[1, [Y2 = Y1,-2,2]] Mirroring coupling (factor -1)

N40 #SET AX LINK[1, [Y2 = Y1,1,1]] Standard coupling

N50 #SET AX LINK[1, [Y2 = Y1,2,2]] Standard coupling

N60 #SET AX LINK[1, [Y2 = Y1,0,1]] Error message, program is aborted

N70 #SET AX LINK[1, [Y2 = Y1,1,0]] Error message, program is aborted

N80 #SET AX LINK[1, [Y2 = Y1,1,2]] Warning (factor 0.5), standard cpl.

N90 #SET AX LINK[1, [Y2 = Y1,2,3]] Warning (factor 0.666), standard cpl.

N100 #SET AX LINK[1, [Y2 = Y1,3,2]] Warning (factor 1.5), standard cpl.

N110 #SET AX LINK[1, [Y2 = Y1,-1,2]] Warning (factor -0.5), standard cpl.

N120 #SET AX LINK[1, [Y2 = Y1,-3,2]] Warning (factor -1.5), standard cpl.

or alternative

N40 #AX LINK[1, [Y2 = Y1,1,1]] Standard coupling

N50 #AX LINK NBR[1, [8 = 2,2,2]] Standard coupling via log. axis numbers

Syntax,
selecting and
cancelling a
gantry coupling

A (gantry) coupling group can be activated and deactivated with the following NC commands:

#ENABLE AX LINK [ < coupling_group> ]

or

#ENABLE AX LINK (Coupling group 0, defined in the channel parameter list)

or alternative

#AX LINK ON [ < coupling_group> ]

oder

#AX LINK ON (Coupling group 0, defined in the channel parameter list)

#DISABLE AX LINK [ < coupling_group > ]

or

#DISABLE AX LINK (Deselection of the latest activated coupling group )

or alternative

#AX LINK OFF [ < coupling_group > ]

or

#AX LINK OFF (Deselection of the latest activated coupling group )

#AX LINK OFF ALL (Deselection of all active coupling groups )

Handling and operating principle

q After startup, in the NC kernel's basic state no coupling group is active. Activation of axis coupling begins with programming in the NC program and ends, if not cancelled, when the program ends (M30, M02). If the P-CHAN-00105 parameter is defined appropriately, active axis coupling can remain effective even beyond the end of the program, i.e. across programs.

q Several coupling groups can be activated simultaneously.

q Coupling groups that are not assigned cannot be activated. A coupling group is deemed to be assigned when at least one permissible master/slave coupling has been defined.

q The NC command must be placed on its own in the NC block.

q The number of the coupling group can also be programmed via mathematical expressions.

q TRC must not be selected when synchronous operation is selected or cancelled.

q When synchronous operation is selected, the manual mode with parallel interpolation (G201) for the slave axes must not be active.

q The slave axes cannot be programmed in the NC program when synchronous operation is active.

Programming example

Axis designations used: Master axis system X, Y, Z, C

Slave axis system Y_S, Z_S, C_S

(Initialization program)

%L UP_INIT_ACHS_KOPPL

(initialize axis coupling 1)

N10 #SET AX LINK[1, Y_S=Y, Z_S=Z, C_S=C]

(or #AX LINK[1, Y_S=Y, Z_S=Z, C_S=C]

N20 M17

(tool changing program)

%L UP_WZ

N30 #DISABLE AX LINK (or #AX LINK OFF)

(Approach tool changing position)

N40 G01 G90 Y1000 Z100 C0 Y_S=1000 Z_S=100 C_S=0

(Tool change; T10 contains all tool axis offsets and the tool lengths of master and slave tools; or these values are explicitly included in the calculation.)

N50 T10 D10

:

(Further commands for physical tool change)

:

(Approach old coupling position. The coupling position may also be defined

via parameter programming, and then be used by the subroutine.)

N80 G01 G90 X20 Y20 Z40 C50 Y_S=20 Z_S=40 C_S=50

N90 #ENABLE AX LINK[1] (or #AX LINK ON[1])

N110 M17

(Subroutine for contour machining)

%L UP1

N150 G01 G91 X10 Y10 Z-20 C90

N160 G02 X20 Y20 I10 J10

N170 LL UP_WZ

N180 G01 G91 X10 Y10 Z-20 C90

N190 G02 X20 Y20 I10 J10

N200 M17

(Main program; initial condition: Both tools have been changed in.)

(Move both axis systems to coupling position first.)

N300 G01 G91 X20 Y20 Z40 C50 Y_S=20 Z_S=40 C_S=50 F300

(Start synchronous operation)

N310 #ENABLE AX LINK[1] (or #AX LINK ON[1])

N320 LL UP1

:

N400 #DISABLE AX LINK (or #AX LINK OFF)

N410 M30


Hard gantry

More:

button Configuration

button Referencing

button Error handling


Configuration

Static/dynamic gantry operation

Additional monitoring mechanisms with regard to the deviation of the axis positions and special strategies for compensating for these deviations apply to gantry axes. Static (also mechanical) gantry operation is defined by configuration because the axis are firmly coupled to one another due to the machine structure. Dynamic (also programmable) gantry operation can be defined in the NC program. The axis parameters listed in the following table must be assigned depending on the type of gantry operation:

Parameter |  | Required for static gantry operation* | Required for dynamic gantry operation
P-AXIS-00070 | gantry_ax_nr | X |
P-AXIS-00072 | gantry_max_diff_resetable | X | X
P-AXIS-00071 | gantry_max_diff_reset_locked | X | X
P-AXIS-00073 | gantry_offset | X |
P-AXIS-00074 | gantry_slave_no_homing | X |
P-AXIS-00075 | gantry_vb_korr | X | X
P-AXIS-00249 | gantry_diff_check_without_homing | X |
P-AXIS-00253 | gantry_synchronous_slave_homing ** | X |
P-AXIS-00254 | cnc_controlled_stop_after_error ** | X |

*In the case of static gantry operation, for the master and slave axis the corresponding axis mode bit must also be set (see description of P-AXIS-00015 [AXIS]).

**SERCOS drives only


Referencing

CNC-controlled

All gantry axes are reference sequentially if homing travel is performed by the CNC. That is to say that the reference point logic is always run through for one axis and the other axes in the gantry combination are also interpolated uniformly. This is then repeated for the next axis in the gantry combination until all gantry axes have been referenced.

Drive-controlled

Intelligent drives (such as SERCOS) perform homing travel independently. In a gantry system, there must also be a guarantee here that the gantry combination always moves uniformly. That is to say that

1. the parameter definitions must ensure that the drive covers an identical distance during homing travel.

2. homing travel is started simultaneously for all gantry axes.

This behaviour is set by the P-AXIS-00253 parameter.

Drive-controlled homing travel must run identically in the case of both drives (e.g. without cam and distance-coded measurement system). This must be ensured by means of appropriate drive parameter definition.

Only at the master end

Homing travel for gantry slave axes can be suppressed with the P-AXIS-00074 (gantry_slave_no_homing) parameter. After homing travel of the master axis, the reference positions entered in the axis parameter list of the slave axes are stored and monitoring of the gantry difference between the master and slave axes is started.

Monitoring before referencing

With the P-AXIS-00249 (gantry_diff_check_without_homing) parameter, it is possible to activate monitoring of the gantry difference between the master and slave axes even before homing travel.

The offset between the master and slave axes at the time when the control system starts up is used as the position offset.


Error handling

Error handling in gantry systems

In the case of intelligent drives, in most cases in the event of an error the drive performs its own error reaction and reports this to the CNC. The CNC can then stop other axes running in a network with the incorrectly running axis.

In the case of gantry axes, it is not allowed for one axis in the gantry network to stop independently. This is why the CNC can stop the entire gantry network in a controlled fashion in the event of an error in one axis. In the case of the master and slave axes, the functionality is set by means of the P-AXIS-00254 (cnc_controlled_stop_after_error) parameter. A check is made as to whether the settings of the master and slave axes are identical and, if necessary, they are corrected in the slave axes.

The P-AXIS-00254 is currently used for SERCOS axes only.

The parameters of the drive must also be defined so that it does not perform any of its own (or only delayed) error reaction (see EcoDrive P-0-0117).

In the case of a CNC-controlled error reaction, the axis is stopped with the specified emergency stop acceleration P-AXIS-00003 (a_emergency).


Parameters

More:

button Overview

button Description


Overview

More:

button Channel parameters for dynamic gantry operation

button Axis parameters in general

button Axis parameters for dynamic gantry operation

button Axis parameters for static gantry operation


Channel parameters for dynamic gantry operation

ID | Parameter | Description
P-CHAN-00104 | restore_coupling_after_reset | Restore coupling after reset
P-CHAN-00105 | preserve_coupling_after_prog_end | Restore coupling after program end


Axis parameters in general

ID | Parameter | Description
P-AXIS-00003 | a_emergency | Axis acceleration in an emergency


Axis parameters for dynamic gantry operation

ID | Parameter | Description
P-AXIS-00071 | gantry_max_diff_reset_locked | Maximum distance difference
P-AXIS-00072 | gantry_max_diff_resetable | Distance difference that can be reset
P-AXIS-00075 | gantry_vb_korr | Correction speed


Axis parameters for static gantry operation

ID | Parameter | Description
P-AXIS-00015 | achs_mode | Mode of an axis
P-AXIS-00070 | gantry_ax_nr | Axis number of the master axis
P-AXIS-00071 | gantry_max_diff_reset_locked | Maximum distance difference
P-AXIS-00072 | gantry_max_diff_resetable | Distance difference that can be reset
P-AXIS-00073 | gantry_offset | Static offset
P-AXIS-00074 | gantry_slave_no_homing | Suppress reference point travel for gantry slave axis
P-AXIS-00075 | gantry_vb_korr | Correction speed
P-AXIS-00249 | gantry_diff_check_without_homing | Monitor gantry difference before reference point travel
P-AXIS-00253 | gantry_synchronous_slave_homing | Drive-controlled reference travel of the gantry network
P-AXIS-00254 | cnc_controlled_stop_after_error | CNC-controlled error reaction


Description

More:

button Channel parameters

button Axis parameters


Channel parameters

P-CHAN-00104 | Restore coupling after reset
Parameter | restore_coupling_after_reset
Description | With this parameter, you can set whether an active axis coupling (synchronous operation) is to be automatically active again in the next NC program after an NC reset.
Data type | BOOLEAN
Data range | 0: couplings cancelled by NC reset also remain deactivated in the next NC program. 1: couplings cancelled by NC reset are automatically reactivated in the next NC program.
Dimension | -
Default | 0
Remarks | This parameter may only be used if all axes participating in coupling exist in the basic configuration of the NC channel.

P-CHAN-00105

Restore coupling after program end

Parameter

preserve_coupling_after_prog_end

Description

Axis coupling (synchronous operation) still active at the end of the NC program is implicitly cancelled if it has not been explicitly ended in the NC program (#DISABLE AXLINK).

By setting this parameter, you make sure that the axis coupling concerned will be automatically reactivated in the next NC program.

Data type

BOOLEAN

Data range

0: axis couplings still active at the NC program end are implicitly cancelled.

1: couplings cancelled at the end of the NC program are automatically reactivated in the next NC program.

Dimension

-

Default

0

Remarks

This parameter may only be used if all axes participating in coupling exist in the basic configuration of the NC channel.


Axis parameters

P-AXIS-00003 | Emergency acceleration
Parameter | getriebe[i].dynamik.a_emergency
Description | The acceleration used in an emergency is defined by means of this parameter. In the event of certain errors, the CNC decelerates the specific axis with this acceleration value. Important: the axis leaves the path!
Data type | UNS32
Data range | 1 < P-AXIS-00003 < P-AXIS-00008 (a_max)
Dimension | Translatory: mm/s2 | Rotatory: °/s2
Default | P-AXIS-00008 (siehe [AXIS])

P-AXIS-00015 | Mode of an axis
Parameter | kenngr.achs_mode
Description | Axes can be run in diverse modes.
Data type | UNS32
Data range |
Remarks | * One of the following two axis modes must always be specified: - ACHSMODE_LINEAR or - ACHSMODE_MODULO All other bits of the achs_mode consist of additional entries! For example, the ACHSMODE_MODULO_LINEAR entry only makes sense in combination with ACHSMODE_MODULO. ** For TwinCAT-Systems this axis mode is not available.

P-AXIS-00070 | Axis number of the master axis
Parameter | kenngr.gantry_ax_nr
Description | In the axis parameter list of the slave axis, the logical number of its master axis is entered here. If this parameter is assigned, the master and slave axes are permanently assigned ton one another during startup. This so-called static gantry coupling exists at the position controller level. The slave axis is not known in the channel! Travel is realised exclusively by programming of its master axis.
Data type | UNS16
Data range | 1 < P-AXIS-00070 <MAX (UNS16)
Dimension | Translatory: - | Rotatory: -
Default | -
Remarks | This entry is not adopted when updating the axis parameter list. For updating to take effect, the control system must be restarted.

P-AXIS-00071 | Maximum distance difference
Parameter | kenngr.gantry_max_diff_reset_locked
Description | Maximum distance difference between the master and slave axes. Error that cannot be remedied by NC reset.
Data type | UNS32
Data range | 0 < P-AXIS-00072 < P-AXIS-00071 < MAX(UNS32)
Dimension | Translatory: 0.1 μ m | Rotatory: 0.0001°
Default | 2600 µm
Remarks | -

P-AXIS-00072 | Distance difference that can be reset
Parameter | kenngr.gantry_max_diff_resetable
Description | Maximum permissible distance difference between the master and slave axes. Error that can be remedied by NC reset.
Data type | UNS32
Data range | 0 < P-AXIS-00072 < MAX(UNS32)
Dimension | Translatory: 0.1 μ m | Rotatory: 0.0001°
Default | 160 µm
Remarks | -

P-AXIS-00073 | Static offset
Parameter | kenngr.gantry_offset
Description | Static difference between the master and slave axes in the event of differences between the master and slave axes. The offset sign results from the calculation instruction: OFFSET = SLAVE  MASTER
Data type | SGN32
Data range | MIN(SGN32 < P-AXIS-00073 < MAX(UNS32)
Dimension | Translatory: 0.1 μ m | Rotatory: 0.0001°
Default | -
Remarks | -

P-AXIS-00074 | Suppress reference point travel for gantry slave axis
Parameter | kenngr.gantry_slave_no_homing
Description | Reference point travel can be suppressed for gantry slave axes with this parameter. After reference point travel of the master axis, the reference positions entered in the axis parameter list of the slave axes are stored and monitoring of the gantry difference between the master and slave axes is started.
Data type | BOOLEAN
Data range | 0: reference point travel for all gantry axes 1: suppress reference point travel for gantry slave axes
Dimension | -
Default | 0
Remarks | -

P-AXIS-00075 | Correction speed
Parameter | kenngr.gantry_vb_korr
Description | The speed at which the axis position of the slave axis is corrected to adjust the difference P-AXIS-00073 .
Data type | UNS32
Data range | 0 < P-AXIS-00075 < P-AXIS-00212
Dimension | Translatory: 1 µm/s | Rotatory: 0.001°/s
Default | -
Remarks | -

P-AXIS-00249

Monitor gantry difference before reference point travel

Parameter

kenngr.gantry_diff_check_without_homing

Description

By default, the position difference between the gantry master and the slave axis is not monitored until both the master and the slave axes have been referenced.

With this parameter, it is possible to already activate this monitoring function before reference point travel. The P-AXIS-00072 and P-AXIS-00071 parameters are used as limits during monitoring. The offset between the master and slave axes at the time when the control system starts up is used as the position offset. After reference point travel, P-AXIS-00073 is used as the position offset.

Data type

BOOLEAN

Data range

0: no gantry difference monitoring before reference point travel

1: active gantry difference monitoring before reference point travel

Dimension

-

Default

0

Remarks

-

P-AXIS-00253

Drive-controlled reference travel of the gantry network

Parameter

kenngr.gantry_synchronous_slave_homing

Description

In the event of dnrive-controlled referencing (digital drives, SERCOS), reference point travel is started simultaneously for the complete gantry network.

You must also make sure that the reference point travel parameter definitions are identical in all drives so that reference point travel will run identically.

Data type

BOOLEAN

Data range

0: start reference point travel simultaneously for all axes in the gantry network; due to signal run times, the startng times in the individual axes may deviate from one another.

1: start synchronous reference point travel by internal feed hold cancelling simultaneously (in the same cycle) for the entire gantry network.

Dimension

-

Default

0

Remarks

This parameter is used for SERCOS axes only.

Drive-controlled reference point travel must run identically in the case of both drives (e.g. without cam and distance-coded measurement system). This must be ensured by means of appropriate drive parameter definition.

The torque may have to be reduced during reference point travel for safety reasons.

P-AXIS-00254 | CNC-controlled error reaction
Parameter | kenngr.cnc_controlled_stop_after_error
Description | In the case of gantry axes, it is necessary for the CNC to stop the entire gantry network in a controlled fashion in the event of an error of an axis. The functionlity is set for the master and slave axes. If the settings of the master and slave axes deviate from one another, this is corrected in the slave axes.
Data type | BOOLEAN
Data range | 0: error reaction within the drive 1: CNC-controlled error reaction
Dimension | -
Default | 0
Remarks | This parameter is used for SERCOS axes only. The parameters of the drive must also be defined so that it does not perform any of its own (or only delayed) error reaction (see EcoDrive P-0-0117).