Discrete Axis (two speed)

This TwinCAT axis type (Two-Speed) enables the positioning of a so-called rapid/creep axis. Such an axis can be physically made up of a motor with two speeds (switching of the pole pair numbers), or alternatively by a motor that can be driven at two speeds with the help of a frequency inverter.

The typical positioning of such an axis is first of all made at high speed up to a parameterization distance away from the target position (creep distance in positive or negative direction). From this position you switch to slow traverse, so that the physical velocity (actual velocity) is reduced to a slower constant velocity. The slow traverse is then also switched off at a closer distance from the target (braking distance) and the brake is then activated after a parameterized time (delay time for brake incidence).

This particular positioning sequence is for the sole purpose of ensuring that the axis reaches its target position in the most accurate and repeatable way.

In case a positioning inaccuracy occurs depending on the last physical direction of travel (typical effect of a backlash), then a looping distance is activated.  This looping distance has the effect that the target position is always approached from the same direction thus reducing the backlash influence. In case of an axis stop basically the same sequence is run through as for positioning without looping distance. However the priority for an axis stop lies on a shorter braking distance or time and not on the positioning accuracy. There is the separate parameter (looping distance for stop) for stopping in the shortest possible distance.

General

There are two equal possibilities available for the physical control of the axis, in the form of discrete travel signals.

Use of the 6 bits in ControlByte

bMinusHigh

Rapid traverse, negative direction

bMinusLow

Slow traverse, negative direction

bPlusHigh

Rapid traverse, positive direction

bPlusLow

Slow traverse, positive direction

bBreak

Braking bit

bBreakInv

inverted braking bit

Use of the 6 bits in ExtControlByte

bDirectionMinus

Negative direction

bDirectionPlus 

Positive direction

bVeloLow 

Slow traverse

bVeloHigh 

Rapid traverse

bBreak

Braking bit

bBreakInv

inverted braking bit

Discrete Axis (two speed) 1:

A master-slave coupling is not possible with rapid/creep axis.

An axis start will only be initiated if the distance from the target point is in fact larger than the parameterized braking distance.

Velocity and override

Starting velocity value range v

Interpretation of the start velocity at override 100%

v > 50

Rapid traverse

0 < v ≤ 50

Slow traverse

v 0

Error

Value range override

Interpretation of the override value

Override > 50%

Rapid traverse

0% < Override 50%

Slow traverse

Override = 0%

Stationary (tolerance window: <0.01% )

Discrete Axis (two speed) 2:

An override modification (also override = 0)  only takes effect within the main travel phase.
If the override is set to 0 within one of the braking phases, the initiated braking phase is ended without being influenced.

I/O configuration: Drive interface for rapid/creep axes NC → I/O (12 bytes)

No.

Data type

Byte

Bit

Def.-Range

Variable name

Description

1

UINT32

0-3

-

-

nOutData1

Drive output data 1 (NC->I/O)

2

UINT32

4-7

-

-

nOutData2

Drive output data 2 (NC->I/O)

3

UINT8

8

-

-

nControlByte

Control byte

 

 

 

0

0/1

bMinusHigh

Direction: negative velocity: fast

 

 

 

1

0/1

bMinusLow

Direction: negative velocity: slow

 

 

 

2

0/1

bPlusLow

Direction: positive velocity: slow

 

 

 

3

0/1

bPlusHigh

Direction: positive velocity: fast

 

 

 

4

0/1

-

RESERVE

 

 

 

5

0/1

-

RESERVE

 

 

 

6

0/1

bBreakInv

Inverse braking bit (0 ≡ ACTIVE, 1 ≡ PASSIVE)

 

 

 

7

0/1

bBreak

Braking bit (0 ≡ PASSIVE, 1 ≡ ACTIVE)

4

UINT8

9

-

-

nExtControlByte

Extended control byte

 

 

 

0

0/1

bDirectionMinus

Direction: negative

 

 

 

1

0/1

bDirectionPlus

Direction: positive

 

 

 

2

0/1

bVeloLow

Velocity: slow

 

 

 

3

0/1

bVeloHigh

Velocity: high

 

 

 

4

0/1

-

RESERVE

 

 

 

5

0/1

-

RESERVE

 

 

 

6

0/1

bBreakInv

Inverse braking bit (0 ≡ ACTIVE, 1 ≡ PASSIVE)

 

 

 

7

0/1

bBreak

Braking bit (0 ≡ PASSIVE, 1 ≡ ACTIVE)

5

UINT16

10-11

-

-

nReserved

Reserved bytes

Parameters of the rapid/creep axes

Discrete Axis (two speed) 3:

Parameter

Description

Creep distance positive direction

The creep distance in the positive direction gives the distance to the target position, below which the velocity changes from rapid to creep velocity, if the direction of travel is positive.
If a looping distance is selected then this distance is based on the movement reversal point.

This distance is denoted by Δp1 in positioning example 1

Creep distance negative direction

The creep distance in the negative direction gives the distance to the target position, below which the velocity changes from rapid to creep velocity, if the direction of travel is negative.

If a looping distance is selected then this distance is based on the movement reversal point.

Braking distance positive direction

The braking distance in the positive direction gives the distance to the target position, below which the creep velocity is switched off, if the direction of travel is positive.

This distance is denoted by Δp2 in positioning example 1

Braking distance negative direction

The braking distance in the negative direction gives the distance to the target position, below which the creep velocity is switched off, if the direction of travel is negative.

Brake incidence delay time in pos. direction

This delay time gives the start-up delay of the brakes after switching off of the creep velocity, if the direction of travel is positive.

In positioning example 1, this time is between the times T4 and T5.

Brake incidence delay time in negative direction

This delay time gives the start-up delay of the brakes after switching off of the creep velocity, if the direction of travel is negative.

Rapid to creep velocity delay time

This waiting time is between the switching off of the rapid velocity and switching on of the creep velocity.

In positioning example 1 , this time is between the times T2 and T3.

Creep distance for stop

The creep distance for stop gives the distance that is covered with the creep velocity after calling up the stop. This creep distance is usually selected shorter than the creep distances in positive and negative direction, since the axis should stop as soon as possible and the exact positioning is not a priority.

This distance is denoted by Δp1 in positioning example 3

Brake release delay

The brake is released immediately the axis is started and after elapse of the brake release delay either the rapid or creep velocity is activated depending on the displacement.

In positioning example 1 , this time is between the times T0 and  T1.

Pulse time in positive direction

This parameter is not evaluated and therefore has no effect.

Pulse time in negative direction

This parameter is not evaluated and therefore has no effect.

Discrete Axis (two speed) 4:

Parameter

Description

OPERATION MODE: looping distance

The looping distance can be activated with this flag. The looping distance is for approaching the target position always from the same direction. In the case of a positive (negative) looping distance a target position in the positive (negative) direction is increased by the amount of the looping distance and the target then approached from the opposite direction. Consequently the target position in case of a positive looping distance is always approached with negative velocity and a negative looping distance with positive velocity.

Looping distance (+ / -)

The looping distance gives the distance, by which the target position is exceeded if necessary so that it is possible to move to the target position from the required direction.

This distance is denoted by creep distance (looping distance) in positioning example 2

Axis movement state (nAxisState in cyclic interface):

Axis movement state (nAxisState in cyclic interface):

nAxisState

Description

0

Set value generator not active

20

Axis stopped

21

Main travel phase: High or low speed travel in relation to the start speed and override

22

Braking phase: High-to-low speed delay time active

23

Braking phase: Low speed travel

24

Braking phase: Delay time for brake incidence active

Positioning examples:

Positioning examples

1) Positioning A → B, without loop movement

Positioning A → B, without loop movement

Discrete Axis (two speed) 5:
TcNcTwoSpeed_Positioning1

2) Positioning A → B, with loop movement > 0.0

2) Positioning A → B, with loop movement > 0.0

Discrete Axis (two speed) 6:
TcNcTwoSpeed_Positioning2

3) Stop call up in case of active positioning

Discrete Axis (two speed) 7: