IF_RobotMotion - MoveS (Methode)
Typ: |
Methode |
Verfügbar ab: |
V1.0.0.0 |
Dieses Kapitel enthält Informationen zu folgenden Aspekten:
Kurvenbewegung im dreidimensionalen Raum.
Mit der Methode MoveS(...) kann ein Fahrauftrag abgesetzt werden, um eine Zielposition im dreidimensionalen Raum über eine definierte Kurve (Spline) anzufahren.
Anforderungen an die Stützpunkttabelle i_stSplineTable.astSplinePoint:
oDer erste Stützpunkt muss der Startposition, sprich der Zielposition des vorangegangenen Fahrauftrags, entsprechen.
oDie Zielposition i_stTarget muss dem Stützpunkt i_stSplineTable.udiNumberOfSplinePoints entsprechen.
oZwei aufeinander folgende Stützpunkte können nicht identisch sein.
oi_stSplineTable.astSplinePoint muss aus mindestens drei Stützpunkten bestehen.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_stTarget |
Zielpositionskoordinaten des Fahrauftrags im dreidimensionalen Raum. |
|
i_stSplineTable |
Tabelle mit den Stützpunkten der abzufahrenden Kurve. |
|
i_lrMaxZone |
LREAL |
Konfiguration der maximalen Größe der Überschleifzone des Fahrauftrags. Wertebereich: i_lrMaxZone ≥ 0,0 |
i_udiSegmentId |
UDINT |
ID des Fahrauftrags. Die ID eines Fahrauftrags in einer verbundenen Bahn muss eindeutig sein. Wertebereich: i_udiSegmentId > 0 |
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 |
43 |
Es wird eine neue verbundene Bahn angelegt. |
|
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 |
87 |
Es stehen keine weiteren verbundenen Bahnen zur Verfügung. |
|
ExecutionAborted |
86 |
Es stehen keine weiteren Segmente zur Verfügung. |
|
ExecutionAborted |
88 |
Es stehen keine weiteren Zonen zur Verfügung. |
|
ExecutionAborted |
77 |
Der Roboter ist nicht betriebsbereit. |
|
ExecutionAborted |
116 |
Das Start-Offset liegt außerhalb des gültigen Bereichs. |
|
ExecutionAborted |
159 |
Diagnosemeldung bezüglich des Arbeitsraums ist aktiv. |
|
ExecutionAborted |
201 |
Die Maximale Anzahl verfügbarer Armkonfigurations-Ereignisse wurde erreicht. |
|
ExecutionAborted |
205 |
Die externe Positionsquelle wurde konfiguriert. |
|
InputParameterInvalid |
12 |
Der maximale Zone ist außerhalb des Bereichs. |
|
InputParameterInvalid |
89 |
Die Anzahl der Kurvenpunkte ist außerhalb des Bereichs. |
|
InputParameterInvalid |
21 |
Die Segment-ID existiert bereits. |
|
InputParameterInvalid |
15 |
Die Segment-ID ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
45 |
Ein Kurvenpunkt ist ungültig. |
|
InputParameterInvalid |
23 |
Kurvenpunkte sind identisch. |
|
InputParameterInvalid |
22 |
Der Startpunkt ist nicht identisch mit der Zielposition des letzten Fahrbefehls. |
|
InputParameterInvalid |
91 |
Das Target ist ungültig. |
|
UnexpectedProgramBehavior |
4 |
Die Initialisierung war nicht erfolgreich. |
|
UnexpectedProgramBehavior |
3 |
Eine Schnittstelle ist ungültig. |
|
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. |
Darauf achten, dass Fahrbefehle nacheinander und nicht gleichzeitig aufgerufen 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. |
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_stTarget ü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: |
MaxZoneRange |
Enumerationswert: |
12 |
Beschreibung: |
Der maximale Zone ist außerhalb des Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Der am Eingang i_IrMaxZone übergebene Wert liegt außerhalb des gültigen Bereichs. |
Am Eingang i_lrMaxZone muss ein Wert größer oder gleich 0 übergeben werden. |
Enumerationsname: |
MotionParameterInvalid |
Enumerationswert: |
130 |
Beschreibung: |
Die Bewegungsparameter sind ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Die Bewegungsparameter der Bahn sind ungültig. Mindestens einer der Bewegungsparameter (Velocity, Acceleration, Deceleration, Ramp) ist ungültig. |
Sicherstellen, dass alle verwendeten Bewegungsparameter für jede ET_RobotComponent gültig sind. |
Enumerationsname: |
NewConnectedPath |
Enumerationswert: |
43 |
Beschreibung: |
Es wird eine neue verbundene Bahn angelegt. |
Der Fahrauftrag wurde erfolgreich übernommen.
Es wird eine neue verbundene Bahn angelegt.
NoMoreArmConfigurationEventsAvailable
Enumerationsname: |
NoMoreArmConfigurationEventsAvailable |
Enumerationswert: |
201 |
Beschreibung: |
Die Maximale Anzahl verfügbarer Armkonfigurations-Ereignisse wurde erreicht. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Für diese Bewegung können keine weiteren Armkonfigurationsereignisse abgesetzt werden. |
Warten, bis die Fahrbefehle mit Armkonfigurationsänderungen ausgeführt worden sind, bevor neue Fahrbefehle gesendet werden. |
Enumerationsname: |
NoMoreConnectedPathsAvailable |
Enumerationswert: |
87 |
Beschreibung: |
Es stehen keine weiteren verbundenen Bahnen zur Verfügung. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Es können keine weiteren Fahraufträge abgesetzt werden. Die maximale Anzahl verbundener Bahnen wurde erreicht. |
Warten, bis die Fahrbefehle für Bahnbewegungen ausgeführt worden sind, bevor neue Fahrbefehle gesendet werden. |
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 Kurvenbewegung abgesetzt werden. |
Warten, bis die Fahrbefehle für Kurvenewegungen ausgeführt worden sind, bevor neue Fahrbefehle gesendet werden. |
Enumerationsname: |
NoMoreZonesAvailable |
Enumerationswert: |
88 |
Beschreibung: |
Es stehen keine weiteren Zonen zur Verfügung. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Es können keine weiteren Fahraufträge abgesetzt werden. Die maximale Anzahl der Überschleifzonen wurde erreicht. |
Warten, bis die Fahrbefehle für Bahn-Bewegungen 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: |
NumberOfSplinePointsRange |
Enumerationswert: |
89 |
Beschreibung: |
Die Anzahl der Kurvenpunkte ist außerhalb des Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Der am Eingang i_stSplineTable.udiNumberOfSplinePoints übergebene Wert liegt außerhalb des gültigen Bereichs. |
Darauf achten, dass i_stSplineTable.udiNumberOfSplinePoints größer oder gleich 3 ist. Sicherstellen, dass i_stSplineTable.udiNumberOfSplinePoints kleiner oder gleich Gc_udiMaxNumberOfSplinePoints ist. |
Enumerationsname: |
Ok |
Enumerationswert: |
0 |
Beschreibung: |
Ok |
Der Fahrauftrag wurde erfolgreich übernommen.
Enumerationsname: |
SegmentIdAlreadyExists |
Enumerationswert: |
21 |
Beschreibung: |
Die Segment-ID existiert bereits. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Die am Eingang i_udiSegmentId übergebene ID existiert bereits in der neuesten verbundenen Bahn. |
Sicherstellen, dass die Segment-ID in der neuesten verbundenen Bahn klar und eindeutig ist. |
Enumerationsname: |
SegmentIdRange |
Enumerationswert: |
15 |
Beschreibung: |
Die Segment-ID ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Der am Eingang i_udiSegmentId übergebene Wert liegt außerhalb des gültigen Bereichs. |
Am Eingang i_udiSegmentId muss ein Wert größer oder gleich 1 übergeben werden. |
Enumerationsname: |
SplinePointInvalid |
Enumerationswert: |
45 |
Beschreibung: |
Ein Kurvenpunkt ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Die Transformation IF_RobotConfiguration.Cartesian2Ax ist ausgewählt, doch alle am Eingang i_stSplineTable.astSplinePoint übertragenen kartesischen Komponenten der Spline-Punkte werden verwendet. |
Sicherstellen, dass die kartesische Komponente, die in der Ebene nicht ausgewählt ist, 0 ist. Beispiel: ET_WorkingPlane.XY ist ausgewählt. In diesem Fall muss i_stSplineTable.astSplinePoint[...].lrZ 0 sein. |
Ein am Eingang i_stSplineTable.astSplinePoint übergebener Fahrauftrag-Kurvenpunkt liegt außerhalb des gültigen Arbeitsraumes des Roboters. |
Sicherstellen, dass alle am Eingang i_stSplineTable.astSplinePoint übergebenen Spline-Punkte sich innerhalb des gültigen Arbeitsraumes des Roboters befinden. |
Enumerationsname: |
SplinePointsIdentical |
Enumerationswert: |
23 |
Beschreibung: |
Kurvenpunkte sind identisch. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Die Koordinaten zweier aufeinander folgender Kurvenpunkte in der Kurventabelle (Spline) sind identisch. |
Sicherstellen, dass die zwei aufeinander folgenden Kurvenpunkte nicht identisch sind. |
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 der Methode IF_RobotMotion.ChangeCoordinateSystem war negativ. Die Startposition für die Änderung des Koordinatensystems wird vom Ende des Kurvenfahrbefehls aus berechnet. Die Länge des Kurvenfahrbefehls ist zu kurz. |
Darauf achten, dass die Länge des Kurvenfahrbefehls lang genug ist. Darauf achten, dass das Start-Offset zur Länge des Kurvenfahrbefehls passt. |
Enumerationsname: |
StartPointNotIdentical |
Enumerationswert: |
22 |
Beschreibung: |
Der Startpunkt ist nicht identisch mit der Zielposition des letzten Fahrbefehls. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Die Koordinaten des ersten Stützpunktes der Tabelle entsprechen nicht der Startposition der Bewegung (Zielposition des letzten Fahrauftrags). |
Sicherstellen, dass der erste Kurvenpunkt (i_stSplineTable.astSplinePoint[1]) ]) mit dem Ziel des letzten Fahrbefehls identisch ist. |
Enumerationsname: |
TargetInvalid |
Enumerationswert: |
91 |
Beschreibung: |
Das Target ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Die Transformation IF_RobotConfiguration.Cartesian2Ax ist ausgewählt, aber alle am Eingang i_stTarget übertragenen kartesischen Komponenten der Zielposition werden verwendet. |
Sicherstellen, dass die kartesische Komponente, die in der Ebene nicht ausgewählt ist, 0 ist. Beispiel: ET_WorkingPlane.XY ist ausgewählt. In diesem Fall muss i_stTarget.lrZ 0 sein. |
Die am Eingang i_stTarget übergebene Zielposition des Fahrauftrags entspricht nicht dem letzten Stützpunkt (i_stSplineTable.udiNumberOfSplinePoints) der Tabelle. |
Sicherstellen, dass die am Eingang i_stTarget übergebene Zielposition dem Wert von i_stSplineTable.astSplinePoint[i_stSplineTable.udiNumberOfSplinePoints] entspricht. |
|
Die am Eingang i_stTarget übergeben Zielposition des Fahrauftrags ist außerhalb des gültigen Arbeitsraumes des Roboters. |
Sicherstellen, dass die am Eingang i_stTarget übergebene Zielposition innerhalb des gültigen Arbeitsraumes des Roboters ist. |
Enumerationsname: |
UnexpectedFeedback |
Enumerationswert: |
13 |
Beschreibung: |
Ein Rückgabewert war ungültig. |
Der Fahrauftrag wurde zurückgewiesen.
Enumerationsname: |
WorkEnvelope |
Enumerationswert: |
159 |
Beschreibung: |
Diagnosemeldung bezüglich des Arbeitsraums ist aktiv. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Die TCP-Position des Roboters ist außerhalb des gültigen Arbeitsraums. |
Die TCP-Position des Roboters in den gültigen Arbeitsraum zurückbringen. |