With the method ModifyCoordinateSystem(…), the robot coordinate system can be modified.
Execution sequence of the shift or rotation of the output coordinate system (robot coordinate system) CS0:
| 1 |
Shifting the coordinate system CS0 with the offsets X, Y, Z. This creates the coordinate system CS1. |
| 2 |
Rotation of the coordinate system CS1 around its X axis. This creates the coordinate system CS2. |
| 3 |
Rotation of the coordinate system CS2 around its Y axis. This creates the coordinate system CS3. |
| 4 |
Rotation of the coordinate system CS3 around its Z axis. This creates the coordinate system CS4. |
The coordinate system CS4 corresponds to the shifted and rotated coordinate system.
Also refer to Using ModifyCoordinateSystem / ModifyCoordinateSystem2.
|
Input |
Data type |
Description |
|---|---|---|
|
i_etName |
Name of the coordinate system that has to be modified. |
|
|
i_stOffset |
Describes the shifting of the coordinate system in relation to the world coordinate system. Unit: [Units] |
|
|
i_stOrientation |
Describes the rotation of the coordinate system in relation to the world coordinate system. Unit: [°] |
|
|
i_xInvertDirectionX |
BOOL |
Invert the positive X direction of the coordinate system. |
|
i_xInvertDirectionY |
BOOL |
Invert the positive Y direction of the coordinate system. |
|
i_xInvertDirectionZ |
BOOL |
Invert the positive Z direction of the coordinate system. |
|
Output |
Data type |
Description |
|---|---|---|
|
q_etDiag |
General library-independent statement on the diagnostic. A value not equal to GD.ET_Diag.Ok corresponds to a diagnostic message. |
|
|
q_etDiagExt |
POU-specific output on 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 |
CommandsActive |
79 |
There are active commands. |
|
ExecutionAborted |
ExternalPositionSourceConfigured |
205 |
The external position source is configured. |
|
ExecutionAborted |
InMotion |
52 |
The robot is in motion. |
|
ExecutionAborted |
TrackingActive |
175 |
Tracking is active. |
|
ExecutionAborted |
TransformationMissing |
113 |
The transformation is unavailable. |
|
InputParameterInvalid |
CoordinateSystemInvalid |
117 |
The coordinate system is invalid. |
|
InputParameterInvalid |
InvertDirectionXInvalid |
154 |
InvertDirectionX is invalid. |
|
InputParameterInvalid |
InvertDirectionYInvalid |
155 |
InvertDirectionY is invalid. |
|
InputParameterInvalid |
InvertDirectionZInvalid |
156 |
InvertDirectionZ is invalid. |
|
InputParameterInvalid |
OffsetInvalid |
152 |
The Offset is invalid. |
|
InputParameterInvalid |
OrientationInvalid |
153 |
The orientation is invalid. |
|
Enumeration name: |
CommandsActive |
|
Enumeration value: |
79 |
|
Description: |
There are active commands. |
|
Issue |
Cause |
Solution |
|---|---|---|
|
The modification of a coordinate system of the robot was not successful. |
There are still active move commands. |
Ensure that no more move commands are active. |
|
Enumeration name: |
CoordinateSystemInvalid |
|
Enumeration value: |
117 |
|
Description: |
The coordinate system is invalid. |
|
Issue |
Cause |
Solution |
|---|---|---|
|
The modification of a coordinate system of the robot was not successful. |
The value transferred at the input i_etName is invalid. |
At the input i_etName, a value of ET_CoordinateSystem must be transferred. |
|
Enumeration name: |
ExternalPositionSourceConfigured |
|
Enumeration value: |
205 |
|
Description: |
The external position source is configured. |
|
Issue |
Cause |
Solution |
|---|---|---|
|
The modification of a coordinate system of the robot was not successful. |
An external position source for the robot components cartesian, orientation and auxiliary axes is configured. |
The modification of a tracking coordinate system of the robot is not possible when an external position source for the robot components is configured.
NOTE: Do not modify a tracking coordinate system of the robot.
|
|
Enumeration name: |
InMotion |
|
Enumeration value: |
52 |
|
Description: |
The robot is in motion. |
|
Issue |
Cause |
Solution |
|---|---|---|
|
The modification of a coordinate system of the robot was not successful. |
A motion is active in the coordinate system that has to be modified. |
Do not call ModifyCoordinateSystem(...) while the robot is in motion. |
|
Enumeration name: |
InvertDirectionXInvalid |
|
Enumeration value: |
154 |
|
Description: |
InvertDirectionX is invalid. |
|
Issue |
Cause |
Solution |
|---|---|---|
|
The modification of a coordinate system of the robot was not successful. |
A two-dimensional transformation, in the YZ plane, is configured. |
Ensure that the input i_xInvertDirectionX is set to FALSE. |
|
Enumeration name: |
InvertDirectionYInvalid |
|
Enumeration value: |
155 |
|
Description: |
InvertDirectionY is invalid. |
|
Issue |
Cause |
Solution |
|---|---|---|
|
The modification of a coordinate system of the robot was not successful. |
A two-dimensional transformation, in the XZ plane, is configured. |
Ensure that the input i_xInvertDirectionY is set to FALSE. |
|
Enumeration name: |
InvertDirectionZInvalid |
|
Enumeration value: |
156 |
|
Description: |
InvertDirectionZ is invalid. |
|
Issue |
Cause |
Solution |
|---|---|---|
|
The modification of a coordinate system of the robot was not successful. |
A two-dimensional transformation, in the XY plane, is configured. |
Ensure that the input i_xInvertDirectionZ is set to FALSE. |
|
Enumeration name: |
OffsetInvalid |
|
Enumeration value: |
152 |
|
Description: |
The Offset is invalid. |
|
Issue |
Cause |
Solution |
|---|---|---|
|
The modification of a coordinate system of the robot was not successful. |
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 modification of a coordinate system of the robot was successful.
|
Enumeration name: |
OrientationInvalid |
|
Enumeration value: |
153 |
|
Description: |
The orientation is invalid. |
|
Issue |
Cause |
Solution |
|---|---|---|
|
The modification of a coordinate system of the robot was not successful. |
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: |
TrackingActive |
|
Enumeration value: |
175 |
|
Description: |
Tracking is active. |
|
Issue |
Cause |
Solution |
|---|---|---|
|
The modification of a coordinate system of the robot was not successful. |
The robot is still in tracking and not in coordinate system ET_CoordinateSystem.CSR. |
Do not call ModifyCoordinateSystem(...) while the robot is in tracking. |
|
Enumeration name: |
TransformationMissing |
|
Enumeration value: |
113 |
|
Description: |
The transformation is unavailable. |
|
Issue |
Cause |
Solution |
|---|---|---|
|
The modification of a coordinate system of the robot was not successful. |
There is no transformation of the robot configured. |
Ensure that the transformation of the robot is configured before modifying the coordinate system. |