La programmation Multi-Thread sous C++ Builder
1. ORIGINE DU SUJET
Le sujet du présent examen a pour origine la réfection d’un banc de mesure de
puissance à la jante d’automobiles.
2. OBJECTIF
Vérifier certains savoir-faire liés aux compétences, réaliser et tester en couvrant
les champs technologiques «Informatique» et «Automatisme».
En particulier, le domaine étudié est l’interface homme / machine sous Windows
avec l’architecture document - vue du modèle SDI et la programmation Multi-thread
ainsi que la synchronisation par échange de message.
Points techniques abordés :
Application basée sur le modèle SDI
Boutons de commande
Zone d’édition
Thread
Messages
Traitement dexceptions
3. CONDITIONS DE REALISATION
Travail individuel : 4 heures dont 1h30 d’analyse
Une partie des documents est distribuée à l’issue de ce temps
Programmation Multi-Thread,
LYCEE DU GRESIVAUDAN
MEYLAN APSII DAI 2002
1 / 14
4. MISE EN SITUATION
4.1. Objectif
L’objectif de ce projet est de réaliser la réfection d’un banc de puissance à la jante AUTO
TECHNIC GAZ du Mans. Cette réfection permet également l’automatisation du relevé des
mesures par l’intermédiaire d’un ordinateur équipé d’une carte d’entrées / sorties multifonctions et
de son logiciel d’exploitation.
4.2. Définition de la partie opérative
La partie opérative existante est représentée par la figure ci-dessous. La voiture, par
l’intermédiaire de ses roues motrices, entraîne les rouleaux du banc. Le couple résistant produit
par le frein électromagnétique sur les rouleaux ainsi que leur vitesse de rotation sont relevés pour
différentes valeurs de vitesse prédéterminées.
Rouleau d’entraînement
Frein electro-magnétique
Jauge de contrainte (mesure du couple)
Codeur incmental
(mesure de la vitesse)
Dispositif de blocage des rouleaux pour
la manœuvre du véhicule
La prise de différentes valeurs simulant un accroissement de dénivellation de la route permet de
tracer la caractéristique de puissance et de couple de la voiture.
Les rouleaux ont une circonférence d’un mètre linéaire. A partir de cette donnée et de la vitesse
de rotation des rouleaux, la vitesse du véhicule en Kilomètre par heure est facilement déduite.
Programmation Multi-Thread,
LYCEE DU GRESIVAUDAN
MEYLAN APSII DAI 2002
2 / 14
4.3. Définition de la partie commande
Cette partie fait l’objet du développement à la charge d’une équipe d’électrotechniciens. Elle est
constituée d’une armoire de commande renfermant entre autre un gradateur pour la commande du
frein, un micro automate TSX, un afficheur déporté et un boîtier de commande pour piloter le
système du véhicule.
L’ordinateur et l’automate dialoguent entre eux par l’intermédiaire d’entrées / sorties «tout ou rien »
afin de synchroniser le processus de mesure.
Des commutateurs et autres poussoirs assurent la mise en marche et la configuration du système.
Des voyants sur larmoire permettent de suivre l’évolution du processus.
E/S TOR
(5+3)
Partie à
informatiser
Programmation Multi-Thread,
LYCEE DU GRESIVAUDAN
MEYLAN APSII DAI 2002
3 / 14
4.4. Echange avec l’armoire de commande
Le dialogue entre l’armoire et l’ordinateur se fait par une liaison fil à fil sur des entrées / sorties
TOR. La signification des différents signaux a été définie en collaboration avec léquipe des
électrotechniciens qui réalisent l’armoire. Il en résulte :
En entrée pour l’ordinateur
Bit 0
Etat de l'armoire
Le bit est au niveau haut lorsque l’Armoire est prête
et au niveau bas pour signaler un défaut.
Bit 1
Type d'acquisition
Le bit est au niveau haut pour "PUISSANCE" et au
niveau bas pour "ACCELERATION".
Bit 2
Arrêt Demandé
Le bit est au niveau haut lorsque l’opérateur a
appuyé sur le bouton «Fin »
Bit 3
Début Cycle
Le bit est au niveau haut lorsque l’opérateur a
appuyé sur le bouton «Début Cycle ».
En sortie pour l’ordinateur
Bit 0
Cycle de mesure en cours
Le bit est au niveau haut lorsque les mesures sont en
cours. Permet l’allumage du voyant «Cycle en
cours ».
Bit 1
Ordinateur prêt
Le bit est au niveau haut lorsque le PC de
supervision est prêt à acquérir des mesures. Permet
l’allumage du voyant «Prêt ».
Bit 2
Fin de mesure
Le bit est au niveau haut lorsque l’acquisition des
mesures est terminée.
Chacun de ces bits est respectivement relié soit au mot d’entrées (8 bits) soit au mot de sorties (8
bits également) de la carte d’entrées / sorties multifonctions et plus particulièrement au groupe
d’entrées / sorties TOR de cette carte.
L’étude présentée ici porte uniquement sur la gestion de cet échange entre l’armoire de
commande et l’ordinateur. L’examen de la description d’un des cas d’utilisation présenté ci-
après en montre l’importance.
Programmation Multi-Thread,
LYCEE DU GRESIVAUDAN
MEYLAN APSII DAI 2002
4 / 14
4.5. Exemple le cas d’utilisation : « Mesure de la puissance »
Détail du cas d’utilisation :
Réf. : UC 4 / BPJ
Etends le cas d’utilisation
Réalisation d’un essai
Utilise le cas d’utilisation
Régulation de la vitesse des rouleaux
Pré Conditions
Le contrôleur a paramètré une vitesse d'attente et suffisamment de paliers de
mesure pour tracer une courbe représentative. La valeur de la vitesse d'attente est
inférieure aux paliers de mesure.
Description détaillée
A la demande d'un contrôle de puissance en mode automatique, la courbe de
puissance et les acquisitions qui la composent sont initialisées. Le
rafraîchissement des entrées / sorties de l'armoire est lancé pour obtenir les
commandes du contrôleur au niveau de l'armoire et l'informer de l'évolution du
processus. Le banc de puissance fixe la vitesse d'attente à partir des paramètres
de l'essai qui ont été présélectionnés et lance la régulation de la vitesse des
rouleaux. Le voyant "Ordinateur prêt" clignote.
Lorsque la vitesse du véhicule est stabilisée à la vitesse d'attente, le voyant
"Ordinateur prêt " reste allumé et le contrôleur peut appuyer sur le bouton "Début
cycle". A partir de cet instant, une nouvelle série de mesures qui compose les
acquisitions est créée. Le voyant "Cycle en cours" s'allume à son tour. Le
régulateur reçoit alors une nouvelle consigne de vitesse désignant un premier
palier de mesures. La vitesse à nouveau stabilisée, la valeur du couple et de la
vitesse sont ajoutées aux acquisitions de la série de mesures courante, la
puissance est calculée et la courbe de puissance est doté des nouveaux points C=
f(V) et P = f(V). Le procédé reprend pour chaque palier de mesure. A la fin de la
série de mesures, le voyant "Fin de cycle" s'allume et le voyant "Cycle en cours"
s'éteint. Le régulateur reçoit alors la valeur de la vitesse d'attente comme
consigne, le voyant "Ordinateur prêt" se remet à clignoter jusqu'à ce que la vitesse
du véhicule se stabilise à nouveau.
Le contrôleur à partir du boîtier de commande dispose de deux possibilités, soit
refaire une nouvelle série de mesures avec les mêmes paliers en appuyant sur le
bouton "Début cycle" ou arrêter les acquisitions en appuyant sur le bouton "Arrêt".
Dans les deux cas le voyant "Fin de cycle" s'éteint. Lorsqu'il choisit l'arrêt, il
relâche petit à petit la pédale d'accélérateur et rétrograde chaque rapport de
vitesse pour arrêter le véhicule. Pendant ce temps, le régulateur libère
progressivement le frein jusqu'à annulation de la force de freinage.
A la fin de l'essai, ou lorsqu'il est choisi de l'interrompre, le contrôleur appui sur le
bouton "Arrêt des acquisitions" sur le panneau de contrôle de l'ordinateur, le
voyant "Ordinateur prêt" s'éteint et l'utilisateur est invité à sauvegarder ses
acquisitions sur disque.
Il conduit pour partie au développement des classes BancDePuissance et ArmoireDeCommande.
Il conduit pour partie au développement des classes Régulateur et PropriétésEssai.
Il conduit au développement de la classe CourbesAcquisition qui réalise l’affichage des courbes
pendant les acquisition ainsi que la partie de la classe Acquisition permettant le stockage des
données. A prévoir également pour cette classe la sauvegarde sur disque.
Diagramme de séquence :
Réf. : OSD4 / BPJ
1 / 14 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !