Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.

Modelización de un reproductor de CD/radio utilizando tablas de transición de estados

Este ejemplo muestra un modelo sencillo de lógica de reproductor de CD/radio que utiliza tablas de transición de estados en Stateflow®. Este modelo es una nueva implementación de sf_cdplayer utilizando tablas de transición de estados.

El núcleo de la lógica para controlar el reproductor de CD/radio es el gráfico "CdPlayerModeManager", que se diseña utilizando una tabla de transición de estados. La tabla se utiliza para representar la lógica modal en formato tabular. Permite definir distintos estados y sus estructuras jerárquicas, además de las transiciones entre estados.

Celdas de estado

La columna que está más a la izquierda representa todos los estados de la tabla. Tenga en cuenta que los estados pueden estar anidados jerárquicamente. Puede elegir uno de los estados como predeterminado en cualquier nivel. Esto se representa mediante una transición predeterminada dibujada a la izquierda del estado. También puede añadir una "fila de transición predeterminada" si se utiliza una lógica para elegir el primer estado que desea introducir.

Puede añadir una intersección histórica a un estado concreto haciendo clic con el botón secundario en el estado y seleccionando "Add history junction". Esto permite que el estado recuerde el último estado activo cuando se introduce de nuevo, en lugar de elegir el estado predeterminado. Por ejemplo, los estados ModeManager y ON tienen intersecciones históricas. Es posible generar un gráfico de Stateflow de forma automática a partir de esta vista de tabla.

Celdas de transición

El siguiente grupo de columnas representa las transiciones exteriores de un estado. Cada fila representa las transiciones exteriores de un estado concreto. Cada celda de transición está subdividida en tres subceldas:

1) Celda de condición: para especificar una condición booleana que especifique cuándo está activa la transición

2) Celda de acción de la condición: para especificar la acción que debe realizarse cuando la transición está activa

3) Celda de destino: para especificar el estado de destino de la transición. Tenga en cuenta que puede usar palabras clave especiales como "$NEXT" o "$PREV" para especificar el destino relativo al estado actual.

Este gráfico recibe entradas del usuario, por ejemplo, si se ha introducido un disco y la elección del modo de radio (FM, AM o CD). Después, el gráfico determina el comando mecánico de salida. Los tipos de datos de entrada y de salida se definen como tipos de datos enumerados en los archivos CdRequestMode.m y RadioRequestMode.m de MATLAB®.

El gráfico "CdPlayerBehaviorModel", que modeliza el comportamiento del mecanismo del reproductor de CD, procesa el comando de salida de "CdPlayerModeManager". Esta lógica también se implementa utilizando una tabla de transición de estados.

Se utiliza una interfaz de MATLAB para establecer los distintos modos de CD/radio.

Temas relacionados