Chapitre III Présentation du logiciel STEP7
1. Introduction
Dans ce chapitre nous allons détaille 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 explications à différents blocs.
2. Aperçu du progiciel STEP 7
STEP 7 est le progiciel de base pour la configuration et la programmation des systèmes
d'automatisation SIMATIC et qui s’exécute sous un environnement Windows à partir d’une console
de programmation ou d’un PC.
STEP 7 assiste l’utilisateur dans toutes les phases du processus de création des solutions
d'automatisation, comme par exemple :
la création et la gestion de projets,
la configuration et le paramétrage du matériel et de la communication,
la gestion des mnémoniques,
la création de programmes, par exemple pour les systèmes cible s7,
le chargement de programmes dans des systèmes cible,
le test de l'installation d'automatisation,
le diagnostic lors de perturbations de l'installation.
3. Structuration du programme
3.1. Type de programmation (linéaire, structurée)
A. Programmation linéaire
Le programme utilisateur peut s’écrire en entier en une seule liste ou dans un seul bloc
(programmation linéaire) où les instructions s’exécutent les une après les autres jusqu’à la fin. Cela
n'est toutefois recommandé que pour des programmes simples s'exécutant sur des CPU d’une
mémoire peu importante. Le développement d’un tel programme par cette méthode devient
difficilement gérable lorsque ce dernier dépasse un certain volume.
B. Programmation Structurée
La programmation structurée consiste à subdiviser un programme plus ou moins complexe en
plusieurs sous-programmes (SR) où chacun des ces sous programmes est développé pour exécuter
une tâche ou fonction spécifique. Un autre programme dit programme principal sera chargé de gérer
ces sous-programme (ces sous-programme peuvent être des tâches périodiques, tâches
événementielles ou des fonctions prédéfinies) et d’en faire appel autant de fois qu’il est nécessaire.
ENSET-ORAN/5 ELN/2012 Page 22
Chapitre III Présentation du logiciel STEP7
3.2. Langage de programmation de STEP 7
La programmation des blocs de codes peut se faire à l’aide de trois applications :
3.2.1. CONT, LIST, LOG
Ce langage permet de programmer les blocs d’organisation (OB), les blocs fonctionnels (FB),
ainsi que les fonctions (FC).
Pour accéder à l’éditeur des programmes CONT, LIST, LOG il suffit de double cliquer sur
l’objet précédemment créé (OB, FB, FC). Ainsi on obtiendra la fenêtre suivante :
Figure III.1. Editeur de programme CONT, LIST, LOG.
On peut distinguer trois zones principales :
1. Le catalogue : c’est la bibliothèque des opérations et instructions du langage choisit (ici
CONT), ces différentes opérations sont regroupées par famille : opération sur les bits, sur les
mots, sur les entiers… .Pour utiliser une opération, il suffit de faire glisser l’élément vers la
zone souhaitée.
2. La zone de déclarations : dans cette zone on définit les variables locales, les variables
d’entrées et sorties ou arguments pour les fonctions et les blocs fonctionnels.
3. La zone d’édition : elle est structurée en réseaux ; chaque réseau se termine par une
affectation ou un saut.
ENSET-ORAN/5 ELN/2012 Page 23
Chapitre III Présentation du logiciel STEP7
On remarque que les programmes sont structurés sous forme de réseaux avec la possibilité de
choisir un langage de programmation et cela en cliquant sur ‘ affichage’ comme nous le montre
l’image ci-dessous.
Figure III.2. Choix du langage de programmation.
STEP 7 présente trois modes de programmation possibles qui peuvent être combinés dans le
même programme :
Programmation à schéma à contacte (CONT).
Programmation à liste d’instruction (LIST).
Programmation à schéma logique (LOG).
1.2.1. Le schéma à contacts (CONT)
C’est un langage de programmation graphique dont l’avantage réside dans le fait qu’il utilise
des symboles très proches de ceux utilisés dans les schémas électriques à contact (Schéma à relais).
En milieu industriel, ce type de langage permet l’adoption, sans effort particulier, d’un automate
programmable par des utilisations de tout niveau, en particulier par des techniciens d’entretient
puisqu’il facilite les opérations de maintenance et de dépannage par la parfaite correspondance avec
les circuits classiques à relais.
1.2.2. Liste d’instruction (LIST)
LIST est un langage de programmation textuel proche de la machine. Dans un programme
LIST, les différentes instructions correspondent, dans une large mesure, aux étapes par lesquelles la
CPU traite le programme. Pour faciliter la programmation, LIST a été complété par quelques
structures de langage évolué (comme, par exemple, des paramètres de blocs et accès structurés aux
données).
ENSET-ORAN/5 ELN/2012 Page 24
Chapitre III Présentation du logiciel STEP7
Un programme d’automate exprimé en langage liste est une suite d’instruction littérale où
chaque instruction comprend un code opération et un opérande.
1.2.3. Le logigramme (LOG)
C’est un langage de programmation graphique qui utilise les boîtes de l'algèbre de Boole
pour représenter les opérations logiques. Les fonctions complexes, comme par exemple les
fonctions mathématiques, peuvent être représentées directement combinées avec les boîtes logiques.
Figure V.3: mode de représentation des langages basiques de programmation STEP 7
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.2.2. Texte structuré (SCL)
SCL est un langage de programmation textuel de haut niveau dédié aux applications
d’automatisations. Il est utilisé principalement pour décrire des procédures complexes et
difficilement modélisables, avec les langages graphiques. Il peut aussi être utilisé de façon
complémentaire avec d’autres langages de programmation. Ainsi un bloc programmé en SCL peut
appeler un autre programme en LIST, CONT ou LOG.
Le SCL possède un jeu d’instructions très riche ; il utilise les mêmes énoncés que les langages
de programmation évolués (PASCAL, C..), comme les assignations, les appels de fonctions, les
énoncés de contrôle (IF, THES, ELSE, CASE….), les énoncés d’itération (FOR, WHILE,
REPEAT…).
ENSET-ORAN/5 ELN/2012 Page 25
Chapitre III Présentation du logiciel STEP7
Pour créer un fichier source SCL, il suffit de revenir au SIMATIC Manager, un clic droit sur
le répertoire source permet l’insertion de ce fichier source.
Figure III.4. Création d’un fichier source SCL.
Un double clique sur l’objet crée ouvre l’application d’édition de programme SCL. De la,
plusieurs choix relatifs au type de fichier que l’on veut créer, sont possibles. En cliquant sur
insertion blocs, on pourra choisir entre :
Bloc d’organisation.
Bloc de fonction.
Fonction.
Figure III.5. Choix du type de fichier SCL (1).
ENSET-ORAN/5 ELN/2012 Page 26
Chapitre III Présentation du logiciel STEP7
3.2.3. S7-GRAPH
Cette application permet l’édition des blocs fonctionnels. Cependant, elle ne permet pas
d’éditer des fonctions, car elles n’ont pas des blocs de données associes pour mémoriser l’état des
différentes transitions et étapes.
Figure III.6. Editeur S7-GRAPH.
On remarque deux parties, la première est la zone d’édition, la deuxième inclut les éléments à
ajouter (des transitions, des branchements, des étapes…).
Pour ajouter un élément à la zone d’édition, il suffit de cliquer sur l’emplacement souhaité puis sur
l’élément.
Pour ajouter une action, cliquer par le bouton droit de la souris sur la colonne à droite et choisir
‘insérer un nouvel élément’ puis sur ‘action’. Il existe différents types d’actions. Le tableau suivant
résume les plus utilisées :
Opération Opérande Signification
N A, E, M, ou D Tant que l’étape est active l’opérande est à 1
S A, E, M, ou D SET : dès que l’étape est active, l’opérande est mis à 1
R A, E, M, ou D RESET : dès que l’étape est active, l’opérande est mis
à0
D A, E, M, ou D Delay : n secondes après l’activation de l’étape,
l’opérande se met à 1 pour la durée spécifiée
L A, E, M, ou D Impulsion : quand l’étape est active, l’opérande se met
à 1 pendant n secondes
CALL FB, FC, SFB ou SFC Appel de blocs : tant que l’étape est active, le bloc
spécifié est appelé
Tableau III.1 : Les types d’actions du S7-GRAPH.
ENSET-ORAN/5 ELN/2012 Page 27
Chapitre III Présentation du logiciel STEP7
3.3. Types de blocs dans le programme utilisateur sous STEP 7
Le logiciel de programmation STEP 7 permet de structurer le programme utilisateur, c'est-à-
dire de le subdiviser en différentes parties autonomes (blocs). Il en résulte les avantages suivants :
écrire des programmes importants mais clairs,
standardiser certaines parties du programme,
simplifier l'organisation du programme,
modifier facilement le programme,
simplifier le test du programme, car il peut être exécuté section par section,
faciliter la mise en service.
Les principaux blocs utilisés pour la programmation sous STEP 7 sont :
3.3.1. Les blocs d‘organisation (OB)
Les blocs d'organisation (OB) constituent l'interface entre le système d'exploitation et le
programme utilisateur. Ils sont appelés par le système d'exploitation selon leur priorité et gèrent le
traitement des programmes cycliques et déclenchés par alarme, ainsi que le comportement à la mise
en route de l'automate programmable et le traitement des erreurs.
Les blocs d'organisation définissent l'ordre (événements de déclenchement) dans lequel les
différentes parties du programme sont traitées. L'exécution d'un OB peut être interrompue par
l'appel d'un autre OB. Cette interruption se fait selon la priorité : les OB de priorité plus élevée
interrompent les OB de priorité plus faible.
3.3.2. Les blocs fonctionnels (FB)
Le FB
C’est un sous programme écrit par l’utilisateur, il facilite la programmation de fonctions
complexes souvent utilisées. Il exécute par l’appel d’autre bloc de code.
Un bloc de données d’instance, qui constitue sa mémoire, lui est associé. Ce dernier contient les
paramètres transmis au FB ainsi que les variables statiques.
Le bloc fonctionnel système (SFB)
C’est un bloc fonctionnel intégré à la CPU S7. Les SFB font partie du système d’exploitation,
par conséquent, ils ne sont pas chargés en tant que partie du programme. Comme les FB, les SFB
sont des blocs avec mémoire. On doit donc également créer pour les SFB des blocs de données
d’instance que l’on charge dans la CPU en tant que partie du programme.
Ils sont utilisés pour des fonctions spéciales intégrées de la CPU 314C-2DP, comme ils peuvent
être utilisés pour la communication via des liaisons configurées.
ENSET-ORAN/5 ELN/2012 Page 28
Chapitre III Présentation du logiciel STEP7
3.3.3. Les fonctions (FC)
La FC
Elle contient des routines pour les fonctions fréquemment utilisées, comme le renvoi d’une
valeur au bloc appelant. Elle est sans mémoire et contient uniquement des variables temporaires qui
sont sauvegardées dans la pile de données locales et perdues à l’achèvement de cette fonction.
Mais elle peut faire appel à des blocs de données globaux pour la sauvegarde de ses données.
La fonction système (SFC)
C’est une fonction intégrée dans la CPU S7, pré- programmée et testée. Elle est appelée à
partir du programme. Comme ces fonctions font partie du système d’exploitation, elles ne sont pas
chargées en tant partie du programme. Comme les FC, les SFC constituent des blocs sans mémoire.
Parmi les fonctionnalités qu’elles proposent :
Le contrôle du programme, la gestion des alarmes horaires et temporisées, la mise à jour de la
mémoire image du processus, l’adressage de modules et la création de messages relatifs aux blocs.
3.3.4. Les blocs de données
Les blocs de données d’instance (DB d’instance)
Associé à chaque bloc fonctionnel, il contient les paramètres effectifs et les données statiques
du FB.
On peut utiliser plusieurs DB pour un même FB ; par exemple, un FB pour la commande de
plusieurs moteurs, les données de chaque moteur sont sauvegardées dans différents DB.
Les blocs de données globaux (DB)
A l’opposé des DB d’instance qui ne sont associés qu’aux blocs fonctionnels, les DB globaux
servent à l’enregistrement de données utilisateur pouvant être utilisées par tous les autres blocs de
code.
4. Elaboration des projets sous STEP7
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.
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.
Si nous choisissons la seconde alternative (voir la figure VI-1), il nous faudra rechercher nous-
mêmes les adresses en fonctions des constituants choisis.
Vous ne pourrez alors pas bénéficier de la fonction d‘adressage automatique de STEP 7.
ENSET-ORAN/5 ELN/2012 Page 29
Chapitre III Présentation du logiciel STEP7
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.
Fig. III. 7 .Organigramme pour la création de projets sous STEP 7
Il faut noter que pour un système contenant beaucoup de variables, la seconde alternative n’est pas
très pratique.
Nous optons donc pour la première approche.
4.1. Création du projet avec step7
Pour créer un projet avec STEP 7, on peut lancer l’assistant de création de projet de STEP7,
ou créer directement un projet que l’on configurera soi même.
4.1.1. Utilisation de l’assistant de création de projets
Par défaut l’assistant de création de projets apparaît à chaque démarrage du SIMATIC
Manager, si ce n’est pas le cas, son lancement se fait en passant par le menu Fichier>Assistante
Nouveau projet’.
Cet assistant permet de créer avec une interface simple.
Les étapes à suivre sont les suivantes :
Etape1
Cliquer sur le bouton « suivant »
ENSET-ORAN/5 ELN/2012 Page 30
Chapitre III Présentation du logiciel STEP7
Etape 2
Il faut choisir la CPU utilisée pour le projet, la liste contient normalement toutes les CPU
supportées par la version de STEP7 utilisée.
Dans le champ « Nom de CPU », il faut donner un nom à la CPU. Cela peut s’avérer utile
dans le cas où l’on utilise plusieurs CPU dans un même projet.
Il faut aussi choisir une adresse MPI pour la CPU. Si on utilise une seule CPU la valeur par
défaut est 2.
Cliquer sur suivant.
Etape 3
Cet écran permet d’insérer des blocs. Ces blocs seront décrits plus loin.
Pour commencer on se contentera de OB1 seulement qui est le bloc principal.
On doit aussi choisir un langage de programmation parmi les trois proposés (LISTE, CONT
ou LOG).
Cliquer sur suivant.
Etape 4
Nommer le projet et cliquer sur créer.
Le projet est maintenant créé, on peut voir l’arborescence à gauche de la fenêtre
Qui s’est ouverte.
4.1.2. Création d’un nouveau projet sans l’assistant de création de projet
Cette méthode est un peu plus compliquée, mais permet de mieux gérer le projet. Dans la
fenêtre SIMATIC Manager, cliquer sur Fichier>Nouveau (ou encore CTRL+N), une fenêtre
demandant un nom de projet s’ouvre. Il faut donc donner un nom au projet puis valider par OK ; La
fenêtre du projet s’ouvre.
Le projet est vide, il faut lui insérer une station SIMATIC, cela est possible en cliquant sur le
projet avec le bouton droit puis Insérer un nouvel objet >station SIMATIC 300.
La station SIMATIC n’est toujours pas configurée, il faut passer à l’étape de configuration
matérielle.
ENSET-ORAN/5 ELN/2012 Page 31
Chapitre III Présentation du logiciel STEP7
Fig. III.8. Création d’un projet sans l’assistant.
4.2. Configuration matérielle
Par « configuration », on entend dans ce qui suit la disposition de profiles support ou châssis,
de modules, d’appareil de la périphérie décentralisée et de cartouches interface dans une fenêtre de
station. Les profiles support ou châssis sont représentés par une table de configuration, dans laquelle
l’on peut enficher un nombre définie de modules, tout comme dans les profiles support ou châssis
*réels*
STEP 7 affecte automatiquement une adresse à chaque module dans la table de configuration.
On peut modifier les adresses des modules d’une station, à condition que la CPU permette
l’adressage libre. On peut copier la configuration aussi souvent qu’on le désire dans d’autres projets
STEP 7, la modifier si besoin est la charger dans une ou plusieurs installations existantes.
A la mise en route de l’automate programmable, la CPU compare la configuration prévue
créée avec STEP 7 à la configuration sur site de l’installation .aussi, les erreurs éventuelles son
telles immédiatement détectées et signalées.
4.3. Définition des mnémoniques
Il faut définir les variables qui vont être utilisées lors des étapes de programmation.
L’utilisation de noms communs est plus aisée que la manipulation de chiffres (ex :
utiliser « moteur » au lieu du bit de sortie A0.0).
Pour accéder à la table des mnémoniques : cliquer sur le dossier programme dans la fenêtre du
projet, puis sur l’icône mnémonique.
ENSET-ORAN/5 ELN/2012 Page 32
Chapitre III Présentation du logiciel STEP7
L’utilisation de cette table consiste à :
Donner un nom à la mnémonique dans la première colonne ;
Donner la variable associée à cette mnémonique dans la seconde colonne ;
Le type de la donnée est automatiquement généré par STEP 7 ;
Ecrire éventuellement un commentaire dans la colonne prévu à cet effet.
Après avoir défini toutes les mnémoniques, il suffit d’enregistrer pour que les changements
soient pris en compte dans le reste du projet.
Si on a besoin d’insérer de nouveaux objets dans le projet (ex : d’autre blocs de programme) il
suffit de cliquer avec le bouton droit de la souris sur le dossier ou l’on veut ajouter l’objet puis
insérer nouvel objet, et dans le menu sélectionner l’objet voulu.
5. Simulation des modules
L'application de simulation de modules S7-PLCSIM permet l’exécution et le test du
programme utilisateur destinés aux CPU S7-300 et aux CPU S7-400, ainsi qu'à WinLC. La
simulation étant complètement réalisée au sein du logiciel STEP 7, il n'est pas nécessaire qu'une
liaison soit établie avec un matériel S7 quelconque. Lorsque S7-PLCSIM s'exécute, toute nouvelle
liaison est automatiquement dirigée vers la CPU de simulation.
S7-PLCSIM dispose d'une interface simple permettant de visualiser et de forcer les différents
paramètres utilisés par le programme (comme, par exemple, d'activer ou de désactiver des entrées).
Figure III.9. Interface de simulation de PLCSIM.
ENSET-ORAN/5 ELN/2012 Page 33
Chapitre III Présentation du logiciel STEP7
S7-PLCSIM possède les fonctions suivantes :
On peut créer des "fenêtres" dans lesquelles on a la possibilité d'accéder aux zones de
mémoire d'entrée et de sortie, aux accumulateurs ainsi qu'aux registres de la CPU de
simulation. On peut également accéder à la mémoire par adressage symbolique (il faut juste
charger la table des mnémoniques dans ‘options’, puis sur ‘outils’ ‘insérer mnémoniques’) ;
On peut sélectionner l'exécution automatique des temporisations ou encore les définir et les
réinitialiser manuellement ;
On a la possibilité de changer l'état de fonctionnement de la CPU (STOP, RUN et RUNP)
comme pour une CPU réelle. De plus, on dispose d’une fonction de pause qui permet
d'interrompre momentanément la CPU, sans affecter l'état du programme ;
Bien que l'AP de simulation soit essentiellement logiciel, STEP 7 le considère comme une réelle
composante matérielle, à quelques différences près :
Contrairement à ce qui se passe avec une CPU réelle lors de la mise à l’arrêt de la CPU,
l'état des sorties ne change pas ;
La CPU n'attend pas le début ou la fin du cycle pour actualiser une donnée qu’on a
modifiée. Toute modification dans une fenêtre entraîne l'actualisation immédiate du contenu
de l'adresse en mémoire ;
Les options d'exécution permettent de choisir le mode d'exécution du programme par la
CPU :
o La commande Cycle unique exécute un cycle du programme, puis attend qu’on
démarre l'exécution du cycle suivant ;
o La commande Cycle continu exécute le programme de la même manière que dans un
AP réel : elle démarre un nouveau cycle aussitôt que le cycle précédent est terminé.
On peut déclencher manuellement les OB d'alarme (aller dans ‘exécution’ puis
‘déclenchement OB Erreur’) ;
Les modules fonctionnels (FM) ne sont pas pris en charge ;
La communication d'égal à égal n'est pas possible.
ENSET-ORAN/5 ELN/2012 Page 34
Chapitre III Présentation du logiciel STEP7
6. Conclusion
Dans ce chapitre on a vue que :
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.
ENSET-ORAN/5 ELN/2012 Page 35
Chapitre III Présentation du logiciel STEP7
1. Introduction
2. Aperçu du progiciel STEP 7
3. Structuration du programme
3.1. Type de programmation (linéaire, structurée)
3.2. Langage de programmation de STEP 7
3.2.1. CONT, LIST, LOG
[Link]. Le schéma à contacts (CONT)
[Link]. Liste d’instruction (LIST)
[Link]. Le logigramme (LOG)
3.2.2. Texte structuré (SCL)
3.2.3. S7-GRAPH
3.3. Types de blocs dans le programme utilisateur sous STEP 7
3.3.1. Les blocs d‘organisation (OB)
3.3.2. Les blocs fonctionnels (FB)
3.3.3. Les fonctions (FC)
3.3.4. Les blocs de données
4. Elaboration des projets sous STEP7
4.1. Création du projet avec STEP7
4.1.1. Utilisation de l’assistant de création de projets
4.1.2. Création d’un nouveau projet sans l’assistant de création de projet
4.2. Configuration matérielle
4.3. Définition des mnémoniques
5. Simulation des modules
6. Conclusion
ENSET-ORAN/5 ELN/2012 Page 36