IF_RobotMotion - MoveAsync (Methode)

Übersicht

Typ:

Methode

Verfügbar ab:

V2.1.1.0

Dieses Kapitel enthält Informationen zu folgenden Aspekten:

oAufgabenstellung

oBeschreibung

oSchnittstelle

oDiagnosemeldungen

Aufgabenstellung

Asynchrone Bewegung einer Hilfsachse.

Beschreibung

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.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_etComponent

ET_RobotComponent

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

ET_PositioningMode

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

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.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

IdenticalTarget

14

Ein Fahrbefehl ist an eine identische Zielposition geschickt worden.

OK

Ok

0

Ok

ExecutionAborted

CommandRefused

10

Der Befehl wurde abgewiesen.

ExecutionAborted

ConfigInvalid

1

Die Konfiguration ist ungültig.

ExecutionAborted

Disabled

51

Deaktiviert

ExecutionAborted

MotionParameterInvalid

130

Die Bewegungsparameter sind ungültig.

ExecutionAborted

MovementIdRange

133

Die Bewegungs-ID liegt außerhalb des Bereichs.

ExecutionAborted

NotReady

77

Der Roboter ist nicht betriebsbereit.

ExecutionAborted

MoveSyncTriggered

179

Ein synchroner Hilfsachsen-Fahrauftrag wird ausgelöst.

ExecutionAborted

MoveSyncActive

178

Ein synchroner Hilfsachsen-Fahrauftrag ist aktiv.

ExecutionAborted

MoveAsyncTriggered

181

Ein asynchroner Hilfsachsen-Fahrauftrag wird ausgelöst.

ExecutionAborted

MoveAsyncActive

180

Ein asynchroner Hilfsachsen-Fahrauftrag ist bereits aktiv.

ExecutionAborted

StartSegmentIdNotFound

31

Die Startsegment-ID wurde nicht gefunden.

ExecutionAborted

NoConnectedPathAvailable

9

Es ist keine verbundene Bahn verfügbar.

ExecutionAborted

NoMoreMoveAsyncEventsAvailable

177

Es stehen keine weiteren asynchronen Bewegungsereignisse zur Verfügung.

ExecutionAborted

ExternalPositionSourceConfigured

205

Die externe Positionsquelle wurde konfiguriert.

InputParameterInvalid

AuxiliaryAxisNotConfigured

127

Die Hilfsachse ist nicht konfiguriert.

InputParameterInvalid

ComponentInvalid

132

Die Komponente ist ungültig.

InputParameterInvalid

ModeInvalid

26

Der Modus ist ungültig.

InputParameterInvalid

MovementIdAlreadyExists

123

Die Bewegungs-ID existiert bereits.

InputParameterInvalid

StartOffsetRange

116

Das Start-Offset liegt außerhalb des gültigen Bereichs.

InputParameterInvalid

OrientationNotAvailable

199

Die Orientierung ist nicht verfügbar.

ExecutionAborted

PathPositionStartAlreadyPassed

81

Der Roboter ist bereits über die Startposition auf der Bahn gefahren.

AuxiliaryAxisNotConfigured

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.

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.

ComponentInvalid

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.

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.

Das Senden eines Fahrauftrags ist nicht möglich, wenn für die Roboterkomponenten eine externe Positionsquelle konfiguriert wurde.

Keinen Fahrauftrag senden.

IdenticalTarget

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.

ModeInvalid

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.

MotionParameterInvalid

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.

MoveAsyncActive

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.

MoveAsyncTriggered

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.

MovementIdAlreadyExists

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.

MovementIdRange

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.

MoveSyncActive

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.

MoveSyncTriggered

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.

NoConnectedPathAvailable

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.

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.

OrientationNotAvailable

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.

StartOffsetRange

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.

StartSegmentIdNotFound

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.