Activar gráficos de Stateflow enviando eventos de entrada
Puede crear un gráfico de Stateflow® que solo se active cuando el modelo de Simulink® envíe un evento de entrada al gráfico. Después de que el gráfico se active, ejecuta sus acciones.
Los modelos de Simulink, las funciones de Simulink u otros gráficos de Stateflow pueden generar eventos de entrada.
Definir un evento de entrada
Para definir un evento de entrada:
Añada un evento al gráfico de Stateflow. Para obtener más información, consulte Definir eventos en un gráfico.
En Property Inspector, defina la propiedad Scope del evento como
Input from Simulink. Esta configuración crea un puerto de entrada en el bloque Chart.Para especificar un evento activado por flancos, establezca Trigger en
Rising,FallingoEither. Para especificar una llamada a función, establezca Trigger enFunction call.
Puede utilizar una señal de control, también conocida como activador por flanco, o una llamada a función desde un bloque de Simulink. No puede usar eventos de entrada de llamada a función y activados por flancos en el mismo gráfico de Stateflow. Usar estos eventos de entrada a la vez genera un error en tiempo de compilación.
Activar un gráfico de Stateflow con activadores por flanco
Los eventos de entrada activados por flancos activan el gráfico de Stateflow cuando la señal de control cambia de positiva a negativa, de negativa a positiva o entre negativa y positiva. Los eventos activados por flancos se ejecutan durante el paso de tiempo cuando la señal de control cambia. La configuración de la propiedad Trigger determina cuándo se activa el gráfico:
Configuración de la propiedad Trigger | Descripción |
|---|---|
| El gráfico se activa cuando la señal de control pasa de cero o de un valor negativo a un valor positivo. |
| El gráfico se activa cuando la señal de control pasa de un valor positivo a cero o un valor negativo. |
| El gráfico se activa cuando la señal de control cambia de dirección y cruza cero. |
Para activar el evento activador por flanco, el valor de la señal de control debe ser igual a cero o cruzar cero. Por ejemplo, una señal que cambia de -1 a 1 o de 0 a 2 es un activador por flanco ascendente válido. Una señal que cambia de 1 a 2 no es un activador por flanco ascendente válido.
Solo pueden tener lugar múltiples activadores por flanco ascendentes cuando la señal de control tiene más de un paso de tiempo de diferencia entre dos ascensos o dos descensos en el valor de la señal. En otras palabras, un gráfico trata una señal que cambia de -1 a 0 a 1 en pasos de tiempo sucesivas como un único activador por flanco ascendentes, no como dos activadores por flanco ascendente. Para obtener más información, consulte Usar Triggered Subsystems (Simulink).
Cuándo utilizar eventos de entrada activados por flancos
Utilice un evento de entrada activado por flanco para activar un gráfico cuando su modelo requiera una ejecución del gráfico regular o periódica. Por ejemplo, en este modelo, un evento de entrada activado por flancos activa el gráfico Edge to Function a intervalos regulares.

Múltiples eventos de entrada activados por flancos
Puede utilizar un evento de entrada activado por flancos para activar un gráfico múltiples veces en el mismo paso de tiempo. En cada paso de tiempo, Stateflow comprueba los eventos de entrada en orden ascendente en base a los números de sus puertos. El gráfico se activa una vez por cada evento válido. Si se producen múltiples flancos en el mismo paso de tiempo, el gráfico se activa más de una vez en dicho paso de tiempo.
Activar un gráfico de Stateflow con llamadas a función
Un evento de llamada a funciones causa que un gráfico de Stateflow se ejecute durante el paso de tiempo actual de la simulación.
Cuándo utilizar eventos de entrada de llamada a funciones
Utilice un evento de entrada de llamada a función para activar un gráfico cuando su modelo tenga que acceder a datos de salida del gráfico en el mismo paso de tiempo que la llamada a función. Por ejemplo, en este modelo, un evento de entrada de llamada a función activa el gráfico Looping Scheduler.

Múltiples eventos de entrada de llamada a función
Para los eventos de entrada de llamada a función, solo existe un evento activador. El invocador de llamadas llama al gráfico y lo ejecuta de forma explícita.
Tipos de datos compatibles con los eventos de entrada
Cuando existen múltiples eventos de entrada en un puerto de activación, todas las señales deben tener el mismo tipo de datos. El uso de señales de diferentes tipos de datos como eventos de entrada genera un error durante la simulación. Por ejemplo, puede usar un bloque Mux para combinar dos señales de entrada del tipo double y usar esta señal para activar eventos de entrada en un gráfico.

No puede usar un bloque Mux para combinar dos señales de entrada de tipos de datos diferentes, como boolean y double.
