With the method MoveJ, a motion job can be issued to move in a point-to-point motion to a target position in three-dimensional space.
With this method, it is possible to modify the robot arm configuration. For further information on robot arm configuration, refer to Change of SCARA Arm Configuration.
ET_ArmConfiguration.Left |
|
![]() |
![]() |
If a modification of arm configuration is requested that results in a segment length of 0 (start and target identical, angle of axis B = 0°), the modification takes place at the start of the next segment that includes a movement of the TCP (segment length <> 0).
For detailed information on ET_ArmConfiguration.InnerLeft and ET_ArmConfiguration.InnerRight, also refer to chapter Behavior with Arm Configuration InnerRight/InnerLeft.
For further information on trajectory behavior, refer to Behavior of the Trajectory Inside the Blending Zones.
It is not possible to modify the arm configuration if tracking is active (coordinate system <> CSR). In this case, the movement command is refused.
If a tracking is requested within a MoveJ segment, the tracking offset is shifted to the path position of the arm configuration modification.
Input |
Data type |
Description |
---|---|---|
i_stTarget |
Target position coordinates of the motion job in three-dimensional space. |
|
i_etArmCofiguration |
Configuration of the target arm configuration. Valid values:
|
|
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 |
Ok |
0 |
Ok |
OK |
IdenticalTarget |
14 |
A move command has been sent to an identical target position. |
OK |
NewConnectedPath |
43 |
A new connected path is established. |
ExecutionAborted |
CommandRefused |
10 |
The command has been denied. |
ExecutionAborted |
TransformationInvalid |
112 |
The transformation is invalid. |
ExecutionAborted |
ConfigInvalid |
1 |
The configuration is invalid. |
ExecutionAborted |
Disabled |
51 |
Disabled |
ExecutionAborted |
StartOffsetRange |
116 |
The start offset is out of range. |
ExecutionAborted |
NoMoreConnectedPathsAvailable |
87 |
There are no more connected paths available. |
ExecutionAborted |
NoMoreZonesAvailable |
88 |
There are no more zones available. |
ExecutionAborted |
NotReady |
77 |
The robot is not ready. |
ExecutionAborted |
MotionParameterInvalid |
130 |
The motion parameters are invalid. |
ExecutionAborted |
NoMoreSegmentsAvailable |
86 |
There are no more segments available. |
ExecutionAborted |
NoMoreArmConfigurationEventsAvailable |
201 |
The maximum number of available arm configuration events is reached. |
ExecutionAborted |
TrackingActive |
176 |
Tracking is active. |
ExecutionAborted |
WorkEnvelope |
159 |
Diagnostic message concerning the work envelope is active. |
ExecutionAborted |
ExternalPositionSourceConfigured |
205 |
The external position source is configured. |
InputParameterInvalid |
SegmentIdAlreadyExists |
21 |
The segment Id already exists. |
InputParameterInvalid |
SegmentIdRange |
15 |
The segment Id is out of range. |
InputParameterInvalid |
MaxZoneRange |
12 |
The maximum zone is out of range. |
InputParameterInvalid |
ArmConfigurationInvalid |
200 |
The arm configuration is invalid. |
InputParameterInvalid |
TargetInvalid |
91 |
The target is invalid. |
InputParameterInvalid |
UnknownArmConfiguration |
202 |
The arm configuration is indeterminable. |
UnexpectedProgramBehavior |
InitializationFailed |
4 |
The initialization was unsuccessful. |
UnexpectedProgramBehavior |
InterfaceInvalid |
3 |
An interface is invalid. |
UnexpectedProgramBehavior |
UnexpectedFeedback |
13 |
A feedback value was invalid. |
Enumeration name: |
ArmConfigurationInvalid |
Enumeration value: |
200 |
Description: |
The arm configuration is invalid. |
Issue |
Cause |
Solution |
---|---|---|
The motion job was aborted. |
The value transferred at the input i_ArmConfiguration is outside the valid range. |
At the input i_ArmConfiguration, a valid value must be transferred. Valid values:
|
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 and the input i_etArmConfiguration are 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 to last target position of the previously issued motion job. Decrease the value of IF_RobotConfigurationAdvanced.lrMinPositionDelta, if necessary. |
The motion job target position transferred at the input i_stTarget is identical to the target position of the previously issued motion job, but the arm configuration is modified |
A corresponding entry is created in the logger. The modification of the arm configuration is stored for further movement commands. |
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 is 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 for point-to-point movements 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 point-to-point motion. |
Wait until move commands for point-to-point 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: |
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 is outside the valid range. |
At the input i_udiSegmentId, a value greater than or equal to 0 must be transferred. |
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 move command. The length of the move command is too short. |
Ensure that the length of the linear move command is long enough. Ensure that the start offset fits to the length of the move command. |
Enumeration name: |
TargetInvalid |
Enumeration value: |
91 |
Description: |
The target is invalid. |
Issue |
Cause |
Solution |
---|---|---|
The motion job was aborted. |
The position transferred at the input i_stTarget is outside the valid work envelope. |
Ensure that the target position transferred at the input i_stTarget is inside the valid work envelope of the robot. |
Enumeration name: |
TrackingActive |
Enumeration value: |
176 |
Description: |
Tracking is active. |
Issue |
Cause |
Solution |
---|---|---|
The motion job was aborted. |
A modification of the arm configuration is initiated while tracking is active. |
Ensure that tracking is finished before the motion job including a modification of the arm configuration is called. Ensure that i_etArmConfiguration represents the same value as the arm configuration of the last motion job. |
Enumeration name: |
TransformationInvalid |
Enumeration value: |
112 |
Description: |
The transformation is invalid. |
Issue |
Cause |
Solution |
---|---|---|
The motion job was aborted. |
The transformation used is not a SCARA transformation. |
Ensure that Scara4Ax is used. |
Enumeration name: |
UnexpectedFeedback |
Enumeration value: |
13 |
Description: |
A feedback value was invalid. |
The motion job was aborted.
Enumeration name: |
UnknownArmConfiguration |
Enumeration value: |
202 |
Description: |
The arm configuration is indeterminable. |
Issue |
Cause |
Solution |
---|---|---|
The motion job was aborted. |
The robot does not support the transferred arm configuration. |
The Schneider Electric robots only support the movement through the out-stretched position of AxisB. Use ET_ArmConfiguration.Right or ET_ArmConfiguration.Left to define the arm configuration. |
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. |