IF_RobotMotion - MoveSync (Methode)

Übersicht

Typ:

Methode

Verfügbar ab:

V1.0.0.0

Dieses Kapitel enthält Informationen zu folgenden Aspekten:

oAufgabenstellung

oBeschreibung

oSchnittstelle

oDiagnosemeldungen

Aufgabenstellung

Synchrone Bewegung einer Hilfsachse.

Beschreibung

Mit der Methode MoveSync(...) kann ein Fahrauftrag für eine Hilfsachse abgesetzt werden, um eine Zielposition synchron zur Bahnbewegung anzufahren.

Folgende Kriterien müssen erfüllt sein um Synchrone Hilfsachsbewegungen absetzen zu können:

oDer Roboter ist initialisiert und betriebsbereit (FB_Robot.xEnable = TRUE UND FB_Robot.xActive = TRUE UND FB_Robot.xReady = TRUE).

oDie Konfiguration des Roboters wurde erfolgreich abgeschlossen (xConfigDone = TRUE UND xConfigOk = TRUE).

oZum Zeitpunkt des Absetzens wird kein anderer Fahrbefehl verarbeitet.

oDie Raumbewegung ist konfiguriert, innerhalb der die synchrone Hilfsachsenbewegung stattfinden wird.

oDie Startposition auf der Bahn liegt nach der Endposition auf der Bahn der letzten Hilfsachsbewegung.

oDie Startposition auf der Bahn ist größer als die Roboterbahnposition.

oDie Endposition auf der Bahn einer Hilfsachsenbewegung ist größer als die Startposition auf der Bahn.

Eine synchrone Bewegung einer Hilfsachse über mehrere verbundene Bahnen hinweg ist nicht möglich.

Eine abgesetzte Hilfsachsbewegung wird nur ausgeführt, wenn der Eingangsparameter xStart des Roboters auf TRUE gesetzt ist.

Wird xStart während einer laufenden Hilfsachsbewegung auf FALSE gesetzt, so wird die Bahnbewegung verzögert. Somit kommen auch die abgesetzten synchronen Hilfsachsbewe­gungen zum Stillstand.

Wird xStart wieder auf TRUE gesetzt, so wird die Bahnbewegung und somit auch noch nicht beendete Hilfsachsbewegungen fortgeführt.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_etComponent

ET_RobotComponent

Bezeichner der für diesen 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 Fahrauftrags der Hilfsachse.

Die ID eines Fahrauftrags einer Hilfsachse in einer verbundenen Bahn muss eindeutig sein.

i_etMode

ET_PositioningMode

Art der Hilfsachsbewegung.

i_lrTarget

LREAL

Zielposition des 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.

Sonderfall: i_lrStartOffset = 0,0 -> Für diesen Fall beginnt die Bewegung der Hilfsachse am Anfang des Segments mit der ID i_udiStartSegmentId.

i_udiEndSegmentId

UDINT

ID des Segments der Bahnbewegung, in der die Hilfsachsbewegung endet.

i_lrEndOffset

LREAL

Position der Bahnbewegung innerhalb des Segments mit der ID i_udiEndSegmentId, bei der die Hilfsachsbewegung endet.

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

Sonderfall: i_lrEndOffset = 0,0 -> Für diesen Fall endet die Bewegung der Hilfsachse am Ende des Segments mit der ID i_udiEndSegmentId 

i_xAccMinimized

BOOL

Bei xAccMinimized = TRUE wird die Hilfsachsbewegung mit möglichst niedriger Beschleunigung gefahren.

Bei xAccMinimized = FALSE wird die Hilfsachsbewegung mit möglichst niedriger Geschwindigkeit gefahren.

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 = ET_Diag.Ok -> Statusmeldung

q_etDiag <> 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

EndSegmentIdNotFound

32

Die Endsegment-ID wurde nicht gefunden.

ExecutionAborted

MotionParameterInvalid

130

Die Bewegungsparameter sind ungültig.

ExecutionAborted

MovementIdRange

133

Die Bewegungs-ID liegt außerhalb des Bereichs.

ExecutionAborted

NoConnectedPathAvailable

9

Es ist keine verbundene Bahn verfügbar.

ExecutionAborted

NoMoreSegmentsAvailable

86

Es stehen keine weiteren Segmente zur Verfügung.

ExecutionAborted

NotReady

77

Der Roboter ist nicht betriebsbereit.

ExecutionAborted

PathPositionEndInvalid

25

Die Endposition auf der Bahn ist ungültig.

ExecutionAborted

PathPositionStartAlreadyPassed

81

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

ExecutionAborted

PathPositionStartInvalid

24

Die Startposition auf der Bahn ist ungültig.

ExecutionAborted

StartSegmentIdNotFound

31

Die Startsegment-ID wurde nicht gefunden.

ExecutionAborted

MoveAsyncTriggered

181

Ein asynchroner Hilfsachsen-Fahrauftrag wird ausgelöst.

ExecutionAborted

MoveAsyncActive

180

Ein asynchroner Hilfsachsen-Fahrauftrag ist bereits aktiv.

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

EndOffsetRange

78

Das End-Offset ist außerhalb des gültigen Bereichs.

InputParameterInvalid

EndSegmentIdRange

28

Die Endsegment-ID ist außerhalb des gültigen Bereichs.

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

StartSegmentIdRange

27

Die Startsegment-ID ist außerhalb des gültigen Bereichs.

InputParameterInvalid

OrientationNotAvailable

199

Die Orientierung ist nicht verfügbar.

UnexpectedProgramBehavior

AccDecDistanceRange

33

Der AccDec-Abstand liegt außerhalb des gültigen Bereichs.

UnexpectedProgramBehavior

InitializationFailed

4

Die Initialisierung war nicht erfolgreich.

UnexpectedProgramBehavior

InterfaceInvalid

3

Eine Schnittstelle ist ungültig.

UnexpectedProgramBehavior

UnexpectedFeedback

13

Ein Rückgabewert war ungültig.

AccDecDistanceRange

Enumerationsname:

AccDecDistanceRange

Enumerationswert:

33

Beschreibung:

Der AccDec-Abstand liegt außerhalb des gültigen Bereichs.

Der Fahrauftrag wurde zurückgewiesen.

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.

Darauf achten, dass Fahrbefehle nacheinander und nicht gleichzeitig aufgerufen 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.

EndOffsetRange

Enumerationsname:

EndOffsetRange

Enumerationswert:

78

Beschreibung:

Das End-Offset ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

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

Am Eingang i_lrEndOffset muss ein Wert kleiner oder gleich der Länge des gewählten Segments (i_udiEndSegmentId) übergeben werden.

EndSegmentIdNotFound

Enumerationsname:

EndSegmentIdNotFound

Enumerationswert:

32

Beschreibung:

Die Endsegment-ID wurde nicht gefunden.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

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

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

EndSegmentIdRange

Enumerationsname:

EndSegmentIdRange

Enumerationswert:

28

Beschreibung:

Die Endsegment-ID ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

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

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

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.

Sicherstellen, dass die Zielposition sich von der letzten Zielposition des vorher abgesetzten Fahrauftrags unterscheidet.

Ggf. den Wert von IF_RobotConfigurationAdvanced.lrMinPositionDelta verringern.

InitializationFailed

Enumerationsname:

InitializationFailed

Enumerationswert:

4

Beschreibung:

Die Initialisierung war nicht erfolgreich.

Der Fahrauftrag wurde zurückgewiesen.

InterfaceInvalid

Enumerationsname:

InterfaceInvalid

Enumerationswert:

3

Beschreibung:

Eine Schnittstelle ist ungültig.

Der Fahrauftrag wurde zurückgewiesen.

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 synchroner Hilfsachsen-Fahrauftrag abgesetzt werden kann.

Siehe Keine MoveSync-Bewegung vor Abschluss einer 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 synchroner Hilfsachsen-Fahrauftrag abgesetzt werden kann.

Siehe Keine MoveSync-Bewegung vor Abschluss einer 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.

Darauf achten, dass innerhalb einer verbundenen Bahn eindeutige IDs verwendet werden.

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.

NoConnectedPathAvailable

Enumerationsname:

NoConnectedPathAvailable

Enumerationswert:

9

Beschreibung:

Es ist keine verbundene Bahn verfügbar.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

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

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

NoMoreSegmentsAvailable

Enumerationsname:

NoMoreSegmentsAvailable

Enumerationswert:

86

Beschreibung:

Es stehen keine weiteren Segmente zur Verfügung.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

Es können keine weiteren Fahraufträge für eine synchrone Hilfsachsbewegung abgesetzt werden.

Warten, bis die Fahrbefehle für synchrone Hilfsachsbewegungen ausgeführt worden sind, bevor neue Fahrbefehle gesendet werden.

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.

PathPositionEndInvalid

Enumerationsname:

PathPositionEndInvalid

Enumerationswert:

25

Beschreibung:

Die Endposition auf der Bahn ist ungültig.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

Die Endposition der Hilfsachsbewegung auf der Bahn liegt vor der Startposition der Hilfsachsbewegung auf der Bahn.

Sicherstellen, dass die Bahnposition Start größer ist als die Bahnposition Ende.

Die Werte von i_udiStartSegmentId, i_lrStartOffset, i_udiEndSegmentId und i_lrEndOffset von MoveSync(...) prüfen.

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 MoveSync(...) früh genug aufgerufen wird, um sicherzustellen, dass der Roboter noch nicht über die Startposition der Bahn hinaus gefahren ist.

PathPositionStartInvalid

Enumerationsname:

PathPositionStartInvalid

Enumerationswert:

24

Beschreibung:

Die Startposition auf der Bahn ist ungültig.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

Die Startposition der Hilfsachsbewegung auf der Bahn liegt noch vor dem Ende der zuletzt abgesetzten Hilfsachsbewegung.

Darauf achten, dass die Bahnposition Start größer ist als die Bahnposition Ende der vorher abgesetzten Hilfsachsbewegung.

Die Werte von i_udiStartSegmentId und i_lrStartOffset von MoveSync(...) prüfen.

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.

Am Eingang i_lrStartOffset muss ein Wert kleiner oder gleich der Länge des gewä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.

StartSegmentIdRange

Enumerationsname:

StartSegmentIdRange

Enumerationswert:

27

Beschreibung:

Die Startsegment-ID ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

Der Fahrauftrag wurde zurückgewiesen.

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

Am Eingang i_udiStartSegmentId 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.