FB_QSpline - General Information

Overview

Type:

Function block

Available as of:

V1.0.0.0

Inherits from:

-

Implements:

IF_CamReferenceGenerator

NOTICE

COMPLEX FUNCTION

Contact your responsible Schneider Electric contact partner, before using function blocks of this library directly.

Failure to follow these instructions can result in equipment damage.

Other libraries, for example the PD_SmartInfeed are using the PD_SoMotionGenerator internally. It is not necessary to contact your responsible Schneider Electric contact partner when using these librariers.

Task

Generation and calculation of reference values of a quintic spline

Description

This standard function block serves for external generation and calculation of quintic splines (QSpline). In order to generate a QSpline, an instance of the function block must be created within the user program, then one of the two methods for generating a QSpline must be called up.

The method PrepareEqDisX() generates a QSpline with equidistant X values. Using PrepareVarDisX(), a QSpline with discretionary (strictly monotonic increasing) X values is generated.

For execution, a cam job type ET_MotionJobType.ExternalCam must be assigned and this function block must be transferred to the parameter ifCamReferenceGenerator of the structure ST_ExternalCam.

Compared to the cubic spline, the quintic spline provides two additional degrees of freedom. In addition to the slopes, also the bends can be defined in the boundary points.

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

Calculate

Calculation of the QSpline reference positions. Is part of the interface IF_CamReferenceGenerator and thus does not have to be called up by the user. Can be used to issue slave positions depending on master positions.

PrepareEqDisX

Generation of a QSpline with equidistant X values

PrepareVarDisX

Generation of a QSpline with discretionary (strictly monotonic increasing) X values

Reset

Releasing occupied dynamic memory