FC_DiagConfigSet2 - Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab

SystemInterface_1.33.1.0

Versionen:

Aktuelle Version

HINWEIS

ÄNDERUNG DER VERIFIZIERTEN STANDARDFEHLERBEHANDLUNG

Stellen Sie sicher, dass diese Funktion nur von befugten und qualifizierten Programmierern nach Rücksprache mit Schneider Electric verwendet wird.

Die Nichtbeachtung dieser Anweisungen kann Sachschäden zur Folge haben.

Aufgabe

Die Diagnosekonfiguration einzelner Diagnosemeldungen ändern.

Die Systemreaktion (Diagnoseklasse) für i_diDiagCode von allen Geräten wird zu i_diDiagClassgeändert, identisch mit FC_DiagConfigSet.

Die Gerätereaktion wird zu i_diDiagSubClass geändert. Dies gilt für alle Geräte, die mit i_stLogAddr ausgewählt wurden.

HINWEIS: Die Funktion FC_DiagConfigSet2 wird nur von Schneider Electric-Antrieben und -Netzteilen unterstützt.

HINWEIS: Wenn die Achse zurückgesetzt (neu gestartet) wird, oder wenn der Zustand der Sercos-Phase auf Kommunikationsphase 0 zurückgesetzt wird, wird die Diagnosekonfiguration ebenfalls zurückgesetzt.

Beschreibung

Mit Hilfe dieser Funktion kann die Diagnosereaktion der Diagnosemeldung mit der Nummer i_diDiagCode geändert werden. Die Diagnosereaktion beinhaltet die Systemreaktion und die Gerätereaktion. Die Systemreaktion wird durch die Diagnoseklasse festgelegt, die durch eine bestimmte Diagnosemeldung ausgelöst wird. Die Gerätereaktion wird durch die Unterklasse (SubClass) festgelegt. In der Diagnoseklasse 3 sind durch die Unterteilung in Unterklassen unterschiedliche Gerätereaktionen möglich (z. B. kann bei Antriebsobjekten zwischen verschiedenen Gerätereaktionen innerhalb der Diagnoseklasse 3 unterschieden werden). Die Codierung der Diagnoseklassen und Unterklassen finden Sie im PacDrive-Diagnosemeldungen – Benutzerhandbuch, Kapitel zum Thema Gerätereaktionen.

Die Diagnosereaktion einer Diagnosemeldung kann:

oIm gesamten System (für alle Objekte) geändert werden

Die Eingangsvariable i_stLogAddr hat den Wert Gc_stLogAddrAllTypes.

oFür ein bestimmtes Objekt oder eine Gruppe von Objekten geändert werden.

Die Eingangsvariable i_stLogAddr enthält die logische Adresse eines Objekts oder einer Gruppe von Objekten. Dann wird die Konfiguration nur für ein bestimmtes Objekt oder eine Gruppe von Objekten geändert.

i_diDiagSubClass muss festgelegt werden, wenn i_diDiagClass = 3. Andernfalls wird die Eingangsvariable ignoriert.

Für Diagnosemeldungen von Antriebs-Firmwareversionen V1.34.x.x oder niedriger, die von Antriebs- oder Netzteilobjekten ausgelöst werden, gelten zusätzliche Einschränkungen bei der Konfiguration:

oEine Änderung der Diagnosereaktion ist nur dann möglich, wenn die Priorität der neuen Reaktion höher ist als die Priorität der Mindestreaktion für diese Diagnosemeldung. Die Prioritäten und die Mindestreaktionen sind unter Reaktionen und den Beschreibungen der jeweiligen Diagnosemeldungen zu finden.

oEine Diagnosemeldung der Diagnoseklasse 3 kann nicht in die Diagnoseklasse 2 umkonfiguriert werden.

oEine Diagnosemeldung der Diagnoseklasse 2 kann nicht in die Diagnoseklasse 3 umkonfiguriert werden.

oWenn eine Diagnosemeldung in die Diagnoseklasse 1 oder 0 konfiguriert wurde, kann sie anschließend nur wieder in ihre ursprüngliche Diagnoseklasse zurückkonfiguriert werden.

(Z. B. kann eine Diagnosemeldung zuerst von Diagnoseklasse 2 auf 1 geändert werden und anschließend wieder von 1 auf 2. Eine Änderung von 1 auf 3 ist nicht möglich.)

Schnittstelle

Eingang

Datentyp

Beschreibung

i_diDiagCode

DINT

Nummer der Diagnosemeldung, die geändert werden muss

i_diDiagClass

DINT

Neue Diagnoseklasse für die Diagnosemeldung

i_stLogAddr

ST_LogicalAddress

Logische Adresse des Geräts.

i_diDiagSubClass

DINT

Neue Diagnoseunterklasse für die Diagnosemeldung

Rückgabewert

Datentyp

Beschreibung

DINT

0: OK.

-1: Ungültige Diagnosenummer.

-2: Ungültige Diagnoseklasse.

-4: Ungültige Diagnoseklasse (Diagnosecodes des Antriebs mit Reaktion AB, BD1, BD2 und CD darf nur die Klasse 1, 2 oder 3 zugewiesen werden).

-7: Ungültige Unterklasse.

-461: In der aktuellen Phase wird das Schreiben von Parametern über den Servicekanal nicht unterstützt.

-462: Die angesprochene Achse unterstützt die Funktion nicht.

Beispiele

Deaktivieren der Diagnosemeldung "Unterspannung" für alle LXM-62-Achsen:

Die Diagnosemeldung 8109 DC-Bus-Unterspannung soll für alle LXM-62-Achsen deaktiviert werden. Die Standardreaktion dieser Meldung ist BD2. Gemäß der Tabelle Drive-Reaktionen entspricht dies der Diagnoseklasse 3 und der Unterklasse 4.

Die Diagnosemeldung soll deaktiviert werden. Dazu wird die niedrigstmögliche Reaktion für diese Diagnosemeldung ausgewählt. Als Minimalreaktion ist für diese Diagnosemeldung die Reaktion E angegeben. Reaktion E entspricht einer Meldung, die zwar in den Meldungslogger des Geräts eingetragen wird, aber ansonsten keine weitere Reaktion zur Folge hat.

Reaktion E entspricht den Drive-Reaktionen der Diagnoseklasse 1 und Unterklasse 1. Als logische Adresse wird LXM62DxS_TYPE angegeben, da die Achsen des Typs LXM62DxS neu konfiguriert werden müssen. Der Aufruf für FC_DiagConfigSet2 würde in diesem Fall folgendermaßen aussehen:

FC_DiagConfigSet2(
   i_diDiagCode := 8109,
   i_stLogAddr := LXM62DxS_TYPE,
   i_diDiagClass := 1,
   i_diDiagSubClass := 1
);

Die Diagnosemeldung "8135 DC-Bus-Spannung niedrig" kann auf die gleiche Art und Weise deaktiviert werden.

Austrudeln beim Auftreten einer bestimmten Diagnosemeldung

Eine bestimmte Achse soll Austrudeln, wenn die Diagnosemeldung 8111 Abschaltung wegen Schleppfehler ausgelöst wird. Die Standardreaktion der Diagnosemeldung 8111 ist BD2, also Selbststillsetzen nach Anwendervorgabe. Anhand der Tabelle der Antriebsreaktionen ist ersichtlich, dass dies der Diagnoseklasse 3 und der Unterklasse 4 entspricht. Die Mindestreaktion für diese Diagnosemeldung ist CD.

Die gewünschte Reaktion ist AD (Austrudeln). Die Priorität von AD ist höher als die Mindestre­aktion CD. Deshalb ist eine Umkonfiguration möglich. AD entspricht der Diagnoseklasse 3 und Unterklasse 6. Um die Achse DRV_Lexium62 neu zu konfigurieren, ist folgender Aufruf notwendig:

FC_DiagConfigSet2(
   i_diDiagCode := 8111,
   i_stLogAddr := DRV_Lexium62.stLogicalAddress,
   i_diDiagClass := 3,
   i_diDiagSubClass := 6
);