2010 : Tableau de bord de la C4


Tableau de bord de la C4

Prise en main matériel
Programmation C & C#
Carte d'acquisition NI-CAN
Mise en situation
Niveau : BTS IRIS première année (15/03/2010)
Durée : 36 H
Equipe : 2 Etudiants
|
Objectif
- C1.6 Présenter la mise en œuvre d’une solution informatique
- C2.1 S’intégrer dans une équipe de projet
- C4.6 Assembler les éléments matériels assurant la liaison physique dans un système de communication
- C4.7 Installer les différentes couches logicielles d’un système de communication sur une station
- C4.8 Coder un module logiciel
- C4.9 Intégrer un module logiciel dans une application
- C5.4 Exploiter un réseau local industriel ou un bus de terrain
- C6.2 Dépanner un système informatique
- C6.6 Dépanner un module logiciel
|
Pré requis
- Programmation C et C#
- Bus de terrain CAN
|
Travail demandé
- Prise en main de Microsoft Visual Studio
- Créer une interface C ou C# de supervision
- Utiliser, modifier le composant CCadranC4 dans une application C#.
|
Matériel
- La partie opérative « Tableau de bord C4 »
- Carte d’acquisition NI-CAN.
- PC de développement (Visual Studio)
- La classe CCadranC4 (*.h & *.cpp) implémentée en C++.
- Documentation (C#, Carte NI-CAN, Tableau de bord C4)
|
Critères d’évaluation
- Un rapport par groupe figurant la description du travail fourni. Une première partie décrit le travail du groupe, puis chaque étudiant décrit son propre travail. Le rapport doit être clair et doit servir de guide d’utilisateur c’est à dire qu’un utilisateur doit pouvoir à l’aide de ce rapport facilement utiliser l’application développée. Les sources du code seront données en annexe.
- Un exposé oral d’une durée de 15mn, décomposé en 10mn sans interruption du jury suivi de 5mn de questions. Cet exposé aura comme support le rapport précédemment décrit. Il se déroulera dans la semaine 20/21.
- Une démonstration du développement en cours de TP
- Une partie du travail se fait en groupe, une autre individuellement. Mais le principe est de réaliser la totalité de l’application. Le travail de groupe est donc prédominant, l’entraide entre étudiant est donc souhaité, voir indispensable.
- Un CD de sauvegarde de l’ensemble du travail (Rapport, code, manuel d’utilisation…)
|
Mise en situation

Le but de ce projet est de réaliser un simulateur de conduite light : l'utilisateur fixe la vitesse et l'application met à jour le compteur de distance totale et le niveau de carburant à la fois sur l'écran PC et sur le tableau de bord de la C4.
L'utilisateur fixe une vitesse sur l’IHM du simulateur, elle sera affichée sur le tableau de bord de la C4. En se basant sur la période d’un
timer logiciel, l'application calculera la distance parcourue et mettra à jour le compteur de
distance totale.
De même en se basant sur une
consommation arbitraire (on pourra la prendre fixe ou la rendre dépendante de la vitesse), l'application calculera la consommation sur une période et mettra à jour le niveau de
carburant.
De plus l'utilisateur pourra fixer le
régime moteur, la
température de l'eau et procéder à l'extinction des différents témoins ou alertes.
Un fichier
param.txt contiendra la
consommation arbitraire et de sauvegarder les informations de
distance et de
niveau de carburant afin qu'entre 2 utilisations de l'application, on garde ces valeurs. La liaison
can sera gérée par un objet de la classe
CCadranC4. Procédez aux opérations suivantes, avec une carte
can pci nidaq :

L'objet CCadranC4 s'utilise de la façon suivante :
#include "CadranC4.h"
CCadranC4 *monCadran; à mettre comme membre private de la classe form1 indiqué comme variable nécessaire au concepteur.
monCadran= new CCadranC4 (); à mettre après l'appel de la méthode InitializeComponent
monCadran->.. à mettre dans le code attaché aux composants de form1 selon l'action à réaliser
La gestion du temps se fera grâce à un composant logiciel
timer. Une valeur de
100 indiquera que la méthode attachée au
timer est appelée automatiquement toutes les
100ms. Il est alors aisé de calculer la distance parcourue à chaque appel de la méthode par rapport à la fois précédente en se basant sur la vitesse et la consommation en se basant sur une consommation aux 100 km. Il suffit d'ajouter pour la distance parcourue et de retrancher pour le niveau les compteurs sur le combiné.
Pour sortir un message, utilisez
MessageBox (NULL,"message ", NUL, NULL);
Travail demandé :
Travail de groupe :
- Vérifier la configuration du logiciel de développement sur le poste de développement (Visual Studio, PATH).
- Installer la carte NI-CAN.
- Câbler la partie opérative à la carte d’acquisition.
- Comprendre le fonctionnement du Bus CAN, voir CAN.ppt et busCan-trames.ppt.
- Prendre en main la carte d’acquisition NI-CAN :
-
A l'aide du langage C, dans une application console, sans interface graphique.
- A l'aide du langage C#, dans une IHM, avec la classe CCadranC4
- Les spécifications de la C4 sont données dans : cadranc4.htm et bits des trames BSI combine.doc
- Définir l’interface graphique du simulateur (IHM).
- Définir la structure du fichier param.txt
Répartition du travail
Indications :
Basez vous sur l'exemple fourni sous
/Program Files/National Instruments/NI-CAN/MS Visual C/Frame API examples/Obj2Obj/Obj2obj.c et ne gardez que la partie transmission (envoi de l'identifiant 5 sur le port CAN1).
Attention : Installer d'abord le driver de la carte Ni-CAN pour pouvoir analyser l'exemple ci-dessus.
Etudiant 1 : Gestion de la vitesse et du régime moteur.
En vous aidant des spécifications du cadran de la C4
cadranc4.htm, de la partie opérative, de la carte NI-CAN et du fichier « bits des trames BSI combine.doc »:
- Implémenter une application C qui gère la vitesse et le régime moteur.
- Compléter l’application en ajoutant la possibilité de gérer les témoins V2 « pression d’huile moteur » & V8 « Contrôle moteur ».
- Proposez une IHM en C# qui permet de contrôler les témoins V2 et V8. Implémentez une classe pour chaque témoin.
Etudiant 2 : Gestion de la distance parcourue et de la consommation.
En vous aidant desspécifications du cadran de la C4, de la partie opérative, de la carte NI-CAN et du fichier « bits des trames BSI combine.doc »:
- Implémenter une application console en C qui gère l’indicateur de distance parcourue et l’indicateur du niveau de carburant.
- Compléter l’application en ajoutant la possibilité de gérer les témoins V3 « Alerte niveau carburant» et V17 « Inhibition air bag passager ».
- Proposez une IHM en C# qui permette de contrôler les témoins V3 et V17. Implémentez une classe pour chaque témoin

