La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.
Modélisation d’un contrôleur de la température de l’air
Cet exemple utilise la décomposition parallèle pour modéliser un contrôleur de l’air qui maintient la température de l’air à 120 degrés dans un système physique.
Au plus haut niveau, le diagramme du contrôleur de l’air présente deux états exclusifs : PowerOff et PowerOn. Le diagramme utilise la décomposition exclusive (OR), car le contrôleur ne peut pas être activé et désactivé simultanément.

Le contrôleur utilise deux ventilateurs. Le premier ventilateur se déclenche lorsque la température de l’air dépasse 120 degrés. Le deuxième ventilateur fournit un refroidissement supplémentaire lorsque la température de l’air dépasse 150 degrés. Le diagramme modélise ces ventilateurs comme des sous-états parallèles FAN1 et FAN2 de l’état de niveau supérieur PowerOn. Étant donné que les ventilateurs fonctionnent comme des composants indépendants qui sont activés ou désactivés en fonction du niveau de refroidissement nécessaire, PowerOn utilise une décomposition parallèle (AND) pour veiller à ce que les deux sous-états soient actifs lorsque le contrôleur est activé.
À l’exception des seuils de fonctionnement, les ventilateurs sont modélisés par les états avec une configuration identique de sous-états et de transitions qui reflète leurs deux modes de fonctionnement : On et Off. Étant donné qu'aucun des ventilateurs ne peut être sous et hors tension en même temps, FAN1 et FAN2 présentent une décomposition exclusive (OR).
Dans PowerOn, un troisième état parallèle appelé SpeedValue représente un sous-système indépendant qui calcule le nombre de ventilateurs qui se sont mis en marche à chaque pas de temps. L’expression booléenne in(FAN1.On) a pour valeur 1 lorsque l’état On de FAN1 est actif. Sinon, in(FAN1.On) est égal à 0. De même, la valeur de in(FAN2.On) indique si FAN2 a été activé ou désactivé. La somme de ces expressions indique le nombre de ventilateurs allumés à chaque pas de temps.
Spécification de l’ordre d’exécution des états parallèles
Bien que FAN1, FAN2 et SpeedValue soient actifs simultanément, ces états sont exécutés en série pendant la simulation. Les numéros situés dans les coins supérieurs droits des états précisent l’ordre d’exécution. La raison de cet ordre d’exécution est la suivante :
FAN1est exécuté en premier car il se déclenche à une température plus basse queFAN2. Il peut s’activer indépendamment du fait queFAN2soit activé ou désactivé.FAN2est exécuté en deuxième car il se déclenche à une température plus élevée queFAN1. Il peut s’activer uniquement siFAN1est déjà activé.SpeedValueest exécuté en dernier afin de pouvoir observer l’état le plus récent deFAN1etFAN2.
Par défaut, Stateflow attribue l’ordre d’exécution des états parallèles en fonction de leur ordre d’ajout au diagramme. Pour modifier l’ordre d’exécution d’un état parallèle, cliquez avec le bouton droit sur l’état et sélectionnez une valeur dans la liste déroulante Execution Order.
Modéliser le système physique
L’exemple présente un diagramme Stateflow appelé Air Controller et un sous-système Simulink® appelé Physical Plant.

En fonction de la température de l’air du système physique, le diagramme active les ventilateurs et transmet la nombre de ventilateurs en fonctionnement, airflow, au sous-système. Cette valeur détermine le facteur de l’activité de refroidissement,
, sur la base des règles suivantes :
airflow= 0 — Aucun ventilateur ne fonctionne. La température de l’air ne diminue pas à cause de
.airflow= 1 — Un ventilateur fonctionne. La température de l’air diminue en fonction du facteur d’activité de refroidissement
.airflow= 2 — Les deux ventilateurs fonctionnent. La température de l’air diminue en fonction du facteur d’activité de refroidissement
.
Le sous-système Physical Plant met à jour la température de l’air
dans le système physique sur la base des équations suivantes :


où :
est la température initiale. La valeur par défaut est de 70°.
est la température ambiante. La valeur par défaut est de 160°.
est le facteur de transfert de chaleur de l’installation. La valeur par défaut est de 0,01.
est le facteur de l’activité de refroidissement correspondant à airflow.
La nouvelle température détermine le niveau de refroidissement au prochain pas de temps de la simulation.