FB_WeightedBalancing - SetData (Methode)

Übersicht

Typ:

Methode

Verfügbar ab:

V1.4.1.0

Dieses Kapitel enthält Informationen zu folgenden Aspekten:

oAufgabenstellung

oBeschreibung

oSchnittstelle

oDiagnosemeldungen

Aufgabenstellung

Festlegen der zusätzlichen Informationen, die erforderlich sind, um einem Ziel einen Eigentümer zuzuweisen

Beschreibung

Die Methode SetData legt die zusätzlichen Informationen fest, die der Algorithmus benötigt, um einem Ziel einen Eigentümer zuzuweisen.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_ifTargetsHandler

IF_TargetsHandler

Implementierung einer IF_TargetsHandler-Schnittstelle, die eine Liste mit Zielen enthält.

i_alrRobotWeights

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

Liste mit den Gewichten, die jedem Roboter zugewiesen sind.

i_aetRobotList

ARRAY [1...Gc_udiMaxNumberOfRobots] OF ET_SystemEntity

Liste der Roboter, die vom Algorithmus zu berücksichtigen sind.

HINWEIS: Keine doppelten Einträge zulässig (beispielsweise kann es in der Liste nicht zwei oder mehr Felder geben, deren Wert Roboter1 ist).

i_udiNumberOfRobots

UDINT

Anzahl der Roboter in der Liste i_aetRobotList.

i_astTrackingConstraints

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

Liste der Trackingeinschränkungen für jeden Roboter und für jedes Trackingsystem.

i_xAccuratePositionCalculation

BOOL

Wenn TRUE, berücksichtigt der Algorithmus bei einem Ziel-Handler mit Slots die Position der einzelnen Slots, um zu ermitteln, ob sie sich innerhalb des durch die Trackingeinschränkungen beschriebenen Bereichs befinden oder nicht.

Wenn FALSE, berücksichtigt der Algorithmus selbst bei einem Ziel-Handler mit Slots die Pose des Containerziels, um zu ermitteln, ob sich die Slots innerhalb des durch die Trackingeinschränkungen beschriebenen Bereichs befinden oder nicht.

Weitere Informationen finden Sie unter IF_TargetsHandler - ConfigureSlotList.

i_udiMaxNumberOfAssignmentsPerCall

UDINT

Begrenzt die Anzahl der Eigentümerzuweisungen pro Aufruf auf eine bestimmte Anzahl. Der Grenzwert beinhaltet auch diejenigen Ziele, deren Eigentümer der nächsten verfügbaren Nummer zugewiesen wird, wenn i_xAssignNextOwner auf TRUE gesetzt wird.

Um zu verhindern, dass eine große Anzahl von Zielen verarbeitet wird, begrenzen Sie die Anzahl der Zuweisungen pro Zyklus.

i_xAssignNextOwner

BOOL

Wenn TRUE, wird der Zieleigentümer jedes Mal, wenn ein Ziel in der Liste von seinem Eigentümer nicht erreicht werden kann, automatisch dem nächsten Roboter in der Liste i_aetRobotList zugewiesen (falls verfügbar).

Ausgang

Datentyp

Beschreibung

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. EinWert ungleich GD.ET_Diag.Ok entspricht einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

Bausteinspezifischer Ausgang zur Diagnose.

q_etDiag = ET_Diag.Ok -> Statusmeldung

q_etDiag <> ET_Diag.Ok -> Diagnosemeldung

q_sMsg

STRING[80]

Ereignisabhängige Meldung, die detaillierte Informationen zum Diagnosezustand übergibt.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert von q_etDiagExt

Beschreibung

Ok

Ok

0

Ok

InputParameterInvalid

BalancingStrategyWeightRang

167

Ein ausgewählter Gewichtswert liegt nicht im gültigen Bereich.

InputParameterInvalid

CartesianDirectionInvalid

160

Die ausgewählte kartesische Richtung ist ungültig.

InputParameterInvalid

InterfaceInvalid

122

Eine angegebene Schnittstelle ist ungültig.

InputParameterInvalid

MaxNumberOfAssignmentsPerCallRange

169

Der Wert der maximalen Anzahl der Zuweisungen pro Aufruf liegt außerhalb des gültigen Bereichs.

InputParameterInvalid

NumberOfRobotsRange

165

Anzahl der Roboter außerhalb des gültigen Bereichs.

InputParameterInvalid

PositionRangeInvalid

162

Die für einen Positionsbereich definierten Werte sind nicht gültig.

InputParameterInvalid

RobotIdDuplicated

137

Eine Robotereinheit mit derselben ID ist bereits vorhanden.

InputParameterInvalid

RobotIdInvalid

120

Eine angegebene Ziel-ID bezieht sich auf ein Containerziel.

InputParameterInvalid

WorkingPlaneInvalid

161

Die ausgewählte Arbeitsebene ist ungültig.

BalancingStrategyWeightRang

Enumerationsname:

BalancingStrategyWeightRange

Enumerationswert:

167

Beschreibung:

Ein ausgewählter Gewichtswert liegt nicht im gültigen Bereich.

Problem

Ursache

Lösung

Die Daten wurden nicht erfolgreich festgelegt.

i_alrRobotWeights enthält einen oder mehrere negative Werte.

Stellen Sie sicher, dass i_alrRobotWeights keine negativen Werte enthält, und korrigieren Sie diese bei Bedarf.

CartesianDirectionInvalid

Enumerationsname:

CartesianDirectionInvalid

Enumerationswert:

160

Beschreibung:

Die ausgewählte kartesische Richtung ist ungültig.

Problem

Ursache

Lösung

Die Daten wurden nicht erfolgreich festgelegt.

i_astTrackingConstraints enthält einen ungültigen Richtungswert.

Stellen Sie sicher, dass die kartesische Richtung für jedes Trackingsystem einen der folgenden Werte enthält:

oROB.ET_RobotComponent.CartesianX

oROB.ET_RobotComponent.CartesianY

oROB.ET_RobotComponent.CartesianZ

Siehe Robotic-Bibliothek - ET_RobotComponent.

InterfaceInvalid

Enumerationsname:

InterfaceInvalid

Enumerationswert:

122

Beschreibung:

Eine angegebene Schnittstelle ist ungültig.

Problem

Ursache

Lösung

Die Daten wurden nicht erfolgreich festgelegt.

i_ifTargetsHandler enthält eine Null-Schnittstelle.

Stellen Sie sicher, dass i_ifTargetsHandler eine gültige Schnittstelle enthält, und führen Sie bei Bedarf eine Korrektur durch.

MaxNumberOfAssignmentsPerCallRange

Enumerationsname:

MaxNumberOfAssignmentsPerCallRange

Enumerationswert:

169

Beschreibung:

Der Wert der maximalen Anzahl der Zuweisungen pro Aufruf liegt außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

Die Daten wurden nicht erfolgreich festgelegt.

i_udiMaxNumberOfAssignmentsPerCall enthält einen ungültigen Wert.

Stellen Sie sicher, dass i_udiMaxNumberOfAssignmentsPerCall > 0, und führen Sie bei Bedarf eine Korrektur durch.

NumberOfRobotsRange

Enumerationsname:

NumberOfRobotsRange

Enumerationswert:

165

Beschreibung:

Anzahl der Roboter außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

Die Daten wurden nicht erfolgreich festgelegt.

i_udiNumberOfRobots enthält einen ungültigen Wert.

Stellen Sie sicher, dass i_udiNumberOfRobots <= Gc_udiMaxNumberOfRobots ist, und führen Sie bei Bedarf eine Korrektur durch.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

Ok

Statusmeldung: Die Daten wurden erfolgreich gesendet.

PositionRangeInvalid

Enumerationsname:

PositionRangeInvalid

Enumerationswert:

162

Beschreibung:

Die für einen Positionsbereich definierten Werte sind nicht gültig.

Problem

Ursache

Lösung

Die Daten wurden nicht erfolgreich festgelegt.

i_astTrackingConstraints enthält einen oder mehrere Einträge, für die die beschriebene Minimalposition größer ist als die Maximalposition.

Stellen Sie sicher, dass für jedes Trackingsystem die Minimalposition auf einen Wert festgelegt wird, der größer oder kleiner ist als die Maximalposition.

RobotIdDuplicated

Enumerationsname:

RobotIdDuplicated

Enumerationswert:

137

Beschreibung:

Eine Robotereinheit mit derselben ID ist bereits vorhanden.

Problem

Ursache

Lösung

Die Daten wurden nicht erfolgreich festgelegt.

i_aetRobotList enthält mindestens zwei Einträge mit demselben Wert.

Stellen Sie sicher, dass i_aetRobotList keine doppelten Werte enthält, und korrigieren Sie diese bei Bedarf.

RobotIdInvalid

Enumerationsname:

RobotIdInvalid

Enumerationswert:

120

Beschreibung:

Eine angegebene Roboter-ID hat einen ungültigen Wert.

Problem

Ursache

Lösung

Die Daten wurden nicht erfolgreich festgelegt.

i_aetRobotList enthält eine oder mehrere ungültige Roboter-IDs.

Stellen Sie sicher, dass alle Einträge von i_aetRobotList im Bereich [ET_SystemEntity.Robot1...ET_SystemEntity.Robot10] liegen.

WorkingPlaneInvalid

Enumerationsname:

WorkingPlaneInvalid

Enumerationswert:

161

Beschreibung:

Die ausgewählte Arbeitsebene ist ungültig.

Problem

Ursache

Lösung

Die Daten wurden nicht erfolgreich festgelegt.

i_astTrackingConstraints enthält einen ungültigen Arbeitsebenenwert.

Stellen Sie sicher, dass die Arbeitsebene für jedes Trackingsystem einen der folgenden Werte enthält:

oROB.ET_WorkingPlane.XY

oROB.ET_WorkingPlane.XZ

oROB.ET_WorkingPlane.YZ

Siehe Robotic-Bibliothek - ET_WorkingPlane.