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)).
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 |
General library-independent statement on the diagnostic. A value not equal to GD.ET_Diag.Ok corresponds to a diagnostic message. |
|
q_etDiagExt |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
Enumeration name: |
InitializationFailed |
Enumeration value: |
4 |
Description: |
The initialization was unsuccessful. |
The reduced velocity is not set.
Enumeration name: |
InterfaceInvalid |
Enumeration value: |
3 |
Description: |
An interface is invalid. |
The reduced velocity is not set.
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. |
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(...). |
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. |
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. |
Enumeration name: |
Ok |
Enumeration value: |
0 |
Description: |
Ok |
The reduced velocity is set successfully.
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(...). |
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. |
Enumeration name: |
RobotFeedbackInvalid |
Enumeration value: |
13 |
Description: |
A feedback value was invalid. |
The reduced velocity was not set.
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. |
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. |
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. |