IF_RobotConfiguration - AddRotativeTrackingSystem (Method)

Overview

Type:

Method

Available as of:

V2.16.0.0

This chapter provides information on:

oTask

oDescription

oInterface

oDiagnostic Messages

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.

oThe parameter Enable has to be TRUE.

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

oThe parameter PhaseEnable, GearEnable, and EngageEnable have to be FALSE.

If the velocity source implements the interface SystemConfigurationItf.IF_MechanicMan­datory, 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:

oET_OrientationConvention.XYZ

oET_OrientationConvention.ZYX

oET_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:

oET_RobotComponent.CartesianX

oET_RobotComponent.CartesianY

oET_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.

Diagnostic Messages

q_etDiag

q_etDiagExt

Enumeration value

Description

OK

Ok

0

Ok

ExecutionAborted

TransformationMissing

113

The transformation is unavailable.

ExecutionAborted

ConfigurationAlreadyCompleted

105

The configuration is already completed.

ExecutionAborted

NoMoreTrackingSystemsAvailable

166

There are no more tracking systems available.

ExecutionAborted

SystemIdAlreadyConfigured

197

The system ID is already configured.

InputParameterInvalid

VelocitySourceInvalid

167

The velocity source is invalid.

InputParameterInvalid

OrientationConventionInvalid

168

The orientation convention is invalid.

InputParameterInvalid

OffsetInvalid

152

The Offset is invalid.

InputParameterInvalid

OrientationInvalid

153

The orientation is invalid.

InputParameterInvalid

EncoderInvalid

169

The encoder is invalid.

InputParameterInvalid

TrackingRotationAxisInvalid

219

The input for the axis used for tracking is invalid.

InputParameterInvalid

SystemIdInvalid

196

The system ID is invalid.

UnexpectedProgramBehavior

UnexpectedFeedback

13

A feedback value was invalid.

ExecutionAborted

ExternalPositionSourceConfigured

205

The external position source is configured.

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:

oET_RobotComponent.CartesianX

oET_RobotComponent.CartesianY

oET_RobotComponent.CartesianZ

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.