IF_RobotConfiguration - AddRotativeTrackingSystem (Methode)

Überblick

Typ:

Methode

Verfügbar ab:

V2.16.0.0

Dieses Kapitel enthält Informationen zu folgenden Aspekten:

Aufgabe

Hinzufügen eines rotativen Trackingsystems zum Roboter.

HINWEIS:

Diese Methode wird von Modicon M262 Motion-Steuerungen nicht unterstützt.

Beschreibung

Mit der Methode AddRotativeTrackingSystem(...) kann dem Roboter ein rotatives Trackingsystem hinzugefügt werden.

Die Trackingrichtung steht in Bezug zu einer der positiven kartesischen Achsen (X, Y oder Z) des Koordinatensystems, das innerhalb dieser Methode definiert ist. Die Geschwindigkeitsquelle wird auf dieser Achse abgebildet.

Die Konfiguration des logischen Gebers wird während der Konfiguration des Trackingsystems geprüft.

  • Der Parameter Enable muss TRUE sein.

  • Der logische Geber darf nicht mit einer anderen Geschwindigkeitsquelle verbunden sein.

  • Die Parameter PhaseEnable, GearEnable und EngageEnable müssen FALSE sein.

Wenn die Geschwindigkeitsquelle die Schnittstelle SystemConfigurationItf.IF_MechanicMandatory implementiert, werden die folgenden Parameter Direction, GearIn, GearOut und FeedConstant geprüft. Die Einstellung dieser Parameter muss gleich der Einstellung der Geschwindigkeitsquelle sein.

Wenn sich der Roboter im Trackingsystem bewegt, wird der logische Geber ebenfalls dahingehend überwacht, ob eine Manipulation der Position aufgetreten ist. Wenn eine Manipulation erkannt wird, hält der Roboter sofort an. Die Überwachung der Position ist auch aktiv, wenn eine Änderung des Trackingsystems durch Aufrufen der Methode IF_RobotMotion.ChangeCoordinateSystem angefordert wird.

Mit den Eingängen i_stOffset, i_etOrientationConvention und i_stOrientation kann das Koordinatensystem des Trackingsystems definiert werden. Die Rotation erfolgt immer um eine der Achsen des Koordinatensystems, d. h. dass der Ursprung des Koordinatensystems immer der Mittelpunkt der Drehung ist.

HINWEIS: Sobald mindestens ein rotatives Trackingsystem konfiguriert ist, müssen Nothaltparameter und Stopp-Parameter für alle konfigurierten Tracking-Koordinatensysteme mithilfe der Methode IF_RobotConfiguration.SetTrackingStopParameters(…) festgelegt werden. Andernfalls ist es nicht möglich, die Methode IF_RobotConfiguration.ConfigDone(…) erfolgreich aufzurufen.

Siehe auch das Kapitel Konfiguration eines rotativen Trackingsystems.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_etSystemId

ET_CoordinateSystem

ID des Trackingsystems.

i_ifVelocitySource

SystemConfigurationItf.IF_IdentificationMandatory

Geschwindigkeitsquelle des Trackingsystems.

Einheit: [°/s]

i_lencEncoder

SystemConfiguration.L_ENC

Logischer Geber, der mit der Geschwindigkeitsquelle verbunden ist.

i_stOffset

PDL.ST_Vector3D

Beschreibt die Verlagerung des Ursprungs des rotativen Trackingsystems in Bezug auf das Roboterkoordinatensystem ET_CoordinateSystem.CSR.

Einheit: [mm]

i_etOrientationConvention

ET_OrientationConvention

Konvention für die Drehwinkel der Orientierung i_stOrientation.

Gültige Werte sind:

  • ET_OrientationConvention.XYZ

  • ET_OrientationConvention.ZYX

  • ET_OrientationConvention.ZXY

i_stOrientation

PDL.ST_Vector3D

Drehung des rotativen Trackingsystems in Bezug auf das Roboterkoordinatensystem ET_CoordinateSystem.CSR.

Einheit: [°]

i_xClockwiseRotation

BOOL

TRUE: Drehen im Urhzeigersinn um die in i_etTrackingRotationAxis angegebene Achse.

FALSE: Drehen gegen den Uhrzeigersinn um die in i_etTrackingRotationAxis angegebene Achse.

i_etTrackingRotationAxis

ET_RobotComponent

Positive kartesische Achse des Tracking-Koordinatensystems, die für das Tracking verwendet wird.

Das Tracking dreht sich um diese Achse des Koordinatensystems.

Gültige Werte:

  • ET_RobotComponent.CartesianX

  • ET_RobotComponent.CartesianY

  • ET_RobotComponent.CartesianZ

Für weitere Informationen siehe ET_RobotComponent.

Ausgang

Datentyp

Beschreibung

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose.

Ein Wert ungleich ET_Diag.Ok entspricht einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

POU-spezifischer Ausgang für die Diagnose.

q_etDiag = ET_Diag.Ok -> Statusmeldung

q_etDiag <> ET_Diag.Ok -> Diagnosemeldung

q_sMsg

STRING[80]

Ereignisabhängige Meldung, die zusätzliche Informationen zum Diagnosestatus liefert.

Rückgabewert

Datentyp

Beschreibung

ET_CoordinateSystem

ID des hinzugefügten rotativen Trackingsystems.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Ok

0

Ok

ExecutionAborted

ConfigurationAlreadyCompleted

105

Die Konfiguration ist bereits abgeschlossen.

TransformationMissing

113

Die Transformation ist nicht verfügbar.

NoMoreTrackingSystemsAvailable

166

Es stehen keine weiteren Trackingsysteme zur Verfügung.

SystemIdAlreadyConfigured

197

Die System-ID wurde bereits konfiguriert.

ExternalPositionSourceConfigured

205

Die externe Positionsquelle wurde konfiguriert.

TrackingSourceAndTrackingSystemNotPossible

249

Die Kombination aus Trackingquelle und Trackingsystem ist nicht möglich.

InputParameterInvalid

OffsetInvalid

152

Das Offset ist ungültig.

OrientationInvalid

153

Die Orientierung ist ungültig.

VelocitySourceInvalid

167

Die Geschwindigkeitsquelle ist ungültig.

OrientationConventionInvalid

168

Die Orientierungskonvention ist ungültig.

EncoderInvalid

169

Der Geber ist ungültig.

SystemIdInvalid

196

Die System-ID ist ungültig.

TrackingRotationAxisInvalid

219

Der Eingang für die für das Tracking verwendete Achse ist ungültig.

UnexpectedProgramBehavior

UnexpectedFeedback

13

Ein Rückgabewert war ungültig.

ConfigurationAlreadyCompleted

Enumerationsname:

ConfigurationAlreadyCompleted

Enumerationswert:

105

Beschreibung:

Die Konfiguration ist bereits abgeschlossen.

Problem

Ursache

Lösung

Die Konfiguration des Trackingsystems war nicht erfolgreich.

Die Konfiguration des Roboters ist bereits abgeschlossen. Die Methode ConfigDone(...) wurde bereits erfolgreich aufgerufen.

Achten Sie darauf, dass die Konfigurationsmethode AddRotativeTrackingSystem(...) nicht aufgerufen wird, nachdem die Konfiguration abgeschlossen ist.

EncoderInvalid

Enumerationsname:

EncoderInvalid

Enumerationswert:

169

Beschreibung:

Der Geber ist ungültig.

Problem

Ursache

Lösung

Die Konfiguration des Trackingsystems war nicht erfolgreich.

Der Typ des am Eingang i_lencEncoder übergebenen Objekts ist ungültig.

Am Eingang i_lencEncoder muss ein Objekt vom Typ SystemConfiguration.L_ENC_TYPE übergeben werden.

-

Der am Eingang i_lencEncoder übergebene logische Geber ist nicht aktiviert.

Der Wert des am Eingang i_lencEncoder übergebenen Parameters Enable des logischen Gebers muss TRUE sein.

-

Der am Eingang i_lencEncoder übergebene logische Geber wurde bereits mit einem Objekt verbunden.

Rufen Sie nicht die Funktion SystemInterface.FC_SetMasterEncoder(...) auf, um den logischen Geber mit einem anderen Objekt zu verbinden.

-

Der am Eingang i_lencEncoder übergebene Phasengenerator des logischen Gebers ist aktiviert.

Der Wert des am Eingang i_lencEncoder übergebenen Parameters PhaseEnable des logischen Gebers muss FALSE sein.

-

Das am Eingang i_lencEncoder übergebene Getriebe des logischen Gebers ist aktiviert.

Der Wert des am Eingang i_lencEncoder übergebenen Parameters GearEnable des logischen Gebers muss FALSE sein.

-

Die am Eingang i_lencEncoder übergebene Kupplung des logischen Gebers ist aktiviert.

Der Wert des am Eingang i_lencEncoder übergebenen Parameters EngageEnable des logischen Gebers muss FALSE sein.

-

Die am Eingang i_ifVelocitySource übergebene Geschwindigkeitsquelle implementiert die Schnittstelle SystemConfigurationItf.IF_MechanicMandatory.

Der Wert des am Eingang i_lencEncoder übergebenen Parameters Direction des logischen Gebers passt nicht zum Wert des am Eingang i_ifVelocitySource übergebenen Parameters Direction der Geschwindigkeitsquelle.

Achten Sie darauf, dass beide Werte gleich sind.

-

Die am Eingang i_ifVelocitySource übergebene Geschwindigkeitsquelle implementiert die Schnittstelle SystemConfigurationItf.IF_MechanicMandatory.

Der Wert des am Eingang i_lencEncoder übergebenen Parameters GearIn des logischen Gebers passt nicht zum Wert des am Eingang i_ifVelocitySource übergebenen Parameters GearIn der Geschwindigkeitsquelle.

Achten Sie darauf, dass beide Werte gleich sind.

-

Die am Eingang i_ifVelocitySource übergebene Geschwindigkeitsquelle implementiert die Schnittstelle SystemConfigurationItf.IF_MechanicMandatory.

Der Wert des am Eingang i_lencEncoder übergebenen Parameters GearOut des logischen Gebers passt nicht zum Wert des am Eingang i_ifVelocitySource übergebenen Parameters GearOut der Geschwindigkeitsquelle.

Achten Sie darauf, dass beide Werte gleich sind.

-

Die am Eingang i_ifVelocitySource übergebene Geschwindigkeitsquelle implementiert die Schnittstelle SystemConfigurationItf.IF_MechanicMandatory.

Der Wert des am Eingang i_lencEncoder übergebenen Parameters FeedConstant des logischen Gebers passt nicht zum Wert des am Eingang i_ifVelocitySource übergebenen Parameters FeedConstant der Geschwindigkeitsquelle.

Achten Sie darauf, dass beide Werte gleich sind.

ExternalPositionSourceConfigured

Enumerationsname:

ExternalPositionSourceConfigured

Enumerationswert:

205

Beschreibung:

Die externe Positionsquelle wurde konfiguriert.

Problem

Ursache

Lösung

Die Konfiguration des Trackingsystems war nicht erfolgreich.

Für die Roboterkomponenten Kartesisch, Orientierung (Ausrichtung) und Hilfsachsen wurde eine externe Positionsquelle konfiguriert.

Die Konfiguration eines Trackingsystems ist nicht möglich, wenn für die Roboterkomponenten eine externe Positionsquelle konfiguriert wurde.

Konfigurieren Sie kein Trackingsystem.

NoMoreTrackingSystemsAvailable

Enumerationsname:

NoMoreTrackingSystemsAvailable

Enumerationswert:

166

Beschreibung:

Es stehen keine weiteren Trackingsysteme zur Verfügung.

Problem

Ursache

Lösung

Die Konfiguration des Trackingsystems war nicht erfolgreich.

Es können keine Trackingsysteme des Roboters mehr konfiguriert werden.

Die maximale Anzahl der konfigurierbaren Trackingsysteme ist Gc_udiMaxNumberOfTrackingSystems.

OffsetInvalid

Enumerationsname:

OffsetInvalid

Enumerationswert:

152

Beschreibung:

Das Offset ist ungültig.

Problem

Ursache

Lösung

Die Konfiguration des Trackingsystems war nicht erfolgreich.

Eine zweidimensionale Transformation in der XY-Ebene wurde konfiguriert.

Stellen Sie sicher, dass der Eingang i_stOffset.lrZ auf 0 gesetzt ist.

Eine zweidimensionale Transformation in der XZ-Ebene wurde konfiguriert.

Stellen Sie sicher, dass der Eingang i_stOffset.lrY auf 0 gesetzt ist.

Eine zweidimensionale Transformation in der YZ-Ebene wurde konfiguriert.

Stellen Sie sicher, dass der Eingang i_stOffset.lrX auf 0 gesetzt ist.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

Ok

Die Konfiguration des Trackingsystems war erfolgreich.

OrientationConventionInvalid

Enumerationsname:

OrientationConventionInvalid

Enumerationswert:

168

Beschreibung:

Die Orientierungskonvention ist ungültig.

Problem

Ursache

Lösung

Die Konfiguration des Trackingsystems war nicht erfolgreich.

Der am Eingang i_etOrientationConvention übergebene Wert ist kein gültiger Wert.

Am Eingang i_etOrientationConvention muss ein gültiger Wert von ET_OrientationConvention übergeben werden.

OrientationInvalid

Enumerationsname:

OrientationInvalid

Enumerationswert:

153

Beschreibung:

Die Orientierung ist ungültig.

Problem

Ursache

Lösung

Die Konfiguration des Trackingsystems war nicht erfolgreich.

Eine zweidimensionale Transformation in der XY-Ebene wurde konfiguriert.

Stellen Sie sicher dass die Eingänge i_stOrientation.lrX und i_stOrientation.lrY auf 0 gesetzt sind.

Eine zweidimensionale Transformation in der XZ-Ebene wurde konfiguriert.

Stellen Sie sicher dass die Eingänge i_stOrientation.lrX und i_stOrientation.lrZ auf 0 gesetzt sind.

Eine zweidimensionale Transformation in der YZ-Ebene wurde konfiguriert.

Stellen Sie sicher dass die Eingänge i_stOrientation.lrY und i_stOrientation.lrZ auf 0 gesetzt sind.

SystemIdInvalid

Enumerationsname:

SystemIdInvalid

Enumerationswert:

196

Beschreibung:

Die System-ID ist ungültig.

Problem

Ursache

Lösung

Die Konfiguration des Trackingsystems war nicht erfolgreich.

Die am Eingang i_etSystemId übergebene System-ID ist ungültig.

Stellen Sie sicher, dass der Wert von i_etSystemId einem der folgenden Werte entspricht:

ET_CoordinateSystem.Tracking1 … ET_CoordinateSystem.Tracking30

SystemIdAlreadyConfigured

Enumerationsname:

SystemIdAlreadyConfigured

Enumerationswert:

197

Beschreibung:

Die System-ID wurde bereits konfiguriert.

Problem

Ursache

Lösung

Die Konfiguration des Trackingsystems war nicht erfolgreich.

Die am Eingang i_etSystemId übergebene System-ID ist ungültig.

Stellen Sie sicher, dass eine System-ID nur einmal für die Konfiguration eines Trackingsystems verwendet wird.

TrackingRotationAxisInvalid

Enumerationsname:

TrackingRotationAxisInvalid

Enumerationswert:

219

Beschreibung:

Der Eingang für die für das Tracking verwendete Achse ist ungültig.

Problem

Ursache

Lösung

Die Konfiguration des Trackingsystems war nicht erfolgreich.

Der am Eingang i_etTrackingRotationAxis übergebene Wert ist kein gültiger Wert.

i_etTrackingRotationAxis muss einer der folgenden Werte zugewiesen sein:

  • ET_RobotComponent.CartesianX

  • ET_RobotComponent.CartesianY

  • ET_RobotComponent.CartesianZ

TrackingSourceAndTrackingSystemNotPossible

Enumerationsname:

TrackingSourceAndTrackingSystemNotPossible

Enumerationswert:

249

Beschreibung:

Die Kombination aus Trackingquelle und Trackingsystem ist nicht möglich.

Problem

Ursache

Lösung

Die Konfiguration des Trackingsystems war nicht erfolgreich.

Die Kombination aus Trackingquelle und Trackingsystem ist nicht möglich.

Stellen Sie sicher, dass für den Roboter kein Trackingsystem konfiguriert ist, wenn eine Trackingquelle verwendet werden muss.

Für lineares oder rotatives Tracking müssen Trackingquellen verwendet werden.

Verwenden Sie für neue Projekte immer Trackingquellen anstelle von Trackingsystemen.

TransformationMissing

Enumerationsname:

TransformationMissing

Enumerationswert:

113

Beschreibung:

Die Transformation ist nicht verfügbar.

Problem

Ursache

Lösung

Die Konfiguration des Trackingsystems war nicht erfolgreich.

Es wurde keine Transformation des Roboters konfiguriert.

Achten Sie darauf, dass die Transformation des Roboters konfiguriert wird, bevor ein Trackingsystem hinzugefügt wird.

UnexpectedFeedback

Enumerationsname:

UnexpectedFeedback

Enumerationswert:

13

Beschreibung:

Ein Rückgabewert war ungültig.

Die Konfiguration des Trackingsystems war nicht erfolgreich.

Das Hinzufügen des Trackingsystems wurde aufgrund eines ungültigen Rückmeldewerts abgebrochen.

VelocitySourceInvalid

Enumerationsname:

VelocitySourceInvalid

Enumerationswert:

167

Beschreibung:

Die Geschwindigkeitsquelle ist ungültig.

Problem

Ursache

Lösung

Die Konfiguration des Trackingsystems war nicht erfolgreich.

Die am Eingang i_ifVelocitySource übergebene Geschwindigkeitsquelle ist ungültig.

Am Eingang i_ifVelocitySource muss eine gültige Schnittstelle (SystemConfigurationItf.IF_IdentificationMandatory) einer Geschwindigkeitsquelle übergeben werden.

Gültige Objekte sind zum Beispiel Antriebe, virtuelle Geber, Inkrementalgeber usw.

Das am Eingang i_ifVelocitySource übergebene Objekt ist vom Typ SystemConfiguration.L_ENC_TYPE.

Objekte des Typs SystemConfiguration.L_ENC_TYPE sind nicht als Geschwindigkeitsquelle gültig.