NextLevelCrossing (FPScript)
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:
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:
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. |