Main Content

Esta página es para la versión anterior. La página correspondiente en inglés ha sido eliminada en la versión actual.

Programar un subsistema varias veces en una sola unidad de tiempo

En este ejemplo se muestra cómo diseñar un programador en bucle en Stateflow®. El patrón de diseño del programador en bucle permite ejecutar un subsistema de Simulink® varias veces en una sola unidad de tiempo. Los programadores de Stateflow amplían el control de la ejecución de subsistemas en un modelo de Simulink, que determina el orden de ejecución de forma implícita basándose en la conectividad de los bloques y la propagación del tiempo de muestreo.

Comportamiento fundamental del programador en bucle

En este ejemplo, el gráfico del programador en bucle transmite un evento de salida de llamada a función para ejecutar el subsistema de llamada de función A1 varias veces en cada unidad de tiempo. Durante cada unidad de tiempo:

  1. El modelo de Simulink activa el gráfico Edge to Function en el flanco de subida del generador de pulsos de 1 milisegundo.

  2. El gráfico Edge to Function transmite el evento de salida de llamada a función call para activar el gráfico Loop Scheduler.

  3. El gráfico Loop Scheduler llama al operador send para transmitir el evento de salida de llamada a función A1 varias veces.

Cada transmisión del evento A1 ejecuta el subsistema A1. El subsistema calcula su salida y devuelve el control al gráfico Loop Scheduler.

Ejecutar el programador en bucle

Cuando se simula el modelo, el scope muestra el valor de y en cada unidad de tiempo.

Durante cada unidad de tiempo, el valor de y aumenta en 25 porque:

  • El diagrama de flujo del programador en bucle implementa un bucle for que itera 10 veces.

  • En cada iteración del bucle for, el gráfico aumenta y en 1 (el valor constante de la entrada u1).

  • Cada vez que el gráfico transmite el evento de salida al subsistema A1, el subsistema aumenta y en 1,5.

Consulte también

Temas relacionados