Orden de ejecución para estados paralelos
Aunque los estados paralelos (AND) se ejecutan simultáneamente, el gráfico de Stateflow® debe determinar cuándo activar cada uno durante la simulación. Esta orden determina cuándo cada estado paralelo realiza las acciones que lo llevan a través de todas las etapas de ejecución.
Ordenar estados paralelos
Los gráficos asignan un número de prioridad a cada estado paralelo. Cuanto más bajo sea el número, más pronto se ejecutará el estado. El número de prioridad aparece en la esquina superior derecha de cada estado.
Cuando abra un nuevo gráfico o un gráfico que no contenga ningún estado paralelo, el gráfico asignará automáticamente números de prioridad a los estados paralelos en el orden en que se crean. La numeración comienza con el siguiente número disponible en el contenedor principal.
Para cambiar el orden de ejecución de un estado paralelo, haga lo siguiente:
Haga clic con el botón secundario en el estado paralelo.
Haga clic en Execution Order y seleccione el número de prioridad nuevo.
Cuando se cambia el número de prioridad de un estado paralelo, el gráfico vuelve a numerar automáticamente los demás estados paralelos para conservar su prioridad relativa.
En el código generado a partir de gráficos que contienen estados paralelos, cada estado se ejecuta en función de su prioridad.
Mantenimiento del orden para estados paralelos
Cuando elimina, vuelve a numerar o añade estados paralelos, el gráfico vuelve a priorizar los estados paralelos para:
Rellenar los huecos en la secuencia para que la ordenación sea continua.
Asegurarse de que no haya dos estados con la misma prioridad.
Preservar la prioridad relativa deseada.
Considere el siguiente ejemplo:
De forma predeterminada, el estado y los subestados se numeran en el orden en que se crearon. Por ejemplo, si efectúa los siguientes cambios en el gráfico:
Cambie la prioridad del estado de nivel superior
b
a 3.Añada un estado de nivel superior
g
.Elimine el subestado
e
.
El gráfico conserva la prioridad que estableció de forma explícita para el estado de nivel superior b
, pero vuelve a numerar los demás estados paralelos para conservar su orden relativo anterior.
Prioridad de ejecución en estados restaurados
Hay situaciones en las que se necesita restaurar un estado paralelo después de eliminarlo de un gráfico de Stateflow. Sin embargo, un gráfico no siempre puede restablecer la prioridad de ejecución original a un estado restaurado. Depende de cómo restaure el estado.
Si elimina un estado... | Y restaura el estado... | ¿Cuál es la prioridad? |
---|---|---|
Borrando, cortando, arrastrando fuera de los límites del estado principal o arrastrando para que sus límites se superpongan al estado principal. | Usando el comando de deshacer. | Se restaura la prioridad original. |
Arrastrando fuera de los límites del estado principal o para que sus límites se superpongan al estado principal y soltando el botón del ratón. | Arrastrándolo de nuevo al estado principal. | Se pierde la prioridad original. El gráfico de Stateflow trata el estado restaurado como el último que se ha creado y asigna la prioridad de ejecución más baja. |
Arrastrando fuera de los límites del estado principal o para que sus límites se superpongan al estado principal sin soltar el botón del ratón. | Arrastrándolo de nuevo al estado principal. | Se restaura la prioridad original. |
Arrastrando para que sus límites se superpongan a uno o más estados afines. | Arrastrándolo a una ubicación sin límites superpuestos dentro del mismo estado principal. | Se restaura la prioridad original. |
Cortando. | Pegando. | Se pierde la prioridad original. El gráfico de Stateflow trata el estado restaurado como el último que se ha creado y asigna la prioridad de ejecución más baja. |
Orden de ejecución de estados paralelos en cuadros y subgráficos
Cuando agrupa estados paralelos dentro de un cuadro, los estados conservan su orden de ejecución relativo. Además, el gráfico de Stateflow asigna al cuadro su propia prioridad basándose en las reglas de ordenación predeterminadas. Esta prioridad determina cuándo el gráfico activa los estados paralelos dentro del cuadro.
Cuando convierte un estado con descomposición paralela en un subgráfico, sus subestados conservan su orden de ejecución relativo.