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.

Combinar transiciones e intersecciones para crear rutas ramificadas

Una intersección conectiva representa un punto de decisión en una ruta de transición. Puede combinar transiciones e intersecciones conectivas para crear rutas desde un único origen a múltiples destinos o de múltiples orígenes a un único destino. Para obtener más información sobre la semántica de las rutas ramificadas, consulte Represent Multiple Paths by Using Connective Junctions.

Añadir una intersección conectiva

Cuando añade una transición a un gráfico, el editor de Stateflow® proporciona indicaciones gráficas que permiten añadir una intersección o un estado. Para situar una intersección al final de la transición, haga clic en la indicación circular.

New transition with graphical cues for adding a junction or state.

De forma alternativa, para añadir una intersección aislada a un gráfico:

  1. En la paleta de objetos, haga clic en el icono Intersección .

  2. En el área de trabajo del gráfico, haga clic en la ubicación para la nueva intersección conectiva.

Modificar las propiedades de una intersección conectiva

Para modificar el tamaño de una o más intersecciones conectivas:

  1. Seleccione las intersecciones conectivas.

  2. Haga clic con el botón secundario en una de las intersecciones seleccionadas y seleccione Junction Size.

  3. En la lista desplegable, seleccione un tamaño de intersección.

Para cambiar otras propiedades de una intersección conectiva, haga clic con el botón secundario en la intersección conectiva y seleccione Properties. El cuadro de diálogo Intersección conectiva muestra las siguientes propiedades:

  • Parent: estado principal de la intersección conectiva. Para poner elemento principal en primer plano, haga clic en el enlace hipertextual. Esta propiedad es de solo lectura.

  • Description: descripción de la intersección.

  • Document link: enlace a la documentación online de la intersección. Puede introducir una dirección URL o un comando de MATLAB® que muestre la documentación en un formato online adecuado, como un archivo HTML o texto de la ventana de comandos de MATLAB. Cuando hace clic en el hipervínculo Document link, Stateflow evalúa el enlace y muestra la documentación.

Ejemplos de rutas de transición con intersecciones conectivas

Al combinar transiciones e intersecciones conectivas puede crear patrones de transición habituales, tales como:

  • Patrones de decisión if-then-else

  • Patrones de bucle for

  • Patrones de bucle while

Para reducir el tiempo de creación de dichos patrones, utilice Pattern Wizard. Para obtener más información, consulte Create Flow Charts by Using Pattern Wizard.

Patrón If-then-else con todas las condiciones especificadas

En este ejemplo, el estado Checked_in presenta una ruta de transición predeterminada con tres intersecciones conectivas. Cada rama de la ruta está restringida por una condición.

Si el estado Front_desk está activo, el evento check_in activa la ejecución de la transición predeterminada de Checked_in. El resultado de la transición predeterminada depende del valor de room_type:

  • Si room_type es 1, el subestado Executive_suite se activa.

  • Si room_type es 2, el subestado Family_suite se activa.

  • Si room_type es 3, el subestado Single_room se activa.

  • Si ninguna de estas condiciones es verdadera, la ruta de transición predeterminada no es válida y Front_desk permanece activa.

Para obtener más información sobre este gráfico, consulte How Stateflow Objects Interact During Execution.

Patrón If-then-else con una transición sin condiciones

En este ejemplo, la transición del estado Start tiene tres intersecciones conectivas. Las primeras dos ramas de la ruta están restringidas por una condición. La última rama de la ruta no tiene ninguna condición.

El gráfico aplica lógica temporal para determinar cuándo la entrada u es igual a 1:

  • Si u es igual a 1 antes del tiempo $t=2$, el estado Fast se activa.

  • Si u es igual a 1 entre $t=2$ y $t=5$, el estado Good se activa.

  • Si u es igual a 1 después de $t=5$, el estado Slow se activa.

Para obtener más información sobre este gráfico, consulte Detect Elapsed Time.

Patrón bucle For

En este ejemplo, un diagrama de flujo utiliza una combinación de transiciones e intersecciones conectivas para construir un bucle for.

A medida que el valor del contador i aumenta de 1 a 10, el diagrama de flujo define los elementos de un arreglo output. El bucle de este diagrama de flujo es equivalente a este fragmento de código de MATLAB:

for i = 1:10
    output(i) = 2*i;
end

Patrón bucle While

En este ejemplo, un diagrama de flujo combina transiciones e intersecciones conectivas para construir un bucle while que calcula el máximo común divisor de las entradas.

El bucle de este diagrama de flujo es equivalente a este fragmento de código C:

while(q > 0) {
    r = fmod(p,q);
    p = q;
    q = r;
}

Especificar las propiedades de las intersecciones conectivas

Puede especificar las propiedades que se muestran a continuación en Property Inspector, Model Explorer o el cuadro de diálogo de propiedades Connective Junction.

Para utilizar Property Inspector:

  1. En la pestaña Modeling, en Design Data, seleccione Property Inspector.

  2. En el Editor de Stateflow, seleccione la intersección conectiva.

  3. En Property Inspector, edite las propiedades de la intersección conectiva.

Para utilizar Model Explorer:

  1. En la pestaña Modeling, en Design Data, seleccione Model Explorer.

  2. En el panel Model Hierarchy, seleccione el estado principal o gráfico de la intersección conectiva.

  3. En el panel Contents, seleccione la intersección conectiva.

  4. En el panel Dialog, edite las propiedades de la intersección conectiva.

Para utilizar el cuadro de diálogo de propiedades Connective Junction:

  1. En el Editor de Stateflow, haga clic con el botón secundario sobre la intersección conectiva.

  2. Seleccione Properties.

  3. En el cuadro de diálogo de propiedades, edite las propiedades de la intersección conectiva.

También puede especificar las propiedades de la intersección de forma programática con objetos de Stateflow.Junction. Para obtener más información sobre la interfaz programática de Stateflow, consulte Overview of the Stateflow API.

Elemento principal

Elemento principal de la intersección conectiva. Esta propiedad es de solo lectura y no está disponible en Property Inspector. Al hacer clic en el hipervínculo principal, el Editor de Stateflow trae el elemento principal al primer plano.

Descripción

Descripción de la intersección conectiva.

Enlace del documento

Enlace a la documentación online de la intersección conectiva. Puede introducir una dirección URL o un comando de MATLAB que muestre la documentación como un archivo HTML o como texto en la ventana de comandos de MATLAB. Cuando hace clic en el hipervínculo Document link, Stateflow evalúa el enlace y muestra la documentación.

Consulte también

Objetos

Herramientas

Temas relacionados