Busca el siguiente cruce de nivel a partir de una posición especificada.
Sintaxis
NextLevelCrossing(DataSet, [ Position ], Level, Hysteresis, [ Orientation = EVENT_BOTH ] [ , Direction = EVENT_RIGHT ])
La sintaxis de la función NextLevelCrossing consta de los siguientes elementos:
Parte |
Descripción |
||||||||
|---|---|---|---|---|---|---|---|---|---|
DataSet |
Es el conjunto de datos en el que se va a buscar. Las estructuras de datos permitidas son Serie de datos y Señal. Se permiten todos los tipos de datos numéricos. En los tipos de datos complejos se calcula un valor absoluto. Si el argumento es una lista, la función se ejecuta para cada elemento de la lista y el resultado también es una lista. |
||||||||
Position |
Si busca en una señal, es el valor X a partir del cual quiere buscar. Si busca en una serie de datos, es el índice del valor a partir del cual quiere buscar. Un índice negativo determina una posición relativa al final del conjunto de datos. Si omite el argumento o transmite el valor Empty, la búsqueda comienza al incio o al final del conjunto de datos, dependiendo de la dirección de búsqueda. El primer o último valor del conjunto de datos solo se tiene en cuenta si se omite el argumento o se transmite el valor Empty. Las estructuras de datos permitidas son Valor escalar. Se permiten todos los tipos de datos numéricos. La unidad debe ser compatible con la del parámetro DataSet. En los tipos de datos complejos se calcula un valor absoluto. Si el argumento es una lista, la función se ejecuta para cada elemento de la lista y el resultado también es una lista. |
||||||||
Level |
El nivel para el que se desea buscar un paso. Las estructuras de datos permitidas son Valor escalar. Se permiten todos los tipos de datos numéricos. La unidad debe ser compatible con la del parámetro DataSet. En los tipos de datos complejos se calcula un valor absoluto. Si el argumento es una lista, la función se ejecuta para cada elemento de la lista y el resultado también es una lista. |
||||||||
Hysteresis |
La histéresis forma una banda simétrica [nivel - histéresis, nivel + histéresis] en torno al nivel especificado. Solo se acepta un cruce de nivel si la curva entra en la banda por un lado y sale por el otro. Las estructuras de datos permitidas son Valor escalar. Se permiten todos los tipos de datos numéricos. La unidad debe ser compatible con la del parámetro DataSet. En los tipos de datos complejos se calcula un valor absoluto. Si el argumento es una lista, la función se ejecuta para cada elemento de la lista y el resultado también es una lista. |
||||||||
Orientation |
Especifica si se buscan pasos a nivel decrecientes, crecientes o de ambos tipos. El argumento Orientation puede tener los siguientes valores:
Si el argumento es una lista, se toma su primer elemento. Si se trata de nuevo de una lista, se repite el proceso. Se establece el valor predeterminado EVENT_BOTH si no se especifica el argumento. |
||||||||
Direction |
Define la dirección de búsqueda de la función. El argumento Direction puede tener los siguientes valores:
Si el argumento es una lista, se toma su primer elemento. Si se trata de nuevo de una lista, se repite el proceso. Se establece el valor predeterminado EVENT_RIGHT si no se especifica el argumento. |
Notas
El resultado siempre tiene la estructura de datos Valor escalar.
La histéresis evita la detección múltiple de transiciones de nivel en caso de señales con ruido. Si DataSet es una serie de datos, el resultado es el índice del cruce de nivel encontrado. Si la curva oscila varias veces alrededor del nivel antes de salir de la banda de histéresis, se transfiere como índice el valor medio del primer y el último paso por el nivel. Si DataSet es una señal, el resultado es el valor X con el índice encontrado. Si no se encuentra ningún cruce de nivel, el resultado es el valor Empty.
Disponibilidad
FlexPro Basic, Professional, Developer Suite
Ejemplos
NextLevelCrossing(Signal, , 0.8 V, 0.1 V, EVENT_POSITIVE, EVENT_LEFT) |
Busca el siguiente cruce de nivel creciente a través de 0,8 V en una señal desde el final de la señal hacia la izquierda. La histéresis es de 0,1 V. El resultado es el valor X del cruce de nivel encontrado. |
Signal[[NextLevelCrossing(Signal, 4.5 s, 0.6 V, 0.1 V)]] |
Busca el siguiente cruce de nivel creciente o decreciente a través de 0,6 V en una señal desde la posición X = 4,5 s hacia la derecha. La histéresis es de 0,1 V. El resultado es el valor Y del cruce de nivel encontrado. |