IF_RobotMotion - SetReducedVelocity (Method)

Overview

Type:

Method

Available as of:

V3.7.1.0

This chapter provides information on:

Task

Set a reduced velocity for a certain part of the connected path.

Description

The method can be used to set a reduced velocity for a certain part of the connected path.

The part of the connected path where the reduced velocity must be active is specified by the inputs i_udiStartSegmentId, i_lrStartOffset, i_udiEndSegmentId and i_lrEndOffset.

The reduced velocity set by the input i_lrValue is reached at the selected start position and is kept until the selected end position. The necessary acceleration and deceleration phases are executed before the start point and after the end point respectively.

Example:

In the example, the reduced velocity of 45 was set for the configured zone between the connected path RefPosition 25...75, marked by the two cursors. The velocity is reduced before the start and increased again to the configured maximum velocity for the segment after the end of the configured zone.

The reduced velocity is only applied if:

  • The transmitted velocity is lower than the velocity used for the segments set via the methods SetMotionParameter or SetMaxVelocity.

  • The velocity is lower than any other velocity induced by limitation functionalities such as MoveSync or the acceleration control (refer to IF_RobotMotion - SetMaxAccelerationResultant (Method)).

Interface

Input

Data type

Description

i_lrValue

LREAL

Maximum velocity that must be used for the part of the connected path specified by i_udiStartSegmentId, i_lrStartOffset, i_udiEndSegmentId and i_lrEndOffset.

Unit: [Units/s]

Valid values: i_lrValue > 0.0

i_udiStartSegmentId

UDINT

ID of the segment where the reduced velocity is started.

Valid values: i_udiStartSegmentId > 0 and the segment ID must be present in the last connected path.

i_lrStartOffset

LREAL

Offset within the start segment where the reduced velocity must be reached.

Positive values of i_lrStartOffset refer to the start of the segment, and negative values refer to the end of the segment.

Special case: i_lrStartOffset = 0, in this case the reduced velocity must be reached at the start of the segment.

i_udiEndSegmentId

UDINT

ID of the segment where the reduced velocity is ended.

i_udiEndSegmentId > 0 and the segment ID must be present in the last connected path.

i_lrEndOffset

LREAL

Offset within the end segment until where the reduced velocity must be kept.

Positive values of i_lrEndOffset refer to the start of the segment, and negative values refer to the end of the segment.

Special case: i_lrEndOffset = 0, in this case the reduced velocity must be kept until the end of the segment.

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

Ok

0

Ok

ExecutionAborted

CommandRefused

10

The command has been denied.

ExecutionAborted

ConfigInvalid

1

The configuration is invalid.

ExecutionAborted

Disabled

51

Disabled

ExecutionAborted

EndSegmentIdNotFound

32

The end segment ID was not found.

ExecutionAborted

ExternalPositionSourceConfigured

205

The external position source is configured.

ExecutionAborted

InitializationFailed

4

The initialization was unsuccessful.

ExecutionAborted

InterfaceInvalid

3

An interface is invalid.

ExecutionAborted

NoConnectedPathAvailable

9

There is no connected path available.

ExecutionAborted

NoMoreSegmentsAvailable

86

There are no more segments available.

ExecutionAborted

NotReady

77

The robot is not ready.

ExecutionAborted

PathPositionEndInvalid

25

The end position on the path is invalid.

ExecutionAborted

PathPositionStartAlreadyPassed

81

The robot already passed the start position on the path.

ExecutionAborted

RobotFeedbackInvalid

13

A feedback value was invalid.

ExecutionAborted

StartSegmentIdNotFound

31

The start segment Id was not found.

InputParameterInvalid

EndOffsetRange

78

The end offset is out of range.

InputParameterInvalid

EndSegmentIdRange

28

The end segment Id is out of range.

InputParameterInvalid

MaxVelocityRange

124

The maximum velocity is out of range.

InputParameterInvalid

StartOffsetRange

116

The start offset is out of range.

InputParameterInvalid

StartSegmentIdRange

27

The start segment Id is out of range.

CommandRefused

Enumeration name:

CommandRefused

Enumeration value:

10

Description:

The command has been denied.

Issue

Cause

Solution

The reduced velocity was not set.

Another command is already being processed. Two move commands, for example MoveL(...), MoveC(...), MoveS(...) or MoveSync(...), SetReducedVelocity(…) 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 reduced velocity was not set.

The robot configuration is invalid.

Ensure that the method ConfigDone(...) is called successfully to complete the configuration of the robot.

Disabled

Enumeration name:

Disabled

Enumeration value:

51

Description:

Disabled

Issue

Cause

Solution

The reduced velocity was not set.

FB_Robot.xEnable = FALSE

The robot is not active.

Set FB_Robot.xEnable = TRUE, to enable the robot before sending commands.

EndOffsetRange

Enumeration name:

EndOffsetRange

Enumeration value:

78

Description:

The end offset is out of range.

Issue

Cause

Solution

The reduced velocity was not set.

The value transferred at the input i_lrEndOffset is not within the valid range.

At the input i_lrEndOffset, a value less than or equal to the length of the selected segment (i_udiEndSegmentId) must be transferred.

EndSegmentIdNotFound

Enumeration name:

EndSegmentIdNotFound

Enumeration value:

32

Description:

The end segment ID was not found.

Issue

Cause

Solution

The reduced velocity was not set.

The segment with the ID transferred at the input i_udiEndSegmentId was not found in the last connected path.

Ensure that the segment with the ID i_udiEndSegmentId is included in the last connected path.

EndSegmentIdRange

Enumeration name:

EndSegmentIdRange

Enumeration value:

28

Description:

The end segment Id is out of range.

Issue

Cause

Solution

The reduced velocity was not set.

The value transferred at the input i_udiEndSegmentId is not within the valid range.

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

ExternalPositionSourceConfigured

Enumeration name:

ExternalPositionSourceConfigured

Enumeration value:

205

Description:

The external position source is configured.

Issue

Cause

Solution

The reduced velocity was not set.

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

Do not send a motion job.

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

InitializationFailed

Enumeration name:

InitializationFailed

Enumeration value:

4

Description:

The initialization was unsuccessful.

The reduced velocity is not set.

InterfaceInvalid

Enumeration name:

InterfaceInvalid

Enumeration value:

3

Description:

An interface is invalid.

The reduced velocity is not set.

MaxVelocityRange

Enumeration name:

MaxVelocityRange

Enumeration value:

124

Description:

The maximum velocity is out of range.

Issue

Cause

Solution

The reduced velocity was not set.

The value transferred at the input i_IrValue is not within the valid range.

At the input i_lrValue, a value greater than 0 must be transferred.

NoConnectedPathAvailable

Enumeration name:

NoConnectedPathAvailable

Enumeration value:

9

Description:

There is no connected path available.

Issue

Cause

Solution

The reduced velocity was not set.

The method SetReducedVelocity(...) was called but there is no connected path available.

Create a connected path before calling the method SetReducedVelocity(...).

NoMoreSegmentsAvailable

Enumeration name:

NoMoreSegmentsAvailable

Enumeration value:

86

Description:

There are no more segments available.

Issue

Cause

Solution

The reduced velocity was not set.

There are no more segments with reduced velocity available.

Wait until the movements with reduced velocity are executed before sending new commands.

Increase the parameter Gc_udiMaxNumberOfReducuedVelocitySegments in the global parameter list of the robotic library.

NotReady

Enumeration name:

NotReady

Enumeration value:

77

Description:

The robot is not ready.

Issue

Cause

Solution

The reduced velocity was not set.

The function block FB_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 reduced velocity is set successfully.

PathPositionEndInvalid

Enumeration name:

PathPositionEndInvalid

Enumeration value:

25

Description:

The end position on the path is invalid.

Issue

Cause

Solution

The reduced velocity was not set.

The end position of the segment with reduced velocity is before its start position.

Ensure that the path position end is greater than the path position start.

Verify the values of i_udiStartSegmentId, i_lrStartOffset, i_udiEndSegmentId, and i_lrEndOffset of SetReducedVelocity(...).

PathPositionStartAlreadyPassed

Enumeration name:

PathPositionStartAlreadyPassed

Enumeration value:

81

Description:

The robot already passed the start position on the path.

Issue

Cause

Solution

The reduced velocity was not set.

The robot has already passed the specified start position of the segment with reduced velocity on the path.

Ensure that SetReducedVelocity(...) is called early enough to ensure that the robot has not passed the start position on the path yet.

RobotFeedbackInvalid

Enumeration name:

RobotFeedbackInvalid

Enumeration value:

13

Description:

A feedback value was invalid.

The reduced velocity was not set.

StartOffsetRange

Enumeration name:

StartOffsetRange

Enumeration value:

116

Description:

The start offset is out of range.

Issue

Cause

Solution

The reduced velocity was not set.

The value transferred at the input i_lrStartOffset is not within the valid range.

At the input i_lrStartOffset, a value less than or equal to the length of the selected segment (i_udiStartSegmentId) must be transferred.

StartSegmentIdNotFound

Enumeration name:

StartSegmentIdNotFound

Enumeration value:

31

Description:

The start segment Id was not found.

Issue

Cause

Solution

The reduced velocity was not set.

The segment with the ID transferred at the input i_udiStartSegmentId was not found in the last connected path.

Ensure that the segment with the ID i_udiStartSegmentId is in the last connected path.

StartSegmentIdRange

Enumeration name:

StartSegmentIdRange

Enumeration value:

27

Description:

The start segment Id is out of range.

Issue

Cause

Solution

The reduced velocity was not set.

The value transferred at the input i_lrStartOffset is not within the valid range.

At the input i_lrStartOffset, a value less than or equal to the length of the selected segment (i_udiStartSegmentId) must be transferred.