Académique Documents
Professionnel Documents
Culture Documents
RAPPORT DE STAGE
Cette étude des fonctions nous permettra d’asservir un moteur a courant continu à l’aide
d’un encodeur EE3020, en fixant les rotations du moteur dans un intervalle de valeur
fournie par l’encodeur.
Le S7-300 est l'automate conçu pour des solutions dédiées au système manufacturier et
constitue à ce titre une plate-forme d'automatisation universelle pour les applications avec
des architectures centralisées et décentralisées.
Notre travail est organisé en deux parties. La première partie est consacré à l’étude de
l’Automate programmable Industriel (API) S7-300, il introduit l’architecture de ces
équipements ainsi que la méthodologie de simulation pour une maitrise de logiciel STEP7,
dont on a élaboré celui de SIMATIC S7-300 comme le langage de programmation. La
deuxième partie est réservé à l’étude des fonctions technologiques du S7-300 notamment la
fonction de mesure et la fonction de Modulation de l’largeur d’impulsion (PWM), notre
simulation elle sera faite avec le simulateur PLC-SIM.
Page 2 sur 67
Dédicace
Je dédie ce travail :
Page 3 sur 67
Remerciement
Avant tous je remercie Dieu tout puissant qui m’a donnée la patience, la volonté, le courage
d’aller jusqu’au bout de notre travail.
Enfin, je tiens à remercier toutes les personnes qui m'ont conseillé et relu lors de la
rédaction de ce rapport de stage.
Page 4 sur 67
Table des matières
[Cliquez sur référence/ Tables des matières/ Choisissez le type]
Page 5 sur 67
Table des figures
[Figure] [Page]
[Figure] [Page]
[Figure] [Page]
Page 6 sur 67
INTRODUCTION GENERALE
Du lundi 21 juin au […], j’ai effectué un stage au sein de l’Institut du Génie appliquée
Centre Maarif située au 279, Boulevard Bir Anzarane – 20370 Casablanca.
Au cours de ce stage au Laboratoire d’Electronique -Informatique Industriel, j’ai pu
m’intéresser à l’utilisation et à la programmation des différents équipements électronique-
industriel programmables utilisés le plus souvent dans les systèmes de productions
industriels.
Plus largement, ce stage a été l’opportunité pour moi d’enrichir mes connaissances en
automatisme, en programmation et l’asservissements des appareils électromécaniques.
Au-delà d’enrichir mes connaissances, ce stage m’a permis de comprendre dans quelle
mesure la maitrise de l’informatique industriel pourrai mettre d’une grande utilité en
Durant ce stage j’ai été soutenue et encadré par Monsieur Mohammed GHOMARI,
professeur permanent à l’IGA avec qui j’ai pu me former dans d’excellentes conditions.
Afin de rendre compte de manière des temps passés au sein de l’institut, il sera question de
Précisé les différentes missions et tâches que j’ai pu effectuer et
les qualités professionnelles et personnelles que j’ai pu en tirer.
La première partie de ce rapport consiste à décrire d’une manière globale l’API, son rôle et
son principe de fonctionnement. Dans la deuxième partie, nous étudierons les fonctions
technologiques du S7-300 principalement la fonction de Comptage et la fonction de
Modulation de Largeur d’Impulsion (PWM).
Présentation de l’institut du Génie applique (IGA) de
Casablanca
Présentation générale
Depuis sa création en 1981, le Groupe IGA poursuit la même vocation : former des cadres
supérieurs de très haut niveau en Ingénierie et en Management, prêts à assumer les
responsabilités les plus diversifiées dans l’entreprise.
Le Groupe IGA conduit une politique d’excellence lui permettant de se hisser aux premiers
rangs des écoles marocaines d’ingénieurs et de management en se distinguant par la qualité
de la formation de ses diplômés, ses liens étroits tissés avec les entreprises, son plus grand
réseau d’anciens diplômés et son rayonnement aussi bien à l’échelle nationale
qu’internationale
Objet Pédagogique :
Ingénierie :
Management :
Dénomination Sociale :
Sa domination demeure toujours Institut Supérieur du Génie Appliqué « IGA ».
Siège social :
Son siège est au 279, Boulevard Bir Anzarane – 20370 Casablanca.
PARTIE 1 :
ETUDE DE L’AUTOMATE
PROGRAMMABLE INDUSTRIEL S7-300
Page 9 sur 67
Historique
Les automates programmables industriels sont apparus à la fin des années soixante, à la
demande de l'industrie automobile américaine, qui réclamait plus d'adaptabilité de leurs
systèmes de commande.
Les coûts de l'électronique permettant alors de remplacer avantageusement les technologies
actuelles.
Avant l’arrivée des API nous avions l’utilisation de relais électromagnétiques et de
systèmes pneumatiques pour la réalisation des parties commandes logique câblée.
Inconvénients : cher, pas de flexibilité, pas de communication possible.
Avantages : utilisation de systèmes à base de microprocesseurs permettant une
modification
aisée des systèmes automatisés ⇒logique programmée.
Définition
4
Architecture des automates programmables industriels
Structure externe
5
Structure interne
⮚ Unité centrale : à base de microprocesseur, elle réalise toutes les fonctions logiques,
arithmétiques et de traitement numérique (transfert, comptage, temporisation ...).
6
● Interface d'entrée : elle permet de recevoir les informations du S.A.P. ou du
pupitre
● Interface de sortie : elle permet de commander les divers pré-actionneurs et
élément de signalisation du S.A.P. tout en assurant l'isolement électrique.
Le SIMATIC S7-300 est un système de commande modulaire pour des applications haut de
gamme. Il dispose d’une gamme de modules complète pour une adaptation optimale aux
tâches les plus diverses et se caractérise par la facilité de réalisation d’architectures
décentralisées et la simplicité d’emploi
Les modules susceptibles de faire partie d’un système d’automatisation modulaire S7-300
sont les suivants :
S7-300 travaille avec une tension de 24V DC, dont le module d’alimentation l’offre et
l’assure en convertissant la tension secteur 380/220V AC en 24V DC. Pour contrôler cette
tension une led qui s’allume en indiquant le bon fonctionnement et en cas de surcharge un
témoin se met à clignoter.
7
● Unité central (CPU) :
CPU (Central Processing Unit) est le cerveau de l’automate. Elle est chargée de toutes les
opérations transmissent par le programme utilisateur et lit les états des signaux d’entrées, et
à travers passe à la commande des sorties selon un programme inclus dans la CPU à partir
d’une console de programmation ou d’une cartouche de mémoire.
● Module de coupleur :
Les modules Entrées/Sorties TOR sont des interfaces qui permettent à l’automate de
raccorder des signaux TOR à l’automate S7-300, projeté par des capteurs et actionneurs
TOR
les plus divers.
● Modules analogiques :
Ces modules sont spécifiques pour raccorder des capteurs et actionneurs à l’automate de
type
analogique.
Par des exigences très fortes en vitesse de transmission rapide, de gros volumes de
données, le module de communication joue un rôle clé dans le cadre de la communication
industrielle. Il permet d’établir des liaisons homme-machine qui sont effectuées à l’aide des
interfaces de communication.
8
● Module de simulation :
C’est un module très indispensable car il permet à l’utilisateur et l’automaticien de tester sont
programme lors de la mise en marche de la machine configurer du processus.
Les châssis d’extensions sont utilisés pour le montage et le raccordement électrique des
différents modules.
SIMATIC STEP 7 :
Le matériel
9
Après identification générale des entrées /sorties on a utilisé au total :
Alors on a choisi les modules qui peuvent contenir ce nombre d’entrées et sorties :
Ces blocs destinés à structurer le programme utilisateur dont on peut citer les blocs suivants :
Les blocs de données sont destinés au stockage des données nécessaires au traitement du
programme. On distingue des blocs de données d’instance et des blocs de données globaux.
10
● Bloc fonctionnel (FB) :
● Fonction (FC) :
Une fonction FC, est un bloc de codes programmables, sans mémoire. Les FC peuvent faire
appel à des blocs de données globaux pour la sauvegarde des données.
Les programmes sont exécutés quand cette fonction est appelée par d’autres blocs de code.
Ce dernier se fait pour renvoyer une valeur de fonction au bloc appelant, ou pour
l’exécution
11
PARTIE : 2
Le comptage
Présentation
-Comptage en continu
-Comptage monocoup
-Comptage périodique
12
Les différentes fonctions du comptage
● Fonction de validation
● Fonction de verrouillage
● Comparaison
Vous pouvez entrer une valeur de comparaison dans la CPU. En fonction de la valeur de
comptage et de la valeur de comparaison, une sortie TOR peut être activée et/ou une
alarme de processus déclenchée.
● Hystérésis
Vous pouvez paramétrer une hystérésis pour la sortie TOR. Vous évitez ainsi la
commutation de la sortie TOR à la moindre oscillation du signal du capteur lorsque la
valeur de comptage se trouve dans la plage de la valeur de comparaison.
● Alarme de processus
Vous pouvez mesurer la durée de période du signal de comptage jusqu'à une fréquence
de comptage maximal de 1 kHz.
Câblage
Règles de câblage
Câbles de raccordement/blindage
13
● Les câbles des capteurs doivent être blindés.
● Les câbles des entrées et sorties TOR doivent être blindés à partir d'une longueur de
câble de 100 m.
● Les blindages des câbles doivent être appliqués aux deux extrémités.
La figure suivante représente la disposition de base des connecteurs pour les CPU à deux
connecteurs (X1 et X2), en prenant pour exemple la CPU 314C-2 DP, PN/DP, PtP :
14
Brochage des connecteurs
Dans le brochage des connecteurs suivants, seuls les connecteurs significatifs pour le
comptage, la mesure de fréquence et la modulation de largeur d'impulsion sont décrits
15
Raccordement des composants
Marche à suivre
Paramétrage
Masques de paramétrage
● Paramètres de base
● Mesure de fréquence
Condition préalable
Avant d'ouvrir les masques de paramétrage, vous devez avoir créé un projet dans lequel
vous pourrez enregistrer les paramètres.
Aide intégrée
Dans les masques de paramétrage, vous disposez d'une aide intégrée qui vous assiste lors
du paramétrage. Vous pouvez l'appeler de diverses manières :
● Appuyez sur la touche "F1" dans les zones correspondantes
● Cliquez sur les boutons d'aide dans les divers masques de paramétrage.
17
Paramètres pour le comptage en continu
18
19
20
Caractéristique
▪ Nombre de voies
▪ Fréquence de comptage
21
Intégration des fonctions au programme utilisateur
Marche à suivre
Vous commandez les fonctions depuis votre programme utilisateur. A cet effet, vous
appelez les blocs fonctionnels système .
DB d'instance
Le DB d'instance contient les paramètres du SFB. Les paramètres sont décrits aux chapitres
Commande du compteur depuis le programme utilisateur), Commande de la
mesure de fréquence depuis le programme utilisateur ou Déroulement pour la
modulation de largeur d'impulsion.
Vous pouvez accéder aux paramètres au moyen :
● du numéro de DB et de l'adresse absolue dans le bloc de données,
● du numéro de DB et de l'adresse symbolique dans le bloc de données.
Les paramètres essentiels pour la fonction sont également connectés au bloc. Vous pouvez
directement affecter une valeur aux paramètres d'entrée du SFB ou interroger les
paramètres de sortie.
Description fonctionnelle
Modes de comptage
Les divers modes de comptage vous sont utiles pour vos applications de comptage. Le
signal de comptage est repris et exploité par la CPU. Vous pouvez effectuer un comptage et
un décomptage.
Vous pouvez choisir parmi les modes de comptage suivants :
22
▪ Comptage continu, par ex. pour la détection de course au moyen de codeurs
incrémentaux 24 V
▪ Comptage monocoup, par ex. pour le comptage de pièces jusqu'à une limite
maximale
▪ Comptage périodique, par ex. dans des applications utilisant des procédures de
comptage répétées
Vous sélectionnez le mode de comptage dans les masques de paramétrage.
L'intervalle de temps entre deux fronts de comptage successifs est toujours mesuré pour
une fréquence de comptage maximale de 1 kHz. Vous pouvez lire la durée de période
mesurée directement à l'aide des données d'entrée (données E) du sous-module
"Comptage" ou bien par accès direct à la périphérie.
Vous devez paramétrer l'affectation des données d'entrée. Vous pouvez lire soit la valeur de
comptage, soit la durée de période.
Aucune mesure de la durée de période n'est effectuée si la fréquence de comptage
maximale est supérieure à 1 kHz, la valeur est 0.
La durée de période mesurée est également disponible après le second front de comptage
après chaque paramétrage ; la valeur est également 0 avant le paramétrage.
La durée de période est disponible comme valeur non signée 32 bits dans la base de temps
paramétrée.
Pour une base de temps de 1 ms, des durées de période de 4 294 967 s = 49 j, 17 h, 2 min,
47 s maximum peuvent être mesurées et des durées de périodes de 536 s = 8 min, 56 s
maximum pour une base de temps de 125 ns.
Si les fronts de comptage sont éloignés l'un de l'autre dans le temps, la durée de période
mesurée est erronée car un éventuel dépassement haut n'est pas pris en compte.
23
Valeur de comptage/valeur de chargement
24
Démarrage/arrêt du compteur
Comptage en continu
Description
Comptage monocoup
Description
Dans ce mode, la CPU effectue un comptage monocoup dans le sens principal paramétré.
26
Comptage périodique
Description
Dans ce mode, la CPU effectue un comptage périodique dans le sens principal paramétré.
27
Commande du compteur depuis le programme utilisateur
Description
● Validation/commande de la sortie DO
28
● Lecture de la durée de période actuelle (pas de connexion au bloc mais uniquement
disponible dans le DB d'instance).
Paramètres d'entrée
29
Paramètres d'entrée non connectés au bloc (données locales statiques)
30
Paramètres de sortie non connectés au bloc (données locales statiques)
31
Caractéristiques techniques
32
MODULATION DE LARGEUR D'IMPULSION (PWM)
Principe
La valeur de sortie que vous paramétrez (OUTP_VAL) est convertie par la CPU en une
série
d'impulsions avec des durées d'impulsions/pause correspondantes (modulation de largeur
d'impulsion). La série d'impulsions est émise à la sortie TOR DO après écoulement du
retard
à la montée paramétré (séquence de sortie).
33
Commande de la modulation de largeur d'impulsion depuis le programme
utilisateur
Fonctions de commande
● Validation/commande de la sortie DO
34
Paramètres de sortie
Pour effectuer l'écriture et la lecture des registres, vous disposez de l'interface des tâches.
Condition préalable
Marche à suivre
La tâche est immédiatement traitée à l'appel du SFB. JOB_DONE prend la valeur FALSE
durant un cycle du SFB.
● Si une erreur apparaît, JOB_ERR = TRUE. La cause précise de l'erreur est alors
Indiquée dans JOB_STAT.
● JOB_DONE = TRUE permet de démarrer une nouvelle tâche.
36
Plage de valeurs admissible pour JOB_VAL
La figure suivante représente les divers blocs fonctionnels décrits dans les paragraphes
Suivants :
37
Fonction de validation de la modulation de largeur d'impulsion
Principe
utilisateur.
La validation logicielle peut être activée par un front positif du paramètre SFB SW_EN.
Elle est désactivée par la remise à zéro de ce paramètre.
38
● Une validation matérielle (validation HW). Vous pouvez paramétrer l'utilisation de
la validation matérielle dans les masques de paramétrage. La commande est
effectuée via l'entrée TOR "validation matérielle".
● Validation interne
La validation interne permet de démarrer et d'arrêter la modulation de largeur d'impulsion.
La validation interne correspond à la combinaison logique ET de la validation matérielle
avec
La validation logicielle. Le bit de message en retour STS_EN indique l'état de la validation
interne.
La validation démarre le retard à la montée. La série d'impulsions est émise après
écoulement du retard à la montée. La séquence de sortie est continue, tant que la validation
est active.
Validation matérielle :
39
Définition des paramètres pour la série d'impulsions
Base de temps
La base de temps vous permet de paramétrer la résolution et la plage de valeurs du retard à
la montée, de la durée de période et de la largeur d'impulsion minimale.
Format de sortie
Le paramètre Format de sortie vous permet de définir la plage de la valeur de sortie :
Valeur de sortie
40
● Si vous modifiez la valeur de sortie durant l'émission des impulsions, la CPU
41
● Si vous effectuez la modification pendant la pause d'impulsion et si la nouvelle durée
de période est plus longue que l'ancienne, il en résulte une durée de période unique
plus longue que l'ancienne, mais plus courte que la nouvelle.
Si vous effectuez la modification pendant la durée d'impulsion et si la nouvelle durée
de période est plus courte que l'ancienne, il peut en résulter une durée de période
unique
plus courte que l'ancienne, mais plus longue que la nouvelle.
Si vous effectuez la modification pendant la durée d'impulsion et si la nouvelle durée
est de plus longue que l'ancienne, mais plus courte que la nouvelle iode est plus
longue que l'ancienne, il peut en résulter une durée de période unique.
Retard à la montée
Toutes les impulsions de sortie et pauses d'impulsion qui sont inférieures à la durée
d'impulsion minimale ne sont pas prises en compte.
Durée d'impulsion minimale = base de temps x valeur prédéfinie.
Si vous effectuez la modification pendant la pause d'impulsion et si cette dernière est plus
longue que la nouvelle pause d'impulsion minimale, c'est la pause d'impulsion qui est
fournie.
42
Si vous effectuez la modification pendant la durée d'impulsion et si cette dernière est plus
courte que la nouvelle durée d'impulsion minimale, la sortie se met à "0".
Si vous effectuez la modification pendant la durée d'impulsion et si cette dernière est
plus longue que la nouvelle durée d'impulsion minimale, c'est l'impulsion qui est fournie.
Commande manuelle
La mise à 1 du paramètre SFB MAN_DO active la commande manuelle. Vous pouvez alors
Commandé la sortie avec SET_DO.
Caractéristiques techniques
43
LES CODEURS
Les codeurs peuvent être divisés en deux grandes catégories : codeurs incrémentaux
et codeurs absolus.
Comme son nom l'indique, un codeur absolu délivre directement la position exacte de
l'arbre qu'il mesure.
Chaque point de rotation possède une valeur de position unique, ou mot de données, qui est
codée sur un disque qui tourne avec l'arbre.
Le nombre de codes uniques sur le disque détermine la précision avec laquelle la position
peut être exprimée. Le codeur lit le code à l'aide d'un capteur optique, capacitif ou
magnétique dès qu'il est allumé et génère une sortie valide.
Il n'est pas non plus nécessaire d'établir une référence ou de faire tourner l'arbre pour
permettre au capteur de déterminer la position, et il peut suivre la position même en cas de
coupure de courant temporaire.
Les codeurs optiques sont une forme courante de codeur rotatif sans contact. Un codeur
optique fonctionne en dirigeant un faisceau de lumière à travers ou sur un réseau de
diffraction optique, puis en calculant la position en fonction de l’intensité de la lumière
étant renvoyée. La plupart des dispositifs optiques sont incrémentaux.
44
En règle générale, les informations de position sous fournies sous la forme d’une série
d’impulsions (habituellement en quadrature de phase), de manière à ce que la direction de
déplacement puisse être déterminée.
On parle alors généralement d’impulsions A/B. Un train d’impulsions séparé (généralement
appelé référence Z) génère une impulsion par révolution, qui sert de référence.
Avantages
Traditionnellement, les codeurs absolus étaient plus coûteux que les codeurs incrémentaux.
Bien que cela soit toujours le cas, la différence n’est plus aussi marquée.
Les capteurs absolus (sans contact) permettent généralement des améliorations en termes de
performance, de précision et de réduction du coût global. Les capteurs incrémentaux
peuvent en effet poser certains problèmes pratiques.
Inconvénients
Le principal problème tient au fait que, chaque fois que le dispositif est mis hors tension, le
système doit effectuer un étalonnage, ce qui ralentit les performances du système et peut
avoir une incidence sur la sécurité en cas de perte soudaine d’alimentation.
Le codeur incrémental
45
Définition
Fonctionnement
Pour un tour complet de l'axe codeur, le faisceau lumineux est interrompu N fois et délivre
N signaux carrés A et B en quadrature.
● Dans un sens pendant le front montant du signal (A), le signal (B) est à zéro.
● Dans l'autre sens pendant le front montant du signal (A), le signal (B) est à un.
● La piste intérieure (Z = top zéro) comporte une seule fenêtre transparente et délivre
un seul signal par tour.
● Ce signal (Z) d'une durée 90° électrique détermine une position de référence et
permet la réinitialisation à chaque tour.
● Le comptage décomptage des impulsions par l'unité de traitement permet de définir
la position du mobile.
Définition
46
Un encodeur est un composant matériel ou logiciel qui transforme une information en un
code. Un encodeur électromécanique, linéaire ou rotatif, génère un signal électrique selon
la position ou le déplacement. L’encodeur EE3020
LE RELAIS
47
Un relais est composé principalement d'un électroaimant qui, lorsqu'il est alimenté, soumet
à une force une palette qui agit mécaniquement sur le système de commutation électrique :
les contacts
L'électroaimant peut être, suivant les spécifications et les besoins, alimenté en TBT (Très
Basse Tension) (moins de 12 V, 24 V, 48 V) continu ou alternatif ou en BT (Basse
Tension) (110 V, 230 V, 400 V).
Le système de commutation peut être composé d'un ou plusieurs interrupteurs simple effet
appelés contacts normalement ouverts (NO) ou normalement fermés (NF), d'un ou
plusieurs inverseurs (contacts repos-travail RT). Ces commutateurs sont adaptés aux
courants et à la gamme de tensions utilisés dans la partie puissance.
Un moteur à courant continu est une machine électromécanique constitué de deux parties :
48
La partie fixe appelé stator et la partie mobile appelé rotor.
le stator, aussi appelé inducteur, crée un champ magnétique B. Le rotor, aussi appelé induit,
est alimenté en courant continu. Les conducteurs du rotor traversés par le courant sont
immergés dans le champ B et sont soumis alors à la force de Laplace. Cette force va faire
tourner le rotor en créant un couple moteur.
49
TRAVAUX EFFECTUES DURANT LE STAGE
Durant notre stage, nous avions été soumis à plusieurs cahiers, différentes consignes qui
nous ont permis de maintenir la position, les rotations du moteur à courant continu dans
un intervalle de valeur fournie par l’encodeur EE3020.
-Déplacer le moteur d’un point A à un point B dans un intervalle donné par les valeurs de
l’encodeur.
Le Programme
50
51
Deuxième cahier de charge
-Implémenter un programme sur Arduino permettant de lire les impulsions générées par
l’encodeur indiquant le sens du moteur.
Programme
52
53
54
Troisième cahier de charge
55
56
Conclusion
Apport et bilan
Ce stage fut tout à fait enrichissant pour moi car il m’a permis de découvrir le domaine de
[SECTEUR]
, ses acteurs, ses contraintes, mais aussi de participer concrètement à ses enjeux au travers
de mes missions.
Aujourd’hui, cette expérience vient confirmer le fait que j’ai fait le bon choix d’orientation
et me permet d’affiner mon futur projet professionnel. En effet, je sais désormais que
[DÉCRIRE LES MISSIONS QUIVOUS PLAISENT]
me sont tout à fait adaptées, d’ailleurs ceci pourrait constituer ma future spécialité. En
revanche, je sais aussi que je ne suis pas fait pour
[DÉCRIRE LES MISSIONS QUI VOUS PLAISENTMOINS].
Réponse à la problématique
57
[Cette partie concerne uniquement les rapports de stage fondés sur une problématique]
Ouverture
Annexe
58
Les annexes sont les documents que l’on joint à la fin d’un écrit et qui contiennent des
informations de nature à éclairer le lecteur.
Pour plus de détail, voir de la page 75 à la page 77 du livre " Méthode de l'écrit académique
et de l'écrit professionnel".
59
Glossaire
Le glossaire est un petit dictionnaire placé, à la fin d’un écrit : il donne la définition des
mots techniques ou des mots mal connus qui sont employés dans le rapport.
Pour plus de détail, voir la page 77 du livre " Méthode de l'écrit académique et de l'écrit
professionnel".
60
Bibliographie
Références de livres :
Pour plus de détail, voir les pages 79 à 90 du livre " Méthode de l'écrit académique et de
l'écrit professionnel".
61