IF_RobotMotion - MoveAsync (Methode)
Typ: |
Methode |
Verfügbar ab: |
V2.1.1.0 |
Dieses Kapitel enthält Informationen zu folgenden Aspekten:
Asynchrone Bewegung einer Hilfsachse.
Mit der Methode MoveAsync(...) kann ein Fahrauftrag für eine Hilfsachse abgesetzt werden, um eine Zielposition asynchron zur Bahnbewegung anzufahren.
Folgende Kriterien müssen erfüllt sein um asynchrone Hilfsachsenbewegungen absetzen zu können:
oDer Roboter muss initialisiert und betriebsbereit sein (FB_Robot.xEnable = TRUE und FB_Robot.xActive = TRUE und FB_Robot.xReady = TRUE).
oDie Hilfsachse muss konfiguriert werden.
oDie Konfiguration des Roboters muss erfolgreich abgeschlossen sein (xConfigDone = TRUE und xConfigOk = TRUE).
oEs kann zum Zeitpunkt des Absetzens kein anderer Fahrbefehl verarbeitet werden.
oSoll eine asynchrone Hilfsachsenbewegung an einer bestimmten Position auf einer verbundenen Bahn beginnen, muss zunächst die Raumbewegung konfiguriert werden.
oDie Bahnposition des Roboters muss vor der angeforderten Startposition liegen (kleiner als). (Siehe Eingangsparameter i_udiStartSegmentId und i_lrStartOffset unten).
Eine asynchrone Bewegung einer Hilfsachse über mehrere verbundene Bahnen hinweg ist möglich.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_etComponent |
Bezeichner der für diesen asynchronen Fahrauftrag zu bewegenden Hilfsachse. Gültige Werte sind: oET_RobotComponent.OrientationX oET_RobotComponent.OrientationY oET_RobotComponent.OrientationZ oET_RobotComponent.AuxAx1 ... AuxAx10 Für weitere Informationen siehe ET_RobotComponent. |
|
i_udiMovementId |
UDINT |
ID des asynchronen Fahrauftrags der Hilfsachse. Die ID eines Fahrauftrags (synchron oder asynchron) einer Hilfsachse in einer verbundenen Bahn muss eindeutig sein. |
i_etMode |
Art der asynchronen Hilfsachsenbewegung (absolut oder relativ). |
|
i_lrTarget |
LREAL |
Zielposition des asynchronen Fahrauftrags. |
i_udiStartSegmentId |
UDINT |
ID des Segments der Bahnbewegung in der die Hilfsachsbewegung startet. |
i_lrStartOffset |
LREAL |
Position der Bahnbewegung innerhalb des Segments mit der i_udiStartSegmentId-ID , bei der die Hilfsachsbewegung startet. Positive Werte von i_IrStartOffset beziehen sich auf den Segmentanfang und negative Werte auf das Segmentende. Sonderfälle: oi_lrStartOffset = 0,0 UND i_udiStartSegmentId <> 0 In diesem Fall beginnt die Bewegung der Hilfsachse am Anfang des Segments mit der ID i_udiStartSegmentId. o i_lrStartOffset = 0,0 UND i_udiStartSegmentId = 0 In diesem Fall beginnt die Bewegung der Hilfsachse sofort. |
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. |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
14 |
Ein Fahrbefehl ist an eine identische Zielposition geschickt worden. |
|
OK |
0 |
Ok |
|
ExecutionAborted |
10 |
Der Befehl wurde abgewiesen. |
|
ExecutionAborted |
1 |
Die Konfiguration ist ungültig. |
|
ExecutionAborted |
51 |
Deaktiviert |
|
ExecutionAborted |
130 |
Die Bewegungsparameter sind ungültig. |
|
ExecutionAborted |
133 |
Die Bewegungs-ID liegt außerhalb des Bereichs. |
|
ExecutionAborted |
77 |
Der Roboter ist nicht betriebsbereit. |
|
ExecutionAborted |
179 |
Ein synchroner Hilfsachsen-Fahrauftrag wird ausgelöst. |
|
ExecutionAborted |
178 |
Ein synchroner Hilfsachsen-Fahrauftrag ist aktiv. |
|
ExecutionAborted |
181 |
Ein asynchroner Hilfsachsen-Fahrauftrag wird ausgelöst. |
|
ExecutionAborted |
180 |
Ein asynchroner Hilfsachsen-Fahrauftrag ist bereits aktiv. |
|
ExecutionAborted |
31 |
Die Startsegment-ID wurde nicht gefunden. |
|
ExecutionAborted |
9 |
Es ist keine verbundene Bahn verfügbar. |
|
ExecutionAborted |
177 |
Es stehen keine weiteren asynchronen Bewegungsereignisse zur Verfügung. |
|
ExecutionAborted |
205 |
Die externe Positionsquelle wurde konfiguriert. |
|
InputParameterInvalid |
127 |
Die Hilfsachse ist nicht konfiguriert. |
|
InputParameterInvalid |
132 |
Die Komponente ist ungültig. |
|
InputParameterInvalid |
26 |
Der Modus ist ungültig. |
|
InputParameterInvalid |
123 |
Die Bewegungs-ID existiert bereits. |
|
InputParameterInvalid |
116 |
Das Start-Offset liegt außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
199 |
Die Orientierung ist nicht verfügbar. |
|
ExecutionAborted |
81 |
Der Roboter ist bereits über die Startposition auf der Bahn gefahren. |
Enumerationsname: |
AuxiliaryAxisNotConfigured |
Enumerationswert: |
127 |
Beschreibung: |
Die Hilfsachse ist nicht konfiguriert. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Die am Eingang i_etComponent übergebene Hilfsachse ist nicht konfiguriert. |
Vor Verwendung einer Hilfsachse sicherstellen, dass die Achse konfiguriert ist. |
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: |
ComponentInvalid |
Enumerationswert: |
132 |
Beschreibung: |
Die Komponente ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Der am Eingang i_etComponent übergebene Wert ist kein gültiger Wert. |
Sicherstellen, dass am Eingang i_etComponent eine gültige Komponente übergeben wurde. |
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. |
Das Senden eines Fahrauftrags ist nicht möglich, wenn für die Roboterkomponenten eine externe Positionsquelle konfiguriert wurde. Keinen Fahrauftrag senden. |
Enumerationsname: |
IdenticalTarget |
Enumerationswert: |
14 |
Beschreibung: |
Ein Fahrbefehl ist an eine identische Zielposition geschickt worden. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Die am Eingang i_lrTarget übergebene Zielposition des Fahrauftrags ist identisch mit der Zielposition des zuletzt abgesetzten Fahrauftrags. |
Es wird ein entsprechender Eintrag im Logger erzeugt. |
Enumerationsname: |
ModeInvalid |
Enumerationswert: |
26 |
Beschreibung: |
Der Modus ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Der am Eingang i_etMode übergebene Wert ist kein gültiger Wert. |
Sicherstellen, dass der Wert von i_etMode in ET_PositioningMode enthalten ist. Wenn der Wert von i_etComponent keine periodische Hilfsachse darstellt, dann ist der Modus ET_PositioningMode.PeriodicShort nicht verfügbar. |
Enumerationsname: |
MotionParameterInvalid |
Enumerationswert: |
130 |
Beschreibung: |
Die Bewegungsparameter sind ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Die Bewegungsparameter der Hilfsachse sind ungültig. Mindestens einer der Bewegungsparameter (Velocity, Acceleration, Deceleration, Ramp) ist ungültig. |
Darauf achten, dass alle verwendeten Bewegungsparameter für jede ET_RobotComponent Komponente gültig sind. |
Enumerationsname: |
MoveAsyncActive |
Enumerationswert: |
180 |
Beschreibung: |
Ein asynchroner Hilfsachsen-Fahrauftrag ist bereits aktiv. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Ein asynchroner Hilfsachsen-Fahrauftrag ist bereits aktiv. |
Es müssen erst alle asynchronen Hilfsachsen-Fahraufträge abgeschlossen sein, bevor ein asynchroner Hilfsachsen-Fahrauftrag abgesetzt werden kann. |
Siehe Keine zweite MoveAsync-Bewegung vor Abschluss der ersten MoveAsync-Bewegung.
Enumerationsname: |
MoveAsyncTriggered |
Enumerationswert: |
181 |
Beschreibung: |
Ein asynchroner Hilfsachsen-Fahrauftrag wird ausgelöst. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Ein asynchroner Hilfsachsen-Fahrauftrag wird ausgelöst. |
Es müssen erst alle asynchronen Hilfsachsen-Fahraufträge abgeschlossen sein, bevor ein neuer asynchroner Hilfsachsen-Fahrauftrag abgesetzt werden kann. |
Siehe Keine zweite MoveAsync-Bewegung vor Abschluss der ersten MoveAsync-Bewegung.
Enumerationsname: |
MovementIdAlreadyExists |
Enumerationswert: |
123 |
Beschreibung: |
Die Bewegungs-ID existiert bereits. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Die am Eingang i_udiMovementId übergebene ID besteht bereits für eine Hilfsachsbewegung. |
Für Hilfsachsenbewegungen verwendete IDs müssen eindeutig sein. |
Enumerationsname: |
MovementIdRange |
Enumerationswert: |
133 |
Beschreibung: |
Die Bewegungs-ID liegt außerhalb des Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Der am Eingang i_udiMovementId übergebene Wert liegt außerhalb des gültigen Bereichs. |
Am Eingang i_udiMovementId muss ein Wert größer oder gleich 1 übergeben werden. |
Enumerationsname: |
MoveSyncActive |
Enumerationswert: |
178 |
Beschreibung: |
Ein synchroner Hilfsachsen-Fahrauftrag ist aktiv. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Ein synchroner Hilfsachsen-Fahrauftrag ist aktiv. |
Es müssen erst alle synchronen Hilfsachsen-Fahraufträge abgeschlossen sein, bevor ein asynchroner Hilfsachsen-Fahrauftrag abgesetzt werden kann. Ein asynchroner Hilfsachsen-Fahrauftrag darf erst beginnen, nachdem ein synchroner Hilfsachsen-Fahrauftrag abgeschlossen ist. |
Siehe Keine MoveAsync-Bewegung vor Abschluss einer MoveSync-Bewegung.
Enumerationsname: |
MoveSyncTriggered |
Enumerationswert: |
179 |
Beschreibung: |
Ein synchroner Hilfsachsen-Fahrauftrag wird ausgelöst. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Ein synchroner Hilfsachsen-Fahrauftrag wird ausgelöst. |
Es müssen erst alle synchronen Hilfsachsen-Fahraufträge abgeschlossen sein, bevor ein asynchroner Hilfsachsen-Fahrauftrag abgesetzt werden kann. Ein asynchroner Hilfsachsen-Fahrauftrag darf erst beginnen, nachdem ein synchroner Hilfsachsen-Fahrauftrag abgeschlossen ist. |
Siehe Keine MoveAsync-Bewegung vor Abschluss einer MoveSync-Bewegung.
Enumerationsname: |
NoConnectedPathAvailable |
Enumerationswert: |
9 |
Beschreibung: |
Es ist keine verbundene Bahn verfügbar. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
MoveAsync(...) aufgerufen, aber es ist keine verbundene Bahn verfügbar. |
Vor dem Aufruf von MoveAsync(...) eine verbundene Bahn anlegen. |
NoMoreMoveAsyncEventsAvailable
Enumerationsname: |
NoMoreMoveAsyncEventsAvailable |
Enumerationswert: |
177 |
Beschreibung: |
Es stehen keine weiteren asynchronen Bewegungsereignisse zur Verfügung. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Es können keine weiteren Aufforderungen zur Änderung des Koordinatensystems ausgegeben werden. Die maximale Anzahl von Änderungsaufforderungen ist erreicht. |
Vor dem Senden neuer Aufforderungen warten, bis die Aufforderungen zur Änderung des Koordinatensystems ausgeführt worden sind. |
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: |
OrientationNotAvailable |
Enumerationswert: |
199 |
Beschreibung: |
Die Orientierung ist nicht verfügbar. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Die am Eingang i_etComponent übergebene Orientierung ist nicht verfügbar. |
Sicherstellen, dass die verwendete Transformation die Orientierung unterstützt. |
PathPositionStartAlreadyPassed
Enumerationsname: |
PathPositionStartAlreadyPassed |
Enumerationswert: |
81 |
Beschreibung: |
Der Roboter ist bereits über die Startposition auf der Bahn gefahren. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Der Roboter ist bereits über die angegebene Startposition der Hilfsachsbewegung auf der Bahn hinaus gefahren. |
Darauf achten, dass MoveAsync(...) früh genug aufgerufen wird, um sicherzustellen, dass der Roboter noch nicht über die Startposition der Bahn hinaus gefahren ist. |
Enumerationsname: |
StartOffsetRange |
Enumerationswert: |
116 |
Beschreibung: |
Das Start-Offset liegt außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Der am Eingang i_lrStartOffset übergebene Wert liegt außerhalb des gültigen Bereichs. |
Ist der Eingang i_udiStartSegment ungleich 0, so muss am Eingang i_lrStartOffset ein Wert kleiner oder gleich der Länge des ausgewählten Segments (i_udiStartSegmentId) übergeben werden. |
Enumerationsname: |
StartSegmentIdNotFound |
Enumerationswert: |
31 |
Beschreibung: |
Die Startsegment-ID wurde nicht gefunden. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Das Segment mit der am Eingang i_udiStartSegmentId übergebenen ID wurde in der neuesten verbundenen Bahn nicht gefunden. |
Das Segment mit der ID i_udiStartSegmentId muss in der neuesten verbundenen Bahn enthalten sein. |