Main Content

Usar Triggered Subsystems

Un subsistema activado es un subsistema atómico ejecutado de forma condicional que se ejecuta cada vez que la señal de control (señal de activación):

  • Bien aumenta de un valor negativo a un valor positivo o a cero, o aumenta de un valor cero a un valor positivo.

  • Bien disminuye de un valor positivo a un valor negativo o a cero, o disminuye de un valor cero a un valor negativo.

  • Aumenta o disminuye por o hasta un valor cero.

A diferencia del bloque Enabled Subsystem, un bloque Triggered Subsystem siempre mantiene sus salidas en el último valor entre activaciones. Además, los subsistemas activados no pueden reiniciar los estados de los bloques cuando se ejecutan. Los estados de cualquier bloque discreto se mantienen entre activaciones.

Crear un Triggered Subsystem

Para crear un subsistema activado:

  1. Añada un bloque Triggered Subsystem al modelo.

    • Copie un bloque de la biblioteca Ports & Subsystems de Simulink® al modelo.

    • Haga clic en el diagrama del modelo, comience a escribir trigger y, luego, seleccione Triggered Subsystem.

  2. Establezca el valor inicial y el valor de desactivación de los bloques Outport. Consulte Conditional Subsystem Initial Output Values y Conditional Subsystem Output Values When Disabled.

  3. Establezca cómo la señal de control activa la ejecución.

    Abra el bloque Subsystem y, luego, abra el cuadro de diálogo del parámetro para el bloque de puerto Trigger. En la lista desplegable Trigger type, seleccione:

    • rising: activa la ejecución del subsistema cuando la señal de control aumenta de un valor negativo o cero a un valor positivo.

    • falling: activa la ejecución del subsistema cuando la señal de control disminuye desde un valor positivo o cero a un valor negativo.

    • either: activa la ejecución del subsistema con una señal de control tanto ascendente como descendente.

    Aparecen diferentes símbolos en los bloques Trigger y Subsystem para indicar la activación ascendente y la activación descendente.

  4. Obtenga como salida la señal de control de habilitación del bloque de puerto Trigger. Abra el bloque de puerto Trigger. Seleccione la casilla Show output port para pasar la señal de control al subsistema activado.

    Puede usar esta señal con un algoritmo que dependa del valor de la señal de control.

  5. En la lista desplegable Output data type, seleccione auto, int8 o double.

    La opción auto provoca que el tipo de datos de la señal de salida sea el tipo de datos (o bien int8 o bien double) del puerto del bloque conectado a la señal.

Activación con sistemas de tiempo discreto

Para un sistema de tiempo discreto, la señal de control de activación debe permanecer en cero durante más de una unidad de tiempo. Esta estrategia de activación elimina activaciones falsas provocadas por el muestreo de señales de control.

En el siguiente diagrama de tiempo de un sistema discreto, una señal de activación ascendente (R) no ocurre en la unidad de tiempo 3. La señal de activación se mantiene en cero durante solo una unidad de tiempo antes de que la señal aumente desde cero.

Modelo activado en comparación con Triggered Subsystem

Puede colocar un bloque de puerto Trigger en un bloque Model (modelo referenciado) para simplificar el diseño del modelo en lugar de usar uno de estos bloques:

  • Un bloque Triggered Subsystem en un bloque Model.

  • Un bloque Model en un bloque Triggered Subsystem.

Para obtener más información sobre el uso de bloques de puerto Trigger en modelos referenciados, consulte Conditionally Execute Referenced Models.

Para convertir un subsistema para usar referencias de modelos, consulte Convert Subsystems to Referenced Models.

Bloques en un Triggered Subsystem

Todos los bloques en un subsistema activado deben tener Sample time establecido en heredado (-1) o constante (inf). Este requisito permite a los bloques de un subsistema activado ejecutarse solo cuando el subsistema activado se está ejecutando. Este requisito también significa que un subsistema activado no puede contener bloques continuos, como un bloque Integrator.

Ejemplos de modelo

Para ver ejemplos de modelo, consulte:

Consulte también

| | |

Temas relacionados