FB_ConveyorWidthBalancing - SetData - (Methode)

Überblick

Typ:

Methode

Verfügbar ab:

V1.4.1.0

Dieses Kapitel enthält Informationen zu folgenden Aspekten:

Aufgabe

Festlegen zusätzlicher Informationen, die der Algorithmus benötigt, 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_astRobotWidthRange

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

Liste mit der Minimal- und Maximalposition entlang der Breite des Förderbands für jeden Roboter.

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. Ein Wert ungleich GD.ET_Diag.Ok entspricht einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

POU-spezifischer 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

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.

InputParameterInvalid

TargetsHandlerInterfaceInvalid

153

Die Schnittstelle TargetsHandler ist ungültig.

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:

  • ROB.ET_RobotComponent.CartesianX

  • ROB.ET_RobotComponent.CartesianY

  • ROB.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.

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 ist.

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.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

Erfolg

Statusmeldung: Die Daten wurden erfolgreich festgelegt.

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 kleiner ist als die Maximalposition oder dieser entspricht.

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 dies 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:

  • ROB.ET_WorkingPlane.XY

  • ROB.ET_WorkingPlane.XZ

  • ROB.ET_WorkingPlane.YZ

Siehe Robotic-Bibliothek - ET_WorkingPlane.

TargetsHandlerInterfaceInvalid

Enumerationsname:

TargetsHandlerInterfaceInvalid

Enumerationswert:

153

Beschreibung:

Die Schnittstelle TargetsHandler ist ungültig.

Problem

Ursache

Lösung

Die Schnittstelle des Ziel-Handlers ist ungültig.

Der Funktionbaustein unterstützt keine Ziel-Handler, die für ein rotatives System konfiguriert wurden.

Stellen Sie sicher, dass der an i_ifTargetsHandler übergebene Ziel-Handler nicht als rotativ konfiguriert wurde.