FB_EllipticSpline - CalcHalfSpline (Method)
Type: |
Method |
Available as of: |
V1.4.1.0 |
This chapter provides information on:
oTask
Calculating spline points for an elliptic spline.
Based on the inputs i_stStart, i_stTarget and on the value of the property udiNumberOfSplinePoints, 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_RobotMotion.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:
Half spline from start position down to target position:
Input |
Data type |
Description |
---|---|---|
i_stStart |
Start position in cartesian coordinates Value range: i_stStart.lrX / lrY <> i_stTarget.lrX / lrY |
|
i_stTarget |
Target position in cartesian coordinates Value range: i_stStart.lrX / lrY <> i_stTarget.lrX / lrY |
Output |
Data type |
Description |
---|---|---|
q_etDiag |
General library-independent statement on the diagnostic. A value not equal to ET_Diag.Ok corresponds to a diagnostic message. |
|
q_etDiagExt |
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 |
Calculated spline table from start to end position. |
|
q_stReverse |
Calculated spline table from end to start position. |
|
q_lrSplineLength |
LREAL |
Resulting length of linear connections between the spline points of the elliptic spline. |
q_etDiag |
q_etDiagExt |
Enumeration value |
Description |
---|---|---|---|
OK |
0 |
Ok |
|
InputParameterInvalid |
165 |
The heights are identical. |
|
InputParameterInvalid |
163 |
The positions are identical. |
|
InputParameterInvalid |
89 |
The number of spline points is out of range. |
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. |
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. |
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. |
Enumeration name: |
Ok |
Enumeration value: |
0 |
Description: |
Ok |
Calculating the elliptic spline was successful.