Typ: |
Methode |
Verfügbar ab: |
V2.16.0.0 |
Dieses Kapitel enthält Informationen zu folgenden Aspekten:
Hinzufügen eines rotativen Trackingsystems zum Roboter.
Diese Methode wird von Modicon M262 Motion-Steuerungen nicht unterstützt.
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.
Siehe auch das Kapitel Konfiguration eines rotativen Trackingsystems.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_etSystemId |
ID des Trackingsystems. |
|
i_ifVelocitySource |
Geschwindigkeitsquelle des Trackingsystems. Einheit: [°/s] |
|
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:
|
|
i_stOrientation |
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 |
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:
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 zum Diagnosestatus liefert. |
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. |
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. |
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. |
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. |
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 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. |
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 von ET_OrientationConvention übergeben 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 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. |
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 |
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. |
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:
|
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. |
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. |
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. |