IF_RobotMotion - ChangeCoordinateSystem (Method)
Type: |
Method |
Available as of: |
V1.6.0.0 |
This chapter provides information on:
oTask
Requesting a change to a configured coordinate system, for example a linear tracking system configured by IF_RobotConfiguration.AddLinearTrackingSystem.
With the method ChangeCoordinateSystem(...), a change to a configured coordinate system can be requested.
Behavior of changing the coordinate system in case of a tracking system:
oIf at the time of the change in the requested tracking system no tracking is active, the change to the requested tracking system is initiated.
oIf at the time of the change in the requested tracking system a tracking is active and the change to that tracking system is finished, the change to the requested tracking system is initiated.
oIf at the time of the change in the requested tracking system a tracking is active and the change to that tracking system is not finished, the active change is stopped first. When the stop is finished, the change to the requested tracking system is initiated.
Assuming that the velocity of a velocity source of a tracking system is constant, the change to a requested tracking system is done by keeping the limit of the maximum resulting acceleration for the tracking movement.
The maximum resulting acceleration must be set by IF_RobotMotion.SetMaxAccelerationResultant for the robot component ET_RobotComponent.Tracking.
Also refer to:
oBehavior of Method ChangeCoordinateSystem.
oTracking on Velocity Sources with Non-Constant Velocity
oInteraction of ChangeCoordinateSystem with Stop-on-path
oBehavior of FB_Robot.xStart = FALSE
oBehavior of FB_Robot.xEnable = FALSE / SyncStop
Input |
Data type |
Description |
---|---|---|
i_etName |
Coordinate system in which the robot has to change. |
|
i_lrStartOffset |
LREAL |
Position of the path motion within the following segment where the change to the coordinate system starts. Positive values of i_IrStartOffset refer to the segment start and negative values refer to the segment end. Special case: i_lrStartOffset = 0.0 -> In this case the change of the coordinate system starts at the start of the following segment. Valid values are: 0.0 <= |i_lrStartOffset| <= Length of the following segment If the value of i_lrStartOffset is greater than the length of the following segment, the change of the coordinate system can be moved to the segment after the following segment. |
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 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 |
176 |
The change of a coordinate system has been replaced. |
|
OK |
0 |
Ok |
|
ExecutionAborted |
10 |
The command has been denied. |
|
ExecutionAborted |
170 |
The MaxAccelerationResultant is out of range. |
|
ExecutionAborted |
171 |
There are no more tracking events available. |
|
ExecutionAborted |
205 |
The external position source is configured. |
|
InputParameterInvalid |
117 |
The coordinate system is invalid. |
|
InputParameterInvalid |
172 |
The coordinate system is not configured. |
|
UnexpectedProgramBehavior |
13 |
A feedback value was invalid. |
ChangeCoordinateSystemReplaced
Enumeration name: |
ChangeCoordinateSystemReplaced |
Enumeration value: |
176 |
Description: |
The change of a coordinate system has been replaced. |
Issue |
Cause |
Solution |
---|---|---|
The request to change the coordinate system was successful. |
Another request to change the coordinate system was called but the first one is not executed. |
No move command was sent after the first request to change the coordinate system. |
Enumeration name: |
CommandRefused |
Enumeration value: |
10 |
Description: |
The command has been denied. |
Issue |
Cause |
Solution |
---|---|---|
The request to change the coordinate system was not successful. |
A positioning command is already being processed. Two commands, for example MoveL(...), MoveC(...), MoveS(...) or MoveSync(...), are called simultaneously. |
Ensure that move commands and a command to change the coordinate system are called one after another and not simultaneously. |
Enumeration name: |
CoordinateSystemInvalid |
Enumeration value: |
117 |
Description: |
The coordinate system is invalid. |
Issue |
Cause |
Solution |
---|---|---|
The request to change the coordinate system 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: |
CoordinateSystemNotConfigured |
Enumeration value: |
172 |
Description: |
The coordinate system is not configured. |
Issue |
Cause |
Solution |
---|---|---|
The request to change the coordinate system was not successful. |
The requested coordinate system at the input i_etName is not configured. |
If required, configure a linear tracking system with the configuration method IF_RobotConfiguration.AddLinearTrackingSystem first. |
ExternalPositionSourceConfigured
Enumeration name: |
ExternalPositionSourceConfigured |
Enumeration value: |
205 |
Description: |
The external position source is configured. |
Issue |
Cause |
Solution |
---|---|---|
The request to change the coordinate system was not successful. |
An external position source for the robot components cartesian, orientation and auxiliary axes is configured. |
A request to change the coordinate system is not possible when an external position source for the robot components is configured. Do not request a change of the coordinate system. |
Enumeration name: |
MaxAccelerationResultantRange |
Enumeration value: |
170 |
Description: |
The MaxAccelerationResultant is out of range. |
Issue |
Cause |
Solution |
---|---|---|
The request to change the coordinate system was not successful. |
The maximum resulting acceleration for changing the coordinate system is not configured. |
Call the method IF_RobotMotion.SetMaxAccelerationResultant for the robot component ET_RobotComponent.Tracking first. |
Enumeration name: |
NoMoreTrackingEventsAvailable |
Enumeration value: |
171 |
Description: |
There are no more tracking events available. |
Issue |
Cause |
Solution |
---|---|---|
The request to change the coordinate system was not successful. |
No further coordinate system change requests can be issued. The maximum number of change requests has been reached. |
Wait until requests to change the coordinate system have been executed before sending new requests. |
Enumeration name: |
Ok |
Enumeration value: |
0 |
Description: |
Ok |
The request to change the coordinate system was successful.
Enumeration name: |
UnexpectedFeedback |
Enumeration value: |
13 |
Description: |
A feedback value was invalid. |
The request to change the coordinate system was not successful.
The request to change the coordinate system was aborted because of an invalid feedback value.