IF_RobotConfigurationAdvanced - AdditionalTransformationAxes (Methode)

Übersicht

Typ:

Methode

Verfügbar ab:

V2.5.0.0

Dieses Kapitel enthält Informationen zu folgenden Aspekten:

oAufgabenstellung

oBeschreibung

oSchnittstelle

oDiagnosemeldungen

oBeispiel

Aufgabenstellung

Konfiguration einer zusätzlichen Transformation der Roboterachsen.

Beschreibung

Mit der Methode AdditionalTransformationAxes(...) können Sie die Transformation für die Roboterachsen konfigurieren und definieren, die vor bzw. nach der eigentlichen Transfor­mation berechnet werden.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_ifTransformation

IF_AdditionalTransformationAxes

Schnittstelle mit der Implementierung zur Berechnung der direkten und inversen Transformation.

Siehe:

oIF_AdditionalTransformationAxes - Direct()

oIF_AdditionalTransformationAxes - Inverse()

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

Ok

0

Ok

ExecutionAborted

ConfigurationAlreadyCompleted

105

Die Konfiguration ist bereits abgeschlossen.

ExecutionAborted

TransformationAlreadyConfigured

106

Die Transformation ist bereits konfiguriert.

ExecutionAborted

AdditionalTransformationInvalid

193

Die zusätzliche Transformation ist ungültig.

AdditionalTransformationInvalid

Enumerationsname:

AdditionalTransformationInvalid

Enumerationswert:

193

Beschreibung:

Die zusätzliche Transformation ist ungültig.

Problem

Ursache

Lösung

Die Konfiguration der zusätzlichen Transformationsachsen war nicht erfolgreich.

Die am Eingang i_ifTransformation übergebene Schnittstelle ist ungültig.

Darauf achten, dass am Eingang i_ifTransformation eine gültige Schnittstelle übergeben wird.

ConfigurationAlreadyCompleted

Enumerationsname:

ConfigurationAlreadyCompleted

Enumerationswert:

105

Beschreibung:

Die Konfiguration ist bereits abgeschlossen.

Problem

Ursache

Lösung

Die Konfiguration der zusätzlichen Transformationsachsen war nicht erfolgreich.

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

Sicherstellen, dass AdditionalTransformationAxes(…) vor Abschluss der Konfiguration aufgerufen wird.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

Ok

Die Konfiguration der zusätzlichen Transformationsachsen war erfolgreich.

TransformationAlreadyConfigured

Enumerationsname:

TransformationAlreadyConfigured

Enumerationswert:

106

Beschreibung:

Die Transformation ist bereits konfiguriert.

Problem

Ursache

Lösung

Die Konfiguration der zusätzlichen Transformationsachsen war nicht erfolgreich.

Die Konfiguration der zusätzliche Transformation wurde bereits erfolgreich abgeschlossen.

Sicherstellen, dass eine Transformationskonfiguration nur einmal aufgerufen wird.

Beispielimplementierung für die Methode AdditionalTransformationAxes()

Deklaration:

VAR
    fbRobot                          : FB_Robot;
    fbAdditionalTransformationAxes   : FB_AdditionalTransformationAxes     // Must be implemented by user
    etDiag                           : GD.ET_Diag;
    etDiagExt                        : ROB.ET_DiagExt;
    sMsg                             : STRING[80];
END_VAR

Implementierung:

// Configure AdditionalTransformation
fbRobot.ifRobotConfigurationAdvanced.AdditionalTransformationAxes( i_ifTransformation         := fbAdditionalTransformationAxes,
                q_etDiag    => etDiag,
                q_etDiagExt => etDiagExt,
                q_sMsg      => sMsg );