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-00072removed link: P-AXIS-00072 and P-AXIS-00071removed link: P-AXIS-00071 of the slave axis apply if the monitoring limits are not programmed. |
Handling and operating principle
- 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.
- The dynamic data of the slave axis is taken into consideration during the contouring motion.
- 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
CAUTION | |
Now, 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> ]
or
#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
- 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.
- Several coupling groups can be activated simultaneously.
- 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.
- The NC command must be placed on its own in the NC block.
- The number of the coupling group can also be programmed via mathematical expressions.
- TRC must not be selected when synchronous operation is selected or cancelled.
- When synchronous operation is selected, the manual mode with parallel interpolation (G201) for the slave axes must not be active.
- 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