Adding a rotative tracking system to the robot.
This method is not supported by Modicon M262 Motion Controllers.
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.
Also refer to chapter Configuration of a Rotative Tracking System.
Input |
Data type |
Description |
---|---|---|
i_etSystemId |
ID of the tracking system. |
|
i_ifVelocitySource |
Velocity source of the tracking system. Unit: [°/sec] |
|
i_lencEncoder |
SystemConfiguration.L_ENC |
Logical encoder which is linked to the velocity source. |
i_stOffset |
Shifting of the origin of the rotative tracking system in relation to the robot coordinate system ET_CoordinateSystem.CSR. Unit: [mm] |
|
i_etOrientationConvention |
Convention for the rotation angles of the orientation i_stOrientation. Valid values are:
|
|
i_stOrientation |
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 |
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:
For further information, refer to ET_RobotComponent. |
Output |
Data type |
Description |
---|---|---|
q_etDiag |
General, library-independent statement on the diagnostic. A value not equal to ET_Diag.Ok corresponds to a diagnostic message. |
|
q_etDiagExt |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
Enumeration name: |
Ok |
Enumeration value: |
0 |
Description: |
Ok |
The configuration of the tracking system was successful.
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. |
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. |
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 |
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. |
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:
|
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. |
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. |
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.
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. |