Filter

<< Click to Display Table of Contents >>

Navigation:  Komponenten > Kommunikation > Multi-IO-IP >

Filter

Datenfilter Editor

 

Der Datenfilter Editor dient dazu, aus den empfangenen Rohdaten vom Netzwerk bestimmte Werte zu extrahieren und über den entsprechenden dynamischen Datenpunkt auf ein EisBär-Netz zu senden. Nachdem die Daten empfangen wurden und in der Eingangsliste ein Datenfilter für einen Eintrag ausgewählt wurde, werden diese Daten von einem der ausgewählten Filter bearbeitet.

 

Name

Name des Filters, dieser wird in der Eintragliste in der Spalte Datenfilter zur Auswahl angezeigt.

 

Filtertyp

oXML

oSEARCH_PATTERN

 

Filterausdruck

Hier wird der Filterausdruck definiert, abhängig vom gewählten Filtertyp. Bei UDP-Empfang muss ein Search_Pattern-Filter angelegt werden.

 

Datentyp

Der Wert des Feldes Datentyp ist eine Liste von Datentypen (siehe Unterstützte Datentypen), die zur Konvertierung auf einen extrahierten Wert angewendet werden, wenn keine Bedingung angegeben ist (siehe Bedingungen). War die Konvertierung erfolgreich, wird der Wert an den Ausgang weitergeleitet, für den diese Filterregel im Eingangsdialog ausgewählt wurde. Kann der Wert nicht konvertiert werden (z. B. der Versuch einen ASCII-Text in einen numerischen DataPointValue zu konvertieren), so wird eine Fehlertext am Fehler-Ausgang der Komponente ausgegeben.

 
Hinweis: Dieser Mechanismus wird nur dann verwendet, wenn keine Bedingung im Feld Bedingung eingetragen ist (siehe Bedingung).

 

Bedingungen

Es besteht die Möglichkeit einen durch einen Filter extrahierten Wert mit einer Bedingung zu vergleichen, erst wenn die Bedingung wahr ist, wird der Wert, der im Feld "Text Ersetzung" eingetragen ist, über den bidirektionalen Eingang als „Zeichenkette“ auf das entsprechende EisBär-Netz gesendet. Der durch den Filter extrahierte Wert wird also ersetzt.

 

Entscheidend ist, dass es sich bei den zu vergleichenden Werten um numerische Werte handeln muss. Es gilt also sicherzustellen, dass der durch den Filter extrahierte Wert auch wirklich ein Ganzzahl (Integer) bzw. ein Gleitpunktzahl (Double) ist. Ist dies nicht der Fall, so kann die Bedingung nicht angewendet werden und der empfangene Wert wird verworfen. Es können folgenden Bedingungen angewandt werden:

 

•Operatoren: <=, >=, !=,  ==, <, > ,

•Intervall: a:b(Wertebereich)

 

Syntax Operator:

<EXTRAHIERTER_WERT> <OPERATOR> <VERGLEICHSWERT>

 

Syntax Intervall:

<LINKE_INTERVALL_GRENZE>:<WERT>:< RECHTE_INTERVALL_GRENZE >

 

Integer werden als normale ganze Zahlen geschrieben, bei einem Double-Wert trennt ein Punkt den Vor- vom Nachkommaanteil.

 

Beispiel 1:

Es soll nur dann der Text im Feld Text Ersetzung an das EisBär-Netz gesendet werden, wenn der empfangene Double-Wert, kleiner gleich 4.52 ist.

 

Bedingung: <= 4.52

 

Es können also anstelle des <= Zeichens alle oben erwähnten Operatoren eingesetzt werden.

Wenn Bedingung zutrifft, wird TEXT1 an das EisBär-Netz gesendet.

 

Beispiel 2:

Es soll nur dann der Text im Feld Text Ersetzung an das EisBär-Netz gesendet werden, wenn der empfangene Integer-Wert, größer 1000 ist.

 

Bedingung: > 1000

Wenn Bedingung zutrifft, wird TEXT2 an das EisBär-Netz gesendet.

 

Beispiel 3  (Wertebereich):

Es soll nur dann der Text im Feld Text Ersetzung an das EisBär-Netz gesendet werden, wenn der empfangene Double-Wert im Bereich von 4.1 und 4.9 liegt.

 

Bedingung: 4.1:4.9

Würde der Wert 4.34 beispielsweise empfangen, wird TEXT3 an das EisBär-Netz gesendet.

 

Text Ersetzung

Das Feld "Text Ersetzung" enthält diejenigen "Zeichenkette", die gesendet wird, wenn eine Bedingung zutrifft. (Siehe "Bedingungen")