Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Crear diagramas de flujo de Stateflow

Un diagrama de flujo de Stateflow® es una construcción gráfica que modeliza patrones lógicos como árboles de decisión y bucles iterativos. Los diagramas de flujo representan una lógica combinatoria en la que un resultado no depende de resultados anteriores. Los diagramas de flujo se crean combinando intersecciones conectivas y transiciones sin utilizar ningún estado. Las intersecciones proporcionan ramas de decisión entre las distintas rutas de transición. Se empieza a ejecutar un diagrama de flujo en una transición predeterminada y se termina en una intersección final (una intersección que no tiene ninguna transición saliente válida).

Un práctica recomendada consiste en encapsular diagramas de flujo en funciones gráficas para crear una lógica modular reutilizable que se puede llamar desde cualquier lugar del gráfico. Para obtener más información sobre las funciones gráficas, consulte Reuse Logic Patterns by Defining Graphical Functions.

Ejemplo de diagrama de flujo que modeliza una lógica If-Else sencilla:

Flow chart that models an if else statement.

El diagrama de flujo modeliza este código:

if u > 0
   y = 1;
else
   y = 0;
end

Representar un diagrama de flujo

Puede representar y personalizar diagramas de flujo a mano utilizando intersecciones conectivas como puntos de ramificación entre rutas de transición alternas:

  1. Abra un gráfico.

  2. Desde la barra de herramientas del Editor, arrastre una o más intersecciones conectivas al gráfico con la herramienta Intersección conectiva:

  3. Añada rutas de transición entre las intersecciones.

  4. Etiquete las transiciones.

  5. Añada una transición predeterminada a una intersección en la que comience la ejecución del diagrama de flujo.

Prácticas recomendadas para crear diagramas de flujo

Siga estas prácticas recomendadas para crear diagramas de flujo eficientes y precisos.

Flow chart that illustrates best practices.

Utilice una única transición predeterminada

Los diagramas de flujo solo tienen un punto de entrada.

Proporcione una única intersección final

La presencia de múltiples intersecciones finales dificulta la lectura de diagramas de flujo.

Una todas las rutas de transición en una intersección final

La ejecución de diagramas de flujo llega siempre al punto final.

Proporcione una transición sin condiciones desde todas las intersecciones excepto la final

Si se producen búsquedas hacia atrás no intencionadas durante la simulación, aparecerá un mensaje de advertencia.

Para controlar el grado de acción de diagnóstico para búsquedas hacia atrás no intencionadas, abra el cuadro de diálogo Configuration Parameters y, en el panel Diagnostics > Stateflow, establezca el parámetro Unexpected backtracking en none, warning o error. El ajuste predeterminado es warning. Para obtener más información, consulte Unexpected backtracking (Simulink).

Pueden producirse búsquedas hacia atrás no intencionadas en una intersección si se dan las condiciones siguientes:

  • La intersección no tiene una ruta de transición sin condiciones a un estado o a una intersección final.

  • Hay múltiples rutas de transición que llevan a esa intersección.

Para procesar las actualizaciones, utilice acciones de condición en lugar de acciones de transición

Los diagramas de flujo prueban las transiciones, pero no las ejecutan. Como resultado, los diagramas de flujo no ejecutan nunca acciones de transición. Además, en los gráficos que utilizan MATLAB® como lenguaje de acción, utilizar acciones de transición en una función gráfica produce un error en tiempo de compilación.

Temas relacionados