20 Automate Programmable Industriel Cycle de fonctionnement
Lecture des entres Excution du programme Traitement des demandes de
communication Excution des autotests Ecriture des sorties
Page 21
Bornes de sortie Bornes dentre Alimentation Sorties
dalimentation pour capteurs 24Vcc/180mA Interface de programmation
Slecteur de mode Stop, Term, Run Connecteur pour module dextension
Potentiomtre analogique Bornes de sortie 21 Automate Programmable
Industriel API Siemens S7-200(CPU 222)
Page 22
22 Automate Programmable Industriel Exemple de programme en
langage Ladder
Page 23
Famille des automates Siemens S7-200
CaractristiquesCPU221CPU222CPU224CPU226CPU226XM Dimensions
(mm)90*80*62120.5*80*62190*80*62 Mmoire de programme4096 octets
8192 octets 16384 octets Mmoire de donnes2048 octets 5120 octets
10240 octets Sauvegarde de la mmoire50 heures E/S intgres locales6E
/ 4S8E / 6S14E / 10S24E / 16S Modules dextension0 module2 modules
Compteurs rapides Une phase Deux phases 4 30 kHz 2 20 kHz 4 30 kHz
2 20 kHz 4 30 kHz 2 20 kHz 4 30 kHz 2 20 kHz 4 30 kHz 2 20 kHz
Sorties dimpulsions (CC)2 20 kHz Potentiomtres analogiques11222
Horloge temps relCartouche Intgre Interfaces de communication1
RS-485 Virgule flottanteOui Taille de la mmoire image dE/S TOR 256
(128 Entres, 128 sorties) Vitesse dexcution boolenne0.37
microseconde/opration
Page 24
Modules dextensionTypes Modules TOR Entres Sorties Combinaisons
8*ECC 8*ECA 16*ECC 4*SCC 4*relais 8*SCC 8*SCA 8*relais 4*ECC/4*SCC
8*ECC/8*SCC 16*ECC/16*SCC 4*ECC/4*relais 8*ECC/8*relais
qw16*ECC/16*relais Modules TOR Entres Sorties Combinaisons 4*E
analogiques 4*E thermocouples 2*E RTD 2*S analogiques 4*E
analogiques / 1*S analogiques Modules intelligents Positionnement
Modem PROFIBUS-DP Ethernet Internet Autres modulesInterface AC
Modules dextension pour les automates Siemens S7-200
Page 25
AFFICHEUR DE TEXTE TD200
Page 26
Figure 3.4. Afficheur tactile TP070
Page 27
Espace de donnes des automates S7-200 Objets de donnes
Compteurs rapides (HC) Accumulateurs (AC) Sorties analogiques (AQ)
Entres analogiques (AI) Compteurs (C) Temporisations (T) Relais
squentiels SCR (S) Mmoire de donnes Mmentos spciaux (SM) Mmentos
internes (M) Mmoire image des sorties (Q) Mmoire image des entres
(I) Mmoire des variables locales (L) Mmoire des variables globales
(V)
Page 28
28 M1.5 MB4 MW4 MD4 76543210 M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 Accs
aux donnes dans les API S7-200
Page 29
Programme 3.3. Accs par octet la mmoire Q M0.0 R seau 1 M0.1 R
seau 2 MOV_B EN ENO IN OUT IB0QB0 MOV_B EN ENO IN OUT VB1000QB1
Programme 3.4. Initialisation dun registre de commande de
linterface 0 de communication srie SM0.1 R seau 1 MOV_B EN ENO IN
OUT 16#09SMB30 Exemples de rseaux 29
Page 30
Programme 3.5. Accs aux accumulateurs I0.0 R seau 1 R seau 2 R
seau 3 I0.1 I0.2 DEC_W EN ENO IN OUT AC1VW100 INV_D EN ENO IN OUT
AC3VD250 MOV_B EN ENO IN OUT AC2VB200 AC2 (Accs en octet) 07 Figure
3.7. Bits accds des diffrents accumulateurs par le programme 3.5
AC1 (Accs en mot) 0 15 AC3 (Accs en double mots) 031 Accs aux
accumulateurs 30
Page 31
Exercice 31 1- Donnez le programme en langage Ladder form des
trois rseaux suivants: Rseau 1: Lorsque M0.0=0, ce rseau transfre
le contenu du double mot mmoire VD150 dans le double mot mmoire
LD100, lui retranche 1 et le range dans le double mot mmoire
suivant et range la valeur hexadcimale 160A5020 dans le double mot
daprs. Rseau 2: Range dans la case mmoire V50 loctet compos sur les
entres (I0.0 . I0.7) lorsque lentre I2.0=1, il range aussi une
copie dans AC0. Rseau 3: Affiche le mot rang dans VW120 sur 16
diodes LED montes en cathode commune sur les sorties (Q0.0 . Q1.7)
lorsque I2.1=0. 2- Comment devient le rseau 3 si les diodes sont
branches en anode commune?
Page 32
LES COMPTEURS 32 Les compteurs incrmentaux CU : I0.0 Cxx
(courante) R : I0.1 Chronogramme 3.1. Signaux gnrs par le programme
3.7 Cxx (bit) : Q0.0 0 1 2 3 4 5 6 0 Programme 3.7. Exemple
dapplication dun compteur incrmental Rseau 1 CU CTU R PV 4 I0.0
I0.1 Rseau 2 CxxQ0.0 Cxx Incrments sur les fronts montants de CU.
Lorsque Cxx (courante) PV, Cxx(bit) est activ. Cxx (courante) est
remise zro lorsque lentre R est active ou que lopration Mettre 0
est excute. Le compteur incrmental arrte le comptage lorsquil
atteint la valeur maximale 32767. A la mise sous tension,
Cxx(bit)=0 et la valeur en cours peut tre conserve.
Page 33
LES COMPTEURS 33 Les compteurs dcrmentaux Chronogramme 3.2.
Evolution de la valeur courante et du bit de comptage suivant les
entres (Programme 3.8) Programme 3.8. Exemple dapplication dun
compteur dcrmental Rseau 1 CD CTD LD PV 3 I0.0 I0.1 C1Q0.0 Rseau 2
Decrments sur les fronts montants de CD. Lorsque Cxx (courante) =
zro, Cxx (bit) est activ. Lorsque lentre de chargement LD est
active, le compteur remet Cxx (bit) 0 et charge PV dans Cxx
(courante). Le compteur sarrte lorsquil atteint zro et le bit de
compteur Cxx est alors mis 1. A la mise sous tension, Cxx (bit)=0
et la valeur en cours peut tre conserve.
Page 34
LES COMPTEURS 34 Les compteurs incrmentaux/dcrmentaux Incrments
sur les fronts montants de CU et dcrments sur les fronts montants
de CD Chronogramme 3.3. Evolution de la valeur courante et du bit
de comptage suivant les entres (Programme 3.8) Programme 3.9.
Exemple dapplication dun compteur incrmental/dcrmental Rseau 1 CU
CTUD CD R PV 4 I0.0 I0.1 I0.2 Rseau 2 C48 Q0.0 C48
Page 35
35 LES TEMPORISATEURS
Page 36
36 LES TEMPORISATEURS
Page 37
37
Page 38
38
Page 39
39
Page 40
40 Q0.0 Q0.1 Q0.2 On considre le programme de la figure 2 et on
considre les signaux dentre donns dans la figure 1. Donner sur
cette mme figure 1 les signaux de sortie. 1min2min3min I0.4 I0.5
I1.0 I0.6 Figure 1. Evolution des signaux dentre et de sortie dun
automate S7-200 Figure 2. Programme de temporisation et de comptage
Rseau 3 CU CTUD CD R PV I0.4 I0.5 I0.6 Rseau 5 C48 Q0.2 C48 3 Rseau
4 C48 > 5 Q0.1 Rseau 1 IN TOF PT 300 I1. 0 Rseau 2 T38 Q0.0 T38
Exercice
Page 41
41 Les contacts et les bobines
Page 42
42 Les contacts et les bobines
Page 43
43 Les contacts et les bobines (Solution)
Page 44
44 Blocs bistables avec mise 1 ou 0 prioritaire
Page 45
45 Oprations de comparaison
Page 46
46 Comparaison de chanes
Page 47
47 Oprations arithmtiques
Page 48
48 Oprations arithmtiques (sur des entiers)
Page 49
49 Oprations arithmtiques (sur des rels)
Page 50
50 Oprations arithmtiques (multiplication et division)
Page 51
51 Oprations arithmtiques (multiplication et division)
Page 52
52 Oprations numriques sur des rels
Page 53
53 Oprations numriques sur des rels
Page 54
54 Oprations dincrmentation et de dcrmentation
Page 55
55 Oprations dincrmentation et de dcrmentation
Page 56
56 Combinaisons logiques
Page 57
57 Combinaisons logiques
Page 58
58 Oprations de transfert
Page 59
59 Transfert en bloc
Page 60
60 Dcalage et rotation
Page 61
61 Dcalage et rotation
Page 62
62 Exercice Tableau 2 110 111 114 112 113 118 119 122 120 121
115 116 117 1000 1120 147F 1255 13E3 Adresse (dcimal) Contenu
(hexa) Tableau 1 On suppose que les cases mmoire V sont comme dcrit
dans le tableau 1. Remplissez le tableau 2 par les rsultats de
lexcution du rseau 1. Programme en LADDER . Programme en LIST On
considre le rseau suivant dun programme S7200
Page 63
63 Oprations sur registre dcalage
Page 64
64 Oprations sur registre dcalage
Page 65
65 Oprations sur chanes
Page 66
66 Tables : Insertion des donnes
Page 67
67 Tables: Extraction des donnes (FIFO)
Page 68
68 Tables: Extraction des donnes (LIFO)
Page 69
69 Tables : Initialisation
Page 70
70 Formats de tables
Page 71
71 Chercher dans table
Page 72
72 Exercice : Cration dune table Donnez le programme permettant
de crer une table de 20 entres. Le premier emplacement de mmoire de
la table contient la longueur de la table (dans ce cas, 20 entres).
Le deuxime emplacement de mmoire contient le nombre en cours
dentres dans la table. Les autres emplacements contiennent les
diffrentes entres. Une table peut comporter jusqu 100 entres. Cela
ninclut pas les paramtres dfinissant la longueur maximale de la
table ou le nombre effectif dentres (ici VW0 et VW2). La CPU
incrmente ou dcrmente automatiquement le nombre effectif dentres
dans la table (ici VW2) chaque commande. Avant de travailler sur
une table, on dfinit le nombre maximal dentres de la table. Sinon,
on ne peut pas insrer dentres dans la table. Aussi, toutes les
commandes de lecture et dcriture doivent tre actives sur front.
Lindice (VW106) doit tre dfini 0 avant de commencer une recherche
dans la table. Si une occurrence est trouve, lindice sera gal au
numro de lentre de table correspondante ; en revanche, en labsence
doccurrence correspondante, lindice sera gal au nombre dentres en
cours pour la table (VW2).
Page 73
73 Programme de cration dune table
Page 74
74 Exercice 1-Donnez un programme S7-200 qui ajoute 8 au mot
mmoire VW100 et enregistre le rsultat sur 16 bits dans le mot
VW102. Ce mot est divis par la suite par 5, le quotient est rang
dans le mot mmoire VW112 et le reste est rang dans le mot VW110.
Cette opration est ralise chaque fois quon appuie sur un bouton
poussoir fermeture reli lentre I2.0. 2-Donnez un programme S7-200
qui ralise la fonction (x+8)/5 sur le mot VW10 et range le rsultat
comme suit : le quotient dans VW20 et le reste dans VW30.
Page 75
75 Exemple
Page 76
76 Exemple
Page 77
77 Exemple
Page 78
78 Exemple
Page 79
79 Exemple
Page 80
80 Exemple: Formalisme du problme
Page 81
81 Exemple: Formalisme du problme
Page 82
82 Exemple: Formalisme du problme
Page 83
83 Exemple: Formalisme du problme
Page 84
84 Exemple: Formalisme du problme
Page 85
85 Exemple: Formalisme du problme
Page 86
86 Exemple: Formalisme du problme
Page 87
87 Exercice Un affichage publicitaire est ralis sur un panneau
contenant 32 lampes command par un automate S7200. Chacune des
lampes est commande par une sortie logique Qi.j, i=03, j=07.
Lorsquun bouton de marche fermeture reli I0.0 est appuy, le systme
prend le nom de lentreprise partir de 4 cases successives de la
mmoire et laffiche comme suit : V10.0 Q0.0 V13.7 Q3.7. Par la
suite, lautomate fait tourner laffichage de 8 pas vers la gauche
chaque demi-seconde. Laffichage est arrt et les lampes sont teintes
lorsquon appuie sur un bouton darrt ouverture branch I0.1. Donnez
un programme en langage Ladder permettant cet affichage.
Page 88
88 Oprations SCR (relais squentiels) Lopration Charger relais
squentiel (LSCR) signale le dbut dun segment SCR et lopration Fin
de relais squentiel (SCRE) signale la fin dun segment SCR. Toute la
logique entre les oprations LSCR et SCRE dpend de la valeur de la
pile SCR pour son excution. La logique entre SCRE et lopration LSCR
suivante ne dpend en aucune faon de la valeur de la pile SCR.
Lopration Changement de relais squentiel (SCRT) permet de passer la
main dun segment SCR actif un autre segment SCR. Lexcution de
lopration SCRT en prsence dun flux de signal remet 0 le bit S du
segment actuellement actif et met 1 le bit S du segment rfrenc. La
remise 0 du bit S du segment actif naffecte pas la pile SCR au
moment o lopration SCRT sexcute. Ainsi, le segment SCR reste excit
jusqu ce quon le quitte.
Page 89
89 Exemple : Oprations SCR Dans lexemple suivant, le mmento
Premier cycle (SM0.1) met S0.1 1, ce qui sera ltat 1 actif lors du
premier cycle. Aprs un retard de 2 secondes, la temporisation T37
provoque une transition ltat 2. Ce changement dsactive le segment
SCR Etat 1 (S0.1) et active le segment SCR Etat 2 (S0.2).
Page 90
90 Divergence dun graphe squentiel Il est possible de raliser
une divergence du graphe squentiel dans un programme SCR en
utilisant plusieurs oprations SCRT valides par la mme condition de
transition, comme illustr dans lexemple ci contre
Page 91
91 Convergence de branches squentielles On parle de convergence
de branches lorsque deux branches squentielles ou plus doivent
fusionner en un graphe squentiel unique. Dans ce cas, toutes les
branchesen entre doivent tre acheves avant lexcution de ltat
suivant.
Page 92
92 Divergence dun graphe squentiel en fonction dune condition
de transition un graphe squentiel peut tre dirig vers une branche
squentielle parmi plusieurs possibles, selon la condition de
transition qui devient vraie en premier. Une telle situation est
dcrite dans la figure ci contre qui montre un programme SCR
quivalent.
Page 93
93
Page 94
94
Page 95
95
Page 96
Si le systme nest pas arm, le programme fait clignoter le tmoin
lumineux (Q0.0) lorsque le contact pour la zone 1 (I0.0) ou le
contact pour la zone 2 (I0.1) est ouvert. 96
Page 97
Lorsque le systme est arm (cl sur la position En fonction ou
Arm, ce qui active I0.2), le programme doit dmarrer une
temporisation de retard qui donne au propritaire 90 secondes pour
quitter la maison. Pendant ce temps de retard, le programme ne
ragit pas lorsque le contact pour lune ou lautre zone (I0.0 ou
I0.1) souvre. 97
Page 98
Deux actions sont possibles une fois la squence de notification
lance : Si le propritaire dsarme le systme (en tournant la cl sur
Hors fonction ou Dsarm, ce qui dsactive I0.2), le programme met les
sorties zro (Q0.0 et Q0.2) et remet les temporisations zro. 98
Page 99
le systme na pas t dsarm dans un intervalle de 60 secondes, le
programme active lalarme et le composeur du modem (Q0.1 et Q0.3).
99
Page 100
Si lalarme durgence (I0.3) est active, le programme active
lalarme et le composeur du modem (Q0.1 et Q0.3). Il agit ainsi
indpendamment de ltat du commutateur darmement/dsarmement (I0.2) et
nexcute pas, dans ce cas, la squence de notification qui fournit un
temps de retard permettant de dsarmer le systme. 100
Page 101
Si le systme est dsarm (cl sur Hors fonction ou Dsarm , ce qui
dsactive I0.2) aprs activation de lalarme (Q0.1), le programme
dsactive les sorties (Q0.1 et Q0.3) et remet les temporisations
zro. 101
Page 102
Comme les sorties sont mises 1 directement, le programme se
sert des m mentos (M) pour sauvegarder les r sultats de la logique
de commande (figure 3-9). A la fin du programme, ces bits mettent
les sorties 1 ou 0. 102
Page 103
a-LADDERb- LIST Figure 3.17. Les contacts en LIST Le langage
LIST Les contacts et les bobines a-LADDER b- LIST Figure 3.18. Les
bobines en LIST 103
Page 104
Actions des instructions de contact sur la pile Le langage LIST
Les contacts et les bobines 104
Page 105
NETWORK 1 LD I0.0 A I0.1 = Q0.0 NOT = Q0.1 NETWORK 2 LD I0.2 ON
I0.3 = Q0.2 NETWORK 3 LD I0.4 LPS EU S Q0.3, 1 = Q0.4 LPP ED R
Q0.3, 1 = Q0.5 Traduction en langage LIST dun programme crit en
schma de contact Le langage LIST Les contacts et les bobines
105
Page 106
Oprations sur pile Le langage LIST Les contacts et les bobines
106
Page 107
Exemples dapplication des oprations sur pile Le langage LIST
Les contacts et les bobines 107
Page 108
Le langage LIST Les oprations sur compteurs 108
Page 109
Le langage LIST Les oprations sur temporisateur 109
Page 110
Le langage LIST Les oprations sur temporisateur 110
Page 111
Le langage LIST Les oprations de comparaison 111
Page 112
Le langage LIST Les oprations de comparaison 112
Page 113
Exercice 3 : Un bouton poussoir fermeture est reli lautomate
par sa ligne dentre I0.0. Sur chaque front montant de I0.0,
lautomate multiplie par 16 la valeur de lentre analogique AIW0, lui
ajoute le contenu du double mot VD100. Si la somme est suprieure 1
million, une lampe branche Q0.0 est allume ; sinon cette lampe est
teinte. Donnez ce programme en schma de contacts et en LIST. Le
langage LIST 113
Page 114
LDI1.0 EU MOVWAIW0, VW106 MUL16, VD104 +DVD100, VD104
LDD>VD100, 1000000 =Q0.0 END Programme en LIST END Rseau 3 Rseau
1 I0.0 P MUL EN ENO IN1 OUT IN2 AIW0 VD104 16 ADD_DI EN ENO IN1 OUT
IN2 VD100 VD104 Q0.0 Rseau 2 VD100 >D 1000000 Le langage LIST
114
Page 115
Figure 3.10. Format dun nombre rel 031302322 SigneExposant
Mantisse S Les nombres rels (ou nombres virgule flottante) sont
reprsents sous forme de nombres de 32 bits simple prcision dont le
format est dcrit dans la norme ANSI/IEEE 754-1985 (voir figure
3.10). On y accde sous forme de doubles mots. En ce qui concerne le
S7-200, les nombres virgule flottante prsentent une prcision de 6
chiffres aprs la virgule. Vous pouvez donc indiquer 6 chiffres
dcimaux au maximum lorsque vous entrez une constante virgule
flottante. Exemple : -3.1452 E5 S=1, Exposant=5 et Mantisse=31452.
Reprsentation des nombres rels 115
Page 116
Exercice 4 : Aprs chaque cinq fronts montants sur lentre I0.0,
le programme lit le contenu de lentre analogique AIW1 qui est
langle fait par un arbre en degrs. Le programme calcule le reste de
la division de langle par 360, il le transforme par la suite en un
nombre rel pour lui appliquer la fonction sinus. Selon le sinus de
langle : - Sil [-1, -0.5[, le programme allume la lampe branche
Q0.0, - Sil [-0.5, 0[, le programme allume la lampe branche Q0.1, -
Sil [0, 0.5[, le programme allume la lampe branche Q0.2, - Sil
[0.5, 1], le programme allume la lampe branche Q0.3. Le langage
LIST et les nombres rels Calcul sinus, Calcul cosinus et Calcul
tangente : Les oprations Calcul sinus (SIN), Calcul cosinus (COS)
et Calcul tangente (TAN) valuent la fonction trigonomtrique de la
valeur dangle IN et placent le rsultat dans OUT. La valeur de
langle dentre doit tre exprime en radians. N.B. Pour convertir un
angle de degrs en radians : multipliez langle en degrs par
1.745329E-2 (approximativement par /180) laide de lopration MUL_R
(*R). 116
Page 117
Rseau 1 CU CTU R PV 5 I0.0 M0.0 C10 I_DI EN ENO IN OUT AC0 AC1
Rseau 2 C10 DIV EN ENO IN1 OUT IN2 AIW1 AC0 360 DI_R EN ENO IN OUT
AC1 AC2 SIN EN ENO IN OUT AC3VD100 MUL_R EN ENO IN1 OUT IN2 AC2AC3
1.745329E-2 END Rseau 8 Rseau 7 C10M0.0 Q0.3 Rseau 6 VD100 R 0.5
Q0.0 Rseau 3 VD100