Gestion automatisé de l'éclairage d'un parking
Description du fonctionnement
Le contexte environnemental, impose des innovations dans la gestion des flux de stationnement des véhicules dans les grandes villes.
Ainsi pour faciliter la gestion d'énergie du parking et de celle des utilisateurs, de nouveaux parkings voient le jour régulièrement.
C'est le cas du parking d'un grand magasin de mobilier Suédois dans la banlieue de Nantes, où une gestion de l'éclairage et de l'indication intelligente des places de parking libre est réalisée.
Ci-contre, un schéma explicatif du fonctionnement de l'indication de place libre.
Pour l'éclairage 3 modes de fonctionnement sont pilotés :
un mode nuit qui commande l'extinction totale des éclairages (ECL=0) pendant la période de fermeture du magasin (22h-9h) ;
un mode jour, où l'éclairage est allumé (ECL=1) dès la présence d'une voiture sur le niveau (DV=1), son extinction se fera au bout d'un quart d'heure sans présence de véhicule;
un mode maintenance (ComMaint=1) où toutes les lampes sont allumées.
Le dispositif de contrôle dispose d'une horloge temps réel dont le paramètre h est incrémenté à chaque changement d'heure.
Question
Q1 : En tenant compte de la description du fonctionnement du parking, effectuer le bilan des variables d'entrées et de sorties du système étudié en complétant le tableau.
Entrées | Sorties | ||
---|---|---|---|
Variable | Désignation | Variable | Désignation |
\(~\) | |||
... | ... | ... | ... |
Indice
On parle de variable d'entrée pour une variable qui 'entre' dans la chaîne d'information.
On parle de variable de sortie pour une variable qui 'sort' de la chaîne d'information.
Indice
Pour la variable, on utilise un sigle ou une abréviation afin de simplifier l'écriture du Graphe d'états.
La désignation est la définition textuelle de la variable.
Solution
Entrées | Sorties | ||
---|---|---|---|
Variable | Désignation | Variable | Désignation |
DV | présence d'une voiture sur le niveau | ECL | commande de l'éclairage du niveau |
CommMaint | activation du mode maintenance |
La variable h n'est ni une variable d'entrée, ni une variable de sortie, mais une variable interne au système (interne à la fonction Traiter plus précisément).
Gestion de l'éclairage par graphe d'états - Mode jour
Dans un premier temps, nous allons étudier le mode jour seulement.
Question
Q2 : Indiquer les états possibles du mode jour. Préciser les actions à réaliser pour chaque état.
Indice
La réponse est dans la description du mode jour.
Solution
Il y a 2 états :
JourAttente => en attente d'une voiture, l'éclairage est éteint (Action => ECL = 0) ;
JourPrésenceVoiture = > présence d'une voiture sur le niveau, l'éclairage est allumé
(Action => ECL = 1).
Bien évidement, les noms d'état ci-dessus ne sont que des propositions.
Question
Q3 : Indiquer les conditions pour passer d'un état à un autre.
Indice
La réponse est aussi dans la description du mode jour.
Indice
Il faut transcrire une condition sous forme d'équation logique.
Rappel : si on veut une fonction "ET", par exemple A et B, on écrit A . B, si on veut une fonction "OU", par exemple A ou B, on écrit A + B
Indice
Une temporisation s'écrit (after, x min) où x est la durée de la temporisation (ici en minute).
Solution
Passage de l'état JourAttente à JourPrésenceVoiture si il y a présence d'une voiture (Condition => DV = 1).
Passage de l'état JourPrésenceVoiture à JourAttente si il n'y a pas de présence d'une nouvelle voiture (Condition => DV = 0 ) et 15 minutes se sont écoulées (Condition => (after, 15 min)),
ce qui devient : ( DV = 0 ) . (after, 15 min)
Question
Q4 : Dessiner un graphe d'états correspondant à vos réponses des questions 2 et 3. Attention, il est conseillé de laisser de la place autour de votre graphe que l'on complétera à la question 9.
Solution
Pour respecter l'écriture des conditions du logiciel Matlab, on écrit les conditions entre croché (par exemple, A et B devient [A . B]).
Le double égal (==) est une spécificité du logiciel Matlab.
Dans notre situation, on peut utiliser indifféremment le mode d'exécution 'during' (pendant l'activation de l'état) ou 'entry' (à l'activation de l'état).
Il ne faut pas oublier de déclarer un des 2 états en état initial (pour économiser l'énergie, il semble que l'état JourAttente soit le plus indiqué).
Question
Q4bis : La solution ci-dessus respecte-t-elle la contrainte 'l'extinction se fera au bout d'un quart d'heure sans présence de véhicule'.
Solution
Non, si un véhicule rentre entre temps il n'est pas pris en compte donc on ne relance pas la temporisation de 15 minutes.
C'est pourquoi je vous propose une nouvelle solution.
Gestion de l'éclairage par graphe d'états - Gestion globale
Dans un second temps, nous allons dessiner un graphe d'états permettant de gérer les 3 modes.
Question
Question
Q6 : Indiquer les conditions pour passer du mode jour au mode maintenance.
Indice
La réponse est dans la description du fonctionnement.
Indice
Attention, on quitte le mode maintenance vers le mode jour ou le mode nuit suivant l'heure (valeur de la variable h).
Solution
Passage du mode jour au mode maintenance si le mode maintenance est demandé (condition => ComMaint=1).
Passage du mode maintenance au mode jour si le mode maintenance n'est plus demandé (condition => ComMaint=0) et que l'on est en journée, donc entre 9h et 22h.
La condition h entre 9h et 22h est un peu complexe à exprimer pour le logiciel Matlab, il se peut donc que votre réponse soit juste mais différente de celle proposée.
Il faut transformer l'information 'entre 9h et 22h' en 'après 9h et avant 22h' (condition = >( h>=9 . h<22)).
Donc au final la condition de passage du mode maintenance au mode jour est :
(ComMaint=0) . ( h>=9 . h<22)
Question
Q7 : Indiquer les conditions pour passer du mode jour au mode nuit.
Indice
La réponse est dans la description du fonctionnement.
Indice
Attention, ces conditions dépendent de l'heure (valeur de la variable h).
Solution
Passage du mode jour au mode nuit si l'on est la nuit, donc entre 22h et 9h, donc, si je ramène sur la même journée, si je suis avant 9h ou après 22h (condition => (h<9 + h>=22)).
Passage du mode nuit au mode jour si je suis en journée, donc entre 9h et 22h, donc après 9h et avant 22h (condition = >( h>=9 . h<22)).
Question
Q8 : Indiquer les conditions pour passer du mode maintenance au mode nuit.
Indice
La réponse est dans la description du fonctionnement.
Indice
Attention, on quitte le mode maintenance vers le mode jour ou le mode nuit suivant l'heure (valeur de la variable h).
Solution
Passage du mode nuit au mode maintenance si le mode maintenance est demandé (condition => ComMaint=1).
Passage du mode maintenance au mode nuit si le mode maintenance n'est plus demandé (condition => ComMaint=0) et que l'on est la nuit, donc entre 22h et 9h, donc, si je ramène sur la même journée, si je suis avant 9h ou après 22h (condition => (h<9 + h>=22)).
Donc au final la condition de passage du mode maintenance au mode nuit est :
(ComMaint=0) . ( h<9 + h>=22)
Question
Q9 : Compléter le graphe d'état précédent à l'aide de vos réponses aux questions Q5 à Q8.
Indice
Il est plus simple de dessiner le graphe d'états si on crée un "super état" Jour dans lequel on englobe les états JourAttente à JourPrésenceVoiture.
Indice
Il ne faut pas oublier de déclarer le ou les états initiaux.
Solution
Pour respecter l'écriture des conditions du logiciel Matlab, on écrit les conditions entre croché (par exemple, A et B devient [A . B]).
Le double égal (==) est une spécificité du logiciel Matlab.
Dans notre situation, on peut utiliser indifféremment le mode d'exécution 'during' (pendant l'activation de l'état) ou 'entry' (à l'activation de l'état).
Il ne faut pas oublier de déclarer les états initiaux (pour économiser l'énergie, il semble que les états JourAttente et Nuit soient les plus indiqués).