IF_RobotConfiguration - AddRotativeTrackingSystem (Method)

Overview

Type:

Method

Available as of:

V2.16.0.0

This chapter provides information on:

Task

Adding a rotative tracking system to the robot.

NOTE:

This method is not supported by Modicon M262 Motion Controllers.

Description

With the method AddRotativeTrackingSystem(...), a rotative tracking system can be added to the robot.

The tracking direction is about one of the positive Cartesian axes X, Y, or Z, of the coordinate system defined within the method. The velocity source is mapped to this axis.

The configuration of the logical encoder is verified during the configuration of the tracking system.

  • The parameter Enable has to be TRUE.

  • The logical encoder must not be linked to any other velocity source.

  • The parameter PhaseEnable, GearEnable, and EngageEnable have to be FALSE.

If the velocity source implements the interface SystemConfigurationItf.IF_MechanicMandatory, the following parameter Direction, GearIn, GearOut, and FeedConstant are verified. The parameterization of these parameters must be equal to the parameterization of the velocity source.

In case the robot is moving in the tracking system, the logical encoder is also monitored if any manipulation of the position occurred. If a manipulation is detected, the robot stops immediately. The monitoring of the position is also active if a change to the tracking system is requested by calling the method IF_RobotMotion.ChangeCoordinateSystem.

With the inputs i_stOffset, i_etOrientationConvention, and i_stOrientation, the coordinate system of the tracking can be defined. The rotation is always about one of the axes of the coordinate system, means that the origin of the coordinate system is always the central point of the rotation.

NOTE: As soon as at least one rotative tracking system is configured, emergency parameters and stop parameters must be set for all configured tracking coordinate systems with the help of the method IF_RobotConfiguration.SetTrackingStopParameters(…). Otherwise it is not possible to call the method IF_RobotConfiguration.ConfigDone(…) successfully.

Also refer to chapter Configuration of a Rotative Tracking System.

Interface

Input

Data type

Description

i_etSystemId

ET_CoordinateSystem

ID of the tracking system.

i_ifVelocitySource

SystemConfigurationItf.IF_IdentificationMandatory

Velocity source of the tracking system.

Unit: [°/sec]

i_lencEncoder

SystemConfiguration.L_ENC

Logical encoder which is linked to the velocity source.

i_stOffset

PDL.ST_Vector3D

Shifting of the origin of the rotative tracking system in relation to the robot coordinate system ET_CoordinateSystem.CSR.

Unit: [mm]

i_etOrientationConvention

ET_OrientationConvention

Convention for the rotation angles of the orientation i_stOrientation.

Valid values are:

  • ET_OrientationConvention.XYZ

  • ET_OrientationConvention.ZYX

  • ET_OrientationConvention.ZXY

i_stOrientation

PDL.ST_Vector3D

Rotation of the rotative tracking system in relation to the robot coordinate system ET_CoordinateSystem.CSR.

Unit: [°]

i_xClockwiseRotation

BOOL

TRUE: Rotation clockwise around the axis specified by i_etTrackingRotationAxis.

FALSE: Rotation counter-clockwise around the axis specified by i_etTrackingRotationAxis.

i_etTrackingRotationAxis

ET_RobotComponent

Positive Cartesian axis of the tracking coordinate system which is used for tracking.

The tracking rotates around this axis of the coordinate system.

Valid values are:

  • ET_RobotComponent.CartesianX

  • ET_RobotComponent.CartesianY

  • ET_RobotComponent.CartesianZ

For further information, refer to ET_RobotComponent.

Output

Data type

Description

q_etDiag

GD.ET_Diag

General, library-independent statement on the diagnostic.

A value not equal to ET_Diag.Ok corresponds to a diagnostic message.

q_etDiagExt

ET_DiagExt

POU-specific output for 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.

Return Value

Data type

Description

ET_CoordinateSystem

ID of the added rotative tracking system.

Diagnostic Messages

q_etDiag

q_etDiagExt

Enumeration value

Description

OK

Ok

0

Ok

ExecutionAborted

ConfigurationAlreadyCompleted

105

The configuration is already completed.

TransformationMissing

113

The transformation is unavailable.

NoMoreTrackingSystemsAvailable

166

There are no more tracking systems available.

SystemIdAlreadyConfigured

197

The system ID is already configured.

ExternalPositionSourceConfigured

205

The external position source is configured.

TrackingSourceAndTrackingSystemNotPossible

249

The combination of tracking source and tracking systems is not possible.

InputParameterInvalid

OffsetInvalid

152

The Offset is invalid.

OrientationInvalid

153

The orientation is invalid.

VelocitySourceInvalid

167

The velocity source is invalid.

OrientationConventionInvalid

168

The orientation convention is invalid.

EncoderInvalid

169

The encoder is invalid.

SystemIdInvalid

196

The system ID is invalid.

TrackingRotationAxisInvalid

219

The input for the axis used for tracking is invalid.

UnexpectedProgramBehavior

UnexpectedFeedback

13

A feedback value was invalid.

ConfigurationAlreadyCompleted

Enumeration name:

ConfigurationAlreadyCompleted

Enumeration value:

105

Description:

The configuration is already completed.

Issue

Cause

Solution

The configuration of the tracking system was unsuccessful.

The configuration of the robot is already completed. The method ConfigDone(...) is already called successfully.

Ensure that the configuration method AddRotativeTrackingSystem(...) is not called after the configuration is completed.

EncoderInvalid

Enumeration name:

EncoderInvalid

Enumeration value:

169

Description:

The encoder is invalid.

Issue

Cause

Solution

The configuration of the tracking system was unsuccessful.

The type of the object transferred at the input i_lencEncoder is invalid.

At the input i_lencEncoder, an object of type SystemConfiguration.L_ENC_TYPE must be transferred.

-

The logical encoder transferred at the input i_lencEncoder is not enabled.

The value of the parameter Enable of the logical encoder, transferred at the input i_lencEncoder, must be TRUE.

-

The logical encoder transferred at the input i_lencEncoder is already coupled to an object.

Do not call the function SystemInterface.FC_SetMasterEncoder(...) to couple the logical encoder to another object.

-

The phase generator of the logical encoder transferred at the input i_lencEncoder is enabled.

The value of the parameter PhaseEnable of the logical encoder, transferred at the input i_lencEncoder, must be FALSE.

-

The gear of the logical encoder transferred at the input i_lencEncoder is enabled.

The value of the parameter GearEnable of the logical encoder, transferred at the input i_lencEncoder, must be FALSE.

-

The coupling of the logical encoder transferred at the input i_lencEncoder is enabled.

The value of the parameter EngageEnable of the logical encoder, transferred at the input i_lencEncoder, must be FALSE.

-

The velocity source transferred at the input i_ifVelocitySource implements the interface SystemConfigurationItf.IF_MechanicMandatory.

The value of the parameter Direction of the logical encoder, transferred at the input i_lencEncoder, does not match to the value of the parameter Direction of the velocity source transferred at the input i_ifVelocitySource.

Ensure that both values are equal.

-

The velocity source transferred at the input i_ifVelocitySource implements the interface SystemConfigurationItf.IF_MechanicMandatory.

The value of the parameter GearIn of the logical encoder, transferred at the input i_lencEncoder, does not match to the value of the parameter GearIn of the velocity source transferred at the input i_ifVelocitySource.

Ensure that both values are equal.

-

The velocity source transferred at the input i_ifVelocitySource implements the interface SystemConfigurationItf.IF_MechanicMandatory.

The value of the parameter GearOut of the logical encoder, transferred at the input i_lencEncoder, does not match to the value of the parameter GearOut of the velocity source transferred at the input i_ifVelocitySource.

Ensure that both values are equal.

-

The velocity source transferred at the input i_ifVelocitySource implements the interface SystemConfigurationItf.IF_MechanicMandatory.

The value of the parameter FeedConstant of the logical encoder, transferred at the input i_lencEncoder, does not match to the value of the parameter FeedConstant of the velocity source transferred at the input i_ifVelocitySource.

Ensure that both values are equal.

ExternalPositionSourceConfigured

Enumeration name:

ExternalPositionSourceConfigured

Enumeration value:

205

Description:

The external position source is configured.

Issue

Cause

Solution

The configuration of the tracking system was unsuccessful.

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

Configuring a tracking system is not possible when an external position source for the robot components is configured.

Do not configure a tracking system.

NoMoreTrackingSystemsAvailable

Enumeration name:

NoMoreTrackingSystemsAvailable

Enumeration value:

166

Description:

There are no more tracking systems available.

Issue

Cause

Solution

The configuration of the tracking system was unsuccessful.

No more tracking systems of the robot can be configured.

The maximum number of configurable tracking systems is Gc_udiMaxNumberOfTrackingSystems.

OffsetInvalid

Enumeration name:

OffsetInvalid

Enumeration value:

152

Description:

The Offset is invalid.

Issue

Cause

Solution

The configuration of the tracking system was unsuccessful.

A two-dimensional transformation, in the XY plane, is configured.

Ensure that the input i_stOffset.lrZ is set to 0.

A two-dimensional transformation, in the XZ plane, is configured.

Ensure that the input i_stOffset.lrY is set to 0.

A two-dimensional transformation, in the YZ plane, is configured.

Ensure that the input i_stOffset.lrX is set to 0.

Ok

Enumeration name:

Ok

Enumeration value:

0

Description:

Ok

The configuration of the tracking system was successful.

OrientationConventionInvalid

Enumeration name:

OrientationConventionInvalid

Enumeration value:

168

Description:

The orientation convention is invalid.

Issue

Cause

Solution

The configuration of the tracking system was unsuccessful.

The value transferred at the input i_etOrientationConvention is invalid.

At the input i_etOrientationConvention, a valid value of ET_OrientationConvention must be transferred.

OrientationInvalid

Enumeration name:

OrientationInvalid

Enumeration value:

153

Description:

The orientation is invalid.

Issue

Cause

Solution

The configuration of the tracking system was unsuccessful.

A two-dimensional transformation, in the XY plane, is configured.

Ensure that the inputs i_stOrientation.lrX and i_stOrientation.lrY are set to 0.

A two-dimensional transformation, in the XZ plane, is configured.

Ensure that the inputs i_stOrientation.lrX and i_stOrientation.lrZ are set to 0.

A two-dimensional transformation, in the YZ plane, is configured.

Ensure that the inputs i_stOrientation.lrY and i_stOrientation.lrZ are set to 0.

SystemIdInvalid

Enumeration name:

SystemIdInvalid

Enumeration value:

196

Description:

The system ID is invalid.

Issue

Cause

Solution

The configuration of the tracking system was unsuccessful.

The system ID transferred at the input i_etSystemId is invalid.

Ensure that the value of i_etSystemId is one of the following:

ET_CoordinateSystem.Tracking1 … ET_CoordinateSystem.Tracking30

SystemIdAlreadyConfigured

Enumeration name:

SystemIdAlreadyConfigured

Enumeration value:

197

Description:

The system ID is already configured.

Issue

Cause

Solution

The configuration of the tracking system was unsuccessful.

The system ID transferred at the input i_etSystemId is invalid.

Ensure that a system ID is used only once to configure a tracking system.

TrackingRotationAxisInvalid

Enumeration name:

TrackingRotationAxisInvalid

Enumeration value:

219

Description:

The input for the axis used for tracking is invalid.

Issue

Cause

Solution

The configuration of the tracking system was unsuccessful.

The value transferred at the input i_etTrackingRotationAxis is invalid.

Ensure that one of the following values is assigned to i_etTrackingRotationAxis:

  • ET_RobotComponent.CartesianX

  • ET_RobotComponent.CartesianY

  • ET_RobotComponent.CartesianZ

TrackingSourceAndTrackingSystemNotPossible

Enumeration name:

TrackingSourceAndTrackingSystemNotPossible

Enumeration value:

249

Description:

The combination of tracking source and tracking systems is not possible.

Issue

Cause

Solution

The configuration of the tracking system was not successful.

The combination of tracking source and tracking systems is not possible.

Ensure that no tracking system is configured for the robot when a tracking source must be used.

For linear or rotary tracking, tracking sources must be used.

Always use tracking sources instead of tracking systems for new projects.

TransformationMissing

Enumeration name:

TransformationMissing

Enumeration value:

113

Description:

The transformation is unavailable.

Issue

Cause

Solution

The configuration of the tracking system was unsuccessful.

There is no transformation of the robot configured.

Ensure that the transformation of the robot is configured before adding a tracking system.

UnexpectedFeedback

Enumeration name:

UnexpectedFeedback

Enumeration value:

13

Description:

A feedback value was invalid.

The configuration of the tracking system was unsuccessful.

Adding the tracking system was aborted because of an invalid feedback value.

VelocitySourceInvalid

Enumeration name:

VelocitySourceInvalid

Enumeration value:

167

Description:

The velocity source is invalid.

Issue

Cause

Solution

The configuration of the tracking system was unsuccessful.

The velocity source transferred at the input i_ifVelocitySource is invalid.

A valid interface (SystemConfigurationItf.IF_IdentificationMandatory) of a velocity source must be transferred at the input i_ifVelocitySource.

Valid objects are for example drives, virtual encoders, Incremental encoders, and so on.

The transferred object at the input i_ifVelocitySource is of type SystemConfiguration.L_ENC_TYPE.

Objects of type SystemConfiguration.L_ENC_TYPE are not valid as a velocity source.