Main Content

Sottosistemi e modelli a esecuzione condizionata

Controllare il momento in cui il sottosistema o il modello viene eseguito

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 Using Enabled Subsystems.

  • 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.

Simulink canvas with Conditionally Executed Subsystem block. The Subsystem block has a control input port at the top and a data input port at the left, both connected to Inport blocks. The Subsystem block has a data output port at the right, connected to an Outport block.

Blocchi

espandi tutto

IfSelezionare l'esecuzione del sottosistema utilizzando una logica simile alla dichiarazione if-else
If Action SubsystemSubsystem whose execution is enabled by If block
Switch CaseSelect subsystem execution using logic similar to switch statement
Switch Case Action SubsystemSubsystem whose execution is enabled by Switch Case block
Enabled SubsystemSubsystem whose execution is enabled by external input
Triggered SubsystemSubsystem whose execution is triggered by external input
Enabled and Triggered SubsystemSubsystem whose execution is enabled and triggered by external inputs
Message Triggered SubsystemSubsystem whose execution is controlled by message input (Da R2022a)
EnableAdd enable port to subsystem or model
TriggerAdd trigger or function port to subsystem or model
Function-Call SubsystemSubsystem whose execution is controlled by external function-call input
Function-Call GeneratorProvide function-call events to control execution of subsystem or model
Function-Call SplitProvide junction for splitting function-call line
Function-Call Feedback LatchBreak feedback loop involving data signals between function-call blocks
TriggerAdd trigger or function port to subsystem or model
Resettable Subsystem Subsystem whose block states reset with external trigger

Funzioni

Simulink.getOutportInheritsInitialValueDetermine if conditional subsystem Outport block inherits initial output value (Da R2021a)

Argomenti

Nozioni di base sui sottosistemi a esecuzione condizionata

Tipi di sottosistemi a esecuzione condizionata

Inizializzazione dell’output del sottosistema