FB_EllipticSpline - CalcHalfSpline (Method)

Overview

Type:

Method

Available as of:

V1.4.1.0

This chapter provides information on:

oTask

oDescription

oInterface

oDiagnostic Messages

Task

Calculating spline points for an elliptic spline.

Description

Based on the inputs i_stStart, i_stTarget and on the value of the property udiNumberOf­SplinePoints, this method calculates a position table for a spline interpolation in three-dimensional space. Traveling along these positions can be realized by using the IF_Robot­Motion.MoveS motion command. A position table is calculated from the start position to the target position as well as from the target position to the start position. For this purpose, one ellipse-shaped half branch is calculated: from the start position down or up to the target position.

Half spline from start position up to target position:

G-SE-0064057.1.gif-high.gif

 

 

Half spline from start position down to target position:

G-SE-0064056.1.gif-high.gif

 

 

Interface

Input

Data type

Description

i_stStart

PDL.ST_Vector3D

Start position in cartesian coordinates

Value range: i_stStart.lrX / lrY <> i_stTarget.lrX / lrY

i_stTarget

PDL.ST_Vector3D

Target position in cartesian coordinates

Value range: i_stStart.lrX / lrY <> i_stTarget.lrX / lrY

Output

Data type

Description

q_etDiag

GD.ET_Diag

General library-independent statement on the diagnostic.

A value not equal to ET_Diag.Ok corresponds to a diagnostic message.

q_etDiagExt

ET_DiagExt

POU-specific output on the diagnostic.

q_etDiag = ET_Diag.Ok -> Status message

q_etDiag <> ET_Diag.Ok -> Diagnostic message

q_sMsg

STRING[80]

Event-triggered message that gives additional information on the diagnostic state.

q_stForward

ST_SplineTable

Calculated spline table from start to end position.

q_stReverse

ST_SplineTable

Calculated spline table from end to start position.

q_lrSplineLength

LREAL

Resulting length of linear connections between the spline points of the elliptic spline.

Diagnostic Messages

q_etDiag

q_etDiagExt

Enumeration value

Description

OK

Ok

0

Ok

InputParameterInvalid

IdenticalHeight

165

The heights are identical.

InputParameterInvalid

IdenticalPosition

163

The positions are identical.

InputParameterInvalid

NumberOfSplinePointsRange

89

The number of spline points is out of range.

IdenticalHeight

Enumeration name:

IdenticalHeight

Enumeration value:

165

Description:

The heights are identical.

Issue

Cause

Solution

Calculating the elliptic spline was unsuccessful.

The cartesian component Z of the start position (i_stStart) and of the target position (i_stTarget) is identical in a range of 0.001.

Ensure that the values are not identical to each other.

IdenticalPosition

Enumeration name:

IdenticalPosition

Enumeration value:

163

Description:

The positions are identical.

Issue

Cause

Solution

Calculating the elliptic spline was unsuccessful.

The cartesian components X and Y of the start position (i_stStart) and of the target position (i_stTarget) are identical in a range of 0.001.

Ensure that both values are not identical to each other.

NumberOfSplinePointsRange

Enumeration name:

NumberOfSplinePointsRange

Enumeration value:

89

Description:

The number of spline points is out of range.

Issue

Cause

Solution

Calculating the elliptic spline was unsuccessful.

The value transferred at the property udiNumberOfSplinePoints lies outside the valid range.

Ensure that udiNumberOfSplinePoints is greater than or equal to 3.

Ensure that udiNumberOfSplinePoints is less than or equal to 98.

Ok

Enumeration name:

Ok

Enumeration value:

0

Description:

Ok

Calculating the elliptic spline was successful.