IF_RobotMotion - MoveS (Methode)

Übersicht

Typ:

Methode

Verfügbar ab:

V1.0.0.0

Dieses Kapitel enthält Informationen zu folgenden Aspekten:

oAufgabenstellung

oBeschreibung

oSchnittstelle

oDiagnosemeldungen

Aufgabenstellung

Kurvenbewegung im dreidimensionalen Raum.

Beschreibung

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.udiNumberOf­SplinePoints entsprechen.

oZwei aufeinander folgende Stützpunkte können nicht identisch sein.

oi_stSplineTable.astSplinePoint muss aus mindestens drei Stützpunkten bestehen.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_stTarget

PDL.ST_Vector3D

Zielpositionskoordinaten des Fahrauftrags im dreidimensionalen Raum.

i_stSplineTable

ST_SplineTable

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

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

NewConnectedPath

43

Es wird eine neue verbundene Bahn angelegt.

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

NoMoreConnectedPathsAvailable

87

Es stehen keine weiteren verbundenen Bahnen zur Verfügung.

ExecutionAborted

NoMoreSegmentsAvailable

86

Es stehen keine weiteren Segmente zur Verfügung.

ExecutionAborted

NoMoreZonesAvailable

88

Es stehen keine weiteren Zonen zur Verfügung.

ExecutionAborted

NotReady

77

Der Roboter ist nicht betriebsbereit.

ExecutionAborted

StartOffsetRange

116

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

ExecutionAborted

WorkEnvelope

159

Diagnosemeldung bezüglich des Arbeitsraums ist aktiv.

ExecutionAborted

NoMoreArmConfigurationEventsAvailable

201

Die Maximale Anzahl verfügbarer Armkonfigurations-Ereignisse wurde erreicht.

ExecutionAborted

ExternalPositionSourceConfigured

205

Die externe Positionsquelle wurde konfiguriert.

InputParameterInvalid

MaxZoneRange

12

Der maximale Zone ist außerhalb des Bereichs.

InputParameterInvalid

NumberOfSplinePointsRange

89

Die Anzahl der Kurvenpunkte ist außerhalb des Bereichs.

InputParameterInvalid

SegmentIdAlreadyExists

21

Die Segment-ID existiert bereits.

InputParameterInvalid

SegmentIdRange

15

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

InputParameterInvalid

SplinePointInvalid

45

Ein Kurvenpunkt ist ungültig.

InputParameterInvalid

SplinePointsIdentical

23

Kurvenpunkte sind identisch.

InputParameterInvalid

StartPointNotIdentical

22

Der Startpunkt ist nicht identisch mit der Zielposition des letzten Fahrbefehls.

InputParameterInvalid

TargetInvalid

91

Das Target ist ungültig.

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.

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.

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_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.

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.

MaxZoneRange

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.

MotionParameterInvalid

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.

NewConnectedPath

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.

NoMoreConnectedPathsAvailable

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.

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 Kurvenbewegung abgesetzt werden.

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

NoMoreZonesAvailable

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.

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.

NumberOfSplinePointsRange

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.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

Ok

Der Fahrauftrag wurde erfolgreich übernommen.

SegmentIdAlreadyExists

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.

SegmentIdRange

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.

SplinePointInvalid

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.

SplinePointsIdentical

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.

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

StartPointNotIdentical

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.

TargetInvalid

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.

UnexpectedFeedback

Enumerationsname:

UnexpectedFeedback

Enumerationswert:

13

Beschreibung:

Ein Rückgabewert war ungültig.

Der Fahrauftrag wurde zurückgewiesen.

WorkEnvelope

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.