TB_StateMonitor_IAX

Allgemeine Informationen

Dieser Baustein kann eingesetzt werden, um die States einer Statemachine (CASE) in einer POE zu monitoren und zu loggen

Darstellung in FBD

Allgemeine Beschreibung

Dieser Baustein kann zur detailierten Diagnose einer Statemachine genutzt werden. Dabei wird jeder State in einem Statustrace in Form seines Wertes, seiner Bezeichnung mitgeloggt. Auch die jeweilige Zeit in dem State wird in Millisekunden erfasst. Zusätzlich kann über den Eingang "x_EnableUsrLog" ein Userlogging auf dem PCC aktiviert werden, wobei die erfassten Werte dann auch in dem Kommandozeilen-Fenster des PCCs erscheinen. Außerdem kann man die Ausgagen auch unter D:\bm\log\PLC.log einsehen.
Dieser FB wird einfach an das Ende einer Statemachine gehängt und dort instanziert. Er arbeitet sobald er aufgerufen wird.

Damit das Userlogging auf dem PCC auch aktiv ist, muss das in einer Konfigurationsdatei freigeschaltet werden.
Diese Konfigurationsdatei liegt unter "D:\bm\boot" und heißt "PCC_PLC_001.INI". Dort muss dann der Eintrag "x_EnableUsrLog" auf 1 gesetzt werden


Resourcenbindung: IAX_40/BMI_S_PCC03
Empfohlene Task: CYCLIC/EVENT
Verwendete Bibliotheken: BM_ReportUSR_40bd00
TECH_TYPES_40bd10
TECH_FB_STRUCTS_40bd01t1

Ein-/Ausgänge

Bezeichnung: Datentyp: Beschreibung:
_StatusTrace STATE_TRACE_DATA_ARRAY (in TECH_TYPES) In dieses Array hat ein Größe von 128 Feldern und hier werden folgende Loggingeinträge der einzelnen States erfasst:
» i_State: Der State in dem geloggt wurde
» s_State: Der Name des States als STIRNG
» ud_TimeInState: Die in diesem State verbrachten Millisekunden

Eingänge

Bezeichnung: Datentyp: Beschreibung:
ud_TimeInState UDINT Dieser Eingang erhält den Timeout-Zeitwert in ms, welcher ein State in diesem verweilen kann, bis der Ausgang x_Timeout gesetzt wird. Ist der Wert gleich 0 wird keine Timeout-Überwachung vorgenommen.
i_State INT Hier wird der State der Statemachine verknüpft.
s_State STRING Hier kann der Statename angegeben werden.
s_POU_Name STRING Dieser Eingang ist relevant für das Userlogging. Damit man in den Loggingeinträgen bei der Verwendung mehrerer FB-Instanzen unterscheiden kann, woher der Loggingeintrag stammt, kann dieser einer POU zugeordnet werden.
x_EnableUsrLog BOOL Hiermit wird das oben beschriebene Userlogging auf dem PCC aktiviert. (siehe Allgemeine Beschreibung)

Ausgänge

Bezeichnung: Datentyp: Beschreibung:
x_Timeout BOOL Wird gesetzt, sobald der State die mit dem Eingang "ud_TimeInState" parametrierbare Grenze in Millisekunden überschritten hat
ud_TimeInState UDINT Zeigt die aktuell in dem State verbrachte Zeit in ms an
i_CurrentIndex INT Hier wird der aktuell verwendete Index des _StatusTrace-Arrays angegeben.