Contenuto principale

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

Panoramica sui sottosistemi a esecuzione condizionata

Un sottosistema a esecuzione condizionata è un sottosistema non virtuale che consente di controllarne l'esecuzione tramite un segnale esterno. Il segnale esterno, chiamato segnale di controllo, è collegato alla porta di input del controllo. I sottosistemi condizionali sono utili quando si creano modelli complessi che contengono componenti la cui esecuzione dipende da altri componenti.

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

Simulink® supporta i seguenti tipi di sottosistemi condizionali:

  • 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 Utilizzo dei sottosistemi abilitati e attivati.

  • Sottosistema attivato da messaggio: utilizza i messaggi come segnale di controllo e viene eseguito ogni volta che un messaggio è disponibile alla porta di controllo, indipendentemente dal tempo di campionamento del blocco. Vedere Using Message Polling and Message Triggered Subsystems.

  • Sottosistema a polling di messaggio: utilizza i messaggi come segnale di controllo e viene eseguito a ogni passaggio temporale quando un messaggio è disponibile alla porta di controllo. Vedere Using Message Polling and Message Triggered Subsystems.

  • Sottosistema a chiamata di funzione: viene eseguito quando il segnale di controllo riceve un evento di chiamata di funzione. Gli eventi possono verificarsi una o più volte durante un passaggio temporale. Un grafico Stateflow®, un blocco Function-Call Generator, un blocco S-Function o un blocco Hit Crossing possono fornire eventi di chiamata di funzione. Vedere Using Function-Call Subsystems.

Un sottosistema eseguito in modo condizionato o un modello referenziato eseguito in modo condizionato viene eseguito:

  • Una volta al passaggio temporale corrente, se abilitato da un blocco controllo. Un blocco di controllo implementa una logica di controllo simile a quella espressa da una dichiarazione del linguaggio di programmazione, come if-then-else o switch.

  • Una volta al passaggio temporale corrente, quando è abilitato o attivato da un segnale di controllo o da un segnale di azione.

  • Una o più volte durante un passaggio temporale quando riceve un evento di chiamata di funzione.

Simulink canvas with If block with 2 output ports, each of which is connected by dotted lines to the action port of a separate If Action subsystem block. Output of each If Action subsystem block is connected to a Merge block, whose output is connected to an Outport block. Inputs of the If block and both If Action Subsystem blocks are connected to Inport blocks.

Simulink canvas showing 2 models. In the first model, there are 2 Enabled Subsystem blocks. An Inport block lableled "Enable Signal" is connected to the control port of one Enabled Subsystem block, and to a Not block whose output is connected to the other Enabled Subsystem block. The outputs of both Enabled Subsystem blocks are connected to a Merge block. In the second model, an Inport block labeled "Function-Call Event" is connected to the control port of a Model block labeled "Enabled_Model".

Per i modelli di esempio, vedere Semantiche dei sottosistemi di Simulink.

Vedi anche

| | | |

Argomenti