FB_Robot - General Information

Overview

Type:

Function block

Available as of:

V1.0.0.0

Inherits from:

-

Implements:

  • IF_Robot

  • IF_DiagManager (no user interface)

  • IF_RobotState (no user interface)

Versions:

Current version

NOTE: License points are required to use the function block FB_Robot.

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:

Task

POU to control robots.

Description

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.

NOTE:

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.

Methods

Name

Description

RegisterLoggerPoint

Register the FB_Robot to the Application Logger.

Properties

Name

Data type

Accessing

Description

etDiag

GD.ET_Diag

Read

General library-independent statement on the diagnostic.

A value unequal to GD.ET_Diag.Ok corresponds to a diagnostic message.

etDiagExt

ET_DiagExt

Read

POU-specific output on the diagnostic.

q_etDiag = GD.ET_Diag.Ok -> Status message

q_etDiag <> GD.ET_Diag.Ok -> Diagnostic message

ifConfiguration

IF_RobotConfiguration

Read

Interface for the robot configuration.

ifConfigurationReadOnly

IF_RobotConfigurationReadOnly

Read

Interface to read configuration data from the robot via the provided methods and properties.

ifFeedback

IF_RobotFeedback

Read

Interface with return values.

ifJogging

IF_RobotJogging

Read

Interface for manual motion of the robot.

ifMotion

IF_RobotMotion

Read

Interface for motion programming.

ifWarmStart

IF_RobotWarmStart

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.

Diagnostic Messages

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.

AuxiliaryAxisNotConfigured

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.

AxisPositionRange

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.

CommandProcessing

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.

ComponentNotConfigured

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.

ConfigInvalid

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.

Disabled

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.

DriveInvalid

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.

DriveNotConfigured

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.

DriveNotReady

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.

ExcessiveTrackingDeviationLimitExceeded

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.

ExternalPositionSourceConfigured

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.

ExternalPositionSourceAccLimitExceeded

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.

Initializing

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.

Jogging

Enumeration name:

Jogging

Enumeration value:

47

Description:

Jogging

Jogging is active.

The robot is manually moved with the IF_RobotJogging interface.

LicenseCheckFailed

Enumeration name:

LicenseCheckFailed

Enumeration value:

6

Description:

The license check was not successful.

The robot is not ready for operation.

ModuloAxisNotSupported

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.

NotOnPath

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.

OutsideWorkspace

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.

PathPositionEndExceeded

Enumeration name:

PathPositionEndExceeded

Enumeration value:

29

Description:

The end position on the path was exceeded.

The robot is not ready for operation.

RefPositionInvalid

Enumeration name:

RefPositionInvalid

Enumeration value:

90

Description:

The Ref position is invalid.

The robot is not ready for operation.

SchneiderElectricRobotFailed

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.

SetPosDetected

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.

TrackingSourceAccLimitExceeded

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.

UnexpectedFeedback

Enumeration name:

UnexpectedFeedback

Enumeration value:

13

Description:

A feedback value was invalid.

The robot is not ready for operation.

UnexpectedMovement

Enumeration name:

UnexpectedMovement

Enumeration value:

82

Description:

The movement was invalid.

The robot is not ready for operation.

UnexpectedValue

Enumeration name:

UnexpectedValue

Enumeration value:

111

Description:

The value was invalid.

The robot is not ready for operation.

WaitForNewCommand

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.

WaitForStart

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.

WaitForVelOverride

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.

WaitUntilColdStartFinished

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.

WaitUntilDisabled

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.

WaitUntilWarmStartFinished

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.

WarmStartNotPossible

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.

WarmStartWaitForWsStart

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.

WorkEnvelope

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.