Diagnosekonzept

Überblick

EcoStruxure Machine ExpertIn steht Ihnen ein dreischichtiges Diagnosekonzept für Bibliotheken zur Verfügung. Das Konzept gilt für die Technologie/Modul-Bibliotheken (z. B. die Bibliothek PD_PacDrive.lib) und kodiert die Diagnosen in Aufzählungswerten.

Die Diagnoseinformationen sind dabei in drei Schichten angeordnet:

1.Allgemeine Informationen zur Ausnahme. Es sind keine spezifischen Kenntnisse über die Funktionalität der POU erforderlich.

2.POU-spezifische Diagnose- und Statusmeldungen (Teil 1): Detailinformationen zur für das Auslösen der Diagnose- oder Statusmeldungen verantwortlichen Quelle.

3.POU-spezifische Diagnose- und Statusmeldungen (Teil 2): Dynamische Detailinformationen zur für das Auslösen der Diagnose- oder Statusmeldungen verantwortlichen Quelle.

Diese Informationen können sich zur Laufzeit ändern (beispielsweise Informationen über die Bedingung der Eingangsparameter). Der Diagnoseausgang ist bei den POUs optional.

Der Diagnosekonzept bietet die folgenden Vorteile:

oDie Diagnosemeldungen werden in Echtzeit angezeigt

oDetaillierte Genauigkeit der Diagnoseereignisse durch die Verfügbarkeit der Diagnosecodes

oÜberblick über den Status oder eine Ausnahmebedingung einer POU

oEntsprechende Lösungen zur Korrektur der Ursachen von Ausnahmebedingungen

oAufzählungs-Diagnosemeldungen, um die Unterstützung mehrerer Sprachen für HMI-Anzeigen zu vereinfachen

Struktur der POU-unabhängigen Informationen

Der Diagnoseausgang q_etDiag vom Typ GD.ET_Diag liefert eine bibliotheksunabhängige Diagnoseinformation, z.B. InputParameterInvalid. Die Information kann auf eine Lösung für die Ursache der Diagnose hinweisen.

Je nach Wert von GD.ET_Diag handelt es sich um eine Statusbeschreibung oder eine Ausnahme­meldung. Ein Wert ungleich GD.ET_Diag.Ok entspricht einer Ausnahmemeldung.

Die Aufzählung GD.ET_Diag und deren Elemente sind in der Bibliothek PD_GlobalDiagnostics enthalten. Diese enthält außerdem eine Konvertierungsfunktion für die Aufzählung GD.ET_Diag.

Der Standard-Namensraum der Bibliothek PD_GlobalDiagnostics lautet: GD. Die POUs, Datenstrukturen, Aufzählungen und Konstanten müssen unter Verwendung dieses Namensraums adressiert werden.

Struktur der POU-abhängigen Informationen

Die Diagnoseinformationen in den POUs sind so konzipiert, dass sie sowohl eine Ausnahmebe­dingung als auch eine interne Bedingung (Status) während des normalen Betriebs der POU (beispielsweise WaitForStart) ausdrücken können. Die Information (Ausnahmezustand oder Status) wird über denselben Ausgang (q_etDiagExt) gemeldet. Der Ausgang q_etDiag zeigt an, ob ein Status oder eine Ausnahme gemeldet wird.

Funktionsbausteine

Funktionsbausteine verfügen über die drei Ausgänge q_etDiag, q_etDiagExt und optional q_sMsg. Die Ausgänge werden gruppiert dargestellt; d.h. nacheinander folgend in dem Baustein definiert.

Verwendung eines schematischen Aufbaus des Bausteins (POU), nachstehend ein Beispiel eines Funktionsbausteins:

G-SE-0061263.1.gif-high.gif

 

 

Ausgang

Datentyp

Bedeutung

q_etDiag

GD.ET_Diag

Allgemeine Aussage zur Diagnose, z.B. InputParameterInvalid.

HINWEIS: Falls möglich, enthält GD.ET_Diag allgemein formulierte Diagnosecodes (zum Beispiel: DriveConditionInvalid und InputParameterInvalid). Jedes Aufzählungselement wird nicht nur durch einen Namen, sondern auch durch einen Wert dargestellt. Dieser Wert kann dann durch das HMI verwendet werden, so dass die Übersetzungsbemühung für eine neutrale Sprachen-Lösung des Aufzählungsnamens aufrechterhaltbar bleibt.

oGD.ET_Diag.Ok : Die Statusmeldung q_etDiagExt gibt Aufschluss über den Status des Bausteins.

o<> GD.ET_Diag.Ok: Die Diagnosemeldung, q_etDiagExt gibt Aufschluss über die Art der Ausnahme.

q_etDiagExt

ET_DiagExt

Die in einem Wert der innerhalb des Bausteins ausgeführten Funktion oder des innerhalb des Bausteins ausgeführten Services kodierten erweiterten Diagnoseinformationen. So kann zum Beispiel AccRange (die Beschleunigung ist außerhalb des Bereichs)/ WaitForStart jeweils als Diagnose oder Status ausgegeben werden.

q_etDiagExt liefert den numerischen Wert, der als Index für eine ausführlichere Anzeige der Ursache der ausgegebenen Anzeige dient und weiter auch als ein Index für einen mehrsprachigen Satz an Anzeigemeldungen verwendet werden kann.

q_sMsg

STRING[80]

Ereignisabhängige, optionale Meldung die den Diagnosezustand noch näher konkretisiert (z.B. 0 < i_lrAcc < MaxAcc).

q_sMsg liefert einen dynamischen String, welcher unterschiedliche Informationen über die Diagnose in englischer Sprache enthält.

q_sMsg wird zur Laufzeit geändert. Zum Beispiel durch die Ausnahme VelRange: ActualValue: 5003, MaxValue: 5000.

Im Normalbetrieb der Bausteine (q_etDiag=GD.ET_Diag.Ok) kann q_sMsg Informationen über den Status (z. B. verbleibende Siegelzeit) bereitstellen.

Beispiel Diagnoseinformationen:

G-SE-0061264.1.gif-high.gif

 

 

Funktionen

Die Funktionen verfügen ebenfalls über die Ausgänge q_etDiag, q_etDiagExt und optional q_sMsg.

Das Ergebnis der Funktion wird durch den direkten Rückgabewert im Fall eines Ergebnisses geliefert. Besitzt eine Funktion mehr als ein Ergebnis, so ist der direkte Rückgabewert eine Struktur, die die Ergebnisse enthält.

Alternativ können die Ergebnisse der Funktion auch über mehrere Ausgänge zurückgegeben werden; der direkte Rückgabewert der Funktion ist in diesem Fall ein BOOL-Wert mit einem beliebigem Wert, der nicht interpretiert werden kann.

Lesen Sie den Wert q_etDiag, um sicherzustellen, dass die Funktion erfolgreich aufgerufen wurde. Der direkte Rückgabewert der Funktion enthält nicht diese Information.

Eine Ausnahme liegt vor, wenn der Rückgabewert <> GD.ET_Diag.Ok ist. Die Funktionen werden in der aufgerufenen Task komplett abgearbeitet, dann kann ihr Status ausgewertet werden und sie melden über q_etDiag und q_etDiagExt, ob ihre Abarbeitung erfolgreich war.