Skip to main content

Common Errors

This page describes common axis group errors, their causes, and possible actions to take to correct the error. For a list of all possible errors with a brief description, see the help page for SMC_ERROR (ENUM).

Error Code

Explanation and Causes

Actions

SMC_AXIS_GROUP_MAX_AXIS_LAG_EXCEEDED

SMC_AXIS_GROUP_MAX_POSITION_LAG_EXCEEDED

SMC_AXIS_GROUP_MAX_ORIENTATION_LAG_EXCEEDED

The axis group cannot follow the commanded path without violating an axis limit (velocity, acceleration, or jerk).

This error often occurs during tracking if the dynamic coordinate system moves unexpectedly.

The error can also occur when the path passes close to a singular position of the robot. Singular positions occur between different configurations (for example, with the SCARA robot when the arm is fully extended).

See Avoid the errors SMC_AXIS_GROUP_MAX_AXIS_LAG_EXCEEDED, SMC_AXIS_GROUP_MAX_POSITION_LAG_EXCEEDED, or SMC_AXIS_GROUP_MAX_ORIENTATION_LAG_EXCEEDED.

If no dynamic coordinate system is used, then make sure that the path of the robot does not pass close to a singular position.

SMC_CP_QUEUE_UNDERRUN

The trajectory (velocity profile) of the axis group could not be calculated fast enough, and as a result the axis group has to abort the movement.

Possible causes:

  • Performance problems. The controller in use does not provide sufficient performance, or too much is calculated in a high-priority task.

  • Unfavorable task settings: The calculation of the trajectory is displaced by other tasks.

  • Computation-intensive commands. For example, it may require more computing time if a blending movement is interrupted by an aborting movement and this is then interrupted again by an aborting movement. The use of tracking (dynamic coordinate systems) also requires more computing time. The execution of SMC_GroupSaveContinueData during a movement and the use of many simultaneously active triggers can also increase the required computing time.

  • Check whether or not the task settings for the planning task of the axis group have been selected correctly and, if possible, relocate this task to a separate and dedicated CPU core.

    For more information, see: Configuration of the Planning Task

  • On the Monitoring tab of task configuration 1 check if a high-priority task requires a lot of computing time and, if possible, move performance-intensive calculations to a low-priority task.

  • Use SMC_TuneCPKernel to increase the planning interval.

    For more information, see: Diagnosis in case of slow or jerky movements

Note: You can use the performance counters of SMC_GroupReadPlanningStatistics to determine the effect of these actions.

For more information, see: Diagnosis in case of slow or jerky movements

SMC_TRAFO_INVALID_CONSTELLATION

SMC_AXIS_POSITION_EXCEEDS_POSLIMITS

SMC_AXIS_INVERSE_TRAFO_EXCEEDING_POSLIMITS

The path is completely or partially outside of the workspace of the robot.

Possible causes:

  • The start or end point of a movement is outside of the workspace.

  • Depending on the robot type, part of the movement of a CP movement may be outside of the workspace. A circular segment with a radius which is too large can lie within the workspace at the beginning and end, while the middle section leaves the workspace.

  • When using tracking (dynamic coordinate systems), it is possible that a position which has previously been located within the workspace will leave the workspace over time due to the movement of the coordinate system.

Note: When the error is reported, the axis group is not necessarily close to the problematic position. It is possible that the error is found and reported during the calculation of the trajectory and relates to a path segment which is still a long distance from the current position.

Check the commanded movements and make sure that they are completely within the workspace.

When using tracking: Use suitable limits to make sure that the axis group does not move out of the workspace over time. In Pick&Place with conveyor belts, for example, it is common practice to define a safe region where parts can still be picked up from the conveyor belt. After a part has left this region, the axis group should no longer move to the part.

SMC_CP_CONFIGS_DIFFER

SMC_CP_AXIS_ORIENTATION_IPO_CONFIG_DIFFERS

The start and target positions of a CP movement are located in different configurations.

The handling of configurations is explained in the Kinematic Configurations chapter.

When using OrientationMode Axis, see the Orientation Interpolation for CP Movements chapter for details about configuring the orientation part of the robot.

Possible actions:

  • Make sure that the start and end positions of CP movements are located the same configuration.

  • If necessary, use the SMC_SetKinConfiguration function block to set the configuration of the robot at the beginning (after MC_GroupEnable).

  • Use PTP movements to switch between configurations if desired.