IF_RobotMotion - SetStopOnPath (Methode)

Übersicht

Typ:

Methode

Verfügbar ab:

V2.3.1.0

Dieses Kapitel enthält Informationen zu folgenden Aspekten:

oAufgabenstellung

oBeschreibung

oSchnittstelle

oRückgabewert

oDiagnosemeldungen

Aufgabenstellung

Anhalten der Bewegung auf einer verbundenen Bahn.

Beschreibung

Mit der Methode SetStopOnPath(...) kann ein Befehl an den Roboter ausgegeben werden, die Bewegung an einer bestimmten Position auf einer bestehenden verbundenen Bahn anzuhalten (Stopp-auf-Bahn).

Um einen Stopp-auf-Bahn ausgeben zu können, müssen folgende Kriterien erfüllt sein:

oDer Roboter muss initialisiert und betriebsbereit sein (FB_Robot.xEnable = TRUE und FB_Robot.xActive = TRUE und FB_Robot.xReady = TRUE).

oDie Konfiguration des Roboters muss erfolgreich abgeschlossen sein (xConfigDone = TRUE und xConfigOk = TRUE).

oEs kann zum Zeitpunkt des Absetzens kein anderer Fahrbefehl verarbeitet werden.

oEs muss mindestens eine gültige verbundene Bahn verfügbar sein.

oDas Segment, in welchem der Roboter anhalten soll, muss dem Roboter bekannt sein.

Ein Anschlag kann nur auf der zuletzt geladenen verbundenen Bahn gesetzt werden.

Ein Anschlag kann nicht gesetzt werden, wenn der Roboter den angeforderten Anschlag bereits überfahren hat oder während des Anhaltens überfahren würde.

Die Methode SetStopOnPath(…) gibt für jeden Stopp-auf-Bahn einen eindeutigen Bezeichner aus.

Der eindeutige Bezeichner für jeden Stopp-auf-Bahn wird um 1 inkrementiert.

Nachdem GPL.Gc_udiMaxNumberOfStopsOnPath erreicht wurde, wird der eindeutige Bezeichner auf 1 zurückgesetzt.

Siehe auch Interaktion mit Stopp-auf-Bahn

Schnittstelle

Eingang

Datentyp

Beschreibung

i_udiStopSegmentId

UDINT

ID des Segments, in welchem der Roboter anhalten soll.

Das Segment muss dem Roboter bekannt sein.

i_lrStopOffset

LREAL

Position, an welcher der Roboter innerhalb des gegebenen Segments anhalten soll.

Positive Werte von i_lrStopOffset beziehen sich auf den Segmentanfang und negative Werte auf das Segmentende.

Der Wert 0,0 hält den Roboter am Segmentanfang an.

Zum Anhalten des Roboters am Segmentende den i_lrStopOffset des nächsten Segments auf 0,0 setzen.

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

Bausteinspezifischer Ausgang zur Diagnose.

q_etDiag = GD.ET_Diag.Ok -> Statusmeldung

q_etDiag <> GD.ET_Diag.Ok -> Diagnosemeldung

q_sMsg

STRING[80]

Ereignisabhängige Meldung, die zusätzliche Informationen über den Diagnosezustand gibt.

Rückgabewert

Datentyp

Beschreibung

UDINT

Eindeutige ID des Stopp-Befehls.

Rufen Sie zum Zurücksetzen des Stopp-Befehls die Methode ResetStopOnPath auf und übermitteln Sie die eindeutige ID.

Bei ungültiger Konfiguration beträgt der Rückgabewert der Methode 0.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Ok

0

Ok

ExecutionAborted

CommandRefused

10

Der Befehl wurde abgewiesen.

ExecutionAborted

ConfigInvalid

1

Die Konfiguration ist ungültig.

ExecutionAborted

Disabled

51

Deaktiviert

ExecutionAborted

NotReady

77

Der Roboter ist nicht betriebsbereit.

ExecutionAborted

StopSegmentIdNotFound

186

Die Stoppsegment-ID wurde nicht gefunden.

ExecutionAborted

NoConnectedPathAvailable

9

Es ist keine verbundene Bahn verfügbar.

ExecutionAborted

NoMoreStopsOnPathAvailable

190

Es sind keine weiteren Stopps-auf-Bahn verfügbar.

ExecutionAborted

StopPositionAleadyPassed

188

Der Anschlag wurde bereits überfahren.

ExecutionAborted

StopNotPossible

189

Der Stopp ist nicht möglich.

ExecutionAborted

ExternalPositionSourceConfigured

205

Die externe Positionsquelle wurde konfiguriert.

InputParameterInvalid

StopSegmentIdRange

185

Die Stoppsegment-ID liegt außerhalb des gültigen Bereichs.

InputParameterInvalid

StopOffsetRange

187

Der Stopp-Offset liegt außerhalb des gültigen Bereichs.

UnexpectedProgramBehavior

UnexpectedFeedback

13

Ein Rückgabewert war ungültig.

CommandRefused

Enumerationsname:

CommandRefused

Enumerationswert:

10

Beschreibung:

Der Befehl wurde abgewiesen.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

Es wird bereits ein Fahrbefehl verarbeitet. Zwei Fahrbefehle, zum Beispiel MoveL(...), MoveC(...), MoveS(...), oder MoveSync(...), werden gleichzeitig aufgerufen (z. B. aus zwei separaten Aufgaben).

Darauf achten, dass Fahrbefehle nacheinander und nicht gleichzeitig aufgerufen werden.

Es kann nur eine Aufgabe zum Senden von Fahrbefehlen verwendet werden.

ConfigInvalid

Enumerationsname:

ConfigInvalid

Enumerationswert:

1

Beschreibung:

Die Konfiguration ist ungültig.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

Die Konfiguration des Roboters ist ungültig.

Die Methode ConfigDone(...) aufrufen, um die Konfiguration des Roboters abzuschließen.

Disabled

Enumerationsname:

Disabled

Enumerationswert:

51

Beschreibung:

Deaktiviert

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

FB_Robot.xEnable = FALSE -> Der Roboter ist nicht aktiv.

FB_Robot.xEnable := TRUE setzen, um den Roboter zu aktivieren.

ExternalPositionSourceConfigured

Enumerationsname:

ExternalPositionSourceConfigured

Enumerationswert:

205

Beschreibung:

Die externe Positionsquelle wurde konfiguriert.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

Für die Roboterkomponenten Kartesisch, Orientierung und Hilfsachsen wurde eine externe Positionsquelle konfiguriert.

Die Konfiguration eines Stopps-auf-Bahn ist nicht möglich, wenn für die Roboterkomponenten eine externe Positionsquelle konfiguriert wurde.

Keinen Stopp-auf-Bahn konfigurieren.

NoConnectedPathAvailable

Enumerationsname:

NoConnectedPathAvailable

Enumerationswert:

9

Beschreibung:

Es ist keine verbundene Bahn verfügbar.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

SetStopOnPath(...) aufgerufen, aber es ist keine verbundene Bahn verfügbar.

Vor dem Aufruf von SetStopOnPath(...) eine verbundene Bahn anlegen.

NoMoreStopsOnPathAvailable

Enumerationsname:

NoMoreStopsOnPathAvailable

Enumerationswert:

190

Beschreibung:

Es sind keine weiteren Stopps-auf-Bahn verfügbar.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

Es können keine weiteren Halt-Anforderungen ausgegeben werden. Die maximale Anzahl von Halt-Anforderungen ist erreicht.

Vor dem Senden neuer Anfragen warten bis die Halt-Anforderungen zurückgesetzt wurden.

NotReady

Enumerationsname:

NotReady

Enumerationswert:

77

Beschreibung:

Der Roboter ist nicht betriebsbereit.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

Der Roboter ist nicht betriebsbereit.

Sicherstellen, dass die Konfiguration des Roboters abgeschlossen ist, der Roboter aktiviert ist und die Antriebe bereit sind.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

Ok

Der Fahrauftrag wurde erfolgreich übernommen.

StopNotPossible

Enumerationsname:

StopNotPossible

Enumerationswert:

189

Beschreibung:

Der Stopp ist nicht möglich.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

Der Roboter würde den angegebenen Anschlag mit den gegebenen Bewegungsparametern überfahren.

Die Methode SetStopOnPath(…) muss früh genug ausgegeben werden, damit der Roboter am gegebenen Anschlag anhalten kann.

StopOffsetRange

Enumerationsname:

StopOffsetRange

Enumerationswert:

187

Beschreibung:

Der Stopp-Offset liegt außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

Der am Eingang i_lrStopOffset übergebene Wert liegt außerhalb des gültigen Bereichs.

Der absolute Wert von i_lrStopPosition muss kleiner oder gleich der über i_udiStopSegmentId ausgewählte(n) Segmentlänge sein.

HINWEIS: Wenn die Begrenzung der resultierenden Beschleunigung der Raumbewegungen erfolgreich initialisiert wurde, wird die Bogenlänge für Überschleifzonen und Kurven berechnet, um eine genauere Näherung der Bogenlänge zu erhalten.

StopPositionAleadyPassed

Enumerationsname:

StopPositionAleadyPassed

Enumerationswert:

188

Beschreibung:

Der Anschlag wurde bereits überfahren.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

Der Roboter hat den angegebenen Anschlag bereits überfahren.

Die Methode SetStopOnPath(…) muss ausgegeben werden, bevor der Anschlag überfahren wird.

StopSegmentIdNotFound

Enumerationsname:

StopSegmentIdNotFound

Enumerationswert:

186

Beschreibung:

Die Stoppsegment-ID wurde nicht gefunden.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

Das Segment mit der am Eingang i_udiStopSegmentId übergebenen ID wurde in der neuesten verbundenen Bahn nicht gefunden.

Das Segment mit der ID i_udiStopSegmentId muss in der neuesten verbundenen Bahn enthalten sein.

StopSegmentIdRange

Enumerationsname:

StopSegmentIdRange

Enumerationswert:

185

Beschreibung:

Die Stoppsegment-ID liegt außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

Der am Eingang i_udiStopSegmentId übergebene Wert liegt außerhalb des gültigen Bereichs.

Am Eingang i_udiStopSegmentId muss ein Wert größer oder gleich 1 übergeben werden.

UnexpectedFeedback

Enumerationsname:

UnexpectedFeedback

Enumerationswert:

13

Beschreibung:

Ein Rückgabewert war ungültig.

Der Fahrauftrag wurde zurückgewiesen.