MGL849/README.md
2025-01-18 16:53:26 -05:00

7.0 KiB
Raw Permalink Blame History

MGL849 Hiver 2020

Modélisation, analyse et programmation des systèmes temps réel
Laboratoire #2
Panneau de contrôle des gaz


Objectif

Dans le laboratoire #2, on veut que vous consolidiez vos connaissances, acquises lors du laboratoire précédent, afin de réaliser dune façon plus autonome les fonctionnalités décrites ci-dessous.


Description du travail demandé

Dans ce laboratoire, vous allez concevoir et implémenter un logiciel embarqué sur le Raspberry Pi 3. Ce logiciel a pour objectif principal de réagir à la détection des fuites de gaz simulées dun programme fourni pour ce laboratoire. Ce logiciel de simulation joue aussi le rôle dun outil de test de la fiabilité et lefficacité du logiciel embarqué avant son installation dans une zone industrielle (au niveau des réservoirs ou des tuyauteries).

Figure 1 - Interface du programme de simulation

Figure 1 présente linterface du programme de simulation de fuites des gaz.

Elle comporte :

  • Des composants graphiques de variations (progress bar) des valeurs de trois types de gaz (qui peuvent être CO2, CO, O3, CH4, etc.). Ces valeurs affichées sont capturées par des capteurs dédiés à mesurer les concentrations des gaz et par conséquent détecter des fuites éventuelles.
  • Des actions (commandes) qui peuvent être appliquées en cas de fuites :
    • Aération à trois niveaux
    • Ventilation à deux niveaux
    • Injection de gaz : cette action se manifeste par linjection dun gaz qui peut neutraliser le gaz ciblé (celui de la fuite).

Lutilisateur peut réagir aux fuites de gaz manuellement via linterface graphique ou automatiquement via les réactions appropriées du logiciel embarqué.

Le logiciel embarqué à développer et le programme de simulation (test) doivent communiquer les valeurs, alarmes, et commandes via le réseau en utilisant les sockets. Le protocole de communication (description des messages) est défini dans le tableau ci-dessous.


Protocole de communication

Information Format Expéditeur → Récepteur
La concentration de gaz Gas1 LG1Val tq. Val=0..100 Prog. Simulation → Prog. Embarqué
La concentration de gaz Gas2 LG2Val tq. Val=0..100 Prog. Simulation → Prog. Embarqué
La concentration de gaz Gas3 LG3Val tq. Val=0..100 Prog. Simulation → Prog. Embarqué
La commande Aération niveau 1 AL1 Prog. Embarqué → Prog. Simulation
La commande Aération niveau 2 AL2 Prog. Embarqué → Prog. Simulation
La commande Aération niveau 3 AL3 Prog. Embarqué → Prog. Simulation
Désactivation de la réaction de laération AN Prog. Embarqué → Prog. Simulation
La commande Ventilation niveau 1 VL1 Prog. Embarqué → Prog. Simulation
La commande Ventilation niveau 2 VL2 Prog. Embarqué → Prog. Simulation
Désactivation de la réaction de la ventilation VN Prog. Embarqué → Prog. Simulation
Injection de gaz annulant leffet de Gas1 IG1 Prog. Embarqué → Prog. Simulation
Injection de gaz annulant leffet de Gas2 IG2 Prog. Embarqué → Prog. Simulation
Injection de gaz annulant leffet de Gas3 IG3 Prog. Embarqué → Prog. Simulation
Désactivation de linjection de Gas1 AIG1 Prog. Embarqué → Prog. Simulation
Désactivation de linjection de Gas2 AIG2 Prog. Embarqué → Prog. Simulation
Désactivation de linjection de Gas3 AIG3 Prog. Embarqué → Prog. Simulation
Commande dalerte pour Gas1 AG1X X = ``, L, M, H Prog. Embarqué → Prog. Simulation
Commande dalerte pour Gas2 AG2X X = ``, L, M, H Prog. Embarqué → Prog. Simulation
Commande dalerte pour Gas3 AG3X X = ``, L, M, H Prog. Embarqué → Prog. Simulation

Description des actions

Graduation (croissante) Action Effet Coût
1 Aération niveau 1 Effet faible sur une faible fuite Presque rien à perdre
2 Aération niveau 2 Effet modéré sur une faible fuite Nécessite un peu plus dénergie
3 Aération niveau 3 Effet important sur une faible fuite Parfois nest pas possible
4 Ventilation niveau 1 Effet modéré sur une fuite moyenne Consommation dénergie considérable
5 Ventilation niveau 2 Effet important sur une fuite moyenne Plus de consommation
6 Injection de gaz Neutralité totale du gaz Le gaz à injecter coûte cher et est une ressource épuisable

Remarques

Pour raison de simplification, les valeurs des concentrations des gaz sont en pourcentage. Par exemple, le 100% du gaz CO2 peut correspondre à la valeur 1000 ppm.

  • Pas dalarme ('') si la valeur est entre 0-5.
  • Alarme niveau 1 (L pour Low) si la valeur est entre 6-20.
  • Alarme niveau 2 (M pour Medium) si la valeur est entre 21-50.
  • Alarme niveau 3 (H pour High) si la valeur est entre 51-100.

En notant que le temps de réaction du logiciel embarqué est critique, la décision de laction à appliquer devrait être appropriée en termes de :

  • Efficacité : Neutraliser leffet de la fuite et informer les surveillants par des alarmes.
  • Coût : Minimiser les ressources consommées pour éviter des réactions excessives.

Finalement, vous avez la liberté de décider comment organiser les tâches. Il est très recommandé dutiliser autant que possible les techniques de modélisation acquises dans le cours.