IF_RobotMotion - MoveC (Method)

Overview

Type:

Method

Available as of:

V1.0.0.0

This chapter provides information on:

Task

Circular motion in three-dimensional space.

Description

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

The definition of the circular arc results from the target position and the circular position. They describe points of the circular arc.

In order to describe the full circular arc, the position at which the robot is located at the start of the MoveC motion job is used as the start position.

Interface

Input

Data type

Description

i_stTarget

PDL.ST_Vector3D

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

i_stCircular

PDL.ST_Vector3D

Specification of a point in space on the circular path.

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

CircularInvalid

44

The circular position is invalid.

InputParameterInvalid

MaxZoneRange

12

The maximum zone is out of range.

InputParameterInvalid

NotACircle

76

It is not a circle.

InputParameterInvalid

PositionDeltaTooLow

75

The delta between two positions is too low.

InputParameterInvalid

SegmentIdAlreadyExists

21

The segment Id already exists.

InputParameterInvalid

SegmentIdRange

15

The segment Id is out of range.

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.

CircularInvalid

Enumeration name:

CircularInvalid

Enumeration value:

44

Description:

The circular position is invalid.

Issue

Cause

Solution

The motion job was aborted.

In case of a two-dimensional robot, for example IF_RobotConfiguration.Cartesian2Ax, a working plane ET_WorkingPlane has to be defined.

A cartesian component that is not part of the working plane of the input i_stCircular is not 0.

ET_WorkingPlane.XY - i_stCircular.Z has to be 0.

ET_WorkingPlane.XZ - i_stCircular.Y has to be 0.

ET_WorkingPlane.YZ - i_stCircular.X has to be 0.

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

Ensure that the circular position transferred at the input i_stCircular is inside the valid work envelope of the robot.

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 than 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 circular motion.

Wait until move commands for circular 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.

NotACircle

Enumeration name:

NotACircle

Enumeration value:

76

Description:

It is not a circle.

Issue

Cause

Solution

The motion job was aborted.

The target position transferred at the input i_stTarget and the circular position transferred at the input i_stCircular, together with the target position of the last motion job, do not describe a circular path.

Ensure that the target position transferred at the input i_stTarget and the circular position transferred at the input i_stCircular, together with the target position of the last motion job, describe a circular path.

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.

Ok

Enumeration name:

Ok

Enumeration value:

0

Description:

Ok

The motion job was transferred successfully.

PositionDeltaTooLow

Enumeration name:

PositionDeltaTooLow

Enumeration value:

75

Description:

The delta between two positions is too low.

Issue

Cause

Solution

The motion job was aborted.

The distance between the target position transferred at the input i_stTarget and the circular position transferred at the input i_stCircular, as well as the target position of the last motion job is too small.

Ensure that the position delta between the target position transferred at the input i_stTarget and the circular position transferred at the input i_stCircular is greater than IF_ConfigurationAdvanced.lrMinPositionDelta.

Ensure that the position delta between the target position of the last motion job and the circular position transferred at the input i_stCircular is greater than IF_ConfigurationAdvanced.lrMinPositionDelta.

Ensure that the position delta between the target position of the last motion job and the target position transferred at the input i_stTarget is greater than IF_ConfigurationAdvanced.lrMinPositionDelta.

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.

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 circular move command. The length of the circular move command is too short.

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

Ensure that the start offset fits to the length of the circular 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 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.