Vous êtes sur la page 1sur 528



SIMATIC
Programmer avec STEP 7 V5.1
Manuel
Ce manuel est livr avec la documentation
rfrence :

Smatrix - Oubari
Avant-propos, Sommaire
Nouveauts

Installation et autorisation

Conception dune solution


dautomatisation

Principes de conception dune


structure de programme

Dmarrage et utilisation du
programme

Cration et dition du projet

Dfinition de mnmoniques

Cration de blocs et de
bibliothques

Cration de blocs de code

Cration des blocs de donnes

10

Cration de sources LIST

11

Affichage des donnes de


rfrence

12

Vrification de la cohrence des


blocs et horodatage comme
proprit de bloc

13

Configuration de messages

14

Contrle-commande de variables

15

Etablissement dune liaison en


ligne et choix de la CPU

16

Chargement

17

Test avec des tables des


variables

18

Test avec la visualisation dtat


du programme

19

Test avec le programme de


simulation S7-PLCSIM
(logiciel optionnel)

20

Diagnostic

21

Impression et archivage

22

Configuration multi-utilisateur au
sein du rseau Windows

23

Utilisation des systmes


dautomatisation M7

24

Astuces et conseils

25

Annexe

60$75,;
6ES7 810-4CA05-8CA0

Edition 08/2000
A5E00069874-03

Index

Informations relatives la scurit


Ce manuel donne des consignes que vous devez respecter pour votre propre scurit ainsi que pour
viter des dommages matriels. Elles sont mises en vidence par un triangle d'avertissement et sont
prsentes, selon le risque encouru, de la faon suivante :

Danger

Attention

Avertissement

signifie que la non-application des mesures de scurit appropries conduit la mort, des lsions
corporelles graves ou un dommage matriel import.

signifie que la non-application des mesures de scurit appropries peut conduire la mort, des
lsions corporelles graves ou un dommage matriel important.

signifie que la non-application des mesures de scurit appropries peut conduire des lsions
corporelles lgres ou un dommage matriel.

Nota
doit vous rendre tout particulirement attentif des informations importantes sur le produit, aux manipulations effectuer avec le produit ou la partie de la documentation correspondante.

Personnel qualifi
La mise en service et l'utilisation de l'appareil ne doivent tre effectues que conformment au manuel.
Seules des personnes qualifies sont autorises effectuer des interventions sur l'appareil. Il s'agit de
personnes qui ont l'autorisation de mettre en service, de mettre la terre et de reprer des appareils,
systmes et circuits lectriques conformment aux rgles de scurit en vigueur.

Utilisation conforme aux dispositions


Tenez compte des points suivants :

Attention
L'appareil ne doit tre utilis que pour les applications spcifies dans le catalogue ou dans la description technique, et exclusivement avec des priphriques et composants recommands par Siemens.
Le transport, le stockage, le montage, la mise en service ainsi que l'utilisation et la maintenance
adquats de l'appareil sont les conditions indispensables pour garantir son fonctionnement correct et
sr.

Marque de fabrique
SIMATIC, SIMATIC HMI et SIMATIC NET sont des marques dposes par SIEMENS AG. Les
autres dsignations figurant dans ce document peuvent tre des marques dont l'utilisation par des tiers
leurs propres fins peut enfreindre les droits des propritaires desdites marques.
Copyright Siemens AG 1998 Tous droits rservs

Exclusion de responsabilit

Toute communication ou reproduction de ce support dinformation,


toute exploitation ou communication de son contenu sont interdites,
sauf autorisation expresse. Tout manquement cette rgle est
illicite et expose son auteur au versement de dommages et intrts. Tous nos droits sont rservs, notamment pour le cas de la
dlivrance d'un brevet ou celui de l'enregistrement d'un modle
d'utilit.

Nous avons vrifi la conformit du contenu du prsent manuel


avec le matriel et le logiciel qui y sont dcrits. Or des divergences
n'tant pas exclues, nous ne pouvons pas nous porter garants pour
la conformit intgrale. Si l'usage de ce manuel devait rvler des
erreurs, nous en tiendrons compte et apporterons les corrections
ncessaires ds la prochaine dition. Veuillez nous faire part de
vos suggestions.

Siemens AG
Bereich Automatisierungs- und Antriebstechnik
Geschaeftsgebiet Industrie-Automatisierungsysteme
Postfach 4848, D- 90327 Nuernberg

Siemens AG 1998
Sous rserve de modifications techniques.

Siemens Aktiengesellschaft

A5E00069874

Avant-propos
Objet de ce manuel
Ce manuel vous procure une vue densemble sur la programmation avec STEP 7.
Il a pour but de vous assister lors de l'installation et du dmarrage du logiciel. Il
explique la dmarche de cration de programmes et dcrit les diffrents lments
d'un programme utilisateur.
Ce manuel s'adresse aux personnes charges de raliser des tches
d'automatisation avec le logiciel STEP 7 et mettant en uvre des systmes
d'automatisation SIMATIC S7.
Nous vous recommandons de vous familiariser tout d'abord avec les exemples du
manuel "Getting Started de STEP 7". Ils reprsentent une approche simple de la
thmatique traite plus en profondeur dans le manuel "Programmer avec STEP 7".

Connaissances fondamentales requises


La comprhension du manuel requiert des connaissances gnrales dans le
domaine de la technique d'automatisation .
Il est galement suppos que vous matrisiez l'utilisation d'ordinateurs personnels
ou de postes de travail similaires (p. ex. consoles de programmation) sous
l'environnement Windows 95/98/2000 ou Windows NT.

Domaine de validit du manuel


Le prsent manuel est valable pour le logiciel STEP 7 V5.1.

Programmer avec STEP 7 V5.1


A5E00069874-03

iii

Avant-propos

Documentation de STEP 7
Ce manuel fait partie de la documentation STEP 7 Connaissances
fondamentales".
Le tableau suivant prsente la documentation de STEP 7 :
Manuel

Objet

Numro de rfrence

Connaissances fondamentales
pour le personnel technique.
Dcrit la marche suivre pour
raliser des tches
d'automatisation avec STEP 7 et
S7-300/400.

6ES7810-4CA05-8CA0

Manuels de rfrence dcrivant


les langages de programmation
Langages CONT/LOG/LIST pour
CONT, LOG et LIST de mme
SIMATIC S7-300/400
que les fonctions standard et les
Logiciel systme pour SIMATIC
fonctions systme en
S7-300/400
complment des connaissances
Fonctions standard et fonctions systme
fondamentales de STEP 7.

6ES7810-4CA05-8CR0

STEP 7 Connaissances fondamentales


avec

STEP 7 V5.1
Getting Started

Programmer avec STEP 7 V5.1

Configuration matrielle et
communication dans STEP 7 V5.1

STEP 7
Pour une transition facile de S5 S7

STEP 7 Manuels de rfrence sur les

Aides en ligne

Objet

Numro de rfrence

Aide de STEP 7

Connaissances fondamentales
pour la programmation ainsi que
pour la configuration du matriel
avec STEP 7, sous forme d'aide
en ligne.

Fait partie du logiciel


STEP 7

Aides de rfrence de LIST/CONT/LOG


Aide de rfrence sur les SFB/SFC
Aide de rfrence sur les blocs
d'organisation

Aides en ligne contextuelles de


rfrence

Fait partie du logiciel


STEP 7

iv

Programmer avec STEP 7 V5.1


A5E00069874-03

Avant-propos

Aide en ligne
En complment au manuel, l'aide en ligne intgre au logiciel vous offre une
assistance dtaille lors de l'utilisation du logiciel.
Ce systme d'aide est intgr au logiciel grce plusieurs interfaces :

Le menu daide ? propose plusieurs commandes : Rubriques daide ouvre le


sommaire de laide de STEP 7.

Utiliser laide fournit des instructions dtailles sur lutilisation de laide en


ligne.

Laide contextuelle donne des informations sur le contexte actuel, par exemple
sur une bote de dialogue ouverte ou sur une fentre active. Vous lappelez en
cliquant sur le bouton "Aide ou en appuyant sur la touche F1.

La barre dtat constitue une autre forme daide contextuelle. Lorsque le


curseur est positionn sur une commande, elle en affiche une description
succincte.

Une description succincte des boutons de la barre doutils saffiche galement


lorsque le curseur y est positionn quelques instants.
Si vous prfrez consulter les informations de l'aide en ligne sur papier, vous avez
la possibilit d'imprimer des rubriques d'aide individuelles, des livres ou l'ensemble
de l'aide.
Ce manuel est extrait de l'aide de STEP 7 base sur HTML. Si vous dsirez des
instructions plus dtailles, rfrez vous l'aide de STEP 7. En raison de la
structure similaire entre le manuel et l'aide en ligne, le passage de l'un l'autre est
ais.

Remarques relatives la documentation


Afin d'tre en mesure d'offrir nos utilisateurs une documentation optimale, nous
vous serions reconnaissants de bien vouloir nous apporter votre aide. Vous
pouvez complter le questionnaire fourni la fin du manuel et l'envoyer l'adresse
qui y figure pour effectuer toute remarque ou suggestion concernant le prsent
manuel ou l'Aide en ligne. N'hsitez pas mettre votre valuation personnelle.

Centre de formation SIMATIC


Pour faciliter vos dbuts en SIMATIC S7, nous vous proposons des stages de
formation. Veuillez vous adresser votre centre de formation rgional.

Programmer avec STEP 7 V5.1


A5E00069874-03

Avant-propos

Hotline SIMATIC Support technique


Accessible dans le monde entier toute heure :

Nuremberg
Johnson City

Singapur

SIMATIC Hotline

Worldwide (Nuremberg)
Technical Support

Worldwide (Nuremberg)
Technical Support

(FreeContact)
Heure locale : lu-ve de 7:00 17:00

(contre rtribution, seulement avec


la carte SIMATIC)

Tl. :

+49 (180) 5050 222

Heure locale :

Fax :

+49 (180) 5050 223

Tl. :

+49 (911) 895-7777

E-Mail:

techsupport@
ad.siemens.de
+1:00

Fax :
GMT:

+49 (911) 895-7001


+01:00

GMT:

lu-ve de 0:00 24:00

Europe / Africa (Nuremberg)


Authorization

America (Johnson City)


Technical Support and
Authorization

Technical Support and


Authorization

Heure locale : lu-ve de 7:00 17:00

Heure locale :

Heure locale : lu-ve de 8:30 17:30

Tl. :

+49 (911) 895-7200

Tl. :

+1 423 461-2522

Tl. :

+65 740-7000

Fax :

+49 (911) 895-7201

Fax :

+1 423 461-2289

Fax :

+65 740-7001

E-Mail:

authorization@
nbgm.siemens.de

E-Mail:

simatic.hotline@
sea.siemens.com

E-Mail:

simatic.hotline@
sae.siemens.com.sg

GMT:

+1:00

GMT:

-5:00

GMT:

+8:00

lu-ve de 8:00 19:00

Asia / Australia (Singapour)

En rgle gnrale, les langues disponibles la SIMATIC Hotline sont l'allemand et l'anglais. Cependant, les langues
franaise, espagnole et italienne sont pratiques dans le service de la Hotline d'autorisation.

vi

Programmer avec STEP 7 V5.1


A5E00069874-03

Avant-propos

Services en ligne offerts par SIMATIC


Le support technique de SIMATIC vous propose grce ces services en ligne de
nombreuses informations complmentaires sur les produits SIMATIC.

Vous trouverez les informations gnrales les plus rcentes :


-

sur Internet sous http://www.ad.siemens.de/simatic

Informations et fichiers charger pouvant faciliter l'utilisation des produits


SIMATIC :
-

sur Internet sous http://www.ad.siemens.de/simatic-cs

dans la bote aux lettres du support technique de SIMATIC (Bulletin


Board System =BBS) Nuremberg sous le numro +49 (911) 895-7100.

Pour tablir la communication avec la bote aux lettres, utilisez un modem


allant jusqu' V.34 (28,8kbauds) et paramtr de la manire suivante : 8, N, 1,
ANSI.
Vous pouvez aussi utiliser une connexion RNIS (x.75, 64 kbits).

Vous trouverez votre interlocuteur Automation & Drives dans votre pays et
votre rgion en consultant notre base de donnes Interlocuteurs :
-

sur Internet sous


http://www3.ad.siemens.de/partner/search.asp?lang=en

Programmer avec STEP 7 V5.1


A5E00069874-03

vii

Avant-propos

viii

Programmer avec STEP 7 V5.1


A5E00069874-03

Sommaire

Nouveauts
1.1
1.2
1.3
1.4
1.4.1
1.4.2
1.4.3
1.4.4

3-1

Conception d'une solution d'automatisation............................................................. 3-1


Subdivision du processus en tches et zones ......................................................... 3-2
Description des diffrentes zones fonctionnelles ..................................................... 3-4
Liste des entres, sorties et entres/sorties............................................................. 3-6
Cration d'un diagramme d'entres/sorties pour les moteurs................................... 3-6
Cration d'un diagramme d'entres/sorties pour les soupapes ................................ 3-7
Dfinition des exigences en matire de scurit...................................................... 3-8
Description des lments de signalisation et de commande requis.......................... 3-9
Cration du schma de configuration.................................................................... 3-10

Principes de conception dune structure de programme


4.1
4.2
4.2.1
4.2.2
4.2.3
4.2.4
4.2.5

2-1

Autorisation ............................................................................................................ 2-1


Autorisation ............................................................................................................ 2-1
Installation et dsinstallation de l'autorisation .......................................................... 2-1
Rgles pour lutilisation d'autorisations.................................................................... 2-4
Installation de STEP 7 ............................................................................................ 2-7
Installation de STEP 7 ............................................................................................ 2-7
Marche suivre pour l'installation de STEP 7 ......................................................... 2-8
Paramtrage de l'interface PG/PC ........................................................................ 2-10
Dsinstallation de STEP 7 .................................................................................... 2-12
Dsinstallation de STEP 7 .................................................................................... 2-12

Conception dune solution dautomatisation


3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9

Guide de STEP 7.................................................................................................... 1-1


Logiciel de base STEP 7......................................................................................... 1-5
Nouveauts dans la version 5.1 de STEP 7 ............................................................ 1-9
Possibilits d'extension du logiciel de base STEP 7 .............................................. 1-13
Possibilits d'extension du logiciel de base STEP 7 .............................................. 1-13
Applications techniques ........................................................................................ 1-14
Logiciels excutables............................................................................................ 1-16
Interface homme/machine..................................................................................... 1-17

Installation et autorisation
2.1
2.1.1
2.1.2
2.1.3
2.2
2.2.1
2.2.2
2.2.3
2.3
2.3.1

1-1

4-1

Programmes dans une CPU ................................................................................... 4-1


Blocs dans le programme utilisateur........................................................................ 4-2
Blocs dans le programme utilisateur........................................................................ 4-2
Blocs d'organisation et structure du programme...................................................... 4-3
Hirarchie d'appel dans le programme utilisateur .................................................... 4-9
Catgories de blocs et traitement de programme cyclique..................................... 4-11
Blocs d'organisation pour le traitement de programme dclench par alarme........ 4-23

Programmer avec STEP 7 V5.1


A5E00069874-03

ix

Sommaire

Dmarrage et utilisation du programme


5.1
5.1.1
5.1.2
5.1.3
5.2
5.2.1
5.2.2
5.2.3
5.2.4
5.2.5
5.2.6
5.2.7
5.2.8
5.2.9
5.3
5.3.1
5.3.2
5.3.3
5.3.4
5.3.5
5.3.6
5.3.7
5.3.8
5.4
5.4.1
5.4.2
5.4.3
5.4.4
5.4.5
5.4.6

6-1

Structure du projet .................................................................................................. 6-1


Cration d'un projet ................................................................................................ 6-3
Cration d'un projet ................................................................................................ 6-3
Insertion de stations................................................................................................ 6-4
Insertion d'un programme S7/M7 ............................................................................ 6-5
Traitement d'un projet ............................................................................................. 6-8
Traitement d'un projet ............................................................................................. 6-8
Gestion multilingue des textes ................................................................................ 6-9

Dfinition de mnmoniques
7.1
7.2
7.3
7.4
7.5
7.5.1
7.5.2
7.5.3
7.5.4
7.6
7.6.1
7.6.2
7.6.3
7.6.4
7.6.5
7.6.6

Dmarrage de STEP 7............................................................................................ 5-1


Dmarrage de STEP 7............................................................................................ 5-1
Dmarrage de STEP 7 avec des paramtres initiaux prdfinis .............................. 5-2
Appel des fonctions d'aide ...................................................................................... 5-3
Objets et hirarchie d'objets.................................................................................... 5-5
Objets et hirarchie d'objets.................................................................................... 5-5
Objet Projet ............................................................................................................ 5-6
Objet Bibliothque .................................................................................................. 5-7
Objet Station........................................................................................................... 5-8
Objet Module programmable................................................................................... 5-9
Objet Programme S7/M7 ...................................................................................... 5-10
Object Dossier Blocs ............................................................................................ 5-12
Objet Dossier Sources .......................................................................................... 5-15
Programme S7/M7 sans station ni CPU ................................................................ 5-16
Interface utilisateur et manipulation....................................................................... 5-18
Concept d'utilisation.............................................................................................. 5-18
Structure de la fentre .......................................................................................... 5-18
Elments dans les botes de dialogue ................................................................... 5-19
Cration et manipulation d'objets .......................................................................... 5-20
Slection d'objets dans les botes de dialogue ...................................................... 5-24
Historique des sessions ........................................................................................ 5-26
Modification de la disposition des fentres de table de mnmoniques ................... 5-26
Enregistrement et restauration de la disposition des fentres ................................ 5-27
Utilisation du clavier.............................................................................................. 5-28
Utilisation du clavier.............................................................................................. 5-28
Combinaisons de touches pour les commandes de menu ..................................... 5-28
Combinaisons de touches pour le dplacement du curseur ................................... 5-30
Combinaisons de touches pour la slection de texte ............................................. 5-31
Combinaisons de touches pour accder l'aide en ligne....................................... 5-31
Combinaisons de touches pour la bascule entre les diffrents types de fentres ... 5-32

Cration et dition du projet


6.1
6.2
6.2.1
6.2.2
6.2.3
6.3
6.3.1
6.3.2

5-1

7-1

Adressage absolu et adressage symbolique ........................................................... 7-1


Mnmoniques globaux et mnmoniques locaux ...................................................... 7-3
Reprsentation des mnmoniques globaux et des mnmoniques locaux ................ 7-4
Dfinition de la priorit de l'oprande ...................................................................... 7-5
Table des mnmoniques pour mnmoniques globaux............................................. 7-6
Table des mnmoniques pour mnmoniques globaux............................................. 7-6
Structure et lments de la table des mnmoniques ............................................... 7-6
Oprandes et types de donnes autoriss dans la table des mnmoniques ............ 7-8
Mnmoniques incomplets ou non univoques dans la table des mnmoniques......... 7-9
Possibilits de saisie de mnmoniques globaux .................................................... 7-10
Possibilits de saisie de mnmoniques globaux .................................................... 7-10
Remarques gnrales sur la saisie de mnmoniques............................................ 7-10
Saisie de mnmoniques globaux individuels dans des botes de dialogue............. 7-11
Saisie de plusieurs mnmoniques globaux dans la table des mnmoniques.......... 7-12
Majuscules/minuscules pour les mnmoniques..................................................... 7-13
Exportation et importation de tables de mnmoniques........................................... 7-15
Programmer avec STEP 7 V5.1
A5E00069874-03

Sommaire

7.6.7
8

Cration de blocs et de bibliothques


8.1
8.2
8.2.1
8.2.2
8.2.3
8.2.4
8.2.5
8.2.6
8.2.7
8.2.8
8.3
8.3.1
8.3.2
8.3.3
8.3.4
8.3.5
8.3.6
8.4
8.4.1
8.4.2
8.4.3

Formats de fichier pour l'importation/exportation d'une table des mnmoniques .... 7-15

Choix de la mthode de cration............................................................................. 8-1


Choix du langage de programmation ...................................................................... 8-2
Choix du langage de programmation ...................................................................... 8-2
Langage de programmation CONT (schma contacts) ......................................... 8-3
Langage de programmation LOG (logigramme) ...................................................... 8-4
Langage de programmation LIST (liste d'instructions) ............................................. 8-5
Langage de programmation SCL ............................................................................ 8-5
Langage de programmation GRAPH (commande squentielle)............................... 8-6
Langage de programmation HiGraph (graphe d'tat)............................................... 8-7
Langage de programmation CFC............................................................................ 8-9
Ce qu'il faut savoir pour crer des blocs................................................................ 8-10
Dossier Blocs ....................................................................................................... 8-10
Types de donnes utilisateur (UDT)...................................................................... 8-10
Attributs de bloc.................................................................................................... 8-11
Affichage de la longueur des blocs........................................................................ 8-13
Rassignation....................................................................................................... 8-14
Attributs pour blocs et pour paramtres................................................................. 8-15
Utilisation de bibliothques ................................................................................... 8-16
Utilisation de bibliothques ................................................................................... 8-16
Structure hirarchique des bibliothques............................................................... 8-17
Prsentation des bibliothques standard............................................................... 8-18

Cration de blocs de code


9.1
9.1.1
9.1.2
9.1.3
9.1.4
9.2
9.2.1
9.2.2
9.2.3
9.2.4
9.3
9.3.1
9.3.2
9.3.3
9.4
9.4.1
9.4.2
9.4.3
9.4.4
9.4.5
9.5
9.5.1
9.5.2
9.5.3
9.6
9.6.1
9.6.2
9.7
9.7.1
9.7.2
9.8
9.8.1
9.9

8-1

9-1

Principes de la cration de blocs de code ............................................................... 9-1


Marche suivre pour la cration de blocs de code.................................................. 9-1
Prslections pour l'diteur de programmes CONT/LOG/LIST ................................ 9-2
Droits d'accs aux blocs ou aux sources................................................................. 9-3
Instructions des lments de programme................................................................ 9-3
Edition de la table de dclaration des variables....................................................... 9-4
Utilisation de la dclaration des variables dans les blocs de code............................ 9-4
Relation entre la table de dclaration des variables et la section des instructions .... 9-5
Structure de la table de dclaration des variables ................................................... 9-6
Remarques gnrales sur les tables de dclaration de variables............................. 9-7
Multi-instances dans la table de dclaration des variables....................................... 9-8
Utilisation de multi-instances................................................................................... 9-8
Rgles pour la formation de multi-instances ............................................................ 9-9
Saisie de multi-instances dans la table de dclaration des variables ....................... 9-9
Remarques gnrales sur la saisie d'instructions et de commentaires................... 9-10
Structure de la section des instructions ................................................................. 9-10
Marche suivre pour la saisie d'instructions ......................................................... 9-11
Saisie de mnmoniques globaux dans un programme .......................................... 9-12
Titres et commentaires de blocs et de rseaux ..................................................... 9-12
Fonction de recherche d'erreurs dans la section des instructions .......................... 9-13
Edition d'instructions CONT dans la section des instructions................................. 9-14
Paramtres pour le langage de programmation CONT.......................................... 9-14
Rgles pour la saisie d'instructions CONT ............................................................ 9-14
Branchements interdits en CONT ......................................................................... 9-16
Edition d'instructions LOG dans la section des instructions ................................... 9-17
Paramtres pour le langage de programmation LOG ............................................ 9-17
Rgles pour la saisie d'instructions LOG ............................................................... 9-18
Edition d'instructions LIST dans la section des instructions ................................... 9-20
Paramtres pour le langage de programmation LIST ............................................ 9-20
Rgles pour la saisie d'instructions LIST ............................................................... 9-20
Actualisation d'appels de blocs ............................................................................. 9-21
Actualisation d'appels de blocs ............................................................................. 9-21
Enregistrement de blocs de code .......................................................................... 9-22

Programmer avec STEP 7 V5.1


A5E00069874-03

xi

Sommaire

9.9.1
9.9.2
9.9.3
10

Cration des blocs de donnes


10.1
10.2
10.3
10.4
10.4.1
10.4.2
10.4.3
10.4.4
10.4.5
10.4.6
10.4.7

11

10-1

Principes de la cration des blocs de donnes...................................................... 10-1


Vue des dclarations de blocs de donnes ........................................................... 10-2
Vue des donnes de blocs de donnes................................................................. 10-2
Saisie et enregistrement des blocs de donnes..................................................... 10-4
Saisie de la structure de donnes de blocs de donnes globaux ........................... 10-4
Saisie / affichage de la structure de donnes de blocs de donnes associs
un FB (DB d'instance) ........................................................................................ 10-4
Saisie de la structure de types de donnes utilisateur (UDT)................................. 10-6
Saisie / affichage de la structure de blocs de donnes associs un UDT............ 10-6
Modification de valeurs dans la vue des donnes.................................................. 10-7
Rinitialisation de valeurs en leur substituant leur valeur initiale............................ 10-8
Enregistrement de blocs de donnes .................................................................... 10-8

Cration de sources LIST


11.1
11.2
11.2.1
11.2.2
11.2.3
11.2.4
11.2.5
11.2.6
11.3
11.3.1
11.3.2
11.3.3
11.3.4
11.4
11.4.1
11.4.2
11.4.3
11.4.4
11.4.5
11.5
11.5.1
11.5.2
11.5.3
11.5.4
11.5.5
11.6
11.6.1
11.6.2
11.6.3
11.6.4
11.7
11.7.1
11.7.2
11.7.3
11.7.4
11.7.5
11.7.6

xii

Enregistrement de blocs de code .......................................................................... 9-22


Correction des interfaces dans une FC, un FB ou un UDT .................................... 9-22
Comment viter des erreurs lors de l'appel de blocs ............................................. 9-23

11-1

Principes de la programmation dans des sources LIST ......................................... 11-1


Rgles pour la programmation dans une source LIST ........................................... 11-2
Rgles pour la saisie d'instructions dans une source LIST .................................... 11-2
Rgles pour la dclaration de variables dans une source LIST.............................. 11-3
Rgles pour l'ordre des blocs dans une source LIST............................................. 11-4
Rgles pour la dfinition d'attributs systme dans une source LIST....................... 11-4
Rgles pour la dfinition de proprits de bloc dans une source LIST ................... 11-5
Proprits de bloc autorises pour chaque type de bloc........................................ 11-6
Structure des blocs dans une source LIST ............................................................ 11-7
Structure des blocs dans une source LIST ............................................................ 11-7
Structure des blocs de code dans une source LIST............................................... 11-7
Structure des blocs de donnes dans une source LIST......................................... 11-8
Structure des types de donnes utilisateur dans une source LIST......................... 11-8
Syntaxe et formats pour les blocs dans une source LIST ...................................... 11-9
Syntaxe et formats pour les blocs dans une source LIST ...................................... 11-9
Tableau du format pour les OB ............................................................................. 11-9
Tableau du format pour les FB............................................................................ 11-10
Tableau du format pour les FC............................................................................ 11-11
Tableau du format pour les DB ........................................................................... 11-12
Cration d'une source LIST ................................................................................ 11-13
Cration d'une source LIST ................................................................................ 11-13
Edition d'une source S7 ...................................................................................... 11-13
Insertion de modles de blocs dans une source LIST.......................................... 11-13
Insertion d'une source externe ............................................................................ 11-14
Gnration d'une source LIST partir de blocs................................................... 11-14
Enregistrement, compilation et vrification d'une source LIST ............................. 11-15
Enregistrement d'une source LIST ...................................................................... 11-15
Vrification de la cohrence d'une source LIST................................................... 11-15
Recherche d'erreurs dans une source LIST ........................................................ 11-15
Compilation d'une source LIST ........................................................................... 11-16
Exemples de sources LIST ................................................................................. 11-17
Exemples de dclarations de variables dans une source LIST ............................ 11-17
Exemple d'OB dans une source LIST.................................................................. 11-18
Exemple de FC dans une source LIST................................................................ 11-19
Exemple de FB dans une source LIST ................................................................ 11-20
Exemples de DB dans une source LIST.............................................................. 11-22
Exemple d'UDT dans une source LIST................................................................ 11-23

Programmer avec STEP 7 V5.1


A5E00069874-03

Sommaire

12

Affichage des donnes de rfrence


12.1
12.1.1
12.1.2
12.1.3
12.1.4
12.1.5
12.1.6
12.1.7
12.1.8
12.2
12.2.1
12.2.2
12.2.3
12.2.4
12.2.5

13

14

Prsentation des donnes de rfrence possibles................................................. 12-1


Prsentation des donnes de rfrence possibles................................................. 12-1
Liste des rfrences croises................................................................................ 12-2
Structure du programme ....................................................................................... 12-3
Tableau d'affectation pour les entres, sorties et mmentos (E/A/M)..................... 12-5
Tableau d'affectation pour les temporisations et compteurs (T/Z) .......................... 12-7
Oprandes libres .................................................................................................. 12-7
Mnmoniques manquants..................................................................................... 12-8
Affichage d'informations sur le bloc pour CONT, LOG, LIST.................................. 12-9
Utilisation des donnes de rfrence .................................................................. 12-10
Affichage des donnes de rfrence................................................................... 12-10
Affichage de listes dans des fentres supplmentaires........................................ 12-10
Cration et affichage de donnes de rfrence ................................................... 12-11
Positionnement rapide sur les occurrences dans le programme .......................... 12-12
Exemple de recherche d'occurrences.................................................................. 12-13

Vrification de la cohrence des blocs et horodatage comme proprit de bloc


13.1
13.2
13.3
13.4
13.5
13.6

13-1

Vrifier la cohrence des blocs ............................................................................. 13-1


Horodatage comme proprit de bloc et conflits d'horodatage............................... 13-3
Horodatage dans les blocs de code ...................................................................... 13-4
Horodatage dans les blocs de donnes globaux ................................................... 13-5
Horodatage dans les blocs de donnes d'instance ................................................ 13-5
Horodatage dans les UDT et DB repris d'UDT....................................................... 13-6

Configuration de messages
14.1
14.1.1
14.1.2
14.1.3
14.1.4
14.1.5
14.1.6
14.2
14.2.1
14.2.2
14.2.3
14.2.4
14.2.5
14.2.6
14.3
14.3.1
14.4
14.4.1
14.5
14.5.1
14.5.2
14.5.3
14.6
14.6.1
14.7
14.7.1
14.7.2
14.7.3
14.8
14.8.1
14.8.2
14.8.3
14.8.4

12-1

14-1

Concept de signalisation....................................................................................... 14-1


Concept de signalisation....................................................................................... 14-1
Quels procds de signalisation existe-t-il ?.......................................................... 14-1
Slection du procd de signalisation ................................................................... 14-2
Composants SIMATIC .......................................................................................... 14-4
Elments constituants d'un message .................................................................... 14-4
Attribution de numros de message ...................................................................... 14-5
Affectation et dition de messages sur bloc........................................................... 14-6
Affectation et dition de messages sur bloc........................................................... 14-6
Quels blocs de signalisation existe-t-il ?................................................................ 14-6
Paramtres formels, attributs systme et blocs de signalisation ............................ 14-7
Modle de message et messages......................................................................... 14-8
Cration de messages sur bloc............................................................................. 14-9
Configuration des messages PCS7..................................................................... 14-12
Affectation et dition de messages sur mnmonique........................................... 14-14
Affectation et dition de messages sur mnmonique........................................... 14-14
Cration et dition de messages de diagnostic personnaliss ............................. 14-15
Cration et dition de messages de diagnostic personnaliss ............................. 14-15
Traduction et dition de textes destins l'utilisateur .......................................... 14-16
Traduction et dition de textes destins l'utilisateur .......................................... 14-16
Traduction et dition de textes personnaliss...................................................... 14-16
Traduction de bibliothques de textes ................................................................. 14-17
Transfert des donnes de configuration dans le systme cible............................ 14-19
Transfert des donnes de configuration dans le systme cible............................ 14-19
Affichage des messages de CPU et des messages de diagnostic personnaliss. 14-20
Affichage des messages de CPU et des messages de diagnostic personnaliss. 14-20
Configuration des messages de CPU.................................................................. 14-22
Affichage des messages de CPU enregistrs...................................................... 14-22
Configuration de la signalisation d'erreurs systme ............................................. 14-23
Configuration de la signalisation d'erreurs systme ............................................. 14-23
Composants pris en charge et fonctionnalits ..................................................... 14-24
Paramtrage de la signalisation d'erreurs systme.............................................. 14-27
Gnration de blocs pour la signalisation d'erreurs systme................................ 14-27

Programmer avec STEP 7 V5.1


A5E00069874-03

xiii

Sommaire

14.8.5
14.8.6
15

Contrle-commande de variables
15.1
15.2
15.2.1
15.3
15.3.1
15.4
15.4.1
15.5
15.5.1

16

17.2
17.2.1
17.2.2
17.2.3
17.2.4
17.2.5
17.2.6
17.2.7
18

xiv

17-1

Chargement dans le systme cible depuis la PG................................................... 17-1


Conditions pralables au chargement ................................................................... 17-1
Diffrence entre l'enregistrement et le chargement de blocs.................................. 17-2
Mmoire de chargement et mmoire de travail dans la CPU ................................. 17-2
Possibilits de chargement selon la mmoire de chargement................................ 17-4
Chargement de blocs dans le systme cible ......................................................... 17-5
Chargement via des cartes mmoire EPROM ....................................................... 17-6
Chargement spar de la configuration matrielle et de la configuration
des liaisons........................................................................................................... 17-7
Chargement depuis le systme cible dans la PG................................................. 17-12
Chargement depuis le systme cible dans la PG................................................. 17-12
Chargement d'une station dans la PG................................................................. 17-13
Chargement de blocs depuis la CPU S7 ............................................................. 17-14
Edition de blocs chargs dans votre PG/PC........................................................ 17-14
Chargement de la configuration matrielle et de la configuration des liaisons
dans la PG ......................................................................................................... 17-15
Effacement sur le systme cible.......................................................................... 17-17
Compression de la mmoire utilisateur (RAM) .................................................... 17-18

Test avec des tables de variables


18.1
18.2
18.3
18.3.1
18.3.2
18.3.3
18.4
18.4.1

16-1

Etablissement de liaisons en ligne ........................................................................ 16-1


Etablissement de liaisons en ligne ........................................................................ 16-1
Etablissement d'une liaison en ligne depuis la fentre "Partenaires accessibles"... 16-1
Etablissement d'une liaison en ligne depuis la fentre en ligne du projet ............... 16-2
Protection par mot de passe contre l'accs aux systmes cible............................. 16-2
Remarque sur l'actualisation du contenu de la fentre........................................... 16-3
Affichage et modification de l'tat de fonctionnement ............................................ 16-4
Affichage et modification de l'tat de fonctionnement ............................................ 16-4
Affichage et rglage de l'heure et de la date.......................................................... 16-5
Affichage et rglage de l'heure et de la date.......................................................... 16-5

Chargement
17.1
17.1.1
17.1.2
17.1.3
17.1.4
17.1.5
17.1.6
17.1.7

15-1

Configuration de variables pour le contrle-commande ......................................... 15-1


Configuration d'attributs de contrle-commande avec LIST, CONT, LOG.............. 15-3
Configuration d'attributs de contrle-commande avec LIST, CONT, LOG.............. 15-3
Configuration des attributs de contrle-commande au moyen de la table des
mnmoniques....................................................................................................... 15-4
Configuration des attributs de contrle-commande au moyen de la table des
mnmoniques....................................................................................................... 15-4
Modification des attributs de contrle-commande avec CFC ................................. 15-5
Modification des attributs de contrle-commande avec CFC ................................. 15-5
Transfert des donnes de configuration dans le systme cible de
contrle-commande .............................................................................................. 15-6
Transfert des donnes de configuration dans le systme cible de
contrle-commande .............................................................................................. 15-6

Etablissement dune liaison en ligne et choix de la CPU


16.1
16.1.1
16.1.2
16.1.3
16.1.4
16.1.5
16.2
16.2.1
16.3
16.3.1

17

OB d'erreur gnrs ........................................................................................... 14-28


FB, DB gnrs .................................................................................................. 14-29

18-1

Introduction au test avec des tables de variables .................................................. 18-1


Marche suivre pour la visualisation et le forage avec des tables de variables.... 18-2
Edition et enregistrement de tables de variables ................................................... 18-2
Cration et ouverture d'une table de variables....................................................... 18-2
Copie ou dplacement de tables de variables ....................................................... 18-3
Enregistrement d'une table de variables................................................................ 18-3
Saisie de variables dans des tables de variables................................................... 18-4
Insertion d'oprandes ou de mnmoniques dans une table de variables ............... 18-4
Programmer avec STEP 7 V5.1
A5E00069874-03

Sommaire

18.4.2
18.4.3
18.4.4
18.4.5
18.5
18.5.1
18.5.2
18.5.3
18.6
18.6.1
18.7
18.7.1
18.7.2
18.8
18.8.1
18.8.2
18.9
18.9.1
18.9.2
18.9.3
19

Test avec la visualisation d'tat du programme


19.1
19.2
19.3
19.4
19.5
19.6

20

20-1

Test avec le programme de simulation (logiciel optionnel)..................................... 20-1

Diagnostic
21.1
21.2
21.3
21.3.1
21.3.2
21.4
21.4.1
21.4.2
21.5
21.5.2
21.5.3
21.6
21.6.1
21.6.2
21.7
21.7.1
21.8
21.8.1
21.8.2
21.8.3
21.8.4
21.9
21.9.1
21.9.2
21.9.3
21.9.4

19-1

Test avec la visualisation d'tat du programme ..................................................... 19-1


Affichage dans la visualisation d'tat de programme ............................................. 19-3
Informations sur le test en mode pas pas et sur les points d'arrt ....................... 19-4
Informations sur l'tat de fonctionnement "Attente"................................................ 19-6
Etat du programme de blocs de donnes .............................................................. 19-7
Dfinition de l'environnement d'appel du bloc........................................................ 19-8

Test avec le programme de simulation S7-PLCSIM (logiciel optionnel)


20.1

21

Insertion de valeurs de forage ............................................................................. 18-5


Limites suprieures pour la saisie de temporisations............................................. 18-6
Limites suprieures pour la saisie de compteurs ................................................... 18-7
Insertion de lignes de commentaire....................................................................... 18-7
Exemples ............................................................................................................. 18-8
Exemple de saisie d'oprandes dans une table de variables ................................. 18-8
Exemple de saisie dune plage doprandes continue ........................................... 18-8
Exemples de saisie de valeurs de forage/forage permanent .............................. 18-9
Etablissement d'une liaison la CPU.................................................................. 18-12
Etablissement d'une liaison la CPU.................................................................. 18-12
Visualisation de variables.................................................................................... 18-13
Introduction la visualisation de variables .......................................................... 18-13
Dfinition du dclenchement pour la visualisation de variables............................ 18-13
Forage de variables .......................................................................................... 18-15
Introduction au forage de variables.................................................................... 18-15
Dfinition du dclenchement pour le forage de variables ................................... 18-16
Forage permanent de variables......................................................................... 18-18
Introduction au forage permanent de variables.................................................. 18-18
Mesures de scurit pour le forage permanent de variables .............................. 18-20
Diffrences entre forage de variables et forage permanent de variables .......... 18-21

21-1

Diagnostic du matriel et recherche d'erreurs........................................................ 21-1


Icnes de diagnostic dans la vue en ligne ............................................................. 21-3
Diagnostic du matriel : vue rapide ....................................................................... 21-5
Appel de la vue rapide .......................................................................................... 21-5
Fonctions d'information de la vue rapide ............................................................... 21-5
Diagnostic du matriel : vue du diagnostic ............................................................ 21-6
Appel de la vue de diagnostic de HW Config......................................................... 21-6
Fonctions d'information de la vue du diagnostic .................................................... 21-8
tat du module ..................................................................................................... 21-9
Fonctions d'information de l'tat du module......................................................... 21-10
Volume d'informations selon le type de module dans l'tat du module................. 21-12
Diagnostic l'tat de fonctionnement STOP ....................................................... 21-14
Marche suivre pour dterminer la cause d'un passage l'tat d'arrt ............... 21-14
Contenu des piles l'tat d'arrt ......................................................................... 21-14
Contrle des temps de cycle pour viter les erreurs d'horloge ............................. 21-16
Contrle des temps de cycle pour viter les erreurs d'horloge ............................. 21-16
Transmission d'informations de diagnostic .......................................................... 21-17
Transmission d'informations de diagnostic .......................................................... 21-17
Liste d'tat systme (SZL) .................................................................................. 21-18
Envoi de vos propres messages de diagnostic.................................................... 21-20
Fonctions de diagnostic ...................................................................................... 21-21
Mesures prendre dans le programme pour traiter les erreurs............................ 21-22
Mesures prendre dans le programme pour traiter les erreurs............................ 21-22
Exploitation du paramtre de sortie RET_VAL .................................................... 21-23
OB d'erreur en raction la dtection d'une erreur ............................................. 21-24
Insertion de valeurs de remplacement en cas d'erreur dtecte .......................... 21-29

Programmer avec STEP 7 V5.1


A5E00069874-03

xv

Sommaire

21.9.5
21.9.6
21.9.7
21.9.8
21.9.9
21.9.10
21.9.11
21.9.12
21.9.13
21.9.14
21.9.15
21.9.16
21.9.17
22

Impression et archivage
22.1
22.1.1
22.1.2
22.1.3
22.1.4
22.2
22.2.1
22.2.2
22.2.3
22.2.4

23

25

xvi

24-1

Marche suivre pour les systmes M7 ................................................................. 24-1


Logiciel optionnel pour la programmation M7 ........................................................ 24-3
Systmes d'exploitation pour M7-300/400............................................................. 24-6

Astuces et conseils
25.1
25.2
25.3
25.4
25.5

23-1

Configuration multi-utilisateur au sein du rseau Windows .................................... 23-1

Utilisation des systmes d'automatisation M7


24.1
24.2
24.3

22-1

Impression de la documentation du projet ............................................................. 22-1


Impression de la documentation du projet ............................................................. 22-1
Procdure de principe pour l'impression................................................................ 22-2
Fonctions d'impression ......................................................................................... 22-2
Particularits pour l'impression de l'arborescence des objets ................................ 22-3
Archivage de projets et de bibliothques ............................................................... 22-4
Archivage de projets et de bibliothques ............................................................... 22-4
Possibilits d'enregistrement / archivage............................................................... 22-5
Conditions requises pour l'archivage..................................................................... 22-5
Marche suivre pour l'archivage/le dsarchivage ................................................. 22-6

Configuration multi-utilisateur au sein du rseau Windows


23.1

24

Erreur de redondance de priphrie (OB70) ....................................................... 21-31


Erreur de redondance de CPU (OB72)................................................................ 21-31
Erreur de redondance de communication (OB73)................................................ 21-32
Erreur de temps (OB80)...................................................................................... 21-33
Erreur d'alimentation (OB81)............................................................................... 21-33
Alarme de diagnostic (OB82) .............................................................................. 21-34
Alarme de dbrochage/enfichage (OB83) ........................................................... 21-35
Erreur matrielle CPU (OB84)............................................................................. 21-36
Erreur dexcution du programme (OB85)........................................................... 21-36
Dfaillance d'unit (OB86) .................................................................................. 21-37
Erreur de communication (OB87)........................................................................ 21-37
Erreur de programmation (OB121)...................................................................... 21-38
Erreur d'accs la priphrie (OB122) ............................................................... 21-39

25-1

Remplacement de modules dans la table de configuration .................................... 25-1


Projets comportant un grand nombre de stations en rseau .................................. 25-1
Rorganisation ..................................................................................................... 25-2
Test l'aide de la table des variables.................................................................... 25-2
Mmoire virtuelle .................................................................................................. 25-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Sommaire

Annexe
A.1
A.1.1
A.1.2
A.1.3
A.1.4
A.1.5
A.2
A.2.1
A.2.2
A.2.3
A.3
A.3.1
A.3.2
A.3.3
A.3.4
A.4
A.4.1
A.4.2
A.4.3
A.4.4
A.4.5
A.5
A.5.1
A.5.2
A.5.3
A.5.4
A.6
A.6.1
A.6.2
A.7
A.7.1
A.7.2
A.7.3
A.7.4

A-1
Etats de fonctionnement ......................................................................................... A-1
Etats de fonctionnement et changement d'tat de fonctionnement .......................... A-1
Etat de fonctionnement "Arrt" (STOP) ................................................................... A-3
Etat de fonctionnement "Mise en route" .................................................................. A-4
Etat de fonctionnement "Marche" (RUN) ............................................................... A-11
Etat de fonctionnement "Attente" .......................................................................... A-12
Zones de mmoire des CPU S7............................................................................ A-13
Organisation des zones de mmoire..................................................................... A-13
Mmoire de chargement et mmoire de travail...................................................... A-14
Mmoire systme ................................................................................................. A-16
Types de donnes et de paramtre....................................................................... A-29
Introduction aux types de donnes et de paramtre .............................................. A-29
Types de donnes simples ................................................................................... A-30
Types de donnes complexes............................................................................... A-38
Types de paramtre.............................................................................................. A-48
Utilisation d'anciens projets................................................................................... A-66
Conversion d'un ancien projet de version 1 ........................................................... A-66
Conversion d'un ancien projet de version 2 ........................................................... A-67
Remarque sur les projets STEP 7 de version V2.1 avec communication
par donnes globales............................................................................................ A-68
Extension d'esclaves DP crs avec des versions antrieures de STEP 7 ............ A-69
Esclaves DP avec fichiers GSD manquants ou errons......................................... A-69
Exemples de programmes .................................................................................... A-70
Exemples de projets et de programmes ................................................................ A-70
Exemple de programme pour un processus de mlange industriel ........................ A-71
Exemple d'utilisation d'alarmes horaires................................................................ A-88
Exemple d'utilisation d'alarmes temporises ......................................................... A-94
Accs aux zones de donnes du processus et de la priphrie........................... A-104
Accs la zone de donnes du processus.......................................................... A-104
Accs la zone de donnes de priphrie.......................................................... A-105
Dfinition du comportement en fonctionnement................................................... A-107
Dfinition du comportement en fonctionnement................................................... A-107
Modification du comportement et des proprits des modules............................. A-108
Avantage des fonctions dhorodatage ................................................................. A-110
Utilisation de mmentos de cadence et de temporisations................................... A-111

Index

Programmer avec STEP 7 V5.1


A5E00069874-03

Index-1

xvii

Sommaire

xviii

Programmer avec STEP 7 V5.1


A5E00069874-03

1.1

Nouveauts

Guide de STEP 7

Qu'est-ce que STEP 7 ?


STEP 7 est le progiciel de base pour la configuration et la programmation de systmes
d'automatisation SIMATIC. Il fait partie de l'industrie logicielle SIMATIC. Le progiciel de base
STEP 7 existe en plusieurs versions :
STEP 7-Micro/DOS et STEP 7-Micro/Win pour des applications autonomes simples sur
SIMATIC S7 - 200.
STEP 7 pour des applications sur SIMATIC S7-300/400, SIMATIC M7-300/400 et
SIMATIC C7 prsentant des fonctionnalits supplmentaires :
-

Possibilit d'extension grce aux applications proposes par l'industrie logicielle


SIMATIC (voir aussi Possibilits d'extension du logiciel de base STEP 7)

Possibilit de paramtrage de modules fonctionnels et de modules de communication

Forage et fonctionnement multiprocesseur

Communication par donnes globales

Transfert de donnes command par vnement l'aide de blocs de communication


et de blocs fonctionnels

Configuration de liaisons

STEP 7 fait l'objet du prsent manuel d'utilisation, STEP 7-Micro tant dcrit dans la
documentation "STEP 7-Micro/DOS".

Tches fondamentales
La mise en place dune solution dautomatisation avec STEP 7 ncessite la ralisation de
tches fondamentales. La figure suivante indique les tches excuter dans la plupart des
projets et les classe selon la marche suivre. Ce guide renvoie aux chapitres respectifs,
vous permettant ainsi de vous dplacer dans le manuel selon la tche que vous avez
raliser.

Programmer avec STEP 7 V5.1


A5E00069874-03

1-1

Nouveauts

Installation de STEP 7
Conception de la solution dautomatisation
et dtermination de la structure du programme

Dmarrage de STEP 7
et cration du projet

Dfinir la configuration matrielle maintenant ?

?
OUI

NON

Configuration matrielle et de la liaison


Configuration des modules
Mise en rseau des stations
Configuration des liaisons aux partenaires

Choisir la programmation symbolique au lieu


de la programmation absolue ?

?
OUI

NON

Dfinition des mnmoniques

Cration du programme utilisateur


Programmation des blocs
Appel du bloc dans le programme
Dfinition des mnmoniques locaux

?
OUI

Crer maintenant les donnes de rfrence,


par exemple pour le test ?
NON

Cration des donnes de rfrence

Option :
Programmation des messages
Configuration des variables pour le
"contrle-commande"

La configuration matrielle est-elle dj


ralise ?

?
NON
Configuration du matriel et des liaisons

OUI

Chargement du programme
Test du programme et dtection derreurs

Impression et archivage

1-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Nouveauts

Diffrentes approches possibles


Comme le montre la figure prcdente, diffrentes approches sont possibles :
Vous pouvez d'abord configurer le matriel et ensuite programmer les blocs.
Mais vous pouvez aussi programmer d'abord les blocs sans avoir configurer
auparavant le matriel. Ceci est particulirement recommand pour les tches de
maintenance. En effet, vous avez ainsi la possibilit d'intgrer des blocs programms
dans un projet existant.

Brve description des diverses tapes :


Installation et autorisation
Pour une premire utilisation, vous devez installer STEP 7 et transfrer l'autorisation
depuis la disquette sur le disque dur (voir aussi Installation de STEP 7 et Autorisation).
Conception de la solution d'automatisation
Avant d'utiliser STEP 7, vous devez planifier votre solution d'automatisation depuis la
division du processus en tches individuelles jusqu' la ralisation d'un schma de
configuration (voir aussi Conception d'une solution d'automatisation).
Conception de la structure du programme
En utilisant les blocs mis votre disposition par STEP 7, vous transposez les tches
dcrites lors de la conception de votre solution d'automatisation en structure de
programme (voir aussi Blocs dans le programme utilisateur).
Dmarrage de STEP 7
Vous dmarrez STEP 7 depuis l'interface utilisateur de Windows (voir aussi Dmarrage
de STEP 7).
Dfinition de la structure du projet
Un projet peut tre compar un dossier dans lequel toutes les donnes sont organises
de manire hirarchique et sont toujours disponibles. Ds lors que vous avez cr un
projet, toutes les tches suivantes y seront excutes (voir aussi Structure du projet).
Cration de la station
En crant la station, vous dfinissez l'automate programmable : p.ex. SIMATIC 300,
SIMATIC 400, SIMATIC S5 (voir aussi Insertion de stations).
Configuration matrielle
Dans une table de configuration, vous dfinissez les modules que vous allez mettre en
oeuvre dans votre solution d'automatisation ainsi que les adresses permettant d'y
accder depuis le programme utilisateur. Vous pouvez en outre y paramtrer les
caractristiques des modules (voir aussi Manipulations de base pour la configuration
matrielle).
Configuration de rseaux et de liaisons de communication
La condition requise l'tablissement d'une communication est l'existance d'un rseau
pralablement configur. Vous devez cet effet crer les rseaux auxiliaires ncessaires
votre solution d'automatisation, dfinir leurs proprits et pour les stations mises en
rseau, les caractristiques de connexion au rseau ainsi que, le cas chant, les
liaisons de communication requises (voir aussi Marche suivre pour la configuration d'un
sous-rseau).
Dfinition de mnmoniques
Dans une table des mnmoniques, vous pouvez remplacer des adresses par des
mnmoniques locaux ou globaux de dsignation plus vocatrice afin de les utiliser dans
votre programme (voir aussi Cration d'une table des mnmoniques)

Programmer avec STEP 7 V5.1


A5E00069874-03

1-3

Nouveauts

Cration du programme
En utilisant l'un des langages de programmation mis votre disposition, vous crez un
programme affect ou non un module, que vous enregistrez sous forme de blocs, de
sources ou de diagrammes (voir aussi Marche suivre pour la cration de blocs de code
et Principes de la programmation dans les sources LIST).
S7 uniquement : cration et exploitation de donnes de rfrence
Vous pouvez utiliser ces donnes de rfrence afin de vous faciliter le test et la
modification de votre programme utilisateur (voir aussi Affichage des donnes de
rfrence existantes).
Configuration de messages
Crez par exemple des messages sur bloc avec leurs textes et attributs. En utilisant le
programme de transfert, vous transfrez ensuite les donnes de configuration de
messages dans la base de donnes du systme de contrle-commande
(p.ex. SIMATIC WinCC, SIMATIC ProTool) (voir aussi Configuration de messages).
Configuration de variables de contrle-commande
Vous dfinissez une fois pour toutes les variables de contrle-commande dans STEP 7
et leur affectez les attributs souhaits. En utilisant le programme de transfert, vous
transfrez les variables de contrle-commande cres dans la base de donnes du
systme de contrle-commande WinCC (voir aussi Configuration de variables de
contrle-commande).
Chargement de programmes dans le systme cible
S7 uniquement : une fois la configuration, le paramtrage et la cration du programme
termins, vous pouvez transfrer votre programme utilisateur complet ou des blocs
individuels dans le systme cible (module programmable de votre solution matrielle). La
CPU contient dj le systme d'exploitation (voir aussi Conditions pralables au
chargement).
M7 uniquement : parmi diffrens systmes d'exploitation, vous slectionnez celui qui
s'adapte votre solution d'automatisation et le transfrez seul ou avec le programme
utilisateur sur le support de donnes souhait du systme cible M7.
Test de programmes
S7 uniquement : pour effectuer un test, vous avez la possibilit d'afficher les valeurs de
variables depuis votre programme utilisateur ou depuis une CPU, d'affecter des valeurs
ces variables et de crer une table des variables que vous souhaitez afficher ou forcer
(voir aussi Introduction au test avec des tables de variables).
M7 uniquement : test du programme utilisateur l'aide d'un programme de dbogage en
langage volu.
Surveillance du fonctionnement, diagnostic du matriel
Vous dterminez les causes du dfaut d'un module en affichant des informations en ligne
relatives ce module. Vous dterminez les causes d'un dfaut dans le droulement d'un
programme utilisateur l'aide de la mmoire tampon de diagnostic et du contenu des
piles. Vous pouvez en outre vrifier si un programme utilisateur est excutable sur une
CPU donne (voir aussi Diagnostic du matriel et affichage de l'tat du module).
Documentation de l'installation
Aprs avoir cr un projet ou une installation, il est conseill de documenter les donnes
de configuration de manire claire afin de faciliter le traitement ultrieur du projet de
mme que les tches de maintenance (voir aussi Impression de la documentation du
projet). DOCPRO, l'application optionnelle de cration et de gestion de documentation
d'installations permet la structuration des donnes de configuration, la prsentation sous
forme de dossiers des schmas de l'installation et l'impression dans une prsentation
homogne.

1-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Nouveauts

Extension du manuel avec des thmes particuliers


Diffrents thmes spciaux peuvent reprsenter un intrt pour vous lors de la ralisation
d'une solution d'automatisation :
Fonctionnement multiprocesseur - synchrone de plusieurs CPU (voir aussi Mode
multiprocesseur - fonctionnement synchrone de plusieurs CPU)
Travail de plusieurs personnes sur un mme projet (voir aussi Edition de projets par
plusieurs personnes)
Utilisation de systmes M7 (voir aussi Marche suivre pour les systmes M7)

1.2

Logiciel de base STEP 7

Normes en vigueur
Les langages de programmation SIMATIC intgrs STEP 7 rpondent la norme
DIN EN 6.1131-3. Le progiciel de base s'excute sous le systme d'exploitation
Windows 95/98/NT/2000 et s'adapte son organisation graphique oriente objet.

Fonctions du logiciel de base


Le logiciel de base vous assiste dans toutes les phases du processus de cration de vos
solutions d'automatisation, comme par exemple :
la cration et la gestion de projets,
la configuration et le paramtrage du matriel et de la communication,
la gestion des mnmoniques,
la cration de programmes, par exemple pour les systmes cible S7,
le chargement de programmes dans des systmes cible,
le test de l'installation d'automatisation,
le diagnostic lors de perturbations de l'installation.
La conception de l'interface utilisateur du logiciel STEP 7 rpond aux connaissances
ergonomiques modernes et son apprentissage est trs facile.
La documentation du logiciel STEP 7 met votre disposition tous les informations
ncessaires en ligne, dans l'aide en ligne et dans des manuels lectroniques de format PDF.

Programmer avec STEP 7 V5.1


A5E00069874-03

1-5

Nouveauts

Applications disponibles
Le logiciel de base STEP 7met votre disposition diffrentes applications :

Logiciel de base
Configuration de la
communication NETPRO

Editeur de
mnmoniques

Gestionnaire de projets
SIMATIC

Configuration du
matriel

Langages de programmation
CONT

LOG

LIST

Diagnostic du
matriel

Il n'est pas ncessaire d'appeler sparment chaque application, car elles sont dmarres
automatiquement lorsque vous slectionnez une fonction correspondante ou ouvrez un
objet.

Gestionnaire de projets SIMATIC


Le gestionnaire de projets SIMATIC gre toutes les donnes relatives un projet
d'automatisation quel que soit le systme cible (S7/M7/C7) sur lequel elles ont t cres.
Le gestionnaire de projets SIMATIC dmarre automatiquement les applications requises
pour le traitement des donnes slectionnes.

1-6

Programmer avec STEP 7 V5.1


A5E00069874-03

Nouveauts

Editeur de mnmoniques
L'diteur de mnmoniques vous permet de grer toutes les variables globales. Vous
disposez des fonctions suivantes :
dfinition de dsignations symboliques et de commentaires pour les signaux du
processus (entres/sorties), mmentos et blocs,
fonctions de tri,
importation/exportation avec d'autres programmes Windows.
La table des mnmoniques qui en rsulte est mise disposition de toutes les applications.
La modification de l'un des paramtres d'un mnmonique est de ce fait reconnue
automatiquement par toutes les applications.

Diagnostic du matriel
Le diagnostic du matriel fournit un aperu de l'tat du systme d'automatisation. Dans une
reprsentation d'ensemble, un symbole permet de prciser pour chaque module, s'il est
dfaillant ou pas. Un double clic sur le module dfaillant permet d'afficher des informations
dtailles sur le dfaut. Les informations disponibles dpendent des diffrents modules :
affichage d'informations gnrales sur le module (p.ex. numro de commande, version,
dsignation) et son tat (p.ex. dfaillant),
affichage d'erreurs sur les modules (p.ex. erreur de voie) de la priphrie centrale et des
esclaves DP,
affichage des messages de la mmoire tampon de diagnoctic.
Pour les CPU, des informations supplmentaires s'affichent :
causes de dfaillance dans le droulement d'un programme utilisateur
dure de cycle (le plus long, le plus court et dernier),
possibilits et charge de la communication MPI,
performances (nombre d'entres/sorties, de mmentos, de compteurs, de temporisations
et de blocs possibles).

Langages de programmation
Les langages de programmation CONT, LIST et LOG pour S7-300/400 font partie intgrante
du logiciel de base.
Le schma contacts (CONT) est un langage de programmation graphique. La syntaxe
des instructions fait penser aux schmas de circuits. CONT permet de suivre facilement
le trajet du courant entre les barres d'alimentation en passant par les contacts, les
lments complexes et les bobines.
La liste d'instructions (LIST) est un langage de programmation textuel proche de la
machine. Dans un programme LIST, les diffrentes instructions correspondent, dans une
large mesure, aux tapes par lesquelles la CPU traite le programme. Pour faciliter la
programmation, LIST a t complt par quelques structures de langage volu (comme,
par exemple, des paramtres de blocs et accs structurs aux donnes).
Le logigramme (LOG) est un langage de programmation graphique qui utilise les botes
de l'algbre de Boole pour reprsenter les oprations logiques. Les fonctions complexes,
comme par exemple les fonctions mathmatiques, peuvent tre reprsentes
directement combines avec les botes logiques.
Vous pouvez vous procurer d'autres langages de programmation sous forme de logiciels
optionnels.
Programmer avec STEP 7 V5.1
A5E00069874-03

1-7

Nouveauts

Configuration matrielle
Vous utilisez cette application pour configurer et paramtrer le matriel d'un projet
d'automatisation. Vous disposez des fonctions suivantes :
Pour configurer le systme d'automatisation, vous slectionnez des chssis (Racks) dans
un catalogue lectronique et affectez les modules slectionns aux emplacements
souhaits dans les racks.
La configuration de la priphrie dcentralise est identique celle de la priphrie
centralise. La priphrie voie par voie est galement possible.
Pour le paramtrage de la CPU, des menus vous permettent de dfinir des
caractristiques telles que le comportement la mise en route et la surveillance du temps
de cycle. Le fonctionnement multiprocesseur est possible. Les donnes saisies sont
enregistres dans des blocs de donnes systme.
Pour le paramtrage des modules, des botes de dialogue vous permettent de dfinir
tous les paramtres modifiables. Les rglages l'aide de commutateurs DIP s'avrent
inutiles. Le paramtrage des modules est ralis automatiquement au dmarrage de la
CPU. L'avantage suivant en rsulte. Le remplacement d'un module est ainsi possible
sans nouveau paramtrage.
Le paramtrage de modules fonctionnels (FM) et de processeurs de communication (CP)
s'effectue de manire identique celui des autres modules dans la configuration
matrielle. A cet effet, des botes de dialogues ainsi que des rgles spcifiques aux
modules sont ainsi mises disposition pour chaque FM et CP (fournies dans le logiciel
fonctionnel du FM/CP). Dans les botes de dialogue, le systme ne propose que des
saisies possibles, ce qui empche les entres errones.

NetPro
NetPro permet un transfert de donnes cyclique dclench par temporisation via MPI avec :
choix des participants la communication,
saisie de la source et de la destination des donnes dans un tableau ; la gnration de
tous les blocs charger (SDB) et leur transfert complet dans toutes les CPU s'effectuent
automatiquement.
En outre, un transfert de donnes dclench par vnement est possible avec :
la dfinition des liaisons de communication,
le choix des blocs de communication/ blocs fonctionnels dans la bibliothque des blocs
intgre,
le paramtrage des blocs de communication/ blocs fonctionnels slectionns dans le
langage de programmation habituel.

1-8

Programmer avec STEP 7 V5.1


A5E00069874-03

Nouveauts

1.3

Nouveauts dans la version 5.1 de STEP 7

SIMATIC Manager
Quand vous souhaitez traduire des projets en dautres langues, la commande Outils >
Gestion multilingue des textes > Exporter vous permet d'diter des textes du projet
(titres de bloc et commentaires, par ex.) en dehors de STEP 7 avec un diteur ASCII ou
un tableur, pour les rimporter ensuite dans STEP 7 avec la commande Outils >
Gestion multilingue des textes > Importer. Le format du fichier d'exportation est
obligatoirement "*.csv" (comma separated value).
Vous pouvez charger l'ensemble des donnes du projet sur une carte mmoire
approprie de la CPU (nouvelles commandes Systme cible > Sauvegarder le projet
sur la carte mmoire et Systme cible > Charger le projet de la carte mmoire).
Avec la commande Outils > Donnes de rfrence > Effacer, vous pouvez effacer les
donnes de rfrence existantes.
La commande ? > A propos de permet de lire les informations relatives la version des
produits installs avec leurs composants et leurs bibliothques (DLL).
La commande Edition > Vrifier la cohrence des blocs permet de lancer une
vrification de cohrence de tous les blocs S7 du dossier Blocs la suite d'une
modification du programme. Ainsi, vous contrlez mieux les effets sur d'autres blocs des
modifications apportes aux interfaces et vous liminez plus rapidement les erreurs.
Il est maintenant possible de synchroniser les attributs systme dj dfinis pour les
blocs de votre programme utilisateur lors de l'importation de nouvelles versions de blocs,
par exemple la mise niveau d'une bibliothque systme. La synchronisation des
attributs systme a lieu pour chaque bloc dans une bote de dialogue.

Programmation de blocs CONT/LOG/LIST


La nouvelle commande Fichier > Vrifier et actualiser les accs dmarre la vrification
de cohrence des blocs.
Il est possible de visualiser les blocs appels lorsque l'installation est en mode de test.
Pour cela, ouvrez le bloc appelant et positionnez le curseur sur l'appel qui vous intresse
(ligne CALL dans LIST et bote d'appel dans CONT/LOG). Le bouton droit de la souris
vous donne alors le choix entre Bloc appel > Visualiser et Bloc appel > Visualiser
avec chemin d'appel.
Lorsque vous effacez un bloc, son mnmonique est galement efface.
Ceci signifie que si la priorit a t donne aux mnmoniques dans les sources, celles-ci
ne pourront plus tre compiles lorsque les blocs correspondants sont effacs dans le
programme.

Programmer avec STEP 7 V5.1


A5E00069874-03

1-9

Nouveauts

Visualisation et forage de variables


La table servant la visualisation et au forage de variables a t modifie :
-

Slection de colonnes possible

Slection multiple

Toutes les colonnes peuvent tre masques ou affiches au choix

Bulle d'information pour les lignes en rouge

Le format d'affichage peut tre maintenant dit.

La bote de dialogue "Paramtres" a deux nouveaux onglets ("Gnral" et "Online").


L'onglet "Online" permet de slectionner les options suivantes :
-

Slection de la liaison en ligne possible : soit la CPU directement raccorde, soit


la CPU configure

Suppression des messages d'avertissement possible

Une nouvelle option "Regrouper les variables" permet d'augmenter le nombre


maximum de variables pouvant tre visualises.

Possibilit de changer de liaison sans avoir coup la liaison existante pralable


Possibilit de dfinir le dclenchement durant la visualisation des variables
Possibilit de forcer les variables par slection des lignes voulues et de la fonction
"Forcer". Seules les variables visibles dans la table sont alors forces.
Diverses nouvelles commandes de menu, entre autres .
-

Aperu avant impression (menu Table)

Restaurer la disposition (menu Fentre )

Etablir la liaison 1,2,3,4 (menu Systme cible permettant de changer rapidement de


liaison)

Configuration et diagnostic du matriel


La visualisation et le forage d'entres/sorties sont devenus possibles durant la
configuration matrielle (nouvelle commande Systme cible > Visualiser/forcer).
Il y a de nouveaux modules, par exemple lIM 151/CPU comme esclave DP intelligent de
la famille ET 200S.
Possibilits de configuration largies pour les esclaves DP intelligents :
affectation d'une mmoire image partielle pour CPU S7-400 avec change de donnes
direct et
affectation d'un OB d'alarme de processus pour le partenaire PROFIBUS (pour les
esclaves I capables de dclencher une alarme de processus dans le matre DP sur
commande du programme).
Amliorations ergonomiques de la fonction en ligne "Etat du module" :
Pour la page d'onglet "Mmoire tampon de diagnostic", vous pouvez recourir un filtre
pour afficher les vnements (c'est--dire masquer certaines classes d'vnements).
La page d'onglet "Performances" runit les informations relatives aux blocs
d'organisation, fonctions systme (SFC et SFB) et plages d'oprande. Celles relatives
la mmoire se trouvent toutes dans la page d'onglet "Mmoire".
La reprsentation graphique du temps de cycle avec les temps de surveillance
correspondants a t amliore par une disposition horizontale de l'axe des temps. Les
dpassements par le haut et par le bas des temps de surveillance paramtrs y sont plus
faciles reconnatre.

1-10

Programmer avec STEP 7 V5.1


A5E00069874-03

Nouveauts

Configuration de rseaux et de liaisons


La table des liaisons prsente de nouvelles colonnes : Interface locale et Interface
partenaire, Adresse locale et Adresse partenaire. Vous pouvez afficher ou masquer
chaque colonne. De cette manire, le routage complet peut tre dduit de la table et tri
suivant les interfaces, par exemple, ou suivant les sous-rseaux.
Les options faites dans NetPro sont enregistres la fermeture du projet et restent
disponibles la prochaine ouverture (mme sur une autre PG).
Il est plus facile de distinguer les sous-rseaux les uns des autres, car ils apparaissent
l'cran en couleurs diffrentes.
Vous pouvez dsactiver les couleurs pour l'impression graphique dans la bote de
dialogue des options d'impression.
En outre, une fonction de zoom permet d'adapter l'impression la reprsentation du
rseau pour tirer le meilleur parti possible du nombre de pages disponible.
En plus des paramtres de bus pour PROFIBUS, il est possible d'imprimer des
paramtres de bus pour d'autres sous-rseaux (MPI).
La configuration des liaisons (liaisons S7) et l'tat de liaison prennent en charge les
nouvelles cartes CPU enfichables WinAC (CPU 41x-2 DP PCI).

Donnes de rfrence
La commande Edition > Effacer les mnmoniques permet d'effacer les oprandes
libres dans la vue "Oprandes libres".
La commande Edition > Editer les mnmoniques permet d'affecter des mnmoniques
aux oprandes slectionns dans la vue "Mnmoniques manquants".
La disposition des fentres est enregistre la fermeture de l'application et restaure,
quelle que soit la vue affiche (Rfrences croises, Structure du programme, etc.), si la
commande Fentre > Enregistrer la disposition avant de quitter est active.

Configuration de messages
Vous pouvez crer des messages de diagnostic personnaliss pour les programmes M7
galement.
La bote de dialogue "Configuration des messages PCS7", qui sert diter un bloc de
communication command par vnement, contient deux pages d'onglet permettant de
saisir jusqu' 10 textes de message.

Programmer avec STEP 7 V5.1


A5E00069874-03

1-11

Nouveauts

Messages de CPU
Vous disposez de plusieurs options pour traiter les messages arrivant l'application
"Messages de CPU" :
avec la commande Affichage > Dfilement automatique, les messages nouveaux
arrivs dfilent toujours sur l'cran et sont slectionns ;
avec la commande Affichage > Au premier plan, la fentre s'affiche au premier plan et
prsente le message ;
avec la commande Affichage > A l'arrire-plan, les messages saffichent dans la
fentre mais elle reste l'arrire-plan ;
avec la commande Affichage > Ignorer le message, les messages ne s'affichent pas
dans la fentre et ne sont pas non plus enregistrs dans le fichier d'archives.
Vous pouvez supprimer le module slectionn de la liste avec la commande Systme
cible > Supprimer le module.
Dans la bote de dialogue "Paramtres", vous pouvez dterminer la taille du fichier
d'archives, enregistrer la liste des modules dclars et demander la restauration de l'tat
de la liaison tel qu'il tait au dmarrage. Vous pouvez en outre faire afficher les textes
d'information pour ALARM S/SQ.

Signalisation d'erreurs systme


La fonction "Signalisation d'erreurs systme" de STEP 7 offre un moyen convivial
d'afficher sous forme de messages les informations de diagnostic fournies par la
composante. Les blocs et les textes de message ncessaires cet effet sont gnrs
automatiquement par STEP 7. L'utilisateur n'a plus qu' charger les blocs gnrs dans
la CPU et transfrer les textes dans les appareils HMI (interface homme-machine)
connects. Un tableau prcis des informations de diagnostic prises en charge selon les
diffrents esclaves se trouve la rubrique Composants pris en charge et fonctionnalits.

1-12

Programmer avec STEP 7 V5.1


A5E00069874-03

Nouveauts

1.4

Possibilits d'extension du logiciel de base STEP 7

1.4.1

Possibilits d'extension du logiciel de base STEP 7


L'extension du logiciel de base peut tre ralise l'aide de logiciels optionnels, regroups
dans les trois catgories de logiciels suivantes :
Applications techniques
elles comportent des langages de programmation volus et des logiciels orientation
technologique.
Logiciels excutables
ils englobent des logiciels excutables directement utilisables dans le processus de
production.
Interfaces homme/machine (Human Machine Interfaces ; HMI)
elles dsignent des logiciels spcifiques au contrle-commande.
Le tableau suivant indique les logiciels optionnels pouvant tre mis en oeuvre selon le
systme d'automatisation utilis :
STEP 7
S7-300

M7-300

S7-400

M7-400

C7-620

Applications techniques

Borland C/C++
CFC

o
1)

DOCPRO

HARDPRO

M7-ProC/C++

S7-GRAPH

+
3)

2)

o
1)

2)

S7-HiGraph

S7-PDIAG

S7-PLCSIM

S7-SCL

TeleService

+
+
+

Logiciels excutables

Fuzzy Control

M7-DDE-Server

M7-SYS RT

Modular PID Control

PC-DDE-Server

PRODAVE MPI

Standard PID Control

+
+
o
+

Interface homme/machine

ProAgent

SIMATIC ProTool

SIMATIC ProTool/Lite

SIMATIC WinCC

o = indispensable
+ = optionnel
1)

= recommand partir de S7-400

2)

= non recommand pour C7-620

3)

= pas pour les programmes C

Programmer avec STEP 7 V5.1


A5E00069874-03

1-13

Nouveauts

1.4.2

Applications techniques
Les applications techniques sont des applications orientes tche pouvant tre mises en
oeuvre en tant qu'extension du logiciel de base. Elles englobent :
les langages volus pour le programmeur,
le langage graphique pour l'ingnieur en technologie,
des logiciels complmentaires pour le diagnostic, la simulation, la maintenance
distance, la documentation de l'installation, etc.

Applications techniques

Langages volus
SCL

Langage graphique

GRAPH

CFC

HiGraph

Logiciels complmentaires
M7-ProC/C++

PDIAG

PLCSIM

TeleService

DOCPRO

HARDPRO

Langages volus
Vous disposez des logiciels de langage optionnels suivants pour la programmation des
automates programmables SIMATIC S7-300/400.
GRAPH est un langage de programmation permettant la description aise de
commandes squentielles (programmation de graphes squentiels). Le droulement du
processus y est subdivis en tapes. Celles-ci contiennent en particulier des actions pour
la commande des sorties. Le passage d'une tape la suivante est soumis des
conditions de transition.
HiGraph est un langage de programmation permettant la description aise de processus
asynchrones non squentiels sous forme de graphes d'tat. A cet effet, l'installation est
subdivise en units fonctionnelles pouvant prendre diffrents tats. Ces units
fonctionnelles peuvent se synchroniser par l'change de messages.
SCL est un langage volu textuel conforme la norme DIN EN 61131-3. Il comporte
des lments de langage que l'on trouve galement sous une forme similaire dans les
langages de programmation Pascal et C. SCL convient donc particulirement aux
utilisateurs dj habitus se servir d'un langage de programmation volu. Vous
pouvez, par exemple, faire appel SCL pour programmer des fonctions trs complexes
ou se rptant souvent.

1-14

Programmer avec STEP 7 V5.1


A5E00069874-03

Nouveauts

Langage graphique
CFC pour S7 et M7 est un langage de programmation permettant linterconnection
graphique de fonctions existantes. Ces fonctions couvrent un large ventail allant de
combinaisons logiques simples des rgulations et commandes complexes. Un grand
nombre de ces fonctions est disponible sous la forme de blocs dans une bibliothque. La
programmation se fait en copiant des blocs sur un diagramme et en reliant les connecteurs
de blocs par des lignes.

Logiciels complmentaires
Borland C++ (pour M7 uniquement) contient l'environnement de dveloppement Borland.
Avec DOCPRO, vous pouvez organiser toutes les donnes de configuration cres avec
STEP 7 dans un dossier des schmas de l'installation. Ceci facilite la gestion des
donnes de configuration et garantit la conformit aux normes lors de la prparation
l'impression.
HARDPRO est le systme de configuration matrielle pour S7-300 qui assiste l'utilisateur
dans son norme tche de configuration de solutions d'automatisation complexes.
M7-ProC/C++ (pour M7 uniquement) permet d'intgrer l'environnement de
dveloppement Borland pour les langages de programmation C et C++ l'environnement
de dveloppement STEP 7.
PLCSIM (pour S7 uniquement) permet de simuler des automates programmables S7
connects votre outil de dveloppement (PG/PC) des fins de test.
PDIAG (pour S7 uniquement) permet la configuration homogne du diagnostic du
processus pour SIMATIC S7-300/400. Le diagnostic du precessus permet de dtecter
des tats errons hors du systme d'automatisation (p.ex. position finale non atteinte).
Tlservice offre la possibilit de programmer et d'effectuer la maintenance de systmes
d'automatisation S7 et M7 depuis la PG ou le PC via le rseau tlphonique.

Programmer avec STEP 7 V5.1


A5E00069874-03

1-15

Nouveauts

1.4.3

Logiciels excutables
Il s'agit de solutions logicielles finies programmes pouvant tre appeles dans le
programme utilisateur. Les logiciels excutables sont directement intgrs dans la solution
d'automatisation. Ils englobent :
des rgulations pour SIMATIC S7. Des exemples en sont les rgulations standard,
modulaire et Fuzzy,
des applications de couplage des systmes d'automatisation avec des applications
Windows,
un systme de fonctionnement en temps rel pour SIMATIC M7.

Logiciels excutables

Rgulations
Contrle PID standard

Contrle PID modulaire

Applications de couplage
PRODAVE MPI

M7-DDE-Server

Contrle Fuzzy

Systme dexploitation
en temps rel
M7-SYS RT

Rgulations pour SIMATIC S7


Le contrle PID standard permet l'intgration de rgulateurs action continue, de
rgulateurs impulsion et de rgulateurs incrmentiels dans le programme utilisateur.
L'application de paramtrage laquelle la dfinition du rgulateur est intgre permet le
paramtrage rapide et le rglage optimal du rgulateur.
Le contrle PID modulaire est mis en oeuvre lorsqu'un rgulateur PID simple ne permet
pas la rsolution de la tche d'automatisation. La mise en circuit des blocs fonctionnels
standard fournis permet de raliser quasiment toutes les structures techniques de
rgulation.
Le contrle Fuzzy permet de crer des systmes Fuzzy. Ces systmes sont mis en
oeuvre lorsque des processus ne peuvent pas ou peuvent difficilement tre dcrits
mathmatiquement, lorsque le droulement de mcanismes et de processus est
imprvisible, lorsque des comportements non linaires surviennent alors que l'on dispose
d'une connaissance acquise par exprience du processus.

1-16

Programmer avec STEP 7 V5.1


A5E00069874-03

Nouveauts

Applications de couplage
PRODAVE MPI est une palette d'outils permettant l'change de donnes du processus
entre SIMATIC S7, SIMATIC M7 et SIMATIC C7. Elle ralise de manire autonome
l'change de donnes via l'interface MPI.
Le serveur M7-DDE ( 19>Dynamic Data Exchange) permet de relier des applications
Windows des variables du processus dans SIMATIC M7, sans qu'une programmation
supplmentaire ne soit ncessaire.

Systme d'exploitation en temps rel


M7-SYS RT contient le systme d'exploitation M7 RMOS 32 et des programmes
systme. Il est indispensable l'utilisation des progiciels M7-ProC/C++ et CFC pour
SIMATIC M7.

1.4.4

Interface homme/machine
Les interfaces homme/machine sont des logiciels spcifiques au contrle-commande dans
SIMATIC.
Le systme de visualisation du processus SIMATIC WinCC est un systme de base
indpendant des branches et technologies d'utilisation qui comporte toutes les fonctions
indispensables au contrle-commande.
SIMATIC ProTool et SIMATIC ProTool/Lite sont des applications modernes permettant la
configuration des visuels SIMATIC et des appareils compacts SIMATIC C7.
ProAgent permet un diagnostic du processus prcis et rapide dans les installations et
machines en fournissant des informations relatives la localisation et la cause des
erreurs.

Interface homme/machine
SIMATIC WinCC

SIMATIC ProTool

ProAgent

SIMATIC ProTool/Lite

Programmer avec STEP 7 V5.1


A5E00069874-03

1-17

Nouveauts

1-18

Programmer avec STEP 7 V5.1


A5E00069874-03

2.1
2.1.1

Installation et autorisation

Autorisation
Autorisation
Une autorisation spcifique au produit (licence d'utilisation) est ncessaire pour pouvoir
utiliser le logiciel de programmation STEP 7. Le logiciel ainsi protg n'est utilisable que si
l'autorisation ncessaire pour le programme ou le progiciel est dtecte sur le disque dur de
la PG ou du PC concerns.
Des autorisations diffrentes sont obligatoires pour STEP 7 et les logiciels optionnels.

2.1.2

Installation et dsinstallation de l'autorisation

Disquette dautorisation
Vous avez besoin de la disquette dautorisation protge contre la copie qui est livre avec
le logiciel. Elle contient l'autorisation. Le programme "AuthorsW" requis pour l'affichage,
l'installation et la dsinstallation de l'autorisation se trouve sur le CD-ROM contenant
galement STEP 7 V5.1.
Le nombre d'autorisations possibles est dtermin par un compteur d'installations sur la
disquette d'autorisation. Ce compteur est dcrment de 1 l'installation. Lorsqu'il possde
la valeur zro, cette disquette ne permet plus aucune autorisation.

Nota
Pour le logiciel de base STEP 7, vous obtenez une disquette dautorisation jaune contenant
lautorisation correspondante.
Pour chaque logiciel optionnel, vous obtenez une disquette dautorisation rouge contenant
lautorisation respective.

Avertissement
Pour traiter les autorisations, vous devez tenir compte des remarques figurant dans le
fichier LISEZMOI.WRI sur la disquette dautorisation ainsi que dans "Rgles pour lutilisation
dautorisations". Dans le cas contraire, vous risquez de perdre l'autorisation jamais.

Vous avez galement la possibilit d'utiliser le logiciel de base sans autorisation pour un bref
apprentissage de son interface utilisateur et de ses fonctionnalits. Son utilisation effective
requiert cependant l'installation de l'autorisation. Si vous n'avez pas installe l'autorisation, le
programme vous demande des intervalles rguliers de le faire.

Programmer avec STEP 7 V5.1


A5E00069874-03

2-1

Installation et autorisation

En cas de perte de lautorisation


Si, par exemple, en cas de dfaillance de votre disque dur vous n'avez plus aucune
possibilit de dsinstaller votre autorisation de votre disque dur dfectueux, vous allez la
perdre.
Dans ce cas, vous pouvez avoir recours l'autorisation de dpannage. Celle-ci se trouve
galement sur la disquette d'autorisation. Elle vous permet de poursuivre l'utilisation du
logiciel pendant une dure de validit limite, prcise au dmarrage. Vous disposez donc
du temps indiqu pour vous procurer une autorisation de remplacement. Adressez-vous
cet effet votre agence Siemens.

Nota
La dure de validit de l'autorisation de dpannage dmarre l'instant de son installation,
mme si vous ne dmarrez pas STEP 7. Mme si vous copiez nouveau cette autorisation
sur la disquette, l'coulement de la dure de validit n'est pas stopp.

Installation de AuthorsW
Le programme "AuthorsW" ncessaire l'affichage, l'installation et la dsinstallation
d'autorisations se trouve sur le CD-ROM qui contient galement STEP 7 V5.1. A l'aide d'un
Setup, vous installez ce programme sur votre disque dur d'o vous pourrez l'utiliser pour vos
procdures d'autorisation.

Nota
Le programme AuthorsW se trouve sous Dmarrer > SIMATIC > AuthorsW > AuthorsW.

Autorisation lors de la premire installation


Nous vous recommandons d'installer l'autorisation lors de la premire installation de STEP 7
lorsque le message correspondant vous y invite. Procdez de la manire suivante :
1. Insrez la disquette d'autorisation l'affichage du message.
2. Acquittez ensuite le message.
3. L'autorisation est alors transfre sur un lecteur physique.

Excution ultrieure de l'autorisation


Lorsque vous dmarrez le logiciel STEP 7 et que l'autorisation manque, un message vous
en informe. Pour excuter ultrieurement l'autorisation, procdez de la manire suivante :
1. Insrez la disquette d'autorisation dans le lecteur de disquettes, par exemple le
lecteur A:.
2. Appelez le programme "Authorsw.exe" partir du disque dur.
3. Slectionnez dans l'une des zones de liste le lecteur sur lequel se trouve l'autorisation,
dans l'autre le lecteur cible (par exemple la disquette). Les autorisations disponibles sur
les deux lecteurs s'affichent.
4. Slectionnez l'autorisation voulue.
5. Cliquez sur le bouton "
choisi..

RX

/
DXWRULVDWLRQVpOHFWLRQQpH

est transfre sur le lecteur

6. Fermez l'application.

2-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Installation et autorisation

Nota
Sous Windows NT, l'autorisation ne fonctionne que si elle dispose d'un accs total au
disque dur "C:" ainsi qu'au lecteur source.

Mise jour de l'autorisation


Pour procder la mise jour d'une autorisation, utilisez la commande de menu "Mise
jour". Pour raliser cette fonction, il vous faut :
la disquette correspondant l'autorisation que vous souhaitez mettre jour,
le programme d'autorisation "AuthorsW install sur le disque dur,
la nouvelle version de mise jour de STEP 7 sur disquette,
l'ancienne autorisation sur disquette ou disque dur.
Durant la procdure de mise jour, les anciennes autorisations sont effaces et remplaces
par de nouvelles. Votre disquette d'autorisation ne doit donc aucun moment tre protge
contre l'criture.
7. Insrez la nouvelle disquette d'autorisation.
8. Appelez le programme "Authorsw.exe" partir du disque dur.
9. Slectionnez la commande de menu Autorisation > Mise jour. Une bote de dialogue
s'ouvre. Slectionnez-y le programme de mise jour. Vous serez ensuite invit insrer
la disquette contenant l'ancienne autorisation.
10. Insrez la disquette d'autorisation requise. Vous obtenez ensuite une demande de
confirmation de la mise jour. Il s'agit de la dernire possibilit d'interrompre cette action.
Aprs acquittement de la bote de dialogue, le processus ne doit en aucun cas tre
interrompu sans quoi l'autorisation serait perdue.
11. Cliquez sur le bouton OK. Vous serez ensuite invit insrer la disquette contenant la
nouvelle autorisation.
Toutes les conditions requises sont ensuite vrifies. En cas de succs, la mise jour se
termine avec l'activation de la nouvelle autorisation.
La nouvelle autorisation se trouve sur le lecteur sur lequel se trouvait en dernier l'ancienne
autorisation, ce qui vous oblige ventuellement installer de nouveau l'autorisation de la
disquette sur le disque dur.

Restauration de lautorisation
En cas d'autorisation dfectueuse, veuillez vous adresser la ligne directe de
tlassistance. La restauration de l'autorisation est ventuellement possible avec la
commande Autorisation > Restaurer.

Programmer avec STEP 7 V5.1


A5E00069874-03

2-3

Installation et autorisation

Dsinstallation de l'autorisation
Si une rinstallation de l'autorisation s'avre ncessaire - par exemple, si vous voulez
reformater le lecteur sur lequel se trouve l'autorisation -, vous devez d'abord enregistrer
(dsinstaller) l'autorisation sur une disquette d'autorisation Siemens. Vous pouvez
galement y enregistrer les autorisations des logiciels optionnels installs.
Pour retransfrer l'autorisation sur la disquette d'autorisation, procdez de la manire
suivante :
1. Insrez la disquette d'autorisation originale dans le lecteur de disquettes, par exemple le
lecteur A:.
2. Appelez le programme "Authorsw.exe" partir du disque dur.
3. Slectionnez dans l'une des deux zones de liste le lecteur sur lequel se trouve
l'autorisation, dans l'autre le lecteur cible (par exemple la disquette). Toutes les
autorisations installes sur ces deux lecteurs s'affichent.
4. Slectionnez l'autorisation souhaite.
5. Cliquez sur le bouton " RX /
DXWRULVDWLRQVpOHFWLRQQpHHVWDORUVWUDQVIpUpHVXUOD
disquette d'autorisation ou sur le lecteur slectionn.
6. Fermez la bote de dialogue si vous ne dsirez pas dsinstaller d'autres autorisations.
Vous pouvez rutiliser cette disquette pour installer des autorisations.
Il est galement possible de transfrer des autorisations entre deux disques durs.

2.1.3

Rgles pour lutilisation d'autorisations

Avertissement
Tenez compte des indications donnes dans ce paragraphe et dans le fichier
LISEZMOI.TXT sur la disquette d'autorisation. Dans le cas contraire, vous risquez de
perdre dfinitivement l'autorisation.

Dsinstallation ncessaire
Avant de formater, comprimer ou restaurer votre disque dur ou avant dinstaller un nouveau
systme d'exploitation, vous devez dsinstaller les autorisations ventuellement prsentes.

Copie de sauvegarde
Si une copie de sauvegarde de votre disque dur contient des copies d'autorisations, il peut
arriver que, lors de la recopie des donnes de sauvegarde, les autorisations encore valables
installes sur le disque dur soient crases et donc dtruites.
Afin d'viter la perte d'autorisations due au remplacement d'un systme autoris par une
sauvegarde, vous devez :
soit retirer toutes les autorisations avant de crer une copie de sauvegarde,
soit exclure les autorisations de la copie de sauvegarde.

2-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Installation et autorisation

Optimisation du disque dur


Si vous vous servez d'un programme d'optimisation permettant de dplacer des blocs fixes,
n'utilisez cette option qu'aprs avoir d'abord retransfr les autorisations du disque dur sur la
disquette d'autorisation.

Secteurs dfectueux
La procdure d'autorisation entrane la cration sur le lecteur cible d'un secteur spcifique
qui est parfois identifi comme dfectueux. N'essayez pas de le rparer. Vous risqueriez de
dtruire l'autorisation.

Protection contre l'criture et la copie


Votre disquette d'autorisation ne doit pas tre protge contre l'criture.
Vous pouvez copier des fichiers depuis la disquette d'autorisation sur un autre lecteur (par
exemple sur le disque dur) et les utiliser. Ces fichiers copis ne peuvent cependant pas
servir d'autorisation, la disquette d'autorisation originale tant toujours requise.

Lecteurs autoriss
L'autorisation ne peut tre installe que sur le disque dur. Dans le cas de lecteurs
comprims (par exemple DBLSPACE), installez l'autorisation sur le lecteur hte
correspondant.
L'outil d'autorisation empche l'installation d'autorisations sur des lecteurs non autoriss.

Lieu de sauvegarde
Lors de l'installation de l'autorisation, les fichiers d'autorisation sont crs avec les attributs
"systme" et "cach" dans le rpertoire de protection "AX NF ZZ".
Ne modifiez pas ces attributs.
Ne modifiez pas et n'effacez pas ces fichiers.
Ne dplacez pas le dossier. Les fichiers copis depuis le dossier (autorisations) sont
reconnus comme errons et ne constituent pas d'autorisations valides.
Dans le cas contraire, vous perdrez dfinitivement l'autorisation.
Le rpertoire de protection "AX NF ZZ" est cr une fois par lecteur local. Il contient toutes
les autorisations qui y sont installes. Il est gnr lors de l'installation de la premire
autorisation et supprim l'effacement de la dernire.
Deux fichiers de mme nom mais avec des extensions diffrentes sont crs pour chaque
autorisation dans le rpertoire de protection. Ces fichiers reoivent le nom de l'autorisation.

Programmer avec STEP 7 V5.1


A5E00069874-03

2-5

Installation et autorisation

Nombre dautorisations
Vous pouvez installer autant dautorisations que vous le souhaitez sur un lecteur, tant que
vous disposez de l'espace mmoire ncessaire, mais une seule pour chaque version (par
exemple : seulement une version STEP 7 V4.x et une version STEP 7 V5.x). Vous n'avez
pas craindre que ces autorisations se gnent mutuellement.

Autorisations dfectueuses
Il est impossible de retirer des autorisations dfectueuses d'un disque dur avec l'outil
d'autorisation AuthorsW. Ces autorisations peuvent mme bloquer l'installation de nouvelles
autorisations valides. Dans un tel cas, adressez-vous votre agence Siemens.

Outil dautorisation
Utilisez la version en cours de l'outil d'autorisation AuthorsW et, en aucun cas, d'anciennes
versions.

Nota
Toutes les anciennes autorisations ne pouvant pas tre reconnues partir de la version
V2.0, vous devez dans ce cas utiliser une version antrieure de AUTHORSW (version
DOS) < V3.x.

2-6

Programmer avec STEP 7 V5.1


A5E00069874-03

Installation et autorisation

2.2
2.2.1

Installation de STEP 7
Installation de STEP 7
STEP 7 contient un programme SETUP qui excute l'installation automatiquement. Des
messages s'affichant l'cran vous guident tape par tape tout au long de la procdure
d'installation. Vous l'appelez via la procdure d'installation de logiciel standard sous
Windows 95/98/NT ou Windows 2000.
Les phases principales de l'installation sont :
la copie des donnes dans votre outil de dveloppement,
l'installation des pilotes pour EPROM et communication,
la saisie du numro d'identification,
l'autorisation (optionnel).

Nota
Les consoles de programmation Siemens, comme la PG 740, sont livres avec, sur leur
disque dur, le logiciel STEP 7 installable.

Conditions pralables l'installation


Systme d'exploitation
Windows 95/98/2000 ou Windows NT de Microsoft.
Matriel de base
Ordinateur personnel (PC) ou console de programmation (PG) avec :
-

processeur 80486 ou suprieur (pour Windows NT/2000, processeur Pentium),

mmoire vive : 32 Mo au minimum, 64 Mo recommande,

moniteur couleur, clavier et souris pris en charge par Microsoft Windows.

Une console de programmation (PG) est un ordinateur personnel compact tout


spcialement conu pour tre utilis dans un environnement industriel. Elle est quipe
en srie de tous les programmes ncessaires la programmation de systmes
d'automatisation SIMATIC.
Mmoire requise
Pour l'espace mmoire ncessaire sur le disque dur voir le fichier LISEZMOI.
Interface MPI (optionnelle)
L'interface multipoint MPI entre l'outil de dveloppement (console de programmation ou
ordinateur personnel) et le systme cible n'est ncessaire que si vous voulez
communiquer, sous STEP 7 et via MPI, avec le systme cible.
A cet effet, vous devez utiliser :
-

un cble PC/MPI reli l'interface de communication de votre console ou

une carte MPI installe dans votre console.

L'interface MPI est dj intgre aux consoles de programmation.


Programmateur d'EPROM externe (optionnel)
Un programmateur d'EPROM externe n'est ncessaire, lorsque vous utilisez un PC, que
si vous voulez programmer des EPROM.

Programmer avec STEP 7 V5.1


A5E00069874-03

2-7

Installation et autorisation

Nota
Veuillez galement tenir compte des remarques sur linstallation de STEP 7 figurant dans le
fichier LISEZMOI.WRI ainsi que de la "Liste de compatibilit des logiciels SIMATIC avec les
versions du logiciel de base STEP 7".
Vous trouverez le fichier Lisezmoi en cliquant dans la barre des tches sur Dmarrer >
Simatic > Informations.
La liste de compatibilit se trouve dans Dmarrer > Simatic > Documentation.

2.2.2

Marche suivre pour l'installation de STEP 7

Prparatifs
Vous devez lancer Windows 95/98/NT/2000 avant de commencer linstallation.
Un support de donnes externe est inutile si le logiciel STEP 7 installable se trouve dj
sur le disque dur de la PG.
Pour effectuer l'installation partir de disquettes, insrez la disquette 1 dans le lecteur de
disquettes de votre PG ou PC.
Pour effectuer l'installation partir du CD-ROM, insrez le CD-ROM dans le lecteur de
CD-ROM de votre PC.

Lancement du programme dinstallation


Procdez comme suit pour lancer l'installation :
1. Insrez le support de donnes (disquette 1) ou CD-ROM et lancez le Setup en cliquant
sur "setup.exe".
2. Suivez tape par tape les instructions affiches par le programme d'installation.
Ce programme vous guide pas pas tout au long de la procdure d'installation. Vous avez
toujours la possibilit de revenir l'tape prcdente ou d'aller l'tape suivante.
Pendant l'installation, des questions vous sont poses ou des options proposes dans des
botes de dialogue. Tenez compte des indications ci-aprs qui vous permettront de rpondre
plus rapidement et aisment aux dialogues.

Version de STEP 7 dj installe...


Si le programme dinstallation constate quune version de STEP 7 se trouve dj sur l'outil
de dveloppement, un message vous le signale et vous avez les possibilits suivantes :
interrompre l'installation pour, ensuite, dsinstaller l'ancienne version de STEP 7 sous
Windows puis relancer l'installation ou
poursuivre l'installation et substituer ainsi la nouvelle version l'ancienne.
Une maintenance correcte du logiciel exigerait que vous dsinstalliez toute version
antrieure existante avant de procder une nouvelle installation. L'crasement pur et
simple d'une ancienne version prsente, en outre, l'inconvnient qu'une dsinstallation
ultrieure n'effacerait pas les parties ventuellement encore existantes d'une installation
prcdente.

2-8

Programmer avec STEP 7 V5.1


A5E00069874-03

Installation et autorisation

Choisir son installation


Trois variantes dinstallation au choix sont possibles :
Standard : Installation de STEP 7 sur votre ordinateur avec tous ses composants. La
bote de dialogue suivante vous permettra de modifier le choix de la langue.
Compacte : Installation de STEP 7 sur votre ordinateur avec le minimum de composants
ncessaires. La bote de dialogue suivante vous permettra de modifier le choix de la
langue.
Personnalise : La bote de dialogue suivante affiche tous les composants pouvant tre
installs.Vous pouvez choisir parmi ceux-ci les composants que vous dsirez installer.

Numro d'identification
Un numro d'identification vous est demand durant l'installation. Entrez ce dernier. Vous le
trouverez sur le certificat de logiciel ou sur la disquette d'autorisation correspondante.

Autorisation
Lors de l'installation, le programme vrifie si une autorisation existe sur le disque dur. Si ce
n'est pas le cas, un message vous avertit que vous ne pouvez utiliser le logiciel qu'avec
autorisation. Vous pouvez, si vous le dsirez, installer immdiatement l'autorisation ou bien
poursuivre l'installation et procder l'autorisation ultrieurement. Dans le premier cas,
insrez la disquette d'autorisation lorsque le message correspondant vous y invite.

Paramtrage de l'interface PG/PC


Une bote de dialogue de paramtrage de l'interface PG/PC s'affiche pendant l'installation.
Lisez cet effet "Paramtrage de l'interface PG/PC".

Paramtrage de cartes mmoire


Une bote de dialogue relative au paramtrage de cartes mmoire apparat pendant
l'installation.
Vous n'avez pas besoin de pilote EPROM si vous n'utilisez pas de cartes mmoire.
Choisissez alors l'option "Aucun".
Sinon, choisissez l'option correspondant votre PG.
Si vous vous servez d'un ordinateur personnel, vous pouvez choisir un pilote pour
programmateur d'EPROM externe. Vous devez alors galement indiquer l'interface
laquelle ce programmateur est connect (par exemple LPT1).
Vous pouvez modifier les paramtres choisis aprs l'installation en appelant le programme
"Paramtrage de cartes mmoire" dans le groupe de programmes STEP 7 ou dans le
Panneau de configuration.

Programmer avec STEP 7 V5.1


A5E00069874-03

2-9

Installation et autorisation

Systme de fichiers flash


Vous pouvez prciser, dans la bote de dialogue de paramtrage de cartes mmoire, s'il
faut installer un systme de fichiers flash.
Ce systme est, par exemple, ncessaire si dans SIMATIC M7 vous voulez crire ou
effacer des fichiers individuels sur une carte mmoire EPROM sans en modifier le contenu
restant .
Choisissez l'option d'installation du systme de fichiers flash si vous voulez utiliser cette
fonction et disposez d'une console de programmation (PG 720, PG740, PG 760) ou d'un
programmateur d'EPROM appropris.

Erreurs pendant linstallation


Les erreurs suivantes entranent l'interruption de l'installation :
Si une erreur d'initialisation se produit immdiatement aprs le dmarrage du SETUP,
vous avez certainement lanc l'installation dans un environnement autre que Windows.
L'espace mmoire est insuffisant : selon l'option d'installation choisie, vous avez besoin
d'environ 100 Mo d'espace libre sur votre disque dur pour le logiciel de base.
Disquette ou CD dfectueux : adressez-vous votre agence Siemens si vous constatez
qu'une disquette est dfectueuse.
Erreur de manipulation : recommencez l'installation en observant rigoureusement les
instructions.

Fin de linstallation
Un message s'affiche l'cran pour vous signaler que l'installation a russi.
Si l'installation a entran l'actualisation des fichiers systme, vous tes invit relancer
Windows. Une fois Windows redmarr, vous pouvez cliquer sur l'icne du SIMATIC
Manager pour lancer l'interface utilisateur de STEP 7.
Une installation sans erreur s'achve par la cration d'un groupe de programmes STEP 7.

2.2.3

Paramtrage de l'interface PG/PC


Le paramtrage que vous ralisez ici vous permet de dfinir la communication entre PG/PC
et systme d'automatisation. Une bote de dialogue de paramtrage de l'interface PG/PC
s'affiche pendant l'installation. Vous pouvez galement afficher cette bote de dialogue aprs
l'installation en appelant le programme "Paramtrage de l'interface PG/PC". Ce programme
vous permet de modifier les jeux de paramtres aprs coup, indpendamment d'une
quelconque installation.

2-10

Programmer avec STEP 7 V5.1


A5E00069874-03

Installation et autorisation

Principe
L'utilisation d'une interface ncessite :
des paramtrages dans le systme d'exploitation,
un jeu de paramtres adquat.
Lorsque vous utilisez une PG via une liaison MPI, aucune autre adaptation spcifique au
systme n'est requise.
Lorsque vous utilisez un PC avec une carte MPI ou des processeurs de communication
(CP), vous devez vrifier l'affectation des interruptions et des adresses dans le "Panneau de
configuration" de Windows, pour vous assurer de l'absence de conflits d'interruptions ou de
recoupement de plages d'adresses.
Des jeux de paramtres prdfinis vous sont proposs dans la bote de dialogue afin de
simplifier le paramtrage de l'interface PG/PC.

Paramtrage de l'interface PG/PC


Procdez de la manire suivante (une description plus dtaille est donne dans l'aide en
ligne) :
1. Dans le "Panneau de configuration", effectuez un double clic sur "Paramtrage de
l'interface PG/PC".
2. Slectionnez "S7ONLINE" comme "Entre de l'application".
3. Slectionnez le jeu de paramtres souhait dans la liste "Jeux de paramtres utiliss". Si
le jeu de paramtres souhait ne figure pas dans la liste propose, vous devez d'abord
installer un module ou un protocole en cliquant sur le bouton "Slectionner". Le jeu de
paramtres est alors automatiquement cr.
-

Si vous slectionnez une interface avec dtection automatique des paramtres de


bus, (par exemple une carte MPI-ISA (Auto)), vous pouvez connecter la PG ou le PC
au rseau MPI ou PROFIBUS sans devoir slectionner ces paramtres de bus. Pour
des vitesses de transmission infrieures 187,5 kBit/s, des temps d'attente allant
jusqu' une minute ne sont pas exclus.
Condition pour la dtection automatique : les matres connects au bus rpartissent
les paramtres de bus de manire cyclique ; touts les nouveaux composants MPI le
font ; la rpartition cyclique des paramtres de bus ne doit pas tre dsactive pour
les sous-rseaux PROFIBUS (paramtrage par dfaut du rseau PROFIBUS).

Lorsque vous slectionnez une interface sans dtection automatique des paramtres
de bus, vous pouvez afficher les paramtres afin de les adapter au sous-rseau.

Des modifications sont galement indispensables en cas de conflit avec d'autres


paramtrages (par exemple, affectation d'interruptions ou d'adresses). Dans ce cas,
effectuez les modifications requises en utilisant la fonction d'ajout de nouveau matriel et le
panneau de configuration de Windows (voir ci-aprs).

Avertissement
Ne supprimez en aucun cas le jeu de paramtres "TCP/IP" ventuellement prsent !
Vous risqueriez de perturber l'excution des autres applications.

Programmer avec STEP 7 V5.1


A5E00069874-03

2-11

Installation et autorisation

Contrle de l'affectation des interruptions et adresses


Lorsque vous utilisez un PC avec carte MPI, vous devez absolument vrifier si l'interruption
et la plage d'adresses prdfinies sont libres et, si ce n'est pas le cas, choisir une
interruption et une plage d'adresses libres.

Windows 95/98
Vous pouvez visualiser les affectations en vigueur sous Windows 95/98 de la manire
suivante :
1. Ouvrez l'icne "Systme" dans le "Panneau de configuration" et choisissez l'onglet
"Gestionnaire de priphriques" dans la bote de dialogue qui apparat.
2. Slectionnez l'entre "Ordinateur" dans la liste affiche et cliquez sur le bouton
"Proprits".
3. La bote de dialogue suivante vous permet d'afficher la liste des interruptions affectes
(IRQ) ou celle des plages d'adresses affectes (Entres/Sorties) en slectionnant l'option
correspondante.

Windows NT
Sous Windows NT, vous pouvez
afficher le paramtrage des ressources sous Dmarrer > Programmes > Outils
dadministration (Commun) > Diagnostic Windows NT > Ressources,
modifier les ressources sous Interface PG/PC > Installer > Ressources.

Windows 2000
Sous Windows 2000, vous pouvez afficher les ressources via
Panneau de configuration > Administrative Tools > Gestion de l'ordinateur > Outils
systme > Informations systme > Ressources matrielles.

Diffrences entre Windows 9x et Windows NT/2000


Sous Windows NT/2000, lattribution dinterruptions, de plages dadresses et dautres
ressources doit tre ralise dans une bote de dialogue qui lui est propre (vous en
trouverez une description dtaille dans l'aide en ligne).

2.3
2.3.1

Dsinstallation de STEP 7
Dsinstallation de STEP 7
Utilisez la procdure de dsinstallation courante sous Windows :
1. Lancez, sous Windows, le dialogue d'installation de logiciel en effectuant un double clic
sur l'icne "Ajout/Suppression de programmes" dans le "Panneau de configuration".
2. Slectionnez l'entre STEP 7 dans la liste affiche des logiciels installs. Cliquez sur le
bouton de suppression du logiciel.
3. Si des botes de dialogue de suppression de fichiers autoriss apparaissent, cliquez sur
le bouton "Non" en cas de doute.

2-12

Programmer avec STEP 7 V5.1


A5E00069874-03

3.1

Conception dune solution dautomatisation

Conception dune solution dautomatisation


Ce chapitre donne des informations pour l'excution des tches fondamentales ncessaires
la planification d'une solution d'automatisation pour un automate programmable (AP). Un
exemple d'automatisation de processus de mlange industriel vous explique comment
procder tape par tape.
Il existe de nombreuses mthodes pour concevoir une solution d'automatisation. La figure
ci-aprs montre la marche suivre fondamentale que vous pouvez appliquer tout projet.

Subdivision du processus
Description des diffrentes zones fonctionelles
Dfinition des exigences en matire de scurit
Description des lments de signalisation et de commande requis
Cration des schmas de configuration pour lautomate programmable

Programmer avec STEP 7 V5.1


A5E00069874-03

3-1

Conception dune solution dautomatisation

3.2

Subdivision du processus en tches et zones


Un processus d'automatisation est constitu de diffrentes tches. Il est possible de dfinir
mme le processus le plus complexe en dterminant des zones cohrentes au sein du
processus et en subdivisant ces dernires en tches partielles plus petites.
L'exemple suivant vous montre, en se basant sur un processus de mlange industriel,
comment structurer un processus en zones fonctionnelles et en tches individuelles.

Exemple "Processus de mlange industriel


M

(5)
(1)

(2)

(3)

(4)

Substance A

(1)

(6)

(2)

(3)
M

Substance B
(1)
(2)
(3)
(4)
(5)
(6)
(7)

3-2

(7)

Soupape dadmission
Pompe dalimentation
Soupape dalimentation
Capteur de dbit
Moteur mlangeur
Commutateurs de mesure du niveau
Commutateur magntique - Soupape de vidange

Programmer avec STEP 7 V5.1


A5E00069874-03

Conception dune solution dautomatisation

Identification des zones du processus


Une fois le processus commander dfini, dcomposez le projet en groupes ou zones
apparentes.

Zone : Substance A
M

Zone : Rservoir
mlangeur
(1)

(2)

(3)

(5)

(4)

(6)

Zone : Substance B
M

(1)

(2)

(3)

Zone : Vidange
M

(1)
(2)
(3)
(4)
(5)
(6)
(7)

Soupape dadmission
Pompe dalimentation
Soupape dalimentation
Capteur de dbit
Moteur mlangeur
Commutateurs de niveau du rservoir
Soupape de vidange

(7)

Comme chaque zone est son tour subdivise en tches plus petites, les tches
ncessaires pour commander la partie correspondante du processus ne sont pas trs
complexes.
Dans notre exemple de mlangeur industriel, nous pouvons identifier quatre zones (voir le
tableau suivant). La zone pour la substance A ncessite le mme quipement que la zone
pour la substance B.
Zone fonctionnelle

Equipement associ

Substance A

Pompe dalimentation pour la substance A


Soupape dadmission pour la substance A
Soupape dalimentation pour la substance A
Capteur de dbit pour la substance A

Substance B

Pompe d'alimentation pour la substance B


Soupape d'admission pour la substance B
Soupape d'alimentation pour la substance B
Capteur de dbit pour la substance B

Rservoir mlangeur

Moteur mlangeur
Commutateurs de mesure du niveau

Vidange

Programmer avec STEP 7 V5.1


A5E00069874-03

Soupape de vidange

3-3

Conception dune solution dautomatisation

3.3

Description des diffrentes zones fonctionnelles


Lorsque vous dcrivez chaque zone et chaque tche dans votre processus, vous dfinissez
non seulement le fonctionnement de chaque zone, mais galement les diffrents lments
commandant cette zone, savoir :
les entres et sorties logiques, mcaniques et lectriques pour chaque tche,
les verrouillages et les relations de dpendance entre les diffrentes tches.
Notre exemple de processus de mlange industriel fait appel des pompes, des moteurs et
des soupapes. Il faut dcrire chacun de ces lments prcisment afin d'identifier leurs
caractristiques de fonctionnement et le type des verrouillages ncessaires pendant
l'exploitation. Les tableaux suivants fournissent des modles de description de l'quipement
utilis dans le mlangeur industriel pris en exemple. Vous pouvez galement vous servir de
ces descriptions pour vous procurer l'quipement ncessaire.
Substances A et B : moteurs des pompes dalimentation
1. Les pompes d'alimentation amnent les substances A et B au rservoir mlangeur.

Dbit : 400 l par minute

Puissance : 100 KW pour 1200 tours/min

2. Le dmarrage et l'arrt des pompes sont commands partir d'un poste d'opration situ
proximit du rservoir mlangeur. Le nombre de dmarrages est comptabilis des fins de
maintenance. Il est possible de remettre zro le compteur et l'indicateur l'aide d'un mme
bouton-poussoir.
3. Les conditions de validation sont les suivantes :

Le rservoir mlangeur n'est pas plein.

La soupape de vidange du rservoir mlangeur est ferme.

L'arrt d'urgence n'est pas activ.

4. Les conditions d'arrt sont les suivantes :

Le capteur de dbit ne signale pas de dbit 7 s aprs le dclenchement du moteur des pompes.

Le capteur de dbit ne signale plus de dbit pendant le fonctionnement.

Substances A et B : soupapes dadmission et dalimentation


1. Les soupapes d'admission et d'alimentation pour les substances A et B permettent ou
empchent l'arrive des substances dans le rservoir mlangeur. Ces soupapes comportent un
commutateur magntique avec rappel ressort.

La soupape est ouverte lorsque le commutateur magntique est activ.

La soupape est ferme lorsque le commutateur magntique est dsactiv.

2. Les soupapes d'admission et d'alimentation sont commandes par le programme utilisateur.


3. La condition de validation est la suivante :

Le moteur de la pompe d'alimentation fonctionne pendant une seconde au moins.

4. Les conditions d'arrt sont les suivantes :

3-4

Le capteur de dbit ne signale pas de dbit.

Programmer avec STEP 7 V5.1


A5E00069874-03

Conception dune solution dautomatisation

Moteur mlangeur
1. Le moteur mlangeur mlange les substances A et B dans le rservoir mlangeur.

Puissance : 100 KW pour 1200 tours/min

2. Le dmarrage et l'arrt du moteur mlangeur sont commands partir d'un poste d'opration
situ proximit du rservoir mlangeur. Le nombre de dmarrages est comptabilis des fins
de maintenance. Il est possible de remettre zro le compteur et l'indicateur l'aide d'un mme
bouton-poussoir.
3. Les conditions de validation sont les suivantes :

Le capteur de niveau n'indique pas "Rservoir en dessous du minimum".

La soupape de vidange du rservoir mlangeur est ferme.

L'arrt d'urgence n'est pas activ.

4. Les conditions d'arrt sont les suivantes :

Le capteur de dbit ne signale pas que le rgime nominal est atteint au plus tard 10 secondes
aprs le dclenchement du moteur des pompes.

Soupape de vidange
1. La soupape de vidange permet de vidanger le mlange (par gravitation) afin de l'amener
l'tape suivante du processus. Cette soupape comporte un commutateur magntique avec
rappel ressort.

Si le commutateur magntique est activ, la soupape de vidange est ouverte.

Si le commutateur magntique est dsactiv, la soupape de vidange est ferme.

2. L'ouverture et la fermeture de la soupape de vidange sont commandes partir du poste


d'opration.
3. La soupape de vidange peut tre ouverte dans les conditions suivantes :

Le moteur mlangeur est l'arrt.

Le capteur de niveau ne signale pas "Rservoir vide".

L'arrt d'urgence n'est pas activ.

4. La condition d'arrt est la suivante :

Le capteur de niveau signale "Rservoir vide".

Commutateurs de mesure du niveau


1. Les commutateurs de niveau informent sur le niveau dans le rservoir et servent galement au
verrouillage des pompes d'alimentation et du moteur mlangeur.

Programmer avec STEP 7 V5.1


A5E00069874-03

3-5

Conception dune solution dautomatisation

3.4

Liste des entres, sorties et entres/sorties


Aprs avoir dcrit physiquement chaque appareil commander, vous devez crer des
diagrammes d'entres/sorties pour chaque appareil ou zone.

Diagramme dentres/sorties
Entre 1

Sortie 1

Entre n
Entre/sortie 1

Appareil

Sortie n

Entre/sortie n

Ces diagrammes correspondent aux blocs de code programmer.

3.5

Cration d'un diagramme d'entres/sorties pour les moteurs


Notre exemple de processus de mlange industriel fait appel deux pompes d'alimentation
et un moteur mlangeur. La commande des diffrents moteurs se fait via un bloc "Moteur"
identique pour les trois appareils. Ce bloc requiert six entres : deux entres pour le
dmarrage et l'arrt du moteur, une entre pour la remise zro de l'indicateur de
maintenance, une entre pour le signal en retour du moteur (moteur en marche/moteur
arrt), une entre pour l'intervalle de temps durant lequel doit parvenir le signal en retour et
une entre pour le numro de la temporisation utilise pour mesurer le temps.
Ce bloc de code ncessite en outre quatre sorties : deux soties pour l'indication de l'tat de
fonctionnement du moteur, une sortie pour la signalisation d'erreurs et une sortie indiquant
qu'il faut effectuer la maintenance du moteur.
Ce bloc comporte galement un paramtre d'entre/sortie qui sert commander le moteur
mais est aussi trait et modifi dans le programme du bloc "Moteur".
Diagramme dentres/sorties du bloc Moteur
Start

Fault

Stop

Start_Dsp

Response

Stop_Dsp

Reset_Maint

Moteur

Maint

Timer_No
Response_Time

Motor

3-6

Programmer avec STEP 7 V5.1


A5E00069874-03

Conception dune solution dautomatisation

3.6

Cration d'un diagramme d'entres/sorties pour les


soupapes
La commande des diffrentes soupapes se fait via un bloc "Soupape" identique pour toutes
les soupapes utilises. Ce bloc de code comporte deux entres: une entre pour l'ouverture
et une entre pour la fermeture de la soupape. Il ncessite en outre deux sorties: une sortie
signale que la soupape est ouverte et l'autre que la soupape est ferme.
Ce bloc comporte galement un paramtre d'entre/sortie qui sert commander la soupape
mais est aussi trait et modifi dans le programme du bloc "Soupape".

Diagramme dentres/sorties pour Soupapes


Open

Dsp_Open

Close

Dsp_Closed

Soupape

Valve

Programmer avec STEP 7 V5.1


A5E00069874-03

3-7

Conception dune solution dautomatisation

3.7

Dfinition des exigences en matire de scurit


Choisissez les lments ncessaires pour garantir la scurit du processus, en accord avec
les exigences lgales et la ligne suivie par votre entreprise. Prcisez, dans votre description,
les influences qu'exercent ces lments de scurit sur les zones de votre processus.

Dfinition des exigences en matire de scurit


Dterminez les appareils qui ncessitent, pour des raisons de scurit, des circuits cbls.
Ces circuits de scurit fonctionnent, par dfinition, indpendamment de l'automate
programmable (bien qu'ils disposent, en gnral, d'une interface d'entre/sortie pour assurer
la coordination avec le programme utilisateur). En principe, vous configurez une matrice
pour relier chaque actionneur une zone d'arrt d'urgence propre. Cette matrice constitue
alors la base pour les schmas des circuits de scurit.
Procdez comme suit pour concevoir les dispositifs de scurit :
Identifiez les verrouillages logiques et mcaniques ou lectriques entre les diffrentes
parties de l'automatisme.
Concevez les circuits permettant de commander manuellement en cas d'urgence les
appareils utiliss dans le processus.
Dterminez les autres exigences relatives la scurit assurant un droulement sr du
processus.

Cration d'un circuit de scurit


Le mlangeur industriel pris comme processus-exemple fait appel la logique suivante pour
son circuit de scurit :
Un commutateur d'arrt d'urgence arrte les appareils suivants indpendamment de
l'automate programmable :
-

Pompe d'alimentation pour la substance A

Pompe d'alimentation pour la substance B

Moteur mlangeur

Soupapes.

Ce commutateur d'arrt d'urgence est situ sur le poste d'opration.


Une entre de l'automatisme reflte l'tat du commutateur d'arrt d'urgence.

3-8

Programmer avec STEP 7 V5.1


A5E00069874-03

Conception dune solution dautomatisation

3.8

Description des lments de signalisation et de commande


requis
Tout processus ncessite un systme de contrle et de commande permettant l'homme
d'intervenir dans le processus. La mise au point de ce poste d'opration fait aussi partie des
spcifications de conception.

Dfinition d'un poste d'opration


Dans notre exemple de mlangeur industriel, chaque appareil dmarre ou s'arrte par
l'intermdiaire d'un commutateur situ sur le poste d'opration. Ce poste comporte des
indicateurs montrant l'tat de fonctionnement (voir la figure suivante).

Subst. A
Dmarrer

Subst. B
Dmarrer

Mlangeur
Dmarrer

Subst. A
Arrter

Subst. B
Arrter

Mlangeur
Arrter

Rservoir
plein

Rservoir
sous minimum

Ouvrir
vidange

Fermer
vidange

Mettre 0 indicateur de maintenance

Maintenance
pompe A

Maintenance
pompe B

Maintenance
mlangeur

Rservoir
vide

ARRET DURGENCE

Il dispose galement de lampes de signalisation pour les appareils devant faire l'objet d'une
maintenance aprs un nombre donn de dmarrages et d'un bouton d'arrt d'urgence
arrtant immdiatement le processus. Sur le poste d'opration se trouve galement un
bouton de remise zro pour l'indicateur de maintenance des trois moteurs. Il vous permet
d'teindre les lampes de signalisation de maintenance pour les moteurs ayant besoin d'une
maintenance et de mettre zro les valeurs correspondantes des compteurs pour l'intervalle
entre les maintenances.

Programmer avec STEP 7 V5.1


A5E00069874-03

3-9

Conception dune solution dautomatisation

3.9

Cration du schma de configuration


Dterminez, une fois les exigences de conception documentes, l'quipement de
commande ncessaire pour ce projet.
En dcidant des modules qui seront utiliss, vous dterminez la structure de votre automate
programmable. Crez un schma de configuration dans lequel vous spcifiez les points
suivants :
type de CPU,
nombre et type des modules de signaux,
configuration des entres et sorties physiques.
La figure suivante montre l'exemple d'une configuration S7 pour le mlangeur industriel.

CPU S7-300

Module

Module

Module

dentres

de sorties

de sorties

TOR

TOR

TOR

E 0.0

A 4.0

A 8.0

E 1.7

A 5.7

A 9.7

Circuit
darrt
durgence
Poste
dopration
Processus de mlange industriel

3-10

Programmer avec STEP 7 V5.1


A5E00069874-03

4.1

Principes de conception dune structure de


programme

Programmes dans une CPU


Deux programmes diffrents s'excutent dans une CPU :
le systme d'exploitation et
le programme utilisateur.

Systme d'exploitation
Le systme d'exploitation, contenu dans chaque CPU, organise toutes les fonctions et
procdures dans la CPU qui ne sont pas lies une tche d'automatisation spcifique. Ses
tches sont les suivantes :
le droulement du dmarrage et du redmarrage,
l'actualisation de la mmoire image des entres et l'mission de la mmoire image des
sorties,
l'appel du programme utilisateur,
l'enregistrement des alarmes et l'appel des OB d'alarme,
la dtection et le traitement d'erreurs,
la gestion des zones de mmoire,
la communication avec des consoles de programmation et d'autres partenaires de
communication.
La modification des paramtres par dfaut du systme d'exploitation permet d'influer sur le
comportement de la CPU dans des domaines prcis.

Programme utilisateur
Vous devez crer votre programme utilisateur et le charger dans la CPU. Il contient toutes
les fonctions ncessaires au traitement de votre tche d'automatisation spcifique. Il doit
entre autres :
dterminer les conditions pour le dmarrage et le redmarrage de la CPU (par exemple,
initialiser des signaux),
traiter des donnes du processus (par exemple, combiner des signaux binaires, lire et
exploiter des valeurs analogiques, dfinir des signaux binaires pour la sortie, crire des
valeurs analogiques),
ragir aux alarmes,
traiter les perturbations dans le droulement normal du programme.

Programmer avec STEP 7 V5.1


A5E00069874-03

4-1

Principes de conception dune structure de programme

4.2
4.2.1

Blocs dans le programme utilisateur


Blocs dans le programme utilisateur
Le logiciel de programmation STEP 7 vous permet de structurer votre programme utilisateur,
c'est--dire de le subdiviser en diffrentes parties autonomes. Il en rsulte 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 vous pouvez l'excuter section par section,
faciliter la mise en service.
Dans notre exemple de processus de mlange industriel, vous avez appris subdiviser
votre processus d'automatisation en diffrentes tches. Les parties d'un programme
utilisateur structur correspondent ces diffrentes tches ; il s'agit des blocs du
programme.

Types de bloc
Vous pouvez utiliser diffrents types de bloc dans un programme utilisateur S7 :
Bloc

Brve description de la fonction

Pour plus de dtails, voir

Blocs dorganisation (OB)

Les OB dterminent la structure du


programme utilisateur.

Blocs d'organisation et
structure du programme

Blocs fonctionnels
systme (SFB) et
fonctions systme (SFC)

Les SFB et SFC sont intgrs la CPU


S7 et vous permettent de raliser
quelques fonctions systmes
importantes.

Blocs fonctionnels systme


(SFB) et fonctions systme
(SFC)

Blocs fonctionnels (FB)

Les FB sont des blocs avec "mmoire"


que vous programmez vous-mme.

Blocs fonctionnels (FB)

Fonctions (FC)

Les FC contiennent des routines de


programmes pour les fonctions
frquemment utilises.

Fonctions (FC)

Blocs de donnes
d'instance (DB d'instance)

Les DB d'instance sont affects au bloc


FB/SFB appel. Ils sont gnrs
automatiquement lors de la compilation.

Blocs de donnes
d'instance

Blocs de donnes (DB)

Les DB sont des zones de donnes


Blocs de donnes globaux
dans lesquelles l'on enregistre les
(DB)
donnes utilisateur. Outre les donnes
affectes respectivement un bloc
fonctionnel, vous pouvez dfinir des
donnes globales utilisables par tous les
blocs.

Les OB, FB, SFB, FC et SFC contiennent des parties de programme et sont de ce fait
galement dsigns comme blocs de code. Le nombre de blocs autoriss par type de bloc
ainsi que la longueur maximale de chaque bloc dpendent de la CPU.

4-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Principes de conception dune structure de programme

4.2.2

Blocs dorganisation et structure du programme


Les blocs d'organisation (OB) constituent l'interface entre le systme d'exploitation et le
programme utilisateur. Ils sont appels par le systme d'exploitation et grent le traitement
de programme cyclique et dclench par alarme, ainsi que le comportement la mise en
route de l'automate programmable et le traitement des erreurs. Vous pouvez programmer les
blocs d'organisation et dterminer ainsi le comportement de la CPU.

Priorit des blocs d'organisation


Les blocs d'organisation dfinissent l'ordre (vnements de dclenchement) dans lequel les
diffrentes parties du programme sont traites. L'excution 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
leve interrompent les OB de priorit plus faible. La priorit la plus faible est celle de l'OB
d'arrire-plan.

Types dalarme et classes de priorit


On appelle alarmes les vnements qui dclenchent l'appel d'un OB donn. Le tableau
suivant prsente les types d'alarme pour STEP 7 et la priorit des blocs d'organisation
associs. Tous les blocs d'organisation indiqus et toutes leurs classes de priotit ne sont
pas contenus dans toutes les CPU S7 (voir le manuel "Systme d'automatisation S7-300,
Installation et configuration - Caractristiques des CPU" ainsi que le manuel de rfrence
"Systmes d'automatisation S7-400, M7-400 - Caractristiques des modules").
Type dalarme

Bloc dorganisation

Classe de priorit
(prdfinie)

Pour plus de dtails, voir

Cycle libre

OB1

Bloc dorganisation pour le


traitement de programme
cyclique (OB1)

Alarmes horaires

OB10 OB17

Blocs d'organisation pour l'alarme


horaire (OB10 OB17)

Alarmes temporises OB20

OB21

Blocs d'organisation pour l'alarme


temporise (OB20 OB23)

OB22

OB23

OB30

OB31

OB32

OB33

10

OB34

11

OB35

12

OB36

13

OB37

14

OB38

15

Alarmes cycliques

Programmer avec STEP 7 V5.1


A5E00069874-03

Blocs d'organisation pour l'alarme


cyclique (OB30 OB38)

4-3

Principes de conception dune structure de programme

Type dalarme

Bloc dorganisation

Classe de priorit
(prdfinie)

Pour plus de dtails, voir

Alarmes de
processus

OB40

16

OB41

17

Blocs dorganisation pour lalarme


de processus (OB40 OB47)

OB42

18

OB43

19

OB44

20

OB45

21

OB46

22

OB47

23

Alarme
multiprocesseur

OB60 multiprocesseur

25

Mode multiprocesseur fonctionnement synchrone de


plusieurs CPU

Erreur de
redondance

OB70 Erreur de
redondance de
priphrie (uniquement
dans les systmes H)

25

Blocs d'organisation pour le


traitement d'erreurs (OB70
OB87 / OB121 OB122)

28

OB72 Erreur de
redondance de CPU
(uniquement dans les
systmes H)
OB73 Erreur de
redondance de
communication
Erreurs asynchrones OB80 Erreur de temps
OB81 Erreur
d'alimentation
OB82 Alarme de
diagnostic
OB83 Alarme de
dbrochage/enfichage

26
(ou 28 si l'OB
d'erreur
asynchrone figure
dans le programme
de mise en route)

Blocs d'organisation pour le


traitement d'erreurs (OB70
OB87 / OB121 OB122)

OB84 Erreur matrielle


CPU
OB85 Erreur d'excution
du programme
OB86 Dfaillance d'unit
OB87 Erreur de
communication
Cycle en arrire-plan OB90

29

Mise en route

OB100 Dmarrage
chaud

27

OB101 Redmarrage

27

27

Bloc d'organisation pour


l'excution du programme en
arrire-plan (OB90)
Blocs d'organisation pour la mise
en route (OB100/OB101/OB102)

OB102 Dmarrage
froid
Erreurs synchrones

OB121 Erreur de
programmation
OB122 Erreur d'accs
la priphrie

Priorit de l'OB
l'origine de l'erreur

Blocs d'organisation pour le


traitement d'erreurs (OB70
OB87 / OB121 OB122)

1) A la classe de priorit 29 correspond la priorit 0.29. La priorit du cycle en arrire-plan et donc infrieure celle du cycle libre.

4-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Principes de conception dune structure de programme

Modification de la priorit
STEP 7 permet de paramtrer les alarmes. Le paramtrage vous permet par exemple de
dsactiver des OB d'alarme ou de modifier des classes de priorit dans les blocs de
paramtres : alarmes horaires, alarmes temporises, alarmes cycliques et alarmes de
processus.
Vous ne pouvez pas modifier la priorit des blocs d'organisation dans les CPU S7-300.
Dans les CPU S7-400 (ainsi que la CPU 318), vous pouvez modifier la priorit des blocs
d'organisation suivants avec STEP 7 :
OB10 OB47,
OB70 OB72 (uniquement les CPU H) et OB81 OB87 l'tat de marche (RUN).
Classes de priorit autorise :
les classes de priorit 2 23 pour les OB10 OB47,
les classes de priorit 2 28 pour les OB70 OB72 ainsi que
les classes de priorit 24 26 pour les OB81 OB87.
Vous pouvez affecter la mme priorit plusieurs OB. Les OB de priorit identique sont
traits dans l'ordre d'apparition de leurs vnements dclencheurs.
Les OB d'erreur dclenchs en cas d'erreurs synchrones sont traits selon la mme classe
de priorit que celle du bloc en cours d'excution lors de la dtection de l'erreur.

Donnes locales
Vous pouvez dclarer des donnes locales temporaires lors de la cration de blocs de code
(OB, FC, FB). La zone de donnes locales disponible dans la CPU est partage entre les
diffrentes classes de priorit.
Dans les CPU S7-400, vous pouvez, avec STEP 7, modifier le nombre de donnes locales
par classe de priorit dans le bloc de paramtres "Classes de priorit".

Informations de dclenchement d'un OB


Chaque bloc d'organisation dispose d'informations de dclenchement de 20 octets de
donnes locales que le systme d'exploitation transmet lors du lancement d'un OB. Ces
informations prcisent l'vnement ayant dclench l'OB, la date et l'heure du
dclenchement de l'OB, les erreurs apparues et les vnements de diagnostic.
Les informations de dclenchement de l'OB40 d'alarme de processus contiennent, par
exemple, l'adresse du module ayant gnr l'alarme.

Programmer avec STEP 7 V5.1


A5E00069874-03

4-5

Principes de conception dune structure de programme

OB d'alarme dsactivs
Si vous choisissez la classe de priorit 0 ou affectez moins de vingt octets de donnes
locales une classe de priorit, l'OB d'alarme correspondant est dsactiv. Les OB d'alarme
dsactivs :
ne peuvent pas tre copis et insrs dans le programme utilisateur l'tat de
fonctionnement "Marche" (RUN),
peuvent certes tre copis et insrs dans le programme utilisateur l'tat "Arrt"
(STOP), mais entranent lors du dmarrage de la CPU l'interruption de la mise en route et
gnrent une entre dans la mmoire tampon de diagnostic.
La dsactivation des OB d'alarme inutiles augmente la zone de donnes locales libre
disponible qui peut donc servir la sauvegarde de donnes temporaires dans d'autres
classes de priorit.

Traitement de programme cyclique


Le traitement de programme cyclique constitue le traitement normal pour les automates
programmables. Ceci signifie que le systme d'exploitation parcourt une boucle de
programme (le cycle) et appelle le bloc d'organisation OB1 dans le programme principal une
fois par boucle. Le programme utilisateur dans le bloc OB1 est donc excut cycliquement.

Systme dexploitation

Programme utilisateur

Lancement

Cycle

4-6

Programme
principal

Programmer avec STEP 7 V5.1


A5E00069874-03

Principes de conception dune structure de programme

Traitement de programme dclench par vnement


Le traitement de programme cyclique peut tre interrompu par des vnements
dclencheurs prcis : les alarmes. En prsence d'un tel vnement, le bloc en cours
d'excution est interrompu la fin de l'instruction et le bloc d'organisation associ
l'vnement dclencheur est trait. Le traitement du programme cyclique reprend ensuite au
point d'interruption.

Systme dexploitation

Programme utilisateur

Lancement
Programme
de mise en
route

Cycle
<Alarme>

<Erreur>

Programme
principal
Interruption

Interruption

Programme
dalarme

Traitement
derreur

Vous avez ainsi la possibilit de ne traiter qu'en cas de besoin les parties du programme
utilisateur qui ne doivent pas l'tre cycliquement. Vous pouvez subdiviser votre programme
en parties que vous rpartissez dans diffrents blocs d'organisation. Il est ainsi recommand
d'utiliser un OB qui sera dclench sur vnement en raction un signal se prsentant peu
souvant (par exemple un signal de capteur indiquant qu'une cuve est pleine). L'apparition de
l'vnement dclenche alors le traitement de cette partie de programme.

Programmer avec STEP 7 V5.1


A5E00069874-03

4-7

Principes de conception dune structure de programme

Programmation linaire ou structure


Vous pouvez crire votre programme utilisateur complet dans l'OB1 (programmation
linaire). Cela n'est toutefois recommand que pour des programmes simples s'excutant
sur des CPU S7-300 avec une mmoire peu importante.
Les automatismes complexes seront mieux traits si vous les subdivisez en parties plus
petites qui correspondent aux fonctions technologiques du processus d'automatisation ou
qui peuvent tre utilises plusieurs fois. Dans le programme utilisateur, ces tches partielles
sont reprsentes par des parties de programme correspondantes : les blocs
(programmation structure).

Programmation linaire

Programme
principal = OB 1

Programmation structure

Programme
principal

OB 1
FB 1

FC 1

4-8

Programmer avec STEP 7 V5.1


A5E00069874-03

Principes de conception dune structure de programme

4.2.3

Hirarchie d'appel dans le programme utilisateur


Pour faire fonctionner le programme utilisateur, vous devez appeler les blocs qui le
composent. C'est ce que vous ralisez l'aide d'oprations STEP 7 spciales, les appels de
blocs que vous ne pouvez programmer et dmarrer que dans des blocs de code.

Ordre et profondeur dimbrication


On appelle hirarchie d'appel l'ordre et l'imbrication des appels de blocs. Le niveau de
profondeur autoris pour les imbrications dpend de la CPU.
L'exemple de la figure suivante illustre l'ordre et l'imbrication des appels de blocs dans un
cycle de traitement.
Profondeur dimbrication

Systme dexploitation

Dbut
du cycle

OB1

FB1

FC1

DB dinstance 1
FB2

FB1

SFC1

DB dinstance 2 DB dinstance 1
DB1
FC1

Rgles relatives l'ordre de cration des blocs :


Vous crez les blocs de haut en bas, ce qui signifie que vous commencez par la range
de blocs suprieure.
Tout bloc appel doit dj exister, ce qui signifie que dans une range de blocs, le sens
de cration est de droite gauche.
En dernier, vous crez l'OB1.

La transposition de ces rgles signifie l'ordre de cration suivant dans l'exemple considr :
FC1 > FB1 + DB d'instance 1 > DB1 > SFC1 > FB2 + DB d'instance 2 > OB1

Nota
Lorsque la profondeur dimbrication est trop grande, la pile des donnes locales risque de
dborder (voir aussi Pile des donnes locales).

Programmer avec STEP 7 V5.1


A5E00069874-03

4-9

Principes de conception dune structure de programme

Appels de blocs
La figure suivante montre comment s'excute un appel de bloc au sein d'un programme
utilisateur : le programme appelle le deuxime bloc dont les oprations sont alors traites
dans leur intgralit. Une fois le bloc appel achev, le traitement se poursuit avec
l'opration suivant l'appel de bloc dans le bloc appelant.
Bloc appelant
(OB, FB, FC)

Bloc appel
(FB, FC, SFB ou SFC)

Traitement du
programme
Opration appelant un
autre bloc

Traitement du
programme

Fin de bloc

Avant de programmer un bloc, vous devez dterminer les donnes que le programme doit
traiter : vous dclarez les variables du bloc.

Nota
Les paramtres OUT doivent tre dcrits chaque appel de bloc.

Nota
Le systme d'exploitation remet zro les instances du SFB3 "TP" lors d'un dmarrage
froid. Pour initialiser des instances de ce SFB aprs le dmarrage chaud, vous devez les
appeler avec PT = 0 ms dans l'OB100. C'est ce que vous pouvez par exemple obtenir avec
une routine d'initialisation dans les blocs contenant des instances de ce SFB.

4-10

Programmer avec STEP 7 V5.1


A5E00069874-03

Principes de conception dune structure de programme

4.2.4

Catgories de blocs et traitement de programme cyclique

4.2.4.1

Bloc d'organisation pour le traitement de programme cyclique (OB1)


Le traitement de programme cyclique constitue le traitement normal pour les automates
programmables. Le systme d'exploitation appelle l'OB1 cycliquement et dclenche ainsi le
traitement cyclique du programme utilisateur.

Droulement du traitement de programme cyclique


Le tableau suivant montre les phases du traitement de programme cyclique :
Phase Droulement dans les anciennes CPU

Droulement dans les nouvelles CPU


( partir de 10/98)

1.

Le systme d'exploitation dmarre la


surveillance du temps de cycle.

Le systme d'exploitation dmarre la


surveillance du temps de cycle.

2.

La CPU lit l'tat des entres dans les modules Elle crit ensuite les valeurs de la mmoire
d'entres et met jour la mmoire image des image des sorties dans les modules de
entres.
sorties.

3.

Puis, elle traite le programme utilisateur et


excute les oprations indiques dans le
programme.

La CPU lit l'tat des entres dans les


modules d'entres et met jour la mmoire
image des entres.

4.

Elle crit ensuite les valeurs de la mmoire


image des sorties dans les modules de
sorties.

Puis, elle traite le programme utilisateur et


excute les oprations indiques dans le
programme.

5.

A la fin d'un cycle, le systme d'exploitation


excute les travaux en attente, par exemple le
chargement et l'effacement de blocs ou la
rception et l'mission de donnes globales.

A la fin d'un cycle, le systme d'exploitation


excute les travaux en attente, par exemple
le chargement et l'effacement de blocs ou la
rception et l'mission de donnes globales.

6.

La CPU revient alors au dbut du cycle et


dmarre nouveau la surveillance du temps
de cycle.

La CPU revient alors au dbut du cycle et


dmarre nouveau la surveillance du temps
de cycle.

Mmoires image du processus


Pour disposer d'une image cohrente des signaux du processus pendant la dure du
traitement de programme cyclique, la CPU n'accde pas directement aux modules de
signaux lors de l'utilisation des zones d'oprandes Entres (E) et Sorties (A), mais une
zone de mmoire interne de la CPU qui contient une image des entres et sorties.

Programmation du traitement de programme cyclique


Pour programmer le traitement cyclique, vous crivez votre programme utilisateur avec
STEP 7 dans l'OB1 et les blocs qui y sont appels.
Le traitement de programme cyclique commence ds que le programme de mise en route
s'est achev sans erreur.

Programmer avec STEP 7 V5.1


A5E00069874-03

4-11

Principes de conception dune structure de programme

Possibilits d'interruption
Le traitement de programme cyclique peut tre interrompu par :
une alarme,
une commande STOP (commutateur de mode, commande de menu depuis la PG,
SFC46 STP, SFB20 STOP),
une coupure de tension secteur,
l'apparition d'une erreur de matriel ou de programme.

Temps de cycle
Le temps de cycle est le temps dont a besoin le systme d'exploitation pour le traitement du
programme cyclique ainsi que de toutes les parties de programme interrompant ce cycle
(par exemple, traitement des autres blocs d'organisation) et des activits du systme (par
exemple, mise jour de la mmoire image). Ce temps est contrl.
Ce temps (Tc) n'est pas identique chaque cycle. Les figures suivantes indiquent diffrents
temps de cycle (TZ1 TZ2) pour les anciennes et les nouvelles CPU

Temps de surveillance du cycle des CPU des versions prcdentes


Cycle en cours

&\FOHVXLYDQW

TC1

&\FOHVXLYDQW

TC2

OB10

0LVHjMRXUGHOD
PpPRLUHLPDJH

OB1

OB1

GHVHQWUpHV

0LVHjMRXUGHOD

0LVHjMRXUGHOD

PpPRLUHLPDJH

PpPRLUHLPDJH

GHVVRUWLHV

GHVHQWUpHV

OB1

0LVHjMRXUGHOD

0LVHjMRXUGHOD

PpPRLUHLPDJH

PpPRLUHLPDJH

GHVVRUWLHV

GHVHQWUpHV

OB1

Temps de cycle diffrents des nouvelles CPU (10/98)


Cycle en cours

Cycle suivant

TC1

TC2

Cycle suivant

OB10

0LVHjMRXUGHOD

0LVHjMRXUGHOD

PpPRLUHLPDJH

PpPRLUHLPDJH

GHVVRUWLHV

GHVHQWUpHV

OB1

OB1

0LVHjMRXUGHOD

0LVHjMRXUGHOD

PpPRLUHLPDJH

PpPRLUHLPDJH

GHVVRUWLHV

GHVHQWUpHV

0LVHjMRXUGHOD

OB1

PpPRLUHLPDJH
GHVVRUWLHV

Mise
mm

LOB1 est interrompu par une alarme horaire dans le cycle en cours.

4-12

Programmer avec STEP 7 V5.1


A5E00069874-03

Principes de conception dune structure de programme

Temps de cycle maximal


STEP 7 vous permet de modifier le temps de cycle maximal pris par dfaut. A l'expiration de
ce temps, soit la CPU passe l'tat de fonctionnement "Arrt", soit l'OB80 dans lequel vous
pouvez dfinir comment la CPU doit ragir cette erreur de temps est appel.

Temps de cycle minimal


STEP 7 vous permet de dfinir un temps de cycle minimal pour les CPU S7-400 et pour la
CPU 318. Ceci est recommand :
si lintervalle de temps sparant deux excutions de l'OB1 (cycle libre) doit rester
constant
afin dviter une actualisation trop frquente des mmoires image lorsque le temps de
cycle est trs court.
Les figures suivantes illustrent la fonction du temps de surveillance du cycle dans le
droulement du programme pour les anciennes et nouvelles CPU.
Temps de surveillance du cycle des CPU des versions prcdentes
Cycle en cours

Cycle suivant
Tmax
Rserve

T min
TC

T att

CP16

OB40
OB10

CP07

Mise jour
mmoire image OB1
CP01 des entres

CP29

Tmax
Tmin
Tc
Tatt
CP

OB10

Mise jour
OB1 mmoire image
des sorties

Mise jour
mmoire image OB1
des entres

OB90

OB90

OB90

= Temps de cycle maximal paramtrable


= Temps de cycle minimal paramtrable
= Temps de cycle effectif
= La diffrence entre T min et le temps de cycle effectif. Les OB dalarme peuvent tre
traits pendant ce temps.
= Classe de priorit

Programmer avec STEP 7 V5.1


A5E00069874-03

4-13

Principes de conception dune structure de programme

Temps de surveillance du cycle des nouvelles CPU (10/98)


Cycle en cours

Cycle en suivant
Tmax
Rserve

Tmin
TC

Tatt

CP16

OB40

CP07

OB10

Mise jour
mmoire
CP01 image des
sorties

Mise jour
mmoire
image des
entres

OB1

CP29

Tmax
Tmin
Tc
Tatt
CP

OB10

Mise jour
mmoire
image des
sorties

OB1

OB90

OB90

Mis
m

OB90

= Temps de cycle maximal paramtrable


= Temps de cycle minimal paramtrable
= Temps de cycle effectif
= La diffrence entre Tmin et le temps de cycle effectif. Les OB dalarme peuvent tre
traits pendant ce temps.
= Classe de priorit

Mise jour de la mmoire image


La mmoire image du processus est automatiquement mise jour lors du traitement de
programme cyclique de la CPU. Vous pouvez dsactiver cette mise jour pour les CPU
S7-400 et pour la CPU 318 :
si vous voulez au lieu de cela accder directement la priphrie ou
si vous voulez actualiser une ou plusieurs mmoires image des entres et des sorties
un autre moment l'aide des fonctions systme SFC26 UPDAT_PI et SFC27
UPDAT_PO.

Charge du cycle due la communication


Le paramtre de CPU "Charge du cycle due la communication" vous permet de
commander dans une certaine mesure la dure des processus de communication, qui
allongent toujours le temps de cycle. On appelle processus de communication, par exemple,
la transmission de donnes une autre CPU via MPI ou le chargement de blocs dclench
via PG.
Ce paramtre n'a presque pas d'influence sur les fonctions de test avec la PG qui peuvent
pourtant allonger considrablement le temps de cycle. C'est dans le mode processus qu'on
peut limiter le temps disponible pour les fonctions de test (seulement avec S7-300).

4-14

Programmer avec STEP 7 V5.1


A5E00069874-03

Principes de conception dune structure de programme

Comment le paramtre agit-il ?


Le systme d'exploitation de la CPU met continuellement la disposition de la
communication le pourcentage configur de la puissance de traitement totale de la CPU
(technique des tranches de temps). Lorsque cette puissance de traitement n'est pas
ncessaire la communication, elle est disponible pour le reste du traitement.

Effet sur le temps de cycle rel


Sans vnements asynchrones supplmentaires, le temps de cycle de l'OB1 s'allonge d'un
facteur calculable par la formule suivante :
100
100 - "Charge du cycle due la communication (%)"

Exemple 1 (pas d'vnements asynchrones en plus)


Une charge du cycle par la communication fixe 50 % peut doubler le temps de cycle de
l'OB1.
En mme temps, le temps de cycle de l'OB1 est influenc aussi par des vnements
asynchrones (tels qu'alarmes de processus ou alarmes cycliques). Le temps de cycle tant
allong par la partie rserve la communication, il se produira statistiquement parlant
plus d'vnements asynchrones dans un cycle d'OB1, ce qui allonge encore ce dernier. Cet
allongement dpend du nombre d'vnements survenant par cycle d'OB1 et de la dure de
traitement d'un vnement.
Exemple 2 (compte tenu des vnements asynchrones supplmentaires)
Une dure d'excution de l'OB1 de 500 ms avec une charge de communication de 50% peut
donner un temps de cycle rel allant jusqu' 1000 ms ( condition que la CPU ait toujours
assez de tches de communication traiter). Une alarme cyclique intervenant toutes les
100 ms avec une dure d'excution de 20 ms allongerait de 5*20 ms = 100 ms au total un
cycle sans charge de communication, ce qui donnerait un temps de cycle rel de 600 ms.
Puisqu'une alarme cyclique interrompt aussi la communication, elle allongera le temps de
cycle de 10 * 20 ms avec une charge de communication de 50%, C'est--dire que le temps
de cycle rel sera dans ce cas non pas de 1000 ms mais de 1200 ms.

Nota
Lorsque vous modifiez la valeur attribue au paramtre "Charge du cycle due la
communication", vrifiez-en les effets dans le fonctionnement de l'installation.
Tenez compte de la charge due la communication lorsque vous fixez le temps de cycle
minimal, pour viter les erreurs de temps.

Recommandations
Autant que possible, adoptez la valeur par dfaut.
Augmentez cette valeur seulement si la CPU est employe surtout des fins de
communication et que le programme utilisateur n'est pas dure critique.
Dans tous les autres cas, bornez-vous rduire cette valeur !
Passez en mode processus (seulement avec S7-300) et limitez le temps requis cet
endroit pour les fonctions de test.

Programmer avec STEP 7 V5.1


A5E00069874-03

4-15

Principes de conception dune structure de programme

4.2.4.2

Fonctions (FC)
Les fonctions font partie des blocs que vous programmez vous-mme. Une fonction est un
bloc de code sans mmoire. Les variables temporaires d'une fonction sont sauvegardes
dans la pile des donnes locales. Ces donnes sont perdues l'achvement de la fonction.
Les fonctions peuvent faire appel des blocs de donnes globaux pour la sauvegarde des
donnes.
Comme une fonction ne dispose pas de mmoire associe, vous devez toujours indiquer
des paramtres effectifs pour elle. Vous ne pouvez pas affecter de valeur initiale aux
donnes locales d'une FC.

Domaine dapplication
Une fonction contient un programme qui est excut quand cette fonction est appele par un
autre bloc de code. Vous pouvez faire appel des fonctions pour :
renvoyer une valeur de fonction au bloc appelant (exemple : fonctions mathmatiques),
excuter une fonction technologique (exemple : commande individuelle avec
combinaison binaire).

Affectation de paramtres effectifs aux paramtres formels


Un paramtre formel sert de paramtre gnrique au paramtre "rel", le paramtre effectif.
Les paramtres effectifs remplacent les paramtres formels lors de l'appel d'une FC. Vous
devez toujours affecter des paramtres effectifs aux paramtres formels d'une FC (par
exemple, le paramtre effectif "E3.6" au paramtre formel "Dmarrage"). Les paramtres
d'entre, de sortie et d'entre/sortie utiliss par la FC sont sauvegards comme pointeurs
dsignant les paramtres effectifs du bloc de code qui a appel la fonction.

4.2.4.3

Blocs fonctionnels (FB)


Les blocs fonctionnels font partie des blocs que vous programmez vous-mme. Un bloc
fonctionnel est un bloc avec rmanence. Un bloc de donnes d'instance lui est associ qui
en constitue la mmoire. Les paramtres transmis au FB ainsi que les variables statiques
sont sauvegards dans le bloc de donnes d'instance. Les variables temporaires sont
ranges dans la pile des donnes locales.
Les donnes sauvegardes dans le bloc de donnes d'instance ne sont pas perdues
l'achvement du traitement du FB. En revanche, les donnes sauvegardes dans la pile des
donnes locales le sont.

Nota
Afin d'viter des erreurs d'utilisation de FB, veuillez lire le paragraphe Types de donnes
autoriss pour la transmission de paramtres en annexe.

Domaine dapplication
Un bloc fonctionnel contient un programme qui est excut quand ce bloc fonctionnel est
appel par un autre bloc de code. Les blocs fonctionnels facilitent la programmation de
fonctions complexes souvent utilises.

4-16

Programmer avec STEP 7 V5.1


A5E00069874-03

Principes de conception dune structure de programme

FB et DB dinstance
Un bloc de donnes d'instance est associ chaque appel de bloc fonctionnel transmettant
des paramtres.
En appelant plusieurs instances d'un FB, vous pouvez piloter plusieurs appareils avec un
seul bloc fonctionnel. Un FB pour un type de moteur peut, par exemple, commander
diffrents moteurs en utilisant des donnes d'instance diffrentes pour les diffrents
moteurs. Il est possible de ranger les donnes pour chaque moteur (rgime, acclration,
cumul des temps de fonctionnement, etc.) dans un ou plusieurs DB d'instance.
La figure suivante montre les paramtres formels d'un FB qui utilise les paramtres effectifs
sauvegards dans le DB d'instance.

Paramtres formels

Paramtres effectifs

Dmarrage INT IN
Rgime INT IN
Historique DT IN_OUT
Temps_exec TIME IN_OUT

Entier (16 bits) : Dmarrage


Entier (16 bits) : Rgime
Date et heure (48 bits) :
Pointeur sur ladresse de lhistorique

Dure (32 bits) : Temps dexcution


FB 20 : Moteur

DB 202 : Moteur_2

Variables de type de donnes FB


Si votre programme utilisateur est organis de telle manire que, dans un FB, soient appels
d'autres blocs fonctionnels existant dj, vous pouvez dclarer les FB appels comme
variables statiques de type de donnes FB dans la table de dclaration des variables du FB
appelant. Vous obtenez ainsi une imbrication des variables et la concentration des donnes
d'instance dans un bloc de donnes d'instance (multi-instance).

Affectation de paramtres effectifs aux paramtres formels


Il n'est, en gnral, pas obligatoire dans STEP 7 d'affecter des paramtres effectifs aux
paramtres formels d'un FB. Des paramtres effectifs doivent toutefois tre affects :
pour un paramtre d'entre/sortie de type de donnes complexe (par exemple, STRING,
ARRAY ou DATE_AND_TIME),
pour tous les types de paramtre (par exemple, TIMER, COUNTER ou POINTER).
STEP 7 associe les paramtres effectifs aux paramtres formels de la manire suivante :
Lorsque vous indiquez des paramtres effectifs dans l'instruction d'appel, les oprations
du FB utilisent les paramtres effectifs ainsi mis disposition.
Lorsque vous n'indiquez pas de paramtres effectifs dans l'instruction d'appel, les
oprations du FB utilisent les valeurs contenues dans le DB d'instance.

Programmer avec STEP 7 V5.1


A5E00069874-03

4-17

Principes de conception dune structure de programme

Le tableau ci-aprs montre quelles variables du FB il faut affecter des paramtres effectifs.
Variables

Type de donnes
Type de donnes
simple

Type de donnes
complexe

Type de paramtre

Entre

Paramtres facultatifs

Paramtres facultatifs

Paramtres effectifs
obligatoires

Sortie

Paramtres facultatifs

Paramtres facultatifs

Paramtres effectifs
obligatoires

Entre/sortie

Paramtres facultatifs

Paramtres effectifs
obligatoires

Affectation de valeurs initiales aux paramtres formels


Vous pouvez prciser des valeurs initiales pour les paramtres formels dans la section de
dclaration du FB. Ces valeurs sont reprises dans le bloc de donnes d'instance associ au
FB.
Si vous n'affectez pas de paramtres effectifs aux paramtres formels dans l'instruction
d'appel, STEP 7 utilise les valeurs sauvegardes dans le DB d'instance. Il peut alors s'agir
de valeurs initiales que vous avez saisies dans la table de dclaration des variables du FB.
Le tableau suivant prsente les variables pour lesquelles vous pouvez indiquer une valeur
initiale. Comme les donnes temporaires ne sont pas sauvegardes aprs le traitement du
bloc, vous ne pouvez par leur affecter de valeur.
Type de donnes
Variables

Type de donnes
simple

Type de donnes
complexe

Entre

Valeur initiale
autorise

Valeur initiale
autorise

Sortie

Valeur initiale
autorise

Valeur initiale
autorise

Entre/sortie

Valeur initiale
autorise

Statique

Valeur initiale
autorise

Valeur initiale
autorise

Temporaire

4-18

Type de paramtre

Programmer avec STEP 7 V5.1


A5E00069874-03

Principes de conception dune structure de programme

4.2.4.4

Blocs de donnes d'instance


Un bloc de donnes d'instance est associ chaque appel de bloc fonctionnel transmettant
des paramtres. Ce bloc de donnes d'instance contient les paramtres effectifs et les
donnes statiques du FB. Les variables dclares dans le FB dterminent la structure du
bloc de donnes d'instance. On appelle instance l'appel d'un bloc fonctionnel. Si, par
exemple, un bloc fonctionnel est appel cinq fois dans le programme utilisateur S7, il existe
cinq instances de ce bloc.

Cration d'un DB d'instance


Le bloc fonctionnel correspondant un DB d'instance doit exister avant que vous ne criez
ce DB d'instance. Vous indiquez le numro de ce FB lors de la cration du bloc de donnes
d'instance.

Un DB dinstance pour chaque instance


Si vous associez plusieurs blocs de donnes d'instance un bloc fonctionnel commandant
un moteur, vous pourrez utiliser ce FB pour piloter diffrents moteurs.
Vous rangez les diffrentes donnes pour chaque moteur (comme, par exemple, rgime,
temps d'acclration, dure totale de fonctionnement) dans les diffrents blocs de donnes.
Selon le DB associ au FB lors de l'appel, un autre moteur est command. Ainsi, un seul
bloc fonctionnel est ncessaire pour plusieurs moteurs (voir la figure ci-aprs).

Lappel FB22, DB201


DB201 : Moteur_1 utilise les donnes pour
le moteur 1.
FB22 : Moteurs

Lappel FB22, DB202


DB202 : Moteur_2 utilise les donnes pour
le moteur 2.
Lappel FB22, DB203
DB203 : Moteur_3 utilise les donnes pour
le moteur 3.

Programmer avec STEP 7 V5.1


A5E00069874-03

4-19

Principes de conception dune structure de programme

Un DB dinstance pour plusieurs instances dun FB (multi-instances)


Vous pouvez transmettre un bloc fonctionnel les donnes d'instance pour diffrents
moteurs dans le mme DB d'instance. Pour ce faire, vous devez appeler les commandes de
moteur dans un autre FB dans la section de dclaration duquel vous dclarez des variables
statiques de type de donnes FB pour les diffrentes instances. Utiliser un seul DB
d'instance pour plusieurs instances d'un FB vous permet de gagner de l'espace mmoire et
d'optimiser l'utilisation des blocs de donnes.
Dans la figure suivante par exemple, le FB appelant est le FB21 "Traitement moteur", les
variables sont de type de donnes FB22 et les instances sont identifies par Moteur_1,
Moteur_2 et Moteur_3.

FB21 :Traitement moteur


Dclaration de variables :
stat, Moteur_1, FB22
stat, Moteur_2, FB22
stat, Moteur_3, FB22

DB100
Donnes pour
Moteur_1
Donnes pour
Moteur_2
Donnes pour
Moteur _3

Appel du FB21 dans un bloc


de code :
CALL FB21,DB100
transmet les donnes pour
Moteur_1, Moteur_2, Moteur_3
Appel du FB22 dans le FB21 :
CALL Moteur_1
CALL Moteur_2
CALL Moteur_3

FB22 : Moteurs

Le FB22 ne requiert pas de DB d'instance en propre dans cet exemple, car ses donnes
d'instance sont contenues dans le DB d'instance du FB appelant.

Un DB d'instance pour plusieurs instances de diffrents FB (multi-instances)


Vous pouvez appeler, dans un bloc fonctionnel, des instances d'autres FB dj crs. Vous
pouvez associer les donnes d'instance ncessaires pour cela au bloc de donnes
d'instance du FB appelant et n'avez ainsi pas besoin de blocs de donnes supplmentaires
pour les FB appels. Pour ces multi-instances dans un DB d'instance, vous devez dclarer,
dans la section de dclaration du FB appelant, des variables statiques avec le type de
donnes du FB appel pour les diffrentes instances. L'appel l'intrieur du FB se fait alors
sans indication de DB d'instance, mais uniquement via le nom de la variable.
Dans l'exemple de la figure, les donnes d'instance associes sont sauvegardes ensemble
dans un seul DB d'instance.

FB12 : Moteur

FB13 : Pompe

FB14 : Mlangeur
Dclaration de variables :
stat, Moteur_10, FB 12
stat, Pompe_10, FB 13

DB12 : Moteur

DB13 : Pompe

DB14
Donnes pour
Mlangeur
Donnes pour
Moteur_10
Donnes pour
Pompe_10

4-20

Accs uniquement pour FB12,


appel : CALL FB12, DB12

Accs uniquement pour FB13,


appel : CALL FB13, DB13
Accs pour FB14, FB13 et FB12,
appel :
CALL FB14,DB14
Transmet les donnes pour
Mlangeur, Moteur_10 et
Pompe_10
Appel du FB12 dans le FB14 :
CALL Moteur_10
Appel du FB13 dans le FB14 :
CALL Pompe_1

Programmer avec STEP 7 V5.1


A5E00069874-03

Principes de conception dune structure de programme

4.2.4.5

Blocs de donnes globaux (DB)


Contrairement aux blocs de code, les blocs de donnes ne contiennent pas d'instructions
STEP 7. Ils servent l'enregistrement de donnes utilisateur : ils contiennent des donnes
variables que le programme utilisateur utilise. Les blocs de donnes globaux servent
l'enregistrement de donnes utilisateur pouvant tre utilises par tous les autres blocs.
La taille des DB peut varier. Vous trouverez la taille maximale autorise dans les
descriptions de CPU /70/ et /101/.
C'est vous qui dfinissez l'organisation des blocs de donnes globaux.

DB globaux dans le programme utilisateur


Lorsqu'il est appel, un bloc de code (FC, FB ou OB) peut occuper temporairement de
l'espace mmoire dans la zone des donnes locales (pile L). En plus de cette zone de
donnes locales, ce bloc de code peut ouvrir une autre zone de mmoire sous la forme d'un
DB. Contrairement aux donnes dans la zone des donnes locales, les donnes du DB ne
sont pas effaces la fermeture du DB ou la fin du traitement du bloc de code
correspondant.
Tout FB, FC ou OB peut lire les donnes contenues dans un DB global ou crire des
donnes dans un DB global. Ces donnes sont conserves dans le blocs de donnes mme
lorsqu'on quitte le DB.
Il est possible d'ouvrir simultanment un DB global et un DB d'instance. La figure ci-aprs
prsente les diffrents accs aux blocs de donnes.

FC10

DB
global
(DB20)

Accs pour tous les blocs

FC11

FB12

Programmer avec STEP 7 V5.1


A5E00069874-03

DB dinstance
(DB112)

Accs uniquement pour


le FB12

4-21

Principes de conception dune structure de programme

4.2.4.6

Blocs fonctionnels systme (SFB) et fonctions systme (SFC)

Blocs dj programms
Il n'est pas ncessaire que vous programmiez vous-mme chaque fonction. En effet, les
CPU S7 vous proposent des blocs tout prts que vous pouvez appeler partir du
programme utilisateur.
De plus amples informations ce sujet sont donnes dans l'aide de rfrence sur les blocs
systme et fonctions systme (voir Sauts dans les descriptions de langage, aides sur les
blocs, attributs systme).

Blocs fonctionnels systme


Un bloc fonctionnel systme (SFB) est un bloc fonctionnel intgr la CPU S7. Comme les
SFB font partie du systme d'exploitation, ils ne sont pas chargs en tant que partie du
programme. Comme les FB, les SFB sont des blocs avec mmoire. Vous devez donc
galement crer pour les SFB des blocs de donnes d'instance que vous chargez dans la
CPU en tant que partie du programme.
Les CPU S7 proposent des SFB :
pour la communication via des liaisons configures,
pour des fonctions spciales intgres (par exemple, SFB29 HS_COUNT dans la
CPU 312 IFM et la CPU 314 IFM).

Fonctions systme
Une fonction systme (SFC) est une fonction prprogramme et intgre dans la CPU S7.
Vous pouvez appeler les SFC partir de votre programme. Comme ces fonctions font partie
du systme d'exploitation, elles ne sont pas charges en tant que partie du programme.
Comme les FC, les SFC constituent des blocs sans mmoire.
Les CPU S7 proposent des fonctions systme pour :
des fonctions de copie et de blocs,
le contrle du programme,
la gestion de l'horloge et du compteur d'heures de fonctionnement,
le transfert d'enregistrements logiques,
le transfert, en mode de fonctionnement multiprocesseur, d'vnements d'une CPU
toutes les CPU enfiches,
la gestion des alarmes horaires et temporises,
la gestion des vnements d'erreur synchrone, des vnements d'alarme et des
vnements d'erreur asynchrone,
l'information sur les donnes systme statiques et dynamiques, p. ex. le diagnostic,
la mise jour de la mmoire image du processus et le traitement de champ binaire,
l'adressage de modules,
la priphrie dcentralise,
la communication par donnes globales,
la communication via des liaisons non configures,
la cration de messages relatifs aux blocs.

4-22

Programmer avec STEP 7 V5.1


A5E00069874-03

Principes de conception dune structure de programme

Informations supplmentaires
De plus amples informations sur les SFB et SFC sont donnes dans le manuel de rfrence
"Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme".
Les SFB et SFC disponibles sont prciss dans le manuel "Systme d'automatisation
S7-300, Installation et configuration - Caractristiques des CPU" ou le manuel de rfrence
"Systmes d'automatisation S7-400, M7-400 - Caractristiques des modules".

4.2.5

Blocs d'organisation pour le traitement de programme dclench par


alarme

4.2.5.1

Blocs d'organisation pour le traitement de programme dclench par


alarme
En mettant votre disposition des OB d'alarme, les CPU S7 vous donnent la possibilit :
de dclencher le traitement de parties de programme par horloge,
de ragir de manire optimale aux signaux externes du processus.
Il est inutile que le programme utilisateur cyclique teste constamment si des vnements
d'alarme sont apparus. En effet, en cas d'alarme, le systme d'exploitation fait en sorte que
soit traite la partie du programme utilisateur figurant dans l'OB d'alarme et qui dtermine
comment l'automate programmable doit ragir cette alarme.

Types dalarme et applications


Le tableau suivant montre comment utiliser les types d'alarme.
Type dalarme

OB dalarme

Exemples dapplication

Alarme horaire

OB10 OB17

Calcul du dbit d'un processus de mlange la fin de la


journe de travail

Alarme temporise

OB20 OB23

Commande d'un ventilateur devant fonctionner encore


20 s aprs l'arrt d'un moteur avant d'tre lui-mme arrt

Alarme cyclique

OB30 OB38

Echantillonnage d'un niveau de signal pour une installation


de rgulation

Alarme de
processus

OB40 OB47

Signaler que le niveau maximal d'une cuve est atteint

Programmer avec STEP 7 V5.1


A5E00069874-03

4-23

Principes de conception dune structure de programme

4.2.5.2

Blocs d'organisation pour l'alarme horaire (OB10 OB17)


Les CPU S7 mettent votre disposition des OB d'alarme horaire pouvant tre traits une
date donne ou des intervalles de temps dfinis.
Les alarmes horaires peuvent tre dclenches :
une seule fois un moment donn (indication de temps absolue avec date),
priodiquement avec indication du commencement et de la frquence de rptition (par
exemple, toutes les minutes, toutes les heures, tous les jours).

Rgles d'utilisation des alarmes horaires


Les alarmes horaires ne peuvent tre traites que si une alarme horaire a t paramtre et
qu'un bloc d'organisation correspondant est contenu dans le programme utilisateur. Si tel
n'est pas le cas, un message d'erreur est inscrit dans la mmoire tampon de diagnostic et un
traitement d'erreur asynchrone est excut (OB80, voir "Blocs d'organisation pour le
traitement d'erreur (OB70 OB87 / OB121 OB122)").
Les alarmes horaires priodiques doivent correspondre une date relle. Il n'est, par
exemple, pas possible de ritrer chaque mois un OB10 ayant le 31 janvier comme point de
dpart. Dans ce cas, l'OB ne serait dclench que pour les mois ayant 31 jours.
Une alarme horaire active au cours de la mise en route (dmarrage ou redmarrage) n'est
traite qu' la fin de la mise en route.
Il n'est pas possible de dclencher les OB d'alarme horaire dsactivs par paramtrage. La
CPU dtecte dans ce cas une erreur de programmation et passe l'tat de fonctionnement
"Arrt" (STOP).
Aprs un dmarrage, il faut nouveau activer les alarmes horaires gnres, par exemple
l'aide de la SFC30 ACT_TINT dans le programme de mise en route.

Dclenchement de l'alarme horaire


La CPU ne peut dclencher une alarme horaire qu'une fois que vous avez gnr puis
activ cette dernire. Il existe trois types de dclenchement :
dclenchement automatique de l'alarme horaire par paramtrage avec STEP 7 (bloc de
paramtres "Alarmes horaires"),
gnration et activation de l'alarme horaire via la SFC28 SET_TINT et la SFC30
ACT_TINT partir du programme utilisateur,
gnration de l'alarme horaire par paramtrage avec STEP 7 et activation de l'alarme
horaire via la SFC30 ACT_TINT partir du programme utilisateur.

Interrogation de lalarme horaire


Pour savoir si des alarmes horaires ont t gnres et quel moment, vous pouvez :
appeler la SFC31 QRY_TINT
ou demander la liste partielle "Etat d'alarme" de la liste d'tat systme.

4-24

Programmer avec STEP 7 V5.1


A5E00069874-03

Principes de conception dune structure de programme

Dsactivation de l'alarme horaire


Vous pouvez dsactiver des alarmes horaires non encore traites l'aide de la SFC29
CAN_TINT. Il est possible de gnrer nouveau des alarmes horaires dsactives via la
SFC28 SET_TINT et de les activer avec la SFC30 ACT_TINT.

Priorit des OB d'alarme horaire


Les huit OB d'alarme horaire sont prdfinis avec la mme classe de priorit (2) et sont donc
traits dans l'ordre dapparition de leurs vnements dclencheurs. Il est possible de
modifier la classe de priorit par paramtrage.

Changement de lheure rgle


Il est possible de modifier l'heure rgle comme suit :
Un matre d'heure synchronise l'heure pour le matre et les esclaves.
L'heure est redfinie dans le programme utilisateur via la SFC0 SET_CLK.

Comportement en cas de changement dheure


Le tableau suivant montre comment les alarmes horaires se comportent aprs modification
de l'heure.
Si

alors

une ou plusieurs alarmes horaires ont t


sautes en raison de l'avancement de
l'heure,

l'OB80 est dmarr avec inscription dans


ses informations de dclenchement des
alarmes horaires sautes.

vous avez dsactiv dans l'OB80 les


alarmes horaires sautes,

les alarmes horaires sautes ne sont pas


rattrapes.

vous n'avez pas dsactiv dans l'OB80 les


alarmes horaires sautes,

la premire alarme horaire saute est


reprise, mais il n'est pas tenu compte des
suivantes.

des alarmes horaires dj traites sont


nouveau en attente en raison du
retardement de l'heure,

ces alarmes horaires ne sont pas traites


une nouvelle fois.

Programmer avec STEP 7 V5.1


A5E00069874-03

4-25

Principes de conception dune structure de programme

4.2.5.3

Blocs d'organisation pour l'alarme temporise (OB20 OB23)


Les CPU S7 mettent votre disposition des OB d'alarme temporise grce auxquels vous
pouvez programmer lexcution retarde de certaines parties de votre programme utilisateur.

Rgles d'utilisation des alarmes temporises


Les alarmes temporises ne peuvent tre traites que si un bloc d'organisation
correspondant est contenu dans le programme CPU. Si tel n'est pas le cas, un message
d'erreur est inscrit dans la mmoire tampon de diagnostic et un traitement d'erreur
asynchrone est ralis (OB80, voir Blocs d'organisation pour le traitement d'erreurs (OB70
OB87 / OB121 OB122)").
Il n'est pas possible de dclencher les OB d'alarme temporise dsactivs par paramtrage.
La CPU dtecte dans ce cas une erreur de programmation et passe l'tat de
fonctionnement "Arrt" (STOP).
Les alarmes temporises sont dclenches lorsque le temps de retard prcis dans la
SFC32 SRT_DINT a expir.

Dclenchement de l'alarme temporise


Pour dmarrer une alarme temporise, vous devez fixer dans la SFC32 le temps de retard
l'expiration duquel l'OB d'alarme temporise correspondant doit tre appel. La dure
maximale autorise pour le temps de retard est donne dans le manuel "Systme
dautomatisation S7-300, Installation et configuration - Caractristiques des CPU" et le
manuel de rfrence "Systmes dautomatisation S7-400, M7-400 - Caractristiques des
modules".

Priorit des OB d'alarme temporise


Par dfaut, les OB d'alarme temporise ont les classes de priorit 3 6. Vous pouvez les
modifier par paramtrage.

4.2.5.4

Blocs d'organisation pour l'alarme cyclique (OB30 OB38)


Les CPU S7 mettent votre disposition des OB d'alarme cyclique qui interrompent le
traitement de programme cyclique intervalles prcis.
Les alarmes cycliques sont dclenches des intervalles de temps prcis. Le moment de
dclenchement de la priode est le passage de l'tat de fonctionnement "Arrt" (STOP)
l'tat "Marche" (RUN).

Rgles d'utilisation des alarmes cycliques


Veillez, lorsque vous choisissez la priode, ce qu'il reste suffisamment de temps pour le
traitement des alarmes cycliques entre les vnements de dclenchement des diffrentes
alarmes cycliques.
Il n'est pas possible de dclencher les OB d'alarme cyclique dsactivs par paramtrage. La
CPU dtecte dans ce cas une erreur de programmation et passe l'tat de fonctionnement
"Arrt" (STOP).

4-26

Programmer avec STEP 7 V5.1


A5E00069874-03

Principes de conception dune structure de programme

Dclenchement de l'alarme cyclique


Pour dclencher une alarme cyclique, vous devez prciser via STEP 7 une priode dans le
bloc de paramtres "Alarmes cycliques". 7 Cette priode est toujours un multiple entier de la
priode de base de 1 ms.
Priode = n X priode de base 1 ms
Les neuf OB d'alarme cyclique disponibles ont des priodes prdfinies (voir tableau
suivant). La priode par dfaut entre en vigueur lorsque l'OB d'alarme cyclique qui lui est
associ est charg. Vous pouvez toutefois modifier par paramtrage les valeurs prdfinies.
La limite suprieure est donne dans le manuel "Systme dautomatisation S7-300,
Installation et configuration - Caractristiques des CPU" et le manuel de rfrence
"Systmes dautomatisation S7-400, M7- 400 - Caractristiques des modules.

Dcalage de phase pour les alarmes cycliques


Afin d'viter que les alarmes cycliques de diffrents OB d'alarme cyclique ne reoivent une
demande de dclenchement au mme moment provoquant ainsi ventuellement une erreur
de temps (dpassement du temps de cycle), vous pouvez prciser un dcalage de phase.
Ce dcalage de phase assure que le traitement d'une alarme cyclique est dcal d'une
dure donne aprs coulement de la priode.
Dcalage de phase = m

priode de base (avec 0 m < n)

La figure suivante montre le traitement d'un OB d'alarme cyclique avec dcalage de phase
(OB37) compar une alarme cyclique sans dcalage de phase (OB38).

Priode de base:

OB38

(n=8, m=0)

OB37

(n=16, m=5)
0

16

16 + 5 24

32

32 + 5 40

48

48 +5

t [ms]

Priorit des OB d'alarme cyclique


Le tableau suivant montre les priodes et classes de priorit prdfinies des OB d'alarme
cyclique. Vous pouvez modifier les priodes et classes de priorit par paramtrage.
OB dalarme cyclique

Priode en ms

Classe de priorit

OB30

5000

OB31

2000

OB32

1000

OB33

500

10

OB34

200

11

OB35

100

12

OB36

50

13

OB37

20

14

OB38

10

15

Programmer avec STEP 7 V5.1


A5E00069874-03

4-27

Principes de conception dune structure de programme

4.2.5.5

Blocs d'organisation pour l'alarme de processus (OB40 OB47)


Les CPU S7 mettent votre disposition des OB d'alarme de processus qui ragissent des
signaux provenant des modules (modules de signaux SM, processeurs de communication
CP, modules de fonction FM). STEP 7 vous permet de dfinir quel signal doit dclencher
l'OB pour les modules TOR et analogiques paramtrables. Pour les CP et les FM, vous
utiliserez cet effet les dialogues de paramtrage correspondants.
Les alarmes de processus sont dclenches lorsqu'un module de signaux pouvant gnrer
des alarmes de processus, avec validation d'alarme de processus paramtre, transmet un
signal de processus reu la CPU ou lorsqu'un module de fonction de la CPU signale une
alarme.

Rgles d'utilisation d'alarmes du processus


Les alarmes de processus ne peuvent tre traites que si un bloc d'organisation
correspondant est contenu dans le programme CPU. Si tel n'est pas le cas, un message
d'erreur est inscrit dans la mmoire tampon de diagnostic et un traitement d'erreur
asynchrone est ralis (voir Blocs d'organisation pour le traitement d'erreurs (OB70 OB87 /
OB121 OB122)).
Il n'est pas possible de dclencher les OB d'alarme de processus dsactivs par
paramtrage. La CPU dtecte dans ce cas une erreur de programmation et passe l'tat de
fonctionnement "Arrt" (STOP).

Paramtrage de modules de signaux pouvant gnrer des alarmes de processus


Chaque voie d'un module de signaux pouvant gnrer des alarmes de processus peut
dclencher une alarme de processus. Aussi devez-vous dfinir l'aide de STEP 7 dans les
jeux de paramtres de ces modules :
ce qui doit dclencher une alarme de processus,
quel OB d'alarme de processus doit tre trait (l'OB40 est prvu par dfaut pour le
traitement de toutes les alarmes de processus).
Vous activez avec STEP 7 la gnration d'alarmes de processus des modules de fonction.
Vous affectez d'autres paramtres dans les dialogues de paramtrage de ces modules.

Priorit des OB d'alarme de processus


Par dfaut, les OB d'alarme de processus ont les classes de priorit 16 23. Vous pouvez
les modifier par paramtrage.

4-28

Programmer avec STEP 7 V5.1


A5E00069874-03

Principes de conception dune structure de programme

4.2.5.6

Blocs dorganisation pour la mise en route (OB100 / OB101 / OB102)

Modes de mise en route


On distingue entre les modes de mise en route suivants :
redmarrage (n'existe pas pour les S7-300 et S7-400H),
dmarrage chaud,
dmarrage froid.
Le tableau suivant indique l'OB respectivement appel par le systme d'exploitation.
Mode de mise en route

OB associ

Redmarrage

OB101

Dmarrage chaud

OB100

Dmarrage froid

OB102

Evnements de dclenchement pour les OB de mise en route


La CPU excute une mise en route
aprs mise sous tension
lorsque vous actionnez le commutateur de mode de fonctionnement partir de STOP
"RUN"/"RUN-P"
aprs sollicitation par une fonction de communication
aprs synchronisation en mode multiprocesseur
dans un systme H, aprs couplage (uniquement sur la CPU de rserve)
L'OB de mise en route correspondant (OB100, OB101 ou OB102) est appel selon
l'vnement de dclenchement, la CPU mise en oeuvre ainsi que les paramtres
slectionns pour cette dernire.

Programme de mise en route


Vous pouvez dterminer les conditions supplmentaires pour le comportement de mise en
route de votre CPU (valeurs d'initialisation pour "Marche", valeurs de mise en route pour les
modules de priphrie) en crivant votre programme de mise en route dans les blocs
d'organisation OB100 pour le dmarrage chaud, OB101 pour le redmarrage ou OB102
pour le dmarrage froid.
La longueur du programme de mise en route est indiffrente : son excution n'est pas limite
en dure, car la surveillance du temps de cycle n'est pas active. Lexcution commande
par horloge ou par alarme n'est pas possible dans le programme de mise en route. Pendant
cette dernire, toutes les sorties TOR prennent l'tat de signal 0.

Programmer avec STEP 7 V5.1


A5E00069874-03

4-29

Principes de conception dune structure de programme

Mode de mise en route aprs une mise en route manuelle


Pour les CPU S7-300, seuls les dmarrages manuel ou froid (uniquement CPU 318-2)
sont possibles.
Pour certaines CPU S7-400, vous pouvez excuter un redmarrage manuel ou un
dmarrage froid avec le commutateur de mode de fonctionnement et le commutateur de
mode de mise en route (CRST/WRST) si cela a t paramtr ainsi avec STEP 7. Le
dmarrage manuel est possible sans paramtrage.

Mode de mise en route aprs une mise en route automatique


Seul le dmarrage est possible aprs la mise sous tension pour les CPU S7-300.
Pour les CPU S7-400, vous pouvez dterminer si une mise en route automatique aprs mise
sous tension entrane un dmarrage ou un redmarrage.

Effacement de la mmoire image


En cas de redmarrage d'une CPU S7-400, la mmoire image des sorties est efface par
dfaut aprs lexcution du reste du cycle. Vous pouvez toutefois dsactiver l'effacement de
la mmoire image si le programme utilisateur doit, aprs le redmarrage, continuer utiliser
les valeurs en vigueur avant le redmarrage.

Contrle des modules : configuration prvue-configuration sur site


Vous pouvez demander par paramtrage que soit vrifi, avant la mise en route, si tous les
modules figurant dans la table de configuration sont rellement enfichs et si leur type est
correct.
Lorsque le contrle des modules est activ, la mise en route n'est pas excute si une
diffrence entre la configuration prvue et la configuration relle est mise en vidence.

Temps de surveillance
Vous pouvez paramtrer les temps de surveillance suivants pour garantir une mise en route
sans erreur de l'automate programmable :
le temps maximal autoris pour la transmission des paramtres aux modules,
le temps maximal autoris pour le message Prt des modules aprs la mise sous
tension,
pour les CPU S7-400, le temps d'interruption maximal pendant lequel un redmarrage est
encore autoris.
La CPU passe l'tat "Arrt" l'expiration des temps de surveillance ou seul un dmarrage
est alors possible.

4-30

Programmer avec STEP 7 V5.1


A5E00069874-03

Principes de conception dune structure de programme

4.2.5.7

Bloc d'organisation pour lexcution du programme en arrire-plan


(OB90)
Si vous avez paramtr un temps de cycle minimal avec STEP 7 et que celui-ci s'avre
suprieur au temps de cycle effectif, la CPU dispose de temps dexcution la fin du
programme cyclique. Ce temps restant sert lexcution de l'OB d'arrire-plan. Si l'OB90
n'existe pas dans votre CPU, cette dernire attend que le temps de cycle minimal paramtr
soit expir. L'OB90 vous permet donc d'excuter des processus dure non critique et ainsi
d'viter des temps d'attente.

Priorit de l'OB d'arrire-plan


L'OB d'arrire-plan a la classe de priorit 29 qui correspond la priorit 0.29. C'est donc
l'OB la priorit la plus faible et vous ne pouvez pas modifier sa classe de priorit par
paramtrage.
La figure suivante montre un exemple dexcution du cycle en arrire-plan, du cycle libre et
de l'OB10 (pour les anciennes CPU).
Priorit

Cycle suivant
OB10

OB10

Mise jour
mmoire image OB1
des entres

Mise jour
OB1 mmoire image
des sorties

OB90

OB90

t
Tatt

TC
Tmin
TC
Tmin
Tatt

= Temps de cycle effectivement ncessaire dun cycle libre


= Temps de cycle minimal paramtr via STEP 7
= Temps de cycle encore disponible avant le dbut du cycle suivant

Programmation de lOB90
Le systme d'exploitation de la CPU ne contrle pas le temps d'excution de l'OB90 ; vous
pouvez donc y programmer des boucles de longueur indiffrente. Veillez la cohrence des
donnes que vous utilisez dans le programme en arrire-plan en tenant compte des points
suivants lors de leur programmation :
les vnement de remise zro de l'OB90 (voir manuel de rfrence "Logiciel systme
pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme"),
la mise jour de la mmoire image du processus qui est asynchrone par rapport
l'OB90.

Programmer avec STEP 7 V5.1


A5E00069874-03

4-31

Principes de conception dune structure de programme

4.2.5.8

Blocs d'organisation pour le traitement d'erreurs (OB70 OB87 /


OB121 OB122)

Types derreur
Les erreurs que les CPU S7 dtectent et auxquelles elles peuvent ragir l'aide de blocs
d'organisation sont classables en deux catgories :
Erreurs synchrones : ces erreurs peuvent tre associes une partie prcise du
programme utilisateur. L'erreur apparat pendant le traitement d'une opration prcise. Si
l'OB d'erreur synchrone correspondant n'est pas charg, la CPU passe l'tat "Arrt"
(STOP) l'apparition d'une telle erreur.
Erreurs asynchrones : ces erreurs ne peuvent pas tre directement associes au
programme utilisateur trait. Il s'agit d'erreurs de classe de priorit, d'erreurs dans
l'automate programmable (par exemple, module dfaillant) ou d'erreurs de redondance.
Si l'OB d'erreur asynchrone correspondant n'est pas charg, la CPU passe l'tat "Arrt"
(STOP) l'apparition d'une telle erreur (exceptions : OB70, OB72, OB81).
Le tableau ci-aprs montre les types d'erreur pouvant survenir, classs selon la catgorie
des OB d'erreur.
Erreurs asynchrones / erreurs de redondance

Erreurs synchrones

OB70 Erreur de redondance de priphrie


(seulement dans les CPU H)

OB121 Erreur de programmation


(ex. : DB non charg)

OB72 Erreur de redondance de CPU (seulement dans


les CPU H, ex. : dfaillance d'une CPU)

OB122 Erreur d'accs la priphrie


(ex. : accs un module d'entres/sorties
inexistant)

OB73 Erreur de redondance de communication


(seulement dans les CPU H, ex. : perte de redondance
d'une liaison S7 haute disponibilit)
OB80 Erreur de temps
(ex. : dpassement du temps de cycle)
OB81 Erreur d'alimentation (ex. : pile dfaillante)
OB82 Alarme de diagnostic
(ex. : court-circuit dans le module d'entres)
OB83 Alarme de dbrochage/enfichage
(ex. : dbrochage d'un module d'entres)
OB84 Erreur matrielle CPU (erreur l'interface avec
le rseau MPI)
OB85 Erreur d'excution du programme
(ex. : OB non charg)
OB86 Dfaillance d'unit
OB87 Erreur de communication
(ex. : mauvaise ID de tlgramme pour communication
par donnes globales)

4-32

Programmer avec STEP 7 V5.1


A5E00069874-03

Principes de conception dune structure de programme

Utilisation des OB pour erreurs synchrones


Les erreurs synchrones apparaissent pendant le traitement d'une opration prcise. A
l'apparition de ces erreurs, le systme d'exploitation gnre une entre dans la pile des
interruptions et dclenche l'OB pour erreurs synchrones.
Les OB d'erreur appels par des erreurs synchrones sont traits en tant que partie du
programme avec la mme classe de priorit que le bloc en cours d'excution lors de la
dtection de l'erreur. Les OB121 et OB122 peuvent donc accder aux valeurs sauvegardes
dans les accumulateurs et les autres registres au moment de l'interruption. Vous pouvez
vous servir de ces valeurs pour ragir l'erreur, puis reprendre lexcution de votre programme (par exemple, indiquer une valeur de remplacement dans l'OB122 via la SFC44
RPL_VAL pour une erreur d'accs un module d'entres analogiques). Ainsi, toutefois, la
pile L de cette classe de priorit doit en plus prendre en charge les donnes locales des
OB d'erreur. Dans les CPU S7-400, un nouvel OB d'erreur synchrone peut tre lanc partir
d'un OB d'erreur synchrone. Cela n'est pas possible dans les CPU S7-300.

Utilisation des OB pour erreurs asynchrones


Lorsque le systme d'exploitation de la CPU dtecte une erreur asynchrone, il dclenche
l'OB d'erreur correspondant (OB70 OB72 et OB80 OB87). Les OB pour erreurs
asynchrones ont la priorit la plus leve : ils ne peuvent pas tre interrompus par d'autres
OB, lorsque tous les OB d'erreurs synchrones ont la mme priorit. Si plusieurs erreurs
asynchrones de la mme priorit apparaissent simultanment, les OB d'erreur
correspondants sont traits dans l'ordre d'apparition des erreurs.

Masquage d'vnements de dclenchement


Des fonctions systme vous permettent de masquer, d'ajourner ou d'inhiber les vnements
de dclenchement pour quelques OB d'erreur. De plus amples informations ce sujet et sur
les blocs d'organisation en particulier sont donnes dans le manuel de rfrence "Logiciel
systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme".
Type de lOB derreur SFC

Fonction de la SFC

OB derreur synchrone SFC36 MSK_FLT

Masquer des vnements d'erreur synchrone


individuels. Les vnements d'erreur masqus ne
dclenchent aucun OB d'erreur et n'entranent pas la
raction programme.

SFC37 DMSK_FLT Dmasquer des vnements d'erreur synchrone


OB d'erreur
asynchrone

SFC39 DIS_IRT

Inhiber globalement des vnements d'erreur


asynchrone et d'alarme. Les vnements d'erreur
inhibs ne dclenchent d'OB d'erreur dans aucun des
cycles de CPU suivants et n'entranent pas la raction
programme.

SFC40 EN_IRT

Valider des vnements d'erreur asynchrone et


d'alarme

SFC41 DIS_AIRT

Ajourner les vnements d'erreur asynchrone et


d'alarme prioritaires jusqu' la fin de l'OB

SFC42 EN_AIRT

Valider les vnements d'erreur asynchrone et


d'alarme prioritaires

Nota
Pour ignorer des alarmes, il est plus efficace de les inhiber au moyen de SFC la mise en
route que de charger un OB vide (contenant BE).

Programmer avec STEP 7 V5.1


A5E00069874-03

4-33

Principes de conception dune structure de programme

4-34

Programmer avec STEP 7 V5.1


A5E00069874-03

5.1
5.1.1

Dmarrage et utilisation du programme

Dmarrage de STEP 7
Dmarrage de STEP 7
Une fois Windows dmarr, vous trouverez dans l'interface Windows une icne pour
SIMATIC Manager qui permet d'accder au logiciel STEP 7.
Vous dmarrez rapidement STEP 7 en effectuant un double clic sur l'icne "SIMATIC
Manager". La fentre de SIMATIC Manager s'ouvre alors. De l, vous pouvez accder
toutes les fonctions que vous avez installes aussi bien du logiciel de base que des logiciels
optionnels.
L'autre mthode consiste lancer SIMATIC Manager via le bouton "Dmarrer" dans la barre
des tches de Windows (sous "Simatic").

Nota
Vous trouverez plus d'informations sur les manipulations et options standard de Windows
dans votre guide de l'utilisateur Windows ou dans l'aide en ligne de votre systme
d'exploitation Windows.

SIMATIC Manager
SIMATIC Manager constitue l'interface d'accs la configuration et la programmation.
Vous pouvez :
crer des projets,
configurer et paramtrer le matriel,
configurer le fonctionnement en rseau du matriel,
programmer des blocs,
tester et mettre en uvre vos programmes.
L'accs aux fonctions se fonde sur les objets et s'apprend facilement et intuitivement.
Avec SIMATIC Manager, vous pouvez travailler :
hors ligne, c'est--dire sans qu'un automate soit raccord ou
en ligne, c'est--dire avec un automate raccord.
Tenez compte, dans ce dernier cas, des remarques relatives la scurit.

Programmer avec STEP 7 V5.1


A5E00069874-03

5-1

Dmarrage et utilisation du programme

Pour poursuivre
Vous crez des solutions d'automatisation sous la forme de "projets". Vous vous faciliterez la
tche en vous familiarisant tout d'abord avec :
l'interface utilisateur,
quelques manipulations fondamentales,
l'aide en ligne.

5.1.2

Dmarrage de STEP 7 avec des paramtres initiaux prdfinis


A partir de STEP 7 V5, vous pouvez crer plusieurs icnes de SIMATIC Manager et indiquer
pour chacune delles des paramtres initiaux dans la ligne cible. Vous pouvez ainsi faire en
sorte que SIMATIC Manager se positionne sur l'objet dcrit par ces paramtres. Ceci vous
permet de parvenir immdiatement une position donne dans un projet, par simple double
clic.

En appelant s7tgtopx.exe, vous pouvez spcifier les paramtres initiaux suivants :


/e <chemin physique complet du projet>
/o <chemin logique de l'objet sur lequel se positionner>
/h <ObjektID> /onl ou /off
Voici comment dterminer simplement les paramtres requis.

Dtermination des paramtres par copier/coller


Procdez de la manire suivante :
1. Sur votre bureau, crez un nouveau raccourci pour le fichier s7tgtopx.exe.
2. Affichez la bote de dialogue des proprits.
3. Slectionnez l'onglet "Raccourci". Compltez la zone de saisie "Cible" de la manire
suivante :
4. Slectionnez l'objet souhait dans SIMATIC Manager.
5. Copiez l'objet slectionn dans le presse-papiers l'aide de la combinaison de touches
CTRL+C.
6. Positionnez le curseur la fin de la zone de saisie "Cible" dans la page d'onglet
"Raccourci".
7. Collez le contenu du presse-papiers l'aide de la combinaison de touches CTRL+V.
8. Quittez la bote de dialogue par "OK".

Exemple de saisie de paramtres :


/e F:\SIEMENS\STEP7\S7proj\MyConfig\MyConfig.s7p
/o "1,8:MyConfig\SIMATIC 400(1)\CPU416-1\Programme S7(1)\Blocs\FB1"
/h T00112001;129;T00116001;1;T00116101;16e

5-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Dmarrage et utilisation du programme

Remarque concernant la structure du chemin du projet


Le chemin du projet correspond au chemin physique dans le systme de fichiers. La notation
UNC n'tant pas autorise, l'on a par exemple :
F:\SIEMENS\STEP7\S7proj\MyConfig\MyConfig.s7p.
Le chemin logique complet est structur de la manire suivante :
[Identification visible,Identification en ligne]:Nom du projet\{Nom de lobjet\}*\ Nom de lobjet
Exemple /o "1,8:MyConfig\SIMATIC 400(1)\CPU416-1\Programme S7(1)\Blocs\FB1"

Remarque concernant la structure du chemin logique


Le chemin logique complet ainsi que l'ID d'objet ne peuvent tre dtermins que par
copie/collage. Il est toutefois galement possible de spcifier le chemin lisible par
l'utilisateur, c'est--dire pour l'exemple prcdent :
/o "MyConfig\SIMATIC 400(1)\CPU416-1\Programme S7(1)\Blocs\FB1".
Avec les paramtres /onl ou /off, l'utilisateur peut prciser s'il s'agit du chemin pour la fentre
en ligne ou hors ligne. La saisie de ce paramtre s'avre inutile lorsque vous procdez par
copie/collage.
Important : Lorsque le chemin contient des caractres d'espacement, il doit tre indiqu
entre guillemets.

5.1.3

Appel des fonctions daide

Aide en ligne
L'aide en ligne vous propose des informations l'endroit o vous en avez besoin. Vous
pouvez ainsi aisment trouver des renseignements prcis sans devoir compulser des
manuels. L'aide en ligne se compose des lments suivants :
Rubriques daide : offre diffrents accs l'affichage d'informations d'aide.
Aide contextuelle (touche F1) : fournit des informations sur l'objet slectionn ou encore
sur la bote de dialogue ou la fentre actives.
Introduction : donne un bref aperu sur l'utilisation, les caractristiques fondamentales
et les fonctions d'une application.
Mise en route : rsume les premires oprations que vous devez excuter pour obtenir
votre premier succs.
Utiliser laide : dcrit les possibilits dont vous disposez pour trouver certaines
informations dans l'aide.
A propos de : donne des informations sur la version en cours de l'application.
Le menu d'aide "?" vous permet galement d'accder, partir de chaque fentre, des
rubriques en rapport avec la situation en cours.

Programmer avec STEP 7 V5.1


A5E00069874-03

5-3

Dmarrage et utilisation du programme

Appel de laide en ligne


Vous pouvez appeler l'aide en ligne de diffrentes manires :
Choisissez une commande du menu d'aide "?" dans la barre des menus.
Cliquez sur le bouton "Aide" dans une bote de dialogue. L'aide correspondant la bote
de dialogue apparat alors.
Dans une fentre ou une bote de dialogue, positionnez le pointeur de la souris sur le
thme propos duquel vous avez besoin d'aide et appuyez sur la touche F1, ou
choisissez la commande ? > Aide contextuelle.
Servez-vous du curseur "point d'interrogation" de Windows.
On appelle ces trois dernires catgories l'aide en ligne contextuelle.

Appel de l'aide abrge


Une aide abrge s'affiche pour les boutons de la barre d'outils lorsque vous y positionnez le
curseur et l'y laissez un court instant.

Modification de la police
La commande Options > Police dans la fentre d'aide vous permet de slectionner la taille
des caractres "Petite", "Normale" ou "Grande".

5-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Dmarrage et utilisation du programme

5.2
5.2.1

Objets et hirarchie d'objets


Objets et hirarchie d'objets
Dans SIMATIC Manager, la hirarchie d'objets pour les projets et bibliothques est similaire
la structure des rpertoires comportant des dossiers et fichiers dans l'explorateur de
Windows.
La figure suivante donne un exemple de hirarchie d'objets.
Projet
Station
Module programmable

Programme S7
Sources

Objet Projet

Objet Station

Objet Module programmable

Objet Programme S7/M7

Objet Dossier Sources

Objet Dossier Blocs

Blocs

Les objets servent :


de supports de proprits,
de dossiers,
de supports de fonctions (par exemple, pour le dmarrage d'une application prcise).

Objets comme supports de proprits


Les objets peuvent servir de supports aussi bien pour des fonctions que pour des proprits
(par exemple, paramtres). Une fois un objet slectionn, vous pouvez :
l'diter l'aide de la commande Edition > Ouvrir lobjet.
ouvrir une bote de dialogue avec la commande Edition > Proprits de l'objet, dans
laquelle vous effectuez les paramtrages propres l'objet.
Un dossier peut galement constituer un support de proprits.

Objets comme dossiers


Un dossier peut contenir d'autres dossiers ou des objets. Ceux-ci saffichent lorsque vous
ouvrez le dossier.

Programmer avec STEP 7 V5.1


A5E00069874-03

5-5

Dmarrage et utilisation du programme

Objets comme supports de fonctions


Lorsque vous ouvrez un objet, une fentre dans laquelle vous pouvez traiter l'objet apparat.
Un objet est soit un dossier, soit un support de fonctions. Les stations constituent toutefois
une exception : elles sont la fois dossiers (pour modules programmables) et supports de
fonctions (pour la configuration matrielle).
Lorsque vous effectuez un double clic sur une station, les objets qu'elle contient sont
visualiss, savoir les modules programmables et la configuration de station (station
comme dossier).
Lorsque vous ouvrez une station avec la commande Edition > Ouvrir lobjet, vous
pouvez la configurer et la paramtrer (station comme support d'une fonction). Cette
commande a la mme fonction qu'un double clic sur l'objet "Matriel".

5.2.2

Objet Projet
Le projet reprsente l'ensemble des donnes et programmes d'une solution d'automatisation
et se trouve la tte d'une hirarchie d'objets.

Position dans la vue du projet

Projet
Station
Module programmable

Programme S7
Sources

Objet Projet

Objet Station

Objet Module programmable

Objet Programme S7/M7

Objet Dossier Sources

Objet Dossier Blocs

Blocs

Icne

Dossier d'objets
Projet

Slection de fonctions importantes

Cration d'un projet

Archivage de projets et de bibliothques

Impression de la documentation du projet

5-6

Rorganisation
Traduction et dition de textes destins
l'utilisateur
Insertion d'un objet OS

Edition de projets par plusieurs personnes

Conversion dun ancien projet de version 1

Conversion dun ancien projet de version 2

Paramtrage de l'interface PG/PC

Programmer avec STEP 7 V5.1


A5E00069874-03

Dmarrage et utilisation du programme

Icne

Objets dans le
niveau de projet

Slection de fonctions importantes

Station :

Insertion de stations

Les stations sont la fois des objets (niveau du


projet) et des dossiers d'objets (niveau de la
station). Pour d'autres fonctions, reportez-vous
Objet Station

Programme S7/M7 sans station ni CPU

Les programmes S7/M7 sont la fois des objets


(niveau du projet) et des dossiers d'objets
(niveau du programme). Pour d'autres fonctions,
reportez-vous Objet Programme S7/M7.

Rseau pour le

dmarrage de
l'application de

configuration de
rseaux et pour la

slection des
paramtres de rseau

Proprits des sous-rseaux et des participants


la communication

station SIMATIC 300


station SIMATIC 400

Programme S7

Programme M7

5.2.3

Prsentation : communication par donnes


globales
Configuration de la communication par donnes
globales

Objet Bibliothque
Une bibliothque peut contenir des programmes S7 ou M7 et sert stocker des blocs. Elle
se trouve la tte d'une hirarchie d'objets.

Programme S7
Sources
Blocs

Icne

Icne

Objet Bibliothque

Objet Programme S7/M7

Objet Dossier Sources

Object Dossier Blocs

Dossier d'objets

Slection de fonctions importantes

Bibliothque

Prsentation des bibliothques standard

Utilisation de bibliothques

Archivage de projets et de bibliothques

Objets dans le
niveau de la
bibliothque

Slection de fonctions importantes

Programme S7

Insertion dun programme S7/M7

Les programmes S7/M7 sont la fois des objets


(niveau du projet) et des dossiers d'objets
(niveau du programme). Pour d'autres fonctions,
reportez-vous Objet Programme S7/M7.

Programme M7

Programmer avec STEP 7 V5.1


A5E00069874-03

5-7

Dmarrage et utilisation du programme

5.2.4

Objet Station
Une station SIMATIC 300/400 reprsente une configuration matrielle S7 comportant un ou
plusieurs modules programmables.

Position dans la vue du projet

Projet
Station
Module programmable

Objet Projet
Objet Station
Objet Module programmable
Objet Programme S7/M7
Objet Dossier Sources
Objet Dossier Blocs

Programme S7
Sources
Blocs

Icne

Dossier d'objets

Slection de fonctions importantes

Station

Station SIMATIC PC

Icne

Cration et paramtrage de stations SIMATIC PC


Configuration de liaisons pour une station SIMATIC PC

Objets dans le
Slection de fonctions importantes
niveau de la station
Matriel

Module
programmable

5-8

Insertion de stations
Chargement dune station dans la PG
Chargement d'une configuration dans un systme cible
Chargement d'une configuration depuis une station dans la
PG
Affichage des messages de CPU et des messages de
diagnostic personnaliss
Configuration de la signalisation d'erreurs systme
Diagnostic du matriel et affichage de l'tat du module
Affichage et modification de l'tat de fonctionnement
Affichage et rglage de l'heure et de la date
Effacement de la mmoire de chargement/travail et
effacement gnral de la CPU

Manipulations de base pour la configuration matrielle


Marche suivre pour la configuration d'une station
Configuration et paramtrage d'une installation centralise
Marche suivre pour la configuration d'un rseau matre
DP
Configuration du mode multiprocesseur
Les modules programmables sont la fois des objets
(niveau de la station) et des dossiers d'objets (niveau des
modules programmables). Pour d'autres fonctions,
reportez-vous Objet Module programmable.

Programmer avec STEP 7 V5.1


A5E00069874-03

Dmarrage et utilisation du programme

5.2.5

Objet Module programmable


Un module programmable reprsente les donnes de paramtrage d'un module
programmable (CPUxxx, FMxxx, CPxxx). Les donnes systme de modules ne possdant
pas de mmoire rmanente (par exemple CP441) sont chargs via la CPU de la station.
Aucun objet "Donnes systme" n'est de ce fait affect de tels modules qui n'apparaissent
pas dans la hirarchie du projet.

Position dans la vue du projet

Projet
Station
Module programmable

Programme S7

Objet Projet

Objet Station

Objet Module programmable

Objet Programme S7/M7

Objet Dossier Sources

Objet Dossier Blocs

Sources
Blocs

Icne

Dossier d'objets

Slection de fonctions importantes

Module
programmable

Configuration et paramtrage d'une installation


centralise

Affichage des messages de CPU et des messages


de diagnostic personnaliss

Configuration de la signalisation d'erreurs systme

Diagnostic du matriel et affichage de l'tat du


module

Chargement via des cartes mmoire EPROM

Protection par mot de passe contre l'accs aux


systmes cibles

Affichage de la fentre de forage permanent

Affichage et modification de l'tat de fonctionnement

Affichage et rglage de l'heure et de la date

Dfinition du comportement en fonctionnement

Effacement de la mmoire de chargement/travail et


effacement gnral de la CPU

Icnes de diagnostic dans la vue en ligne

Organisation des zones de mmoire

Enregistrement de blocs chargs sur la mmoire


intgre EPROM

Actualisation du systme d'exploitation sur le


systme cible

Programmer avec STEP 7 V5.1


A5E00069874-03

5-9

Dmarrage et utilisation du programme

Icne

Objets dans le
niveau "Module
programmable"

Slection de fonctions importantes

Programmes :

Insertion dun programme S7/M7

Les programmes S7/M7 sont la fois des objets


(niveau du projet) et des dossiers d'objets (niveau
du programme). Pour d'autres fonctions, reportezvous Objet Programme S7/M7

Programme S7
Programme M7
Programme
Liaisons pour la
dfinition de liaisons
dans le rseau

5.2.6

Mise en rseau de stations au sein dun projet

Types de liaison pour des partenaires dans le mme


projet

Informations sur les divers types de liaison

Saisie d'une nouvelle liaison

Configuration de liaisons pour les modules d'une


station SIMATIC

Objet Programme S7/M7


Un programme (S7/M7) est un dossier contenant les logiciels pour les modules CPU S7/M7
et les logiciels pour les modules autres que les CPU (par exemple modules CP ou FM
programmables).

Position dans la vue du projet

Projet
Station
Module programmable

Programme S7
Sources

Objet Projet

Objet Station

Objet Module programmable

Objet Programme S7/M7

Objet Dossier Sources

Objet Dossier Blocs

Blocs

5-10

Programmer avec STEP 7 V5.1


A5E00069874-03

Dmarrage et utilisation du programme

Icne

Dossier d'objets

Slection de fonctions importantes

Programme S7

Insertion dun programme S7/M7

Dfinition de la priorit de l'oprande

Marche suivre pour la cration de blocs de code

Attribution de numros de message

Cration et dition de messages de diagnostic


personnaliss
Traduction et dition de textes destins l'utilisateur

Icne

Affichage des messages de CPU et des messages


de diagnostic personnaliss

Mesures prendre dans le programme pour traiter


les erreurs

Programme M7

Procdure pour les systmes M7

Programme

Cration du logiciel dans le projet (principe)

Objets dans le
niveau du
programme

Slection de fonctions importantes

Table des
mnmoniques pour
l'affectation de
mnmoniques des
signaux et autres
variables

Adressage absolu et adressage symbolique

Structure et lments de la table des mnmoniques

Possibilits de saisie de mnmoniques globaux

Remarques gnrales sur la saisie de mnmoniques

Affectation et dition de messages sur mnmoniques

Traduction et dition de textes destins l'utilisateur

Configuration des attributs de contrle-commande au


moyen de la table des mnmoniques

Edition de l'attribut de communication

Exportation et importation de tables de mnmoniques

Dossier Sources

Pour d'autres fonctions, reportez-vous Objet


Dossier Sources

Dossier Blocs

Pour d'autres fonctions, reportez-vous Objet


Dossier Blocs

Programmer avec STEP 7 V5.1


A5E00069874-03

5-11

Dmarrage et utilisation du programme

5.2.7

Object Dossier Blocs


Le dossier Blocs dune vue hors ligne peut contenir : des blocs de code (OB, FB, FC, SFB,
SFC), des blocs de donnes (DB), des types de donnes utilisateur (UDT) et des tables de
variables. L'objet Donnes systme reprsente les blocs de donnes systme.
Le dossier Blocs d'une vue en ligne contient les lments de programme excutables,
chargs de manire rsidente dans le systme cible.

Position dans la vue du projet

Projet
Station
Module programmable

Programme S7
Sources

Objet Projet

Objet Station

Objet Module programmable

Objet Programme S7/M7

Objet Dossier Sources

Objet Dossier Blocs

Blocs

Icne

Dossier d'objets

Slection de fonctions importantes

Blocs

Chargement dans la gestion du projet

Chargement hors gestion du projet

Vue synoptique des donnes de rfrence


possibles

Rassignation

Comparaison de blocs

5-12

Traduction et dition de textes destins


l'utilisateur
Sauts dans la description des langages, aide sur
les blocs, attributs systme

Programmer avec STEP 7 V5.1


A5E00069874-03

Dmarrage et utilisation du programme

Icne

Objets dans le dossier Slection de fonctions importantes


Blocs
Gnralits sur les
blocs

OB (Blocs
d'organisation)

FC (Fonctions)

FB (Blocs fonctionnels)

Programmer avec STEP 7 V5.1


A5E00069874-03

Marche suivre pour la cration de blocs de code

Cration de blocs

Principes de la programmation dans les sources


LIST

Comparaison de blocs

Fonctions supplmentaires :

Introduction aux types de donnes et de


paramtres

Conditions pralables au chargement

Test avec la visualisation dtat du programme

Informations sur le test en mode pas pas et sur


les points d'arrt

Rassignation

Aide sur les blocs

Fonctions supplmentaires :

Introduction aux types de donnes et de


paramtres

Conditions pralables au chargement

Test avec la visualisation dtat du programme

Informations sur le test en mode pas pas et sur


les points d'arrt

Rassignation

Attributs pour blocs et pour paramtres

Fonctions supplmentaires :

Introduction aux types de donnes et de


paramtres

Utilisation de multi-instances

Conditions pralables au chargement

Test avec la visualisation dtat du programme

Informations sur le test en mode pas pas et sur


les points d'arrt

Rassignation

Attributs pour blocs et pour paramtres

Affectation et dition de messages sur bloc

Configuration de messages PCS7

Traduction et dition de textes destins


l'utilisateur

Affectation d'attributs C+C aux paramtres FB

5-13

Dmarrage et utilisation du programme

Icne

Objets dans le dossier Slection de fonctions importantes


Blocs
UDT (Types de
donnes utilisateur)

DB (Blocs de donnes)

SFC (Fonctions
systme)

Cration de blocs

Principes de la programmation dans des sources


LIST

Introduction aux types de donnes et de


paramtres

Utilisation de types de donnes utilisateur pour


l'accs aux donnes

Attributs pour blocs et pour paramtres

Vue des donnes de blocs de donnes

Vue des dclarations de blocs de donnes

Conditions pralables au chargement

Etat du programme de blocs de donnes

Introduction aux types de donnes et de


paramtres

Utilisation de multi-instances

Attributs pour blocs et pour paramtres

Affectation et dition de messages sur blocs


(uniquement DB d'instance)

Configuration de messages PCS7 (uniquement


DB d'instance)

Traduction et dition de textes destins


l'utilisateur (uniquement DB d'instance)

Conditions pralables au chargement

Attributs pour blocs et pour paramtres

Aide sur les blocs

SFB (Blocs fonctionnels


systme)

Table de variables

5-14

Conditions pralables au chargement


Attributs pour blocs et pour paramtres

Affectation et dition de messages sur bloc

Configuration de messages PCS7

Traduction et dition de textes destins


l'utilisateur

Aide sur les blocs

Marche suivre pour la visualisation et le forage


avec des tables de variables

Introduction au test avec des tables de variables

Introduction la visualisation de variables

Introduction au forage de variables

Introduction au forage permanent de variables

Programmer avec STEP 7 V5.1


A5E00069874-03

Dmarrage et utilisation du programme

Icne

Objets dans le dossier Slection de fonctions importantes


Blocs
Donnes systme
(SDB)

5.2.8

Les SDB ne sont dits que de manire indirecte


l'aide de fonctions de :

Introduction la configuration du matriel

Proprits des sous-rseaux et des participants


la communication

Prsentation : communication par donnes


globales

Affectation et dition de messages sur


mnmoniques

Conditions pralables au chargement

Objet Dossier Sources


Un dossier Sources contient les programmes source sous forme de texte.

Position dans la vue du projet

Projet
Station
Module programmable

Programme S7
Sources

Objet Projet

Objet Station

Objet Module programmable

Objet Programme S7/M7

Objet Dossier Sources

Objet Dossier Blocs

Blocs

Icne

Dossier d'objets

Slection de fonctions importantes

Dossier Sources

Principes de la programmation dans les sources


LIST

Exportation dune source

Importation dune source

Programmer avec STEP 7 V5.1


A5E00069874-03

5-15

Dmarrage et utilisation du programme

Icne

Objets dans le
dossier Sources

Slection de fonctions importantes

Source
(p. ex. source LIST)

Principes de la programmation dans les sources


LIST

Cration dune source LIST

Insertion de modles de blocs dans une source


LIST

Insertion du code source de blocs existants dans


des sources LIST

Vrification de la cohrence dune source LIST

Compilation dune source LIST

Gnration dune source LIST partir de blocs

Exportation dune source

Importation dune source

Cration d'un modle de rseau

Insertion d'un modle de rseau dans un


programme

Modle de rseau

5.2.9

Programme S7/M7 sans station ni CPU


Vous avez la possibilit de crer des programmes sans avoir pralablement configur une
station SIMATIC. Dans un premier temps, vous pouvez ainsi programmer indpendamment
du module programmer et de ses paramtres.

Cration du programme S7/M7


1. Ouvrez le projet correspondant en choisissant la commande Fichier > Ouvrir ou activez
la fentre du projet.
2. Slectionnez le projet dans la fentre du projet de la vue hors ligne.
3. Selon le systme cible auquel le programme cr est destin, choisissez la commande
correspondante :
Insertion > Programme > Programme S7, si votre programme doit ultrieurement tre
excut sur un automate programmable SIMATIC S7.
Insertion > Programme > Programme M7, si votre programme doit ultrieurement tre
excut sur un systme dautomatisation SIMATIC M7.
Le programme S7/M7 est insr est plac directement sous le projet dans la fentre du
projet. Il contient un dossier pour les blocs ainsi quune table des mnmoniques vide. Vous
pouvez prsent crer et programmer des blocs.

5-16

Programmer avec STEP 7 V5.1


A5E00069874-03

Dmarrage et utilisation du programme

Affectation un module programmable


Des programmes insrs indpendamment dun module peuvent tre affects
ultrieurement un module dans la fentre du projet. Il suffit de copier ou dplacer ces
programmes par glisser-lcher sur licne du module.

Insertion dans une bibliothque


Lorsque le programme est destin au systme cible SIMATIC S7 et doit tre utilis de
manire multiple tel un "regroupement de logiciel", vous pouvez galement linsrer dans
une bibliothque. Pour le test, les programmes doivent cependant se trouver directement
sous un projet afin que vous puissiez tablir une liaison au systme cible.

Accs un systme cible


Slectionnez la vue en ligne du projet. Dans la bote de dialogue des proprits du
programme, vous pouvez effectuer le paramtrage des adresses.

Nota
Lorsque vous supprimez des stations ou modules programmables, le systme vous
demande si vous souhaitez galement supprimer le programme quils contiennent. Si vous
rpondez par non, le programme est directement accroch sous le projet en tant que
programme sans station.

Programmer avec STEP 7 V5.1


A5E00069874-03

5-17

Dmarrage et utilisation du programme

5.3
5.3.1

Interface utilisateur et manipulation


Concept dutilisation

But : utilisation simple


Linterface utilisateur graphique doit permettre une approche aussi intuitive que possible.
Vous y trouvez donc des objets que vous connaissez de par votre environnement de travail
quotidien, comme les stations, les modules, les programmes et les blocs.
Les actions que vous excutez lorsque vous utilisez STEP 7 comprennent la cration, la
slection et la manipulation de tels objets.

Diffrences par rapport au concept orient application


Selon le concept dutilisation traditionnel, qui est orient application, il fallait d'abord trouver
quelle tait l'application ncessaire la rsolution d'un travail prcis et appeler ensuite cette
application.
Selon le concept oriente objets, il s'agit de savoir quel objet doit tre trait, puis d'ouvrir et
de traiter cet objet.
Ainsi, avec ce concept, il n'est plus ncessaire de connatre une syntaxe de commande
particulire. Les objets sont reprsents, sur l'interface utilisateur, par des icnes que vous
pouvez ouvrir par commandes de menu ou clics de la souris.
A l'ouverture d'un objet, la composante logicielle approprie est automatiquement appele
pour afficher ou traiter le contenu de l'objet.

Pages suivantes ...


Les pages suivantes prsentent les oprations fondamentales pour le traitement des objets.
Familiarisez-vous ds maintenant avec ces oprations fondamentales qui vous seront
toujours indispensables par la suite.

5.3.2

Structure de la fentre
Les composants standard d'une fentre sont prsents dans la figure suivante.
Boutons pour
Titre de la fentre active
Menu systme
Icne Pleine page
(Pleine page/Fermeture etc.)

Fermeture

Barre de titre
Barre des menus
Barre doutils

Barre dtat

5-18

Programmer avec STEP 7 V5.1


A5E00069874-03

Dmarrage et utilisation du programme

Barre de titre et barre des menus


La barre de titre et la barre des menus se situent toujours au bord suprieur de la fentre. La
barre de titre contient le titre de la fentre et les boutons permettant d'influer sur la fentre.
La barre des menus contient tous les menus disponibles dans la fentre.

Barre doutils
La barre d'outils contient des boutons vous permettant d'accder rapidement par clic de la
souris aux commandes de menu disponibles qui sont le plus souvent utilises. Une
information succincte sur la fonction de chaque bouton s'affiche lorsque vous positionnez le
curseur pendant un court instant sur le bouton, une information supplmentaire s'affiche
dans la barre d'tat.
Quand l'accs un bouton n'est pas possible dans la configuration en cours, celui-ci est
estomp.

Barre d'tat
La barre d'tat affiche des informations contextuelles.

5.3.3

Elments dans les botes de dialogue

Saisie dans les botes de dialogue


Vous pouvez entrer dans les botes de dialogue les informations ncessaires pour
l'excution de certains travaux. La figure suivante prsente, l'aide d'un exemple, les
composants les plus courants des botes de dialogue.

Zones de texte pour la


saisie de texte via le
clavier.

Rechercher/Remplacer
Rechercher :

Remplacer par:

A1.0

A2.0

Mot entier seulement


Respecter majuscules/minuscules

Zones doption rondes


pour effectuer une
slection parmi plusieurs
possibilits.
Zones doptions carres
pour slectionner une ou
plusieurs possibilits.

Zone de recherche

Rechercher seulement

En aval du curseur
En amont du curseur
Tout
Slection

0.Tout
1.Composante
2.Composante
3.Composante
4.Composante
5.Composante

Rechercher dans colonne


tout

Boutons

Rechercher

Remplacer

Remplacer tout

Fermer

Aide

Zones de listes, zones de combinaisons


Certaines zones de texte sont suivies d'une flche vers le bas. Cette flche signifie qu'il
existe d'autres choix pour la zone correspondante. Cliquez sur la flche pour ouvrir une zone
de liste ou de combinaison. Si vous cliquez alors sur une entre, cette entre sera
automatiquement reprise dans la zone de texte.
Programmer avec STEP 7 V5.1
A5E00069874-03

5-19

Dmarrage et utilisation du programme

Botes de dialogue onglets


Le contenu de certaines botes de dialogue est organis par pages afin d'assurer une
meilleure vue d'ensemble (voir la figure suivante).
Etat du module

Chemin : test01\Programme
Etat :
Dsignation
des onglets

Gnral

Etat de fonctionnement de la CPU : ARRET


Etat de fonctionnement du module :

Tampon diagno Mmoire Tps cycle

Horodatage Performances

Communication

Piles

Evnements

Nr.
1
2

Heure
09:15:22:842
18:00:22:378

Date
11.12.95
08.12.95

Evnement
Mise sous tension enregistre
ARRET par coupure secteur

Le nom des diffrentes pages est inscrit dans des onglets apparaissant en haut de la bote de
dialogue. Pour amener une page d'onglet au premier plan, il suffit de cliquer sur l'onglet.

5.3.4

Cration et manipulation d'objets


Quelques oprations de base sont identiques pour tous les objets. Nous allons d'abord les
rsumer, puis nous les considrerons comme acquises lorsque nous dcrirons les procds
dans les chapitres suivants de ce guide.
La squence normale de manipulation des objets est :
cration de l'objet,
slection de l'objet,
excution d'actions sur l'objet (par exemple, copie, suppression).

Chemin de nouveaux projets/ nouvelles bibliothques


Avant la premire cration de projets ou bibliothques, vous devriez dfinir le chemin de ces
objets. Choisissez cet effet la commande Outils > Paramtres. Dans la page donglet
"Gnral" de la bote de dialogue affiche, vous pouvez spcifier le chemin de cration des
nouveaux projets et des nouvelles bibliothques.

Cration d'objets
Lassistant de STEP 7 "Nouveau projet" vous aidera crer un nouveau projet et insrer
des objets. Pour l'appeler, choisissez la commande Fichier > Assistant "Nouveau projet".
Dans les botes de dialogue qui s'affichent, vous pouvez dfinir la structure de votre projet,
puis le faire crer par l'assistant.
Si vous prfrez ne pas avoir recours l'assistant, vous pouvez crer des projets et des
bibliothques l'aide de la commande Fichier > Nouveau. Ces objets constituent la tte
d'une bjets. Vous pouvez crer tous les autres objets condition bien sr qu'ils ne le
soient pas automatiquement l'aide des commandes du menu "Insertion". Les modules
d'une station SIMATIC reprsentent une exception, car ils sont crs uniquement dans le
cadre de la configuration matrielle et par l'assistant "Nouveau projet".

5-20

Programmer avec STEP 7 V5.1


A5E00069874-03

Dmarrage et utilisation du programme

Ouverture dobjets
Vous pouvez ouvrir un objet dans la vue de dtail de plusieurs manires :
effectuez un double clic sur l'icne de l'objet ou
slectionnez l'objet puis la commande Edition > Ouvrir lobjet. Ceci ne s'applique qu'
des objets qui ne sont pas des dossiers.
Une fois un objet ouvert, vous pouvez crer ou modifier son contenu.
Lorsque vous ouvrez un objet de ce second type, son contenu est reprsent pour
traitement par une composante logicielle approprie dans une nouvelle fentre. Vous ne
pouvez pas modifier des objets dont le contenu est dj utilis un autre endroit.

Nota
Exception : Les stations reprsentent les dossiers des modules programmables (par double
clic) et de la configuration de la station. Lorsque vous effectuez un double clic sur l'objet
"Matriel", l'application de configuration du matriel dmarre. Le mme rsultat s'obtient par
slection de la station puis activation de la commande Edition > Ouvrir lobjet.

Constitution d'une hirarchie d'objets


Faites-vous tablir la hirarchie des objets par l'assistant "Nouveau projet". Lorsque vous
ouvrez un dossier, les objets qu'il contient dj s'affichent l'cran. Le menu "Insertion" vous
permet alors de crer d'autres sous-objets, par exemple d'autres stations dans un projet. Ce
menu ne met votre disposition que les commandes d'insertion de ceux des objets qui sont
autoriss dans le dossier en cours.

Dfinition des proprits d'un objet


Les proprits sont des donnes de l'objet qui dterminent son comportement. La bote de
dialogue de dfinition des proprits d'un objet s'affiche automatiquement quand vous crez
un objet et qu'il faut en dfinir les proprits. Mais il est aussi possible de modifier les
proprits aprs coup.
La commande Edition > Proprits de l'objet appelle une bote de dialogue permettant de
lire ou de dfinir les proprits pour l'objet choisi.
La commande Edition > Proprits spcifiques de l'objet appelle des botes de dialogue
permettant de saisir les donnes requises pour le contrle-commande ainsi que pour la
configuration des messages.
Par exemple, pour pouvoir appeler les proprits spcifiques d'un bloc pour le
contrle-commande, il faut avoir dfini ce bloc comme bloc de contrle-commande,
c'est--dire avoir avoir crit l'attribut systme "s7_m_c" avec la valeur "true" dans la page
d'onglet "Attributs" des proprits du bloc.

Programmer avec STEP 7 V5.1


A5E00069874-03

5-21

Dmarrage et utilisation du programme

Nota
Vous ne pouvez ni afficher, ni modifier les proprits du dossier "Donnes systme et
de lobjet "Matriel.
Vous ne pouvez pas crire dans les botes de dialogue des proprits dun projet
protg en criture. Dans ce cas, les zones de saisie sont estompes.
Lorsque vous affichez les proprits de modules programmables, vous ne pouvez pas
diter les paramtres affichs pour des raisons de cohrence. Pour diter les
paramtres, vous devez ouvrir lapplication "Configuration du matriel.
Lorsque vous modifiez les paramtres dobjets sur loutil de dveloppement (p. ex. les
donnes de paramtrage dun module), ils ne sont pas immdiatement actifs sur le
systme cible. En effet, les blocs de donnes systme dans lesquels ces paramtres
sont enregistrs doivent se trouver sur le systme cible.
Lorsque vous chargez un programme utilisateur complet, les blocs de donnes systme
sont automatiquement chargs. Si aprs avoir charg un programme, vous effectuez
des modification du paramtrage, vous pouvez recharger lobjet Donnes systme, afin
damener les nouveaux paramtres dans le systme cible.
Il est vivement recommand dditer les dossiers uniquement dans STEP 7, car leur
structure physique peut tre diffrente que celle que vous voyez dans SIMATIC
Manager.

Couper, coller ou copier


Vous pouvez couper, coller et copier la plupart des objets comme vous le faites sous
Windows. Les commandes correspondantes appartiennent au menu "Edition".
Vous pouvez galement copier des objets l'aide de la fonction "glisser-lcher"
(Drag&Drop). Si vous pointez sur une destination incorrecte, le curseur se change en signe
d'interdiction.
Lorsque vous copiez un objet, toute la hirarchie en aval de cet objet est galement copie.
Cela permet d'utiliser nouveau des composants conus pour une autre solution
d'automatisation.

Nota
Il nest pas possible de copier la table des liaisons dans le dossier "Liaisons". Lorsque vous
copiez des listes de textes destins l'utilisateur, veillez ce que seules soient reprises les
langues qui sont installes dans l'objet cible.

La marche suivre pour la copie est dcrite tape par tape sous Copie d'objets.

Renommer des objets


SIMATIC Manager attribue des noms standardiss aux objets nouvellement colls. Ces
noms sont gnralement forms partir du type de l'objet et (lorsque plusieurs objets de ce
type sont crs dans le mme dossier) d'un numro en cours.
Ainsi, par exemple, le premier programme S7 est nomm "Programme S7 (1)", le deuxime
"Programme S7 (2)". La table des mnmonique, quant elle, s'appelle simplement
"Mnmoniques" puisqu'elle n'existe qu'une seule fois dans chaque dossier de niveau
hirarchique suprieur.
Vous avez la possibilit de renommer la plupart des objets (et aussi projets) afin de leur
attribuer une dsignation plus explicite.

5-22

Programmer avec STEP 7 V5.1


A5E00069874-03

Dmarrage et utilisation du programme

Pour les projets, les noms de rpertoire du chemin ne doivent pas excder 8 caractres.
Sinon, des problmes risqueraient de se poser lors de l'archivage et de l'utilisation de
"C pour M7" (compilateur Borland).
Les noms d'objets modifiables peuvent directement tre dits ou modifis l'aide des
proprits d'objet.
Edition directe :
Si vous cliquez deux fois lentement sur le nom d'un objet slectionn, un cadre apparat
autour du texte. Vous pouvez alors diter ce texte via le clavier.
Modification l'aide des proprits de l'objet :
Slectionnez l'objet dsir et choisissez la commande Edition > Proprits de l'objet.
Rebaptisez l'objet dans la bote de dialogue. A la fermeture de cette bote de dialogue,
l'objet est rebaptis et apparat avec son nouveau nom.
Lorsqu'il n'est pas permis de modifier un nom d'objet, la zone de saisie est reprsente en
gris dans la bote de dialogue, le nom en cours est affich et la saisie est impossible.

Nota
Si, durant l'dition, vous dplacez le curseur hors de la zone du nom pour effectuer une
autre action (par exemple slectionner une commande), l'dition est interrompue.S'il est
valide, le nom modifi est repris.

La marche suivre pour renommer un objet est dcrite tape par tape sous Renommer un
objet.

Dplacer un objet
SIMATIC Manager vous permet de dplacer des objets d'un dossier un autre, mme si ce
dernier se trouve dans un autre projet. Lorsque vous dplacez un dossier, tout son contenu
est galement dplac.

Nota
Il n'est pas possible de dplacer les objets suivants :

Liaisons

Fonctions systme (SFC) et blocs fonctionnels systme (SFB) dans la vue en ligne

Blocs de donnes systme (SDB) dans la vue en ligne

Le marche suivre pour le dplacement est dcrite tape par tape dans Dplacement
d'objets.

Trier des objets


Dans l'affichage de dtail (commande Affichage > Dtails), vous pouvez trier les objets
d'aprs leurs attributs. Cliquez cet effet sur l'en-tte de colonne correspondant l'attribut
souhait. Un nouveau clic inverse l'ordre de tri. Les blocs sont tris d'aprs le numro qui
leur est attribu, par exemple FB1, FB2, FB11, FB12, FB21, FC1.

Programmer avec STEP 7 V5.1


A5E00069874-03

5-23

Dmarrage et utilisation du programme

Ordre de tri prdfini (tri par dfaut) :


Lorsque vous ouvrez un projet pour la premire fois, les objets s'affichent d'aprs un ordre
de tri prdfini dans l'affichage "Dtails". Exemples :
Les blocs sont affichs dans l'ordre "Donnes systme, OB, FB, FC, DB, UDT, VAT,
SFB, SFC".
Dans les projets s'affichent d'abord toutes les stations puis les programmes S7.
Le critre de tri prdfini pour l'affichage de dtail ne correspond donc pas un classement
alphabtique croissant ou dcroissant.

Restauration du tri par dfaut :


Aprs avoir effectu un tri, par exemple par clic sur l'en-tte de colonne "Nom de l'objet",
vous pouvez nouveau restaurer l'odre prdfini en procdant de la manire suivante :
cliquez sur l'en-tte de colonne "Type" dans l'affichage de dtail,
quittez puis ouvrez nouveau le projet.

Suppression dobjets
Vous pouvez supprimer aussi bien des dossiers que des objets. Lorsque vous supprimez un
dossier, tous les objets qu'il contient le sont galement.
Il n'est pas possible d'annuler une opration de suppression. Si vous n'tes pas certain de
ne plus avoir besoin d'un objet, il est prfrable d'archiver prcdemment l'ensemble du
projet.

Nota
Il nest pas possible de supprimer les objets suivants :
Liaisons
Blocs de donnes systme (SDB) dans la vue en ligne
Fonctions systme (SFC) et blocs fonctionnels systme (SFB) dans la vue en ligne

La marche suivre pour la suppression est dcrite tape par tape dans Suppression
d'objets.

5.3.5

Slection d'objets dans les botes de dialogue


La slection d'objets dans une bote de dialogue est une opration que vous devez effectuer
diffrentes tapes.

Appel d'une bote de dialogue


Une bote de dialogue est, par exemple, appele dans la configuration matrielle par des
commandes telles que Station > Nouvelle.../Ouvrir... ; la fentre d'accs "SIMATIC Manager"
constitue une exception.

5-24

Programmer avec STEP 7 V5.1


A5E00069874-03

Dmarrage et utilisation du programme

Composition d'une bote de dialogue


Une bote de dialogue offre les possibilits de slection prsentes par la figure suivante.

Affichage : ici vous


slectionnez la vue
standard ou la vue
technologique.

En ligne/Hors ligne : pour lentre Projet


exclusivement, vous pouvez commuter entre
la vue hors ligne (choix dans les donnes de
projet sur votre PG/PC) et la vue en ligne
(choix dans les donnes de projet sur le
systme dautomatisation connect).
Parcourir : cliquez sur ce
bouton pour rechercher des
objets qui ne font pas partie
de la liste.

Entre : ici, vous slectionnez le


type de lobjet dans lequel vous
souhaitez dbuter la recherche
(p. ex. "Projet", "Bibliothque", mais
aussi des entres qui permettent
laccs des lecteurs ou des
systmes dautomatisation
connects).

Ouvrir
Entre :

Affichage :

Projet

Vue standard

Nom :
modle

Projet

Chemin daccs:
C:\SIEMENS\STEP7\E

modle

En ligne

Hors ligne

Parcourir

Rseau MPI 1

Station SIMATIC 300 1

Sous-rseau SINEC L2 1

Programme S7

Sous-rseau SINEC H1 1

Vue du projet : affiche


larborescence des objets
qui eux-mmes peuvent
contenir dautres objets.

Vue dtaille : affiche le contenu


de lobjet slectionn gauche.

Nom de lobjet :
Type dobjet :

OK

Nom : les objets connus du type


indiqu dans Entre sont
affichs dans une zone de liste.
Vous pouvez slectionner un
nom dans la liste ou le saisir
directement via le clavier.

Programmer avec STEP 7 V5.1


A5E00069874-03

Editables

Annuler

Aide

Type dobjet : ici vous pouvez indiquer un


critre de filtrage pour la liste dobjets.
Vous pouvez ainsi restreindre le nombre
dobjets affichs.
Nom de lobjet : lorsque vous
slectionnez un objet, son nom est
entr ici. Vous pouvez galement
saisir directement le nom souhait.

5-25

Dmarrage et utilisation du programme

5.3.6

Historique des sessions


SIMATIC Manager est en mesure de mmoriser le contenu des fentres, cest--dire les
projets et bibliothques ouverts, ainsi que la disposition des fentres.
La commande Outils > Paramtres vous permet de dfinir si le contenu et la disposition
des fentres doivent tre enregistrs en fin de la session. Dans ce cas, ils seront
restaurs au dbut de la session suivante. Dans les projets ouverts, le curseur se
positionne sur le dernier dossier ouvert.
La commande Fentre > Enregistrer la disposition enregistre le contenu et la
disposition actuels de la fentre.
La commande Fentre > Restaurer la disposition restaure le contenu et la disposition
de la fentre prcdemment enregistrs laide de la commande Fentre > Enregistrer
la disposition. Le curseur se positionne sur le dernier dossier ouvert.

Nota
Le contenu de la fentre de projets en ligne, celui de la fentre "Partenaires accessibles" et
celui de la fentre "Carte mmoire S7" ne sont pas enregistrs.
Les mots de passe ventuellement saisis pour laccs aux systmes cible (S7- 300/S7-400)
ne sont pas enregistrs au-del de la fin de la session.

5.3.7

Modification de la disposition des fentres de table de mnmoniques


Pour ordonner l'une derrire l'autre toutes les fentres affiches des tables de mnmoniques
ouvertes, choisissez la commande )HQrWUH!'LVSRVLWLRQ!&DVFDGH.
Pour disposer rgulirement, l'une sous l'autre, toutes les fentres affiches des tables de
mnmoniques ouvertes, choisissez la commande Fentre > Disposition > Mosaque
horizontale.
Pour disposer rgulirement, l'une ct de l'autre, toutes les fentres affiches des tables
de mnmoniques ouvertes, choisissez la commande Fentre > Disposition > Mosaque
verticale.
Pour aligner rgulirement, au bas de la fentre principale, les fentres rduites leur icne,
choisissez la commande Fentre > Rorganiser les icnes.

5-26

Programmer avec STEP 7 V5.1


A5E00069874-03

Dmarrage et utilisation du programme

5.3.8

Enregistrement et restauration de la disposition des fentres


Les applications de STEP 7 offrent la possibilit d'enregistrer la disposition actuelle des
fentres afin de pouvoir la restaurer tout moment. Ce paramtrage peut tre ralis
l'aide de la commande Outils > Paramtres > Gnral .

Informations sauvegardes
Lorsque vous effectuez l'enregistrement de la disposition des fentres, les informations
suivantes sont sauvegardes :
position de la fentre principale,
projets et bibliothques ouverts ainsi que position des fentres correspondantes,
ventuellement ordre de superposition des fentres.

Nota
Le contenu des fentres de projets en ligne, celui de la fentre "Partenaires accessibles" et
celui de la fentre "Carte mmoire S7" ne sont pas enregistrs.

Enregistrement de la disposition des fentres


Pour enregistrer la disposition actuelle des fentres, choisissez la commande Fentre >
Enregistrer la disposition.

Restauration de la disposition des fentres


Pour restaurer une disposition des fentres enregistre, choisissez la commande Fentre >
Restaurer la disposition.

Nota
Lors de la restauration d'une fentre, seule la partie de la hirarchie contenant l'objet qui
tait slectionn lors de l'enregistrement sera reprsente en dtail.

Programmer avec STEP 7 V5.1


A5E00069874-03

5-27

Dmarrage et utilisation du programme

5.4
5.4.1

5.4.2

Utilisation du clavier
Utilisation du clavier
Dsignation internationale des touches

Dsignation franaise des touches

HOME

ORIGINE

END

FIN

PAGE-UP

PG.PREC

PAGE-DOWN

PG.SUIV

CTRL

CTRL

ENTER

ENTREE

DEL

SUPPR

INSERT

INSER

Combinaisons de touches pour les commandes de menu


Vous pouvez dclencher chaque commande en tapant la combinaison de la touche ALT
avec la lettre souligne approprie.
Appuyez successivement sur les touches suivantes :
touche ALT,
lettre souligne dans le menu dsir (par exemple, ALT, F pour le menu Fichier si le
menu Fichier figure dans la barre des menus). Le menu s'ouvre.
lettre souligne dans la commande dsire (par exemple N pour la commande Nouveau).
S'il s'agit d'une commande comportant des sous-menus, ceux-ci s'ouvriront. Continuez
taper les lettres soulignes, jusqu' ce que la commande souhaite soit complte.
La commande est dclenche une fois la dernire lettre de la combinaison de touches
saisie.

Exemples :

5-28

Commandes

Touches

Fichier > Archiver

ALT, F, A

Fichier > Ouvrir

ALT, F, O

Programmer avec STEP 7 V5.1


A5E00069874-03

Dmarrage et utilisation du programme

Equivalences clavier
Fonction

Equivalence

Nouveau

(menu Fichier)

CTRL + N

Ouvrir

(menu Fichier)

CTRL + O

Fermer

(menu Fichier)

Compiler

(menu Fichier)

CTRL + B

Imprimer

(objet) (menu Fichier)

CTRL + P

Quitter

(menu Fichier)

ALT + F4

Copier

(menu Edition)

CTRL + C

Couper

(menu Edition)

CTRL + X

Coller

(menu Edition)

CTRL + V

Effacer

(menu Edition)

SUPPR

Slectionner tout

(menu Edition)

CTRL + A

Proprits de l'objet

(menu Edition)

ALT + ENTREE

Ouvrir un objet

(menu Edition)

CTRL + ALT + O

Charger

(menu Systme cible)

CTRL + L

Etat de fonctionnement

(menu Systme cible)

CTRL + I

Actualiser

(menu Affichage)

F5

Pour actualiser l'affichage d'tat des CPU visibles dans CTRL + F5


la vue en ligne
Paramtres

(menu Outils)

Donnes de rfrence, afficher


Disposition, Cascade

(menu Outils)

(menu Fentre)

CTRL + ALT + E
CTRL + ALT + R
MAJ + F5

Disposition, Mosaque horizontale (menu Fentre)

MAJ + F2

Disposition, Mosaque verticale

MAJ + F3

Aide contextuelle

(menu Fentre)

(menu d'aide ?)

F1
(S'il y a un contexte, par exemple
si une commande est
slectionne, la rubrique d'aide
correspondante s'affiche. Sinon,
c'est le sommaire de l'aide qui
s'affiche.)

Programmer avec STEP 7 V5.1


A5E00069874-03

5-29

Dmarrage et utilisation du programme

5.4.3

Combinaisons de touches pour le dplacement du curseur

Dplacement du curseur dans la barre des menus ou dans un menu contextuel


Fonction

Touches

Activer la barre des menus

F10

atteindre le menu contextuel

MAJ + F10

Au menu dont le nom contient le caractre


soulign X

ALT + X

Choisir une commande subordonne

Lettre souligne dans le nom de commande

Dplacement d'un menu vers la gauche

Flche vers la gauche

Dplacement d'un menu vers la droite

Flche vers la droite

Dplacement d'un menu vers le haut

Flche vers le haut

Dplacement d'un menu vers le bas

Flche vers le bas

Activer la commande slectionne

ENTREE

Quitter le menu ou revenir au texte

ECHAP

Dplacement du curseur lors de l'dition de texte

5-30

Fonction

Touches

Une ligne vers le haut ou un caractre vers


la gauche dans un texte d'une seule ligne

Flche vers le haut

Une ligne vers le bas ou un caractre vers


la droite dans un texte d'une seule ligne

Flche vers le bas

Un caractre vers la droite

Flche vers la droite

Un caractre vers la gauche

Flche vers la gauche

Un mot vers la droite

CTRL + Flche vers la droite

Un mot vers la gauche

CTRL + Flche vers la gauche

Au dbut de la ligne

ORIGINE

A la fin de la ligne

FIN

Une page d'cran vers le haut

PAGE PRECEDENTE

Une page d'cran vers le bas

PAGE SUIVANTE

Au dbut du texte

CTRL + ORIGINE

A la fin du texte

CTRL + FIN

Programmer avec STEP 7 V5.1


A5E00069874-03

Dmarrage et utilisation du programme

Dplacement du curseur dans les botes de dialogue


Fonction

Touches

Au champ de saisie suivant (de gauche


droite et de haut en bas)

TAB

Au champ de saisie prcdent

MAJ + TAB

Au champ de saisie dont le nom contient le


caractre soulign X

ALT + X

Slectionner dans une liste de choix

TOUCHES DE DIRECTION

Ouvrir une liste de choix

ALT + Flche vers le bas

Slectionner un objet ou en annuler la


slection

ESPACE

Confirmer la saisie et fermer la bote de


dialogue (bouton "OK")

ENTREE

Fermer la bote de dialogue sans enregistrer ECHAP


les choix (bouton "Annuler").

5.4.4

5.4.5

Combinaisons de touches pour la slection de texte

Fonction

Touches

Un caractre vers la droite

MAJ + flche vers la droite

Un caractre vers la gauche

MAJ + flche vers la gauche

Jusqu'au dbut de la ligne

MAJ + ORIGINE

Jusqu' la fin de la ligne

MAJ + FIN

Une ligne de texte vers le haut

MAJ + flche vers le haut

Une ligne de texte vers le bas

MAJ + flche vers le bas

Une page d'cran vers le haut

MAJ + PG.PREC

Une page d'cran vers le bas

MAJ + PG.SUIV

Le texte jusqu'au dbut du fichier

CTRL + MAJ + ORIGINE

Le texte jusqu' la fin du fichier

CTRL + MAJ + FIN

Combinaisons de touches pour accder l'aide en ligne

Fonction

Touches

Ouvrir laide

F1
(Sil y a un contexte, par exemple si une
commande est slectionne, la rubrique
d'aide correspondante s'affiche. Sinon, c'est
le sommaire de l'aide qui s'affiche.)

Activer le bouton "Point d'interrogation"


afin d'obtenir une aide contextuelle

MAJ + F1

Fermer la fentre d'aide et revenir celle


de l'application

ALT + F4

Programmer avec STEP 7 V5.1


A5E00069874-03

5-31

Dmarrage et utilisation du programme

5.4.6

Combinaisons de touches pour la bascule entre les diffrents types de


fentres

Fonction

Touches

Bascule d'un volet un autre

F6

Bascule au volet prcdent, en l'absence


d'une fentre ancre

MAJ + F6

Bascule entre la fentre du document et la


fentre ancre au document (par exemple
fentre de dclaration des variables)

MAJ + F6

En l'absence d'une fentre ancre, la


bascule s'effectue au volet prcdent.
Bascule entre des fentres de document

CTRL + F6

Bascule la fentre de document


prcdente

MAJ + CTRL + F6

Bascule entre des fentres autres que de


documents (fentres d'applications et
fentre qui y sont ancres ;

ALT + F6

lors du retour une fentre d'application,


la bascule s'effectue la dernire fentre
de document active)

5-32

Bascule la fentre autre que de


document prcdente

MAJ + ALT + F6

Fermer la fentre active

CTRL + F4

Programmer avec STEP 7 V5.1


A5E00069874-03

6.1

Cration et dition du projet

Structure du projet
Un projet permet de regrouper l'ensemble des programmes et donnes ncessaires
raliser une tche d'automatisation. Ces donnes englobent en particulier :
les donnes de configuration pour la configuration matrielle et les donnes de
paramtrage pour les modules,
les donnes de configuration pour la communication par rseau et
les programmes pour modules programmables.
La tche principale dans la ralisation d'un projet, consiste prparer ces donnes et
effectuer la programmation.
Dans un projet, les donnes sont enregistres sous forme d'objets. Les objets sont
organiss l'intrieur d'un projet selon une structure arborescente (hirarchie du projet).
Dans la fentre du projet, cette structure hirarchique est reprsente de la mme manire
que dans l'Explorateur Windows 95/98/NT. Seules les icnes des objets sont diffrentes.
Le sommet de la hirarchie se compose comme suit :
1. Niveau :

projet

2. Niveau :

sous-rseaux, stations ou programmes S7/M7

3. Niveau :

dpend de l'objet correspondant du niveau 2.

Fentre de projet
La fentre de projet est partage en deux volets. Le volet gauche reprsente l'arborescence
du projet. Le volet droit affiche le contenu de l'objet slectionn dans le volet gauche dans le
mode d'affichage slectionn (grandes icnes, petites icnes, liste ou dtails) .
Pour afficher l'arborescence complte du projet, cliquez sur les cases affichant le signe
"Plus" dans la partie gauche de la fentre. Vous obtenez alors une reprsentation similaire
celle de la figure suivante.

Programmer avec STEP 7 V5.1


A5E00069874-03

6-1

Cration et dition du projet

L'objet "S7_Pro1" se trouve ici la tte de la hirarchie d'objet, comme icne pour
l'ensemble du projet. Il peut tre utilis pour afficher les proprits du projet et sert de
dossier aux rseaux (pour la configuration de rseaux), stations (pour la configuration
matrielle) ainsi qu'aux programmes S7 ou M7 (pour la cration du logiciel). Lorsque vous
slectionnez l'icne du projet, les objets que contient ce dernier sont affichs dans le volet
droit de la fentre de projet. Les objets la tte d'une telle hirarchie (projets mais aussi
bibliothques) constituent les points de dpart dans les botes de dialogue pour la slection
d'objets.

Vue du projet
Une fentre du projet vous permet d'afficher la structure du projet relative l'ensemble des
donnes sur l'outil de dveloppement dans la vue hors ligne, une autre fentre du projet
vous permettant d'afficher les donnes correspondantes sur le systme cible dans la vue en
ligne.
Vous pouvez galement slectionner la vue du gestionnaire de station, lorsque le logiciel
optionnel est install.

Nota
La configuration du matriel et des rseaux ne peut tre ralise que dans l'affichage hors
ligne.

6-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration et dition du projet

6.2
6.2.1

Cration d'un projet


Cration d'un projet
Pour raliser votre tche d'automatisation au sein d'un gestionnaire de projets, vous devez
d'abord crer un nouveau projet. Il sera cr dans le rpertoire que vous avez slectionn
pour les projets, lorsque vous avez choisi la commande Outils > Paramtres et longlet
"Gnral".

Nota
SIMATIC Manager vous permet d'attribuer des noms dont le nombre de caractres est
suprieur 8. Le nom du rpertoire du projet est tronqu aprs 8 caractres. Les noms de
projets doivent de ce fait se distinguer dans leur 8 premiers caractres. Aucune
diffrenciation n'est faite entre les majuscules et minuscules.

La marche suivre pour crer un projet est dcrite tape par tape dans Cration manuelle
d'un projet ou Cration d'un projet l'aide de l'assistant .

Cration d'un projet l'aide de l'assistant


Le plus simple pour crer un nouveau projet, c'est d'avoir recours l'assistant "Nouveau
projet". Pour l'appeler, choisissez la commande Fichier > Assistant "Nouveau projet". Il
vous posera les questions ncessaires dans des botes de dialogue et crera le projet pour
vous. Outre la station, la CPU, les dossiers Programmes, Sources et Blocs ainsi que l'OB1,
vous pouvez dj y slectionner les OB de traitement d'erreurs et d'alarmes.
La figure suivante illustre un exemple de projet cr l'aide de l'assistant.

Cration manuelle d'un projet


Vous avez galement la possibilit de crer un nouveau projet en choisissant la commande
Fichier > Nouveau dans SIMATIC Manager. Ce projet contient dj l'objet "Sous-rseaux
MPI".

Programmer avec STEP 7 V5.1


A5E00069874-03

6-3

Cration et dition du projet

Diffrentes faons de poursuivre


Vous disposez d'une grande libert d'action pour la suite du traitement de votre projet. Une
fois votre projet cr, vous pouvez par exemple poursuivre votre travail en
configurant d'abord le matriel, puis en crant le logiciel correspondant ou
en crant d'abord le logiciel indpendamment d'un matriel configur.

Solution 1 : commencer par configurer le matriel


Si vous souhaitez commencer par la configuration matrielle, procdez comme dcrit dans
le volume 2 du manuel "Configuration matrielle avec STEP 7". Aprs la configuration, les
programmes S7 ou M7 requis pour la cration du logiciel seront dj insrs. Poursuivez
ensuite en insrant les objets requis pour la cration du programme. Ecrivez ensuite le
logiciel destin aux modules programmables.

Solution 2 : commencer par crire le logiciel


Vous pouvez, mme sans configuration matrielle pralable, crer le logiciel et procder la
configuration ultrieurement. Pour saisir des programmes, il n'est pas ncessaire que la
configuration matrielle d'une station soit fixe.
Procdez de la manire suivante :
1. Insrez les dossiers du logiciel requis Programme S7/M7 sans station ni CPU dans votre
projet.
Vous dcidez uniquement si le dossier doit contenir des programmes pour du matriel S7
ou pour du matriel M7.
2. Ecrivez ensuite le logiciel destin aux modules programmables.
3. Configurez le matriel.
4. Aprs avoir configur le matriel, affectez le programme M7 ou S7 une CPU.

6.2.2

Insertion de stations
Dans un projet, la station reprsente la configuration matrielle de l'automate programmable
et contient les donnes pour la configuration et le paramtrage des divers modules.
Les nouveaux projets crs par l'assistant "Nouveau projet" contiennent dj une station.
Vous pouvez galement crer la station en choisissant la commande Insertion > Station.
Vous pouvez choisir les stations suivantes :
station SIMATIC 300,
station SIMATIC 400,
station SIMATIC H,
station SIMATIC PC,
PC/PG,
SIMATIC S5,
autre station, c'est--dire non SIMATIC S7/M7, SIMATIC S5.
Les stations sont alors insres avec une dsignation par dfaut (par exemple, station
SIMATIC300 (1), station SIMATIC300 (2), etc.). Vous pouvez remplacer ces dsignations
par un nom plus vocateur.
La marche suivre pour l'insertion est dcrite tape par tape dans Insertion d'une station.

6-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration et dition du projet

Ralisation de la configuration matrielle


Dans la configuration matrielle, vous utilisez un catalogue des modules pour dfinir la CPU
et tous les modules contenus dans sa commande. Vous dmarrez la configuration matrielle
par double clic sur la station.
Une fois que vous avez sauvegard et quitt la configuration matrielle, un programme S7
ou M7 est automatiquement cr comme dossier du logiciel ainsi qu'une table dew liaisons
(objet "Liaisons"), et ce pour chaque module programmable que vous avez cr lors de la
configuration. Les projets crs par l'assistant "Nouveau projet" contiennent dj ces objets.
La marche suivre pour la configuration est dcrite tape par tape dans Configuration du
matriel, des informations dtailles sont donnes dans Marche suivre pour la
configuration d'une station.

Cration de la table des liaisons


Une table de liaisons vide (objet "Liaisons") est automatiquement cre pour chaque module
programmable. Elle est utilise pour la dfinition de liaisons de communication entre
modules programmables au sein d'un rseau. A son ouverture apparat une fentre
contenant une table pour la dfinition de liaisons entre modules programmables.
Des informations dtailles sont donnes dans Mise en rseau de stations au sein dun
projet.

Etapes suivantes
Aprs avoir ralis la configuration matrielle, vous pouvez crer le logiciel pour vos
modules programmables (voir aussi Insertion d'un programme S7/M7).

6.2.3

Insertion dun programme S7/M7


Le logiciel destin aux modules programmables est stock dans des dossiers d'objets. Pour
les modules SIMATIC S7, un tel dossier d'objets s'appelle "ProgrammeS7", pour les
modules SIMATIC M7, "ProgrammeM7".
La figure suivante montre l'exemple d'un programme S7 dans un module programmable
d'une station SIMATIC 300.

Projet
Station SIMATIC 300
Modules programmables
Programme S7

Programmer avec STEP 7 V5.1


A5E00069874-03

6-5

Cration et dition du projet

Composants dj crs
Un programme S7/M7 est automatiquement gnr comme dossier du logiciel pour chaque
module programmable.
Dans un programme S7 figurent dj :
une table des mnmoniques (objet "Mnmoniques"),
un dossier "Blocs" pour les blocs, contenant le premier bloc,
un dossier "Sources" pour des programmes source.
Dans un programme M7 figurent dj :
une table des mnmoniques (objet "Mnmoniques"),
un dossier "Blocs".

Cration de blocs S7
Si vous souhaitez crire des programmes LIST, CONT ou LOG, vous slectionnez l'objet
"Blocs" dj cr et choisissez ensuite la commande Insertion > Bloc S7. Le menu suivant
vous permet de choisir le type de bloc : par exemple, bloc de donnes, type de donnes
utilisateur (UDT), fonction, bloc fonctionnel, fonction, bloc d'organisation, table des variables
(VAT).
Vous saisissez votre programme LIST, CONT ou LOG dans le bloc (vide) qui s'ouvre alors.
De plus amples informations sont donnes dans Marche suivre pour la cration de blocs
de code ainsi que dans les manuels traitant des langages LIST, CONT et LOG.

Nota
L'objet Donnes systme (SDB), que vous trouverez ventuellement dans des programmes
utilisateur, est cr par le systme. Vous pouvez l'ouvrir, mais vous ne pouvez pas en
modifier le contenu pour des raisons de cohrence. Il sert modifier la configuration aprs
le chargement d'un programme et charger ces modifications dans le systme cible.

Blocs tirs de bibliothques standard


Pour crer vos programmes utilisateur, vous pouvez aussi utiliser des blocs tirs des
bibliothques standard faisant partie du logiciel. Vous accdez aux bibliothques par la
commande Fichier > Ouvrir. L'aide en ligne vous donnera des renseignements
complmentaires sur l'utilisation des bibliothques standard ainsi que sur la cration de vos
propres bibliothques sous Utilisation de bibliothques.

Cration de sources et diagrammes CFC


Si vous souhaitez crer une source dans un langage de programmation donn ou un
diagramme CFC, vous slectionnez l'objet "Sources" ou "Diagrammes" dans le programme
S7 et activez ensuite la commande Insertion > Logiciel S7. Le menu suivant vous permet
de choisir la source correspondant au langage de programmation. Vous pouvez saisir le
programme une fois la source vide ouverte. De plus amples informations sont donnes dans
Principes de la programmation dans les sources LIST.

6-6

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration et dition du projet

Cration de programmes pour M7


Si vous souhaitez crer des programmes pour le systme d'exploitation RMOS d'un module
programmable de la gamme M7, vous slectionnez le programme M7 et choisissez la
commande Insertion > Logiciel M7. Le menu suivant vous permet de choisir l'objet
correspondant au langage de programmation ou au systme d'exploitation. Une fois l'objet
cr ouvert, vous parvenez l'environnement de dveloppement correspondant.

Cration de table des mnmoniques


Une table des mnmoniques vide (objet "Mnmoniques") est automatiquement gnre lors
de la cration d'un programme S7 ou M7. Son ouverture entrane galement celle de la
fentre de l'diteur de mnmoniques et l'affichage de la table des mnmoniques qu'elle
contient. De plus amples informations sont donnes dans Saisie de plusieurs mnmoniques
globaux dans la table des mnmoniques.

Insertion de sources externes


Vous pouvez crer et diter des fichiers source avec des diteurs ASCII quelconques. Il est
ensuite possible d'importer ces fichiers dans un projet et de les compiler en blocs
individuels.
Les blocs crs lors de la compilation d'une source importe sont placs dans le dossier
Blocs.
De plus amples informations sont donnes dans Insertion dune source externe.

Programmer avec STEP 7 V5.1


A5E00069874-03

6-7

Cration et dition du projet

6.3
6.3.1

Traitement dun projet


Traitement dun projet

Ouverture dun projet


Pour ouvrir un projet, choisissez dabord la commande Fichier > Ouvrir. Slectionnez
ensuite un projet dans les botes de dialogue suivantes. La fentre de projet s'ouvre alors.

Nota
Si ce projet ne figure pas dans la liste de projets propose, cliquez sur le bouton
"Parcourir". Dans la bote de dialoge correspondante, vous pouvez chercher d'autres
projets et reporter les projets trouvs dans la liste des projets. Vous pouvez modifier les
entres dans la liste de projets en choisissant la commande Fichier > Grer.

Copie dun projet


Vous copiez un projet en lenregistrant sous un autre nom via la commande Fichier >
Enregistrer sous .
Vous copiez les lments de projet comme les stations, programmes, blocs etc. en
choisissant la commande Edition > Copier.
La marche suivre pour copier un projet est dcrite tape par tape dans Copie d'un projet
et Copie d'un lment de projet.

Suppression dun projet


Vous supprimez un projet en choisissant la commande Fichier > Supprimer.
Vous supprimez des lments de projet comme les stations, programmes, blocs etc. en
choisissant la commande Edition > Effacer.
La marche suivre pour supprimer un projet est dcrite en dtail dans Suppression d'un
projet et Suppression d'un lment de projet.

6-8

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration et dition du projet

6.3.2

Gestion multilingue des textes


STEP 7 permet d'exporter des textes stocks dans un projet en une seule langue, pour les
faire traduire, puis les rimporter et les afficher dans la langue de traduction.
Les types de textes suivants autorisent cette gestion multilingue.
Commentaires et titres :
-

titres de bloc et commentaires de bloc,

titres de rseau et commentaires de rseau,

commentaires de ligne dans les programmes LIST,

commentaires tirs des tables de mnmoniques, des tables de dclaration de


variables, des types de donnes utilisateur et des blocs de donnes,

commentaires, noms d'tat et noms de transition dans les programmes HiGraph,

extensions des noms d'tape et des commentaires d'tape dans les programmes
GRAPH.

Textes affichs :
-

textes de message gnrs par STEP 7, GRAPH, HiGraph ou PDIAG,

bibliothques de textes systme.

Exportation
L'exportation est effectue pour tous les blocs et tables de mnmoniques se trouvant sous
l'objet slectionn. Un fichier d'exportation est gnr pour chaque type de texte. Il contient
une colonne pour la langue source et une pour la langue cible. Il est interdit de modifier les
textes dans la langue source.

Importation
L'importation consiste adopter dans le projet slectionn le contenu des colonnes de la
langue cible (colonne droite). Seuls sont adopts les textes pour lesquels la colonne de la
langue source contient un texte conforme un texte existant dans le projet.

Changement de langue
Vous pouvez choisir ici toutes les langues que vous avez indiques lors de l'importation
dans le projet slectionn. Le changement de langue s'applique aux objets slectionns.

Effacer langue
Lorsque vous effacez une langue, tous les textes traduits dans cette langue sont effacs
dans la base de donnes interne.
Il est recommand de toujours slectionner une langue de rfrence dans le projet. Il peut
par exemple s'agir de votre langue nationale. N'effacez jamais cette langue. Lors de
l'exportation et de l'importation, indiquez toujours cette langue de rfrence comme langue
source. Choisissez la langue cible que vous souhaitez.

Programmer avec STEP 7 V5.1


A5E00069874-03

6-9

Cration et dition du projet

Marche suivre

Assurez-vous que les langues requises


sont bien installes
(commande Outils > Langue de visuel).

Gnrez les fichiers d'exportation pour la


traduction (commande Outils > Gestion
multilingue des textes > Exporter).

Traduisez les textes.

Importez les fichiers traduits


(commande Outils > Gestion multilingue des
textes > Importer).

Choisissez la langue
dans laquelle afficher les textes
(commande Outils > Gestion multilingue des
textes > Changement de langue).

6-10

Programmer avec STEP 7 V5.1


A5E00069874-03

7.1

Dfinition de mnmoniques

Adressage absolu et adressage symbolique


Dans un programme STEP 7, vous utilisez des oprandes comme des signaux d'E/S, des
mmentos, des compteurs, des temporisations, des blocs de donnes et des blocs
fonctionnels. Vous pouvez accder ces oprandes par adressage absolu dans votre
programme. Toutefois, la lisibilit de vos programmes sera grandement amliore si vous
faites plutt appel des mnmoniques (par exemple, Moteur_A_Marche ou dsignations
usuelles dans le systme d'identification de votre secteur d'activit). Il est alors possible
d'accder aux oprandes de votre programme utilisateur via ces mnmoniques.

Adresse absolue
Une adresse absolue est compose d'un identificateur d'oprande et d'une adresse (par
exemple A 4.0, E 1.1, M 2.0, FB21).

Adressage symbolique
Vous pouvez structurer votre programme de manire plus lisible et faciliter ainsi la correction
d'erreurs en affectant des noms symboliques (mnmoniques) aux adresses absolues.
STEP 7 est en mesure de convertir automatiquement les mnmoniques dans les adresses
absolues requises. Si vous prfrez adresser des ARRAY, STRUCT, blocs de donnes,
donnes locales, blocs de code et types de donnes utilisateur de manire symbolique, vous
devez cependant d'abord affecter un mnmonique aux adresses absolues, avant de pouvoir
raliser l'adressage symbolique.
Vous pouvez par exemple affecter le mnmonique Moteur_Marche l'oprande A 4.0, puis
utiliser Moteur_Marche comme adresse dans une instruction de programme. L'adressage
symbolique vous permet de dterminer plus aisment dans quelle mesure des lments du
programme correspondent aux composants de votre projet de commande du processus.

Nota
Dans un mnmonique (dsignation d'une variable), l'utilisation successive de deux
caractres de soulignement n'est pas autorise (comme par exemple : Moteur_Marche).

Programmer avec STEP 7 V5.1


A5E00069874-03

7-1

Dfinition de mnmoniques

Assistance lors de la saisie dun programme


Dans les langages de programmation CONT, LOG et LIST, vous pouvez saisir les adresses,
paramtres et noms de blocs de manire absolue ou symbolique.
La commande Affichage > Reprsentation symbolique permet daller et venir entre
laffichage de ladressage absolu et celui de ladressage symbolique.
Pour faciliter la programmation utilisant ladressage symbolique, vous pouvez afficher les
adresses absolues et commentaires correspondant aux mnmoniques utiliss. Choisissez
cet effet la commande Affichage > Informations mnmonique. Aprs chaque instruction
LIST, la ligne de commentaire est remplace en consquence. Vous ne pouvez pas diter
l'affichage ; vous devez effectuer les modifications dans la table des mnmoniques ou dans
la table de dclaration des variables.
La figure suivante montre une informations sur mnmoniques dans le langage LIST.

FB 34 - <Hors ligne>
FB1003 : dclenchement dalarme
Rseau1 : ???
U "capteur1" "E1.0 Dpassement de temprature"
UN "boutonpoussoir2" "E1.2 Acquittement de lerreur"
= "tmoinon" "A4.0 Signal dalarme"

A l'impression d'un bloc, la reprsentation en cours de l'cran est imprime avec le


commentaire d'instruction ou le commentaire de mnmonique.

7-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Dfinition de mnmoniques

7.2

Mnmoniques globaux et mnmoniques locaux


Un mnmonique (nom symbolique) vous permet d'utiliser des dsignations parlantes la
place d'adresses absolues. En combinant l'usage de mnmoniques courts et de
commentaires explicites, vous rpondez la fois aux besoins d'une programmation concise
et d'une programmation bien documente.
L'on distingue les mnmoniques locaux des mnmoniques globaux.
Mnmoniques globaux
Domaine de
validit

Caractres
autoriss

ils sont valables dans l'ensemble du


programme utilisateur,

ils peuvent tre utiliss par tous les blocs,

leur signification est la mme dans tous


les blocs,

leur nom doit tre univoque dans


l'ensemble du programme utilisateur.

lettres, chiffres, caractres spciaux,

trmas l'exclusion de 0x00, 0xFF et des


guillemets,

Utilisation

Endroit de
dfinition

Mnmoniques locaux

ils sont connus uniquement


dans le bloc dans lequel ils ont
t dfinis,

vous pouvez utiliser le mme


nom dans diffrents blocs
des fins diffrentes.

lettres,

chiffres,

lorsque vous utilisez des caractres

spciaux dans un mnmonique, ce dernier


doit tre plac entre guillemets.

caractre de soulignement (_),

Vous pouvez dfinir des mnmoniques


globaux pour :

Vous pouvez dfinir des


mnmoniques locaux pour :

entres/sorties (E, EB, EW, ED, A, AB,


AW, AD)

entres, sorties de priphrie (PE, PA)

paramtres de blocs
(paramtres d'entre, de
sortie, d'entre/sortie),

mmentos (M, MB, MW, MD)

donnes statiques d'un blocs

temporisations (T)/ compteurs (Z)

donnes temporaires d'un bloc

blocs de code (OB, FB, FC, SFB, SFC)

blocs de donnes (DB)

types de donnes utilisateur

table des variables (VAT)

table des mnmoniques

Programmer avec STEP 7 V5.1


A5E00069874-03

table de dclaration des variables


du bloc

7-3

Dfinition de mnmoniques

7.3

Reprsentation des mnmoniques globaux et des


mnmoniques locaux
Dans la section des instructions d'un programme, vous pouvez distinguer les mnmoniques
globaux des mnmoniques locaux de la manire suivante :
Les mnmoniques de la table des mnmoniques (globaux) sont reprsents entre
guillemets (" ").
Les mnmoniques de la table de dclaration des variables du bloc (locaux) sont
prcds du signe "#".
Vous n'avez pas besoin de saisir vous-mme les guillemets ou le signe #. Le mnmonique
sera automatiquement complt aprs vrification de la syntaxe lors de la saisie du
programme en CONT, LOG ou LIST.
Toutefois, lorsque la confusion est possible, par exemple parce que des mnmoniques
identiques ont t utiliss dans la table des mnmoniques et dans la table de dclaration
des variables, vous devez identifier de manire explicite le mnmonique global que vous
souhaitez utiliser. En effet, le logiciel interprte les mnmoniques non identifis comme tant
des variables locales.
De plus, l'identification des mnmoniques globaux s'avre ncessaire lorsque ceux-ci
contiennent des caractres d'espacement.
Ces rgles et l'identification des mnmoniques valent galement pour la programmation
dans une source LIST. Dans le cas de la saisie oriente source, les identifications ne sont
pas compltes automatiquement, cependant elles ne sont requises que s'il y a un risque de
confusion.

Nota
La commande Affichage > Reprsentation symbolique permet daller et entre laffichage
des mnmoniques globaux dclars et celui des adresses absolues correspondantes.

7-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Dfinition de mnmoniques

7.4

Dfinition de la priorit de l'oprande


Dans la bote de dialogue des proprits du programme S7, vous pouvez dfinir si, une fois
la table des mnmoniques modifie, c'est le mnmonique ou la valeur absolue qui sera
dcisif l'ouverture des blocs. Dans les versions de STEP 7 antrieures V5, c'est toujours
la valeur absolue qui joue le premier rle ; de mme dans l'appel de bloc CALL.

Exemple
Un bloc enregistr contient l'instruction "U Mnmonique_A", Mnmonique_A
correspondant la valeur absolue E0.1 dans la table des mnmoniques. A prsent, vous
modifiez la table des mnmoniques, puis ouvrez une nouvelle fois le bloc. La priorit dfinie
pour l'oprande se rpercute de la manire suivante sur cette instruction :
Priorit de
l'oprande

Modification de
l'affectation
"Mnmonique_A =
E0.1"

Instruction aprs Signification


ouverture du bloc

Valeur
absolue

Mnmonique_A =
E0.2

U E0.1

C'est la valeur absolue E0.1 qui


s'affiche dans l'instruction,
puisqu'aucun mnmonique ne lui
est plus affect.

Valeur
absolue

Mnmonique_B =
E0.1

U
Mnmonique_B

Dans l'instruction, c'est le nouveau


mnmonique qui s'affiche pour la
valeur absolue E0.1 toujours
valable.

Mnmonique

Mnmonique_A =
E0.2

U
Mnmonique_A

L'instruction reste identique. Un


message indique l'affectation
modifie du mnmonique.

Mnmonique

Mnmonique_B =
E0.1

U
Mnmonique_A

L'instruction est repre comme


errone (caractres rouges),
puisque Mnmonique_A n'est plus
dfini.

Programmer avec STEP 7 V5.1


A5E00069874-03

7-5

Dfinition de mnmoniques

7.5
7.5.1

Table des mnmoniques pour mnmoniques globaux


Table des mnmoniques pour mnmoniques globaux
Dans la table des mnmoniques, vous dfinissez les mnmoniques globaux.
Une table des mnmoniques (objet "Mnmoniques") vide est automatiquement gnre
lorsque vous crez un programme S7 ou M7.

Domaine de validit
La table des mnmoniques vaut pour le module auquel le programme est associ. Si vous
voulez vous servir des mmes mnmoniques dans diffrentes CPU, vous devez vous-mme
faire en sorte que les entres correspondent dans les diffrentes tables de mnmoniques
(par exemple, par copie).

7.5.2

Structure et lments de la table des mnmoniques

Structure de la table des mnmoniques


Editeur de mnmoniques - Projet/Station SIMATIC300(1)/CPU314(1)/.../Mnmo
Tableau

Edition

Insertion Affichahe

Outils

Fentre

Projet/Station SIMATIC300(1)/CPU314(1)/.../Mnmoniques
D

O S

Mnmonique

Oprande

Type de donnes

Commentaire

Colonnes D/O/S/C
Vous pouvez voir dans ces colonnes si des proprits spcifiques ont t attribues au
mnmonique :
D signifie que des dfinitions d'erreur servant au diagnostic du processus ont t cres
pour le mnmonique avec le logiciel optionnel S7 PDIAG (V5).
O est la seconde lettre de contrle-commande et signifie que le mnmonique peut faire
l'objet de cette fonction dans WinCC.
S signifie qu'un message sur mnmonique (SCAN) a t affect au mnmonique.
C signifie que le mnmonique a des proprits servant la communication (ne peut tre
slectionn qu'avec NCM).

7-6

Programmer avec STEP 7 V5.1


A5E00069874-03

Dfinition de mnmoniques

Mnmonique
Le nom du mnmonique ne doit pas dpasser 24 caractres. Une table des mnmoniques
ne doit pas contenir plus de 16380 mnmoniques.
Vous ne pouvez pas affecter de mnmoniques aux oprandes de blocs de donnes (DBD,
DBW, DBB, DBX) dans la table des mnmoniques. Les noms de ces oprandes sont dfinis
par la dclaration dans les blocs de donnes.
Il existe, pour les blocs d'organisation (OB) et quelques blocs fonctionnels systme (SFB) et
fonctions systme (SFC), des mnmoniques prdfinis que vous pouvez importer dans la
table des mnmoniques de votre programme S7. Le fichier d'importation se trouve dans le
rpertoire STEP 7, sous ...\S7data\Symbol\Symbol.sdf.

Oprande
Il s'agit de l'adresse d'un oprande prcis.
Exemple : entre E 12.1
La syntaxe de l'oprande est vrifie lors de la saisie. Le logiciel contrle galement si
l'affectation de cette adresse au type de donnes spcifi est autorise.

Type de donnes
Vous pouvez choisir parmi les diffrents types de donnes que STEP 7 met votre
disposition. Un type de donnes pris par dfaut est inscrit dans ce champ, mais vous pouvez
le modifier. Si votre modification n'est pas compatible avec l'oprande ou que la syntaxe est
errone, un message d'erreur s'affiche lorsque vous quittez le champ.

Commentaire
Vous pouvez affecter des commentaires tous les mnmoniques. La combinaison de
mnmoniques courts et de commentaires dtaills permet d'assurer une bonne
documentation du programme ainsi qu'une programmation efficace. Un commentaire ne doit
pas dpasser 80 caractres.

Conversion en variables C
Vous pouvez slectionner des mnmoniques dans la table des mnmoniques d'un
programme M7 et les convertir en variables C en liaison avec le logiciel optionnel ProC/C++.

Programmer avec STEP 7 V5.1


A5E00069874-03

7-7

Dfinition de mnmoniques

7.5.3

Oprandes et types de donnes autoriss dans la table des


mnmoniques
La notation employe doit tre la mme pour toute la table des mnmoniques. Pour
effectuer un changement de la notation allemande (ancienne SIMATIC) la notation
anglaise (ancienne CEI), ou inversement, il faut avoir recours la commande Outils >
Paramtres, onglet "Langue" dans SIMATIC Manager.

7-8

Anglais

Allemand

Dsignation

Type de donnes

Plage
d'adresses

Bit d'entre

BOOL

0.0..65535.7

IB

EB

Octet d'entre

BYTE, CHAR

0..65535

IW

EW

Mot d'entre

WORD, INT, S5TIME, DATE

0..65534

ID

ED

Double mot d'entre

DWORD, DINT, REAL, TOD, TIME

0..65532

Bit de sortie

BOOL

0.0..65535.7

QB

AB

Octet de sortie

BYTE, CHAR

0..65535

QW

AW

Mot de sortie

WORD, INT, S5TIME, DATE

0..65534

QD

AD

Double mot de sortie

DWORD, DINT, REAL, TOD, TIME

0..65532

Bit de mmento

BOOL

0.0..65535.7

MB

MB

Octet de mmento

BYTE, CHAR

0..65535

MW

MW

Mot de mmento

WORD, INT, S5TIME, DATE

0..65534

MD

MD

Double mot de mmento

DWORD, DINT, REAL, TOD, TIME

0..65532

PIB

PEB

Octet de priphrie
d'entre

BYTE, CHAR

0..65535

PQB

PAB

Octet de priphrie de
sortie

BYTE, CHAR

0..65535

PIW

PEW

Mot de priphrie d'entre WORD, INT, S5TIME, DATE

0..65534

PQW

PAW

Mot de priphrie de
sortie

WORD, INT, S5TIME, DATE

0..65534

PID

PED

Double mot de priphrie


d'entre

DWORD, DINT, REAL, TOD, TIME

0..65532

PQD

PAD

Double mot de priphrie


de sortie

DWORD, DINT, REAL, TOD, TIME

0..65532

Temporisation

TIMER

0..65535

Compteur

COUNTER

0..65535

FB

FB

Bloc fonctionnel

FB

0..65535

OB

OB

Bloc d'organisation

OB

1..65535

DB

DB

Bloc de donnes

DB, FB, SFB, UDT

1..65535

FC

FC

Fonction

FC

0..65535

SFB

SFB

Bloc fonctionnel systme

SFB

0..65535

SFC

SFC

Fonction systme

SFC

0..65535

VAT

VAT

Table des variables

UDT

UDT

Type de donnes
utilisateur

0..65535
UDT

0..65535

Programmer avec STEP 7 V5.1


A5E00069874-03

Dfinition de mnmoniques

7.5.4

Mnmoniques incomplets ou non univoques dans la table des


mnmoniques

Mnmoniques incomplets
Vous pouvez galement sauvegarder des mnmoniques incomplets ce qui vous permet, par
exemple, de ne dfinir dans un premier temps que leur nom et de complter l'indication de
l'adresse (oprande) plus tard. Vous pouvez, en particulier, interrompre votre travail dans la
table des mnmoniques tout moment et enregistrer l'tat intermdiaire de cette dernire.
Pour pouvoir utiliser le mnmonique lors de la cration du logiciel sans recevoir de message
d'erreur, il faut toutefois que le mnmonique, l'oprande et le type de donnes soient
indiqus.

Formation de mnmoniques non univoques


Vous pouvez avoir des mnmoniques non univoques lorsque vous ajoutez un mnmonique
la table des mnmoniques et que le nom ou l'adresse spcifie figure dj dans la table
pour un autre mnmonique. Le nouveau et l'ancien mnmonique ne sont donc plus
univoques.
C'est ce qui se produit, par exemple, quand vous copiez et insrez un mnmonique pour
modifier ensuite lgrement l'entre dans la copie.

Reprage des mnmoniques non univoques


Les mnmoniques non univoques sont reprs, dans la table, par une mise en valeur
graphique (couleur, police) afin d'attirer votre attention sur la ncessit d'une correction.
Vous pouvez afficher tous les mnmoniques ou, par un filtre, seulement les mnmoniques
univoques ou seulement les mnmoniques non univoques.

Correction de la non-univocit
Un mnmonique non univoque le devient lorsque vous modifiez la composante - nom et (ou)
oprande - qui a engendr la non-univocit. Le mnmonique ayant auparavant la mme
adresse reprend automatiquement son unicit.

Programmer avec STEP 7 V5.1


A5E00069874-03

7-9

Dfinition de mnmoniques

7.6
7.6.1

Possibilits de saisie de mnmoniques globaux


Possibilits de saisie de mnmoniques globaux
Il existe trois manires de saisir les mnmoniques qui seront rutiliss ultrieurement lors de
la programmation :
Saisie via une bote de dialogue
Vous pouvez, dans la fentre de saisie du programme, ouvrir une bote de dialogue et y
dfinir un nouveau mnmonique. Ce procd convient la dfinition de mnmoniques
individuels quand vous constatez, par exemple, au cours de la programmation qu'un
mnmonique manque ou doit tre corrig. Vous vitez ainsi l'affichage de la table des
mnmoniques.
Saisie directe dans la table des mnmoniques
Vous pouvez inscrire les mnmoniques et leur adresse associe directement dans une
"table des mnmoniques". Ce procd est recommand pour la saisie de plusieurs
mnmoniques et pour la cration initiale de la table des mnmoniques, car les
mnmoniques dj dfinis sont affichs l'cran et vous conservez ainsi une meilleure
vue d'ensemble.
Importation de tables des mnmoniques depuis d'autres tableurs
Vous pouvez crer les donnes pour la table des mnmoniques l'aide de votre tableur
prfr, par exemple Microsoft Excel, et ensuite importer le fichier cr dans la table des
mnmoniques.

7.6.2

Remarques gnrales sur la saisie de mnmoniques


Pour entrer de nouveaux mnmoniques dans la table des mnmoniques, vous vous
positionnez dans la premire ligne vide de la table et en compltez les champs. Vous
pouvez insrer de nouvelles lignes avant la ligne en cours via la commande Insertion >
Mnmonique. Quand la ligne prcdant la position du curseur contient dj un oprande,
l'insertion d'un nouveau mnmonique vous est facilite par des valeurs par dfaut
s'inscrivant automatiquement dans les colonnes "Oprande" et "Type de donnes" : un
oprande driv de celui de la ligne prcdente et le type de donnes par dfaut.
Les commandes du menu "Edition" permettent de copier, puis de modifier des entres
existantes. Ensuite, vous sauvegardez et fermez la table des mnmoniques. Vous pouvez
galement sauvegarder des mnmoniques qui ne sont pas encore entirement dfinis.
En dfinissant les mnmoniques dans la table, vous devez tenir compte des particularits
suivantes :

7-10

Colonne

Nota

Mnmonique

Ce nom doit tre univoque dans l'ensemble de la table des mnmoniques. Quand
vous confirmez votre saisie ou quittez ce champ, un repre est plac devant un
mnmonique non univoque. Un mnmonique ne doit pas dpasser 24 caractres.
Les guillemets ne sont pas autoriss.

Oprande

Quand vous validez ou quittez ce champ, le programme vrifie si l'oprande indiqu


est autoris.

Type de
donnes

Quand vous avez entr un oprande, une valeur par dfaut s'inscrit dans ce champ.
Si vous la modifiez, le programme vrifie si le nouveau type de donnes convient
l'oprande.

Commentaire

Ce champ vous permet de saisir des remarques (80 caractres au maximum)


dcrivant la fonction du mnmonique. La saisie d'un commentaire est facultative.

Programmer avec STEP 7 V5.1


A5E00069874-03

Dfinition de mnmoniques

7.6.3

Saisie de mnmoniques globaux individuels dans des botes de


dialogue
La procdure suivante vous montre comment modifier ou crer, lors de la programmation de
blocs, des mnmoniques via des botes de dialogue sans devoir afficher la table des
mnmoniques.
Cette mthode est utile lorsque vous ne dsirez diter qu'un seul mnmonique. Nous vous
conseillons, pour la modification de plusieurs mnmoniques, d'ouvrir la table des
mnmoniques et d'y travailler directement.

Activation de l'affichage des mnmoniques dans le bloc


Lorsqu'un bloc est ouvert, vous pouvez activer l'affichage des mnmoniques dans la fentre
de bloc avec la commande Affichage > Reprsentation symbolique. Cette commande est
coche lorsque la reprsentation symbolique est active.

Dfinition de mnmoniques lors de la saisie du programme


1. Assurez-vous que la reprsentation symbolique est active dans la fentre de bloc
(commande Affichage > Reprsentation symbolique).
2. Slectionnez, dans la section des instructions de votre programme, l'adresse absolue
laquelle vous voulez affecter un mnmonique.
3. Choisissez la commande Edition > Mnmonique.
4. Compltez la bote de dialogue affiche en y inscrivant en particulier un mnmonique,
puis fermez-la.
Le mnmonique dfini s'inscrit dans la table des mnmoniques. Les donnes qui
engendreraient des mnmoniques non univoques sont refuses et un message d'erreur est
mis.

Edition dans la table des mnmoniques


La commande Outils > Table des mnmoniques vous permet douvrir la table des
mnmoniques en vue de son dition.

Programmer avec STEP 7 V5.1


A5E00069874-03

7-11

Dfinition de mnmoniques

7.6.4

Saisie de plusieurs mnmoniques globaux dans la table des


mnmoniques

Ouverture d'une table des mnmoniques


Pour ouvrir la table des mnmoniques, vous pouvez :
effectuer un double clic sur la table des mnmoniques dans la fentre de projet,
slectionner la table des mnmoniques dans la fentre de projet et choisir la commande
Edition > Ouvrir lobjet.
La table des mnmoniques pour le programme en cours s'affiche dans sa propre fentre.
Vous pouvez alors crer ou modifier des mnmoniques. La table est vide lorsque vous
l'ouvrez pour la premire fois aprs sa cration.

Saisie de mnmoniques
Pour entrer de nouveaux mnmoniques dans la table des mnmoniques, vous vous
positionnez dans la premire ligne vide de la table et en compltez les champs. Vous
pouvez insrer de nouvelles lignes vides avant la ligne en cours via la commande Insertion
> Mnmonique. Les commandes du menu "Edition" permettent de copier, puis de modifier
des entres existantes. Ensuite, vous sauvegardez et fermez la table des mnmoniques.
Vous pouvez galement sauvegarder des mnmoniques qui ne sont pas encore entirement
dfinis.

Tri des mnmoniques


Il est possible de classer les enregistrements logiques de la table des mnmoniques dans
l'ordre alphabtique des mnmoniques, des oprandes, des types de donnes ou des
commentaires.
Vous pouvez par exemple modifier le classement dans la bote de dialogue que vous
appelez en choisissant la commande Affichage > Tri....

Filtres pour les mnmoniques


Les filtres vous permettent de choisir des sous-ensembles parmi tous les enregistrements de
la table.
La commande Affichage > Filtre ouvre la bote de dialogue "Filtre".
Vous pouvez y dfinir des critres auxquels les enregistrements logiques doivent satisfaire
pour tre affichs. Vous pouvez slectionner un filtre pour
les noms, adresses, types de donnes, commentaires
mnmoniques possdant un attribut de contrle-commande, mnmoniques possdant
des proprits de communication, mnmoniques pour variable binaire dans les
messages (mmento ou entre du processus)
mnmoniques avec l'tat "valide", "invalide (non univoque, imcomplet)"
Les diffrents critres sont combins par ET. Les enregistrements logiques affichs
commencent par les chanes de caractres indiques.
Pour en savoir plus sur les possibilits offertes dans la bote de dialogue "Filtrer", ouvrez
l'aide en ligne en appuyant sur la touche de fonction F1.

7-12

Programmer avec STEP 7 V5.1


A5E00069874-03

Dfinition de mnmoniques

7.6.5

Majuscules/minuscules pour les mnmoniques

Aucune diffrenciation n'est faite entre les majuscules et minuscules.


Jusqu' prsent, vous aviez la possibilit de dfinir des mnmoniques dans STEP 7, qui se
distinguaient uniquement par l'emploi de majuscules et de minuscules de certains
caractres. Ceci t modifi partir de STEP 7 V4.02. La distinction des mnmoniques
selon l'emploi de majuscules et de minuscules n'est plus possible partir de cette version.
Avec cette modification, nous avons rpondu aux attentes de nos clients, puisqu'ainsi les
sources d'erreurs possibles dans un programme sont considrablement rduites. Cette
restriction dans la dfinition des mnmoniques va galement dans le sens des objectifs de
PLCopen quant la dfinition d'une norme pour les programmes transmissibles.

Une dfinition distincte de mnmoniques, uniquement due l'emploi de majuscules ou de


minuscules n'est dsormais plus possible. Jusqu' prsent, la dfinition suivante, par
exemple, tait possible dans la table des mnmoniques :

Moteur1 = E 0.0
moteur1 = E 1.0

Les mnmoniques se distinguaient par la graphie (majuscules/minuscules) du premier


caractre. Ce mode de distinction occasionne un important risque de confusion. Avec la
dfinition en vigueur, cette probable source d'erreur est prsent exclue.

Effet sur les programmes existant


Si jusqu' prsent vous avez utilis ce critre de distinction dans la dfinition de
mnmoniques, des conflits sont possibles avec la nouvelle dfinition lorsque :
des mnmoniques se distinguent uniquement par l'emploi de majuscules/minuscules
des paramtres se distinguent uniquement par l'emploi de majuscules/minuscules
des mnmoniques se distinguent uniquement des paramtres par l'emploi de
majuscules/minuscules

Il est cependant possible d'analyser et de corriger ces trois cas comme dcrit ci-aprs.

Programmer avec STEP 7 V5.1


A5E00069874-03

7-13

Dfinition de mnmoniques

Mnmoniques se distinguant uniquement par l'emploi de majuscules/minuscules


Conflit :
Si la table des mnmoniques n'a pas encore t dite avec la version logicielle en cours,
c'est le premier des mnmoniques non univoques de la table des mnmoniques qui est
utilis lors de la compilation de fichiers source.
Si la table des mnmoniques a dj t dite, de tels mnmoniques sont invalides, ce qui
signifie qu' l'ouverture des blocs, aucune symbolique ne s'affiche et qu'une compilation
exempte d'erreurs des fichiers source utilisant ces mnmoniques n'est plus possible.
Solution :
Vrifiez les conflits dans la table des mnmoniques en l'ouvrant, puis en l'enregistrant une
nouvelle fois. Ceci permet de dtecter les mnmoniques non univoques. Vous pouvez
prsent afficher ces mnmoniques non univoques au moyen du filtre "Mnmoniques non
univoques" et les corriger. Corrigez ensuite les fichiers source prsentant des conflits.
Aucune autre modification n'est ncessaire pour les blocs, puisqu' leur ouverture, c'est la
table des mnmoniques actuelle (sans conflit) qui est automatiquement utilise ou affiche.

Paramtres se distinguant uniquement par l'emploi de majuscules/minuscules


Conflit :
Les fichiers source prsentant de telles interfaces ne peuvent plus tre compils. Bien que
les blocs prsentant de telles interface peuvent encore tre ouverts, aucun accs au second
de ces paramtres n'est possible. Lors de l'enregistrement, l'accs au second de ces
paramtres est automatiquement remplac par l'accs au premier paramtre.
Solution :
Afin de dterminer quels blocs prsentent de tels conflits, il est recommand de gnrer un
fichier source pour tous les blocs d'un programme, l'aide de la fonction Gnrer source.
Si des erreurs surviennent lorsque vous tentez de recompiler le fichier source gnr, un
conflit se prsente.
Corrigez vos fichiers source en rendant les paramtres univoques, par exemple l'aide de la
fonction Rechercher/Remplacer, puis recompilez le fichier source.

Mnmoniques se distinguant uniquement de paramtres par l'emploi de


majuscules/minuscules
Conflit :
Si les mnmoniques globaux et locaux d'un fichier source ne se distinguent que par l'emploi
de majuscules/minuscules et si aucun caractre d'identification des mnmoniques globaux
(Mnmonique) ou locaux (#Mnmonique) n'a t utilis, c'est le mnmonique local qui est
toujours utilis lors de la compilation. Ceci engendre un code machine modifi.
Solution :
Dans ce cas, il est recommand de gnrer une nouvelle source partir de tous les blocs.
Les caractres d'identification correspondants seront ainsi automatiquement attribus aux
adresses locales et globales, qui seront traites correctement lors des compilations
ultrieures.

7-14

Programmer avec STEP 7 V5.1


A5E00069874-03

Dfinition de mnmoniques

7.6.6

Exportation et importation de tables de mnmoniques


Vous pouvez exporter dans un fichier de texte la table des mnmoniques affiche, pour la
traiter avec un diteur de texte de votre choix, par exemple.
Vous pouvez importer, dans votre table des mnmoniques, des tables cres avec une
autre application et poursuivre leur traitement dans la table des mnmoniques. Cette
fonction vous servira, par exemple, enregistrer dans la table des mnmoniques et aprs
leur conversion, des listes d'assignation cres sous STEP 5/ST. Vous disposez des formats
de fichier *.SDF, *.ASC, *.DIF et *.SEQ.

Rgles pour l'exportation


Vous pouvez exporter la table des mnmoniques entire, un sous-ensemble de cette table
dfini par filtre ou des lignes slectionnes dans la reprsentation de la table.
Les proprits des mnmoniques que vous pouvez dfinir l'aide de la commande Edition
> Proprits spcifiques de l'objet... ne sont pas exportes.

Rgles pour l'importation


Pour les blocs fonctionnels systme (SFB), les fonctions systme (SFC) et les blocs
d'organisation (OB) les plus frquemment utiliss, vous trouverez dans le fichier
...\S7DATA\SYMBOL\SYMBOL.SDF des mnmoniques prdfinis que vous pouvez
importer si besoin est.
Les proprits des mnmoniques que vous pouvez dfinir l'aide de la commande
Edition > Proprits spcifiques de l'objet... ne sont pas prises en compte lors de
lexportation et de limportation.

7.6.7

Formats de fichier pour limportation/exportation dune table des


mnmoniques
Vous pouvez importer les formats de fichier suivants dans la table des mnmoniques ou les
en exporter :
Format de fichier ASCII (ASC)
Format de fichier DIF (Data Interchange Format)
Vous pouvez ouvrir, diter, puis enregistrer les fichiers DIF (Data Interchange Format)
avec l'application Microsoft Excel.
Format de fichier SDF (System Data Format)
Vous pouvez ouvrir, diter, puis enregistrer les fichiers SDF (System Data Format) avec
l'application Microsoft Access.
-

Utilisez le format SDF pour importer des donnes dans l'application Microsoft
ACCESS ou pour les en exporter.

Slectionnez, dans ACCESS, le format de fichier "Texte (avec sparateurs)".

Utilisez le guillemet (") comme sparateur de texte.

Utilisez la virgule (,) comme sparateur de champ.

Liste d'assignation (SEQ)


Avertissement : Lors de l'exportation de la table des mnmoniques dans un fichier de
type Typ .SEQ, les commentaires de plus de 40 caractres sont tronqus aprs le 40me
caractre !

Programmer avec STEP 7 V5.1


A5E00069874-03

7-15

Dfinition de mnmoniques

Format de fichier ASCII (ASC)


Type de
fichier

*.ASC

Structure

Longueur de l'enregistrement, sparateur (virgule), enregistrement

Exemple

126,phase_verte_piet,

T2

TIMER Dure de la phase verte pour pitons

126,rouge_piet

0.0

BOOL

Rouge pour pitons

Data Interchange Format (DIF)


Type de
fichier

*.DIF

Structure

Un fichier DIF est compos d'un en-tte (header) et de donnes :

En-tte

TABLE

Dbut dun fichier DIF

0,1
"<Titre>"

Chane de caractres du commentaire

VECTORS

Nombre d'enregistrements dans le


fichier

0,<Nombre
denregistrements>
""
TUPLES

Nombre de champs de donnes dans un


enregistrement

0,<Nombre de colonnes>
""
DATA

Identification de fin d'en-tte et de dbut


de donnes

0,0
""
Donnes (par
enregistrement)

<Type>,<valeur numrique>

Identification du type de donnes, valeur


numrique

<chane de caractres>

Partie alphanumrique, ou

si la partie alphanumrique n'est pas


utilise.

En-tte : len-tte du fichier doit comporter les types denregistrement TABLE, VECTORS,
TUPLES et DATA dans l'ordre indiqu ; dans les fichiers DIF, le type denregistrement DATA
peut tre prcd d'autres types denregistrements optionnels, mais l'diteur de
mnmoniques n'en tiendra pas compte.
Donnes : dans la section des donnes, chaque entre comporte trois parties, savoir
l'identification du type de donnes, une valeur numrique et une partie alphanumrique.
Vous pouvez ouvrir, diter et enregistrer les fichiers DIF dans l'application Microsoft Excel.
N'utilisez toutefois aucun caractre particulier la langue, comme par exemple une lettre
accentue.

7-16

Programmer avec STEP 7 V5.1


A5E00069874-03

Dfinition de mnmoniques

System Data Format (SDF)


Type de
fichier

*.SDF

Structure

Chanes de caractres entre guillemets, sections spares par des virgules.

Exemple

"phase_verte_piet","T 2","TIMER","Dure de la phase verte pour pitons"


"rouge_piet","A

0.0","BOOL","Rouge pour pitons"

Pour ouvrir un fichier SDF dans Microsoft Access, choisissez le format de fichier "texte (avec
sparateur)". Indiquez comme sparateur de texte les guillemets (") et comme sparateur de
champ la virgule (,).

Liste dassignation (SEQ)


Type de
fichier

*.SEQ

Structure

TAB oprande TAB mnmonique TAB commentaire CR

Exemple

T 2 phase_verte_piet Dure de la phase verte pour pitons


A 0.0 rouge_piet Rouge pour pitons

TAB reprsente le caractre de tabulation (09H),


CR un saut de ligne (retour chariot) avec la touche d'entre (0DH).

Programmer avec STEP 7 V5.1


A5E00069874-03

7-17

Dfinition de mnmoniques

7-18

Programmer avec STEP 7 V5.1


A5E00069874-03

8.1

Cration de blocs et de bibliothques

Choix de la mthode de cration


Selon le langage de programmation que vous utilisez pour crer votre programme, vous
pouvez le saisir de manire incrmentielle et/ou oriente source.

Editeurs incrmentiels pour les langages de programmation CONT, LOG, LIST et


GRAPH
Avec les diteurs incrmentiels pour CONT, LOG, LIST et GRAPH, vous crez des blocs qui
sont stocks dans le programme utilisateur. Choisissez la saisie incrmentielle lorsque vous
souhaitez que vos entres soient immdiatement vrifies. Ce mode de saisie convient
galement aux dbutants en programmation. Dans la saisie incrmentielle, une vrification
de la syntaxe est immdiatement ralise pour chaque ligne ou lment. D'ventuelles
erreurs sont affiches et doivent tre corriges avant la fin de la saisie. Les entres
correctes du point de vue syntaxique sont automatiquement compiles et ranges dans le
programme utilisateur.
Les mnmoniques utiliss doivent avoir t dfinis avant l'dition de l'instruction. En cas
d'absence de certains mnmoniques, la compilation du bloc est incomplte ; vous pouvez
cependant enregistrer cet tat provisoire incohrent.

Editeurs (de texte) source pour les langages de programmation LIST, SCL ou HiGraph
Dans les diteurs source, vous crez des sources qui seront ensuite compiles en blocs.
Choisissez la saisie oriente source pour entrer ou crire rapidement un programme.
Dans la saisie oriente source, le programme ou un bloc sont dits dans un fichier de texte
qui est ensuite compil.
Les fichiers de texte (sources) sont stocks dans le dossier Sources de votre programme
S7, par exemple comme source LIST ou source SCL. Un fichier source peut contenir le
code pour un ou plusieurs blocs. Les diteurs de texte pour LIST et SCL vous permettent
d'crire le code pour des OB, FB, FC, DB et UDT (types de donnes utilisateur), c'est--dire
aussi pour un programme utilisateur complet. L'ensemble du programme d'une CPU (c'est-dire tous les blocs) peut tre contenu dans un fichier de texte unique.
Les blocs sont gnrs et stocks dans le programme utilisateur lors de la compilation du
fichier source correspondant. Les mnmoniques utiliss doivent avoir t dfinis avant la
compilation. D'ventuelles erreurs ne sont signales qu'aprs compilation par le compilateur
correspondant.
Il est important, pour la compilation, que vous respectiez la syntaxe du langage de
programmation. Cette syntaxe n'est contrle que lorsque vous effectuez la vrification de
cohrence ou la compilation en blocs.

Programmer avec STEP 7 V5.1


A5E00069874-03

8-1

Cration de blocs et de bibliothques

8.2
8.2.1

Choix du langage de programmation


Choix du langage de programmation

Choix du langage de programmation et de l'diteur


Lors de la cration d'un bloc ou d'une source, vous dterminez dans les proprits de l'objet
avec quel langage de programmation et quel diteur vous voulez crire ce bloc ou cette
source. L'diteur correspondant ce choix est appel lorsque vous ouvrez le bloc ou le
fichier source.

Appel de l'diteur
Vous lancez l'diteur de langage choisi dans SIMATIC Manager par double clic sur l'objet
correspondant (bloc, fichier source, etc.), l'aide de la commande Edition >Ouvrir lobjet
ou via le bouton correspondant dans la barre d'outils.

Vous disposez des langages de programmation indiqus dans le tableau pour crer le
programme S7. Les langages de programmation CONT, LOG et LIST font partie du logiciel
de base de STEP 7. Les autres peuvent tre commands comme logiciels optionnels.

Vous pouvez ainsi faire votre choix parmi diffrentes philosophies de programmation
(schma contacts, logigramme, liste d'instructions, langage volu, commande
squentielle ou graphe d'tat) et entre la programmation textuelle ou graphique.
Le choix du langage de programmation dtermine galement les mthodes de saisie
possibles ().
Langage de
Groupe
programmation dutilisateurs

8-2

Application

Saisie
incrmentale

Saisie
Possibilit de
oriente redocumenter le
source bloc de la CPU

Liste
dinstructions
LIST

Utilisateurs
voulant une
programmation
proche de la
machine

Programmes
optimiss en
temps
d'excution et
en espace
mmoire

Schma
contacts CONT

Utilisateurs
habitus aux
schmas de
circuits

Programmation
de commandes
combinatoires

Logigramme
LOG

Utilisateurs
habitus aux
botes logiques
de l'algbre
boolenne

Programmation
de commandes
combinatoires

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs et de bibliothques

Langage de
Groupe
programmation dutilisateurs

Application

SCL (Structured Utilisateurs


ayant
Control
Language)
programm en
langages
volus comme
Progiciel
Pascal ou C
optionnel

Programmation
de tches de
programmation
de donnes

GRAPH

Utilisateurs se
basant sur la
technologie,
ayant peu de
connaissances
approfondies de
la
programmation
ou des
automates
programmables

Description
souple de
processus
squentiels

Utilisateurs se
basant sur la
technologie,
ayant peu de
connaissances
approfondies de
la
programmation
ou des
automates
programmables

Description
souple de
processus
asynchrones
non squentiels

Progiciel
optionnel

HiGraph

Progiciel
optionnel

CFC

Progiciel
optionnel

Utilisateurs se
Description de
basant sur la
processus
technologie,
continus
ayant peu de
connaissances
approfondies de
la
programmation
ou des
automates
programmables

Saisie
incrmentale

Saisie
Possibilit de
oriente redocumenter le
source bloc de la CPU

Pour les blocs exempts d'erreur, vous pouvez faire le va-et-vient entre les reprsentations
de bloc dans les langages CONT, LOG et LIST. Les parties de programme ne pouvant pas
tre reprsentes dans le langage cible sont reprsentes en LIST.
Vous pouvez crer des blocs partir de fichiers source en LIST et partir de ces blocs,
galement nouveau gnrer des sources.

8.2.2

Langage de programmation CONT (schma contacts)


La reprsentation en langage de programmation CONT (schma contacts) s'inspire des
schmas de circuits. Les lments d'un schma de circuit, tels que contacts fermeture et
contacts ouverture, sont rassembls dans des rseaux. Un ou plusieurs rseaux forment
la section des instructions complte d'un bloc de code.

Programmer avec STEP 7 V5.1


A5E00069874-03

8-3

Cration de blocs et de bibliothques

Exemple de rseaux en CONT


Rseau 1: Conditions de validation
#Demarr
#Arret

#Bobine

#Bobine
Rseau 2: Commande moteur
#Bobine
#Ret

T6

#Temps_ret

#Bobine

#Erreur

S_EVERZ
S
Q
TW DUAL
R

DEZ

#Temps_act_bin
#Temps_act_dcb

Rseau 3: Lampe de dmarrage


#Lampe_Demarr

#Ret

#Erreur
Rseau 4: Lampe darrt

#Lampe_Arret

#Ret

Le langage de programmation CONT fait partie du logiciel de base STEP 7. Dans le langage
CONT, vous crez le programme en utilisant un diteur incrmental.

8.2.3

Langage de programmation LOG (logigramme)


Le langage de programmation LOG (logigramme) utilise les botes fonctionnelles graphiques
de l'algbre boolene pour reprsenter des lments logiques. Il permet en outre de
reprsenter des fonctions complexes, telles que les fonctions mathmatiques en les mettant
directement en liaison avec ces botes logiques. Le langage de programmation LOG fait
partie du logiciel de base STEP7.

Exemple d'un rseau en LOG


Rseau

1 : passage pour pitons : vert

>=1
&

E0.0

>=1

E0.1

&

T6
M0.0

M0.0
=

T5

Dans le langage LOG, vous crez le programme en utilisant un diteur incrmental.

8-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs et de bibliothques

8.2.4

Langage de programmation LIST (liste dinstructions)


Le langage de programmation LIST (liste dinstructions) est un langage textuel proche du
langage machine. Chaque instruction correspond une tape de l'excution du programme
par la CPU. Vous pouvez regrouper plusieurs instructions en rseaux.

Exemple de rseaux en LIST

Rseau 1 : Commande soupape de vidange


U(
O
O #Bobine
)
UN #Fermer
= #Bobine
Rseau 2 : Indication "Soupape ouverte"
U #Bobine
= #Indic_Ouverte
Rseau 3 : Indication "Soupape ferme"
UN #Bobine
= #Indic_Fermee

Le langage de programmation LIST fait partie du logiciel de base STEP 7. Il vous permet
d'diter des blocs S7 avec des diteurs incrmentaux ou de crer votre programme dans
une source LIST avec un diteur orient source, puis de le compiler en blocs.

8.2.5

Langage de programmation SCL


Le langage de programmation SCL (Structured Control Language) optionnel est un langage
volu textuel, dont la structure du langue correspond pour l'essentiel la norme
CEI 1131-3. Grce ses instructions en langage volu et contrairement au langage LIST,
ce langage proche du PASCAL simplifie entre autres la programmation de boucles et de
branches conditionnelles. SCL est de ce fait tout particulirement adapt au calcul de
formules, aux algorithmes d'optimisation complexes ou la gestion de grandes quantits de
donnes.

Dans le langage SCL, vous crez le programme dans une source SCL, en utilisant un
diteur orient source.

Programmer avec STEP 7 V5.1


A5E00069874-03

8-5

Cration de blocs et de bibliothques

Exemple :
FUNCTION_BLOCK FB 20
VAR_INPUT
VALFINALE

INT;

END_VAR
VAR_IN_OUT
IQ1:

REAL;

END_VAR
VAR
INDEX:

INT;

END_VAR

BEGIN
CONTROL

:= FALSE;

FOR INDEX := 1 TO VALFINALE DO


IQ1 := IQ1 * 2;
IF IQ1 > 10000 THEN
CONTROL = TRUE
END_IF;
END_FOR;
END_FUNCTION_BLOCK

8.2.6

Langage de programmation GRAPH (commande squentielle)


Le langage de programmation graphique optionnel GRAPH vous permet de programmer des
commandes squentielles. Ceci implique la cration d'une succession d'tapes, la dfinition
des actions associes chaque tape et celle des transitions indiquant les possibilits
d'volution entre deux tapes successives. Pour dfinir les actions associes aux tapes,
vous utilisez un langage de programmation spcial (similaire LIST), alors que pour
dterminer les conditions de rceptivit des transitions, vous utilisez une reprsentation sous
forme de schma contacts (langage de programmation CONT restreint).
GRAPH permet la reprsentation trs claire de squences mme complexes, ce qui favorise
une programmation et une recherche d'erreurs efficaces.

8-6

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs et de bibliothques

Exemple de commande squentielle en GRAPH

Rincage

S4
E1.1

M2.1

E1.1

A 1.1
TIME#0D_0H_
0M_20S_0MS

T4

M2.1
T5

S5
N

E1.3
T6

N
N

S6
E1.1

M2.2

Prelavage
A 1.3
A 1.0
A 1.5
Retour
A 1.4

T7

Blocs crs
Vous programmez le bloc fonctionnel contenant le graphe squentiel avec l'diteur GRAPH.
Un bloc de donnes d'instance associ contient les donnes du graphe squentiel, par
exemple les paramtres du FB et les conditions pour les tapes et transitions. Vous crez ce
DB d'instance automatiquement dans l'diteur GRAPH.

Fichier source
Il est possible de gnrer, partir d'un FB cr avec GRAPH, un fichier source textuel
(source GRAPH) pouvant tre interprt par des pupitres oprateur (OP) ou des afficheurs
de texte (TD) pour l'affichage de la commande squentielle.

8.2.7

Langage de programmation HiGraph (graphe d'tat)


Le langage de programmation graphique optionnel HiGraph vous permet de programmer
certains blocs de votre programme comme graphes d'tat. Vous dcomposez alors votre
installation en units fonctionnelles indpendantes pouvant adopter diffrents tats. Pour le
passage d'un tat un autre, vous dfinissez des transitions. Vous dcrivez les actions
associes aux tats, de mme que les conditions de transition entre les tats, dans un
macro-langage fond sur LIST.
Pour chaque unit fonctionnelle, vous crez un graphe qui en dcrit le comportement. Tous
les graphes d'une installation sont assembls en groupes de graphes. Des informations de
synchronisation d'units fonctionnelles peuvent tre changes entre les graphes.
La reprsentation claire des transitions dans une unit fonctionnelle autorise une
programmation systmatique et facilite la recherche d'erreurs. A un instant donn, il n'y a
jamais qu'un seul tat actif dans HiGraph, contrairement ce qui se passe avec les tapes
de GRAPH. La figure suivante reprsente la cration de graphes pour des units
fonctionnelles (exemple).

Programmer avec STEP 7 V5.1


A5E00069874-03

8-7

Cration de blocs et de bibliothques

Position contrleur cames


1

Rotation gauche

Clavette sortie

Coordinateur

Pice

0
1

Rotation droite
1

1
2
Moteur

Clavette positionne

Serrer/desserrer
bute

Graphe pour la coordination


des units fonctionnelles

Bute
0

Clavette

1 1

1
1

1 3

Moteur

2
Graphe pour les diffrentes units fonctionnelles

Transition (passage de
l'tat 3 l'tat 0)

Etats

Un groupe de graphes est enregistr dans une source HiGraph dans le dossier Sources,
sous le programme S7. Cette source sera ensuite compile en blocs S7 pour le programme
utilisateur.
La vrification de la syntaxe et des paramtres formels est ralise aprs la dernire entre
pour un graphe (lorsque la fentre de travail se ferme). Les oprandes et mnmoniques ne
sont vrifis que durant la compilation de la source.

8-8

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs et de bibliothques

8.2.8

Langage de programmation CFC


Le logiciel optionnel CFC (Continuous Function Chart) est un langage de programmation
permettant de regrouper des fonctions complexes en rseaux graphiques.
Ce langage de programmation vous permet de programmer en reliant graphiquement des
fonctions donnes. De nombreuses fonctions standard que vous n'avez pas besoin de
programmer vous-mme sont accessibles dans des bibliothques sous forme de blocs
standard (par exemple pour des fonctions logiques, arithmtiques, ou encore des fonctions
de rgulation ou de gestion de donnes). L'utilisation du langage de programmation CFC ne
requiert ni connaissance approfondie de la programmation, ni comptence spcifique dans
le domaine des automates programmables. Vous pouvez ainsi porter toute votre attention
sur la technologie propre votre secteur d'activit.
Le programme cr est enregistr sous forme de diagrammes CFC. Ceux-ci sont stocks
dans le dossier "Diagrammes" sous le programme S7.Les blocs S7 pour le programme
utilisateur seront compils partir de ces diagrammes.
Si vous souhaitez crer vous-mme les blocs relier, vous pouvez les programmer dans l'un
des langages de programmation S7 pour SIMATIC S7 ou dans les langages C/C++ pour
SIMATIC M7.

Programmer avec STEP 7 V5.1


A5E00069874-03

8-9

Cration de blocs et de bibliothques

8.3
8.3.1

Ce qu'il faut savoir pour crer des blocs


Dossier Blocs
Vous pouvez crer le programme pour une CPU S7 sous forme de :
Blocs
Sources
Pour stocker les blocs, vous disposez du dossier "Blocs" sous Programme S7.
Le dossier Blocs contient les blocs que vous allez charger dans la CPU S7 pour raliser
votre tche d'automatisation. Ces blocs charger englobent les blocs de code (OB, FB, FC)
et les blocs de donnes (DB). Un bloc de code OB 1 vide est cr automatiquement dans le
dossier Blocs, car sa prsence dans la CPU S7 est indispensable pour l'excution de votre
programme.
Le dossier Blocs contient en outre les objets suivants :
Les types de donnes utilisateur que vous crez. Ils vous facilitent la programmation, ne
sont cependant pas chargs dans la CPU.
Les tables de variables (VAT), que vous pouvez crer pour tester votre programme en
visualisant et forant des variables. Elles ne sont pas charges dans la CPU.
L'objet "Donnes systme" (blocs de donnes systme), contenant des informations
relatives au systme (configuration ou paramtres du systme). Ces blocs de donnes
systme sont crs et des donnes y sont inscrites lors de la configuration du matriel.
Les fonctions systme (SFC) et les blocs fonctionnels systme (SFB) que vous voulez
appeler dans votre programme utilisateur. Les SFC et SFB eux-mmes ne peuvent pas
tre dits.
Les blocs du programme utilisateur peuvent tre dits dans les diteurs correspondants,
l'exception des blocs de donnes systme (qui ne sont crs et dits que lors de la
configuration du systme d'automatisation). Lorsque vous cliquez deux fois sur un bloc,
l'diteur correspondant dmarre automatiquement.

Nota
Les blocs que vous avez programms sous forme de sources, puis compils sont
galement enregistrs dans le dossier Blocs.

8.3.2

Types de donnes utilisateur (UDT)


Les types de donnes utilisateur (user data type, UDT) sont des structures de donnes
particulires, cres par vous. Vous pouvez les utiliser, une fois dfinis, dans l'ensemble du
programme utilisateur S7.
Vous pouvez utiliser les UDT comme types de donnes simples ou comme types de
donnes complexes dans la dclaration des variables de blocs de code (FC, FB, OB) ou
encore comme types de donnes pour des variables dans un bloc de donnes (DB).
L'avantage rside dans le fait que vous ne dfinissez qu'une seule fois une structure de
donnes spciale, que vous allez utiliser plusieurs fois en l'affectant un nombre illimit
de variables.

8-10

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs et de bibliothques

Les UDT peuvent servir de modle afin de crer des blocs de donnes de mme
structure. Cela signifie que vous ne dfinissez qu'une seule fois la structure et crez
ensuite les blocs de donnes requis par simple affectation du type de donnes utilisateur
(exemple d'une recette : la structure du DB est toujours la mme, seules les quantits
varient).
Vous crez les types de donnes utilisateur de la mme manire que les autres blocs,
dans SIMATIC Manager ou dans l'diteur incrmental.

Structure dun UDT


Aprs l'ouverture de l'UDT, une nouvelle fentre de travail s'ouvre montrant la table - et, plus
prcisment, la vue des dclarations - pour ce type de donnes utilisateur.
Les premire et dernire lignes contiennent dj les dclarations STRUCT et
END_STRUCT pour dbut et fin de type de donnes utilisateur ; vous ne pouvez pas
modifier ces lignes.
Pour diter un type de donnes utilisateur, vous saisissez vos donnes dans les
colonnes correspondantes partir de la deuxime ligne de la table de dclaration.
Vous pouvez structurer les types de donnes utilisateur partir de :
-

types de donnes simples,

types de donnes complexes,

types de donnes utilisateur existant.

Les types de donnes utilisateur du programme utilisateur S7 ne sont pas chargs dans la
CPU S7. Ils sont soit crs et dits directement avec des diteurs incrmentaux, soit ils
rsultent de la compilation de sources.

8.3.3

Attributs de bloc
Les attributs de bloc vous permettent de mieux identifier les blocs crs (par exemple, grce
au numro de version) ou de les protger de modifications non autorises.
Vous ne devez diter les attributs d'un bloc que si ce bloc est ouvert. Outre les attributs
ditables, la bote de dialogue correspondante affiche galement des donnes pour votre
information : vous ne pouvez pas les diter.
SIMATIC Manager affiche galement les attributs de bloc et les attributs systme dans les
proprits d'objet pour un bloc. Vous ne pouvez cependant y diter que les attributs NOM,
FAMILLE, AUTEUR et VERSION.
Vous pouvez diter les proprits de l'objet aprs insertion du bloc avec SIMATIC Manager.
Pour un bloc qui n'a pas t cr avec SIMATIC Manager, mais avec l'un des diteurs
disponibles, ces informations (par exemple langage de programmation) figurent
automatiquement dans les proprits de l'objet.

Nota
Pour dfinir les abrviations utiliser dans la programmation de vos blocs S7, choisissez
dans SIMATIC Manager la commande Outils > Paramtres, puis longlet "Langue".

Programmer avec STEP 7 V5.1


A5E00069874-03

8-11

Cration de blocs et de bibliothques

Tableau des attributs de bloc


Lorsque vous indiquez des attributs de bloc, vous devez respecter l'ordre donn dans le
tableau suivant.
Mot-cl / Attribut
Signification
[KNOW_HOW_PROTECT] Protection du bloc : il est impossible
de visualiser la section des
instructions d'un bloc compil avec
cette option.
[AUTHOR:]
Nom de l'auteur, nom de la socit,
du service ou autres noms
(8 caractres au maximum, sans
espace)
[FAMILY:]
Nom de la famille du bloc : par
exemple, Regul
(8 caractres au maximum, sans
espace)
[NAME:]
Nom du bloc (8 caractres au
maximum)
[VERSION: int1 . int2]
Numro de version du bloc
(ces deux nombres entre 0 et 15, soit
0.0 15.15)
[CODE_VERSION1]
Identification indiquant si un FB
admet des multi-instances ou non. Si
vous voulez dclarer des multiinstances, le FB ne doit pas avoir cet
attribut.
[UNLINKED] seulement
Un bloc de donnes avec lattribut
pour DB
UNLINKED n'est pas reli au
programme.
[READ_ONLY] seulement Protection pour blocs de donnes : il
pour DB
est uniquement possible de lire les
donnes et non de les modifier.

8-12

Exemple
KNOW_HOW_PROTECT

AUTHOR : Siemens, mais pas de


mot-cl

FAMILY : Regul, mais pas de motcl

NAME : PID, mais pas de mot-cl


VERSION : 3.10

CODE_VERSION1

READ_ONLY

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs et de bibliothques

Protger un bloc par KNOW_HOW_PROTECT a les consquences suivantes :


Lorsque vous afficherez plus tard un bloc compil dans l'diteur CONT, LOG ou LIST
incrmental, vous n'aurez pas accs la section des instructions de ce bloc.
Seules les variables de types de dclarations IN, OUT et IN_OUT seront visualises
dans la table de dclaration des variables du bloc. Les variables internes dclares
comme STAT et TEMP seront masques.

Attributs de blocs possibles


Le tableau suivant prsente les attributs que vous pouvez dclarer pour les diffrents types
de blocs.
Attribut

OB

FB

FC

DB

UDT

KNOW_HOW_PROTECT

AUTHOR

FAMILY

NAME

VERSION

UNLINKED

READ_ONLY

Vous pouvez dfinir lattribut KNOW_HOW_PROTECT dans une source, lors de la


programmation du bloc. Elle sera affiche dans la bote de dialogue des proprits de bloc,
mais ne pourra pas y tre modifie.

8.3.4

Affichage de la longueur des blocs


La longueur des blocs est affiche en "octets".

Affichage dans les proprits du dossier Blocs


Dans les proprits du dossier Blocs, les longueurs suivantes sont affiches dans la vue
hors ligne :
longueur (somme de tous les blocs sans donnes systme) dans la mmoire de chargement
du systme cible
longueur (somme de tous les blocs sans donnes systme) dans la mmoire de travail du
systme cible
Les proprits du dossier Blocs n'affichent pas les longueurs des blocs dans l'outil de
dveloppement (PG/PC).

Programmer avec STEP 7 V5.1


A5E00069874-03

8-13

Cration de blocs et de bibliothques

Affichage dans les proprits du bloc


Dans les proprits du bloc, sont affichs :
le nombre de donnes locales requises : longueur des donnes locales en octets,
MC7 : longueur du code MC7 en octets ou longueur des donnes utiles de DB,
longueur dans la mmoire de chargement du systme cible,
longueur dans la mmoire de travail du systme cible : n'est affiche que lorsque
l'affectation matrielle est connue.
Les affichages ne dpendent pas du fait que le bloc se trouve dans la fentre d'une vue en
ligne ou hors ligne.

Affichage dans SIMATIC Manager (vue dtaille)


Lorsque vous ouvrez un dossier Blocs et que vous avez slectionn la "vue dtaille", la
mmoire de travail requise s'affiche dans la fentre du projet, que le dossier Blocs se trouve
dans la fentre d'une vue en ligne ou hors ligne.
Vous pouvez additionner les longueurs de plusieurs blocs, en slectionnant ces derniers.
Leur somme s'affiche alors dans la ligne d'tat de SIMATIC Manager.
Aucune longueur ne s'affiche pour les blocs qui ne peuvent pas tre chargs dans le
systme cible (par exemple VAT).
La vue dtaille ne permet pas d'afficher les longueurs de bloc dans l'outil de
dveloppement (PG/PC).

8.3.5

Rassignation
Vous pouvez rassigner les blocs et oprandes suivants :
entres, sorties,
mmentos, temporisations, compteurs,
fonctions, blocs fonctionnels.

Procdez de la manire suivante :


1. Dans SIMATIC Manager, slectionnez le dossier Blocs contenant les blocs que vous
souhaitez rassigner.
2. Choisissez la commande Outils > Rassignation.
3. Dans la bote de dialogue "Rassignation" qui s'affiche, entrez les remplacements
souhaits (ancien oprande / nouvel oprande) dans le tableau.
4. Slectionnez l'option Pour tous les oprandes de la plage spcifie si vous souhaitez
rassigner des plages d'oprandes (BYTE, WORD, DWORD).
Par exemple, si vous avez indiqu EW0 et EW4 pour la rassignation de la plage
d'oprandes, les oprandes E0.0 E1.7 devriendront E4.0 E5.7. Les oprandes de la
plage rassigne (par ex. E0.1) ne pourront plus alors tre entrs individuellement dans
le tableau.
5. Cliquez sur le bouton "OK".

8-14

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs et de bibliothques

Vous dmarrez ainsi la rassignation. Lorsqu'elle est termine, vous pouvez dcider dans
une bote de dialogue si vous souhaitez voir le fichier d'information relatif la rassignation.
Ce fichier contient la liste des oprandes Ancien oprande" et "Nouvel oprande". Les blocs
y figurent individuellement avec le nombre de rassignations qui y ont t effectues.
Lors d'une rassignation, il faut faire attention aux points suivants :
Quand vous rassignez un bloc (c'est--dire le renommez), le nouveau bloc ne doit pas
dj exister. S'il existe dj, l'opration sera annule.
Quand vous rassignez un bloc fonctionnel (FB), son DB d'instance est associ
automatiquement au FB rassign, mais il ne change pas (son numro de DB reste le
mme).

8.3.6

Attributs pour blocs et pour paramtres


La description des attributs figure dans l'aide de rfrence pour les attributs systme.

Programmer avec STEP 7 V5.1


A5E00069874-03

8-15

Cration de blocs et de bibliothques

8.4
8.4.1

Utilisation de bibliothques
Utilisation de bibliothques
Une bibliothque permet de stocker des composants de programmes rutilisables, destins
aux automates programmables SIMATIC S7/M7. Ces lments peuvent tre copis dans
une bibliothque partir de projets existants ou y tre crs directement, indpendamment
de tout projet.
En enregistrant les blocs que vous souhaitez utiliser frquemment dans un programme S7
sous une bibliothque, vous vitez de les programmer nouveau. Il vous suffira chaque
fois de les copier dans le programme utilisateur correspondant.
Pour crer des programmes S7/M7 dans une bibliothque, vous disposez des mmes
fonctionnalits que dans un projet, l'exception des fonctions de test.

Cration de bibliothques
Vous crez les bibliothques de la mme manire que les projets, en choisissant la
commande Fichier > Nouveau. La nouvelle bibliothque va tre cre dans le rpertoire
que vous avez slectionn pour les bibliothques, lorsque vous avez choisi la commande
Outils > Paramtres et l'onglet "Gnral".

Nota
SIMATIC Manager accpte des noms dune longueur excdant 8 caractres. Le nom du
rpertoire de la bibliothque est tronqu aprs 8 caractres. Les 8 premiers caractres
doivent donc suffire identifier la bibliothque. Aucune distinction n'est faite entre les
majuscules et minuscules. Lorsque vous voulez ouvrir une bibliothque l'aide de
"Parcourir", le nom entier s'affiche, alors que lorsque vous feuilletez, il apparat sous forme
abrge.
Sachez que vous ne pouvez pas utiliser de bibliothques d'une version de STEP 7 plus
rcente dans des projets d'une ancienne version de STEP 7.

Ouverture de bibliothques
Pour ouvrir une bibliothque, choisissez d'abord la commande Fichier > Ouvrir.
Slectionnez ensuite une bibliothque dans les botes de dialogue suivantes. La fentre de
bibliothque s'ouvre alors.

Nota
Si la bibliothque voulue n'apparat pas dans la liste de bibliothques, cliquez sur le bouton
"Parcourir" dans la bote de dialogue "Ouvrir". La bote de dialogue standard de Windows
affiche alors l'arborescence de rpertoires dans laquelle vous pouvez rechercher la
bibilothque. Le nom du fichier correspond toujours au nom initial de la bibliothque cre,
ce qui veut dire que les changements de nom du fichier ne sont pas visibles dans SIMATIC
Manager.
Ds lors que vous slectionnez la bibliothque, elle est reprise dans la liste de
bibliothques. Vous pouvez modifier les entres dans la liste de bibliothques en
choisissant la commande Fichier > Grer.

8-16

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs et de bibliothques

Copie de bibliothques
Pour copier une bibliothque, vous l'enregistrez sous un autre nom en choisissant la
commande Fichier > Enregistrer sous .
Pour copier des composants de bibliothques comme les programmes, blocs, sources, etc.,
vous choisissez la commande Edition > Copier.

Suppression de bibliothques
Pour supprimer une bibliothque, vous choisissez la commande Fichier > Supprimer.
Pour effacer des composants de bibliothques comme les programmes, blocs, sources etc.,
vous choisissez la commande Edition > Effacer.

8.4.2

Structure hirarchique des bibliothques


De mme qu'un projet, une bibliothque possde une structure hirarchique :
Une bibliothque peut contenir des programmes S7/M7.
Un programme S7 peut contenir exactement un dossier Blocs (programme utilisateur), un
dossier Sources, un dossier Diagrammes ainsi qu'un objet "Mnmoniques" (table des
mnmoniques).
Un programme M7 peut contenir des diagrammes et programmes C pour les modules
programmables M7 ainsi que l'objet "Mnmoniques" (table des mnmoniques) et un
dossier Blocs pour les DB et tables de variables.
Le dossier Blocs comprend les blocs que vous pouvez charger dans la CPU S7. Il
contient galement les tables des variables (VAT) et les types de donnes utilisateur qui
eux, ne peuvent pas tre chargs dans la CPU.
Le dossier Sources contient les sources pour les programmes crs dans les diffrents
langages de programmation.
Le dossier Diagrammes contient les diagrammes CFC (uniquement avec le logiciel
optionnel CFC).
Lorsque vous crez un nouveau programme S7/M7, un dossier Blocs et un dossier Sources
(uniquement pour S7) ainsi qu'un objet "Mnmoniques" y sont automatiquement insrs.

Programmer avec STEP 7 V5.1


A5E00069874-03

8-17

Cration de blocs et de bibliothques

8.4.3

Prsentation des bibliothques standard


Le logiciel de base STEP 7 contient les bibliothques standard (version 2/version 3) :
stlibs (V2) : bibliothque standard, version 2
Standard Library : bibliothque standard partir de la version 3

Les bibliothques standard contiennent les composants suivants :


Sytem Function Blocks : fonctions systme (SFC) et blocs fonctionnels systme (SFB) ;
S5-S7 Converting Blocks : blocs servant convertir d'anciens programmes de STEP 5 ;
TI-S7 Converting Blocks : fonctions standard usage gnral ;
IEC Function Blocks : blocs servant aux fonctions, par exemple, modification de la date
et de l'heure, oprations de comparaison, traitement de chanes et choix de maxima et
minima ;
Organization Blocks : blocs d'organisation (OB) standard.

La bibliothque standard de la version 3 contient en outre les composants suivants :


PID Control Blocks : blocs fonctionnels (FB) pour la rgulation PID
Communication Blocks : fonctions (FC) et blocs fonctionnels (FB) pour les CP
SIMATICNET.
D'autres bibliothques peuvent s'ajouter celle-ci lors de l'installation de logiciels optionnels.

Suppression et installation de bibliothques fournies


Vous pouvez, dans SIMATIC Manager, supprimer puis rinstaller les bibliothques fournies.
Pour l'installation, vous excutez une nouvelle fois le programme Setup de STEP 7 V5.0.

Nota
Les bibliothques fournies sont toujours copies lorsque vous installez STEP 7. Si vous
avez modifi des bibliothques fournies, elles seront crases par l'original lors d'une
nouvelle installation de STEP 7.
Il est donc recommand de copier les bibliothques fournies avant de les modifier et de ne
modifier que la copie.

8-18

Programmer avec STEP 7 V5.1


A5E00069874-03

9
9.1
9.1.1

Cration de blocs de code


Principes de la cration de blocs de code
Marche suivre pour la cration de blocs de code
Les blocs de code (OB, FB, FC) comportent une section de dclaration de variables, une
section d'instructions et possdent galement des proprits. Lors de la programmation,
vous devez par consquent diter les trois parties suivantes :
table de dclaration des variables : vous y dfinissez les paramtres, attributs systme
des paramtres ainsi que les variables locales du bloc.
section des instructions : vous y programmez le code du bloc que l'automate
programmable doit excuter. La section des instructions comporte un ou plusieurs
rseaux. Pour crer les rseaux, vous disposez par exemple des langages de
programmation LIST (liste d'instructions), CONT (schmas contacts) et LOG
(logigramme).
proprits de bloc : elles contiennent des informations supplmentaires comme
l'horodatage ou l'indication du chemin qui sont entres par le systme. Vous pouvez
galement entrer vous-mme des donnes sur le nom, la famille, la version et l'auteur ou
bien affecter des attributs systme aux blocs.

Programmer avec STEP 7 V5.1


A5E00069874-03

9-1

Cration de blocs de code

En principe, vous pouvez diter les parties d'un bloc de code dans un ordre quelconque.
Vous avez bien entendu aussi la possibilit de les corriger/complter.

Crez un bloc de code FB, FC ou OB


dans le gestionnaire de projets SIMATIC

Editeur LIST incrmental

Editez la table de dclaration des


variables pour le bloc

Editez la section des instructions

Editez les proprits de bloc

Enregistrez le bloc
(commande Fichier > Enregistrer)

Nota
Lorsque vous souhaitez reprendre des mnmoniques de la table des mnmoniques, vous
devriez d'abord vrifier qu'ils sont prsents et, le cas chant, les complter.

9.1.2

Prslections pour l'diteur de programmes CONT/LOG/LIST


Avant de commencer la programmation, vous devriez vous familiariser avec les possibilits
de prslection afin de travailler aisment selon vos habitudes.
La commande Outils > Paramtres ouvre une bote de dialogue onglets. Dans les
diffrents onglets, vous effectuez les prslections pour la programmation de blocs, par
exemple dans l'onglet "Editeur":
l'criture (police et taille) dans le texte et les tableaux,
si vous souhaitez afficher immdiatement les mnmoniques et le commentaire pour un
nouveau bloc.
Vous pouvez aussi modifier les prslections pour le langage, le commentaire et les
mnmoniques durant l'dition l'aide des commandes Affichage > ....
Vous modifiez la couleur reprsentant, par exemple, des slections de rseaux ou de
sections des instructions dans la page d'onglet "CONT".

9-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs de code

9.1.3

Droits d'accs aux blocs ou aux sources


Une base de donnes commune est souvent utilise lors du traitement d'un projet. Il peut
donc arriver que plusieurs personnes veuillent accder au mme bloc ou la mme source
de donnes.
Les droits de lecture et d'criture sont attribus comme suit :
Traitement hors ligne
Lors de l'ouverture d'un bloc ou d'une source, le logiciel vrifie si cet objet peut tre
ouvert avec le droit Ecriture. Si la source ou le bloc est dj ouvert, il n'est possible de
travailler que sur une copie. Si vous voulez enregistrer la copie, le logiciel vous demande
si vous voulez la substituer l'original ou si vous dsirez la sauvegarder sous un autre
nom.
Traitement en ligne
Si vous ouvrez un bloc en ligne par l'intermdiaire d'une liaison configure, le bloc hors
ligne associ est verrouill, rendant ainsi sa modification simultane impossible.

9.1.4

Instructions des lments de programme


Le catalogue Elments de programme met votre disposition des lments de langage
CONT et LOG ainsi que des multi-instances dj dclares, des blocs existant et des blocs
de bibliothques. Vous l'appelez en choisissant la commande Affichage > Catalogue. Vous
reprenez les lments de programme dans la section des instructions en choisissant la
commande Insertion > Elments de programme.

Exemple du catalogue Elments de programme en LIST

Programmer avec STEP 7 V5.1


A5E00069874-03

9-3

Cration de blocs de code

9.2
9.2.1

Edition de la table de dclaration des variables


Utilisation de la dclaration des variables dans les blocs de code
Lorsque vous ouvrez un bloc de code, la table de dclaration des variables s'affiche dans le
volet suprieur d'une fentre et la section des instructions, dans laquelle vous ditez le code
du bloc proprement dit, dans le volet infrieur.

Exemple : table de dclaration des variables et section des instructions en LIST

CONT\LIST\LOG :-FB6-<Hors ligne>


Fichier Edition

Insertion

Systme cible

Test

Affichage

Outils

Fentre

TRAFFIC\...\FB6-<Hors ligne>
Oprande Dcl.

Nom
dur_g_p

Type

Valeur intiale

S5TIME

S5T#0MS

del_r_p

S5TIME

S5T#0MS

starter

BOOL

FALSE

0.0

in

2.0

in

4.0

in

6.0
8.0

in
in

t_dur_y_car

TIMER

t_dur_y_car

10.0

in

t_delay_y_car

TIMER
TIMER

Commentaire

FB6: Feu
:
???
Rseau 1
U(
U
#starter
U
O
#condition
)
UN
#t_dur_r_car
=
#condition
Rseau 2 : ???
UN
#condition
=
#g_car

Dans la table de dclaration des variables, vous dfinissez les variables locales y compris
les paramtres formels du bloc et les attributs systme pour les paramtres. En voici
certains effets :
La dclaration sert rserver l'espace mmoire correspondant pour les variables
temporaires dans la pile des donnes locales, dans le cas de blocs fonctionnels, pour les
variables statiques dans le DB d'instance ultrieurement affect.
En dfinissant les paramtres d'entre, de sortie, d'entre/sortie, vous dterminez
galement "l'interface" pour l'appel du bloc dans le programme.
Lorsque vous dclarez les variables dans un bloc fonctionnel, celles-ci ( l'exception des
variables temporaires) dterminent galement la structure de donnes pour chaque DB
d'instance que vous affecterez au FB.
En dfinissant les attributs systme, vous affectez aux paramtres des proprits
particulires pour la configuration des messages et des liaisons, pour les fonctions de
contrle-commande et pour la configuration de processus de conduite.

9-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs de code

9.2.2

Relation entre la table de dclaration des variables et la section des


instructions
La table de dclaration des variables et la section des instructions de blocs de code sont
fortement lies, puisque la section des instructions utilise les noms de la table de dclaration
des variables. Les modifications dans la table de dclaration des variables se rpercutent
donc dans l'ensemble de la section des instructions.
Action dans la table de dclaration des
variables

Raction dans la section des instructions

Nouvelle entre correcte

Dans le cas d'un code erron, la variable


prcdemment non dclare devient valide.

Changement de nom sans modification de type


correct

Le mnmonique est immdiatement partout


reprsent avec le nouveau nom.

Nom correct chang en nom invalide

Le code n'est pas modifi.

Nom invalide chang en nom correct

Dans le cas d'un code erron, celui-ci devient


valide.

Modification du type

Dans le cas d'un code erron, celui-ci devient


valide et dans le cas d'un code correct, celui-ci
devient invalide dans certaines conditions.

Suppression dune variable (mnmonique) utilise Le code correct devient invalide.


dans le code

Les modifications de commentaire, la saisie errone d'une nouvelle variable, la modification


d'une valeur initiale ou la suppression d'une variable non utilise n'ont aucun effet sur la
section des instructions.

Programmer avec STEP 7 V5.1


A5E00069874-03

9-5

Cration de blocs de code

9.2.3

Structure de la table de dclaration des variables


La table de dclaration des variables contient des entres pour l'adresse, le type de
dclaration, le nom, le type de donnes, la valeur initiale et le commentaire des variables.
Chaque ligne du tableau correspond une dclaration de variable. Les variables du type
ARRAY ou STRUCT utilisent plusieurs lignes.
Les types de donnes autoriss pour les donnes locales des diffrents types de blocs sont
dcrits dans "Affectation de types de donnes aux donnes locales de blocs de code".
Colonne

Signification

Remarque

Edition

Oprande

Adresse dans le
format BYTE.BIT.

Pour les types de donnes qui ncessitent


plus d'un octet, l'adresse indique l'affectation
par un saut l'adresse d'octet suivante.
Lgende des caractres :
* : longueur d'un lment de champ en
octets.
+ : Adresse de dbut, par rapport au dbut de
la structure
= : espace mmoire total d'une structure

Entre systme :
Le systme
affecte et affiche
l'adresse lorsque
vous terminez la
saisie d'une
dclaration.

Variable

Mnmoniques des
variables

Le nom doit commencer par une lettre. Les


mots-cls rservs ne sont pas autoriss.

Requis

Dclaration

Type de
dclaration,
"Application" des
variables

Possibilits selon le type de bloc :


paramtre d'entre "in"
paramtre de sortie "out"
paramtre d'entre/sortie "in_out"
variable statique "stat"
variable temporaire "temp"

Prslection du
systme selon le
type de bloc

Type de
donnes

Type de donnes
de la variable
(BOOL, INT,
WORD, ARRAY
etc.).

Vous pouvez slectionner les types de


donnes simples l'aide du menu appel par
le bouton droit de la souris.

Requis

Valeur
initiale

Valeur initiale si le
logiciel ne doit pas
prendre la valeur
par dfaut

Doit tre compatible avec le type de donnes. Facultatif


La valeur initiale est prise comme valeur en
cours de la variable lors du premier
enregistrement du DB si vous n'affectez pas
explicitement une valeur en cours cette
variable.

Commentaire

Commentaire pour
la documentation

Facultatif

Valeur par dfaut


Lorsque vous ouvrez un bloc de code que vous venez de crer, une table de dclaration des
variables prdfinie s'affiche. Elle contient la liste des seuls types de dclaration autoriss
pour le type de bloc slectionn et ce, dans l'ordre spcifi (in, out, in_out, stat, temp).
Lorsque vous crez un OB, une table de dclaration standard dont vous pouvez modifier les
valeurs s'affiche.

9-6

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs de code

Colonnes non ditables dans la table de dclaration des variables

9.2.4

Colonne

Entre

Oprande

Le systme affecte et affiche l'entre lorsque vous terminez la saisie d'une


dclaration.

Type de
dclaration

Le type de dclaration est dtermin par la position de la dclaration dans


le tableau. Ceci permet de garantir que les variables peuvent exclusivement
tre saisies dans l'ordre correct des types de dclaration. Pour modifier le
type d'une dclaration, vous devez d'abord couper la dclaration, puis la
coller sous le nouveau type de dclaration.

Remarques gnrales sur les tables de dclaration de variables


Pour l'dition de la table, vous disposez des fonctions habituelles de la commande Edition .
L'dition est facilite grce au menu contextuel que vous appelez en cliquant sur le bouton
droit de la souris. Pour la saisie du type de donnes, vous tes galement assist par le
menu du bouton droit de la souris.

Slection dans la table de dclaration des variables


Pour slectionner une ligne individuelle, vous cliquez sur la zone d'adresse protge
correspondante. La slection de lignes supplmentaires du mme type de donnes
s'effectue en maintenant la touche MAJUSCULE enfonce. Les lignes slectionnes sont
reprsentes en noir.
La slection des ARRAY se fait par clic sur la zone d'adresse de la ligne correspondante.
Pour slectionner une structure, vous cliquez sur la zone d'adresse de la premire ou de
la dernire ligne (c'est--dire celle contenant les mots-cls STRUCT ou END_STRUCT).
Pour slectionner une dclaration individuelle dans une structure, vous cliquez sur la zone
d'adresse correspondante de la ligne.
Lorsque vous imbriquez des structures, leur hirarchie est reprsente par le retrait
correspondant du nom de la variable.

Annulation dactions
La commande Edition > Annuler vous permet d'annuler la dernire opration Couper ou
Effacer effectue dans la table de dclaration des variables.

Programmer avec STEP 7 V5.1


A5E00069874-03

9-7

Cration de blocs de code

9.3
9.3.1

Multi-instances dans la table de dclaration des variables


Utilisation de multi-instances
Il est probable qu'en raison des caractristiques (par exemple espace mmoire) des CPU S7
utilises, vous ne puissiez ou ne souhaitiez affecter qu'un nombre limit de blocs de
donnes aux donnes d'instance. Lorsque vous appelez des blocs fonctionnels
supplmentaires existant dans un FB de votre programme utilisateur (hirarchie d'appel de
FB), vous pouvez appeler ces blocs fonctionnels supplmentaires sans qu'ils ne possdent
leur propres DB d'instance (c'est--dire sans DB d'instance supplmentaires).
Vous pouvez appliquer la solution suivante :
Entrez les FB appeler comme variables statiques dans la dclaration des variables du
FB appelant.
Dans ce bloc fonctionnel vous pouvez appeler d'autre blocs fonctionnels sans qu'ils ne
possdent leur propres DB d'instance (c'est--dire sans DB d'instance supplmentaires).
Vous pouvez ainsi regrouper les donnes d'instance dans un seul DB d'instance et, ainsi,
mieux utiliser le nombre de DB disponibles.
L'exemple suivant illustre la solution dcrite : FB 2 et FB 3 utilisent le DB d'instance du bloc
fonctionnel FB 1 qui les appelle.

FB 1
Section de dclaration :
Variable statique de type
"FB appeler"
(FB2, FB3)
instance_1 : FB 2
instance_2 : FB 3
Appel de FB :
CALL#instance_1
CALL#instance_2

DB dinstance de FB 1

FB 2 (utilise le DB
dinstance de FB 1)

FB 3 (utilise le DB
dinstance de FB 1)

Condition unique : vous devez "indiquer" au bloc fonctionnel appelant, quelles instances
vous appelez et de quel type (de FB) elles sont. Ces indications doivent tre ralises dans
la section de dclaration du FB appelant. Le FB utiliser doit possder au minimum une
variable ou un paramtre de la zone de donnes (c'est--dire pas VAR_TEMP).
N'utilisez pas de blocs de donnes multi-instance tant que des modifications en ligne sont
attendues lorsque la CPU est en marche. Un rechargement rgulier n'est garanti que si vous
utilisez des blocs de donnes d'instance.

9-8

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs de code

9.3.2

Rgles pour la formation de multi-instances


Les rgles suivantes s'appliquent la dclaration des multi-instances :
La dclaration de multi-instances n'est possible que dans les blocs fonctionnels crs
dans STEP 7 partir de la version 2 (cf. attribut de bloc dans les proprits du FB).
Pour la dclaration de multi-instances, le bloc fonctionnel doit avoir t cr comme FB
admettant les multi-instances (prslection partir de STEP 7 Version x.x ; peut tre
dsactive l'aide de la commande Outils > Paramtres dans l'diteur).
Vous devez affecter un DB d'instance au bloc fonctionnel dans lequel vous dclarez une
multi-instance.
Une multi-instance ne peut tre dclare que comme variable statique (type de
dclaration "stat").

Nota

9.3.3

Vous pouvez galement crer des multi-instances pour les blocs fonctionnels systme.

Si le FB na pas t conu pour admettre des multi-instances et que cette qualit


savre ncessaire par la suite, vous pouvez gnrer une source partir du FB dans
laquelle vous supprimez la proprit de bloc CODE_VERSION1 pour la recompiler
ensuite en FB.

Saisie de multi-instances dans la table de dclaration des variables


1. Ouvrez le FB partir duquel les FB imbriqus doivent tre appels.
2. Dfinissez, dans la dclaration des variables du FB appelant, une variable statique pour
chaque appel d'un bloc fonctionnel pour l'instance duquel vous ne voulez pas prciser de
DB.
-

Positionnez-vous dans la deuxime colonne d'une ligne vide avec la dclaration "stat".

Dans la colonne "Nom", saisissez une dsignation pour l'appel du FB, derrire le type
de dclaration "stat".

Dans la colonne "Type", saisissez le FB appeler, sous forme d'adresse absolue ou


sous forme de mnmonique.

Vous pouvez saisir d'ventuels explications dans la colonne de commentaire.

Appels dans la section des instructions


Si vous avez dclar des multi-instances, vous pouvez utiliser des appels de FB sans
indication d'un DB d'instance.
Exemple : la variable statique "Nom : Moteur_1, Type de donnes : FB20" tant dfinie,
l'instance peut tre appele de la manire suivante :
CALL Moteur_1

Programmer avec STEP 7 V5.1


A5E00069874-03

// Appel du FB 20 sans DB d'instance

9-9

Cration de blocs de code

9.4

9.4.1

Remarques gnrales sur la saisie d'instructions et de


commentaires
Structure de la section des instructions
Vous dcrivez l'excution du programme de votre bloc de code dans la section des
instructions. Vous crivez cet effet les instructions correspondantes dans des rseaux, en
fonction du langage de programmation activ. L'diteur effectue une vrification de la
syntaxe immdiatement aprs la saisie d'une instruction et reprsente les ventuelles
erreurs en italique et en rouge.
Dans la plupart des cas, la section des instructions d'un bloc de code comporte plusieurs
rseaux, eux-mmes composs d'une liste d'instructions.
Vous pouvez diter le titre de bloc, les commentaires de bloc, les titres de rseaux, les
commentaires de rseaux ainsi que les lignes d'instructions dans les rseaux d'une section
d'instructions.

Structure de la section des instructions dans lexemple du langage de programmation


LIST

FB70 - <Hors ligne>

Titre du bloc

FB 70 : Com mande du m oteur

Commentaire
de bloc

Liste dinstructions Commande m oteur (Gnr.1)


Rgulateur PID
Rseau 1 : P hase de dm arrage

Commentaire
de rseau

Rseau Comm ande du dm arrage


U E 1.1 //Com mentaire
U A 4.1
UN E 2.6
= A 0.4

Instructions
Titre de rseau

Rseau 2 : ???
?

9-10

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs de code

9.4.2

Marche suivre pour la saisie d'instructions


De manire gnrale, vous pouvez diter les composants de la section des instructions dans
un ordre quelconque. Lorsque vous programmez un bloc pour la premire fois, il est
recommand de procder dans l'ordre suivant :

Entrez le titre du bloc (facultatif)

Entrez le commentaire du bloc (facultatif)

Editez les rseaux


Entrez le titre du rseau (facultatif)

Entrez le commentaire de
rseau (facultatif)

Entrez les instructions


et les commentaires (facultatif)

Vous pouvez effectuer les modifications dans les modes dinsertion et de substitution. Vous
passer d'un mode l'autre avec la touche INSERTION.

Programmer avec STEP 7 V5.1


A5E00069874-03

9-11

Cration de blocs de code

9.4.3

Saisie de mnmoniques globaux dans un programme


En choisissant la commande Insertion > Mnmonique, vous pouvez insrer des
mnmoniques dans la section des instructions de votre programme. Lorsque le curseur est
positionn au dbut, la fin ou l'intrieur d'une chane de caractres, le mnmonique
commenant par cette chane de caractres est dj slectionn - si un tel mnmonique
existe. Si vous modifiez la chane de caractres, la slection est reprise dans la liste.
Les sparateurs de dbut et de fin d'une chane de caractres sont par exemple le caractre
d'espacement, le point et le double point. Les sparateurs ne sont pas interprts dans les
mnmoniques globaux.
Pour insrer des mnmoniques, vous pouvez procder de la manire suivante :
1. Saisissez les caractres de dbut du mnmonique souhait dans le programme.
2. Appuyez simultanment sur la touche CTRL et sur la touche J, pour afficher la liste des
mnmoniques. Le premier mnmonique commenant par les caractres de dbut saisis
est dj slectionn.
3. Validez le mnmonique en appuyant sur la touche ENTREE ou slectionnez un autre
mnmonique.
Le mnmonique entre guillemets remplace alors les caractres de dbut.
De manire gnrale : lorsque, lors de l'insertion d'un mnmonique, le curseur se trouve au
dbut, la fin ou l'intrieur d'une chane de caractres, cette chane de caractres est
remplace par le mnmonique entre guillemets.

9.4.4

Titres et commentaires de blocs et de rseaux


Les commentaires amliorent la lisibilit de votre programme utilisateur et facilitent ainsi la
mise en service et la recherche des erreurs ventuelles. Vous devez absolument y faire
appel, car ils constituent une part importante de la documentation du programme.

Commentaires pour les programmes CONT, LOG et LIST


Vous disposez des commentaires suivants :
Titre de bloc : titre d'un bloc de 64 caractres au maximum.
Commentaire de bloc : documentation du bloc de code entier, indique par exemple la
fonction du bloc.
Titre de rseau : titre d'un rseau de 64 caractres au maximum.
Commentaire de rseau : documentation de la fonction des diffrents rseaux.
Colonne de commentaire de la table de dclaration des variables : commentaires pour
les donnes locales dclares.
Commentaire de mnmonique : commentaires ayant t saisis pour un oprande lors de
la dfinition du nom dans la table des mnmoniques.
Vous pouvez afficher ces commentaires en choisissant la commande Affichage >
Informations mnmonique.
Vous pouvez saisir le titre de bloc, les titres de rseaux ainsi que les commentaires de bloc
et les commentaires de rseaux dans la section des instructions d'un bloc de code.

9-12

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs de code

Titre de bloc ou de rseau


Pour saisir un titre de bloc ou de rseau, positionnez le curseur sur les trois points
d'interrogation droite du nom de bloc ou de rseau (par exemple, Rseau 1 : ???). Une
zone de texte dans laquelle vous pouvez entrer le titre s'ouvre. Ce titre peut comporter 64
caractres au maximum.
Le commentaire d'un bloc se rapporte au bloc de code entier : vous pouvez en dcrire la
fonction. Quant aux commentaires de rseaux, ils font rfrence aux rseaux individuels et
dcrivent donc les caractristiques de chacun.

1.

Rseau 2 : ???

Rseau 2 :

2.

Clic de la souris

Titre de rseau

Commentaires de blocs et de rseaux


Vous pouvez activer/dsactiver l'affichage des zones de commentaires grises en choisissant
la commande Affichage > Afficher avec > Commentaire. Un double clic sur une telle zone
de commentaires ouvre une zone de texte dans laquelle vous pouvez saisir vos explications.
Vous disposez de 64 kilo-octets par bloc pour les commentaires de blocs et de rseaux.

1.

???
Clic de la souris

2.

9.4.5

Commentaire de rseau ou de bloc

Fonction de recherche derreurs dans la section des instructions


Puisqu'elles sont reprsentes en rouge, les erreurs peuvent tre localises aisment dans
la section des instructions. Pour passer facilement aux erreurs se trouvant hors de la zone
visisible, l'diteur propose les deux fonctions de recherche Edition > Aller > Erreur
prcdente/suivante.
Cette recherche se fait par-del les rseaux, c'est--dire dans toute la section des
instructions et pas uniquement dans le rseau en cours ou dans la zone actuellement
visible.
Lorsque vous activez la barre d'tat en choisissant la commande Affichage > Barre d'tat,
des informations sur les erreurs sy affichent.
Vous avez galement la possibilit de corriger des erreurs et d'effectuer des modifications
en mode de substitution. Vous passez du mode d'insertion au mode de substitution et
inversement avec la touche INSERTION.

Programmer avec STEP 7 V5.1


A5E00069874-03

9-13

Cration de blocs de code

9.5
9.5.1

Edition dinstructions CONT dans la section des instructions


Paramtres pour le langage de programmation CONT

Paramtrage de la mise en page pour CONT


Vous pouvez dfinir la mise en page pour la programmation en langage CONT. Le format
choisi (format vertical DIN A4, format horizontal DIN A4, taille maximale) a une influence sur
le nombre d'lments CONT reprsentables dans une branche.
1. Choisissez la commande Outils > Paramtres.
2. Choisissez l'onglet "CONT/LOG" dans la bote de dialogue qui s'affiche alors.
3. Choisissez le format dsir dans la zone de liste "Mise en page". Indiquez la taille de
format dsire.

Paramtres pour l'impression :


Si vous dsirez imprimer la section des instructions CONT, nous vous conseillons de dfinir
le format de page appropri avant mme d'crire la section des instructions.

Paramtres dans la page d'onglet "CONT/LOG"


Dans la page d'onglet "CONT/LOG" laquelle vous accdez par la commande Outils >
Paramtres, vous pouvez dfinir les paramtres gnraux comme par exemple le format ou
la largeur du champ de l'oprande.

9.5.2

Rgles pour la saisie d'instructions CONT


Vous trouverez une description du langage "CONT" dans le manuel "CONT pour S7-300/400
Programmation de blocs" ou dans l'aide en ligne sur CONT.
Un rseau CONT peut tre compos de plusieurs lments dans plusieurs branches. Tous
les lments et branches doivent tre relis entre eux, la barre conductrice gauche n'tant
pas considre comme une liaison (CEI 1131-3).
Vous devez observer quelques rgles lors de la programmation en CONT. Des messages
vous signaleront d'ventuelles erreurs.

9-14

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs de code

Terminaison d'un rseau CONT


Tout rseau CONT doit possder une terminaison sous forme de bobine ou de bote. Vous
ne pouvez cependant pas utiliser les lments CONT suivants comme terminaison de
rseau :
botes de comparaison
bobines pour connecteurs _/(#)_/
bobines pour le traitement de fronts positifs _/(P)_/ ou ngatifs _/(N)_/

Placement de botes
Le point de dpart de la branche pour la connexion d'une bote doit toujours tre la barre
conductrice gauche. La branche prcdant la bote peut cependant contenir des fonctions
logiques ou d'autres botes.

Placement de bobines
Les bobines sont automatiquement places l'extrmit droite du rseau, o elles forment
la terminaison d'une branche.
Exceptions : les bobines pour connecteurs _/(#)_/ et les traitements de front positifs _/(P)_/
ou ngatifs _/(N)_/ ne peuvent tre placs ni compltement gauche, ni compltement
droite dans la branche. Ils ne sont pas non plus autoriss dans les branches parallles.
Il existe des bobines pour lesquelles une fonction logique boolenne est requise et d'autres
qui l'interdisent.
Bobines ncessitant une fonction logique :
-

sortie _/( ), mise 1 sortie _/(S), remise 0 sortie _/(R)

connecteur _/(#)_/, front positif _/(P)_/, front ngatif _/(N)_/

toutes les bobines pour compteurs et temporisations

sauts si 0 _/(JMPN)

activation relais de masquage _/(MCR<)

chargement du rsultat logique dans le registre RB _/(SAVE)

retour saut _/(RET)

Bobines interdisant une fonction logique :


-

dbut de relais de masquage _/(MCRA)

fin de relais de masquage _/(MCRD)

ouverture bloc de donnes _/(OPN)

dsactivation relais de masquage _/(MCR>)

Pour toutes les autres bobines, les fonctions logiques sont autorises sans tre requises.
Vous ne devez pas utiliser les bobines suivantes comme sortie parallle :
sauts si 0 _/(JMPN)
sauts si 1 _/(JMP)
appel de bloc _/(CALL)
retour _/(RET)

Programmer avec STEP 7 V5.1


A5E00069874-03

9-15

Cration de blocs de code

Entre de validation / sortie de validation


La connexion de l'entre de validation "EN" ou de la sortie de validation "ENO" de botes est
possible mais pas requise.

Suppression et modification
Lorsqu'une branche n'est compose que d'un lment, la suppression de cet lment
supprime la branche entire.
La suppression d'une bote entrane galement la suppression de toutes les branches
relies avec les entres boolennes de cette bote, l'exception de la branche principale.
Pour le simple change d'lments du mme type, vous disposez du mode de substitution.

Branches parallles
Insrez les branches OU de la gauche vers la droite.
Les branches parallles s'ouvrent vers le bas et se ferment vers le haut.
Les branches parallles s'ouvrent toujours aprs l'lment CONT slectionn.
Les branches parallles se ferment toujours aprs l'lment CONT slectionn.
Pour effacer une branche parallle, vous devez effacer tous les lments CONT qu'elle
contient. La suppression du dernier lment CONT de la branche entrane galement
l'effacement du reste de celle-ci.

9.5.3

Branchements interdits en CONT

Circulation du courant de la droite vers la gauche


Vous ne pouvez pas diter de branches qui provoqueraient une circulation inverse du
courant. La figure suivante en montre un exemple. Si E 1.4 a l'tat de signal "0", E 6.8
entranerait une circulation du courant de la droite vers la gauche. Ceci est interdit.

E 1.0

E 1.2

E 2.6

E 6.8

E 1.4

E 4.2

A 6.0

Circulation du courant
interdite !

E 4.4

E 2.8

Court-circuit
Vous ne pouvez pas diter de branches qui entranent un court-circuit. La figure suivante en
montre un exemple :

E 1.0

E 1.2

E 1.4

A 6.0

Court-circuit interdit !

9-16

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs de code

9.6
9.6.1

Edition dinstructions LOG dans la section des instructions


Paramtres pour le langage de programmation LOG

Dfinition de la mise en page pour LOG


Vous pouvez dfinir la mise en page pour la programmation en langage LOG. Le format
choisi (format vertical DIN A4, format horizontal DIN A4, taille maximale) a une influence sur
le nombre d'lments LOG reprsentables dans une branche.
1. Choisissez la commande Outils > Paramtres.
2. Choisissez l'onglet "CONT/LOG" dans la bote de dialogue qui s'affiche alors.
3. Choisissez le format dsir dans la zone "Mise en page". Indiquez la taille de format
dsire.

Remarques pour limpression


Si vous dsirez imprimer la section des instructions LOG, nous vous conseillons de dfinir le
format de page appropri avant mme d'crire la section des instructions.

Onglet CONT/LOG sous Outils > Paramtres


Dans la page d'onglet "CONT/LOG" laquelle vous parvenez via la commande Outils >
Paramtres, vous pouvez dfinir les paramtres gnraux comme par exemple le format ou
la largeur du champ de l'oprande.

Programmer avec STEP 7 V5.1


A5E00069874-03

9-17

Cration de blocs de code

9.6.2

Rgles pour la saisie d'instructions LOG


La description du langage "LOG" figure dans le manuel "LOG pour S7-300/400
Programmation de blocs" ou dans l'aide en ligne sur LOG.
Un rseau LOG peut tre compos de plusieurs lments. Tous les lments doivent tre
relis entre eux (CEI 1131-3).
Vous devez observer quelques rgles lors de la programmation en LOG. Des messages
vous signaleront d'ventuelles erreurs.

Insertion et dition d'adresses et de paramtres


Lors de l'insertion d'un lment LOG, les chanes de caractres "???" et "..." sont utilises
pour rserver l'emplacement des adresses ou des paramtres.
La chane de caractres "???" en rouge signale les adresses et paramtres devant tre
dfinis.
La chane de caractres "..." en noir signale les adresses et paramtres pouvant tre
dfinis.
Le type de donnes escompt s'affiche lorsque vous placez le pointeur de la souris sur les
adresses ou paramtres non dfinis.

Placement de botes
Aux botes avec des fonctions logiques binaires (&, >=1, XOR), vous pouvez accoler des
botes standard (bascules, compteurs, temporisations, oprations de calcul, etc.). Les botes
de comparaison sont exclues de cette rgle.
Dans un rseau, vous n'tes pas autoris programmer des fonctions logiques spares
par des sorties distinctes. A l'aide de la branche T, vous pouvez cependant attribuer
plusieurs affectations une squence de botes logiques. La figure suivante reprsente un
rseau contenant deux affectations.

#starter

>=1

#condition

Drivation en T
&
#condition

#t_next_red_car
#t_dur_r_car

>=1

#cond_02
#car

9-18

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs de code

Les botes suivantes ne doivent pas tre places l'extrmit droite de la squence logique,
o elles forment la terminaison de la squence :
Rinitialiser le compteur
Comptage, dcomptage
Activer la temporisation Impulsion / Impulsion prolonge
Activer la temporisation Retard la monte / retard la retombe.
Il existe des botes pour lesquelles une fonction logique boolenne est requise et d'autres
qui l'interdisent.

Botes ncessitant une fonction logique :


sortie, mise 1 sortie, remise 0 sortie _/[R]
connecteur _/[#]_/, front positif _/[P]_/, front ngatif _/[N]_/
toutes les botes pour compteurs et temporisations
sauts si 0 _/[JMPN]
activation relais de masquage _/[MCR<]
chargement du rsultat logique dans le registre RB _/[SAVE]
retour saut _/[RET]

Botes interdisant une fonction logique :


dbut de relais de masquage [MCRA]
fin de relais de masquage [MCRD]
ouverture bloc de donnes [OPN]
dsactivation relais de masquage [MCR>]
Pour toutes les autres botes, les fonctions logiques sont autorises sans tre requises.

Entre de validation/ sortie de validation


La connexion de l'entre de validation "EN" ou de la sortie de validation "ENO" de botes est
possible mais pas requise.

Suppression et modification
La suppression d'une bote entrane galement la suppression de toutes les branches
relies avec les entres boolennes de cette bote, l'exception de la branche principale.
Pour le simple change d'lments du mme type, vous disposez du mode de substitution.

Programmer avec STEP 7 V5.1


A5E00069874-03

9-19

Cration de blocs de code

9.7
9.7.1

Edition dinstructions LIST dans la section des instructions


Paramtres pour le langage de programmation LIST

Slection des abrviations


Vous pouvez choisir parmi deux types d'abrviations :
allemandes ou
anglaises
Avant d'ouvrir un bloc, vous slectionnez les abrviations dans SIMATIC Manager, en
choisissant la commande Outils > Paramtres, puis longlet "Langage". Vous ne pouvez
pas modifier les abrviations durant l'dition d'un bloc.
Vous ditez les proprits de bloc dans une bote de dialogue distincte.
Vous pouvez ouvrir plusieurs blocs dans l'diteur et les diter les uns aprs les autres.

9.7.2

Rgles pour la saisie d'instructions LIST


La description du langage "LIST" figure dans le manuel "LIST pour S7-300/400
Programmation de blocs" ou dans l'aide en ligne sur LIST (Description des langages).
Vous devez respecter les rgles suivantes lors de la saisie d'instructions LIST en mode de
saisie incrmentale : .
Respectez l'ordre de programmation des blocs : il faut programmer les blocs appels
avant les blocs appelants.
Une instruction se compose d'un repre de saut (facultatif), d'une opration, d'un
oprande et d'un commentaire (facultatif).
Exemple M001: U
E1.0 //commentaire
Une ligne contient une seule instruction.
Un bloc peut contenir 999 rseaux au maximum.
Un rseau peut contenir environ 2000 lignes. Le nombre de lignes possibles varie selon
que l'affichage est agrandi ou rduit.
Vous pouvez saisir les oprations et les adresses absolues indiffremment en
majuscules ou en minuscules.

9-20

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs de code

9.8
9.8.1

Actualisation dappels de blocs


Actualisation dappels de blocs
En choisissant la commande Edition > Appel > Actualiser dans "CONT/LOG/LIST :
Programmation de blocs S7", vous pouvez mettre jour automatiquement des appels de
bloc ou des utilisations d'UTD devenus invalides aprs les modifications d'interfaces
suivantes :
insertion de nouveaux paramtres,
suppression de paramtres,
changement du nom de paramtres,
modification du type de paramtres,
changement de l'ordre (recopie) de paramtres.

L'affectation entre paramtres formels et paramtres effectifs est ralise d'aprs les rgles
suivantes, dans l'ordre spcifi :
1. Noms de paramtre identiques :
Les paramtres effectifs sont affects automatiquement lorsque le nom du paramtre
formel est rest identique.
Cas particulier : dans CONT et LOG, la fonction logique prcdente de paramtres
d'entre binaires ne peut tre affecte automatiquement que si le type de donnes est
identique (BOOL). Si dans un tel cas, le type de donnes a t modifi, la fonction
logique prcdente reste conserve sous forme de branche ouverte.
2. Types de donnes de paramtre identiques :
Une fois que les paramtres de nom identique ont t affects, les paramtres effectifs
non encore affects le seront des paramtres formels de mme type de donnes que
"l'ancien" paramtre formel.
3. Position de paramtre identique :
Les paramtres effectifs non encore affects d'aprs les rgles 1 et 2, seront prsent
affects aux nouveaux paramtres formels, d'aprs leur position dans "l'ancienne"
interface.
4. Si des paramtres effectifs ne peuvent pas tre affects d'aprs les trois rgles prcites,
ils seront supprims ou, dans le cas de fonctions logiques prcdentes dans CONT ou
LOG, resteront conservs sous forme de branches ouvertes.
Aprs avoir excut cette fonction, vrifiez les modifications ralises dans la table de
dclaration des variables ainsi que dans la section des instructions du programme.

Programmer avec STEP 7 V5.1


A5E00069874-03

9-21

Cration de blocs de code

9.9
9.9.1

Enregistrement de blocs de code


Enregistrement de blocs de code
Pour intgrer les blocs nouvellement crs ou bien les modifications apportes la section
des instructions de blocs de code ou aux tables de dclaration au systme de gestion de
donnes de la PG, vous devez sauvegarder les blocs correspondants. Ainsi, les donnes
sont crites sur le disque dur de la console de programmation.

Enregistrement de blocs sur le disque dur de la PG


1. Activez la fentre de travail du bloc enregistrer.
2. Choisissez :
-

la commande Fichier > Enregistrer si vous voulez sauvegarder le bloc sous le mme
nom ;

la commande Fichier > Enregistrer sous si vous voulez sauvegarder le bloc sous un
autre programme utilisateur S7 ou sous un autre nom. Indiquez, dans la bote de
dialogue qui apparat alors, le nouveau chemin d'accs ou le nouveau bloc.

Dans les deux cas, le bloc n'est enregistr que si sa syntaxe est correcte. Les erreurs de
syntaxe ventuelles sont immdiatement reconnues lors de la cration et sont affiches en
rouge. Vous devez les corriger avant l'enregistrement du bloc.

Nota
Vous pouvez enregistrer des blocs ou des sources sous dautres projets ou
bibliothques galement dans SIMATIC Manager (par exemple, par glisser-lcher).
L'enregistrement de blocs ou de programmes utilisateur complets sur une carte mmoire
n'est possible que dans SIMATIC Manager.
En cas de problme lors de l'enregistrement ou de la compilation de blocs volumineux,
vous devriez rorganiser le projet. Choisissez cet effet la commande Fichier >
Rorganiser dans SIMATIC Manager. Faites ensuite une nouvelle tentative
denregistrement ou de compilation.

9.9.2

Correction des interfaces dans une FC, un FB ou un UDT


Si vous avez corriger l'interface dans un FB, une FC ou un UDT, procdez de la manire
suivante afin d'viter des conflits d'horodatage :
1. Gnrez une source LIST avec le bloc modifier ainsi qu'avec tous les blocs qui s'y
rfrent de manire directe ou indirecte.
2. Enregistrez les modifications dans la source gnre.
3. Recompilez la source modifie en blocs.
Vous pouvez prsent enregistrer/charger la modification d'interface.

9-22

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de blocs de code

9.9.3

Comment viter des erreurs lors de l'appel de blocs

STEP 7 crase des donnes dans le registre DB


STEP 7 modifie les registres des CPU S7-300/S7-400 lors de certaines oprations. Les
contenus des registres DB et DI sont, par exemple, permuts lors de l'appel d'un FB : cela
permet d'ouvrir le DB d'instance du FB appel sans perdre l'adresse du DB d'instance
prcdent.
En adressage absolu, des erreurs peuvent se produire lors de l'accs des donnes
figurant dans les registres : dans certains cas, les adresses dans le registre d'adresse1
(AR1) et dans le registre de DB sont crases. Il se peut donc que vous lisiez des adresses
errones ou que vous criviez des adresses errones.

Danger
Il existe un risque de dgts matriels et de dommages physiques lorsque vous utilisez :
1. CALL FC, CALL FB, CALL multi-instance,
2. des accs un DB indiqus intgralement (par exemple, DB20.DBW10),
3. des accs des variables de type de donnes complexe,
Il est possible que les contenus des registres de bloc de donnes (DB et DI), des registres
d'adresse (AR1, AR2) et des accumulateurs (ACCU1 et ACCU2) soient modifis.
En outre, il n'est pas possible d'utiliser le rsultat logique RLG comme paramtre
supplmentaire (implicite) lors de l'appel d'une fonction ou d'un bloc fonctionnel.
Si vous utilisez les mthodes de programmation ci-dessus, vous devez vous-mme faire en
sorte que ces contenus soient corrects afin d'viter tout dysfonctionnement.

Sauvegarde de donnes correctes


Le contenu du registre de DB s'avre tout particulirement important lorsque vous accdez
des donnes en format abrg de l'adresse absolue. Si, par exemple, vous partez du
principe que le DB20 est ouvert (son numro est donc enregistr dans le registre DB), vous
pouvez indiquer DBX0.2 pour accder aux donnes figurant dans le bit 2 de l'octet 0 du DB
dont l'adresse figure dans le registre DB, donc le DB20. Toutefois, si le registre DB contient
une autre adresse, vous accdez des donnes errones.
Pour viter toute erreur lors d'accs aux donnes du registre DB, nous vous conseillons :
d'utiliser l'adressage symbolique,
de donner l'adresse absolue complte (par exemple, DB20.DBX0.).
Avec ces deux mthodes d'adressage, STEP 7 ouvre automatiquement le bon DB. Si vous
utilisez le registre AR1 pour l'adressage indirect, vous devez toujours charger l'adresse
correcte dans AR1.

Situation dans lesquelles les registres sont modifis


La manipulation des registres dadresse pour ladressage indirect ne concerne que le
langage LIST. Les autres langages n'autorisent pas l'accs indirect aux registres d'adresse.
En revanche, il faut tenir compte de la modification du registre du DB par le compilateur
dans tous les langages de programmation afin de garantir une transmission correcte des
paramtres lors d'appels de blocs.

Programmer avec STEP 7 V5.1


A5E00069874-03

9-23

Cration de blocs de code

Le contenu du registre d'adresse AR1 et du registre de DB du bloc appelant est cras dans
les situations suivantes :
Situation

Signification

Paramtres effectifs
provenant d'un DB

Une fois que vous avez affect un bloc un paramtre effectif qui
est sauvegard dans un bloc de donnes (par exemple,
DB20.DBX0.2), STEP 7 ouvre ce bloc de donnes (DB20) et modifie
le contenu du registre de DB en consquence. Aprs l'appel de
bloc, le programme utilise alors le DB modifi.

Appel de bloc en relation


avec des types de donnes
complexes

Le contenu du registre AR1 et du registre de DB du bloc appelant


est modifi aprs un appel de bloc dans une FC qui transmet une
composante d'un paramtre formel de type de donnes complexe
(chane, tableau, structure ou UDT) au bloc appel.

Il en est de mme lors d'un appel dans un FB si le paramtre se


situe dans la zone VAR_IN_OUT du bloc appelant.

Accs des composants de


type de donnes complexe

STEP7 utilise le registre d'adresse AR1 et le registre de DB lors de


l'accs d'un FB une composante d'un paramtre formel de type de
donnes complexe dans la zone VAR_IN_OUT (chane, tableau,
structure ou UDT). Cela entrane donc la modification du contenu
de ces deux registres.
STEP7 utilise le registre d'adresse AR1 et le registre de DB lors de
l'accs d'une FC une composante d'un paramtre formel de type
de donnes complexe (chane, tableau, stucture ou UDT). Cela
entrane donc la modification du contenu de ces deux registres.

Nota
Lors de l'appel d'un FB dans un bloc de version 1, le parmtre effectif pour le premier
paramtre boolen IN ou IN_OUT n'est pas transmis correctement si l'opration avant
l'appel ne dlimite pas les RLG. Dans ce cas, ce paramtre est combin au RLG
existant.
Il y a criture dans le registre d'adresse AR2 lors de l'appel d'un FB (simple ou
multi-instance).
Le tratement correct d'un FB n'est plus garanti si le registre d'adresse AR2 est modifi
l'intrieur de ce FB.
Si ladresse absolue du DB nest pas transmise en entier un paramtre ANY, le
pointeur ANY ne contient pas le numro du DB ouvert, mais toujours le numro 0.

9-24

Programmer avec STEP 7 V5.1


A5E00069874-03

10 Cration des blocs de donnes

10.1

Principes de la cration des blocs de donnes


Dans un bloc de donnes, vous stockez, par exemple, les valeurs auxquelles votre machine
ou installation accde. Contrairement au bloc de code que vous avez programm dans l'un
des langages de programmation CONT/LOG ou LIST, le bloc de donnes ne comporte que
la section de dclaration des variables. Il ne possde pas de section d'instructions, et ne
ncessite donc pas de programmation de rseaux.
Aprs avoir ouvert un bloc de donnes, vous pouvez l'afficher dans la vue des dclarations
ou dans la vue des donnes. Vous passez d'une vue l'autre en choisissant les commandes
Affichage > Vue des dclarations et Affichage > Vue des donnes.

Vue des dclarations


Choisissez la vue des dclarations pour
lire ou dterminer la structure de donnes des DB globaux,
lire la structure de donnes des DB associs un type de donnes utilisateur (UDT),
lire la structure de donnes des DB associs un bloc fonctionnel.
Vous ne pouvez pas modifier la structure des blocs de donnes associs un FB ou un
type de donnes utilisateur. Il vous faudrait d'abord modifier le FB ou l'UDT correspondant,
puis crer un nouveau DB.

Vue des donnes


Choisissez la vue des donnes pour modifier des donnes. Seule la vue des donnes vous
permet d'afficher, de saisir ou de modifier la valeur en cours de chaque lment. Dans la
vue des donnes des blocs de donnes, les lments des variables avec types de donnes
complexes sont numrs chacun avec leur nom complet.

Diffrence entre un bloc de donnes d'instance et un bloc de donnes global


Le bloc de donnes global n'est pas affect un bloc de code. Il contient des valeurs qui
sont requises par les installations ou machines et peut tre appel directement un endroit
quelconque du programme.
Le bloc de donnes d'instance est quant lui directement affect un bloc de code, par
exemple un bloc fonctionnel. Le bloc de donnes d'instance contient les donnes ayant
t stockes dans la table de dclaration des variables d'un bloc fonctionnel.

Programmer avec STEP 7 V5.1


A5E00069874-03

10-1

Cration des blocs de donnes

10.2

Vue des dclarations de blocs de donnes


Vous ne pouvez pas modifier la vue des dclarations de blocs de donnes non globaux.
Colonne

Signification

Adresse

Ici saffiche ladresse que STEP 7 affecte automatiquement la variable lorsque vous
achevez la saisie d'une dclaration.

Dclaration

Cette colonne n'existe que pour les blocs de donnes d'instance. Elle indique
comment les variables ont t dclares dans le bloc fonctionnel :

Paramtres d'entre (IN)

Paramtres de sortie (OUT)

Paramtres d'entre/sortie (IN_OUT)

Donnes statiques (STAT)

Nom

Indiquez ici le nom que vous devez affecter chaque variable.

Type

Indiquez ici le type de donnes pour la variable (BOOL, INT, WORD, ARRAY, etc.).
Les variables peuvent avoir un type de donnes simple, un type de donnes complexe
ou un type de donnes utilisateur.

Valeur
initiale

Vous pouvez prciser ici une valeur initiale si le logiciel ne doit pas prendre la valeur
par dfaut pour le type de donnes indiqu. Toutes les valeurs saisies doivent tre
compatibles avec les types de donnes.
Cette valeur initiale est prise comme valeur en cours de la variable lors de la premire
sauvegarde du bloc de donnes si vous n'affectez pas explicitement une valeur en
cours cette variable.

Commentaire

10.3

Vous pouvez saisir dans cette zone un commentaire pour la documentation de la


variable. La longueur du commentaire ne doit pas dpasser 80 caractres.

Vue des donnes de blocs de donnes


La vue des donnes montre les valeurs en cours des variables d'un bloc de donnes. Vous
ne pouvez modifier ces valeurs que dans cette vue. La vue des donnes est identique pour
tous les blocs de donnes globaux. Elle contient une colonne "Dclaration" supplmentaire
pour les blocs de donnes d'instance.
Dans la vue des donnes, les lments des variables avec types de donnes complexes ou
types de donnes utilisateur sont chacun lists dans leur propre ligne avec leur nom
complet. Si ces lments se situent dans la zone IN_OUT d'un bloc de donnes d'instance,
le pointeur apparat sur le type de donnes complexe ou utilisateur dans la colonne "Valeur
en cours".

10-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration des blocs de donnes

La vue des donnes se prsente comme suit :


Colonne

Signification

Adresse

Cette colonne affiche l'adresse que STEP 7 affecte automatiquement la variable.

Dclaration

Cette colonne n'existe que pour les DB d'instance. Elle indique comment les
variables ont t dclares dans le bloc fonctionnel :

Paramtres d'entre (IN)

Paramtres de sortie (OUT)

Paramtres d'entre/sortie (IN_OUT)

Donnes statiques (STAT)

Nom

Il s'agit ici du nom affect la variable. Vous ne pouvez pas diter cette zone dans
la vue des donnes.

Type

Il s'agit ici du type de donnes affect la variable.


Puisque, dans la vue des donnes, les lments sont numrs individuellement
pour les variables avec type de donnes complexe ou utilisateur, il n'y a plus ici que
des types de donnes simples pour un bloc de donnes global.
Pour un bloc de donnes d'instance, cette colonne contient galement les types de
paramtre. Un pointeur dsigne le type de donnes pour les paramtres
d'entre/sortie (IN_OUT) avec type de donnes complexe ou utilisateur dans la
colonne "Valeur en cours".

Valeur
initiale

Il s'agit ici de la valeur initiale que vous avez dfinie pour la variable si le logiciel ne
doit pas utiliser la valeur par dfaut pour le type de donnes indiqu.
La valeur initiale est prise comme valeur en cours de la variable lors de la premire
sauvegarde du bloc de donnes si vous n'affectez pas explicitement une valeur en
cours cette variable.

Valeur en
cours

Hors ligne : il s'agit de la valeur de la variable l'ouverture du bloc de donnes ou


aprs sa dernire modification enregistre (mme si le DB est ouvert en ligne, la
mise jour de cet affichage n'a pas lieu !).
En ligne : il s'agit de la valeur en cours l'ouverture du bloc de donnes. Elle n'est
pas mise jour automatiquement ; vous devez actualiser l'affichage avec la touche
F5.
Vous pouvez diter cette zone si elle ne correspond pas un paramtre
d'entre/sortie (IN_OUT) avec type de donnes complexe ou utilisateur. Toutes les
valeurs saisies doivent tre compatibles avec les types de donnes.

Commentaire

Il s'agit ici du commentaire dfini dans la dclaration des variables pour la


documentation de la variable. Vous ne pouvez pas diter cette zone dans la vue des
donnes.

Programmer avec STEP 7 V5.1


A5E00069874-03

10-3

Cration des blocs de donnes

10.4
10.4.1

Saisie et enregistrement des blocs de donnes


Saisie de la structure de donnes de blocs de donnes globaux
Si vous avez ouvert un bloc de donnes qui n'est associ ni un UDT ni un FB, vous
pouvez dfinir sa structure dans la vue des dclaration. Vous ne pouvez pas modifier la vue
des dclarations de blocs de donnes non globaux.
1. Ouvrez un bloc de donnes global, c'est--dire un bloc qui n'est associ ni un UDT, ni
un FB.
2. Affichez la vue des dclarations du bloc de donnes, si ce n'est dj le cas.
3. Dfinissez sa structure en compltant la table affiche avec les donnes suivantes.
Vous ne pouvez pas modifier la vue des dclarations de blocs de donnes non globaux.
Colonne

Signification

Adresse

Ici saffiche ladresse que STEP 7 affecte automatiquement la variable lorsque vous
achevez la saisie d'une dclaration.

Nom

Indiquez ici le nom que vous devez affecter chaque variable.

Type

Indiquez ici le type de donnes pour la variable (BOOL, INT, WORD, ARRAY, etc.).
Les variables peuvent avoir un type de donnes simple, un type de donnes complexe
ou un type de donnes utilisateur.

Valeur initiale

Vous pouvez prciser ici une valeur initiale si le logiciel ne doit pas prendre la valeur
par dfaut pour le type de donnes indiqu. Toutes les valeurs saisies doivent tre
compatibles avec les types de donnes.
Cette valeur initiale est prise comme valeur en cours de la variable lors de la premire
sauvegarde du bloc de donnes si vous n'affectez pas explicitement une valeur en
cours cette variable.

Commentaire

10.4.2

Vous pouvez saisir dans cette zone un commentaire pour la documentation de la


variable. La longueur du commentaire ne doit pas dpasser 80 caractres.

Saisie / affichage de la structure de donnes de blocs de donnes


associs un FB (DB d'instance)
Saisie
Lorsque vous associez un bloc de donnes un bloc fonctionnel (DB d'instance), la
dclaration des variables du FB dtermine la structure du bloc de donnes. Les
modifications ne sont possibles que dans le bloc fonctionnel associ.
1. Ouvrez le bloc fonctionnel associ.
2. Editez la table de dclaration des variables du bloc fonctionnel.
3. Recrez ensuite le bloc de donnes d'instance.

10-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration des blocs de donnes

Affichage
Vous pouvez afficher dans la vue des dclarations du DB d'instance la manire dont les
variables ont t dclares dans le FB.
1. Ouvrez le bloc de donnes.
2. Affichez la vue des dclarations du bloc de donnes, si ce pas dj le cas.
3. Les explications relatives la table affiche figurent ci-aprs.
Vous ne pouvez pas modifier la vue des dclarations de blocs de donnes non globaux.
Colonne

Signification

Adresse

Cette colonne affiche l'adresse que STEP 7 affecte automatiquement la variable.

Dclaration

Cette colonne vous indique comment les variables ont t dclares dans le bloc
fonctionnel :

Paramtres d'entre (IN)

Paramtres de sortie (OUT)

Paramtres d'entre/sortie (IN_OUT)

Donnes statiques (STAT)

Les donnes temporaires dclares du FB ne sont pas dans le bloc de donnes


d'instance.
Nom

Il s'agit ici du nom affect la variable dans la dclaration des variables du FB.

Type

Il s'agit ici du type de donnes affect la variable dans la dclaration des variables
du FB. Les variables peuvent avoir un type de donnes simple, un type de donnes
complexe ou un type de donnes utilisateur.
Si d'autres blocs fonctionnels pour l'appel desquels des variables statiques ont t
dclares sont appels l'intrieur du FB, il est possible d'indiquer ici un FB ou un
bloc fonctionnel systme (SFB) comme type de donnes.

Valeur initiale

Il s'agit ici de la valeur initiale que vous avez dfinie pour la variable dans la
dclaration des variables du FB si le logiciel ne doit pas utiliser la valeur par dfaut
du type de donnes.
La valeur initiale est prise comme valeur en cours de la variable lors de la premire
sauvegarde du bloc de donnes si vous n'affectez pas explicitement une valeur en
cours cette variable.

Commentaire

Il s'agit ici du commentaire dfini dans la dclaration des variables du FB pour la


documentation de l'lment de donnes. Vous ne pouvez pas diter cette zone.

Nota
Dans les blocs de donnes associs un FB, vous ne pouvez diter que les valeurs en
cours des variables. La saisie de ces valeurs en cours se fait dans la vue des donnes des
blocs de donnes.

Programmer avec STEP 7 V5.1


A5E00069874-03

10-5

Cration des blocs de donnes

10.4.3

Saisie de la structure de types de donnes utilisateur (UDT)


1. Ouvrez le type de donnes utilisateur (UDT).
2. Affichez la vue des dclarations, si ce n'est dj le cas.
3. Dfinissez la structure du type de donnes utilisateur en dterminant l'ordre des
variables, leur type de donnes et, ventuellement, leur valeur initiale en fonction des
donnes ci-aprs.
4. Vous achevez la saisie d'une variable en quittant la ligne avec la touche TAB ou
ENTREE.
Colonne

Signification

Adresse

Ici saffiche ladresse que STEP 7 affecte automatiquement la variable lorsque


vous achevez la saisie d'une dclaration.

Nom

Indiquez ici le nom que vous devez affecter chaque variable.

Type

Indiquez ici le type de donnes pour la variable (BOOL, INT, WORD, ARRAY, etc.).
Les variables peuvent avoir un type de donnes simple, un type de donnes
complexe ou un type de donnes utilisateur.

Valeur initiale

Vous pouvez prciser ici une valeur initiale si le logiciel ne doit pas prendre la valeur
par dfaut pour le type de donnes indiqu. Toutes les valeurs saisies doivent tre
compatibles avec les types de donnes.
Lorsque vous sauvegardez pour la premire fois une instance de l'UDT (variable ou
bloc de donnes), la valeur initiale est prise comme valeur en cours pour la variable
si vous n'indiquez pas explicitement une autre valeur en cours.

Commentaire

10.4.4

Vous pouvez saisir dans cette zone un commentaire pour la documentation de la


variable. La longueur du commentaire ne doit pas dpasser 80 caractres.

Saisie / affichage de la structure de blocs de donnes associs un


UDT
Saisie
Lorsque vous associez un bloc de donnes un type de donnes utilisateur (UDT), la
structure des donnes de l'UDT dtermine celle du bloc de donnes. Les modifications ne
sont possibles que dans le type de donnes utilisateur associ.
1. Ouvrez le type de donnes utilisateur.
2. Editez la structure du type de donnes utilisateur.
3. Recrez le bloc de donnes.

Affichage
Vous pouvez uniquement afficher dans la vue des dclarations du DB la manire dont les
variables ont t dclares dans l'UDT.
1. Ouvrez le bloc de donnes.
2. Affichez la vue des dclarations du bloc de donnes, si ce n'est dj le cas.
3. Les explications relatives la table affiche figurent ci-aprs.

10-6

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration des blocs de donnes

Vous ne pouvez pas modifier la vue des dclarations. Les modifications ne sont possibles
que dans le type de donnes utilisateur associ.
Colonne

Signification

Adresse

Cette colonne affiche l'adresse que STEP 7 affecte automatiquement la variable.

Nom

Il s'agit ici du nom affect la variable dans l'UDT.

Type

Il s'agit ici du type de donnes affect la variable dans l'UDT. Les variables
peuvent avoir un type de donnes simple, un type de donnes complexe ou un
type de donnes utilisateur.

Valeur initiale

Il s'agit ici de la valeur initiale que vous avez dfinie pour la variable dans l'UDT si
le logiciel ne doit pas utiliser la valeur par dfaut du type de donnes.
Cette valeur initiale est prise comme valeur en cours de la variable lors de la
premire sauvegarde du bloc de donnes si vous n'affectez pas explicitement une
valeur en cours cette variable.

Commentaire

Il s'agit ici du commentaire dfini dans l'UDT pour la documentation de l'lment


de donnes.

Nota
Dans les blocs de donnes associs un UDT, vous ne pouvez diter que les valeurs en
cours des variables. La saisie de ces valeurs en cours se fait dans la vue des donnes des
blocs de donnes.

10.4.5

Modification de valeurs dans la vue des donnes


L'dition de valeurs en cours n'est possible que dans la vue des donnes de blocs de
donnes.
1. Activez, si ncessaire, la vue des donnes de la table l'aide de la commande Affichage
> Vue des donnes.
2. Saisissez les valeurs en cours dsires pour les lments de donnes dans la colonne
"Valeur en cours". Ces valeurs doivent tre compatibles avec le type de donnes des
lments ;
Les saisies errones - par exemple, une valeur saisie incompatible avec le type de donnes
- sont reconnues immdiatement lors de l'dition et affiches en rouge. Vous devez les
corriger avant de sauvegarder le bloc de donnes.

Nota
Les modifications des valeurs ne sont sauvegardes que lors de l'enregistrement des blocs
de donnes.

Programmer avec STEP 7 V5.1


A5E00069874-03

10-7

Cration des blocs de donnes

10.4.6

Rinitialisation de valeurs en leur substituant leur valeur initiale


La rinitialisation est uniquement possible dans la vue des donnes de blocs de donnes.
1. Activez, si ncessaire, la vue des donnes de la table l'aide de la commande Affichage
> Vue des donnes.
2. Choisissez pour ce faire la commande Edition > Rinitialiser bloc de donnes.
Toutes les variables sont rinitialises, c'est--dire aux valeurs en cours de toutes les
variables est substitue la valeur initiale correspondante.

Nota
Les modifications des valeurs ne sont sauvegardes que lors de l'enregistrement des blocs
de donnes.

10.4.7

Enregistrement de blocs de donnes


Pour intgrer les blocs de donnes nouvellement crs ou les modifications apportes aux
valeurs dans les blocs de donnes au systme de gestion de donnes de la PG, vous devez
sauvegarder les blocs correspondants. Ainsi, les donnes sont crites sur le disque dur de la
console de programmation.

Enregistrement de blocs sur le disque dur de la PG


1. Activez la fentre de travail du bloc enregistrer.
2. Choisissez :
-

la commande Fichier > Enregistrer si vous voulez sauvegarder le bloc sous le mme
nom ;

la commande Fichier > Enregistrer sous si vous voulez sauvegarder le bloc sous un
autre programme utilisateur S7 ou sous un autre nom. Indiquez, dans la bote de
dialogue qui apparat alors, le nouveau chemin d'accs ou le nouveau bloc. Il est
interdit de spcifier DB0 qui est rserv au systme.

Dans les deux cas, le bloc n'est enregistr que si sa syntaxe est correcte. Les erreurs de
syntaxe ventuelles sont immdiatement reconnues lors de la cration et sont affiches en
rouge. Vous devez les corriger avant l'enregistrement du bloc.

Nota
Vous pouvez enregistrer des blocs ou des sources sous dautres projets ou
bibliothques galement dans SIMATIC Manager (par exemple, par glisser-lcher).
L'enregistrement de blocs ou de programmes utilisateur complets sur une carte mmoire
n'est possible que dans SIMATIC Manager.
En cas de problme lors de l'enregistrement ou de la compilation de blocs volumineux,
vous devriez rorganiser le projet. Choisissez cet effet la commande Fichier >
Rorganiser dans SIMATIC Manager. Faites ensuite une nouvelle tentative
denregistrement ou de compilation.

10-8

Programmer avec STEP 7 V5.1


A5E00069874-03

11 Cration de sources LIST

11.1

Principes de la programmation dans des sources LIST


Vous pouvez saisir tout ou partie de votre programme sous forme de source LIST que vous
compilez ensuite en blocs. La source peut contenir le code pour plusieurs blocs qui seront
ensuite compils en une seule opration en blocs.
Les avantages qui rsident dans la cration d'un programme dans une source sont les
suivants :
Vous pouvez crer et traiter votre source avec l'diteur ASCII de votre choix, puis
l'importer et la compiler en blocs individuels avec cette application. La compilation
entrane la gnration des diffrents blocs et leur sauvegarde dans le programme
utilisateur S7.
Vous pouvez programmer plusieurs blocs dans une mme source.
Vous pouvez enregistrer une source malgr la prsence ventuelle d'erreurs de syntaxe,
ce qui n'est pas possible lors de la cration de blocs de code avec vrification de syntaxe
incrmentale. Cela signifie toutefois galement que les erreurs de syntaxe ne vous seront
signales que lors de la compilation de la source.
Vous crez votre source dans la syntaxe du langage de programmation "liste d'instructions
(LIST)". L'organisation de la source en blocs, dclaration de variables ou rseaux se fait
l'aide de mots-cls.

Lors de la cration de blocs dans des sources LIST, vous devez considrer :
Rgles pour la programmation de sources LIST
Syntaxe et formats autoriss dans les sources LIST
Structure de bloc autorise des sources LIST

Programmer avec STEP 7 V5.1


A5E00069874-03

11-1

Cration de sources LIST

11.2
11.2.1

Rgles pour la programmation dans une source LIST


Rgles pour la saisie d'instructions dans une source LIST
Une source LIST contient essentiellement un texte continu. Vous devez respecter des
structures et des rgles de syntaxe prcises pour qu'elle puisse tre compile en blocs.
Les rgles gnrales suivantes sont valables pour la cration de programmes utilisateur
sous forme de sources LIST :
Thme

Rgle

Syntaxe

La syntaxe des instructions LIST est identique celle dans l'diteur


LIST incrmental. L'opration d'appel CALL constitue une exception.

CALL

Dans une source, vous indiquez les paramtres entre parenthses. Les
paramtres individuels sont spars par une virgule.
Exemple d'appel de FC (une ligne) :
CALL FC 10 (param1 :=E0.0,param2 :=E0.1);
Exemple d'appel de FB (une ligne) :
CALL FB10, DB100 (para1 :=E0.0,para2 :=E0.1);
Exemple d'appel de FB (plusieurs lignes) :
CALL FB10, DB100 (
para1 :=E0.0,
para2 :=E0.1);
Nota :
Lors dun appel de bloc dans lditeur ASCII, vous devez transmettre les
paramtres selon un ordre dfini. Sinon, laffectation des commentaires
de ces lignes ne sera pas correct dans laffichage en LIST ou dans
laffichage de la source, le cas chant.

Majuscules ou minuscules L'diteur de cette application ne tient, en gnral, pas compte des
majuscules et minuscules, si ce n'est pour les attributs systme et les
repres de saut. Vous devez galement respecter les majuscules et
minuscules lors de la saisie de chanes de caractres (type de donnes
STRING). Les mots-cls sont reprsents en majuscules. Mais vous
pouvez les indiquer en majuscules, en minuscules ou encore en
majuscules et minuscules mlanges, car il n'est pas fait de diffrence
entre majuscules et minuscules lors de la compilation.

11-2

Point-virgule

Vous devez signaler la fin de chaque instruction LIST et de chaque


dclaration de variable par un point-virgule. Vous pouvez crire
plusieurs instructions par ligne.

Deux barres obliques (//)

Introduisez chaque commentaire par deux barres obliques (//) et


achevez la saisie des commentaires avec la touche ENTREE.

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de sources LIST

11.2.2

Rgles pour la dclaration de variables dans une source LIST


Vous devez dclarer les variables correspondant chaque bloc de la source.
La dclaration des variables prcde la section des instructions du bloc.
Si elles existent, il faut dclarer les variables dans l'ordre indiqu des types de dclarations.
Ainsi, toutes les variables d'un mme type de dclaration sont regroupes.
Alors qu'en CONT, LOG ou LIST vous remplissez une table de dclaration des variables,
vous devez ici utiliser les mots-cls appropris.

Mots-cls pour la dclaration des variables


Type de dclaration

Mots-cls

Possible pour ...

Paramtres d'entre

"VAR_INPUT"

FB, FC

Liste de dclaration
"END_VAR"
Paramtres de sortie

"VAR_OUTPUT"

FB, FC

Liste de dclaration
"END_VAR"
Paramtres d'entre/sortie

"VAR_IN_OUT"

FB, FC

Liste de dclaration
"END_VAR"
Variables statiques

"VAR"

FB

Liste de dclaration
"END_VAR"
Variables temporaires

"VAR_TEMP"

OB, FB, FC

Liste de dclaration"
END_VAR"

Le mot-cl END_VAR caractrise la fin d'une liste de dclaration.


La liste de dclaration correspond la liste des variables d'un type de dclaration. Vous
pouvez y affecter une valeur initiale aux variables ( l'exception de VAR_TEMP). La figure
suivante illustre la structure d'une entre dans la liste de dclaration :
Dure_moteur1
Variable

S5TIME
Type de donnes

:=

S5T#1H_30M

Valeur par dfaut

Nota
Le nom de la variable doit commencer par une lettre ou le caractre de soulignement.
Vous ne devez pas indiquer de nom de variable correspondant un mot-cl rserv.
Si des noms de variables sont identiques dans les dclarations locales et dans la table
des mnmoniques, faites prcder les noms des variables locales du signe # et crivez
les variables de la table des mnmoniques entre guillemets. Sinon, le bloc interprte la
variable comme variable locale.

Programmer avec STEP 7 V5.1


A5E00069874-03

11-3

Cration de sources LIST

11.2.3

Rgles pour l'ordre des blocs dans une source LIST


Les blocs appels doivent prcder les blocs appelants, c'est--dire :
L'OB1 utilis dans la plupart des cas et qui appelle d'autres blocs vient en dernier. De
mme, les blocs appels par des blocs eux-mmes appels dans l'OB1 doivent prcder
ces blocs.
Les types de donnes utilisateur (UDT) doivent prcder les blocs o ils sont utiliss.
Les blocs de donnes associs un type de donnes utilisateur (UDT) doivent se trouver
aprs cet UDT.
Les blocs de donnes globaux doivent prcder tous les blocs qui les appellent.
Un bloc de donnes d'instance doit se trouver aprs le bloc fonctionnel auquel il est
associ.
Le DB0 est rserv ; vous ne pouvez pas gnrer de DB portant ce numro.

11.2.4

Rgles pour la dfinition d'attributs systme dans une source LIST


Il est possible daffecter des blocs et des paramtres des attributs systme qui rgissent
la configuration des messages et des liaisons, les fonctions de contrle-commande et la
configuration du systme.

Rgles respecter dans la source :


Les mots-cls des attributs systme commencent toujours par S7_.
Il faut crire les attributs systme entre accolades.
Syntaxe : {S7_identificateur := 'chane'}
Il faut sparer les diffrents identificateurs par un point-virgule.
Les attributs systme pour blocs prcdent les proprits de bloc, mais suivent les
mots-cls ORGANIZATION_ ou TITLE.
Les attributs systme pour paramtres figurent dans la dclaration des paramtres,
c'est--dire avant le deux-points de la dclaration des donnes.
La distinction est faite entre les majuscules et les minuscules, ce qui signifie que les
majuscules et minuscules sont significatives pour la saisie d'attributs systme !

Vous pouvez contrler et modifier les attributs systme pour blocs en saisie incrmentale
l'aide de la commande Fichier > Proprits qui ouvre la page donglet "Attributs".
Vous pouvez contrler et modifier les attributs systme pour paramtres en saisie
incrmentale l'aide de la commande Edition > Proprits de l'objet. Le curseur doit se
trouver dans le champ de nom de la dclaration de paramtre.

11-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de sources LIST

11.2.5

Rgles pour la dfinition de proprits de bloc dans une source LIST


Les proprits de bloc vous permettent de mieux identifier les blocs crs (par exemple,
grce au numro de version) ou de les protger de modifications non autorises.
Vous pouvez les contrler et les modifier en saisie incrmentale, l'aide de la commande
Fichier > Proprits, dans les pages d'onglet "Fiche didentit, partie 1" et "Fiche didentit,
partie 2".
Vous ne pouvez indiquer les autres proprits de bloc que dans la source.
Rgles respecter dans la source :
Il faut indiquer les proprts de bloc avant la section de dclaration des variables.
Utilisez une ligne par proprit de bloc.
N'achevez pas la ligne par un point-virgule.
Faites prcder chaque proprit de bloc de son mot-cl.
Si vous dsirez saisir des proprits de bloc, respectez l'ordre du tableau des proprits
de bloc.
Vous trouverez les proprits possibles pour un type de bloc dans Affectation de
proprits de bloc selon les types de blocs.

Nota
Les proprits de bloc sont galement affiches dans SIMATIC Manager, dans les
proprits d'objet pour un bloc. L, il est aussi possible d'diter les proprits AUTHOR,
FAMILY, NAME et VERSION.

Proprits de bloc et ordre


Lorsque vous indiquez des proprits de bloc, vous devez respecter l'ordre donn dans le
tableau suivant.
Ordre

Mot-cl / Proprit

1.

[KNOW_HOW_PROTECT Protection du bloc : il est


]
impossible de visualiser la
section des instructions dun bloc
compil avec cette option.

KNOW_HOW_PROTECT

2.

[AUTHOR:]

AUTHOR : Siemens,
mais pas de mot-cl

3.

[FAMILY:]

4.

[NAME:]

5.

[VERSION: int1 . int2]

Programmer avec STEP 7 V5.1


A5E00069874-03

Signification

Nom de l'auteur, nom de la


socit, du service ou autres
noms
(8 caractres au maximum, sans
espace)
Nom de la famille du bloc : par
exemple, Regul
(8 caractres au maximum, sans
espace)
Nom du bloc (8 caractres au
maximum)
Numro de version du bloc
(ces deux nombres entre 0 et 15,
soit 0.0 15.15)

Exemple

FAMILY : Regul, mais


pas de mot-cl

NAME : PID, mais pas de


mot-cl
VERSION : 3.10

11-5

Cration de sources LIST

11.2.6

Ordre

Mot-cl / Proprit

6.

[CODE_VERSION1]

Signification

Exemple
CODE_VERSION1
Identification indiquant si un FB
admet des multi-instances ou
non. Si vous voulez dclarer des
multi-instances, le FB ne doit pas
avoir cette proprit.

7.

[UNLINKED] seulement
pour DB

Un bloc de donnes avec la


proprit UNLINKED n'est pas
reli au programme.

8.

[READ_ONLY] seulement
pour DB

Protection pour blocs de donnes FAMILY= Exemples


: il est uniquement possible de
VERSION= 3.10
lire les donnes et non de les
READ_ONLY
modifier.

Proprits de bloc autorises pour chaque type de bloc


Le tableau suivant prsente les proprits que vous pouvez dclarer pour les diffrents
types de blocs.
Proprit

OB

FB

FC

DB

UDT

KNOW_HOW_PROTECT

AUTHOR

FAMILY

NAME

VERSION

Attribut "Unlinked"

READ_ONLY

Dfinition d'une protection de bloc avec KNOW_HOW_PROTECT


Vous pouvez protger un bloc en indiquant le mot-cl KNOW_HOW_PROTECT dans la
source LIST lors de la programmation du bloc.
Protger un bloc a les consquences suivantes :
Lorsque vous afficherez plus tard un bloc compil dans l'diteur CONT, LOG ou LIST
incrmental, vous n'aurez pas accs la section des instructions de ce bloc.
Seules les variables de types de dclarations IN, OUT et IN_OUT seront visualises
dans la table de dclaration des variables du bloc. Les variables internes dclares
comme STAT et TEMP seront masques.
Indiquez le mot-cl KNOW_HOW_PROTECT avant toutes les autres proprits du bloc.

Dfinition d'une protection en criture pour les blocs de donnes avec READ_ONLY
Vous pouvez dfinir une protection en criture pour les blocs de donnes afin que leur
contenu ne soit pas remplac lors de l'excution du programme. A cet effet, le bloc de
donnes doit exister sous forme de source LIST.
Dans la source, indiquez le mot-cl READ_ONLY. Il doit se trouver juste avant les
dclarations de variables dans sa propre ligne.

11-6

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de sources LIST

11.3
11.3.1

Structure des blocs dans une source LIST


Structure des blocs dans une source LIST
La structuration de blocs dans une source LIST s'effectue au moyen de mots-cls. Selon le
type de bloc, l'on distingue la structure de :
blocs de code
blocs de donnes
types de donnes utilisateur,

11.3.2

Structure des blocs de code dans une source LIST


Un bloc de code se compose des zones suivantes, introduites par leur mot-cl respectif :
Dbut de bloc,
identifi par un mot-cl et un numro ou un nom, par exemple :
-

"ORGANIZATION_BLOCK OB 1" pour un bloc d'organisation

"FUNCTION_BLOCK FB 6" pour un bloc fonctionnel

"FUNCTION FC 1 : INT" pour une fonction. Son type est galement indiqu. Il peut
s'agir d'un type de donnes simple ou complexe (sauf ARRAY et STRUCT) et c'est lui
qui dtermine le type de donnes de la valeur en retour (RET_VAL). Indiquez le
mot-cl VOID si la fonction ne doit pas renvoyer de valeur.

Titre de bloc facultatif, introduit par le mot-cl TITLE= (longueur maximale de 64


caractres).
Commentaire supplmentaire, introduit par deux barres obliques // en dbut de ligne
Indication des proprits du bloc (facultative)
Section de dclaration des variables
Section des instructions introduite par BEGIN. Cette section contient un ou plusieurs
rseaux identifis par le mot-cl NETWORK. Vous ne pouvez pas indiquer de numro de
rseau.
Titre de rseau facultatif pour chaque rseau ralis, introduit par le mot-cl TITLE =
(longueur maximale de 64 caractres).
Commentaire supplmentaire pour chaque rseau, introduit par deux barres obliques //
en dbut de ligne
Fin de bloc identifie par END_ORGANIZATION_BLOCK, END_FUNCTION_BLOCK ou
END_FUNCTION
Le type de bloc et le numro de bloc sont spars par un espace. Vous pouvez crire le
mnmonique du bloc entre guillemets afin de garantir l'univocit entre noms de variables
locales et noms dans la table des mnmoniques.

Programmer avec STEP 7 V5.1


A5E00069874-03

11-7

Cration de sources LIST

11.3.3

Structure des blocs de donnes dans une source LIST


Un bloc de donnes se compose des zones suivantes, introduites par leur mot-cl respectif :
Dbut de bloc, identifi par le mot-cl et le numro ou le nom du bloc, par exemple
DATA_BLOCK DB 26
Indication (facultative) du type de donnes utilisateur ou du bloc fonctionnel auquel le DB
est associ
Titre de bloc facultatif, introduit par le mot-cl TITLE =. Ce titre est tronqu au-del de
64 caractres.
Commentaire de bloc facultatif, introduit par deux barres obliques //
Indication des proprits du bloc (facultative)
Section de dclaration des variables (facultative)
Section d'affectation avec valeurs initiales, introduite par BEGIN (facultative)
Fin de bloc identifie par END_DATA_BLOCK

Il existe trois types de blocs de donnes :


les blocs de donnes (dfinis par l'utilisateur),
les blocs de donnes associs un type de donnes utilisateur (UDT),
les blocs de donnes associs un bloc fonctionnel (DB d'instance).

11.3.4

Structure des types de donnes utilisateur dans une source LIST


Un type de donnes utilisateur se compose des zones suivantes, introduites par leur mot-cl
respectif :
Dbut, identifi par le mot-cl TYPE et un numro ou un nom, par exemple TYPE
UDT 20
Indication d'un type de donnes structur
Fin, identifie par le mot-cl END_TYPE
N'oubliez pas que la dfinition de types de donnes utilisateur doit se situer avant les blocs
qui utilisent ces types de donnes.

11-8

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de sources LIST

11.4
11.4.1

Syntaxe et formats pour les blocs dans une source LIST


Syntaxe et formats pour les blocs dans une source LIST
Les tableaux prsentent la syntaxe et les formats que vous devez respecter lors de la
programmation de <18>sources LIST. La syntaxe est indique comme suit :
Chaque lment est dcrit dans la colonne de droite.
Les lments obligatoires sont indiqus entre guillemets.
Les indications entre crochets [...] sont facultatives.
Les mots-cls sont donns en majuscules.

11.4.2

Tableau du format pour les OB


Le tableau suivant prsente, sous forme condense, le format pour les blocs d'organisation
dans les sources LIST :
Organisation

Description

"ORGANIZATION_BLOCK" n-OB
ou nom-OB

n-OB est le numro du bloc, par exemple OB 1

[TITLE= ]

Titre jusqu'au retour chariot ; il est tronqu au-del de 64


caractres.

[Commentaire de bloc]

Commentaire facultatif prcd de //

[Attributs systme pour blocs]

Attributs systme pour blocs

[Proprits de bloc]

Proprits de bloc

Section de dclaration des


variables

Dclaration des variables temporaires

"BEGIN"

Mot-cl sparant la section de dclaration des variables des


instructions LIST

nom-OB est le mnmonique du bloc selon la table des


mnmoniques

NETWORK

Dbut d'un rseau

[TITLE= ]

Titre de rseau (64 caractres au maximum)

[Commentaire de rseau]

Commentaire facultatif prcd de //

Liste des instructions LIST

Instructions du bloc

"END_ORGANIZATION_BLOCK"

Mot-cl indiquant la fin du bloc d'organisation

Programmer avec STEP 7 V5.1


A5E00069874-03

11-9

Cration de sources LIST

11.4.3

Tableau du format pour les FB


Le tableau suivant prsente, sous forme condense, le format pour les blocs fonctionnels
dans les sources LIST :
Organisation

Description

"FUNCTION_BLOCK" n-FB ou
nom-FB

n-FB est le numro du bloc, par exemple FB 6

[TITLE= ]

Titre jusqu'au retour chariot ; il est tronqu au-del de


64 caractres.

[Commentaire de bloc]

Commentaire facultatif prcd de //

[Attributs systme pour blocs]

Attributs systme pour blocs

nom-FB est le mnmonique du bloc selon la table des


mnmoniques

[Proprits de bloc]

Proprits de bloc

Section de dclaration des


variables

Dclaration des paramtres d'entre, de sortie et d'entre/sortie,


ainsi que des variables temporaires ou statiques
La dclaration des paramtres peut contenir les dclarations des
attributs systme pour paramtres.

"BEGIN"

11-10

Mot-cl sparant la section de dclaration des variables des


instructions LIST

NETWORK

Dbut d'un rseau

[TITLE= ]

Titre de rseau (64 caractres au maximum)

[Commentaire de rseau]

Commentaire facultatif prcd de //

Liste des instructions LIST

Instructions du bloc

"END_FUNCTION_BLOCK"

Mot-cl indiquant la fin du bloc fonctionnel

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de sources LIST

11.4.4

Tableau du format pour les FC


Le tableau suivant prsente, sous forme condense, le format pour les fonctions dans les
sources LIST :
Organisation
"FUNCTION"
ou

Description
n-FC : type-FC

n-FC est le numro de la fonction, par exemple FC 5

nom-FC est le mnmonique de la fonction selon la table des


nom-FC : type-FC mnmoniques
type-FC indique le type de donnes de la valeur en retour
(RET_VAL) de la fonction. Il peut s'agir d'un type de donnes
simple ou complexe (sauf ARRAY et STRUCT) ou bien de
VOID.
Si vous souhaitez utiliser des attributs systme
pour la valeur en retour (RET_VAL), vous devez inscrire les
attributs systme pour paramtresavant les deux-points de la
dclaration des donnes.

[TITLE= ]

Titre jusqu'au retour chariot ; il est tronqu au-del de 64


caractres.

[Commentaire de bloc]

Commentaire facultatif prcd de //

[Attributs systme pour blocs]

Attributs systme pour blocs

[Proprits de bloc]

Proprits de bloc

Section de dclaration des variables Dclaration des paramtres d'entre, de sortie et


d'entre/sortie, ainsi que des variables temporaires
"BEGIN"

Mot-cl sparant la section de dclaration des variables des


instructions LIST

NETWORK

Dbut d'un rseau

[TITLE= ]

Titre de rseau (64 caractres au maximum)

[Commentaire de rseau]

Commentaire facultatif prcd de //

Liste des instructions LIST

Instructions du bloc

"END_FUNCTION"

Mot-cl indiquant la fin de la fonction

Programmer avec STEP 7 V5.1


A5E00069874-03

11-11

Cration de sources LIST

11.4.5

Tableau du format pour les DB


Le tableau suivant prsente, sous forme condense, le format pour les blocs de donnes
dans les sources LIST :
Organisation
"DATA_BLOCK" n-DB ou nom-DB

Description
n-DB est le numro du bloc, par exemple DB 5
nom-DB est le mnmonique du bloc selon la table des
mnmoniques

11-12

[TITLE= ]

Titre jusqu'au retour chariot ; il est tronqu au-del de 64


caractres.

[Commentaire de bloc]

Commentaire facultatif prcd de //

[Attributs systme pour blocs]

Attributs systme pour blocs

[Proprits de bloc]

Proprits de bloc

Section de dclaration

Indication de l'UDT ou du FB auquel le DB est associ sous


forme de numro de bloc ou de mnmonique selon la table
des mnmoniques ou bien indication du type de donnes
complexe

"BEGIN"

Mot-cl sparant la section de dclaration de la liste des


affectations de valeurs

[Affectation de valeurs initiales]

Il est possible d'affecter des valeurs initiales aux variables :


des constantes sont affectes certaines variables ou il est
fait rfrence d'autres blocs.

"END_DATA_BLOCK"

Mot-cl indiquant la fin du bloc de donnes

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de sources LIST

11.5
11.5.1

Cration d'une source LIST


Cration d'une source LIST
Vous devez crer la source sous le programme S7, dans un dossier Sources. Vous pouvez
crer une source dans SIMATIC Manager ou dans la fentre d'dition.

Cration d'une source dans SIMATIC Manager


1. Ouvrez le dossier Sources correspondant en cliquant deux fois dessus.
2. Pour insrer une source LIST, choisissez la commande Insertion > Logiciel S7 >
Source LIST.

Cration d'une source dans la fentre d'dition


1. Choisissez la commande Fichier > Nouveau.
2. Choisissez, dans la bote de dialogue, le dossier Sources du programme S7 dans lequel
se trouve galement le programme utilisateur avec les blocs.
3. Attribuez un nom la source crer.
4. Confirmez par "OK".
La source est cre avec le nom que vous avez indiqu et affiche dans une fentre de
travail pour dition.

11.5.2

Edition dune source S7


Le langage de programmation et l'diteur avec lesquels vous ditez une source donne sont
dfinis dans les proprits de l'objet. Ainsi, l'diteur correct sera toujours dmarr avec le
langage de programmation correspondant la source. Le logiciel de base STEP 7 permet la
programmation dans une source LIST.
D'autres langages de programmation sont toutefois disponibles sous forme de logiciels
optionnels. Le logiciel optionnel doit tre install sur votre ordinateur, pour que vous puissiez
dmarrez l'diteur correspondant en cliquant deux fois sur la source.
Procdez de la manire suivante :
1. Ouvrez le dossier Sources correspondant en cliquant deux fois dessus.
2. Dmarrez l'diteur ncessaire l'dition de la manire suivante :
Cliquez deux fois sur la source correspondante dans la partie droite de la fentre.
Slectionnez la source correspondante dans la partie droite de la fentre et choisissez la
commande Edition > Ouvrir lobjet.

11.5.3

Insertion de modles de blocs dans une source LIST


Vous disposez, pour la programmation de sources LIST, de modles de blocs pour OB, FB,
FC, DB, DB d'instance, DB associs des UDT et UDT. Ces modles de blocs vous
facilitent la saisie et le respect de la syntaxe et de l'organisation des diffrents blocs.
Procdez de la manire suivante :
1. Activez la fentre de travail de la source dans laquelle vous voulez insrer un modle de
bloc.

Programmer avec STEP 7 V5.1


A5E00069874-03

11-13

Cration de sources LIST

2. Positionnez le curseur l'emplacement aprs lequel vous voulez insrer le modle de


bloc.
3. Choisissez la commande correspondante Insertion > Modle de bloc_ _>
OB/FB/FC/DB/IDB/DB partir de UDT/UDT.
Le modle de bloc est alors insr aprs la position du curseur.

11.5.4

Insertion dune source externe


Vous pouvez crer et traiter votre source avec l'diteur ASCII de votre choix, puis l'importer
dans un projet et la compiler en blocs individuels. Les sources doivent tre importes dans
le dossier Sources du programme S7, pour que les blocs rsultant de la compilation soient
enregistrs dans le programme utilisateur S7 de ce mme programme S7.
Procdez de la manire suivante :
1. Slectionnez le dossier Sources du programme S7 dans lequel vous voulez importer les
sources externes.
2. Choisissez la commande Insertion > Source externe.
3. Dans la bote de dialogue suivante, indiquez la source importer.
L'extension donne au nom de fichier de la source importer doit tre valide. En effet, c'est
l'extension qui permet de dterminer le type de la source dans STEP 7. Ainsi, un fichier
d'extension .awl sera import comme source LIST. Les extensions de fichier possibles sont
indiques dans la bote de dialogue sous "Type de fichier".

Nota
La commande Insertion > Source externe vous permet galement d'insrer d'anciennes
sources qui ont t cres dans la version 1 de STEP 7.

11.5.5

Gnration d'une source LIST partir de blocs


Vous pouvez gnrer, partir de blocs existants, une source LIST que vous pouvez traiter
avec un diteur de texte de votre choix. La source gnre se trouve dans le dossier
Sources du programme S7 dans le programme utilisateur duquel vous avez slectionn les
blocs.
Procdez de la manire suivante :
1. Choisissez la commande Fichier > Gnrer source.
2. Slectionnez, dans la bote de dialogue, le dossier Sources dans lequel vous dsirez
ranger la nouvelle source.
3. Attribuez un nom la source dans la zone correspondante.
4. Slectionnez, dans la bote de dialogue "Slection de blocs STEP 7", le ou les blocs
partir desquels vous voulez gnrer la source choisie auparavant. Les blocs slectionns
s'affichent dans la liste droite.
5. Confirmez par "OK".
Les blocs slectionns sont alors compils en une source LIST continue qui s'affiche pour
dition dans une fentre de travail.

11-14

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de sources LIST

11.6
11.6.1

Enregistrement, compilation et vrification d'une source LIST


Enregistrement dune source LIST
Vous pouvez sauvegarder une source LIST tout moment dans l'tat o elle est. Dans ce
cas, le programme n'est pas compil et sa syntaxe n'est pas vrifie (les erreurs ventuelles
sont donc galement enregistres).
Les erreurs de syntaxe ne seront dtectes et signales que lors de la compilation de la
source ou lors d'une vrification de cohrence.

Pour enregistrer une source sous le mme nom :


1. Activez la fentre de travail de la source enregistrer.
2. Choisissez la commande Fichier > Enregistrer.

Pour enregistrer une source sous autre nom ou dans un autre projet :
1. Activez la fentre de travail de la source enregistrer.
2. Choisissez la commande Fichier > Enregistrer sous.
3. Slectionnez, dans la bote de dialogue qui apparat alors, le dossier Sources auquel la
source doit tre affecte et indiquez le nouveau nom de la source.

11.6.2

Vrification de la cohrence d'une source LIST


En choisissant la commande Fichier > Vrifier la cohrence, vous pouvez afficher
d'ventuelles erreurs de syntaxe dans une source LIST. Contrairement la compilation,
cette vrification n'entrane pas la gnration des blocs.
Une fois la vrification de cohrence acheve, apparat une bote de dialogue qui indique le
nombre total d'erreurs trouves.
S'il existe des erreurs, elles sont toutes numres dans la partie infrieure de la fentre de
travail avec indication de leur ligne. Vous devez les liminer avant la compilation de la
source pour que tous les blocs soient gnrs.

11.6.3

Recherche derreurs dans une source LIST


La fentre de travail pour les sources comporte deux parties. Dans sa moiti infrieure sont
numres les erreurs suivantes :
erreurs dtectes aprs dclenchement d'une compilation via la commande Fichier >
Compiler ;
erreurs dtectes aprs dclenchement d'une vrification de cohrence via la commande
Fichier > Vrifier la cohrence.
Pour trouver lemplacement dune erreur dans la source, positionnez le curseur sur le
message d'erreur en question dans la moiti infrieure de la fentre. La ligne de texte
correspondante est alors automatiquement slectionne dans la moiti suprieure. Le
message d'erreur est, en outre, repris dans la barre d'tat.

Programmer avec STEP 7 V5.1


A5E00069874-03

11-15

Cration de sources LIST

11.6.4

Compilation dune source LIST


Condition pralable
Afin que le programme cr dans une source puisse tre compil en blocs, les conditions
suivantes doivent tre remplies :
Seules peuvent tre compiles les sources qui sont enregistres dans le dossier Sources
sous un programme S7.
Un dossier Blocs doit se trouver sous le programme S7, au mme niveau que le dossier
Sources pour que les blocs compils puissent y tre enregistrs. Les blocs programms
dans la source ne sont crs que si aucune erreur n'est dcele durant la compilation de
la source. Seuls les blocs d'une source exempts d'erreurs sont compils. Vous pouvez
ensuite ouvrir ces blocs individuellement, les diter, les charger dans une CPU et les
tester.

Marche suivre dans l'diteur


1. Ouvrez la source que vous voulez compiler. Elle doit se trouver dans le dossier Sources
du programme S7 dans le programme utilisateur duquel les blocs compils doivent tre
rangs.
2. Choisissez la commande Affichage > Afficher avec > Reprsentation symbolique si
vous voulez que les mnmoniques apparaissent plus tard dans les blocs compils.
3. Choisissez la commande Fichier > Compiler.
4. S'ouvre alors la bote de dialogue "Journal de la compilation" qui montre le nombre de
lignes compiles et le nombre d'erreurs de syntaxe dtectes.
Les blocs indiqus dans la source ne sont gnrs que si la source a t compile sans
erreur. Seuls les blocs d'une source exempts d'erreurs sont compils. Les avertissements
n'empchent pas la gnration des blocs.
Les erreurs de syntaxe dtectes lors de la compilation sont reprsentes dans la moiti
infrieure de la fentre de travail et doivent tre corriges pour que les blocs correspondants
puissent galement tre gnrs.

Marche suivre dans SIMATIC Manager


1. Ouvrez le dossier Sources correspondant en cliquant deux fois dessus.
2. Slectionnez une ou plusieurs sources compiler. Vous ne pouvez pas effectuer la
compilation d'un dossier Sources ferm afin de compiler toutes les sources qu'il contient.
3. Choisissez la commande Fichier > Compiler pour dmarrer la compilation. Le
compilateur correspondant la source slectionne est appel. Les blocs correctement
compils sont ensuite enregistrs dans le dossier Blocs sous le programme S7.
Les erreurs de syntaxe dceles durant la compilation sont signales dans une bote de
dialogue et doivent tre corriges afin que ces blocs puissent eux aussi tre crs.

11-16

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de sources LIST

11.7
11.7.1

Exemples de sources LIST


Exemples de dclarations de variables dans une source LIST

Variables de type de donnes simple


// Les commentaires sont spars de la section de dclaration par //.
VAR_INPUT

// Mot-cl variable d'entre


in1 : INT;// Nom de variable et type sont spars par ":"

END_VAR
VAR_OUTPUT

in3 : DWORD;

// Un point-virgule met fin chaque dclaration de variable.

in2 : INT := 10;

// Dfinition facultative de la valeur initiale dans la dclaration

// Fin de la dclaration des variables de mme type de dclaration


// Mot-cl variable de sortie
out1 : WORD;

END_VAR

// Mot-cl variable temporaire

VAR_TEMP
temp1 : INT;
END_VAR

Variables de type de donnes ARRAY


VAR_INPUT

// Variable d'entre
champ1 : ARRAY [1..20] of INT;

// champ1 est un champ unidimentionnel

champ2 : ARRAY [1..20, 1..40] of DWORD; // champ2 est un champ


bidimentionnel
END_VAR

Variables de type de donnes STRUCT


VAR_OUT

// Variable de sortie

SORTIE1:

STRUCT// SORTIE1 est de type de donnes STRUCT.


var1 : BOOL;

// Elment 1 de la structure

var2 : DWORD;

// Elment 2 de la structure

END_STRUCT; // Fin de la structure


END_VAR

Programmer avec STEP 7 V5.1


A5E00069874-03

11-17

Cration de sources LIST

11.7.2

Exemple dOB dans une source LIST


ORGANIZATION_BLOCK OB 1
TITLE = Exemple dOB 1 avec diffrents appels de blocs
//Les 3 rseaux reprsents montrent des appels de blocs
//avec et sans paramtres.
{S7_pdiag := 'true'}
//Attribut systme pour blocs
AUTHOR:
Siemens
FAMILY:
Exemple
Nom
OB_test
VERSION:
1.1
VAR_TEMP
ValInterm : INT;
// Mmoire intermdiaire
END_VAR
BEGIN
NETWORK
TITLE = Appel d'une fonction avec transmission de paramtres
// Transmission de paramtres en une ligne
CALL FC1 (param1 :=E0.0,param2 :=E0.1);

NETWORK
TITLE = Appel d'un bloc fonctionnel avec
//transmission de paramtres
// Transmission de paramtres sur plusieurs lignes
CALL Regul_feux , DB 6 (
// Nom du FB, DB d'instance
dur_v_p
:= S5T#10S,
// Affectation de valeurs effectives aux paramtres
eff_r_p
demarr
t_dur_o_voit
t_dur_v_piet
t_ret_o_voit
t_dur_r_voit
t_rou_suiv_voit
r_voit
o_voit
v_voit_
r_piet
v_piet

:= S5T#30S,
:= TRUE,
:= T 2,
:= T 3,
:= T 4,
:= T 5,
:= T 6,
:= "ro_main",
:= "or_main",
_:= "ve_main",
:= "ro_int",
:= "ve_int");

// Les guillemets identifient les noms


// de la table des mnmoniques.

NETWORK
TITLE = Appel d'un bloc fonctionnel avec
//transmission de paramtres
// Transmission de paramtres en une ligne
CALL FB10, DB100 (para1 :=E0.0,para2 :=E0.1);
END_ORGANIZATION_BLOCK

11-18

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de sources LIST

11.7.3

Exemple de FC dans une source LIST


FUNCTION FC 1: VOID
// Seulement pour lappel
VAR_INPUT
param1 : bool;
param2 : bool;
END_VAR
begin
end_function
FUNCTION FC2 : INT
TITLE = Augmentation de la production
// Tant que la valeur transmise est < 1000, cette fonction
//augmente la valeur transmise. Si le nombre de pices est
//suprieur 1000, "-1" est renvoy via la valeur en retour
//de la fonction (RET_VAL).
AUTHOR:
FAMILY:
Nom
VERSION:

Siemens
Product
PIECES
1.0

VAR_IN_OUT
PRODUCTION : INT;
produites
END_VAR

// Nombre de pices effectivement

BEGIN
NETWORK
TITLE = Augmentation production de 1
// Tant que la production effective est infrieure 1000,
// elle peut tre augmente d'1.
L PRODUCTION; L 1000;
// Exemple de plusieurs
> I; SPB ERR;
// instructions dans une ligne
L 0; T RET_VAL;
L PRODUCTION; INC 1; T PRODUCTION; BEA;
ERR: L -1;
T RET_VAL;
END_FUNCTION
FUNCTION FC3 {S7_pdiag := 'true'} : INT
TITLE = Augmentation de la production
// Tant que la valeur transmise est < 1000, cette fonction
//augmente la valeur transmise. Si le nombre de pices est
//suprieur 1000, "-1" est renvoy via la valeur en retour
//de la fonction (RET_VAL).
//
//RET_VAL comporte ici un attribut systme pour paramtres.

Programmer avec STEP 7 V5.1


A5E00069874-03

11-19

Cration de sources LIST

AUTHOR:
FAMILY:
Nom
VERSION:

Siemens
PRODUCT
PIECES
1.0

VAR_IN_OUT
PRODUCTION {S7_visible := true}: INT;
//Attributs systme pour paramtres
END_VAR
BEGIN

// Nb. de pices effectivement produites

NETWORK
TITLE = Augmentation production de 1
// Tant que la production effective est infrieure 1000,
// elle peut tre augmente d'1.
L PRODUCTION; L 1000;
// Exemple de plusieurs
> I; SPB ERR;
// instructions dans une ligne
L 0; T RET_VAL;
L PRODUCTION; INC 1; T PRODUCTION; BEA;
ERR: L -1;
T RET_VAL;
END_FUNCTION

11.7.4

Exemple de FB dans une source LIST


FUNCTION_BLOCK FB 6
TITLE = Rglage simple des feux
// Rgulation des feux pour un passage pitons
// sur la rue principale
{S7_m_c := 'true'}

//Attribut systme pour blocs

AUTHOR:

Siemens

FAMILY:

Feux

Nom
VERSION:

Feux
1.3

VAR_INPUT
demarr:

BOOL

:=

FALSE; // Demande de traverse pitons

t_dur_o_voit

TIMER;

// Dure vert pitons

t_r_suiv_voit

TIMER;

// Dure entre rouge pour voitures

t_dur_r_voit

TIMER;

nombre

{S7_server := 'alarm_archiv'; S7_a_type := 'alarm_8'} :DWORD;

// Nb. voitures
// nombre comporte des attributs systme pour paramtres
END_VAR
VAR_OUTPUT

11-20

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de sources LIST

v_voit

BOOL

BOOL

:=

FALSE; // VERT pour voitures

END_VAR
VAR
condition

:=

FALSE; // Notification rouge pour voitures

END_VAR
BEGIN
NETWORK
TITLE = Notification rouge pour circulation automobile
// Aprs respect d'un intervalle de temps minimum, la
//demande de traverse pitons gnre une notification
//de rouge pour la circulation automobile.
U(;
U

#demarr;

#t_r_suiv_voit;

// dure entre deux phases de rouge coule

// Demande de traverse pitons et

#condition;

// ou notification pour rouge ("maintien")

);
UN

#t_dur_o_voit;

// et actuellement feu pas rouge

#condition;

// Notification rouge

NETWORK
TITLE = Feu vert pour circulation automobile
UN

#condition;

// Pas de notification de rouge pour circulation

#v_voit;

// VERT pour circulation automobile

NETWORK
TITLE = Dure de phase orange pour voitures
// Reste du programme pour raliser
// le rglage des feux
END_FUNCTION_BLOCK
FUNCTION_BLOCK FB 10
VAR_INPUT
para1 : bool;
para2: bool;
end_var
begin
end_function_block
data_block db 10
fb10
begin
end_data_block
data_block db 6
fb6
begin
end_data_block

Programmer avec STEP 7 V5.1


A5E00069874-03

11-21

Cration de sources LIST

11.7.5

Exemples de DB dans une source LIST

Bloc de donnes
DATA_BLOCK DB 10
TITLE = Exemple DB 10
STRUCT
aa : BOOL;

// Variable aa de type BOOL

bb : INT; // Variable bb de type INT


cc : WORD;
END_STRUCT;
BEGIN

// Affectation de valeurs initiales


aa := TRUE;
bb := 1500;

END_DATA_BLOCK

DB associ un type de donnes utilisateur


DATA_BLOCK DB 20
TITLE = Exemple DB (UDT)
UDT 20

// Indication de l'UDT associ

BEGIN
demarr := TRUE;

// Affectation de valeurs initiales

consigne := 10;
END_DATA_BLOCK

Nota
L'UDT utilis doit se situer avant le bloc de donnes dans la source.

11-22

Programmer avec STEP 7 V5.1


A5E00069874-03

Cration de sources LIST

DB associ un bloc fonctionnel


DATA_BLOCK DB 30
TITLE = Exemple DB (FB)
FB 30

// Indication du FB associ

BEGIN
demarr := TRUE; // Affectation de valeurs initiales
consigne := 10;
END_DATA_BLOCK

Nota
Le FB associ doit se situer avant le bloc de donnes dans la source.

11.7.6

Exemple dUDT dans une source LIST

TYPE UDT 20
STRUCT
demarr : BOOL;

//Variable de type BOOL

consigne : INT;

//Variable de type INT

valeur : WORD;

//Variable de type WORD

END_STRUCT;
END_TYPE

Programmer avec STEP 7 V5.1


A5E00069874-03

11-23

Cration de sources LIST

11-24

Programmer avec STEP 7 V5.1


A5E00069874-03

12 Affichage des donnes de rfrence

12.1
12.1.1

Prsentation des donnes de rfrence possibles


Prsentation des donnes de rfrence possibles
Afin de faciliter le test et la modification de votre programme utilisateur, vous pouvez crer et
exploiter des donnes de rfrence. Les donnes de rfrence servent par exemple :
de vue d'ensemble sur votre programme utilisateur complet,
de base pour les modifications et les tests,
complter la documentation de votre programme.
Le tableau suivant prsente les informations que vous retrouvez dans les diffrentes vues :
Vue

Application

Liste des rfrences


croises

Vue d'ensemble de l'utilisation d'oprandes des zones de mmoire E,


A, M, P, T, Z et d'appels de DB, FB, FC, SFB et SFC dans le
programme utilisateur.
La commande Affichage > Rfrences croises pour l'oprande
vous permet dafficher toutes les rfrences croises, y compris les
accs multiples loprande slectionn.

Tableau d'affectation
Tableau d'affectation pour
temporisations et
compteurs (T/Z)

La vue d'ensemble montrant quels bits des oprandes appartenant aux


zones de mmoire E, A et M ou quels temporisations et compteurs sont
dj affects dans le programme utilisateur constitue une base
importante pour la recherche d'erreurs et les modifications dans le
programme utilisateur.

Structure du programme

Hirarchie d'appel des blocs au sein du programme utilisateur et vue


d'ensemble des blocs utiliss et de leurs relations de dpendance.

Oprandes libres

Vue d'ensemble de tous les mnmoniques dfinis dans la table des


mnmoniques, mais qui ne sont pas utiliss dans les parties du
programme utilisateur pour lesquelles il y a des donnes de rfrence.

Mnmoniques manquants

Vue d'ensemble de toutes les adresses absolues (oprandes et blocs)


qui sont utilises dans les parties du programme utilisateur et pour
lesquelles il y a des donnes de rfrence, mais pour lesquelles aucun
mnmonique n'est dfini dans la table des mnmoniques.

Les donnes de rfrence du programme utilisateur slectionn englobent les listes


contenues dans le tableau. Vous pouvez crer et afficher plusieurs listes pour un
programme utilisateur ou pour diffrents programmes.

Programmer avec STEP 7 V5.1


A5E00069874-03

12-1

Affichage des donnes de rfrence

Affichage simultan de plusieurs vues


L'affichage de listes dans des fentres supplmentaires vous permet par exemple :
de comparer les mmes types de listes de programmes utilisateur S7 diffrents,
d'afficher cte cte sur l'cran une mme liste (par exemple, une liste des rfrences
croises) optimise diffremment. Dans une liste de rfrences croises, vous pouvez
par exemple afficher uniquement les entres d'un programme utilisateur S7 et dans la
seconde liste des rfrences croises uniquement les sorties.
d'ouvrir simultanment plusieurs listes d'un mme programme utilisateur S7, par exemple
la structure du programme et la liste des rfrences croises.

12.1.2

Liste des rfrences croises


La liste des rfrences croises offre un aperu de l'utilisation des oprandes dans un
programme utilisateur S7.
La liste des rfrences croises indique les oprandes des zones de mmoire entre(E),
sortie (A), mmento (M), temporisation (T), compteur (Z), bloc fonctionnel (FB), fonction
(FC), bloc fonctionnel systme (SFB), fonction systme (SFC), priphrie (P) et bloc de
donnes (DB) qui sont utiliss dans le programme utilisateur S7, leur adresse (adresse
absolue, nom) ainsi que leur utilisation. Cette liste s'affiche dans une fentre de travail. La
barre de titre de cette fentre donne le nom du programme utilisateur auquel appartient la
liste des rfrences croises.
Chaque ligne de la fentre correspond une entre de la liste des rfrences croises. Une
fonction de recherche permet de retrouver facilement des oprandes et mnmoniques
prcis.
La liste des rfrence croises est la vue par dfaut pour l'affichage des donnes de
rfrence. Vous pouvez modifier cette valeur par dfaut.

Structure
Elle comprend les colonnes suivantes :
Colonne

Contenu/signification

Oprande

Adresse absolue de l'oprande

Mnmonique

Nom de l'oprande

Bloc

Bloc dans lequel l'oprande est utilis.

Accs

Indique si l'accs l'oprande est un accs en lecture (R) ou en criture (W).

Langage/Dtails

Informations relatives au langage de cration du bloc

Les colonnes mnmonique, bloc, accs et langage/dtails ne s'affichent que lorsque les
proprits correspondantes ont t slectionnes pour la liste des rfrences croises. Les
informations relatives au langage et aux dtails s'affichent dans une mme colonne qui ne
peut tre slectionne ou dslectionne que globalement. Ces informations sur le bloc
varient en fonction du langage dans lequel le bloc a t cr.
A l'aide de la souris, adaptez la largeur des colonnes vos besoins dans la liste des
rfrences croises affiche l'cran.

12-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Affichage des donnes de rfrence

Tri
Par dfaut, la liste des rfrences croises est classe par zones de mmoire. Pour la
classer selon les entres d'une colonne prcise, cliquez avec la souris sur le titre de cette
colonne.

Exemple de structure de la liste des rfrences croises

12.1.3

Oprande

Mnmonique Bloc

Accs

Langage

Dtails

E 1.0

Moteur
marche

OB 2

LIST

NW 2 Anw 33 /O

M1.2

Bit de
mmento

FC 2

CONT

NW 33

Z2

Compteur2

FB2

LOG

NW2

Structure du programme
La structure du programme dcrit la hirarchie d'appel des blocs l'intrieur d'un
programme utilisateur S7. Vous obtenez en outre un aperu des blocs utiliss, de leur
relations et de leur besoin en donnes locales.
En choisissant la commande Affichage > Filtrer dans la fentre "Afficher les donnes de
rfrence S7", vous ouvrez une bote de dialogue onglets. Dans la page d'onglet
"Structure du programme", vous pouvez choisir la reprsentation de la structure du
programme :

Vous avez le choix entre


arborescence et
paires d'appelants-appels.
Vous pouvez demander la reprsentation de tous les blocs ou l'affichage de la hirarchie
partir d'un bloc prcis.

Programmer avec STEP 7 V5.1


A5E00069874-03

12-3

Affichage des donnes de rfrence

Icnes utilises dans la structure du programme


Icne Signification
Appel normal d'un bloc (CALL FB10)
Appel inconditionnel d'un bloc (UC FB10)
Appel conditionnel d'un bloc (CC FB10)
Bloc de donnes
Rcurrence
Rcurrence et appel conditionnel
Rcurrence et appel inconditionnel
Bloc non appel
Les rcurrences d'appel sont dtectes et marques comme telles graphiquement dans
la structure arborescente.
Des rcurrences au sein de la hirarchie d'appel sont reprsentes par des boutons
diffrents.
L'appel normal d'un bloc (CALL), l'appel conditionnel d'un bloc (CC) et l'appel
inconditionnel d'un bloc (UC) sont caractriss par des boutons diffrents.
Les blocs non appels sont indiqus la fin de la structure arborescente et marqus
d'une croix noire. Leur structure d'appel ne sera pas dtaille davantage.

Affichage sous forme de structure arborescente


La totalit de la hirarchie d'appel est reprsente partir d'un bloc donn.
Chaque arborescence possde exactement un bloc racine. Il peut s'agir de l'OB1 ou de tout
autre bloc dfini par l'utilisateur comme bloc de dpart.
Structure du programme pour pro\test\Blocs\Blocs Programme S7
OB 1 <maximum : 66>
FB 10, DB 101 [42]
DB 10(dbdix) [42]
FC 10
DB 10(dbdix) [66]
SFB 0(CTU), DB 100 [66]
SFC 52(WR_USMSG) [66]
FC 10
DB 10(dbdix) [66]
SFB 0(CTU), DB 100 [66]
SFC 52(WR_USMSG) [66]
SFB 0(CTU), DB 100 [42]
SFC 52(WR_USMSG) [42]

Si l'arborescence doit tre ralise pour tous les blocs d'organisation (OB) et si l'OB 1 ou le
bloc de dpart indiqus ne se trouvent pas dans le programme utilisateur S7, le logiciel vous
invitera automatiquement spcifier un autre bloc qui servira de racine l'arborescence.
L'affichage d'appels multiples de blocs peut tre dsactiv, aussi bien pour l'arborescence
que pour les "paires d'appelants-appels", grce aux options proposes.

12-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Affichage des donnes de rfrence

Affichage du besoin maximal en donnes locales dans la structure arborescente


Pour voir immdiatement le besoin en donnes locales des OB dans le programme
utilisateur affich, vous pouvez afficher dans la reprsentation arborescente :
le besoin maximal en donnes locales par OB
le besoin en donnes locales par chemin.
Vous pouvez activer ou dsactiver cet affichage dans l'onglet "Structure du programme".
Pour obtenir alors le besoin en donnes locales d'un bloc slectionn, cliquez avec le
bouton droit de la souris et choisissez la commande Informations sur le bloc dans le menu
contextuel.
En cas de prsence d'OB d'erreur synchrones (OB 121, OB 122), un signe plus ainsi que la
place requise pour les OB d'erreur synchrones sont affichs aprs la valeur des donnes
locales maximales.

Affichage sous forme de paires d'appelants-appels


Le bloc appel et le bloc appelant sont tous deux reprsents. Ce mode est indiqu pour
chaque bloc du programme utilisateur S7.

Affichage de blocs supprims


Les lignes correspondant des blocs supprims sont reprsentes en rouge et les blocs
sont suivis par la chane de caractres "?????".

12.1.4

Tableau d'affectation pour les entres, sorties et mmentos (E/A/M)


Les tableaux d'affectation vous montrent quels oprandes sont dj occups dans le
programme utilisateur. Cet affichage constitue un lment important pour la recherche
d'erreurs ou les modifications dans le programme utilisateur.
L'affichage du tableau d'affectation E/A/M permet de savoir quel bit est utilis dans quel
octet des zones de mmoire entre (E), sortie (A), et mmento (M). Le tableau d'affectation
s'affiche dans une fentre de travail. La barre de titre de la fentre de travail donne le nom
du programme utilisateur S7 auquel il appartient.
Chaque ligne contient un octet de la zone de mmoire, dont les huit bits sont diffrencis
selon leur mode d'accs. En outre, il sera galement prcis s'ils sont adresss par octet,
mot ou double mot.

Identificateur dans le tableau daffectation E/A/M :


.

l'oprande n'est pas adress et n'est donc pas encore occup


l'oprande est utilis directement.

l'oprande est trait indirectement (accs par octet, mot ou double mot)

Programmer avec STEP 7 V5.1


A5E00069874-03

12-5

Affichage des donnes de rfrence

Colonnes du tableau daffectation (entres, sorties, mmentos) :


Colonne

Contenu/signification

7
6
5
4

numro du bit de l'octet correspondant

3
2
1
0
O

l'octet est adress par un octet

l'octet est adress par un mot

l'octet est adress par un mot double

Exemple de tableau daffectation (entres, sorties, mmentos)


L'exemple suivant reprsente la structure typique d'un tableau d'affectation pour les entres,
sorties et mmentos (E/A/M).
Oprande

AB0

AB1

EB0

EB1

MB0

MB1

La premire ligne montre l'occupation de l'octet de sortie AB 0. L'oprande AB 0 est adress


par un octet. De plus, les bits de sortie A 0.4 et A 0.7 sont adresss simultanment, ce qui
est reprsent par la lettre "O" dans les colonnes "4" et "7". La lettre "X" qui figure
respectivement dans les colonnes "0", "1", "2", "3", "5", et "6" caractrise l'accs par octet.
La lettre "O" dans la colonne "B" indique que l'oprande AB 0 est adress par octet.

12-6

Programmer avec STEP 7 V5.1


A5E00069874-03

Affichage des donnes de rfrence

12.1.5

Tableau daffectation pour les temporisations et compteurs (T/Z)


Les tableaux d'affectation vous montrent quels oprandes sont dj occups dans le
programme utilisateur. Cet affichage constitue un lment important pour la recherche
d'erreurs ou les modifications dans le programme utilisateur.
L'affichage du tableau d'affectation (temporisations/compteurs) indique quels temporisations
(T) et compteurs (Z) sont utiliss.
Le tableau d'affectation s'affiche dans une fentre de travail. La barre de titre de la fentre
de travail donne le nom du programme utilisateur S7 auquel il appartient. Chaque ligne
reprsente 10 temporisations ou compteurs.

Identificateurs dans le tableau daffectation T/Z :


.

inutilis

utilis

Exemple de tableau daffectation (temporisations, compteurs)


0

T 00-09

T 10-19

T 20-29

Z 00-09

Z 10-19

Z 20-29

Z 30-39

Dans le prsent exemple, les temporisations T1, T6, T12, T17, T19, T24 et les compteurs
Z2, Z7, Z19, Z34 sont utiliss.
Ces tableaux sont classs par ordre alphabtique. Vous pouvez trier leurs entres en
cliquant sur le titre de la colonne correspondante.

12.1.6

Oprandes libres
Vous obtenez une vue d'ensemble de tous les mnmoniques possdant les proprits
suivantes :
Il s'agit de mnmoniques dfinis dans la table des mnmoniques.
Ces mnmoniques ne sont toutefois pas utiliss dans les parties de programme pour
lesquelles des donnes de rfrence existent.
Cette liste s'affiche dans une fentre de travail. La barre de titre de la fentre de travail
donne le nom du programme utilisateur auquel appartient la liste.
Chaque ligne de la fentre correspond une entre de la liste. Elle comprend l'oprande, le
mnmonique, le type de donnes et le commentaire.

Programmer avec STEP 7 V5.1


A5E00069874-03

12-7

Affichage des donnes de rfrence

Colonne

Contenu/signification

Mnmonique

Nom

Oprande

Adresse absolue de l'oprande

Type de donnes

Type de donnes de l'oprande.

Commentaire de
l'oprande

Commentaire de l'oprande extrait de la table des


mnmoniques

Exemple de liste des oprandes libres


Mnmonique Oprande

Type de donnes

Commentaire de l'oprande

MS1

E103.6

BOOL

Disjoncteur de protection1

MS2

E120.5

BOOL

Disjoncteur de protection2

MS3

E121.3

BOOL

Disjoncteur de protection3

Vous pouvez trier leurs entres en cliquant sur le titre de la colonne correspondante.

12.1.7

Mnmoniques manquants
L'affichage des mnmoniques manquants donne la liste des lments utiliss dans le
programme utilisateur S7 qui ne sont pas dfinis dans la table des mnmoniques. Cette liste
s'affiche dans une fentre de travail. La barre de titre de la fentre de travail donne le nom
du programme utilisateur auquel appartient la liste.
Elle comprend l'oprande et ses occurrences.

Exemple
Oprande

Nombre

A 2.5

E 23.6

M 34.1

20

Cette liste est classe selon les oprandes.

12-8

Programmer avec STEP 7 V5.1


A5E00069874-03

Affichage des donnes de rfrence

12.1.8

Affichage dinformations sur le bloc pour CONT, LOG, LIST


Les informations sur le bloc pour CONT, LOG ou LIST saffichent dans la liste des
rfrences croises et dans la structure du programme. Elles comportent le langage du bloc
et des dtails.
Dans le mode d'affichage "Structure du programme utilisateur", vous pouvez obtenir les
informations sur le bloc soit en choisissant la commande Reprsentation > Informations
sur le bloc, soit en cliquant avec le bouton droit de la souris. Ceci dpend des options de
filtrage slectionnes dans l'onglet "Structure du programme", savoir "Paires d'appelantsappels" ou "Arborescence".
Dans le mode d'affichage "Rfrences croises", vous pouvez activer ou dsactiver
l'affichage des informations sur le bloc en choisissant la commande Affichage > Filtre.
Pour afficher les informations sur le bloc, cochez la case "Langage du bloc et dtails"
dans l'onglet "Rfrences croises" de la bote de dialogue "Filtre".
Les informations sur le bloc varient selon le langage dans lequel le bloc a t cr et sont
reprsentes par des abrviations.
Langage

Rseau

Instruction

Opration

LIST

Re

Inst

CONT

Re

LOG

Re

Re, Inst indiquent dans quel rseau et dans quelle instruction loprande est utilis
(rfrences croises) ou le bloc est appel (structure du programme).

Affichage dinformations sur le bloc pour des langages de programmation optionnels


L'aide relative l'information sur les blocs est disponible lorsque le logiciel optionnel est
install.

Programmer avec STEP 7 V5.1


A5E00069874-03

12-9

Affichage des donnes de rfrence

12.2
12.2.1

Utilisation des donnes de rfrence


Affichage des donnes de rfrence
Pour afficher les donnes de rfrence, vous avez les possibilits suivantes :

Affichage dans SIMATIC Manager :


1. Dans la vue du projet hors ligne de la fentre du projet, slectionnez le dossier Blocs.
2. Choisissez la commande Outils > Donnes de rfrence > Afficher.

Affichage dans la fentre de l'diteur :


1. Ouvrez un bloc dans le dossier Blocs.
2. Dans la fentre de l'diteur appropri, vous choisissez la commande Outils > Donnes
de rfrence.
La bote de dialogue "Paramtres" souvre. Vous pouvez y slectionner la premire vue qui
doit safficher. Par dfaut, il sagit de la vue ferme en dernier dans lapplication permettant
dafficher les donnes de rfrence. Cette bote de dialogue peut tre ignore pour les
appels futurs.
Si les donnes de rfrence sont incompltes, une bote de dialogue s'ouvre, vous
permettant de dclencher leur mise jour.

Affichage directement depuis le bloc compil


Vous pouvez afficher directement depuis l'diteur de langage les donnes de rfrence d'un
bloc compil et obtenir ainsi une vue d'ensemble actuelle de votre programme utilisateur.

12.2.2

Affichage de listes dans des fentres supplmentaires


La commande Fentre > Nouvelle fentre permet d'ouvrir des fentres de travail
supplmentaires pour y afficher d'autres vues des donnes de rfrence dj affiches (par
exemple la liste des oprandes libres).
Vous pouvez ouvrir une fentre de travail pour des donnes de rfrence pas encore
affiches en choisissant la commande Donnes de rfrence > Ouvrir.
Vous pouvez passer une autre vue des donnes de rfrence en choisissant la commande
Affichage ou en cliquant sur le bouton correspondant dans la barre d'outils :

12-10

Vue des donnes de


rfrence

Commande pour l'affichage de cette vue des donnes de


rfrence

Mnmoniques manquants

Affichage > Mnmoniques manquants

Oprandes libres

Affichage > Oprandes libres

Tableau d'affectation E/A/M

Affichage > Tableau d'affectation > Entres, sorties et mmentos

Tableau d'affectation T/Z

Affichage > Tableau d'affectation > Temporisations et compteurs

Structure du programme

Affichage > Structure du programme

Rfrences croises

Affichage > Rfrences croises

Programmer avec STEP 7 V5.1


A5E00069874-03

Affichage des donnes de rfrence

12.2.3

Cration et affichage de donnes de rfrence

Cration de donnes de rfrence


1. Dans SIMATIC Manager, slectionnez le dossier Blocs pour lequel vous souhaitez
gnrer les donnes de rfrence.
2. Dans SIMATIC Manager, choisissez la commande Outils > Donnes de rfrence >
Gnrer.
Avant de gnrer des donnes de rfrence, le logiciel vrifie si elles sont prsentes et
actuelles.
En l'absence de donnes de rfrence, celles-ci sont gnres.
Lorsque les donnes de rfrence ne sont pas actuelles, vous pouvez choisir, dans une
bote de dialogue, si vous souhaitez les actualiser ou les gnrer de nouveau.

Affichage de donnes de rfrence :


La commande Outils > Donnes de rfrence > Afficher vous permet dafficher les
donnes de rfrence.
Avant d'afficher des donnes de rfrence, le systme vrifie si elles sont prsentes et
actuelles.
En l'absence de donnes de rfrence, celles-ci sont gnres.
Si les donnes de rfrence existantes sont incompltes, une bote de dialogue vous
informe de leur incohrence. Vous pouvez alors dcider quelles donnes de rfrence
vous souhaitez actualiser. Les choix suivants vous sont proposs :
Choix

Signification

pour les blocs modifis


seulement :

dans ce cas, les donnes de rfrence des blocs modifis et des


nouveaux blocs sont actualises et les informations relatives aux blocs
effacs sont supprimes des donnes de rfrence;

pour tous les blocs :

les donnes de rfrence de tous les blocs sont alors gnres en


totalit;

ne pas les actualiser :

les donnes de rfrence ne sont pas actualises.

Cette mise jour des donnes de rfrence est obtenue par une nouvelle compilation des
blocs, ce pour quoi le compilateur convenant chaque bloc est appel. La commande
Affichage > Actualiser permet de mettre jour, dans la fentre active, des donnes de
rfrence dj affiches.

Programmer avec STEP 7 V5.1


A5E00069874-03

12-11

Affichage des donnes de rfrence

12.2.4

Positionnement rapide sur les occurrences dans le programme


Vous pouvez vous servir des donnes de rfrence pour vous positionner sur les
occurrences dun oprande lors de la programmation. Les donnes de rfrence doivent
tre actuelles. Il nest pas ncessaire dappeler lapplication permettant dafficher les
donnes de rfrence.

Marche suivre
1. Dans SIMATIC Manager, choisissez la commande Outils > Donnes de rfrence >
Gnrer pour crer les donnes de rfrence actuelles. Cette tape ne savre
ncessaire que si les donnes de rfrence nont pas t cres ou si elles ne sont pas
actuelles.
2. Slectionnez loprande souhait dans un bloc ouvert.
3. Choisissez la commande Edition > Aller > Occurrence.
Une bote de dialogue souvre avec la liste des occurrences de loprande dans le
programme.
4. Si la case doption "Pour tous les oprandes de la plage dadresses spcifie" est
active, le tableau affichera les occurrences de tous les oprandes de la plage
dadresses spcifie.
5. Slectionnez une occurrence dans la liste et cliquez sur le bouton "Aller ".
Si les donnes de rfrence ne sont pas actuelles lorsque vous appelez cette bote de
dialogue, un message vous en informe. Vous pouvez alors actualiser les donnes de
rfrence.

Liste des occurrences


La liste des occurrences dans la bote de dialogue fournit les donnes suivantes :
bloc dans lequel loprande est utilis,
mnmonique du bloc, le cas chant,
dtails, cest--dire informations fonction du langage de cration du bloc/de la source
(SCL) sur loccurrence et le cas chant sur lopration,
informations spcifiques au langage,
type daccs loprande : lecture (R), criture (W), lecture et criture (RW),
indterminable (?),
langage du bloc.
Vous avez la possibilit de filtrer laffichage des occurrences, afin dafficher uniquement les
accs en criture un oprande, par exemple. De plus amples informations sur les
possibilits de saisie et sur laffichage sont donnes dans laide ne ligne de cette bote de
dialogue.

Nota
Les donnes de rfrence existent uniquement hors ligne. Cette fonction utilise donc
toujours les rfrences croises des blocs hors ligne, mme si vous appelez cette fonction
dans un bloc en ligne.

12-12

Programmer avec STEP 7 V5.1


A5E00069874-03

Affichage des donnes de rfrence

12.2.5

Exemple de recherche doccurrences


Vous souhaitez rechercher les occurrences pour lesquelles la sortie A1.0 (directe/indirecte)
est mise 1. Comme exemple, nous allons utiliser le code LIST suivant dans lOB 1:

Rseau 1: ...........
U A 1.0

// dans notre exemple,

= A 1.1

// insignifiant

Rseau 2:
U M1.0
U M2.0
= A 1.0

// Affectation

Rseau 3:
//uniquement ligne de commentaire
SET
= M1.0

// Affectation

Rseau 4:
U E 1.0
U E 2.0
= M2.0

// Affectation

Pour A1.0, on obtient donc le schma daffectation suivant :

Vous procdez alors de la manire suivante :


1. Dans lditeur CONT/LIST/LOG, positionnez-vous sur A1.0 (R1, inst 1) dans lOB 1.
2. Choisissez la commande Edition > Aller > Occurrence ou cliquez sur le bouton droit
de la souris pour appeler la bote de dialogue "Aller occurrence".
Toutes les affectations de A1.0 sont entre autres affiches dans la bote de dialogue :
OB1

Cycle Execution

R 2

Inst 3

/=

LIST

OB1

Cycle Execution

R 1

Inst 1

/U

LIST

Programmer avec STEP 7 V5.1


A5E00069874-03

12-13

Affichage des donnes de rfrence

3. Slectionnez "Aller " dans la bote de dialogue pour sauter "R 2 Inst 3" dans
lditeur :
Rseau 2:
U M1.0
U M2.0
= A 1.0

4. Vous devez vrifier aussi bien les affectations de M1.0 que de M2.0. Positionnez-vous
dabord sur M1.0 dans lditeur CONT/LIST/LOG.
5. Choisissez la commande Edition > Aller > Occurrence ou cliquez sur le bouton droit
de la souris pour appeler la bote de dialogue "Aller occurrence". Celle-ci affiche entre
autres toutes les affectations de M1.0 :
OB1

Cycle Execution

R 3

Inst 2

/=

LIST

OB1

Cycle Execution

R 2

Inst 1

/U

LIST

6. Slectionnez "Aller " pour sauter "R 3 Inst 2" dans lditeur CONT/LIST/LOG.
7. Dans le rseau 3 de lditeur CONT/LIST/LOG, nous constatons que laffectation de M1.0
ne nous intresse pas (toujours TRUE) et que nous devons donc vrifier celle de M2.0.
Dans les versions de STEP 7 antrieure V5, il fallait pour cela repasser par
l'ensemble de la chane daffectations. Les boutons ">>" et "<<" facilitent la suite
de la procdure :
8. Amenez au premier plan la bote de dialogue "Aller occurrence" encore ouverte ou
appelez-la partir de la position actuelle dans lditeur CONT/LIST/LOG.
9. Appuyez une ou deux fois sur le bouton "<<", jusqu ce que toutes les occurrences de A
1.0 saffichent, la dernire, "R 2 Inst 3" tant slectionne.
10. Slectionnez "Aller " (comme ltape 3) dans la bote de dialogue des occurrences
pour sauter "R 2 Inst 3" dans lditeur :
Rseau 2:
U M1.0
U M2.0
= A 1.0

11. A ltape 4 et aux suivantes, nous avions vrifi laffectation de M1.0. Nous devons
prsent vrifier toutes les affectations (directes/indirectes) de M2.0. Positionnez-vous
donc sur M2.0 dans lditeur et appelez "Aller occurrence" : toutes les affectations de
M2.0, entre autres, saffichent :
OB1

Cycle Execution

R 4

Inst 3

/=

LIST

OB1

Cycle Execution

R 2

Inst 2

/U

LIST

12. Slectionnez "Aller " pour sauter "R 4 Inst 3" dans lditeur CONT/LIST/LOG :
Rseau 4:
U E 1.0
U E 2.0
= M2.0

13. Vous devez prsent vrifier les affectations de E1.0 et E2.0. Nous nallons pas le faire
dans cet exemple, car la procdure est similaire celle utilise jusqu prsent (tape 4
et suivantes).
En commutant entre lditeur CONT/LIST/LOG et la bote de dialogue des occurrences, vous
pouvez ainsi dterminer et vrifier les occurrences dans votre programme.

12-14

Programmer avec STEP 7 V5.1


A5E00069874-03

13 Vrification de la cohrence des blocs et


horodatage comme proprit de bloc

13.1

Vrifier la cohrence des blocs

Introduction
Si vous tes oblig d'adapter ou de complter les interfaces ou le code de certains blocs au
cours de l'criture du programme ou aprs, il peut en rsulter des conflits d'horodatage qui
leur tour risquent d'entraner des incohrences entre bloc appelant et bloc appel ou entre
blocs de rfrence. Ceci peut ncessiter d'importantes corrections.
La fonction "Vrification de la cohrence des blocs" simplifie cette tche de correction. Elle
supprime automatiquement la majeure partie de tous les conflits d'horodatage et des
incohrences entre blocs. Dans les blocs dans lesquels elle n'est pas capable de supprimer
ces erreurs automatiquement, cette fonction ouvre l'diteur correspondant et positionne le
curseur l'endroit que vous devez modifier. Vous pouvez alors y effectuer les modifications
ncessaires. Vous pouvez ainsi supprimer pas pas toutes les incohrences et compiler les
blocs.

Conditions requises
La vrification de cohrence des blocs n'est possible que pour les projets crs avec la
version V5.0, Servicepack 3 de STEP 7 ou V5.1. Avec les projets plus anciens, vous devez
donc commencer par compiler tout (commande Programme > Compiler tout).
Pour les blocs crs avec un logiciel optionnel, il faut que le logiciel optionnel pour
vrification de cohrence soit install.

Programmer avec STEP 7 V5.1


A5E00069874-03

13-1

Vrification de la cohrence des blocs et horodatage comme proprit de bloc

Dmarrage de la vrification de cohrence des blocs


Au dmarrage, la fonction commence par vrifier les horodatages des interfaces et met en
valeur, dans la vue de l'arborescence (arborescence dpendances ou rfrences), les blocs
susceptibles de prsenter des incohrences.
1. Choisissez la commande Programme > Compiler.
STEP 7 reconnat le langage de cration utilis pour les blocs concerns et il ouvre
l'diteur appropri. Autant que possible, les conflits d'horodatage et incohrences sont
supprims automatiquement et les blocs compils. Ceux dont la suppression
automatique n'est pas possible sont signales par un message dans la fentre de
rsultats (il faut alors continuer l'tape 2). Cette opration se rpte pour tous les blocs
de la vue de l'arborescence.
2. Si toutes les incohrences entre blocs n'ont pas pu tre supprimes durant la
compilation, les blocs correspondants sont signals comme messages d'erreur dans la
fentre de rsultats. Positionnez le curseur sur l'entre errone et choisissez, avec le
bouton droit de la souris, la commande Afficher les erreurs dans le menu contextuel.
L'diteur appropri s'ouvre alors et saute la position modifier. Eliminez toutes les
incohrences, puis fermez le bloc et enregistrez-le. Rptez cette opration pour tous les
blocs signals comme erreurs.
3. Rptez les tapes 1 et 2 jusqu' ce qu'aucune erreur ne soit plus signale dans la
fentre de rsultats.

13-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Vrification de la cohrence des blocs et horodatage comme proprit de bloc

13.2

Horodatage comme proprit de bloc et conflits d'horodatage


Les blocs contiennent un horodatage du code et un horodatage des interfaces. Ces
horodatages s'affichent dans la bote de dialogue des proprits de bloc. Ils permettent de
vrifier la cohrence des programmes STEP 7.
STEP 7 signale un conflit d'horodatage lorsque l'un des manquements la rgle suivants est
dtect lors de la comparaison d'horodatages.
Un bloc appel est plus rcent que le bloc appelant (CALL).
Un bloc rfrenc est plus rcent que le bloc qui l'utilise.
Exemples relatifs au second point :
Un UDT est plus rcent que le bloc qui l'utilise, p. ex. un DB ou un autre UDT, ou un FC,
FB, OB qui utilise cet UDT dans la table de dclaration des variables.
Un FB est plus rcent que le DB d'instance correspondant.

Un FB 2 est dfini comme multi-instance dans un FB 1et FB 2 est plus rcent que FB 1.
Nota
Des incohrences sont galement susceptibles de se produire, mme lorsque la relation
entre les horodatages d'interfaces est correcte :
La dfinition de l'interface du bloc rfrenc ne correspond pas l'interface utilise
son occurrence.
De telles incohrences sont appeles conflits d'interface. Ils peuvent par exemple
rsulter de la copie de blocs de programmes diffrents ou de la compilation d'une source
ASCII lors de laquelle seule une partie des blocs d'un programme complet est gnre.

Programmer avec STEP 7 V5.1


A5E00069874-03

13-3

Vrification de la cohrence des blocs et horodatage comme proprit de bloc

13.3

Horodatage dans les blocs de code

Horodatage du code
L'instant de cration du bloc y est notifi. L'horodatage est actualis en cas de
modification de code du programme
modification de la description d'interfaces
modification du commentaire
gnration et de compilation d'une source ASCII
modification des proprits de bloc (bote de dialogue : Proprits)

Horodatage des interfaces


L'horodatage est actualis en cas de
modification de la description d'interfaces (modification de types de donnes ou de
valeurs initiales, nouveaux paramtres)
gnration et compilation d'une source ASCII, si la structure de l'interface change.
L'horodatage n'est pas actualis en cas de :
modification de mnmoniques
modification de commentaires dans la dclaration de variables
modification dans la zone TEMP.

Rgles pour l'appel de blocs


L'horodatage des interfaces du bloc appel doit tre antrieur l'horodatage du code du
bloc appelant.
Ne modifiez l'interface d'un bloc que si aucun bloc qui appelle celui-ci n'est ouvert. En
effet, si vous enregistrez les blocs appelant aprs le bloc modifi, cette incohrence ne
pourra pas tre dtecte par l'horotatage.

En cas derreur dhorodatage


Un conflit d'horodatage est signal l'ouverture du bloc appelant. Aprs modification d'une
interface de FC ou de FB, tous les appels de ce bloc seront reprsents sous forme tendue
dans les blocs appelant.
Si vous modifiez l'interface d'un bloc, vous devez adapter tous les blocs qui appelent ce
bloc.
Aprs modification d'une interface de FB, vous devez actualiser les dfinitions de multiinstances et les blocs de donnes existant.

13-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Vrification de la cohrence des blocs et horodatage comme proprit de bloc

13.4

Horodatage dans les blocs de donnes globaux

Horodatage du code
L'horodatage est actualis en cas de
gnration,
compilation d'une source ASCII,
modification dans la vue des dclarations ou dans la vue des donnes du bloc.

Horodatage des interfaces


L'horodatage est actualis en cas de
modification de la description des interfaces dans la vue des dclarations (modification
de types de donnes ou de valeurs initiales, nouveaux paramtres)

13.5

Horodatage dans les blocs de donnes d'instance


Un bloc de donnes d'instance enregistre les paramtres formels et les donnes statiques
de blocs fonctionnels.

Horodatage du code
L'instance de cration du bloc de donnes d'instance y est notifi. L'horodatage est actualis
lorsque vous saisissez des valeurs effectives dans la vue des donnes du bloc de donnes
d'instance. L'utilisateur ne peut pas modifier la structure d'un bloc de donnes d'instance ; en
effet, sa structure est reprise du bloc fonctionnel (FB) ou du bloc fonctionnel systme (SFB)
correspondant.

Horodatage des interfaces


Lors de la cration d'un bloc de donnes d'instance, l'horodatage des interfaces du FB ou du
SFB correspondant y est notifi.

Rgles pour une ouverture exempte de conflits


L'horodatage des interfaces du FB/SFB et celui du bloc de donnes d'instance
correspondant doivent concorder.

En cas de conflit dhorodatage


Lorsque vous modifiez l'interface d'un FB, l'horodatage des interfaces de ce FB est
actualis. A l'ouverture d'un bloc de donnes d'instance correspondant, un conflit
d'horodatage est signal, puisque les horodatages du bloc de donnes d'instance et du FB
ne concordent plus. L'interface est reprsente avec les mnmoniques gnrs par le
compilateur (pseudo-mnmoniques) dans la section de dclaration du DB. Le bloc de
donnes d'instance peut uniquement tre visualis.
Afin de rsoudre de tels conflits d'horodatage, vous devez crer une nouvelle fois le DB
d'instance appartenant un FB modifi.

Programmer avec STEP 7 V5.1


A5E00069874-03

13-5

Vrification de la cohrence des blocs et horodatage comme proprit de bloc

13.6

Horodatage dans les UDT et DB repris dUDT


Vous pouvez utiliser des types de donnes utilisateur (UDT), par exemple pour crer
plusieurs blocs de donnes de structure identique.

Horodatage du code
L'horodatage du code est actualis chaque modification.

Horodatage des interfaces


L'horodatage des interfaces est actualis lors de la modification de la description des
interfaces (modification de types de donnes ou de valeurs initiales, nouveaux paramtres).
L'horodatage des interfaces d'un UDT est galement actualis lors de la compilation de la
source ASCII.

Rgles pour une ouverture exempte de conflits


L'horodatage des interfaces du type de donnes utilisateur doit tre antrieur celui des
blocs de code dans lequel ce type de donnes est utilis.
L'horodatage des interfaces du type de donnes utilisateur doit tre identique
l'horodatage d'un DB repris d'un UDT.
L'horodatage des interfaces du type de donnes utilisateur doit tre postrieur
l'horodatage d'un UDT qui y est contenu.

En cas de conflit dhorodatage


Lorsque vous modifiez une dfinition d'UDT utilise dans un DB, une FC, un FB ou une
autre dfinition d'UDT, STEP 7 signale un conflit d'horodatage l'ouverture d'un tel bloc.
La composante UDT est reprsente non assemble, sous forme de structure. Tous les
noms de variables sont remplacs par des valeurs par dfaut du systme.

13-6

Programmer avec STEP 7 V5.1


A5E00069874-03

14 Configuration de messages

14.1
14.1.1

Concept de signalisation
Concept de signalisation
Les messages vous permettent de dtecter rapidement, de localiser avec prcision et de
corriger les erreurs d'excution du processus dans les automates programmables. Les
temps d'immobilisation de votre installation s'en trouvent considrablement rduits.
Avant que les messages ne puissent s'afficher, ils doivent tre configurs.
STEP 7 vous permet de crer, dditer, de compiler et dafficher des messages qui sont
fonction d'vnements sur des visuels, avec les textes et attributs correspondants.

14.1.2

Quels procds de signalisation existe-t-il ?


Il existe diffrents procds de cration de messages.

Procd de signalisation par bit


Pour le procd de signalisation par bit, le programmeur doit raliser 3 tapes :
Il cre le programme utilisateur sur la PG et met le bit souhait 1.
Il cre une liste d'affectation dans un diteur de texte quelconque, dans laquelle il affecte
un texte au bit de signalisation (par exemple B. M 3.1 = Commutateur de fin de course
Pression).
Dans le systme de commande, il cre la liste des textes de message sur la base de la
liste d'affectation.

Programme dans
lautomate

U E1.1
U M3.1

Programmer avec STEP 7 V5.1


A5E00069874-03

1
.
.
.
.

Liste daffectation

Liste des textes de message


pour C+C

M3.1 Fin de course


Pression

1
.
.
.
.

M3.1 "Texte de
message pour
Fin de course
Pression"

14-1

Configuration de messages

Le systme de contrle-commande interroge cycliquement l'automate programmable pour


vrifier si le bit de signalisation a t modifi. Si l'automate programmable signale une
modification, le message correspondant s'affiche. Ce message comporte l'horodatage du
systme de contrle-commande.

Procd de numro de message


Pour le procd de numro de message, le programmeur ne doit raliser qu'une tape :
Il cre le programme utilisateur sur la PG, met le bit souhait 1 et affecte immditament
lors de la programmation le texte souhait au bit.

Affichage dans le systme


de contrle-commande

Programme dans lautomate

U E1.1
U M3.1
CALL Bloc de
signalisation

Texte de message pour


Fin de course Pression

Texte de message
pour Fin de course
Pression

Il n'y a pas d'interrogation cyclique de l'automate programmable. Aussitt que ce dernier


signale une modification, le numro de message correspondant est transmis au systme de
contrle-commande et le message correspondant s'affiche. Le message comporte
l'horodatage de l'automate programmable et peut de ce fait tre affect avec plus de
prcision que dans le cas du procd de signalisation par bit.

14.1.3

Slection du procd de signalisation

Gnralits
Le tableau suivant prcise les caractristiques et conditions additionnelles des diffrents
procds de signalisation.
Procd de numro de message

14-2

Procd de signalisation par bit

Les messages sont grs dans une base de


donnes commune la PG et au systme de
commande.

Il n'y a pas de base de donnes commune


la PG et au systme de commande.

La charge pour le bus est faible (l'AP est


signal actif).

La charge pour le bus est leve (le systme


de commande interroge).

Les messages reoivent l'horodatage de


l'automate programmable.

Les messages reoivent l'horodatage du


systme de commande.

Programmer avec STEP 7 V5.1


A5E00069874-03

Configuration de messages

Le procd de numro de message englobe les trois types de messages suivants :


Messages sur bloc

Messages sur mnmonique

Messages de diagnostic
personnaliss

Synchrone avec le
programme

Asynchrone avec le
programme

Synchrone avec le
programme

Affichage via WinCC et


ProTool (uniquement
ALARM_S)

Affichage via WinCC

Affichage dans la mmoire


tampon de diagnostic sur la
PG

Possible pour S7300/400

Possible seulmt pour S7-400

Possible pour S7-300/400

Configuration l'aide de la
table des mnmoniques

Programmation l'aide
de blocs de signalisation :

Programmation l'aide de
blocs de signalisation
(fonction systme)

ALARM

ALARM_8

ALARM_8P

NOTIFY

ALARM_S(Q)

AR_SEND

Transmission l'AP l'aide


de blocs de donnes systme
(SDB)

Transmission au systme de
commande l'aide de la
configuration de liaisons APOS

Transmission au systme
de commande

pour WinCC, via la


configuration de
liaisons AP-OS

pour ProTool via les


fonctions ProTool

WR_USMSG

Pas de transmission au
systme de commande

STEP 7 utilise le procd le plus confortable, le procd de numro de message que nous
allons dcrire en dtail ci-aprs.

Exemples du procd de numro de message


Procd de signalisation

Dommaine d'application

Messages sur bloc

Pour signaler des vnements synchrones avec le programme, il


s'agit par exemple d'indiquer qu'un rgulateur a atteint une valeur
limite

Messages sur mnmonique

Pour signaler des vnements indpendants du programme, il


s'agit par exemple de surveiller la position d'un commutateur

Messages personnaliss

Pour signaler des vnements de diagnostic dans la mmoire


tampon de diagnostic, chaque appel de la SFC

Programmer avec STEP 7 V5.1


A5E00069874-03

14-3

Configuration de messages

14.1.4

Composants SIMATIC

Gnralits
La figure suivante donne une vue densemble des composants SIMATIC participant la
configuration et l'affichage de messages.

Configuration/cration
de messages

Affichage de messages

CONT/LOG/
LIST/SCL
Mnmoniques

OP/OS

PG

WinCC

PDIAG
Transfert de
donnes

CFC

ProTool
PG

GRAPH

Messages de CPU
Etat du
module

Chargement du
programme/SDB

S7-300

Tlegrammes
de message /
donnes du
module

S7-400

14.1.5

Elments constituants d'un message


La manire de laquelle un message s'affiche dpend du procd de signalisation, du bloc de
signalisation utilis et du visuel.
Le tableau suivant contient la liste des lments constituants possibles :

14-4

Elment constituant

Description

Horodatage

Cr dans l'automate programmable l'apparition de l'vnement


de signalisation

Etat de signalisation

Possibilits : arrivant, partant, partant sans acquittement, partant


avec acquittement

Variable

Il est possible d'ajouter certains messages une valeur de


processus pouvant tre exploite par le bloc de signalisation utilis.

Image

En cas de plantage du systme, les messages arrivants peuvent


tre affichs aprs coup sur l'OS.

Numro du message

Numro univoque dans l'ensemble du projet, attribu par le systme


et qui identifie un message.

Texte du message

Configur par l'utilisateur

Programmer avec STEP 7 V5.1


A5E00069874-03

Configuration de messages

Exemple
L'exemple suivant montre un message d'alarme sur un pupitre oprateur (Operator Panel).
Numro du message
Etat du message
Horodatage

0000049
K
11:32:00 27.03.98
Pression gnrateur trop leve : 12,7 bar

Texte du message
Variable additionnelle

14.1.6

Attribution de numros de message


Les messages sont identifis par un numro univoque dans l'ensemble du projet. Une plage
de numros appartenant la plage totale disponible (1 2097151) est cet effet attribue
chaque programme S7. En cas de conflit lorsque vous copiez un programme et que des
numros de messages identiques ont dj t attribus dans la plage cible , vous devez
attribuer une autre plage de numros au nouveau programme. Dans un tel cas, STEP 7
ouvre automatiquement la bote de dialogue dans laquelle vous pouvez attribuer la nouvelle
plage de numros.
La commande Edition > Proprits spcifiques de l'objet > Numros de messages vous
permet en outre lorsqu'aucun message n'a t configur dans le programme de dfinir ou de
modifier la plage de numros pour un programme S7.
Par dfaut, les plages de numros sont attribues par tranches de 20.000.

Programmer avec STEP 7 V5.1


A5E00069874-03

14-5

Configuration de messages

14.2
14.2.1

Affectation et dition de messages sur bloc


Affectation et dition de messages sur bloc
Les messages sur bloc sont affects un bloc (FB). Pour crer un message sur bloc, vous
pouvez utiliser des blocs fonctionnels systme (SFB) et des fonctions systme (SFC)
comme blocs de signalisation.

14.2.2

Quels blocs de signalisation existe-t-il ?


Vous disposez des blocs de signalisation suivants, dans lesquels une fonction de
signalisation est dj programme :
SFB 33 ALARM,
SFB 34 ALARM_8,
SFB 35 ALARM_8P,
SFB 36 NOTIFY,
SFC 18 ALARM_S et SFC17 ALARM_SQ,
SFB 37 AR_SEND (pour l'mission d'archives).
De plus amples informations ce sujet sont donnes dans l'aide de rfrence sur les blocs .

Quand utiliser quel bloc de signalisation ?


Le tableau ci-aprs vous aidera choisir le bloc de signalisation convenant votre cas. Ce
choix est guid par :
le nombre de voies disponibles dans le bloc et donc le nombre de signaux surveills par
appel de bloc,
la possibilit d'acquitter des messages,
la possibilit d'accompagner ceux-ci de variables,
les visuels mis en oeuvre,
la capacit de votre CPU.

14-6

Programmer avec STEP 7 V5.1


A5E00069874-03

Configuration de messages

Bloc de
signalisation

Voies

Acquittement

Vari- AffiAffiable chage chage


WinCC PROTOOL

AffiAP
chage
mess.
de CPU/
tat S7

Particularits

ALARM
SFB 33

possible

10
au
plus

oui

non

non

S7-400

Emet un message
chaque front arrivant ou
partant

ALARM_8
SFB 34

possible

non

oui

non

non

S7-400

Emet un message
chaque front arrivant ou
partant d'un ou de
plusieurs signaux

ALARM_8P
SFB 35

possible

10
au
plus

oui

non

non

S7-400

Comme ALARM_8

NOTIFY
SFB 36

non

10
au
plus

oui

non

non

S7-400

Comme ALARM

AR_SEND
SFB 37

oui

non

non

S7-400

Sert envoyer des


donnes d'archives

ALARM_SQ
SFC 17

possible

oui

oui*

oui

S7-300/
400

Le message n'est pas


engendr par un
changement de front,
mais chaque appel de
la SFC

ALARM_S
SFC 18

non

oui

oui*

oui

S7-300/
400

Comme ALARM_SQ

* en fonction du type dOP

14.2.3

Paramtres formels, attributs systme et blocs de signalisation

Paramtre formel comme entre de numro de message


Pour chaque message ou groupe de messages, vous avez besoin, dans votre programme,
d'un paramtre formel que vous indiquez en tant que variable d'entre dans la table de
dclaration des variables du programme. Ce paramtre formel est utilis comme entre de
numro de message et constitue la base d'un message.

Valorisation des paramtres formels avec des attributs systme


Pour passer dans la configuration des messages, il faut d'abord que vous ayez valoris les
paramtres formels avec des attributs systme.
1. Vous avez ajout les attributs systme suivants pour les paramtres : S7_server et
S7_a_type.
2. Vous leur avez donn des valeurs convenant aux blocs de signalisation que vous avez
appels dans votre code de programme: pour s7_server, c'est toujours alarm_archiv,
pour s7_a_type, elle dpend du bloc de signalisation appel.

Programmer avec STEP 7 V5.1


A5E00069874-03

14-7

Configuration de messages

Attributs systme et blocs de signalisation correspondants


Les objets qui saffichent dans le gestionnaire de messages ne sont pas les blocs de
signalisation proprement parler, mais les valeurs correspondantes de l'attribut S7_a_type.
Ces valeurs portent le mme nom que les blocs de signalisation existant en tant que SFB ou
SFC (exception : alarm_s)
S7_a_type

Bloc de
signalisation

Dsignation

Proprits

alarm_8

ALARM_8

SFB 34

8 voies, acquittement possible, pas de variable


additionnelle

alarm_8p

ALARM_8P

SFB 35

8 voies, acquittement possible, jusqu' 10


variables additionnelles par voie

notify

NOTIFY

SFB 36

1 voie, pas d'acquittement, jusqu' 10 variables


additionnelles

alarm

ALARM

SFB 33

1 voie, acquittement possible, jusqu' 10


variables additionnelles

alarm_s

ALARM_S

SFC 18

1 voie, pas d'acquittement, jusqu' 1 variable


additionnelle

alarm_s

ALARM_SQ

SFC 17

1 voie, acquittement possible, jusqu' 1 variable


additionnelle

ar_send

AR_SEND

SFB 37

sert envoyer des donnes d'archives

De plus amples informations ce sujet sont donnes dans l'aide de rfrence sur les
attributs systme
Les attributs systme sont affects automatiquement lorsque les blocs de signalisation que
vous utilisez dans votre programme sont des SFB ou FB avec des attributs systme
correspondants et lorsque vous les appelez comme multi-instances.

14.2.4

Modle de message et messages


La configuration des messages vous permet de crer, par des oprations diffrentes, soit un
modle de message, soit des messages. Ceci dpend du bloc fonctions de signalisation
par lequel vous accdez la configuration des messages.

Ce bloc ayant des fonctions de signalisation peut tre un FB ou un DB d'instance.


Si c'est un FB, vous pouvez crer un modle de message pour les messages. Toutes les
entres que vous effectuez pour le modle de message seront automatiquement reprises
dans les messages. Si vous affectez au FB un DB d'instance, des messages seront
gnrs automatiquement sur ce modle pour le DB d'instance, et des numros de
message leur seront attribus.
Si c'est un DB d'instance, vous pouvez modifier, pour chaque instance, les messages
gnrs partir du modle de message.
La diffrence visible, c'est que des numros sont attribus aux messages mais pas au
modle de message.

14-8

Programmer avec STEP 7 V5.1


A5E00069874-03

Configuration de messages

Verrouillage des donnes dans le modle de message


La configuration des messages sert saisir des textes et des attributs pour des messages
dclenchs par vnement. Ce faisant, vous pouvez, par exemple, dfinir l'aspect des
messages sur certains visuels. Pour faciliter la cration des messages, il faut crer d'abord
des modles de message.
En saisissant les donnes (attributs et textes) pour le modle de message, vous pouvez
dcider de les verrouiller ou pas. Quand les attributs sont verrouills, un symbole de cl
figure ct de la zone de saisie. Les textes verrouills sont cochs dans la colonne
"Verrouill".
Dans le modle de message donnes verrouilles, vous ne pouvez plus modifier les
messages propres aux instances. Elles seront seulement affiches.
Si vous avez pourtant besoin de les modifier, vous devrez revenir au modle de message
pour y annuler le verrouillage et effectuer les modifications. Tourefois, ces modifications
ne s'appliquent pas aux instances qui ont t gnres avant la modification.

14.2.5

Cration de messages sur bloc

Marche suivre
Slectionnez le bloc de signalisation appropri.

Programmez un FB comme bloc apte la


signalisation.
Slectionnez le FB auquel vous voulez
affecter le message et ouvrez-le.
Compltez la table de dclaration des
variables du FB.
Programmez lappel du bloc de signalisation
dans la section dinstructions du FB.

Appelez lapplication de configuration des


messages (bote de dialogue standard ou
configuration de messages PCS7)
Crez, dans le FB, le modle de message avec
textes, attributs et visuel.

Affectez des DB dinstance au FB, puis


modifiez-les selon vos besoins.

Transfrez les donnes que vous avez


configures dans le systme de gestion de
donnes WinCC.

Programmer avec STEP 7 V5.1


A5E00069874-03

14-9

Configuration de messages

Programmation d'un bloc apte la signalisation (FB)


1. Dans SIMATIC Manager, slectionnez le bloc fonctionnel (FB) pour lequel vous
souhaitez crer un message et ouvrez-le par double clic.
Rsultat : le bloc slectionn s'ouvre et s'affiche dans la fentre CONT/LOG/LIST.
2. Compltez la table de dclaration des variables. Pour chaque bloc de signalisation
appel dans le FB, vous devez dclarer des variables dans le FB appelant.
Pour ce faire, entrez les variables suivantes dans la colonne Dclaration de la table de
dclaration des variables :
-

pour le type de dclaration in, un mnmonique pour l'entre du bloc de signalisation,


par exemple Mess01 (pour l'entre du message 01) ainsi que le type de donnes
correspondant (il doit s'agir de DWORD sans valeur initiale).

pour le type de dclaration stat, un mnmonique pour le bloc de signalisation


appeler, par exemple alarme ainsi que le type correspondant, en l'occurrence
SFB33.

3. Dans la section des instructions du FB, insrez l'appel du bloc de signalisation


slectionn, dans notre exemple CALL alarme, puis validez votre saisie par la touche
ENTREE.
Rsultat : les variables d'entre du bloc de signalisation appel, dans notre exemple le
SFB33, s'affichent dans la section des instructions du FB.
4. Affectez la variable EV_ID le mnmonique que vous aviez affect l'tape 2 l'entre
du bloc de signalisation, dans notre cas Mess01, et confirmez la reprise des attributs
systme pour la configuration des messages.
Rsultat : si la colonne Nom n'est pas slectionne, un drapeau y apparat. Le bloc
slectionn acquiert ainsi des fonctions de signalisation. Les attributs systme requis (par
exemple S7_server et S7_a_type) ainsi que les valeurs correspondantes sont affects
automatiquement.
5. Rptez les tapes 2 4 pour tous les appels de blocs de signalisation dans ce FB.
6. Enregistrez le bloc en choisissant la commande Fichier > Enregistrer.
7. Fermez la fentre CONT, LIST, LOG.

Appel de lapplication de configuration des messages


Dans SIMATIC Manager, choisissez la commande Edition > Proprits spcifiques de
l'objet > Signalisation.
Rsultat : la bote de dialogue de la configuration des messages de STEP 7 (bote de
dialogue par dfaut) s'ouvre. Pour savoir comment appelez la configuration des
messages PCS7, reportez-vous Configuration des messages PCS7.

14-10

Programmer avec STEP 7 V5.1


A5E00069874-03

Configuration de messages

Cration d'un modle de message


1. Slectionnez le bloc de signalisation voulu, puis saisissez les attributs et le texte
souhaits dans les pages d'onglet Attributs et Texte.
Si vous avez slectionn un bloc de signalisation plusieurs voies (par exemple
ALARM_8), vous pouvez affecter chaque sous-numro son propre texte. Les attributs
valent pour tous les sous-numros.
2. Affectez les visuels souhaits au modle de message en cliquant sur le bouton Nouveau
visuel, puis en slectionnant des visuels dans la bote de dialogue Insrer un visuel qui
apparat.
Saisissez galement, dans les pages d'onglet suivantes, les textes et attributs souhaits
pour les visuels. Quittez la bote de dialogue par OK.

Nota
Pour diter les textes et attributs propres au visuel, veuillez consulter la documentation
livre avec ce visuel.

Cration de DB d'instance
1. Aprs avoir cr un modle de message, vous pouvez lui affecter des blocs de donnes
d'instance (DB) et diter le message propre chaque instance.
Dans SIMATIC Manager, ouvrez cet effet le bloc qui doit appeler votre FB
pralablement configur, par exemple l'OB1, en cliquant deux fois dessus. Dans la
section des instructions ouverte de l'OB, entrez l'appel (CALL) suivi du nom et du
numro du FB appeler ainsi que du DB que vous voulez affecter au FB comme
instance. Confirmez votre saisie par la touche ENTREE.
Exemple : Entrez CALL FB1, DB1. Si le DB1 n'existe pas encore, confirmez par Oui
la demande de gnration du DB d'instance.
Rsultat : Le DB d'instance est cr. Les variables d'entre du FB correspondant, dans
notre cas Mess01 ainsi que le numro de message attribu par le systme, ici 1
s'affichent dans la section des instructions.
2. Enregistrez l'OB avec la commande Fichier > Enregistrer et fermez la fentre CONT,
LIST, LOG.

Edition de messages
1. Dans SIMATIC Manager, slectionnez le DB d'instance cr, par exemple le DB1 et
appelez la configuration des messages en choisissant la commande Edition >
Proprits spcifiques de l'objet > Signalisation....
Rsultat : la bote de dialogue Configuration des messages s'ouvre et le DB d'instance
slectionn s'affiche avec le numro de message attribu par le systme.
2. Effectuez les modifications souhaites pour le DB d'instance respectif dans les diverses
pages d'onglet et si vous le souhaitez, ajoutez d'autres visuels. Quittez la fonction par
OK.
Rsultat : la configuration des messages est ainsi termine pour le DB d'instance
slectionn.

Programmer avec STEP 7 V5.1


A5E00069874-03

14-11

Configuration de messages

Transfert des donnes de configuration


Transfrez les donnes configures dans la base de donnes de WinCC (avec la
fonction Transfert des donnes vers l'OS) ou dans celle de ProTool.

14.2.6

Configuration des messages PCS7


Vous avez dans l'option de configuration des messages PCS7 mise votre disposition par
STEP 7 la possibilit d'diter facilement vos modles de messages et messages devant
s'afficher sur les visuels WinCC et en mme temps de
simplifier la configuration des visuels (ils sont crs automatiquement),
simplifier la saisie d'attributs et de textes pour les messages,
garantir l'homognit des messages.

Appel de la configuration des messages PCS7


1. Dans SIMATIC Manager, slectionnez le bloc (FB ou DB) dont vous souhaitez diter les
textes de message et choisissez la commande Edition > Proprits de l'objet pour
ouvrir la bote de dialogue de saisie des attributs systme.
2. Entrez dans la table qui s'affiche l'un des attributs systme suivants :
-

Attribut : S7_alarm_ui et valeur : 1 pour des messages PCS 7 non dclenchs par
vnement (la valeur "0" dsactive la configuration de messages PCS 7). Les
paramtres des attributs peuvent tre attribus dans CONT/LOG/LIST. Les DB
ensuite gnrs et affects aux FB correspondants reoivent ces paramtres et
peuvent tre commuts indpendamment du type de message (FB) dans leurs
propres paramtres d'attributs.

Attribut : "S7_alarm" et valeur "alarm_16" (quand le bloc slectionn est un bloc de


communication command par vnement de type EDC)
Les paramtres d'attribut ne doivent pas tre attribus pour la communication
dclench par l'vnement. Les textes des messages des DB associs ce FB ne
peuvent pas tre dits dans SIMATIC Manager.

Nota
Une vrification syntaxique accompagne la saisie des attributs systme et les entres
errones sont marques en rouge.

3. Quittez la bote de dialogue par "OK".


4. Choisissez la commande Edition > Proprits spcifiques de l'objet > Signalisation.
Rsultat : La bote de dialogue de la configuration des messages PCS7 s'ouvre.

14-12

Programmer avec STEP 7 V5.1


A5E00069874-03

Configuration de messages

Edition de modles de message


1. Dans SIMATIC Manager, slectionnez le FB dont vous souhaitez diter les textes de
message et appelez la configuration des messages PCS7.
Rsultat : Dans la bote de dialogue, une page d'onglet s'affiche pour chaque bloc de
signalisation pour lequel vous avez dclar une variable dans le FB ou bien deux pages
d'onglet pour le bloc de communication command par vnement.
2. Compltez les zones de texte pour les lments constituants des messages "Origine",
"Secteur OS" et "Code Batch".
3. Pour tous les vnements des blocs de signalisation utiliss, indiquez la classe du
message ainsi que le texte de l'vnement et dfinissez si chaque vnement doit tre
acquitt individuellement .
4. Pour les lments constituants des messages valables pour toutes les instances et qui
ne doivent pas y tre modifis, cochez la case "Verrouill".

Edition de messages
1. Dans SIMATIC Manager, slectionnez le DB d'instance dont vous souhaitez diter les
textes de message et appelez la configuration des messages PCS7.
2. Modifiez les lments constituants de message qui sont spcifiques aux instances et ne
sont pas verrouills.
Nota
Les textes de message d'un DB d'instance associ un bloc de communication command
par vnement ne peuvent tre dits que dans CFC.

Programmer avec STEP 7 V5.1


A5E00069874-03

14-13

Configuration de messages

14.3
14.3.1

Affectation et dition de messages sur mnmonique


Affectation et dition de messages sur mnmonique
Les messages sur mnmonique (SCAN) sont directement affects un signal dans la table
des mnmoniques. Les signaux autoriss sont tous les oprandes boolens, savoir les
entres (E), les sorties (A) et les mmentos (M). Dans l'application de configuration des
messages vous pouvez leur affecter diffrents attributs, textes de message et jusqu' 10
variables additionnelles. La dfinition de filtres vous facilite le choix des signaux dans la
table des mnmoniques.
Un message sur mnmoniques vous permet de scruter un signal selon un intervalle de
temps donn afin de dtecter un ventuel changement d'tat.
Nota
L'intervalle de temps dpend de la CPU utilise.

Marche suivre

Crez la table des mnmoniques de votre


programme S7 dans lditeur de mnmoniques.

Slectionnez un mnmonique pour lequel vous


souhaitez crer un message.

Ouvrez la bote de dialogue pour la configuration


de message et crez un message.

Gnrez les blocs de donnes systme SDB.

Affectez un visuel au message.

Les signaux pour lesquels vous avez configur des messages sont scruts de manire
asynchrone lexcution de votre programme. La scrutation a lieu aux intervalles de temps
configurs. Les messages saffichent sur les visuels affects.

14-14

Programmer avec STEP 7 V5.1


A5E00069874-03

Configuration de messages

14.4
14.4.1

Cration et dition de messages de diagnostic personnaliss


Cration et dition de messages de diagnostic personnaliss
Cette fonction vous permet d'crire une entre utilisateur dans la mmoire de diagnostic et
d'mettre un message correspondant que vous crez dans l'application de configuration des
messages. C'est la fonction SFC52 (WR_USMSG) qui, utilise comme bloc de signalisation,
ralise ces messages de diagnostic personnaliss. Vous devez insrer l'appel de la SFC52
dans votre programme utilisateur et lui affecter l'ID d'vnement.
Contrairement aux messages sur bloc ou sur mnmonique, les messages de diagnostic
personnaliss ne peuvent s'afficher que sur une PG. C'est la raison pour laquelle vous ne
pouvez pas affecter de visuel ces messages dans l'application de configuration des
messages.

Conditions pralables
Pour pouvoir crer un message de diagnostic personnalis, vous devez avoir :
cr un projet dans SIMATIC Manager et
dans ce projet, cr le programme S7 auquel vous souhaitez affecter ce message.

Marche suivre
Pour crer et afficher un message de diagnostic personnalis, procdez de la manire
suivante :
Dans le gestionnaire de projets SIMATIC,
slectionnez le programme S7 souhait et
dmarrez lapplication de configuration des
messages.
Crez un nouveau message avec numro de
message, nom du message (identification) et
textes.
Entrez le message dans la mmoire tampon
de diagnostic de la CPU via appel de la
SFC 52.
Affichez les messages crs via "Messages
de CPU".

Programmer avec STEP 7 V5.1


A5E00069874-03

14-15

Configuration de messages

14.5
14.5.1

Traduction et dition de textes destins l'utilisateur


Traduction et dition de textes destins l'utilisateur
Les textes qui s'affichent sur les visuels durant le traitement du processus ont t saisis
habituellement dans la langue employe pour programmer la solution d'automatisation.
Il arrive pourtant frquemment que l'utilisateur devant ragir plus tard ces messages ne
connaisse pas cette langue. Il lui faudrait les textes dans sa langue maternelle. C'est la
condition pour garantir un traitement sr et une raction rapide aux messages affichs.
STEP 7 vous offre la possibilit de traduire les textes destins l'utilisateur dans toutes les
langues. Il suffit que vous ayez dj install la langue dans votre projet (commande Outils >
Langue de visuel dans SIMATIC Manager). Le nombre de langues proposes est
dtermin lors de l'installation de Windows (proprit du systme).
Ceci vous donne l'assurance que tous ceux qui seront confronts l'avenir aux messages
affichs pourront les obtenir dans la langue qui leur convient. La sret du processus s'en
trouvera considrablement amliore.
Parmi les textes destins l'utilisateur, on distingue les textes personnaliss et les
bibliothques de textes.

14.5.2

Traduction et dition de textes personnaliss


Vous pouvez crer des textes personnaliss pour un projet complet, pour des programmes
S7, pour le dossier Blocs ou pour des blocs individuels ainsi que pour la table des
mnmoniques, dans la mesure o des messages sont configurs dans ces objets. Vous
pouvez tablir pour un mme projet plusieurs listes de textes personnaliss et les traduire
dans les langues dont vous avez besoin.
C'est vous qui choisissez les langues qui seront disponibles dans un projet (commande
Outils > Langue de visuel). Vous pouvez aussi ajouter ou supprimer des langues
ultrieurement.
Lorsque vous ouvrez les textes personnaliss d'un objet STEP 7 (commande Outils >
Traducteur > Textes personnaliss), un tableau s'affiche l'cran. Chaque colonne
reprsente une langue. La langue dfinie comme langue par dfaut s'affiche toujours dans la
premire colonne.

14-16

Programmer avec STEP 7 V5.1


A5E00069874-03

Configuration de messages

Marche suivre
Vrifiez d'abord que vous avez bien choisi, avec la commande Outils > Langue de visuel
de SIMATIC Manager, les langues dans lesquelles vous souhaitez traduire les textes
personnaliss.

Slectionnez l'objet dont vous souhaitez


traduire les textes.

Choisissez la commande
Outils > Traducteur > Textes personnaliss.

Traduisez les textes.

Enregistrez vos traductions avec la commande


Textes > Enregistrer.

Exportation et importation de textes personnaliss


Vous pouvez traduire ou diter en dehors de STEP 7 des textes personnaliss crs dans
STEP 7. Pour ce faire, exportez la liste de textes affiche dans des fichiers de texte en
format CSV que vous diterez dans un diteur ASCII ou dans un tableur, comme
l'application Microsoft EXCEL par exemple. Aprs quoi, rimportez les textes dans STEP 7.
Les textes personnaliss ne peuvent tre imports que dans la partie de projet d'o ils ont
t exports.

14.5.3

Traduction de bibliothques de textes


Une bibliothque de textes vous offre une liste de textes pouvant tre incorpors dans des
messages, actualiss dynamiquement durant l'excution du processus et affichs sur la PG
ou sur d'autres visuels. Elle est toujours affecte une CPU. Les textes contenus dans les
bibliothques de textes systme sont fournis par STEP 7 ou par des logiciels optionnels de
STEP 7. A une mme CPU peuvent tre affectes plusieurs bibliothques que vous
traduirez dans les langues dont vous avez besoin.
C'est vous qui choisissez les langues qui seront disponibles dans un projet (commande
Outils > Langue de visuel). Vous pouvez aussi ajouter ou supprimer des langues
ultrieurement.
Lorsque vous ouvrez une bibliothque de textes (commande Outils > Traducteur >
Bibliothque de textes systme), un tableau s'affiche l'cran. Chaque colonne
reprsente une langue. La premire colonne affiche toujours le code identifiant le texte
respectif.

Programmer avec STEP 7 V5.1


A5E00069874-03

14-17

Configuration de messages

Exemple
Code

Allemand

Franais

1732

ausgefallen

ne rpond pas

1733

gestrt

dfaillant

1734

Parametrierfehler erreur de
paramtrage

Procd
Vrifiez d'abord que vous avez bien choisi, avec la commande Outils > Langue de visuel
de SIMATIC Manager, les langues dans lesquelles vous souhaitez traduire la bibliothque
de textes.

Slectionnez la CPU dont vous souhaitez


traduire la bibliothque de textes.

Choisissez la commande Outils >


Traducteur > Bibliothque de textes systme
et slectionnez la bibliothque que vous
souhaitez traduire.

Traduisez les textes.

Enregistrez vos traductions avec la commande


Textes > Enregistrer.

14-18

Programmer avec STEP 7 V5.1


A5E00069874-03

Configuration de messages

14.6

14.6.1

Transfert des donnes de configuration dans le systme


cible
Transfert des donnes de configuration dans le systme cible

Introduction
Lapplication Transfert des donnes vers l'OS vous permet de transfrer les donnes de
configuration que vous avez cres pour le contrle-commande dans le stock de donnes
de WinCC.
Vous avez le choix entre plusieurs options de transfert. Ainsi, vous pouvez par exemple
effectuer une comparaison d'adresses et de texte pour vous assurer que les donnes
transfres sont bien jour.

Conditions pralables
Pour pouvoir commencer le transfert, il faut que les conditions suivantes soient remplies :
vous avez excut le programme d'installation du Transfert des donnes vers l'OS,
vous avez cr les donnes de configuration pour la cration de messages.

Marche suivre
Crez
Dans le gestionnaire de projets SIMATIC, crez
des objets OS sur lesquels vous souhaitez
afficher des messages.

Dmarrez le transfert des donnes de


configuration laide de la commande Outils >
Transfert des donnes vers l'OS.

Programmer avec STEP 7 V5.1


A5E00069874-03

14-19

Configuration de messages

14.7

14.7.1

Affichage des messages de CPU et des messages de


diagnostic personnaliss
Affichage des messages de CPU et des messages de diagnostic
personnaliss
La fonction "Messages de CPU" permet de visualiser des messages asynchrones
d'vnements de diagnostic, des messages de diagnostic personnaliss et (ou) des
messages ALARM_S/SQ.
En outre, vous pouvez dmarrer la configuration des messages et crer des messages de
diagnostic personnaliss depuis l'application "Messages de CPU", grce la commande
Outils > Configurer messages. Pour cela, il est cependant indispensable que vous ayez
dmarr l'application "Messages de CPU" via un projet en ligne.

Possibilits d'affichage
La fonction "Messages de CPU" vous permet de dcider si et comment des messages
seront affichs pour des CPU slectionnes.
"Au premier plan" : la fentre avec les messages de CPU apparat au premier plan. Elle
revient au premier plan chaque rception d'un nouveau message.
"A l'arrire-plan" : la rception des messages de CPU se droule larrire-plan. La
fentre reste l'arrire-plan la rception de nouveaux messages, mais peut tre
amene au premier plan si besoin est.
"Ignorer le message : les messages de CPU ne sont pas affichs et, contrairement
aux deux cas prcdents, ne sont pas non plus archivs.
La fentre "Messages de CPU" permet de feuilleter les messages contenus dans le fichier
d'archives. La figure ci-aprs en prsente quelques exemples.
Programm:
Messages de schutz402\416neu414alt\CPU414-1
CPU
Fichier Edition
Systme cible Affichage Outils
?

ID d'vnement :
16# 4303
Date :
27.08.98
Heure :
10:45:49:714
Programme :
schutz402\416neu414alt\CPU414-1
STOP par pression sur le bouton Stop
Etat de fonctionnement actuel : RUN
Etat de fonctionnement demand : STOP (interne)
................................................................ ...........
Numro de message :
7
Message d'interruption Commentaire
Date:
27.08.98
Heure:
10:45:56:637
Programme :
schutz402\416neu414alt\CPU414-1
Texte dfinir librement pour un message d'Alarm_SQ de numro 7
...........................................................................
ID d'vnement :
16# A102
Date :
27.08.98
Heure :
10:46:01:671
Programm:
schutz402\416neu414alt\CPU414-1
Message de diagnostic propre l'utilisateur de la classe "A", Nr.=2, Commentaire
...........................................................................
ID d'vnement :
16# A002
Date :
27.08.98
Heure :
10:46:02:711
Programm:
schutz402\416neu414alt\CPU414-1
Message de diagnostic propre l'utilisateur de la classe "A", Nr.=2, Sortant
...........................................................................
Numro de message : 4
Message d'tat
commentaire
Date :
27.08.98
Heure :
10:46:04:914
Programme :
schutz402\416neu414alt\CPU414-1
Texte dfinir librement pour un message d' Alarm_S de numro 4
Prt

NUM

Les messages acquittables (ALARM_SQ) sont reprsents en gras et peuvent tre acquitts
par la commande Edition > Acquitter le message de CPU.

14-20

Programmer avec STEP 7 V5.1


A5E00069874-03

Configuration de messages

Fonction darchivage
Pour larchivage des messages, vous disposez dun fichier darchives dans lequel il est
possible de ranger entre 40 et 2000 messages de CPU. Quand la taille fixe pour le fichier
d'archives se trouve dpasse, c'est le message le plus ancien qui est effac chaque fois.

Actualisation des messages ALARM_S/SQ


Lors de l'actualisation des messages ALARM_S/SQ, tous les messages encore prsents
et/ou non acquitts sont une nouvelle fois inscrits dans l'archive. Les messages sont
actualiss :
au redmarrage du module auquel se rapportent les messages (pas au dmarrage),
lors de la configuration des messages de CPU si vous cliquez sur la zone "A" signifiant
ALARM_S/SQ.

Marche suivre
Pour configurer des messages de CPU pour des modules slectionns :
Dans le gestionnaire de projets SIMATIC,
slectionnez le programme S7 et choisissez la
commande Systme cible > Messages de CPU.

Dterminez les messages recevoir ainsi que


leur mode daffichage.

Programmer avec STEP 7 V5.1


A5E00069874-03

14-21

Configuration de messages

14.7.2

Configuration des messages de CPU


Pour configurer des messages de CPU pour des modules slectionns, procdez de la
manire suivante :
1. Dans SIMATIC Manager, dmarrez l'application "Messages de CPU" partir d'un projet
en ligne. Pour ce faire, slectionnez un programme S7 en ligne et appelez l'application
pour la CPU choisie l'aide de la commande Systme cible > Messages de CPU.
Rsultat : la fentre de l'application "Messages de CPU apparat avec la liste des CPU
dclares.
2. Au besoin, dclarez d'autres CPU en rptant l'tape 1 pour d'autres programmes ou
interfaces.
3. Cochez les cases places devant les entres de la liste et dterminez quels messages
doivent tre reus pour le module.
A : active ALARM_SQ (SFC17) et ALARM_S (SFC18), par ex. messages de diagnostic
du processus provenant de S7-PDIAG, S7-GRAPH ou "Signalisation d'erreurs systme".
W : active les vnements de diagnostic.
4. Dfinissez la taille du fichier d'archives.
Rsultat : ds que les messages en question se prsenteront, ils seront crits dans les
archives de messages sous la forme que vous avez dfinie, et affichs.
Nota
La liste des modules dclars dans la fentre de l'application "Messages de CPU" numre
les CPU pour lesquelles vous avez appel la commande Systme cible > Messages de
CPU. Les entres restent dans la liste jusqu' ce que vous les effaciez.

14.7.3

Affichage des messages de CPU enregistrs


Les messages de CPU sont toujours enregistrs dans le fichier darchives, moins que vous
nayez activ la commande Affichage > Ignorer message. L'affichage montre toujours tous
les messages archivs.

14-22

Programmer avec STEP 7 V5.1


A5E00069874-03

Configuration de messages

14.8
14.8.1

Configuration de la signalisation d'erreurs systme


Configuration de la signalisation d'erreurs systme

Introduction
Les composants SIMATIC S7 et les esclaves DP norms peuvent dclencher des appels de
blocs d'organisation l'apparition d'une erreur systme.
Exemple : en cas de rupture de fil, un module capable de diagnostic peut dclencher une
alarme de diagnostic (OB82).
Les composants SIMATIC S7 fournissent des informations sur l'erreur systme survenue.
Les informations d'vnement dclencheur, c'est--dire les donnes locales de l'OB associ
(contenant entre autres l'enregistrement 0) donnent des renseignements d'ordre gnral sur
le lieu de l'erreur (par ex. adresse logique du module) et sur son type (par ex. erreur de voie
ou dfaillance de sauvegarde).
De plus, des informations de diagnostic complmentaires (lecture de l'enregistrement 1 avec
SFC51 ou du tlgramme de diagnostic d'esclaves DP norms avec SFC13) donnent plus
de dtail sur l'erreur : par ex. voie 0 ou 1, rupture de fil ou dpassement de plage de mesure.
La fonction "Signalisation d'erreurs systme" de STEP 7 offre un moyen convivial d'afficher
sous forme de messages les informations de diagnostic fournies par la composante.
Les blocs et les textes de message ncessaires cet effet sont gnrs automatiquement
par STEP 7. L'utilisateur n'a plus qu' charger les blocs gnrs dans la CPU et transfrer
les textes dans les appareils HMI (interface homme-machine) connects.
Un tableau prcis des informations de diagnostic prises en charge selon les diffrents
esclaves se trouve la rubrique Composants prises en charge et fonctionnalits.

Programmer avec STEP 7 V5.1


A5E00069874-03

14-23

Configuration de messages

Marche suivre de principe

Configurez la station et paramtrez les modules


(validation des alarmes de diagnostic).

Valorisez les paramtres pour la signalisation des


erreurs systme et configurez les messages.

Dmarrez la gnration des blocs.

Vrifiez et compltez les blocs gnrs.

Transfrez les donnes de configuration pour les


messages gnrs dans les appareils HMI
concerns qui doivent mettre des messages
signalant les erreurs systme.

Chargez les blocs gnrs dans la CPU.

Les messages sont envoys par le chemin de signalisation standard ALARM_S/SQ la


fonction "Messages de CPU" sur la PG ou aux appareils HMI connects.

14.8.2

Composants pris en charge et fonctionnalits


Les composants des stations S7-300, des stations S7-400 et des esclaves DP sont pris en
charge par la "Signalisation d'erreurs systme" supportant les alarmes de diagnostic, de
dbrochage/enfichage et le diagnostic spcifique chaque voie.
Les composants suivants ne sont pas pris en charge par la "Signalisation d'erreurs
systme" :
les configurations M7, C7 et PROFIBUS DP utilisant coupleurs de matre DP
(CP 342-5 DP) dans les stations S7-300,
les systmes H,
les stations SIMATIC PC (Soft PLC, Slot PLC).
En cas de redmarrage, il faut savoir que certains messages d'alarme peuvent manquer. En
effet, la mmoire d'acquittement des messages n'est pas efface dans la CPU au
redmarrage, mais la "Signalisation d'erreurs systme" remet les donnes internes zro.

14-24

Programmer avec STEP 7 V5.1


A5E00069874-03

Configuration de messages

Les deux tableaux ci-aprs indiquent tous les blocs de diagnostic de diffrents esclaves pris
en charge par la "Signalisation d'erreurs systme".
Bloc de
diagnostic

Identificateur
(emplacement
denfichage
erron)

Voie
(voie errone)1)

Etat du module
(erreur de
module, module
incorrect/
manquant)

Fabricant

Appareil
(uniquement
pour
l'ET 200 B)

En-tte 2)

0x01

0x10

0x00
type 0x82

0x00
type > 0x9F

0x00 +
1 octet info
diagnostic

ET 200 S

Message :
"Prsence d'un
diagnostic"

Message en
clair

Message en
clair

Message en
clair tir du
3)
fichier GSD

ET 200 M
comme
esclave S7

N'est pas valu N'est pas


valu

N'est pas
valu

ET 200 M
comme
esclave norm

Message :
"Prsence d'un
diagnostic"

Message en
clair

Message en
clair

ET 200 X

Message :
"Prsence d'un
diagnostic"

ET 200 X
DESINA

Message :
"Prsence d'un
diagnostic"

Message en
clair

Message en
clair

ET 200 L

Message :
"Prsence d'un
diagnostic"

ET 200 B TOR Message :


"Prsence d'un
diagnostic"

Message :
"Module
dfectueux"

ET 200 B
analogique

Message :
"Prsence d'un
diagnostic"

4)

1) Messages standard selon DPV0, pour les esclaves norms galement tir du fichier GSD.
2) En-tte : identification de diffrents lments de diagnostic dans le tlgramme de diagnostic.
3) Fichier GSD : description d'un esclave norm DPV0 ou DPV1 sous forme de fichier.
4) "-" signifie que ce composant ne fournit pas l'information.

Programmer avec STEP 7 V5.1


A5E00069874-03

14-25

Configuration de messages

Bloc de diagnostic
En-tte 2)

Enregistrement 0/1 1)

Etat H (systmes H pas


encore pris en charge)

Autres caractristiques

0x00
type 0x01

0x00
type = 0x9E ou
type = 0x9F

ET 200 S

Message en clair

ET 200 M
comme esclave S7

Message en clair

N'est pas valu

N'est pas valu

ET 200 M
Message en clair
comme esclave norm

N'est pas encore valu

N'est pas valu

ET 200 X

Message : "Module
dfectueux"

N'est pas valu

ET 200 X DESINA

Message en clair

N'est pas valu

ET 200 L

Message : "Module
dfectueux"

ET 200 B TOR

ET 200 B analogique

Message en clair

N'est pas valu

3)

0x00
autre type
N'est pas valu

1) DS0 : Diagnostic standard, p. ex. dfaillance du module, tension d'alimentation externe ou connecteur frontal
manquants.
Taille 4 octets contenus dans les donnes locales de l'OB 82.
DS1 : erreur de voie, dfinie diffremment pour chaque type de voie, lisible dans le programme utilisateur via la
SFC 51.
Les textes sont issus du diagnostic matriel S7.
2) En-tte : identification de diffrents lments de diagnostic dans le tlgramme de diagnostic.
3) "-" signifie que la composante ne fourni pas l'information.

Le tlgramme de diagnostic (galement appel tlgramme esclave norm) comporte les


blocs de diagnostic prcdents. Vous pouvez le lire dans le programme utilisateur avec la
SFC 13.
Dans STEP 7, le tlgramme de diagnostic s'affiche sous "Reprsentation hexadcimale",
dans la page d'onglet "Diagnostic de l'esclave DP" de la fentre en ligne "HW Config"
(diagnostic du matriel) lorsque vous appelez l'tat du module.

14-26

Programmer avec STEP 7 V5.1


A5E00069874-03

Configuration de messages

14.8.3

Paramtrage de la signalisation d'erreurs systme


Il y a plusieurs faons d'appeler la bote de dialogue des paramtres :
Slectionnez dans HW Config la CPU pour laquelle vous voulez configurer la
signalisation d'erreurs systme. Choisissez ensuite la commande Outils > Signalisation
d'erreurs systme.
Si vous avez dj gnr des blocs pour la signalisation d'erreurs systme, il vous suffira
de cliquer deux fois sur un bloc gnr (FB, DB).
Dans la bote de dialogue des proprits de la station, activez l'option qui en dtermine
l'appel automatique lorsque vous enregistrez et compilez la configuration.
Pour obtenir cette option d'appel automatique, procdez comme suit :
1. Slectionnez la station concerne dans SIMATIC Manager.
2. Choisissez la commande Edition > Proprits de l'objet.
3. Slectionnez l'onglet "Paramtres".

Dans la bote de dialogue des paramtres, vous indiquez entre autres :


quel FB et quel DB d'instance associ il faut gnrer ;
le comportement de la CPU en cas d'erreur : passage l'arrt ou non aprs la
signalisation d'une erreur systme ;
la gnration d'OB d'erreur : si le programme S7 doit gnrer ou pas les OB d'erreur
n'existant pas encore ;
si les messages seront acquittables ;
s'il faut gnrer des donnes de rfrence ;
s'il faut toujours afficher les avertissements durant la gnration de la signalisation
d'erreurs systme ;
si la bote de dialogue doit s'afficher lorsque la signalisation d'erreurs systme est
appele automatiquement aprs enregistrement et compilation de la configuration (voir
ci-dessus) ;
l'aspect des messages (composition et ordre des parties de texte possibles).
Vous trouverez des informations plus dtailles dans l'aide de la bote de dialogue appele.

14.8.4

Gnration de blocs pour la signalisation d'erreurs systme


Pour gnrer les blocs requis (FB et DB, et OB n'existant pas encore si telle est l'option
choisie), procdez comme suit :
cliquez dans la bote de dialogue "Signalisation d'erreurs systme" sur le bouton
"Gnrer".
Les blocs suivants sont crs :
des OB d'erreur (si la case "Gnration des OB d'erreur" est coche),
un FB de diagnostic (par dfaut FB49),
un DB d'instance pour le FB de diagnostic (par dfaut DB49),
un FB utilisateur optionnel qui est appel par le FB de diagnostic.

Programmer avec STEP 7 V5.1


A5E00069874-03

14-27

Configuration de messages

14.8.5

OB d'erreur gnrs
Si vous avez coch la case "Gnration des OB d'erreur" dans la page d'onglet "Gnral" de
la bote de dialogue "Signalisation erreurs systme", les OB d'erreur suivants sont gnrs :
OB81 (erreur d'alimentation) avec appel du FB de diagnostic gnr.
OB82 (alarme de diagnostic, seulement quand des modules ou des esclaves DP ont t
configurs) avec appel du FB de diagnostic gnr.
OB83 (alarme de dbrochage/enfichage) avec appel du FB de diagnostic gnr.
OB84 (erreur matrielle CPU)
Cet OB est gnr sans contenu afin que la CPU ne passe pas en STOP en cas d'erreur
de communication (par ex. en cas de problme avec la rsistance terminale MPI quand
le cble MPI est dbroch et enfich). Les erreurs ne sont pas values, aucun message
n'est gnr.
OB85 (erreur d'excution du programme)
L'arrt de la CPU est empch seulement en cas d'erreur dans la mise jour de la
mmoire image (par ex. dbrochage du module), afin que le FB de diagnostic puisse tre
excut dans l'OB83. Une ventuelle option "Arrt de la CPU aprs la signalisation d'une
erreur systme" entre en vigueur dans l'OB83.
Pour tous les autres vnements d'erreur d'OB85, la CPU passe en STOP.
OB86 (dfaillance d'un profil support/chssis, d'un rseau matre DP ou d'un appareil de
priphrie dcentralise) avec appel du FB de diagnostic gnr.
Cet OB est gnr seulement si l'un des composants cits a t configur.

Lorsque les OB d'erreur existent dj...


Les OB d'erreur existants ne sont pas crass. Dans ce cas, vous devez insrer vous-mme
l'appel du FB gnr dans l'OB concern.

Lorsque la configuration comporte des appareils DP...


Pour l'valuation des erreurs dans la priphrie dcentralise, le FB gnr appelle
automatiquement la SFC13 (lecture des donnes de diagnostic des esclaves DP). Pour
assurer cette fonction, il faut que le FB gnr soit appel soit seulement dans l'OB1, soit
dans un OB d'alarme cyclique rythme court et dans les OB de mise en route.

ATTENTION
Notez bien que :
L'OB85 gnr par "Signalisation d'erreurs systme" ne provoque plus d'arrt de la CPU
pour l'vnement "Erreur lors de l'actualisation de la mmoire image".
L'OB 85 est appel en plus par la CPU pour les erreurs suivantes :
-

"OB non charg",

"Erreur l'appel d'un bloc non charg ou l'accs un tel bloc".

Dans ces cas-l, un arrt de la CPU avec l'OB85 gnr par "Signalisation d'erreurs
systme" a toujours lieu, comme avant l'utilisation de la signalisation d'erreurs systme.
L'option "CPU passe l'arrt aprs excution du FB de diagnostic" n'a pas deffet pour
OB84 et OB85, car le FB de "Signalisation d'erreurs systme" n'est pas appel dans ces
OB. Dans le cas de l'OB85, cette option est prise en compte indirectement par l'appel du
FB dans l'OB83.

14-28

Programmer avec STEP 7 V5.1


A5E00069874-03

Configuration de messages

14.8.6

FB, DB gnrs
Le FB gnr value les donnes locales de l'OB d'erreur, lit ventuellement les
informations de diagnostic complmentaires de la composante SIMATIC S7 qui a provoqu
l'erreur, puis gnre automatiquement le message appropri.
Il a les attributs suivants :
langage de cration SFM ("Signalisation d'erreurs systme", s'applique galement au DB
d'instance gnr),
protection Know-How (s'applique galement au DB d'instance gnr),
il retarde durant l'excution les alarmes apparaissantes,
il appelle sur double clic la bote de dialogue servant paramtrer la fonction
"Signalisation d'erreurs systme" (s'applique galement au DB d'instance gnr).

Bloc utilisateur
Le FB de diagnostic ayant la protection Know-how, vous ne pouvez pas l'diter. Il met
cependant disposition une interface pour le programme utilisateur, de sorte que vous avez
accs l'tat d'erreur, par exemple, ou au numro de message.
Le bloc qui sert l'valuation dans le programme utilisateur (paramtrable dans la page
d'onglet "Bloc utilisateur" de la bote de dialogue) est appel dans le FB gnr avec les
paramtres suivants :
EV_C : BOOL ;

//Message apparaissant (TRUE) ou disparaissant (FALSE)

EV_ID : DWORD ;

//Numro de message gnr

IO_Flag: BYTE ;

//Module d'entres : B#16#54, Module de sorties : B#16#55

logAdr : WORD ;

//Adresse logique

TextlistId : WORD ;

//ID de la liste de textes (par dfaut = 1)

ErrorNo : WORD ;

//Numro d'erreur gnr

Channel_Error : BOOL ;

//Erreur de voie (TRUE)

ChannelNo : WORD ;

//Numro de voie

Si le FB utilisateur n'existe pas encore, il est cr par SFM avec les paramtres prcdents.

Programmer avec STEP 7 V5.1


A5E00069874-03

14-29

Configuration de messages

14-30

Programmer avec STEP 7 V5.1


A5E00069874-03

15 Contrle-commande de variables

15.1

Configuration de variables pour le contrle-commande

Gnralits
Avec WinCC, STEP 7 vous offre un moyen ais d'effectuer le contrle-commande des
grandeurs variables de votre processus ou automate programmable.
L'avantage par rapport aux anciennes mthodes rside dans le fait que vous n'avez plus
raliser la configuration des donnes individuellement pour chaque station de
contrle-commande (OS), mais une seule fois dans STEP 7. Vous pouvez transmettre les
donnes configures dans STEP 7 la base de donnes de WinCC en utilisant l'application
"Transfert des donnes vers l'OS" (qui fait partie du progiciel "Process Control System
PCS7"), la cohrence et la compatibilit des donnes avec le visuel tant vrifie. WinCC
utilise les donnes sous forme de blocs d'image et d'objets graphiques.
Vous pouvez configurer ou modifier les attributs de contrle-commande suivants dans
STEP 7 :
paramtres d'entre, de sortie et d'entre/sortie de blocs fonctionnels,
mmentos et signaux d'entre/sortie,
paramtres de blocs CFC dans des diagrammes CFC.

Marche suivre
La marche suivre pour configurer des variables contrler et commander dpend du
langage de programmation ou de configuration choisis ainsi que du type des variables
contrler et commander. Mais les tapes suivantes sont toujours ncessaires :
1. Affectez des attributs systme pour le contrle-commande aux paramtres d'un bloc
fonctionnel ou aux mnmoniques dans une table des mnmoniques.
Cette tape s'avre inutile dans CFC, car vous prenez des blocs dj configurs dans
une bibliothque.
2. Dans une fentre d'dition, affectez aux variables contrler et commander les
attributs de contrle-commande requis (S7_m_c). La bote de dialogue "Contrlecommande" (commande Edition > Proprits spcifiques de l'objet > Contrlecommande) vous permet de modifier des attributs WinCC tels que valeurs limite, valeurs
de remplacement, caractristiques du journal, etc.
3. Avec "Transfert des donnes vers l'OS", transfrez dans votre visuel (WinCC) les
donnes de configuration cres dans STEP 7.

Programmer avec STEP 7 V5.1


A5E00069874-03

15-1

Contrle-commande de variables

Convention pour lattribution de noms


Afin de pouvoir tre sauvegardes et transfres, les donnes de configuration pour WinCC
sont enregistres sous un nom univoque attribu automatiquement par STEP 7. Ce nom est
form partir des noms des variables contrler et commander, des noms des
diagrammes CFC et de ceux des programmes S7 qui doivent de ce fait adopter des
conventions particulires :
Les noms des programmes S7 doivent tre univoques au sein d'un projet S7 (diverses
stations ne doivent pas contenir des programmes S7 de mme nom).
Les noms des variables, programmes S7 et diagrammes CFC ne doivent comporter ni
caractre de soulignement, ni caractre d'espacement ou l'un des caractres spciaux
suivant : [ ' ] [ . ] [ % ] [ - ] [ / ] [ * ] [ + ].

15-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Contrle-commande de variables

15.2

Configuration d'attributs de contrle-commande avec LIST,


CONT, LOG

15.2.1

Configuration d'attributs de contrle-commande avec LIST, CONT,


LOG

Introduction
Le procd que nous allons dcrire ci-aprs va vous permettre de prparer des paramtres
de blocs fonctionnels au contrle-commande et d'affecter les attributs de
contrle-commande requis aux DB d'instance ou blocs de donnes globaux correspondants
dans votre programme utilisateur.

Condition pralable
Vous avez cr un projet STEP 7, un programme S7 ainsi qu'un bloc fonctionnel (FB).

Marche suivre
Affectez lattribut systme S7_m_c zu tous les
paramtres de blocs fonctionnels que vous
souhaitez contrler ou commander.

Affectez des attributs WinCC aux instances des


FB ou des blocs de donnes globaux.

Programmer avec STEP 7 V5.1


A5E00069874-03

15-3

Contrle-commande de variables

15.3

15.3.1

Configuration des attributs de contrle-commande au moyen


de la table des mnmoniques
Configuration des attributs de contrle-commande au moyen de la
table des mnmoniques

Introduction
Quel que soit le langage de programmation utilis, le procd que nous allons dcrire
ci-aprs vous permet de configurer les variables suivantes :
mmentos
signaux d'E/S

Conditions pralables
Avant que vous ne commenciez, les conditions suivantes doivent tre satisfaites :
vous avez cr un projet dans SIMATIC Manager,
ce projet contient un programme S7 avec une table des mnmoniques,
la table des mnmoniques est ouverte.

Marche suivre
Affectez la proprit dobjet spciale
Contrle-commande aux mnmoniques.

Affectez des attributs WinCC aux mnmoniques.

15-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Contrle-commande de variables

15.4
15.4.1

Modification des attributs de contrle-commande avec CFC


Modification des attributs de contrle-commande avec CFC

Introduction
CFC vous permet de crer votre programme utilisateur en slectionnant des blocs dj
prpars pour le contrle-commande dans une bibliothque, puis en les disposant et les
reliant dans un diagramme.

Condition pralable
Vous avez insr un programme S7 dans un projet STEP 7 et cr un diagramme CFC dans
lesquel vous avez dispos des blocs.

Marche suivre
Editez les proprits des blocs.

Nota
Si vous utilisez des blocs que vous avez crs vous-mme et auxquels vous avez affect
l'attribut systme S7_m_c dans leur langage de cration, vous pouvez les prparer au
contrle-commande en activant la case d'option "Contrle-commande" dans la bote de
dialogue "Contrle-commande" (commande Edition > Proprits spcifiques de l'objet >
Contrle-commande).

Programmer avec STEP 7 V5.1


A5E00069874-03

15-5

Contrle-commande de variables

15.5

15.5.1

Transfert des donnes de configuration dans le systme


cible de contrle-commande
Transfert des donnes de configuration dans le systme cible de
contrle-commande

Introduction
L'application "Transfert des donnes vers l'OS" vous permet de transfrer les donnes de
configuration cres pour le contrle-commande dans la base de donnes de WinCC.
Vous avez le choix entre plusieurs options de transfert. Ainsi, vous pouvez par exemple
effectuer une comparaison d'adresses et de texte pour vous assurer que les attributs WinCC
transfrs sont bien jour.

Condition pralable
Pour pouvoir commencer le transfert, il faut que les conditions suivantes soient satisfaites :
vous avez excut le programme d'installation de "Transfert des donnes vers l'OS",
vous avez cr les donnes de configuration pour le contrle-commande.

Marche suivre
Pour transfrer les donnes de configuration pour le contrle-commande dans la base de
donnes de WinCC, procdez de la manire suivante :
Crez des objets OS dans le gestionnaire de
projets SIMATIC.

Slectionnez les options de transfert.

Transfrez les donnes.

Si ncessaire, affichez le journal du transfert.

15-6

Programmer avec STEP 7 V5.1


A5E00069874-03

16 Etablissement dune liaison en ligne et choix de


la CPU

16.1
16.1.1

Etablissement de liaisons en ligne


Etablissement de liaisons en ligne
Une liaison en ligne est requise entre l'outil de dveloppement et le systme cible pour le
chargement de programmes utilisateurs S7 et de blocs, le chargement de blocs depuis le
systme cible S7 dans l'outil de dveloppement ainsi que pour les tches suivantes :
-

Test de programmes utilisateur

Affichage et modification de l'tat de fonctionnement de la CPU

Affichage et rglage de l'heure et de la date de la CPU

Affichage de l'tat du module

Comparaison en ligne/hors ligne de blocs

Diagnostic du matriel

Pour qu'une liaison en ligne puisse tre tablie, l'outil de dveloppement et le systme cible
doivent tre relis entre-eux par l'intermdiaire d'une interface approprie (par exemple une
interface multipoint (MPI)). Vous pouvez ensuite accder au systme cible depuis la fentre
en ligne du projet ou depuis la fentre "Partenaires accessibles".

16.1.2

Etablissement d'une liaison en ligne depuis la fentre "Partenaires


accessibles"
Ce mode d'accs permet une maintenance rapide. Vous pouvez accder tous les modules
programmables du rseau. Choisissez cette mthode en cas d'absence de donnes de
projet relatives au systme cible sur votre PG.
Vous ouvrez la fentre "Partenaires accessibles" en choisissant la commande Systme
cible > Afficher les partenaires accessibles. Lobjet "Partenaires accessibles" affiche tous
les modules programmables accessibles dans le rseau avec leur adresse.
Mme les partenaires que vous ne pouvez pas programmer avec STEP 7 sont affichs (par
exemple les consoles de programmation ou les pupitres oprateur).

Programmer avec STEP 7 V5.1


A5E00069874-03

16-1

Etablissement dune liaison en ligne et choix de la CPU

16.1.3

Etablissement d'une liaison en ligne depuis la fentre en ligne du


projet
Choisissez cette mthode si vous avez configur le systme cible dans un projet sur votre
PG/PC. Vous ouvrez la fentre en ligne en choisissant la commande Affichage > En ligne
dans SIMATIC Manager. Elle affiche les donnes de projet sur le systme cible
(contrairement la fentre hors ligne qui affiche les donnes de projet sur votre PG/PC). La
fentre en ligne affiche les donnes qui se trouvent sur le systme cible, aussi bien pour le
programme S7, que pour le programme M7.
Vous utilisez la vue du projet en ligne pour accder au systme cible. Ainsi, vous pouvez
appeler certaines commandes du menu "Systme cible" de SIMATIC Manager dans la
fentre en ligne, mais pas dans la fentre hors ligne.
On distingue :
Accs lorsque le matriel est configur
Dans ce mode d'accs, vous ne pouvez accder qu'aux modules configurs hors ligne.
Les modules en ligne auxquels vous pouvez accder sont dtermins par l'adresse MPI
dfinie lors de la configuration des modules programmables.
Accs lorsque le matriel n'est pas configur
Dans ce mode d'accs, la prsence d'un programme S7 ou d'un programme M7 crs
indpendamment du matriel (c'est--dire se trouvant directement sous le projet) est
imprative. Vous dterminez les modules en ligne auxquels vous pouvez accder en
indiquant leur adresse MPI respective dans les proprits de l'objet du programme
S7/M7.
L'accs depuis la fentre en ligne combine les donnes sur le systme cible avec les
donnes correspondantes sur l'outil de dveloppement. Si vous ouvrez par exemple un bloc
S7 dans un projet en ligne, l'affichage se composera :
du code du bloc dans la CPU du systme cible S7 et
des commentaires et des mnmoniques qui font partie des donnes dans l'outil de
dveloppement (s'ils existent hors ligne). Si vous ouvrez des blocs directement dans la
CPU connecte, hors structure de projet, ils seront affichs tels qu'ils se trouvent dans la
CPU, c'est--dire sans mnmoniques ni commentaires.

16.1.4

Protection par mot de passe contre l'accs aux systmes cible


La protection par mot de passe vous permet
de protger le programme utilisateur et ses donnes dans la CPU contre les
modifications involontaires (protection en criture),
de prserver le savoir faire (know how) contenu dans votre programme utilisateur
(protection en lecture),
d'empcher les fonctions en ligne qui gneraient le processus
Pour que vous puissiez protger un module par un mot de passe, il faut qu'il possde cette
fonctionnalit.
Si vous souhaitez protger un module par un mot de passe, vous devez dfinir le niveau de
protection et le mot de passe dans le cadre du paramtrage du module, puis charger le
paramtrage modifi dans le module.

16-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Etablissement dune liaison en ligne et choix de la CPU

Lorsque la saisie dun mot de passe est requise pour l'excution d'une fonction en ligne, la
bote de dialogue "Saisie du mot de passe" s'affiche. La saisie du mot de passe correct vous
donne l'autorisation d'accder des modules pour lesquels vous avez dfini un niveau de
protection particulier dans le cadre de leur paramtrage. Vous avez alors la possibilit
d'tablir des connexions en ligne avec le module protg et d'excuter les fonctions en ligne
correspondant au niveau de protection.
La commande Systme cible > Droit d'accs > Instaurer vous permet dappeler
directement la bote de dialogue de saisie du mot de passe. Vous pouvez ainsi par exemple
changer votre mot de passe en dbut de session et vous n'aurez plus l'entrer par la suite
lors d'accs en ligne. Ce mot de passe reste valide jusqu' la fin de la session dans le
SIMATIC Manager ou son annulation avec la commande de menu Systme cible > Droit
d'accs > Annuler.
Paramtres de
la CPU

Observations

Mode de test /
mode de
processus
(pas pour S7-400
ni CPU 318-2)

Paramtrable dans la page d'onglet "Protection".


En mode de processus, les fonctions de test comme "Visualisation du
programme" ou "Visualisation/forage de variables" sont restreintes,
afin que l'augmentation du temps de cycle autorise ne soit pas
dpasse. Ainsi, par exemple, pour la fonction "Visualisation du
programme", les conditions d'appel ne sont pas autorises et la
visualisation d'tat d'une boucle programme est interrompue la
position de retour.
Le test utilisant des points d'arrt et l'excution pas pas du
programme n'est pas possible en mode de processus.
En mode de test, toutes les fonctions de test via PG/PC sont possibles
sans restrictions, mme celles entranant un allongement du temps de
cycle.

Niveau de
protection

16.1.5

Slectionnable dans la page d'onglet "Protection". Vous pouvez


soumettre les accs en lecture et en criture la CPU la saisie d'un
mot de passe, qui doit tre dfini dans cette page d'onglet.

Remarque sur l'actualisation du contenu de la fentre


Notez que :
des modifications dans la fentre en ligne d'un projet, rsultant d'une manipulation de
l'utilisateur (par exemple chargement ou effacement de blocs) ne sont pas
automatiquement reprises dans une fentre "Partenaires accessibles" ventuellement
ouverte.
des modifications dans la fentre "Partenaires accessibles" ne sont pas automatiquement
reprises dans une fentre du projet en ligne ventuellement ouvert.
Pour obtenir un affichage actuel dans une fentre ouverte simultanment, vous devez
galement actualiser cette fentre ( l'aide de la commande de menu ou de la touche F5).

Programmer avec STEP 7 V5.1


A5E00069874-03

16-3

Etablissement dune liaison en ligne et choix de la CPU

16.2
16.2.1

Affichage et modification de l'tat de fonctionnement


Affichage et modification de l'tat de fonctionnement
Cette fonction vous permet, par exemple, de remettre la CPU l'tat de marche (RUN)
aprs avoir corrig une erreur.

Affichage de l'tat de fonctionnement


1. Ouvrez votre projet et slectionnez un programme S7/M7 ou ouvrez la fentre
"Partenaires accessibles" en choisissant la commande Systme cible > Afficher
partenaires accessibles et slectionnez un partenaire (MPI=...").
2. Choisissez la commande Systme cible > Etat de fonctionnement.
Cette bote de dialogue affiche le dernier et le plus actuel tat de fonctionnement du module,
de mme que la position actuelle de son commutateur cl. Pour les modules sur lesquels
la position du commutateur cl ne peut pas tre lue, le texte "indfini" s'affiche.

Modification de l'tat de fonctionnement


Vous pouvez modifier l'tat de fonctionnement de la CPU l'aide des boutons. Les boutons
actifs sont ceux que vous avez la possibilit de slectionner l'tat de fonctionnement
actuel.

16-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Etablissement dune liaison en ligne et choix de la CPU

16.3
16.3.1

Affichage et rglage de l'heure et de la date


Affichage et rglage de l'heure et de la date
Procdez de la manire suivante :
1. Ouvrez votre projet et slectionnez un programme S7/M7 ou ouvrez la fentre
"Partenaires accessibles" en choisissant la commande Systme cible > Afficher
partenaires accessibles et slectionnez un partenaire ("MPI=...").
2. Choisissez la commande Systme cible > Mettre l'heure
Vous pouvez choisir cette commande lorsqu'un programme S7/M7 est slectionn dans
la fentre du projet (vue en ligne) ou lorsqu'un partenaire ("MPI=...") est slectionn dans
la fentre "Partenaires accessibles".
3. Dans la bote de dialogue affiche, vous pouvez lire l'heure et la date actuelles du
module slectionn.
4. Dans les zones de saisie "Date" et "Heure", vous pouvez le cas chant entrer de
nouvelles valeurs ou reprendre la date et l'heure de votre PG/PC via l'option
prslectionne.

Nota
Lorsqu'un module ne dispose pas d'horloge en temps rel intgre, la date affiche est
00.00.00 et l'heure affiche est 00:00:00.

Programmer avec STEP 7 V5.1


A5E00069874-03

16-5

Etablissement dune liaison en ligne et choix de la CPU

16-6

Programmer avec STEP 7 V5.1


A5E00069874-03

17 Chargement
17.1
17.1.1

Chargement dans le systme cible depuis la PG


Conditions pralables au chargement

Conditions pralables au chargement dans le systme cible


Une liaison est tablie entre votre PG et la CPU du systme cible (par exemple via
l'interface MPI).
L'accs au systme cible est possible.
La compilation du programme charger s'est faite sans erreur.
La CPU doit se trouver dans un tat de fonctionnement autorisant le chargement (arrt
ou marche (RUN-P)).
A l'tat de fonctionnement de marche (RUN-P), veillez charger le programme bloc par
bloc. En effet, des conflits risqueraient de survenir si vous crasiez un ancien programme
CPU et que, par exemple, des paramtres de bloc seraient modifis. Durant l'excution
du cycle, la CPU passerait alors l'tat d'arrt. C'est pourquoi, il est recommand de
mettre la CPU l'tat d'arrt avant de raliser le chargement.
Si vous avez ouvert hors ligne le bloc que vous voulez charger, un programme utilisateur
en ligne doit tre affect la CPU dans SIMATIC Manager.
Nous vous recommandons d'effectuer un effacement gnral de la CPU avant de charger
votre programme utilisateur, afin d'tre sr qu'il n'y a plus d'anciens blocs dans la CPU.

Etat de fonctionnement "Arrt" (STOP)


Vous devez faire passer la CPU de l'tat de fonctionnement "Marche" (RUN) l'tat "Arrt"
(STOP) avant :
de charger le programme utilisateur complet ou certaines de ses parties dans la CPU,
d'effectuer un effacement gnral de la CPU,
de comprimer la mmoire utilisateur.

Dmarrage (passage l'tat de fonctionnement "Marche")


Lorsque vous demandez un dmarrage partir de l'tat de fonctionnement "Arrt" (STOP),
le programme recommence au dbut et le programme de mise en route - dans le bloc
OB100 - est d'abord excut l'tat de fonctionnement "Mise en route". Si la mise en route
s'achve sans erreur, la CPU passe l'tat "Marche" (RUN). Un dmarrage est ncessaire
aprs :
l'effacement gnral de la CPU,
le chargement du programme utilisateur l'tat "Arrt" (STOP).
Programmer avec STEP 7 V5.1
A5E00069874-03

17-1

Chargement

17.1.2

Diffrence entre l'enregistrement et le chargement de blocs


L'enregistrement et le chargement de blocs prsentent une diffrence fondamentale.

Commande

Enregistrement

Chargement

Fichier > Enregistrer

Systme cible > Charger

Fichier > Enregistrer sous


Fonction

L'tat en cours du bloc de l'diteur est


sauvegard sur le disque dur de la PG.

Vrification
La syntaxe est vrifie. Le cas chant,
de la syntaxe les erreurs vous seront signales dans
des botes de dialogue, avec indication
de la cause et de l'emplacement des
erreurs. Vous devez corriger ces erreurs
avant d'enregistrer ou de charger le
bloc. Si la syntaxe est correcte, le bloc
est ensuite compil en code machine et
enregistr ou charg.

L'tat en cours du bloc de l'diteur est


charg seulement dans la CPU.
La syntaxe est vrifie. Le cas chant,
les erreurs vous seront signales dans
des botes de dialogue, avec indication
de la cause et de l'emplacement des
erreurs. Vous devez corriger ces erreurs
avant d'enregistrer ou de charger le
bloc. Si la syntaxe est correcte, le bloc
est ensuite compil en code machine et
enregistr ou charg.

Ce tableau s'applique aussi bien des blocs ouverts en ligne qu'hors ligne:

Remarque sur l'enregistrement de modifications de blocs pralable au chargement


Pour valider les blocs nouvellement crs ou les modifications apportes la section des
instructions de blocs de code, aux tables de dclaration ou aux valeurs dans les blocs de
donnes, vous devez enregistrer les blocs correspondants. Il est indispensable d'enregistrer
galement sur le disque dur de la PG, avant de quitter l'diteur, les modifications que vous
avez faites et que vous avez transfres directement dans la CPU avec la commande
Systme cible > Charger par exemple, parce qu'elles taient minimes et que vous vouliez
les tester immdiatement. Sinon en effet, vous aurez des versions diffrentes de votre
programme utilisateur dans la CPU et dans la console de programmation. En gnral, il est
conseill de toujours enregistrer d'abord les modifications et de ne les charger qu'ensuite.

17.1.3

Mmoire de chargement et mmoire de travail dans la CPU


Une fois la configuration, le paramtrage et l'criture du programme achevs et la liaison en
ligne tablie, vous pouvez transfrer des programmes utilisateur entiers ou des blocs
individuels dans un systme cible. Vous devez, pour tester des blocs individuels, charger au
moins un OB ainsi que les FB et les FC qui y sont appels et les DB utiliss. Pour transfrer
dans le systme cible les donnes systme obtenues aprs la configuration du matriel et
des rseaux ou la cration d'une table des liaisons, vous chargez l'objet "Blocs de donnes
systme" .
Dans le SIMATIC Manager, vous chargez des programmes utilisateur dans un systme
cible, par exemple dans la phase finale du test du programme ou pour excuter le
programme utilisateur achev.

17-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Chargement

Relation entre la mmoire de chargement et la mmoire de travail de la CPU


Le programme utilisateur entier est charg dans la mmoire de chargement, les parties du
programme significatives pour l'excution l'tant galement dans la mmoire de travail.

CPU
PG

Mmoire de
chargement

EPROM
Charger le
programme
entier dans
la CPU

RAM

Mmoire de travail

RAM
Parties du
programme
significatives
pour lexcution

Mmoire de chargement de la CPU


La mmoire de chargement sert l'enregistrement du programme utilisateur sans table
des mnmoniques ni commentaires (ces derniers restent dans la mmoire de la console
de programmation).
Les blocs identifis comme non significatifs pour l'excution sont exclusivement chargs
dans la mmoire de chargement.
Selon le systme cible, il peut s'agir pour la mmoire de chargement de mmoire vive
(RAM), de mmoire morte (ROM) ou de mmoire EPROM
Pour le S7-300, la mmoire de chargement peut comporter une partie EEPROM intgre
en plus de la partie RAM (par exemple CPU312 IFM et CPU314 IFM).
Pour le S7-400, l'utilisation d'une carte mmoire (RAM ou EEPROM) s'avre
indispensable pour l'extension de la mmoire de chargement.

Mmoire de travail de la CPU


La mmoire de travail (mmoire vive intgre) contient les parties du programme
significatives pour l'excution du programme.

Programmer avec STEP 7 V5.1


A5E00069874-03

17-3

Chargement

Procdures de chargement possibles


La fonction de chargement vous permet de charger le programme utilisateur ou des objets
chargeables (par exemple des blocs) dans le systme cible. Si un bloc se trouve dj dans
la mmoire vive de la CPU, un message vous demande, lors du chargement, si ce bloc doit
tre cras ou non.
Vous pouvez slectionner les objets chargeables dans la fentre de projet et les charger
partir de SIMATIC Manager (commande Systme cible > Charger).
Lors de la programmation de blocs et lors de la configuration du matriel et de rseaux,
vous pouvez charger directement l'objet en cours de traitement via le menu dans la
fentre principale associe votre activit (commande Systme cible > Charger).
Une autre possibilit consiste ouvrir une fentre en ligne avec la vue du systme cible
(par exemple via la commande Affichage > En ligne ou Systme cible > Afficher les
partenaires accessibles) et de copier l'objet charger dans la fentre en ligne.
Inversement, vous pouvez charger le contenu actuel de blocs de la mmoire vive de
chargement de la CPU dans votre console de programmation.

17.1.4

Possibilits de chargement selon la mmoire de chargement


La structure de la mmoire de chargement forme d'une partie RAM et d'une partie
EEPROM n'est pas sans consquence sur les possibilits de chargement de votre
programme utilisateur ou de blocs individuels. Le chargement des donnes dans la CPU
peut s'effectuer de plusieurs manires :
Mmoire de chargement

Possibilits de chargement

Type de communication entre


outil de dveloppement et
systme cible

Mmoire vive (RAM)

Chargement et effacement de
blocs individuels

Liaison en ligne PG - systme


cible

Chargement et effacement d'un


programme utilisateur entier

Liaison en ligne PG - systme


cible

Chargement de blocs individuels Liaison en ligne PG - systme


cible
EPROM intgre
(uniquement S7-300) ou
enfichable

Chargement de programmes
utilisateur entiers

Liaison en ligne PG - systme


cible

EPROM enfichable

Chargement de programmes
utilisateur entiers

Chargement externe de
l'EPROM et enfichage de la
carte mmoire ou chargement
via la liaison en ligne l'EPROM
enfiche dans le systme cible

Chargement dans la RAM via une liaison en ligne


En cas de panne secteur, les donnes ne sont pas protges dans le systme cible si la
mmoire vive ne possde pas de sauvegarde. Dans ce cas, les donnes sont perdues dans
la RAM.

17-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Chargement

Enregistrement sur une carte mmoire EPROM


Les blocs ou le programme utilisateur sont enregistrs sur une carte mmoire EPROM que
l'on enfiche ensuite dans un emplacement prvu cet effet sur la CPU.
Les cartes mmoire sont des supports de donnes portatifs. Vous y inscrivez les donnes
depuis l'outil de dveloppement, puis les enfichez l'emplacement prvu cet effet sur la
CPU.
Les donnes qui y sont sauvegardes sont conserves en cas de coupure de courant ou
d'effacement gnral de la CPU. Aprs effacement gnral de la CPU, et aprs retour du
courant suite une panne secteur quand la mmoire vive n'est pas sauvegarde, le contenu
de l'EPROM est nouveau copi dans la zone de mmoire vive de la mmoire de la CPU.

Enregistrement dans la mmoire intgre EPROM


Pour la CPU 312, il existe encore la possibilit de charger le contenu de la mmoire vive
dans la mmoire intgre EPROM, o les donnes sont rmanentes en cas de panne
secteur. Aprs retour du courant suite une panne secteur, quand la mmoire vive n'est pas
sauvegarde, et aprs effacement gnral de la CPU, le contenu de l'EPROM est
nouveau copi dans la zone de mmoire vive de la mmoire de la CPU.

17.1.5

Chargement de blocs dans le systme cible


Vous pouvez craser les blocs prsents dans la mmoire de chargement (mmoire vive) ou
dans la mmoire de travail de la CPU du systme cible S7 avec une nouvelle version
(chargement dans le systme cible). L'ancienne version des blocs est alors crase.
La manire de procder pour charger des blocs S7 est la mme que celle pour les charger,
ceci prs que le systme vous demandera si vous voulez craser les blocs prsents.
Un bloc enregistr dans une EPROM ne peut tre cras, mais sera dclar non valable
aprs le chargement dans le systme cible. Le nouveau bloc est charg dans la mmoire
vive. Dans la mmoire de chargement ou dans la mmoire de travail, il en rsulte des
intervalles, susceptibles d'empcher le chargement de nouveaux blocs. Dans ce cas, il est
recommand de comprimer les mmoires.

Nota
En cas de retour de courant suite une panne secteur, quand la mmoire vive n'est pas
sauvegarde, ou en cas d'effacement gnral de la CPU, les "anciens blocs" de l'EPROM
seront nouveau valables et chargs dans le systme cible !

Programmer avec STEP 7 V5.1


A5E00069874-03

17-5

Chargement

17.1.6

Chargement via des cartes mmoire EPROM

Condition pralable
Pour pouvoir accder depuis l'outil de dveloppement aux cartes mmoire EPROM
destines un systme cible S7, vous devez avoir install le pilote d'EPROM
correspondant. Pour pouvoir accder aux cartes mmoire EPROM destines un systme
cible M7, vous devez avoir install le systme Flash File (ceci n'est possible que sur les
PG720/740/760). Le pilote d'EPROM et le systme Flash File sont proposs en option lors
de l'installation du logiciel de base STEP 7. Si vous utilisez un PC, vous devez en plus
possder un programmateur d'EPROM externe pour pouvoir raliser l'enregistrement sur
une carte mmoire EPROM.
Vous pouvez galement installer les pilotes ultrieurement. Ouvrez cet effet la bote de
dialogue correspondante via la barre des tches (Dmarrer > Simatic > STEP 7 >
Paramtrage de cartes mmoire) ou via le panneau de configuration (double clic sur
l'icne "Paramtrage de cartes mmoire).

Sauvegarde sur carte mmoire


Pour sauvegarder des blocs ou des programmes utilisateur sur une carte mmoire,
procdez de la manire suivante :
1. Enfichez la carte mmoire dans l'emplacement prvu cet effet sur votre outil de
dveloppement.
2. Ouvrez la fentre "Carte mmoire S7" de la manire suivante :
-

Cliquez sur le bouton de la carte mmoire dans la barre d'outils. Si cette dernire n'est
pas affiche, vous pouvez le faire en choisissant la commande Affichage > Barre
doutils.

Une alternative consisterait choisir la commande Fichier > Carte mmoire S7 >
Ouvrir.

3. Ouvrez ou activez la fentre dans laquelle vous allez afficher les blocs enregistrer. Il
peut s'agir d'une :
-

fentre du projet, vue du projet en ligne

fentre du projet, vue du projet hors ligne

fentre de bibliothque

fentre "Partenaires accessibles"

4. Slectionnez le dossier Blocs ou les blocs enregistrer, puis copiez-les dans la fentre
"Carte mmoire S7".
5. Si un bloc se trouve dj sur la carte mmoire, un message d'erreur est mis. Dans ce
cas, effacez le contenu de la carte mmoire et rptez les tapes partir de l'tape 2.

17-6

Programmer avec STEP 7 V5.1


A5E00069874-03

Chargement

17.1.7

Chargement spar de la configuration matrielle et de la


configuration des liaisons

17.1.7.1 Chargement d'une configuration dans un systme cible


Conseil
Avant de procder au chargement, vous verifiez que votre configuration de station est
exempte d'erreurs, en choisissant la commande Station > Vrifier la cohrence. STEP 7
vrifie alors si la configuration actuelle permet de gnrer des donnes systme
chargeables. Durant la vrification de cohrence, les erreurs prsentes sont affiches dans
une fentre.

Conditions pralables au chargement


La console de programmation est connecte l'interface MPI de la CPU via un cble
MPI.
Dans le cas d'une installation mise en rseau (la console de programmation est
connecte un sous-rseau) : tous les modules d'un sous-rseau doivent avoir des
adresses rseau diffrentes et la configuration sur site doit concorder avec la
configuration cre.
La configuration cre correspond la configuration relle de la station.
Pour pouvoir tre charge dans une station, une configuration doit imprativement tre
cohrente et exempte d'erreurs. Alors seulement, les blocs de donnes systme (SDB)
peuvent tre gnrs puis chargs dans les modules.
Si la configuration de station comporte des modules qui ont t configurs et paramtrs
avec des logiciel optionnels : le logiciel optionnel doit tre install avec autorisation.

Marche suivre
Choisissez la commande Systme cible > Charger dans module
STEP 7 vous guide alors jusqu'au rsultat par l'intermdiaire de botes de dialogue.
La configuration de l'automate programmable entier est charge dans la CPU. Les
paramtres de la CPU entrent aussitt en vigueur. Quant aux paramtres pour les autres
modules, ils sont transmis aux modules lors de la mise en route.

Nota
Des configurations partielles, comme des configurations de profils support ou chssis
individuels, ne peuvent pas tre charges dans une station. Pour des raisons de cohrence,
STEP 7 charge toujours la configuration complte dans la station.

Programmer avec STEP 7 V5.1


A5E00069874-03

17-7

Chargement

Modification de l'tat de fonctionnement de la CPU lors du chargement


Lorsque vous dmarrez la fonction Systme cible > Charger dans module, vous pouvez,
l'aide de botes de dialogue, raliser les actions suivantes depuis la PG :
Mettre la CPU l'arrt (STOP)
(si le commutateur de mode de fonctionnement est positionn sur RUN-P ou si la liaison
avec la CPU a t lgitime par un mot de passe)
Comprimer la mmoire
(si l'espace mmoire libre contigu n'est pas suffisant)
Remettre la CPU en marche (RUN)

17.1.7.2 Premier chargement de la configuration de rseau


Avant le premier chargement, les modules connects au sous-rseau ne possdent pas
encore leur adresse de rseau configure, mais une adresse par dfaut. Votre rseau ne
peut fonctionner correctement que si tous les participants un sous-rseau disposent
d'adresses de rseau diffrentes.
Sous-rseau MPI avec connexion via la CPU
Les CPU sont livres avec l'adresse par dfaut 2. Comme vous ne pouvez utiliser cette
adresse de rseau qu'une seule fois, vous devez modifier l'adresse de rseau prdfinie
dans toutes les autres CPU.
Sous-rseau PROFIBUS et Industrial Ethernet avec CP
Vous devez configurer les CP des stations relies ces sous-rseaux et leur attribuer
des adresses de rseau. Vous devez toujours attribuer les adresses via l'interface MPI de
la station, avant que les oprations de chargement et de communication puissent avoir
lieu via le sous-rseau (pour plus d'informations ce sujet, consultez les manuels
SIMATIC NET, NCM S7 pour PROFIBUS et NCM pour Industrial Ethernet).

Lorsque le participant au rseau n'est pas une station S7...


Si le participant au rseau n'est pas une station S7, vous devez dfinir les proprits de
rseau et de participant dans l'application ou avec les commutateurs prvus cet effet. Ceci
est par exemple le cas pour les esclaves DP dont l'adresse PROFIBUS doit tre paramtre
l'aide de commutateurs.
Assurez-vous que ces paramtres concordent avec ceux des objets dans la vue de rseau
(PG/PC, autre station, station S5).

Modification de ladresse PROFIBUS pour les esclaves DP


Les esclaves DP connects un sous-rseau PROFIBUS doivent galement avoir une
adresse PROFIBUS univoque. Si l'esclave DP connecter accepte la fonction
"Set_Slave_Add" (par exemple, ET 200C), vous pouvez affecter cette adresse dans
STEP 7 :
Dans SIMATIC Manager et dans la configuration du matriel vous pouvez choisir la
commande Systme cible > Attribuer adresse PROFIBUS pour affecter une nouvelle
adresse PROFIBUS.
Conseil : Si vous ntes pas sr que ladressage en cours soit correct, connectez les
esclaves DP un par un votre PG/PC et modifiez l'adressage.

17-8

Programmer avec STEP 7 V5.1


A5E00069874-03

Chargement

Modification de l'adresse de rseau pour les stations S7


Pour modifier l'adresse de rseau par dfaut d'une station S7, procdez de la manire
suivante :
1. Configurez la station ; dans la page d'onglet "Gnral", dfinissez l'adresse de rseau
(bouton "Proprits" sous "Interface") du module connect (par exemple, CPU).
2. Mettez le module l'arrt et reliez votre console de programmation l'interface du
module au moyen d'un cble de liaison.
3. Dterminez l'adresse de rseau par dfaut du module connect (par exemple, en
choisissant la commande Systme cible > Partenaires accessibles dans
SIMATIC Manager).
4. Chargez la configuration avec la nouvelle adresse de rseau dans le systme cible
(c'est--dire dans le module connect) :
-

Dans la vue de la station (configuration du matriel) en choisissant la commande


Systme cible > Charger dans module

Dans la vue de rseau (NetPro), slectionnez la station charger et choisissez la


commande Systme cible > Charger > Slectionner les stations. Indiquez "l'ancienne"
adresse fournie (encore valide cet instant) !

17.1.7.3 Chargement de la configuration de rseau dans un systme cible


Condition pralable
Par la suite, nous allons supposer que vous avez dj configur le projet complet, c'est-dire, vous avez :
configur toutes les stations,
cr tous les sous-rseaux et dfini leur proprits,
configur les liaisons (si ncessaire),
dfini l'interface PG/PC, de sorte qu'une communication soit possible entre PG/PC et
automate programmable via le sous-rseau connect,
vrifi la cohrence de la configuration.
Ce n'est que lorsqu'une configuration est exempte d'erreurs, c'est--dire que tous les
modules d'un rseau ont des adresses de rseau diffrentes et que votre configuration sur
site concorde avec la configuration cre que vous pouvez charger la configuration dans les
systmes cible via le sous-rseau (PROFIBUS ou MPI).

Programmer avec STEP 7 V5.1


A5E00069874-03

17-9

Chargement

17.1.7.4 Chargement des modifications de la configuration de rseau


Condition pralable
Tous les modules d'un sous-rseau ont des adresses de rseau diffrentes et la
configuration sur site concorde avec la configuration cre.
Si vous connectez une nouvelle station un sous-rseau et si l'adresse de rseau par
dfaut existe dj dans le sous-rseau, vous devez procder comme dcrit dans le
paragraphe "Premier chargement".

Qu'est-ce qui est charg et o ?


Aprs compilation de la configuration de rseau (commande Rseau > Enregistrer et
compiler) ou aprs Systme cible > Charger > .., NetPro cre des blocs de donnes
systme (SDB) pour les modules capables d'interprter les informations dans les SDB. Les
SDB peuvent contenir des tables de liaisons, des adresses de rseau, des proprits de
sous-rseau, des adresses d'entre/sortie et des jeux de paramtres.
La commande choisie dtermine le volume ou contenu et le systme cible du chargement.

Nota
Vous ne pouvez charger les CPU concernes l'tat de fonctionnement RUN-P qu'avec
l'option Charger > Liaisons et routeurs. Pour toutes les autres options, la CPU doit tre
mise l'tat d'arrt.

17-10

Commande
Systme cible >
Charger

Chargement de quoi ?

O ?

... Stations
slectionnes

Tables des liaisons, adresses de rseau, Dans les stations


slectionnes
proprits de sous-rseau, adresses
d'entre/sortie et paramtrages de
module des stations slectionnes

... Station
slectionne et
station partenaire

Tables des liaisons, adresses de rseau,


proprits de sous-rseau, adresses
d'entre/sortie et jeux de paramtres de
la station slectionne et de son
partenaire de liaison

... Stations du
sous-rseau

Tables des liaisons, adresses de rseau, Successivement dans


proprits de sous-rseau, adresses
toutes les stations du
d'entre/sortie et jeux de paramtres
sous-rseau slectionn

... Liaisons
slectionnes

Liaisons slectionnes (slection


multiple possible)

Dans la station locale et


(pour les liaisons deux
sens) dans les stations
partenaires
correspondantes

... Liaisons et
routeurs

Liaisons (une table des liaisons vide est


galement possible) et information sur
les routeurs

Dans le module
slectionn

Dans la station
slectionne et dans
toutes les stations qui sont
partenaires de liaison de
cette station

(possible l'tat de
fonctionnement RUN-P)

Programmer avec STEP 7 V5.1


A5E00069874-03

Chargement

Marche suivre
1. Reliez la PG au sous-rseau auquel est galement connect le participant charger.
2. Ouvrez NetPro.
3. Dans la vue de rseau, slectionnez la station charger ou le sous-rseau (avec
..Charger > Sous-rseau slectionn).
4. Slectionnez l'une des options dcrites ci-avant de la commande Systme cible >
Charger.

Informations supplmentaires
De plus amples informations sur les commandes de chargement sont donnes dans l'aide
contextuelle (slectionnez la commande et apuyez sur la touche F1).

17.1.7.5 Chargement de la configuration des donnes globales


La compilation traduit les donnes de la table de donnes globales en donnes systme. Si
aucune erreur n'est signale aprs compilation, vous pouvez charger les donnes systme
dans les CPU.
Choisissez la commande Systme cible > Charger.

Programmer avec STEP 7 V5.1


A5E00069874-03

17-11

Chargement

17.2
17.2.1

Chargement depuis le systme cible dans la PG


Chargement depuis le systme cible dans la PG
Cette fonction vous permet de raliser les tches suivantes :
enregistrement dinformations du systme cible (p. ex. des fins de maintenance)
configuration et dition rapides dune station, lorsque les composants matriels sont
prsentes au dbut de la tche de configuration

Enregistrement dinformations du systme cible


Cette mesure peut savrer ncessaire lorsque, par exemple, les donnes du projet hors
ligne correspondant ltat actuel dans la CPU ne sont pas prsentes ou uniquement
partiellement. Vous pouvez alors au moins charger la partie des donnes du projet
disponible en ligne dans votre PG.

Configuration rapide
Vous pouvez vous faciliter la saisie de la configuration de la station en chargeant les
donnes de configuration depuis le systme cible dans votre PG, aprs avoir configur le
matriel et rinitialis la station. Vous obtenez ainsi la configuration de la station avec les
indication de type des diffrents modules. Il vous suffira ensuite de spcifier prcisment les
diffrents modules (numro de rfrence) et de les paramtrer.
Les informations suivantes sont charges dans la PG :
S7-300 : configuration du profil support de base et profils support dextension
ventuellement prsents.
S7-400 : configuration du chssis de base avec une CPU et des modules de signaux
sans chssis dextension.
Les donnes de configuration de la priphrie dcentralise ne peuvent pas tre
charges dans la PG.
Il sagit des informations qui sont charges lorsque le systme cible ne possde pas encore
dinformations de configuration, par exemple en cas deffacement gnral des systmes.
Sinon la fonction de "Chargement dans la PG fournit de bien meilleurs rsultats. Dans le
cas de systmes S7-300 sans priphrie dcentralise, il vous suffit alors de spcifier
prcisment les modules (numro de rfrence) et de les paramtrer.

Nota
Lors du chargement dans la PG (en labsence dune configuration hors ligne) STEP 7 nest
pas en mesure de fournir tous les numros de rfrence des composants dans leur
intgralit.
Vous pouvez complter les numros de rfrence "incomplets" lors de la configuration du
matriel en choisissant la commande Outils > Spcifier le module. Vous pouvez ainsi
paramtrer des modules inconnus pour STEP 7 (cest--dire qui ne figurent pas dans la
fentre Catalogue du matriel), sans que les rgles de paramtrage ne soient toutefois
prises en compte !

17-12

Programmer avec STEP 7 V5.1


A5E00069874-03

Chargement

Restrictions lors du chargement depuis le systme cible


Les restrictions suivantes sappliquent aux donnes charges depuis le systme cible dans
la PG :
Les blocs ne contiennent pas de mnmoniques pour les paramtres, variables et
repres.
Les blocs ne contiennent pas de commentaires.
Lensemble du programme est charg dans la PG avec toutes les donnes systme.
Seule la partie des donnes systme relative la configuration matrielle pourra
cependant tre dite, comme laccoutume.
Les donnes relatives la "communication par donnes globales (GD)" et la
"configuration de messages sur mnmoniques" ne pourront pas tre dites.
Les commandes de forage permanent ne sont pas charges dans la PG. Elles doivent
tre enregistres sparment sous forme de table de variables via laffichage de la tche
de forage permanent.
Les commentaires dans les botes de dialogue des modules ne sont pas chargs.
Les noms des modules ne saffichent que si vous avez slectionn cette option lors de la
configuration (HW Config : Outils > Paramtres, Enregsitrer les noms dobjet dans le
systme cible).

17.2.2

Chargement dune station dans la PG


La commande Systme cible > Charger station dans la PG vous permet de charger dans
la PG la configuration actuelle ainsi que tous les blocs de l'automate programmable
slectionner.
STEP 7 cre cet effet une nouvelle station dans le projet en cours, sous laquelle la
configuration est enregistre. Vous pouvez renommer le nom prslectionn de la station
insre (par exemple "Station SIMATIC 300 (1)"). La station insre s'affiche aussi bien
dans la vue "en ligne" que dans la vue "hors ligne".
Cette commande peut tre slectionne lorsqu'un projet est ouvert. La slection d'un objet
dans la fentre du projet ou la vue (en ligne ou hors ligne) de sont pas significatives pour
cette commande.
Cette fonction vous permet de vous faciliter la configuration.
Pour les systmes cible S7-300, la configuration est charge avec les profils support
dextension sans priphrie dcentralise (DP).
Pour les systmes cible S7-400, la configuration du chssis de base est charge sans
chssis dextension ni priphrie dcentralise.
Dans le cas de systmes S7-300 sans priphrie dcentralise, il vous suffit alors de
spcifier prcisment les modules (numro de rfrence) et de les paramtrer.

Programmer avec STEP 7 V5.1


A5E00069874-03

17-13

Chargement

Restrictions lors du chargement dune station dans la PG


Les restrictions suivantes sappliquent aux donnes charges dans la PG :
Les blocs ne contiennent pas de mnmoniques pour les paramtres formels, les
variables temporaires et les repres.
Les blocs ne contiennent pas de commentaires.
Lensemble du programme est charg dans la PG avec toutes les donnes systme
("AG-Abzug"). Toutes les donnes ne peuvent cependant pas tre dites.
Les donnes relatives la "communication par donnes globales (GD)", la
"configuration de messages sur mnmoniques" et la configuration de rseaux ne
pourront pas tre dites.
Les commandes de forage permanent ne peuvent pas tre charges dans la PG, puis
nouveau dans le systme cible.

17.2.3

Chargement de blocs depuis la CPU S7


SIMATIC Manager vous permet de charger des blocs S7 de la CPU sur le disque dur de
l'outil de dveloppement. Vous utilisez par exemple cette possibilit pour :

17.2.4

effectuer une sauvegarde du programme utilisateur actuel, charg dans la CPU. En


cas de maintenance conscutive un ventuel effacement gnral de la CPU, le
personnel comptent serait en mesure de charger cette copie de sauvegarde.

charger le programme utilisateur de la CPU dans l'outil de dveloppement pour l'y


diter afin par exemple d'y rechercher des erreurs lors de la maintenance. Vous ne
disposez alors ni des mnmoniques, ni des commentaires documentant le
programme. Cette procdure n'est donc vraiment destine qu' la maintenance.

Edition de blocs chargs dans votre PG/PC


La possibilit d'diter des blocs dans la PG vous permet :
de corriger directement un bloc dans la CPU en phase de test et de documenter le
rsultat ;
de charger le contenu actuel de blocs de la mmoire vive de chargement de la CPU dans
votre console de programmation.

Nota

Conflits d'horodatage lors de l'dition en ligne et hors ligne


Les procdures suivantes entranent des conflits d'horodatage et doivent de ce fait tre
vites.
Des conflits d'horodatage se produisent l'ouverture en ligne d'un bloc lorsque
des modifications effectues en ligne n'ont pas t enregistres dans le programme
utilisateur S7 hors ligne
des modifications effectues hors ligne n'ont pas t charges dans la CPU.
Des conflits d'horodatage se produisent l'ouverture hors ligne d'un bloc lorsque
un bloc en ligne prsentant un conflit d'horodatage a t copi dans le programme
utilisateur S7 hors ligne, puis est ouvert hors ligne.

17-14

Programmer avec STEP 7 V5.1


A5E00069874-03

Chargement

Cas possibles
Il faut distinguer deux cas pour le chargement de blocs de la CPU dans la console de
programmation.
1. le programme utilisateur auquel les blocs appartiennent se trouve dans la console de
programmation.
2. le programme utilisateur auquel les blocs appartiennent ne se trouve pas dans la console
de programmation.
Cela signifie que des parties de programme qui ne peuvent pas tre charges dans la CPU
ne sont pas disponibles. Il s'agit :
de la table des mnmoniques et commentaires pour les oprandes,
des commentaires de rseaux d'un programme LOG ou CONT,
des commentaires de lignes d'un programme LIST,
des types de donnes utilisateur.

17.2.5

Chargement de la configuration matrielle et de la configuration des


liaisons dans la PG

17.2.5.1 Chargement d'une configuration depuis une station dans la PG


Condition pralable
Vous avez connect la console de programmation l'interface MPI de la CPU via un cble
MPI.

Conseils
Chargez des stations dans un projet vide, nouvellement cr.
Les stations qui dpendent d'autres stations d'une manire particulire (esclave I dans une
station matre DP, metteur et rcepteur d'une configuration change de donnes direct)
doivent toujours tre charges ensemble dans un projet. Raison : sans le "pendant" d'une
telle station, le projet est incohrent !

Marche suivre
1. Choisissez la commande Systme cible > Charger dans PG
La bote de dialogue dans laquelle vous ouvrez la configuration s'affiche.
2. Slectionnez le projet dans lequel vous souhaitez ultrieurement sauvegarder la
configuration, puis cliquez sur "OK".
3. Dans la bote de dialogue suivante, vous paramtrez l'adresse de rseau, le numro de
chssis et l'emplacement d'enfichage du module dont vous souhaitez lire la configuration
(en gnral, une CPU). Confirmez par "OK".
Vous pouvez donner un nom de station cette configuration en choisissant la commande
Station > Proprits, puis la sauvegarder dans le projet prslectionn avec la commande
Station > Enregistrer.

Programmer avec STEP 7 V5.1


A5E00069874-03

17-15

Chargement

17.2.5.2 Chargement d'une configuration de rseau dans la PG


Introduction
Vous avez la possibilit de charger la configuration de rseau relle de votre projet station
par station dans votre PG.
D'une part, dans SIMATIC Manager, vous pouvez charger l'ensemble de la configuration
d'un projet dans la PG, station par station (commande Systme cible > Charger dans PG).
STEP 7 cre alors, pour chaque station charger, un nouvel objet de station dans le projet
actuel.
En outre, dans la configuration du matriel, vous avez la possibilit de charger une
configuration de station (commande Systme cible > Charger dans PG).
Dans la suite, nous allons vous montrer comment vous pouvez charger lensemble de la
configuration de rseau dans NetPro, station par station.

Condition pralable
Votre PG/PC est connecte au mme sous-rseau que les stations charger ou les stations
sont accessibles via des routeurs. Les adresses de rseau et chssis/emplacements des
modules connects au sous-rseau sont connues.

Marche suivre
1. Reliez la PG au sous-rseau auquel le participant charger est galement connect.
2. Le cas chant, crez un nouveau projet pour la configuration de rseau charge.
3. Ouvrez NetPro via un projet, dans lequel vous souhaitez ultrieurement enregistrer la
configuration de rseau charge (par exemple, via un projet nouvellement cr).
4. Choisissez la commande Systme cible > Charger la station dans la PG
Cette commande ne peut tre slectionne que si un projet est ouvert.
5. Dans la bote de dialogue qui s'affiche, indiquez la station charger par son adresse de
rseau et chssis/emplacement.
L'objet "Station" apparat dans la vue de rseau avec tous les modules ayant une
connexion au rseau. Les sous-rseaux auxquels la station est relie s'affichent
galement. Vous pouvez modifier le nom par dfaut de la station en choisissant la
commande Edition > Proprits de l'objet.
Les liaisons configures sont galement charges et visibles lorsque vous slectionnez
un module jouant le rle de nud d'extrmit d'une liaison.
6. Vous pouvez modifier la configuration de station ou galement les liaisons, puis charger
les modifications dans la station. Dans le cas de liaisons cres dans des logiciels
optionnels, le logiciel correspondant doit tre install, afin que ces liaisons puissent tre
dites puis nouveau charges dans la station.
7. Procdez comme dcrit prcdemment, jusqu' ce que vous ayez charg toutes les
stations souhaites.
8. Si vous le souhaitez, vous pouvez enregistrer la configuration de rseau dans le projet
actuel (commande Rseau > Enregistrer ou ..> Enregistrer et compiler).

17-16

Programmer avec STEP 7 V5.1


A5E00069874-03

Chargement

Particularits de liaisons ayant t charges dans la PG


Dans la table des liaisons, le partenaire de liaison configur hors ligne est absent le
partenaire de liaison est "non spcifi". Des dtails relatifs l'adressage sont accessibles
dans la bote de dialogue des proprits qui s'affiche.
STEP 7 n'est pas en mesure de dterminer dans tous les cas, le sens de communication de
liaisons PtP mais signale les sens de communication possibles.

17.2.6

Effacement sur le systme cible

17.2.6.1 Effacement de la mmoire de chargement/travail et effacement


gnral de la CPU
Avant de charger votre programme utilisateur dans le systme cible S7, nous vous
recommandons d'effectuer un effacement gnral de la CPU, afin de vous assurer qu'elle ne
contient plus "d'anciens" blocs.

Condition pralable l'effacement gnral


Pour quun effacement gnral soit possible, la CPU doit se trouver l'tat de
fonctionnement "arrt" (le commutateur de mode de fonctionnement doit tre positionn sur
arrt (STOP) ou encore sur marche (RUN-P), auquel cas vous devez mettre la CPU l'arrt
en choisissant la commande Systme cible > Etat de fonctionnement).

Effacement gnral de la CPU S7


Voici ce qui se droule lors de l'effacement gnral d'une CPU S7 :
La CPU est remise 0.
Toutes les donnes utilisateur sont effaces (les blocs et les blocs de donnes systme
(SDB) l'exclusion des paramtres MPI).
La CPU suspend toutes les liaisons en cours.
S'il existe des donnes dans une EPROM (carte mmoire ou EPROM intgre), la CPU
copie, aprs l'effacement gnral, le contenu de l'EPROM dans la zone RAM de la
mmoire.
Le contenu de la mmoire tampon de diagnostic et les paramtres de l'interface MPI sont
conservs.

Effacement gnral de CPU/FM M7


Voici ce qui se droule lors de l'effacement gnral de CPU/FM M7 :
L'tat initial est restaur.
Les SDB l'exclusion des paramtres MPI sont effacs.
La CPU/le FM suspend toutes les liaisons en cours. Les programmes utilisateur sont
conservs et leur excution reprend aussitt que vous commutez la CPU de STOP en
RUN.

Programmer avec STEP 7 V5.1


A5E00069874-03

17-17

Chargement

La fonction d'effacement gnral vous permet de restaurer l'tat initial de la CPU ou du FM


M7 aprs une erreur majeure. Vous devez pour cela effacer les blocs de donnes systme
(SDB) dans la mmoire de travail et charger ceux qui se trouvent dans la mmoire
permanente. Dans certains cas, il faut effectuer en plus un dmarrage chaud du systme
d'exploitation. Pour cela, vous devez effectuer un effacement gnral du M7 en actionnant le
commutateur de mode de fonctionnement (position MRES). Une remise zro via le
commutateur de mode de fonctionnement des CPU/FM SIMATIC M7 n'est possible que
sous le systme d'exploitation RMOS32.

17.2.6.2 Effacement de blocs S7 sur le systme cible


Durant la phase de test du programme de la CPU, il peut s'avrer ncessaire d'effacer
certains blocs dans la CPU. Les blocs sont sauvegards dans la mmoire utilisateur de la
CPU soit dans l'EPROM, soit dans la RAM (en fonction de la CPU et de la procdure de
chargement).
Vous pouvez effacer directement les blocs chargs dans la mmoire vive. L'espace
mmoire qui tait occup dans les mmoires de chargement et de travail est alors libr.
Les blocs enregistrs dans l'EPROM intgre sont toujours copis dans la zone de
mmoire vive aprs effacement de la CPU. Vous pouvez effacer directement ces copies
dans la mmoire vive. Les blocs effacs seront alors dclars non valables dans
l'EPROM jusqu'au prochain effacement gnral ou jusqu' la prochaine panne secteur,
lorsque la mmoire vive n'est pas sauvegarde. En cas d'effacement gnral ou de
panne secteur lorsque la mmoire vive n'est pas sauvegarde, les blocs "effacs" sont
nouveau copis de l'EPROM dans la mmoire vive, o ils sont alors nouveau actifs.
Les blocs enregistrs dans l'EPROM intgre (par exemple de la CPU 312) sont effacs
par crasement par le nouveau contenu de la mmoire vive.
Les cartes mmoire EPROM doivent tre effaces dans l'outil de dveloppement.

17.2.7

Compression de la mmoire utilisateur (RAM)

17.2.7.1 Intervalles dans la mmoire utilisateur (RAM)


Les intervalles rsultant des effacements et chargements successifs de blocs rduisent
l'espace mmoire utilisable. Il importe de comprimer la mmoire utilisateur en rorganisant
les blocs existants afin de crer une zone de mmoire libre d'un seul tenant.
La figure ci-aprs montre schmatiquement comment les blocs de mmoire occups sont
dplacs par la fonction "Compression de la mmoire".
Occupation de la mmoire avant la compression

Occupation de la mmoire aprs la compression

Mmoire occupe
Mmoire libre

17-18

Programmer avec STEP 7 V5.1


A5E00069874-03

Chargement

La compression l'tat de fonctionnement "arrt" est recommande.


Seule la compression l'tat de fonctionnement "Arrt" (STOP) permet d'liminer tous les
intervalles en mmoire. Si vous effectuez la compression l'tat de fonctionnement RUN-P
(position du commutateur de mode de fonctionnement), les blocs en cours d'dition ne
seront pas dplacs, puisqu'ils sont ouverts. La fonction de compression ne peut pas tre
excute l'tat de fonctionnement RUN (position du commutateur de mode de
fonctionnement) (protection en criture !).

17.2.7.2 Compression du contenu de la mmoire d'une CPU S7


Possibilits de compression
Vous avez deux possibilits pour comprimer la mmoire utilisateur.
Si un manque de mmoire apparat dans le systme cible lors du chargement, une bote
de dialogue vous signalant l'incident s'affiche. Vous pouvez comprimer la mmoire en
cliquant sur le bouton correspondant dans cette bote de dialogue.
En guise de mesure prventive, vous pouvez afficher l'occupation de la mmoire
(commande Systme cible > Etat du module.../page d'onglet "Mmoire"), et,
ventuellement, dclencher la compression.

Procdure
1. Slectionnez le programme S7 dans la vue en ligne ou dans la fentre "Partenaires
accessibles".
2. Choisissez la commande Systme cible > Etat du module.
3. Dans la bote de dialogue suivante, choisissez l'onglet "Mmoire" Vous y trouvez le
bouton de compression, si la CPU permet la mise en uvre de cette fonction.

Programmer avec STEP 7 V5.1


A5E00069874-03

17-19

Chargement

17-20

Programmer avec STEP 7 V5.1


A5E00069874-03

18 Test avec des tables de variables

18.1

Introduction au test avec des tables de variables


Les tables de variables permettent d'enregistrer des environnements de test diffrents et
donc de reproduire sans peine les tests et les observations au cours d'une mise en service
ou des fins de maintenance. Il n'y a pas de limite au nombre de tables de variables
enregistres.
Pour effectuer le test avec des tables de variables, vous disposez des fonctions suivantes :
Visualisation de variables
Cette fonction vous permet d'afficher sur la PG ou le PC les valeurs en cours de
certaines variables d'un programme utilisateur ou d'une CPU.
Forage de variables
Cette fonction vous permet d'attribuer des valeurs fixes certaines variables d'un
programme utilisateur ou d'une CPU. Le test avec l'tat du programme permet galement
le forage unique et immdiat.
Dbloquer sorties priphriques et Activer valeurs de forage
Ces deux fonctions vous permettent d'attribuer des valeurs fixes certaines sorties de
priphrie d'une CPU l'tat d'arrt.
Forage permanent de variables
Cette fonction vous permet d'attribuer certaines variables d'un programme utilisateur ou
d'une CPU, une valeur fixe que le programme utilisateur ne peut pas craser.
Vous pouvez forcer et visualiser les variables suivantes :
entres, sorties, mmentos, temporisations et compteurs
contenus de blocs de donnes,
priphrie.
Vous indiquez les variables forcer ou visualiser en tablissant une table de variables.
Vous dterminez quel point et quelle frquence visualiser ou forcer les variables en
dfinissant un point de dclenchement et une condition de dclenchement.

Programmer avec STEP 7 V5.1


A5E00069874-03

18-1

Test avec des tables de variables

18.2

Marche suivre pour la visualisation et le forage avec des


tables de variables
Pour excuter les fonctions de visualisation et de forage, procdez de la manire
suivante :
1. Crez une nouvelle table de variables ou ouvrez-en une existante.
2. Editez ou vrifiez la table de variables.
3. Etablissez une liaison en ligne entre la table de variables en cours et la CPU de votre
choix l'aide de la commande Systme cible > Etablir la liaison ....
4. Choisissez, avec la commande Variable > Dclenchement, un point de dclenchement
appropri et dfinissez la condition de dclenchement.
5. Les commandes Variable > Visualiser et Variable > Forcer activent et dsactivent les
fonctions correspondantes.
6. Sauvegardez la table de variables acheve en choisissant la commande Table >
Enregistrer ou Table > Enregistrer sous, afin de pouvoir la rappeler tout moment.

18.3
18.3.1

Edition et enregistrement de tables de variables


Cration et ouverture d'une table de variables
Pour visualiser ou forcer des variables, il faut d'abord crer une table de variables (VAT) et y
entrer les variables concernes. Pour crer une table de variables, vous disposez des
possibilits suivantes :

Dans SIMATIC Manager :


Slectionnez le dossier Blocs et choisissez la commande Insertion > Bloc S7 > Table
des variables. Vous pouvez donner un nom la table dans la bote de dialogue qui
apparat alors (champ de saisie "Nom symbolique"). Ce nom s'affichera dans la fentre
de projet. Pour ouvrir la table de variables, effectuez un double clic sur l'objet.
Slectionnez une liaison dans la liste des partenaires accessibles ou un programme
S7/M7 dans la vue en ligne. Vous pouvez alors crer une table de variables sans nom
l'aide de la commande Systme cible > Visualiser/forcer des variables.

Dans la fentre "Visualisation et forage de variables" :


Vous pouvez crer, avec la commande Table > Nouvelle, une nouvelle table qui n'est
encore affecte aucun programme S7 ou M7. Vous ouvrez les tables existantes avec la
commande Table > Ouvrir.
Vous pouvez vous servir des boutons de la barre d'outils pour crer ou ouvrir une table
de variables.
Une fois cre, vous pouvez sauvegarder, imprimer et rutiliser la table des variables pour la
visualisation et le forage.

18-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Test avec des tables de variables

18.3.2

Copie ou dplacement de tables de variables


Vous pouvez copier ou dplacer des tables de variables dans le dossier Blocs d'un
programme S7/M7.
Ce faisant, tenez compte des points suivants :
Les mnmoniques existant dj dans la table des mnmoniques du programme cible y
sont mis jour.
Lorsque vous dplacez une table de variables, les mnmoniques correspondants figurant
dans la table des mnmoniques du programme source sont eux aussi dplacs et crits
dans la table des mnmoniques du programme cible.
Lorsque vous effacez des tables de variables du dossier Blocs, les mnmoniques
correspondants sont effacs eux aussi de la table des mnmoniques du programme
S7/M7.
Si le programme cible comporte dj une table des variables portant le mme nom, vous
aurez la possibilit de la renommer lors de la copie (par dfaut, un numro sera ajout au
nom existant).

18.3.3

Enregistrement dune table de variables


Vous pouvez rutiliser les tables de variables enregistres pour visualiser ou forcer les
variables lors d'un nouveau test de votre programme.
1. Enregistrez la table de variables en choisissant la commande Table > Enregistrer.
2. Si vous venez de crer la table des variables, vous devez maintenant lui attribuer un
nom, par exemple "Test_prog1".
Lorsque vous enregistrez une table de variables, tous les paramtres actuels et le format de
la table le sont galement, c'est--dire aussi les paramtres dfinis avec la commande
Dclenchement.

Programmer avec STEP 7 V5.1


A5E00069874-03

18-3

Test avec des tables de variables

18.4
18.4.1

Saisie de variables dans des tables de variables


Insertion d'oprandes ou de mnmoniques dans une table de
variables
Dterminez les variables dont vous souhaitez visualiser l'tat ou que vous dsirez forcer, et
entrez-les dans la table. Pour ce faire, procdez de "l'extrieur" vers "l'intrieur", c'est--dire
choisissez d'abord les entres, puis les variables influences par les entres ou influenant
les sorties et, pour finir, les sorties.
Par exemple, si vous dsirez visualiser l'tat du bit d'entre 1.0, du mot de mmento 5 et de
l'octet de sortie 0, entrez les valeurs suivantes dans la colonne de l'oprande:
Exemple
E 1.0
MW 5
AB 0

Exemple de table de variables complte


La figure suivante montre une table des variables avec les colonnes suivantes : Oprande,
Mnmonique, Format d'affichage, Valeur d'tat et Valeur de forage.
Table des variables 1
Tableau

Edition

Insertion

Systme cible Variable

Affichage Outils

Fentre ?

"Table des variables 1"

Oprande

Mnmonique

Format affichag Valeur tat Val forage

//OB1 Rseau 1
E

0.1

"Bouton-poussoir 1"

BOOL

true

0.2

"Bouton-poussoir 2"

BOOL

true

4.0

"Feu vert"

BOOL

false

//OB1 Rseau 3
E
0.5
"Automatique activ"

BOOL

true

0.6

"Manuel activ"

BOOL

true

4.2

"Fonction. automatique" BOOL

true

//OB1 Appel FB1 pour dmarrage moteur essence


E
1.0
"ME_dmarrage"
BOOL

false

1.1

"ME_arrt"

BOOL

false

E
A

1.2
5.1

"ME_Dfaillance"
BOOL
"ME_Consigne_atteinte" BOOL

false
false

5.0

"ME_marche"

BOOL

//OB1 Appel FB1 pour dmarrafe moteur diesel


E
1.4
"MD_dmarrage"
BOOL
E
1.5
"MD_arrt"
BOOL

true

true
false

(direct)

18-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Test avec des tables de variables

Remarques sur l'insertion de mnmoniques


Vous indiquez la variable forcer par son oprande (adresse absolue) ou son
mnmonique. Vous pouvez saisir des oprandes et des mnmoniques aussi bien dans la
colonne "Oprande" que dans la colonne "Mnmonique". L'entre est automatiquement
reporte dans la colonne qui convient.
Si un tel mnmonique est dfini dans la table des mnmoniques, l'entre correspondante
de la colonne de mnmonique ou d'oprande est automatiquement complte.
Vous ne pouvez inscrire que des mnmoniques dj dfinis dans la table des
mnmoniques.
Vous devez saisir les mnmoniques exactement comme ils ont t dfinis dans la table
des mnmoniques.
Ecrivez entre guillemets les mnmoniques contenant des caractres spciaux (par
exemple, "Moteur.Arrt", " Moteur+Arrt", " Moteur- Arrt").
Utilisez la commande Outils > Table des mnmoniques pour dfinir de nouveaux
mnmoniques dans la table des mnmoniques. Vous pouvez galement copier des
mnmoniques de la table des mnmoniques, puis les insrer dans une table de
variables.

Vrification de la syntaxe
Lorsque vous inscrivez des variables dans la table, une vrification de la syntaxe est
excute avant l'abandon de la ligne. Les entres errones sont marques en rouge.
Lorsque vous placez le curseur sur une ligne signale en rouge, vous pouvez lire la cause
de l'erreur dans la barre d'tat. La touche F1 vous donne alors des indications pour remdier
cette erreur.

Taille maximale
Une table de variables peut comprendre au maximum 255 caractres par ligne. Il n'est pas
possible d'obtenir une seconde ligne par retour chariot. La longueur d'une table de variables
est fixe 1024 lignes. La taille maximale de la table est alors atteinte.

18.4.2

Insertion de valeurs de forage

Mise en commentaire
Si vous souhaitez mettre en commentaire la "valeur de forage" d'une variable, choisissez la
commande Variable > Mise en commentaire. L'indicatif de commentaire "//", plac devant
la valeur de forage de la variable indique sa mise en commentaire. Au lieu d'appeler la
commande, vous pouvez galement saisir l'indicatif de commentaire "//" devant la "valeur de
forage". Pour annuler la mise en commentaire de la "valeur de forage", choisissez
nouveau la commande Variable > Mise en commentaire ou supprimez l'indicatif de
commentaire.

Programmer avec STEP 7 V5.1


A5E00069874-03

18-5

Test avec des tables de variables

18.4.3

Limites suprieures pour la saisie de temporisations


Pour la saisie des temporisations, veuillez respecter les limites suprieures suivantes :
W#16#3999 (valeur maximale en format DCB)

Exemples :
Oprande

Format
d'affichage

Frappe

Valeur de forage Signification


affiche

T1

DUREE
SIMATIC

137

S5TIME#130MS

Conversion en millisecondes

MW 4

DUREE
SIMATIC

137

S5TIME#890MS

Reprsentation en format DCB


possible

MW 4

HEXA

137

W#16#0089

Reprsentation en format DCB


possible

MW 6

HEXA

157

W#16#009D

Reprsentation en format DCB


impossible ; aussi ne pouvezvous pas slectionner le format
d'affichage DUREE SIMATIC.

Nota
Vous pouvez saisir les temporisations avec une prcision d'une milliseconde, mais la
valeur entre est corrige en fonction d'une base de temps interne. La grille de temps
dpend de la valeur entre (137 donne 130ms, les 7ms ayant t arrondies).
Les valeurs de forage d'oprandes de type de donnes WORD, par exemple EW1, sont
converties en format DCB. Mais chaque profil binaire n'est pas un nombre DCB correct !
Quand, pour un oprande de type WORD, la valeur saisie ne peut tre reprsente
comme DUREE SIMATIC, elle est reprsente automatiquement dans le format par
dfaut, ici : HEXA ; voir Choisir format d'affichage, Format par dfaut (menu Affichage)
afin d'tre affiche.

Format DCB pour les variables en format DUREE SIMATIC


Les valeurs de variables en format DUREE SIMATIC sont saisies en format DCB.
Les 16 bits ont la signification suivante.
|00xx|cccc|dddd|uuuu|
Bits15 et 14 sont toujours 0.
Bits 13 et 12 (indiqus par xx) dterminent le multiplicateur pour les bits 0 11 :
00 => multiplicateur 10 millisecondes 01 => multiplicateur 100 millisecondes
10 => multiplicateur 1 seconde
_
11 => multiplicateur 10 secondes
Bits 11 8
centaines (cccc)
Bits 7 4
dizaines (dddd)
Bits 3 0
units (uuuu)

18-6

Programmer avec STEP 7 V5.1


A5E00069874-03

Test avec des tables de variables

18.4.4

Limites suprieures pour la saisie de compteurs


Pour la saisie des compteurs, veuillez respecter les limites suprieures suivantes :
valeur limite pour compteur : C#999
W#16#0999 (valeur maximale en format DCB)

Exemples :
Oprande

Format
d'affichage

Frappe

Valeur de forage
affiche

Signification

Z1

COMPTEUR

137

C#137

Conversion

MW 4

COMPTEUR

137

C#89

Reprsentation en format DCB


possible

MW 4

HEXA

137

W#16#0089

Reprsentation en format DCB


possible

MW 6

HEXA

157

W#16#009D

Reprsentation en format DCB


impossible ; aussi ne pouvezvous pas slectionner le format
d'affichage COMPTEUR.

Nota
Si vous entrez un nombre dcimal pour un compteur sans caractriser la valeur par C#,
elle sera convertie automatiquement en format DCB (137 donne C#137).
Les valeurs de forage d'oprandes de type de donnes WORD, par exemple EW1, sont
converties en format DCB. Mais chaque profil binaire n'est pas un nombre DCB correct !
Quand, pour un oprande de type WORD, la valeur saisie ne peut tre reprsente
comme COMPTEUR, elle est reprsente automatiquement dans le format par dfaut,
ici : HEXA ; voir Choisir format d'affichage, Format par dfaut (menu Affichage) afin
d'tre affiche.

18.4.5

Insertion de lignes de commentaire


Les lignes de commentaire sont introduites par le signe //.
Si vous souhaitez mettre en commentaire une ou plusieurs lignes de la tables des variables
choisissez la commande Edition > Mise en commentaire ou cliquez sur le bouton
correspondant

Programmer avec STEP 7 V5.1


A5E00069874-03

dans la barre doutils.

18-7

Test avec des tables de variables

18.5
18.5.1

Exemples
Exemple de saisie d'oprandes dans une table de variables

Oprande admissible

Type de donnes

Exemple (abrviations allemandes)

Entre | Sortie | Mmento

BOOL

E 1.0 | A 1.7 | M 10.1

Entre | Sortie | Mmento

BYTE

EB 1 | AB 10 | MB 100

Entre | Sortie | Mmento

WORD

EW 1 | AW 10 | MW 100

Entre | Sortie | Mmento

DWORD

ED 1 | AD 10 | MD 100

Priphrie (Entre | Sortie )

BYTE

PEB 0 | PAB 1

Priphrie (Entre | Sortie )

WORD

PEW 0 | PAW 1

Priphrie (Entre | Sortie )

DWORD

PED 0 | PAD 1

Temporisations

TIMER

T1

Compteurs

COUNTER

Z1

Bloc de donnes

BOOL

DB1.DBX 1.0

Bloc de donnes

BYTE

DB1.DBB 1

Bloc de donnes

WORD

DB1.DBW 1

Bloc de donnes

DWORD

DB1.DBD 1

Nota
La saisie de "DB0. .." n'est pas autorise en raison de son utilisation interne.

Dans la fentre des valeurs de forage :


Avec les modules S7-300, vous ne pouvez forcer que les entres, sorties et priphries
(sorties).
Avec les modules S7-400, vous ne pouvez forcer que les entres, sorties, mmentos et
priphries (entres/sorties).

18.5.2

Exemple de saisie dune plage doprandes continue


Ouvrez une table de variables et choisissez la commande Insertion > Plage pour afficher la
bote de dialogue "Insrer une plage doprandes".
Durant la saisie dans la bote de dialogue, les lignes suivantes seront ajoutes la table de
variables pour des mmentos (M) :
Oprande initial : M 3.0
Nombre : 10
Format d'affichage : BIN

18-8

Programmer avec STEP 7 V5.1


A5E00069874-03

Test avec des tables de variables

Oprande

Format d'affichage

M 3.0

BIN

M 3.1

BIN

M 3.2

BIN

M 3.3

BIN

M 3.4

BIN

M 3.5

BIN

M 3.6

BIN

M 3.7

BIN

M 4.0

BIN

M 4.1

BIN

Notez comme dans le prsent exemple, la dsignation change aprs la huitime entre dans
la colonne "Oprande".

18.5.3

Exemples de saisie de valeurs de forage/forage permanent

Oprandes de type bit


Oprandes de type bit possibles

Valeurs de forage/forage permanent autorises

E1.0

true

M1.7

false

A10.7

DB1.DBX1.1

E1.1

2#0

M1.6

2#1

Oprandes de type octet


Oprandes de type octet possibles

Valeurs de forage/forage permanent autorises

EB 1

2#00110011

MB 12

b#16#1F

MB 14

1F

AB 10

DB1.DBB 1

10

PAB 2

12

Programmer avec STEP 7 V5.1


A5E00069874-03

18-9

Test avec des tables de variables

Oprandes de type mot


Oprandes de type mot possibles

Valeurs de forage/forage permanent autorises

EW 1

2#0011001100110011

MW 12

w#16#ABCD

MW 14

ABCD

AW 10

b#(12,34)

DB1.DBW 1

ab

PAW 2

12345

MW 3

12345

MW 5

S5t#12s340ms

MW 7

0.3s ou 0,3s

MW 9

C#123

MW 11

d#1990-12-31

Oprandes de type double mot

18-10

Oprandes de type double mot


possibles

Valeurs de forage/forage permanent autorises

ED 1

2#00110011001100110011001100110011

MD 0

1.23e4

MD 4

1.2

AD 10

dw#16#abcdef10

AD 12

ABCDEF10

DB1.DBD 1

b#(12,34,56,78)

PAD 2

abcd

MD 8

L# -12

MD 12

L#12

MD 16

123456789

MD 20

123456789

MD 24

T#12s345ms

MD 28

Tod#1:2:34.567

MD 32

p#e0.0

Programmer avec STEP 7 V5.1


A5E00069874-03

Test avec des tables de variables

Temporisations
Oprandes de type
temporisation possibles

Valeurs de forage/ forage


permanent autorises

Signification

T1

Valeur de temps en millisecondes (ms)

T 12

20

Valeur de temps en millisecondes (ms)

T 14

12345

Valeur de temps en millisecondes (ms)

T 16

s5t#12s340ms

Valeur de temps gale 12s 340ms

T 18

1.3

Valeur de temps gale 1s 300 ms

T 20

1.3s

Valeur de temps gale 1s 300 ms

Le forage d'une temporisation n'influe que sur la valeur, pas sur l'tat. Ainsi, il est possible
de forcer la temporisation T1 la valeur 0, mais le rsultat logique pour U T1 n'est pas
modifi.
Les chanes de caractres "s5t" et "s5time" peuvent tre crites aussi bien en minuscules
quen majuscules.

Compteurs
Oprandes de type compteur possibles

Valeurs de forage/forage permanent autorises

Z1

Z 14

20

Z 16

c#123

Le forage d'un compteur n'influe que sur la valeur, pas sur l'tat. Ainsi, il est possible de
forcer le compteur Z1 la valeur 0, mais le rsultat logique pour U Z1 n'est pas modifi.

Programmer avec STEP 7 V5.1


A5E00069874-03

18-11

Test avec des tables de variables

18.6
18.6.1

Etablissement d'une liaison la CPU


Etablissement d'une liaison la CPU
Pour visualiser ou forcer les variables que vous avez dfinies dans la table de variables
(VAT) en vigueur, vous devez tablir une liaison la CPU correspondante. Vous pouvez
tablir une liaison une CPU diffrente pour chaque table de variables.

Affichage de la liaison en ligne


En prsence d'une liaison en ligne, la barre de titre de la fentre de la table des variables
affiche "En ligne". En fonction de la CPU, la barre d'tat affiche les tats de fonctionnement
"Marche", "Arrt", Dconnecte" ou "Connecte".

Etablissement d'une liaison en ligne la CPU


S'il n'existe pas de liaison en ligne avec la CPU de votre choix, vous en dfinissez une
l'aide de la commande Systme cible > Etablir la liaison > ... afin de pouvoir visualiser
ou forcer les variables. Vous pouvez galement cliquer sur l'icne correspondante dans la
barre d'outils.

ON

Liaison la CPU configure


Liaison la CPU directement connecte (p. ex. MPI=2 (direct))

ON

Suspension d'une liaison en ligne la CPU


La commande Systme cible > Suspendre la liaison permet dinterrompre la liaison entre
table de variables et CPU.

Nota
Si vous avez cr une table de variables en possdant pas de nom l'aide de la
commande Table > Nouvelle, vous pouvez tablir une liaison la dernire CPU configure
si elle est dfinie.

18-12

Programmer avec STEP 7 V5.1


A5E00069874-03

Test avec des tables de variables

18.7
18.7.1

Visualisation de variables
Introduction la visualisation de variables
Vous disposez des possibilits suivantes pour visualiser des variables :
Activez la fonction de visualisation avec la commande Variable > Visualiser. Les valeurs
des variables slectionnes sont alors affiches dans la table des variables en fonction
du point et de la condition de dclenchement dfinis. Si vous avez choisi la condition de
dclenchement "Cyclique", vous pouvez nouveau dsactiver la fonction de visualisation
avec la commande Variable > Visualiser.
Actualisez les valeurs des variables slectionnes de manire unique et immdiatement
avec la commande Variable > Actualiser les valeurs d'tat. Les valeurs actuelles des
variables slectionnes sont alors affiches dans la table des variables.

Interruption de la visualisation par la touche ECHAP


La fonction "Visualisation" tant en cours d'excution, une pression de la touche ECHAP y
met fin sans demande de confirmation.

18.7.2

Dfinition du dclenchement pour la visualisation de variables


Pour la visualisation, vous pouvez afficher la PG les valeurs en cours de certaines
variables d'un programme utilisateur, en un point dtermin du programme, le point de
dclenchement.
En choisissant un point de dclenchement, vous dfinissez quel instant les valeurs d'tat
des variables vont tre affiches.
La commande Variable > Dclenchement vous permet de dfinir un point et une condition
de dclenchement.
Dclenchement

Possibilits de paramtrage

Point de
dclenchement

Dbut de cycle
Fin de cycle
Passage de "Marche" "Arrt"

Condition de
dclenchement

Programmer avec STEP 7 V5.1


A5E00069874-03

unique
cyclique

18-13

Test avec des tables de variables

Point de dclenchement
La figure suivante montre les diffrents points de dclenchement.
Mmoire image des entres
Point de dclenchement Dbut de cycle

OB 1

Point de dclenchement
"Passage":
Marche -> Arrt"
Point de dclenchement "Fin de cycle"

Mmoire image des sorties

Le choix du point de dclenchement a les effets suivants :


-

Le forage des entres n'a de sens que si le point de dclenchement"Dbut de cycle"


a t choisi, les entres tant sinon crases juste aprs le forage en raison de
l'actualisation de la mmoire image des entres au dbut de l'excution de l'OB
cyclique (OB1).

Les forage des sorties n'a de sens que si le point de dclenchement "Fin de cycle" a
t choisi, la mmoire image des sorties tant sinon crase par le programme
utilisateur .

Pour afficher la valeur force dans la colonne "Valeur d'tat", dfinissez comme point de
dclenchement de la visualisation "Dbut de cycle" et comme point de dclenchement du
forage "Fin de cycle".

Dclenchement immdiat
Vous pouvez actualiser les valeurs de variables slectionnes en choisissant la commande
Variable > Actualiser les valeurs d'tat. Cette tche est excute une seule fois et le plus
rapidement possible, sans relation avec un endroit prcis dans le programme utilisateur. Ces
fonctions s'utilisent principalement l'tat d'"Arrt" (STOP) pour la visualisation et le forage.

Condition de dclenchement
Le tableau suivant montre l'effet de la condition de dclenchement slectionne sur la
visualisation de variables :

Visualiser
des
variables

18-14

Condition de dclenchement
"Unique"

Condition de dclenchement "Cyclique"

Actualisation unique

Visualisation avec dclenchement dfini

dpend du point de dclenchement

Lorsque vous testez un bloc, vous pouvez


suivre avec prcision la poursuite du
traitement.

Programmer avec STEP 7 V5.1


A5E00069874-03

Test avec des tables de variables

18.8
18.8.1

Forage de variables
Introduction au forage de variables
Vous disposez des possibilits suivantes pour forcer des variables :
Activez la fonction de forage avec la commande Variable > Forcer. Le programme
utilisateur affecte aux variables slectionnes les valeurs de forage figurant dans la
table des variables, en fonction du point et de la condition de dclenchement dfinis. Si
vous avez choisi la condition de dclenchement "Cyclique", vous pouvez nouveau
dsactiver la fonction de forage avec la commande Variable > Forcer.
Actualisez les valeurs des variables slectionnes de manire unique et immdiatement
avec la commande Variable > Actualiser valeurs d'tat.
Des possibilits supplmentaires vous sont offertes avec les fonctions "Forage permanent"
et "Dbloquer sorties priphriques".

Important lors du forage :


Le forage s'applique seulement aux oprandes qui taient visibles dans la table des
variables au dbut du forage.
Si la zone visible de la table de variables se trouve rduite aprs le dbut du forage, il
peut arriver que des oprandes devenus invisibles soient forcs.
Si la zone visible de la table de variables se trouve agrandie, il peut arriver que des
oprandes devenus visibles ne soient pas forcs.
Il n'est pas possible d'annuler le forage (par exemple avec la commande Edition >
Annuler).
Lors du forage cyclique, il n'est pas possible de faire dfiler l'cran.

Danger
Modifier les valeurs des variables alors que linstallation est en marche peut, en cas de
dfaut de fonctionnement ou d'erreurs dans le programme, entraner des blessures
corporelles graves et des dgts matriels importants.
Assurez-vous qu'aucun tat dangereux ne peut apparatre avant d'excuter la fonction
"Forage".

Interruption du forage par la touche ECHAP


La fonction "Forage" tant en cours d'excution, une pression de la touche ECHAP y met
fin sans demande de confirmation.

Programmer avec STEP 7 V5.1


A5E00069874-03

18-15

Test avec des tables de variables

18.8.2

Dfinition du dclenchement pour le forage de variables


Vous pouvez affecter de manire unique ou cyclique des valeurs fixes des variables d'un
programme utilisateur en un point dfini dans l'excution du programme (point de
dclenchement).
En choisissant un point de dclenchement, vous dfinissez quel instant les valeurs de
forage seront affectes aux variables.
La commande Variable > Dclenchement vous permet de dfinir le point et une condition
de dclenchement.
Dclenchement

Possibilits de paramtrage

Point de
dclenchement

Dbut de cycle
Fin de cycle
Passage de "Marche" "Arrt"

Condition de
dclenchement

unique
cyclique

Point de dclenchement
La figure suivante illustre la position des points de dclenchement.
Mmoire image des entres
Point de dclenchement Dbut de cycle

OB 1

Point de dclenchement
"Passage":
Marche -> Arrt"
Point de dclenchement "Fin de cycle"

Mmoire image des sorties

Pour afficher la valeur force dans la colonne "Valeur d'tat", dfinissez comme point de
dclenchement de la visualisation "Dbut de cycle" et comme point de dclenchement du
forage "Fin de cycle".
Lors du forage de variables, tenez compte des indications suivantes en ce qui concerne les
points de dclenchement :

18-16

Si vous avez choisi la condition de dclenchement "Unique", vous obtenez un


message lorsque les variables slectionnes ne peuvent pas tre forces.

Si la condition de dclenchement est "Cyclique", vous n'obtenez pas de message .

Programmer avec STEP 7 V5.1


A5E00069874-03

Test avec des tables de variables

Dclenchement immdiat
Vous pouvez forcer les valeurs de variables slectionnes en choisissant la commande
Variable > Activer valeurs de forage. Cette tche est excute une seule fois et le plus
rapidement possible, sans relation avec un endroit prcis dans le programme utilisateur.
Cette fonction s'utilise principalement l'tat d'"Arrt" (STOP) pour le forage.

Condition de dclenchement
Le tableau suivant montre l'effet de la condition de dclenchement slectionne sur le
forage de variables :

Forcer des
variables

Condition de dclenchement
"Unique"

Condition de dclenchement "Cyclique"

Activation unique (forage de variables)


Vous pouvez affecter des valeurs des
variables une fois en fonction du point
de dclenchement.

Forage avec dclenchement dfini


Le forage de variables des valeurs fixes
permet de simuler des situations prcises
pour votre programme utilisateur et de
tester ainsi les fonctions programmes.

Programmer avec STEP 7 V5.1


A5E00069874-03

18-17

Test avec des tables de variables

18.9
18.9.1

Forage permanent de variables


Introduction au forage permanent de variables
Vous pouvez affecter des valeurs fixes des variables individuelles d'un programme
utilisateur afin qu'elles ne puissent ni tre modifies ni tre crases, mme par le
programme utilisateur excut dans la CPU. Il faut videmment que la CPU possde cette
fonction (comme, par exemple, la CPU S7-400). Le forage permanent de variables des
valeurs fixes permet de simuler des situations prcises pour votre programme utilisateur et
de tester ainsi les fonctions programmes.

Fentre des valeurs de forage permanent


Les commandes de forage permanent ne sont disponibles qu'une fois la fentre des
valeurs de forage permanent ouverte.
Pour afficher cette fentre, choisissez la commande Variable > Afficher valeurs de
forage permanent.
Vous n'tes autoris ouvrir qu'une seule fentre de valeurs de forage permanent par
CPU. Les variables y sont affiches avec leurs valeurs pour la tche active de forage
permanent.

Exemple de fentre des valeurs de forage permanent


Valeurs de forage permanent : MPI = 3 (direct) En ligne
Oprand Mnmo Format d'affich

Valeur de for

EB 0

HEX

B#16#10

0.1

BOOL

true

1.2

BOOL

true

La barre du titre mentionne le nom de la liaison en ligne actuelle.


La barre d'tat indique le moment (date et heure) auquel la tche de forage permanent a
t lue dans la CPU.
La fentre est vide si aucune tche de forage permanent n'est active.
Les diffrents types d'affichage de variables dans cette fentre ont les significations
suivantes :
Affichage

Signification

Affichage gras :

variables ayant dj reu une valeur fixe dans la CPU

Affichage normal : variables en cours d'dition


Affichage
estomp :

variables d'un module inexistant ou non enfich


ou
variables avec erreur d'adressage, un message d'erreur s'affichera.

18-18

Programmer avec STEP 7 V5.1


A5E00069874-03

Test avec des tables de variables

Reprise d'oprandes forables de la table des variables


Slectionnez dans la table des variables les variables que vous dsirez forcer.
Si vous ouvrez la fentre du forage permanent, vous pouvez voir ces valeurs s'y afficher si
le module est en mesure de forcer ces variables.

Reprise de la tche de forage permanent de la CPU ou cration d'une nouvelle tche


de forage permanent
Un autre message s'affiche lorsque la fentre des valeurs de forage permanent est ouverte
et active :
Si vous confirmez, les modifications dans la fentre des valeurs de forage permanent
sont remplaces par la tche de forage permanent se trouvant dans la CPU. La
commande Edition > Annuler vous permet de rtablir le contenu prcdent de la
fentre.
Si vous annulez, la fentre des valeurs de forage permanent conserve son contenu
actuel.
Vous pouvez ensuite enregistrer le contenu de la fentre en tant que table de variables
avec la commande Table > Enregistrer sous ou bien choisir la commande Variable
>Forage permanent : ainsi, le contenu en cours de la fentre des valeurs de forage
permanent est crit dans la CPU comme nouvelle tche de forage permanent.
La visualisation et le forage de variables ne sont possibles que dans la tables des
variables, mais pas dans la fentre "Valeurs de forage permanent".

Enregistrement d'une fentre de valeurs de forage permanent


Vous pouvez mmoriser le contenu dune fentre de valeurs de forage permanent dans
une table de variables. La commande Insertion > Table de variables permet dinsrer de
nouveau le contenu mmoris dans la fentre des valeurs de forage permanent.

Remarques sur les mnmoniques dans la fentre "Valeurs de forage"


Les mnmoniques de la dernire fentre active sont repris, except lorsque vous appelez
"Visualisation et forage de variables" partir d'une autre application qui ne dispose pas de
mnmoniques.
La colonne "Mnmonique" ne figure pas dans la table si vous ne pouvez pas saisir de
mnmoniques. Dans ce cas, la commande Outils > Table des mnmoniques nest pas non
plus disponible.

Programmer avec STEP 7 V5.1


A5E00069874-03

18-19

Test avec des tables de variables

18.9.2

Mesures de scurit pour le forage permanent de variables

Vous devez viter des lsions corporelles ou un dommage matriel !


Notez bien qu'une erreur de manipulation de la fonction "Forage permanent" risque
de mettre en danger la vie ou la sant des oprateurs,
d'endommager la machine ou l'ensemble de l'installation.

Avertissement
Avant de lancer la fonction de forage permanent, assurez-vous que personne d'autre
ne l'excute simultanment sur la mme CPU.
Seule la commande Variable > Annuler forage permanent peut effacer une tche de
forage permanent ou y mettre fin. Les valeurs de forage permanent ne sont pas
effaces par la fermeture de la fentre qui les affiche ou par celle de l'application
"Visualisation et forage de variables".
La commande Edition > Annuler ne permet pas d'annuler le forage permanent.
Renseignez-vous sur les diffrences entre forage de variables et forage permanent de
variables.
Aucune des commandes du menu "Variable" concernant le forage permanent n'est
disponible quand une CPU n'accepte pas la fonction de forage permanent.
Tous les modules de sorties faisant l'objet d'un forage permanent indiquent leur valeur de
forage permanent si vous annulez le blocage des sorties avec la commande Variable >
Dbloquer sorties priphriques.

18-20

Programmer avec STEP 7 V5.1


A5E00069874-03

Test avec des tables de variables

18.9.3

Diffrences entre forage de variables et forage permanent de


variables
Le tableau suivant rsume les diffrences entre forage et forage permanent.
Caractristique / fonction

Forage
permanent
avec S7-400

Forage
permanent
avec S7-300

Forage

Mmentos (M)

oui

oui

Temporisations et compteurs (T, Z)

oui

Blocs de donnes (DB)

oui

Entres de priphrie (PEB, PEW, PED) oui

Sorties de priphrie (PAB, PAW,PAD)

oui

oui

Entres et sorties (E, A)

oui

oui

oui

Le programme utilisateur peut craser


les valeurs de forage/forage perm.

oui

oui

Le remplacement de la valeur de
forage permanent prend effet sans
interruption

oui

oui

Les variables conservent leurs valeurs


aprs la fermeture de l'application

oui

oui

Les variables conservent leurs valeurs


une fois la liaison la CPU suspendue

oui

oui

Erreur d'adressage autorise :


par ex. : EW1
valeur de
forage/forage permanent : 1
EW1
valeur de
forage/forage permanent : 0

La dernire
prend effet

Dfinition du dclenchement

Toujours
dclenchement
immdiat

Toujours
dclenchement
immdiat

Unique ou
cyclique

S'applique
toutes les
valeurs de
forage
permanent

oui

La fonction ne s'applique qu'aux


S'applique
variables figurant dans la zone visible de toutes les
la fentre active
valeurs de
forage
permanent

Nota
Avec la fonction "Dblocage des sorties de priphrie", les valeurs de forage
permanent pour les sorties de priphrie concernes prennent effet aux modules
correspondants, mais pas les valeurs de forage pour les sorties de priphrie fores
de manire cyclique.
En cas de forage permanent, la variable possde toujours la valeur de forage
permanent. Cette valeur est lue dans le programme utilisateur chaque accs en
lecture. Tous les accs en criture sont inefficaces.
En cas de forage cyclique, les accs en criture du programme sont efficaces et le
restent jusqu'au point de dclenchement suivant.

Programmer avec STEP 7 V5.1


A5E00069874-03

18-21

Test avec des tables de variables

18-22

Programmer avec STEP 7 V5.1


A5E00069874-03

19 Test avec la visualisation d'tat du programme

19.1

Test avec la visualisation d'tat du programme


Vous pouvez tester votre programme en affichant, pour chaque instruction, l'tat du
programme (RLG, bit d'tat) ou le contenu des registres correspondants. Vous slectionner
les informations afficher dans la page d'onglet "LIST" de la bote de dialogue "Paramtres".
Pour ouvrir cette bote de dialogue, choisissez la commande Outils > Paramtres dans la
fentre "CONT/LOG/LIST" : Programmation de blocs".

Attention
Si vous effectuez le test d'une installation en marche, d'ventuels dfauts de
fonctionnement ou erreurs de programmation risquent d'occasionner des dommages
matriels et personnels graves !
Avant d'excuter une fonction, assurez-vous qu'aucune situation dangereuse ne peut se
produire !

Conditions pralables
Pour pouvoir afficher l'tat du programme, il faut que les conditions suivantes soient
remplies :
Vous avez enregistr le bloc sans erreurs, puis l'avez charg dans la CPU.
La CPU est en marche, le programme utilisateur s'excute.
Vous avez ouvert le bloc en ligne.

Programmer avec STEP 7 V5.1


A5E00069874-03

19-1

Test avec la visualisation d'tat du programme

Marche suivre de principe pour la visualisation de l'tat du programme :


Il est fortement recommand de ne pas appeler et tester immdiatement le programme
complet, mais d'appeler et tester les blocs les uns aprs les autres. Ce faisant, il faut
commencer par les blocs de niveau infrieur, c'est--dire les blocs au dernier niveau
d'imbrication de la hirarchie d'appel. Vous appelez, par exemple, ces blocs dans l'OB1 et
crez l'environnement tester pour ces blocs par visualisation et forage des variables.
Ouverture du bloc en mode en ligne

Dfinition des paramtres pour laffichage test

Dfinition des conditions de dclenchement


(facultatif)

Slection de lenvironnement de test

Lancement ou arrt du test

Pour effectuer un test en utilisant la fonction de visualisation d'tat du programme, pour


dfinir des points d'arrt et pour excuter le programme en mode pas pas, vous devez
slectionner le mode de fonctionnement test (cf. commande Test > Mode de
fonctionnement). En mode processus, ces fonctions de test ne sont pas possibles.

19-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Test avec la visualisation d'tat du programme

19.2

Affichage dans la visualisation d'tat de programme


Laffichage de la visualisation d'tat de programme est actualis cycliquement. Il dbute
avec le rseau slectionn.

Valeurs par dfaut dans CONT/LOG


Etat satisfait : lignes continues en vert
Etat non satisfait : lignes pointilles en bleu
Etat inconnu : lignes continues en noir
Vous pouvez modifier ces valeurs pour le type et la couleur des lignes dans la page d'onglet
"CONT/LOG" que vous affichez via la commande Outils > Paramtres.

Etat des lments


L'tat d'un contact :
-

est satisfait lorsque l'oprande a la valeur "1" ;

n'est pas satisfait lorsque l'oprande a la valeur "0" ;

est inconnu lorsque la valeur de l'oprande est inconnue.

L'tat d'lments avec sortie de validation (ENO) correspond l'tat d'un contact avec la
valeur de la sortie ENO comme oprande.
L'tat d'lments avec sortie Q correspond l'tat d'un contact avec la valeur de
l'oprande.
L'tat pour des oprations CALL est satisfait lorsque le bit de rsultat binaire est 1
aprs l'appel.
L'tat d'une opration de saut est satisfait lorsque le saut est excut, c'est--dire lorsque
la condition de saut est satisfaite.
Les lments avec sortie de validation (ENO) sont reprsents en noir lorsque la sortie
de validation n'est pas dfinie.

Etat des lignes


Les lignes sont en noir lorsqu'elles n'ont pas t empruntes ou que leur tat est
inconnu.
L'tat des lignes commenant la barre d'alimentation est toujours satisfait ("1").
L'tat des lignes au dbut de branches parallles est toujours satisfait ("1").
L'tat des lignes aprs un lment est satisfait lorsque l'tat de la ligne avant l'lment et
l'tat de l'lment sont satisfaits.
L'tat de la ligne aprs NOT est satisfait lorsque l'tat de la ligne avant NOT n'est pas
satisfait (et inversement).
L'tat de la ligne aprs la jonction de plusieurs lignes est satisfait :
-

lorsque, d'une part, l'tat d'une ligne au moins avant la jonction est satisfait

et que, d'autre part, l'tat de la ligne avant l'ouverture de la branche ou des branches est
satisfait.

Etat des paramtres


Les valeurs de paramtres en gras sont les valeurs en cours.
Les valeurs de paramtres en criture normale proviennent d'un cycle prcdent ; il n'y a
pas eu de passage par cet endroit du programme pendant le cycle en cours.
Programmer avec STEP 7 V5.1
A5E00069874-03

19-3

Test avec la visualisation d'tat du programme

19.3

Informations sur le test en mode pas pas et sur les points


d'arrt
Lors du test en mode pas pas, vous pouvez :
traiter des programmes instruction par instruction (pas pas) ;
dfinir des points d'arrt.
La fonction "Test en mode pas pas" n'est pas ralise dans tous les automates
programmables (voyez la documentation de votre automate).
Mot dtat
/ER

ETAT

RLG

OR

OS
OV

A0

RB

A1

Accu1

3039

Accu2

58

AR1

AR2

84000000

GlobDB

InstDB

Conditions pralables
Vous devez avoir slectionn mode test. Le test en mode pas pas n'est pas possible en
mode processus (cf. commande Test > Mode de fonctionnement).
Le test en mode pas pas n'est possible qu'en LIST. Pour les blocs en CONT ou en
LOG, vous devez d'abord changer l'affichage l'aide de la commande Affichage > LIST.
Le bloc ne doit pas tre protg.
Le bloc doit tre ouvert en ligne.
Il ne faut pas que le bloc ouvert ait t modifi dans l'diteur.

19-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Test avec la visualisation d'tat du programme

Nombre de points d'arrt


Le nombre de points d'arrt varie et dpend :
du nombre de points d'arrt dj dfinis,
du nombre d'tats de variable en cours,
du nombre d'tats de programme en cours.
Consultez votre documentation pour savoir si votre automate programmable prend en
charge le test en mode pas pas.
Les commandes vous permettant de dfinir, d'activer ou de supprimer des points d'arrt font
partie du menu "Test". Vous avez en outre la possibilit de choisir ces commandes l'aide
des boutons correspondants dans la barre des points d'arrt. Pour afficher la barre des
points d'arrt, choisissez la commande Affichage > Barre de points d'arrt.

Fonctions de test autorises


Visualisation et forage de variables
Etat du module
Etat de fonctionnement

Danger
Attention aux tats dangereux de l'installation dans l'tat de fonctionnement "Attente".

Programmer avec STEP 7 V5.1


A5E00069874-03

19-5

Test avec la visualisation d'tat du programme

19.4

Informations sur l'tat de fonctionnement "Attente"


Lorsque le programme atteint un point d'arrt, l'automate programmable passe l'tat de
fonctionnement "Attente".

Signalisation des diodes lectroluminescentes (DEL) l'tat "Attente"


La DEL

RUN

La DEL

STOP est allume.

clignote.

Traitement du programme l'tat de fonctionnement "Attente"


Le code S7 n'est pas trait l'tat "Attente" : aucun niveau d'excution n'est plus trait.
Tous les temps sont suspendus :
- pas de traitement des cellules de temporisation,
- arrt de tous les temps de surveillance,
- arrt des impulsions de base des niveaux dclenchs par horloge.
L'horloge temps rel continue fonctionner.
Pour des raisons de scurit, les sorties sont toujours inhibes l'tat de fonctionnement
"Attente" (voir "output disable" des modules de sorties).

Comportement en cas de coupure secteur l'tat de fonctionnement "Attente"


Si, lorsqu'un automate programmable avec sauvegarde est l'tat "Attente", il y a une
coupure secteur suivie d'un retour de tension, cet automate passe l'tat de
fonctionnement "Arrt" (STOP) et y reste. La CPU n'excute pas de mise en route
automatique. Vous dcidez vous-mme, partir de l'tat "Arrt", de la raction
approprie (par exemple, dfinir ou effacer des points d'arrt, excuter une mise en route
manuelle).
Les automates programmables sans sauvegarde n'ont pas de "mmoire" et excutent
donc un dmarrage automatique lors du retour de la tension, quel qu'ait t l'tat de
fonctionnement prcdent.

19-6

Programmer avec STEP 7 V5.1


A5E00069874-03

Test avec la visualisation d'tat du programme

19.5

Etat du programme de blocs de donnes


A partir de la version 5 de STEP 7, il est possible de visualiser un bloc de donnes dans la
vue des donnes en ligne. Cet affichage peut tre activ aussi bien depuis un bloc de
donnes en ligne que depuis un bloc de donnes hors ligne. Dans les deux cas, cest le
contenu du bloc de donnes en ligne du systme cible qui est affich.
Le bloc de donnes ne doit pas tre modifi avant lappel de ltat du programme. En cas de
diffrence structurelle (dclaration) entre le bloc de donnes en ligne et le bloc de donnes
hors ligne, vous pouvez directement charger le bloc de donnes hors ligne dans le systme
cible.
Le bloc de donnes doit se trouver dans la "vue des donnes", afin que les valeurs en ligne
puissent tre reprsentes dans la colonne "Valeur actuelle". Seule la partie du bloc de
donnes visible lcran est actualise. Pendant que ltat est actif, vous ne pouvez pas
passer la vue des dclarations.
Durant lactualisation, la barre de dfilement verte est visible dans la barre dtat du bloc de
donnes et ltat de fonctionnement est affich.
Les valeurs sont affiches dans le format du type de donnes respectif. Une modification du
format nest pas possible.
Lorsque vous mettez fin ltat du programme, le contenu qui tait pralablement valable
saffiche nouveau dans la colonne des valeurs actuelles. Vous ne pouvez pas reprendre
les valeurs en ligne actualises dans le bloc de donnes hors ligne.

Actualisation de types de donnes


Tous les types de donnes simples sont aussi bien actualiss dans un DB global que dans
toutes les dclarations (in/out/inout/stat) dun bloc de donnes dinstance.
Certains types de donnes ne peuvent pas tre actualiss. Lorsque ltat du programme est
activ, les champs contenant des donnes non actualises sont estomps dans la colonne
"Valeur actuelle".
Les types de donnes complexes DATE_AND_TIME et STRING ne sont pas actualiss.
Dans les types de donnes complexes ARRAY, STRUCT, UDT, FB, SFB, seuls les
lments qui sont des types de donnes simples sont actualiss.
Dans la dclaration INOUT dun bloc de donnes dinstance, seul le pointeur sur le type
de donnes complexe est reprsent mais ses lments ne le sont pas. Le pointeur nest
pas actualis.
Les types de paramtre ne sont pas actualiss.

Programmer avec STEP 7 V5.1


A5E00069874-03

19-7

Test avec la visualisation d'tat du programme

19.6

Dfinition de l'environnement d'appel du bloc


Vous pouvez indiquer des conditions prcises pour la visualisation de l'tat du programme
en dfinissant l'environnement d'appel. L'tat du programme n'est alors enregistr que
lorsque la condition de dclenchement prcise est satisfaite.
Procdez de la manire suivante :
1. Choisissez la commande Test > Conditions dappel.
2. Fixez, dans la bote de dialogue "Conditions d'appel du bloc" qui apparat alors, vos
conditions de dclenchement et confirmez par "OK".
Slection
possible

Signification

Chemin dappel

Vous pouvez indiquer ici le chemin suivant lequel bloc tester doit tre
appel pour dclencher une visualisation d'tat. Vous pouvez saisir les trois
derniers niveaux d'appel prcdant le bloc tester.

Avec adresse

Dsactivez cette option si la condition par chemin d'appel tait annule.

Blocs de donnes
ouverts

L'environnement d'appel est dfini par l'indication d'un ou de deux blocs de


donnes. La visualisation d'tat est ralise lorsque le bloc tester a t
appel avec les blocs de donnes respectifs indiqus.

Dfinition de l'environnement d'appel d'instances de blocs


Pour afficher l'tat du programme d'un bloc dans une instance donne, procdez de la
manire suivante :
1. Choisissez la commande Test > Mode de fonctionnement et slectionnez le "Mode
test".
2. Ouvrez le bloc appelant et positionnez le curseur sur l'instruction d'appel souhaite
(ligne CALL dans LIST ou bote du bloc dans CONT/LOG).
3. En cliquant sur le bouton droit de la souris, choisissez la commande Bloc appel >
Visualiser avec chemin d'appel.
Rsultat : le bloc appel s'ouvre, l'appel est inscrit comme critre dans la condition de
dclenchement du bloc et l'tat est activ pour cette instance du bloc.
Les conditions de dclenchement des blocs de donnes existantes restent inchanges.

19-8

Programmer avec STEP 7 V5.1


A5E00069874-03

20 Test avec le programme de simulation


S7-PLCSIM (logiciel optionnel)

20.1

Test avec le programme de simulation (logiciel optionnel)


Le logicidel optionnel de simulation vous permet d'excuter et de tester votre programme
dans un systme d'automatisation que vous simulez dans votre ordinateur ou dans votre
console de programmation (par exemple une PG 740). La simulation tant compltement
ralise au sein du logiciel STEP 7, il n'est pas ncessaire que vous soyez connect un
matriel S7 quelconque (CPU ou modules de signaux). La CPU S7 simule vous permet de
tester les programmes destins aussi bien aux CPU S7-300 qu'aux CPU S7-400 et de
remdier d'ventuelles erreurs.
Cette application dispose d'une interface simple vous permettant de surveiller et de modifier
les diffrents paramtres utiliss par le programme (comme par exemple d'activer ou de
dsactiver des entres). Tout en excutant votre programme dans la CPU simule, vous
avez en outre la possibilit de mettre en uvre les diffrents applications du logiciel STEP 7,
comme par exemple la table des variables afin d'y visualiser et d'y forcer des variables.

Programmer avec STEP 7 V5.1


A5E00069874-03

20-1

Test avec le programme de simulation S7-PLCSIM (logiciel optionnel)

20-2

Programmer avec STEP 7 V5.1


A5E00069874-03

21 Diagnostic

21.1

Diagnostic du matriel et recherche d'erreurs


Des icnes de diagnostic vous permettent de dceler la prsence dinformations de
diagnostic pour un module. Elles indiquent ltat du module concern et, pour les CPU,
galement leur tat de fonctionnement.
Les icnes de diagnostic s'affichent dans la vue en ligne de la fentre du projet, dans la vue
rapide (prslection) ou encore dans la vue de diagnostic lorsque vous appellez la fonction
"Diagnostic du matriel". Des informations de diagnostic dtailles sont donnes par l'"Etat
du module" que vous appellerez par double clic sur une icne de diagnostic dans la vue
rapide ou dans la vue de diagnostic.

SIMATIC Manager En ligne


Projet

Programme S7

Station

Icne de
diagnostic
de la CPU

Appel de la fonction
"Diagnostic du matriel"

Vue rapide

Vue de diagnostic

CPU
+ modules dfaillants

Etat du module

Programmer avec STEP 7 V5.1


A5E00069874-03

UR (0)
1

PS 307 5A

CPU 314

AI-300

21-1

Diagnostic

Marche suivre pour localiser les dfauts


1. Ouvrez la fentre en ligne du projet en choisissant la commande Affichage > En ligne.
2. Ouvrez toutes les stations de sorte que les modules programmables qui y sont configurs
saffichent.
3. Vrifiez pour quelle CPU une icne de diagnostic est affiche pour signaler une erreur ou
un dfaut. En appuyant sur la touche F1, vous obtenez une page daide avec les
explications relatives aux icnes de diagnostic.
4. Slectionnez la station que vous souhaitez examiner.
5. Choisissez la commande Systme cible > Etat du module pour afficher ltat du module
de la CPU appartenant cette station.
6. Choisissez la commande Systme cible > Diagnostic du matriel pour afficher la "vue
rapide" avec la CPU et les modules dfecteux de cette station. Laffichage de la vue
rapide est prslectionn (commande Outils > Paramtres, page donglet "Affichage").
7. Slectionnez un module dfectueux dans la vue rapide.
8. Cliquez sur le bouton "Etat du module" pour obtenir les informations sur ce module.
9. Dans la vue rapide, cliquez sur le bouton "Station en ligne" pour afficher la vue de
diagnostic. La vue de diagnostic affiche tous les modules de la station dans la disposition
des emplacements.
10. Effectuez un double clic sur un module dans la vue de diagnostic pour en afficher ltat
correspondant. Vous obtenez ainsi galement des informations sur les modules non
dfectueux, qui ne sont donc pas affichs dans la vue rapide.
Il nest pas impratif de raliser la totalit de ces tapes et vous pouvez vous arrter ds que
vous avez trouv linformation de diagnostic recherche.

21-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

21.2

Icnes de diagnostic dans la vue en ligne


Les icnes de diagnostic s'affichent aussi bien dans la fentre en ligne du projet que dans la
vue en ligne des tables de la fentre de configuration du matriel.
Les icnes de diagnostic vous facilitent la recherche d'erreur en cas de dfaut. Un coup
d'il sur l'icne du module vous indique s'il y a des informations de diagnostic son sujet.
En cas de fonctionnement sans erreur, les icnes des types de module sont reprsentes
sans icne de diagnostic supplmentaire.
Quand il y a des informations de diagnostic au sujet d'un module, une icne de diagnostic
s'ajoute celle du module, ou l'icne du module est reprsente estompe.

Icnes de diagnostic pour modules (exemple FM/CPU)


Icne

Signification
La configuration sur site diffre de la
configuration prvue : le module
configur n'est pas enfich ou un autre
type de module est enfich.
Erreur : module dfectueux.
Causes possibles : dtection d'une
alarme de diagnostic, d'une erreur
d'accs la priphrie ou d'une DEL
d'erreur.
Le diagnostic n'est pas possible, parce
qu'il n'y a pas de liaison en ligne ou
que la CPU ne fournit pas
d'informations de diagnostic sur le
module (par ex. alimentation en
courant, cartouches).

Icnes de diagnostic pour tats de fonctionnement ( l'exemple d'une CPU)


Icne

Etat de fonctionnement
Mise en route

Arrt

Arrt
dclench par l'tat d'arrt d'une autre
CPU en fonctionnement
multiprocesseur
Marche

Attente

Programmer avec STEP 7 V5.1


A5E00069874-03

21-3

Diagnostic

Icne de diagnostic pour forage permanent


Icne

Etat de fonctionnement
Un forage permanent de variables
est effectu sur ce module, ce qui
signifie que certaines variables du
programme utilisateur ont reu des
valeurs fixes que le programme ne
peut pas modifier.
La marque de forage permanent peut
tre combine avec d'autres icnes
(elle l'est ici avec l'icne reprsentant
l'tat Marche).

Actualisation de l'affichage des icnes de diagnostic


La fentre correspondante doit tre active.
Appuyez sur la touche de fonction F5 ou
choisissez la commande Affichage > Actualiser dans la fentre.

21-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

21.3
21.3.1

Diagnostic du matriel : vue rapide


Appel de la vue rapide
La vue rapide vous permet de parvenir rapidement dans le Diagnostic du matriel en
fournissant des informations rduites par rapport aux informations compltes affiches dans
HW Config. La vue rapide saffiche par dfaut lappel de la fonction "Diagnostic du
matriel".

Affichage de la vue rapide


Vous appelez cette fonction dans SIMATIC Manager en choisissant la commande Systme
cible > Diagnostic du matriel.
Vous pouvez utiliser cette commande de la manire suivante :
dans la fentre en ligne du projet, lorsquun module ou un programme S7/M7 sont
slectionns,
dans la fentre "Partenaires accessibles", lorsquun partenaire ("MPI=...") est slectionn
et que cette entre appartient une CPU.
Dans les tables de configuration ouvertes, vous pouvez alors slectionner des modules pour
lesquels vous souhaitez afficher ltat.

21.3.2

Fonctions dinformation de la vue rapide


La vue rapide affiche les informations suivantes :
donnes pour la liaison en ligne la CPU,
icne de diagnostic de la CPU,
icnes de diagnostic des modules pour lesquels la CPU a dtect un dfaut (par
exemple, alarme de diagnostic, erreur daccs la priphrie),
type et adresse du module (profil support/chssis, emplacement denfichage, rseau
matre DP avec numro de station).

Autres possibilits de diagnostic dans la vue rapide


Affichage de ltat du module
Vous appelez cette bote de dialogue en cliquant sur le bouton "Etat du module". Selon
laptitude au diagnostic du module, vous y obtenez des informations dtailles sur le
module slectionn. Ltat du module de la CPU vous permet en particulier dafficher les
entres dans la mmoire tampon de diagnostic.
Affichage de la vue de diagnostic
En cliquant sur le bouton "Station en ligne" vous appelez cette bote de dialogue qui,
contrairement la vue rapide, fournit une reprsentation graphique de lensemble de la
station ainsi que des informations sur la configuration. Vous tes positionn sur le
module qui est slectionn dans la liste "CPU / Modules dfaillants".

Programmer avec STEP 7 V5.1


A5E00069874-03

21-5

Diagnostic

21.4
21.4.1

Diagnostic du matriel : vue du diagnostic


Appel de la vue de diagnostic de HW Config
Cette mthode vous permet d'afficher la bote de dialogue onglets "Etat du module" pour
tous les modules du profil support ou chssis. La vue de diagnostic (table de configuration)
montre la composition effective d'une station au niveau des profils supports ou chssis et
des stations DP avec leurs modules.

Nota
Si la table de configuration est dj ouverte hors ligne, la commande Station > Ouvrir en
ligne vous donne galement la vue en ligne des tables de configuration.
La bote de dialogue onglets "Etat du module" affiche un nombre variable d'onglets
selon les fonctions de diagnostic ralises par le module.
La fentre "Partenaires accessibles" affiche exclusivement les modules possdant leur
propre adresse de rseau (adresse MPI ou PROFIBUS).

Appel dans SIMATIC Manager, depuis la vue EN LIGNE dun projet


1. Dans la vue du projet de SIMATIC Manager, tablissez une liaison en ligne avec le
systme cible en choisissant la commande Affichage > En ligne.
2. Slectionnez une station et ouvrez-la par double-clic.
3. Ouvrez l'objet "Matriel" qu'elle contient ; La vue du diagnostic s'ouvre.
Vous pouvez prsent slectionner un module et en appeler l'tat en choisissant la
commande Systme cible > Etat du module.

21-6

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

Appel dans SIMATIC Manager, depuis la vue hors ligne dun projet
Procdez de la manire suivante :
1. Dans la vue du projet de SIMATIC Manager, slectionnez une station et ouvrez-la par
double clic.
2. Ouvrez l'objet "Matriel" qu'elle contient ; La table de configuration s'ouvre.
3. Choisissez la commande Station > Ouvrir en ligne.
4. La vue de diagnostic de HW Config s'ouvre avec la configuration de station telle qu'elle a
t fournie par les modules (par exemple CPU). L'tat des modules est reprsent par
des icnes. La signification des icnes est donne dans l'aide en ligne. Les modules
dfectueux ou manquants sont numrs dans une bote de dialogue part. Vous
pouvez passer directement de cette bote l'un des modules mentionns (bouton "Aller
").
5. Cliquez deux fois sur l'icne du module dont vous souhaitez connatre l'tat. Une bote de
dialogue onglets (qui dpendent du type de module) vous permet de raliser une
analyse dtaille de l'tat du module.

Appel dans SIMATIC Manager, depuis la fentre "Partenaires accessibles"


Procdez de la manire suivante :
1. Dans SIMATIC Manager, choisissez la commande Systme cible > Partenaires
accessibles pour ouvrir la fentre "Partenaires accessibles".
2. Slectionnez un partenaire dans la fentre "Partenaires accessibles".
3. Choisissez la commande Systme cible> Diagnostic du matriel.

Nota
La fentre "Partenaires accessibles" affiche exclusivement les modules possdant leur
propre adresse de rseau (adresse MPI ou PROFIBUS).

Programmer avec STEP 7 V5.1


A5E00069874-03

21-7

Diagnostic

21.4.2

Fonctions dinformation de la vue du diagnostic


Contrairement la vue rapide, la vue de diagnostic affiche lensemble de la configuration de
la station accessible en ligne. Celle-ci comprend :
la configuration des profils support/chssis,
les icnes de diagnostic de tous les modules configurs
Ltat des modules respectifs est donc affich et pour les CPU, galement ltat de
fonctionnement.
le type de module, le numro de rfrence, des informations sur les adresses et des
commentaires sur la configuration.

Autres possibilits de diagnostic dans la vue de diagnostic


En effectuant un double clic sur un module, vous pouvez en afficher ltat.

21-8

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

21.5

tat du module

21.5.1.1 Possibilits d'appel de l'tat du module


Vous pouvez afficher la bote de dialogue "Etat du module" depuis des points de dpart
diffrents. Les procds ci-dessous sont cits titre d'exemple, ils sont d'un emploi frquent.
Appel dans SIMATIC Manager, depuis une fentre avec la vue du projet "En ligne" ou
"Hors ligne".
Appel dans SIMATIC Manager, depuis une fentre "Partenaires accessibles".
Appel depuis la vue de diagnostic de HW Config.

SIMATIC Manager (en ligne)


Projet

Etat du module

Programme S7

Station
CPU

Appel partir du gestionnaire de


projets SIMATIC

HW Config : Diagnostic du matriel

Partenaires accessibles
Partenaires accessibles

UR (0)
1

PS 307 5A

CPU 314

AI-300

MPI=2

Appel partir des partenaires accessibles

Appel partir de tables de configuration

"Etat du module"
"Diagnostic du matriel"

Pour que vous puissiez interroger l'tat d'un module possdant sa propre adresse de
rseau, il faut que vous ayez tabli une liaison en ligne avec le systme cible. C'est ce que
vous faites dans la vue du projet en ligne ou dans la fentre "Partenaires accessibles".

Programmer avec STEP 7 V5.1


A5E00069874-03

21-9

Diagnostic

21.5.2

Fonctions d'information de l'tat du module


Les fonctions d'informations sont disponibles dans la page d'onglet de mme nom dans la
bote de dialogue "Etat du module". Dans votre exemple d'application concret, seules les
pages d'onglet significatives pour le module slectionn sont affiches.
Fonction
dinformation

Information

Utilisation

Gnral

Donnes d'identification du
module slectionn, par exemple
type, numro de rfrence,
version, tat, emplacement dans
le chssis/profil support.

Les informations en ligne du


module enfich peuvent tre
compares avec les donnes de
configuration du module.

Mmoire tampon
de diagnostic

Vue d'ensemble des vnements


dans la mmoire tampon de
diagnostic ainsi qu'informations
dtailles sur l'vnement
slectionn.

Pour valuer la cause du


passage l'tat "Arrt" d'une
CPU et pour valuer les
vnements prcdents sur le
module slectionn.
Grce la mmoire tampon de
diagnostic, les erreurs dans le
systme peuvent tre values,
mme bien plus tard, en vue de
dterminer l'origine d'un passage
l'tat "Arrt" ou de remonter la
trace des vnements de
diagnostic individuels.

Alarme de
diagnostic

Donnes de diagnostic du
module slectionn.

Pour dterminer la cause d'un


dfaut de module.

Diagnostic de
l'esclave DP

Donnes de diagnostic de
l'esclave DP slectionn (selon
EN 50170)

Pour dterminer la cause d'une


erreur d'un esclave DP

Mmoire

Organisation de la mmoire,
occupation actuelle de la
mmoire de travail et de la
mmoire de chargement de la
CPU ou du FM de M7
slectionn.

Avant de transmettre de nouveau


blocs ou des blocs tendus sur
une CPU, pour vrifier si la
mmoire de chargement est
suffisante dans cette CPU/ce FM
ainsi que pour comprimer le
contenu de la mmoire.

Temps de cycle

Dure du cycle le plus long, du


Pour contrler le temps de cycle
cycle le plus court et du dernier
minimal paramtr ainsi que les
cycle de la CPU ou du FM de M7. temps de cycle maximal et actuel.

Horodatage

Heure actuelle, compteur


d'heures de fonctionnement et
informations pour la
synchronisation des horloges
(intervalles de synchronisation).

Performances

21-10

Plages d'oprandes et blocs


disponibles pour le module
(CPU/FM) slectionn.

Pour afficher l'heure et la date


d'un module et contrler la
synchronisation des horloges

Avant et pendant la cration d'un


programme utilisateur et pour
vrifier si la CPU prsente les
conditions requises pour
l'excution d'un programme
utilisateur, par exemple quant la
taille de la mmoire image.

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

Fonction
dinformation

Information

Utilisation

Affichage de tous les types de


blocs disponibles dans le module
slectionn. Liste des OB, SFB,
et SFC pouvant tre utiliss dans
ce module.

Pour vrifier quels blocs standard


votre programme utilisateur peut
contenir ou appeler pour pouvoir
s'excuter dans la CPU choisie.

Communication

Vitesses de transmission, les


liaisons tablies, la charge due
la communication ainsi que la
taille maximale des tlgrammes
sur le bus K du module
slectionn

Pour vrifier combien de liaisons


et quelles liaisons de la CPU ou
du FM de M7 sont possibles ou
affectes.

Piles

Onglet Piles : vous ne pouvez


Pour trouver la cause d'un
ouvrir cet onglet qu' l'tat d'arrt passage l'tat "Arrt" et pour
ou d'attente.
corriger un bloc.
La pile des blocs (pile B) du
module slectionn s'affiche.
Vous pouvez en outre lire la pile
des interruptions (pile I), la pile
des donnes locales (pile L), ainsi
que la pile des parenthses et
sauter dans le bloc l'endroit o
l'erreur a caus une interruption.

Informations supplmentaires affiches


Les informations suivantes figurent dans chaque page donglet :
chemin d'accs en ligne du module slectionn,
tat de fonctionnement de la CPU concerne (par exemple "Marche", "Arrt"),
tat du module slectionn (par exemple Erreur, OK),
tat de fonctionnement du module slectionn (par exemple "Marche", "Arrt") si celui-ci
possde son propre tat de fonctionnement (par exemple CP342-5).
Il n'est pas possible d'afficher l'tat de fonctionnement de la CPU elle-mme ni l'tat du
module slectionn si l'tat du module d'un module autre qu'une CPU a t interrog depuis
la fentre "Partenaires accessibles".

Affichage simultan de plusieurs modules


Vous pouvez interroger et afficher simultanment l'tat de plusieurs modules. Pour cela,
vous devez retourner au contexte de module qui vous intresse, slectionner un autre
module et en appeler l'tat. Une autre bote de dialogue onglets vous est alors propose.
Mais vous ne pouvez ouvrir qu'une bote de dialogue onglets par module.

Actualisation de l'affichage de l'tat du module


Une nouvelle lecture des donnes du module a lieu chaque activation dune nouvelle page
donglet de la bote de dialogue Etat du module. En revanche, le contenu des pages
donglet nest pas mis jour automatiquement pendant laffichage dune page. Pour
effectuer une nouvelle lecture des donnes actuelles du module sans changer de page
donglet, il vous suffit de cliquer sur le bouton Actualiser.

Programmer avec STEP 7 V5.1


A5E00069874-03

21-11

Diagnostic

21.5.3

Volume d'informations selon le type de module dans l'tat du module


Le volume des informations susceptibles d'tre values et affiches dpend
du module slectionn et
de la vue depuis laquelle vous interrogez l'tat du module.
Quand vous interrogez l'tat du module depuis la vue en ligne des tables de configuration
ou depuis la fentre du projet, vous obtenez le volume complet des informations.
Quand vous interrogez l'tat du module depuis la vue de projet "Partenaires accessibles",
vous obtenez un volume d'informations restreint.
Selon le volume des informations, on distingue entre modules diagnostic systme,
modules diagnostic ou modules sans diagnostic. C'est ce qu'illustre le schma ci-dessous.

Mmoire tampon de diagnostic et


SZL propre au module

Informations de diagnostic de la
CPU sur le module
Donnes de diagnostic du module

Modules aptes au diagnostic systme

Tous les modules CPU

Modules aptes au diagnostic

Les modules FM 351 et FM 354, par exemple, possdent des fonctions de diagnostic
systme.
La plupart des modules SM analogiques possdent des fonctions de diagnostic.
La plupart des modules SM TOR ne possdent pas de fonctions de diagnostic.

21-12

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

Pages d'onglet affiches


Le tableau prcise quelles pages d'onglets s'affichent dans la bote de dialogue "Etat du
module" pour les diffrents types de modules.
Onglet

CPU ou FM Module
de M7
diagnostic
systme

Module
diagnostic

Module sans
fonction de
diagnostic

Esclave DP
normalis

Gnral

oui

oui

oui

oui

oui

Mmoire
tampon de
diagnostic

oui

oui

Alarme de
diagnostic

oui

oui

Mmoire

oui

Temps de cycle

oui

Horodatage

oui

Performances

oui

Piles

oui

Communication

oui

oui

oui

Diagnostic de
l'esclave DP
Etat H
1)

1)

uniquement pour les CPU dans les systmes H

Outre les informations contenues dans les pages d'onglet, l'tat de fonctionnement est
affich pour les modules qui en possdent un. Quand vous interrogez l'tat du module
depuis les tables de configuration en ligne, c'est l'tat du point de vue de la CPU qui est
indiqu (par exemple ok, erreur, module inexistant).

Programmer avec STEP 7 V5.1


A5E00069874-03

21-13

Diagnostic

21.6
21.6.1

Diagnostic l'tat de fonctionnement STOP


Marche suivre pour dterminer la cause d'un passage l'tat d'arrt
Pour dterminer la cause d'un passage l'arrt de la CPU, procdez de la manire
suivante :
1. Slectionnez la CPU qui est passe l'tat d'arrt.
2. Choisissez la commande Systme cible > Etat du module.
3. Choisissez l'onglet "Tampon de diagnostic".
4. Les dernires entres vous permettent de dterminer la cause du passage l'arrt.
Pour une erreur de programmation :
1. L'entre "Arrt car OB d'erreur de programmation non charg", par exemple, signifie que
la CPU a dtect une erreur de programmation, puis a tent de dmarrer l'OB
(manquant) de traitement de l'erreur de programmation. L'erreur de programmation est
indique par l'entre prcdente.
2. Slectionnez le message d'erreur de programmation.
3. Cliquez sur le bouton "Ouvrir le bloc".
4. Slectionnez la page d'onglet "Piles".

21.6.2

Contenu des piles l'tat d'arrt


L'exploitation de la mmoire de diagnostic et du contenu des piles vous permet de
dterminer la cause d'un dfaut dans l'excution d'un programme utilisateur.
Lorsque la CPU passe l'tat d'arrt, par exemple suite une erreur de programmation ou
une instruction d'arrt, la pile des blocs s'affiche dans la page d'onglet "Piles" de l'tat du
module. Vous pouvez afficher d'autres contenus de piles grce aux boutons "Pile des
interruptions", "Pile des donnes locales" et "Pile des parenthses". Le contenu des piles
vous indique quelle instruction dans quel bloc a entran le passage l'tat "Arrt" (STOP)
de la CPU.

Contenu de la pile des blocs


La pile des blocs donne la liste de tous les blocs appels avant le passage l'tat de
fonctionnement "Arrt" (STOP) et qui n'ont pas encore t excuts jusqu' la fin.

Contenu de la pile des interruptions


Vous obtenez des informations sur l'emplacement d'interruption lorsque vous cliquez sur le
bouton "Pile I". La pile des interruptions contient les donnes et les tats qui taient valables
au moment de l'interruption, par exemple :
contenu des accumulateurs et des registres,
DB ouverts et leur taille,
contenu du mot d'tat,
classe de priorit,
bloc interrompu,
bloc dans lequel l'excution du programme a t poursuivie aprs l'interruption.

21-14

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

Contenu de la pile des donnes locales


Pour chacun des blocs numrs dans la pile B, vous pouvez afficher les donnes locales
correspondantes en slectionnant le bloc et en cliquant sur le bouton "Pile L".
La pile des donnes locales (pile L) contient les valeurs des donnes locales des blocs que
le programme utilisateur a utilis jusqu' l'interruption.
L'interprtation et l'exploitation des donnes locales affiches demandent de trs bonnes
connaissances du systme. La partie avant des donnes affiches correspond aux variables
temporaires du bloc.

Contenu de la pile des parenthses


Quand vous cliquez sur le bouton "Pile P", le contenu de la pile des parenthses est
reprsent l'endroit de l'interruption.
La pile des parenthses est une zone de mmoire utilise par les oprations combinatoires
U(, UN(, O(, ON(, X( et XN(.
Le bouton n'est actif que lorsqu'il y a encore des expressions entre parenthses ouvertes au
moment de l'interruption.

Programmer avec STEP 7 V5.1


A5E00069874-03

21-15

Diagnostic

21.7
21.7.1

Contrle des temps de cycle pour viter les erreurs d'horloge


Contrle des temps de cycle pour viter les erreurs d'horloge
La page d'onglet "Temps de cycle" de l'tat du module vous donne des renseignements sur
les temps de cycle du programme utilisateur.
Lorsque la dure du cycle le plus long est proche du temps de surveillance, il peut arriver
que des fluctuations dans le temps de cycle entranent une erreur de temps. Vous pouvez
viter cela en augmentant le temps de cycle maximal du programme utilisateur.
Si la dure de cycle est infrieure au temps de cycle minimal paramtr, la CPU ou le FM
l'allongent automatiquement au temps de cycle minimal paramtr. Dans le cas dune CPU,
lOB darrire-plan (OB90) est excut durant cette phase, sil est charg.

Dfinition du temps de cycle


Vous pouvez dfinir les temps de cycle minimal et maximal lors de la configuration du
matriel. Slectionnez pour ce faire dans la vue hors ligne de la table de configuration la
CPU ou le FM et choisissez dans le menu contextuel la commande Proprits de l'objet,
afin de dfinir ses proprits. Vous pouvez entrer vos valeurs dans la page d'onglet
"Cycle/Mmento de cadence".

21-16

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

21.8
21.8.1

Transmission dinformations de diagnostic


Transmission dinformations de diagnostic
La figure suivante montre comment les informations de diagnostic sont transmises dans
SIMATIC S7.
CPU
La fonction de diagnostic de la CPU
dtecte une erreur systme.
La fonction de diagnostic de la CPU
dtecte une erreur dans le
programme utilisateur.

Modules
La fonction de
diagnostic dun
module dtecte
une erreur et
gnre une
alarme de
diagnostic
(OB 82).

Alarme de diagnostic
Liste dtat systme
Tampon de
diagnostic

SFC

STEP 7

Programme utilisateur

Lecture des informations de diagnostic


Vous pouvez lire les entres de diagnostic dans le programme utilisateur l'aide de la
SFC51 RDSYSST ou afficher les messages de diagnostic en clair avec STEP 7.
Ces informations prcisent :
o et quand l'erreur est apparue,
quel type d'vnements de diagnostic appartient l'entre (vnement de diagnostic
personnalis, erreur synchrone ou asynchrone, changement d'tat de fonctionnement).

Programmer avec STEP 7 V5.1


A5E00069874-03

21-17

Diagnostic

Cration de messages groups systme


La CPU inscrit dans la mmoire tampon de diagnostic les vnements du diagnostic
standard et du diagnostic tendu. Elle gnre en outre un message group systme pour les
vnements de diagnostic standard si les conditions suivantes sont satisfaites :
Vous avez indiqu via STEP 7 que des messages groups systme doivent tre
gnrs.
Un appareil de visualisation au moins s'est dclar auprs de la CPU pour messages
groups systme.
Un message group systme n'est cr que lorsqu'il n'existe pas encore de tel message
de la classe correspondante (il y a sept classes).
Il est possible de gnrer un message group systme par classe.

21.8.2

Liste d'tat systme (SZL)


La liste d'tat systme (SZL) dcrit l'tat en cours de l'automate programmable : elle donne
une vue d'ensemble de la configuration, du paramtrage en vigueur, des tats et excutions
en cours dans la CPU et les modules associs.
Vous pouvez seulement lire les donnes de la liste d'tat systme, et non les modifier. Il
s'agit en fait d'une liste virtuelle, gnre uniquement sur demande.
On peut subdiviser les informations contenues dans la liste d'tat systme en quatre
domaines.

Liste dtat systme


Donnes systme

Donnes dtat de
diagnostic dans la
CPU

Donnes de
diagnostic dans
des modules

Mmoire tampon de diagnostic

21-18

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

Lecture de la SZL
Il existe deux mthodes pour lire les informations de la liste d'tat systme :
implicitement partir de la console de programmation via des commandes de STEP 7
(par exemple, tendue de la mmoire, donnes de CPU statiques, mmoire tampon de
diagnostic, indications d'tat),
explicitement partir du programme utilisateur via la fonction systme SFC 51 RDSYSST
par indication du numro de liste partielle souhaite (voir aide sur les blocs).

Donnes systme de la liste SZL


Les donnes systme sont des caractristiques fixes ou paramtres d'une CPU. Le tableau
suivant montre pour quels thmes il est possible d'obtenir des informations (listes partielles
de la SZL).
Domaine
Identificateur de module
Caractristiques de la CPU

Zones de mmoire
Zones systme
Types de blocs

Affectation alarmes/erreurs
Etat d'alarme
Etat des classes de priorit
Etat de fonctionnement et
changement d'tat de
fonctionnement

Informations
Numro de rfrence, identification de type et version du
module
Systme d'horadatage, comportement du systme (par
exemple, fonctionnement multiprocesseur) et description de
langage de la CPU
Etendue de mmoire du module (taille de la mmoire de
travail)
Mmoire systme du module (par exemple, nombre de
mmentos, temporisations et compteurs, type de mmoire)
Types de blocs (OB, DB, SDB, FC, FB) disponibles dans le
module, nombre maximal des blocs d'un type et taille
maximale d'un type de bloc
Affectation d'alarmes/erreurs aux OB
Traitement et gnration d'alarmes en cours
OB en cours de traitement, classe de priorit verrouille par
paramtrage
Etats de fonctionnement possibles, dernier changement d'tat
de fonctionnement, tat de fonctionnement en vigueur

Donnes d'tat de diagnostic dans la CPU


Les donnes d'tat de diagnostic dcrivent l'tat en vigueur des composants surveills par le
diagnostic systme. Le tableau suivant montre pour quels thmes il est possible d'obtenir
des informations (listes partielles de la SZL).
Domaine

Informations

Donnes d'tat de la communication

Fonctions de communication actuellement actives


dans le systme
Modules aptes au diagnostic dclars la CPU
Informations de dclenchement pour les OB de la CPU

Partenaires de diagnostic
Liste d'informations de dclenchement
de l'OB
Liste d'vnements de dclenchement
Informations d'tat des modules

Programmer avec STEP 7 V5.1


A5E00069874-03

Evnements de dclenchement et classes de priorit


des OB
Informations d'tat de tous les modules affects,
gnrant des alarmes de processus, dfectueux et
enfichs

21-19

Diagnostic

Donnes de diagnostic des modules


Il existe, outre la CPU, d'autres modules aptes au diagnostic (SM, CP, FM) dont les donnes
de diagnostic sont inscrites dans la liste d'tat systme. Le tableau suivant montre pour
quels thmes il est possible d'obtenir des informations (listes partielles de la SZL).

21.8.3

Domaine

Informations

Informations de diagnostic de module

Adresse de dbut de module, erreurs internes/externes,


erreurs de voie, erreurs de paramtres (4 octets)

Donnes de diagnostic de module

Toutes les donnes de diagnostic d'un module prcis

Envoi de vos propres messages de diagnostic


Vous pouvez, en outre, tendre le diagnostic systme standard de SIMATIC S7 l'aide de la
fonction systme SFC52 WR_USMSG :
en inscrivant vos propres informations de diagnostic (par exemple, informations sur
l'excution du programme utilisateur) dans la mmoire tampon de diagnostic,
en envoyant des messages de diagnostic que vous avez dfinis des correspondants
dclars (appareils de contrle comme PG, OP, TD).

Evnements de diagnostic personnalis


Les vnements de diagnostic sont rpartis en classes d'vnement 1 F. Ceux que vous
dfinissez vous-mme appartiennent aux classes d'vnement 8 B. On peut les subdiviser
en deux groupes :
Les classes d'vnement 8 et 9 comprennent les vnements avec un numro dfini et
un texte prpar que vous pouvez appeler via le numro.
Les classes d'vnement A et B regroupent les vnements avec numro (A000 A0FF,
B000 B0FF) et texte libres.

Envoi de messages de diagnostic des correspondants


En plus d'inscrire un vnement de diagnostic personnalis dans la mmoire tampon de
diagnostic, vous pouvez, l'aide de la SFC52 WR_USMSG, envoyer le message
correspondant des appareils de visualisation dclars. A l'appel de la SFC52 avec SEND
= 1, le message de diagnostic est crit dans la mmoire tampon d'mission et
automatiquement envoy aux correspondants dclars la CPU.
Si l'envoi du message de diagnostic s'avre impossible - par exemple parce qu'un
correspondant n'a pas t dclar ou que la mmoire tampon d'mission est pleine -,
l'vnement de diagnostic personnalis est quand mme inscrit dans la mmoire tampon de
diagnostic.

Cration de messages avec indication d'acquittement


Procdez comme suit si vous voulez acquitter un vnement de diagnostic personnalis et
enregistrer cet acquittement par programme :
Ecrivez un 1 dans une variable de type BOOL pour un vnement entrant ; crivez 0
pour un vnement sortant.
Surveillez cette variable l'aide du bloc SFB33 ALARM.

21-20

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

21.8.4

Fonctions de diagnostic
Le diagnostic systme dtecte, value et signale les erreurs survenant au sein d'un
automate programmable. Chaque CPU et chaque module possdant la fonction de
diagnostic systme (par exemple FM354) disposent cet effet d'une mmoire tampon de
diagnostic dans laquelle sont inscrites des informations plus prcises sur tous les
vnements de diagnostic dans l'ordre de leur apparition.

Evnements de diagnostic
Les vnements suivants provoquent des entres dans la mmoire tampon de diagnostic,
par exemple :
les erreurs internes et externes sur un module,
les erreurs systme dans la CPU,
les changements d'tat de fonctionnement (par exemple de "Marche" "Arrt")
les erreurs dans le programme utilisateur,
le dbrochage/enfichage de modules.
les messages personnaliss saisis via la fonction systme SFC52
Le contenu de la mmoire tampon de diagnostic est conserv lors de l'effacement gnral
des CPU. Grce la mmoire tampon de diagnostic, les erreurs dans le systme peuvent
tre values, mme bien plus tard, en vue de dterminer l'origine d'un passage l'"Arrt"
ou de remonter la trace des vnements de diagnostic individuels.

Enregistrement des donnes de diagnostic


Il est inutile de programmer l'enregistrement de donnes de diagnostic par le diagnostic
systme, car elle se fait automatiquement. SIMATIC S7 propose diffrentes fonctions de
diagnostic. Certaines d'entre elles sont intgres dans la CPU et d'autres sont mises votre
disposition par les modules (SM, CP et FM).

Affichage derreurs
Les erreurs internes et externes aux modules sont signales par des diodes
lectroluminescentes en face avant du module concern. Les signalisations par DEL et leur
valuation sont dcrites dans les manuels sur le matriel S7. Dans S7-300, les erreurs
internes et externes forment des erreurs groupes.
La CPU dtecte les erreurs systme ainsi que les erreurs dans le programme utilisateur et
inscrit les messages de diagnostic dans la liste d'tat systme et dans la mmoire tampon
de diagnostic. Il est possible de lire ces messages la console de programmation.
Les modules de fonction et de signaux aptes au diagnostic dtectent des erreurs de module
internes et externes et gnrent une alarme de diagnostic laquelle vous pouvez ragir
l'aide d'un OB d'alarme.

Programmer avec STEP 7 V5.1


A5E00069874-03

21-21

Diagnostic

21.9

21.9.1

Mesures prendre dans le programme pour traiter les


erreurs
Mesures prendre dans le programme pour traiter les erreurs
Lorsque la CPU dtecte des erreurs dans l'excution du programme (erreurs synchrones) ou
des erreurs dans l'automate programmable (erreurs asynchrones), elle appelle l'OB d'erreur
correspondant l'erreur respective :
Erreur survenue

OB derreur

Erreur de redondance de priphrie

OB 70

Erreur de redondance de CPU

OB 72

Erreur de redondance de communication

OB 73

Erreur de temps

OB 80

Erreur d'alimentation

OB 81

Alarme de diagnostic

OB 82

Alarme de dbrochage/enfichage

OB 83

Erreur matrielle CPU

OB 84

Erreur d'excution du programme

OB 85

Dfaillance d'un chssis ou d'une station en priphrie


dcentralise

OB 86

Erreur de communication

OB 87

Erreur de programmation

OB 121

Erreur d'accs la priphrie

OB 122

En absence de l'OB correspondant, la CPU passe l'tat de fonctionnement "Arrt" (STOP).


Sinon, vous avez la possibilit de saisir des instructions dans l'OB, sur la manire de ragir
cette situation d'erreur. Il est ainsi possible de minimiser ou supprimer les ventuelles
consquences de l'erreur.

Procdez de la manire suivante.

Cration et ouverture de l'OB


1. Appelez l'tat de fonctionnement de votre CPU.
2. Slectionnez l'onglet "Performances".
3. Vrifiez dans la liste affiche, si l'OB programmer est autoris pour cette CPU.
4. Insrez l'OB dans le dossier "Blocs" de votre programme et ouvrez-le.
5. Saisissez le programme de traitement de l'erreur.
6. Chargez l'OB dans le systme cible.

21-22

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

Programmation des mesures de traitement derreur


1. Exploitation des donnes locales de l'OB pour une dtermination plus prcise de la cause
d'erreur.
Les variables OB8x_FLT_ID ou OB12x_SW_FLT des donnes locales contiennent le
code d'erreur. Leur signification est dcrite dans le manuel de rfrence des fonctions
systme et des fonctions standard.
2. Aller dans la section de programme qui ragit cette erreur.
Un exemple de traitement d'alarmes de diagnostic est fourni dans l'aide de rfrence des
fonctions systme et fonctions standard sous le titre "Exemple de diagnostic de module avec
le bloc SFC51 (RDSYSST)".
Des informations dtailles sur les OB, SFB et SFC sont donnes dans les aides sur les
blocs correspondantes.

21.9.2

Exploitation du paramtre de sortie RET_VAL


Une fonction systme signale par le paramtre de sortie RET_VAL (valeur en retour) si la
CPU a pu l'excuter avec ou sans erreur.

Informations derreur dans la valeur en retour


La valeur en retour est de type de donnes INT (nombre entier), le signe prcisant s'il s'agit
d'un entier positif ou ngatif. La relation de la valeur en retour la valeur 0 indique si une
erreur s'est produite pendant le traitement de la fonction (voir aussi tableau 11-5).
Si une erreur apparat pendant le traitement de la fonction, la valeur en retour est
infrieure 0. Le bit de signe du nombre entier est 1.
Si la fonction est traite sans erreur, la valeur en retour est suprieure ou gale 0. Le
bit de signe du nombre entier est 0.
Traitement de la SFC par la CPU

Valeur en retour

Signe du nombre entier

Avec erreur

Infrieure 0

Ngatif (bit de signe 1)

Sans erreur

Suprieure ou gale 0

Positif (bit de signe 0)

Raction aux informations d'erreur


Si une erreur apparat pendant le traitement d'une fonction systme, la SFC renvoie un code
d'erreur par l'intermdiaire de la valeur en retour RET_VAL.
Ce faisant, on distingue :
un code d'erreur gnral que toutes les SFC peuvent mettre et
un code d'erreur spcifique qu'une SFC peut mettre selon ses fonctions spcifiques.

Programmer avec STEP 7 V5.1


A5E00069874-03

21-23

Diagnostic

Transmission de la valeur de la fonction


Certaines fonctions systme utilisent galement le paramtre de sortie RET_VAL pour
renvoyer leur rsultat. La SFC64 TIME_TCK, par exemple, renvoie l'heure systme lue via
RET_VAL.

Vous trouverez des informations dtailles sur le paramtre RET_VAL dans l'aide sur les
SFB/SFC.

21.9.3

OB d'erreur en raction la dtection d'une erreur

Erreurs dtectables
Le programme systme peut dtecter les erreurs suivantes :
fonctionnement erron de la CPU,
erreurs dans le traitement du programme systme,
erreurs dans le programme utilisateur,
erreurs dans la priphrie.
Selon le type d'erreur, la CPU passe l'tat de fonctionnement "Arrt" (STOP) ou un OB
d'erreur est appel.

Programmation de ractions
Vous pouvez concevoir des programmes pour ragir aux diffrents types d'erreur et
dterminer le comportement de la CPU. Vous pouvez ensuite sauvegarder le programme
pour une erreur donne dans un OB d'erreur. Ce programme sera donc trait l'appel de
cet OB d'erreur.
Une erreur se produit...
La CPU appelle lOB derreur correspondant.

Si lOB derreur est programm, la CPU traite le


programme dans cet OB. Si aucun OB derreur
na t programm, la CPU passe ltat de
fonctionnement Arrt (STOP), sauf pour lOB81.

21-24

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

OB derreur
On distingue entre erreurs synchrones et asynchrones.
Les erreurs synchrones peuvent tre associes une commande MC7 (par exemple,
commande de chargement pour un module de signaux retir).
Les erreurs asynchrones peuvent tre attribues une classe de priorit ou l'automate
programmable entier (par exemple, dpassement du temps de cycle).
Le tableau ci-aprs prsente les types d'erreur pouvant en principe apparatre. Les OB
disponibles pour les diffrentes CPU sont indiqus dans le manuel "Systme
dautomatisation S7-300, Installation et configuration Caractristiques des CPU" ou dans
le manuel de rfrence "Systmes dautomatisation S7-400/M7-400, Installation et
configuration Caractristiques des modules".
Catgorie
d'erreur

Type d'erreur

OB

Priorit

Redondance

Erreur de redondance de
priphrie (uniquement dans
les CPU H)

OB 70

25

Erreur de redondance de
CPU (uniquement dans les
CPU H)

OB 72

28

Erreur de redondance de
communication

OB 73

25

Erreur de temps

OB 80

26

Erreur d'alimentation

OB 81

(ou 28 lorsque l'OB


d'erreur est appel dans le
programme de mise en
route)

Alarme de diagnostic

OB 82

Alarme de
dbrochage/enfichage

OB 83

Erreur matrielle CPU

OB 84

Erreur d'excution du
programme

OB 85

Dfaillance d'unit

OB 86

Erreur de communication

OB 87

Erreur de programmation

OB 121

Erreur d'accs

OB 122

Asynchrone

Synchrone

Programmer avec STEP 7 V5.1


A5E00069874-03

Priorit de l'OB l'origine


de l'erreur

21-25

Diagnostic

Exemple dutilisation de lOB derreur 81


Les donnes locales (informations de dclenchement) de l'OB d'erreur vous permettent
d'valuer la nature de l'erreur apparue.
Si la CPU dtecte un dfaut de pile, par exemple, le systme d'exploitation appelle l'OB81
(voir figure).
La CPU dtecte un
dfaut de pile.
OB81

LOB81 vrifie la nature de l'erreur


dalimentation dtecte et indique
si cette erreur est due une pile
dfaillante.

Diffrentes erreurs dalimentation


Systme
dexploitation

1)

Programme
en cours

21 Pile puise
1)
(appareil de base)
22 Pas de tension de sauvegarde
(appareil de base)
23 Alimentation 24 V dfaillante
1)
(appareil de base)
31 Pile puise
1)
(appareil dextension)
32 Pas de tension de sauvegarde
1)
(appareil dextension)
33 Alimentation 24 V dfaillante
1)
(appareil dextension)

Pas pour le S7-300.

Vous pouvez crire un programme qui value l'ID de l'vnement ayant dclench l'appel de
l'OB81. Vous pouvez galement crire un programme de raction comme, par exemple,
l'activation d'une sortie relie une lampe du poste d'opration.

21-26

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

Donnes locales de l'OB d'erreur 81


Le tableau suivant dcrit les variables temporaires (TEMP) inscrites dans la table de
dclaration des variables de l'OB81.
Il faut galement que la table des mnmoniques identifie le mnmonique Defaut_pile
(BOOL) comme tant une sortie (par exemple A 4.0) afin que d'autres parties du programme
puissent accder ces donnes.
Dcl.

Nom

Type

Description

TEMP

OB81_EV_CLASS

BYTE

Classe et code d'vnement 39xx

TEMP

OB81_FLT_ID

BYTE

Code d'erreur :
B#16#21 =
Au moins une des piles de sauvegarde de
1
l'appareil de base est puise.
B#16#22 =
La tension de sauvegarde manque dans
l'appareil de base.
B#16#23 =
L'alimentation 24 V est dfaillante dans
1
l'appareil de base.
B#16#31 =
Au moins une des piles de sauvegarde d'un
1
appareil d'extension est puise.
B#16#32 =
La tension de sauvegarde manque dans un
1
appareil d'extension.
B#16#33 =
L'alimentation 24 V est dfaillante dans un
1
appareil d'extension.

TEMP

OB81_PRIORITY

BYTE

Classe de priorit = 26/28

TEMP

OB81_OB_NUMBR

BYTE

81 = OB81

TEMP

OB81_RESERVED_1

BYTE

Rserv

TEMP

OB81_RESERVED_2

BYTE

Rserv

TEMP

OB81_MDL_ADDR

INT

Rserv

TEMP

OB81_RESERVED_3

BYTE

Significatif uniquement pour les codes d'erreur


B#16#31, B#16#32 et B#16#33

TEMP

OB81_RESERVED_4

BYTE

TEMP

OB81_RESERVED_5

BYTE

TEMP

OB81_RESERVED_6

BYTE

TEMP

OB81_DATE_TIME

DATE_AND_TIME

Date et heure de dclenchement de l'OB

Pas pour le S7-300

Programmer avec STEP 7 V5.1


A5E00069874-03

21-27

Diagnostic

Exemple de programme pour lOB derreur 81


L'exemple de programme LIST ci-dessous montre comment lire le code d'erreur dans
l'OB81.
Ce programme est organis comme suit.
Le code d'erreur figurant dans l'OB81 (OB81_FLT_ID) est lu et compar l'ID de
l'vnement "Pile puise" (B#16#3921).
Si ce code d'erreur correspond l'ID pour "Pile puise", le programme saute au repre
"DP" et active la sortie Defaut_pile.
Si ce code d'erreur est diffrent de l'ID pour "Pile puise", le programme le compare
l'ID pour "Pas de tension de sauvegarde".
Si le code d'erreur correspond l'ID pour "Pas de tension de sauvegarde", le programme
saute au repre "DP" et active la sortie Defaut_pile. Sinon, le bloc s'achve.
LIST

B#16#21

L
==I

#OB81_FLT_ID

SPB DP
L

B#16#22

//
//
//
//
//

B#16#39

// Comparer le code pour vnement


//apparaissant
// au code d'erreur de l'OB81.
// Si dfaillance de tension de sauvegarde
// ou de pile dtecte,
// mettre 1 Defaut_pile
// (variable de la table des mnmoniques).
// Comparer le code pour vnement
// disparaissant
// au code d'erreur de l'OB81.
// Remettre 0 Defaut_pile quand limine.

==I
SPB DP
BEA
DP:

Description
// Comparer l'ID de l'vnement
// "Pile puise" (B#16#21)
// au code d'erreur de l'OB81.
// Si identiques (pile vide),
// sauter DP.

L
==I

#OB81_EV_CLASS

Defaut_pile

B#16#38

==I
R

Defaut_pile

Comparer l'ID de l'vnement


"Pas de tension de sauvegarde" (B#16#22)
au code d'erreur de l'OB81.
Si identiques, sauter DP.
Pas de message sur dfaut de pile

Vous trouverez des informations dtailles sur les OB, SFB et SFC ainsi que l'explication
des ID d'vnement dans les aides sur les blocs correspondantes.

21-28

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

21.9.4

Insertion de valeurs de remplacement en cas d'erreur dtecte


Pour certains types d'erreur (par exemple, rupture de fil pour signal d'entre), vous pouvez
indiquer des valeurs de remplacement pour celles qui s'avrent indisponibles en raison de
l'erreur. Il y a deux faons d'indiquer des valeurs de remplacement.
Vous pouvez paramtrer avec STEP 7 des valeurs de remplacement pour les modules
de sorties paramtrables. Les modules de sorties non paramtrables ont la valeur de
remplacement prdfinie 0.
Vous pouvez programmer des valeurs de remplacement dans les OB d'erreur l'aide de
la SFC44 RPL_VAL (uniquement pour les modules d'entres).
Vous pouvez indiquer, pour toutes les commandes de chargement entranant des erreurs
synchrones, une valeur de remplacement pour le contenu de l'accumulateur dans l'OB
d'erreur.

Exemple de programme de remplacement de valeur


Dans l'exemple de programme suivant, une valeur de remplacement est mise disposition
dans la SFC44 RPL_VAL. La figure ci-aprs montre comment appeler l'OB122 si la CPU
s'aperoit qu'un module d'entres ne ragit pas.
OB1
L PEB0
T EB0
OB122

SFC44
RPL_VAL

Dans cet exemple, la valeur de remplacement de la figure ci-aprs est introduite dans le
programme afin que l'excution de ce dernier se poursuive avec des valeurs cohrentes.

Valeur de substitution : 0 0 0 1

Bouton_Demarr E 0.0
Bouton_Arret E 0.1
Select_Niveau E 0.3
Comm_Plein E 0.4

En cas de dfaillance d'un module d'entres, le traitement de l'instruction L PEB0 gnre


une erreur synchrone et dclenche l'OB122. L'instruction de chargement lit par dfaut la
valeur 0. Vous pouvez toutefois, l'aide de la SFC44, dfinir des valeurs de remplacement
adaptes au processus. La SFC remplace le contenu de l'accumulateur par la valeur de
remplacement prcise.

Programmer avec STEP 7 V5.1


A5E00069874-03

21-29

Diagnostic

L'OB122 pourrait contenir l'exemple de programme suivant. Le tableau suivant prsente les
variables temporaires supplmentaires inscrire dans la table de dclaration des variables
de l'OB122.
Dcl.

Nom

Type

Description

TEMP
TEMP

OB122_EV_CLASS

BYTE

Classe et code d'vnement 29xx

OB122_SW_FLT

BYTE

Code d'erreur :
1

16#42, 16#43, 16#44 , 16#45

TEMP

OB122_PRIORITY

BYTE

Classe de priorit = priorit de l'OB o s'est


produite l'erreur

TEMP

OB122_OB_NUMBR

BYTE

122 = OB122

TEMP

OB122_BLK_TYPE

BYTE

Type du bloc o s'est produite l'erreur

TEMP

OB122_MEM_AREA

BYTE

Zone de mmoire et type d'accs

TEMP

OB122_MEM_ADDR

WORD

Adresse de mmoire o s'est produite


l'erreur

TEMP

OB122_BLK_NUM

WORD

Numro du bloc o s'est produite l'erreur

TEMP

OB122_PRG_ADDR

WORD

Adresse relative de la commande l'origine


de l'erreur

TEMP

OB122_DATE_TIME

DATE_AND_TIME

Date et heure de dclenchement de l'OB

TEMP

Erreur

INT

Contient le code d'erreur provenant de la


SFC44.

1 Pas pour le S7-300

LIST

Description
L B#16#2942
L #OB122_SW_FLT
==I
SPB

QFeh

L B#16#2943
<> I
SPB Stop
ErrA:

CALL "REPL_VAL"
VAL : = DW#16#2912
RET_VAL : = #Erreur

Comparer le code d'vnement de l'OB122 au code


d'vnement (B#16#2942) pour acquittement d'une
erreur de temps lors de la lecture de la priphrie. Si
identiques, sauter "ErrA".
Comparer le code d'vnement de l'OB122 au code
d'vnement (B#16#2943) pour erreur d'adressage
(criture d'un module inexistant). Si diffrents, sauter
"Stop".
Repre "ErrA" : Transmettre DW#16#2912 (10010
binaire) la SFC44 (REPL_VAL). La SFC44 charge
cette valeur dans l'ACCU1, remplaant ainsi la valeur
qui a caus l'appel de l'OB122. Sauvegarder le code
d'erreur SFC dans #Erreur.

L #Erreur
L 0
==I
BEB

Stop:

21-30

Comparer #Erreur 0 (si gal, pas d'erreur lors du


traitement de l'OB122). Fin du bloc si pas d'erreur.
Repre "Stop" : Appeler la SFC46 STP pour mettre la
CPU l'tat de fonctionnement "Arrt".

CALL "STP"

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

21.9.5

Erreur de redondance de priphrie (OB70)

Description
Le systme d'exploitation de la CPU H appelle l'OB70 lorsqu'une perte de redondance se
produit sur le rseau PROFIBUS DP (par exemple en cas de dfaillance du bus sur le matre
DP actif ou en cas d'erreur de couplage de l'esclave DP) ou en cas de changement du
matre DP actif pour des esclaves DP avec priphrie couple

Programmation de lOB70
Vous devez crer l'OB70 avec STEP 7 comme objet dans votre programme S7. Ecrivez le
programme devant tre trait dans l'OB70 dans le bloc cr et chargez-le dans la CPU en
tant que partie de votre programme utilisateur.
L'OB70 peut, par exemple, vous servir :
exploiter ses informations de dclenchement pour constater quel vnement dclench
la perte de redondance de la priphrie.
dterminer l'tat de votre systme l'aide de la SFC51 RDSYSST (SZL_ID=B#16#71).
La CPU ne passe pas ltat darrt lorsquune erreur de redondance de priphrie survient
et que lOB70 nest pas programm.
Si lOB70 est charg et si le systme H se trouve en fonctionnement redondant, lOB70 est
trait dans les deux CPU. Le systme H reste en fonctionnement redondant.
Des informations dtailles sur les OB, SFB et SFC sont donnes dans les aides sur les
blocs correspondantes.

21.9.6

Erreur de redondance de CPU (OB72)

Description
Le systme d'exploitation de la CPU H appelle l'OB72 l'apparition d'un des vnements
suivants :
perte de redondance des CPU,
erreur de comparaison (p. ex. RAM, MIS),
bascule rserve-matre,
erreur de synchronisation,
erreur dans un module SYNC,
interruption de la procdure dhorodatage.
LOB72 est excut par toutes les CPU qui se trouvent ltat de marche ou de mise en
route aprs un vnement de dclenchement correspondant.

Programmer avec STEP 7 V5.1


A5E00069874-03

21-31

Diagnostic

Programmation de lOB72
Vous devez crer l'OB72 avec STEP 7 comme objet dans votre programme S7. Ecrivez le
programme devant tre trait dans l'OB72 dans le bloc cr et chargez-le dans la CPU en
tant que partie de votre programme utilisateur.
L'OB72 peut, par exemple, vous servir :
exploiter ses informations de dclenchement pour dterminer lvnement ayant
dclench la perte de redondance de la CPU,
dterminer ltat de votre systme laide de la SFC51 RDSYSST (SZL_ID=B#16#71),
ragir la perte de redondance de la CPU en fonction de votre installation.
La CPU ne passe pas ltat darrt lorsquune erreur de redondance de CPU survient et
que lOB72 nest pas programm.
Des informations dtailles sur les OB, SFB et SFC sont donnes dans les aides sur les
blocs correspondantes.

21.9.7

Erreur de redondance de communication (OB73)

Description
Le systme d'exploitation de la CPU H appelle l'OB73 la premire perte de redondance
d'une liaison S7 haute disponibilit (les liaisons S7 haute disponibilit sont utilises
exclusivement dans la communication S7, voir "Systme d'automatisation S7-400 H
Systmes haute disponibilit".). La perte de redondance d'autres liaisons S7 haute
disponibilit ne dclenche plus l'OB73.
L'OB73 ne sera dclench de nouveau que lorsque vous aurez rtabli la redondance de
toutes les liaisons S7 qui taient haute disponibilit.

Programmation de lOB73
Vous devez crer l'OB73 avec STEP 7 comme objet dans votre programme S7. Ecrivez le
programme traiter dans l'OB73 dans le bloc cr et chargez-le dans la CPU en tant que
partie de votre programme utilisateur.
L'OB73 peut, par exemple, vous servir :
exploiter ses informations de dclenchement pour constater quel vnement provoqu
la perte de redondance de communication,
dterminer l'tat de votre systme l'aide de la SFC51 RDSYSST.
La CPU ne passe pas l'tat d'arrt lorsqu'une erreur de redondance de communication
survient et que l'OB73 n'est pas programm.
Lorsque l'OB73 est charg et que le systme H est en fonctionnement redondant, l'OB73 est
trait dans les deux CPU. Le systme H reste en fonctionnement redondant.
Des informations dtailles sur les OB, SFB et SFC sont donnes dans les aides sur les
blocs correspondantes.

21-32

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

21.9.8

Erreur de temps (OB80)

Description
Le systme d'exploitation de la CPU appelle l'OB80 lorsqu'apparat une erreur de temps. Les
erreurs de temps sont par exemple :
le dpassement du temps de cycle maximal,
le saut d'alarmes horaires parce que l'heure a t avance,
un retard excessif pour le traitement d'une classe de priorit.

Programmation de lOB80
Vous devez crer l'OB80 avec STEP 7 comme objet dans votre programme S7. Ecrivez le
programme devant tre trait dans l'OB80 dans le bloc cr et chargez-le dans la CPU en
tant que partie de votre programme utilisateur.
L'OB80 peut, par exemple, vous servir :
exploiter ses informations de dclenchement pour constater quelles alarmes horaires
ont t sautes ;
dsactiver l'alarme horaire saute l'aide de la SFC29 CAN_TINT afin qu'elle ne soit
pas excute et obtenir une situation nette pour le traitement des alarmes horaires avec
la nouvelle heure rgle.
Si vous ne dsactivez pas les alarmes horaires sautes dans l'OB80, la premire alarme
saute est traite et il n'est pas tenu compte de toutes les autres.
Si l'OB80 n'est pas programm, la CPU se met l'tat de fonctionnement "Arrt" (STOP)
la dtection d'une erreur de temps.
Des informations dtailles sur les OB, SFB et SFC sont donnes dans les aides sur les
blocs correspondantes.

21.9.9

Erreur dalimentation (OB81)

Description
Le systme d'exploitation de la CPU appelle l'OB81 lors d'une dfaillance dans l'appareil de
base ou dans un appareil d'extension :
de la tension d'alimentation 24 V,
d'une pile,
du systme de sauvegarde entier,
ou bien lorsqu'il a t remdi cette dfaillance (appel pour vnement entrant et sortant).

Programmer avec STEP 7 V5.1


A5E00069874-03

21-33

Diagnostic

Programmation de lOB81
Vous devez crer l'OB81 avec STEP 7 comme objet dans votre programme S7. Ecrivez le
programme devant tre trait dans l'OB81 dans le bloc cr et chargez-le dans la CPU en
tant que partie de votre programme utilisateur.
L'OB81 peut, par exemple, vous servir :
aprs exploitation de ses informations de dclenchement, constater quelle erreur
d'alimentation est apparue ;
connatre le numro du profil support ou du chssis l'alimentation dfaillante ;
commander une lampe sur un poste d'opration afin de signaler au personnel de
maintenance qu'une pile doit tre remplace.
Contrairement ce qui se passe pour tous les autres OB d'erreur asynchrone, la CPU ne se
met pas l'tat "Arrt" (STOP) si l'OB81 n'est pas programm et qu'une erreur
d'alimentation est dtecte. L'erreur est cependant inscrite dans la mmoire tampon de
diagnostic et la DEL correspondante en face avant signale cette erreur.
Des informations dtailles sur les OB, SFB et SFC sont donnes dans les aides sur les
blocs correspondantes.

21.9.10 Alarme de diagnostic (OB82)

Description
Le systme d'exploitation de la CPU appelle l'OB82 lorsqu'un module avec fonction de
diagnostic pour lequel vous avez valid l'alarme de diagnostic dtecte une erreur et lorsqu'il
a t remdi cette erreur (appel pour vnement entrant et sortant).

Programmation de lOB82
Vous devez crer l'OB82 avec STEP 7 comme objet dans votre programme S7. Ecrivez le
programme devant tre trait dans l'OB82 dans le bloc cr et chargez-le dans la CPU en
tant que partie de votre programme utilisateur.
Vous pouvez, par exemple, vous servir de l'OB82 pour :
exploiter ses informations de dclenchement,
effectuer un diagnostic prcis de l'erreur apparue.
Lorsqu'une alarme de diagnostic est dclenche, le module dfectueux inscrit
automatiquement 4 octets de donnes de diagnostic et son adresse de dbut dans les
informations de dclenchement de l'OB d'alarme de diagnostic et dans la mmoire tampon
de diagnostic. Vous apprenez ainsi sur quel module et quel moment s'est produite l'erreur.
Vous pouvez exploiter d'autres donnes de diagnostic du module dfectueux (voie o s'est
produite l'erreur, erreur dont il s'agit) l'aide d'un programme correspondant dans l'OB82. La
SFC51 RDSYSST permet de lire les donnes de diagnostic du module et la
SFC52WR_USRMSG d'inscrire ces informations dans la mmoire tampon de diagnostic.
Vous pouvez, en outre, envoyer un appareil de contrle dclar un message de diagnostic
que vous dfinissez vous-mme.
Si vous n'avez pas programm l'OB82, la CPU passe l'tat de fonctionnement "Arrt"
(STOP) au dclenchement d'une alarme de diagnostic.
Des informations dtailles sur les OB, SFB et SFC sont donnes dans les aides sur les
blocs correspondantes.

21-34

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

21.9.11 Alarme de dbrochage/enfichage (OB83)

Description
Les CPU S7-400 contrlent cycliquement (environ toutes les secondes) l'enfichage et le
dbrochage de modules dans l'appareil de base ou les appareils d'extension.
Aprs la mise sous tension secteur, la CPU vrifie si tous les modules numrs dans la
table de configuration cre avec STEP 7 sont effectivement en place. Si c'est le cas, cette
configuration relle est sauvegarde et sert de rfrence pour le contrle cyclique des
modules. A chaque cycle de contrle, le nouvelle configuration relle constate est
compare la configuration relle valable jusqu'alors. En cas de diffrences, une alarme de
dbrochage/enfichage est signale avec entre dans la mmoire tampon de diagnostic et la
liste d'tat systme. L'OBde dbrochage/enfichage est dclench l'tat de fonctionnement
"Marche" (RUN).

Nota
Il est interdit de retirer modules d'alimentation, CPU et IM l'tat de fonctionnement
"Marche" (RUN).
Deux secondes au moins doivent s'couler entre le retrait et l'enfichage d'un module pour
que ce retrait ou cet enfichage soit correctement dtect par la CPU.

Paramtrage d'un module nouvellement enfich


Si un module est enfich l'tat "Marche" (RUN), la CPU vrifie si le type du nouveau
module enfich correspond celui du module prcdent. Le paramtrage se fait si les types
de modules correspondent : les paramtres par dfaut ou ceux que vous avez attribus via
STEP 7 sont transmis au module.

Programmation de lOB83
Vous devez crer l'OB83 avec STEP 7 comme objet dans votre programme S7. Ecrivez le
programme devant tre trait dans l'OB83 dans le bloc cr et chargez-le dans la CPU en
tant que partie de votre programme utilisateur.
Vous pouvez, par exemple, vous servir de l'OB83 pour :
exploiter ses informations de dclenchement,
reparamtrer le nouveau module enfich l'aide des fonctions systme SFC55 SFC59.
Si l'OB83 n'est pas programm, la CPU passe de l'tat de fonctionnement "Marche" (RUN)
l'tat "Arrt" (STOP) l'apparition d'une alarme de dbrochage/enfichage.
Des informations dtailles sur les OB, SFB et SFC sont donnes dans les aides sur les
blocs correspondantes.

Programmer avec STEP 7 V5.1


A5E00069874-03

21-35

Diagnostic

21.9.12 Erreur matrielle CPU (OB84)


Description
Le systme d'exploitation de la CPU appelle l'OB84 lorsqu'une erreur est dtecte pour
l'interface au rseau MPI, au bus de communication ou au coupleur pour la priphrie
dcentralise : p. ex. : lorsquun niveau de signal erron est dtect sur la voie ou lorsqu'il a
t remdi cette erreur (appel pour vnement entrant et sortant).

Programmation de lOB84
Vous devez crer l'OB84 avec STEP 7 comme objet dans votre programme S7. Ecrivez le
programme devant tre trait dans l'OB84 dans le bloc cr et chargez-le dans la CPU en
tant que partie de votre programme utilisateur.
Vous pouvez, par exemple, vous servir de l'OB84 pour :
exploiter ses informations de dclenchement,
envoyer un message la mmoire tampon de diagnostic l'aide de la fonction systme
SFC52 WR_USMSG.
Si l'OB84 n'est pas programm, la CPU passe l'tat de fonctionnement "Arrt" (STOP) lors
de la dtection d'une erreur matrielle CPU.
Des informations dtailles sur les OB, SFB et SFC sont donnes dans les aides sur les
blocs correspondantes.

21.9.13 Erreur dexcution du programme (OB85)

Description
Le systme d'exploitation de la CPU appelle l'OB85
lorsqu'il existe un vnement de dclenchement pour un OB d'alarme, mais que l'OB ne
peut pas tre excut car il n'a pas t charg dans la CPU ;
lorsqu'une erreur est apparue lors de l'accs au bloc de donnes d'instance d'un bloc
fonctionnel systme ;
lorsqu'une erreur est apparue lors de la mise jour de la mmoire image du processus
(module absent ou dfaillant).

Programmation de lOB85
Vous devez crer l'OB85 avec STEP 7 comme objet dans votre programme S7. Ecrivez le
programme devant tre trait dans l'OB85 dans le bloc cr et chargez-le dans la CPU en
tant que partie de votre programme utilisateur.
Vous pouvez, par exemple, vous servir de l'OB85 pour :
exploiter ses informations de dclenchement et dcouvrir quel module est dfaillant ou
manque (indication de l'adresse de dbut du module),
calculer l'emplacement du module concern l'aide de la fonction systme SFC49
LGC_GADR.
Si l'OB85 n'est pas programm, la CPU passe l'tat de fonctionnement "Arrt" (STOP) la
dtection d'une erreur de classe de priorit.

21-36

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

21.9.14 Dfaillance d'unit (OB86)

Description
Le systme d'exploitation de la CPU appelle l'OB86 lorsqu'une dfaillance d'unit est
dtecte, par exemple :
en cas de dfaillance de profil support ou chssis (IM manquant ou dfaillant ou cble
de liaison interrompu),
en cas de coupure de tension dcentralise d'un profil support ou chssis,
en cas de dfaillance d'un esclave DP dans un rseau matre du systme de bus
PROFIBUS DP,
ou lorsqu'il a t remdi cette erreur (appel pour vnement entrant et sortant).

Programmation de lOB86
Vous devez crer l'OB86 avec STEP 7 comme objet dans votre programme S7. Ecrivez le
programme devant tre trait dans l'OB86 dans le bloc cr et chargez-le dans la CPU en
tant que partie de votre programme utilisateur.
Vous pouvez, par exemple, vous servir de l'OB86 pour :
exploiter ses informations de dclenchement et dcouvrir quelle unit est dfaillante ou
manque,
inscrire un message dans la mmoire tampon de diagnostic et envoyer ce message un
appareil de contrle l'aide de la fonction systme SFC52 WR_USMSG.
Si l'OB86 n'est pas programm, la CPU passe l'tat de fonctionnement "Arrt" (STOP) la
dtection d'une dfaillance d'unit.
Des informations dtailles sur les OB, SFB et SFC sont donnes dans les aides sur les
blocs correspondantes.

21.9.15 Erreur de communication (OB87)

Description
Le systme d'exploitation de la CPU appelle l'OB87 lorsqu'une erreur de communication
apparat lors de l'change de donnes via des blocs fonctionnels de communication ou la
communication par donnes globales, par exemple :
un identificateur de tlgramme erron a t dtect lors de la rception de donnes
globales,
le bloc de donnes pour les informations d'tat des donnes globales manque ou est trop
court.

Programmer avec STEP 7 V5.1


A5E00069874-03

21-37

Diagnostic

Programmation de lOB87
Vous devez crer l'OB87 avec STEP 7 comme objet dans votre programme S7. Ecrivez le
programme devant tre trait dans l'OB87 dans le bloc cr et chargez-le dans la CPU en
tant que partie de votre programme utilisateur.
Vous pouvez, par exemple, vous servir de l'OB87 pour :
exploiter ses informations de dclenchement,
crer un bloc de donnes si le bloc de donnes pour les informations d'tat de la
communication par donnes globales manque.
Si l'OB87 n'est pas programm, la CPU passe l'tat de fonctionnement "Arrt" (STOP) la
dtection d'une erreur de communication.
Des informations dtailles sur les OB, SFB et SFC sont donnes dans les aides sur les
blocs correspondantes.

21.9.16 Erreur de programmation (OB121)

Description
Le systme d'exploitation de la CPU appelle l'OB121 lorsqu'une erreur de programmation
apparat, par exemple :
des temporisations adresses manquent,
un bloc appel n'est pas charg.

Programmation de lOB121
Vous devez crer l'OB121 avec STEP 7 comme objet dans votre programme S7. Ecrivez le
programme devant tre trait dans l'OB121 dans le bloc cr et chargez-le dans la CPU en
tant que partie de votre programme utilisateur.
Vous pouvez, par exemple, vous servir de l'OB121 pour :
exploiter ses informations de dclenchement,
inscrire la cause de l'erreur dans un bloc de donnes de signalisation.
Si l'OB121 n'est pas programm, la CPU passe l'tat de fonctionnement "Arrt" (STOP)
la dtection d'une erreur de programmation.
Des informations dtailles sur les OB, SFB et SFC sont donnes dans les aides sur les
blocs correspondantes.

21-38

Programmer avec STEP 7 V5.1


A5E00069874-03

Diagnostic

21.9.17 Erreur d'accs la priphrie (OB122)

Description
Le systme d'exploitation de la CPU appelle l'OB122 lorsqu'une opration STEP 7 accde
une entre ou une sortie d'un module de signaux laquelle aucun module n'tait associ
lors du dernier dmarrage, par exemple :
erreur en cas d'accs direct la priphrie (module dfaillant ou manquant),
accs une adresse de priphrie inconnue de la CPU.

Programmation de lOB122
Vous devez crer l'OB122 avec STEP 7 comme objet dans votre programme S7. Ecrivez le
programme devant tre trait dans l'OB122 dans le bloc cr et chargez-le dans la CPU en
tant que partie de votre programme utilisateur.
Vous pouvez, par exemple, vous servir de l'OB122 pour :
exploiter ses informations de dclenchement,
appeler la fonction systme SFC44 et indiquer une valeur de remplacement pour un
module d'entres afin que le programme puisse se poursuivre avec une valeur
dpendante du processus cohrente.
Si l'OB122 n'est pas programm, la CPU passe l'tat de fonctionnement "Arrt" (STOP)
la dtection d'une erreur d'accs la priphrie.
Des informations dtailles sur les OB, SFB et SFC sont donnes dans les aides sur les
blocs correspondantes.

Programmer avec STEP 7 V5.1


A5E00069874-03

21-39

Diagnostic

21-40

Programmer avec STEP 7 V5.1


A5E00069874-03

22 Impression et archivage

22.1
22.1.1

Impression de la documentation du projet


Impression de la documentation du projet
Une fois cr le programme pour votre solution d'automatisation, vous pouvez imprimer
toutes les donnes importantes de votre projet afin de le documenter, en utilisant les
fonctions d'impression intgres STEP 7.

Elments constituants du projet imprimables


Vous pouvez imprimer un objet soit directement depuis SIMATIC Manager, soit en ouvrant
l'objet voulu puis en dmarrant l'impression.
Depuis SIMATIC Manager, vous pouvez directement imprimer les lments constituants
suivants d'un projet :
arborescence des objets (structure du projet/de la bibliothque)
liste d'objets (contenu d'un dossier d'objets)
contenu d'un objet
messages
En ouvrant l'objet correspondant, vous pouvrez imprimer par exemple les lments
constituants suivants du projet :
blocs, dans les modes de reprsentation CONT, LOG, LIST ou dans un autre langage
(logiciel optionnel),
table des mnmoniques (avec les mnmoniques d'adresses absolues),
table de configuration avec la disposition des modules dans l'automate et les paramtres
des modules,
contenu de la mmoire tampon de diagnostic,
table des variables avec formats de valeur d'tat et valeurs d'tat et de forage,
donnes de rfrence, c'est--dire listes des rfrences croises, tableaux d'affectation,
structures de programme, oprandes libres, mnmoniques manquants,
table des donnes globales,
caractristiques du module avec tat du module,
textes destins l'utilisateur (textes utilisateur et bibliothques de textes),
documents de progiciels optionnels, par exemple de langages de programmation.

Programmer avec STEP 7 V5.1


A5E00069874-03

22-1

Impression et archivage

Progiciel optionnel DOCPRO


Pour crer, diter et imprimer des dossiers normaliss de vos schmas d'installation, vous
pouvez utiliser le progiciel optionnel DOCPRO. Vous obtenez ainsi une documentation de
votre installation rpondant aux normes DIN et ANSI.

22.1.2

Procdure de principe pour l'impression


Pour l'impression, procdez de la manire suivante :
1. Ouvrez l'objet appropri pour afficher l'cran les informations imprimer.
2. Appelez la bote de dialogue d'impression l'aide de la commande Fichier > Imprimer...
dans la fentre en question. Selon la fentre, le premier menu dans la barre des menus
peut diffrer de "Fichier". Il peut par exemple s'agir du menu "Table".
3. Modifiez, si ncessaire, les paramtres d'impression dans la bote de dialogue (par
exemple, l'imprimante, ltendue, le nombre d'exemplaires), puis fermez celle-ci.
Certaines botes de dialogue, comme par exemple celle de l'tat du module contiennent le
bouton "Imprimer". Cliquez sur ce bouton pour imprimer le contenu de la bote de dialogue.
Il n'est pas ncessaire d'ouvrir les blocs. Vous pouvez les imprimer directement dans
SIMATIC Manager via la commande Fichier > Imprimer....

22.1.3

Fonctions dimpression
Pour imprimer les objets, vous disposez des fonctions complmentaires suivantes :
Objet

Commande

imprimer

Blocs, sources LIST

Fichier > *

Etat du module

Fonction

Fonction Fonction

Aperu
avant
impression

Mise en
page

Fonction

En-ttes et Configuration
bas de page de l'imprimante

Table de donnes
globales

Table GD > *

Table de configuration

Station > *

Objet, dossier d'objets

Fichier > *

Donnes de rfrence

Donnes de
rfrence > *

Table des
mnmoniques

Table > *

Table des variables

Table > *

Table des liaisons

Rseau > *

Textes destins
l'utilisateur (textes
personnaliss,
bibliothques de textes)

Textes > *

* = Le caractre * dsigne la fonction correspondante dans la commande (p. ex. Aperu avant impression ou
Mise en page)

La marche suivre pour imprimer les objets individuels est donne dans l'aide en ligne.

22-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Impression et archivage

Aperu avant impression


Grce la fonction "Aperu avant impression", vous pouvez examiner le document avant de
l'imprimer.
S'il comporte plusieurs pages, chaque numro de page figurant en bas droite est suivi
d'une marque indiquant une page suivante. La dernire page ne porte pas cette marque.
Nota
L'aperu avant impression n'affiche pas la prsentation de l'impression optimise.

Mise en page
Vous pouvez choisir le format de page (par exemple A4, A5, Letter) pour toutes les
applications de STEP 7 et les logiciels optionnels dans SIMATIC Manager avec la
commande Fichier > Mise en page. Un autre format de page peut tre temporairement
choisi dans certaines applications (par exemple dans l'diteur de mnmoniques) mais ne
peut pas tre sauvegard pour d'autres sessions.
Adaptez le formulaire utilis pour l'impression au format de papier dsir. Si le formulaire est
trop large, la partie droite sera imprime sur une page suivante.
Si vous choisissez une taille de papier avec marge (par exemple : "A4 marge"), le document
imprim aura une marge gauche qui peut servir le perforer.
Nota
Pour obtenir de l'aide sur la bote de dialogue "Mise en page", cliquez sur le bouton "Aide"
ou appuyez sur F1, lorsque le curseur se trouve dans la bote de dialogue.

Dfinition des en-ttes et des bas de page


La fonction Fichier > En-ttes et bas de page dans SIMATIC Manager vous permet de
dfinir pour l'ensemble du projet, les en-ttes et bas de page des documents imprimer.
Lorsque le document comporte plusieurs pages, une marque figure droite, au bas de la
page pour indiquer la prsence d'une page suivante. La dernire page ne porte pas cette
marque. Vous pouvez ainsi aisment vous assurez que le document imprim est complet.
Le repre indiquant une page suivante est galement visible dans l'aperu avant impression.

Configuration de limprimante
La fonction "Configuration de l'imprimante" vous permet de slectionner une imprimante et le
format du papier (portrait ou paysage). Les possibilits de paramtrage pour cette fonction
dpendent du pilote d'imprimante utilis.

22.1.4

Particularits pour l'impression de l'arborescence des objets


En activant la case d'option "Arborescence" dans la bote de dialogue "Imprimer la liste
d'objets", vous pouvez non seulement imprimer la liste des objets, mais galement
l'arborecence des objets.
Si vous activez la case d'option "Tous" sous "Etendue", l'arborescence complte
s'imprimera. En activant le bouton "Slection", l'arborecence s'imprimera vers le bas, partir
de l'objet slectionn.

Programmer avec STEP 7 V5.1


A5E00069874-03

22-3

Impression et archivage

Nota
Les paramtrages effectus dans la bote de dialogue ne valent que pour l'impression de la
liste ou de l'arborecence, mais pas pour celle des contenus. En effet, pour l'impression des
contenus, ce sont les paramtrages des applications concernes qui sont utiliss.

22.2
22.2.1

Archivage de projets et de bibliothques


Archivage de projets et de bibliothques
Vous pouvez mmoriser un projet ou une bibliothque particuliers sous forme comprime
dans un fichier d'archivage. Celui-ci pourra ensuite tre copi sur le disque dur ou sur un
support d'enregistrement amovible (une disquette, par exemple).

Programmes darchivage
La fonction d'archivage sert d'interface pour l'appel du programme d'archivage que vous
voulez utiliser. Les programmes d'archivage ARJ et PKZIP 2.50 sont livrs avec STEP 7.
Vous pouvez utiliser les programmes d'archivage suivants condition d'en possder la
bonne version :
ARJ

partir de la version 2.4.1a

PKZIP

partir de la version 2.04g

LHARC

partir de la version 2.13

WinZip

partir de la version 6.0

JAR

partir de la version 1.02

Recommandations pour larchivage


Des projets avec de "longs noms de fichiers" (antrieurs la convention DOS 8.3) ou des
structures arborescentes profondment imbriques (rpertoires dont le chemin absolu
dpasse les 64 caractres), ne doivent tre archivs qu'avec les programmes PKZIP 2.50,
WinZip ou JAR. L'utilisation des autres programmes d'archivage ne garantit pas la
dcompression complte et correcte des fichiers d'archivage pour de telles structures. Ceci
est en particulier le cas pour les projets contenant des objets du progiciel optionnel WinCC.

22-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Impression et archivage

22.2.2

Possibilits d'enregistrement / archivage

Enregistrer sous
Cette fonction permet de crer une copie du projet sous un autre nom.
Vous pouvez l'utiliser pour
crer des copies de sauvegarde
copier un projet afin de le modifier pour rpondre d'autres besoins.
Si vous voulez que la copie soit rapide, choisissez l'option de sauvegarde sans
rorganisation dans la bote de dialogue. L'arborescence entire du projet sera alors copie
et sauvegarde sous un autre nom sans vrification.
Vrifiez que la mmoire disponible sur le support de donnes est suffisante pour la copie.
N'essayez pas de sauvegarder des projets sur disquettes, car la place mmoire en gnral
ne suffit pas. Pour le transport de vos donnes de projet sur disquettes, choisissez la
fonction "Archiver".
La sauvegarde d'un projet avec rorganisation dure plus longtemps. Un message est
toutefois affich quand un objet ne peut tre copi et sauvegard. La raison peut en tre un
logiciel optionnel manquant ou des donnes dfectueuses.

Archiver
Vous pouvez mmoriser un projet ou une bibliothque particuliers sous forme comprime
dans un fichier d'archivage. Celui-ci pourra ensuite tre copi sur le disque dur ou sur un
support d'enregistrement amovible (une disquette, par exemple).
Ne transportez vos projets sur disquettes qu'archivs dans des fichiers d'archives. Si le
projet est trop grand, slectionnez un programme d'archivage autorisant l'archivage sur
plusieurs disquettes.
Les projets et bibliothques qui ont t comprims en fichiers d'archivage ne peuvent pas
tre utiliss tels quels. Si vous souhaitez les rutiliser, vous devez pralablement
dcomprimer les donnes, c'est--dire dsarchiver le projet ou la bibliothque.

22.2.3

Conditions requises pour larchivage


Pour archiver un projet/une bibliothque, les conditions suivantes doivent tre remplies :
Le programme d'archivage doit tre install dans votre systme. L'intgration STEP 7
est explique dans l'aide en ligne, la rubrique "Procdure d'archivage/de dsarchivage.
Toutes les donnes du projet sans exception doivent se trouver dans ou sous le
rpertoire de projet. Il est certes possible, dans l'environnement de dveloppement C, de
stocker des donnes d'autres endroits, mais ces donnes ne seront alors pas
enregistres dans le fichier d'archives.
Les noms de fichiers doivent respecter les conventions DOS : 8 caractres plus 3
caractres pour l'extension de fichier si vous utilisez les programmes d'archivage ARJ,
PKZip version 2.04g ou LHArc. En effet, ces programmes d'archivage sont des
programmes DOS.
Cette restriction ne s'applique pas PKZip de version 2.50, Jar et WinZip.

Programmer avec STEP 7 V5.1


A5E00069874-03

22-5

Impression et archivage

22.2.4

Marche suivre pour l'archivage/le dsarchivage


Vous archivez/dsarchivez votre projet/bibliothque en choisissant l'une des commandes
Fichier > Archiver ou Fichier > Dsarchiver.

Nota
Les projets et bibliothques qui ont t comprims en fichiers d'archivage ne peuvent pas
tre utiliss tels quels. Si vous souhaitez les rutiliser, vous devez pralablement
dcomprimer les donnes, c'est--dire dsarchiver le projet ou la bibliothque.

Lors du dsarchivage, les projets/bibliothques sont intgrs automatiquement la liste des


projets/bibliothques.

Dfinition du rpertoire cible


Pour dfinir le rpertoire cible, vous choisissez la commande Outils > Paramtres dans
SIMATIC Manager pour ouvrir la bote de dialogue "Paramtres".
L'onglet "Archiver" de cette bote de dialogue propose l'option "Rpertoire cible
dsarchivage".
Lorsque cette option est dsactive, le rpertoire cible utilis sera celui dfini dans la page
d'onglet "Gnral" sous "Lieu d'archivage des projets" ou "Lieu d'archivage des
bibliothques" de la mme bote de dialogue.

Copie dun fichier darchivage sur disquette


Vous pouvez archiver un projet ou une bibliothque puis copier le fichier d'archives sur une
disquette. Il est galement possible de slectionner directement un lecteur de disquettes
dans la bote de dialogue d'archivage.

Information relative PKZIP 2.04g


Si l'option "Archive dont la taille ncessite plusieurs disquettes" a t active lors de la
cration d'une archive sur disquettes, le programme vous demande d'insrer la dernire
disquette pour cette archive lors du dsarchivage. PKUNZIP affiche le message suivant
dans la fentre DOS :
Insert the LAST disk of the backup set - Press a key when ready.
Ce message s'affiche galement lorsque l'archive a t cre avec l'option "Archive dont la
taille ncessite plusieurs disquettes", mais que l'archive complte tient sur une seule
disquette.
Dans ce cas, ce message est ignorer. Vous l'acquittez en pressant une touche
quelconque.

22-6

Programmer avec STEP 7 V5.1


A5E00069874-03

23 Configuration multi-utilisateur au sein du rseau


Windows

23.1

Configuration multi-utilisateur au sein du rseau Windows

Gnralits
STEP 7 vous permet de travailler dans une configuration multi-utilisateur sous Windows
95/98/2000/NT-Workgroups et dans les rseaux NT/Novell. Il existe par principe trois cas de
figure :
Le projet se trouve sur une unit locale et est galement utilis par un autre poste de
travail.
Exemple : les postes de travail 1 et 2 accdent au projet A du poste de travail 1.
Le projet se trouve sur un serveur de projets/rseau.
Exemple : les postes de travail 1 et 2 accdent au projet C sur le serveur de rseau.
Les projets sont rpartis sur des units locales et sur un ou plusieurs serveurs de
projets/rseaux.
Exemple : les postes de travail 1 et 2 accdent aux projets A, B et C.

Rseau PC
Poste de travail 1
STEP 7

Poste de travail 2
STEP 7

Projet B

Projet A
Projet C
Serveur du group Windows NT

Programmer avec STEP 7 V5.1


A5E00069874-03

23-1

Configuration multi-utilisateur au sein du rseau Windows

Rgles de stockage de projets sur des serveurs rseau


Lorsque vous stockez vos projets sur des serveurs rseau, leur chemin d'accs doit
toujours tre affect une lettre dsignant un lecteur.
Lorsque vous stockez vos projets sur des serveurs rseau ou sur des lecteurs
accessibles d'autres partenaires au rseau, Windows 95/98/NT ne doit y tre quitt que
lorsque toutes les applications STEP 7 accdant ces projets ont t quittes.

Rgles d'dition d'un programme S7 par plusieurs personnes


Tenez compte des points suivants :
Avant que plusieurs personnes ne puissent travailler sur un programme S7, vous devez
paramtrer la configuration du poste de travail (commande Dmarrer > Simatic >
STEP 7 > Configurer le poste de travail).
Blocs ou source LIST :
Chaque personne doit programmer un bloc ou une source LIST diffrents. Lorsque deux
personnes tentent d'diter simultanment un mme bloc ou une mme source, un
message est mis et l'accs et interdit la deuxime personne.
Table des mnmoniques :
Plusieurs personnes peuvent ouvrir simultanment la table des mnmoniques, mais un
seul utilisateur peut l'diter. Lorsque deux personnes tentent d'diter simultanment la
table des mnmoniques, un message est mis et l'accs et interdit la deuxime
personne.
Table des variables :
Plusieurs personnes peuvent ouvrir simultanment la table des variables, mais un seul
utilisateur peut l'diter. Lorsque deux personnes tentent d'diter simultanment la table
des variables, un message est mis et l'accs et interdit la deuxime personne. Un
programme S7 peut contenir plusieurs tables des variables. Elles peuvent videmment
tre dites indpendemment les unes des autres.

Rgles d'dition d'une station par plusieurs personnes


Tenez compte des points suivants :
La configuration matrielle et la configuration de rseau d'une station doivent tre dites
de manire centrale par une seule personne.

23-2

Programmer avec STEP 7 V5.1


A5E00069874-03

24 Utilisation des systmes d'automatisation M7

24.1

Marche suivre pour les systmes M7


Grce son architecture PC standardise, le systme d'automatisation M7-300/400
constitue une extension librement programmable de la plateforme d'automatisation
SIMATIC. Vous pouvez programmer les programmes utilisateur pour SIMATIC M7 dans un
langage volu comme C ou dans un langage graphique comme CFC (Continuous Funktion
Chart).
Pour crer ces programmes, vous avez besoin - en plus de STEP 7 - du logiciel systme
M7-SYS RT pour M7-300/400 ainsi que d'un environnement de dveloppement pour
programmes M7 (ProC/C++ ou CFC).

Marche suivre
La ralisation d'une solution d'automatisation avec SIMATIC M7 appelle les tches
fondamentales suivantes. Le tableau suivant indique les tches raliser dans la plupart
des projets et indique la marche suivre sous forme de guide. Il fait rfrence aux chapitres
correspondants du prsent manuel ou d'autres manuels.
Marche suivre

Description

Conception dune solution dautomatisation

Spcifique M7 ;

Dmarrage de STEP 7

Comme pour STEP 7

Cration de la structure du projet

Comme pour STEP 7

voir PHB M7-SYS RT

Cration d'une station


Configuration du matriel
Configuration de liaisons de communication

Comme pour STEP 7

Dfinition de la table des mnmoniques

Comme pour STEP 7

Cration d'un programme utilisateur C ou CFC

Spcifique M7 ;
voir ProC/C++

Configuration du systme d'exploitation

Spcifique M7 ;

Installation du systme d'exploitation sur le


M7-300/400

voir BHB M7-SYS Rt

Chargement de la configuration matrielle et du


programme utilisateur dans M7
Test et dbogage du programme utilisateur

ProC/C++

Surveillance du fonctionnement et diagnostic de M7

Comme pour STEP 7,


cependant sans diagnostic
personnalis

Impression et Archivage

Comme pour STEP 7

Programmer avec STEP 7 V5.1


A5E00069874-03

24-1

Utilisation des systmes d'automatisation M7

Quelles sont les diffrences ?


Pour M7-300/400, STEP 7 ne propose pas les fonctions suivantes :
Mode multiprocesseur fonctionnement synchrone de plusieurs CPU
Forage permanent de variables
Communication par donnes globales
Diagnostic personnalis

Gestion des systmes M7


STEP 7 vous assiste particulirement pour la rsolution des tches suivantes avec les
systmes d'automatisation M7 :
Installation du systme d'exploitation sur le M7-300/400
Configuration du systme d'exploitation par dition de fichiers systme
Transfert de programmes utilisateur dans le M7-300/400
Actualisation du micro-programme
Pour parvenir dans la gestion du systme cible M7, vous appelez la commande suivante
dans le contexte d'un projet contenant des stations avec des CPU ou des FM S7, le dossier
des programmes tant slectionn :
Systme cible > Grer le systme cible M7
Des instructions dtailles sont donnes dans l'aide en ligne et dans le manuel utilisateur
M7- SYS RT.

24-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Utilisation des systmes d'automatisation M7

24.2

Logiciel optionnel pour la programmation M7

Logiciel optionnel M7
STEP 7 vous offre les fonctions de base ncessaires pour :
crer et grer des projets,
configurer et paramtrer le matriel,
configurer des rseaux et des liaisons,
grer les mnmoniques (donnes symboliques).
Ces fonctions sont indpendantes du fait que votre systme d'automatisation soit un
SIMATIC S7 ou un SIMATIC M7.
Pour crer des programmes utilisateur M7, vous avez besoin du logiciel optionnel M7 en
plus de STEP 7.
Logiciel
M7-SYS RT

Contenu

Systme d'exploitation M7 RMOS32

Bibliothque systme M7-API

Prise en charge MPI

CFC pour S7 et M7 Logiciel de programmation pour applications CFC (Continuous


Function Chart)
M7-ProC/C++

Borland C++

Intgration de l'environnement de dveloppement Borland


dans STEP 7

Editeur et gnrateur d'importation de mnmoniques

Dbogueur de langages volus Organon xdb386

Environnement de dveloppement Borland C++

Avec le logiciel optionnel M7, STEP 7 vous assiste en outre dans les activits suivantes :
transfert de donnes dans le M7 via MPI,
recherche d'informations sur le systme d'automatisation M7
excution d'oprations prcises dans le systme d'automatisation M7 et effacement
gnral du M7.
La figure suivante montre les interdpendances au sein du logiciel optionnel M7 pour la
programmation M7.

Programmer avec STEP 7 V5.1


A5E00069874-03

24-3

Utilisation des systmes d'automatisation M7

Programmes C/C++

Programmes CFC

CFC pour S7 et M7

M7-ProC/C++

Borland C++

M7-SYS RT

Rcapitulatif
Pour crer des ...

vous avez besoin du logiciel optionnel M7 ...

programmes C/C++

1.

M7-SYS RT

2.

M7-ProC/C++

3.

Borland C++

1.

M7-SYS RT

2.

CFC pour S7 et M7

3.

Borland C++

programmes CFC

24-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Utilisation des systmes d'automatisation M7

Assistance
Les outils spcifiques pour la cration d'applications M7 sont intgrs pour partie dans
STEP 7 et pour partie dans le logiciel optionnel M7.
Le tableau suivant indique dans quels domaines les diffrents progiciels vous assistent.
Le logiciel ...

vous aide...

STEP 7

pour l'installation du systme d'exploitation M7,

pour la gestion du systme d'automatisation M7,

pour le transfert, le lancement et la suppression des


programmes utilisateur M7,

pour l'appel de donnes d'tat et de diagnostic,

pour l'effacement gnral de la CPU.

M7-SYS RT

via les utilitaires du systme d'exploitation M7 et du logiciel


systme M7 pour :

la commande de l'excution des programmes,

la gestion de la mmoire et des ressources,

l'accs au matriel SIMATIC et ordinateur,

la gestion des alarmes,

le diagnostic,

la surveillance de l'tat

et la communication.

grce la gnration de code intgre (intgration de


l'environnement de dveloppement Borland dans STEP7),

grce l'intgration des mnmoniques de projet dans le


code source,

grce la fonction de dbogage intgre.

Borland C++

pour la cration de programmes C et C++.

CFC pour S7
et M7

pour la cration, le test et le dbogage de programmes CFC

et pour le lancement et l'excution de programmes CFC.

M7-ProC/C++

Programmer avec STEP 7 V5.1


A5E00069874-03

24-5

Utilisation des systmes d'automatisation M7

24.3

Systmes d'exploitation pour M7-300/400


Les utilitaires du systme d'exploitation sont de premire importance pour les applications
cres dans les langages volus C et C++. Le systme d'exploitation assure les tches
suivantes pour l'application :
accs au matriel,
gestion des ressources,
intgration dans le systme,
communication avec d'autres composants du systme.
Pour la rsolution de tches d'automatisation, nous mettons en oeuvre le systme
d'exploitation temps rel M7 RMOS32 (RMOS = Realtime-Multitasking-Operating-System)
sur le systme d'automatisation SIMATIC M7. Pour permettre son intgration dans le
systme SIMATIC, M7 RMOS a t complt par une interface d'appel : M7-API (Application
Programming Interface).
Le systme d'exploitation en temps rel RMOS32 de M7 sert la rsolution de problmes
temps rel et multitches critiques en temps pour des applications de 32 bits. Il est
disponible dans les configurations suivantes pour les modules M7 :
M7 RMOS32
M7 RMOS32 avec MS-DOS
La configuration du systme d'exploitation que vous choisissez pour votre systme
d'automatisation M7 dpend des modules M7 que vous mettez en oeuvre :
Configurations de
systme d'exploitation

Module /
mmoire centrale

PROFIBUS DP et TCP/IP
oui/non

Installation sur
mmoire de masse

M7 RMOS32

FM 356-4 / 4Mo
FM 356-4 / 8Mo
CPU 388-4 / 8Mo
FM 456-4 / 16Mo
CPU 488-3 / 16Mo
CPU 486-3 / 16Mo

non
oui
oui
oui
oui
oui

carte mmoire 4 Mo
ou disque dur

M7 RMOS32

FM 356-4 / 8Mo
CPU 388-4 / 8Mo
FM 456-4 / 16Mo
CPU 488-3 / 16Mo
CPU 486-3 / 16Mo

non
non
oui
oui
oui

carte mmoire 4 Mo
ou disque dur

avec MS-DOS

24-6

Programmer avec STEP 7 V5.1


A5E00069874-03

25 Astuces et conseils

25.1

Remplacement de modules dans la table de configuration


Lorsque vous retouchez la configuration dune station dans HW Config et que vous
souhaitez remplacer un module, par exemple par un autre qui a un autre numro de
rfrence, procdez de la manire suivante :
1. Amenez le module par glisser-lcher de la fentre "Catalogue du matriel" sur le module
("ancien") dj plac.
2. Lchez le nouveau module ; dans la mesure du possible, il adopte alors les paramtres
du module dj enfich.
Cette faon de faire est plus rapide que celle qui consiste effacer d'abord l'ancien module
avant d'insrer le nouveau et de le paramtrer.
Vous pouvez activer ou dsactiver cette fonction expressment dans HW Config au moyen
de la commande Outils > Paramtres ("Remplacement de modules possible").

25.2

Projets comportant un grand nombre de stations en rseau


Lorsque vous configurez toutes les stations l'une aprs l'autre et n'appelez NetPro par
Outils > Configurer le rseau que dans un deuxime temps pour configurer les liaisons,
les stations sont places automatiquement dans la vue de rseau. L'inconvnient, c'est que
vous devez alors classer les stations et les sous-rseaux aprs coup selon des critres
topologiques.
Si votre projet comporte un grand nombre de stations en rseau que vous souhaitez relier
par des liaisons, il vaut mieux configurer la structure de l'installation dans la vue de rseau
ds le dpart, pour conserver une vue d'ensemble.
1. Crez le nouveau projet dans SIMATIC Manager (commande Fichier > Nouveau).
2. Dmarrez NetPro (commande Outils > Configurer le rseau).
3. Gnrez les stations l'une aprs l'autre dans NetPro :
-

Prlevez la station dans la fentre "Catalogue" et placez-la par glisser-lcher.

Cliquez deux fois sur la station pour dmarrer HW Config.

Dans HW Config, placez par glisser-lcher les modules de communication (CPU, CP,
FM, cartouches d'interface).

Si vous voulez connecter ces modules un rseau, cliquez deux fois sur les lignes
concernes de la table de configuration pour crer des sous-rseaux et connecter les
interfaces.

Enregistrez la configuration et passez dans NetPro.

Positionnez stations et sous-rseaux dans NetPro (faites glisser l'objet avec le


pointeur de la souris jusqu' la position qui vous convient).

4. Configurez les liaisons dans NetPro et rectifiez au besoin la mise en rseau.

Programmer avec STEP 7 V5.1


A5E00069874-03

25-1

Astuces et conseils

25.3

Rorganisation
Lorsque des problmes inexpliqus surviennent lors de l'utilisation de STEP 7, la solution
consiste souvent rorganiser la base de donnes du projet ou de la bibliothque.
Choisissez cet effet la commande Fichier > Rorganiser. La rorganisation permet de
supprimer les intervalles conscutifs l'effacement, c'est--dire de rduire l'espace mmoire
requis par des donnes du projet/de la bibliothque.
Cette fonction optimise la base de donnes pour le projet ou la bibliothque tout comme un
programme, par exemple, optimise la base de donnes sur le disque dur pour sa
dfragmentation.
La dure de la rorganisation dpend des dplacements de donnes requis et peut occuper
un temps relativement long. C'est la raison pour laquelle cette fonction n'est pas excute
automatiquement (par exemple la fermeture d'un projet), mais doit tre dmarre par
l'utilisateur lorsqu'il souhaite rorganiser le projet ou la bibliothque.

Condition pralable
Un projet ou une bibliothque ne peuvent tre rorganiss que si aucun des objets qu'ils
contiennent n'est utilis par une autre application est donc inaccessible.

25.4

Test l'aide de la table des variables


Voici une srie de conseils facilitant la visualisation et le forage de variables dans la table
des variables.
Vous pouvez taper les mnmoniques et les oprandes dans la colonne "Mnmonique"
comme dans la colonne "Oprande". L'entre est automatiquement reporte dans la
colonne approprie.
Pour obtenir l'affichage de la valeur force, choisissez comme point de dclenchement
"Dbut de cycle" pour la visualisation et "Fin de cycle" pour le forage.
Si vous positionnez le curseur dans une ligne repre en rouge, une bulle d'information
s'affiche dans laquelle vous pouvez lire la cause d'erreur. Appuyez alors sur la touche F1
pour afficher la solution.
Vous ne pouvez entrer que des mnmoniques dj dfinis dans la table des
mnmoniques.
Il faut entrer un mnmonique exactement comme il est dfini dans la table.
Les mnmoniques comportant des caractres spciaux s'crivent entre guillemets (ex. :
"Moteur.stop", "Moteur+stop", "Moteur-stop").
Suppression des messages d'avertissement (option de l'onglet "Online" de la bote de
dialogue "Paramtres").
Changement possible de liaison sans avoir coup la liaison existante pralable.
Possibilit de dfinir le dclenchement durant la visualisation des variables.
Possibilit de forcer des variables par slection des lignes voulues dans la table et de la
fonction "Forcer". Seules les variables visibles dans la table sont alors forces.

25-2

Programmer avec STEP 7 V5.1


A5E00069874-03

Astuces et conseils

Une nouvelle option "Regrouper les variables" permet daugmenter le nombre maximum
des variables pouvant tre visualises (onglet "Online" de la bote de la dialogue
"Paramtres").
Quitter sans demande de confirmation
La visualisation, le forage ou le dblocage des sorties de priphrie tant en cours
d'excution, une pression de la touche ECHAP mettra fin ces fonctions sans demande de
confirmation.
Saisir une plage d'oprandes conscutifs
Utilisez la commande Insertion > Plage.
Afficher et masquer des colonnes
Utilisez les commandes suivantes pour afficher ou masquer les colonnes de votre choix :
Mnmonique : Affichage > Mnmonique
Commentaire de mnmonique : Affichage > Commentaire de mnmonique
Format de reprsentation de la valeur d'tat : Affichage > Format daffichage
Valeur d'tat de la variable : Affichage > Valeur d'tat
Valeur de forage de la variable : Affichage > Valeur de forage
Modifier le format d'affichage dans plusieurs lignes la fois
-

Pour slectionner la partie de la table dans laquelle vous voulez changer de format
d'affichage, faites glisser le pointeur dessus en maintenant la touche gauche de la
souris enfonce.

Choisissez la nouvelle reprsentation avec la commande Affichage > Choisir format


d'affichage. Le format changera seulement pour celles des lignes slectionnes qui
autorisent ce changement.

Exemples de saisie par la touche F1


-

Positionnez le curseur dans la colonne des oprandes et appuyez sur F1 pour obtenir
des exemples montrant la saisie d'oprandes.

Positionnez le curseur dans la colonne des valeurs de forage et appuyez sur F1 pour
obtenir des exemples montrant la saisie de valeurs de forage ou de forage
permanent.

Programmer avec STEP 7 V5.1


A5E00069874-03

25-3

Astuces et conseils

25.5

Mmoire virtuelle
Une autre raison d'une dfaillance de STEP 7 peut tre une mmoire virtuelle trop petite.
Pour utiliser STEP 7 sous Windows 95/98/NT/2000, il est recommand d'adapter le
paramtrage de la mmoire virtuelle. Procdez de la manire suivante :
1. Ouvrez le panneau de configuration, par exemple depuis le menu de dmarrage en
choisissant la commande Dmarrer > Paramtres > Panneau de configuration.
2. Effectuez un double clic sur l'icne "Systme".
3. Sous Windows 95/98/NT, slectionnez dans la bote de dialogue qui s'affiche l'onglet
"Performances".
Sous Windows 2000, slectionnez l'onglet "Extension" et actionnez le bouton "Options de
performance systme".
4. Cliquez sur le bouton "Mmoire virtuelle" (Windows 9x) ou sur le bouton "Modifier"
(Windows NT/2000).
5. Uniquement 9x : dans la bote de dialogue "Mmoire virtuelle", activez l'option "Me
permettre de spcifier mes propres paramtres de mmoire virtuelle".
6. Entrez comme "Minimum" ou "Taille initiale" (Mo) au moins 40 mga-octets et comme
maximum ou "Taille maximale" (Mo) au moins 150 mga-octets.
7. Uniquement 9x : assurez- vous que l'option "Dsactiver la mmoire virtuelle" est
dsactive.
Uniquement NT : cliquez sur le bouton "Fixer la valeur".

Nota
Puisque la mmoire virtuelle se trouve sur le disque dur (par dfaut C: et de manire
dynamique), vous devez vous assurer que l'espace mmoire disponible pour les rpertoires
TMP ou TEMP est suffisant (environ 20 30 Mo) :

25-4

Si le projet S7 devait se trouver sur la mme partition que la mmoire virtuelle, il


faudrait que le double environ de l'espace mmoire occup par le projet S7 soit encore
disponible.

Toutefois, si le projet est gr sur une autre partition, cette condition s'avre inutile.

Programmer avec STEP 7 V5.1


A5E00069874-03

A.1
A.1.1

Annexe

Etats de fonctionnement
Etats de fonctionnement et changement d'tat de fonctionnement

Etats de fonctionnement
Les tats de fonctionnement dcrivent le comportement de la CPU un instant quelconque.
La connaissance de ces tats est utile pour la programmation de la mise en route, le test de
l'automate, ainsi que pour le diagnostic des erreurs.
Les CPU S7-300 et S7-400 possdent les tats de fonctionnement suivants :
Arrt
Mise en route
Marche
Attente
A l'tat de fonctionnement "Arrt" (STOP), la CPU vrifie si tous les modules configurs ou
utilisant l'adressage par dfaut sont prsents et place la priphrie dans un tat fondamental
prdfini. Le programme utilisateur n'est pas trait dans cet tat.
On distingue, l'tat de fonctionnement "Mise en route", entre les modes de mise en route
"Dmarrage chaud", "Dmarrage froid" et "Redmarrage" :
En cas de dmarrage chaud, le traitement du programme recommence au dbut avec
une "dfinition de base" des donnes systme et des zones d'oprandes utilisateur
(les temporisations, compteurs et mmentos non rmanents sont remis zro).
En cas de dmarrage froid, la mmoire image est lue et le programme utilisateur
STEP 7 est excut en commenant par la premire instruction dans l'OB1 (ceci est
galement le cas pour le dmarrage chaud).
-

Les blocs de donnes crs par SFC dans la mmoire de travail sont effacs, les
autres blocs de donnes prennent la valeur par dfaut de la mmoire de chargement.

La mmoire image ainsi que tous les compteurs, temporisations et mmentos sont
remis zro, qu'ils aient t paramtrs comme tant rmanents ou pas.

En cas de redmarrage, le traitement du programme se poursuit au point d'interruption


(les temporisations, compteurs et mmentos ne sont pas remis zro). Seules les CPU
S7-400 peuvent excuter un redmarrage.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-1

Annexe

A l'tat de fonctionnement "Marche" (RUN), la CPU traite le programme utilisateur, met


jour les entres et les sorties, traite les alarmes et messages d'erreur.
Le traitement du programme utilisateur est suspendu l'tat de fonctionnement "Attente" et
vous pouvez tester ce programme pas pas. Cet tat n'est accessible que lors du test avec
la console de programmation.
Dans tous ces tats de fonctionnement, la CPU peut communiquer via l'interface MPI.

Autres tats de fonctionnement


Lorsque la CPU n'est pas prte fonctionner, elle se trouve dans l'un des tats suivants :
Sans tension : il ny a pas de tension secteur.
Dfaillante : une erreur irrmdiable s'est produite.
Vrifiez si la CPU prsente vraiment une dfaillance : mettez-la sur STOP et teignez
puis allumez le commutateur secteur. Si la CPU se met en route, lisez la mmoire
tampon de diagnostic afin d'analyser l'erreur. Si la CPU ne dmarre pas, il faut la
remplacer.

Changements d'tat de fonctionnement


La figure suivante reprsente les tats de fonctionnement et les changements d'tat de
fonctionnement des CPU S7-300 et S7-400 :
6.

2.
1.

Arrt

3.

Attente
5.

10.

4.

9.

7.
Mise en
route
8.

Marche

Le tableau suivant donne les conditions de changement d'tat de fonctionnement.


Changement

Description

1.

La CPU est l'tat "Arrt" (STOP) lors de la mise sous tension.

2.

La CPU passe l'tat "Mise en route" :

lorsque la position RUN ou RUN-P est slectionne via le commutateur


cl ou la console de programmation ou

aprs dclenchement automatique d'un mode de mise en route par


mise sous tension.

lorsque la fonction de communication "RESUME" ou "START" est


excute.
Le commutateur cl doit se trouver dans ces deux cas sur RUN ou
RUN-P.

3.

A-2

La CPU passe de nouveau l'tat "Arrt" (STOP) lorsque :

une erreur est dtecte pendant la mise en route ;

la CPU est mise sur STOP via le commutateur cl ou depuis la PG ;

une commande d'arrt est traite dans l'OB de mise en route ;

la fonction de communication "STOP" est excute.

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Changement

Description

4.

La CPU passe l'tat de fonctionnement "Attente" lorsqu'un point d'arrt


est atteint dans le programme de mise en route.

5.

La CPU passe l'tat de fonctionnement "Mise en route" lorsque le point


d'arrt tait dfini dans un programme de mise en route et que la
commande QUITTER ATTENTE est excute (fonction de test).

6.

La CPU passe de nouveau l'tat "Arrt" (STOP) lorsque :

7.
8.

la CPU est mise sur STOP via le commutateur cl ou depuis la PG ;

la fonction de communication "STOP" est excute.

La CPU passe l'tat "Marche" (RUN) si la mise en route s'achve sans


erreur.
La CPU passe de nouveau l'tat "Arrt" (STOP) lorsque :

une erreur est dtecte l'tat "Marche" et que l'OB correspondant


n'est pas charg ;

la CPU est mise sur STOP via le commutateur cl ou depuis la PG ;

une commande d'arrt est traite dans le programme utilisateur ;

la fonction de communication "STOP" est excute.

9.

La CPU passe l'tat de fonctionnement "Attente" lorsqu'un point d'arrt


est atteint dans le programme utilisateur.

10.

La CPU passe l'tat de fonctionnement "Marche" lorsqu'un point d'arrt


tait dfini et que la commande QUITTER ATTENTE est excute.

Priorit des tats de fonctionnement


Lorsque plusieurs tats de fonctionnement sont demands en mme temps, la CPU passe
l'tat de fonctionnement ayant la priorit la plus leve. Si le commutateur de mode se
trouve, par exemple, sur RUN et que vous tentez de commuter la CPU l'tat "Arrt"
(STOP) depuis la PG, la CPU passe bien l'tat "Arrt", car cet tat a la priorit la plus
leve.
Priorit

Etat de fonctionnement

La plus leve

Arrt
Attente
Mise en route

La plus faible

A.1.2

Marche

Etat de fonctionnement "Arrt" (STOP)


Le programme utilisateur n'est pas trait dans cet tat. Toutes les sorties sont mises des
valeurs de substitution afin d'amener le processus command un tat sr. La CPU vrifie
s'il y a des problmes de matriel (par exemple, modules non disponibles) ;
si la CPU doit prendre les valeurs par dfaut ou s'il existe des jeux de paramtres ;
si les conditions annexes pour le comportement de mise en route programm sont
correctes ;
s'il y a des problmes de logiciel systme.
Il est possible, l'tat "Arrt", de recevoir des donnes globales et d'excuter une
communication sens unique passive via des SFB de communication pour liaisons
configures et via des SFC de communication pour liaisons non configures.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-3

Annexe

Effacement gnral
Vous pouvez effectuer un effacement gnral de la CPU l'tat "Arrt", soit manuellement
en positionnant le commutateur cl sur MRES, soit partir de la console de
programmation (par exemple, avant le chargement d'un programme utilisateur).
L'effacement gnral remet la CPU dans son "tat fondamental", ce qui signifie que :_
Le programme utilisateur complet dans la mmoire de travail et dans la mmoire de
chargement RAM ainsi que toutes les zones d'oprandes sont effacs.
Les paramtres systme ainsi que les paramtres des modules et de la CPU reprennent
leur valeur par dfaut. Seuls les paramtres MPI dfinis avant l'effacement gnral sont
conservs.
Lorsqu'une carte mmoire est enfiche (EPROM flash), la CPU copie le programme
utilisateur de la carte mmoire dans la mmoire de travail (y compris les paramtres de
CPU et de modules si les donnes de configuration correspondantes se trouvent
galement sur la carte mmoire).
La mmoire tampon de diagnostic, les paramtres MPI, l'heure et le compteur d'heures de
fonctionnement ne sont pas remis zro.

A.1.3

Etat de fonctionnement "Mise en route"


Un programme de mise en route est excut avant que la CPU ne commence traiter le
programme utilisateur aprs la mise sous tension. Dans ce programme de mise en route,
vous pouvez dfinir des prslections prcises pour votre programme cyclique en
programmant en consquence les OB de mise en route.
Il existe trois modes de mise en route : dmarrage chaud, dmarrage froid et
redmarrage. Le rdmarrage n'est possible que pour les CPU S7-400. Il doit avoir t
dfini avec STEP 7 dans le jeu de paramtres de la CPU.
A l'tat de fonctionnement "Mise en route" :
le programme contenu dans l'OB de mise en route (OB100 pour dmarrage chaud,
OB101 pour redmarrage et OB102 pour dmarrage froid) est excut ;
aucun traitement de programme dclench par horloge et par alarme n'est possible ;
les temporisations sont mises jour ;
le compteur d'heures de fonctionnement s'excute ;
les sorties TOR des modules de signaux sont verrouilles, mais peuvent tre mises 1
par accs direct.

Dmarrage chaud
Un dmarrage chaud est toujours autoris moins qu'un effacement gnral n'ait t
demand par le systme. Seul le dmarrage chaud est possible aprs :
effacement gnral,
chargement du programme utilisateur l'tat de fonctionnement "Arrt" de la CPU,
dbordement de la pile des interruptions ou de la pile des blocs,
interruption d'un dmarrage chaud (par mise hors tension ou via le commutateur de
mode),
dpassement de la limite de temps d'interruption paramtre pour le redmarrage.

A-4

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Dmarrage chaud manuel


Un dmarrage chaud manuel peut tre dclench :
via le commutateur de mode de fonctionnement,
(le commutateur CRST/WRST s'il existe - doit tre sur WRST).
par une commande de menu provenant de la PG ou par des fonctions de communication
(lorsque le commutateur de mode est en position RUN ou RUN-P).

Dmarrage chaud automatique


Un dmarragea chaud automatique peut tre dclench la mise sous tension lorsque :
la CPU n'tait pas l'arrt lors de la mise hors tension ;
le commutateur de mode est en position RUN ou RUN-P ;
aucun redmarrage automatique aprs mise sous tension n'est paramtr ;
la CPU a t interrompue par coupure secteur au dmarrage chaud (indpendamment
du paramtrage du mode de mise en route).
La position du commutateur CRST/WRST reste sans effet en cas de dmarrage chaud
automatique.

Dmarrage chaud automatique sans sauvegarde


Si votre CPU fonctionne sans pile de sauvegarde (fonctionnement sans maintenance
requis), un effacement gnral est automatiquement effectu la mise sous tension ou au
retour de la tension aprs mise hors tension, puis un dmarrage chaud est excut. Le
programme utilisateur doit tre disponible sur carte mmoire (EPROM flash).

Redmarrage
Aprs une coupure secteur l'tat de fonctionnement "Marche" (RUN) puis retour de la
tension, les CPU S7-400 excutent un sous-programme d'initialisation puis,
automatiquement, un redmarrage. Lors d'un redmarrage, le programme utilisateur se
poursuit au point o son traitement a t interrompu. On appelle cycle restant la partie du
programme utilisateur qui n'a pas t traite avant la coupure secteur. Le cycle restant peut
contenir des parties de programme dclenches par horloge ou par alarme.
Un redmarrage n'est par principe possible que si vous n'avez pas modifi le programme
utilisateur l'tat "Arrt" (par exemple, en rechargeant un bloc modifi) ou si un dmarrage
chaud n'est pas requis pour d'autres raisons. On distingue entre redmarrage manuel et
redmarrage automatique.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-5

Annexe

Redmarrage manuel
Un redmarrage manuel n'est possible qu'en cas de paramtrage correspondant dans le jeu
de paramtres de la CPU et aprs un passage l'arrt ayant les causes suivantes :
commutation du commutateur de mode de RUN sur STOP,
"Arrt" programm par l'utilisateur, "Arrt" aprs appel d'OB non chargs
tat d'"arrt" provoqu par la PG ou une fonction de communication.
Un redmarrage manuel peut tre dclench :
via le commutateur de mode,
Le commutateur CRST/WRST doit tre sur WRST.
par une commande de menu provenant de la PG ou par des fonctions de communication
(lorsque le commutateur de mode est en position RUN ou RUN-P).
lorsque le redmarrage manuel a t paramtr dans le jeu de paramtres de la CPU.

Redmarrage automatique
Un redmarrage automatique peut tre dclench la mise sous tension lorsque :
la CPU n'tait pas l'tat d'arrt ou d'attente lors de la mise hors tension ;
le commutateur de mode est en position RUN ou RUN-P ;
le redmarrage automatique aprs mise sous tension a t paramtr dans le jeu de
paramtres de la CPU.
La position du commutateur CRST/WRST reste sans effet en cas de redmarrage
automatique.

Zones de donnes rmanentes aprs coupure secteur


Les CPU S7-300 et S7-400 ragissent diffremment lors du retour de la tension aprs
coupure secteur.
Les CPU S7-300 ( l'exception de la CPU 318) connaissent uniquement le mode de mise en
route "Dmarrage". Vous pouvez toutefois, avec STEP 7, dfinir comme rmanents des
mmentos, temporisations, compteurs et zones dans des blocs de donnes afin d'viter la
perte de donnes en cas de coupure de courant. Un "dmarrage automatique avec
rmanence" est alors excut au retour de la tension.
Les CPU S7-400 ragissent un retour de tension selon leur paramtrage par un
"Dmarrage chaud" (aprs une mise sous tension avec ou sans sauvegarde) ou un
"Redmarrage" (possible uniquement aprs une mise sous tension avec sauvegarde).

A-6

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Le tableau suivant montre le comportement de rmanence des CPU S7-300 et S7-400 en


cas de dmarrage chaud, dmarrage froid ou redmarrage.
X

signifie

les donnes sont conserves

VC

signifie

le bloc de code dans l'EPROM est conserv,


le bloc de code ventuellement charg est perdu

VX

signifie

le bloc de donnes n'est conserv que s'il est prsent dans l'EPROM,
les donnes rmanentes sont reprises de NV-RAM (les blocs de
donnes chargs ou crs dans la RAM sont perdus)

signifie

les donnes sont remises zro ou effaces (contenu des DB)

signifie

les donnes prennent la valeur par dfaut de l'EPROM

---

signifie

impossible, puisque NV-RAM absente

Comportement de rmanence dans la mmoire de travail (pour la mmoire de


chargement EPROM et RAM)
EPROM (carte mmoire ou intgre)
CPU avec sauveg.
Donnes

Dmar. e
chaud
pour
S7-300

blocs
ds
mm.
charg.

DB ds
mm.
travail

CPU sans

mm.
tempos
compt.

mm.
tempos
compt.

(param.
rmanents)

(param.
non rmanents)

blocs DB ds
ds
mm.
mm. travail
charg.

DB ds
mm.
travail

sauveg.
mm.
tempos
compt.

mm.
tempos
compt.

(param.
rmanents)

(param. (param.
non r- rmamanents)
nents)

(param.
non rma
nents)

VC

VX

Dmar.
chaud
X
pour
S7-400

VC

---

VC

VC

---

Dmar.
froid pour
S7-300
Dmar.
froid pour
S7-400
Redmar
rage pour
S7-400

Programmer avec STEP 7 V5.1


A5E00069874-03

Seulmt dmar. chaud autoris

A-7

Annexe

Activits la mise en route


Le tableau ci-aprs montre les activits excutes par la CPU lors de la mise en route.
Activits dans l'ordre de leur traitement

Dmarrage
chaud

Dmarrage
froid

Effacer la pile des interruptions et la pile des


blocs

Effacer les mmentos, temporisations et


compteurs non rmanents

Effacer tous les mmentos, temporisations


et compteurs

Effacer la mmoire image des sorties

paramtrable

Effacer les sorties des modules de signaux

paramtrable

Rejeter les alarmes de processus

Rejeter les alarmes temporises

Rejeter les alarmes de diagnostic

Actualiser la liste d'tat systme (SZL)

Exploiter les paramtres de modules et les


transmettre aux modules ou bien leur
transmettre les valeurs par dfaut

Traiter l'OB de mise en route concern

Traiter le cycle restant (partie du


programme utilisateur n'ayant pu tre
excute en raison d'une mise hors tension)

Actualiser la mmoire image des entres

Valider les sorties TOR (dbloquer les


sorties TOR) aprs passage l'tat de
fonctionnement "Marche"

X
0

A-8

signifie
signifie

Redmarrage

est excut
n'est pas excut

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Interruption de la mise en route


Si des erreurs apparaissent au cours de la mise en route, cette dernire est interrompue et
la CPU passe ou reste l'tat "Arrt".
Un dmarrage chaud interrompu doit tre recommenc. Aprs l'interruption d'un
redmarrage, dmarrage chaud ou redmarrage sont tous deux possibles.
Une mise en route (dmarrage ou redmarrage) n'est pas excute ou est interrompue :
si le commutateur cl de la CPU est en position STOP ;
si un effacement gnral est demand ;
si une carte mmoire dont l'identificateur d'application n'est pas autoris pour STEP 7
(par exemple, STEP 5) est enfiche ;
si plus d'une CPU est enfiche en mode monoprocesseur ;
si le programme utilisateur contient un OB que la CPU ne connat pas ou qui a t
verrouill ;
si la CPU constate, aprs la mise sous tension, que tous les modules figurant dans la
table de configuration cre avec STEP7 ne sont pas enfichs ( entre paramtrage
nominal et effectif non autorise) ;
si des erreurs apparaissent lors de l'exploitation des paramtres des modules.
Un redmarrage n'est pas non plus excut ou est interrompu :
si la CPU a auparavant subi un effacement gnral (seul un dmarrage chaud est
possible aprs un effacement gnral) ;
si la limite de temps d'interruption a t dpasse (il s'agit du temps qui s'coule aprs
l'abandon de l'tat "Marche" jusqu'au traitement de l'OB de mise en route, cycle restant
inclus) ;
si la configuration des modules a t modifie (remplacement de modules, par exemp.) ;
si le paramtrage autorise uniquement un dmarrage chaud ;
si des blocs ont t chargs, effacs ou modifis l'tat "Arrt".

Programmer avec STEP 7 V5.1


A5E00069874-03

A-9

Annexe

Droulement
La figure ci-aprs montre les activits de la CPU dans les tats de fonctionnement "Mise en
route" et "Marche" (RUN).

ARRET

Demande de
dmarrage
froid

MISE EN ROUTE

Donnes
utilisateur
Effacer
MIE/MIS,
mmentos, tempos
et compteurs
rmanents et non
rmanents

MARCHE

OB102
Dmarrage froid

Initialiser avec
valeurs de charg.
tous les DB

Sorties de
priphrie
sont mises l'tat
de scurit
(voir 1)

Demande de
dmarrage
chaud

Donnes
utilisateur
Effacer
MIE/MIS,
mmentos, tempos
et compteurs non
rmanents

Transfert de
la MIS aux
modules de
priphrie

OB100
Dmarrage chaud

Sorties de
priphrie
hors de la
mmoire
image
(voir 1)

Sont conservs
mmentos, tempos,
compteurs rman.
et DB (voir 5)

Sorties de
priphrie

Validation
des sorties
(voir 4)

sont mises l'tat


de scurit
(voir 1)

Lire la mmoire
image des entres
(MIE)

Donnes
utilisateur
Demande de
redmarrage

Sont conservs
MIE/MIS
mmentos, tempos
et compteurs
rmanents et non
rmanents et DB
(voir 2)

Sorties de
priphrie

Traiter le programme
utilisateur
(voir 3)

Cycle restant

Ecrire la mmoire
image des sorties
(MIS)

Effacer mmoire image


des sorties et sorties de
priphrie
(paramtrable)

sont mises l'tat


de scurit
(voir 1)

STOP

OB101
Redmarrage

oui

Limite de temps
d'interruption
dpasse ?

non

= ce comportement est influenc par les actions de l'utilisateur

A-10

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Lgende de la figure "Activits de la CPU dans les tats de fonctionnement Mise en


route et Marche" :
1. Toutes les sorties de priphrie sont mises l'tat de scurit (valeur par dfaut =0) par
le matriel des modules de priphrie, qu'elles soient utilises dans le programme
utilisateur au sein de la zone de la mmoire image du processus ou en dehors.
Si vous employez des modules de signaux pouvant traiter une valeur de remplacement, il
est possible de paramtrer le comportement des sorties, par exemple Conserver dernire
valeur.
2. Est ncessaire l'excution du cycle restant.
3. Les OB d'alarme disposent galement d'une mmoire image des entres actuelle lors de
leur premier appel.
4. Vous pouvez recourir aux mesures suivantes pour dterminer l'tat des sorties de
priphrie centralise et dcentralise dans le premier cycle du programme utilisateur :
-

utiliser des modules de sorties paramtrables pour pouvoir crire des valeurs de
remplacement ou conserver la dernire valeur ;

au redmarrage : activer l'option "Remise 0 des sorties au redmarrage" pour la


mise en route de la CPU, afin d'crire un "0" (qui est la valeur par dfaut) ;

donner des valeurs par dfaut aux sorties dans l'OB de mise en route (OB100,
OB101, OB102).

5. Dans les systmes S7-300 sans sauvegarde, seules les zones DB configures comme
rmanentes sont conserves.

A.1.4

Etat de fonctionnement "Marche" (RUN)


A l'tat "Marche" s'effectue le traitement de programme cyclique et command par horloge
et par alarme :
La mmoire image des entres est lue.
Le programme utilisateur est trait.
La mmoire image des sorties est mise.
L'change actif de donnes entre les CPU par communication par donnes globales (table
des donnes globales), par SFB de communication pour les liaisons configures et par SFC
pour les liaisons non configures n'est possible qu' l'tat de "Marche".

Programmer avec STEP 7 V5.1


A5E00069874-03

A-11

Annexe

Le tableau ci-aprs illustre quand l'change de donnes est possible dans les diffrents
tats de fonctionnement :
Type de communication

Sens de
l'change de
donnes

Etat de
fonctionnement
de la CPU 2

Marche

Marche

Marche

Arrt/Attente

Arrt

Marche

Arrt

Arrt

Attente

Arrt/Attente

Communication sens unique

Marche

Marche

Par SFB de communication

Marche

Arrt/Attente

Communication double sens


par SFB de communication

Marche

Marche

Communication sens unique

Marche

Marche

Par SFC de communication

Marche

Arrt/Attente

Communication double sens


par SFC de communication

Marche

Marche

Communication par donnes


globales

signifie
signifie
X signifie

A.1.5

Etat de
fonctionnement
de la CPU 1

change de donnes possible dans les deux sens


change de donnes possible dans un sens seulement
change de donnes impossible

Etat de fonctionnement "Attente"


L'tat de fonctionnement "Attente" tient une place part. Il ne sert qu' des fins de test la
mise en route ou en marche. Dans l'tat de fonctionnement "Attente" :
Tous les temps sont suspendus : les temporisations et les compteurs dheures de
fonctionnement ne sont pas traits. Les temps de surveillance ainsi que les priodes de
base des niveaux commands par horloge sont interrompus.
L'horloge temps rel fonctionne.
Les sorties ne sont pas libres, mais peuvent tre valides des fins de test.
Il est possible de commander les entres et les sorties.
En cas de coupure secteur et de retour de la tension, les CPU avec sauvegarde en
"Attente" passent l'tat "Arrt" et n'excutent pas de dmarrage ni de redmarrage
automatique. Au retour de la tension, les CPU sans sauvegarde effectuent un dmarrage
automatique sans sauvegarde.
Il est possible de recevoir des donnes globales et d'excuter une communication sens
unique passive par SFB de communication pour les liaisons configures et par SFC de
communication pour les liaisons non configures (voir aussi tableau l'tat de
fonctionnement "Marche").

A-12

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.2
A.2.1

Zones de mmoire des CPU S7


Organisation des zones de mmoire
La mmoire des CPU S7 comporte trois zones (voir la figure ci-aprs) :
La mmoire de chargement sert l'enregistrement du programme utilisateur sans
affectation de mnmoniques ni de commentaires (ces derniers restent dans la mmoire
de la console de programmation). La mmoire de chargement peut tre soit la mmoire
vive (RAM), soit la mmoire EPROM.
Les blocs identifis comme non significatifs pour l'excution sont exclusivement chargs
dans la mmoire de chargement.
La mmoire de travail (mmoire vive intgre) contient les parties du programme S7
significatives pour l'excution du programme. Le traitement du programme a lieu
exclusivement dans la mmoire de travail et dans la mmoire systme.
La mmoire systme (mmoire vive) contient les lments de mmoire que chaque CPU
met la disposition du programme utilisateur comme, par exemple, mmoire image des
entres, mmoire image des sorties, mmentos, temporisations et compteurs. La
mmoire systme contient, en outre, la pile des blocs et la pile des interruptions.
C'est galement la mmoire systme de la CPU qui fournit la mmoire temporaire (pile
des donnes locales) alloue au programme lors de l'appel d'un bloc pour les donnes
temporaires. Ces donnes sont valables tant que le bloc est actif.
Zones de mmoire
CPU
Mmoire de chargement dynamique
(RAM, intgre ou sur carte
mmoire) : contient les parties du
programme utilisateur non
significatives pour son excution.

Mmoire de chargement rmanente


(FEPROM, sur carte mmoire ou pour
les CPU S7-300, galement
intgre) : contient les parties du
programme utilisateur non
significatives pour son excution.

Mmoire de travail (RAM) :


contient les parties du programme
utilisateur significatives pour son
excution (p. ex. les blocs de code
et les blocs de donnes).
La mmoire de systme (RAM)
contient : la mmoire images des
entres, des sorties, les mmentos,
temporisations et compteurs.
pile des donnes locales
pile des blocs
pile des interruptions
mmoire tampon de diagnostic

Programmer avec STEP 7 V5.1


A5E00069874-03

A-13

Annexe

A.2.2

Mmoire de chargement et mmoire de travail


Lorsque vous chargez le programme utilisateur de la console de programmation dans la
CPU, seuls les blocs de code et les blocs de donnes sont chargs dans la mmoire de
chargement et dans la mmoire de travail de la CPU.
La table des mnmoniques et les commentaires de blocs restent dans la zone de mmoire
de la PG.

Rpartition du programme utilisateur


Afin de garantir un traitement rapide du programme utilisateur et de ne pas surcharger
inutilement la mmoire de travail non extensible, seules les parties des blocs significatives
pour le traitement du programme sont charges dans la mmoire de travail.
Les parties de blocs non requises pour l'excution du programme (par exemple, les en-ttes
de blocs) restent dans la mmoire de chargement.
La figure suivante reprsente le chargement du programme dans la mmoire de la CPU.
Console de
programmation

S7-400
S7-300

Mmoire de chargement

Mmoire de travail

Blocs de code
entiers

Parties des blocs


de code et de
donnes
significatives pour
lexcution

Blocs de code
Blocs de donnes
Blocs de donnes
entiers
Commentaires
Mnmoniques
Sauvegards sur le
disque dur

Nota
Les blocs de donnes crs dans le programme utilisateur l'aide de fonctions systme
(par exemple SFC 22 CREAT_DB) sont enregistr compltement dans la mmoire de
travail par la CPU.
Certaines CPU disposent de zones gres sparment pour le code et les donnes dans la
mmoire de travail. Pour ces CPU, la taille et l'occupation de ces zones sont affiches sur
la page d'onglet "Mmoire" de l'tat du module.

A-14

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Qualification de blocs de donnes comme "non significatifs pour l'excution"


On peut qualifier de "non significatifs pour l'excution" - mot-cl UNLINKED - les blocs de
donnes programms comme partie d'un programme LIST dans un fichier source. Lors du
chargement dans la CPU, ces DB ne sont donc rangs que dans la mmoire de
chargement. Si besoin est, il est possible de copier leur contenu dans la mmoire de travail
l'aide de la SFC20 BLKMOV.
Cela permet donc de gagner de la place dans la mmoire de travail, la mmoire de
chargement extensible servant de mmoire intermdiaire (par exemple pour les formules :
seule la prochaine formule traiter est charge dans la mmoire de travail).

Structure de la mmoire de chargement


Il est possible d'tendre la mmoire de chargement l'aide de cartes mmoire. La taille
maximale de la mmoire de chargement est donne dans le manuel "Systme
dautomatisation S7-300, Installation et configuration Caractristiques de la CPU" et le
manuel de rfrence "Systmes dautomatisation S7- 400/M7-400, Caractristiques des
modules".
Pour les CPU S7-300, la mmoire de chargement peut comporter une partie EPROM
intgre en plus de la partie RAM. Dans les blocs de donnes, certaines zones peuvent tre
dclares comme rmanentes par paramtrage dans STEP 7 (voir Zones de mmoire
rmanentes des CPU S7-300).
Pour les CPU S7-400, l'utilisation d'une carte mmoire (RAM ou EPROM) s'avre
indispensable pour l'extension de la mmoire de chargement. En effet, la mmoire de
chargement intgre est une mmoire vive qui sert essentiellement au rechargement et la
correction des blocs. Pour les nouvelles CPU S7- 400, une mmoire de travail
supplmentaire peut galement tre enfiche.

Comportement de la mmoire de chargement pour les zones RAM et EPROM


Selon que vous choisissez une carte mmoire RAM ou EPROM pour tendre la mmoire de
chargement, il peut s'ensuivre un comportement diffrent de cette mmoire lors du
chargement, du rechargement et de l'effacement gnral.
Le tableau suivant reprsente les possibilits de chargement :
Type de mmoire

Possibilits de chargement

Type de chargement

Mmoire vive (RAM)

Chargement et effacement de Liaison PG-CPU


blocs individuels
Chargement et effacement
d'un programme S7 entier

Liaison PG-CPU

Rechargement de blocs
individuels

Liaison PG-CPU

EPROM intgre
(uniquement S7-300)
ou enfichable

Chargement de programmes
S7 entiers

Liaison PG-CPU

EPROM enfichable

Chargement de programmes
S7 entiers

Chargement de l'EPROM sur la


PG et enfichage de la carte
mmoire dans la CPU.
Chargement de l'EPROM sur la
CPU.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-15

Annexe

Les programmes sauvegards en mmoire vive sont perdus lorsque vous excutez un
effacement gnral de la CPU (MRES) ou lorsque vous retirez la CPU ou la carte mmoire
RAM.
Les programmes enregistrs sur cartes mmoire EPROM ne sont pas perdus en cas
d'effacement gnral et restent conservs mme sans sauvegarde par pile (transport,
copies de sret).

A.2.3

Mmoire systme

A.2.3.1

Utilisation des zones de mmoire systme


La mmoire systme des CPU S7 est subdivise en zones d'oprandes (voir le tableau
ci-aprs). En utilisant les oprations correspondantes, vous accdez dans votre programme
aux donnes directement dans la plage d'oprandes en question.
Plage
d'oprandes

Accs par des


units de taille
suivante

Notation S7 Description

Mmoire image
des entres

Entre (bit)

Mmoire image
des sorties

Mmentos

A-16

Octet d'entre

EB

Mot d'entre

EW

Double mot
d'entre

ED

Sortie (bit)

Octet de sortie

AB

Mot de sortie

AW

Double mot de
sortie

AD

Mmento (bit)

Octet de mmento

MB

Mot de mmento

MW

Au dbut de chaque cycle, la


CPU lit les entres provenant des
modules d'entres et enregistre
ces valeurs dans la mmoire
image des entres.

Pendant le cycle, le programme


calcule les valeurs pour les
sorties et les dpose dans la
mmoire image des sorties. A la
fin du cycle, la CPU crit les
valeurs de sortie calcules dans
les modules de sorties.

Cette zone met disposition de


l'espace mmoire pour les
rsultats intermdiaires calculs
dans le programme.

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Plage
d'oprandes

Accs par des


units de taille
suivante

Notation S7 Description

Double mot de
mmento

MD

Temporisations

Temporisation (T)

Cette zone sert d'espace


mmoire pour les temporisations.

Compteur

Compteur (Z)

Cette zone sert d'espace


mmoire pour les compteurs.

Bloc de donnes

Bloc de donnes
ouvert avec AUF
DB :

DB

Les blocs de donnes


contiennent des informations pour
le programme. Ils peuvent soit
servir tous les blocs de code
(DB globaux), soit tre associs
un FB ou un SFB spcifique
(DB d'instance).

Bit de donnes

DBX

Donnes locales

Octet de donnes

DBB

Mot de donnes

DBD

Double mot de
donnes

DBW

Bloc de donnes
ouvert avec
AUF DB :

DI

Bit de donnes

DIX

Octet de donnes

DIB

Mot de donnes

DIW

Double mot de
donnes

DID

Bit de donnes
locales

Octet de donnes
locales

LB

Mot de donnes
locales

LW

Double mot de
donnes locales

LD

Zone de
Octet d'entre de
priphrie : entres priphrie

Programmer avec STEP 7 V5.1


A5E00069874-03

PEB

Cette zone fournit de l'espace


mmoire aux donnes
temporaires d'un bloc pour la
dure du traitement de ce bloc.
La pile L sert galement la
transmission de paramtres de
blocs et la sauvegarde de
rsultats intermdiaires pour les
rseaux CONT.

Les zones de priphrie des


entres et des sorties permettent
l'accs direct des modules
d'entres et de sorties centraliss
et dcentraliss.

A-17

Annexe

Plage
d'oprandes

Zone de
priphrie : sorties

Accs par des


units de taille
suivante

Notation S7 Description

Mot d'entre de
priphrie

PEW

Double mot
d'entre de
priphrie

PED

Octet de sortie de
priphrie

PAB

Mot de sortie de
priphrie

PAW

Double mot de
PAD
sortie de priphrie

Vous trouverez les zones dadresses autorises pour votre CPU dans les descriptions de
CPU ainsi que dans les listes d'oprations suivantes :
Manuel "Systme dautomatisation S7-300, Installation et configuration Caractristiques des CPU"
Liste d'oprations "Automate programmable S7-300".
Liste d'oprations "Automate programmable S7-400".

A.2.3.2

Mmoire image des entres/sorties


Lorsque le programme utilisateur accde aux zones d'oprandes Entres (E) et Sorties (A),
il n'interroge pas les tats de signaux sur les modules de signaux TOR, mais accde une
zone de mmoire dans la mmoire systme de la CPU et de la priphrie dcentralise. On
appelle cette zone de mmoire "mmoire image du processus".
La mmoire image du processus se compose de deux parties : la mmoire image des
entres (MIE) et la mmoire image des sorties (MIS).

Condition d'accs la mmoire image


La CPU peut accder seulement la mmoire image des modules que vous avez configurs
avec STEP 7.

A-18

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Mise jour de la mmoire image du processus


Le systme d'exploitation actualise la mmoire image du processus cycliquement. La figure
suivante reprsente les tapes de traitement durant un cycle, diffrentes pour les anciennes
CPU et celles disponibles partir de 10/98.
.Cycle des anciennes CPU

.Cycle des nouvelles CPU (10/98)

Programme de mise en route

Programme de mise en route


...

Traitement du programme
utilisateur (OB1 et tous les blocs
qui y sont appels)

Lecture des entres dans les


modules et mise jour des
donnes dans la mmoire image

Ecriture de la mmoire image des


sorties dans les modules

Cycle libre

Ecriture de la mmoire image des


sorties dans les modules

Traitement du programme
utilisateur (OB1 et tous les blocs
qui y sont appels)

...

Cycle libre

...
Lecture des entres dans les
modules et mise jour des donnes
dans la mmoire image des entres

...

Avantages de la mmoire image du processus


L'accs la mmoire image du processus offre, par rapport l'accs direct aux modules
d'entres et de sorties, l'avantage que la CPU dispose d'une mmoire image des signaux du
processus cohrente pendant la dure du traitement de programme cyclique. Si un tat de
signal change sur un module d'entres pendant le traitement du programme, l'tat de signal
dans la mmoire image est conserv jusqu' la mise jour de la mmoire image du
processus dans le cycle suivant. En outre, l'accs la mmoire image prend bien moins de
temps que l'accs direct aux modules de signaux, car la mmoire image du processus se
trouve dans la mmoire interne de la CPU.

Mmoires image partielles


A ct de la mmoire image (gnrale) du processus (MIE et MIS), vous pouvez paramtrer
pour SIMATIC S7-400 jusqu' 15 mmoires images partielles du processus par CPU (selon
la CPU, n 1 n 15 au plus ; voir manuel "Systme dautomatisation S7-300, Installation
et configuration, Caractristiques des CPU" et manuel de rfrence "Systmes
dautomatisation S7-400/M7-400, Caractristiques des modules"). Vous pouvez ainsi, en cas
de besoin, mettre jour des parties de la mmoire image du processus, et ce
indpendamment de la mise jour cyclique.
Chaque adresse d'entre/sortie que vous avez affecte avec STEP 7 une mmoire image
partielle ne fait plus partie de la mmoire image des entres-sorties gre par l'OB1 !
Vous dfinissez une mmoire image partielle avec STEP 7 lors de l'affectation d'adresses
(quelles adresses d'entre/sortie des modules sont mentionnes dans quelle mmoire
image partielle). La mise jour de la mmoire image partielle est effectue soit l'aide de
SFC, soit par le systme au moyen d'un couplage un OB.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-19

Annexe

Nota
Dans les CPU S7-300, il est possible d'utiliser les entres et sorties non occupes de la
mmoire image comme zones de mmentos supplmentaires. Les programmes utilisant
cette mthode ne peuvent s'excuter sur les CPU S7- 400 anciennes (c'est--dire avant
4/99) qu' la condition suivante :
il faut que les mmoires images utilises comme mmentos se trouvent en dehors de la
"Taille de la mmoire image" paramtre, ou bien
il faut qu'elles se trouvent dans une mmoire image partielle qui n'est mise jour ni par
le systme ni par SFC26/SFC27 !

Mise jour des mmoires images partielles par SFC


Des SFC vous permettent de mettre jour l'ensemble de la mmoire image ou seulement
des mmoires images partielles partir du programme utilisateur.
Condition : la mmoire image partielle en question n'est pas mise jour par le systme !
La SFC26 UPDAT_PI met jour la mmoire image des entres.
La SFC27 UPDAT_PO met jour la mmoire image des sorties.

Mise jour des mmoires images partielles par le systme


Vous pouvez aussi demander la mise jour automatique par le systme des mmoires
images partielles l'appel d'un OB comme pour la mmoire image gnrale qui est mise
jour cycliquement avant ou aprs l'excution de l'OB1. Cette fonction est paramtrable pour
certaines CPU seulement.
En cours de fonctionnement, la mmoire image partielle affecte est mise jour
automatiquement :
la mmoire image partielle des entres avant l'excution de l'OB,
celle des sorties aprs l'excution de l'OB
Vous paramtrez quelle mmoire image partielle est affecte quel OB en mme temps
que la priorit des OB.

OB
Evnement causant
l'interruption
Lecture sur les modules des entres
de la mmoire image partielle
configure
IInterruption dans le
programme utilisateur

Excution du programme utilisateur (OB d'alarme et tous les


blocs qui y sont appels)
Ecriture dans les modules des
sorties de la mmoire image
partielle configure

A-20

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Erreur d'accs la priphrie lors de la mise jour de mmoire image


Selon la famille de CPU (S7-300 et S7-400), la raction prrgle une erreur durant la
mise jour de mmoire image n'est pas la mme.
S7-300 : pas d'inscription dans le tampon de diagnostic, pas d'appel d'OB, les octets
d'entre/sortie concerns sont mis 0.
S7-400 : inscription dans le tampon de diagnostic et dmarrage de l'OB85 chaque
accs la priphrie chaque mise jour de la mmoire image concerne. Les octets
d'entre/sortie errons sont mis 0.
Avec les nouvelles CPU ( partir de 4/99), vous pouvez modifier par paramtrage la raction
aux erreurs d'accs la priphrie, afin que la CPU
ne gnre une entre dans le tampon de diagnostic et ne dmarre l'OB85 que pour une
erreur d'accs la priphrie apparaissant ou disparaissant ou
prsente le comportement prrgl des S7-300 (pas d'appel d'OB85) ou
prsente le comportement prrgl des S7-400 (appel de l'OB85 chaque accs la
priphrie).

Nombre de dmarrages de l'OB85


En plus de la raction paramtre aux erreurs d'accs la priphrie
(apparaissant/disparaissant ou chaque accs la priphrie), la plage d'adresses d'un
module a aussi une influence sur le nombre de dmarrages de l'OB85.
Pour un module dont la plage d'adresses va jusqu'au double-mot, l'OB85 dmarre une fois :
par exemple pour un module TOR possdant jusqu' 32 entres ou sorties ou pour un
module analogique 2 voies.
Pour les modules dont la plage d'adresses est plus grande, l'OB85 dmarre autant de fois
qu'il est ncessaire d'accder la plage avec des instructions sur double-mot : par exemple
deux fois pour un module analogique 4 voies.

A.2.3.3

Pile des donnes locales


La pile L enregistre :
les variables temporaires des donnes locales de blocs,
les informations de dclenchement des blocs d'organisation,
des informations pour la transmission de paramtres,
des rsultats intermdiaires dans les programmes CONT.
Vous pouvez, lors de la cration de blocs d'organisation, dclarer des variables temporaires
(TEMP) disponibles uniquement pendant le traitement du bloc et qui sont ensuite crases.
Les donnes locales doivent tre initialises avant le premier accs. Chaque bloc
d'organisation ncessite, en outre, 20 octets de donnes locales pour ses informations de
dclenchement.
La CPU possde une mmoire limite pour les variables temporaires (donnes locales) des
blocs en cours de traitement. La taille de cette zone de mmoire dpend de la CPU. Par
dfaut, elle est subdivise par parts gales entre les diffrentes classes de priorit. Ainsi,
chaque classe de priorit dispose d'une zone de donnes locales en propre. Cela garantit
que mme les classes de priorit les plus leves avec leurs OB associs ont suffisamment
de place pour leurs donnes locales.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-21

Annexe

La figure suivante illustre l'affectation de donnes locales aux classes de priorit dans un
exemple o dans la pile L, l'OB1 est interrompu par l'OB10, puis nouveau par l'OB81.

OB81 a besoin
Classe de priorit 26

OB10 a besoin
Classe de priorit 2

Classe de
priorit 1

SFC

Pile L

de 20 octets
dans la pile L.

FB

de 20 octets
dans la pile L.

OB1 a besoin

FB

FC

de 20 octets
dans la pile L.

Avertissement
Toutes les variables temporaires (TEMP) d'un OB et des blocs qui y sont appels sont
sauvegardes dans la pile L. Cette dernire peut dborder lorsque vous imbriquez trop de
niveaux dans votre traitement des blocs.
Les CPU S7 passent l'tat "Arrt" (STOP) lorsque vous dpassez la taille de pile L
autorise pour un programme.
Nous vous conseillons donc de tester la pile L (les variables temporaires) dans votre
programme.
Tenez compte de l'espace mmoire requis pour les donnes locales d'OB d'erreur
synchrones.

Affectation de donnes locales aux classes de priorit


Les classes de priorit n'ont pas toutes besoin du mme espace dans la pile des donnes
locales. STEP 7 vous permet de paramtrer diffremment la taille de la zone de donnes
locales pour les diffrentes classes de priorit dans les CPU S7-400 et la CPU 318. Vous
pouvez galement dsactiver les classes de priorit dont vous n'avez pas besoin, ce qui
permet d'augmenter la zone de mmoire pour les autres classes de priorit dans les CPU
S7-400 et la CPU 318. Les OB inactivs ne sont pas pris en compte lors du traitement du
programme ; vous gagnez ainsi du temps de calcul.
En revanche, un volume fixe de donnes locales (256 octets) est affect chaque classe de
priorit pour les autres CPU S7-300. Vous ne pouvez pas le modifier.

A-22

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.2.3.4

Pile des interruptions


Lorsque le traitement du programme est interrompu par un OB de priorit plus leve, le
systme d'exploitation sauvegarde, dans la pile des interruptions (pile I), le contenu des
accumulateurs et des registres d'adresse ainsi que le numro et la taille des blocs de
donnes ouverts.
A l'achvement du traitement du nouvel OB, le systme d'exploitation charge les
informations contenues dans la pile I et reprend le traitement du bloc interrompu au point o
s'tait produite l'interruption.
A l'tat de fonctionnement "Arrt" (STOP), vous pouvez lire la pile des interruptions la PG
l'aide de STEP 7. Vous trouverez ainsi plus facilement la cause du passage de la CPU
l'tat "Arrt".

A.2.3.5

Pile des blocs


Lorsque le traitement d'un bloc est interrompu par l'appel d'un autre bloc ou par une classe
de priorit plus leve (alarme/traitement d'erreur), la pile B enregistre les donnes
suivantes :
numro, type (OB, FB, FC, SFB, SFC) et adresse de retour du bloc interrompu,
numro des blocs de donnes (des registres DB et DI) ouverts au moment de
l'interruption.
Ces informations permettent de poursuivre l'excution du programme utilisateur aprs
l'interruption.
Si la CPU est l'tat de fonctionnement "Arrt" (STOP), vous pouvez afficher la pile des
blocs sur la console de programmation l'aide de STEP 7. Cette pile numre tous les
blocs dont le traitement n'tait pas termin au moment o la CPU est passe l'tat "Arrt".
Ces blocs sont lists dans l'ordre dans lequel leur traitement avait commenc (voir la figure
ci-aprs).
Ordre dappel des blocs

FB 1

FC 2

FC 3

Pile des blocs (pile B)


Donnes de la FC 3 :
Numro de bloc
Adresse de retour
Donnes de la FC 2 :
Numro de bloc
Adresse de retour
Donnes du FB 1 :
Numro de bloc
Adresse de retour

Pile des donnes locales (pile L)


Le nombre des
blocs sauvegards
dans la pile B (par
classe de priorit)
dpend de la CPU.

Donnes locales de la FC 3

Donnes locales de la FC 2

Donnes locales du FB 1

Registres DB et DI :
Numro du DB ouvert
Numro du DB dinstance ouvert

Programmer avec STEP 7 V5.1


A5E00069874-03

A-23

Annexe

Registres de bloc de donnes


Il existe deux registres de bloc de donnes. Ils contiennent les numros des blocs de
donnes ouverts.
Le registre DB contient le numro du bloc de donnes global ouvert.
Le registre DI contient le numro du bloc de donnes d'instance ouvert.

A.2.3.6

Mmoire tampon de diagnostic


Dans la mmoire tampon de diagnostic, les messages de diagnostic sont affichs dans
l'ordre de leur apparition. La premire entre contient l'vnement le plus rcent. Le nombre
des entres dans la mmoire tampon de diagnostic dpend du module et de son tat de
fonctionnement en cours.
Parmi les vnements de diagnostic, on trouve :
erreur dans un module,
erreur d'assignation du processus
erreur systme dans la CPU,
changements d'tat de fonctionnement de la CPU
erreurs dans le programme utilisateur,
vnements de diagnostic personnaliss (via la fonction systme SFC 52).

A.2.3.7

Exploitation de la mmoire tampon de diagnostic


Une partie de la liste d'tat systme est constitue de la mmoire tampon de diagnostic
dans laquelle sont inscrites des informations plus prcises sur les vnements de diagnostic
systme et personnalis dans l'ordre de leur apparition. Les informations relatives un
vnement de diagnostic systme sont les mmes que les informations de dclenchement
transmises au bloc d'organisation correspondant.
Il n'est pas possible d'effacer les entres dans la mmoire tampon de diagnostic ; son
contenu est conserv mme aprs un effacement gnral.
La mmoire tampon de diagnostic permet :
en cas d'arrt de l'installation, d'valuer les derniers vnements avant le passage l'tat
de fonctionnement "Arrt" (STOP) et la cause de l'arrt,
de reconnatre plus rapidement l'origine des erreurs et d'amliorer ainsi la disponibilit de
l'installation,
d'valuer et d'optimiser le comportement dynamique de l'installation.

A-24

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Organisation de la mmoire tampon de diagnostic


La mmoire tampon de diagnostic est organise comme mmoire circulante pour un nombre
maximal d'entres dpendant du module. L'entre la plus ancienne est crase lorsque le
nombre maximal d'entres est atteint et toutes les entres sont dplaces en consquence.
Ainsi, l'entre la plus rcente est-elle toujours la premire place. La mmoire tampon de
diagnostic de la CPU 314 S7-300 compte, par exemple, 100 entres :

1
101.
Entre

100

2
99

99

100

Le nombre des entres affiches dans la mmoire tampon de diagnostic dpend du module
et de son tat de fonctionnement en cours. Pour certaines CPU, la longueur de la mmoire
tampon de diagnostic est paramtrable.

Contenu de la mmoire tampon de diagnostic


La zone suprieure contient la liste de tous les vnements de diagnostic qui se sont
produits, avec les informations suivantes :
numro d'ordre de l'entre (l'vnement le plus rcent a le numro 1),
heure et date de l'vnement de diagnostic : l'heure et la date du module sont indiqus,
si le module possde une horloge. Il est donc important, pour pouvoir utiliser
correctement ces indications horaires, que vous rgliez la date et l'heure du module et
que vous vrifiiez ces dernires de temps autre.
texte abrg de l'vnement.
La zone infrieure affiche des informations supplmentaires sur l'vnement slectionn
dans la zone suprieure. Ce sont, par exemple :
numro de l'vnement,
dsignation de l'vnement,
changement d'tat de fonctionnement occasionn par l'vnement de diagnostic,
renvoi l'endroit de l'erreur dans un bloc (type et numro de bloc et adresse relative)
ayant entran l'inscription de l'vnement,
vnement arrivant ou partant,
informations complmentaires spcifiques de l'vnement.
En cliquant sur le bouton "A propos de l'vnement", vous pouvez afficher des informations
complmentaires sur l'vnement slectionn dans la liste.
Vous trouverez des explications sur les ID d'vnement dans l'aide sur les fonctions
systme et les blocs fonctionnels systme (Sauts dans les descriptions de langage, aides
sur les blocs, attributs systme).

Programmer avec STEP 7 V5.1


A5E00069874-03

A-25

Annexe

Enregistrement dans un fichier de texte


Le bouton "Enregistrer sous" dans la page d'onglet "Mmoire tampon de diagnostic" de la
bote de dialogue "Etat du module" permet d'enregistrer le contenu du tampon de diagnostic
sous forme de texte ASCII.

Lecture de la mmoire tampon de diagnostic


Vous pouvez afficher le contenu de la mmoire tampon de diagnostic sur la PG/le PC via la
page d'onglet "Mmoire tampon de diagnostic" de la bote de dialogue "Etat du module", ou
en effectuer la lecture dans un programme via la SFC51 RDSYSST.

Dernire entre avant arrt


Vous pouvez demander que la dernire entre de la mmoire tampon de diagnostic avant le
passage de l'tat "Marche" (RUN) l'tat "Arrt" (STOP) soit envoye un appareil de
contrle dclar (PG, OP, TD, par exemple). Cela permet de localiser et de corriger plus
rapidement la cause du passage l'tat "Arrt".

A.2.3.8

Zones de mmoire rmanentes des CPU S7-300


En cas de coupure de courant ou d'effacement gnral (MRES), la mmoire de la CPU
S7-300 - mmoire de chargement dynamique (RAM), mmoire de travail et mmoire
systme - est remise zro et toutes les donnes figurant dans ces zones sont perdues.
Les CPU S7-300 fournissent toutefois des moyens pour conserver programme et donnes.
Vous pouvez sauvegarder, l'aide d'une pile, toutes les donnes se trouvant en mmoire
de chargement, en mmoire de travail et dans certaines parties de la mmoire systme.
Vous pouvez sauvegarder votre programme dans l'EPROM (soit sous forme de carte
mmoire, soit intgre dans la CPU ; voir le manuel "Systme dautomatisation S7-300,
Installation et configuration - Caractristiques des CPU")
Vous pouvez sauvegarder un volume de donnes dpendant de la CPU dans une zone
de mmoire vive non volatile (NVRAM).

Mmoire vive non volatile


Votre CPU S7-300 comporte une zone de mmoire vive non volatile (NVRAM ; voir la figure
ci-aprs). Si vous avez rang votre programme dans l'EPROM de la mmoire de
chargement, vous pouvez galement sauvegarder certaines donnes - en cas de coupure
de courant ou de passage de l'tat de fonctionnement "Arrt" (STOP) l'tat "Marche"
(RUN) - en excutant la configuration correspondante.
Zones de mmoire non volatile pour les CPU S7-300
Mmoire de
chargement
dinamique (RAM)
Mmoire de
chargement
statique
(FEPROM)

A-26

Mmoire
de travail

Mmoire
configurable
(RAM non volatile)

Cartouche mmoire
FEPROM enfichable

Mmoire
systme

CPU

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A cet effet, vous rglez votre CPU de manire sauvegarder les donnes suivantes en
mmoire vive non volatile :
informations ranges dans un DB (utile uniquement si vous avez aussi sauvegard votre
programme dans une EPROM de la mmoire de chargement),
valeurs de temporisations et de compteurs,
informations figurant dans des mmentos.
Chaque CPU permet de sauvegarder un nombre prcis de temporisations, de compteurs et
de mmentos. Chaque CPU fournit galement un nombre donn d'octets o les donnes
figurant dans des DB pouvent tre conserves.
L'adresse d'interface multipoint (MPI) de votre CPU est sauvegarde en mmoire vive non
volatile afin que votre CPU puisse toujours communiquer, mme aprs une coupure de
courant ou un effacement gnral.

Utilisation dune pile de sauvegarde


Avec une pile de sauvegarde, la mmoire de chargement et la mmoire de travail
deviennent rmanentes en cas de coupure de courant. Les temporisations, compteurs et
mmentos que vous avez configurs pour sauvegarde en mmoire vive non volatile sont
galement conservs, indpendamment de la sauvegarde par pile.

Configuration des donnes de la mmoire vive non volatile


Vous dterminez les zones de mmoire rmanentes lors de la configuration de la CPU avec
STEP 7.
La taille de mmoire pouvant tre configure en mmoire vive non volatile dpend de la
CPU ; vous ne pouvez pas sauvegarder plus de donnes que le volume prcis pour votre
CPU.

A.2.3.9

Zones de mmoire rmanentes des CPU S7-400

Fonctionnement sans sauvegarde


En cas de coupure de courant ou d'effacement gnral (MRES), la mmoire de la CPU
S7-400 - mmoire de chargement dynamique (RAM), mmoire de travail et mmoire
systme - est remise zro et toutes les donnes figurant dans ces zones sont perdues.
En fonctionnement sans sauvegarde, seul un dmarrage est possible et il n'existe pas de
zones de mmoire rmanentes. Seuls sont conservs les paramtres MPI (par exemple,
l'adresse MPI de la CPU) aprs une coupure de courant. Ainsi la CPU est-elle encore
capable de communiquer aprs une coupure de courant ou un effacement gnral.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-27

Annexe

Fonctionnement avec sauvegarde


En fonctionnement avec sauvegarde :
le contenu de toutes les zones RAM est intgralement conserv en cas de redmarrage
aprs coupure de courant ;
les zones d'oprandes mmentos, temporisations et compteurs sont effaces. Les
contenus des blocs de donnes conservs lors d'un dmarrage ;
le contenu de la mmoire de travail RAM est conserv l'exception des mmentos,
temporisations et compteurs paramtrs comme non rmanents.

Configuration de zones de donnes rmanentes


Vous pouvez dfinir comme rmanents un nombre de mmentos, temporisations et
compteurs dpendant de la CPU. Ces donnes sont alors conserves en cas de dmarrage
en fonctionnement avec sauvegarde.
Dans STEP 7, vous pouvez paramtrer quels mmentos, temporisations et compteurs
doivent tre rmanents au dmarrage. Il n'est pas possible de sauvegarder plus de donnes
que le volume autoris pour votre CPU.
De plus amples informations sur le paramtrage de zones de mmoire rmanentes sont
fournies dans le manuel de rfrence "Systmes dautomatisation S7-400/M7-400 Caractristiques des CPU".

A.2.3.10 Objets mmoire configurables dans la mmoire de travail


Pour certaines CPU, la taille des objets tels que les donnes locales ou la mmoire tampon
de diagnostic peut tre paramtre dans HW Config. Si, par exemple, vous diminuez les
valeurs par dfaut, une plus grande partie de la mmoire de travail sera disponibles pour
d'autres tches. Le paramtrage de ces CPU peut tre lu dans la page d'onglet "Mmoire"
de l'tat du module (bouton Dtails).
Aprs modification de la configuration de la mmoire et chargement dans le systme cible,
un dmarrage froid du systme cible s'avre ncessaire pour activer les modifications.

A-28

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.3
A.3.1

Types de donnes et de paramtre


Introduction aux types de donnes et de paramtre
Il faut indiquer le type de donnes pour toutes les donnes utilises dans le programme
utilisateur. On distingue entre :
les types de donnes simples que STEP 7 met votre disposition,
les types de donnes complexes que vous pouvez crer en combinant des types de
donnes simples et
les types de paramtre avec lesquels vous dfinissez des paramtres transmettre
des FB ou des FC.

Informations gnrales
Les oprations LIST, LOG ou CONT utilisent des objets de donnes de taille dfinie. Les
opration combinatoires sur bit, par exemple, utilisent des bits. Les oprations de
chargement et de transfert (LIST) ainsi que les oprations de transfert (LOG et CONT)
utilisent des octets, mots et double mots.
Un bit est un chiffre binaire "0" ou "1". Un octet contient 8 bits, un mot 16 bits et un double
mot 32 bits.
Les oprations arithmtiques utilisent galement des octets, mots ou double mots. Dans ces
oprandes de type octet, mot ou double mot vous pouvez coder des nombres de formats
diffrents, comme par exemple les nombres entiers et les nombres virgule flottante.
Si vous utilisez l'adressage symbolique, vous dfinissez des mnmoniques et leur affectez
un type de donnes (voir le tableau suivant). Les diffrent types de donnes possdent
diffrentes options pour le format et diffrentes reprsentations de nombre.
Le prsent chapitre ne dcrit que certaines des notations possibles pour les nombres et les
constantes. Le tableau suivant liste les formats de nombres et de constantes qui ne seront
pas abords en dtail.
Format

Taille en bits

Reprsentation des nombres

hexadcimal

8, 16 et 32

B#16#, W#16# et DW#16#

binaire,

8, 16 et 32

2#

16

D#

date CEI
dure CEI

32

T#

heure

32

TOD#

CARACTERE

'A'

Programmer avec STEP 7 V5.1


A5E00069874-03

A-29

Annexe

A.3.2

Types de donnes simples


Chaque type de donnes simple a une longueur dfinie. Le tableau ci-aprs prsente les
types de donnes simples.
Type et
description

Taille Options pour Plage et reprsentation des


en
le format :
nombres (valeur minimale
bits
valeur maximale)

Exemple

BOOL (bit)
BYTE (octet)

1
8

Texte boolen TRUE/FALSE


B16#0 B16#FF
Nombre
hexadcimal

TRUE
L B#16#10
L byte#16#10

WORD
(mot)

16

Nombre en
binaire pur
Nombre
hexadcimal
BCD
Nombre
dcimal non
sign

2#0
2#1111_1111_1111_1111
W#16#0 W#16#FFFF

L 2#0001_0000_0000_000
0

Nombre en
binaire pur

2#0
2#1111_1111_1111_1111_
1111_1111_1111_1111
DW#16#0000_0000
DW#16#FFFF_FFFF
B#(0,0,0,0)
B#(255,255,255,255)

L W#16#1000
L word16#1000
L C#998
L B#(10,20)
L byte#(10,20)
2#1000_0001_0001_1000
_
1011_1011_0111_1111
L DW#16#00A2_1234
L dword#16#00A2_1234
L B#(1, 14, 100, 120)
L byte#(1,14,100,120)

-32768 32767

L1

DWORD
(double mot)

A-30

32

INT
(entier)
DINT
(nombre entier
de 32 bits)
REAL
(nombre
virgule
flottante)
S5TIME
(dure
SIMATIC)

16

TIME
(dure CEI)

32

DATE
(date CEI)

16

Nombre
hexadcimal
Nombre
dcimal non
sign
Nombre
dcimal sign

C#0 C#999
B#(0,0) B#(255,255)

32

Nombre
dcimal sign

L#-2147483648
L#2147483647

L L#1

32

Limite suprieure :
3.402823e+38
Limite infrieure : 1.175 495e38
S5T#0H_0M_0S_10MS
S5T#2H_46M_30S_0MS et
S5T#0H_0M_0S_0MS

L 1.234567e+13

TIME_OF_DAY 32
(heure)

IEEE
nombre
virgule
flottante
Dure S7
en pas de
10 ms (valeur
par dfaut)
Dure CEI en
incrments de
1 ms, entier
sign
Date CEI en
incrments de
1 jour
Heure en pas
de 1 ms

CHAR
(caractre)

Caractres
ASCII

16

L S5T#0H_1M_0S_0MS
L S5TIME#0H_1H_1M_0S
_0MS

T#24D_20H_31M_23S_648MS L T#0D_1H_1M_0S_0MS

L TIME#0D_1H_1M_0S_0
T#24D_20H_31M_23S_647MS MS
D#1990-1-1
D#2168-12-31

L D#1994-3-15
L DATE#1994-3-15

TOD#0:0:0.0
TOD#23:59:59.999
'A','B' etc.

L TOD#1:10:3.3
L TIME_OF_DAY#1:10:3.3
L 'E'

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.3.2.1

Format du type de donnes INT (entiers de 16 bits)


Un nombre entier comporte un signe prcisant s'il s'agit d'un entier positif ou ngatif.
L'espace occup par un nombre entier (16 bits) dans la mmoire est d'un mot. Le tableau
suivant reprsente la plage d'un nombre entier (16 bits).
Format

Plage
Entier (16 bits) :

32 768 +32 767

La figure suivante reprsente le nombre entier +44 sous forme de nombre en binaire pur.
Bit

15
0

12 11
0

Signe

A.3.2.2

Valeurs dcimales : 32

0
1

8 + 4 = 44

Format du type de donnes DINT (nombres entiers de 32 bits)


Un nombre entier comporte un signe prcisant s'il s'agit d'un entier positif ou ngatif.
L'espace occup par un nombre entier (32 bits) dans la mmoire est de deux mots. le
tableau suivant reprsente la plage d'un nombre entier (32 bits).
Format

Plage
Nombre entier (32 bits) :

2 147 483 648 +2 147 483 647

La figure suivante reprsente le nombre entier 500 000 comme nombre en binaire pur.
Dans le systme binaire, la forme ngative d'un nombre entier est reprsente comme
complment deux du nombre entier positif. Vous obtenez le complment deux d'un
nombre entier en inversant les tats de signaux de tous les bits, puis en additionnant +1
au rsultat.
Bit
31

28 27

24 23

20 19

16 15

12 11

8 7

4 3

1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 1 1 0 1 1 1 0 0 0 0 0
Signe

Programmer avec STEP 7 V5.1


A5E00069874-03

A-31

Annexe

A.3.2.3

Format du type de donnes REAL (nombres virgule flottante)


La reprsentation gnrale dun nombre virgule flottante est "nombre = m b exposant E".
La base b et lexposant E sont des nombres entiers, la mantisse m un nombre rationnel.
Ce type de reprsentation de nombres offre lavantage de permettre de reprsenter de trs
grandes et de trs petites valeurs dans un espace limit. Le nombre limit de bits pour la
mantisse et lexposant permet de reprsenter une vaste plage de nombres.
Le dsavantage rside dans la limitation de la prcision de calcul. Pour le calcul de la
somme de deux nombres, par exemple, les exposants doivent tre adapts par dcalage de
la mantisse (virgule flottante) (addition des mantisses de deux nombres possdant le mme
exposant).

Format virgule flottante dans STEP 7


Dans STEP 7, les nombres virgule flottante correspondent au format de base de simple
largeur, comme dcrit dans la norme ANSI/IEEE Std 7541985, IEEE Standard for Binary
Floating-Point Arithmetic. Ils sont forms des composants suivants :
le signe s
lexposant e = E + Bias augment dune constante (Bias = +127)
la partie fractionnaire de la mantisse m.
La partie entire de la mantisse nest pas indique, car elle est toujours gale 1 dans la
plage de nombres valide.
Ces trois composants occupent au total un double mot (32 bits) :
Bit
31

28 27

Signe
(1 bit)

24 23

20 19

16 15

12 11

8 7

4 3

Exposant : e
(8 bits)

Mantisse : m
(23 bits)

Le tableau suivant illustre la valeur de chaque bit dans le format virgule flottante.
Composante du nombre
virgule flottante

A-32

Numro du bit

Valeur

Signe s

31

Exposant e

30

2 exposant 7

...

...

...

Exposant e

24

2 exposant 1

Exposant e

23

2 exposant 0

Mantisse m

22

2 exposant 1

...

...

...

Mantisse m

2 exposant 22

Mantisse m

2 exposant 23

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Les trois composants s, e et m dfinissent la valeur dun nombre reprsent dans ce format
par la formule :
Nombre = 1.m 2 exposant (e-Bias)
O :
e : 1 e 254
Bias : Bias = 127. Ceci permet dviter un signe supplmentaire pour lexposant.
s : pour un nombre positif, s = 0 et pour un nombre ngatif, s = 1.

Plage de valeurs des nombres virgule flottante


Avec le format virgule flottante reprsent ci-avant :
le nombre virgule flottante le plus petit = 1.0 2 exposant (1-127) = 1.0 2 exposant (126)
= 1.175 495E38 et
le nombre virgule flottante le plus grand = 2-2 exposant (-23) 2 exposant (254-127) =
2-2 exposant (-23) 2 exposant (+127)
= 3.402 823E+38
Le nombre zro est reprsent par e = m = 0 ; e = 255 et m = 0 signifie infini.
Format
Nombres virgule flottante selon la norme
ANSI/IEEE

Plage1)
3.402 823E+38 1.175 495E38
et 0 et
+1.175 495E38 +3.402 823E+38

Le tableau suivant reprsente ltat de signal des bits du mot dtat pour le rsultat
doprations sur des nombres virgule flottante se trouvant hors de la plage admise.
Rsultat dans la plage invalide

A1

A0

OV

OS

-1.175494E-38 < rsultat < -1.401298E-45 (nombre ngatif)


Dpassement bas

+1.401298E-45 < rsultat < +1.175494E-38 (nombre positif)


Dpassement bas

Rsultat < -3.402823E+38 (nombre ngatif) Dpassement


haut

Rsultat > 3.402823E+38 (nombre positif) Dpassement haut

Pas de nombre virgule flottante valide ou opration invalide


(valeur dentre hors de la plage de valeurs admise)

Programmer avec STEP 7 V5.1


A5E00069874-03

A-33

Annexe

Attention pour les oprations mathmatiques :


Lon obtient par exemple le rsultat Pas de nombre virgule flottante valide lorsque lon
tente dextraire la racine carre de 2. Dans le cas doprations mathmatiques, vous devez
donc toujours dabord valuer les bits dtat avant de poursuivre le calcul avec le rsultat.
Attention pour le "Forage de variables" :
Lorsque lon inscrit les valeurs pour les oprations sur nombres virgule flottante dans des
double mots de mmento, par exemple, il est possible de modifier ces valeurs avec des
modles binaires quelconques. Chaque modle binaire ne reprsente cependant pas un
nombre valide !

Prcision dans le calcul sur nombres virgule flottante

Avertissement
Des imprcisions peuvent survenir dans des rsultats de calculs importants sur des
nombres prsentant des ordres de grandeur trs diffrents (plusieurs 10aines de puissances).

Dans STEP 7, la prcision des nombres virgule flottante est de 6 dcimales. Lorsque vous
saisissez des constantes virgule flottante, tes donc limit 6 dcimales au maximum.

Nota
La prcision de calcul de 6 dcimales signifie par exemple que laddition du nombre1 +
nombre2 = nombre1, lorsque nombre1 est suprieur nombre2 10 exposant y, et y > 6 :
100 000 000 + 1 = 100 000 000.

A-34

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Exemples de nombres reprsents dans le format virgule flottante


La figure suivante illustre le format de nombres virgule flottante pour les valeurs dcimales
suivantes :
10,0
p (3,141593)
racine carre de 2 (p2 = 1,414214)
Le nombre 10.0 dans le premier exemple rsulte de la manire suivante de son format
virgule flottante (reprsentation en HEX : 4120 0000) :
e = 2 exposant 1 + 2 exposant 7 = 2 + 128 = 130
m = 2 exposant (-2) = 0,25
Il en rsulte : 1.m 2 exposant (e Bias) = 1.25 2 exposant (130 127) = 1.25 2
exposant 3 = 10.0.

Valeur dcimale 10,0


Valeur hexadcimale
4
1
Bits

31

28 27

2
24 23

0
20 19

0
16 15

0
12 11

0
8 7

0
4 3

0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Signe de la
mantisse : s
(1 bit)

Exposant : e
(8 bits)

Mantisse ou fraction : f
(23 bits)

e = 27 + 21 = 130
f = 2-2 = 0,25
1.f _ 2e-bias = 1,25 _ 23 = 10,0
[1,25 _ 2(130-127) = 1,25 _ 23 = 10,0]
Valeur dcimale 3,141593
Valeur hexadcimale
4
Bits

31

0
28 27

4
24 23

0
16 15

20 19

F
12 11

D
8 7

C
4 3

0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 0

Signe de la
mantisse : s
(1 bit)

Exposant : e
(8 bits)

Mantisse ou fraction : f
(23 bits)

Valeur dcimale 1,414214


Valeur hexadcimale
3
F
Bits

31

28 27

B
24 23

5
20 19

0
16 15

4
12 11

F
8 7

7
4 3

0 0 1 1 1 1 1 1 1 0 1 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 1 1

Signe de la
mantisse : s
(1 bit)

Programmer avec STEP 7 V5.1


A5E00069874-03

Exposant : e
(8 bits)

Mantisse ou
fraction : f
(23 bits)

A-35

Annexe

A.3.2.4

Format des types de donnes WORD et DWORD pour les nombres


dcimaux cods binaire
Dans la reprsentation dcimale code binaire (DCB), un nombre dcimal est reprsent
par des groupes de chiffres binaires (bits). Un groupe de 4 bits reprsente un chiffre ou le
signe d'un nombre dcimal. Les groupes de 4 bits forment un mot (16 bits) ou un double mot
(32 bits). Les quatre bits de poids le plus fort indiquent le signe du nombre ("1111" signifie
moins et "0000" plus). Les instructions comportant des oprandes dcimaux cods binaires
n'expoitent que le bit de poids le plus fort (15 en format mot, 31 en format double mot). Le
tableau suivant indique le format et la plage des deux types de nombre DCB.
Format

Plage

Mot
(16 bits, nombre DCB trois positions sign)

999 +999

Double mot
(32 bits, nombre DCB 7 positions sign)

9 999 999 +9 999 999

Les figures suivantes donnent des exemples d'un nombre dcimal cod binaire dans
les formats suivants :
Format mot
+310 (format dcimal)
Bits

15
0 0
Signe

12 11
0 0 0

8
1

Centaines
(102)

7
0

4
1

Dizaines
(101)

3
0

0
0

Units
(100)

Format double mot


-9 999 999 (format dcimal)
Bits
31
28 27
24 23
20 19
16 15
12 11
8 7
4 3
0
1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1
Dizaines
Centaines
Millions (106) Centaines de Dizaines de
Milliers
Units
Signe
(101)
(102)
milliers (105) milliers (104)
(103)
(100)

A-36

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.3.2.5

Format du type de donnes S5TIME (dure SIMATIC)


Lorsque vous saisissez la dure avec le type de donnes S5TIME, vos entres sont
enregistres en format DCB. La figure suivante indique le contenu de l'oprande de
temporisation pour une valeur de temps gale 12 et une base de temps d'1 s.
15...
x

...8
x

7...
0

...0
0

1
2

Valeur de temps en format DCB (0 999)


Base de temps
1 seconde
Sans objet : Ces bits ne sont pas considrs au dmarrage de la
temporisation

Lorsque vous utilisez le type de donnes S5TIME, vous indiquez une valeur de temps
comprise dans la plage 0 999 et spcifiez une base de temps (cf. tableau suivant). La
base de temps correspond l'intervalle dans lequel une dure diminue la valeur de temps
d'une unit, jusqu' atteindre "0".
Base de temps pour S5TIME
Base de temps

Code binaire pour la base de temps

10 ms

00

100 ms

01

1s

10

10 s

11

Vous pouvez chargez une valeur de temps prdfinie en utilisant la syntaxe suivante :
L1 W#16#wxyz
o : w = base de temps (c'est--dire intervalle de temps ou rsolution)

xyz = valeur de temps en format DCB

L S5T#aH_bbM_ccS_dddMS
1

o : a = heures, bb = minutes, cc = secondes et ddd = millisecondes.

La slection de la base de temps est automatique et la valeur est arrondie au nombre


infrieur le plus proche avec cette base de temps.

Vous pouvez entrer une valeur de temps de 9 990 secondes ou 2H_46M_30S au maximum.
1

= L doit uniquement tre entr en programmation LIST

Programmer avec STEP 7 V5.1


A5E00069874-03

A-37

Annexe

A.3.3

Types de donnes complexes


Les types de donnes complexes dfinissent des groupes de donnes comportant plus de
32 bits ou des groupes de donnes composs partir d'autres types de donnes. STEP 7
autorise les types de donnes complexes suivants :
DATE_AND_TIME
STRING
ARRAY (tableau)
STRUCT (structure)
UDT (types de donnes utilisateur),
FB et SFB
Le tableau ci-aprs dcrit les types de donnes complexes. Vous dfinissez les structures et
les tableaux soit dans la dclaration des variables du bloc de code, soit dans un bloc de
donnes.
Type de donnes

Description

DATE_AND_TIME

Dfinit une zone de 64 bits (8 octets). Ce type de donnes


sauvegarde en format dcimal cod binaire.

DT
STRING

Dfinit un ensemble de 254 caractres au maximum (type de


donnes CHAR). La zone rserve une chane de caractres est
par dfaut de 256 octets : c'est la mmoire ncessaire la
sauvegarde de 254 octets et d'un en-tte de deux octets. Vous
pouvez indiquer le nombre de caractres dans la chane et rduire
ainsi l'espace utilis en mmoire (par exemple, STRING[9]
'Siemens').

ARRAY

Dfinit un agrgat multidimensionnel d'un mme type de donnes


(soit simple, soit complexe). Par exemple, "ARRAY[1..2,1..3] OF INT"
correspond un tableau de nombres entiers de format 2 x 3. Vous
accdez aux donnes sauvegardes dans un tableau via l'indice (ex.
: [2,2]). Un tableau peut comporter 6 dimensions au maximum ;
l'indice peut tre un nombre entier quelconque (de -32768 32767).

STRUCT

Dfinit un agrgat de types de donnes quelconques combins. Vous


pouvez, par exemple, dfinir un tableau de structures ou une
structure contenant structures et tableaux.

UDT

Un UDT vous permet d'organiser des volumes de donnes


importants et de simplifier la saisie des types de donnes lorsque
vous voulez crer des blocs de donnes ou dclarer des variables
dans la table de dclaration des variables. Dans STEP 7, vous
pouvez combiner des types de donnes simples et complexes et,
ainsi, crer votre propre type de donnes. Les UDT ont un nom
propre et peuvent donc tre utiliss plusieurs fois.

FB, SFB

Dterminent la structure du bloc de donnes d'instance associ et


permettent la transmission de donnes d'instance pour plusieurs
appels de FB dans un DB d'instance.

Les types de donnes structurs sont rangs par alignement sur les limites de mots
(WORD aligned).

A-38

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.3.3.1

Format du type de donnes DATE_AND_TIME (date et heure)


Lorsque vous saisissez la date et l'heure avec le type de donnes DATE_AND_TIME (DT),
vos entres sont enregistres dans 8 octets en format DCB. Le type de donnes
DATE_AND_TIME est form de la plage suivante :
DT#1990-1-1-0:0:0.0 DT#2089-12-31-23:59:59.999
Les exemples suivants indiquent les syntaxes possibles pour la saisie de la date et de
l'heure du jeudi, le 25 dcembre 1993, 8:01 et 1,23 secondes. Les deux formats suivants
sont possibles :
DATE_AND_TIME#199312258:01:1.23
DT#1993-12-25-8:01:1.23
Vous disposez des fonctions standard CEI (International Electrotechnical Commission)
suivantes pour traiter le type de donnes DATE_AND_TIME :
Conversion de la date et de l'heure au format DATE_AND_TIME
FC3 : D_TOD_DT
Dtermination de la date partir du format DATE_AND_TIME
FC6 : DT_DATE
Dtermination du jour de la semaine partir du format DATE_AND_TIME
FC7 : DT_DAY
Dtermination de l'heure partir du format DATE_AND_TIME
FC8 : DT_TOD
Le tableau suivant prsente le contenu des octets qui contiennent l'information sur la date et
l'heure. L'exemple montre la date et l'heure pour jeudi le 25 dcembre 1993, 8:01 et 1,23
secondes.
Octet

Contenu

Exemple

anne

B#16#93

mois

B#16#12

jour

B#16#25

heures

B#16#08

minutes

B#16#01

secondes

B#16#01

les deux chiffres de poids le plus fort de MSEC

B#16#23

7
(4MSB)

les chiffres de poids le plus faible de MSEC

B#16#0

7
(4LSB)

jour de la semaine
1 = dimanche
2 = lundi
...
7 = samedi

B#16#5

Programmer avec STEP 7 V5.1


A5E00069874-03

A-39

Annexe

La plage autorise pour le type de donnes "DATE_AND_TIME" est :


min. : DT#1990-1-1-0:0:0.0
max. : DT#2089-12-31-23:59:59.999
Plage de valeurs possible
anne
mois
jour
heures
minutes
secondes
millisecondes
jour de la semaine

A.3.3.2

Code DCB

1990 1999
2000 2089
1 12
1 31
00 23
00 59
00 59
0 999
dimanche samedi

90h 99h
00h 89h
01h 12h
01h 31h
00h 23h
00h 59h
00h 59h
000h 999h
1h 7h

Utilisation de types de donnes complexes


Vous pouvez crer de nouveaux types de donnes en combinant des types de donnes
simples et complexes pour obtenir les types de donnes complexes suivants :
tableau (ARRAY) : agrgat de donnes de mme type,
structure (STRUCT) : agrgat de donnes de types diffrents,
chane (STRING) : tableau une dimension de 254 caractres (type de donnes CHAR)
au maximum. Une chane ne peut tre transmise que comme entit complte et la
longueur de la chane doit tre identique pour les paramtres formel et effectif du bloc.
date et heure (DATE_AND_TIME) : anne, mois, jour, heures, minutes, secondes,
millisecondes et jour de la semaine.
La figure ci-aprs montre comment les tableaux et structures organisent des types de
donnes en une zone de stockage d'informations. Vous pouvez dfinir un tableau ou une
structure soit dans un DB, soit dans la table de dclaration des variables d'un FB, d'une FC
ou d'un OB.
Structures
STRUCT
INT
BYTE

Entier

CHAR
REAL
BOOL

Caractre

Octet

Rel
Boolen

Tableaux

ARRAY [1..2,1..3]
INTEGER

A-40

1,1

Entier

1,2

Entier

1,3

Entier

2,1

Entier

2,2

Entier

2,3

Entier

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.3.3.3

Utilisation de tableaux pour l'accs aux donnes

Tableaux
Un tableau correspond un agrgat de donnes de mme type (simple ou complexe). Il
n'est pas possible de dfinir un tableau de tableaux. Lorsque vous dfinissez un tableau :
vous prcisez son nom ;
vous dclarez son type l'aide du mot-cl ARRAY ;
vous indiquez sa taille l'aide d'indices. Vous entrez le premier et le dernier nombre pour
chaque dimension (jusqu' 6) dans le tableau. Vous indiquez les indices entre crochets,
chaque dimension tant spare par une virgule et les premier et dernier nombres pour
chaque dimension par deux points. Voici, par exemple, comment dfinir un tableau
tridimensionnel :
[1..5,2..3,30..32]
vous identifiez le type des donnes sauvegarder dans le tableau.

Exemple 1
La figure ci-aprs montre un tableau de trois nombres entiers. Vous accdez aux donnes
ranges dans le tableau l'aide de l'indice, c'est--dire du nombre entre crochets. L'indice
pour le deuxime nombre entier est, par exemple, Temp_fonct[2].
Un indice peut tre une valeur entire quelconque, mme ngative (-32768 32767). Il
aurait galement t possible de dfinir le tableau de la figure ci-aprs comme ARRAY
[-1..1]. L'indice pour le premier entier serait alors Temp_fonct[-1], celui pour le deuxime
entier Temp_fonct[0] et celui pour le troisime Temp_fonct[1].
Adresse
0.0
+0.0
*2.0
=3.0

Nom
Temp_oper

Temp_fonct =
ARRAY [1..3] INTEGER

Programmer avec STEP 7 V5.1


A5E00069874-03

Val. init.

Type

Commentaire

STRUCT
ARRAY[1..3]
INT
END_STRUCT

Temp_fonct [1]

Temp_fonct [2]

Temp_fonct 3]

A-41

Annexe

Exemple 2
Un tableau peut galement dcrire un agrgat multidimensionnel de types de donnes. La
figure ci-aprs montre un tableau bidimensionnel de nombres entiers.

Temp_fonct = ARRAY [1..2,1..3]


INTEGER

1,1

Entier

1,2

Entier

1,3

Entier

2,1

Entier

2,2

Entier

2,3

Entier

Vous accdez aux donnes de ce tableau l'aide des indices. Pour l'exemple, le premier
nombre entier est Temp_fonct[1,1], le troisime Temp_fonct[1,3], le quatrime
Temp_fonct[2,1] et le sixime Temp_fonct[2,3].
Un tableau peut avoir jusqu' six dimensions (six jeux d'indices). Vous dfinissez la variable
Temp_fonct comme tant un tableau six dimensions de la manire suivante par exemple :
ARRAY [1..3,1..2,1..3,1..4,1..3,1..4]
Le premier lment de ce tableau sera donc Temp_fonct[1,1,1,1,1,1] et le dernier
Temp_fonct[3,2,3,4,3,4].

Cration d'un tableau


La dfinition d'un tableau se fait lors de la dclaration de donnes dans un DB ou dans la
table de dclaration des variables. Pour dclarer un tableau, vous entrez le mot-cl ARRAY
suivi de sa taille entre crochets :
[limite infrieure..limite suprieure]
Pour un tableau multidimensionnel, vous prcisez les limites infrieure et suprieure pour
chaque dimension, en les sparant par une virgule. Dans la figure ci-aprs, on dclare un
tableau 2 x 3.
IAdresse Nom
0.0
+0.0 Chaleur_2x3
*2.0
=6.0

A-42

Type
Val. init.
STRUCT
ARRAY[1..2,1..3]
INT
END_STRUCT

Commentaire

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Saisie de valeurs initiales dans un tableau


Vous pouvez affecter une valeur initiale chaque lment des tableaux que vous crez. Il
existe deux mthodes pour saisir les valeurs initiales :
Saisie de valeurs individuelles : Vous indiquez pour chaque lment du tableau une
valeur autorise (pour le type de donnes du tableau). Indiquez les valeurs dans l'ordre
des lments, par exemple [1,1]. Les diffrents lments sont spars par une virgule.
Indication d'un facteur de rptition : Pour des lments qui se suivent et doivent prendre
la mme valeur initiale, vous pouvez prciser le nombre d'lments (facteur de rptition
x) et leur valeur initiale. Le format de saisie d'un facteur de rptition est x(y), x tant le
facteur de rptition et y la valeur rpter.
Pour l'exemple de la figure ci-avant, vous pouvez dfinir la valeur initiale des six lments en
entrant : 17, 23, -45, 556, 3342, 0. Mais pour leur donner tous la valeur initiale 10, il vous
suffirait d'indiquer : 6(10). Vous pourriez galement donner une valeur individuelle aux deux
premiers lments et la valeur nulle aux quatre autres en prcisant : 17,23,4(0).

Accs aux donnes d'un tableau


Vous accdez aux donnes d'un tableau par l'indice de l'lment concern dans le tableau.
L'indice est combin au mnmonique du tableau.
Exemple : si le tableau dclar dans la figure ci-avant commence au premier octet du DB20
(Moteur), vous accdez au deuxime lment du tableau l'aide de l'adresse suivante :
Moteur.Chaleur_2x3[1,2]

Utilisation de tableaux comme paramtres


Vous pouvez transmettre des tableaux comme paramtres. Lorsque vous dclarez un
paramtre ARRAY dans la dclaration des variables, vous devez transmettre le tableau
complet, et non pas des lments individuels. Il est toutefois possible d'affecter un lment
de tableau un paramtre lorsque vous appelez un bloc si cet lment correspond au type
de donnes du paramtre.
Les tableaux que vous transmettez comme paramtres ne doivent pas ncessairement avoir
le mme nom (ou mme avoir un nom), mais il faut qu'ils soient tous deux - paramtre
effectif et paramtre formel - organiss de manire identique. Ainsi, un tableau 2x3 de
nombres entiers ne peut-il tre transmis comme paramtre que si le paramtre formel du
bloc dfinit un tableau 2x3 de nombres entiers et si le paramtre effectif fourni dans
l'opration d'appel est galement un tableau 2x3 de nombres entiers.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-43

Annexe

A.3.3.4

Utilisation de structures pour l'accs aux donnes

Structures
Une structure correspond un agrgat de donnes de types diffrents (toute combinaison
de types de donnes simples ou complexes, y compris tableaux et structures). Cela permet
de regrouper des donnes selon la logique de votre processus. Cela permet galement de
transmettre des paramtres comme une entit de donnes, plutt que sous la forme
d'lments distincts. La figure ci-aprs montre une structure constitue d'un nombre entier,
d'un octet, d'un caractre, d'un nombre virgule flottante et d'une valeur boolenne.
STRUCT
Entier

INT
BYTE
CHAR
REAL
BOOL

Octets
Caractre
Rel
Boolen

Une structure peut tre imbrique jusqu' huit niveaux (par exemple, une structure de
structures contenant des tableaux).

Cration d'une structure


La dfinition d'une structure se fait lors de la dclaration de donnes dans un DB ou dans la
dclaration des variables d'un bloc de code.
Dans la figure ci-aprs, on dclare une structure lot_1 constitue des lments suivants : un
nombre entier (pour la quantit), un octet (pour les donnes brutes), un caractre (pour le
code de commande), un nombre virgule flottante (pour la temprature) et un mmento
boolen (pour signaler l'achvement).
Adresse
0.0
+0.0
+2.0

Nom
lot_1
quantite
donnees_brutes

+4.0
+6.0
+8.1
=10.0

code_commande
temperature
fin

Type
STRUCT
INT
BYTE
CHAR
REAL
BOOL
END_STRUCT

Val. init. Commentaire


100

120
FALSE

Affectation de valeurs initiales une structure


Pour affecter une valeur initiale chaque lment d'une structure, vous indiquez une valeur
autorise pour le type de donnes et le nom de chaque lment. Vous pourriez affecter les
valeurs initiales suivantes l'exemple de la figure ci-avant :
Quantit
=
Donnes brutes
Code de commande
Temprature =
Achvement =

A-44

100
=
=
120
False

B#(0)
'Z'

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Sauvegarde des donnes et accs aux donnes dans une structure


Vous accdez aux lments individuels d'une structure. Vous pouvez utiliser l'adresse
symbolique - lot_1.temperature, par exemple - ou l'adresse absolue sous laquelle est rang
l'lment. Si, par exemple, lot_1 est sauvegard dans le DB20 partir de l'octet 0, l'adresse
absolue de quantite est DB20.DBW0 et celle de temperature est DB20.DBD6.

Utilisation de structures comme paramtres


Vous pouvez transmettre des structures comme paramtres. Lorsque vous dclarez un
paramtre STRUCT dans la dclaration des variables, vous devez transmettre une structure
d'organisation identique. Il est possible d'affecter un lment de structure un paramtre
lorsque vous appelez un bloc si cet lment correspond au type de donnes du paramtre.
Lorsque vous transmettez des structures comme paramtres, elles doivent tre toutes deux
- paramtre effectif et paramtre formel - organises de manire identique : elles doivent
avoir les mmes types de donnes dans le mme ordre.

A.3.3.5

Utilisation de types de donnes utilisateur pour l'accs aux donnes

Types de donnes utilisateur


Les types de donnes utilisateur (user data type, UDT) peuvent combiner des types de
donnes simples et complexes. Vous pouvez attribuer un nom aux UDT et les utiliser
plusieurs fois. La figure ci-aprs montre la structure d'un type de donnes utilisateur
constitu d'un nombre entier, d'un octet, d'un caractre, d'un nombre virgule flottante et
d'une valeur boolenne.
UDT20
INT
BYTE
CHAR
REAL
BOOL

Entier
Octet
Caractre
Rel
Boolen

Il vous suffit alors, au lieu d'entrer tous les types de donnes individuellement ou sous forme
de structure, d'indiquer "UDT20" comme type de donnes et STEP 7 allouera
automatiquement l'espace ncessaire en mmoire.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-45

Annexe

Cration d'un type de donnes utilisateur


Vous dfinisser les UDT dans STEP 7. La figure suivante montre un UDT compos des
lments suivants : un nombre entier (pour la quantit), un octet (pour les donnes brutes),
un caractre (pour le code de commande), un nombre virgule flottante (pour la
temprature) et un mmento boolen (pour signaler l'achvement). Vous pouvez affecter un
mnmonique cet UDT dans la table des mnmoniques (donnees_process, par exemple).
Adresse
0.0
+0.0
+2.0

Nom
lot_1
quantite
donnees_brutes

+4.0
+6.0
+8.1
=10.0

code_commande
temperature
fin

Type
STRUCT
INT
BYTE
CHAR
REAL
BOOL
END_STRUCT

Val. init. Commentaire


100

120
FALSE

Aprs avoir cr un UDT, vous pouvez l'utiliser comme un type de donnes, par
exemplecomme si pour une variable vous dclariez le type de donnes UDT200 dans un DB
(ou dans la table de dclaration des variables d'un FB).
La figure suivante montre un DB avec la variable donnees_processus_1 de type de donnes
UDT200. Vous indiquez uniquement UDT200 et donnees_processus_1. Les autres champs
sont crs la compilation du DB.
Adresse
0.0
+6.0
=6.0

Nom
donnes_proc_1

Type
STRUCT
UDT200
END_STRUCT

Val. init.

Commentaire

Affectation de valeurs initiales un type de donnes utilisateur


Pour affecter une valeur initiale chaque lment d'un UDT, vous indiquez une valeur
autorise pour le type de donnes et le nom de chaque lment. Vous pourriez affecter les
valeurs initiales suivantes l'exemple de la figure ci-avant :
Quantit
=
Donnes brutes
Code de commande
Temprature =
Achvement =

100
=
=
120
False

B#(0)
'Z'

Lorsque vous dclarez une variable comme tant d'un type de donnes utilisateur, les
valeurs initiales pour cette variable seront les valeurs entres la cration de l'UDT.

A-46

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Sauvegarde des donnes et accs aux donnes dans un type de donnes utilisateur
Vous accdez aux lments individuels d'un UDT. Vous pouvez utiliser l'adresse symbolique
- lot_1.temperature, par exemple - ou l'adresse absolue sous laquelle est rang l'lment. Si,
par exemple, lot_1 est sauvegard dans le DB20 partir de l'octet 0, l'adresse absolue de
quantite est DB20.DBW0 et celle de temperature est DB20.DBD6.

Utilisation de types de donnes utilisateur comme paramtres


Vous pouvez transmettre des variables de type de donnes UDT comme paramtres.
Lorsque vous dclarez un paramtre comme UDT dans la dclaration des variables, vous
devez transmettre un UDT dont les lments de donnes ont une organisation identique. Il
est galement possible d'affecter un lment d'UDT un paramtre lorsque vous appelez un
bloc si cet lment correspond au type de donnes du paramtre.

Avantages des DB associs un UDT


Vous pouvez, l'aide des UDT que vous avez crs, gnrer de nombreux blocs de
donnes ayant la mme organisation de donnes. Vous pouvez adapter ces blocs de
donnes chaque tche en saisissant des valeurs effectives diffrentes.
Si, par exemple, vous organisez un UDT pour une formule (par exemple, le mlange de
couleurs), vous pouvez associer cet UDT plusieurs DB contenant chaque fois d'autres
indications de quantits.

DB17 "BLEU_FC"

Type de donnes
utilisateur

DB22 "BLEU_CL"

UDT1 Formule"
DB23 "TURQU"

L'organisation de l'UDT conditionne celle du bloc de donnes associ.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-47

Annexe

A.3.4

Types de paramtre
En plus des types de donnes simples et complexes, vous pouvez dfinir des types de
paramtre pour des paramtres formels devant tre transmis entre blocs. STEP 7 dispose
des types de paramtre ci-aprs.
TIMER ou COUNTER : identifient une temporisation ou un compteur prcis devant tre
utilis lors du traitement. Le paramtre effectif que vous fournissez un paramtre formel
de type TIMER ou COUNTER doit tre une temporisation ou un compteur : vous indiquez
un T ou un Z suivi d'un nombre entier positif.
BLOCK : identifie un bloc prcis devant tre utilis comme entre ou comme sortie. La
dclaration du paramtre dtermine le type de bloc (FB, FC, DB, etc.) utiliser. Si vous
indiquez un paramtre effectif pour un paramtre formel de type BLOCK, ce doit tre une
adresse de bloc. Exemple : "FC101" en adressage absolu ou "Soupape" en adressage
symbolique.
POINTER : rfrence l'adresse d'une variable. Un pointeur contient une adresse au lieu
d'une valeur. Lorsque vous indiquez un paramtre effectif pour un paramtre formel de
type POINTER, ce doit tre l'adresse. Dans STEP 7, vous pouvez prciser un pointeur en
format de pointeur ou simplement comme adresse (par exemple, M50.0). Exemple de
format de pointeur pour l'adressage de donnes commenant M 50.0 : P#M50.0
ANY : s'utilise lorsque le type de donnes du paramtre effectif est inconnu ou lorsqu'on
peut faire appel un type de donnes quelconque. Vous trouverez de plus amples
informations sur le paramtre ANY dans les paragraphes Format du type de paramtre
ANY ou Utilisation du type de paramtre ANY.
Un type de paramtre peut galement tre un type de donnes utilisateur (UDT). Vous
trouverez de plus amples informations sur les UDT dans le paragraphe "Utilisation de types
de donnes utilisateur pour l'accs aux donnes".
Paramtre

Taille

Description

TIMER

2 octets

Identifie une temporisation prcise que le programme dans le


bloc de code appel doit utiliser.
Format :
T1

COUNTER

2 octets

Identifie un compteur prcis que le programme dans le bloc de


code appel doit utiliser.
Format :
Z10

BLOCK_FB
BLOCK_FC
BLOCK_DB
BLOCK_SDB

2 octets

Identifie un bloc prcis que le programme dans le bloc de code


appel doit utiliser.
Format :
FC101
DB42

POINTER

6 octets

Identifie l'adresse.
Format : P#M50.0

ANY

10 octets

Utilis lorsque le type de donnes du paramtre effectif est


inconnu.
Format:
P#M50.0 BYTE 10
format ANY pour
P#M100.0 WORD 5
types de donnes
L#1COUNTER 10

A-48

format ANY pour


types de paramtre

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.3.4.1

Format des types de paramtre BLOCK, COUNTER et TIMER


STEP 7 enregistre les types de paramtre BLOCK, COUNTER et TIMER sous forme de
nombres binaires dans un mot (32 bits). La figure suivante montre le format de ces types de
paramtre.
Bits 15
0

0
0

Octet 0

Octet 1

Le nombre autoris de blocs, temporisations et compteurs dpend de la version de votre


CPU S7. Vous trouverez de plus amples informations sur le nombre autoris de
temporisations et de compteurs ainsi que sur le nombre maximal de blocs disponibles dans
les fiches techniques relatives votre CPU dans le manuel "Systme dautomatisation
S7-300, Installation et configuration - Caractristiques des CPU" ou dans le manuel
d'installation " Systmes dautomatisation S7-400/M7-400, Installation et configuration".

A.3.4.2

Format du type de paramtre POINTER


STEP 7 enregistre le type de paramtre POINTER dans 6 octets (48 bits). La figure suivante
montre la nature des donnes enregistres dans chaque octet.
Format pointeur
15...

...8 7...

Octet 0
Octet 2
Octet 4 b

...0
Octet 1

Numro de DB (ou 0)
Zone de mmoire
b

Octet 3

Octet 5

b = adresse doctet

x = adresse de bit

Le type de paramtre POINTER enregistre les informations suivantes :


Numro de DB (ou 0, lorsque les donnes ne sont pas enregistres dans un DB)
Zone de mmoire dans la CPU (le tableau suivant indique les codes hexadcimaux des
zones de mmoire pour le type de paramtre POINTER)
Code hexadcimal

Zone de mmoire

Description

b#16#81

Zone de mmoire des entres

b#16#82

Zone de mmoire des sorties

b#16#83

Zone de mmoire des mmentos

b#16#84

DB

Bloc de donnes

b#16#85

DI

Bloc de donnes d'instance

b#16#86

Donnes locales (pile L)

b#16#87

Donnes locales prcdentes

Programmer avec STEP 7 V5.1


A5E00069874-03

A-49

Annexe

Adresse des donnes (en format octet.bit)


STEP 7 propose le format pointeur : p#zone de mmoire octet.bit_adresse. (Si le
paramtre formel a t dclar comme type de paramtre POINTER, il vous suffit
d'indiquer la zone de mmoire et l'adresse. STEP 7 convertit automatiquement votre
entre en format pointeur.) Les exemples suivants montrent comment vous saisissez le
type de paramtre POINTER pour les donnes commenant M50.0 :
P#M50.0
M50.0 (si le paramtre formel a t dclar comme POINTER)

A.3.4.3

Utilisation du type de paramtre POINTER


Un pointeur est utilis pour adresser un oprande. L'avantage de ce type d'adressage est
que vous pouvez modifier de manire dynamique l'oprande de l'instruction durant
l'excution du programme.

Pointeur pour l'adressage indirect en mmoire


Les instructions de programme utilisant l'adressage indirect en mmoire, sont composes
d'une opration, d'un identificateur d'oprande et d'un dcalage (qui doit tre indiqu entre
crochets).
Exemple de pointeur en format double mot :
L

P#8.7

charger la valeur du pointeur dans lACCU 1

MD2

transfrer le pointeur dans MD2.

E [MD2]

interroger l'tat de signal l'entre E 8.7

A [MD2]

et affecter l'tat de signal la sortie A 8.7

Pointeur pour ladressage intrazone et interzone


Les instructions de programme utilisant ce type d'adressage sont composes d'une
opration et des lments suivants : identificateur d'oprande, identificateur de registre
d'adresse, dcalage.
Le registre d'adresse (AR1/2) et le dcalage doivent tre indiqus ensemble entre crochets.

Exemple dadressage intrazone


Le pointeur ne contient aucune indication de zone de mmoire :
L

P#8.7

LAR1

charger la valeur du pointeur dans lACCU 1


charger le pointeur de lACCU 1 dans AR1

E [AR1, P#0.0]

interroger l'tat de signal de l'entre E 8.7 et

A [AR1, P#1.1]

affecter l'tat de signal la sortie A 10.0

Le dcalage 0.0 n'a pas d'effet. La sortie 10.0 se calcule partir de 8.7 (AR1) plus le
dcalage 1.1. Le rsultat est 10.0 et non pas 9.8, voir le format du pointeur.

A-50

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Exemple dadressage interzone


Dans l'adressage interzone, la zone de mmoire est prcise dans le pointeur (dans
l'exemple, E ou A).
L

P# E8.7

LAR1
L

charger la valeur du pointeur et lidentification de zone


dans lACCU 1
charger la zone de mmoire E et l'adresse 8.7 dans AR1

P# A8.7

LAR2

charger la valeur du pointeur et l'identification de zone


dans l'ACCU 1
charger la zone de mmoire A et l'adresse 8.7 dans AR2

[AR1, P#0.0]

interroger l'tat de signal de l'entre E 8.7 et

[AR2, P#1.1]

affecter l'tat de signal la sortie A 10.0.

Le dcalage 0.0 n'a pas d'effet. La sortie 10.0 se calcule partir de 8.7 (AR2) plus 1.1
(dcalage). Le rsultat est 10.0 et non pas 9.8, voir format du pointeur.

A.3.4.4

Bloc pour modifier le pointeur


L'exemple de bloc FC 3 "Dcalage de pointeurs" permet de modifier l'adresse de bit ou
l'adresse d'octet d'un pointeur. A l'appel de la FC, le pointeur modifier est transmis la
variable "Pointeur" (vous pouvez utiliser des pointeurs interzone et intrazone en format
double mot).
Le paramtre "bit-octet" vous permet de modifier l'adresse de bit ou l'adresse d'octet du
pointeur (0 : adresse de bit, 1 : adresse d'octet). La variable "valeur_inc" (en format entier)
indique la valeur qui doit tre additionne ou soustraite au contenu de l'adresse. Vous
pouvez galement indiquer des nombres ngatifs pour dcrmenter l'adresse.
Pour la modification de l'adresse de bit, un transfert dans l'adresse d'octet est effectu
(galement pour la dcrmentation) ; par exemple :
P#M 5.3, bit_octet = 0, valeur_inc = 6 => P#M 6.1 ou
P#M 5.3, bit_octet = 0, valeur_inc = -6 => P#M 4.5.
La fonction n'a pas d'effet sur l'information de zone du pointeur.
Le dbordement haut/bas du pointeur corrige la FC. Dans ce cas, le pointeur n'est pas
modifi et la variable ct sortie "RET_VAL" (traitement d'erreur possible) est mise "1"
(jusqu'au prochain traitement correct de la FC 3). Ceci est le cas lorsque :
L'adresse de bit est slectionne et valeur_inc >7 ou <-7.
L'adresse de bit ou l'adresse d'octet sont slectionnes et la modification aurait pour
consquence une adresse d'octet "ngative".
L'adresse de bit ou l'adresse d'octet sont slectionnes et la modification aurait pour
consquence une adresse d'octet de taille non autorise.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-51

Annexe

Exemple de bloc pour modifier le pointeur dans LIST :


FUNCTION FC 3: BOOL
TITLE =Rangement de pointeurs
//La FC 3 peut tre utilise pour modifier des pointeurs.
AUTHOR : AUT1CS1
FAMILY : INDADR
NAME : ADRPOINT
VERSION : 0.0
VAR_INPUT
Bit_octet : BOOL ; //0 : adresse de bit, 1 : adresse d'octet
Valeur_inc : INT ; //Incrment (si valeur ngative => dcrmentation/si valeur positive
=> incrmentation)
END_VAR
VAR_IN_OUT
Pointeur : DWORD ; //Pointeur utiliser
END_VAR
VAR_TEMP
Valeur_inc1 : INT ; //Incrment de valeur intermdiaire
Pointeur1 : DWORD ; //Pointeur de valeur intermdiaire
Val_int : DWORD ; //Variable auxiliaire
END_VAR
BEGIN
NETWORK
TITLE =
//Le bloc corrige automatiquement les modifications qui modifient les informations de zone
//du pointeur, ou qui conduisent des pointeurs "ngatifs" !

A-52

SET

; //Mettre le RLG 1 et

#RET_VAL; //remettre le dbordement zro

#Pointeur; //Affecter le pointeur temporaire

#Pointeur1; //de valeur intermdiaire

#Valeur_inc; //Affecter l'incrment temporaire

#Valeur_inc1; //de valeur intermdiaire

#Bit_octet; //lorsque =1, alors opration sur l'adresse d'octet

SPB

Octet; //Saut au calcul de l'adresse d'octet

7; //Si valeur incrment > 7,

#Valeur_inc1;

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

neg:

<I

#RET_VAL; //alors mettre RET_VAL 1 et

SPB

Fin; //sauter la fin

-7; //Si valeur incrment < -7,

<I

#RET_VAL; //alors mettre RET_VAL 1 et

SPB

Fin; //sauter la fin

SPB

neg; //alors sauter la soustraction des adresses de bit

#Pointeur1; //Charger l'information d'adresse du pointeur

#Valeur_inc1; //et additionner l'incrment

+D

SPA

test; //Sauter au test de rsultat ngatif

#Pointeur1; //Charger l'information d'adresse du pointeur

#Valeur_inc1; //Charger l'incrment

NEGI

; //Effectuer la ngation de la valeur ngative,

-D

; //soustraire la valeur

SPA

test; //et sauter au test

Octet: L

pos:

test:

Fin:

1.3; //si bit 4 de la valeur = 1 (valeur_inc ngative)

0; //Dbut de la modification de l'adresse d'octet

#Valeur_inc1; //Si incrment >=0, alors

<I

SPB

pos; //sauter l'addition, sinon

#Pointeur1; //charger l'information d'adresse du pointeur,

#Valeur_inc1; //charger l'incrment,

NEGI

; //effectuer la ngation de la valeur ngative,

SLD

3; //dcaler l'incrment de 3 positions vers la gauche,

; //soustraire la valeur

SPA

test; //et sauter au test

SLD

3; //dcaler l'incrment de 3 positions vers la gauche

#Pointeur1; //charger l'information d'adresse du pointeur

+D

; //additionner l'incrment

#Valeur_int; //Transfrer les calculs de rsultat dans Valeur_int,

#RET_VAL; //ngative), alors mettre RET_VAL 1

SPB

Fin; //et sauter la fin,

#Valeur_int; //sinon transfrer le rsultat

#Pointeur; //dans le pointeur

NOP

0;

7.3; //Si adresse d'octet invalide (trop grande ou

END_FUNCTION

Programmer avec STEP 7 V5.1


A5E00069874-03

A-53

Annexe

A.3.4.5

Format du type de paramtre ANY


STEP 7 enregistre les donnes du type de paramtre ANY dans 10 octets. Lors de la
dfinition d'un paramtre de type ANY, vous devez veiller ce que les 10 octets soient tous
occups, car le bloc appel exploite le contenu entier du paramtre. Si, par exemple, vous
spcifiez un numro de DB dans l'octet 4, vous devez galement indiquer de manire
explicite la zone de mmoire dans l'octet 6.
STEP 7 gre les types de donnes simples et complexes diffremment que les types de
paramtre.

Format ANY pour les types de donnes


Pour les types de donnes simples et complexes, STEP 7 enregistre les donnes
suivantes :
types de donnes,
facteur de rptition,
numro de DB,
zone de mmoire dans laquelle les informations sont enregistres,
adresse de dbut des donnes.

Donnes de types de donnes simples et complexes


...8 7...
15...

Types de donnes

10h pour S7

Octet 0

...0
Octet 1

Facteur de rptition

Octet 2
Octet 4

Octet 3
Octet 5

Numro de DB (ou 0)

Octet 6

Zone de mmoire

Octet 8 b

Octet 7

Octet 9

b = adresse doctet

x = adresse de bit

Le facteur de rptition dsigne une quantit du type de donnes identifi qui est
transmettre par le type de paramtre ANY. Vous pouvez ainsi indiquer une zone de donnes
et galement utiliser des tableaux et structures en liaison avec le type de paramtre ANY.
STEP 7 caractrise les tableaux et structures comme nombre de types de donnes ( l'aide
du facteur de rptition). Pour transmettre 10 mots, par exemple, vous devez entrer la
valeur 10 pour le facteur de rptition et la valeur 04 pour le type de donnes.
L'adresse est enregistre dans le format octet.bit, l'adresse d'octet tant enregistre dans les
bits 0 2 de l'octet 7, dans les bits 0 7 de l'octet 8 et dans les bits 3 7 de l'octet 9.
L'adresse de bit est enregistre dans les bits 0 2 de l'octet 9.
Dans le cas du pointeur zro de type de donnes NIL, tous les octets ont la valeur 0 partir
de l'octet 1.

A-54

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Les tableaux suivants indiquent le codage des types de donnes ou des zones de mmoire
pour le type de paramtre ANY.
Codage des types de donnes
Code hexadcimal

Type de donnes

Description

b#16#00

NIL

Pointeur zro

b#16#01

BOOL

Bits

b#16#02

BYTE

Octets (8 bits)

b#16#03

CHAR

Caractres (8 bits)

b#16#04

WORD

Mots (16 bits)

b#16#05

INT

Entiers (16 bits)

b#16#06

DWORD

Mots (32 bits)

b#16#07

DINT

Entiers (32 bits)

b#16#08

REAL

Nombres virgule flottante (32 bits)

b#16#09

DATE

Date

b#16#0A

TIME_OF_DAY (TOD)

Heure

b#16#0B

TIME

Temporisation

b#16#0C

S5TIME

Type de donnes S5TIME

b#16#0E

DATE_AND_TIME (DT)

Date et heure (64 bits)

b#16#13

STRING

Chane de caractres

Codage des zones de mmoire


Code hexadcimal

Zone

Description

b#16#81

Zone de mmoire des entres

b#16#82

Zone de mmoire des sorties

b#16#83

Zone de mmoire des mmentos

b#16#84

DB

Bloc de donnes

b#16#85

DI

Bloc de donnes d'instance

b#16#86

Donnes locales (pile L)

b#16#87

Donnes locales prcdentes

Format ANY pour les types de paramtre


Pour les types de paramtre, STEP 7 enregistre le type de donnes et l'adresse des
paramtres. Le facteur de rptition est toujours gal 1. Les octets 4, 5 et 7 sont toujours
0. Les octets 8 et 9 indiquent le numro de la temporisation, du compteur ou du bloc.
Donnes de types de paramtre (temporisations, compteurs, blocs)
...0
15...
...8 7...
Octet 1

Facteur de rptition = 1

Octet 2
Octet 4
Octet 6

Type de donnes

10h pour S7

Octet 0

Octet 3
Octet 5

0
Type de donnes

Octet 8 Numro de la temporisation, du compteur ou du bloc

Programmer avec STEP 7 V5.1


A5E00069874-03

Octet 7
Octet 9

A-55

Annexe

Le tableau suivant indique le codage des types de donnes pour le type de paramtre ANY
avec les types de paramtre.
Code hexadcimal

A.3.4.6

Type de donnes

Description

b#16#17

BLOCK_FB

Numro du FB

b#16#18

BLOCK_FC

Numro de la FC
Numro du DB

b#16#19

BLOCK_DB

b#16#1A

BLOCK_SDB

b#16#1C

COUNTER

b#16#1D

TIMER

Numro du SDB
Numro du compteur
Numro de la temporisation

Utilisation du type de paramtre ANY


Vous pouvez dfinir, pour un bloc, des paramtres formels acceptant des paramtres
effectifs de n'importe quel type de donnes. Cela s'avre surtout utile lorsque le type de
donnes du paramtre effectif fourni lors de l'appel du bloc est inconnu ou peut varier (et
lorsque tout type de donnes est acceptable). Dans la dclaration des variables du bloc,
vous dclarez le paramtre comme type de donnes ANY. Vous pourrez ainsi lui affecter un
paramtre effectif d'un type de donnes quelconque dans STEP 7.
STEP 7 rserve 80 bits de mmoire une variable de type ANY. Lorsque vous affectez un
paramtre effectif un tel paramtre formel, STEP 7 code l'adresse de dpart, le type de
donnes et la longueur du paramtre effectif dans ces 80 bits. Le bloc appel analysera ces
80 bits de donnes sauvegardes pour le paramtre ANY afin d'obtenir les renseignements
ncessaires pour le traitement supplmentaire.

Transmission d'un paramtre effectif un paramtre ANY


En dclarant un paramtre formel de type de donnes ANY, vous pouvez lui affecter un
paramtre effectif de n'importe quel type de donnes. Vous pouvez indiquer des paramtres
effectifs de types de donnes suivants dans STEP 7 :
Types de donnes simples : vous indiquez l'adresse absolue ou le mnmonique du
paramtre effectif.
Types de donnes complexes : vous entrez le mnmonique correspondant (par exemple,
tableaux ou structures).
Temporisations, compteurs et blocs : vous prcisez leur numro (par exemple, T1, Z20
ou FB6).
La figure ci-aprs montre comment transmettre des donnes une fonction avec des
paramtres de type ANY.

A-56

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

avec DB10

FB10

Dclaration des variables


STAT

Regime

INT

CALL FC100
par_ent1 := # Regime
par_ent 2 := MW100
par_ent 3 := DB10.DBD40

FB11

avec DB20

FC100
Dclaration des variables
IN

par_ent1

ANY

IN

par_ent2

ANY

IN

par_ent3

ANY

Dclaration des variables


TEMP

Thermo

ARRAY [1..3]
REAL

FC100
#Thermo
M 1.3
T2

par_ent
par_ent
par_ent3

Dans cet exemple de FC100, il s'agit des trois paramtres: par_ent1, par_ent2 et par_ent3.
Lorsque le bloc fonctionnel FB10 appelle la fonction FC100, il transmet un nombre entier
(variable statique "Regime"), un mot (MW100) et un double mot du DB10 (DB10.DBD40).
Lorsque le bloc fonctionnel FB11 appelle cette mme fonction, il transmet un tableau de
nombres rels (variable temporaire "Thermo"), une valeur boolenne (M 1.3) et une
temporisation (T2).

Indication d'une zone de donnes pour un paramtre ANY


Vous pouvez non seulement affecter des oprandes individuels un paramtre ANY (par
exemple MW100), mais galement indiquer une zone de donnes. Vous devez utiliser,
cet effet, la notation de constante ci-aprs pour identifier le volume de donnes
transmettre :
p#

code-zone octet.bit

type-donnes

facteur-rptition

Vous pouvez indiquer, en notation de constante pour l'lment type-donnes, tous les types
de donnes simples ainsi que le type de donnes DATE_AND_TIME. Hormis pour le type de
donnes BOOL, il faut prciser l'adresse de bit 0 (x.0). Le tableau ci-aprs prsente des
exemples de notation constante pour indiquer les zones de mmoire transmettre un
paramtre ANY.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-57

Annexe

Paramtres effectifs

Description

p# M 50.0 BYTE 10

Correspond 10 octets dans la zone de mmoire


"Mmentos":
de MB50 MB59

p# DB10.DBX5.0 S5TIME 3 Correspond 3 units de donnes de type S5TIME


contenues dans le DB10 :
de DB octet 5 DB octet 10
p# A 10.0 BOOL 4

Correspond 4 bits dans la zone de mmoire "Sorties" :


de A 10.0 A 10.3

Exemple d'utilisation du type de paramtre ANY


L'exemple suivant montre comment vous pouvez copier une zone de mmoire de 10 octets
en utilisant le type de paramtre ANY et la fonction systme SFC 20 BLKMOV.
LIST
FUNCTION FC 10: VOID
VAR_TEMP
Source : ANY;
Destination
END_VAR
BEGIN
LAR1
P#Source;

Signification

L
T

B#16#10;
LB[AR1,P#0.0];

Charger l'ID de syntaxe et


la transfrer dans le pointeur ANY.

L
T

B#16#02;
LB[AR1,P#1.0];

Charger le type de donnes octet et


Transfrer dans le pointeur ANY.

L
T

10;
LW[AR1,P#2.0];

Charger 10 octets et
les transfrer dans le pointeur ANY.

L
T
L
T

22;
LW[AR1,P#4.0];
P#DBX11.0;
LD[AR1,P#6.0];

La source correspond au DB22, DBB11

LAR1

P#Destination;

Charger l'adresse de dbut du pointeur ANY dans AR1.

L
T

B#16#10;
LB[AR1,P#0.0];

Charger l'ID de syntaxe et


la transfrer dans le pointeur ANY.

L
T

B#16#02;
LB[AR1,P#1.0];

Charger le type de donnes octet et


Transfrer dans le pointeur ANY.

L
T

10;
LW[AR1,P#2.0];

Charger 10 octets et
les transfrer dans le pointeur ANY.

L
T
L
T

33;
LW[AR1,P#4.0];
P#DBX202.0;
LD[AR1,P#6.0];

La destination correspond au DB33, DBB202

CALL SFC 20 (
SRC BLK := Source,
RET_VAL := MW 12,
DSTBLK :=
Destination
);
END FUNCTION

A-58

Charger l'adresse de dbut du pointeur ANY dans AR1.

Appel de la fonction systme Block move


Exploitation du bit RB et du MW 12

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.3.4.7

Affectation de types de donnes aux donnes locales de blocs de


code
STEP 7 limite les types de donnes - simples, complexes et paramtres - pouvant tre
affects aux donnes locales d'un bloc dans la dclaration des variables.

Types autoriss pour les donnes locales d'un OB


Le tableau ci-prs prsente les restrictions valables pour les donnes locales des blocs
d'organisation OB. Un OB ne pouvant tre appel, il ne peut pas avoir de paramtres
(entre, sortie ou entre/sortie). Un OB n'ayant pas de DB d'instance, vous ne pouvez pas
dclarer de variables statiques. Les variables temporaires d'un OB peuvent tre de type de
donnes simple, complexe ou ANY.
Les affectations valides sont indiques par le symbole l.
Type de
dclaration

Types de Types de
Type de
Type de
Type de
Type de
Type de
donnes donnes
paramtre paramtre paramtre paramtre paramtre
simples complexes
TIMER

COUNTER BLOCK

POINTER

ANY

Entre

Sortie

Entre/sortie

Statique

l(1)

l(1)

l(1)

Temporaire

(1) Mmoris dans la pile L de l'OB

Types autoriss pour les donnes locales d'un FB


Le tableau ci-prs prsente les restrictions valables pour les donnes locales des blocs
fonctionnels FB. Les FB disposant d'un DB d'instance, ces restrictions sont moindres. S'il n'y
en a pas pour la dclaration de paramtres d'entre, vous ne pouvez toutefois dclarer
aucun type de paramtre pour les paramtres de sortie et seuls les types de paramtre
POINTER et ANY sont autoriss pour les paramtres d'entre/sortie. Vous pouvez dclarer
des variables temporaires de type ANY, tous les autres types de paramtre tant interdits.
Les affectations valides sont indiques par le symbole l.
Type de
Types de Types de
dclaration donnes donnes
simples
complexes

Entre
Sortie
Entre/sortie
Statique
Temporaire

l
l
l
l
l(2)

l
l

l(1)(3)
l
l(2)

Type de
Type de
Type de
Type de
paramtre paramtre paramtre paramtre

Type de
paramtre

TIMER

ANY

COUNTER BLOCK

POINTER

l(2)

(1) Mmoris dans le DB d'instance comme renvoi (pointeur 48 bits)


(2) Mmoris dans la pile L du FB
(3) Les types STRING peuvent tre dfinis seulement dans la longueur standard.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-59

Annexe

Types autoriss pour les donnes locales d'une FC


Le tableau ci-prs prsente les restrictions valables pour les donnes locales des fonctions
FC. Une FC n'ayant pas de DB d'instance, vous ne pouvez pas dclarer de variables
statiques. Les types de paramtre POINTER et ANY sont valables pour les paramtres
d'entre, de sortie et d'entre/sortie. Vous pouvez galement dclarer des variables
temporaires de type de paramtre ANY.
Les affectations valides sont indiques par le symbole l.
Type de
dclaration

Types de
donnes
simples

Types de
donnes
complexes

Type de
Type de
Type de
Type de
Type de
paramtre paramtre paramtre paramtre paramtre
TIMER

Entre
Sortie
Entre/sortie
Temporaire

l
l
l
l(1)

l(2)
l(2)
l(2)
l(1)

COUNTER BLOCK

POINTER ANY

l
l
l

l
l
l
l(1)

(1) Mmoris dans la pile L de la FC


(2) Les types STRING peuvent tre dfinis seulement dans la longueur standard.

A.3.4.8

Types de donnes autoriss pour la transmission de paramtres

Rgles pour la transmission de paramtres entre blocs


Lorsque vous affectez des paramtres effectifs des paramtres formels, vous pouvez
indiquer soit une adresse absolue, soit un mnmonique, soit une constante. Ces diffrents
types d'affectation ne sont pas autoriss pour tous les paramtres dans STEP 7. Il est, par
exemple, interdit d'affecter des valeurs constantes des paramtres de sortie ou
d'entre/sortie puisque de tels paramtres doivent, par dfinition, changer de valeur. Ces
restrictions concernent surtout les paramtres de type de donnes complexe auxquels on ne
peut affecter ni adresse absolue, ni constante.
Les tableaux ci-aprs rcapitulent les restrictions relatives aux types de donnes de
paramtres effectifs affects des paramtres formels.
Les affectations valides sont indiques par le symbole l.
Types de donnes simples
Type de
dclaration
Entre
Sortie
Entre/sortie

A-60

Adresse
absolue

Mnmonique
(dans table mnmo.)

Mnmonique
bloc loc.

Constante

l
l
l

l
l
l

l
l
l

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Types de donnes complexes


Type de
dclaration

Adresse
absolue

Entre

Sortie

Entre/sortie

Mnmonique de
l'lment du DB
(dans table mnmo.)

Mnmonique
bloc loc.

l
l
l

l
l
l

Constante

Types de donnes autoriss pour l'appel d'une FC par une autre FC


Vous pouvez affecter les paramtres formels d'une FC appelante aux paramtres formels de
la FC appele. La figure ci-aprs montre les paramtres formels de la FC10 qui sont affects
en tant que paramtres effectifs aux paramtres formels de la FC12.
Fonction (FC) ------- appelle --------- Fonction (FC)
FC10

FC12

Dclaration des variables

Dclaration des variables

Param_1

Entre

A_Param

Entre

Param_2

Sortie

B_Param

Sortie

Param_3

Entr./sortie

C_Param

Entr./sortie

Call FC12
A_Param := Param_1
B_Param := Param_2
C_Param := Param_3

STEP 7 impose toutefois des restrictions dans ce domaine. Ainsi, vous ne pouvez pas
affecter en tant que paramtres effectifs des paramtres de type de donnes complexe ou
de type de paramtre.
Le tableau ci-aprs montre les types de donnes autoriss (l) lorsqu'une fonction appelle
une autre fonction.
Type de dclaration

Types de Types de Type de


Type de
Type de
Type de
Type de
donnes donnes
paramtre paramtre paramtre paramtre paramtre
simples complexes
TIMER

COUNTER BLOCK

POINTER

ANY

Entre Entre

Entre Sortie

Entre Entre/sortie

Sortie Entre

Sortie Sortie

Sortie Entre/sortie

Entre/sortie Entre
Entre/sortie Sortie
Entre/sortie
Entre/sortie

Programmer avec STEP 7 V5.1


A5E00069874-03

l
l
l

A-61

Annexe

Types de donnes autoriss pour l'appel d'une FC par un FB


Vous pouvez affecter les paramtres formels d'un FB appelant aux paramtres formels de la
FC appele. La figure ci-aprs montre les paramtres formels du FB10 qui sont affects en
tant que paramtres effectifs aux paramtres formels de la FC12.
Bloc fonctionnel (FB) ------- appelle ------- Fonction (FC)
FB10

FC12

avec DB10

Dclaration des variables

Dclaration des variables

Param_1

Entre

A_Param

Entre

Param_2

Sortie

B_Param

Sortie

Param_3

Entr./sortie

C_Param

Entr./sortie

Call FC12
A_Param := Param_1
B_Param := Param_2
C_Param := Param_3

STEP 7 impose toutefois des restrictions dans ce domaine. Ainsi, vous ne pouvez pas
affecter en tant que paramtres effectifs des paramtres de type de paramtre. Le tableau
ci-aprs montre les types de donnes autoriss (l) lorsque qu'un bloc fonctionnel appelle
une fonction.
Type de
dclaration

Types de Types de
donnes donnes
simples complexes

Type de
Type de
Type de
Type de
Type de
paramtre paramtre paramtre paramtre paramtre

TIMER

COUNTER BLOCK

POINTER

ANY

Entre
Entre

Entre Sortie

Entre
Entre/sortie

Sortie Entre

Sortie Sortie

Sortie
Entre/sortie

Entre/sortie
Entre

Entre/sortie
Sortie

Entre/sortie
Entre/sortie

A-62

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Types de donnes autoriss pour l'appel d'un FB par une FC


Vous pouvez affecter les paramtres formels d'une FC appelante aux paramtres formels du
FB appel. La figure ci-aprs montre les paramtres formels de la FC10 qui sont affects en
tant que paramtres effectifs aux paramtres formels du FB12.
Fonction (FC) ---------- appelle ---------- Bloc fonctionnel (FB)
FC10

FB12

mit DB11

Dclaration des variables

Dclaration des variables

Param_1

Entre

A_Param

Entre

Param_2

Sortie

B_Param

Sortie

Param_3

Entr./sortie

C_Param

Entr./sortie

Call FB12,DB11
A_Param := Param_1
B_Param := Param_2
C_Param := Param_3

STEP 7 impose toutefois des restrictions dans ce domaine. Ainsi, vous ne pouvez pas
affecter en tant que paramtres effectifs des paramtres de type de donnes complexe,
Mais vous pouvez affecter des paramtres d'entre de type de paramtre TIMER,
COUNTER et BLOCK aux paramtres d'entre du FB appel.
Le tableau ci-aprs montre les types de donnes autoriss (l) lorsqu'une fonction appelle
un bloc fonctionnel.
Type de
dclaration

Types de Types de
Type de
Type de
Type de
Type de
Type de
donnes donnes
paramtre paramtre paramtre paramtre paramtre
simples complexes
TIMER

COUNTER BLOCK

POINTER

ANY

Entre
Entre

Entre Sortie

Entre
Entre/sortie

Sortie Entre

Sortie Sortie

Sortie
Entre/sortie

Entre/sortie
Entre

Entre/sortie
Sortie

Entre/sortie
Entre/sortie

Programmer avec STEP 7 V5.1


A5E00069874-03

A-63

Annexe

Types de donnes autoriss pour l'appel d'un FB par un autre FB


Vous pouvez affecter les paramtres formels d'un FB appelant aux paramtres formels du
FB appel. La figure ci-aprs montre les paramtres formels du FB10 qui sont affects en
tant que paramtres effectifs aux paramtres formels du FB12.
Bloc fonctionnel (FB) ------- appelle ----- Bloc fonctionnel (FB)
avec DB10

FB10

FB12

avec DB11

Dclaration des variables

Dclaration des variables

Param_1

Entre

A_Param

Entre

Param_2

Sortie

B_Param

Sortie

Param_3

Entr./sortie

C_Param

Entr./sortie

Call FB12,DB11
A_Param := Param_1
B_Param := Param_2
C_Param := Param_3

STEP 7 impose toutefois des restrictions dans ce domaine. Ainsi, vous ne pouvez pas
affecter, en tant que paramtres effectifs, des paramtres d'entre et de sortie de type de
donnes complexe aux paramtres d'entre et de sortie du FB appel. Mais vous pouvez
affecter des paramtres d'entre de type de paramtre TIMER, COUNTER et BLOCK aux
paramtres d'entre du FB appel.
Le tableau ci-aprs montre les types de donnes autoriss (l) lorsqu'un bloc fonctionnel
appelle un autre bloc fonctionnel.
Type de
dclaration

Types de Types de
Type de
Type de
Type de
Type de
Type de
donnes donnes
paramtre paramtre paramtre paramtre paramtre
simples complexes
TIMER

COUNTER BLOCK

POINTER

ANY

Entre
Entre

Entre Sortie

Entre
Entre/sortie

Sortie Entre

Sortie Sortie

Sortie
Entre/sortie

Entre/sortie
Entre

Entre/sortie
Sortie

Entre/sortie
Entre/sortie

A-64

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.3.4.9

Transmission au paramtre IN_OUT d'un FB


Pour la transmission de types de donnes complexes au paramtre IN_OUT d'un bloc
fonctionnel (FB), c'est l'adresse d'oprande de la variable qui est transmise (call by
reference).
Pour la transmission de types de donnes simples au paramtre IN_OUT d'un FB, les
valeurs sont copies dans le bloc de donnes d'instance avant l'excution du FB et extraites
du bloc de donnes d'instance lorsque l'excution du FB est termine.
Ainsi, les variables IN_OUT de type de donnes simple peuvent tre initialises avec une
valeur.
Dans un appel, il n'est toutefois pas possible d'indiquer une constante comme paramtre
effectif la place d'une variable IN_OUT, car une constante ne peut tre crase.
Les variables de type de donnes STRUCT ou ARRAY ne peuvent pas tre initialises, car
dans ce cas le bloc de donnes d'instance ne contient qu'une seule adresse.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-65

Annexe

A.4
A.4.1

Utilisation danciens projets


Conversion dun ancien projet de version 1
Vous avez la possibilit de rutiliser des projets que vous avez crs avec la version 1 de
STEP 7. Vous convertissez cet effet des projets de version 1 en projets de version 2.
Les composants suivants d'un ancien projet de version 1 sont conserves :
la structure du projet avec les programmes,
les blocs,
les fichiers source LIST,
la table des mnmoniques.
La configuration matrielle n'est pas convertie. Vous pouvez copier les lments de
programmes dans d'autres projets. Vous pouvez galement complter le nouveau projet
avec une station, que vous devez configurer et paramtrer en consquence.
Aprs avoir converti un projet dans la version 2, vous pouvez indiquer dans une bote de
dialogue si vous souhaitez ensuite le convertir dans la version actuelle de STEP 7.

Nota
Les proprits d'un bloc demeurent celles d'un bloc de version 1. Le code gnr dans la
version 1 n'est pas modifi et les blocs ne peuvent donc pas tre utiliss avec des multiinstances.
Si vous souhaitez dclarer des multi-instances dans des blocs convertis, vous devez
d'abord gnrer des sources LIST partir de ces blocs, en utilisant l'application
"CONT/LIST : programmation de blocs". Vous pourrez ensuite nouveau compiler ces
sources en blocs.
La programmation de multi-instances est une nouveaut pour crer des blocs fonctionnels
(FB) dans la version 2 de STEP 7. Si vous souhaitez que les blocs fonctionnels crs
dans la version 1 conservent la mme fonction dans la version 2 du projet, il n'est pas
ncessaire de les convertir.

A-66

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Marche suivre
Pour convertir des projets de la version 1, procdez de la manire suivante :
1. Choisissez la commande Fichier > Ouvrir un ancien projet de version 1.
2. Dans la bote de dialogue qui s'ouvre, slectionnez le projet de version 1 que vous
souhaitez rutiliser. Un projet de version 1 est caractris par son extension de fichier
*.s7a.
3. Tapez le nom du nouveau projet dans lequel vous souhaitez convertir l'ancien projet de
version 1.

A.4.2

Conversion dun ancien projet de version 2


La commande Fichier > Ouvrir de STEP 7 vous permet galement d'ouvrir des projets de
version 2.
Vous pouvez convertir des projets/bibliothques de version 2 dans la version actuelle de
STEP 7 (migration) en choisissant la commande Fichier > Enregistrer sous et en
slectionnant le paramtre "avec rorganisation". Le projet est alors enregistr comme projet
de version actuelle de STEP 7.
Pour diter et enregistrer des projets et bibliothques d'anciennes versions de STEP 7 tout
en conservant leur format, slectionnez le type de fichier de l'ancienne version de STEP 7
dans la bote de dialogue "Enregistrer le projet sous". Pour diter les objets avec la version
2.1 de STEP 7, slectionnez ici le projet 2.x ou la bibliothque 2.x ( partir de la version 5.1,
il n'est plus possible d'enregistrer sous forme de version 2, voir aussi Edition de projet et de
bibliothques de version 2).

Dsignations du type de fichier


STEP 7 V3

partir de STEP 7 V4

Type de fichier de la version Projet3.x


actuelle
Bibliothque3.x

Projet

Type de fichier de la version Projet2.x


prcdente
Bibliothque2.x

Projet2.x

Bibliothque
Bibliothque2.x

Dans ce cas, vous ne disposez cependant que des fonctions de lancienne version. Les
projets et bibliothques pourront toujours tre dits avec cette ancienne version de
STEP 7.

Nota
Dans la conversion de la version 3 la version 4, seule la dsignation a t modifie, le
format tant rest identique. C'est la raison pour laquelle il n'existe pas de type de fichier
Projet3.x dans STEP 7 V4.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-67

Annexe

Marche suivre
Pour convertir des projets de version 2 dans le format de la version actuelle de STEP 7,
procdez de la manire suivante :
1. Excutez la fonction "Enregistrer sous (menu Fichier) avec rorganisation.
2. Slectionnez le type de fichier "Projet" dans la bote de dialogue "Enregistrer le projet
sous" et cliquez sur le bouton "Enregistrer".
Pour convertir des projets de version 2, tout en conservant leur format, dans la version
actuelle de STEP 7, procdez de la manire suivante :
1. Le cas chant, procdez l'tape 1, comme dcrit ci-avant.
2. Dans la bote de dialogue "Enregistrer le projet sous", slectionnez le type de fichier
correspondant l'ancienne version de STEP 7 et cliquez sur le bouton "Enregistrer".

A.4.3

Remarque sur les projets STEP 7 de version V2.1 avec communication


par donnes globales
Lorsque vous souhaitez convertir un projet avec communication par donnes globales de
STEP 7 V2.1 dans STEP 7 V5, vous devez pralablement ouvrir la table des donnes
globales depuis STEP 7 V5.0 dans le projet STEP 7 V2.1. Les donnes de
communication dj configures seront ainsi automatiquement converties dans la
nouvelle structure par la communication par donnes globales.
Lors de l'archivage de projets STEP 7 V2.1, vous pouvez obtenir un message d'erreur
mis par un ancien programme de compression (ARJ, PKZIP...), si le projet contient des
fichiers dont le nom comporte plus de huit caractres. Ce message s'affiche galement
lorsque le rseau MPI a t dit avec une dsignation suprieure 8 caractres dans le
projet STEP 7 V2.1. Avant de dbuter pour la premire fois la configuration de la
communication par donnes globales, ditez un nom de 8 caractres au maximum pour
le rseau MPI dans les projets STEP 7 V2.1 avec donnes globales.
Si vous souhaitez renommer un projet STEP 7 V2.1, vous devez raffecter les titres des
colonnes (CPU) dans la table des donnes globales en slectionnant une nouvelle fois la
CPU correspondante. Si vous restaurez l'ancien nom de projet, vous obtiendrez les
affectations correspondantes.

A-68

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.4.4

Extension d'esclaves DP crs avec des versions antrieures de


STEP 7

Constellations pouvant rsulter de l'addition de nouveaux fichiers GSD


Il est possible dajouter de nouveaux esclaves DP au catalogue du matriel de HW Config
en installant de nouveaux fichiers GSD. Une fois l'installation effectue, ils sont disponibles
dans le dossier "Autres appareils de terrain".
Vous ne pouvez plus modifier ou tendre comme d'habitude la configuration d'un esclave
DP modulaire avec STEP 7, Servicepack 3, lorsque
il a t configur avec une version antrieure de STEP 7 et que
il n'a pas t reprsent dans le catalogue du matriel par un fichier GSD, mais par un
fichier de type et que
un nouveau fichier GSD a cras l'ancienne installation.

Solution
Si vous voulez utiliser l'esclave DP avec de nouveaux modules qui sont dcrits dans le
fichier GSD :
Effacez l'esclave DP et configurez-le de nouveau il ne sera plus dcrit alors par le
fichier de type, mais entirement par le fichier GSD.
Si vous comptez utiliser l'esclave DP sans les nouveaux modules qui ne sont dcrits que
dans le fichier GSD :
Slectionnez le dossier "Autres appareils de terrain/Esclaves DP PROFIBUS
compatibles" sous PROFIBUS DP dans la fentre "Catalogue du matriel". C'est l que
STEP 7 range les "anciens" fichiers de type lorsqu'ils sont remplacs par de nouveaux
fichiers GSD. Vous y trouverez les modules permettant l'extension de l'esclave DP dj
configur.

A.4.5

Esclaves DP avec fichiers GSD manquants ou errons


Lorsque vous utilisez danciennes configurations de stations dans la version 5.1 de STEP 7,
il peut arriver, dans de rares cas, que le fichier GSD dun esclave DP manque ou ne peut
pas tre compil (p. ex. en raison d'erreurs de syntaxe dans le fichier GSD).
Dans ce cas, STEP 7 cre un esclave "Dummy" qui reprsente l'esclave configur, par
exemple aprs un chargement de station dans la PG ou aprs ouverture et dition d'un
ancien projet. Vous ne pouvez diter cet esclave "Dummy" qu'avec de fortes restrictions ;
vous ne pouvez modifier ni sa configuration (identification DP), ni ses paramtres. Un
nouveau chargement dans la station est cependant possible, la configuration initiale de
l'esclave restant conserve. Vous ne pouvez pas non plus effacer l'esclave DP complet.

Reconfiguration et reparamtrage de l'esclave DP


Si vous souhaitez reconfigurer ou reparamtrer l'esclave DP, vous devez demander un
fichier GSD actuel auprs du fabricant de cet esclave DP, puis l'installer via la commande
Outils > Installer nouvelle GSD.
Lorsque le fichier GSD correct est install, il permet de reprsenter l'esclave DP. Celui-ci
conserve ses donnes et peut nouveau tre utilis.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-69

Annexe

A.5
A.5.1

Exemples de programmes
Exemples de projets et de programmes
Le CD dinstallation contient de nombreux exemples de projets. Les descriptions de projets
qui ne sont pas donnes dans le prsent chapitre figurent dans l'OB1 correspondant.
Exemples et exemples de projets

Contenus Dcrits dans Description


dans le
le prsent
all/engl.
CD
chapitre
dans l'OB1

Projet "ZFr01_08_STEP7_Mixeur" (processus


de mlange industriel)

Projets "ZFr01_01_STEP7_*"
"ZFr01_06_STEP7_*"(Projet exemples Getting
Started)

Projet "ZFr01_09_STEP7_Feux" (commande


de feux un passage pour pitons)

Projet "ZFr01_10_STEP7_COM_SFB"
(change de donnes entre deux CPU S7-400)

Projets "ZFr01_11_STEP7_COM_SFC1" et
"ZFr01_12_STEP7_COM_SFC2" (change de
donnes par SFC de communication pour des
liaisons non configures)

Manuel
distinct

Exemple d'utilisation d'alarmes horaires

Exemple d'utilisation d'alarmes temporises

Exemple de masquage et de dmasquage


d'vnements d'erreurs synchrones
Exemple d'inhibition et de validation
d'vnements d'alarme et d'vnements
asynchrones

Exemple de traitement diffr d'vnements


d'alarme et d'vnements asynchrones

Dans les exemples, il ne sagit pas tant de montrer un style de programmation ou une
comptence technique dans la commande d'un processus particulier, mais bien plutt de
raliser quelles tapes doivent tre excutes lors de la conception du programme.

Suppression et installation dexemples de projets fournis


Dans SIMATIC Manager, vous pouvez supprimer, puis nouveau rinstaller les exemples
de projets fournis. Pour l'installation, vous dmarrez le programme Setup de STEP 7 V5.0.
Vous pouvez slectionner les exemples de projets rinstaller.

Nota
Lors dune installation de STEP 7, les exemples de projets fournis sont copis, moins
qu'ils soient dslectionns. Si vous avez modifi des exemples de projets fournis, ils
seront remplacs par les originaux lors d'une nouvelle installation de STEP 7.
C'est la raison pour laquelle, il est recommand de copier les exemples de projets fournis
avant de les modifier et d'diter uniquement la copie.

A-70

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.5.2

Exemple de programme pour un processus de mlange industriel


Notre exemple de programme se base sur les informations de la premire partie du manuel
relatives la commande d'un processus de mlange industriel.

Problme pos
Deux substances (A et B) doivent tre mlanges par un moteur mlangeur dans un
rservoir. Cette masse doit ensuite s'couler du rservoir par une soupape de vidange.
La figure ci-aprs montre un diagramme de notre exemple de processus.

Zone : Substance A
M

Soupape
damission

Zone : Rservoir
mlangeur

Pompe
dalimentation

Soupape
dalimentation

Capteur
de dbit

Moteur mlangeur
M
Commutateurs
de niveau du
rservoir

Zone : Substance B
M

Soupape
Pompe
damission dalimentation

Soupape
dalimentation

Zone : Vidange
M
Soupape de vidange

Description des processus partiels


Nous vous avons expliqu dans la premire partie du manuel, comment subdiviser l'exemple
de processus en zones fonctionnelles et en diffrentes tches. Voici la description des
diffrentes zones.

Zones pour substances A et B


Les conduites d'amene des substances doivent comporter une soupape d'admission,
une soupage d'alimentation ainsi qu'une pompe d'alimentation.
Dans ces conduites se trouvent des capteurs de dbit.
La mise en marche des pompes d'alimentation doit tre inhibe lorsque le capteur de
niveau indique "Rservoir plein".
La mise en marche des pompes d'alimentation doit tre inhibe lorsque la soupape de
vidange est ouverte.
Les soupapes d'admission et d'alimentation doivent tre ouvertes au plus tt 1 seconde
aprs le dclenchement de la pompe d'alimentation.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-71

Annexe

Les soupapes doivent tre fermes immdiatement aprs l'arrt des pompes
d'alimentation (signal du capteur de dbit) afin d'viter un coulement de la substance en
provenance de la pompe.
Le dclenchement des pompes est surveill par une temporisation : le capteur de dbit
doit signaler un dbit 7 secondes au maximum aprs ce dclenchement.
Les pompes d'alimentation doivent tre arrtes le plus rapidement possible lorsque les
capteurs de dbit ne signalent plus de dbit pendant le fonctionnement des pompes.
Le nombre de dmarrages des pompes d'alimentation doit tre comptabilis (priode de
maintenance).

Zone Rservoir de mlange


Le dclenchement du moteur mlangeur doit tre verrouill lorsque le capteur de niveau
indique "Rservoir en dessous du minimum" ou lorsque la soupape de vidange est
ouverte.
Le moteur mlangeur met un signal en retour une fois le rgime nominal atteint. S'il
n'met pas ce signal 10 secondes au maximum aprs l'activation du moteur, il faut
l'arrter.
Le nombre de dmarrages du moteur mlangeur doit tre comptabilis (priode de
maintenance).
Le rservoir de mlange doit comporter trois capteurs :
-

Rservoir plein : contact ouverture. Lorsque le niveau maximal est atteint, le contact
est ouvert.

Niveau dans le rservoir en dessous du minimum : contact fermeture. Lorsque le


niveau minimal est atteint, le contact est ferm.

Rservoir pas vide : contact fermeture. Le contact est ferm si le rservoir n'est pas
vide.

Zone Vidange
La vidange doit tre commande par soupape magntique.
La soupape magntique est commande par l'oprateur, mais doit tre referme au plus
tard lors du signal "Rservoir vide".
L'ouverture de la soupape de vidange est verrouille
-

lorsque le moteur mlangeur fonctionne ;

lorsque le rservoir est vide.

Poste d'opration
Il faut galement installer un poste d'opration pour que l'oprateur puisse dmarrer et
arrter ainsi que surveiller le processus. Ce poste d'opration comporte :
des commutateurs pour commander les vnements les plus importants Le bouton
"Mettre 0 indicateur de maintenance" permet d'teindre les lampes de signalisation de
maintenance pour les moteurs ayant besoin d'une maintenance et de mettre zro les
valeurs correspondantes des compteurs pour l'intervalle entre les maintenances ;
des lampes de signalisation indiquant l'tat de fonctionnement,
le commutateur d'arrt d'urgence.

A-72

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.5.2.1

Dfinition de blocs de code


Vous dfinissez la structure de votre programme utilisateur en le rpartissant dans diffrents
blocs et en fixant la hirarchie d'appel de ces blocs.

Hirarchie d'appel des blocs


La figure ci-aprs prsente la hirarchie des blocs devant tre appels dans le programme
structur.

DB distance 1

OB1
Pompe
dalimentation
Substance A

Substance
A

FB1
DB distance 2

Pompe
dalimentation
Substance B

Moteur

Substance
B

DB distance 3
Moteur
mlangeur

Soupapes
damission
A et B
Soupapes
dalimentation
A et B

Moteur
mlangeur

FC1
Soupapes

Soupape de
vidange

OB1 : il s'agit de l'interface avec le systme d'exploitation de la CPU ; il contient le


programme principal. Le bloc fonctionnel FB1 et la fonction FC1 sont appels et les
paramtres spcifiques ncessaires pour la commande du processus sont transmis dans
l'OB1.
FB1 : la pompe d'alimentation pour la substance A, la pompe d'alimentation pour la
substance B et le moteur mlangeur peuvent tre commands par un mme bloc
fonctionnel, puisque les tches sont identiques (activation, dsactivation, comptage des
interventions, etc.).
DB d'instance 1-3 : les paramtres effectifs et les donnes statiques pour la commande
des pompes d'alimentation pour les substances A et B ainsi que pour celle du moteur
mlangeur sont diffrents et sont donc inscrits dans trois DB d'instance affects au FB1.
FC1 : les soupapes d'admission et d'alimentation pour les substances A et B ainsi que la
soupape de vidange utilisent galement un bloc de code commun. Puisqu'il s'agit
uniquement de programmer la fonction d'ouverture et de fermeture, une seule fonction
suffit.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-73

Annexe

A.5.2.2

Affectation de mnmoniques

Dfinition de mnmoniques
Notre exemple de programme utilise des mnmoniques (ou noms symboliques) dfinis dans
la table des mnmoniques avec STEP 7. Les tableaux ci-aprs prsentent les
mnmoniques et les adresses absolues correspondantes pour les lments du programme
utiliss.
Mnmoniques pour les pompes d'alimentation et le moteur mlangeur

A-74

Mnmonique

Oprande Type de
donnes

Description

Feed_pump_A_start

E 0.0

BOOL

Commutateur bouton-poussoir de
dmarrage de la pompe d'alimentation
pour substance A

Feed_pump_A_stop

E 0.1

BOOL

Commutateur bouton-poussoir d'arrt


de la pompe d'alimentation pour
substance A

Flow_A

E 0.2

BOOL

La substance A coule.

Inlet_valve_A

A 4.0

BOOL

Commande de la soupape d'admission


pour substance A

Feed_valve_A

A 4.1

BOOL

Commande de la soupape
d'alimentation pour substance A

Feed_pump_A_on

A 4.2

BOOL

Lampe de signalisation "Pompe


d'alimentation pour substance A en
marche"

Feed_pump_A_off

A 4.3

BOOL

Lampe de signalisation "Pompe


d'alimentation pour substance A
arrte"

Feed_pump_A

A 4.4

BOOL

Commande de la pompe d'alimentation


pour substance A

Feed_pump_A_fault

A 4.5

BOOL

Lampe de signalisation "Erreur de la


pompe d'alimentation A"

Feed_pump_A_maint

A 4.6

BOOL

Lampe de signalisation "Maintenance


de la pompe d'alimentation A"

Feed_pump_B_start

E 0.3

BOOL

Commutateur bouton-poussoir de
dmarrage de la pompe d'alimentation
pour substance B

Feed_pump_B_stop

E 0.4

BOOL

Commutateur bouton-poussoir d'arrt


de la pompe d'alimentation pour
substance B

Flow_B

E 0.5

BOOL

La substance B coule.

Inlet_valve_B

A 5.0

BOOL

Commande de la soupape d'admission


pour substance B

Feed_valve_B

A 5.1

BOOL

Commande de la soupape
d'alimentation pour substance B

Feed_pump_B_on

A 5.2

BOOL

Lampe de signalisation "Pompe


d'alimentation pour substance B en
marche"

Feed_pump_B_off

A 5.3

BOOL

Lampe de signalisation "Pompe


d'alimentation pour substance B
arrte"

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Mnmoniques pour les pompes d'alimentation et le moteur mlangeur


Feed_pump_B

A 5.4

BOOL

Commande de la pompe dalimentation


pour substance B

Feed_pump_B_fault

A 5.5

BOOL

Lampe de signalisation "Erreur de la


pompe dalimentation B"

Feed_pump_B_maint

A 5.6

BOOL

Lampe de signalisation "Maintenance


de la pompe dalimentation B"

Agitator_running

E 1.0

BOOL

Signal en retour du moteur mlangeur

Agitator_start

E 1.1

BOOL

Commutateur bouton-poussoir de
dmarrage du moteur mlangeur

Agitator_stop

E 1.2

BOOL

Commutateur bouton-poussoir d'arrt


du moteur mlangeur

Agitator

A 8.0

BOOL

Commande du moteur mlangeur

Agitator_on

A 8.1

BOOL

Lampe de signalisation "Moteur


mlangeur en marche"

Agitator_off

A 8.2

BOOL

Lampe de signalisation "Moteur


mlangeur arrt"

Agitator_fault

A 8.3

BOOL

Lampe de signalisation "Erreur du


moteur mlangeur"

Agitator_maint

A 8.4

BOOL

Lampe de signalisation "Maintenance


du moteur mlangeur"

Mnmoniques pour les capteurs et les indicateurs de niveau du rservoir


Mnmonique

Oprande Type de
donnes

Description

Tank_below_max

E 1.3

BOOL

Capteur "Rservoir de mlange pas


plein"

Tank_above_min

E 1.4

BOOL

Capteur "Rservoir de mlange


au-dessus du minimum"

Tank_not_empty

E 1.5

BOOL

Capteur "Rservoir de mlange pas


videvide"

Tank_max_disp

A 9.0

BOOL

Lampe de signalisation "Rservoir de


mlange plein"

Tank_min_disp

A 9.1

BOOL

Lampe de signalisation "Rservoir en


dessous du minimum"

Tank_empty_disp

A 9.2

BOOL

Lampe de signalisation "Rservoir de


mlange vide"

Mnmoniques pour la soupape de vidange


Mnmonique

Oprande Type de
donnes

Description

Drain_open

E 0.6

BOOL

Commutateur bouton-poussoir
d'ouverture de la soupape de vidange

Drain_closed

E 0.7

BOOL

Commutateur bouton-poussoir de
fermeture de la soupape de vidange

Drain

A 9.5

BOOL

Commande de la soupape de vidange

Drain_open_disp

A 9.6

BOOL

Lampe de signalisation "Soupape de


vidange ouverte"

Drain_closed_disp

A 9.7

BOOL

Lampe de signalisation "Soupape de


vidange ferme"

Programmer avec STEP 7 V5.1


A5E00069874-03

A-75

Annexe

Mnmoniques pour les autres lments du programme


Mnmonique

A.5.2.3

Oprande Type de
donnes

Description

EMER_STOP_off

E 1.6

BOOL

Commutateur d'arrt d'urgence

Reset_maint

E 1.7

BOOL

Bouton-poussoir de remise zro pour


les lampes de signalisation de
maintenance de tous les moteurs

Motor_block

FB1

FB1

FB pour commander pompes et


moteur

Valve_block

FC1

FC1

FC pour commander les soupapes

DB_feed_pump_A

DB1

FB1

DB d'instance pour la commande de la


pompe d'alimentation A

DB_feed_pump_B

DB2

FB1

DB d'instance pour la commande de la


pompe d'alimentation B

DB_agitator

DB3

FB1

DB d'instance pour la commande du


moteur mlangeur

Cration du bloc fonctionnel pour le moteur

Tches pour le FB
Le FB pour le moteur contient les fonctions logiques ci-aprs :
Il existe une entre de dmarrage et une entre d'arrt.
Une srie de verrouillages permet le fonctionnement de l'quipement (pompes et moteur
mlangeur). L'tat des verrouillages est sauvegard dans les donnes locales
temporaires (pile L) de l'OB1 ("Enable_Motor") et est combin aux entres de dmarrage
et d'arrt lors de l'excution du FB pour le moteur.
Un signal en retour de l'quipement doit apparatre avant l'expiration d'un temps donn.
Sinon, le programme considre qu'une erreur s'est produite et le moteur sera arrt.
Il faut dfinir la temporisation et la valeur de temps pour le cycle signal en retour/erreur.
Si le bouton de dmarrage est actionn et que la validation soit donne, l'appareil
dmarre et fonctionne jusqu' ce que le bouton d'arrt soit actionn.
Une temporisation est dclenche la mise en marche de l'appareil. L'appareil s'arrte
s'il n'met pas de signal en retour avant que cette temporisation n'expire.

A-76

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Identification des entres et sorties


La figure ci-aprs montre les entres et les sorties du FB gnrique pour le moteur.

Start

Fault

Stop

Start_Dsp

Response

Stop_Dsp
Maint

Reset_Maint
Timer_No

Moteur

Response_Time

Motor

Dfinition des paramtres pour le FB


Vous devez dfinir des noms de paramtres gnriques pour les entres et les sorties afin
de crer un FB "Moteur" rutilisable, permettant de commander les deux pompes et le
moteur mlangeur.
Dans l'exemple du processus, le FB pour le moteur doit remplir les conditions ci-aprs :
Des signaux provenant du poste d'opration sont ncessaires pour le dmarrage ou
l'arrt du moteur ou des pompes.
Un signal en retour provenant des pompes ou du moteur doit indiquer que le moteur est
en marche.
Il faut calculer le temps entre l'mission du signal de mise en marche du moteur et la
rception du signal en retour. En l'absence de signal en retour l'expiration de ce temps,
le moteur doit tre arrt.
Les lampes respectives sur le poste d'opration doivent s'allumer et s'teindre.
Le FB fournit un signal pour la commande du moteur.
Ces conditions peuvent tre dfinies comme entres et sorties du bloc fonctionnel.
Le tableau ci-aprs prsente les paramtres du FB pour le moteur.
Nom du paramtre

Entre

START

Stop

Response

Reset_Maint

Timer_No

Response_Time

Sortie

Fault

Start_Dsp

Stop_Dsp

Maint

Motor
Programmer avec STEP 7 V5.1
A5E00069874-03

Entre/sortie

A-77

Annexe

Dclaration des variables du FB pour le moteur


Vous devez dclarer les paramtres d'entre, de sortie et d'entre/sortie du FB pour le
moteur.
Oprande Dclaration Nom

Type

Valeur initiale

0.0

IN

Demarrage

BOOL

FALSE

0.1

IN

Stop

BOOL

FALSE

0.2

IN

Response

BOOL

FALSE

0.3

IN

Reset_Maint

BOOL

FALSE

2.0

IN

Time_No

TIMER

4.0

IN

Response_Time

S5TIME

S5T#0MS

6.0

OUT

Fault

BOOL

FALSE

6.1

OUT

Start_Dsp

BOOL

FALSE

6.2

OUT

Stop_Dsp

BOOL

FALSE

6.3

OUT

Maint

BOOL

FALSE

8.0

IN_OUT

Motor

BOOL

FALSE

10.0

STAT

Time_bin

WORD

W#16#0

12.0

STAT

Time_BCD

WORD

W#16#0

14.0

STAT

Starts

INT

16.0

STAT

Start_Edge

BOOL

FALSE

Pour les FB, les variables d'entre, de sortie, d'entre/sortie et statiques sont contenues
dans le DB d'instance indiqu dans l'opration d'appel. Quant aux variables temporaires,
elles se trouvent dans la pile L.

Programmation du FB pour le moteur


Dans STEP 7, il faut crer les blocs appels par d'autres blocs avant les blocs contenant
l'appel. Vous devez donc, dans notre exemple de programme, crire le FB pour le moteur
avant l'OB1.
La section des instructions du FB1 se prsente comme suit en langage de programmation
LIST.
Rseau 1

Dmarrage/arrt et maintien

U(
O #Start
O #Motor
)
UN#Stop
= #Motor

A-78

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Rseau 2

Surveillance de la mise en route

U #Motor
L #Response_Time
SE #Timer_No
UN#Motor
R #Timer_No
L #Timer_No
T #Timer_bin
LC #Timer_No
T #Timer_BCD
U #Timer_No
UN#Response
S #Fault
R #Motor
Rseau 3

Lampe de dmarrage et remise zro erreurs

U #Response
= #Start_Dsp
R #Fault
Rseau 4

Lampe d'arrt

UN#Response
= #Stop_Dsp
Rseau 5

Comptage des dmarrages

U #Motor
FP #Start_Edge
SPBN
lab1
L #Starts
+ 1
T #Starts
lab1: NOP 0
Rseau 6

Lampe de signalisation de maintenance

L #Starts
L 50
>=I
= #Maint
Rseau 7

Remise zro du compteur du nombre de dmarrages

U #Reset_Maint
U #Maint
SPBN
END
L 0
T #Starts
END: NOP 0

Cration des blocs de donnes d'instance


Crez trois blocs de donnes et ouvrez-les les uns aprs les autres. Dans la bote de
dialogue "Nouveau bloc de donnes", activez la case d'option "Bloc de donnes associ
un bloc fonctionnel". Slectionnez "FB1" dans la zone de liste "Affectation". Vous venez ainsi
de dfinir les blocs de donnes comme blocs de donnes d'instance avec affectation fixe au
FB1.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-79

Annexe

A.5.2.4

Cration de la fonction pour les soupapes

Tches de la FC
La fonction pour les soupapes dadmission et dalimentation ainsi que pour la soupape de
vidange contient les fonctions logiques ci-aprs.
Il existe une entre d'ouverture et une entre de fermeture des soupapes.
Une srie de verrouillages permet l'ouverture des soupapes. L'tat des verrouillages est
sauvegard dans les donnes locales temporaires (pile L) de l'OB1 ("Enable_Valve") et
est combin aux entres d'ouverture et de fermeture lors de l'excution de la FC pour les
soupapes.
Le tableau ci-aprs prsente les paramtres transmettre la fonction.
Paramtres pour les soupapes

Entre

Open
Close
Dsp_Open
Dsp_Closed

Sortie

Entre/sortie

Valve

Identification des entres et sorties


La figure ci-aprs montre les entres et les sorties de la FC gnrique pour les soupapes.
Les appareils appelant le FB pour le moteur transmettent les paramtres d'entre et la FC
pour les soupapes renvoie les paramtres de sortie.

Open
Close

Dsp_Open
Soupape

Dsp_Closed

Valve

A-80

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Dclaration des variables de la FC pour les soupapes


Vous devez dclarer les paramtres d'entre, de sortie et d'entre/sortie pour la fonction
commandant les soupapes comme vous l'avez fait pour le FB "Moteur" (voir la table de
dclaration des variables ci-aprs).
Oprande Dclaration Nom

Type

Valeur initiale

0.0

IN

Open

BOOL

FALSE

0.1

IN

Close

BOOL

FALSE

2.0

OUT

Dsp_Open

BOOL

FALSE

2.1

OUT

Dsp_Closed

BOOL

FALSE

4.0

IN_OUT

Valve

BOOL

FALSE

Pour les FC, les variables temporaires sont sauvegardes dans la pile L. Les variables
d'entre, de sortie et d'entre/sortie prennent la forme de pointeurs dsignant le bloc de
code ayant appel la FC. Un espace mmoire supplmentaire est utilis pour ces variables
dans la pile L (aprs les variables temporaires).

Programmation de la FC pour les soupapes


Vous devez galement crire la fonction FC1 pour les soupapes avant l'OB1, car il faut crer
le bloc appel avant le bloc appelant.
La section des instructions de la FC1 se prsente comme suit en langage de programmation
LIST.
Rseau 1

Ouverture/fermeture et maintien

U(
O #Open
O #Valve
)
UN#Close
= #Valve
Rseau 2

, si soupape ouverte

U #Valve
= #Dsp_Open
Rseau 3

Signalisation, si soupape ferme

UN#Valve
= #Dsp_Closed

Programmer avec STEP 7 V5.1


A5E00069874-03

A-81

Annexe

A.5.2.5

Cration de l'OB1
L'OB1 dtermine la structure de l'exemple de programme. Il contient, en outre, les
paramtres transmis aux diffrents blocs fonctionnels et fonctions. Ainsi :
Les rseaux LIST pour les pompes d'alimentation et le moteur mlangeur fournissent au
FB pour le moteur les paramtres d'entre pour le dmarrage ("Start"), l'arrt ("Stop"),
pour le signal en retour ("Response") et pour la remise zro de l'indicateur de
maintenance ("Reset_Maint"). Le FB pour le moteur s'excute chaque cycle de
l'automate.
Lorsque le FB pour le moteur s'excute, les entres "Timer_No" et "Response_Time"
dterminent la temporisation utiliser et la dure pendant laquelle un signal en retour
doit tre mis.
La fonction pour les soupapes et le FB "Moteur" s'excutent chaque cycle de
programme de l'automate, car ils sont appels dans l'OB1.
Le programme utilise le FB "Moteur" avec diffrents DB d'instance afin d'accomplir les
tches requises pour la commande des pompes d'alimentation et du moteur mlangeur.

Dclaration de variables pour l'OB1


La table de dclaration des variables pour l'OB1 est reprsente ci-aprs. Il ne faut pas
modifier les vingt premiers octets qui contiennent les informations de dclenchement de
l'OB1.

A-82

Oprande Dclaration Nom

Type

0.0

TEMP

OB1_EV_CLASS

BYTE

1.0

TEMP

OB1_SCAN1

BYTE

2.0

TEMP

OB1_PRIORITY

BYTE

3.0

TEMP

OB1_OB_NUMBR

BYTE

4.0

TEMP

OB1_RESERVED_1

BYTE

5.0

TEMP

OB1_RESERVED_2

BYTE

6.0

TEMP

OB1_PREV_CYCLE

INT

8.0

TEMP

OB1_MIN_CYCLE

INT

10.0

TEMP

OB1_MAX_CYCLE

INT

12.0

TEMP

OB1_DATE_TIME

DATE_AND_TIME

20.0

TEMP

Enable_Motor

BOOL

20.1

TEMP

Enable_Valve

BOOL

20.2

TEMP

Start_Fulfilled

BOOL

20.3

TEMP

Stop_Fulfilled

BOOL

20.4

TEMP

Inlet_Valve_A_Open

BOOL

20.5

TEMP

Inlet_Valve_A_Closed

BOOL

20.6

TEMP

Feed_Valve_A_Open

BOOL

20.7

TEMP

Feed_Valve_A_Closed

BOOL

21.0

TEMP

Inlet_Valve_B_Open

BOOL

21.1

TEMP

Inlet_Valve_B_Closed

BOOL

21.2

TEMP

Feed_Valve_B_Open

BOOL

21.3

TEMP

Feed_Valve_B_Closed

BOOL

21.4

TEMP

Open_Drain

BOOL

21.5

TEMP

Close_Drain

BOOL

21.6

TEMP

Close_Valve_Fulfilled

BOOL

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Cration du programme pour l'OB1


Dans STEP 7, il faut crer les blocs appels par d'autres blocs avant les blocs contenant
l'appel. Vous devez donc, dans notre exemple de programme, crire le FB pour le moteur et
la FC pour les soupapes avant le programme de l'OB1.
Les blocs FB1 et FC1 sont appels plusieurs reprises dans l'OB1, le FB1 avec diffrents
DB d'instance :

OB 1

Systme dexploitation

Pompe
dalimentation
Substance A

FB 1
DB dist. 1

Soupape
damission A

FC 1

Soupape
dalimentation A

FC 1

Pompe
dalimentation
Substance B

FB 1
DB dist. 2

Soupape
damission B

FC 1

Soupape
dalimentation A

FC 1

Moteur
mlangeur

FB 1
DB dist. 3

Soupape de
vidange

FC 1

Commutateurs
de niveau du
rservoir

Programmer avec STEP 7 V5.1


A5E00069874-03

A-83

Annexe

La section des instructions de l'OB1 se prsente comme suit en langage de programmation


LIST.
Rseau 1

Verrouillages pour la pompe d'alimentation A

U "EMER_STOP_off"
U "Tank_below_max"
UN"Drain"
= #Enable_Motor
Rseau 2

Appel du FB Moteur pour substance A

U
"Feed_pump_A_start"
U
#Enable_Motor
=
#Start_Fulfilled
U(
O
"Feed_pump_A_stop"
ON#Enable_Motor
)
=
#Stop_Fulfilled
CALL
"Motor_block", "DB_feed_pump_A"
Start :=#Start_Fulfilled
Stop
:=#Stop_Fullfilled
Response
:="Flow_A"
Reset_Maint
:="Reset_maint"
Timer_No
:=T12
Reponse_Time:=S5T#7S
Fault :="Feed_pump_A_fault"
Start_Dsp
:="Feed_pump_A_on"
Stop_Dsp
:="Feed_pump_A_off"
Maint :="Feed_pump_A_maint"
Motor :="Feed_pump_A"
Rseau 3

Ajournement de la validation de soupape pour substance A

U "Feed_pump_A"
L S5T#1S
SE T
13
UN"Feed_pump_A"
R T
13
U T
13
= #Enable_Valve
Rseau 4

Commande de la soupape d'admission pour substance A

UN"Flow_A"
UN"Feed_pump_A"
=
#Close_Valve_Fulfilled
CALL
"Valve_block"
Open :=#Enable_Valve
Close :=#Close_Valve_Fulfilled
Dsp_Open
:=#Inlet_Valve_A_Open
Dsp_Closed:=#Inlet_Valve_A_Closed
Valve :="Inlet_Valve_A"

A-84

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Rseau 5

Commande de la soupape d'alimentation pour substance A

UN"Flow_A"
UN"Feed_pump_A"
=
#Close_Valve_Fulfilled
CALL
"Valve_block"
Open :=#Enable_Valve
Close :=#Close_Valve_Fulfilled
Dsp_Open
:=#Feed_Valve_A_Open
Dsp_Closed:=#Feed_Valve_A_Closed
Valve :="Feed_Valve_A"
Rseau 6

Verrouillages pour la pompe d'alimentation B

U "EMER_STOP_off"
U "Tank_below_max"
UN"Drain"
= "Enable_Motor
Rseau 7

Appel du FB Moteur pour substance B

U
"Feed_pump_B_start"
U
#Enable_Motor
=
#Start_Fulfilled
U(
O
"Feed_pump_B_stop"
ON#Enable_Motor
)
=
#Stop_Fulfilled
CALL
"Motor_block", "DB_feed_pump_B"
Start :=#Start_Fulfilled
Stop
:=#Stop_Fullfilled
Response
:="Flow_B"
Reset_Maint
:="Reset_maint"
Timer_No
:=T14
Reponse_Time:=S5T#7S
Fault :="Feed_pump_B_fault"
Start_Dsp
:="Feed_pump_B_on"
Stop_Dsp
:="Feed_pump_B_off"
Maint :="Feed_pump_B_maint"
Motor :="Feed_pump_B"
Rseau 8

Ajournement de la validation de soupape pour substance B

U "Feed_pump_B"
L S5T#1S
SE T
15
UN"Feed_pump_B"
R T
15
U T
15
= #Enable_Valve

Programmer avec STEP 7 V5.1


A5E00069874-03

A-85

Annexe

Rseau 9

Commande de la soupape d'admission pour substance B

UN"Flow_B"
UN"Feed_pump_B"
=
#Close_Valve_Fulfilled
CALL
"Valve_block"
Open :=#Enable_Valve
Close :=#Close_Valve_Fulfilled
Dsp_Open
:=#Inlet_Valve_B_Open
Dsp_Closed:=#Inlet_Valve_B_Closed
Valve :="Inlet_Valve_B"
Rseau 10

Commande de la soupape d'alimentation pour substance B

UN"Flow_B"
UN"Feed_pump_B"
=
#Close_Valve_Fulfilled
CALL
"Valve_block"
Open :=#Enable_Valve
Close :=#Close_Valve_Fulfilled
Dsp_Open
:=#Feed_Valve_B_Open
Dsp_Closed:=#Feed_Valve_B_Closed
Valve :="Feed_Valve_B"
Rseau 11

Verrouillages pour le moteur mlangeur

U "EMER_STOP_off"
U "Tank_above_min"
UN"Drain"
= #Enable_Motor
Rseau 12

Appel du FB Moteur pour moteur mlangeur

U
"Agitator_start"
U
#Enable_Motor
=
#Start_Fulfilled
U(
O
"Agitator_stop"
ON#Enable_Motor
)
=
#Stop_Fulfilled
CALL
"Motor_block", "DB_Agitator"
Start :=#Start_Fulfilled
Stop
:=#Stop_Fullfilled
Response
:="Agitator_running"
Reset_Maint
:="Reset_maint"
Timer_No
:=T16
Reponse_Time:=S5T#10S
Fault :="Agitator_fault"
Start_Dsp
:="Agitator_on"
Stop_Dsp
:="Agitator_off"
Maint :="Agitator_maint"
Motor :="Agitator"

A-86

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Rseau 13

Verrouillages pour la soupape de vidange

U "EMER_STOP_off"
U "Tank_not_empty"
UN"Agitator"
= "Enable_Valve
Rseau 14

Commande de la soupape de vidange

U
"Drain_open"
U
#Enable_Valve
=
#Open_Drain
U(
O
"Drain_closed"
ON#Enable_Valve
)
=
#Close_Drain
CALL
"Valve_block"
Open :=#Open_Drain
Close :=#Close_Drain
Dsp_Open
:="Drain_open_disp"
Dsp_Closed
:="Drain_closed_disp"
Valve :="Drain"
Rseau 15

Indication du niveau du rservoir

UN"Tank_below_max"
= "Tank_max_disp"
UN"Tank_above_min"
= "Tank_min_disp"
UN"Tank_not_empty"
= "Tank_empty_disp"

Programmer avec STEP 7 V5.1


A5E00069874-03

A-87

Annexe

A.5.3

Exemple dutilisation dalarmes horaires

A.5.3.1

Structure de lalarme horaire du programme utilisateur

Problme pos
La sortie A 4.0 doit tre mise 1 du lundi, 5.00 heures au vendredi, 20.00 heures. Du
vendredi, 20.00 heures au lundi, 5.00 heures la sortie A 4.0 doit tre remise 0.

Transcription dans le programme utilisateur


Le tableau suivant montre les tches partielles des blocs utiliss.
Bloc

Tche partielle

OB1

Appel de la fonction FC12

FC12

Selon l'tat de la sortie A 4.0, de l'tat de l'alarme horaire et des entres


E 0.0 et E 0.1

OB10

OB80

Prdfinir instant de dclenchement

Mettre alarme horaire 1

Activer alarme horaire

CAN_TINT

Selon le jour de la semaine en cours

Prdfinir instant de dclenchement

Mettre 1 ou remettre 0 la sortie A 4.0

Mettre 1 l'alarme horaire suivante

Activer l'alarme horaire suivante

Mies 1 de la sortie A 4.1


Enregistrer l'information de l'vnement de dclenchement de l'OB80
dans la zone des mmentos

A-88

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Oprandes utiliss
Le tableau suivant montre les oprandes globaux utiliss. Les variables temporaires des
blocs sont dclares dans la section de dclaration du bloc respectif.
Oprande

Signification

E 0.0

Entre de validation de "Mettre alarme horaire 1" et "Activer alarme


horaire"

E 0.1

Entre d'annulation d'une alarme horaire

A 4.0

Sortie mise 1/remise 0 par l'OB d'alarme horaire (OB10)

A 4.1

Sortie mise 1 en cas d'erreur d'horloge (OB80)

MW 16

ETAT de l'alarme horaire (SFC31 "QRY_TINT")

MB 100 MB
107

Mmoire pour l'information de l'vnement de dclenchement de l'OB10


(uniquement horodatage)

MB 110 MB
129

Mmoire pour l'information de l'vnement de dclenchement de l'OB80


(erreur d'horloge)

MW 200

RET_VAL de la SFC28 "SET_TINT"

MB 202

Mmoire intermdiaire des rsultats binaires (bit d'tat RB) pour les SFC

MW 204

RET_VAL de la SFC30 "ACT_TINT"

MW 208

RET_VAL de la SFC31 "QRY_TINT"

SFC et FC utiliss
Les fonctions systme suivantes sont utilises dans l'exemple de programme :

A.5.3.2

SFC28 "SET_TINT"

Rglage de l'alarme horaire

SFC29 "CAN_TINT"

Annulation de l'alarme horaire

SFC30 "ACT_TINT"

Activation de l'alarme horaire

SFC31 "QRY_TINT"

Interrogation de l'alarme horaire

FC3 "D_TOD_DT"

Regroupement de DATE et TIME_OF_DAY en DT

FC12

Section de dclaration
Les variables temporaires de blocs suivantes sont dclares dans la section de dclaration
de la FC12 :
Nom de la variable

Type de donnes

Dclaration Commentaire

IN_HEURE

TIME_OF_DAY

TEMP

Prdfinition de l'heure de
dclenchement

IN_DATE

DATE

TEMP

Prdfinition de la date de
dclenchement

OUT_HEURE_DATE DATE_AND_TIME

TEMP

Date/heure de dclenchement
converties

MEMENTO_OK

TEMP

Validation pour le rglage de


l'alarme horaire

Programmer avec STEP 7 V5.1


A5E00069874-03

BOOL

A-89

Annexe

Section des instructions en LIST


Dans la section des instructions de la FC12, vous entrez le programme utilisateur LIST
suivant :
LIST (FC 12)
Rseau 1 :
CALL SFC 31
NR_OB := 10
VAL_RET:= MW 208
ETAT := MW 16
Rseau 2 :
UN
SPB
L
T
L
T
SPA
mont:
L
T
L
T
conv:
NOP

A
4.0
mont
D#1995127
#IN_DATE
TOD#20:0:0.0
#IN_HEURE
conv
D#1995123
#IN_DATE
TOD#5:0:0.0
#IN_HEURE
0

LIST (FC 12)


Rseau 3 :
CALL FC 3
IN1
:= #IN_DATE
IN2
:= #IN_HEURE
VAL_RET := #OUT_HEURE_DATE
Rseau 4 :
U
E 0.0
UN
M 17.2
U
M 17.4
=
#MEMENTO_OK
Rseau 5 :
U
#MEMENTO_OK
SPBNB
m001
CALL SFC 28
NR_OB
:= 10
SDT
:= #OUT_HEURE_DATE
PERIODE := W#16#1201
VAL_RET := MW 200
m001
U
RB
=
M 202.3
Rseau 6 :
U
#MEMENTO_OK
SPBNB
m002
CALL SFC 30
NR_OB
:= 10
VAL_RET := MW 204
m002
U
RB
=
M 202.4
Rseau 7 :
U
E 0.1
SPBNB
m003
CALL SFC 29
NR_OB
:= 10
RET_VAL := MW 210
m003
U
RB
=
M 202.5

A-90

Signification
SFC QRY_TINT
Interrogation de l'ETAT de l'alarme
horaire.

Prdfinir instant de dclenchement en


fonction de A 4.0 (dans la variable
#IN_DATE et #IN_HEURE)
La date de dclenchement est un
vendredi.

La date de dclenchement est un lundi.

Signification
Convertir format de DATE et TIME_OF_DAY
en DATE_AND_TIME (pour rgler l'alarme
horaire)

Toutes les conditions pour rgler


l'alarme horaire remplies ? (entre de
validation mise 1, alarme horaire non
active et OB d'alarme horaire charg)
Si oui, alors rgler l'alarme horaire...

...et activer l'alarme horaire.

Si l'entre pour annuler l'alarme


horaire est mise 1, alors annuler
l'alarme horaire.

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.5.3.3

OB10

Section de dclaration
Selon la section de dclaration prdfinie pour l'OB10, les variables temporaires de bloc
suivantes sont dclares :
Structure pour l'ensemble de l'information de l'vnement de dclenchement
(STARTINFO)
Dans la structure STARTINFO, une structure pour l'heure (T_STMP)
Autres variables temporaire de blocs JOURSEM, IN_DATE, IN_HEURE et
OUT_HEURE_DATE
Nom de la variable

Type de donnes Dclaration

Commentaire

STARTINFO

STRUCT

TEMP

Ensemble de linformation de
l'vnement de dclenchement de
l'OB10 dclar comme structure

ID_E

WORD

TEMP

ID d'vnement

CLASSE_PR

BYTE

TEMP

Classe de priorit

NR_OB

BYTE

TEMP

Numro de l'OB

RESERVED_1

BYTE

TEMP

Rserv

RESERVED_2

BYTE

TEMP

Rserv

PERIODE

WORD

TEMP

Priodicit de l'alarme horaire

RESERVED_3

DWORD

TEMP

Rserv

T_STMP

STRUCT

TEMP

Structure pour les indications


d'horodatage

ANNEE

BYTE

TEMP

MOIS

BYTE

TEMP

JOUR

BYTE

TEMP

HEURES

BYTE

TEMP

MINUTES

BYTE

TEMP

SECONDES

BYTE

TEMP

MSEC_JOURSEM

WORD

TEMP

END_STRUCT

TEMP

END_STRUCT

TEMP

JOURSEM

INT

TEMP

Jour de la semaine

IN_DATE

DATE

TEMP

Variable d'entre pour FC3


(conversion du format horaire)

IN_HEURE

TIME_OF_DAY

TEMP

Variable d'entre pour FC3


(conversion du format horaire)

OUT_HEURE_DATE DATE_AND_TIME TEMP

Variable de sortie pour FC3 et


variable d'entre pour SFC28

Programmer avec STEP 7 V5.1


A5E00069874-03

A-91

Annexe

Section des instructions en LIST


Dans la section des instructions de lOB10, vous entrez le programme utilisateur LIST
suivant :
LIST (OB 10)
Rseau 1 :
L
#STARTINFO.T_STMP.MSEC_JOURSEM
L
W#16#F
UW
T
#JOURSEM
Rseau 2 :
L
#JOURSEM
L
2
<>I
SPB
mont
Rseau 3 :
L
D#1995127
T
#IN_DATE
L
TOD#20:0:0.0
T
#IN_HEURE
SET
=
A 4.0
SPA
conv
mont:

L
T
L
T
CLR
=

Slectionner jour de la semaine

et mmoriser.
Si le jour de la semaine n'est pas un
lundi, alors prdfinir le lundi, 5.00
heures comme prochain instant de
dclenchement et remettre la sortie A
4.0 zro.

Sinon, c'est--diresi le jour de la


semaine = lundi, alors prdfinir
vendredi, 20.00 heures comme prochain
instant de dclenchement et mettre la
sortie A 4.0 1.

D#1995123
#IN_DATE
TOD#5:0:0.0
#IN_HEURE
A 4.0

conv:
NOP
0
Rseau 4 :
CALL
FC 3
IN1
:= #IN_DATE
IN2
:= #IN_HEURE
VAL_RET := #OUT_HEURE_DATE
Rseau 5 :
CALL SFC 28
NR_OB
:= 10
SDT
:= #OUT_HEURE_DATE
PERIODE := W#16#1201
VAL_RET := MW 200
U
RB
=
M 202.1
Rseau 6 :
CALL SFC 30
NR_OB
:= 10
VAL_RET := MW 204
U
RB
=
M 202.2
Rseau 7 :
CALL SFC 20
SRCBLK := #STARTINFO.T_STMP
VAL_RET := MW 206
DSTBLK := P#M 100.0 OCTET 8

A-92

Signification

Prdfinition de l'instant de
dclenchement termine.
Convertir l'instant de dclenchement
prdfini dans le format DATE_AND_TIME
(pour SFC28).

Rgler l'alarme horaire.

Activer alarme horaire

Transfert de bloc : enregistrer


indication horaire de l'information de
l'vnement de dclenchement de l'OB10
dans la zone de mmento MB 100 MB 107.

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.5.3.4

OB1 et OB80
Puisque l'information de l'vnement de dclenchement de l'OB1 (OB pour le programme
cyclique) n'est pas exploite dans cet exemple, seule l'information de l'vnement de
dclenchement de l'OB80 est reprsente.

Section des instructions de lOB1


Dans la section des instructions de l'OB1, vous entrez le programme utilisateur LIST
suivant :
LIST (OB 1)
CALL

Signification
Appel de la fonction FC12

FC 12

Section de dclaration de l'OB80


Selon la section de dclaration prdfinie de l'OB80, les variables temporaires de bloc
suivantes sont dclares :
Structure pour l'ensemble de l'information de l'vnement de dclenchement
(STARTINFO)
Dans la structure STARTINFO, une autre structure pour l'heure (T_STMP)
Nom de la variable

Type de donnes Dclaration Commentaire

STARTINFO

STRUCT

TEMP

Ensemble de linformation de
l'vnement de
dclenchement de l'OB80
dclar comme structure

ID_E

WORD

TEMP

ID d'vnement

CLASSE_PR

BYTE

TEMP

Classe de priorit

NR_OB

BYTE

TEMP

Numro de l'OB

RESERVED_1

BYTE

TEMP

Rserv

RESERVED_2

BYTE

TEMP

Rserv

INFO_S1

WORD

TEMP

Information supplmentaire
sur l'vnement ayant
occasionn l'erreur.

INFO_S2

DWORD

TEMP

Information supplmentaire
sur l'ID d'vnement, la classe
de priorit et le numro d'OB
de l'vnement d'erreur

T_STMP

STRUCT

TEMP

Structure pour les indications


d'horodatage

ANNEE

BYTE

TEMP

MOIS

BYTE

TEMP

JOUR

BYTE

TEMP

HEURES

BYTE

TEMP

MINUTES

BYTE

TEMP

SECONDES

BYTE

TEMP

MSEC_JOURSEM

Programmer avec STEP 7 V5.1


A5E00069874-03

WORD

TEMP

END_STRUCT

TEMP

END_STRUCT

TEMP

A-93

Annexe

Section des instructions de lOB80


Dans la section des instructions de l'OB80, appel par le systme d'exploitation en cas
d'erreur d'horloge, vous entrez le programme utilisateur LIST suivant :
LIST (OB 80)
Rseau 1 :
UN
S

Signification
A 4.1
A 4.1

CALL SFC
SRCBLK
VAL_RET
DSTBLK

20
:= #STARTINFO
:= MW 210
:= P#M 110.0 octet 20

Metter la sortie A 4.1 1 lorsque


l'erreur d'horloge est survenue.
Transfert de bloc : enregistrer
l'ensemble de l'vnement de
dclenchement dans la zone de mmento MB
110 MB 129.

A.5.4

Exemple d'utilisation d'alarmes temporises

A.5.4.1

Structure de l'alarme temporise du programme utilisateur

Problme pos
Lorsque l'entre E 0.0 est mise 1, la sortie A 4.0 doit tre mise 1, et ceci 10 secondes
plus tard. Chaque mise 1 de l'entre E 0.0 doit dclencher une nouvelle fois le temps de
retard.
Comme identificateur spcifique l'utilisateur, l'instant (secondes et millisecondes) de
dclenchement de l'alarme temporise doit apparatre dans l'information de l'vnement de
dclenchement de l'OB d'alarme temporise (OB20).
Si E 0.1 est mise 1 durant ces 10 secondes, le bloc d'organisation OB20 ne doit pas tre
appel, c'est--dire la sortie A 4.0 ne doit pas tre mise 1.
Lorsque l'entre E 0.2 est mise 1, la sortie A 4.0 doit tre remise 0.

Transcription dans le programme utilisateur


Le tableau suivant montre les tches partielles des blocs utiliss.

A-94

Bloc

Tche partielle

OB1

Lecture et prparation de l'heure actuelle pour le dclenchement de


l'alarme temporise
Dclenchement de l'alarme temporise en fonction du changement de
front l'entre E 0.0
Annulation de l'alarme temporise en fonction de l'tat de l'alarme
temporise et du changement de front l'entre E 0.1
Remise 0 de la sortie A 4.0 en fonction de l'tat de l'entre E 0.2

OB20

Mise 1 de la sortie A 4.0


Lecture et prparation de l'heure actuelle
Enregistrement de l'information de l'vnement de dclenchement dans
la zone des mmentos

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Oprandes utiliss
Le tableau ci-aprs montre les tables de donnes globales utilises. Les variables
temporaires des blocs sont dclares dans la section de dclaration du bloc respectif.
Oprande

Signification

E 0.0

Entre de validation de "Dclencher l'alarme de temporisation"

E 0.1

Entre d'annulation d'une alarme temporise

E 0.2

Entre de remise 0 de la sortie A 4.0

A 4.0

Sortie mise 1 par l'OB d'alarme temporise (OB20)

MB 1

Utilis pour les mmentos de front et la mmoire intermdiaire des


rsultats binaires (bit d'tat RB) pour les SFC

MW 4

ETAT de l'alarme temporise (SFC34 "QRY_TINT")

MD 10

Secondes et millisecondes en format DCB reprises dans l'information


de l'vnement de dclenchement de l'OB1

MW 100

VAL_RET de la SFC32 "SRT_DINT"

MW 102

VAL_RET de la SFC34 "QRY_DINT"

MW 104

VAL_RET de la SFC33 "CAN_DINT"

MW 106

VAL_RET de la SFC20 "BLKMOV"

MB 120 MB 139 Mmoire pour l'information de l'vnement de dclenchement de


l'OB20
MD 140

Secondes et millisecondes en format DCB reprises dans l'information


de l'vnement de dclenchement de l'OB20

MW 144

Secondes et millisecondes en format DCB reprises dans l'information


de l'vnement de dclenchement de l'OB1 ; repris dans l'information
de l'vnement de dclenchement de l'OB20 (identificateur spcifique
l'utilisateur SIGN)

SFC utilises
Les fonctions systme suivantes sont utilises dans le programme utilisateur "Alarmes
temporises" :
SFC32 "SRT_DINT"

Dclenchement de l'alarme temporise

SFC33 "CAN_DINT"

Annulation de l'alarme temporise

SFC34 "QRY_DINT"

Interrogation de l'tat d'une alarme temporise

Programmer avec STEP 7 V5.1


A5E00069874-03

A-95

Annexe

A.5.4.2

OB20

Section de dclaration
En fonction de la section de dclaration prdfinie de l'OB20, les variables temporaires de
bloc suivantes sont dclares :
Structure pour l'ensemble de l'information de l'vnement de dclenchement
(STARTINFO)
Dans la structure STARTINFO, une structure pour l'horodatage (T_STMP)

A-96

Nom de la variable

Type de donnes Dclaration

Commentaire

STARTINFO

STRUCT

TEMP

Informations de
dclenchement pour l'OB20

ID_E

WORD

TEMP

ID d'vnement

NR_NIVEX

BYTE

TEMP

Niveau d'excution

NR_OB

BYTE

TEMP

Numro d'OB

IDD1

BYTE

TEMP

Identification de donnes 1

IDD2

BYTE

TEMP

Identification de donnes 2

SIGN

WORD

TEMP

Identification spcifique
l'utilisateur

DTIME

TIME

TEMP

Heure de dclenchement de
l'alarme temporise

T_STMP

STRUCT

TEMP

Structure pour les


indications d'horodatage
(horodateur)

ANNEE

BYTE

TEMP

MOIS

BYTE

TEMP

JOUR

BYTE

TEMP

HEURES

BYTE

TEMP

MINUTES

BYTE

TEMP

SECONDES

BYTE

TEMP

MSEC_JOURSEM

WORD

TEMP

END_STRUCT

TEMP

END_STRUCT

TEMP

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Section des instructions


Dans la section des instructions de lOB20, vous entrez le programme utilisateur LIST
suivant :
LIST (OB 20)
Rseau 1 :
SET
=
Rseau 2 :
L
T
Rseau 3 :
L
T
L
T
L
SRD
T
Rseau 4 :
L
T

Signification
Mise 1 imprative de la sortie A 4.0
A 4.0
AW 4
PAW 4

Actualisation immdiate du mot de sortie

#STARTINFO.T_STMP.SECONDES
MW 140
#STARTINFO.T_STMP.MSEC_JOURSEM
MW 142
MD 140
4
MD 140

Lecture des secondes dans les


informations de l'vnement de
dclenchement
Lecture des millisecondes et du jour de
la semaine dans les informations de
l'vnement de dclenchement

#STARTINFO.SIGN
MW 144

Rseau 5 :
CALL SFC
SRCBLK
VAL_RET
DSTBLK

A.5.4.3

20
:= STARTINFO
:= MW 106
:= P#M 120.0 OCTET 20

Elimination du jour de la semaine et


rinscription des millisecondes (sont
prsent en format DCB dans le MW 142).
Lecture de l'instant de dclenchement de
l'alarme temporise (=appel de la SFC32)
dans l'information de l'vnement de
dclenchement
Copie de l'information de l'vnement de
dclenchement dans la zone de mmoire
(MB 120 MB 139)

OB1

Section de dclaration
En fonction de la section de dclaration prdfinie de l'OB1, les variables temporaires de
bloc suivantes sont dclares :
Structure pour l'ensemble de l'information de l'vnement de dclenchement
(STARTINFO)
Dans la structure STARTINFO, une structure pour l'horodatage (T_STMP)
Nom de la variable

Type de donnes Dclaration

Commentaire

STARTINFO

STRUCT

TEMP

Informations de
dclenchement pour l'OB1

ID_E

WORD

TEMP

ID d'vnement

NR_NIVEX

BYTE

TEMP

Niveau d'excution

NR_OB

BYTE

TEMP

Numro d'OB

IDD 1

BYTE

TEMP

Identification de donnes 1

IDD 2

BYTE

TEMP

Identification de donnes 2

CYC_ACT

INT

TEMP

Temps de cycle en cours

CYC_MIN

INT

TEMP

Temps de cycle minimum

Programmer avec STEP 7 V5.1


A5E00069874-03

A-97

Annexe

Nom de la variable

Type de donnes Dclaration

Commentaire

CYC_MAX

INT

TEMP

Temps de cycle maximal

T_STMP

STRUCT

TEMP

Structure pour les indications


dhorodatage (horodatage)

ANNEE

BYTE

TEMP

MOIS

BYTE

TEMP

JOUR

BYTE

TEMP

HEURE

BYTE

TEMP

MINUTES

BYTE

TEMP

SECONDES

BYTE

TEMP

MSEC_JOURSEM

WORD

TEMP

END_STRUCT

TEMP

END_STRUCT

TEMP

Section des instructions


Dans la section des instructions de lOB1, vous entrez le programme utilisateur LIST
suivant :
LIST (OB 1)
Rseau 1 :
L
#STARTINFO.T_STMP.SECONDES
T
MW 10
L
#STARTINFO.T_STMP.MSEC_JOURSEM
T
MW 12
L
MD 10
SRD
4
T
MD 10
Rseau 2 :
U
E 0.0
FP
M 1.0
=
M 1.1
Rseau 3 :
U
M 1.1
SPBNB
m001
CALL SFC 32
NR_OB := 20
DTME
:= T#10S
SIGN
:= MW 12
VAL_RET:= MW 100
m001:
NOP
0
Rseau 4 :
CALL SFC 34
NR_OB := 20
VAL_RET:= MW 102
ETAT := MW 4
Rseau 5 :
U
E 0.1
FP
M 1.3
=
M 1.4
Rseau 6 :
U
M 1.4
U
M 5.2
SPBNB
m002
CALL SFC 33
NR_OB := 20
VAL_RET:= MW 104
m002:
NOP
0
U
E 0.2
R
A 4.0

A-98

Signification
Lecture des secondes dans l'information
de l'vnement de dclenchement
Lecture des millisecondes et du jour de
la semaine dans les informations de
l'vnement de dclenchement
Elimination du jour de la semaine et
rinscription des millisecondes (sont
prsent en format DCB dans le MW 12)
Front positif l'entre E 0.0 ?

Si oui, dclenchement de l'alarme


temporise (instant de dclenchement de
l'alarme temporise affect au paramtre
SIGN)

Interrogation de l'tat de l'alarme


temporise (SFC QRY_DINT)

Front positif l'entre E 0.1 ?

... et alarme temporise active ? (bit


2 de l'ETAT de l'alarme temporise)
Alors annulation de l'alarme temporise

Remise 0 de la sortie A 4.0 avec


l'entre E 0.2

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.5.4.4

Exemple de masquage et de dmasquage d'vnements d'erreurs


synchrones
Dans lexemple suivant dun programme utilisateur, nous allons vous montrer le masquage
et le dmasquage d'vnements d'erreurs synchrones. La SFC36 "MSK_FLT" masque les
erreurs suivantes dans le masque d'erreurs de programmation :
Erreur de longueur de zone lors de la lecture
Erreur de longueur de zone lors de l'criture
Un second appel de la SFC36 "MSK_FLT" masque en plus une erreur d'accs :
Erreur d'accs la priphrie lors de l'criture
La SFC38 "READ_ERR" interroge les vnements d'erreurs synchrones masqus. L"Erreur
d'accs la priphrie lors de l'criture est nouveau dmasque par la SFC37
"DMSK_FLT".

Instruction
La suite reprsente l'OB1, dans lequel l'exemple pour le programme utilisateur a t
programm en LIST.
LIST (rseau 1)
UN
SPBNB
CALL

m001:

Signification
mmento non rmanent M 255.0 (uniquement
lors du premier cycle=0)

M 255.0
m001
SFC 36

PRGFLT_SET_MASK

:=DW#16#C

ACCFLT_SET_MASK

:=DW#16#0

VAL_RET
PRGFLT_MASKED

:=MW 100
:=MD 10

ACCFLT_MASKED

:=MD 14

U
S

RB
M 255.0

LIST (rseau 2)
CALL

Mise 1 de M255.0, si masquage russi

SFC 36

PRGFLT_SET_MASK

:=DW#16#0

ACCFLT_SET_MASK

:=DW#16#8

VAL_RET
PRGFLT_MASKED

:=MW 102
:=MD 20

ACCFLT_MASKED

:=MD 24

Programmer avec STEP 7 V5.1


A5E00069874-03

SFC36 MSK_FLT (Masquage d'vnements


d'erreurs synchrones)
Bit2=Bit3=1 (BLFL et BLFS sont masqus)
tous les bits=0 (aucune erreur d'accs
n'est masque)
Valeur en retour
Affichage du masque d'erreurs de
programmation actuel dans MD 10
Affichage du masque d'erreurs d'accs
actuel dans MD 14

Signification
SFC36 MSK_FLT (masquage d'vnements
d'erreurs synchrones)
tous les bits=0 (aucune autre erreur de
programmation n'est masque)
Bit3=1 (les erreurs d'accs en criture
sont masques)
Valeur en retour
Affichage du masque d'erreurs de
programmation actuel dans MD 20
Affichage du masque d'erreurs d'accs
actuel dans MD 24

A-99

Annexe

LIST (rseau 3)
UN
BEB

LIST (rseau 4)
L
T

B#16#0
PAB 16

LIST (rseau 5)
CALL

SFC 38

Signification
Accs en criture (avec valeur 0) sur
PAB 16

PRGFLT_QUERY

:=DW#16#0

ACCFLT_QUERY

:=DW#16#8

VAL_RET
PRGFLT_CLR

:=MW 104
:=MD 30

ACCFLT_CLR

:=MD 34

RB

U
NOT
=

M 37.3

B#16#0
PAB 17

LIST (rseau 7)
CALL

SFC 38

Signification
SFC38 READ_ERR (interrogation
d'vnements d'erreurs synchrones)
tous les bits=0 (aucune interrogation
d'erreur de programmation)
Bit3=1 (interrogation d'erreur d'accs
en criture)
Valeur en retour
Affichage du masque d'erreurs de
programmation actuel dans MD 30
Affichage du masque d'erreurs d'accs
actuel dans MD 34
aucune erreur survenue ni erreur d'accs
en criture dtecte
Inversion du RLG
M 0.0=1, si PAB 16 existant

M 0.0

LIST (rseau 6)
L
T

Signification
Erreur d'accs en criture (avec valeur
0) sur PAB 17

PRGFLT_QUERY

:=DW#16#0

ACCFLT_QUERY

:=DW#16#8

VAL_RET
PRGFLT_CLR

:=MW 104
:=MD 30

ACCFLT_CLR

:=MD 34

RB

U
NOT
=

M 37.3

LIST (rseau 8)
L
T

A-100

Signification
Fin du bloc, si erreur d'accs en
criture (bit3 dans ACCFLT_MASKED) non
masque

M 27.3

M 0.1

Signification
SFC38 READ_ERR (interrogation
d'vnements d'erreurs synchrones)
tous les bits=0 (aucune interrogation
d'erreurs de programmation)
Bit3=1 (interrogation d'erreur d'accs
en criture)
Valeur en retour
Affichage du masque d'erreurs de
programmation actuel dans MD 30
Affichage du masque d'erreurs d'accs
actuel dans MD 34
aucune erreur survenue ni erreur d'accs
en criture dtecte
Inversion du RLG
M 0.1=1, si PAB 17 existant

Signification
B#16#0
PAB 18

Accs en criture (avec valeur 0) sur


PAB 18

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

LIST (rseau 9)
CALL

SFC 38

PRGFLT_QUERY

:=DW#16#0

ACCFLT_QUERY

:=DW#16#8

VAL_RET
PRGFLT_CLR

:=MW 104
:=MD 30

ACCFLT_CLR

:=MD 34

RB

U
NOT
=

M 37.3

Signification
SFC38 READ_ERR (interrogation
d'vnements d'erreurs synchrones)
tous les bits=0 (aucune interrogation
d'erreurs de programmation)
Bit3=1 (interrogation d'erreur d'accs
en criture)
Valeur en retour
Affichage du masque d'erreurs de
programmation actuel dans MD 30
Affichage du masque d'erreurs d'accs
actuel dans MD 34
aucune erreur survenue ni erreur d'accs
en criture dtecte
Inversion du RLG
M 0.2=1, si PAB 18 existant

M 0.2

LIST (rseau 10)


L
B#16#0
T
PAB 19

Signification

LIST (rseau 11)


CALL
SFC 38

Signification
SFC38 READ_ERR (interrogation
d'vnements d'erreurs synchrones)
tous les bits=0 (aucune interrogation
d'erreur de programmation)
Bit3=1 (interrogation d'erreur d'accs
en criture)
Valeur en retour
Affichage du masque d'erreurs de
programmation actuel dans MD 30
Affichage du masque d'erreurs d'accs
actuel dans MD 34
aucune erreur survenue ni erreur d'accs
en criture dtecte

Accs en criture (avec valeur 0) sur


PAB 19

PRGFLT_QUERY

:=DW#16#0

ACCFLT_QUERY

:=DW#16#8

VAL_RET
PRGFLT_CLR

:=MW 104
:=MD 30

ACCFLT_CLR

:=MD 34

RB

U
NOT
=

M 37.3
Inversion du RLG
M 0.3=1, si PAB 19 existant

M 0.3

LIST (rseau 12)


CALL
SFC 37
PRGFLT_RESET_MASK

:=DW#16#0

ACCFLT_RESET_MASK

:=DW#16#8

VAL_RET
PRGFLT_MASKED

:=MW 102
:=MD 20

ACCFLT_MASKED

:=MD 24

Signification
SFC37 DMSK_FLT (dmasquage d'vnements
d'erreurs synchrones)
tous les bits=0 (aucun dmasquage
d'erreur de programmation)
Bit3=1 (dmasquage d'erreur d'accs en
criture)
Valeur en retour
Affichage du masque d'erreurs de
programmation actuel dans MD 20
Affichage du masque d'erreurs d'accs
actuel dans MD 24

LIST (rseau 13)


U
M 27.3
BEB

Signification
Fin de bloc, si erreur d'accs en
criture (bit3 dans ACCFLT_MASKED) non
dmasque

LIST (rseau 14)


U
M 0.0
SPBNB
m002
L
EB 0
T
PAB 16
m002:
NOP
0

Signification

Programmer avec STEP 7 V5.1


A5E00069874-03

transfrer EB 0 dans PAB 16, si existant

A-101

Annexe

LIST (rseau 15)


U
M 0.1
SPBNB
m003
L
EB 1
T
PAB 17
m003:
NOP
0

A.5.4.5

Signification

transfrer EB 1 dans PAB 17, si existant

LIST (rseau 16)


U
M 0.2
SPBNB
m004
L
EB 2
T
PAB 18
m004:
NOP
0

Signification

LIST (rseau 17)


U
M 0.3
SPBNB
m005
L
EB 3
T
PAB 19
m005:
NOP
0

Signification

transfrer EB 2 dans PAB 18, si existant

transfrer EB 3 dans PAB 19, si existant

Exemple d'inhibition et de validation d'vnements d'alarme et


d'vnements asynchrones (SFC 39 et 40)
Dans cet exemple de programme utilisateur, on considre qu'une partie du programme ne
doit pas tre interrompue par des alarmes. Pour cette partie du programme, la SFC39
"DIS_IRT" inhibe les appels de l'OB35 (alarme horaire) et la SFC40 "EN_IRT" valide
nouveau les appels de l'OB35.
Les SFC39 et SFC40 sont appeles dans l'OB1 :

LIST (OB 1)
U
S
U
S
:
:

A-102

M
M
M
M

0.0
90.1
0.1
90.0

CALL
MODE
NR_OB
VAL_RET
:
:
L
T
L
T
:
:
CALL
MODE
NR_OB
VAL_RET

SFC 39
:=B#16#2
:=35
:=MW 100

U
S
U
S
:
:

M
M
M
M

Signification
Partie du programme pouvant tre
interrompue :

Partie du programme ne devant pas tre


interrompue par des alarmes :
Inhiber et rejeter les alarmes
Mode 2 : inhibition d'OB d'alarme
individuels
inhibition de l'OB35

PEW 100
MW 200
MW 90
MW 92

SFC 40
:=B#16#2
:=35
:=MW 102

10.0
190.1
10.1
190.0

Validation des alarmes


Mode 2 : validation d'OB d'alarme
individuels
Validation de l'OB35
Partie du programme pouvant tre
interrompue :

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.5.4.6

Exemple de traitement diffr d'vnements d'alarme et d'vnements


asynchrones (SFC 41 et 42)
Dans cet exemple de programme utilisateur, on considre qu'une partie du programme ne
doit pas tre interrompue par des alarmes. Dans cette partie du programme, la SFC41
"DIS_AIRT" retarde les alarmes qui sont ultrieurement valides par la SFC42 "EN_AIRT".
La SFC41 et la SFC42 sont appeles dans l'OB1 :
LIST (OB 1)
U
S
U
S
:
:

M
M
M
M

0.0
90.1
0.1
90.0

CALL
VAL_RET
L
T
L
T
:
:
:
CALL
VAL_RET
L

SFC 41
:=MW 100
PEW 100
MW 200
MW 90
MW 92

DEC
L

1
MW 102

SFC 42
:=MW 102
MW 100

<>I

erre:

SPB

err

U
S
U
S
:
:
BEA
L
T

M
M
M
M

Programmer avec STEP 7 V5.1


A5E00069874-03

10.0
190.1
10.1
190.0

MW 102
AW 12

Signification
Partie du programme pouvant tre
interrompue :

Partie du programme ne devant pas tre


interrompue par des alarmes :
Inhibition et retardement des alarmes

Validation de l'alarme
La valeur en retour contient le nombre
d'inhibitions d'alarmes mises en oeuvre
La valeur en retour contient le nombre
d'inhibitions d'alarmes mises en oeuvre
aprs validation des alarmes, ce nombre
doit tre identique
comme avant l'inhibition des alarmes
(dans ce cas "0")

Partie du programme pouvant tre


interrompue :

Le nombre d'inhibitions d'alarmes mises


en oeuvre est affich

A-103

Annexe

A.6

A.6.1

Accs aux zones de donnes du processus et de la


priphrie
Accs la zone de donnes du processus
La CPU peut accder aux entres et sorties des modules d'entres/sorties TOR centraliss
ou dcentraliss soit indirectement via la mmoire image du processus, soit directement via
le bus interne/de fond de panier ou P.
Quant aux entres et sorties des modules d'entres/sorties analogiques centraliss et
dcentraliss, la CPU y accde directement via le bus interne/de fond de panier ou P.

Adressage des modules


L'association entre les adresses utilises dans le programme utilisateur et les modules se
fait par configuration des modules avec STEP 7 :
pour la priphrie centralise : disposition du profil support ou chssis et affectation des
modules aux emplacement dans la table de configuration ;
pour la priphrie dcentralise (PROFIBUS DP) : disposition des esclaves de priphrie
dcentralise (DP) dans la table de configuration "Rseau matre" avec indication de
l'adresse PROFIBUS et affectation des modules aux emplacements.
La configuration des modules remplace le rglage d'adresses des diffrents modules par
commutateurs. La CPU reoit de la PG des donnes comme rsultat de la configuration,
donnes grce auxquelles elle reconnat les modules affects.

Adressage de la priphrie
Il existe une zone d'adresses propre pour les entres et pour les sorties. Aussi, l'adresse
d'une zone de priphrie doit-elle contenir l'identification E - pour les entres - et A - pour les
sorties - en plus de l'indication d'octet ou de mot.
Le tableau suivant prsente les zones d'adresses de priphrie disponibles.

A-104

Plage
d'oprandes

Accs par des units de taille


suivante

Notation S7

Zone de priphrie
des entres

Octet de priphrie d'entre


Mot de priphrie d'entre
Double mot de priphrie d'entre

PEB
PEW
PED

Zone de priphrie
des sorties

Octet de priphrie de sortie


Mot de priphrie de sortie
Double mot de priphrie de sortie

PAB
PAW
PAD

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Reportez-vous aux manuels suivants pour savoir quelles zones d'adresses sont possibles
pour les diffrents modules.
Manuel "Systme dautomatisation S7-300, Installation et configuration - Caractristiques
des CPU"
Manuel de rfrence "Systmes dautomatisation S7-300, M7-300 - Caractristiques des
modules"
Manuel de rfrence "Systmes dautomatisation S7-400, M7-400 - Caractristiques des
modules"

Adresse de dbut de module


L'adresse de dbut de module est l'adresse d'octet la plus basse d'un module. Elle
reprsente l'adresse de dbut de la zone des donnes utiles du module et est souvent
utilise pour dsigner le module entier.
Elle est, par exemple, inscrite dans les informations de dclenchement des blocs
d'organisation associs des alarmes de processus, de diagnostic, de
dbrochage/enfichage et des erreurs d'alimentation, et identifie ainsi le module l'origine
de l'alarme.

A.6.2

Accs la zone de donnes de priphrie


La zone de donnes de priphrie se dcompose :
en donnes utiles
et en donnes de diagnostic et de paramtres.
Ces deux parties comportent une zone d'entre (accs en lecture uniquement) et une zone
de sortie (accs en criture uniquement).

Donnes utiles
On accde aux donnes utiles via l'adresse d'octet - pour les modules de signaux TOR - et
via l'adresse de mot - pour les modules de signaux analogiques - de la zone d'entre ou de
sortie. Vous pouvez accder ces donnes utiles l'aide de commandes de chargement et
de transfert, de fonctions de communication (accs de contrle-commande) ou par
l'intermdiaire du transfert de mmoire image. Parmi les donnes utiles, on compte :
les signaux d'entre et de sortie analogiques et TOR de modules de signaux,
les informations d'tat et de forage de modules de fonction et
les informations pour couplages point point et par bus de modules de communication
(uniquement S7-300).
Lors de la transmission de donnes utiles, il est possible d'atteindre une cohrence des
donnes de quatre octets au maximum (except pour les esclaves norms DP ; voir
Dfinition du comportement en fonctionnement). Si vous utilisez l'instruction "Transfrer
double mot", 4 octets sont transmis en un bloc et sans modification. En revanche, si vous
vous servez de quatre instructions Transfrer octet d'entre, il se pourrait que soit
dclench une limite d'instruction un OB d'alarme de processus qui transmette des
donnes la mme adresse et modifie ainsi le contenu des quatre octets d'origine.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-105

Annexe

Donnes de diagnostic et de paramtres


Il n'est pas possible d'accder individuellement aux donnes de diagnostic et de paramtres
d'un module, mais uniquement sous la forme d'enregistrements entiers. En principe, les
donnes de diagnostic et de paramtres sont transmises de manire cohrente.
On accde aux donnes de diagnostic et de paramtres via l'adresse de dbut du module
concern et le numro d'enregistrement. Les enregistrements sont subdiviss en
enregistrements d'entre et de sortie, les enregistrements d'entre pouvant uniquement tre
lus et les enregistrements de sortie uniquement tre crits. Vous pouvez accder aux
enregistrements l'aide de fonctions systme ou de fonctions de communication
(contrle-commande). Le tableau suivant montre l'affectation des enregistrements aux
donnes de diagnostic et de paramtres.
Donnes

Description

Donnes de Pour les modules capables de diagnostic, vous recevez lors de la lecture
diagnostic
des enregistrements 0 et 1 les donnes de diagnostic de ce module.
Donnes de Pour les modules paramtrables, vous transfrez lors de l'criture des
paramtres enregistrements 0 et 1 les paramtres de ce module.

Accs aux enregistrements


Vous pouvez utiliser les informations contenues dans les enregistrements dun module pour
modifier le paramtrage de modules paramtrables et pour lire les informations de
diagnostic des modules aptes au diagnostic.
Le tableau suivant prsente les fonctions systme permettant d'accder aux
enregistrements.
SFC

Application

Paramtrage de modules
SFC55 WR_PARM Transfert des paramtres modifiables (enregistrement 1) au module
de signaux adress
SFC56
WR_DPARM

Transfert des paramtres des SDB 100 129 au module de signaux


adress

SFC57
PARM_MOD

Transfert de tous les paramtres des SDB 100 129 au module de


signaux adress

SFC58 WR_REC

Transfert d'un enregistrement quelconque au module de signaux


adress

Lecture d'informations de diagnostic


SFC59 RD_REC

Lecture des donnes de diagnostic

Adressage de modules S5
Vous avez la possibilit de :
coupler un automate S7-400 des chssis d'extension SIMATIC S5 avec la carte de
couplage IM 463 et
enficher certaines cartes S5 en botiers d'adaptation dans les chssis centraliss de
l'automate S7- 400.
Consultez le manuel "Systmes dautomatisation S7-400, M7-400 - Installation et
configuration" ou la description livre avec le botier d'adaptation pour savoir comment
adresser les cartes S5 avec SIMATIC S7.

A-106

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.7
A.7.1

Dfinition du comportement en fonctionnement


Dfinition du comportement en fonctionnement
Ce chapitre explique comment vous pouvez influer, l'aide des paramtres systme ou de
fonctions systme, sur les proprits des automates programmables S7-300 et S7-400 qui
ne sont pas dfinitivement fixes.
Vous trouverez des informations dtailles sur les paramtres des modules dans l'aide en
ligne de STEP 7 ainsi que dans les manuels suivants :
Manuel "Systme dautomatisation S7-300, Installation et configuration - Caractristiques
des CPU"
Manuel de rfrence "Systmes dautomatisation S7-300, M7-300 - Caractristiques des
modules"
Manuel de rfrence "Systmes dautomatisation S7-400, M7-400 -Caractristiques des
modules"
Vous trouverez toutes les informations sur les fonctions systme dans le manuel de
rfrence "Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions
systme".

Adressage des esclaves norms DP


Si des esclaves norms DP doivent mettre ou recevoir des donnes de plus de 4 octets,
vous devez faire appel des fonctions systme spcifiques.
SFC

Application

Paramtrage de modules
SFC15 DPWR_DAT

Transfert de donnes quelconques au module de signaux


adress

Lecture d'informations de
diagnostic
SFC13 DPNRM_DG

Lecture des donnes de diagnostic (lecture asynchrone)

SFC14 DPRD_DAT

Lecture de donnes cohrentes (longueur 3 ou suprieure 4


octets)

Une alarme de diagnostic avec 4 octets de donnes de diagnostic est signale la CPU
lors de l'arrive d'un tlgramme de diagnostic DP. Il est possible de lire ces quatre octets
avec la fonction systme SFC13 DPNRM_DG.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-107

Annexe

A.7.2

Modification du comportement et des proprits des modules

Paramtres par dfaut


A la livraison, tous les modules paramtrables du systme d'automates programmables
S7 sont rgls des valeurs par dfaut qui conviennent des applications standard. Ces
valeurs par dfaut vous permettent d'utiliser directement les modules sans devoir
effectuer d'autres rglages. Elles sont prsentes dans les descriptions de modules des
manuels suivants :
Manuel "Systme dautomatisation S7-300, Installation et configuration - Caractristiques
des CPU"
Manuel de rfrence "Systmes dautomatisation S7-300, M7-300 - Caractristiques des
modules"
Manuel de rfrence "Systmes dautomatisation S7-400, M7-400 - Caractristiques des
modules"

Modules paramtrables
Vous pouvez toutefois bien sr paramtrer le comportement et les proprits des modules
et, ainsi, les adapter aux exigences et aux caractristiques de votre installation. Les CPU,
FM, CP ainsi que certains modules d'entres et de sorties analogiques et modules d'entres
TOR sont des modules paramtrables.
Il existe des modules paramtrables avec ou sans sauvegarde.
Aprs chaque coupure de courant, vous devez transmettre nouveau les donnes de
paramtrage aux modules sans sauvegarde. Les paramtres de ces modules sont
sauvegards dans la zone de mmoire rmanente de la CPU (paramtrage indirect par la
CPU).

Dfinition et chargement des paramtres


Vous dfinissez les paramtres des modules l'aide de STEP 7. Lors de l'enregistrement
des paramtres, STEP7 cre l'objet "Blocs de donnes systme" qui est charg dans la
CPU avec le programme utilisateur et qui, de l, est transfr dans les modules concerns
lors de la mise en route.

Paramtrages possibles
Les paramtres des modules sont rpartis en blocs de paramtres. Le manuel "Automate
programmable S7-300, Installation et configuration - Caractristiques des CPU" et le manuel
de rfrence "Automate programmable S7-400, M7-400 -Caractristiques des modules"
prcisent quels blocs de paramtres sont disponibles sur quelles CPU.

A-108

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

Exemples de blocs de paramtres :


comportement la mise en route,
cycle,
MPI
diagnostic,
rmanence,
mmentos de cadence,
traitement d'alarmes,
priphrie interne (uniquement pour S7-300),
niveau de protection,
donnes locales,
horloge temps rel,
erreurs asynchrones.

Paramtrage l'aide de SFC


Outre par paramtrage avec STEP 7, il est galement possible de modifier les paramtres
des modules l'aide de fonctions systme partir du programme S7. Le tableau suivant
indique quelles SFC transfrent quels paramtres de modules.
SFC

Application

SFC55 WR_PARM

Transfert des paramtres modifiables (enregistrement 1) au


module de signaux adress

SFC56 WR_DPARM

Transfert des paramtres des SDB associs au module de


signaux adress

SFC57 PARM_MOD

Transfert de tous les paramtres des SDB associs au module de


signaux adress

SFC58 WR_REC

Transfert d'un enregistrement quelconque au module de signaux


adress

Vous trouverez des informations dtailles sur les fonctions systme dans le manuel de
rfrence "Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions
systme".
Les manuels suivants indiquent quels paramtres de module vous pouvez modifier
dynamiquement.
Manuel "Systme dautomatisation S7-300, Installation et configuration - Caractristiques
des CPU"
Manuel de rfrence "Systmes dautomatisation S7-300, M7-300 - Caractristiques des
modules"
Manuel de rfrence "Systmes dautomatisation S7-400, M7-400 -Caractristiques des
modules"

Programmer avec STEP 7 V5.1


A5E00069874-03

A-109

Annexe

A.7.3

Avantage des fonctions dhorodatage


Toutes les CPU S7-300/S7-400 possdent une horloge (horloge temps rel ou horloge
logicielle). Dans lautomate programmable, lhorloge peut aussi bien fonctionner comme
horloge matre que comme esclave avec synchronisation externe. Elle permet lutilisation
dalarmes horaires et de compteurs dheures de fonctionnement.

Format horaire
Lhorloge affiche toujours lheure (rsolution minimale 1 s) et la date avec le jour de la
semaine. Certaines CPU permettent aussi laffichage de millisecondes (voir le manuel
"Systme dautomatisation S7-300, Installation et configuration Caractristiques des CPU"
et le manuel de rfrence "Systmes dautomatisation S7-400, M7-400, Caractristiques des
modules").

Rglage et lecture de l'heure


Pour rgler lheure et la date de lhorloge de la CPU, vous appelez la SFC0 SET_CLK dans
le programme utilisateur ou choisissez la commande depuis la PG pour dmarrer lhorloge.
La SFC1 READ_CLK ou la commande de menu sur la PG vous permettent de lire la date et
lheure actuelles de la CPU.
Nota : pour viter des indications diffrentes dans les systmes HMI, il est conseill de
rgler la CPU sur l'heure dhiver !

Paramtrage de l'horloge
Lorsquun rseau comporte plus dun module avec horloge, vous devez paramtrer dans
STEP 7, quelle CPU doit fonctionner comme matre et quelle CPU doit fonctionner comme
esclave pour la synchronisation de lheure. Le paramtrage vous permet galement de
dfinir si la synchronisation doit tre ralise via le bus de communication ou via linterface
MPI et ce quels intervalles.

Synchronisation de lheure
Afin de garantir que tous les modules du rseau sont rgls la mme heure, les horloges
esclave du programme systme sont synchronises des intervalles rguliers
(paramtrables) par le programme systme. La fonction systme SFC48 SNC_RTCB vous
permet de transmettre la date et lheure de lhorloge matre aux horloges esclave.

Mise en uvre d'un compteur d'heures de fonctionnement


Un compteur dheures de fonctionnement permet de compter la dure dactivation dun
lment du systme connect ou la dure de fonctionnement de la CPU sous forme de
somme du nombre dheures de fonctionnement.
Le compteur dheures de fonctionnement est stopp lorsque la CPU est ltat darrt. Sa
valeur est conserve aprs un effacement gnral. Lors dun dmarrage, le compteur
dheures de fonctionnement doit tre dmarr par le programme utilisateur, lors dun
redmarrage, il continue fonctionner sil tait activ.
Vous pouvez affecter une valeur initiale au compteur dheures de fonctionnement laide de
la SFC2 SET_RTM. La SFC3 CTRL_RTM vous permet de le dmarrer ou de larrter. Avec
la SFC4 READ_RTM, vous pouvez lire le nombre actuel dheures de fonctionnement ainsi
que ltat du compteur (arrt ou compte).
Une CPU peut possder jusqu 8 compteurs dheures de fonctionnement. La numrotation
dbute 0.

A-110

Programmer avec STEP 7 V5.1


A5E00069874-03

Annexe

A.7.4

Utilisation de mmentos de cadence et de temporisations

Mmentos de cadence
Un mmento de cadence est un mmento dont l'tat binaire change priodiquement dans un
rapport impulsion-pause de 1:1. Vous dterminez, lors du paramtrage du mmento de
cadence avec STEP 7, l'octet de mmento de la CPU qui servira de mmento de cadence.

Utilit
Vous pouvez vous servir de mmentos de cadence dans votre programme utilisateur pour,
par exemple, commander des avertisseurs lumineux avec lampe clignotante ou pour
dclencher des vnements priodiques (comme l'enregistrement d'une valeur de mesure).

Frquences possibles
A chaque bit de l'octet de mmento de cadence est affecte une frquence. Le tableau
suivant prsente cette affectation.
Bits de loctet du
mmento de
cadence

Priode (s)

2,0

1,6

1,0

0,8

0,5

0,4

0,2

0,1

Frquence (Hz)

0,5

0,625

1,25

2,5

10

Nota
Les mmentos de cadence s'excutent de manire asynchrone par rapport au cycle de CPU. Ainsi,
dans les cycles longs, l'tat du mmento de cadence peut changer plusieurs fois.

Temporisations
Les temporisations sont une zone de la mmoire systme. La fonction d'une temporisation
est dfinie par le programme utilisateur (par exemple, retard la monte). Le nombre de
temporisations disponibles dpend de la CPU.

Nota

Si vous faites appel, dans votre programme utilisateur, plus de temporisations que
n'en autorise la CPU, une erreur synchrone est signale et l'OB121 est dclench.
Dans les S7-300 ( l'exception de la CPU 318), les temporisations ne peuvent tre
simultanment dmarres et actualises que dans l'OB1 et dans l'OB100. Dans tous
les autres OB, elles peuvent uniquement tre dmarres.

Programmer avec STEP 7 V5.1


A5E00069874-03

A-111

Annexe

A-112

Programmer avec STEP 7 V5.1


A5E00069874-03

Index
Abrviations slection ..................................... 9-20
ACT_TINT ..............................................4-24, 4-25
Activation
affichage des mnmoniques dans le bloc ..... 7-11
Actualisation
appels de blocs ........................................... 9-21
Adressage
absolu.....................................................7-1, 7-2
symbolique..............................................7-1, 7-2
vrification................................................... 2-10
Adressage absolu et adressage symbolique ...... 7-1
Adressage symbolique ...................................... 7-4
Adresse de rseau modification...............17-8, 17-9
Affectation des interruptions
vrification................................................... 2-10
Affectation et dition de messages sur
mnmonique ..............................................14-14
Affichage
tat du module ............................................ 21-1
langues ......................................................14-16
Affichage
activation des mnmoniques dans le bloc .... 7-11
besoin maximal en donnes locales dans la
structure arborescente ............................. 12-3
bloc supprim.............................................. 12-3
dans la visualisation d'tat de programme .... 19-3
donnes de rfrence...................... 12-10, 12-11
tat de fonctionnement ................................ 16-4
informations sur le bloc pour CONT
LOG
LIST............................................................ 12-9
listes dans des fentres supplmentaires ....12-10
longueurs des blocs..................................... 8-13
mnmoniques manquants...........................12-10
oprandes libres.........................................12-10
sous forme de paires d'appelants-appels.... 12-3
sous forme de structure arborescente .......... 12-3
structure de blocs de donnes associs
un UDT ................................................ 10-6
structure de donnes de blocs de donnes
associs un FB (DB d'instance)............. 10-4
structure du programme .............................12-10
Affichage des messages de CPU et des
messages de diagnostic personnaliss .......14-20
Afficher longueur des blocs ............................. 8-13
Afficher les messages enregistrs de la CPU..14-22
Aide contextuelle............................................... 5-3
Aide en ligne

Programmer avec STEP 7 V5.1


A5E00069874-03

appel............................................................. 5-3
modification de la police................................. 5-3
rubriques ....................................................... 5-3
Alarme cyclique............................................... 4-26
dmarrage................................................... 4-26
rglage........................................................ 4-26
Alarme de dbrochage/enfichage (OB83)....... 21-35
Alarme de diagnostic (OB82) ......................... 21-34
Alarme de processus....................................... 4-28
Alarme de processus
dclenchement ............................................ 4-28
priorit......................................................... 4-28
rglage........................................................ 4-28
Alarme horaire................................................. 4-24
changement de l'heure................................. 4-25
dmarrage................................................... 4-24
dsactivation ............................................... 4-25
interrogation ................................................ 4-24
priorit......................................................... 4-25
Alarme temporise
dclenchement ............................................ 4-26
priorit......................................................... 4-26
rglage........................................................ 4-26
Appel
tat du module depuis la vue du projet ........ 21-6
Appel de la vue rapide ..................................... 21-5
Appel des fonctions d'aide ................................. 5-3
Appels de bloc .................................................. 4-9
Appels de blocs, actualisation .......................... 9-21
Applications techniques ................................... 1-14
Architecture du systme, cycle......................... 4-11
Archivage
conditions requises ...................................... 22-5
marche suivre........................................... 22-6
projets et bibliothques ................................ 22-4
Archive, messages de CPU .................14-20, 14-21
Arrt, dtermination de la cause..................... 21-14
Assistant de cration d'un projet ........................ 6-3
Attribution de numros de message ................. 14-5
Attributs de bloc ..................................... 8-11, 8-12
Attributs de contrle-commande....................... 15-1
Attributs de contrle-commande
modification avec CFC................................. 15-5
Attributs de contrle-commande
configuration au moyen de la table des
mnmoniques .......................................... 15-4
configuration avec LIST, CONT, LOG........... 15-3
Attributs pour blocs et pour paramtres ............ 8-15

Index-1

Index

Attributs systme
dans la table des mnmoniques..................... 7-7
pour la configuration des messages ............. 14-7
pour la configuration des messages PCS7 ..14-12
pour les paramtres....................................... 9-4
AuthorsW ......................................................... 2-2
AuthorsW.exe .................................................. 2-1
Autorisation....................................................... 2-1
Autorisation
dsinstallation ..................................2-1, 2-2, 2-4
disquette originale ......................................... 2-1
installation...............................................2-2, 2-4
installation ultrieure...................................... 2-1
mise jour .................................................... 2-3
perte ............................................................. 2-2
premire installation ...................................... 2-1
restauration................................................... 2-3
transfert ........................................................ 2-1
Autorisation de dpannage................................ 2-1
Autorisations
nombre ......................................................... 2-6
rgles............................................................ 2-4
Baptiser des participants au rseau ................. 17-8
Barre des points d'arrt ................................... 19-5
Barre d'tat
exemple ...................................................... 5-18
Barre d'outils
boutons....................................................... 5-19
Bascule entre les diffrents types de fentres .. 5-32
Besoin en donnes locales......................12-3, 12-5
Bibliothque...................................................... 5-7
Bibliothque standard........................................ 6-5
Bibliothques .................................................... 6-6
Bibliothques
archivage .................................................... 22-4
rorganisation ............................................. 25-2
structure hirarchique.................................. 8-17
utilisation..................................................... 8-16
Bibliothques de textes
traduction...................................................14-17
Bibliothques standard
prsentation ................................................ 8-18
Bloc
attribution de messages sur ......................... 14-6
dfinition de l'environnement d'appel............ 19-8
Bloc apte la signalisation .............................14-10
Bloc de donnes (DB) ....................................... 4-2
Bloc de donnes (DB)
blocs de donnes d'instance ........................ 4-19
global.......................................................... 4-21
structure...................................................... 4-21
Bloc de donnes d'instance.....................4-19, 4-20
cration de plusieurs instances pour un FB .. 4-16
Bloc d'organisation (OB)
OB d'arrire-plan (OB90) .......................4-3, 4-31
Bloc d'organisation pour excution cyclique du
programme (OB1) ....................................... 4-11

Index-2

Bloc d'organisation pour lexcution du


programme en arrire-plan (OB90)............... 4-31
Blocs ...............................................4-2, 13-1, 13-2
Blocs
attributs ....................................................... 8-15
chargement dans le systme cible................ 17-5
chargement depuis la CPU S7 ................... 17-14
commentaires.............................................. 9-12
cration avec GRAPH.................................... 8-6
dans le programme utilisateur ........................ 4-2
droits d'accs ................................................ 9-3
effacement sur le systme cible ................. 17-18
rassignation............................................... 8-14
saisie en LIST ............................................. 9-11
titres............................................................ 9-12
Blocs chargs
dition dans votre PG/PC........................... 17-14
Blocs de code
dans l'diteur incrmental .............................. 9-1
enregistrement ............................................ 9-22
horodatage.................................................. 13-4
structure........................................................ 9-1
Blocs de donnes
enregistrement ............................................ 10-8
modification de valeurs dans la vue
des donnes............................................ 10-7
principes...................................................... 10-1
rinitialisation de valeurs en leur
substituant leur valeur initiale ................... 10-8
saisie/affichage de la structure de
donnes avec FB associ (DB d'instance) 10-4
vue des dclarations.................................... 10-2
vue des donnes ................................ 10-2, 10-3
Blocs de donnes (DB)
blocs de donnes d'instance ........................ 4-16
Blocs de donnes d'instance............................ 4-19
Blocs de donnes d'instance
horodatage.................................................. 13-5
Blocs de donnes globaux
horodatage.................................................. 13-5
saisie de la structure de donnes ................. 10-4
Blocs de donnes globaux (DB) ....................... 4-21
Blocs de signalisation
tableau ........................................................ 14-6
Blocs dj programms ................................... 4-22
Blocs d'organisation .......................................... 4-2
Blocs d'organisation
classes de priorit................................... 4-5, 4-6
dfinition ....................................................... 4-3
dtection d'erreur
OB122
valeurs de remplacement........................... 21-29
informations de dclenchement...................... 4-5
raction aux erreurs..................................... 4-32
Blocs d'organisation et structure du programme . 4-3
Blocs d'organisation pour la mise en route
(OB100/OB101/OB102) ............................... 4-29
Programmer avec STEP 7 V5.1
A5E00069874-03

Index

Blocs dorganisation pour lalarme de


processus (OB40 OB47)........................... 4-28
Blocs d'organisation pour l'alarme
temporise (OB20 OB23).......................... 4-26
Blocs d'organisation pour le traitement de
programme dclench par alarme................ 4-23
Blocs d'organisation pour le traitement
d'erreurs (OB70 OB87 / OB121 OB122) . 4-32
Blocs fonctionnels (FB) ..................................... 4-2
domaine d'application .................................. 4-16
paramtres effectifs .............................4-17, 4-18
Blocs fonctionnels systme .......................4-2, 4-22
Blocs fonctionnels systme, types ................... 4-22
Blocs fonctionnels systme (SFB) et
fonctions systme (SFC).............................. 4-22
Blocs pour la signalisation d'erreurs systme
gnrer ......................................................14-27
Bobines, placement......................................... 9-15
Bote de dialogue onglets ............................. 5-19
Bote de dialogue de slection ......................... 5-24
Bote de dialogue relative au systme
cf. Configuration des messages PCS7 ........14-12
Botes
placement ...........................................9-14, 9-18
suppression
modification................................................. 9-19
Botes de dialogue ..................................5-19, 5-20
Boutons
barre d'outils ............................................... 5-19
Branche T....................................................... 9-18
Branchements interdits en CONT .................... 9-16
CAN_TINT...................................................... 4-25
Caractre de commentaire .............................. 18-4
Carte mmoire, paramtrage.....................2-9, 2-10
Carte MPI dans la PG ou le PC ....................... 2-10
Carte MPI-ISA (Auto) ...................................... 2-10
Catalogue du matriel ....................................... 1-9
Catalogue Elments de programme................... 9-3
CFC............................................................8-2, 8-9
Changement
heure pour l'alarme horaire .......................... 4-24
Charge du cycle due la communication ......... 4-11
Charge due la communication ...................... 4-11
Chargement
blocs depuis la CPU S7 ..............................17-14
conditions pralables................................... 17-1
configuration actuelle et tous les blocs
dans la PG .............................................17-13
depuis le systme cible dans la PG.............17-13
des cartes mmoire EPROM ....................... 17-6
programmes utilisateur dans le systme cible17-2
Chargement de blocs dans le systme cible..... 17-5
Chargement de la configuration de rseau ....... 17-8
Chargement de la configuration de rseau
dans un systme cible ................................. 17-9
Chargement de la configuration des donnes
globales .....................................................17-11
Programmer avec STEP 7 V5.1
A5E00069874-03

Chargement de liaisons dans la PG ............... 17-16


Chargement des modifications de la
configuration de rseau.............................. 17-10
Chargement d'une configuration dans la PG... 17-15
Chargement d'une configuration dans
un systme cible.......................................... 17-7
Chargement d'une configuration de
rseau dans la PG..................................... 17-16
Chargement d'une configuration
depuis une station dans la PG.................... 17-15
Choix
langage de programmation ............................ 8-2
mthode de cration de cration
du programme ........................................... 8-1
Cohrence d'une configuration de station
vrification................................................... 17-7
Cohrence d'une source LIST
vrification................................................. 11-15
Combinaisons de touches
accs l'aide en ligne.................................. 5-31
bascule entre les diffrents types
de fentres .............................................. 5-32
commandes de menu .................................. 5-28
dplacement du curseur...................... 5-30, 5-31
slection de texte......................................... 5-31
Commande squentielle .................................... 8-7
Comment viter des erreurs lors de
l'appel de blocs............................................ 9-23
Commentaires
de blocs ...................................................... 9-13
de rseaux ......................................... 9-12, 9-13
Communication .......... 4-14, 4-15, 17-8, 17-9, 17-10
Compilation
source LIST............................................... 11-16
Composants pris en charge et fonctionnalits. 14-24
Composants SIMATIC pour la configuration
des messages ............................................. 14-4
Compression
contenu de la mmoire d'une CPU S7 ........ 17-19
mmoire utilisateur .................................... 17-18
Compteurs
limites suprieures pour la saisie.................. 18-7
tableau d'affectation..................................... 12-7
Concept d'utilisation ........................................ 5-18
Conception d'une solution d'automatisation ........ 3-1
Conception d'une solution d'automatisation
cration du diagramme d'entres/sorties
pour les moteurs ........................................ 3-6
cration du diagramme d'entres/sorties
pour les soupapes ..................................... 3-7
cration du schma de configuration ............ 3-10
dfinition des exigences en matire
de scurit................................................. 3-8
description des diffrentes zones
fonctionnelles ............................................ 3-4
description des lments de signalisation et
de commande............................................ 3-9

Index-3

Index

entres, sorties, entres/sorties, listes............ 3-6


liste des entres, sorties et entres/sorties ..... 3-6
subdivision du processus en tches et zones . 3-2
zones fonctionnelles ...................................... 3-4
Concet de signalisation, principes.................... 14-1
Condition de dclenchement ..........................18-13
Condition de dclenchement pour l'affichage
de l'tat du programme................................ 19-8
Conditions pralables l'installation .................. 2-7
Conditions pralables au chargement .............. 17-1
Conditions requises, pour l'archivage............... 22-5
Configuration, chargement dans la PG............17-15
Configuration d'attributs de contrle-commande
avec LIST, CONT, LOG............................... 15-3
Configuration de messages
transfert vers WinCC ..................................14-19
Configuration de messages pour les erreurs
systme .....................................................14-23
Configuration de rseau, chargement .. 17-10, 17-11
chargement dans un systme cible .............. 17-9
Configuration de station
chargement dans un systme cible .............. 17-7
Configuration de variables pour le
contrle-commande..................................... 15-1
Configuration des attributs de contrle-commande
au moyen de la table des mnmoniques ...... 15-4
Configuration des donnes globales
chargement................................................17-11
Configuration des messages
composants SIMATIC.................................. 14-4
Configuration des messages de CPU..............14-22
Configuration des messages PCS7 ..... 14-12, 14-13
Configuration multi-utilisateur .......................... 23-1
Configuration multi-utilisateur au sein du
rseau Windows.......................................... 23-1
configuration prvue-configuration relle.......... 4-29
Configurer....................................................... 25-1
Conflits d'horodatage....................................... 13-3
Conseils et astuces ................. 1-9, 25-1, 25-2, 25-4
CONT..................................................8-2, 8-3, 8-4
CONT
affichage d'informations sur le bloc .............. 12-9
branchements interdits ................................ 9-16
Contenu des piles l'tat d'arrt .....................21-14
Contrle des modules
configuration prvue-configuration relle
OB de mise en route.................................... 4-29
Contrle des temps de cycle pour viter
les erreurs d'horloge...................................21-16
Contrle-commande de variables .................... 15-1
Conventions pour l'attribution de noms
pour les donnes de configuration ............... 15-1
Copie ou dplacement de tables de variables .. 18-3
Correction
des interfaces dans une FC
un FB ou un UDT ........................................ 9-22
Correction d'erreurs

Index-4

exemples de programmation ...................... 21-24


Court-circuit .................................................... 9-16
CPU
chargement d'une configuration ................... 17-7
effacement gnral ..........................17-17, 17-18
simulation.................................................... 20-1
Cration
objets .......................................................... 5-20
Cration
de programmes utilisateur.............................. 9-1
diagramme d'entres/sorties pour les
moteurs ..................................................... 3-6
diagramme d'entres/sorties pour les
soupapes................................................... 3-7
donnes de rfrence ................................ 12-11
schma de configuration .............................. 3-10
source LIST............................................... 11-13
table de variables ........................................ 18-2
Cration de programmes
marche suivre.........................1-1, 1-3, 1-4, 1-5
Cration du schma de configuration dans
l'exemple d'un processus de mlange
industriel ..................................................... 3-10
Cration d'un projet ........................................... 6-3
Cration et manipulation d'objets ..................... 5-20
Cycle ..............4-3, 4-4, 4-11, 4-12, 4-13, 4-14, 4-15
Cyclique
traitement du programme............................... 4-7
DB .................................................................. 4-21
DB
tableau du format....................................... 11-12
DB dans une source LIST
exemples................................................... 11-22
Dcalage de phase.......................................... 4-27
Dclarations de variables dans une source LIST
exemples................................................... 11-17
Dclenchement, alarme temporise ................. 4-26
Dclenchement, alarme de processus.............. 4-28
dfinition pour la visualisation de variables . 18-13
dfinition pour le forage de variables ........ 18-16
Dclenchement du traitement du programme
par alarme..................................................... 4-3
Dfaillance d'unit (OB86) ............................. 21-37
Dfauts
localisation .................................................. 21-1
Dfinition
de mnmoniques lors de la saisie
du programme ......................................... 7-11
dclenchement pour la visualisation
de variables ........................................... 18-13
dclenchement pour le forage de variables18-16
environnement d'appel du bloc..................... 19-8
exigences en matire de scurit ................... 3-8
priorit de l'oprande ..................................... 7-5
Dfinition de l'environnement d'appel de
multiinstances.............................................. 19-8

Programmer avec STEP 7 V5.1


A5E00069874-03

Index

Dfinition des adresses des participants la


communication ............................................ 17-8
Dmarrage
alarme cyclique ........................................... 4-27
alarme horaire.....................................4-24, 4-25
STEP 7 ......................................................... 5-1
Dmarrage
installation de STEP 7 ................................... 2-9
STEP 7 avec des paramtres initiaux prdfinis52
Dmasquage
vnements de dclenchement ................... 4-32
Dplacer un objet............................................ 5-20
Dsactivation, alarme horaire .......................... 4-24
Dsarchivage, marche suivre........................ 22-6
Description
des diffrentes zones fonctionnelles............... 3-4
des lments de signalisation et de commande
requis........................................................ 3-9
exigences en matire de scurit pour l'exemple
d'un processus de mlange industriel......... 3-8
Description des diffrentes tches et zones
pour l'exemple de mlangeur industriel .......... 3-4
Description du poste d'opration pour l'exemple
d'un processus de mlange industriel............. 3-9
Dsinstallation
autorisation ......................................2-1, 2-2, 2-3
STEP 7 ....................................................... 2-12
Dtection d'erreur
exemples de programmes
valeurs de remplacement............................21-29
utilisation d'OB d'erreur en raction aux
erreurs .................................................... 4-32
Dtection d'erreurs, types d'OB, OB81............21-24
Diagnostic systme, extension........................21-20
Diagramme de sorties pour les moteurs
cration......................................................... 3-6
Diagramme de sorties pour les soupapes
cration......................................................... 3-7
Diagramme d'entres pour les moteurs
cration......................................................... 3-6
Diagramme d'entres pour les soupapes
cration......................................................... 3-7
Diffrence entre l'enregistrement et le
chargement de blocs ................................... 17-2
Diffrences entre forage de variables et forage
permanent de variables ..............................18-21
DIS_AIRT ....................................................... 4-32
DIS_IRT ......................................................... 4-32
Disposition, botes...................................9-18, 9-19
Disposition des fentres
enregistrement ............................................ 5-27
restauration................................................. 5-27
Disposition des fentres de table de
mnmoniques modification .......................... 5-26
Disquette d'autorisation ................. 2-1, 2-2, 2-3, 2-4
DMSK_FLT..................................................... 4-32
Programmer avec STEP 7 V5.1
A5E00069874-03

DOCPRO........................................................ 22-2
Documentation ........................................... 1-1, 1-4
Documentation des lments constituants
du projet, impression ................................... 22-1
Documentation du projet
impression................................................... 22-1
Documentation d'un projet entier
impression................................................... 22-1
Donnes de configuration ....................... 15-1, 15-2
Donnes de configuration
conditions pralables au transfert................. 15-6
conditions requises pour le transfert ........... 14-19
transfert.............................................14-19, 15-6
Donnes de diagnostic sur les modules ......... 21-18
Donnes de rfrence ..................................... 12-1
Donnes de rfrence
affichage .........................................12-10, 12-11
application................................................... 12-1
cration ..................................................... 12-11
gnration ................................................. 12-11
Donnes d'tat du diagnostic ......................... 21-18
Donnes systme.......................................... 21-19
Dossier, Blocs ................................................. 8-10
Dossier Blocs .................................5-12, 5-13, 8-10
Dossier Sources ..................................... 5-15, 5-16
Dossiers des schmas de l'installation
impression................................................... 22-1
Download (configuration de rseau)............... 17-10
Droit d'accs ................................................... 16-2
Droits d'accs aux blocs ou aux sources ............ 9-3
Editeur
prslections pour LIST ................................. 9-2
Editeur de langage, dmarrage.......................... 8-2
Edition
dans la table des mnmoniques ................... 7-11
de blocs chargs dans votre PG/PC........... 17-14
source S7.................................................. 11-13
Effacement
blocs S7 sur le systme cible ..................... 17-18
mmoire de chargement/travail .................. 17-17
Effacement gnral, CPU ....................17-17, 17-18
Effacer des objets STEP 7............................... 5-20
Elments constituants du projet, impression ..... 22-1
Elments constituants d'un message ............... 14-4
Elments dans les botes de dialogue .............. 5-19
Elments de commande
description dans l'exemple d'un processus de
mlange industriel...................................... 3-9
Elments de programme insertion...................... 9-3
Elments de signalisation description................. 3-9
EN / ENO connexion ....................................... 9-19
En ligne (aide)
appel............................................................. 5-4
rubriques ....................................................... 5-3
EN_AIRT ........................................................ 4-32
EN_IRT........................................................... 4-32
Enregistrement

Index-5

Index

blocs de code.............................................. 9-22


blocs de donnes ........................................ 10-8
disposition des fentres ............................... 5-27
source LIST ...............................................11-15
table de variables ........................................ 18-3
Entres
listes ............................................................. 3-6
tableau d'affectation .................................... 12-5
Entres/sorties, listes ........................................ 3-6
Environnement d'appel du bloc, dfinition ........ 19-8
Envoi
de vos propres messages de diagnostic......21-20
Envoi de vos propres messages de diagnostic 21-20
Erreur, durant l'installation ................................. 2-9
Erreur asynchrone, OB81 ...............................21-24
Erreur d'accs la priphrie (OB122) ...........21-39
Erreur d'alimentation (OB81) ..........................21-33
Erreur de communication (OB87)....................21-37
Erreur de programmation (OB121)..................21-38
Erreur de redondance de communication
(OB73).......................................................21-32
Erreur de redondance de CPU (OB72)............21-31
Erreur de redondance de priphrie (OB70)....21-31
Erreur de temps (OB80) .................................21-33
Erreur dtectable ...........................................21-24
Erreur dexcution du programme (OB85)........21-36
Erreur matrielle CPU (OB84) ........................21-36
Erreur systme ..............................................21-21
Erreurs asynchrones
utilisation d'OB en raction aux erreurs ........ 4-32
Erreurs lors de l'appel de blocs, viter.............. 9-23
Erreurs synchrones
utilisation d'OB en raction aux erreurs ........ 4-32
Erreurs systme
signalisation ...............................................14-24
Etablissement ................................................. 16-2
d'une liaison en ligne depuis la fentre
en ligne du projet ..................................... 16-2
Etablissement
liaison en ligne depuis la fentre
"Partenaires accessibles"......................... 16-1
liaisons en ligne........................................... 16-1
Etablissement d'une liaison la CPU..............18-12
Etablissement d'une liaison en ligne depuis la
fentre en ligne du projet ............................. 16-2
Etat d'arrt
contenu des piles .......................................21-14
Etat de fonctionnement
affichage et modification .............................. 16-4
Etat de fonctionnement "Attente"
informations ................................................ 19-6
Etat du module........................................1-9, 21-12
affichage ..................................................... 21-2
Etat du module
appel depuis la vue du projet (en ligne) ........ 21-6
fonctions d'information................................21-10
possibilits d'appel ...................................... 21-9

Index-6

Etat du programme.......................................... 19-8


Etat du programme de blocs de donnes ......... 19-7
Etat du programme lors d'appel de
multiinstances.............................................. 19-8
Evnement de diagnostic............................... 21-21
Evnements
asynchrones................................................ 4-15
Evnements de dclenchement
masquage ................................................... 4-33
OB de mise en route.................................... 4-29
retardement................................................. 4-32
Exemple
FC dans une source LIST .......................... 11-19
OB dans une source LIST.......................... 11-18
saisie d'oprandes dans une table de
variables.................................................. 18-8
saisie dune plage doprandes continue........ 18-8
UDT dans une source LIST........................ 11-23
Exemple de recherche d'occurrences............. 12-13
Exemples
DB dans une source LIST .......................... 11-22
dclarations de variables dans une
source LIST ........................................... 11-17
saisie de valeurs de forage/forage
permanent ............................................... 18-9
Exemples de programmation
raction une dfaillance de pile ............... 21-24
Exemples de programme
exemple de mlangeur industriel
description
des diffrentes zones et tches ...................... 3-4
exemple d'un processus de mlange industriel
description du poste d'opration ..................... 3-9
Exemples de programmes
exemple d'un processus de mlange industriel
cration du schma de configuration ............ 3-10
dfinition des exigences en matire
de scurit................................................. 3-8
description des diffrentes tches et zones
cration d'un diagramme d'entres/sorties ...... 3-6
subdivision d'un processus en tches............. 3-2
insertion de valeurs de remplacement ........ 21-29
valeurs de remplacement........................... 21-29
Exigences en matire de scurit
dfinition pour l'exemple d'un processus de
mlange industriel...................................... 3-8
Exploitation
paramtre de sortie RET_VAL .........21-23, 21-24
Exportation
tables de mnmoniques ............................... 7-15
FB..................................................4-16, 4-17, 4-18
DB gnrs ............................................... 14-29
FB
correction de l'interface ................................ 9-22
tableau du format....................................... 11-10
FC .................................................................. 4-16
FC
Programmer avec STEP 7 V5.1
A5E00069874-03

Index

correction de linterface................................ 9-22


tableau du format .......................................11-11
FC dans une source LIST
exemple .......................................... 11-19, 11-20
Fentre de projet.........................................6-1, 6-2
Fentres
bascule entre les diffrents types ................. 5-32
Fichiers source dans GRAPH ............................ 8-6
Filtres pour les mnmoniques .......................... 7-12
Fonction (FC)............................................4-2, 4-16
Fonction (FC)
domaine d'application .................................. 4-16
Fonction de recherche d'erreurs dans la section des
instructions.................................................. 9-13
Fonctionnalits de
"Signalisation d'erreurs systme" ................14-24
Fonctions........................................................ 22-2
Fonctions (FC) ................................................ 4-16
Fonctions de diagnostic..................................21-21
Fonctions de renseignement.............................. 1-9
Fonctions d'information ..................................21-12
Fonctions d'information de la vue du diagnostic 21-8
Fonctions d'information de la vue rapide .......... 21-5
Fonctions d'information de l'tat du module.....21-10
Fonctions systme ....................................4-2, 4-22
Fonctions systme, types ................................ 4-22
Forage, marche suivre ................................ 18-2
Forage de variables, Introduction ..................18-15
Forage de variables
dfinition du dclenchement .......................18-16
Forage permanent de variables.....................18-18
Introduction ................................................18-18
Forage permanent de variables
mesures de scurit ...................................18-20
Format de page, dfinition............................... 22-3
Formats de fichier pour l'importation/exportation
d'une table des mnmoniques...................... 7-15
Formats pour les blocs dans une source LIST.. 11-9
Gnration
donnes de rfrence.................................12-11
source LIST partir de blocs ......................11-14
Gnration de blocs pour la signalisation
d'erreurs systme.......................................14-27
Gestion multilingue des textes ........................... 6-9
GRAPH ...............................................8-2, 8-6, 8-7
Graphe d'tat .................................................... 8-7
Guide de STEP 7 .............................................. 1-1
Heure, modification ......................................... 4-25
Hirarchie d'appel dans le programme utilisateur 4-9
Hirarchie des objets
constitution.................................................. 5-21
Hirarchie d'objets ............................................ 5-5
HiGraph...............................................8-2, 8-7, 8-8
Historique des sessions................................... 5-26
Horodatage
dans les blocs de code ................................ 13-4
dans les blocs de donnes d'instance .......... 13-5
Programmer avec STEP 7 V5.1
A5E00069874-03

dans les blocs de donnes globaux.............. 13-5


dans les UDT et DB repris d'UDT ................. 13-6
Horodatage comme proprit de bloc............... 13-3
Icnes de diagnostic
dans la vue en ligne..................................... 21-3
Icnes des objets dans SIMATIC Manager......... 5-5
Identification de mnmoniques........................... 7-4
Importation source externe ................................ 6-5
table des mnmoniques ............................... 7-15
Impression
blocs ........................................................... 22-1
contenu de la mmoire tampon de diagnostic22-1
documentation du projet............................... 22-1
donnes de rfrence .................................. 22-1
lments constituants du projet .................... 22-1
table de configuration .................................. 22-1
table des donnes globales.......................... 22-1
table des mnmoniques ............................... 22-1
table des variables....................................... 22-1
Imprimante configuration ........................ 22-2, 22-3
Informations mnmonique ................................. 7-1
Insertion
modles de blocs dans une source LIST .... 11-13
oprandes ou mnmoniques dans une table de
variables.................................................. 18-4
programme S7/M7 ......................................... 6-6
source externe........................................... 11-14
valeurs de forage ....................................... 18-5
valeurs de remplacement en cas d'erreur
dtecte ................................................ 21-29
Insertion de lignes de commentaire.................. 18-7
Insertion d'une source externe ....................... 11-14
Insertion d'une station........................................ 6-4
Installation
STEP 7 .................................................. 2-7, 2-8
Installation de l'autorisation aprs le Setup ......... 2-1
Installation de l'autorisation durant le Setup........ 2-1
Installation de STEP 7 ....................................... 2-7
Installation et dsinstallation de l'autorisation ..... 2-1
Instance .......................................................... 4-19
Instructions, saisie, marche suivre................. 9-11
Instructions CONT
rgles pour la saisie..................................... 9-14
Instructions du catalogue Elments
de programme............................................... 9-3
Instructions LIST
rgles pour la saisie............................ 9-20, 11-2
Instructions LOG
rgles pour la saisie..................................... 9-18
Interface homme/machine ............................... 1-17
Interface MPI..................................................... 2-7
Interface PG/PC .............................................. 2-12
Interface PG/PC
paramtrage...............................2-10, 2-11, 2-12
Interface utilisateur .......................................... 5-18
Interrogation de l'alarme horaire....................... 4-24
Intervalles dans la mmoire utilisateur (RAM). 17-18

Index-7

Index

Introduction au forage permanent


de variables ...............................................18-18
Introduction au test avec des tables
de variables ................................................ 18-1
Langage de programmation
CFC.............................................................. 8-9
choix............................................................. 8-2
CONT (schma contacts)............................ 8-3
dfinition ....................................................... 8-2
GRAPH (commande squentielle).................. 8-6
HiGraph (graphe d'tat) ................................. 8-7
LOG (logigramme)......................................... 8-4
SCL .............................................................. 8-5
Langage de programmation LIST
(liste d'instructions)........................................ 8-5
Langages de programmation ............................. 1-5
Langues d'affichage .......................................14-16
Langues de visuel ..........................................14-16
Largeur de zone d'oprande....................9-14, 9-17
Liaison la CPU ............................................18-12
Liaison en ligne............................................... 16-2
tablissement d'une liaison en ligne depuis la
fentre en ligne du projet ......................... 16-2
Liaison en ligne
tablissement depuis la fentre "Partenaires
accessibles" ............................................ 16-1
Liaisons en ligne
tablissement.............................................. 16-1
Licence d'utilisation ........................................... 2-1
Ligne de commentaire..................................... 18-4
Lignes de commentaire
insertion ...................................................... 18-7
Lignes d'en-tte et de bas de page .................. 22-2
Limites suprieures pour la saisie de compteurs18-7
Limites suprieures pour la saisie de
temporisations............................................. 18-6
LIST ....................................................8-2, 8-3, 8-5
LIST
affichage d'informations sur le bloc .............. 12-9
paramtres.................................................. 9-20
saisie de blocs ............................................ 9-11
Liste des entres
sorties et entres/sorties................................ 3-6
Liste des rfrences croise ............................ 12-2
Liste d'tat systme
contenu......................................................21-18
lecture........................................................21-19
Liste d'tat systme (SZL) ..............................21-18
Liste d'instructions............................................. 8-5
Listes de textes destins l'utilisateur ............14-16
Localisation des dfauts .................................. 21-1
LOG ................................................................. 8-4
LOG
affichage d'informations sur le bloc .............. 12-9
Logiciel de base STEP 7 ................................... 1-5
Logiciel optionnel .................. 20-1, 24-3, 24-4, 24-5
Logiciel optionnel pour la programmation M7 ... 24-3

Index-8

Logiciels excutables ...................................... 1-16


Logigramme...................................................... 8-4
Longueur des blocs
affichage ............................................ 8-13, 8-14
M7-300/400
systmes dexploitation................................. 24-1
Majuscules/minuscules pour les mnmoniques 7-13
Make (voir Vrifier la cohrence des blocs) ...... 13-1
Manipulation
objets ....................... 5-20, 5-21, 5-22, 5-23, 5-24
Manuel....................................................... 1-1, 1-5
Marche suivre
affichage et modification de l'tat de
fonctionnement ........................................ 16-4
affichage et rglage de l'heure et de la date.. 16-5
pour dterminer la cause d'un passage
l'tat d'arrt......................................... 21-14
pour la cration de blocs de code................... 9-1
pour la saisie d'instructions .......................... 9-11
pour la visualisation et le forage.................. 18-2
pour larchivage/le dsarchivage................... 22-6
pour les systmes M7 .................................. 24-1
Marche suivre pour la programmation
S7 .......................................................... 1-1, 1-4
Marche suivre pour les systmes M7 ............ 24-1
Marche suivre pour l'installation de STEP 7 ..... 2-8
Masquage
vnements de dclenchement.................... 4-32
Mmentos
tableau d'affectation............................ 12-5, 12-6
Mmoire de chargement .................................. 17-3
Mmoire de chargement et mmoire de
travail dans la CPU...................................... 17-2
Mmoire de chargement/travail
effacement ......................................17-17, 17-18
Mmoire de travail........................................... 17-3
Mmoire image
mise jour ......................................... 4-12, 4-14
Mmoire image
effacer......................................................... 4-29
Mmoire image du processus .......................... 4-11
Mmoire tampon de diagnostic
contenu ..................................................... 21-21
lecture....................................................... 21-17
Mmoire utilisateur
compression.............................................. 17-19
Mmoire virtuelle
paramtrage................................................ 25-4
Message
lments constituants .................................. 14-4
exemple ...................................................... 14-5
Message de diagnostic
criture de vos propres messages.............. 21-20
envoi aux correspondants .......................... 21-20
Message SCAN
cf. Message sur mnmonique .................... 14-14
Messages de CPU
Programmer avec STEP 7 V5.1
A5E00069874-03

Index

affichage ....................................................14-20
configuration ..............................................14-22
taille de larchive.........................................14-20
Messages de diagnostic personnaliss
affichage ....................................................14-20
cration et dition .......................................14-15
Messages sur bloc
affectation et dition .................................... 14-6
cration......................................................14-11
Messages sur mnmonique
affectation la table des mnmoniques.......14-14
signaux autoriss .......................................14-14
Mesures prendre dans le programme
pour traiter les erreurs ................................21-22
Mesures de scurit pour le forage
permanent de variables ..............................18-20
Mise jour, mmoire image du processus ....... 4-14
Mise jour, autorisation .................................... 2-1
Mise en page CONT ....................................... 9-14
Mise en page LOG .......................................... 9-17
Mnmonique, message sur ............................14-14
Mnmoniques .........................................7-13, 7-14
Mnmoniques
dans la structure du programme................... 12-3
dfinition lors de la saisie du programme...... 7-11
filtres........................................................... 7-12
globaux......................................................... 7-3
insertion dans une table de variables ........... 18-4
locaux ........................................................... 7-3
majuscules/minuscules........................7-13, 7-14
saisie .......................................................... 7-12
tri 7-12
Mnmoniques globaux
saisie dans la table des mnmoniques ......... 7-12
saisie dans un programme........................... 9-12
saisie individuelle dans les botes de
dialogue .................................................. 7-11
Mnmoniques globaux et mnmoniques locaux . 7-3
Mnmoniques incomplets ou non univoques dans la
table des mnmoniques................................. 7-9
Mnmoniques manquants ............................... 12-8
Mnmoniques manquants
affichage ....................................................12-10
Mode de substitution ....................................... 9-13
Modle de message................................14-8, 14-9
Modle de message et messages.................... 14-8
Modles de blocs
insertion dans une source LIST...................11-13
Modification
disposition des fentres ............................... 5-26
tat de fonctionnement ................................ 16-4
valeurs dans la vue des donnes de blocs de
donnes .................................................. 10-7
Modification de l'adresse de rseau pour les
stations S7 .................................................. 17-8
Modification de l'adresse PROFIBUS pour les
esclaves DP................................................ 17-8
Programmer avec STEP 7 V5.1
A5E00069874-03

Modification de l'tat de fonctionnement de la CPU


lors du chargement ...................................... 17-8
Modification des attributs de contrle-commande
avec CFC .................................................... 15-5
Module
simulation.................................................... 20-1
Module de signaux
simulation.................................................... 20-1
Modules
remplacement dans la table de configuration 25-1
Modules de signaux aptes aux alarmes de
processus, paramtrage .............................. 4-28
Modules en cours .............................................. 1-9
Mot de passe ......................................... 16-2, 16-3
Moteurs
cration du diagramme d'entres/sorties ........ 3-6
MSK_FLT........................................................ 4-32
Multi-instance......................................... 4-16, 4-19
Multi-instances
rgles............................................................ 9-9
saisie dans la table de dclaration des
variables.................................................... 9-9
utilisation ....................................................... 9-8
Multi-utilisateur
voir Configuration multi-utilisateur................. 23-1
Navigateur ...................................................... 5-24
Nouveauts dans la version 5.1 de STEP 7........ 1-9
Numros de message
attribution .................................................... 14-5
OB................................................4-3, 4-5, 4-6, 4-7
OB
tableau du format......................................... 11-9
OB 70 ........................................................... 21-31
OB d'alarme
paramtrage....................................... 4-24, 4-25
OB d'alarme
dsactivation ................................................. 4-6
paramtrage.................................................. 4-5
OB d'alarme de dbrochage/enfichage........... 21-35
OB d'alarme de diagnostic ...................21-34, 21-36
OB dans une source LIST
exemple .................................................... 11-18
OB d'arrire-plan
priorit......................................................... 4-31
programmation ............................................ 4-31
OB de dfaillance d'unit ............................... 21-37
OB de mise en route........................................ 4-29
OB de mise en route
contrle des modules................................... 4-30
vnements de dclenchement.................... 4-29
OB d'erreur ................................................... 21-24
OB d'erreur
types d'OB
OB121 et OB122 ......................................... 4-32
OB70 et OB72 ............................................. 4-32
OB80 OB87 .............................................. 4-32

Index-9

Index

utilisation d'OB d'erreur en raction aux


vnements ............................................ 4-32
OB d'erreur d'accs la priphrie .................21-39
OB d'erreur d'alimentation ..............................21-33
OB d'erreur de communication .......................21-37
OB d'erreur de programmation .......................21-38
OB d'erreur de redondance de communication21-32
OB derreur de redondance de CPU ................21-31
OB d'erreur de redondance de priphrie........21-31
OB d'erreur de temps .....................................21-33
OB derreur dexcution du programme ............21-36
OB d'erreur en raction la dtection
d'une erreur................................................21-24
OB d'erreur gnrs (signalisation d'erreurs
systme) ....................................................14-28
OB d'erreur matrielle CPU ............................21-36
OB100 ............................................................ 4-29
OB101 ............................................................ 4-29
OB102 ............................................................ 4-29
OB121 ...........................................................21-38
OB121 et OB122............................................. 4-33
OB122 ...........................................................21-39
OB20 OB23 ................................................. 4-26
OB40 OB47 ................................................. 4-28
OB70 OB87 ................................................. 4-32
OB72.............................................................21-31
OB73.............................................................21-32
OB80.............................................................21-33
OB81.............................................................21-33
OB82.............................................................21-34
OB83.............................................................21-35
OB84.............................................................21-36
OB85.............................................................21-36
OB86.............................................................21-37
OB87.............................................................21-37
OB90.............................................................. 4-31
OBd'alarme..................................................... 4-23
Utilisation .................................................... 4-23
Objet
couper copier coller ................................... 5-20
crer ...................................................5-20, 5-21
dplacer...................................................... 5-23
effacer ........................................................ 5-20
hirarchie............................................5-21, 5-22
manipuler .................................................... 5-20
ouvrir ..................................................5-21, 5-22
proprits................................... 5-21, 5-22, 5-23
renommer ................................................... 5-20
Objet
slection .............................................5-24, 5-25
Objet Bibliothque............................................. 5-7
Objet Dossier Blocs......................................... 5-12
Objet Dossier Sources..................................... 5-15
Objet Module programmable ............................. 5-9
Objet Programme S7/M7................................. 5-10
Objet Projet....................................................... 5-6
Objet Station..................................................... 5-8

Index-10

Objets ........................................................ 5-5, 5-6


comme supports de proprits ....................... 5-5
Objets
comme dossiers ............................................ 5-5
comme supports de fonctions......................... 5-6
Objets et hirarchie d'objets............................... 5-5
Oprandes
insertion dans une table de variables............ 18-4
rassignation...................................... 8-14, 8-15
Oprandes et types de donnes autoriss dans la
table des mnmoniques ................................. 7-8
Oprandes libres ............................................. 12-7
Oprandes libres
affichage ................................................... 12-10
Outdoor............................................................. 1-9
Ouverture
table de variables ........................................ 18-2
table des mnmoniques ............................... 7-12
Paramtrage
interface PG/PC .......................................... 2-10
mmoire virtuelle ......................................... 25-4
modules de signaux aptes aux alarmes de
processus................................................ 4-28
Paramtrage de la signalisation d'erreurs
systme .................................................... 14-27
Paramtrage de l'interface PG/PC .......... 2-10, 2-11
Paramtre de CPU "Charge du cycle due la
communication" ........................................... 4-14
Paramtre de sortie RET_VAL
exploitation................................................ 21-23
Paramtres
attributs ....................................................... 8-15
pour le langage de programmation LIST....... 9-20
pour le langage de programmation LOG....... 9-17
Paramtres effectifs......................................... 4-16
Paramtres formels
attributs systme et blocs de signalisation .... 14-8
Paramtres pour le langage de programmation
CONT ......................................................... 9-14
Partenaires accessibles ................................... 16-1
Partenaires accessibles
affichage ..................................................... 16-1
Particularits pour l'impression de l'arborescence
des objets.................................................... 22-3
Perte de l'autorisation ........................................ 2-1
Pile L
enregistrement de variables temporaires ...... 4-16
Placement
botes.......................................................... 9-18
Positionnement rapide sur les occurrences
dans le programme.................................... 12-12
Possibilits d'affichage
pour les messages de CPU et les messages
de diagnostic personnaliss ................... 14-20
Possibilits d'appel de l'tat du module ............ 21-9
Possibilits de chargement selon la mmoire
de chargement ............................................ 17-4
Programmer avec STEP 7 V5.1
A5E00069874-03

Index

Possibilits de saisie de mnmoniques globaux 7-10


Possibilits d'enregistrement / archivage.......... 22-5
Possibilits d'extension du logiciel de base
STEP 7 ....................................................... 1-13
Poste d'opration
description .................................................... 3-9
Premier chargement de la configuration de
rseau ........................................................ 17-8
Prslections
diteur LIST .................................................. 9-2
Prslections pour l'diteur de programmes
CONT/LOG/LIST ........................................... 9-2
Prsentation
bibliothques standard................................. 8-18
Prsentation des donnes de rfrence
possibles..................................................... 12-1
Prvention de blessures du personnel ............18-18
Prvention de dommages matriels ................18-18
Principes
blocs de donnes ........................................ 10-1
Principes de la programmation dans
des sources LIST ........................................ 11-1
Principes du concept de signalisation .............. 14-1
Priorit
alarme horaire............................................. 4-24
alarme temporise....................................... 4-26
Priorit
alarme de processus ................................... 4-28
modification................................................... 4-5
OB d'arrire-plan ......................................... 4-31
Priorit de l'oprande
dfinition ....................................................... 7-5
Procd de numro de message ..................... 14-2
Procd de signalisation
slection ..................................................... 14-2
Procd de signalisation par bit ...............14-1, 14-2
Procdure
compression du contenu de la mmoire
d'une CPU S7.........................................17-19
Procdure de principe
pour limpression.......................................... 22-2
Processus
subdivision .................................................... 3-2
subdivision en tches et zones ...................... 3-2
subdivision en tches pour l'exemple d'un
processus de mlange industriel ................ 3-2
PROFIBUS DP ................................................. 1-9
Profils ............................................................... 1-9
Profondeur d'imbrication.................................... 4-9
Programmation
transmission de paramtres......................... 4-16
utilisation de blocs de donnes .................... 4-16
Programmation
OB d'arrire-plan ......................................... 4-31
Programmation linaire ..................................... 4-8
Programmation structure ................................. 4-3
Programme
Programmer avec STEP 7 V5.1
A5E00069874-03

choix de la mthode de cration..................... 8-1


Programme CFC ............................................. 24-1
Programme d'autorisation .................................. 2-3
Programme de mise en route........................... 4-29
Programme de simulation ................................ 20-1
Programme M7
insertion ................................................. 6-6, 6-7
Programme S7
insertion ........................................................ 6-5
Programme S7/M7 sans station ni CPU ........... 5-16
Programme structur
avantages ..................................................... 4-2
Programme utilisateur
lments ....................................................... 4-2
tches ........................................................... 4-1
Programmes dans une CPU .............................. 4-1
Programmes utilisateur
chargement dans le systme cible................ 17-2
Projet ......................................................... 5-6, 5-7
Projet
copie ............................................................. 6-8
cration l'aide de l'assistant......................... 6-3
cration manuelle .......................................... 6-3
ouverture....................................................... 6-8
suppression................................................... 6-8
Projets, renommer.................................. 5-22, 5-23
Projets
archivage .................................................... 22-4
ordre de traitrement ....................................... 6-3
rorganisation ............................................. 25-2
Projets comportant un grand nombre de
stations en rseau ....................................... 25-1
Projets volumineux .......................................... 25-1
Proprit de bloc
horodatage.................................................. 13-3
Proprits de bloc ............................................. 9-1
Proprits de bloc
affichage de la longueur des blocs ............... 8-13
Proprits de bloc autorises pour chaque
type de bloc................................................. 11-6
Proprits du dossier Blocs
affichage de la longueurs de blocs ............... 8-13
Protection contre la copie .................................. 2-1
Protection par mot de passe contre l'accs
aux systmes cibles..................................... 16-2
Protection par mot de passe contre les accs
aux systmes cible ...................................... 16-2
QRY_TINT ...................................................... 4-24
Quels blocs de signalisation existe-t-il ? ........... 14-6
Quels procds de signalisation existe-t-il ? ..... 14-1
RDSYSST...........................................21-17, 21-19
Rassignation
blocs .................................................. 8-14, 8-15
oprandes .......................................... 8-14, 8-15
Recherche d'erreurs ........................................ 21-1
Recherche d'erreurs
dans les blocs ............................................. 9-13

Index-11

Index

Recherche derreurs dans une source LIST ....11-15


Rglage
alarme cyclique ........................................... 4-26
alarme horaire............................................. 4-24
alarme temporise....................................... 4-26
Rglage
alarme de processus ................................... 4-28
heure et date............................................... 16-5
Rgle
pour l'importation de tables des
mnmoniques.......................................... 7-15
Rgles
pour CONT ................................................. 9-14
pour la dclaration de variables dans
une source LIST ...................................... 11-3
pour la dfinition d'attributs systme
dans une source LIST.............................. 11-4
pour la dfinition de proprits de bloc
dans une source LIST.............................. 11-5
pour la formation de multi-instances ............... 9-9
pour la saisie d'instructions CONT ............... 9-14
pour la saisie d'instructions dans
une source LIST ...................................... 11-2
pour la saisie d'instructions LIST.................. 9-20
pour la saisie d'instructions LOG.................. 9-18
pour l'exportation de tables des
mnmoniques.......................................... 7-15
pour LOG.................................................... 9-18
pour l'ordre des blocs dans une source LIST 11-4
pour l'utilisation d'autorisations....................... 2-4
Rgles pour l'autorisation .................................. 2-4
Rinitialisation
de valeurs en leur substituant leur
valeur initiale ........................................... 10-8
Relation entre la table de dclaration d
es variables et la section des instructions ....... 9-5
Remarque gnrales
sur les tables de dclaration de variables ....... 9-7
Remarque sur l'actualisation du contenu
de la fentre................................................ 16-3
Remarques gnrales
sur la saisie de mnmoniques...................... 7-10
Remplacement de modules ............................. 25-1
Renommer
objet ................................. 5-21, 5-22, 5-23, 5-24
projet ................................ 5-20, 5-22, 5-23, 5-24
Rorganisation de projets et de bibliothques .. 25-2
Reprsentation
mnmoniques globaux et mnmoniques
locaux ....................................................... 7-4
Rseaux ........................................................... 8-4
Rseaux
commentaires .....................................9-12, 9-13
terminaison en CONT.................................. 9-14
titres ........................................................... 9-12
Rseaux matre DP........................................... 1-9
Ressources de liaison ....................................... 1-9

Index-12

Restauration
autorisation ................................................... 2-1
disposition des fentres ............................... 5-27
Retardement
vnements de dclenchement.................... 4-33
RPL_VAL ...................................................... 21-29
Saisie
de mnmoniques ......................................... 7-12
de mnmoniques globaux individuels dans
les botes de dialogue .............................. 7-11
mnmoniques globaux dans un programme . 9-12
multi-instances dans la table de dclaration
des variables ............................................. 9-9
structure de blocs de donnes associs
un UDT.................................................... 10-6
structure de donnes de blocs de donnes
associs un FB (DB d'instance) ............. 10-4
structure de donnes de blocs de donnes
globaux ................................................... 10-4
structure de types de donnes utilisateur
(UDT) ...................................................... 10-6
Saisie dans les botes de dialogue ................... 5-19
Saisie de plusieurs mnmoniques globaux
dans la table des mnmoniques ................... 7-12
Saisie du numro d'identification........................ 2-8
Schma contacts............................................ 8-3
Schma de configuration
cration ....................................................... 3-10
SCL ........................................................... 8-3, 8-5
Section des instructions.............................. 9-1, 9-5
Section des instructions
dition ......................................................... 9-10
en CONT....................................................... 9-4
fonction de recherche d'erreurs .................... 9-13
structure...................................................... 9-10
Slection d'objets dans les botes de dialogue.. 5-24
Slection du procd de signalisation .............. 14-2
Serveur de rseau........................................... 23-1
SET_CLK........................................................ 4-25
SET_TINT.............................................. 4-24, 4-25
Setup
paramtrage de la carte mmoire................... 2-8
saisie du numro d'identification..................... 2-8
systme de fichiers flash.............................. 2-10
SFB ....................................................... 4-22, 4-23
SFB20 STOP .................................................. 4-11
SFB33 ............................................................ 14-6
SFB34 ............................................................ 14-6
SFB35 ............................................................ 14-6
SFB36 ............................................................ 14-6
SFB37 ............................................................ 14-6
SFC ....................................................... 4-22, 4-23
SFC 0 SET_CLK ............................................. 4-24
SFC 51 RDSYSST ..............................21-17, 21-18
SFC17/18 ....................................................... 14-6
SFC26 UPDAT_PI........................................... 4-11
SFC27 UPDAT_PO ......................................... 4-14
Programmer avec STEP 7 V5.1
A5E00069874-03

Index

SFC28 SET_TINT ........................................... 4-24


SFC29 CAN_TINT .......................................... 4-24
SFC30 ACT_TINT........................................... 4-24
SFC31 QRY_TINT .......................................... 4-24
SFC32 SRT_DINT .......................................... 4-26
SFC36 MSK_FLT............................................ 4-32
SFC37 DMSK_FLT ......................................... 4-32
SFC39 DIS_IRT .............................................. 4-32
SFC40 EN_IRT ............................................... 4-32
SFC41 DIS_AIRT............................................ 4-32
SFC42 EN_AIRT............................................. 4-32
SFC44 RPL_VAL ...........................................21-29
SFC46 STP .................................................... 4-12
SFC52 WR_USMSG ......................................21-20
Signalisation d'erreurs systme 14-23, 14-28, 14-29
composants pris en charge .........................14-24
SIMATIC Manager ............................................ 5-1
SIMATIC Manager
affichage de la longueur des blocs ............... 8-13
Simulation
CPU ou module de signaux ......................... 20-1
Solution d'automatisation
conception .................................................... 3-1
conception
cration du diagramme d'entres/sorties
pour les moteurs........................................ 3-6
cration du diagramme d'entres/sorties
pour les soupapes ..................................... 3-7
cration du schma de configuration ............ 3-10
description des lments de signalisation
et de commande requis ............................. 3-9
dfinition des exigences en matire
de scurit ................................................ 3-8
Sorties
listes ............................................................. 3-6
tableau d'affectation .................................... 12-5
Soupapes
cration du diagramme d'entres/sorties ........ 3-7
Source externe, insertion................................11-14
Source LIST
compilation.................................................11-16
cration......................................................11-13
enregistrement ...........................................11-15
exemple de FC...........................................11-19
exemple d'OB.............................................11-18
exemple d'UDT ..........................................11-23
exemples de DB.........................................11-22
exemples de dclarations de variables ........11-17
formats pour les blocs ................................. 11-9
gnration partir de blocs.........................11-14
insertion de modles de blocs.....................11-13
insertion d'une source externe ....................11-14
recherche d'erreurs ....................................11-15
rgles pour la dfinition d'attributs systme .. 11-4
rgles pour la dfinition de proprits de bloc11-5
rgles pour l'ordre des blocs ........................ 11-4
structure des blocs ...................................... 11-7
Programmer avec STEP 7 V5.1
A5E00069874-03

structure des blocs de code ......................... 11-7


structure des blocs de donnes.................... 11-8
structure des types de donnes utilisateur .... 11-8
syntaxe pour les blocs ................................. 11-9
vrification de la cohrence........................ 11-15
Source S7
dition ....................................................... 11-13
Sources
droits d'accs ................................................ 9-3
externes ........................................................ 6-7
Sources LIST
principes de la programmation ..................... 11-1
rgles pour la dclaration de variables.......... 11-3
SRT_DINT ...................................................... 4-26
Station .............................................................. 5-8
Station
chargement dans la PG ............................. 17-13
chargement de la configuration dans la PG 17-15
insertion ................................................. 6-4, 6-5
Station PC......................................................... 1-9
Station SIMATIC PC.......................................... 1-9
STEP 7
lancement du logiciel ..................................... 5-1
langages de programmation.................... 1-5, 1-7
logiciel de base................................ 1-5, 1-6, 1-7
STEP 7
dsinstallation ............................................. 2-12
erreur durant l'installation ............................... 2-8
installation ..................................................... 2-7
interface utilisateur ...................................... 5-18
OB d'erreur
raction aux erreurs..................................... 4-32
Structure
des blocs dans une source LIST .................. 11-7
des blocs de code dans une source LIST ..... 11-7
des blocs de donnes dans une source LIST 11-8
des types de donnes utilisateur dans
une source LIST ...................................... 11-8
fentre................................................ 5-18, 5-19
liste des rfrences croises ............... 12-2, 12-3
section des instructions................................ 9-10
table de dclaration des variables ........... 9-6, 9-7
UDT ................................................... 8-10, 8-11
Structure arborescente .................................... 12-4
Structure du programme.................................. 12-3
Structure du programme
affichage ................................................... 12-10
Structure du projet............................................. 6-2
Structure et lments de la table des
mnmoniques................................................ 7-6
Structure hirarchique des bibliothques.......... 8-17
Subdivision du processus dans l'exemple un
processus de mlange industriel .................... 3-2
Subdivision du processus en tches et zones..... 3-2
Subdivision d'un processus en tches pour
l'exemple d'un processus de mlange
industriel ....................................................... 3-2

Index-13

Index

Surveillance du processus............................... 18-2


Symbolique....................................................... 7-4
Syntaxe pour les blocs dans une source LIST .. 11-9
Systme cible
chargement de blocs ................................... 17-5
Systme de fichiers flash................................... 2-8
Systme d'exploitation
tches........................................................... 4-1
Systme d'exploitation de la CPU .................... 4-15
Systmes d'exploitation pour M7-300/400 ........ 24-6
SZL
liste d'tat systme............... 21-18, 21-19, 21-20
Table de dclaration des variables........9-1, 9-4, 9-5
Table de dclaration des variables
attributs systme pour les paramtres............ 9-4
pour l'OB81 ................................................21-24
saisie de multi-instances................................ 9-9
structure........................................................ 9-6
tche............................................................. 9-4
Table de variables
copie ou dplacement ................................. 18-3
Table de variables
cration et ouverture.................................... 18-2
dition......................................................... 18-4
enregistrement ............................................ 18-3
enregistrer................................................... 18-1
exemple ..............................................18-4, 18-5
exemple de saisie d'oprandes .................... 18-8
insertion d'oprandes ou de mnmoniques... 18-4
taille maximale ............................................ 18-5
utilisation..................................................... 18-1
vrification de la syntaxe.............................. 18-5
Table des liaisons ........................................... 1-11
Table des mnmoniques ................................... 7-4
Table des mnmoniques
configuration des attributs de
contrle-commande ................................. 15-4
formats de fichier pour
l'importation/exportation ........................... 7-15
importation/exportation ................................ 7-15
oprandes autoriss ...................................... 7-8
ouverture .................................................... 7-12
pour mnmoniques globaux........................... 7-6
structure et lments ..................................... 7-6
types de donnes autoriss ........................... 7-8
Tableau d'affectation
entres
sorties et mmentos (E/A/M)........................ 12-6
temporisations et compteurs (T/Z)................ 12-7
Tableau des blocs de signalisation .................. 14-6
Tableau du format pour les DB .......................11-12
Tableau du format pour les FB........................11-10
Tableau du format pour les FC .......................11-11
Tableau du format pour les OB........................ 11-9
Temporisations
limites suprieures pour la saisie ................. 18-6
tableau d'affectation .................................... 12-7

Index-14

Temps de cycle
contrle pour viter les erreurs d'horloge .... 21-16
Temps de cycle de l'OB1 ................................. 4-15
Temps de cycle des donnes............................. 1-9
Temps de cycle maximal ................................. 4-13
Temps de cycle minimal ......................... 4-13, 4-15
Temps de surveillance..................................... 4-30
Temps de surveillance du cycle ....................... 4-11
Test
avec des tables de variables ........................ 18-1
avec le programme de simulation (logiciel
optionnel) ................................................ 20-1
Test l'aide de la table des variables ............... 25-2
Test avec la visualisation d'tat du programme. 19-1
Test en mode pas pas et points d'arrt .......... 19-4
Tester .................................................... 19-1, 19-2
avec la visualisation d'tat du programme .... 19-1
Tester avec ..................................................... 19-1
Textes destins l'utilisateur
conditions.................................................. 14-16
exportation/importation .............................. 14-16
Textes personnaliss
traduction et dition ................................... 14-16
Titres de blocs................................................. 9-12
Titres de rseaux............................................. 9-12
Traduction et dition
de textes destins l'utilisateur.................. 14-16
Traitement, projet .............................................. 6-8
Traitement de programme ............................... 4-23
dclench par alarme .................................. 4-23
Traitement d'erreurs ...................................... 21-22
Traitement du programme cyclique ...... 4-3, 4-6, 4-7
dclench par alarme .................................... 4-3
Trajet du courant ............................................. 9-16
Transfert des donnes de configuration dans le
systme cible............................................. 14-19
Transfert des donnes de configuration dans le
systme cible de contrle-commande........... 15-6
Transmission de paramtres
enregistrement des valeurs transmises......... 4-16
Transmission d'informations de diagnostic ..... 21-17
Tri
dans la liste des rfrences croises ............ 12-2
mnmoniques.............................................. 7-12
Type de dclaration
modification ................................................... 9-6
Type de donnes
UDT ............................................................ 8-10
utilisateur............................................ 8-10, 8-11
Type TTR.......................................................... 1-9
Types d'alarme.................................................. 4-3
Types de donnes, FB, SFB ............................ 4-16
Types de donnes utilisateur
saisie de la structure.................................... 10-6
Types de donnes utilisateur (UDT) ................. 8-10
UDT ................................................................ 8-10
UDT
Programmer avec STEP 7 V5.1
A5E00069874-03

Index

correction de linterface................................ 9-22


saisie de la structure.................................... 10-6
UDT dans une source LIST
exemple .....................................................11-23
UPDAT_PI ...................................................... 4-14
UPDAT_PO .................................................... 4-11
Upload (chargement de la configuration
de rseau dans la PG)................................17-16
Utilisation
bibliothques.......................................8-16, 8-17
Utilisation de la dclaration des variables
dans les blocs de code .................................. 9-4
Utilisation de multi-instances ............................. 9-8
Utilisation du clavier ........................................ 5-28
Valeur de forage
exemples de saisie...................................... 18-9
Valeur de remplacement
utilisation de la SFC44 (RPL_VAL)..............21-29
Valeurs
modification dans la vue des donnes
de blocs de donnes................................ 10-7
rinitialisation en leur substituant leur
valeur initiale ........................................... 10-8
Valeurs de forage
insertion ...................................................... 18-5
Valeurs de forage permanent
exemples de saisie...................................... 18-9
Variables, forage ..........................................18-15

Programmer avec STEP 7 V5.1


A5E00069874-03

Variables
contrle-commande ..................................... 15-1
visualisation............................................... 18-13
Vrification
cohrence d'une source LIST..................... 11-15
donnes de rfrence ................................ 12-11
Vrification de la cohrence d'une
configuration de station................................ 17-7
Vrifier la cohrence des blocs ........................ 13-1
Visualisation
marche suivre........................................... 18-2
Visualisation de variables
dfinition du dclenchement....................... 18-13
introduction ............................................... 18-13
Visualisation d'tat de programme
affichage ..................................................... 19-3
Visualisation d'tat du programme ................... 19-2
Visuel
langues ..................................................... 14-16
Volume d'informations selon le type
de module dans l'tat du module ................ 21-12
Vue des dclarations de blocs de donnes....... 10-2
Vue des donnes de blocs de donnes............ 10-2
Vue du projet..................................................... 6-1
Vue en ligne, icnes de diagnostic .......... 21-3, 21-4
WR_USMSG................................................. 21-20
Zone de combinaison, dfinition....................... 5-19
Zone de liste ................................................... 5-19

Index-15

Index

Index-16

Programmer avec STEP 7 V5.1


A5E00069874-03

Siemens AG
A&D AS E 81
Oestliche Rheinbrueckenstr. 50
D-76181 Karlsruhe
Rpublique Fdrale d'Allemagne

Expditeur :
Vos

Nom : ...............................................................................................................................
Fonction : .........................................................................................................................

Entreprise : ................................................................................................................................
Rue :...................................................................................................................................
Code postal : ......................................................................................................................
Ville : ..................................................................................................................................
Pays : .................................................................................................................................
Tlphone : ........................................................................................................................

Indiquez votre secteur industriel :

Industrie automobile

Industrie pharmaceutique

Industrie chimique

Traitement des matires plastiques

Industrie lectrique

Industrie du papier

Industrie alimentaire

Industrie textile

Contrle/commande

Transports

Construction mcanique

Autres ..................................................

Ptrochimie

Programmer avec STEP 7 V5.1


A5E00069874-03

Remarques / suggestions

Remarques / suggestions
Vos remarques et suggestions nous permettent d'amliorer la qualit gnrale de notre
documentation. C'est pourquoi nous vous serions reconnaissants de complter et de renvoyer ce
formulaire Siemens.

Rpondez aux questions suivantes en attribuant une note comprise entre 1 pour trs bien et 5 pour
trs mauvais.

1. Le contenu du manuel rpond-il votre attente ?


2. Les informations requises peuvent-elles facilement tre trouves ?
3. Le texte est-il comprhensible ?
4. Le niveau des dtails techniques rpond-il votre attente ?
5. Quelle valuation attribuez-vous aux figures et tableaux ?

o
o
o
o
o

Vos remarques et suggestions :


..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................

Programmer avec STEP 7 V5.1


A5E00069874-03

Vous aimerez peut-être aussi