Contenido principal

Crear modos de funcionamiento principales y secundarios

En gráficos de Stateflow®, puede crear modos de funcionamiento anidados colocando un estado dentro del borde de un estado existente. El estado existente se denomina un estado principal y los estados que contiene se denominan estados secundarios.

El contenido del estado principal actúa como un gráfico más pequeño. De modo similar a un gráfico, el estado principal contiene una transición predeterminada. Cuando el estado principal se activa, también se activa el estado secundario conectado a la transición predeterminada. Después, el gráfico realiza transiciones entre los estados secundarios. Cuando el estado principal se desactiva, también se desactivan los estados secundarios.

Por ejemplo, en este modelo de las luces de emergencia de una ambulancia, el estado On tiene los estados secundarios Red y White. Cuando On se activa, la ambulancia alterna las luces de colores, comenzando con el estado Red. Cuando On se desactiva, ambas luces se desactivan.

En este ejemplo, puede utilizar estados secundarios para modelar las velocidades de carga variables de un sistema de baterías recargables.

Abrir el modelo

El modelo sfGetStartedBattery representa la lógica de control para un sistema de baterías recargables. Para construir el modelo, siga las instrucciones de los pasos anteriores del tutorial.

Haga doble clic en el bloque Chart para entrar en el gráfico de la batería.

Los estados Charge y Discharge representan los modos de funcionamiento del sistema de baterías. Los datos de entrada isCharging determinan el estado activo. Los datos de salida sentPower y los datos locales charge representan la potencia de salida y el nivel de carga de la batería.

Añadir estados secundarios a una jerarquía de modelo

Actualmente, el sistema de baterías continúa cargándose cuando está lleno y descargándose cuando está vacío. Para representar los modos de carga completo, vacío e intermedio, el sistema de baterías requiere modos de funcionamiento adicionales:

Modo principal Modo secundario Acciones Condición de salida
Charge FastCharge Cuando está activo, el nivel de carga aumenta a una velocidad del 4% Cuando el nivel de carga es superior al 80%, pasa a SlowCharge
Charge SlowCharge Cuando está activo, el nivel de carga aumenta a una velocidad del 1% Cuando el nivel de carga es igual al 100%, pasa a Full
Charge Full Ninguna Ninguna
Discharge Powered Cuando está activo, el nivel de carga disminuye a una velocidad del 3% Cuando el nivel de carga es inferior o igual al 3%, pasa a Empty
Discharge Empty Al entrar en este modo, la potencia de salida se establece en 0 Ninguna

Añada un estado que represente la carga rápida.

  1. En los estados Charge y Discharge, elimine las acciones during.

  2. Expanda los estados Charge y Discharge para que puedan contener hasta tres estados secundarios. Para cambiar el tamaño de un estado, haga clic en cualquier esquina y arrástrela hacia afuera.

  3. En Charge, añada un estado secundario denominado FastCharge. Los estados secundarios deben estar incluidos por completo en el estado principal. Los bordes del estado principal y los estados secundarios no pueden superponerse.

  4. En FastCharge, añada una acción during que incremente los datos charge en 4.

Añada dos estados que representen la carga lenta y pausada.

  1. Añada un estado secundario denominado SlowCharge. Añada una acción during que incremente charge en 1.

  2. Cree una transición de FastCharge a SlowCharge que se ejecute cuando charge supere 80.

  3. Añada un estado secundario denominado Full.

  4. Añada una transición de SlowCharge a Full que se ejecute cuando charge sea igual a 100.

Añada dos estados que representen la descarga normal y pausada.

  1. En Discharge, añada un estado secundario denominado Powered. Añada una acción during que disminuya charge en 3.

  2. Añada otro estado secundario denominado Empty. Añada una acción entry que establezca sentPower en 0.

  3. Añada una transición entre Powered y Empty que se ejecute cuando charge es inferior o igual a 3.

Simular el modelo

Observe cómo el gráfico realiza transiciones entre los estados secundarios.

  1. En Simulink Editor, asegúrese de que el bloque Manual Switch está establecido en 1.

  2. En la pestaña Simulation, haga clic en Run para simular el modelo. En el primer paso, tanto Charge como FastCharge están activos. A medida que charge aumenta, el gráfico pasa a los estados secundarios SlowCharge y Full. En el panel Symbols, charge nunca supera 100.

  3. Regrese al modelo de Simulink de nivel superior. Alterne el valor del bloque Manual Switch haciendo doble clic en el bloque.

  4. Entre en el gráfico. El gráfico activa el estado Discharge y el estado secundario Powered. Cuando charge disminuye por debajo de 3, el gráfico realiza la transición de Powered a Empty. En el panel Symbols, charge nunca es inferior a 0.

El modelo de batería ahora es más realista. Sin embargo, el diseño sigue teniendo problemas. Por ejemplo, si el dispositivo conectado requiere menos de 3,5 vatios de potencia, la salida de la batería no cambia.

En el siguiente paso del tutorial, creará un diagrama de flujo que varía la salida de potencia del sistema de baterías en función de la demanda del dispositivo conectado.

Consulte también

Temas