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 millimeter [mm] and second [s], although the position can also be displayed in modulo values. Here, the units used are mm and s.
The axis can be started from its current position absolute, relative or modulo (in relation to a given modulo factor) to a target position.
The direction of travel of the axis is determined on the basis of the sign of the modulo position. If a modulo position smaller than the modulo factor is specified, (default value 360.0) 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. To approach the position 0.0 in negative direction, a negative value close to 0, e.g. -1e-6 can be specified.
If a modulo position is specified as being greater than or equal to the modulo factor, the target position is no longer reached by the shortest route, but only after the modulo position has been passed over once or several times. As always, the sign defines the direction of travel and the position value divided by the modulo factor defines the number of additional revolutions until subsequently stopping at the corresponding orientation. An example: modulo start at position +540.0 degrees with modulo factor 360.0 means that the axis is moved at least one period (360.0 + 180.0 = 540.0) in positive direction and then is stopped on the shortest way oriented at the modulo position 180.0 degrees.
Here, only absolute positioning is considered.
In the following a(t) is used for acceleration, v(t) for velocity and p(t) for position at time t after start of axis.
In this context accelerations/decelerations and velocities almost refer to path accelerations/decelerations (path acceleration/deceleration = signum(axis target velocity) × axis acceleration/deceleration ) and path velocities ( path velocity = magnitude of axis velocity).
Global dynamic parameters
- Acceleration A+ > 0: the parameter A+ limits the acceleration upwards, i.e. for the entire positioning applies: a(t) ≤ A+.
- Deceleration A- > 0: the parameter A- limits the acceleration downwards, i.e. for the entire positioning applies: -A- ≤ a(t).
- Jerk unit (change in acceleration) J: the jerk unit controls the increase and reduction 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 target 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 s.
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 [])
- Acceleration phases a(t) > 0:
- Acceleration increase: da(t)/dt = +J,
- [Constant acceleration: a(t) = A+],
- Acceleration decrease: da(t)/dt = -J,
- [Constant velocity phase |v(t)| = V],
- Deceleration phases a(t) < 0:
- Deceleration increase: da(t)/dt = -J,
- [Constant deceleration: a(t) = -A-],
- 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
- Prior to a start request: the Set PreParation task is awaiting new tasks, and in the Set ExeCution task only position control is operating.
- Set PreParation task: once the start parameters have been checked, a dynamic profile is generated and stored in a runtime table. The setpoint generation of the Set ExeCution task is than automatically enabled.
- Set ExeCution task: the setpoint generator calculates the current setpoints based on the runtime table and the expired time since the start and transfers them to the position controller. Setpoints for the setpoint generation are the local setpoints, i.e. the following parameters calculated during every cycle:
- the position setpoint (for position control),
- the velocity command value (for velocity pre-control),
- the acceleration setpoint (for control with special controllers),
- the set direction (for direction-independent feed monitoring).
- After the end of path: in the Set ExeCution task, once again only the position controller is executed.
Notes on the figures:
Scales: velocity [mm/s] / time [s]
Colors:
Set position: dark blue Actual position: light blue
Target 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/s/s, R = 50000.0 mm/s/s, V = 2000.0 mm/s from 0.0 mm to 1000.0 mm

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

Dynamics 1.3 Dynamic profile with A+ = A- = 15000.0 mm/s/s, R = 50000.0 mm/s/s, V = 2000.0 mm/s 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/s/s, R = 20000.0 mm/s/s, V = 2000.0 mm/s from 0.0 mm to 1000.0 mm

Dynamics 2.2 Dynamic profile with A+ = A- 5000.0 mm/s/s, R = 50000.0 mm/s/s, V = 2000.0 mm/s from 0.0 mm to 1000.0 mm

Dynamics 2.3 Dynamic profile with A+ = A- 5000.0 mm/s/s, R = 100000.0 mm/s/s, V = 2000.0 mm/s from 0.0 mm to 1000.0 mm
Dynamics III: velocity reduction

Dynamics 3.1 Dynamic profile with A+ = A- 5000.0 mm/s/s, R = 50000.0 mm/s/s, V = 1500.0 mm/s from 0.0 mm to 800.0 mm

Dynamics 3.2 Dynamic profile with A+ = A- 5000.0 mm/s/s, R = 50000.0 mm/s/s, V = 1750.0 mm/s from 0.0 mm to 800.0 mm

Dynamics 3.3 Dynamic profile with A+ = A- 5000.0 mm/s/s, R = 50000.0 mm/s/s, V = 2000.0 mm/s from 0.0 mm to 800.0 mm
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:
- 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-). (An example: with Saf- cycle time T = 1/1000 s , acceleration as well as deceleration A+ = A- = 10000 mm/s/s = 1/100 mm/T/T, jerk J = 100000 mm/s/s = 1/10000 mm/T/T results in J = 0.0001 " A+ = A-= 0.01.)
- 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 | Meaning and boundary conditions |
---|---|
Target velocity V | requested path set velocity (amount of the axis target velocity) (V > 0.0, V ≤ V_max) |
Target position P | Position to be approached P (P_min ≤ P ≤ P_max) |
Notes on start parameters:
- If the target velocity is greater than the maximum permitted velocityV_max for the axis, the start is refused and an error is generated.
- If the target velocity is greater than the reference velocityV_ref specified for the axis, then the start is refused and an error is generated.
If the target velocity is equal or nearly equal to the reference velocity, then the axis has no or only little reserves for control. - For orders of magnitude from A+ and A- to V in units mm and Saf- cycle time T should be valid with sufficiently large distances: max (A+,A-) " V. (An example: with Saf- cycle time T = 1/1000 s , target velocity V = 1000 mm/s = 1 mm/T, acceleration as well as deceleration A+ = A- = 10000 mm/s/s = 1/100 mm/T/T results in A+ = A- = 0.01 "1 = V.)
- 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.
- A start from outside the software limit switches (P_min, P_max) into the range within the software limit switches is permitted.