Adds an additional transformation which calculates the kinematics for the additional components.
The method can be used to enable additional robot components and forwards a transformation for these components. The additional transformation can only target drives that have been added with the method AddDrive(...).
Only cartesian and orientation components that are not used by the configured main transformation can be enabled with this method.
A function block or an interface to a function block with an implementation of the transformation methods must be forwarded to the input i_ifTransformation.
A combination of a direct mapping (refer to the method MapComponentToDrive) in combination with a transformation is not possible. In case there are components which require a transformation and components with a direct mapping, all components must be handled in the transformation.
For further information, refer to Using IF_AdditionalComponentsTransformation.
Input |
Data type |
Description |
---|---|---|
i_ifTransformation |
Interface with the implementation to calculate the direct and inverse transformation. |
|
i_axEnableCartesian |
ARRAY [ET_RobotComponent.CartesianX...ET_RobotComponent.CartesianZ] of BOOL |
Enables the respective cartesian component. |
i_axEnableOrientation |
ARRAY [ET_RobotComponent.OrientationX...ET_RobotComponent.OrientationZ] of BOOL |
Enables the respective orientation component. |
Output |
Data type |
Description |
---|---|---|
q_etDiag |
General library-independent statement on the diagnostic. A value unequal to GD.ET_Diag.Ok corresponds to a diagnostic message. |
|
q_etDiagExt |
POU-specific output on the diagnostic. q_etDiag = GD.ET_Diag.Ok -> status message q_etDiag <> GD.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. |
ExecutionAborted |
DirectMappingConfigured |
256 |
There is already a direct mapping configured. |
ExecutionAborted |
TransformationAlreadyConfigured |
106 |
The transformation is already configured. |
ExecutionAborted |
TransformationMissing |
113 |
The transformation is unavailable. |
InputParameterInvalid |
AdditionalTransformationInvalid |
193 |
The additional transformation is invalid. |
InputParameterInvalid |
ComponentAlreadyInUse |
254 |
The selected component is already in use. |
InputParameterInvalid |
NoAdditionalComponentConfigured |
257 |
There was no additional component enabled. |
Enumeration name: |
AdditionalTransformationInvalid |
Enumeration value: |
193 |
Description: |
The additional transformation is invalid. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of additional the components transformation was not successful. |
The interface transferred at the input i_ifTransformation is invalid. |
Ensure that a valid interface is transferred at the input i_ifTransformation. |
Enumeration name: |
ComponentAlreadyInUse |
Enumeration value: |
254 |
Description: |
The selected component is already in use. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the additional components transformation was not successful. |
One or more component selected on the inputs i_axEnableCartesian and/or i_axEnableOrientation is already used by the main transformation. |
Ensure that only components that are not used by the main transformation are enabled as additional components. |
Enumeration name: |
ConfigurationAlreadyCompleted |
Enumeration value: |
105 |
Description: |
The configuration is already completed. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the additional components transformation was not successful. |
The configuration of the robot was already completed. The method ConfigDone(...) was already called successfully. |
Ensure that the method AdditionalComponentsTransformation(…) is called before method ConfigDone(…). |
Enumeration name: |
DirectMappingConfigured |
Enumeration value: |
256 |
Description: |
There is already a direct mapping configured. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the additional components transformation was not successful. |
There is already a direct mapping configured for the robot. |
It is not possible to mix transformed and direct mapping on a robot. In case both types of mapping must be used on a robot, the direct mapping must be handled within the transformation of the transformed mapping. For further information, refer to Using IF_AdditionalComponentTransformation. |
Enumeration name: |
NoAdditionalComponentConfigured |
Enumeration value: |
257 |
Description: |
There was no additional component enabled. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the additional components transformation was not successful. |
There was no additional component selected. |
Ensure that at least one additional component is enabled by using the inputs i_axEnableCartesian and/or i_axEnableOrientation. |
Enumeration name: |
TransformationAlreadyConfigured |
Enumeration value: |
106 |
Description: |
The transformation is already configured. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the additional components transformation was not successful. |
The transformation for the additional components was already configured successfully. |
Ensure that the method AdditionalComponentsTransformation(…) is only called once. |
Enumeration name: |
TransformationMissing |
Enumeration value: |
113 |
Description: |
The transformation is unavailable. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the additional components transformation was not successful. |
There is no transformation configured for the robot. |
Ensure that the transformation was configured successfully before the mapping of the additional components. |