Contenido principal

crossing

Detectar flancos ascendentes o descendentes en los datos desde la última unidad de tiempo en un gráfico de Stateflow

Desde R2021b

Descripción

tf = crossing(expression) devuelve 1 (true) si:

  • El valor anterior de expression era positivo y su valor actual es cero o negativo.

  • El valor anterior de expression era cero y su valor actual es distinto de cero.

  • El valor anterior de expression era negativo y su valor actual es cero o positivo.

De lo contrario, el operador devuelve 0 (false). Si el valor de expression cambia de positivo a cero y luego a negativo, o bien de negativo a cero y luego a positivo en tres unidades de tiempo consecutivas, el operador detecta un solo flanco cuando el valor de expression se convierte en cero.

El argumento expression:

  • Debe ser una expresión de valor escalar

  • Puede combinar datos de entrada de gráficos, constantes, parámetros no ajustables, datos locales de tiempo continuo y datos de estado de los estados basados en Simulink®

  • Puede incluir la suma, la resta y la multiplicación de variables escalares, elementos de una matriz, campos de una estructura o cualquier combinación válida de campos de estructura y elementos de matriz

Indexe los elementos de una matriz usando números o expresiones que se evalúen como un entero constante.

ejemplo

Nota

La detección de flancos solo se admite en gráficos de Stateflow® en modelos de Simulink.

Ejemplos

expandir todo

Realice una transición de salida de estado si el valor de los datos de entrada signal supera un umbral de 2.5.

[crossing(signal-2.5)]

Stateflow chart that uses the crossing operator in a transition.

El flanco se detecta cuando el valor de la expresión signal-2.5 se convierte en cero o cambia de signo.

Sugerencias

  • No puede utilizar el operador crossing dentro de un modelo de Simulink que genera código usando orden de arreglos por fila principal. Para obtener más información sobre el orden por fila principal, consulte Select Array Layout for Matrices in Generated Code.

  • El operador crossing imita el comportamiento de un bloque Trigger (Simulink) con Trigger Type establecido en either.

  • La detección de flancos para los datos locales de tiempo continuo y los datos de estado de los estados basados en Simulink solo se admite en condiciones de transición.

  • En los subgráficos atómicos, asigne todos los datos de entrada que utilice en las expresiones de detección de flancos a los datos de entrada o a los parámetros no ajustables del gráfico principal. La asignación de estos datos de entrada a los datos de salida, los datos locales o los parámetros ajustables puede dar lugar a un comportamiento indefinido.

Historial de versiones

Introducido en R2021b