IF_RobotMotion - MoveSync (Methode)
Typ: |
Methode |
Verfügbar ab: |
V1.0.0.0 |
Dieses Kapitel enthält Informationen zu folgenden Aspekten:
Synchrone Bewegung einer Hilfsachse.
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 Hilfsachsbewegungen zum Stillstand.
Wird xStart wieder auf TRUE gesetzt, so wird die Bahnbewegung und somit auch noch nicht beendete Hilfsachsbewegungen fortgeführt.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_etComponent |
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 |
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 |
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 = 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. |
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 |
32 |
Die Endsegment-ID wurde nicht gefunden. |
|
ExecutionAborted |
130 |
Die Bewegungsparameter sind ungültig. |
|
ExecutionAborted |
133 |
Die Bewegungs-ID liegt außerhalb des Bereichs. |
|
ExecutionAborted |
9 |
Es ist keine verbundene Bahn verfügbar. |
|
ExecutionAborted |
86 |
Es stehen keine weiteren Segmente zur Verfügung. |
|
ExecutionAborted |
77 |
Der Roboter ist nicht betriebsbereit. |
|
ExecutionAborted |
25 |
Die Endposition auf der Bahn ist ungültig. |
|
ExecutionAborted |
81 |
Der Roboter ist bereits über die Startposition auf der Bahn gefahren. |
|
ExecutionAborted |
24 |
Die Startposition auf der Bahn ist ungültig. |
|
ExecutionAborted |
31 |
Die Startsegment-ID wurde nicht gefunden. |
|
ExecutionAborted |
181 |
Ein asynchroner Hilfsachsen-Fahrauftrag wird ausgelöst. |
|
ExecutionAborted |
180 |
Ein asynchroner Hilfsachsen-Fahrauftrag ist bereits aktiv. |
|
ExecutionAborted |
205 |
Die externe Positionsquelle wurde konfiguriert. |
|
InputParameterInvalid |
127 |
Die Hilfsachse ist nicht konfiguriert. |
|
InputParameterInvalid |
132 |
Die Komponente ist ungültig. |
|
InputParameterInvalid |
78 |
Das End-Offset ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
28 |
Die Endsegment-ID ist außerhalb des gültigen Bereichs. |
|
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 |
27 |
Die Startsegment-ID ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
199 |
Die Orientierung ist nicht verfügbar. |
|
UnexpectedProgramBehavior |
33 |
Der AccDec-Abstand liegt außerhalb des gültigen Bereichs. |
|
UnexpectedProgramBehavior |
4 |
Die Initialisierung war nicht erfolgreich. |
|
UnexpectedProgramBehavior |
3 |
Eine Schnittstelle ist ungültig. |
|
UnexpectedProgramBehavior |
13 |
Ein Rückgabewert war ungültig. |
Enumerationsname: |
AccDecDistanceRange |
Enumerationswert: |
33 |
Beschreibung: |
Der AccDec-Abstand liegt außerhalb des gültigen Bereichs. |
Der Fahrauftrag wurde zurückgewiesen.
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. |
Darauf achten, dass Fahrbefehle nacheinander und nicht gleichzeitig aufgerufen 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. |
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. |
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. |
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. |
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. |
Enumerationsname: |
InitializationFailed |
Enumerationswert: |
4 |
Beschreibung: |
Die Initialisierung war nicht erfolgreich. |
Der Fahrauftrag wurde zurückgewiesen.
Enumerationsname: |
InterfaceInvalid |
Enumerationswert: |
3 |
Beschreibung: |
Eine Schnittstelle ist ungültig. |
Der Fahrauftrag wurde zurückgewiesen.
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 synchroner Hilfsachsen-Fahrauftrag abgesetzt werden kann. |
Siehe Keine MoveSync-Bewegung vor Abschluss einer 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 synchroner Hilfsachsen-Fahrauftrag abgesetzt werden kann. |
Siehe Keine MoveSync-Bewegung vor Abschluss einer 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. |
Darauf achten, dass innerhalb einer verbundenen Bahn eindeutige IDs verwendet werden. |
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: |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
Enumerationsname: |
UnexpectedFeedback |
Enumerationswert: |
13 |
Beschreibung: |
Ein Rückgabewert war ungültig. |
Der Fahrauftrag wurde zurückgewiesen.