Main Content

Transición entre modos de funcionamiento

Una transición representa el paso de un sistema reactivo de un modo de funcionamiento a otro. En un gráfico de Stateflow®, una transición se indica como una dirección de cambio con una flecha que típicamente conecta dos estados. El origen de la transición es el estado donde la transición empieza y el destino de la transición es el estado donde la transición finaliza.

También puede crear una ruta de transición con más de un segmento de transición utilizando intersecciones conectivas. Por ejemplo, puede crear una ruta de transición desde un único origen a múltiples destinos o de múltiples orígenes a un único destino. En este caso, cualquier transición intermedia tiene una intersección conectiva como origen o destino. Para obtener más información, consulte Combinar transiciones e intersecciones para crear rutas ramificadas.

Una transición predeterminada es un tipo de transición especial que no tiene origen. En gráficos o estados con descomposición exclusiva (OR) y al menos dos subestados, debe haber una ruta de transición predeterminada que no esté protegida por una condición o activada por un evento. Si no existen intersecciones históricas, las transiciones predeterminadas indican el primer subestado que se activa cuando el gráfico o el superestado se activa. Para obtener más información, consulte Usar transiciones predeterminadas para especificar la actividad del subestado inicial.

Por ejemplo, los estados de este gráfico representan los modos de funcionamiento de un sistema de control del aire con dos ventiladores. Las transiciones entre los estados PowerOn y PowerOff representan el cambio de modo cuando el sistema de control de aire se enciende y se apaga. La transición predeterminada al estado PowerOff indica que el sistema está apagado cuando el gráfico se activa al inicio de la simulación. De forma similar, en los estados FAN1 y FAN2, las transiciones entre los subestados representan el cambio de modo cuando cada ventilador se enciende y se apaga, y la transición predeterminada indica que los ventiladores están apagados cuando el superestado PowerOn se activa. Para obtener más información sobre este ejemplo, consulte Modelar subsistemas sincrónicos utilizando la descomposición paralela.

Chart that contains a hierarchy of exclusive and parallel states that represent the operating modes of an air controller system.

El elemento principal de una transición es el estado o gráfico de menor nivel que contiene el origen y el destino de la transición. Así, en el ejemplo anterior, FAN1 es el estado principal de las transiciones entre los subestados FAN1.On y FAN1.Off. De forma similar, FAN2 es el estado principal de las transiciones entre los subestados FAN2.On y FAN2.Off. Por el contrario, el elemento principal de las transiciones entre los estados PowerOn y PowerOff es el propio gráfico.

Crear una transición

Puede añadir una transición a un destino nuevo o existente.

  1. Apunte al borde de un estado de origen o una intersección. El puntero cambia a un retículo.

  2. Haga clic y arrastre desde la intersección o el estado de origen. El editor de Stateflow proporciona indicaciones gráficas que permiten añadir una intersección o un estado.

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

  3. Seleccione un destino para la nueva transición:

    • Para añadir un nuevo estado al final de la transición, haga clic en el indicador rectangular.

    • Para añadir una nueva intersección al final de la transición, haga clic en el indicador circular.

    • Para conectar la transición a un estado o intersección existente, arrastre el puntero hasta el destino que desee.

  4. Introduzca una etiqueta para la transición y haga clic fuera de la transición. La etiqueta especifica las condiciones y los activadores que hacen que la transición sea válida, así como cualquier acción que la transición ejecute durante la simulación. Para obtener más información, consulte Definir acciones en una transición.

Después de crear una transición, puede utilizar el editor de Stateflow para cambiar su forma, origen, destino o etiqueta:

  • Para cambiar la forma de la transición, haga clic y arrastre el punto medio de la transición.

  • Para cambiar el origen o destino, haga clic y arrastre un punto final de la transición.

  • Para editar la etiqueta de transición, haga clic en el texto de la etiqueta que se encuentra cerca de la posición de caracteres que desea editar. Si su transición tiene una etiqueta vacía, seleccione primero la transición.

  • Para mover la etiqueta de transición, haga clic y arrástrela.

Crear una transición predeterminada

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

  2. En el área de trabajo del gráfico, haga clic en un lateral del estado de destino o la intersección.

  3. De forma opcional, añada una etiqueta para la transición predeterminada.

Sugerencia

El tamaño del punto final de la transición predeterminada es proporcional al tamaño de la flecha. Consulte Cambiar el tamaño de la flecha de una transición.

Definir acciones en una transición

La etiqueta para una transición especifica un activador de evento o mensaje y una condición que hacen que la transición sea válida, así como una acción de condición y una acción de transición que la transición ejecuta durante la simulación. Las etiquetas de transición tienen este formato general:

trigger[condition]{condition_action}/{transition_action}

Cada parte de la etiqueta es opcional y puede aparecer en una línea separada. Si desea obtener más información sobre cómo el gráfico utiliza etiquetas para determinar la validez de las transiciones, consulte Evaluate Transitions.

Activadores de eventos y mensajes

Una etiqueta de transición comienza con el nombre de un evento o mensaje que activa la transición. Para especificar varios activadores de evento o mensaje, utilice el operador lógico OR (|).

Una transición con un activador de evento solo es válida cuando el gráfico recibe una transmisión del evento especificado. Una transición con un activador de mensaje solo es válida cuando el mensaje especificado está presente en la cola de mensajes. Para obtener más información, consulte Sincronizar los componentes del modelo con la transmisión de eventos y Comunicarse con gráficos de Stateflow con el envío de mensajes.

Por ejemplo, en este gráfico, las transiciones entre estados PowerOff y PowerOn tienen activadores de eventos. Estas transiciones son válidas cuando el estado de origen está activo y el gráfico recibe una transmisión del evento de entrada SWITCH.

Transitions that are triggered by an event.

Sugerencia

Puede usar eventos implícitos (como change, enter o exit) y operadores de lógica temporal (como after, at, before o every) para activar transiciones. Para obtener más información, consulte Controlar el comportamiento del gráfico con eventos implícitos y Controlar la ejecución de gráficos con lógica temporal.

Condiciones

Para añadir una condición a una etiqueta de transición, introduzca una expresión booleana entre corchetes ([]). Siga estas directrices para definir las condiciones:

  • La expresión de condición debe ser una expresión booleana que se evalúe como true (1) o false (0).

  • Para combinar varias expresiones booleanas, utilice los operadores lógicos AND (&&) y OR (||).

  • Para introducir la expresión de condición en más de una línea, utilice una elipsis (...).

  • La expresión de condición puede llamar a funciones gráficas, funciones de tablas de verdad, funciones de MATLAB® o funciones de Simulink® que devuelven un valor numérico. No obstante, la función no debe modificar ningún valor de datos ni provocar que el gráfico cambie de estado.

  • No utilice instrucciones de asignación en expresiones de condición.

Una transición con una condición solo es válida cuando la expresión especificada es verdadera. Por ejemplo, en este gráfico las transiciones entre subestados Off y On tienen condiciones que comparan el valor de la entrada de gráfico temp con un umbral. Estas transiciones son válidas cuando el estado de origen está activo y la condición es verdadera.

Transitions that are guarded by a condition.

Acciones de condición

El gráfico ejecuta una acción de condición en cuanto determina que la transición es válida. Para añadir una acción de condición, después de la condición, introduzca una o varias instrucciones entre llaves ({}). Para separar varias instrucciones, utilice una coma o un punto y coma. Como alternativa, puede introducir cada instrucción en una línea separada. Para introducir una única instrucción en más de una línea, utilice una elipsis (...).

Si la transición forma parte de una ruta de transición que consta de varios segmentos, ese gráfico ejecuta la acción de condición antes de evaluar cualquier segmento posterior de la ruta de transición. Por ejemplo, este gráfico contiene una ruta de transición con dos segmentos de transición. Cuando el gráfico recibe una transmisión del evento de entrada SWITCH, el gráfico ejecuta la acción de condición en el primer segmento de transición independientemente de si el segundo segmento de transición es válido. Para obtener más información, consulte Controlar la ejecución de gráficos con acciones de condición.

Transition that contains a condition action.

Acciones de transición

El gráfico ejecuta una acción de transición cuando determina que la ruta de transición completa es válida. Para añadir una acción de transición, después de la acción de condición, introduzca una barra diagonal (/) seguida de una o varias instrucciones entre llaves ({}). Para separar varias instrucciones, utilice una coma o un punto y coma. Como alternativa, puede introducir cada instrucción en una línea separada. Para introducir una única instrucción en más de una línea, utilice una elipsis (...).

Si la transición forma parte de una ruta de transición que consta de varios segmentos, ese gráfico ejecuta la acción de transición después de determinar que hay una secuencia de segmentos válidos a un estado de destino o intersección terminal. Por ejemplo, este gráfico contiene una ruta de transición con dos segmentos de transición. Cuando el gráfico recibe una transmisión del evento de entrada SWITCH, el gráfico ejecuta la acción de transición en el primer segmento de transición solo si el segundo segmento de transición es válido. Para obtener más información, consulte Evaluate Outer Transitions with Condition and Transition Actions.

Transition that contains a transition action.

Las acciones de transición no se admiten en gráficos independientes de Stateflow en MATLAB.

Sugerencia

En gráficos que utilizan C como lenguaje de acción, no es necesario colocar las acciones de transición entre llaves. En gráficos que utilizan MATLAB como lenguaje de acción, la sintaxis se corrige automáticamente si las llaves no se incluyen en la acción de transición. Consulte Corrección automática al utilizar MATLAB como lenguaje de acción.

Cambiar el tamaño de la flecha de una transición

Para ajustar el tamaño de la flecha en una transición:

  1. Haga clic con el botón secundario en la transición.

  2. Seleccione Arrowhead Size.

  3. Elija un tamaño de flecha en la lista desplegable.

De forma alternativa, puede ajustar el tamaño de la flecha de más de una transición al mismo tiempo.

  1. Seleccione varias transiciones.

  2. Haga clic con el botón secundario en las transiciones seleccionadas.

  3. Seleccione Format > Arrowhead Size.

  4. Elija un tamaño de flecha en la lista desplegable.

Cambiar el tamaño de la flecha de una transición también cambia el tamaño de la flecha de las otras transiciones con el mismo destino.

Especificar las propiedades de las transiciones

Las propiedades que se enumeran a continuación permiten especificar cómo interactúa una transición con los demás componentes de un gráfico de Stateflow. Puede modificar estas propiedades en Property Inspector, Model Explorer o el cuadro de diálogo de las propiedades de la transición.

Para utilizar Property Inspector:

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

  2. En el editor de Stateflow, seleccione la transición.

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

Para utilizar Model Explorer:

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

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

  3. En el panel Contents, seleccione la transición.

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

Para utilizar el cuadro de diálogo de propiedades de la transición:

  1. En el editor de Stateflow, haga clic con el botón secundario sobre la transición.

  2. Seleccione Properties.

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

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

Origen

Origen de la transición. Esta propiedad es de solo lectura y no está disponible en Property Inspector. Cuando hace clic en el hipervínculo de origen, el editor de Stateflow coloca el origen de la transición en primer plano.

Destino

Destino de la transición. Esta propiedad es de solo lectura y no está disponible en Property Inspector. Cuando hace clic en el hipervínculo de destino, el editor de Stateflow coloca el destino de la transición en primer plano.

Elemento principal

Elemento principal de la transición. 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 coloca el elemento principal en primer plano.

Orden de ejecución

Orden de ejecución de la transición. Para obtener más información, consulte Transition Evaluation Order.

Tratar como transición de variante

Indica si la transición es una transición de variante. Para obtener más información, consulte Control Indicator Lamp Dimmer Using Variant Conditions.

Etiqueta

La etiqueta para la transición. Esta propiedad no está disponible en Property Inspector. Para obtener más información, consulte Definir acciones en una transición.

Descripción

Descripción de la transición.

Enlace del documento

Enlace a la documentación online de la transición. 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