FB_WeightedBalancing - SetData (Methode)
Typ: |
Methode |
Verfügbar ab: |
V1.4.1.0 |
Dieses Kapitel enthält Informationen zu folgenden Aspekten:
Festlegen der zusätzlichen Informationen, die erforderlich sind, um einem Ziel einen Eigentümer zuzuweisen
Die Methode SetData legt die zusätzlichen Informationen fest, die der Algorithmus benötigt, um einem Ziel einen Eigentümer zuzuweisen.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_ifTargetsHandler |
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 |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. EinWert ungleich GD.ET_Diag.Ok entspricht einer Diagnosemeldung. |
|
q_etDiagExt |
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. |
q_etDiag |
q_etDiagExt |
Enumerationswert von q_etDiagExt |
Beschreibung |
---|---|---|---|
Ok |
0 |
Ok |
|
InputParameterInvalid |
167 |
Ein ausgewählter Gewichtswert liegt nicht im gültigen Bereich. |
|
InputParameterInvalid |
160 |
Die ausgewählte kartesische Richtung ist ungültig. |
|
InputParameterInvalid |
122 |
Eine angegebene Schnittstelle ist ungültig. |
|
InputParameterInvalid |
169 |
Der Wert der maximalen Anzahl der Zuweisungen pro Aufruf liegt außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
165 |
Anzahl der Roboter außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
162 |
Die für einen Positionsbereich definierten Werte sind nicht gültig. |
|
InputParameterInvalid |
137 |
Eine Robotereinheit mit derselben ID ist bereits vorhanden. |
|
InputParameterInvalid |
120 |
Eine angegebene Ziel-ID bezieht sich auf ein Containerziel. |
|
InputParameterInvalid |
161 |
Die ausgewählte Arbeitsebene ist ungültig. |
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. |
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 |
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. |
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. |
Enumerationsname: |
Ok |
Enumerationswert: |
0 |
Beschreibung: |
Ok |
Statusmeldung: Die Daten wurden erfolgreich gesendet.
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. |
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. |
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. |
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 |