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

Q5 : Lister et nommer les états nécessaires au bon fonctionnement.

Indice

La réponse est dans la description du fonctionnement.

Solution

Il y a 2 états en plus des états vu à la question 2 : un état Nuit et un état Maintenance.

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