.. highlightlang:: us .. index:: Dialogfeld=>Datenfilter .. _dialogfelddatenfilter: .. _dialog-box-data-filter: Dialogfeld=>Datenfilter ----------------------- Um nur einen Ausschnitt aus den Messdaten zu importieren, kann ein Rekordfilter definiert werden. Beispielsweise kann ein Filter definiert werden, dass nur Daten importiert werden, für die ein bestimmter Kanal größer als ein Schwellwert ist (z. B. Moment > 10 Nm). .. image:: S:/uniplot-obj/images/DataImportFilter_N-de.* .. us.dialog .. us.dlgitem **Kanal** Listet die in der Datei vorhandenen Kanäle auf. Filter können für numerische Kanäle und Textkanälen definiert werden. Ab UniPlot 5.14.5 dürfen die Kanalnamen die folgenden Sonderzeichen enthalten: ``.``, ``-``, ``+``, ``$``, ``#``, ``~``, ``!``, ``^``, ``&``, ``%``. Die Sonderzeichen im Kanalnamen werden durch einen Unterstrich ersetzt. .. us.dlgitem **Vergleichsoperatoren** .. list-table:: :header-rows: 1 * - Wert - Bedeutung * - == - gleich (Bitte beachten Sie, dass bei Dezimalzahlen Rundungsfehler auftreten können. ``6.12 != 6.120001``). * - > - größer * - < - kleiner * - <= - kleiner gleich * - >= - größer gleich * - != - ungleich Beim == Operator kann eine Toleranz in % oder ein absoluter Wert eingegeben werden. Falls für die Toleranz eine 0 oder ein leeres Feld eingegeben wird, wird keine Toleranz berücksichtigt. .. us.dlgitem **Wert** Hier wird ein Wert eingegeben. Bei Dezimalzahlen muss ein Punkt als Dezimaltrennzeichen verwendet werden. Wenn die Combobox geöffnet wird, wird eine aufsteigend sortierte Liste mit maximal 100 Elementen des ausgewählten Kanals angezeigt. 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 ein Zeichen. Beispiel: ``Mode == "On*"`` oder ``Mode != "Off*"``. Bei Textkanälen muss die Groß-/Kleinschreibung beachtet werden. Die Texte dürfen keine Hochkomma ``"`` enthalten. Hochkomma werden aus dem Suchtext entfernt. Nur bei einem leeren Text werden doppelte Hochkomma eingegeben: ``""``. Bis zu sieben Filter können mit den folgenden logischen Operatoren verknüpft werden: .. list-table:: :header-rows: 1 * - Wert - Bedeutung * - UND - logisch UND * - ODER - logisch ODER Die UND-Verknüpfung hat eine höhere Priorität als die ODER-Verknüpfung. Klammern können nicht verwendet werden. .. us.dlgitem **Sortieren** Über den Sortieren-Schalter kann ein Dialogfeld geöffnet werden, in dem die Filter sortiert oder gelöscht werden können. Die Filter können exportiert und importiert werden. Die maximal Anzahl an Filtern beträgt 100. .. image:: S:/uniplot-obj/images/DataImportFilter_sort-de.* .. us.dialog .. us.comment **Kommentar** Bis UniPlot R2013.6 konnte für NC-Dateien mit mehreren Zeitgruppen (Dimensionen) kein Rekordfilter definiert werden. Damit trotzdem ein Filter definiert werden konnte, musste zuerst eine Kanalinterpolation durchgeführt werden, um alle Kanäle auf eine Zeitauflösung umzurechnen. Nun können auch für MDF, BLF, oder Puma-Rekorderdaten Rekordfilter erzeugt werden. Für den Filter können Kanäle aus unterschiedlichen Zeitgruppen verwendet werden. Bevor der Filter ausgewertet wird, werden die Kanäle für den Filter werden alle auf die Zeitachse des ersten im Filter verwendeten Kanal interpoliert. Der Filter wird in die Zeitgruppe des ersten Kanals geschrieben. Für alle anderen Zeitgruppen wird der Filterkanal dann bei Bedarf interpoliert. In der NC-Datei wird der Rekordfilter als Kanal gespeichert. Der Kanalname setzt sich auf dem Text ``__nc_filter_`` und dem Namen einer Dimension zusammen, z. B. ``__nc_filter_group2``. Der Filterkanal enthält den Wert 0, falls der entsprechende Rekord die Filterbedingung nicht erfüllt und 1 falls die Bedingung erfüllt wird. .. highlight:: none Der Suchfilter wird in den globalen Attributen gespeichert, Beispiel:: _nc_record_filter_text = $Comment$ == "*Doppel*" .. highlight:: us Wenn der Filter eingeschaltet ist, werden nur die Datenpunkte in einen Datensatz (2D-Kurve oder 3D-Kennfeld) geladen, bei denen der Filterkanal den Wert 1 anzeigt. In der NC-Datei werden globale Attribute mit Informationen zum Rekordfilter gespeichert: .. list-table:: :header-rows: 1 * - Attributname - Beschreibung * - _nc_record_filter_enabled - Hat den Wert 1 für eingeschaltet und 0 für ausgeschaltet * - _nc_record_filter_text - Ist der Filtertext, z. B. ``$speed$ > 600 && $torque$ > 10`` Falls die im Filter verwendeten Kanäle können aus unterschiedlichen Dimensionen (Zeitgruppen) stammen werden die Daten auf die Auflösung des ersten Kanals interpoliert. Der Filterkanal wird in die Zeitgruppe der ersten Kanals geschrieben. * - _nc_record_filter_channel - Enthält den Namen des Filterkanals, z. B. ``__nc_filter_NumPoints1``. Aus dem Filterkanal werden bei Bedarf für alle Zeitgruppen die entsprechenden Filterkanäle durch interpolation berechnet. * - _nc_record_filter_update - Ist ein Updatezähler. **History** .. list-table:: :header-rows: 1 * - Version - Beschreibung * - R2018.12 - Sortieren-Schalter zugefügt. * - R2013.7 - Es können nun auch Filter für NC-Dateien definiert werden, die mehr als eine Datengruppe haben, z. B. MDF-Dateien, BLF-Dateien (CAN) oder Rekordermessungen mit mehreren Zeitgruppen. Jede Zeitgruppe muss dann einen Zeitkanal enthalten. Bis R2013.6 konnte ein Filter nur für NC-Dateien definiert werden, wenn alle Kanäle der Datei die gleiche Anzahl an Datenpunkten hatten (gleiche Dimension). * - R2013.3 - Textkanäle können im Filter verwendet werden. * - 5.14.5 - Erweitert von 4 auf 7 Filter. Beim == Operator kann nun eine Toleranz angegeben werden. .. seealso:: :ref:`dateidaten-importieren`, :ref:`auto_SetFilter` :sub:`id-1177646`