IF_RobotMotion - SetStopOnPath (Methode)
Typ: |
Methode |
Verfügbar ab: |
V2.3.1.0 |
Dieses Kapitel enthält Informationen zu folgenden Aspekten:
Anhalten der Bewegung auf einer verbundenen Bahn.
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
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 |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. Ein Wert ungleich GD.ET_Diag.Ok entspricht einer Diagnosemeldung. |
|
q_etDiagExt |
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. |
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. |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
0 |
Ok |
|
ExecutionAborted |
10 |
Der Befehl wurde abgewiesen. |
|
ExecutionAborted |
1 |
Die Konfiguration ist ungültig. |
|
ExecutionAborted |
51 |
Deaktiviert |
|
ExecutionAborted |
77 |
Der Roboter ist nicht betriebsbereit. |
|
ExecutionAborted |
186 |
Die Stoppsegment-ID wurde nicht gefunden. |
|
ExecutionAborted |
9 |
Es ist keine verbundene Bahn verfügbar. |
|
ExecutionAborted |
190 |
Es sind keine weiteren Stopps-auf-Bahn verfügbar. |
|
ExecutionAborted |
188 |
Der Anschlag wurde bereits überfahren. |
|
ExecutionAborted |
189 |
Der Stopp ist nicht möglich. |
|
ExecutionAborted |
205 |
Die externe Positionsquelle wurde konfiguriert. |
|
InputParameterInvalid |
185 |
Die Stoppsegment-ID liegt außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
187 |
Der Stopp-Offset liegt außerhalb des gültigen Bereichs. |
|
UnexpectedProgramBehavior |
13 |
Ein Rückgabewert war ungültig. |
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. |
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. |
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. |
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. |
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. |
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. |
Enumerationsname: |
Ok |
Enumerationswert: |
0 |
Beschreibung: |
Ok |
Der Fahrauftrag wurde erfolgreich übernommen.
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. |
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. |
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. |
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. |
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. |
Enumerationsname: |
UnexpectedFeedback |
Enumerationswert: |
13 |
Beschreibung: |
Ein Rückgabewert war ungültig. |
Der Fahrauftrag wurde zurückgewiesen.