FB_ReadTc3Events
|  | Verfügbar ab TwinCAT 3.1 Build 4026 | 
     
  
Der Funktionsbaustein ermöglicht es, die Ereignisse des TwinCAT 3 EventLoggers im Visualisierungselement Event-Tabelle anzeigen zu lassen. FB_ReadTc3Events ist in der Bibliothek VisuElemEventTable enthalten, die mit der Aktivierung der Event-Tabelle automatisch zum Projekt hinzugefügt wird (siehe Konfiguration der Event-Tabelle). Um FB_ReadTc3Events nutzen zu können, müssen Sie ein TargetVisualization- oder WebVisualization-Objekt zum Projekt hinzufügen.
Der Funktionsbaustein FB_ReadTc3Events erfragt die auftretenden Ereignisse des TwinCAT 3 Eventloggers und stellt sie in Form des Arrays aEvents zur Verfügung. Intern wird dafür eine Implementierung des FB_ListenerBase2 genutzt. Damit die Meldungen in der Event-Tabelle angezeigt werden, muss das Array aEvents in dessen Eigenschaft Meldungsdatenarray eingetragen werden.
 Eingänge
 Eingänge
VAR_INPUT
    bReadEvents         : BOOL;
    nLanguageID         : DINT; 
    eDateAndTimeFormat  : E_DateAndTimeFormat;
    bClearTable         : BOOL;
    eMinSeverity        : TcEventSeverity; 
END_VAR| Name | Typ | Beschreibung | 
|---|---|---|
| bReadEvents | BOOL | Mit diesem Eingang wird die Freigabe zum Auslesen der Ereignisse gegeben. | 
| nLanguageID | DINT | Definiert, welche Übersetzung des Ereignistextes abgefragt werden soll. | 
| eDateAndTimeFormat | E_DateAndTimeFormat | Definiert, welches Format die Zeitstempel haben sollen. Zur Auswahl stehen: 
 | 
| bClearTable | BOOL | Über eine positive Flanke an diesem Eingang wird die Event-Tabelle geleert. Nicht bestätigte oder nicht zurückgesetzte Alarme werden nicht aus der Tabelle entfernt. | 
| eMinSeverity | TcEventSeverity | Nur Ereignisse, deren Severity mindestens so hoch ist wie die hier angegebene Severity, werden in der Event-Tabelle angezeigt. | 
 Ausgänge
 Ausgänge
VAR_OUTPUT
    aEvents            : ARRAY [1..80] OF ST_ReadEventW;
    nNumberOfEvents    : UDINT;
    bError             : BOOL;
    hrErrorCode        : HRESULT;
END_VAR| Name | Typ | Beschreibung | 
|---|---|---|
| aEvents | ARRAY [1..80] OF ST_ReadEventW | Über dieses Array stellt der Funktionsbaustein die ausgewerteten Ereignisse zur Verfügung. In dem Array können maximal 80 Meldungen gespeichert werden. Bei einer größeren Zahl von Ereignissen werden alte Meldungen überschrieben. | 
| nNumberOfEvents | UDINT | Gibt an, wie viele Ereignisse ausgelöst wurden. | 
| bError | BOOL | Dieser Ausgang wird gesetzt, wenn bei der Abfrage oder Verarbeitung der Ereignisse ein Fehler auftritt. | 
| hrErrorCode | HRESULT | Gibt den Fehlercode des aufgetretenen Fehlers an. | 
 Methoden
 Methoden
SetFilter
Dieser Methode kann ein zuvor konfigurierter Filter vom Typ FB_TcEventFilter (Link) übergeben werden, um festzulegen, welche Ereignisse ausgewertet und in der Event-Tabelle angezeigt werden sollen. Die Filterung gilt dabei ab dem Zeitpunkt, zudem die „SetFilter“ Methode aufgerufen wird, und hat keinen Einfluss auf bereits aufgetretene Ereignisse. Die Filterung kann aufgehoben werden, indem die Methode „SetFilter“ mit „NULL“ als Eingangsparameter aufgerufen wird. Auch in diesem Fall gilt das Aufheben der Filterung für neu auftretende Ereignisse.
Wird die Methode nicht aufgerufen, zeigt die Event-Tabelle alle Ereignisse an.
VAR_INPUT
    ipEventFilter    : I_TcEventFilter;
END_VAR| Name | Typ | Beschreibung | 
|---|---|---|
| ipEventFilter | I_TcEventFilter | Filterkonfiguration, über die festgelegt wird, welche Ereignisse des TwinCAT 3 EventLoggers der Funktionsbaustein FB_ReadTc3Events verarbeiten soll. | 
|  | Sie können zwischen verschiedenen Filteransichten umschalten, indem Sie mehrere Instanzen von FB_ReadTc3Events anlegen und die Event-Tabelle mit einer Referenz auf aEvents verknüpfen, die jeweils der gewünschten Instanz zugewiesen wird. | 
Beispiel:
PROGRAM MAIN
VAR
    // FB_ReadTc3Events
    fbReadTc3Events     : FB_ReadTc3Events;
    bReadEvents         : BOOL := TRUE;
    nLanguage           : DINT := 1031;
    eDateAndTimeFormat  : Tc2_Utilities.E_DateAndTimeFormat := Tc2_Utilities.E_DateAndTimeFormat.de_DE;
    bClear              : BOOL;
    eSeverityMin        : TcEventSeverity;
    bError              : BOOL;
    hr                  : HRESULT;
    hrOccuredErrorCode  : HRESULT;
    // EventFilter
    bFilterInit         : BOOL;
    fbEventFilter       : FB_TcEventFilter;
END_VAR// Configure EventFilter (filter possibility one, not necessary for use of FB_ReadTc3Events)
IF NOT bFilterInit THEN
    bFilterInit := TRUE; 
    fbEventFilter.Clear();
    fbEventFilter.EventClass.EqualTo(TC_EVENTS.EventClass1.Message1.uuidEventClass).OR_OP().EventClass.EqualTo(TC_EVENTS.EventClass2.Alarm2.uuidEventClass).AND_OP().Severity.GreaterThan(0); 
    hr := fbReadTc3Events.SetFilter(ipEventFilter := fbEventFilter); 
    IF FAILED(hr) THEN
        hrOccuredErrorCode := hr; 
    END_IF
END_IF
// Call fbReadTc3Events
fbReadTc3Events (
    bReadEvents         := bReadEvents, 
    nLanguageID         := nLanguage, 
    eDateAndTimeFormat  := eDateAndTimeFormat, 
    bClearTable         := bClear, 
    eMinSeverity        := eSeverityMin,          // Set event filter for severity via input (filter possibility two)
    nNumberOfEvents     => nEvents1, 
    bError              => bError1,
    hrErrorCode         => );
IF fbReadTc3Events.bError THEN
    hrOccuredErrorCode  := fbReadTc3Events.hrErrorCode; 
END_IFVoraussetzungen
| Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken | 
|---|---|---|
| TwinCAT v3.1.4026 | PC or CX (x86, x64, Arm®) | VisuElemEventTable |