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 |
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% ) |
An override modification (also override = 0) only takes effect within the main travel phase. |
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
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. 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. |
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
2) Positioning A → B, with loop movement > 0.0
2) Positioning A → B, with loop movement > 0.0
3) Stop call up in case of active positioning