Controlar la ejecución de gráficos con acciones de condición
Comportamiento de una acción de condición
Este ejemplo muestra el comportamiento de una acción de condición simple en una ruta de transición con múltiples segmentos.

Inicialmente, el gráfico está desactivado. El estado A está activo. Las condiciones C_one y C_two son falsas. Se produce el evento E_one y se activa el gráfico, que procesa el evento desde la raíz hacia abajo a través de la jerarquía:
La raíz del gráfico comprueba si existe una transición válida como resultado de
E_one. Se detecta un segmento de transición válido desde el estadoAhasta una intersección conectiva. La acción de condiciónA_onese detecta en el segmento de transición válido y se ejecuta y completa de inmediato. El estadoAse mantiene activo.Dado que las condiciones en los segmentos de transición a posibles destinos son falsas, ninguna de las transiciones completadas es válida.
Las acciones during (
durA()) del estadoAse ejecutan y se completan.El estado
Ase mantiene activo.El gráfico vuelve a su estado de inactividad.
Esta secuencia completa la ejecución de este gráfico de Stateflow® asociado al evento E_one cuando el estado A está inicialmente activo.
Comportamiento de una acción de condición y transición
Este ejemplo muestra el comportamiento de una acción de condición y transición simple especificada en una transición desde un estado exclusivo (OR) a otro.

Inicialmente, el gráfico está desactivado. El estado A está activo. La condición C_one es verdadera. Se produce el evento E_one y se activa el gráfico, que procesa el evento desde la raíz hacia abajo a través de la jerarquía:
La raíz del gráfico comprueba si existe una transición válida como resultado de
E_one. Se detecta una transición válida desde el estadoAal estadoB. La condiciónC_onees verdadera. La acción de condiciónA_onese detecta en la transición válida y se ejecuta y completa de inmediato. El estadoAse mantiene activo.Las acciones exit (
ExitA()) del estadoAse ejecutan y se completan.El estado
Aestá marcado como inactivo.La acción de transición
A_twose ejecuta y completa.El estado
Bestá marcado como activo.Las acciones entry (
entB()) del estadoBse ejecutan y se completan.El gráfico vuelve a su estado de inactividad.
Esta secuencia completa la ejecución de este gráfico de Stateflow asociado al evento E_one cuando el estado A está inicialmente activo.
Crear acciones de condición con un bucle for
Las acciones de condición y las intersecciones conectivas se utilizan para diseñar una construcción de bucle for. Este ejemplo muestra el uso de una acción de condición y una intersección conectiva para crear una construcción de bucle for.

Consulte For-Loop Construct para ver el comportamiento de este ejemplo.
Transmitir eventos a estados paralelos (AND) con acciones de condición
Este ejemplo muestra cómo utilizar acciones de condición para transmitir eventos de inmediato a estados paralelos (AND).

Consulte Broadcast Events in Condition Actions para ver el comportamiento de este ejemplo.
Sugerencia
Evite utilizar transmisiones de eventos locales no dirigidas y eventos locales dirigidos que creen lógica de salida anticipada. Estos eventos pueden generar un comportamiento recursivo no deseado en su gráfico. Si el gráfico contiene estos eventos, genera una advertencia cuando se simula el modelo. Para eliminar los eventos que generen recursiones, consulte Evitar una recursión no deseada en un gráfico.
Evitar el comportamiento cíclico
Este ejemplo muestra una notación que se debe evitar cuando se utilizan transmisiones de eventos como acciones de condición, ya que la semántica produce un comportamiento cíclico.

Inicialmente, el gráfico está desactivado. El estado On está activo. Se produce el evento E_one y se activa el gráfico, que procesa el evento desde la raíz hacia abajo a través de la jerarquía:
La raíz del gráfico comprueba si existe una transición válida como resultado de
E_one.Se detecta una transición válida desde el estado
Onal estadoOff.La acción de condición en la transición transmite el evento
E_one.El evento
E_onese detecta en la transición válida, que se ejecuta de inmediato. El estadoOnse mantiene activo.La transmisión del evento
E_oneactiva el gráfico una segunda vez.Vaya al paso 1.
Los pasos 1 a 5 se siguen ejecutando de forma cíclica. La etiqueta de transición que indica un activador en el mismo evento que el evento de transmisión de acción de condición produce un comportamiento cíclico irrecuperable. Esta secuencia nunca se completa cuando se transmite el evento E_one y el estado On está activo.
Sugerencia
Evite utilizar transmisiones de eventos locales no dirigidas y eventos locales dirigidos que creen lógica de salida anticipada. Estos eventos pueden generar un comportamiento recursivo no deseado en su gráfico. Si el gráfico contiene estos eventos, genera una advertencia cuando se simula el modelo. Para eliminar los eventos que generen recursiones, consulte Evitar una recursión no deseada en un gráfico.