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