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 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
yexit
.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
Cold
se activa primero.Al acceder a él, el estado
Cold
invoca 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
temp
supera 80, se produce una transición al estadoWarm
.Al acceder a él, el estado
Warm
invoca 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
temp
cae 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
Temp
se activa primero, seguido del estadoWind_Chill
. Después, el estadoMonitor
se activa.Este orden de activación tiene lugar porque
Temp
yWind_Chill
están en un cuadro con una prioridad de 1. Si elimina el cuadro, el orden de activación cambia aTemp
,Monitor
yWind_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.Temp
yStatus.Wind_Chill
.Cuando se produce la transición de
Status.Temp.Cold
aStatus.Temp.Warm
, la condición de transiciónin(Status.Temp.Warm)
se convierte en verdadera.Cuando se produce la transición de
Status.Temp.Warm
aStatus.Temp.Cold
, la condición de transiciónin(Status.Temp.Cold)
se convierte en verdadera.Dado que los subestados
Status.Temp.Cold
yStatus.Temp.Warm
están dentro de un cuadro, el argumento del operadorin
debe 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.