Documente Academic
Documente Profesional
Documente Cultură
Cours 13T
Langage C et gestion des entres/sorties
Guide Didactique du Formateur
Deuxime Anne
Programme de Formation des Techniciens
Spcialiss en lectronique
DIRECTION DE LA RECHERCHE ET INGNIERIE DE LA FORMATION
Septembre 1996
RDACTION
Robert Pesant
DESSINS ET CONCEPTION GRAPHIQUE
Pierre Asselin
RVISION TECHNIQUE
Robert Pesant
RVISION LINGUISTIQUE
Franois Gaudreau
270606679.doc
Cours 13T
Page 2
OFPPT/TECCART
1. INFORMATIONS GNRALES
01.1 nonc de la comptence
11.2 Description gnrale du cours
21.3 Place du cours dans le programme
2. DCOUPAGE ET ORDONNANCE DES MODULES
32.1 Critres particuliers de performance
42.2 Explication gnrale du dcoupage
02.2.1 Prsentation module par module................................................................................
12.2.2 Rpartition des modules.............................................................................................
3. LES TRAVAUX PRATIQUES
53.1 Vue globale
63.2 Description gnrale
23.2.1 TP1. Environnement Borland C++, de ldition lexcution....................................
33.2.2 TP2. Initiation la manipulation de donnes..............................................................
43.2.3 TP3. Prises de dcisions et boucles............................................................................
53.2.4 TP4. Modles de programme.....................................................................................
63.2.5 TP5. Fonctions...........................................................................................................
73.2.6 TP6. Projets................................................................................................................
83.2.7 TP7. Systme dalarme avec la carte ESN1...............................................................
93.2.8 TP8. Lecture dun transmetteur 4-20 mA avec la carte ESA1...................................
4. LES VALUATIONS
74.1 Vue globale
84.2 Directives avant, pendant et aprs une valuation
104.2.1 Directives aux stagiaires...........................................................................................
114.2.2 Directives au surveillant............................................................................................
124.2.3 Comment corriger les valuations............................................................................
94.3 Critres de performance
134.3.1 Examen thorique #1................................................................................................
144.3.2 Examen pratique #1..................................................................................................
154.3.3 Examen thorique #2................................................................................................
164.3.4 Examen pratique #2..................................................................................................
Cours 13T
Page 3
OFPPT/TECCART
5. STRATGIE DENSEIGNEMENT
105.1 Enseignement thorique
115.2 Travaux pratiques
125.3 Fiches pdagogiques
175.3.1 Module 1..................................................................................................................
185.3.2 Module 2..................................................................................................................
195.3.3 Module 3..................................................................................................................
6. PLANIFICATION DU COURS
7. SUPPORTS DIDACTIQUES
137.1 Mdiagraphie
147.2 Logiciel
157.3 Matriel requis en thorie pour le formateur
167.4 Matriel requis en laboratoire pour le stagiaire
Cours 13T
Page 4
OFPPT/TECCART
Informations gnrales
Depuis le dbut des annes quatre-vingt, les domaines de l'instrumentation, de l'automatisation et
des tlcommunications ont progresss de faon considrable. Les quipements deviennent
numriques et permettent des performances accrues. Les organes de commandes peuvent tre
branchs en rseau pour changer des donnes. La quantit de donnes recueillies, stockes et
analyses ncessite l'usage d'ordinateurs performants et d'un langage de programmation volu.
Le langage C est en train de devenir LE langage de programmation de l'industrie. Voici quelques
exemples qui le confirment.
1.
De plus en plus de logiciels sont dvelopps en C.
2.
La majorit des cartes d'acquisitions de donnes sont vendues avec des bibliothques
( librairies ) en C.
3.
Les ensembles de dveloppement de microcontrleurs sont souvent accompagns d'un
compilateur C.
4.
Le march du livre scientifique est inond de volumes de programmation en C, incluant une
ou des disquettes de fichiers sources ou de bibliothques qui peuvent rduire le temps
de programmation de faon considrable.
5.
Certains automates programmables, comme les PLC5 d'Allen Bradley, sont dots de
modules programmables en C.
6.
Les gestionnaires de priphriques ( drivers ), pour des logiciels d'interface doprateur
comme Genesis, peuvent tre rdigs en C.
Certains disent que le langage C est difficile apprendre et matriser. En dbut d'apprentissage,
oui, peut-tre... Mais il faut prendre le temps d'acqurir des bases solides avec des programmes
simples pour ensuite graduellement se donner des dfis plus passionnants. Avec de la rigueur et de
la pratique, on dcouvrira que le langage C est un outil fascinant qui possde les avantages d'un
langage de haut niveau comme le Pascal tout en permettant de prendre le contrle des
priphriques d'un ordinateur comme en Assembleur.
nonc de la comptence
Programmer en langage volu des fonctions pour grer des entres/sorties.
Cours 13T
Page 5
OFPPT/TECCART
Circuits
logiques &
numriques
Circuits
lectroniques
Travaux de
Ralisation
I
MicroInformatique
Second
Semestre
Troisime
Semestre
Quatrime
Semestre
Traitement
du signal
Circuits
Puissance
Systmes
d'exploitation
et utilitaires
Tlcommunications
I
Tlcommunications
II
Travaux de
Ralisation
MicroProcesseur
Langage C
et Gestion des
entres / sorties
Programmation
des
entres/sorties
Entretien et
rparation
microordinateurs
II
Installation,
exploitation et
entretien d'un
rseau local
Langage C et
gestion des
priphriques
FIGURE
Cours 13T
1 : P L AC E
D U C O U R S D AN S L E P R O G R AM M E
Page 6
OFPPT/TECCART
Cours 13T
Page 7
OFPPT/TECCART
Page 8
OFPPT/TECCART
intressantes. Pour viter de retaper ces fonctions chaque fois qu'il commencera un nouveau
programme, il devra utiliser la technique de compilation de plusieurs fichiers sources en
PROJET: cette technique est explique au Chapitre 9, Projets. En matrisant cette technique, le
stagiaire pourra se vanter de faire de la programmation modulaire.
Le Module 3, Lacquisition de donnes et la commande avec une carte dentres/sorties,
correspond au Chapitre 10, Cartes dentres/sorties, du Rsum de thorie. Le stagiaire
utilisera deux cartes d'entres/sorties dans des applications industrielles. Avec la carte
dentres/sorties numriques ESN1, il sera appell raliser un systme dalarme rsidentiel.
Avec la carte dentres/sorties analogiques ESA1, il simulera la lecture dun transmetteur de
temprature et affichera en temps rel les donnes obtenues.
Rpartition des modules
2 : R PAR T I T I O N D E S M O D U L E S
lment de comptence
Thorie Pratique
Installer et configurer le logiciel de
3H
3H
langage C dans un environnement intgr.
Utiliser les diffrentes structures de
19 H
27 H
programmation rencontres dans le
langage C.
Dvelopper la partie logicielle pour la
4H
6H
commande et le contrle de systmes:
commande avec une carte
dentres/sorties numriques;
commande avec une carte
d'entres/sorties analogiques.
4H
5H
T AB L E AU
NO
Nom du module
4. Le logiciel Borland C++,
V3.1
5. La programmation en C
6.
Lacquisition de donnes et
la commande avec une
carte dentres/sorties
valuation
Correction
Total
Total
6H
46 H
10 H
0H
4H
9H
4H
30 H
45 h
75 H
Cours 13T
Page 9
OFPPT/TECCART
TP
Nom du module
7. Module #1: Le logiciel
Borland C++, V3.1
8. Module #2: La
programmation en C
9. Module #2: La
programmation en C
10. Module #2: La
programmation en C
11. Module #2: La
programmation en C
12. Module #2: La
programmation en C
13. Module #3: Lacquisition
de donnes et la commande
avec une carte
dentres/sorties
14. Module #3: Lacquisition
de donnes et la commande
avec une carte
dentres/sorties
Total
3 : LISTE
D E S T R AVAU X P R ATI Q U E S
Titre du TP
Environnement Borland C++, de ldition lexcution
Dure
3H
9H
3H
Modles de programme
6H
Fonctions
6H
Projets
3H
3H
6H
39 H
Description gnrale
TP1. Environnement Borland C++, de ldition lexcution
Le but de ce premier travail pratique est de familiariser le stagiaire avec lenvironnement intgr
et lditeur de texte de Borland C++, V3.1.
Comme premier exercice, le stagiaire doit
16. transcrire un programme, dont il a le listage, pour apprendre se servir de lditeur de
texte,
17. compiler ce programme,
18. diter les liens de ce programme,
19. excuter ce programme normalement et en pas--pas.
Le deuxime exercice se prsente sous forme de dfi. Le stagiaire doit tenter de modifier le
programme pour le rendre plus performant. Cette tche fait appel son sens de lobservation et
sa dbrouillardise car il na, pour linstant, ni lexprience ni les connaissances pour solutionner
facilement ce type de problme. Le formateur est invit lui suggrer les pistes de solution ainsi
que les conseils appropris. Le stagiaire peut aussi consulter la solution propose sur la disquette
daccompagnement COURS_13T.
Cours 13T
Page 10
OFPPT/TECCART
Cours 13T
Page 11
OFPPT/TECCART
34.
35.
36.
37.
TP5. Fonctions
Le programme rdiger simule une station mtorologique. Les informations affiches seront la
temprature en C, la vitesse du vent en Km/h, le facteur de refroidissement en C et lheure
actuelle. Les changements des donnes mtorologiques seront simuls avec certaines touches du
clavier.
En plus de concevoir ce programme partir du modle appropri, le stagiaire se verra confier le
mandat de rdiger certaines fonctions effectuant des tches spcifiques. Il apprendra ainsi les
rudiments de la programmation structure.
TP6. Projets
Le programme rdiger est le mme que celui du TP5, la station mtorologique. La rdaction
du programme doit se faire en projet. Cette technique permettra au stagiaire dutiliser des fichiers
sources contenant des fonctions utilitaires dont il aura souvent besoin et quil serait laborieux de
rdiger chaque fois.
La technique apprivoise dans ce travail pratique est celle de la programmation modulaire.
TP7. Systme dalarme avec la carte ESN1
En plus de faire la synthse des techniques de programmation en langage C montres jusqu
maintenant, cet exercice a pour but dutiliser lordinateur avec une carte dentres/sorties
numriques dans une application industrielle.
Pour ce TP, le stagiaire devra dabord analyser un programme fonctionnel mais rudimentaire. Par
la suite, il aura comme mandat de le modifier pour amliorer ses performances et ainsi obtenir un
systme dalarme domestique de qualit.
Sur une plaquette de dveloppement, le stagiaire devra monter une alarme sonore 555. Ce
circuit sera pilot par la carte dentres/sorties numriques ESN1. Voici le matriel requis:
38. une carte dentres/sorties numriques ESN1;
39. une alimentation de 12,6 VAC pour la carte ESN1;
40. le cble avec les connecteurs DB25 de la carte ESN1;
41. une plaquette de montage;
42. les pices lectroniques suivantes:
deux circuits intgrs 555;
quelques rsistances (voir le schma pour connatre les valeurs);
quelques condensateurs (voir le schma pour connatre les valeurs);
un petit haut-parleur.
Cours 13T
Page 12
OFPPT/TECCART
Les valuations
Vue globale
Les valuations sommatives prvues pour le cours Langage C et gestion des entres/sorties se
rpartissent selon le tableau 4. Douze heures sont rserves afin dvaluer adquatement les
comptences atteintes par les stagiaires.
TAB L E AU
NO
4 : L ISTE
Pond.
Moment de
lvaluation
Examen thorique #1
Semaine #8
Examen pratique #1
Semaine #9
Dure
stagiaire
2H
2H
20%
17.
Examen thorique #2
Semaine #15
2H
30%
18.
Examen pratique #2
Semaines #14 et #15
Total
6H
20%
12 H
100%
15.
16.
30%
D E S VAL U ATI O N S
Type de tche
Questions choix multiples ou dveloppement
portant sur les chapitres 1 5 du Rsum de thorie
Questions choix multiples ou dveloppement
portant sur lutilisation du logiciel Borland C++,
V3.1 ainsi que sur les TP 1 4
Questions choix multiples ou dveloppement
portant sur les chapitres 6 10 du Rsum de
thorie
TP8 valu en quipe de deux selon la grille
dvaluation du document valuation pratique #2
Cours 13T
Page 13
OFPPT/TECCART
Directives au surveillant
53. Le responsable de lvaluation distribue une copie chaque stagiaire et demande ces
derniers de ne pas toucher au document avant le signal de dpart.
54. Le surveillant sassure que les deux valuations thoriques et la premire valuation
pratique se droulent de faon individuelle. La deuxime valuation pratique est un
travail pratique en quipe de deux stagiaires. Cette valuation dure deux semaines car
elle se droule durant les deux dernires sances de travaux pratiques.
55. Le surveillant ne rpond aucune question. Toutefois, durant lvaluation du TP8, le
surveillant pourra dpanner une quipe en difficult, moyennant certains points de
dmrites dcrits dans la grille dvaluation.
56. Si un stagiaire est en retard, laccs lvaluation est permis moins quun participant ait
dj quitt la salle.
57. Lorsquun stagiaire termine avant le temps allou, il remet en main propre le document
dvaluation et quitte la salle de classe. Une fois que le responsable prend possession
de sa copie, lvaluation de ce dernier est termine.
58. Lorsque le dlai prescrit est termin, les stagiaires dposent immdiatement leur copie
devant eux et quittent la salle de classe.
Comment corriger les valuations
59. Le surveillant corrige sur le champ lorsquil sagit dune valuation pratique ou dune
sance de travaux pratiques faisant partie de lvaluation continue au laboratoire.
60. Les documents Corrig des valuations thoriques et Corrig des valuations
pratiques contiennent, pour chaque question, une Note au correcteur lui indiquant
le barme dattribution des points.
61. Un stagiaire qui ne se prsente pas une valuation doit faire motiver son absence et devra
reprendre cette valuation la fin du semestre, si sa motivation est accepte.
62. Le plagiat entrane automatiquement et immdiatement la note 0%.
Critres de performance
Examen thorique #1
63. numration prcise des caractristiques du langage C et des utilitaires.
64. Identifier correctement les directives au prprocesseur, les commentaires du programme
et les lments de base d'un programme en C.
65. Manipulation efficace des donnes en C.
66. Application adquate des boucles et prises de dcision.
67. Utilisation de modles de programme.
68. Ajout de commentaires prcis aux lignes du programme.
Examen pratique #1
69. Installation et configuration adquates du logiciel.
70. Utilisation adquate de l'environnement intgr.
71. Utilisation de modles de programme.
Examen thorique #2
72. Programmation structure par la cration de fonctions.
73. Analyse et utilisation des fichiers den-tte.
74. Programmation modulaire par la compilation individuelle de plusieurs fichiers sources
runis en projet.
75. Gestion efficace des couleurs lcran en mode texte.
76. Interprtation juste des caractristiques des systmes contrler.
77. Programmation aise des entres et des sorties.
78. Application optimale des fonctions et commandes du langage utilis.
Cours 13T
Page 14
OFPPT/TECCART
79.
80.
81.
Examen pratique #2
82. Programmation aise des entres et des sorties.
83. Application optimale des fonctions et commandes du langage utilis.
84. Dverminage mthodique des fonctions et des programmes.
85. Utilisation juste d'une carte d'acquisition de donnes sur LPT.
Stratgie denseignement
Les activits denseignement traditionnel, les exercices, la prparation des travaux pratiques ainsi
que les valuations thoriques se font en classe de thorie. Les travaux pratiques, les valuations
pratiques et les corrections des valuations se font en salle de laboratoire.
Lapprentissage du langage C requiert une approche mthodique. Il ne faut pas brler les tapes.
Il est tentant pour quelqu'un qui possde la moindre exprience de programmation de vouloir
viser la performance. En utilisant immdiatement les techniques de programmation avances sans
possder les techniques de base, le stagiare risque de prendre de trs mauvaises habitudes. Il faut
tre patient! Chaque module de ce cours et chaque chapitre dun module dvoileront
progressivement les secrets du langage C. Le stagiaire sera invit dvelopper des programmes
simples au dpart et les raffiner de plus en plus d'un chapitre l'autre.
Avant de dbuter, il faut faire une copie de la disquette d'accompagnement, COURS_13T, et
conserver prcieusement la disquette originale. Ainsi, le stagiaire pourra exprimenter sa guise
en modifiant les programmes de la disquette de travail durant les exercices.
Enseignement thorique
Au dbut de chaque bloc de thorie, le formateur introduit la matire. Il effectue, si possible, une
mise en situation relative au monde industriel.
Ce cours ncessite lusage dun ordinateur et dune plaque cristaux liquides pour
dmontrer les rudiments du langage.
Le formateur doit aborder chaque chapitre comme suit.
86. Prsenter les notions gnrales exposes dans le texte.
87. Identifier et localiser sur la disquette de travail le programme qui dmontre ces notions.
88. Excuter le programme pour comprendre globalement la tche qu'il accomplit.
89. Analyser le listage du programme.
90. Reprendre l'excution du programme en pas--pas pour comprendre les dtails du
fonctionnement.
91. Modifier certaines instructions pour amliorer la comprhension du programme et des
principes noncs.
la fin de chaque bloc de thorie, le formateur prend une quinzaine de minutes pour conclure sur
les objectifs de la journe.
Cours 13T
Page 15
OFPPT/TECCART
Travaux pratiques
Idalement, les trois premiers travaux pratiques devraient tre raliss individuellement, sil y a
assez dordinateurs disponibles. Il est important que chaque stagiaire dveloppe une expertise de
rdaction de programme et devienne fonctionnel avec le logiciel Borland C++. Pour les autres
travaux pratiques, les manipulations doivent tre ralises idalement par quipe de deux
stagiaires. Un seul stagiaire ne peut gnralement pas complter les exprimentations dans les
dlais prvus.
Les formateurs rpondent aux questions portant sur la comprhension des tches demandes,
aiguillent le stagiaire dans la bonne direction, pointe vers le document consulter mais neffectue
pas le travail la place du participant.
Fiches pdagogiques
Module 1
lment de comptence vise :
Installer et configurer le logiciel de langage C dans un environnement intgr.
Objectif terminal :
Installer le langage C sur un micro-ordinateur.
NO
1.1
T AB L E AU 5 : F I C H E
Objectifs intermdiaires
Installer et configurer le logiciel Borland
C++ dans l'environnement DOS.
1
Contenu
P D AG O G I Q U E D U M O D U L E
1.2
Cours 13T
Le langage C:
l'historique;
les caractristiques;
les tapes de l'dition et de l'excution;
les fichiers gnrs.
Prparation et installation.
Configuration:
les procdures d'appel;
l'dition et l'excution.
Utilisation des menus.
Mots cls.
Commentaires.
Directives.
La fonction main().
Page 16
OFPPT/TECCART
Module 2
lment de comptence vis :
Utiliser les diffrentes structures de programmation rencontres dans le langage C.
Objectif terminal :
laborer un programme oprationnel en langage C.
NO
2.1
TAB L E AU 6 : F I C H E
Objectifs intermdiaires
Manipuler les donnes en C.
2.2
2.3
2
Contenu
P D AG O G I QU E D U M O D U L E
Constantes.
Variables.
Types d'oprateurs.
Fonctions de bases utiles.
Instructions:
prises de dcisions (slectives);
boucles (itratives).
Les modles de programmes.
Les constantes symboliques.
Le prototype d'une fonction.
Les lments de dfinition d'une fonction.
Les lments de dclaration d'une fonction.
Le passage de paramtres.
Les fichiers d'en-tte.
Rdaction de fichiers sources en projet.
Module 3
lment de comptence vis :
Dvelopper la partie logicielle pour la commande et le contrle de systmes: commande
numrique par PPI; commande numrique l'aide d'une carte d'entres/sorties analogiques.
Objectif terminal :
l'aide de cartes d'entres/sorties numriques et analogiques, commander des lments en
priphries.
NO
3.1
3.2
Cours 13T
TAB L E AU 7 : F I C H E
Objectifs intermdiaires
Lire et transmettre des signaux
numriques avec une carte
d'entres/sorties.
3
Contenu
Description de la carte cible ESN1.
Fonctions d'acquisition de signaux numriques.
Fonctions de transmission de signaux numriques.
Essai et programmation.
Description de la carte cible ESA1.
Fonctions d'acquisition de signaux analogiques.
Fonctions de transmission de signaux analogiques.
Essai et programmation.
P D AG O G I QU E D U M O D U L E
Page 17
OFPPT/TECCART
Planification du cours
Puisque ce cours se droule pendant tout le semestre, raison de cinq heures par semaine, il faut
prvoir deux heures de thorie et trois heures de travaux pratiques. Sauf pour le travail pratique
valu qui dure six heures, il faut galement prvoir que les valuations auront une dure de deux
heures afin de garder une certaine cohrence dans la distribution du temps.
Il faut expliquer aux stagiaires que la matire de ce cours requiert, par semaine, au moins de trois
six heures de travaux et de revision la maison.
T AB L E AU 8: P L AN I F I C ATI O N
THORIQUE (2h / semaine)
SEM
1
5
6
DU COURS
10
11
12
Cours 13T
Page 18
TP6: Projets
Apprentissage de la programmation modulaire par
la ralisation dun programme excutable partir
OFPPT/TECCART
T AB L E AU 8: P L AN I F I C ATI O N
THORIQUE (2h / semaine)
SEM
13
14
15
DU COURS
Supports didactiques
Mdiagraphie
92.
93.
94.
95.
96.
Logiciel
97.
Ordinateur.
Plaque cristaux liquides.
Cours 13T
Page 19
OFPPT/TECCART
Cours 13T
Page 20
OFPPT/TECCART