NextLevelCrossing (FPScript)

21.09.2021

Recherche du prochain passage à niveau à partir d'une position donnée.

Syntaxe

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

 

La syntaxe de la fonction NextLevelCrossing se compose des éléments suivants :

Section

Description

DataSet

L'ensemble de données dans lequel rechercher.

Les structures de données autorisées sont Séries de données et Signal. Tous les types de données numériques sont autorisés.

Pour les types de données complexes, un nombre est formé.

Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste.

Position

Si vous recherchez dans un signal, il s'agit de la valeur X où la recherche doit commencer. Si vous recherchez une série de données, il s'agit de l'index de la valeur où la recherche doit commencer. Ici, un indice négatif détermine une position par rapport à la fin de l'ensemble de données. Si vous omettez l'argument ou passez la valeur Empty, la recherche commence au début ou à la fin de l'ensemble de données, selon le sens de la recherche. La première ou la dernière valeur de l'ensemble de données n'est prise en compte que si vous omettez l'argument ou passez la valeur Empty.

Les structures de données autorisées sont Scalaire. Tous les types de données numériques sont autorisés. L'unité doit être compatible avec celle du paramètre DataSet .

Pour les types de données complexes, un nombre est formé.

Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste.

Level

Le niveau pour lequel un passage de niveau doit être trouvé.

Les structures de données autorisées sont Scalaire. Tous les types de données numériques sont autorisés. L'unité doit être compatible avec celle du paramètre DataSet .

Pour les types de données complexes, un nombre est formé.

Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste.

Hysteresis

L'hystérésis forme une bande symétrique [niveau - hystérésis, niveau + hystérésis] autour du niveau spécifié. Un passage de niveau n'est alors accepté que si la variation de la courbe entre dans la bande d'un côté et en ressort de l'autre.

Les structures de données autorisées sont Scalaire. Tous les types de données numériques sont autorisés. L'unité doit être compatible avec celle du paramètre DataSet .

Pour les types de données complexes, un nombre est formé.

Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste.

Orientation

Précise s'il faut rechercher des passages de niveau descendant, ascendant ou les deux types de passages de niveau.

L'argument Orientation peut avoir les valeurs suivantes :

Constante

Signification

EVENT_POSITIVE

Rechercher uniquement un passage de niveau ascendant.

EVENT_NEGATIVE

Rechercher uniquement un passage de niveau descendant.

EVENT_BOTH

Rechercher les deux types de passages de niveau.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut EVENT_BOTH .

Direction

Précise la direction de la recherche dans la fonction.

L'argument Direction peut avoir les valeurs suivantes :

Constante

Signification

EVENT_RIGHT

Chercher à droite.

EVENT_LEFT

Chercher à gauche.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut EVENT_RIGHT .

Remarques

Le résultat a toujours la structure de données Scalaire.

L'hystérésis empêche les passages de niveau d'être détectés plusieurs fois dans les signaux bruités. Si DataSet est une série de données, le résultat est l'indice du passage de niveau trouvé. Si la courbe oscille plusieurs fois autour du niveau avant de quitter la bande d'hystérésis, alors la valeur moyenne du premier et du dernier passage à travers le niveau est passée comme indice. Si DataSet est un signal, le résultat est la valeur X avec l'indice trouvé. Si aucun passage de niveau n'a pu être trouvé, la valeur Empty est renvoyée comme résultat.

Disponible dans

FlexPro Basic, Professional, Developer Suite

Exemples

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

Recherche dans un signal le prochain passage de niveau ascendant par 0,8 V, en commençant à la fin du signal et en se dirigeant vers la gauche. L'hystérésis est de 0,1 V. Le résultat est la valeur X du passage de niveau trouvé.

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

Recherche dans un signal le prochain passage de niveau ascendant ou descendant par 0,6 V, en commençant à la position X = 4,5 s et en se dirigeant vers la droite. L'hystérésis est de 0,1 V. Le résultat est la valeur Y du passage de niveau trouvé.

Voir aussi

Fonction LevelCrossings

Fonction Intersections

Objet d'analyse Isolation d'événements

Partager l’article ou envoyer par mail :

Vous serez probablement intéressé par les articles suivants :