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