Main Content

Ejecutar un gráfico de Stateflow

Cuando se activa un gráfico de Stateflow®, el gráfico sigue un flujo de trabajo y ejecuta acciones. Un gráfico de Stateflow se activa:

  • En cada unidad de tiempo

  • Cuando el gráfico de Stateflow recibe un evento

La primera vez que se activa un gráfico, se inicializa y se activa, como se describe en Flujo de trabajo para acceder a un gráfico o un estado. Cuando no hay más acciones que realizar, el gráfico se desactiva hasta que una unidad de tiempo nueva o un evento vuelve a activarlo.

Flujo de trabajo de ejecución de gráficos de Stateflow

Este diagrama de flujo muestra la progresión de los eventos que Stateflow realiza al ejecutar un gráfico o estado. En este diagrama de flujo, el estado actual se refiere al estado en el que tiene lugar una decisión o un proceso.

Flow chart that shows the steps for executing a chart or state.

Transiciones predeterminadas

Una transición predeterminada es una transición que no tiene origen. En un gráfico de Stateflow que no contiene estados, una transición predeterminada marca el inicio de un diagrama de flujo. Para obtener más información, consulte Crear diagramas de flujo de Stateflow.

Si un gráfico de Stateflow no contiene estados, el gráfico evalúa las rutas de transición predeterminadas cada vez que se activa. Después de marcar una transición predeterminada para evaluarla, el gráfico sigue los pasos indicados en Workflow for Evaluating Transitions.

Nota

Los gráficos evalúan las rutas de transición predeterminadas dentro de un estado solamente durante el acceso al estado y no cada vez que el gráfico se activa.

Transiciones externas

Una transición externa es una transición que sale del estado de origen. Un gráfico de Stateflow marca las transiciones externas para evaluarlas como primer paso en la ejecución de un estado. Después de marcar una transición externas para evaluarla, el gráfico sigue los pasos indicados en Workflow for Evaluating Transitions.

Acciones during

Una acción during es una acción definida en una etiqueta de estado con el prefijo during o du. Para obtener más información, consulte Definir acciones en un estado.

Un estado realiza acciones during cuando el gráfico se activa, el estado está activo y no hay transiciones externas válidas.

Transiciones internas

Una transición interna es una transición que no sale del estado de origen. Para obtener más información, consulte Control Chart Execution by Using Inner Transitions.

Un gráfico de Stateflow marca las transiciones internas para evaluarlas después de que un estado realice acciones during. Después de marcar una transición interna para evaluarla, el gráfico sigue los pasos indicados en Workflow for Evaluating Transitions.

Ejecución de gráfico con una transición válida

En este ejemplo, el gráfico de Stateflow se ha inicializado y las acciones entry se han llevado a cabo para StateA y StateA1. Se produce una unidad de tiempo nueva y el gráfico se activa.

En esta unidad de tiempo, x = 5, y = 2 y z = 0.

Stateflow chart with top-level states called StateA and StateB. StateA has substates StateA1 and StateA2. StateB has substates StateB1 and StateB2.

El gráfico ejecuta estos pasos:

  1. El gráfico tiene un subestado activo, StateA.

  2. StateA tiene una transición externa hacia StateB. El gráfico determina que la transición es válida.

  3. El gráfico marca StateB para entrada y StateA se marca para salida.

  4. Para salir de StateA, el gráfico sigue los pasos indicados en Flujo de trabajo para salir de un estado.

  5. Para entrar a StateB, el gráfico sigue los pasos indicados en Flujo de trabajo para acceder a un gráfico o un estado.

Ejecución de un gráfico sin una transición válida

En este ejemplo, el gráfico de Stateflow se ha inicializado y las acciones entry se han llevado a cabo para StateA y StateA1. Se produce una unidad de tiempo nueva y el gráfico se activa.

En esta unidad de tiempo, x = 3, y = 0 y z = 0.

Stateflow chart with top-level states called StateA and StateB. StateA has substates StateA1 and StateA2. StateB has substates StateB1 and StateB2.

El gráfico ejecuta estos pasos:

  1. El gráfico tiene un subestado activo, StateA.

  2. StateA tiene una transición externa hacia StateB. El gráfico determina que la transición no es válida.

  3. El gráfico realiza las acciones during para StateA. Ahora, y = 1.

  4. StateA no tiene ninguna transición interna.

  5. El subestado activo de StateA es StateA1.

  6. StateA1 tiene una transición externa hacia StateA2. El gráfico determina que la transición no es válida.

  7. El gráfico realiza las acciones during para StateA1. Ahora, x = 4.

  8. StateA1 no tiene ningún subestado activo.

  9. El gráfico se desactiva.

Temas relacionados