FB_PathForJerkPositioning - General Information

Overview

Type:

Function block

Available as of:

V1.5.3.0

Inherits from:

-

Implements:

-

Versions:

Current version

Task

Calculation for analysis of a motion positioning instruction which is based on a definition of up to 10 jerk phases.

Description

Often positioning is done with movements that are composed by phases with linear acceleration.

Such movements can be constructed by applying phases with constant jerk.

The solution of the positioning job (x0,a0,v0)→(x1,v1,a1) is of such type with up to 7 jerk phases.

An example of such positioning is shown in graphic below.

There are some other movements that can be constructed with constant jerk phases as, for example, changing the velocity.

In this case 3 jerk phases are sufficient .

The function block FB_PathForJerkPositioning allows a movement of up to 10 jerk phases.

Example of a 7-phase positioning. The jerk phases are assigned to the indices: 0, 1, …6.

G-SE-0068876.1.gif-high.gif

 

 

But the concept of applying several phases of constant jerk is general. Thus the function block FB_PathForJerkPositioning is used. It gets the initial state (x0,a0,v0) of a movement and several jerk phases, that are described with the jerk value j_i and the duration t_i of the phase. This defines the motion state for arbitrary time stamps during the jerk phases.

The function block FB_PathForJerkPositioning is not a cyclic one. It is not necessary to traverse the path cyclically by calling the main body cyclically. The movement state can be checked in any order.

The function block FB_PathForJerkPositioning is either the result of FB_RgPosStartOp­timised or freely initialized by the specification of consecutive jerk phases.

FB_PathForJerkPositioning uses seconds as time unit and a general length unit u.

Usage

oThe usage of this function block is explained by a simple project shown in figure below.

o1. Create an instance of FB_PathForJerkPositioning.

o2. Initialize its starting point at t=0.

o3. Set the jerk phases (here just a single jerk phase).

o4. Then at any point of your program you can query the movement state at a specific time point t.

In case of FB_PathForJerkPositioning as a result of FB_RgPosStartOptimised the steps 2+3 are replaced by a simple assignment. Also refer to FB_RgPosStartOptimisedUsageStep 5.

Exemplary usage of the function block FB_PathForJerkPositioning

G-SE-0068877.1.gif-high.gif

 

 

Interface

NOTE: POU is not addressable!

The POU must not be called up.

The function block can be used by calling it up over methods and properties.

Methods

Name

Description

GetCurrentPhase

Returns the phase index used last.

GetEndPosition

Returns the position at the end of the motion.

GetMovementState

Returns the position, velocity, acceleration, and jerk for a specific time.

SetInitialPositions

Set the initial position, velocity, and acceleration.

SetJerkPhases

Sets the jerk phases for the complete motion instruction with time- and jerk arrays.

SetSingleJerkPhase

Sets a single jerk phase.

SetThreeJerkPhases

Sets three jerk phases.

SetTwoJerkPhases

Sets two jerk phases.