Diese Methode wird zur Auswertung eines skalierten Geschwindigkeitsübersteuerungwertes basierend auf dem Status des Roboters und der Erreichbarkeit des Ziels in einem linearen Trackingsystem verwendet.
Mit dieser Methode wird ein Geschwindigkeitsübersteuerungwert zur Skalierung der Geschwindigkeit eines Roboters während seiner Bewegung zu einem Ziel in einem linearen Trackingsystem ausgewertet. Die Skalierung wird angepasst basierend auf der Erreichbarkeit des Ziels, der Zeit, die der Roboter benötigt, um das Ziel zu erreichen und der Geschwindigkeit des linearen Trackingsystems.
Diese Methode muss während der Bewegung aufgerufen werden, wobei die Skalierung der Geschwindigkeitsübersteuerung erforderlich ist. Das liegt daran, dass der Geschwindigkeitsübersteuerungwert basierend auf dem Systemstatus kontinuierlich aktualisiert wird. So ist es beispielsweise möglich, auf Abweichungen bei der Geschwindigkeit im Trackingsystem zu reagieren.
Bevor diese Methode aufgerufen wird, muss die Methode Configuration erfolgreich aufgerufen werden. Wenn der Funktionsbaustein ordnungsgemäß konfiguriert wurde, dann wird die Eigenschaft xConfigDone auf TRUE gesetzt.
Der skalierte Geschwindigkeitsübersteuerungswert wird von der Methode zurückgegeben, jedoch nicht automatisch auf den Roboter angewendet.
Ausgehend vom Geschwindigkeitsübersteuerungswert kann der Algorithmus eine skalierte Geschwindigkeitsübersteuerung im Bereich [0.0, i_lrMaxVelOverride] zurückgeben.
Der Algorithmus gibt einen skalieren Geschwindigkeitsübersteuerungswert von Null zurück, wenn das Ziel nicht erreicht werden kann, wie z. B. bei einem Trackingsystem, das eine Geschwindigkeit von Null erreicht, während das Ziel noch nicht erreicht werden kann.
Der Algorithmus gibt einen Geschwindigkeitsübersteuerungswert von i_lrMaxVelOverride zurück, sobald das Ziel erreicht werden kann.
ROB.IF_RobotConfigurationAdvanced.lrMinVelOverrideVariation kann verwendet werden, um die CPU-Last zu reduzieren, die erforderlich ist für die Neuberechnung des Bewegungsprofils aufgrund geringer Abweichungen des Geschwindigkeitsübersteuerungswertes.
Ein neuer Wert von IF_RobotMotion.lrVelOverride wird nur angenommen, wenn der letzte Wert vollständig verarbeitet wurde (typischerweise 3 Sercos-Zyklen). Daher sollte die Methode EvaluateScaledVelOverride nicht mehr als dreimal die Sercos-Zykluszeit ausgeführt werden.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_stTargetPosition |
SE_MATH.ST_Vector3D |
Zu erreichende Zielposition in Bezug auf das Tracking-Koordinatensystem. |
i_etTrackingCoordinateSystem |
ROB.ET_CoordinateSystem |
Bei der Berechnung zu berücksichtigende Vorgabe des Koordinatensystems. Die Positionen i_stTargetPosition und i_lrTrackingContactPosition beziehen sich auf dieses Koordinatensystem. |
i_lrTrackingContactPosition |
LREAL |
Position entlang der Trackingrichtung, an der der Roboter das Ziel erreicht. |
i_lrMaxVelOverride |
LREAL |
Maximale Geschwindigkeitsübersteuerung, die für die Bewegung des Roboters zulässig ist. |
Eingang |
Datentyp |
Beschreibung |
---|---|---|
q_xError |
BOOL |
TRUE: Beim letzten Befehl ist ein Fehler aufgetreten. Weitere Informationen finden Sie auch unter q_etResult und q_sResultMsg. |
q_etResult |
SERT.ET_Result |
Gibt Diagnose- und Statusinformationen an. Wenn q_xError = FALSE, dann stellt q_etResult Statusinformationen bereit. Wenn q_xError = TRUE, dann stellt q_etResult Diagnose-/Fehlerinformationen bereit. Die Enumeration ET_Result enthält die möglichen Werte der POU-Betriebsergebnisse. |
q_sResultMsg |
STRING[255] |
Bietet zusätzliche Informationen über den Status der POU. |
Datentyp |
Beschreibung |
---|---|
LREAL |
Die Methode gibt den skalierten Geschwindigkeitsübersteuerungswert zurück. |
q_xError |
q_etResult |
Enumerationswert von q_etResult |
Beschreibung |
---|---|---|---|
FALSE |
Ok |
0 |
OK |
FALSE |
TargetAlreadyReachable |
20 |
Das ausgewählte Ziel kann bereits erreicht werden. |
FALSE |
TargetNotReachable |
21 |
Das ausgewählte Ziel kann nicht erreicht werden. |
FALSE |
RemainingTimeNotAvailable |
30 |
Die Abschätzung der verbleibenden Zeit der Roboterbewegung ist nicht verfügbar. |
TRUE |
NotConfigured |
29 |
Der Funktionsbaustein wurde nicht konfiguriert. |
TRUE |
VelOverrideRange |
24 |
Der angegebene Wert für die Geschwindigkeitsübersteuerung liegt außerhalb des gültigen Bereichs. |
TRUE |
CoordinateSystemInvalid |
25 |
Der angegebene Koordinatensystem-Wert ist ungültig. |
Enumerationsname: |
CoordinateSystemInvalid |
Enumerationswert: |
25 |
Beschreibung: |
Der angegebene Koordinatensystem-Wert ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
Die Auswertung des Geschwindigkeitsübersteuerungswertes war nicht erfolgreich. |
i_etTrackingCoordinateSystem enthält einen ungültigen Wert. |
Stellen Sie sicher, dass sich i_etTrackingCoordinateSystem im Bereich [ROB.ET_CoordinateSystem.Tracking1..ROB.ET_CoordianteSystem.Tracking30] befindet. |
Enumerationsname: |
NotConfigured |
Enumerationswert: |
29 |
Beschreibung: |
Der Funktionsbaustein wurde nicht konfiguriert. |
Problem |
Ursache |
Lösung |
---|---|---|
Die Auswertung des Geschwindigkeitsübersteuerungswertes war nicht erfolgreich. |
Der Funktionsbaustein wurde noch nicht konfiguriert. |
Stellen Sie sicher, dass die Methode Configuration erfolgreich aufgerufen wurde, bevor Sie diese Methode aufrufen. |
Enumerationsname: |
Ok |
Enumerationswert: |
0 |
Beschreibung: |
Ok |
Die Methode wurde erfolgreich aufgerufen.
Enumerationsname: |
RemainingTimeNotAvailable |
Enumerationswert: |
30 |
Beschreibung: |
Die Abschätzung der verbleibenden Zeit der Roboterbewegung ist nicht verfügbar. |
Der Geschwindigkeitsübersteuerungswert wird zurückgegeben, begrenzt durch den Wert von i_lrMaxVelOverride
Enumerationsname: |
TargetAlreadyReachable |
Enumerationswert: |
20 |
Beschreibung: |
Das ausgewählte Ziel kann bereits erreicht werden. |
Der Geschwindigkeitsübersteuerungswert wurde auf i_lrMaxVelOverride gesetzt.
Enumerationsname: |
TargetNotReachable |
Enumerationswert: |
21 |
Beschreibung: |
Das ausgewählte Ziel kann bereits erreicht werden. |
Der Geschwindigkeitsübersteuerungswert wurde auf Null gesetzt.
Enumerationsname: |
VelOverrideRange |
Enumerationswert: |
24 |
Beschreibung: |
Der angegebene Wert für die Geschwindigkeitsübersteuerung liegt außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
Die Auswertung des Geschwindigkeitsübersteuerungswertes war nicht erfolgreich. |
Der Wert von i_lrMaxVelOverride ist kleiner als 0,0 oder größer als 100,0. |
Stellen Sie sicher, dass 0,0 <= i_lrMaxVelOverride <= 100,0. |