IF_RobotMotion - MoveS (Method)

Overview

Type:

Method

Available as of:

V1.0.0.0

This chapter provides information on:

Task

Spline motion in three-dimensional space.

Description

With the method MoveS(...), a motion job can be issued in order to move to a target position in three-dimensional space via a defined spline.

Requirements to the motion point table i_stSplineTable.astSplinePoint:

  • The first motion point must correspond to the start position, therefore the target position of the previous motion job.

  • The target position i_stTarget must correspond to the i_stSplineTable.udiNumberOfSplinePoints motion point.

  • Two motion points following one another cannot be identical.

  • i_stSplineTable.astSplinePoint must consist of at least three motion points.

Interface

Input

Data type

Description

i_stTarget

PDL.ST_Vector3D

Target position coordinates of the motion job in three-dimensional space.

i_stSplineTable

ST_SplineTable

Table with the motion points of the spline that have to be processed.

i_lrMaxZone

LREAL

Configuration of the maximum size of the blending zone of the motion job.

Value range: i_lrMaxZone ≥ 0.0

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

Output

Data type

Description

q_etDiag

GD.ET_Diag

General library-independent statement on the diagnostic.

A value not equal to GD.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.

Diagnostic Messages

q_etDiag

q_etDiagExt

Enumeration value

Description

OK

IdenticalTarget

14

A move command has been sent to an identical target position.

OK

NewConnectedPath

43

A new connected path is established.

OK

Ok

0

Ok

ExecutionAborted

CommandRefused

10

The command has been denied.

ExecutionAborted

ConfigInvalid

1

The configuration is invalid.

ExecutionAborted

Disabled

51

Disabled

ExecutionAborted

MotionParameterInvalid

130

The motion parameters are invalid.

ExecutionAborted

NoMoreConnectedPathsAvailable

87

There are no more connected paths available.

ExecutionAborted

NoMoreSegmentsAvailable

86

There are no more segments available.

ExecutionAborted

NoMoreZonesAvailable

88

There are no more zones available.

ExecutionAborted

NotReady

77

The robot is not ready.

ExecutionAborted

StartOffsetRange

116

The start offset is out of range.

ExecutionAborted

WorkEnvelope

159

Diagnostic message concerning the work envelope is active.

ExecutionAborted

NoMoreArmConfigurationEventsAvailable

201

The maximum number of available arm configuration events is reached.

ExecutionAborted

ExternalPositionSourceConfigured

205

The external position source is configured.

InputParameterInvalid

MaxZoneRange

12

The maximum zone is out of range.

InputParameterInvalid

NumberOfSplinePointsRange

89

The number of spline points is out of range.

InputParameterInvalid

SegmentIdAlreadyExists

21

The segment Id already exists.

InputParameterInvalid

SegmentIdRange

15

The segment Id is out of range.

InputParameterInvalid

SplinePointInvalid

45

A spline point is invalid.

InputParameterInvalid

SplinePointsIdentical

23

Spline points are identical.

InputParameterInvalid

StartPointNotIdentical

22

The start point is not identical to the target position of the last move command.

InputParameterInvalid

TargetInvalid

91

The target is invalid.

UnexpectedProgramBehavior

InitializationFailed

4

The initialization was unsuccessful.

UnexpectedProgramBehavior

InterfaceInvalid

3

An interface is invalid.

UnexpectedProgramBehavior

UnexpectedFeedback

13

A feedback value was invalid.

CommandRefused

Enumeration name:

CommandRefused

Enumeration value:

10

Description:

The command has been denied.

Issue

Cause

Solution

The motion job was aborted.

A positioning command is already being processed. Two move commands, for example MoveL(...), MoveC(...), MoveS(...) or MoveSync(...), are called simultaneously.

Ensure that move commands are called one after another and not simultaneously.

ConfigInvalid

Enumeration name:

ConfigInvalid

Enumeration value:

1

Description:

The configuration is invalid.

Issue

Cause

Solution

The motion job was aborted.

The robot configuration is invalid.

Call the method ConfigDone(...) to complete the configuration of the robot.

Disabled

Enumeration name:

Disabled

Enumeration value:

51

Description:

Disabled

Issue

Cause

Solution

The motion job was aborted.

FB_Robot.xEnable = FALSE -> The robot is not active.

Set FB_Robot.xEnable = TRUE to enable the robot.

ExternalPositionSourceConfigured

Enumeration name:

ExternalPositionSourceConfigured

Enumeration value:

205

Description:

The external position source is configured.

Issue

Cause

Solution

The motion job was aborted.

An external position source for the robot components cartesian, orientation and auxiliary axes is configured.

Sending a motion job is not possible when an external position source for the robot components is configured.

Do not send a motion job.

IdenticalTarget

Enumeration name:

IdenticalTarget

Enumeration value:

14

Description:

A move command has been sent to an identical target position.

Issue

Cause

Solution

The motion job was aborted.

The motion job target position transferred at the input i_stTarget is identical to the target position of the previously issued motion job.

A corresponding entry is created in the logger.

Ensure that the target position is different from the last target position of the previously issued motion job.

Decrease the value of IF_RobotConfigurationAdvanced.lrMinPositionDelta, if necessary.

InitializationFailed

Enumeration name:

InitializationFailed

Enumeration value:

4

Description:

The initialization was unsuccessful.

The motion job was aborted.

InterfaceInvalid

Enumeration name:

InterfaceInvalid

Enumeration value:

3

Description:

An interface is invalid.

The motion job was aborted.

MaxZoneRange

Enumeration name:

MaxZoneRange

Enumeration value:

12

Description:

The maximum zone is out of range.

Issue

Cause

Solution

The motion job was aborted.

The value transferred at the input i_IrMaxZone lies outside the valid range.

At the input i_lrMaxZone, a value greater than or equal to 0 must be transferred.

MotionParameterInvalid

Enumeration name:

MotionParameterInvalid

Enumeration value:

130

Description:

The motion parameters are invalid.

Issue

Cause

Solution

The motion job was aborted.

The motion parameters of the path are invalid.

At least one of the motion parameters (Velocity, Acceleration, Deceleration, Ramp) is invalid.

Ensure that the used motion parameters for each ET_RobotComponent are valid.

NewConnectedPath

Enumeration name:

NewConnectedPath

Enumeration value:

43

Description:

A new connected path is established.

The motion job was transferred successfully.

A new connected path is established.

NoMoreArmConfigurationEventsAvailable

Enumeration name:

NoMoreArmConfigurationEventsAvailable

Enumeration value:

201

Description:

The maximum number of available arm configuration events is reached.

Issue

Cause

Solution

The motion job was aborted.

No more arm configuration events can be issued for this motion.

Wait until move commands with arm configuration modifications have been executed before sending new move commands.

NoMoreConnectedPathsAvailable

Enumeration name:

NoMoreConnectedPathsAvailable

Enumeration value:

87

Description:

There are no more connected paths available.

Issue

Cause

Solution

The motion job was aborted.

No further motion jobs can be issued. The maximum number of connected paths has been reached.

Wait until move commands for path movements have been executed before sending new move commands.

NoMoreSegmentsAvailable

Enumeration name:

NoMoreSegmentsAvailable

Enumeration value:

86

Description:

There are no more segments available.

Issue

Cause

Solution

The motion job was aborted.

No more motion jobs can be issued for a spline motion.

Wait until move commands for spline movements have been executed before sending new move commands.

NoMoreZonesAvailable

Enumeration name:

NoMoreZonesAvailable

Enumeration value:

88

Description:

There are no more zones available.

Issue

Cause

Solution

The motion job was aborted.

No further motion jobs can be issued. The maximum number of blending zones has been reached.

Wait until move commands for path movements have been executed before sending new move commands.

NotReady

Enumeration name:

NotReady

Enumeration value:

77

Description:

The robot is not ready.

Issue

Cause

Solution

The motion job was aborted.

The robot is not ready.

Ensure that the configuration of the robot is finished, the robot is enabled and the drives are ready.

NumberOfSplinePointsRange

Enumeration name:

NumberOfSplinePointsRange

Enumeration value:

89

Description:

The number of spline points is out of range.

Issue

Cause

Solution

The motion job was aborted.

The value transferred at the input i_stSplineTable.udiNumberOfSplinePoints lies outside the valid range.

Ensure that i_stSplineTable.udiNumberOfSplinePoints is greater than or equal to 3.

Ensure that i_stSplineTable.udiNumberOfSplinePoints is less than or equal to Gc_udiMaxNumberOfSplinePoints.

Ok

Enumeration name:

Ok

Enumeration value:

0

Description:

Ok

The motion job was transferred successfully.

SegmentIdAlreadyExists

Enumeration name:

SegmentIdAlreadyExists

Enumeration value:

21

Description:

The segment Id already exists.

Issue

Cause

Solution

The motion job was aborted.

The Id transferred at the input i_udiSegmentId already exists in the latest connected path.

Ensure that the segment Id is unique in the latest connected path.

SegmentIdRange

Enumeration name:

SegmentIdRange

Enumeration value:

15

Description:

The segment Id is out of range.

Issue

Cause

Solution

The motion job was aborted.

The value transferred at the input i_udiSegmentId lies outside the valid range.

At the input i_udiSegmentId, a value greater than or equal to 1 must be transferred.

SplinePointInvalid

Enumeration name:

SplinePointInvalid

Enumeration value:

45

Description:

A spline point is invalid.

Issue

Cause

Solution

The motion job was aborted.

The transformation IF_RobotConfiguration.Cartesian2Ax is selected but all cartesian components of the spline points transferred at the input i_stSplineTable.astSplinePoint are used.

Ensure that the cartesian component that is not selected in the plane is 0. For example, ET_WorkingPlane.XY is selected, then i_stSplineTable.astSplinePoint[...].lrZ has to be 0.

A motion job spline point transferred at the input i_stSplineTable.astSplinePoint is outside the valid work envelope of the robot.

Ensure that all spline points transferred at the input i_stSplineTable.astSplinePoint are inside the valid work envelope of the robot.

SplinePointsIdentical

Enumeration name:

SplinePointsIdentical

Enumeration value:

23

Description:

Spline points are identical.

Issue

Cause

Solution

The motion job was aborted.

The coordinates of two spline points following one another in the spline table are identical.

Ensure that two sequent spline points are not identical.

StartOffsetRange

Enumeration name:

StartOffsetRange

Enumeration value:

116

Description:

The start offset is out of range.

Issue

Cause

Solution

The motion job was aborted.

The value transferred at the input i_lrStartOffset of the method IF_RobotMotion.ChangeCoordinateSystem was negative.

The start position for changing the coordinate system is calculated from the end of the spline move command. The length of the spline move command is too short.

Ensure that the length of the spline move command is long enough.

Ensure that the start offset fits to the length of the spline move command.

StartPointNotIdentical

Enumeration name:

StartPointNotIdentical

Enumeration value:

22

Description:

The start point is not identical to the target position of the last move command.

Issue

Cause

Solution

The motion job was aborted.

The coordinates of the first motion point of the table do not correspond to the start position of the motion (target position of the last motion job).

Ensure that the first spline point (i_stSplineTable.astSplinePoint[1]) is identical to the target of the last move command.

TargetInvalid

Enumeration name:

TargetInvalid

Enumeration value:

91

Description:

The target is invalid.

Issue

Cause

Solution

The motion job was aborted.

The transformation IF_RobotConfiguration.Cartesian2Ax is selected but all cartesian components of the target position transferred at the input i_stTarget are used.

Ensure that the cartesian component that is not selected in the plane is 0. For example, ET_WorkingPlane.XY is selected, then i_stTarget.lrZ has to be 0.

The motion job target position transferred at the input i_stTarget does not correspond to the last motion point (i_stSplineTable.udiNumberOfSplinePoints) of the table.

Ensure that the target position transferred at the input i_stTarget is equal to the value of i_stSplineTable.astSplinePoint[i_stSplineTable.udiNumberOfSplinePoints].

The motion job target position transferred at the input i_stTarget is outside the valid work envelope of the robot.

Ensure that the target position transferred at the input i_stTarget is inside the valid work envelope of the robot.

UnexpectedFeedback

Enumeration name:

UnexpectedFeedback

Enumeration value:

13

Description:

A feedback value was invalid.

The motion job was aborted.

WorkEnvelope

Enumeration name:

WorkEnvelope

Enumeration value:

159

Description:

Diagnostic message concerning the work envelope is active.

Issue

Cause

Solution

The motion job was aborted.

The TCP position of the robot is outside of the valid work envelope.

Bring the robots TCP position back to the valid work envelope.