Die POU kann über den Eingang i_xEnable aktiviert werden. Der Ausgang q_xActive zeigt an, dass die Logger-POU aktiv ist. Der Ausgang q_xReady zeigt an, ob die POU betriebsbereit ist. An den Ausgängen q_etDiag, q_etDiagExt und q_sMsg kann der Zustand der POU abgelesen werden.
Im Betrieb werden Änderungen an den Eingängen i_diCmd, i_diStartStep und i_stReaction erkannt und in die Struktur iq_stLogDataList gespeichert.
Jedem Eintrag in die Struktur werden Uhrzeit, Datum der PacDrive-Steuerung, Modulname und Modul-ID hinzugefügt.
Die Logdatenliste ist ein Ringspeicher, in dem der älteste Eintrag überschrieben wird. Über den in der Liste enthaltenen udiLogDataIndex wird die Stelle angegeben, an der der nächste Eintrag erfolgen soll. Sollte kein Zugriff auf die iq_stLogDataList möglich sein, wird das Ereignis zunächst in einen lokalen Speicher geschrieben. Sollten mehr als fünf Einträge nicht in die globale Logdatenliste überführt werden können, gibt es eine Ausnahmemeldung, die in die globale Ausnahmeliste eingetragen wird.
Über die Variable i_wLogDataFilter kann nach folgenden Kriterien die Menge der Änderungen begrenzt werden. Die Filtermöglichkeiten sind im Aufzählungstyp ET_LogDataFilter zusammengefasst.
Der Eingang i_wLogDataFilter bzw. das Wort wird in der POU bitweise ausgewertet.
Sollen alle Änderungen aufgezeichnet werden, müssen alle Elemente aus ET_LogDataFilter OR-verknüpft und das Ergebnis dem Eingang i_wLogDataFilter zugewiesen werden. Alternativ kann auch i_wLogDataFilter mit 16#FF initialisiert werden.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_xEnable |
BOOL |
Eine steigende Flanke FALSE -> TRUE aktiviert die POU, eine fallende Flanke TRUE -> FALSE deaktiviert sie. Wenn die POU abgeschaltet ist, führt sie keine Aktionen aus. |
i_wLogDataFilter |
WORD |
Definiert, welche Ereignisse als Eintrag in der globale Logdatenliste erscheinen. Kann mit Werten der Aufzählung ET_LogDataFilter belegt werden. |
i_sModuleName |
STRING[80] |
Name des Moduls, dessen Ereignisse geloggt werden. |
i_udiModuleId |
UDINT |
ID des Moduls, dessen Ereignisse geloggt werden. |
i_diCmd |
DINT |
Befehl, der an das Modul gesendet wurde. |
i_diStartStep |
DINT |
Startschritt in der Befehlstabelle, der an das Modul gesendet wurde. |
i_stReaction |
Rektionen, die an das Modul gesendet wurden. |
Ausgang |
Datentyp |
Beschreibung |
---|---|---|
q_xActive |
BOOL |
TRUE: Die POU ist eingeschaltet und muss weiter ausgeführt werden. FALSE: Die POU ist abgeschaltet. |
q_xReady |
BOOL |
TRUE: Die POU ist betriebsbereit und nimmt Benutzerbefehle entgegen. FALSE: Die POU ist nicht bereit, Anwenderbefehle entgegenzunehmen. |
q_etDiag |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. Ein Wert ungleich GD.ET_Diag.Ok entspricht einer Fehlermeldung. |
|
q_etDiagExt |
POU-spezifischer Ausgang des Diagnosegeräts. q_etDiag = GD.ET_Diag.Ok -> Statusmeldung q_etDiag <> GD.ET_Diag.Ok -> Fehlermeldung |
Ein-/Ausgang |
Datentyp |
Beschreibung |
---|---|---|
iq_stExceptionList |
Globale Ausnahmeliste |
|
iq_stLogDataList |
Globale Logdatenliste |
q_etDiag |
q_etDiagExt |
Aufzählungswert |
Beschreibung |
---|---|---|---|
OK |
Disabled |
22 |
Diagnosemeldung ist deaktiviert. |
OK |
Initializing |
37 |
Initialisierung |
OK |
WaitForEvent |
23 |
Warten auf ein Ereignis. |
UnexpectedProgramBehavior |
InitLogDataListFailed |
48 |
Die Initialisierung der Logdatenliste schlug fehl. |
Aufzählungsname: |
Disabled |
Aufzählungswert: |
22 |
Beschreibung: |
Diagnosemeldung ist deaktiviert. |
Der Funktionsbaustein ist deaktiviert, er führt keinerlei Aktionen aus. i_xEnable und q_xActive haben den Wert FALSE.
Aufzählungsname: |
Initializing |
Aufzählungswert: |
37 |
Beschreibung: |
Initialisierung |
Der Funktionsbaustein wird initialisiert und ist noch nicht bereit, an den Eingängen Anweisungen entgegenzunehmen. Der Funktionsbaustein meldet seine Betriebsbereitschaft mit dem Signal q_xReady = TRUE.
Aufzählungsname: |
InitLogDataListFailed |
Aufzählungswert: |
48 |
Beschreibung: |
Die Initialisierung der Logdatenliste schlug fehl. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Die Initialisierung der Ausnahmeliste schlug fehl. - Ein interner Ausführungsfehler wurde erkannt. |
Versuchen Sie eine Initialisierung der Ausnahmeliste mit Hilfe der Funktion FC_InitLogDataList. Bitte informieren Sie Ihren Ansprechpartner bei Schneider Electric über diesen Fehler. |