auto_SetFilter

Die Funktion auto_SetFilter setzt einen Filter für eine NC-Datei. Der Filter legt fest, welche Rekords geladen werden sollen.

bool = auto_SetFilter(ssFilter)
bool = auto_SetFilter(ssFilter, ssNCName)
bool = auto_SetFilter(ssFilter, ncid)

Returnwert

bool

Parameter

ssFilter

ssFilter ist eine Zeichenkette, die den Filter definiert. Der Filter kann aus bis zu sieben UND (&&) oder ODER (||) verknüpften Vergleichen bestehen. Jeder Vergleich besteht aus einem in $-Zeichen eingeschlossenen Kanalnamen, gefolgt vom Vergleichsoperator, gefolgt von einem Zahlenwert. Alle Operatoren müssen in Leerzeichen eingeschlossen werden. Ab UniPlot 5.14.5 dürfen die Kanalnamen die folgenden Sonderzeichen enthalten: ., -, +, $, #, ~, !, ^, &, %. Die Sonderzeichen im Kanalnamen müssen durch Unterstriche ersetzt werden.

Folgende Vergleichsoperatoren können verwendet werden:

Operator

Bedeutung

Kanal < Wert

Kanal kleiner Wert

Kanal <= Wert

Kanal kleiner oder gleich Wert

Kanal == Wert

Kanal gleich Wert. Beim == Operator kann noch eine Tolerance in Prozent oder als Absolutwert eingegeben werden. Siehe Beispiel.

Kanal != Wert

Kanal ungleich Wert

Kanal > Wert

Kanal größer Wert

Kanal >= Wert

Kanal größer oder gleich Wert

Filter können für numerische Kanäle und Textkanäle verwendet werden. Für Textkanäle können die Wildcard-Zeichnen * und ? verwendet werden. Das Sternchen (*) ist ein Platzhalter für beliebig vielen Zeichen. Das Fragezeichen (?) steht für genau für ein Zeichen. Beispiel:

auto_SetFilter("$Mode$ == On*")

Zwischen den einzelnen Elementen des Filterstrings müssen Leerzeichen eingefügt werden. Falls der Suchtext Leerzeichen enthält, muss er in Anführungszeichen eingeschlossen sein. Vor dem Anführungszeichen muss ein Backslash eingegeben werden:

auto_SetFilter("$Mode$ == \"a b\"")

Mit einem leeren Filterstring kann der Rekordfilter abgeschaltet werden, Dazu muss der Name der NC-Datei angegeben werden:

auto_SetFilter("", "d:/test.nc2")
ssNCName

ssNCName ist der vollständige Dateiname mit Laufwerk und Pfad einer NC-Datei. Wenn vorher die Funktion auto_ImportData aufgerufen wurde, muss der Parameter nicht angegeben werden.

ncid

ncid ist die Zugriffsnummer, die von einem erfolgreichen Aufruf der Funktionen nc_create oder nc_open geliefert wurde.

Beispiel

svFile = GetRootDirectory() + "samples/vollast.asc";
svFile[1] = auto_ImportData(svFile[1]);
auto_SetFilter("$N$ > 1000 && $N$ < 5000 && $MEFF$ >= 100");

auto_ImportData(svFile[1]);
auto_SetFilter("$N$ == 1000(0.5%)");  // Tolerance +- 0.5 % of 1000

auto_ImportData(svFile[1]);
auto_SetFilter("$N$ == 1000(5)"); // Tolerance +-5 rpm

History

Version

Beschreibung

R2013.10

Parameter ncid zugefügt. Fehler mit String-Kanälen korrigiert.

R2013.3

Filter mit String-Kanäle können definiert werden.

id-1372812