IF_RobotConfiguration - User3Ax (Methode)

Übersicht

Typ:

Methode

Verfügbar ab:

V1.0.0.0

Dieses Kapitel enthält Informationen zu folgenden Aspekten:

oAufgabenstellung

oBeschreibung

oSchnittstelle

oDiagnosemeldungen

Aufgabenstellung

Konfigurieren eines 3-achsigen anwenderkonfigurierten Transformationsroboters.

Beschreibung

Neben der Verwendung von vorgegebenen Kinematiken besteht die Möglichkeit, anwenderspezi­fische Kinematiken über die Methode User3Ax(…) zu definieren.

Die Berechnung der direkten und inversen Transformation muss in einer Anwender-POU realisiert werden, der die Schnittstelle IF_UserTransformation3Ax implementiert.

Möglich sind Kinematiken mit bis zu 3 Achsen und bis zu 3 Freiheitsgraden.

Es kann eine Transformation für bis zu 3 Achsen parametriert werden. Soll eine einachsige Transformation parametriert werden, so ist der Eingang i_ifDriveA zu belegen. Bei einer zweiachsigen Transformation die Eingänge i_ifDriveA und i_ifDriveB und bei einer dreiachsigen Transformation entsprechend die Eingänge i_ifDriveA, i_ifDriveB und i_ifDriveC.

HINWEIS: Wurde eine Methode zur Konfiguration einer Transformation einmal erfolgreich (q_etDiag = ET_Diag.Ok UND q_etDiagExt = ET_DiagExt.Ok) aufgerufen, so ist es nicht möglich, durch Aufruf einer weiteren Methode zur Konfiguration einer Transformation die Parametrierung zu überschreiben.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_ifDriveA

SystemConfigurationItf.IF_Drive

Bei den Modicon M262 Motion-Steuerungen ist der Datentyp CMI.IF_AxisIdentification.

Antrieb der Achse A

i_ifDriveB

SystemConfigurationItf.IF_Drive

Bei den Modicon M262 Motion-Steuerungen ist der Datentyp CMI.IF_AxisIdentification.

Antrieb der Achse B

i_ifDriveC

SystemConfigurationItf.IF_Drive

Bei den Modicon M262 Motion-Steuerungen ist der Datentyp CMI.IF_AxisIdentification.

Antrieb der Achse C

i_ifTransformation

IF_UserTransformation3Ax

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

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

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.

InputParameterInvalid

DriveAAlreadyInUse

36

Der Antrieb A wird bereits verwendet.

InputParameterInvalid

DriveAInvalid

48

Der Antrieb A ist ungültig.

InputParameterInvalid

DriveAMissing

110

Der Antrieb A ist nicht verfügbar.

InputParameterInvalid

DriveBAlreadyInUse

37

Der Antrieb B wird bereits verwendet.

InputParameterInvalid

DriveBInvalid

49

Der Antrieb B ist ungültig.

InputParameterInvalid

DriveBMissing

109

Der Antrieb B ist nicht verfügbar.

InputParameterInvalid

DriveCAlreadyInUse

38

Der Antrieb C wird bereits verwendet.

InputParameterInvalid

DriveCInvalid

50

Der Antrieb C ist ungültig.

InputParameterInvalid

UserTransformation3AxInvalid

108

Die anwenderkonfigurierte Transformation 3Ax ist ungültig.

ConfigurationAlreadyCompleted

Enumerationsname:

ConfigurationAlreadyCompleted

Enumerationswert:

105

Beschreibung:

Die Konfiguration ist bereits abgeschlossen.

Problem

Ursache

Lösung

Die Konfiguration der Robotertransformation war nicht erfolgreich.

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

Sicherstellen, dass keine Methode zur Transformationskonfiguration, zum Beispiel Delta3Ax(...) oder AddAuxAx(...), aufgerufen wird, nachdem die Konfiguration abgeschlossen ist.

DriveAAlreadyInUse

Enumerationsname:

DriveAAlreadyInUse

Enumerationswert:

36

Beschreibung:

Der Antrieb A wird bereits verwendet.

Problem

Ursache

Lösung

Die Konfiguration der Robotertransformation war nicht erfolgreich.

Der am Eingang i_ifDriveA übergebene Antrieb ist bereits im Roboter konfiguriert und kann nicht noch einmal verwendet werden.

Stellen Sie sicher, dass dem Roboter kein Antrieb mehrmals zugewiesen wird. Ist das der Fall, dann berichtigen Sie dies.

DriveAInvalid

Enumerationsname:

DriveAInvalid

Enumerationswert:

48

Beschreibung:

Der Antrieb A ist ungültig.

Problem

Ursache

Lösung

Die Konfiguration der Robotertransformation war nicht erfolgreich.

Der am Eingang i_ifDriveA übergebene Schnittstelle ist ungültig.

Am Eingang i_ifDriveA muss ein gültiger Antrieb übergeben werden.

DriveAMissing

Enumerationsname:

DriveAMissing

Enumerationswert:

110

Beschreibung:

Der Antrieb A ist nicht verfügbar.

Problem

Ursache

Lösung

Die Konfiguration der Robotertransformation war nicht erfolgreich.

Am Eingang i_ifDriveB oder i_ifDriveC wurde ein Antrieb übergeben.

Sicherstellen, dass am Eingang i_ifDriveA ein gültiger Antrieb übergeben wurde.

DriveBAlreadyInUse

Enumerationsname:

DriveBAlreadyInUse

Enumerationswert:

37

Beschreibung:

Der Antrieb B wird bereits verwendet.

Problem

Ursache

Lösung

Die Konfiguration der Robotertransformation war nicht erfolgreich.

Der am Eingang i_ifDriveB übergebene Antrieb ist bereits im Roboter konfiguriert und kann nicht noch einmal verwendet werden.

Stellen Sie sicher, dass dem Roboter kein Antrieb mehrmals zugewiesen wird. Ist das der Fall, dann berichtigen Sie dies.

DriveBInvalid

Enumerationsname:

DriveBInvalid

Enumerationswert:

49

Beschreibung:

Der Antrieb B ist ungültig.

Problem

Ursache

Lösung

Die Konfiguration der Robotertransformation war nicht erfolgreich.

Der am Eingang i_ifDriveB übergebene Schnittstelle ist ungültig.

Am Eingang i_ifDriveB muss ein gültiger Antrieb übergeben werden.

DriveBMissing

Enumerationsname:

DriveBMissing

Enumerationswert:

109

Beschreibung:

Der Antrieb B ist nicht verfügbar.

Problem

Ursache

Lösung

Die Konfiguration der Robotertransformation war nicht erfolgreich.

Ein Antrieb wurde am Eingang i_ifDriveC übergeben.

Sicherstellen, dass am Eingang i_ifDriveB ein gültiger Antrieb übergeben wurde.

DriveCAlreadyInUse

Enumerationsname:

DriveCAlreadyInUse

Enumerationswert:

38

Beschreibung:

Der Antrieb C wird bereits verwendet.

Problem

Ursache

Lösung

Die Konfiguration der Robotertransformation war nicht erfolgreich.

Der am Eingang i_ifDriveC übergebene Antrieb ist bereits im Roboter konfiguriert und kann nicht noch einmal verwendet werden.

Stellen Sie sicher, dass dem Roboter kein Antrieb mehrmals zugewiesen wird. Ist das der Fall, dann berichtigen Sie dies.

DriveCInvalid

Enumerationsname:

DriveCInvalid

Enumerationswert:

50

Beschreibung:

Der Antrieb C ist ungültig.

Problem

Ursache

Lösung

Die Konfiguration der Robotertransformation war nicht erfolgreich.

Der am Eingang i_ifDriveC übergebene Schnittstelle ist ungültig.

Am Eingang i_ifDriveC muss ein gültiger Antrieb übergeben werden.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

Ok

Die Konfiguration der Robotertransformation war erfolgreich.

TransformationAlreadyConfigured

Enumerationsname:

TransformationAlreadyConfigured

Enumerationswert:

106

Beschreibung:

Die Transformation ist bereits konfiguriert.

Problem

Ursache

Lösung

Die Konfiguration der Robotertransformation war nicht erfolgreich.

Die Konfiguration der Transformation des Roboters wurde bereits erfolgreich durchgeführt.

Darauf achten, dass eine Transformationskonfiguration nur einmal aufgerufen wird.

UserTransformation3AxInvalid

Enumerationsname:

UserTransformation3AxInvalid

Enumerationswert:

108

Beschreibung:

Die anwenderkonfigurierte Transformation 3Ax ist ungültig.

Problem

Ursache

Lösung

Die Konfiguration der Robotertransformation war nicht erfolgreich.

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

Sicherstellen, dass am Eingang i_ifTransformation eine gültige Schnittstelle übergeben wurde.