Vous êtes sur la page 1sur 15

Chapitre IV Programmation avec STEP 7

CHAPITRE IV
PROGRAMMATION AVEC STEP 7

Introduction
Dans ce chapitre nous allons détaillé comment faire pour créer un projet par
différents langages de programmation et comment transférer et tester le programme dans
la CPU et comment se fait le traitement des programmes en compte tenu le principe de
conception d'une structure de programme avec des explication à différents blocs.

IV.1 STEP 7 : Mode d’emploi


Avant de créer un projet, on peut envisager différentes approches. En effet, le
logiciel STEP 7, offre une liberté, de choix de la procédure à adapter [3].
Du moment que notre projet contient beaucoup d‘entrées et de sorties, il est
préférable de commencer par configurer le matériel avant la création du programme
L‘application de la configuration matérielle de STEP 7 présente l‘avantage que les
adresses y sont sélectionnées pour nous [3].
Si nous choisissons la seconde alternative (voir la figure VI-1), il nous faudra
rechercher nous-même les adresses en fonctions des constituants choisis.
Vous ne pourrez alors pas bénéficier de la fonction d‘adressage automatique de
STEP 7 [3].
La configuration matérielle nous permet non seulement de sélectionner les
adresses, mais également de modifier les paramètres et les propriétés des modules [3].

IEM 01 49 FHC
Chapitre IV Programmation avec STEP 7

Conception
Conceptiond'une
d'unesolution
solutiond'automatisation
d'automatisation

Création d'un projet


Création d'un projet
Alternative 1 Alternative 2

Configuration
Configurationmatérielle
matérielle Création
Créationdu
duprogramme
programme

Création
Créationdu
duprogramme
programme Configuration
Configurationmatérielle
matérielle

Transfert et test du programme dans la


CPU

Figure VI-1 : Les différentes étapes de programmation par S7 [3]

IV.2 Programmation symbolique


IV.2.1 Adresse absolue (voir Figure VI-2)
Chaque entrée et chaque sortie possèdent par défaut une adresse absolue
déterminée par la configuration matérielle. Celle-ci est indiquée de manière directe, c’est
à dire absolue.
L’adresse absolue peut être remplacée par des noms symboliques pouvant être
librement choisis [3]

IEM 01 50 FHC
Chapitre IV Programmation avec STEP 7

Figure IV-2 : Les adresses absolues du modules entrées / sorties [3]

IV.2.2 Programmation symbolique


Nous affectons dans la table des mnémoniques un nom symbolique à toutes
adresses absolues que nous voulons appeler dans le programme ainsi que le type de
donnée, par exemple d’entrée E 0.1 le mnémonique commutateur 1. Ces noms valent
pour toutes les sections du programme. C’est pour ça on les appelles des variables
globales.
La programmation symbolique permet d‘alléger l‘écriture de votre programme qui
y gagne en clarté [3].

IEM 01 51 FHC
Chapitre IV Programmation avec STEP 7

IV.3 Edition et traitement du programme

IV.3.1 Edition du programme


Pour créer notre programme S7, nous disposons dans STEP 7 de trois langages
de programmation : CONT, LIST, LOG, et Grafcet (en option S7- Grafcet) [3].
Exemple : Lampe verte : ‘ ‘Commutateur 1’’ & ‘‘Commutateur 2’’

IV.3.1.1 CONT (schéma à CONTacts)


Pour l’habitué des schémas électrique, le schéma à contacts CONT est un langage
de programmation graphique. La synthèse de ses instructions s’inspire des schémas à
relais. CONT permet de suivre facilement le flux d’énergie circulant via des entrées, des
sorties et des opérations entre les barres d’alimentation [3].

‘ ‘Commutateur 1’’ ‘‘Commutateur 2 ’’ ‘’Lampe verte’’

 

IV.3.1.2 LIST (LISTe d’instructions)

Pour l’informaticien.La liste d’instructions LIST est un langage de programmation


pouvant être utilisé pour la création d’instruction des blocs de code. La syntaxe des
instructions ressemble à celle du langage assembleur. Les opérations sont suivies
d’opérandes.

U E 0.1 ‘ ‘Commutateur 1’’


U E 0.2 ‘ ‘Commutateur 2’’
= A 0.1 ‘’Lampe verte’’

Opération Opérande

IEM 01 52 FHC
Chapitre IV Programmation avec STEP 7

IV.3.1.3 LOG (LOGigramme)


Pour le spécialise des circuits ou le programmeur préférant les opérations logiques,
le logigramme LOG est un langage de programmation graphique qui utilise les boites
logiques de l’algèbre de Boole pour représenter la logique. Il est également possible de
représenter des fonctions complexes comme les fonctions mathématiques directement en
liaison avec les boites logiques [3].

‘’Lampe verte’’
‘‘Commutateur 1’’ &
=
‘‘Commutateur 2’’

Remarque :
Il est possible, de manière générale, de représenter sans problème en LIST les
programmes écrits en LOG ou en CONT. Lors de la conversion de programmes CONT
en programme LOG et vice-versa, tout élément de programme ne pouvant être représenté
dans le langage cible est affiché en LIST [3].

IV.3.2 Traitement des programmes


Le traitement du programme par le processeur s’effectue dans la CPU. Cette dernière
et les modules d’E/S sont reliés à un bus servant aux échanges de données [3].
Le processeur reçoit l’information sur l’état du signal de chaque capteur, au moyen
des modules d’entrées. Il active les sorties concernées. Ces informations sont transmises
au processus au moyen des modules de sorties.
Le microprocesseur se trouvant sur le module CPU, avec le logiciel système, assure le
traitement du programme utilisateur [3].

IEM 01 53 FHC
Chapitre IV Programmation avec STEP 7

IV.4 Principe de conception d’une structure de programme


IV.4.1 Blocs dans le programme utilisation
Le logiciel de programmation STEP 7 nous permet de structurer notre programme
utilisateur, c’est à dire le subdiviser en différentes parties autonomes pour les avantages
suivants :
 Ecrire des programmes importants mais clairs.
 Standardiser certaines parties du programme.
 Simplifier l’organisation du programme.
 Modifier facilement le programme.
 Faciliter la mise en service.

IV.4.2 Types de bloc


Nous pouvons utiliser différents types de blocs dans un programme utilisateur S7 :

 Bloc d’organisation (OB)


Les OB déterminent la structure du programme utilisateur. Ils constituent
l’interface entre le système d’exploitation et le programme utilisateur. Ils sont appelés par
le système d’exploitation et gèrent le traitement de programme cyclique, assurent le
déclenchement de l’alarme à la fin de chaque cycle, ainsi que le comportement à la mise
en route de l’API et le traitement des erreurs [3].

 Blocs fonctionnels système (SFB) et fonctions système (SFC)


Les SFB et SFC sont intégrés à la CPU S7 et nous permettent de réaliser quelques
fonctions systèmes importantes.

 Blocs fonctionnels (FB)


Les FB sont des blocs avec « mémoire »que nous programmons nous-même.
Un bloc fonctionnel contient un programme qui est exécuté quand ce bloc fonctionnel
est appelé par un autre bloc de code. Les blocs fonctionnels facilitent la programmation
de fonctions complexes souvent utilisées[3].

IEM 01 54 FHC
Chapitre IV Programmation avec STEP 7

 Fonctions (FC)
Les FC contiennent des routines de programmes pour les fonctions fréquemment
utilisées. Une fonction contient un programme qui est exécuté quand cette fonction est
appelée par un autre bloc de code. Nous pouvez faire appel à des fonctions pour :
_ Renvoyer une valeur de fonction au bloc appelant (exemple : fonctions mathématiques)
_Pour exécuter une fonction technologique (exemple : commande individuelle avec
combinaison binaire) [3].

 Blocs de données d’instance (DB d’instance)


Un bloc de données d’instance est associé à chaque appel de bloc fonctionnel
transmettant des paramètres. Ce bloc de données d’instance contient les paramètres
effectifs et les données statiques du FB. Les variables déclarées dans le FB déterminent
la structure du bloc de données d’instance.
Les blocs de données sont appelés par les blocs FB / SFB. Et générés
automatiquement lors de la compilation [3].

 Blocs de données (DB)


Contrairement aux blocs de code, les blocs de données ne contiennent pas
d’instructions STEP 7. Ils servent à l’enregistrement de données utilisateur, ils
contiennent des données variables que le programme utilisateur utilise. Ces données
utilisateur sont utilisables par tous les autres blocs. Les DB sont des zones de données
dans lesquelles l’on enregistre les données utilisateur [3].

Programmation linéaire ou structurée


Il est possible d’écrire notre programme utilisateur dans l’OB1 (programmation
linaire). Cela n’est toute fois recommandé que pour les programme simples s’exécutant
sur des CPU S7-300 avec une mémoire peu importante [3].
Les automatismes complexes sont mieux traités si nous les subdivisons en tâches
partielles qui sont représentées par des parties de programme (blocs) correspondantes
(programmation structurée).

IEM 01 55 FHC
Chapitre IV Programmation avec STEP 7

Appels des blocs


Le programme appelle le deuxième bloc dont les opérations sont alors traitées dans
leur intégralité. Une fois le bloc appelé achevé, le traitement se poursuit avec les
opérations qui suivent l’appel du bloc appelé [3].

IV.5 Programmation avec Grafcet

Le GRAFCET (Graphe de Contrôle Etape-Transition) est un outil graphique


normalisé (norme internationaledepuis 1987) permettant de spécifier le cahier des charges
d’un automatisme séquentiel. On peut utiliser 2 niveaux successifs de spécifications:

 GRAFCET niveau1: spécifications fonctionnelles. On décrit l’enchainement des


étapes sans préjuger de la technologie.
 GRAFCET niveau2: on ajoute les spécifications technologiques et opérationnelles

Un troisième niveaux, issu du deuxième, permet d’introduire le programme de


fonctionnement dans l’automate.

Conçu au départ comme outil de spécification du cahier des charges, le GRAFCET


est devenu également un outil pour la synthèse de la commande et un langage de
programmation des automates programmables.

IV.5.1 Elements du grafcet

Un Grafcet est composé d'étapes, de transitions et de liaisons.

a) Une LIAISON est un arc orienté (ne peut être parcouru que dans un sens). On la
représente par un trait plein rectiligne, vertical ou horizontal. Une verticale est parcourue
de haut en bas, sinon il faut le préciser par une flèche. Une horizontale est parcourue de
gauche à droite, sinon le préciser par une flèche.

IEM 01 56 FHC
Chapitre IV Programmation avec STEP 7

b) Une ETAPE correspond à une phase durant laquelle on effectue une ACTION pendant
une certaine DUREE (même faible mais jamais nulle). L'action doit être stable, c'est à
dire que l'on fait la même chose pendant toute la durée de l'étape, mais la notion d'action
est assez large, en particulier composition de plusieurs actions. On représente chaque
étape par un carré, l'action est représentée dans un rectangle à gauche, l'entrée se fait par
le haut et la sortie par le bas. On numérote chaque étape par un entier positif, mais pas
nécessairement croissant par pas de 1, il faut simplement que jamais deux étapes
différentes n'aient le même numéro [11].

2 -ACTION-

Si plusieurs liaisons arrivent sur une étape, pour plus de clarté on les fait arriver
sur une barre horizontale, de même pour plusieurs liaisons partant de l'étape. Cette barre
horizontale n'est pas une nouvelle entité du Grafcet, elle fait partie de l'étape, et ne
représente qu'un "agrandissement" de la face supérieure (ou inférieure) de l'étape.

2 -ACTION-

Une étape est dite active lorsqu'elle correspond à une phase "en fonctionnement",
c'est à dire qu'elle effectue l'action qui lui est associée. On représente quelquefois une
étape active à un instant donné en dessinant un point à l'intérieur.

c) Une TRANSITION est une condition de passage d'une étape à une autre. Elle n'est que
logique (dans son sens Vrai ou Faux), sans notion de durée. La condition est définie par
une RECEPTIVITE qui est généralement une expression booléenne (c.à.d avec des ET et
des OU) de l'état des CAPTEURS.

On représente une transition par un petit trait horizontal sur une liaison verticale.
On note à droite la réceptivité. Dans le cas de plusieurs liaisons arrivant sur une
transition, on les fait converger sur une grande double barre horizontale, qui n'est qu'une
représentation du dessus de la transition. De même pour plusieurs liaisons partant sous
une transition.

IEM 01 57 FHC
Chapitre IV Programmation avec STEP 7

Receptivité

IV.5.2 Règles d'évolution

La modification de l'état de l'automatisme est appelée évolution, et est régie par 5 règles :

R1 : Les étapes initiales sont celles qui sont actives au début du fonctionnement. On les
représente en doublant les côtés des symboles. On appelle début du fonctionnement le
moment où le système n'a pas besoin de se souvenir de ce qui c'est passé auparavant
(allumage du système, bouton "reset",...). Les étapes initiales sont souvent des étapes
d'attente pour ne pas effectuer une action dangereuse par exemple à la fin d'une panne de
secteur.

R2 : Une transition est soit validée, soit non validée (et pas à moitié validée). Elle est
validée lorsque toutes les étapes immédiatement précédentes sont actives (toutes celles
reliées directement à la double barre supérieure de la transition). Elle ne peut être
franchie que lorsqu'elle est validée et que sa réceptivité est vraie. Elle est alors
obligatoirement franchie.

7 8 9
transition non validée

Condution1

10 11 12

7 8 9 transition validée

Condution1

10 11 12

8
transition franchie
7 9

Condution1
IEM 01 58 FHC
10 11 12
Chapitre IV Programmation avec STEP 7

R3 : Le franchissement d'une transition entraîne l'activation de toutes les étapes


immédiatement suivantes et la désactivation de toutes les étapes immédiatement
précédentes.

R4 : Plusieurs transitions simultanément franchissables sont simultanément franchies

R5: Si au cours du fonctionnement, une même étape doit être désactivée et activée
simultanément, elle reste active [11].

IV.5.3 Différents types de liaisons

Divergence en OU : Convergence en OU :
12
1 2

i2 i1
i1 i2

7
18 17

si étape 12 active Si étape 1 active


et si i1=1 seul et i1 =1, i2=0
alors désactivation de 0 alors activation de 7
activation étape 18 et désactivation de 1
17 inchangée. 2 inchangée
si i1=1 et i2=1, lorsque 12 devient active, alors Si 1 et 2 active et i1=1, i2=1 alors
désactivation 12, activation 17et 18. (règle 4) désactivation 1 et 2, activation 7
Divergence en ET : Convergence en ET :
12
7 8
i1

i1
18 17
10

si 12 active Si 7 et 8 actives
et si i1=1 et i1=1
alors désactivation de 12 alors activation de 10
et activation de17 et 18 et désactivation de 7 et 8
IEM 01 59 FHC
Chapitre IV Programmation avec STEP 7

Le Grafcet de la chaîne de refendage

Ce Grafcet a été réalisé selon les spécifications du cahier de charges indiqué pour le
fonctionnement de la chaîne de refendage. Il nous a permis de concevoir notre
1 en langage à CONT.
programme
1 M
15 14S1

2 1m1
15 b9 AND 15b1 AND 19b1

2 1b2
13S1 11S1
16
9S1 17S2
3 17S3
16 b7 AND b3 AND c2
3 f1
17 11S1 9S1 5h1

4 17S4

C9 AND C10
4 f2 AND 3b1
172 C9 171 C10

1m2
5 19 2S2 18 2S1
1m3
19 C9 18 C10
5 1b3

6 3S3
20 15S2 11S1 9S1

6 a2
20 b5

7 3S1
21 16m1

7 6b5 AND 3b1


21 b4

8 4S1
30S1
26 22 13S2
8 a5 9S1

26 b6 22 b8

9 5S1 3S2
20m5
27 23 14S2
9 a1 AND 3b1 20m6

27 f 9 AND f 5 AND f 7 23 b10


10 4S2 3S6
24 28S1 17S1 15S1
28 20m1 G1.9h2
10 6b7 AND g1

28 22b1 24 15b1 AND c1 AND b1


11 5S2 7S1

29 3S4 22S1 25
11 6b5 AND a6

12 28S2 29 C 8 AND d 4

12 a10 30 3S5 22S2

13 9S2 11S1 30 f 8 AND d5

13 f3
31 20m1 G1.9h2
14 9S1 LT1=1MIN
IEM 01 60 FHC
14 T1 31 h5

VERS ETAPE 32
Chapitre IV Programmation avec STEP 7

20m1 G1.9h2
32
23S3 26m1 G1.9h2
32 C4 45
1S3 G2.9h2 61 43S1

20m1 G1.9h2 45 b3 61 g6
33
29S1
1S4 G1.9h2 7S2
33 d6 AND d2 46 62 16S2 1S2
26m1 G2.9h2

20m1 G1.9h2 46 a7 AND d1 62 e8 AND a9


34
23S1
3S4 20m8
34 C6 47 21S1
20m7 22s1 63
29S4 20m1
47 f4 AND f6 AND d4 63 g8
35 AND c8
G1.9h2 21m1

35 e2 AND d3 48 3S5 22S2 64 21S2

48 d5 AND f8 64 g9
36 10S1
18m1 26m1
36 e5 AND d9 AND d10 49
30S2 G2.9h2 65 41S6

49 19b1
37 31S1 21m1
65 f3
23S2 18m1 G2.9h2
37 33b1 AND 40b1 50
23S4 26m1 66 41S2
30S6
38 50 VERS ETAPE 1 g10
29S2 c3 AND c5 AND e10 66

38 e1 AND d8
67 LT3=5mn

39 10S2
56 50S1 51 8S2
Grafcet de la chaîne de refendage 67 T3

39 e6 AND f10 51 e4
56 C9
68 43S2
30S5
40 LT2=1mn
57 24S1 52 68 C7
29S4

40 T2 52 d10 AND d9
57 h1

1S1 26S1
41 58
29S3 24S2
53 31S5
41 a8 AND d7
58 h2 AND f10
53 e2
42 16S1
59 28S5 41S1
54
25S2
42 e7 59 h3
1S4 G1.9h2 31S3 54 g2 AND g3
43
26m1 G2.9h2 60 28S6
55 41S5
43 30b2

8S1 26m1 G1.9h2


44
1S4 20h10 G2.9h2
IEM 01 61 FHC
44 e3
60 g 4 AND h4
Chapitre IV Programmation avec STEP 7

Grafcet de la chaîne de refendage ( suite )

Conclusion :
La connaissance de la programation avec STEP7 est une étape très importante
pour traduire le cahier des charges en un programme utilisant un automate programmable
de famille S7. La programmation peut être réalisée selon 3 modes:
-Programmation linéaire
-Programmation en mode structuré
-Programmation avec GRAFCET

IEM 01 62 FHC
Chapitre IV Programmation avec STEP 7

En ce qui nous concerne, nous avons choisis de programmer en mode linéaire en langage
à contact. L’outil GRAFCET nous a aidé à déterminer les différentes étapes de
fonctionnement du programme. Ce programme est décrit dans l’annexe.

IEM 01 63 FHC

Vous aimerez peut-être aussi