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.
Input |
Data type |
Description |
---|---|---|
i_stTarget |
Target position coordinates of the motion job in three-dimensional space. |
|
i_stSplineTable |
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 |
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 |
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. |
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. |
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. |
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. |
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. |
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. |
Enumeration name: |
InitializationFailed |
Enumeration value: |
4 |
Description: |
The initialization was unsuccessful. |
The motion job was aborted.
Enumeration name: |
InterfaceInvalid |
Enumeration value: |
3 |
Description: |
An interface is invalid. |
The motion job was aborted.
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. |
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. |
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.
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. |
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. |
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. |
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. |
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. |
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. |
Enumeration name: |
Ok |
Enumeration value: |
0 |
Description: |
Ok |
The motion job was transferred successfully.
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. |
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. |
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. |
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. |
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. |
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. |
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. |
Enumeration name: |
UnexpectedFeedback |
Enumeration value: |
13 |
Description: |
A feedback value was invalid. |
The motion job was aborted.
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. |