IF_RobotConfiguration - AddRotativeTrackingSystem (Methode)
Typ: |
Methode |
Verfügbar ab: |
V2.16.0.0 |
Dieses Kapitel enthält Informationen zu folgenden Aspekten:
Hinzufügen eines rotativen Trackingsystems zum Roboter.
HINWEIS: Diese Methode wird von Modicon M262 Motion-Steuerungen nicht unterstützt.
Mit der Methode AddRotativeTrackingSystem(...) kann ein rotatives Trackingsystem zum Roboter hinzugefügt werden.
Die Trackingrichtung verläuft um eine 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.
oDer Parameter Enable muss TRUE sein.
oDer logische Geber darf nicht mit einer anderen Geschwindigkeitsquelle verbunden sein.
oDie 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 Parametrisierung dieser Parameter muss gleich der Parametrisierung 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, das heißt, dass Ursprung des Koordinatensystems immer der Mittelpunkt der Rotation 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 Kapitel Konfiguration eines rotativen Trackingsystems.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_etSystemId |
ID des Trackingsystems |
|
i_ifVelocitySource |
Geschwindigkeitsquelle des Trackingsystems Einheit: [°/Sek.] |
|
i_lencEncoder |
SystemConfiguration.L_ENC |
Logischer Geber, der mit der Geschwindigkeitsquelle verbunden ist. |
i_stOffset |
Beschreibt die Verlagerung des Ursprungs des rotativen Trackingsystems in Bezug auf das Roboterkoordinatensystem ET_CoordinateSystem.CSR. Einheit: [mm] |
|
i_etOrientationConvention |
Konvention für die Drehwinkel der Orientierung i_stOrientation. Gültige Werte sind: oET_OrientationConvention.XYZ oET_OrientationConvention.ZYX oET_OrientationConvention.ZXY |
|
i_stOrientation |
Drehung des rotativen Trackingsystems in Bezug auf das Roboterkoordinatensystem ET_CoordinateSystem.CSR. Einheit: [°] |
|
i_xClockwiseRotation |
BOOL |
TRUE: Drehung im Uhrzeigersinn um die Achse, festgelegt mit i_etTrackingRotationAxis. FALSE: Drehung entgegen dem Uhrzeigersinn um die Achse, festgelegt mit i_etTrackingRotationAxis. |
i_etTrackingRotationAxis |
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 sind: oET_RobotComponent.CartesianX oET_RobotComponent.CartesianY oET_RobotComponent.CartesianZ Für weitere Informationen siehe ET_RobotComponent. |
Ausgang |
Datentyp |
Beschreibung |
---|---|---|
q_etDiag |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. Ein Wert ungleich ET_Diag.Ok entspricht einer Diagnosemeldung. |
|
q_etDiagExt |
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 über den Diagnosezustand gibt. |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
0 |
Ok |
|
ExecutionAborted |
113 |
Die Transformation ist nicht verfügbar. |
|
ExecutionAborted |
105 |
Die Konfiguration ist bereits abgeschlossen. |
|
ExecutionAborted |
166 |
Es stehen keine weiteren Trackingsysteme zur Verfügung. |
|
ExecutionAborted |
197 |
Die System-ID wurde bereits konfiguriert. |
|
InputParameterInvalid |
167 |
Die Geschwindigkeitsquelle ist ungültig. |
|
InputParameterInvalid |
168 |
Die Orientierungskonvention ist ungültig. |
|
InputParameterInvalid |
152 |
Das Offset ist ungültig. |
|
InputParameterInvalid |
153 |
Die Orientierung ist ungültig. |
|
InputParameterInvalid |
169 |
Der Geber ist ungültig. |
|
InputParameterInvalid |
219 |
Der Eingang für die für das Tracking verwendete Achse ist ungültig. |
|
InputParameterInvalid |
196 |
Die System-ID ist ungültig. |
|
UnexpectedProgramBehavior |
13 |
Ein Rückgabewert war ungültig. |
|
ExecutionAborted |
205 |
Die externe Positionsquelle wurde konfiguriert. |
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. |
Darauf achten, dass die Konfigurationsmethode AddRotativeTrackingSystem(...) nicht aufgerufen wird, nachdem die Konfiguration abgeschlossen ist. |
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 Objektes ist ungültig. |
Am Eingang i_lencEncoder muss ein Objekt vom Typ SystemConfiguration.L_ENC_TYPE übergeben werden. |
- |
Der am Eingang i_lencEncoder übergebene logischer 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 wird direkt mit einem Objekt verbunden. |
Nicht die Funktion SystemInterface.FC_SetMasterEncoder(...) aufrufen, um den logischen Geber mit einem anderen Objekt zu verbinden. |
- |
Der am Eingang i_lencEncoder übergebene Phasengenerator ist nicht 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. |
Darauf achten, 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. |
Darauf achten, 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. |
Darauf achten, 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. |
Darauf achten, 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 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. Kein Trackingsystem konfigurieren. |
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. |
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 wird konfiguriert. |
Sicherstellen, dass der Eingang i_stOffset.lrZ auf 0 gesetzt ist. |
Eine zweidimensionale Transformation in der XZ-Ebene wird konfiguriert. |
Sicherstellen, dass der Eingang i_stOffset.lrY auf 0 gesetzt ist. |
|
Eine zweidimensionale Transformation in der YZ-Ebene wird konfiguriert. |
Sicherstellen, dass der Eingang i_stOffset.lrX auf 0 gesetzt ist. |
Enumerationsname: |
Ok |
Enumerationswert: |
0 |
Beschreibung: |
Ok |
Die Konfiguration des Trackingsystems war erfolgreich.
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 übergeben von ET_OrientationConvention werden. |
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 wird konfiguriert. |
Sicherstellen, dass die Eingänge i_stOrientation.lrX und i_stOrientation.lrY auf 0 gesetzt sind. |
Eine zweidimensionale Transformation in der XZ-Ebene wird konfiguriert. |
Sicherstellen, dass die Eingänge i_stOrientation.lrX und i_stOrientation.lrZ auf 0 gesetzt sind. |
|
Eine zweidimensionale Transformation in der YZ-Ebene wird konfiguriert. |
Sicherstellen, dass die Eingänge i_stOrientation.lrY und i_stOrientation.lrZ auf 0 gesetzt sind. |
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. |
Sicherstellen, dass der Wert von i_etSystemId einem der folgenden Werte entspricht: ET_CoordinateSystem.Tracking1 … ET_CoordinateSystem.Tracking30 |
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. |
Sicherstellen, dass eine System-ID nur einmal für die Konfiguration eines Trackingsystems verwendet wird. |
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: oET_RobotComponent.CartesianX oET_RobotComponent.CartesianY oET_RobotComponent.CartesianZ |
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. |
Sicherstellen, dass die Transformation des Roboters konfiguriert wird, bevor ein Trackingsystem hinzugefügt wird. |
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.
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. |