Type: |
Method |
Available as of: |
V2.11.0.0 |
Versions: |
Current version |
This chapter provides information on:
This method can be used to calculate an elliptic pick and place spline and issue the respective move command. It can only be used for a Schneider Electric P-Series robot and in combination with the library SchneiderElectricRobotics.
The motion parameters are automatically calculated dependent on the payload to achieve a high performance. The values can be capped using the methods ROB.IF_Motion.SetMotionParameters, ROB.IF_Motion.SetMaxAcceleration, ROB.IF_Motion.SetMaxDeceleration and ROB.IF_Motion.SetMaxVelocity. If the calculated values are greater than the set values, the motion parameters are limited to the set values.
Internally, the methods FB_EllipticSpline.CalcFullSpline (i_xHalfSpline = FALSE) and FB_EllipticSpline.CalcHalfSpline (i_xHalfSpline = TRUE) are used to calculate the spline, and the method IF_RobotMotion.MoveS is used to send the move command.
The start of the spline is the last target position (refer to Robotic Library Guide – IF_RobotFeedback.rstLastTarget). The zone of the internal MoveS is set to zero, so a blending into another move command after the FastMoveS is not possible.
Input |
Data type |
Description |
---|---|---|
i_stTarget |
SE_Math |
Target position coordinates of the motion job in three-dimensional space. |
i_udiSegmentId |
UDINT |
ID of the motion job. The ID of a motion job in a connected path must be unique. Value range: i_udiSegmentId > 0 |
i_lrAbsHeight |
LREAL |
Absolute height of the elliptic spline apex. When i_xHalfSpline is set to TRUE, i_lrAbsHeight is ignored and the value is calculated automatically. Value range:
|
i_xHalfSpline |
BOOL |
TRUE: only a half spline (rising or falling arc) should be calculated). |
i_udiNumberOfSplinePoints |
UDINT |
Number of spline points for the elliptic spline to be calculated. Value range: 3 ≤ udiNumberOfSplinePoints ≤ 98 |
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 |
ROB.ET_DiagExt |
POU-specific output for 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_etDiag |
q_etDiagExt |
Enumeration value |
Description |
---|---|---|---|
OK |
Ok |
0 |
Successful |
ExecutionAborted |
NoSchneiderElectricRobot |
222 |
The configured robot is not a Schneider Electric robot. |
ExecutionAborted |
FastMoveNotConfigured |
223 |
The FastMove functionality is not configured. |
Enumeration name: |
NoSchneiderElectricRobot |
Enumeration value: |
222 |
Description: |
The configured robot is not a Schneider Electric robot. |
Issue |
Cause |
Solution |
---|---|---|
The motion job was aborted. |
The configured robot is not a Schneider Electric P-Series robot. |
Use FastMoveS only in combination with a Schneider Electric P-Series robot. |
Enumeration name: |
FastMoveNotConfigured |
Enumeration value: |
223 |
Description: |
The FastMove functionality is not configured. |
Issue |
Cause |
Solution |
---|---|---|
The motion job was aborted. |
The configured robot is not a Schneider Electric P-Series robot. |
Use FastMoveS only in combination with a Schneider Electric P-Series robot. |
The FastMove functionality is not configured. |
Make sure that the method FB_RobotPSeries.Configure was called successfully for the robot. |