Main Content

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

Sous-systèmes et modèles à exécution conditionnelle

Contrôler quand un sous-système ou un modèle doit s'exécuter

Un sous-système à exécution conditionnelle, également appelé sous-système conditionnel, est un sous-système non virtuel dont l'exécution peut être contrôlée par un signal externe. Ce signal externe est appelé signal d'action ou signal de contrôle. Il est connecté au port d'entrée de l'action ou du contrôle. Les sous-systèmes conditionnels sont utiles lors de la création de modèles complexes contenant des composants dont l'exécution dépend d'autres composants.

Simulink® supporte les types de sous-systèmes conditionnels suivants :

  • Action Subsystem : s'exécute à chaque pas de temps où une condition logique est vraie dans un If Action Subsystem ou qu'un signal a l'une des valeurs spécifiées dans un sous-système Switch Case Action Subsystem. Consultez la rubrique Select Subsystem Execution.

  • Enabled Subsystem : s'exécute à chaque pas de temps où le signal de contrôle est positif. L'exécution commence au pas de temps où le signal de contrôle passe par zéro dans le sens négatif vers positif. Consultez la rubrique Using Enabled Subsystems.

  • Triggered Subsystem : s'exécute à chaque pas de temps où le signal de contrôle atteint ou passe par zéro. Consultez la rubrique Using Triggered Subsystems.

  • Enabled and Triggered Subsystem : s'exécute au pas de temps où la condition d'activation, contrôlée par le signal du block Enable, prend une valeur positive et la condition de déclenchement, contrôlée par le signal de contrôle du block Trigger, passe à zéro. Consultez la rubrique Using Enabled and Triggered Subsystems.

  • Message Triggered Subsystem and Message Polling Subsystem : utilisent des messages comme signal de contrôle et s'exécutent en fonction de la disponibilité d'un message au port de contrôle. Consultez la rubrique Using Message Polling and Message Triggered Subsystems.

  • Function-Call Subsystem : s'exécute lorsque le port de contrôle reçoit un événement d'appel de fonction. Les événements peuvent se produire une ou plusieurs fois dans un pas de temps. Consultez la rubrique Using Function-Call Subsystems.

Simulink supporte également le sous-système Resettable, qui s'exécute à chaque pas de temps mais réinitialise tous les blocs du sous-système à leur condition initiale lorsque le signal de contrôle atteint ou passe par zéro. Consultez la rubrique Using Resettable Subsystems.

Vous pouvez configurer un modèle référencé pour qu'il s'exécute de manière conditionnelle comme un sous-système. Consultez la rubrique 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.

Blocs

développer tout

IfSelect subsystem execution using logic similar to if-else statement
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 (depuis 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

Fonctions

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

Rubriques

Fondamentaux des sous-systèmes à exécution conditionnelle

Types de sous-systèmes à exécution conditionnelle

Initialisation des sorties d'un sous-système