FB_TcEventFilter

FB_TcEventFilter 1:

Stellt die Funktionalität zur Verfügung, um einen Ereignisfilter zu spezifizieren.

Die Filter werden über eine fließende Schnittstelle in Anlehnung an eine strukturierte Abfragesprache gegeben. Diese beschreibt, welche Nachrichten zutreffen sollen.

Nachdem ein Filter zusammengestellt wurde, wird er angewendet. Für das Empfangen von Nachrichten wird er beispielsweise über FB_ListenerBase2.subscribe() einem Empfänger zugeordnet. Der FB_ListenerBase2 übernimmt hierdurch den Filter und gibt einen entsprechenden Rückgabewert, welcher hier beschrieben ist. Eine Änderung des Filters durch erneuten FB_ListenerBase2.subscribe() vornehmen.

Beispiel

Beispielsweise kann ein Filter auf diese Art zusammengestellt werden:

fbFilter.Severity.GreaterThan (TcEVentSeverity.Error).AND_OP().Source.Name.Like('%Main%');

Das Beispiel Filter zeigt die Verwendung.

EtherCAT Filter

Der Empfang der EtherCAT Emergency Nachrichten ist ähnlich zu dem zuvor beschriebenen Mechanismus aufgebaut. Der Einstiegspunkt in den verketteten Methodenaufrufen ist .EtherCATDevice(), welches als erstes die direkte Anfrage bietet, ob es von einem EtherCAT Gerät abgesendet wurde (IsEtherCATDevice()). Von hier aus kann auf den Hersteller (.VendorId()), den ProductCode (.ProductCode()) sowie die Revision (.RevisionNo()) gefiltert werden.

Syntax

Definition:

FUNCTION_BLOCK FB_TcEventFilter IMPLEMENTS I_TcEventFilter, I_TcExpressionBase

FB_TcEventFilter 2: Methoden

Name

Definitionsort

Beschreibung

Clear

I_TcEventFilter

Löscht den bisherige Filterausdruck.

FilterExpression

I_TcExpressionBase

Angabe einer unterlagerten Filterdefinition.

IsAlarm

I_TcExpressionBase

Überprüfung, ob es sich um einen Alarm handelt.

IsMessage

I_TcExpressionBase

Überprüfung, ob es sich um eine Nachricht handelt.

NOT_OP

I_TcExpressionBase

Negierung der folgenden Aussage.

FB_TcEventFilter 3: Eigenschaften

Name

Typ

Zugriff

Beschreibung

AlarmState

I_TcAlarmFilterExpression

Get

Abgleich mit einem AlarmState

EtherCATDevice

I_TcEtherCATDeviceExpression

Get

Abgleich, ob es sich um ein EtherCAT Gerät als Quelle handelt.

EventClass

I_TcGuidCompare

Get

Abgleich mit einer EventClass

EventId

I_TcUDIntCompare

Get

Abgleich mit einer EventId

JsonAttribute

I_TcJsonAttributeExpression

Get

Abgleich mit dem JsonAttribut

Severity

I_TcSeverityCompare

Get

Abgleich mit der Serverity

Source

I_TcSourceInfoExpression

Get

Abgleich mit der Quelle

TimeCleared

I_TcULIntCompare

Get

Abgleich des Clear-Zeitpunkts (nur bei Alarm)

TimeConfirmed

I_TcULIntCompare

Get

Abgleich des Confirm-Zeitpunkts (nur bei Alarm mit Quittierung)

TimeRaised

I_TcULIntCompare

Get

Abgleich des Absenders (bei Nachrichten) bzw. des Raised -Zeitpunktes (bei Alarmen)

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4024.17

PC oder CX (x64, x86, ARM)

Tc3_EventLogger (>= v3.1.27.0)