Contenido principal

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.

Agrupar objetos de gráfico usando cuadros

Un cuadro es un objeto gráfico que define un espacio de nombres para organizar objetos en el gráfico, como estados, funciones y datos. Los cuadros permiten ver rápidamente el gráfico y reconocer qué estados o funciones trabajan juntas para realizar determinadas tareas.

Los cuadros tienen esquinas cuadradas para diferenciarlos de los estados, que tienen esquinas redondeadas. Los cuadros no se admiten en gráficos independientes de Stateflow® en MATLAB®.

Nota

Para añadir notas al gráfico de Stateflow, utilice anotaciones en lugar de cuadros. Para obtener más información, consulte Añadir comentarios descriptivos en un gráfico.

En este gráfico, el cuadro Heater agrupa los estados relacionados Off y On.

Chart modeling a bang-bang controller.

Para obtener más información sobre este ejemplo, consulte Modelar un sistema de control de temperatura de encendido/apagado.

Semántica de cuadros de Stateflow

Jerarquía de objetos gráficos en cuadros

Los cuadros añaden un nivel de jerarquía a los gráficos de Stateflow. Si hace referencia a una función o estado con cuadros jerárquicamente organizados fuera del cuadro, debe incluir el nombre del cuadro en la ruta. Consulte Agrupar funciones usando un cuadro.

Directrices para usar cuadros

Cuando use un cuadro:

  • Incluya el nombre del cuadro en la ruta cuando use notación de puntos para hacer referencia a una función o estado con cuadros jerárquicamente organizados de una ubicación fuera del cuadro.

  • Puede añadir datos a un cuadro para que todos los elementos del cuadro puedan compartir los mismos datos.

  • Puede agrupar un cuadro y su contenido en un solo elemento gráfico. Consulte Agrupar estados.

  • Puede añadir un subgráfico a un cuadro para ocultar sus elementos. Consulte Encapsulate Modal Logic by Using Subcharts.

  • No puede definir instrucciones de acción para un cuadro, como las acciones entry, during y exit.

  • No puede definir una transición a o desde un cuadro. No obstante, puede definir una transición a o desde un estado dentro de un cuadro.

Representar y editar un cuadro

Crear un cuadro

Puede crear cuadros en el gráfico usando el icono de cuadro en la paleta de objetos.

  1. En la paleta de objetos, haga clic en la herramienta de cuadro .

  2. En el área de diseño del gráfico, haga clic en la ubicación del nuevo cuadro. El nuevo cuadro aparece con el cursor colocado para añadir un nombre.

  3. Introduzca un nombre para el cuadro y, luego, haga clic fuera del cuadro.

Eliminar un cuadro

Para eliminar un cuadro, haga clic en el cuadro y pulse la tecla Supr.

Ejemplos de uso de cuadros

Agrupar funciones usando un cuadro

Este gráfico muestra un cuadro denominado Status que agrupa dos funciones de MATLAB.

Chart that uses a box to group two MATLAB functions.

El gráfico se ejecuta en este orden:

  1. El estado Cold se activa primero.

  2. Al acceder a él, el estado Cold invoca la función Status.msgCold.

    Esta función muestra un mensaje de estado de que la temperatura es fría.

    Nota

    Dado que la función de MATLAB reside dentro de un cuadro, la ruta de la llamada a función debe incluir el nombre del cuadro Status. Si omite este prefijo, aparece un mensaje de error.

  3. Si el valor de los datos de entrada temp supera 80, se produce una transición al estado Warm.

  4. Al acceder a él, el estado Warm invoca la función Status.msgWarm.

    Esta función muestra un mensaje de estado de que la temperatura es cálida.

  5. Si el valor de los datos de entrada temp cae por debajo de 60, se produce una transición al estado Cold.

  6. Los pasos 2 a 5 se repiten hasta que la simulación termina.

Agrupar estados usando un cuadro

Este gráfico muestra un cuadro denominado Status que agrupa estados relacionados.

Chart that uses a box to group two parallel substates.

En este gráfico:

  • El estado Temp se activa primero, seguido del estado Wind_Chill. Después, el estado Monitor se activa.

    Este orden de activación tiene lugar porque Temp y Wind_Chill están en un cuadro con una prioridad de 1. Si elimina el cuadro, el orden de activación cambia a Temp, Monitor y Wind_Chill, dado que los estados se crearon en este orden. Para obtener más información, consulte Mantenimiento del orden para estados paralelos.

    Chart with a changed activation order of parallel states.

  • En función de los datos de entrada temp, las transiciones entre subestados se produce en los estados paralelos Status.Temp y Status.Wind_Chill.

  • Cuando se produce la transición de Status.Temp.Cold a Status.Temp.Warm, la condición de transición in(Status.Temp.Warm) se convierte en verdadera.

  • Cuando se produce la transición de Status.Temp.Warm a Status.Temp.Cold, la condición de transición in(Status.Temp.Cold) se convierte en verdadera.

    Dado que los subestados Status.Temp.Cold y Status.Temp.Warm están dentro de un cuadro, el argumento del operador in debe incluir el nombre del cuadro Status. Si omite este prefijo, aparece un mensaje de error. Para obtener más información sobre el operador in, consulte Check State Activity by Using the in Operator.

Consulte también

Temas