Type: |
Function block |
Available as of: |
V1.0.0.0 |
Inherits from: |
- |
Implements: |
|
Versions: |
Current version |
License points are only required for library versions earlier than V2.6.1.0. For more information on license points, refer to License Model for PacDrive Software Packages.
Number of license points: 30
License string: ROB.Robot
The license points are requested during a successful call of a configuration method of a transformation of IF_RobotConfiguration.
This chapter provides information on:
Central POU to control robot kinematics. The configuration and motion programming is performed via the interface IF_RobotConfiguration or IF_RobotMotion. The states of the robot kinematics can be determined via the IF_RobotFeedback interface.
The POU must be implemented in the user program. The POU is controlled via its properties.
For Modicon M262 Motion Controllers: If FB_Robot and/or IF_Robot report a diagnostic message and the axis is in MOIN.ET_AxisState.ErrorStop state, FB_Robot and/or IF_Robot must be disabled and MC_Reset must be executed to reset the axis.
Name |
Data type |
Accessing |
Description |
---|---|---|---|
etDiag |
Read |
General library-independent statement on the diagnostic. A value unequal to GD.ET_Diag.Ok corresponds to a diagnostic message. |
|
etDiagExt |
Read |
POU-specific output on the diagnostic. q_etDiag = GD.ET_Diag.Ok -> Status message q_etDiag <> GD.ET_Diag.Ok -> Diagnostic message |
|
ifConfiguration |
Read |
Interface for the robot configuration. |
|
ifConfigurationReadOnly |
Read |
Interface to read configuration data from the robot via the provided methods and properties. |
|
ifFeedback |
Read |
Interface with return values. |
|
ifJogging |
Read |
Interface for manual motion of the robot. |
|
ifMotion |
Read |
Interface for motion programming. |
|
ifWarmStart |
Read |
Interface to access the warm start interface of the robot. |
|
sMsg |
STRING[80] |
Read |
Event-triggered message that gives more detailed information on the diagnostic state. |
xActive |
BOOL |
Read |
TRUE: The POU is active and has to be executed further. FALSE: The POU is inactive. |
xDiagQuit |
BOOL |
Read/Write |
A rising edge FALSE -> TRUE acknowledges the following diagnostic messages: etDiag = GD.ET_Diag.ConfigurationFailed etDiagExt = ET_DiagExt.ConfigInvalid |
xEnable |
BOOL |
Read/Write |
A rising edge FALSE -> TRUE activates the POU, a falling edge TRUE -> FALSE deactivates the POU. A deactivated POU does not execute any actions. For further information, refer to Behavior of FB_Robot.xEnable = FALSE / SyncStop.
NOTE: For Modicon M262 Motion Controllers with an axis configured as modulo, refer to chapter Compatibility Notes V3.0.3.0.
|
xReady |
BOOL |
Read |
TRUE: The POU is ready to operate and can accept user commands. FALSE: The function block is not ready to accept user commands. |
xStart |
BOOL |
Read/Write |
TRUE: Motion commands issued via the IF_RobotMotion interface are started. FALSE: Active motions are stopped and can be continued by setting xStart: = TRUE again. The robot can be positioned via the IF_RobotJogging interface. For further information, refer to Behavior of FB_Robot.xStart = FALSE. |
xWsSelect |
BOOL |
Read/Write |
TRUE: A warm start motion is pre-selected. |
xWsStart |
BOOL |
Read/Write |
TRUE: If xWsSelect = TRUE, the robot moves to the last detected path position. To perform a warm start, it is necessary to re-enable the FB_Robot by setting xEnable to FALSE and TRUE again. |
q_etDiag |
q_etDiagExt |
Enumeration value |
Description |
---|---|---|---|
OK |
WaitUntilColdStartFinished |
2 |
The robot is performing a cold start. |
Initializing |
19 |
Initializing |
|
WaitUntilWarmStartFinished |
46 |
The robot is performing a warm start. |
|
Jogging |
47 |
Jogging |
|
Disabled |
51 |
Disabled |
|
WaitForStart |
55 |
The robot is waiting for start. |
|
WaitForNewCommand |
56 |
The robot is waiting for a new command. |
|
CommandProcessing |
57 |
The robot is processing a command. |
|
WarmStartWaitForWsStart |
62 |
The robot will perform a warm start. |
|
WaitUntilDisabled |
122 |
The robot is going to be disabled. |
|
WaitForVelOverride |
145 |
The robot is waiting for VelOverride. |
|
ConfigurationFailed |
ConfigInvalid |
1 |
The configuration is invalid. |
SchneiderElectricRobotFailed |
157 |
Executing a Schneider Electric robot was not successful. |
|
DiagActive |
SchneiderElectricRobotFailed |
157 |
Executing a Schneider Electric robot was not successful. |
DriveConditionInvalid |
DriveNotReady |
85 |
A drive is not ready. |
DriveInvalid |
92 |
The drive is invalid. |
|
ModuloAxisNotSupported |
244 |
An axis of type modulo is not supported. |
|
Execution Aborted |
PathPositionEndExceeded |
29 |
The end position on the path was exceeded. |
NotOnPath |
63 |
The robot is not on the path. |
|
DriveNotConfigured |
65 |
The drive is not configured. |
|
AxisPositionRange |
103 |
Axis position range exceeded. |
|
OutsideWorkspace |
104 |
Outside of workspace. |
|
AuxiliaryAxisNotConfigured |
127 |
The auxiliary axis is not configured. |
|
WarmStartNotPossible |
173 |
A warm start is not possible. |
|
SetPosDetected |
174 |
A SetPos has been detected. |
|
ComponentNotConfigured |
198 |
The component is not configured. |
|
ExternalPositionSourceConfigured |
205 |
The external position source is configured. |
|
ExternalPositionSourceAccLimitExceeded |
224 |
The acceleration of one of the robot components has exceeded the specified limit value. |
|
TrackingSourceAccLimitExceeded |
250 |
The acceleration of one of the tracking systems has exceeded the specified limit value. |
|
LimitReached |
ExcessiveTrackingDeviationLimitExceeded |
121 |
The tracking deviation limit was exceeded. |
WorkEnvelope |
159 |
Diagnostic message concerning the work envelope is active. |
|
UnexpectedProgramBehavior |
LicenseCheckFailed |
6 |
The license check was not successful. |
UnexpectedFeedback |
13 |
A feedback value was invalid. |
|
UnexpectedMovement |
82 |
The movement was invalid. |
|
RefPositionInvalid |
90 |
The Ref position is invalid. |
|
UnexpectedValue |
111 |
The value was invalid. |
Enumeration name: |
AuxiliaryAxisNotConfigured |
Enumeration value: |
127 |
Description: |
The auxiliary axis is not configured. |
Issue |
Cause |
Solution |
---|---|---|
Using additional transformation axes was not successful. |
A position value unequal to zero of an unconfigured auxiliary axis was calculated and transferred to the robot. |
Ensure that a position value equal to zero is transferred to the not configured auxiliary axis. |
Using TrackingSource was not successful. |
A tracking offset unequal to zero for an unconfigured auxiliary axis was transferred to the robot. |
Ensure that a tracking offset equal to zero is transmitted for every auxiliary axis that is not configured for the robot. |
Enumeration name: |
AxisPositionRange |
Enumeration value: |
103 |
Description: |
Axis position range exceeded. |
Issue |
Cause |
Solution |
---|---|---|
The robot is not ready for operation. |
A movement of the robot leads to one or more axes being outside the operation zone of the robot. |
Ensure that the movement of the robot is inside the operation zone of the robot. |
Enumeration name: |
CommandProcessing |
Enumeration value: |
57 |
Description: |
The robot is processing a command. |
The robot is ready for operation.
The robot is processing motion commands that were issued with the IF_RobotMotion interface.
Enumeration name: |
ComponentNotConfigured |
Enumeration value: |
198 |
Description: |
The component is not configured. |
Issue |
Cause |
Solution |
---|---|---|
Using additional transformation TCP was not successful. |
A position value unequal to zero of an unconfigured TCP component was calculated and transferred to the robot. |
Ensure that a position value equal to zero is transferred to the not configured TCP component. |
Using TrackingSource was not successful. |
A tracking offset unequal to zero for an unconfigured cartesian component was transferred to the robot. |
Ensure that a tracking offset equal to zero is transmitted for every cartesian component that is not configured for the robot. |
Enumeration name: |
ConfigInvalid |
Enumeration value: |
1 |
Description: |
The configuration is invalid. |
Issue |
Cause |
Solution |
---|---|---|
The robot is not ready for operation. |
The configuration of the robot has not been completed yet. |
A valid transformation, for example IF_RobotConfiguration.Delta3Ax, has to be configured. Valid emergency parameters have to be set by calling the method IF_RobotConfiguration.SetEmergencyParameter. In order to complete the configuration of the robot, the method IF_RobotConfiguration.ConfigDone has to be called. If the configuration was successfully completed, then IF_RobotConfiguration.xConfigDone is set to TRUE. |
Enumeration name: |
Disabled |
Enumeration value: |
51 |
Description: |
Disabled |
The robot is deactivated, no actions are executed.
FB_Robot.xEnable and FB_Robot.xActive have the value FALSE.
Set FB_Robot.xEnable to TRUE to enable the robot.
Enumeration name: |
DriveInvalid |
Enumeration value: |
92 |
Description: |
The drive is invalid. |
Issue |
Cause |
Solution |
---|---|---|
The robot is not ready for operation. |
A drive that was transferred at the input i_ifDrive (or i_ifDriveA, i_ifDriveB, ...) is invalid. |
Ensure that a valid drive is transferred at the input i_ifDrive. |
Enumeration name: |
DriveNotConfigured |
Enumeration value: |
65 |
Description: |
The drive is not configured. |
Issue |
Cause |
Solution |
---|---|---|
Usage of additional transformation axes was not successful. |
A position value unequal to zero of an unconfigured robot axis was calculated and transferred to the robot. |
Ensure that a position value equal to zero is transferred to the not configured robot axes. |
Enumeration name: |
DriveNotReady |
Enumeration value: |
85 |
Description: |
A drive is not ready. |
Issue |
Cause |
Solution |
---|---|---|
The robot is not ready for operation. |
At least one drive of the robot is not ready. |
Ensure that the drives are ready before enabling the robot. |
Enumeration name: |
ExcessiveTrackingDeviationLimitExceeded |
Enumeration value: |
121 |
Description: |
The tracking deviation limit was exceeded. |
Issue |
Cause |
Solution |
---|---|---|
The robot is not ready for operation. |
The tracking deviation of a robot component is greater than the value tracking deviation limit multiplied by the tracking deviation factor set by IF_RobotConfigurationAdvanced.SetTrackingDeviationLimit. |
Verify the maximum velocity and/or acceleration of the robot movement in connection with the product that is moved. |
Enumeration name: |
ExternalPositionSourceConfigured |
Enumeration value: |
205 |
Description: |
The external position source is configured. |
Issue |
Cause |
Solution |
---|---|---|
The motion job was aborted. |
An external position source for the robot components cartesian, orientation and auxiliary axes is configured. |
Do not set the motion parameter for the component VelOverride. Setting the VelOverride is not possible when an external position source for the robot components is configured. |
Enumeration name: |
ExternalPositionSourceAccLimitExceeded |
Enumeration value: |
225 |
Description: |
The acceleration of one of the robot components has exceeded the specified limit value. |
Issue |
Cause |
Solution |
---|---|---|
The robot is not ready for operation. |
The delta of two subsequent positions forwarded to the robot via the method IF_ExternalPositionSource.WriteRefValues is too large, so the acceleration calculated from these positions is greater than the given limit. |
Ensure that the movement of the external position source does not exceed the given limit. Adjust the limit if necessary. |
One or more tasks are exceeding the configured cycle time. |
Verify the behavior of the active tasks in terms of cycle time. |
Enumeration name: |
Initializing |
Enumeration value: |
19 |
Description: |
Initializing |
The robot is being initialized.
FB_Robot.xEnable was set to TRUE.
The value of FB_Robot.xActive is TRUE.
The robot is being initialized. Wait until FB_Robot.xReady is also set to TRUE.
Enumeration name: |
Jogging |
Enumeration value: |
47 |
Description: |
Jogging |
Jogging is active.
The robot is manually moved with the IF_RobotJogging interface.
Enumeration name: |
LicenseCheckFailed |
Enumeration value: |
6 |
Description: |
The license check was not successful. |
The robot is not ready for operation.
Enumeration name: |
ModuloAxisNotSupported |
Enumeration value: |
244 |
Description: |
An axis of type modulo is not supported. |
Issue |
Cause |
Solution |
---|---|---|
The robot is not ready for operation. |
A configured robot axis on the M262 controller is of type modulo. |
Ensure that configured robot axes on the M262 controller are of type linear. |
Enumeration name: |
NotOnPath |
Enumeration value: |
63 |
Description: |
The robot is not on the path. |
Issue |
Cause |
Solution |
---|---|---|
The robot is not ready for operation. |
IF_RobotJogging.Start with ET_RobotComponent.Path selected while robot is not on the path. |
Perform a warm start to get back on the path before executing IF_RobotJogging.Start with ET_RobotComponent.Path. |
FB_Robot.xStart is set to TRUE while robot is not on the path. |
Perform a warm start to get back on the path before setting FB_Robot.xStart to TRUE. |
Enumeration name: |
OutsideWorkspace |
Enumeration value: |
104 |
Description: |
Outside of workspace. |
Issue |
Cause |
Solution |
---|---|---|
The robot is not ready for operation. |
A movement of the robot leads to a cartesian coordinate being outside the operation zone of the robot. |
Ensure that the movement of the robot is inside the cartesian operation zone of the robot. |
Enumeration name: |
PathPositionEndExceeded |
Enumeration value: |
29 |
Description: |
The end position on the path was exceeded. |
The robot is not ready for operation.
Enumeration name: |
RefPositionInvalid |
Enumeration value: |
90 |
Description: |
The Ref position is invalid. |
The robot is not ready for operation.
Enumeration name: |
SchneiderElectricRobotFailed |
Enumeration value: |
157 |
Description: |
Executing a Schneider Electric robot was not successful. |
Issue |
Cause |
Solution |
---|---|---|
The robot is not ready for operation. |
The configuration method IF_RobotConfiguration.SchneiderElectricRobot has been called not successfully. |
The configuration method IF_RobotConfiguration.SchneiderElectricRobot has to be called successfully in case of a Schneider Electric robot. |
Enumeration name: |
SetPosDetected |
Enumeration value: |
174 |
Description: |
A SetPos has been detected. |
Issue |
Cause |
Solution |
---|---|---|
The robot is not ready for operation. |
A SetPos was detected on a logical encoder of a configured linear tracking system. |
Do not perform a SetPos on any logical encoder of a configured linear tracking system. |
One or more tasks are exceeding the configured cycle time. |
Verify the behavior of the active tasks in terms of cycle time. |
|
Fast variations on the velocity source configured for the tracking system, for example, an electrically noisy signal. |
Verify the behavior of the configured velocity source. |
Enumeration name: |
TrackingSourceAccLimitExceeded |
Enumeration value: |
250 |
Description: |
The acceleration of one of the tracking systems has exceeded the specified limit value. |
Issue |
Cause |
Solution |
---|---|---|
The robot is not ready for operation. |
The acceleration of one of the tracking systems has exceeded the specified limit value. |
Ensure that the movement of the tracking source does not exceed the given limit. You must adjust the limit, if necessary. |
Enumeration name: |
UnexpectedFeedback |
Enumeration value: |
13 |
Description: |
A feedback value was invalid. |
The robot is not ready for operation.
Enumeration name: |
UnexpectedMovement |
Enumeration value: |
82 |
Description: |
The movement was invalid. |
The robot is not ready for operation.
Enumeration name: |
UnexpectedValue |
Enumeration value: |
111 |
Description: |
The value was invalid. |
The robot is not ready for operation.
Enumeration name: |
WaitForNewCommand |
Enumeration value: |
56 |
Description: |
The robot is waiting for a new command. |
The robot is ready for operation.
The robot is waiting for commands that can be issued with the IF_RobotMotion interface.
Enumeration name: |
WaitForStart |
Enumeration value: |
55 |
Description: |
The robot is waiting for start. |
The robot is ready for operation.
FB_Robot.xReady has the value TRUE.
The system is waiting for FB_Robot.xStart to be set to the value TRUE.
Enumeration name: |
WaitForVelOverride |
Enumeration value: |
145 |
Description: |
The robot is waiting for VelOverride. |
The robot is ready for operation.
The value IF_RobotMotion.lrVelOverride is set to 0.
Set the value of IF_RobotMotion.lrVelOverride greater than 0.
Enumeration name: |
WaitUntilColdStartFinished |
Enumeration value: |
2 |
Description: |
The robot is performing a cold start. |
The robot is ready for operation.
The robot is performing a cold start. FB_Robot.xReady is FALSE until the cold start is finished.
Enumeration name: |
WaitUntilDisabled |
Enumeration value: |
122 |
Description: |
The robot is going to be disabled. |
The robot is not ready for operation.
FB_Robot.xEnable was set to FALSE. The robot is going to be disabled.
Enumeration name: |
WaitUntilWarmStartFinished |
Enumeration value: |
46 |
Description: |
The robot is performing a warm start. |
The robot is ready for operation.
FB_Robot.xWsSelect and FB_Robot.xWsStart were set to the value TRUE. The robot is executing a warm start.
Enumeration name: |
WarmStartNotPossible |
Enumeration value: |
173 |
Description: |
A warm start is not possible. |
Issue |
Cause |
Solution |
---|---|---|
The robot is not ready for operation. |
A warm start of the robot is not possible. Request to change the coordinate system are sent. |
Perform a cold start of the robot. |
A warm start of the robot is not possible. The robot was in tracking before disable. |
Perform a cold start of the robot. |
Enumeration name: |
WarmStartWaitForWsStart |
Enumeration value: |
62 |
Description: |
The robot will perform a warm start. |
The robot is ready for operation.
When activating the robot (FB_Robot.xEnable FALSE -> TRUE), FB_Robot.xWsSelect was set to the value TRUE.
The system waits for FB_Robot.xWsStart to be set to the value TRUE to perform a warm start.
Enumeration name: |
WorkEnvelope |
Enumeration value: |
159 |
Description: |
Diagnostic message concerning the work envelope is active. |
Issue |
Cause |
Solution |
---|---|---|
The robot is not ready for operation. |
The robot detected a disturbance of the valid work envelope and stopped in front of it. |
Ensure that the robot movement is always inside the valid work envelope of the robot. |