NextLevelCrossing (FPScript)

21.09.2021

Sucht nach dem nächsten Pegeldurchgang ab einer vorgegebenen Position.

Syntax

NextLevelCrossing(DataSet, [ Position ], Level, Hysteresis, [ Orientation = EVENT_BOTH ] [ , Direction = EVENT_RIGHT ])

 

Die Syntax der NextLevelCrossing-Funktion besteht aus folgenden Teilen:

Teil

Beschreibung

DataSet

Ist der zu durchsuchende Datensatz.

Erlaubte Datenstrukturen sind Datenreihe und Signal. Es sind alle numerischen Datentypen erlaubt.

Bei komplexen Datentypen erfolgt eine Betragsbildung.

Ist das Argument eine Liste, dann wird die Funktion für jedes Element der Liste ausgeführt und das Ergebnis ist ebenfalls eine Liste.

Position

Wenn Sie in einem Signal suchen, ist dies der X-Wert, ab dem gesucht werden soll. Wenn Sie in einer Datenreihe suchen, dann ist dies der Index des Wertes, ab dem gesucht werden soll. Ein negativer Index bestimmt hierbei eine Position relativ zum Ende des Datensatzes. Wenn Sie das Argument weglassen oder den Wert Empty übergeben, beginnt die Suche je, nach Suchrichtung, am Anfang oder am Ende des Datensatzes. Der erste bzw. letzte Wert des Datensatzes wird nur berücksichtigt, wenn Sie das Argument weglassen oder den Wert Empty übergeben.

Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt. Die Einheit muss mit der von Parameter DataSet kompatibel sein.

Bei komplexen Datentypen erfolgt eine Betragsbildung.

Ist das Argument eine Liste, dann wird die Funktion für jedes Element der Liste ausgeführt und das Ergebnis ist ebenfalls eine Liste.

Level

Der Pegel, für den nach einem Durchgang gesucht werden soll.

Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt. Die Einheit muss mit der von Parameter DataSet kompatibel sein.

Bei komplexen Datentypen erfolgt eine Betragsbildung.

Ist das Argument eine Liste, dann wird die Funktion für jedes Element der Liste ausgeführt und das Ergebnis ist ebenfalls eine Liste.

Hysteresis

Die Hysterese bildet ein symmetrisches Band [Pegel - Hysterese, Pegel + Hysterese] um den angegeben Pegel. Ein Pegeldurchgang wird nur dann akzeptiert, wenn der Kurvenverlauf von einer Seite in das Band eintritt und auf der anderen Seite wieder austritt.

Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt. Die Einheit muss mit der von Parameter DataSet kompatibel sein.

Bei komplexen Datentypen erfolgt eine Betragsbildung.

Ist das Argument eine Liste, dann wird die Funktion für jedes Element der Liste ausgeführt und das Ergebnis ist ebenfalls eine Liste.

Orientation

Gibt an, ob nach fallenden, steigenden oder beiden Arten von Pegeldurchgängen gesucht werden soll.

Das Argument Orientation kann folgende Werte haben:

Konstante

Bedeutung

EVENT_POSITIVE

Nur nach einem steigenden Pegeldurchgang suchen.

EVENT_NEGATIVE

Nur nach einem fallenden Pegeldurchgang suchen.

EVENT_BOTH

Nach beiden Arten von Pegeldurchgängen suchen.

Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt.

Wenn das Argument nicht angegeben wird, wird es auf den Vorgabewert EVENT_BOTH gesetzt.

Direction

Legt die Suchrichtung der Funktion fest.

Das Argument Direction kann folgende Werte haben:

Konstante

Bedeutung

EVENT_RIGHT

Nach rechts suchen.

EVENT_LEFT

Nach links suchen.

Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt.

Wenn das Argument nicht angegeben wird, wird es auf den Vorgabewert EVENT_RIGHT gesetzt.

Anmerkungen

Das Ergebnis hat immer die Datenstruktur Einzelwert.

Die Hysterese verhindert, dass bei verrauschten Signalen eine Mehrfachdetektion von Pegelübergängen stattfindet. Wenn DataSet eine Datenreihe ist, dann ist das Ergebnis der Index des gefundenen Pegeldurchgangs. Falls der Kurvenverlauf vor Verlassen des Hysteresebandes mehrfach um den Pegel oszilliert, dann wird als Index der Mittelwert des ersten und des letzten Durchgangs durch den Pegel übergeben. Ist DataSet ein Signal, dann ist das Ergebnis der X-Wert mit dem gefundenen Index. Wenn kein Pegeldurchgang gefunden werden konnte dann wird der Wert Empty als Ergebnis ausgegeben.

Verfügbarkeit

FlexPro Basic, Professional, Developer Suite

Beispiele

NextLevelCrossing(Signal, , 0.8 V, 0.1 V, EVENT_POSITIVE, EVENT_LEFT)

Sucht in einem Signal ab dem Signalende nach links den nächsten steigenden Pegeldurchgang durch 0.8 V. Die Hysterese ist 0.1 V. Das Ergebnis ist der X-Wert des gefundenen Pegeldurchgangs.

Signal[[NextLevelCrossing(Signal, 4.5 s, 0.6 V, 0.1 V)]]

Sucht in einem Signal ab der Position X = 4.5 s nach rechts den nächsten steigenden oder fallenden Pegeldurchgang durch 0.6 V. Die Hysterese ist 0.1 V. Das Ergebnis ist der Y-Wert des gefundenen Pegeldurchgangs.

Siehe auch

LevelCrossings-Funktion

Intersections-Funktion

Analyseobjekt Ereignisisolation

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren