IF_FastMove - FastMoveS (Method)

Overview

Type:

Method

Available as of:

V2.11.0.0

Versions:

Current version

This chapter provides information on:

Task

Calculate an elliptic pick and place spline.

Description

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.

Interface

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 is FALSE

  • i_lrAbsHeight >

    stStart.lrZ and
  • i_lrAbsHeight > i_stTarget.lrZ

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

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

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.

Diagnostic Messages

NOTE: The method may also return the diagnosis from the methods MoveS, FB_EllipticSpline.CalcFullSplineand FB_EllipticSpline.CalcHalfSpline.

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.

Ok

Enumeration name:

Ok

Enumeration value:

0

Description:

Successful

The motion job was successful.

NoSchneiderElectricRobot

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.

FastMoveNotConfigured

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.