FB_LinearTrackingVelOverrideScaling - EvaluateScaledVelOverride - (Methode)

Überblick

Typ:

Methode

Verfügbar ab:

V1.7.3.0

Dieses Kapitel enthält folgende Informationen:

Aufgabe

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.

Beschreibung

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.

HINWEIS:
  • 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.

Schnittstelle

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.

Rückgabewert

Datentyp

Beschreibung

LREAL

Die Methode gibt den skalierten Geschwindigkeitsübersteuerungswert zurück.

Diagnosemeldungen

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.

CoordinateSystemInvalid

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.

NotConfigured

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.

OK

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

Ok

Die Methode wurde erfolgreich aufgerufen.

RemainingTimeNotAvailable

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

TargetAlreadyReachable

Enumerationsname:

TargetAlreadyReachable

Enumerationswert:

20

Beschreibung:

Das ausgewählte Ziel kann bereits erreicht werden.

Der Geschwindigkeitsübersteuerungswert wurde auf i_lrMaxVelOverride gesetzt.

TargetNotReachable

Enumerationsname:

TargetNotReachable

Enumerationswert:

21

Beschreibung:

Das ausgewählte Ziel kann bereits erreicht werden.

Der Geschwindigkeitsübersteuerungswert wurde auf Null gesetzt.

VelOverrideRange

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.