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.

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 contenidos en 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,duringyexit.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.
En la paleta de objetos, haga clic en la herramienta de cuadro
.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.
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.

El gráfico se ejecuta en este orden:
El estado
Coldse activa primero.Al acceder a él, el estado
Coldinvoca la funciónStatus.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.Si el valor de los datos de entrada
tempsupera 80, se produce una transición al estadoWarm.Al acceder a él, el estado
Warminvoca la funciónStatus.msgWarm.Esta función muestra un mensaje de estado de que la temperatura es cálida.
Si el valor de los datos de entrada
tempcae por debajo de 60, se produce una transición al estadoCold.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.

En este gráfico:
El estado
Tempse activa primero, seguido del estadoWind_Chill. Después, el estadoMonitorse activa.Este orden de activación tiene lugar porque
TempyWind_Chillestán en un cuadro con una prioridad de 1. Si elimina el cuadro, el orden de activación cambia aTemp,MonitoryWind_Chill, dado que los estados se crearon en este orden. Para obtener más información, consulte Mantenimiento del orden para estados paralelos.
En función de los datos de entrada
temp, las transiciones entre subestados se produce en los estados paralelosStatus.TempyStatus.Wind_Chill.Cuando se produce la transición de
Status.Temp.ColdaStatus.Temp.Warm, la condición de transiciónin(Status.Temp.Warm)se convierte en verdadera.Cuando se produce la transición de
Status.Temp.WarmaStatus.Temp.Cold, la condición de transiciónin(Status.Temp.Cold)se convierte en verdadera.Dado que los subestados
Status.Temp.ColdyStatus.Temp.Warmestán dentro de un cuadro, el argumento del operadorindebe incluir el nombre del cuadroStatus. Si omite este prefijo, aparece un mensaje de error. Para obtener más información sobre el operadorin, consulte Check State Activity by Using the in Operator.