FB_ConveyorWidthBalancing - SetData (Method)

Overview

Type:

Method

Available as of:

V1.4.1.0

This chapter provides information on:

oTask

oDescription

oInterface

oDiagnostic Messages

Task

Set the additional information required by the algorithm to assign an owner to a target.

Description

The method SetData, sets the additional information required by the algorithm to assign an owner to a target.

Interface

Input

Data type

Description

i_ifTargetsHandler

IF_TargetsHandler

Implementation of an IF_TargetsHandler interface that contains a list of targets.

i_astRobotWidthRange

ARRAY [ET_SystemEntity.Robot1...ET_SystemEntity.RobotOffset+Gc_udiMaxNumberOfRobots] OF ST_ValueRange

List containing the minimum and maximum position along the width of the conveyor for each robot.

i_aetRobotList

ARRAY [1...Gc_udiMaxNumberOfRobots] OF ET_SystemEntity

List of the robots to be considered by the algorithm.

NOTE: No duplicated entries are allowed (for example, it is not possible to have two or more fields in the list with a value equal to Robot1)

i_udiNumberOfRobots

UDINT

Number of robots in the list i_aetRobotList.

i_astTrackingConstraints

ARRAY [ET_SystemEntity.Robot1...ET_SystemEntity.RobotOffset+Gc_udiMaxNumberOfRobots] OF ST_RobotTrackingConstraints

List of tracking constraints for each robot and for each tracking system.

i_xAccuratePositionCalculation

BOOL

If set to TRUE, in case of a targets handler with slots, the algorithm considers the present position of the single slots to determine if they are or not inside the area described by the tracking constraints.

If set to FALSE, even in case of a targets handler with slots, the algorithm considers the pose of the container target to determine if the slots are or not inside the area described by the tracking constraints.

For more information, refer to IF_TargetsHandler - ConfigureSlotList.

i_udiMaxNumberOfAssignmentsPerCall

UDINT

Limits the number of owner assignments per call to a specific number. The limit also includes those targets which owner is assigned to the next available number when i_xAssignNextOwner is set to TRUE.

To prevent a high number of targets to be processed, limit the number of assignments per cycle.

i_xAssignNextOwner

BOOL

If set to TRUE, every time a target in the list is not reachable by its owner, the target owner is automatically assigned to the next robot in the list i_aetRobotList (if available).

Output

Data type

Description

q_etDiag

GD.ET_Diag

General library-independent statement on the diagnostic. A value unequal to GD.ET_Diag.Ok corresponds to a diagnostic message.

q_etDiagExt

ET_DiagExt

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 more detailed information on the diagnostic state.

Diagnostic Messages

q_etDiag

q_etDiagExt

Enumeration value of q_etDiagExt

Description

Ok

Ok

0

Ok

InputParameterInvalid

CartesianDirectionInvalid

160

The selected Cartesian direction is invalid.

InputParameterInvalid

InterfaceInvalid

122

A provided interface is invalid.

InputParameterInvalid

MaxNumberOfAssignmentsPerCallRange

169

The value of the max number of assignments per call is out of range.

InputParameterInvalid

NumberOfRobotsRange

165

Number of robots out of range.

InputParameterInvalid

PositionRangeInvalid

162

The values defined for a position range are not valid.

InputParameterInvalid

RobotIdDuplicated

137

A robot entity already exists with the same ID.

InputParameterInvalid

RobotIdInvalid

120

A provided target ID refers to a container target.

InputParameterInvalid

WorkingPlaneInvalid

161

The selected working plane is invalid.

CartesianDirectionInvalid

Enumeration name:

CartesianDirectionInvalid

Enumeration value:

160

Description:

The selected Cartesian direction is invalid.

Issue

Cause

Solution

The data was not successfully set.

i_astTrackingConstraints contains an invalid direction value.

Ensure that the Cartesian direction for each tracking system contains one of the following values:

oROB.ET_RobotComponent.CartesianX

oROB.ET_RobotComponent.CartesianY

oROB.ET_RobotComponent.CartesianZ

Refer to Robotic Library - ET_RobotComponent.

InterfaceInvalid

Enumeration name:

InterfaceInvalid

Enumeration value:

122

Description:

A provided interface is invalid.

Issue

Cause

Solution

The data was not successfully set.

i_ifTargetsHandler contains a null interface.

Ensure that i_ifTargetsHandler contains a valid interface.

MaxNumberOfAssignmentsPerCallRange

Enumeration name:

MaxNumberOfAssignmentsPerCallRange

Enumeration value:

169

Description:

The value of the max number of assignments per call is out of range.

Issue

Cause

Solution

The data was not successfully set.

i_udiMaxNumberOfAssignmentsPerCall contains an invalid value.

Ensure that i_udiMaxNumberOfAssignmentsPerCall > 0.

NumberOfRobotsRange

Enumeration name:

NumberOfRobotsRange

Enumeration value:

165

Description:

Number of robots out of range.

Issue

Cause

Solution

The data was not successfully set.

i_udiNumberOfRobots contains an invalid value.

Ensure that i_udiNumberOfRobots <= Gc_udiMaxNumberOfRobots.

Ok

Enumeration name:

Ok

Enumeration value:

0

Description:

Ok

Status message: The data is successfully set.

PositionRangeInvalid

Enumeration name:

PositionRangeInvalid

Enumeration value:

162

Description:

The values defined for a position range are not valid.

Issue

Cause

Solution

The data was not successfully set.

i_astTrackingConstraints contains one or more entries for which the described minimum position is greater than the maximum position.

Ensure that for each tracking system, the minimum position is set to a value equal or smaller than the maximum position.

RobotIdDuplicated

Enumeration name:

RobotIdDuplicated

Enumeration value:

137

Description:

A robot entity already exists with the same ID.

Issue

Cause

Solution

The data was not successfully set.

i_aetRobotList contains two or more entries with the same value.

Ensure that i_aetRobotList does not contain duplicated entries, and correct if necessary.

RobotIdInvalid

Enumeration name:

RobotIdInvalid

Enumeration value:

120

Description:

A provided robot ID has an invalid value.

Issue

Cause

Solution

The data was not successfully set.

i_aetRobotList contains one or more invalid robot IDs.

Ensure that all the entries of i_aetRobotList are in the range [ET_SystemEntity.Robot1...ET_SystemEntity.Robot10.]

WorkingPlaneInvalid

Enumeration name:

WorkingPlaneInvalid

Enumeration value:

161

Description:

The selected working plane is invalid.

Issue

Cause

Solution

The data was not successfully set.

i_astTrackingConstraints contains an invalid working plane value.

Ensure that the working plane for each tracking system contains one of the following values:

oROB.ET_WorkingPlane.XY

oROB.ET_WorkingPlane.XZ

oROB.ET_WorkingPlane.YZ

Refer to, Robotic Library - ET_WorkingPlane.