Sottosistemi e modelli a esecuzione condizionata
Un sottosistema a esecuzione condizionata, noto anche come sottosistema condizionale, è un sottosistema non virtuale che consente di controllarne l'esecuzione tramite un segnale esterno. Il segnale esterno, chiamato segnale di azione o segnale di controllo, è collegato alla porta di input dell’azione o del controllo. I sottosistemi condizionali sono utili quando si creano modelli complessi che contengono componenti la cui esecuzione dipende da altri componenti.
Simulink® supporta i seguenti tipi di sottosistemi condizionali:
Sottosistema di azione: viene eseguito a ogni passaggio temporale quando una condizione logica è vera in un sottosistema di azione If o quando un segnale possiede uno di una serie di valori specificati in un sottosistema di azione di commutazione del caso. Vedere Select Subsystem Execution.
Sottosistema abilitato: viene eseguito a ogni passaggio temporale quando il segnale di controllo è positivo. L'esecuzione inizia al passaggio temporale in cui il segnale di controllo attraversa lo zero dalla direzione negativa a quella positiva. Vedere Utilizzo di sottosistemi abilitati.
Sottosistema attivato: viene eseguito a ogni passaggio temporale quando il segnale di controllo sale a zero, scende a zero o attraversa lo zero. Vedere Utilizzo dei sottosistemi attivati.
Sottosistema abilitato e attivato: viene eseguito al passaggio temporale in cui il segnale di controllo di abilitazione ha un valore positivo e il segnale di controllo di innesco sale a zero o scende a zero. Vedere Using Enabled and Triggered Subsystems.
Sottosistema attivato da messaggio e sottosistema a polling di messaggio: utilizza i messaggi come un segnale di controllo e viene eseguito in base alla disponibilità di un messaggio alla porta di controllo. Vedere Using Message Polling and Message Triggered Subsystems.
Sottosistema a chiamata di funzione: viene eseguito quando la porta di controllo riceve un evento di chiamata di funzione. Gli eventi possono verificarsi una o più volte durante un passaggio temporale. Vedere Using Function-Call Subsystems.
Simulink supporta inoltre il sottosistema ripristinabile, che viene eseguito a ogni passaggio temporale ma ripristina tutti i blocchi all'interno del sottosistema alle loro condizioni iniziali nel momento in cui il segnale di controllo sale a zero, scende a zero o attraversa lo zero. Vedere Using Resettable Subsystems.
È possibile configurare un modello referenziato per l'esecuzione condizionale come un sottosistema. Vedere Conditionally Execute Referenced Models.
Blocchi
Funzioni
Simulink.getOutportInheritsInitialValue | Determine if conditional subsystem Outport block inherits initial output value (Da R2021a) |
Impostazioni modello
Input dipendenti dal contesto | Diagnostic action to take when function-call subsystem can change its inputs |
Argomenti
Nozioni di base sui sottosistemi a esecuzione condizionata
- Conditionally Executed Subsystems Overview
Overview of conditionally executed subsystems. - Conditionally Execute Referenced Models
Execute referenced models conditionally, similar to conditionally executed subsystems. - Ensure Output Port Is Virtual
Prevent buffering of conditional subsystem or model output. - Use Control Flow Logic
How to use control flow blocks to model control logic.
Tipi di sottosistemi a esecuzione condizionata
- Select Subsystem Execution
Execute subsystem once during a time step in response to an action signal. - Utilizzo di sottosistemi abilitati
Creare un sottosistema che venga eseguito quando un segnale di controllo ha un valore positivo. - Utilizzo dei sottosistemi attivati
Creare un sottosistema che venga eseguito da un segnale di attivazione. - Using Enabled and Triggered Subsystems
Create a subsystem that executes with a trigger signal or control signal with a positive value. - Using Message Polling and Message Triggered Subsystems
Demonstrate and compare Message Triggered Subsystems and Message Polling Subsystems. - Using Function-Call Subsystems
Create a subsystem that executes with a function call. - Using Resettable Subsystems
Create a subsystem that resets all block states with a trigger signal. - Fixed-Point Data Type Support for If Block
This topic explains how to use a Compare To Constant block for If block fixed-point data type support.
Inizializzazione dell’output del sottosistema
- Conditional Subsystem Initial Output Values
Specify initial output values for a conditional subsystem. - Conditional Subsystem Output Values When Disabled
Specify output behavior when conditional subsystem is disabled. - Simplified Initialization Mode
Control initial values for conditional subsystems.