Notes on the documentation

This description is only intended for the use of trained specialists in control and automation engineering who are familiar with the applicable national standards.
It is essential that the following notes and explanations are followed when installing and commissioning these components.

The responsible staff must ensure that the application or use of the products described satisfy all the requirements for safety, including all the relevant laws, regulations, guidelines and standards.

Disclaimer

The documentation has been prepared with care. The products described are, however, constantly under development.
For that reason the documentation is not in every case checked for consistency with performance data, standards or other characteristics.
In the event that it contains technical or editorial errors, we retain the right to make alterations at any time and without warning.
No claims for the modification of products that have already been supplied may be made on the basis of the data, diagrams and descriptions in this documentation.

Trademarks

Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE® and XFC® are registered trademarks of and licensed by Beckhoff Automation GmbH.
Other designations used in this publication may be trademarks whose use by third parties for their own purposes could violate the rights of the owners.

Patent Pending

The TwinCAT Technology is covered, including but not limited to the following patent applications and patents:
EP0851348, US6167425 with corresponding applications or registrations in various other countries.

Copyright

© Beckhoff Automation GmbH & Co. KG, Germany.
The reproduction, distribution and utilization of this document as well as the communication of its contents to others without express authorization are prohibited.
Offenders will be held liable for the payment of damages. All rights reserved in the event of the grant of a patent, utility model or design.


Overview

TwinCAT NC PTP

PTP (Point To Point) axis functionality is a control process for one-dimensional positioning of axes, in particular of servo axes. One-dimensional does not necessarily mean linear. It simply means that one component is interpolated in some specified co-ordinate system (Cartesian co-ordinates, polar co-ordinates).

PTP forms the basis of the whole of TwinCAT NC, because at system start-up the axes are normally in PTP mode, and are thus position controlled. The extended TwinCAT NC functionalities are achieved on the basis of the PTP modes by reconfiguration (FIFO, NCI) or by coupling (all slave types).

Interfaces

The user has access to PTP via the System Manager and the PLC. The cyclic NC-PLC axis interface is also available.

Axis start

At the axis start, a jerk-limited dynamic profile is generated via the global dynamic parameters (acceleration, deceleration, jerk) and the start parameters (set velocity and target position), and stored in form of a table (run time table), which is then used for the generation of the set values within the block execution task.

Override and Stop

The override is used to change the set velocity of the axis online in the quickest possible way. The request 'Override on x%' causes a new run time table to be calculated and activated, if the axis was started and no stop is active and the braking phase has not yet been reached. In case of failure, the function is not called again automatically.
Stop is realised via override 0.0 and has - provided the braking phase has not yet been reached - priority over all other functions.

New end position

The function 'new target position' is used to change the target position of the axis online in the quickest possible way. If the axis was started and no stop is active, the request 'new target position' causes a query to ascertain whether

  • the axis has exceeded the new target or whether
  • the axis cannot be stopped before the new target.

In these cases, the axis is stopped internally via a stop and must automatically be moved back to the new target via a new start. Otherwise a new run time table is calculated and activated.

New velocity and new end position

The function 'New velocity and new end position' is used for instantly changing the target position and - after an activation position APos has been crossed - for (later) changing the set velocity of the axis. The specified velocity NewV in mm/sec must be genuinely larger than 0.0, and the new end position EPos must be within the software limit switches. The function 'New velocity and new end position' cannot be activated during position compensation.

Position compensation

Sometimes it is desirable for an axis to carry out additional positioning by a preset distance (compensation difference D - may also be negative) within a certain distance (compensation length L) compared with the positioning resulting from the run time table. This procedure is usually used for spatial synchronisation with other axes and can be activated on any axis (master, slave).

If position compensation cannot be achieved with the specified compensation parameters, the maximum possible compensation is automatically carried out.

Position compensation may be aborted via a compensation stop (continuous).

Warning:

If the compensation difference D is negative (deceleration), (double) movement reversal is possible.


Interfaces

The user has access to PTP via the System Manager and the PLC. The cyclic NC-PLC axis interface is also available.

PTP interface in the System Manager

Within the System Manager, the user has access to the whole functionality of the PTP axes, as well as the variables of the NC-PLC axis interface.

NC-PLC blocks

Via special PLC blocks, the user has access to the whole functionality of the PTP axes.

NC-PLC Interface

The NC-PLC interface contains an axis process image as well as access to various axis variables.


Axis start

At the axis start, a jerk-limited dynamic profile is generated via the standard dynamic parameters (acceleration, deceleration, jerk) and the start parameters (set velocity and target position), and stored in form of a table (run time table), which is then used for the generation of the set values within the block execution task.

Units and reference systems

Basic and pre-set units are millimetre [mm] and second [s], although the position can also be displayed in modulo values. Here, mm and sec are used as units.
From its current position, the axis can be started to a target position absolutely, relatively or modulo (relative to a specified modulo factor).
The direction of travel of the axis is determined through the sign of the modulo position (special case for modulo position 0.0). If a modulo position smaller than the modulo factor is specified, the shortest path to that modulo position will be taken, with the specified direction being maintained. This end position may still be in the same or in the next modulo period (depending on the start position). In case of modulo position 0.0, the sign cannot be used to determine the direction of travel. By definition, this case is interpreted as positive direction of travel. If a modulo position with an absolute value greater than the modulo factor is specified, the sign will determine the direction of travel as usual. The position value that is greater than the modulo factor determines the minimum number of revolutions are travelled until a stop occurs at the appropriate orientation. Example: Modulo start at position + 540.0 degrees at modulo factor 360.0 therefore means that the axis travels for a minimum of one period (360.0 + 180.0 = 540.0) into the positive direction, and is then stopped via the shortest path oriented at modulo position 180.0 degrees.
Only absolute positionings are considered.
In the following sections, a(t) is used for acceleration, v(t) for velocity and p(t) for the position at time t after the axis start.
In this context, accelerations/decelerations and velocities almost invariably refer to path acceleration/path decelerations (path acceleration/path deceleration = sign(axis set velocity) * axis acceleration/axis deceleration) and path velocities (path velocity = amount of the axis velocity).

Global dynamic parameters

  • Acceleration A+ > 0: the parameter A+ defines the upper acceleration limit, i.e. the following applies for the complete positioning: a(t) ≤ A+.
  • Deceleration A- > 0: the parameter A- defines the lower acceleration limit, i.e. the following applies for the complete positioning: -A- ≤ a(t).
  • Jerk unit (change in acceleration) J: the jerk unit controls the increase and decrease in acceleration/deceleration. If a(t) is not constant, |da(t)/dt| = J, i.e. the change in acceleration will always occur with the maximum permissible value.
  • Acceleration limits A+, A-. Whether the acceleration/deceleration limit(s) (A+,A-) are reached depends on the relationship between acceleration limit/deceleration limit and set velocity V. The value of the jerk J at which the acceleration/deceleration limit is just reached (but not maintained) is the critical jerk J±, which is defined by the equation J+ = (A+)²/V, or J- = (A-)²/V in units mm and sec.

Start parameters

  • Set velocity V > 0: the parameter V defines the upper velocity limit, i.e. the following applies for the complete positioning: |v(t)| ≤ V.
  • Target position.
  • The length the positioning path indirectly results from the start position (actual position) and the target position.

Velocity profile and acceleration profile

The standard dynamics for servo axes is a jerk-limited 7-phase dynamics. The 7 phases are (optional phases are shown in brackets [])

  1. Acceleration phases a(t) > 0:
    1. Acceleration increase: da(t)/dt = +J,
    2. [Constant acceleration: a(t) = A+],
    3. Acceleration decrease: da(t)/dt = -J,
  2. [Constant velocity phase |v(t)| = V],
  3. Deceleration phases a(t) < 0:
    1. Deceleration increase: da(t)/dt = -J,
    2. [Constant deceleration: a(t) = -A-],
    3. Deceleration decrease: da(t)/dt = +J.

General notes and special cases

  • The start occurs from the current actual position.

  • A start does not occur, if the length of the positioning path is less than an encoder increment (Warning).

  • If the set velocity V cannot be reached (the distance is too short or V is too large), the largest achievable velocity (under the symmetric acceleration/deceleration A± = min(A+,A-)) is determined and activated instead of V without notification.
  • If no dynamic profile can be generated with the specified start data, because the jerk is too large, the jerk is automatically rescaled.
  • An override is available via the PLC that changes the set velocity to a percentage between 0.0 and 100.0. One can, for example, start the axis with override 0.0, and then increase the override as required.

Procedure

  1. Prior to a start request: The block preparation task is awaiting new tasks, and in the block execution task only position control is operating.
  2. Block preparation: Once the start parameters have been checked, a dynamic profile is generated and stored in a run time table. The set value generation of the block execution task is than automatically enabled.

    Block execution: The set value generator calculates the current set values based on the run time table and the expired time since the start and transfers them to the position controller. Set values for the set value generation are the local set values, i.e. the following parameters calculated during every cycle:

    1. the position set value (for position control),
    2. the velocity set value (for velocity feed forward),
    3. the acceleration set value (for control with special controllers),
    4. the set direction (for direction-independent feed monitoring).
  3. after the end of path: in the block execution, once again only the position controller is executed.

Notes on the figures:

Scales: Velocity [mm/sec] / Time [sec]
Colours:

Set position: deep blue Actual position: light blue

Set velocity: dark green Actual velocity: light green

Set acceleration: dark red Actual acceleration: light red

Following error: yellow

Dynamics I: Acceleration/deceleration

Dynamics 1.1 dynamic profile with A+ = A- = 5000.0 mm/sec/sec R = 50000.0 mm/sec/sec/sec V = 2000.0 mm/sec from 0.0 mm to 1000.0 mm

Dynamics 1.2 dynamic profile with A+ = -5000.0 ,A- = 10000.0 mm/sec/sec R = 50000.0 mm/sec/sec/sec V = 2000.0 mm/sec from 0.0 mm to 1000.0 mm

Dynamics 1.3 dynamic profile with A+ = A- = 15000.0 mm/sec/sec R = 50000.0 mm/sec/sec/sec V = 2000.0 mm/sec from 0.0 mm to 1000.0 mm

Dynamics II: Jerk (change in acceleration)

Dynamics 2.1 dynamic profile with A+ = A- = 5000.0 mm/sec/sec R = 20,000.0 mm/sec/sec/sec V = 2000.0 mm/sec from 0.0 mm to 1000.0 mm

Dynamics 2.2 dynamic profile with A+ = A- = 5000.0 mm/sec/sec R = 50000.0 mm/sec/sec/sec V = 2000.0 mm/sec from 0.0 mm to 1000.0 mm

Dynamics 2.3 dynamic profile with A+ = A- = 5000.0 mm/sec/sec R = 100000.0 mm/sec/sec/sec V = 2000.0 mm/sec from 0.0 mm to 1000.0 mm

Dynamics III: Velocity reduction

Dynamics 3.1 dynamic profile with A+ = A- = 5000.0 mm/sec/sec R = 50000.0 mm/sec/sec/sec V = 1500.0 mm/sec from 0.0 mm to 800.0 mm

Dynamics 3.2 dynamic profile with A+ = A- = 5000.0 mm/sec/sec R = 50000.0 mm/sec/sec/sec V = 1750.0 mm/sec from 0.0 mm to 800.0 mm

Dynamics 3.3 dynamic profile with A+ = A- = 5000.0 mm/sec/sec R = 50000.0 mm/sec/sec/sec V = 2000.0 mm/sec from 0.0 mm to 800.0 mm

Global dynamic parameters

Dynamic parameters | Meaning and boundary conditions
Acceleration A+ | acceleration limit (A+ > 0.0)
Deceleration A- | deceleration limit (A- > 0.0)
Jerk J | amount of the acceleration change constant (J > 0.0)

Notes on start parameters.:

  1. For orders of magnitude from J to A+ or A- in units of mm and Saf cycle time T should apply with sufficiently large distances: J « min(A+, A-). (Example: with Saf cycle time T = 1/1000 sec , acceleration and deceleration A+ = A- = 10000 mm/sec/sec = 1/100 mm/T/T, jerk J = 100000 mm/sec/sec/sec = 1/10000 mm/T/T/T, the following will result: J = 0.0001 « A+ = A- = 0.01.)
  2. To ensure that the set acceleration A+ or deceleration A- is actually reached, the jerk J must at least correspond to the critical jerk: J ≥ max( (A+)², (A-)²)/V.

Start parameters

Start parameters | Meaning and boundary conditions
Set velocity V | requested path set velocity (amount of the axis set velocity) (V > 0.0, V ≤ V_max)
Target position P | position to aim for P (P_min ≤ P ≤ P_max)

Notes on start parameters.:

  1. If the set velocity is greater than the maximum permitted velocity V_max for the axis, the start is refused and an error is generated.
  2. If the set velocity is greater than the specified reference velocity V_ref for the axis, the start is refused and an error is generated. Warning: If the set velocity is equal or nearly equal the reference velocity, the axis has no or not enough control reserves.
  3. For orders of magnitude from A+ and A- to V in units of mm and Saf cycle time T, the following should apply with sufficiently large distances: max (A+,A-) « V. (Example: with Saf-cycle time T = 1/1000 s , set velocity V = 1000 mm/sec = 1 mm/T, acceleration and deceleration A+ = A- = 10000 mm/sec/sec = 1/100 mm/T/T, the following will results: A+ = A- = 0.01 « 1 = V.)
  4. If the target position P is outside of the software limit switches (P_min, P_Max), the start is refused and an error is generated.
  5. A start from outside the software limit switches (P_min, P_max) into the range within the software limit switches is permitted.

Interfaces

Global dynamic parameters

System Manager: Global dynamic parameters

PLC Blocks: Global dynamic parameters

Start dynamic parameters

System Manager: Start parameters

PLC Blocks: Start parameters

Start

System Manager: Start

PLC Blocks: Start

Extended start: Dynamic parameters

System Manager: Extended start

PLC Blocks: Extended start

Extended start

System Manager: Extended start

PLC Blocks: Extended start


Override and Stop

The override is used to change the set velocity of the axis online in the quickest possible way.
Stop is realised via override 0.0 and has priority over all other functions.

Override

The override is an instantaneous (not time-scaled) override, i.e. an attempt is made to reach the new velocity level as quickly as possible with the maximum permissible changes in acceleration. The override can be changed from 0.0% to 100.0% in steps of 1/1,000,000.

There are four override types:

  1. The override refers to the calculated and - if necessary - reduced setpoint velocity. If it is impossible to attain the new velocity, then - without warning - the old override value is reactivated .
  2. The override refers to the unreduced setpoint velocity. If it is impossible to attain the new velocity, then - without warning - the old override value is reactivated .
  3. The override refers to the calculated and - if necessary - reduced setpoint velocity. If it is impossible to attain the new velocity, then an reduced optimal velocity is actiavted.
  4. The override refers to the un reduced setpoint velocity. If it is impossible to attain the new velocity, then an reduced optimal velocity is actiavted.

The overrde is activated if no stop is active and the braking phase has not yet been reached. It is possible to start the axis with override 0%.

In case of excessively quick (especially periodical) changes of the overrides between two fixed velocity levels, the axis, whilst calculated deterministically, will behave indeterministically for the user.

Notes on the figures:

Scales: Velocity [mm/sec] / Time [sec]
Colours:

Set position: deep blue Actual position: light blue

Set velocity: dark green Actual velocity: light green

Set acceleration: dark red Actual acceleration: light red

Following error: yellow

Override changes: Start override 100% -> 75% -> 100% (V = 2000.0 mm/sec, from 0.0 mm to 5000.0 mm)

Override changes: Start override 20% -> 100% (V = 2000.0 mm/sec, from 0.0 mm to 5000.0 mm)

Stop

Stop is realised via override 0.0 and has - provided the braking phase has not yet been reached - priority over all other functions. If stop is requested and position compensation is active, compensation stop is activated simultaneously with the stop of the basic dynamics, in order to stop the axis as quickly as possible on the maximum permissible breaking ramp.

Emergency stop

In case of an emergency stop with parameters jerk R [mm/sec/sec/sec] and deceleration A- [mm/sec/sec], the parameters jerk and deceleration are reset, if both parameter are genuinely larger than the parameters provided at the start. The stop is then initiated with the new parameters.

Note:

In the (natural or induced by the user) braking phase is no Emergency Stop possible.

Interfaces

Override

System Manager: Inputs

System Manager: Online[Set]

PLC Blocks: Override

Stop

System Manager: Online

System Manager: Functions

PLC Blocks: Stop


New end position

The function 'new target position' is used to change the target position of the axis online in the quickest possible way.

Internal sequence

If the axis was started and no stop is active, the request 'new target position' causes a query to ascertain whether

  • the axis has exceeded the new target or whether
  • the axis cannot be stopped before the new target.

In these cases, the axis is stopped internally via a stop and then automatically moved back to the new target position. Otherwise a new run time table is calculated and activated.
The function 'New target position' must not be activated during position compensation.
If the desired set velocity was not achievable at the start of the axis, and the old desired set velocity is achievable after a request for a new target position, this will actually be reached, i.e. after a request for a new target position, a slowly moving axis may suddenly move faster.

New end position during the stop phase (V = 2000.0 mm/sec, start from 0.0 mm to 3000.0 mm, after-start to 5000.0 mm)

New end position with reversal (V = 2000.0 mm/sec, start from 0.0 mm to 3000.0 mm, after-start to 2000.0 mm)

Interfaces

System Manager: Online

System Manager: Functions

PLC Blocks


New velocity and new end position

The function 'New velocity and new end position' is used for instantly changing the target position and, if previously the set velocity VOld required by the user could not be reached, also - provided that this is possible - for instantly changing the current internal set velocity towards the set velocity VOld required by the user, and - after an activation position APos has been crossed - for (later) changing the set velocity of the axis. The specified velocity VNew in mm/sec must be genuinely larger than 0.0 and must not exceed the maximum axis velocity. The new end position EPos must be within the software limit switches. The function 'New velocity and new end position' cannot be activated during position compensation.

Internal sequence: Activation position

At the request: New velocity VNew mm/sec, new end position EPos mm, activation position APos mm,

first of all the ratio of the positions EPos, APos and the current position Pos relative to each other with reference to the logical direction of the positioning is determined. Let the logical direction be positive:

  1. if: Pos ≤ APos ≤ EPos, the new set velocity NewV is activated once position APos has been crossed,
  2. if: APos ≤ Pos ≤ EPos, the activatio n position has already been c rossed, and the set velocity NewV is activated instantaneously,
  3. if: APos ≤ EPos ≤ Pos, a stop is activated, and the system is returned automatically with the old set velocity VOld,
  4. if: Pos ≤ EPos ≤ APos, only the new end position and the old set velocity VOld is activated, but not the new set velocity,
  5. if: EPos ≤ APos ≤ Pos , a stop is activated, and the system is returned automatically with the old set velocity VOld to the new end position (not implemented: and the new set velocity VNew is activated when the activation position is crossed).
  6. if: EPos ≤ Pos ≤ APos, a stop is activated, and the system is returned automatically with the old set velocity (not implemented: new) to the new end position.

The same conditions apply analogically for negative logical direction.

If 'new velocity and new target position' is requested, a query occurs once the axis has been started, whether

  • the axis has exceeded the new target or whether
  • the axis cannot be stopped before the new target.

In these cases, the axis is stopped internally via a stop and then automatically moved back to the desired new target position with the appropriate set velocity VOld (if this is achievable) or VNew (if this is achievable).

Internal sequence: New velocity

If no return is required and either the new set velocity is requested instantaneously or the activation position is crossed, a new run time table is calculated with the new set velocity. If, due to the ratio of remaining distance and new set velocity, the new set velocity is not achievable, the set velocity is reduced iteratively 7-8 times. If no solution can be found (adverse scenarios are: small remaining distance and/or large new set velocity - relative to the old set velocity), the old run time table is maintained.

Special features

In contrast to the function 'New end position', a stop does not have priority with the function 'New velocity and new target position'. This means that incoherent short successive instructions do not have to lead to the axis being stopped. The function 'New velocity and new target position' is compatible with the override function. If the request occurs during the braking phase, the instantaneous instruction, provided it cannot be carried out instantaneously, is suspended for later action, the instantaneous action is carried out with optimum delay, and the suspension is subsequently lifted. If the function with instantaneous (Event 1) and later activation (Event 2) is interrupted between Event 1 and Event 2 by a function that can only act instantaneously (Event 3), the activation of Event 3 is deleted. If the function is interrupted between Event 1 and Event 2, by a function acting again instantaneously (Event 3) and later (Event 4), Event 3 is replaced with Event 4.

Interfaces

System Manager: Online

System Manager: Functions

PLC Blocks


Position compensation

Sometimes it is desirable for an axis to carry out additional positioning by a preset distance (compensation difference D - may also be negative) within a certain distance (compensation length L) compared with the positioning resulting from the run time table. This procedure is usually used for spatial synchronisation with other axes and can be activated on any axis (master, slave).
If position compensation cannot be achieved with the specified compensation parameters, the maximum possible compensation is automatically carried out.
Position compensation may be aborted via a compensation stop (continuous).

Warning:

If the compensation difference D is negative (deceleration), (double) movement reversal is possible.

General notes:

In the following sections, the dynamics and positioning specified by the start parameters will be referred to as basic dynamics and basic positioning.

  1. D may be negative. In this case, the overall positioning lags behind the basic positioning.
  2. Compensation is complete, once the distance L±D has been travelled.
  3. Compensation is a linear path control, i.e. during compensation the axis will follow all the changes in basic dynamics (e.g. override 0.0).
  4. During compensation, axis compensation start is locked, i.e. there is no compensation iteration.
  5. During the stop phase, no compensation will be started.
  6. End of path during axis compensation stops the compensation.
  7. Stop during axis compensation stops the compensation at the end of path caused by the stop.
  8. A virtual axis (encoder axis) cannot carry out a compensation.
  9. The function 'New target position' cannot be activated during position compensation.

Algorithm

After checking the compensation start parameters, a calculation will be carried out to check whether compensation of the difference D over distance L is feasible with the compensation start parameters. If this is not the case, the maximum possible compensation difference is calculated and activated. In any case, the parameters are chosen in such a way that compensation occurs over the whole compensation length. The set value generation of the compensation is a non-jerk-limited 3-phase-algorithm (trapezoidal velocity profile), whereby different ramp slopes are possible.

Full compensation: start from 0.0 mm to 10,000.0 mm with V = 2000.0 mm/sec
Compensation A+ = 500.0 mm/sec/sec, A- = 1000.0 mm/sec/sec, V = 300.0 mm/sec, VP = 2000.0 mm/sec,
L = 5000.0 mm, D = 250.0 mm
end position 10250.0 mm

Partial compensation: start from 0.0 mm to 10,000.0 mm with V = 2000.0 mm/sec
Compensation A+ = 500.0 mm/sec/sec, A- = 1000.0 mm/sec/sec, V = 500.0 mm/sec, VP = 2000.0 mm/sec,
L = 2000.0 mm, D = 500.0 mm
end position 10165.0 mm

Full negative compensation: start from 0.0 mm to 10,000.0 mm with V = 2000.0 mm/sec
Compensation A+ = 500.0 mm/sec/sec, A- = 1000.0 mm/sec/sec, V = 300.0 mm/sec, VP = 2000.0 mm/sec,
L = 5000.0 mm, D = -250.0 mm
end position 9750.0 mm

Start parameters

Position compensation: Start parameters

Start parameters | Meaning and boundary conditions
Compensation length L | Distance, over which additional positioning occurs (L > 0.0)
Compensation difference D | Additional travel distance (D ≠ 0.0)
Process velocity VP | Velocity, to which the velocity increase refers (generally axis set velocity) (VP > 0.0)
Velocity increase VK | Permissible velocity increase/reduction relative to the process velocity (VK > 0.0)
Acceleration AK+ | Required acceleration increase relative to the global path acceleration (AK+ > 0.0)
Deceleration AK- | Required deceleration increase relative to the global path deceleration (AK- > 0.0)

Notes on start parameters.

  1. The compensation difference D may be positive (making up) or negative (deceleration). If D < 0.0, (double) movement reversal is possible.
  2. Process velocity. If compensation is activated while the axis is travelling at its (global) set velocity, then VP should be set to equal this velocity. If the axis is not yet (no longer, not - Override -) at its global set velocity, VP should be set to the amount of the current local axis set velocity.
  3. If the preset process velocity VP does not coincide with the amount of the real current local axis velocity v, the following applies. If VP > v, the real compensated distance (absolute) will be less than the required one. If VP < v, the real compensated distance will generally be equal the required one. This means that for stop or override 0.0, the actual compensated distance (absolute) will be less than the required one.
  4. The values AK+ and AK- are increases in path acceleration/path deceleration values, i.e. if D > 0.0, compensation starts with the acceleration increase AK+, whilst, if D < 0.0, compensation starts with the deceleration increase AK-.
  5. If the compensation length L is greater than the remaining axis distance to be travelled, the remaining distance will be used instead of L.

Compensation stop

The function 'compensation stop' terminates axis compensation, if an axis is in compensation mode but not in the braking phase of compensation, by replacing the distance to be compensated D with the actually compensated distance at the end the compensation.
If the axis is stopped by the user and compensation is active, compensation stop is automatically requested together with the stop of the basic dynamics.

Interfaces

Compensation start

System Manager: Compensation parameters

System Manager: Compensation start

PLC Blocks: Compensation start

Compensation stop

System Manager: Compensation stop

PLC Blocks: Compensation stop


External set value generation

External set value generation (external set value specification) enables the implementation of individual set value generators within the PLC, or appropriate connection of existing internal and external generators, and their simple and transparent integration into the TwinCAT system. Axes can be positioned either with an external set value generator alone, or superposition (mixing) of existing internal generators and external set value sources is possible.

These new characteristics and the fact that an axis can change its operating modes at run time (e.g. interpolating path axis (NCI), master PTP axis, slave axis, external set value generation) further enhance the flexibility of a TwinCAT axis.
Generally, the superposition of internal and external set value sources enables a large number of new applications and solutions.

Examples of use:

  • External set value specification can be used for implementing an individual new set value profile, which is not available in TwinCAT NC. This profile can be mathematically very simple or as complex as necessary. Since the externally generated set value profile can also be superimposed on the standard profile, correcting functions can also be supplemented.
    Position-based set value profiles for difficult to control or non-linear systems can thus be realised, for example a position-based braking ramp for hydraulic axes.
  • One application for the superposition (mixing) of two internal set value sources is the combination of interpolating path processing (NCI) and the 'flying saw' function (PTP slave). Multi-dimensional machining, e.g. a circle, on a moving workpiece is thus possible, which previously was only possible with stationary workpieces. This measure increases the efficiency of a machine.
  • External set value generation can also be used in order to enable a certain adjustment time (in the multi-digit second range) between the unit generating the set values (e.g. the execution of a DIN-NC program feeding virtual axes) and the real axes. Collision monitoring and strategies for collision avoidance can then be realised.
  • A further important application are coordinate transformations (restricted to regular and unambiguous transformations without singularities), e.g. geometries such as a 'crank with coupling link' or conversion between rotary and translatory coordinates.

This new function is available with the PLC components MC_ExtSetPointGenEnable and MC_ExtSetPointGenDisable in the TcMc.lib library. Furthermore, an example for an external set value generator is provided (3-phase profile with acceleration rectangle).

Activation of external set value generation:

The taking over of the externally specified set values is initiated through an ADS axis function from the PLC via the function block MC_ExtSetPointGenEnable. The axis start types absolute (1) or relative (2) and, if sensible and required, the target position of the axis, are specified as parameters. This target position has either an absolute or relative effect, depending on the starting mode, and enables position and target position window monitoring (PEH). The activation of the external set value specification is thus similar to a conventional axis start.
A status bit from the status double word of the cyclic axis interface from the NC to the PLC provides information about the state, i.e. whether the external set value generation is active or inactive (see function AxisHasExtSetPointGen in TcNc.lib).

In order for the activation to be accepted without error, no axis error must be present, the controller and feed releases must be granted, the drive hardware must be ready to run and the axis must not be coupled (no slave).

Notes:

1) In case of an axis error (run time error of the axis) or an axis reset (including edge change of the software controller enable) the external set value specification is automatically deactivated (similar to an abortion of PTP axis positioning in case of a run time error or axis reset).

2) If only external set value generation is carried out, both absolute and relative start types are permitted.
If external set value generation is started in parallel or in addition to internal set value generation (PTP), only the relative starting mode is possible, since the internal positioning is ultimately always converted to an absolute start, and it is not possible to have two absolute positions simultaneously.

3) Whilst external positioning can be activated during an active internal PTP positioning via the relative start type, the opposite case is not permitted.

4) If an already active external set value generation is activated again and again, the start types must coincide, otherwise an error is generated.
Repeated activation of external set value generation can be useful, since the target position is taken over every time and thus the target position window monitoring (PEH) is updated each time.

Deactivation of external set value generation:

External set value specification is switched off from the PLC via the function block MC_ExtSetPointGenDisable. The above-mentioned status bit from the status double word of the cyclic axis interface from the NC to the PLC provides feedback (see function AxisHasExtSetPointGen in TcNc.lib ).

Note:
After the deactivation of the external set value generation, the external set position is taken over for exactly one more cycle.

Specification of set values via the cyclic axis interface:

After faultless activation of the external set value generation, in each PLC cycle a set value packet can now be created at the axis interface. A set value packet consists of external set position, set velocity, set acceleration and set direction (-1, 0, +1).
The set direction is particularly significant, because set values are only taken over and activated internally if the direction is not equal zero (0: no motion). For the complete range of external set value generation, the direction flag therefore has to be set quasi-overlapping at the start and at the end.

Notes:

1) After resetting of the set direction to zero, the external set position is taken over for exactly one further SAF cycle.

2) The set direction should already be set to a value not equal zero (i.e. -1 or +1) one cycle before and for one more cycle after the motion. This provides a safe time frame that is guaranteed to prevent a value being ignored, either at the start or at the end.

Settings of the PLC task:

Ideally, the PLC task that generates and specifies the set values should run synchronously, i.e. with the same cycle time as the NC-SAF task (port 501). This PLC task also has to have the same high priority, perhaps an even higher one, than the NC-SVB task (port 511).

Optimisation options:

The dead time generated due to the transport via the cyclic axis interface (also, the input information leading to the calculation of the external set values may be one cycle old) can be compensated for an axis that is operated in the velocity interface. This dead time compensation can be set in the TwinCAT System Manager via the global axis parameter delay time between speed and position (default value: 0.0 s).


Overview

Definition

Axes whose set values (position, velocity, acceleration) are generated in functional dependency on the set values of other axes (master axes, virtual axes, slave axes, simulation axes) - in particular on their set position values - are called slave axes. Apart from the coupling and uncoupling, these axes do not generally have any functionality of their own (in particular they do not have start or stop functions) and operate under linear path control in synchronisation with the master axis (which itself can in turn be a slave axis).
When a master axis (which is to become a slave axis) is coupled to another master axis, the slave axis retains its own position control.

Slave topologies

The permitted slave topologies (link options) are star and cascade.

Star, i.e. all slaves are linked directly to a master axis (virtual master axis).

Cascade, i.e. all slaves are linked consecutively through a chain, and the first slave axis is linked to a master axis (virtual master axis).

The cascade may be set up in any order.
Uncoupling within a cascade may occur in any order.

Slave types

Depending on the type of set value generation, a distinction is made between the following types:

  • linear slave axis,
  • flying saw,
  • camshaft axis,
  • multi-table axis,

These will now be explained briefly.

Linear slave axis

A slave axis, whose position set value are determined from the position set value another axis through an affine transformation, is called linear slave axis.
The following applies: Slave set position = coupling factor * master set position + offset, whereby the offset is determined from the coupling position and the coupling factor is specified during coupling. The coupling factor can be changed online.
Whilst coupling of the slaves to the master occurs off-line (master and slave are stationary), uncoupling may occur online: the slave is converted into a master, which continues to travel as if it was still a slave, but may be stopped independent from the former master.

Cyclic slave axis

A slave axis, whose position set values are determined from

  1. the position set value of another axis (master axis) through an affine transformation and
  2. a coupling factor set through the cyclic PLC-NC interface within the PLC cycle,

is called cyclic slave axis.

Flying saw

Camshaft axis

Multi-table axis


Overview

TwinCAT NC SLAVE AXES

NC Error Handling

1. Extended NC error handling for coupled axes

Sample of the NC axis parameters from the TwinCAT System Manager:

The extended NC error handling for coupled axes can be configured by means of the parameter Fehlerreaktionsmodus (Error reaction mode).

INSTANTANEOUS setting:

Selecting Instantaneous here corresponds to the reactions to errors of TwinCAT up to 2.10 (default). In the event of a error in one axis, the NC immediately initiates an error reaction, and halts all the axes involved in the master/slave group.

DELAYED setting:

The basic idea of this setting is to not initiate an automatic, immediate NC error reaction whenever an error occurs. The user has the option of initiating an error reaction that has been individually adapted to the particular application.
If a runtime error now occurs in a coupled axis, then only this particular axis is switched without delay into an error state by means of an error reaction, whereas the other axes in the master/slave group are not affected immediately (local error reaction). Propagation of the error through to the other axes involved is suppressed for the delay time parameterised in Fehlerreaktionsverzögerung (Error reaction delay). During this period, the user is responsible for initiating the error reaction that he requires (e.g. stopping the master axis, or decoupling from parts of the master/slave structure).
Once the parameterised delay time has elapsed, the familiar NC error reaction comes into play (global error reaction). This error reaction, however, acts only on the group of axes present at the time to which the axis with the error belongs. It is possible, for instance, for the original master/slave group to first be decoupled to create one group with no error and another group with an error.

Comment on the axis interface:

If a runtime error occurs in a master/slave axis configured as DELAYED, it is indicated at the same time by the two NC status bits Error (bit 31) and ErrorPropagationDelayed (bit 6). Once the error reaction delay time has elapsed, the ErrorPropagationDelayed bit is reset to FALSE.

Requirements:

The extended NC error handling (error reaction mode) and the changeover to actual value coupling (use actual value in deactivated state) only applies to master/slave axes whose axis types are Continuous Axis (PTP axis) and Encoder Axis.

2. Changeover to actual value coupling

Sample of the NC axis parameters from the TwinCAT System Manager:

Basically, the generation of set values between coupled axes is always based on the set values rather than the actual values.
The changeover to actual value coupling feature is parameterised by the Use actual values in deactivated state parameter, and is always to be understood in the context of a master/slave coupling. There are two different cases to distinguish here.

1st case: Switch to actual values when an axis has an error

If an error occurs in a coupled axis when error reaction is delayed (error reaction mode: DELAYED), then this axis can be switched over by the NC from set values to actual values. Although this changeover does not have any effect on the faulty axis itself (which has already been halted in an error state), it remains possible to drive the subsidiary slave axes by means of the actual values for this axis. This property can result, in the case of an error, in better synchronicity between the axis with the fault and the subsidiary slave axes if the axis that has the error moves further due to its inertia.

2nd case: Change to actual values when the main master axis has been deactivated

The changeover to actual values even when no error is present is only available to the main master, i.e. the head of the coupling in a master/slave structure. A master/slave group without errors, in which the NC controller enable has set all the axes ready for operation (position control) is a precondition for this changeover.

If the NC controller enable is now removed from the main master, the entire group is controlled according to the actual values of the main master. In this way, for instance, the main master can be pushed manually, and all the other axes that are coupled to this master follow in accordance with their mathematical coupling specification (e.g. cam plates).

Requirements:

The extended NC error handling (error reaction mode) and the changeover to actual value coupling (use actual value in deactivated state) only applies to master/slave axes whose axis types are Continuous Axis (PTP axis) and Encoder Axis.


Overview

A slave axis, whose position set value are determined from the position set value another axis through an affine transformation, is called linear slave axis.
The following applies: Slave set position = coupling factor * master set position + offset, whereby the offset is determined from the coupling position and the coupling factor is specified during coupling. The coupling factor can be changed online.
Whilst coupling of the slaves to the master occurs off-line (master and slave are stationary), uncoupling may occur online: the slave is converted into a master, which continues to travel as if it was still a slave, but may be stopped independent from the former master.

Glossary

Uncoupling: Off-line: logical uncoupling of the slave axis from the master axis while both axes are stationary.

Uncoupling: Online: conversion of a slave axis in motion into a pseudo master axis.

Control axis: axis, from which a slave axis receives its control values (it can be a master axis, a slave axis, a pseudo master axis or a virtual axis).

Basic dynamics: slave-dynamics without consideration of compensations.

Compensation: additional positioning of an axis which is given additively (may be negative) to the positioning preset by the start.

Master axis: axis with full functionality (start/ stop/ override/ new target position/ compensation).

Master slave: slave axis whose control axis is a master axis, virtual axis or pseudo master axis.

Pseudo master axis: axis with limited functionality (stop, [override],[compensation]), generated through the conversion of a slave axis into a master axis.

Interfaces

The interfaces consist of the System Manager, PLC blocks and the cyclic NC-PLC axis interface.

Coupling and coupling factor

During coupling, a master axis (which may itself be a slave axis) will be assigned to the slave axis, and the coupling factor is set.

Uncoupling and new end position

Uncoupling is possible in every dynamic state of the master axis - the slave axis is converted into a master axis and continues to travel as if it was still a slave axis, although it can be stopped individually. The coupling flag is reset.
During off-line uncoupling (uncoupling while stationary), the slave axis is converted into a PTP-master axis.
During online uncoupling (uncoupling during travel), the slave axis is converted back into a PTP master axis. A new end position in the direction of travel may be aimed for.

Position compensation

Online position correction of the slave axis, during which the slave axis is moved along a specified path by a certain additional or reduced distance compared with the coupling to the master axis. The compensation dynamics must be parameterised. If the desired compensation cannot be carried out with the specified compensation start data, the maximum possible compensation will automatically be carried out. Compensation may be terminated prematurely via a compensation stop.

Warning:

If the compensation difference D is negative (deceleration), (double) movement reversal is possible.


Interfaces

The user can operate the linear slave axis via the System Manager or PLC blocks. Furthermore, a cyclic NC-PLC interface is available (in the System Manager or via the PLC) that contains the axis process image and enables access to various variables.

System Manager

The System Manager offers access to the complete slave axis functionality

  • Coupling with declaration of the master axis and setting of the coupling factor
  • Changing the coupling factor
  • Uncoupling

PLC Blocks

The SPS Library offers access to the complete slave axis functionality

  • Coupling with declaration of the master axis and setting of the coupling factor
  • Changing the coupling factor
  • Uncoupling

NC-PLC-Interface

The cyclic NC-PLC axis interface contains the axis process image and particularly access to the coupling information (coupling flag).


Coupling and coupling factor

During coupling, a master axis (which may itself be a slave axis) will be assigned to the slave axis, and the coupling factor is set.

Coupling

Coupling can only occur when both axes are stationary. Coupling is therefore only a logical allocation and has (as long as the master is not moved) no dynamic consequences, but locks certain functionalities for the slave axis (e.g. start and stop). The coupling flag is set.

Coupling interfaces

System Manager: Coupling

PLC Blocks: Coupling

Linear path control

The slave follows the movement of the master according to the master positions, the coupling offset and the coupling factor.

Master start from 0.0 mm to 20,000.0 mm with V = 2000.0 mm/sec at start override 30% and coupling factor 0.75. Then (master) override to 100%, then (master) stop.

Coupling factor

The coupling factor (gearing factor) must not equal zero, but may be negative. The following applies:

  • Slave set position = coupling factor * master set position + offset, whereby the offset is determined from the coupling positions,
  • Slave set velocity = coupling factor * master set velocity.

Coupling with fixed negative coupling factor:

Master start from 0.0 mm to 2000.0 mm with V = 2000.0 mm/sec, coupling factor -0.5.

Coupling with variable coupling factor:

Master start from 0.0 mm to 2000.0 mm with V = 2000.0 mm/sec, coupling factor -0.7, new coupling factor -0.8.

Changing the coupling factor

The coupling factor (not equal zero) may be changed online, but the effects (following error) are in the hands of the user. During travel, the coupling factor should only be changed moderately, since a following error is generated. Changing the coupling factor from plus to minus (of vice versa) causes a movement reversal of the slave axis.

Coupling factor interfaces

System Manager: Coupling factor

PLC Blocks: Coupling factor


Uncoupling and new end position

Uncoupling is possible in every dynamic state of the master axis - the slave axis is converted into a master axis and continues to travel as if it was still a slave axis, although it can be stopped individually. The coupling flag is reset.
During off-line uncoupling (uncoupling while stationary), the slave axis is converted into a PTP-master axis.
During online uncoupling (uncoupling during travel), the slave axis is converted back into a PTP master axis. A new end position or a new velocity in the direction of travel may be aimed for.

Off-line uncoupling

Linear slave axes may be uncoupled off line (while stationary). They are thus converted back into a master axis.

Online uncoupling

During online uncoupling (uncoupling during travel), the slave axis is converted into a master axis (online change from slave to master).
After uncoupling, the master continues to travel as if it was still a slave.
Override: If an override is requested after uncoupling, it will relate to the absolute value of the coupling factor last set times the global internal set velocity of the former master.

The online conversion of a slave axis into a master axis is only possible, if the velocity of the master axis (and therefore the velocity of the slave axis) is not equal zero (override > 0.0), otherwise the conversion occurs off-line. The main purpose of online conversion is the separation of master and slave axis (or splitting of a cascade into partial cascades), in order to be able to stop both components independent from each other.

General notes for uncoupling during compensation:

  • Uncoupling during compensation travel of a slave to be uncoupled or a slave in the chain between the master (exclusively) and the slave to be uncoupled (inclusively): the current basic slave dynamics and the current compensation velocity are maintained; the compensation will never be completed.
  • Uncoupling during compensation travel of the master: the current basic slave dynamics and the current compensation velocity are maintained; the compensation will never be completed.

Master axis: start from 0.0 mm to 20,000.0 mm with V = 2000.0 mm/sec.
Slave axis: coupling and start position 0.0 mm, coupling factor 1.0.
Online uncoupling, slave stop, then master stop.

Master axis: start from 0.0 mm to 20,000.0 mm with V = 2000.0 mm/sec.
Slave axis: coupling and start position 0.0 mm, coupling factor 0.5.
Online uncoupling, slave stop, then master stop.

Online uncoupling and new end position

Coupling factor 0.8, uncoupling and aim for new end position in +ve direction of travel.

Coupling factor -0.8, uncoupling and aim for new end position in -ve direction of travel.

Coupling factor 0.75, uncoupling and aim for new end position against direction of travel.

Interfaces

System Manager

PLC Blocks


Position compensation

In the following sections, the dynamics and positioning specified by the coupling to the respective master will be referred to as basic dynamics and basic positioning. Position compensation is an additional positioning that is additively superimposed on the basic positioning. Over a certain distance (compensation length L), additional positioning is carried out by a desired distance (compensation difference D). The aim of slave axis position compensation is generally spatial synchronisation with other axes.

Position compensation may be aborted via a compensation stop (continuous).

Position compensation of slave axes is a variant of master axis position compensation.

Warning:

If the compensation difference D is negative (deceleration), (double) movement reversal is possible.

General notes:

  1. D may be negative. In this case, the overall positioning lags behind the basic positioning.
  2. Compensation is complete, once the distance L±D has been travelled.
  3. Compensation is a linear path control, i.e. during compensation the slave axis will follow all the changes in basic dynamics (e.g. override 0.0).
  4. During compensation, axis compensation start is locked, i.e. there is no compensation iteration.
  5. End of path during axis compensation stops the compensation.

Special notes for slave axes:

  1. If a slave axis is coupled to a virtual axis as master axis, the slave axis can only start and carry out a compensation if the velocity filter time (of the virtual axis) is large enough for the axis not to change direction randomly.
  2. Position compensation is possible independently on all axes of a cascade (including master axis).
  3. Within a cascade, compensation is passed on to the subsequent slave axes. In case of negative (relative to the axis direction) compensation, movement reversal may occur.
  4. In case of several compensations within a cascade, the compensation velocities will be added to each other, and the accelerations will be multiplied to each other.
  5. In case of uncoupling of a slave axis during slave or master axis compensation, or of a control axis between master axis and the slave axis to be uncoupled, the basic dynamics of the master axis is maintained and the velocity and the position is carried out continuously differentiable, i.e. the compensation velocity at the uncoupling time is maintained, and the compensation is never completed.
  6. Compensation takes place independent of the slave axis coupling factor.

Algorithm

After checking the compensation start parameters, a calculation will be carried out to check whether compensation of the difference D over distance L is feasible with the compensation start parameters. If this is not the case, the maximum possible compensation difference is calculated and activated for D. In any case, the parameters are chosen in such a way that compensation occurs over the whole compensation length. The set value generation of the compensation is a non-jerk-limited 3-phase-algorithm (trapezoidal velocity profile), whereby different ramp slopes are possible.

Compensation: slave will catch up fully. Master start from 0.0 mm to 10,000.0 mm with V = 2000.0 mm/sec. Slave start position -500.0 mm, coupling factor 1.0.

Compensation: A+ = 500.0 mm/sec/sec, A- = 1000.0 mm/sec/sec, V = 300.0 mm/sec, VP = 2000.0 mm/sec, D = 500.0 mm. L = 5000.0 mm.

Compensation: slave slower.

Master start from 0.0 mm to 10,000.0 mm with V = 2000.0 mm/sec. Slave start position 500.0 mm, coupling factor 1.0.

Compensation: A+ = -500.0 mm/sec/sec, A- = 1000.0 mm/sec/sec, V = 300.0 mm/sec, VP = 2000.0 mm/sec, D = 500.0 mm. L = 5000.0 mm.

Start parameters

Position compensation: Start parameters

Start parameters | Meaning and boundary conditions
Compensation length L | Distance, over which additional positioning occurs (L > 0.0)
Compensation difference D | Additional travel distance (D ¹ 0.0)
Basic process velocity VP | Velocity, to which the velocity increase refers (generally axis set velocity) (VP > 0.0)
Velocity increase VK | Permissible velocity increase / reduction relative to the basic process velocity (VK > 0.0)
Acceleration AK+ | Required acceleration increase relative to the global axis acceleration (AK+ > 0.0)
Deceleration AK- | Required deceleration increase relative to the global axis deceleration (AK- > 0.0)

Notes on start parameters.

  1. The compensation difference D may be positive (making up) or negative (deceleration). If D < 0.0, movement reversal is possible.
  2. The compensation refers to a basic process velocity VP, which is generally reached by starting the master axis to a set velocity with an override of x%, so that: v = x /100. It is assumed that the master will have reached this velocity when compensation is requested.
  3. If the preset basic process velocity VP does not coincide with the amount of the actual current local axis velocity v, the following applies. If VP > v, the actual compensated distance (absolute) will be less than the required one (or the one calculated at the start). If VP < v, the actual compensated distance will generally be equal the required one (or the one calculated at the start). This means that for stop or override 0.0, the actual compensated distance (absolute) will be less than the required one (or the one calculated at the start).
  4. The values AK+ and AK- are increases in path acceleration/path deceleration values, i.e. if D > 0.0, compensation starts with the acceleration increase AK+, whilst, if D < 0.0, compensation starts with the deceleration increase AK-.

Special notes for compensation within slave cascade.

During simultaneous compensation of all axes, let A_m+ be the acceleration of the cascade master axis, AK_m+ the compensation acceleration the master axis, and AK_sk+ the compensation acceleration of the k-th slave axis, 1 ≤ k ≤ n. Then the following applies ( Π is the product of all k)

A_m+ * AK_m+ Π; AK_sk+ ≤ A_max+

whereby A_max+ is the master axis acceleration that would be achievable without slaves. (If an axis does not take part in the compensation, AK_sk+= 1 is to be used for its acceleration in this equation). Analogous considerations apply for A-.

Compensation stop

The function stop terminates the compensation of an axis, if the axis is in compensation mode, but not in the braking phase of compensation, by suitably moving the (temporal) phase limits of the 3-phase algorithm, recalibrating the length of the compensation length L, recalibrating the differential speed and replacing the compensating distance D at the end the compensation by the actual compensated distance.

Interfaces

Compensation start

System Manager: Compensation parameters

System Manager: Compensation start

PLC Blocks: Compensation start

Compensation stop

System Manager

PLC Blocks


Overview

A slave axis, whose position set values are determined from

  1. the position set value of another axis (master axis) through an affine transformation and
  2. a coupling factor set through the cyclic PLC-NC interface within the PLC cycle,

is called cyclic slave axis. If the coupling factor changes continually, for example because it depends on an external signal, the slave algorithm in each PLC cycle is linear, i.e. locally linear and globally non-linear.
The following applies: slave set position = coupling factor(PLC) * master set position + offset, with the offset determined from the coupling position and the coupling factor continually being reset.
Whilst coupling of the slaves to the master occurs off-line (master and slave are stationary), uncoupling may occur online: the slave is converted into a master, which continues to travel as if it was still a slave, but may be stopped independent from the former master.
Every online change of the coupling factor causes a discontinuity in the velocity and therefore a strain on the dynamics the axis. In order to avoid excessive strain, the coupling factor arriving via the cyclic interface is therefore smoothed (= filtered). Smoothing is parameterised by limiting the amount of the slave axis acceleration.

Parameters

The parameter AccBound in mm/s² is the desired acceleration limit of the slave axis. In order to avoid the algorithm becoming instable, a large enough limit must be chosen. Stability is ensured, if AccBound ≥ max(|Cf(t)|) * max(A+,-A-) is selected, where Cf(t) is the coupling factor at time t and A+ and A- are the acceleration limits of the master axis (if the master axis itself is a slave axis, an appropriate calculation must be carried out).

Interfaces

The interfaces consist of the System Manager, PLC blocks and the cyclic NC-PLC axis interface.

Uncoupling and new end position

Uncoupling is possible in every dynamic state of the master axis - the slave axis is converted into a master axis and continues to travel as if it was still a slave axis, although it can be stopped individually. The coupling flag is reset.
During off-line uncoupling (uncoupling while stationary), the slave axis is converted into a PTP-master axis.
During online uncoupling (uncoupling during travel), the slave axis is converted back into a PTP master axis. A new end position in the direction of travel may be aimed for.