Vous êtes sur la page 1sur 528

Avant-propos, Sommaire Nouveauts Installation et autorisation Conception dune solution dautomatisation Principes de conception dune structure de programme Dmarrage

et utilisation du programme 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 A

SIMATIC Programmer avec STEP 7 V5.1


Manuel
Ce manuel est livr avec la documentation rfrence : 6ES7 810-4CA05-8CA0

Cration et dition du projet Dfinition de mnmoniques Cration de blocs et de bibliothques Cration de blocs de code Cration des blocs de donnes Cration de sources LIST Affichage des donnes de rfrence Vrification de la cohrence des blocs et horodatage comme proprit de bloc Configuration de messages Contrle-commande de variables Etablissement dune liaison en ligne et choix de la CPU Chargement Test avec des tables des variables Test avec la visualisation dtat du programme Test avec le programme de simulation S7-PLCSIM (logiciel optionnel) Diagnostic Impression et archivage Configuration multi-utilisateur au sein du rseau Windows Utilisation des systmes dautomatisation M7 Astuces et conseils

Edition 08/2000 A5E00069874-03

Annexe 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
signifie que la non-application des mesures de scurit appropries conduit la mort, des lsions corporelles graves ou un dommage matriel import.

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

Avertissement
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 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. Siemens AG Bereich Automatisierungs- und Antriebstechnik Geschaeftsgebiet Industrie-Automatisierungsysteme Postfach 4848, D- 90327 Nuernberg Siemens Aktiengesellschaft Exclusion de responsabilit 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 1998 Sous rserve de modifications techniques.

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 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 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 Objet Connaissances fondamentales pour le personnel technique. Dcrit la marche suivre pour raliser des tches d'automatisation avec STEP 7 et S7-300/400. Numro de rfrence 6ES7810-4CA05-8CA0

STEP 7 Manuels de rfrence sur les

Aides en ligne Aide de STEP 7

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

Numro de rfrence 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

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 (FreeContact)


Heure locale : lu-ve de 7:00 17:00 Tl. : Fax : E-Mail: GMT: +49 (180) 5050 222 +49 (180) 5050 223 techsupport@ ad.siemens.de +1:00

Worldwide (Nuremberg) Technical Support (contre rtribution, seulement avec la carte SIMATIC)
Heure locale : Tl. : Fax : GMT: lu-ve de 0:00 24:00 +49 (911) 895-7777 +49 (911) 895-7001 +01:00

Europe / Africa (Nuremberg) Authorization


Heure locale : lu-ve de 7:00 17:00 Tl. : Fax : E-Mail: GMT: +49 (911) 895-7200 +49 (911) 895-7201 authorization@ nbgm.siemens.de +1:00

America (Johnson City) Technical Support and Authorization


Heure locale : Tl. : Fax : E-Mail: GMT: lu-ve de 8:00 19:00 +1 423 461-2522 +1 423 461-2289 simatic.hotline@ sea.siemens.com -5:00

Asia / Australia (Singapour) Technical Support and Authorization


Heure locale : lu-ve de 8:30 17:30 Tl. : Fax : E-Mail: GMT: +65 740-7000 +65 740-7001 simatic.hotline@ sae.siemens.com.sg +8:00

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

1-1

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 2-1

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

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 3-1

Conception dune solution dautomatisation 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9

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 4-1

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

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

5-1

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 6-1

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

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 7-1

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

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

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

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

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 9-1

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

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

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 10-1

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

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 11-1

11

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

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

xii

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

12-1

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 13-1

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

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 14-1

14

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

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

OB d'erreur gnrs ........................................................................................... 14-28 FB, DB gnrs .................................................................................................. 14-29 15-1

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

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 16-1

16

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

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 17-1

17

Chargement 17.1 17.1.1 17.1.2 17.1.3 17.1.4 17.1.5 17.1.6 17.1.7 17.2 17.2.1 17.2.2 17.2.3 17.2.4 17.2.5 17.2.6 17.2.7

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 18-1

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

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

xiv

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

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 19-1

Test avec la visualisation d'tat du programme 19.1 19.2 19.3 19.4 19.5 19.6

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 20-1

20

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

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

21

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

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

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 22-1

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

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 23-1

23

Configuration multi-utilisateur au sein du rseau Windows 23.1

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

24

Utilisation des systmes d'automatisation M7 24.1 24.2 24.3

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 25-1

25

Astuces et conseils 25.1 25.2 25.3 25.4 25.5

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

xvi

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-1

Index

Programmer avec STEP 7 V5.1 A5E00069874-03

xvii

Sommaire

xviii

Programmer avec STEP 7 V5.1 A5E00069874-03

Nouveauts

1.1

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

?
OUI Configuration matrielle et de la liaison Configuration des modules Mise en rseau des stations Configuration des liaisons aux partenaires

Dfinir la configuration matrielle maintenant ?

NON

?
OUI Dfinition des mnmoniques

Choisir la programmation symbolique au lieu de la programmation absolue ?


NON

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

?
OUI Cration des donnes de rfrence

Crer maintenant les donnes de rfrence, par exemple pour le test ?


NON

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

?
NON Configuration du matriel et des liaisons

La configuration matrielle est-elle dj ralise ?


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
Editeur de mnmoniques Configuration du matriel Gestionnaire de projets SIMATIC Langages de programmation CONT LOG LIST Configuration de la communication NETPRO

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.
Programmer avec STEP 7 V5.1 A5E00069874-03

1-10

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
1.4.1

Possibilits d'extension du logiciel de base STEP 7


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 S7-400
Applications techniques

M7-300 M7-400 o +
1)

C7-620

Borland C/C++ CFC DOCPRO HARDPRO M7- ProC/C++ S7-GRAPH S7-HiGraph S7-PDIAG S7-PLCSIM S7-SCL TeleService Fuzzy Control M7-DDE-Server M7- SYS RT Modular PID Control PC-DDE-Server PRODAVE MPI Standard PID Control ProAgent SIMATIC ProTool SIMATIC ProTool/Lite SIMATIC WinCC + + + + +
1)

2)

+ +

3)

o
+
2)

+ + + + + + + o +

+ + + + +

Logiciels excutables

Interface homme/machine

o = indispensable + = optionnel
1) 2) 3)

= recommand partir de S7-400 = non recommand pour C7-620 = 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 HiGraph GRAPH

Langage graphique
CFC

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 Contrle Fuzzy

Applications de couplage
PRODAVE MPI M7-DDE-Server

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 SIMATIC ProTool/Lite ProAgent

Programmer avec STEP 7 V5.1 A5E00069874-03

1-17

Nouveauts

1-18

Programmer avec STEP 7 V5.1 A5E00069874-03

Installation et autorisation

2.1
2.1.1

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.. 6. Fermez l'application.
Ghvhvpyrpvpr

est transfre sur le lecteur

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 " Ghvhvpyrpvprrhyhsppryh 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

Conception dune solution dautomatisation

3.1

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 M

(5) (1) (2) (3) (4) M

Substance A

(6)

(1)

(2)

(3) M

Substance B
(1) (2) (3) (4) (5) (6) (7) Soupape dadmission Pompe dalimentation Soupape dalimentation Capteur de dbit Moteur mlangeur Commutateurs de mesure du niveau Commutateur magntique - Soupape de vidange

(7)

3-2

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 M

Zone : Rservoir mlangeur


(1) (2) (3) (4) (5) M

(6)

Zone : Substance B
M 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
Substance A

Equipement associ
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 Vidange

Moteur mlangeur Commutateurs de mesure du niveau Soupape de vidange

Programmer avec STEP 7 V5.1 A5E00069874-03

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. 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.

4. Les conditions d'arrt sont les suivantes :

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. Le capteur de dbit ne signale pas de dbit. 4. Les conditions d'arrt sont les suivantes :

3-4

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. 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.

4. Les conditions d'arrt sont les suivantes :

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. Le capteur de niveau signale "Rservoir vide".

4. La condition d'arrt est la suivante :

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 Stop Response Reset_Maint Timer_No Response_Time Moteur Fault Start_Dsp Stop_Dsp Maint

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 Close Dsp_Open 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

Rservoir plein

Ouvrir vidange

Subst. A Arrter

Subst. B Arrter

Mlangeur Arrter

Rservoir sous minimum

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.

Module dentres TOR

Module de sorties TOR

Module de sorties TOR

E 0.0 CPU S7-300 E 1.7

A 4.0 A 5.7

A 8.0 A 9.7

Circuit darrt durgence Poste dopration Processus de mlange industriel

3-10

Programmer avec STEP 7 V5.1 A5E00069874-03

Principes de conception dune structure de programme

4.1

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
Blocs dorganisation (OB) Blocs fonctionnels systme (SFB) et fonctions systme (SFC) Blocs fonctionnels (FB) Fonctions (FC)

Brve description de la fonction


Les OB dterminent la structure du programme utilisateur. Les SFB et SFC sont intgrs la CPU S7 et vous permettent de raliser quelques fonctions systmes importantes. Les FB sont des blocs avec "mmoire" que vous programmez vous-mme. Les FC contiennent des routines de programmes pour les fonctions frquemment utilises. Les DB d'instance sont affects au bloc FB/SFB appel. Ils sont gnrs automatiquement lors de la compilation.

Pour plus de dtails, voir


Blocs d'organisation et structure du programme Blocs fonctionnels systme (SFB) et fonctions systme (SFC) Blocs fonctionnels (FB) Fonctions (FC)

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

Blocs de donnes d'instance

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
Cycle libre

Bloc dorganisation
OB1

Classe de priorit (prdfinie)


1

Pour plus de dtails, voir


Bloc dorganisation pour le traitement de programme cyclique (OB1) Blocs d'organisation pour l'alarme horaire (OB10 OB17) Blocs d'organisation pour l'alarme temporise (OB20 OB23)

Alarmes horaires

OB10 OB17

2 3 4 5 6 7 8 9 10 11 12 13 14 15

Alarmes temporises OB20 OB21 OB22 OB23 Alarmes cycliques OB30 OB31 OB32 OB33 OB34 OB35 OB36 OB37 OB38

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

Programmer avec STEP 7 V5.1 A5E00069874-03

4-3

Principes de conception dune structure de programme

Type dalarme
Alarmes de processus

Bloc dorganisation
OB40 OB41 OB42 OB43 OB44 OB45 OB46 OB47

Classe de priorit (prdfinie)


16 17 18 19 20 21 22 23 25

Pour plus de dtails, voir


Blocs dorganisation pour lalarme de processus (OB40 OB47)

Alarme multiprocesseur Erreur de redondance

OB60 multiprocesseur

Mode multiprocesseur fonctionnement synchrone de plusieurs CPU Blocs d'organisation pour le traitement d'erreurs (OB70 OB87 / OB121 OB122)

OB70 Erreur de redondance de priphrie (uniquement dans les systmes H) OB72 Erreur de redondance de CPU (uniquement dans les systmes H) OB73 Erreur de redondance de communication

25 28

Erreurs asynchrones OB80 Erreur de temps OB81 Erreur d'alimentation OB82 Alarme de diagnostic OB83 Alarme de dbrochage/enfichage OB84 Erreur matrielle CPU OB85 Erreur d'excution du programme OB86 Dfaillance d'unit OB87 Erreur de communication Cycle en arrire-plan OB90

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)

29

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

Mise en route

OB100 Dmarrage chaud OB101 Redmarrage OB102 Dmarrage froid

27 27 27

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 Lancement

Programme utilisateur

Cycle

Programme principal

4-6

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 Lancement

Programme utilisateur

Programme de mise en route Programme principal Interruption Programme dalarme

Cycle <Alarme>

<Erreur>

Interruption

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

Programmation structure

Programme principal = OB 1

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.
Dbut du cycle Profondeur dimbrication

Systme dexploitation

OB1

FB1 DB dinstance 1 FB2

FC1

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) Traitement du programme Opration appelant un autre bloc Traitement du programme Bloc appel (FB, FC, SFB ou SFC)

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 1. 2. Le systme d'exploitation dmarre la surveillance du temps de cycle. Droulement dans les nouvelles CPU ( partir de 10/98) Le systme d'exploitation dmarre la surveillance du temps de cycle.

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. Puis, elle traite le programme utilisateur et excute les oprations indiques dans le programme. Elle crit ensuite les valeurs de la mmoire image des sorties dans les modules de sorties. 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. La CPU revient alors au dbut du cycle et dmarre nouveau la surveillance du temps de cycle. La CPU lit l'tat des entres dans les modules d'entres et met jour la mmoire image des entres. Puis, elle traite le programme utilisateur et excute les oprations indiques dans le programme. 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. La CPU revient alors au dbut du cycle et dmarre nouveau la surveillance du temps de cycle.

3.

4.

5.

6.

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 TC1
8pyrvh 8pyrvh

TC2

OB10

Hvrjwqryh pvrvhtr qrrpr

Hvrjwqryh

Hvrjwqryh pvrvhtr qrrpr

Hvrjwqryh

Hvrjwqryh pvrvhtr qrrpr

OB1

OB1

pvrvhtr qrvr

OB1

pvrvhtr qrvr

OB1

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


Cycle en cours TC1 Cycle suivant TC2 Cycle suivant

OB10

Hvrjwqryh pvrvhtr qrvr

Hvrjwqryh pvrvhtr qrrpr

Hvrjwqryh

Hvrjwqryh pvrvhtr qrrpr

Hvrjwqryh

OB1

OB1

pvrvhtr qrvr

OB1

pvrvhtr qrvr

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 Tmax
Rserve

Cycle suivant

T min TC T att

CP16

OB40 OB10 OB10

CP07

Mise jour mmoire image OB1 CP01 des entres

Mise jour OB1 mmoire image des sorties

Mise jour mmoire image OB1 des entres

CP29

OB90

OB90

OB90

Tmax Tmin Tc Tatt CP

= 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 Tmax
Rserve

Cycle en suivant

Tmin TC Tatt

CP16

OB40 OB10 OB10

CP07

Mise jour mmoire CP01 image des sorties

Mise jour mmoire image des entres

OB1

OB1

Mise jour mmoire image des sorties

Mis m

CP29

OB90

OB90

OB90

Tmax Tmin Tc Tatt CP

= 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 Dmarrage INT IN Rgime INT IN Historique DT IN_OUT Temps_exec TIME IN_OUT

Paramtres effectifs 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 simple
Entre Sortie Entre/sortie Paramtres facultatifs Paramtres facultatifs Paramtres facultatifs

Type de donnes Type de donnes complexe


Paramtres facultatifs Paramtres facultatifs Paramtres effectifs obligatoires

Type de paramtre
Paramtres effectifs obligatoires 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
Entre Sortie Entre/sortie Statique Temporaire

Type de donnes simple


Valeur initiale autorise Valeur initiale autorise Valeur initiale autorise Valeur initiale autorise

Type de donnes complexe


Valeur initiale autorise Valeur initiale autorise Valeur initiale autorise

Type de paramtre

4-18

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.
Accs uniquement pour FB12, appel : CALL FB12, DB12

FB12 : Moteur

DB12 : Moteur

FB13 : Pompe

DB13 : Pompe

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

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

DB14 Donnes pour Mlangeur Donnes pour Moteur_10 Donnes pour Pompe_10

4-20

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

DB dinstance (DB112)

Accs uniquement pour le FB12

Programmer avec STEP 7 V5.1 A5E00069874-03

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
Alarme horaire Alarme temporise Alarme cyclique Alarme de processus

OB dalarme
OB10 OB17 OB20 OB23 OB30 OB38 OB40 OB47

Exemples dapplication
Calcul du dbit d'un processus de mlange la fin de la journe de travail Commande d'un ventilateur devant fonctionner encore 20 s aprs l'arrt d'un moteur avant d'tre lui-mme arrt Echantillonnage d'un niveau de signal pour une installation de rgulation 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
une ou plusieurs alarmes horaires ont t sautes en raison de l'avancement de l'heure, vous avez dsactiv dans l'OB80 les alarmes horaires sautes, vous n'avez pas dsactiv dans l'OB80 les alarmes horaires sautes, des alarmes horaires dj traites sont nouveau en attente en raison du retardement de l'heure,

alors
l'OB80 est dmarr avec inscription dans ses informations de dclenchement des alarmes horaires sautes. les alarmes horaires sautes ne sont pas rattrapes. la premire alarme horaire saute est reprise, mais il n'est pas tenu compte des suivantes. 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
X

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: (n=8, m=0)

OB38 OB37

(n=16, m=5)
0 8 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
OB30 OB31 OB32 OB33 OB34 OB35 OB36 OB37 OB38

Priode en ms
5000 2000 1000 500 200 100 50 20 10

Classe de priorit
7 8 9 10 11 12 13 14 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
Redmarrage Dmarrage chaud Dmarrage froid

OB associ
OB101 OB100 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 OB10 OB10 Cycle suivant

Mise jour mmoire image OB1 des entres

Mise jour OB1 mmoire image des sorties

OB90

OB90

t 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

Tatt

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
OB70 Erreur de redondance de priphrie (seulement dans les CPU H) OB72 Erreur de redondance de CPU (seulement dans les CPU H, ex. : dfaillance d'une CPU) 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)

Erreurs synchrones
OB121 Erreur de programmation (ex. : DB non charg) OB122 Erreur d'accs la priphrie (ex. : accs un module d'entres/sorties inexistant)

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
OB derreur synchrone SFC36 MSK_FLT

Fonction de la SFC
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. 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. Valider des vnements d'erreur asynchrone et d'alarme Ajourner les vnements d'erreur asynchrone et d'alarme prioritaires jusqu' la fin de l'OB Valider les vnements d'erreur asynchrone et d'alarme prioritaires

SFC37 DMSK_FLT Dmasquer des vnements d'erreur synchrone OB d'erreur asynchrone SFC39 DIS_IRT

SFC40 EN_IRT SFC41 DIS_AIRT SFC42 EN_AIRT

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

Dmarrage et utilisation du programme

5.1
5.1.1

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

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

Programme S7 Sources 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


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

Projet Station Module programmable

Programme S7 Sources 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 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

5-6

Programmer avec STEP 7 V5.1 A5E00069874-03

Dmarrage et utilisation du programme

Icne

Objets dans le niveau de projet


Station : station SIMATIC 300 station SIMATIC 400

Slection de fonctions importantes


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. Proprits des sous-rseaux et des participants la communication Prsentation : communication par donnes globales Configuration de la communication par donnes globales

Programme S7

Programme M7

Rseau pour le dmarrage de l'application de configuration de rseaux et pour la slection des paramtres de rseau

5.2.3

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

Objet Bibliothque Objet Programme S7/M7 Objet Dossier Sources Object Dossier Blocs

Icne

Dossier d'objets
Bibliothque

Slection de fonctions importantes


Prsentation des bibliothques standard Utilisation de bibliothques Archivage de projets et de bibliothques

Icne

Objets dans le niveau de la bibliothque


Programme S7

Slection de fonctions importantes

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


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

Projet Station Module programmable

Programme S7 Sources Blocs

Icne

Dossier d'objets
Station

Slection de fonctions importantes


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 Cration et paramtrage de stations SIMATIC PC Configuration de liaisons pour une station SIMATIC PC

Station SIMATIC PC

Icne

Objets dans le Slection de fonctions importantes niveau de la station


Matriel Module programmable 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.

5-8

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


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

Projet Station Module programmable

Programme S7 Sources Blocs

Icne

Dossier d'objets
Module programmable

Slection de fonctions importantes


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"


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

Slection de fonctions importantes

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

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

5.2.6

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


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

Projet Station Module programmable

Programme S7 Sources Blocs

5-10

Programmer avec STEP 7 V5.1 A5E00069874-03

Dmarrage et utilisation du programme

Icne

Dossier d'objets
Programme S7

Slection de fonctions importantes


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 Affichage des messages de CPU et des messages de diagnostic personnaliss Mesures prendre dans le programme pour traiter les erreurs

Programme M7
Programme

Procdure pour les systmes M7


Cration du logiciel dans le projet (principe)

Icne

Objets dans le niveau du programme


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

Slection de fonctions importantes

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 Pour d'autres fonctions, reportez-vous Objet Dossier Sources Pour d'autres fonctions, reportez-vous Objet Dossier Blocs

Dossier Sources

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


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

Projet Station Module programmable

Programme S7 Sources Blocs

Icne

Dossier d'objets
Blocs

Slection de fonctions importantes


Chargement dans la gestion du projet Chargement hors gestion du projet Vue synoptique des donnes de rfrence possibles Rassignation Comparaison de blocs Traduction et dition de textes destins l'utilisateur Sauts dans la description des langages, aide sur les blocs, attributs systme

5-12

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) 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

FC (Fonctions)

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

FB (Blocs fonctionnels)

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

Programmer avec STEP 7 V5.1 A5E00069874-03

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) 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 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

SFC (Fonctions systme)

SFB (Blocs fonctionnels systme) Table de variables

5-14

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) 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

5.2.8

Objet Dossier Sources


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

Position dans la vue du projet


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

Projet Station Module programmable

Programme S7 Sources Blocs

Icne

Dossier d'objets
Dossier Sources

Slection de fonctions importantes


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


Source (p. ex. source LIST)

Slection de fonctions importantes


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 : A1.0 Mot entier seulement Respecter majuscules/minuscules Remplacer par: A2.0

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 Rechercher dans colonne


tout

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

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 Evnements

Etat de fonctionnement de la CPU : ARRET Etat de fonctionnement du module :


Horodatage Performances Communication Piles

Tampon diagno Mmoire Tps cycle

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.
Programmer avec STEP 7 V5.1 A5E00069874-03

5-22

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 Blocs de donnes systme (SDB) dans la vue en ligne Fonctions systme (SFC) et blocs fonctionnels systme (SFB) 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.

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).

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.

Ouvrir
Entre : Projet Nom : modle Projet Affichage : Vue standard Chemi n daccs: C:\SIEMENS\STEP7\E En ligne Hors ligne

Parcourir

modle

Rseau MPI 1 Sous-rseau SINEC L2 1 Sous-rseau SINEC H1 1

Station SIMATIC 300 1 Programme S7

Vue du projet : affiche larborescence des objets qui eux-mmes peuvent contenir dautres objets.
Nom de lobjet : Type dobjet : Editables

Vue dtaille : affiche le contenu de lobjet slectionn gauche.

OK

Annuler

Aide

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.

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.

Programmer avec STEP 7 V5.1 A5E00069874-03

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 Arrr39vvv38hphqr. 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

Utilisation du clavier
Utilisation du clavier
Dsignation internationale des touches
HOME END PAGE-UP PAGE-DOWN CTRL ENTER DEL INSERT

Dsignation franaise des touches


ORIGINE FIN PG.PREC PG.SUIV CTRL ENTREE SUPPR INSER

5.4.2

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 : Commandes Fichier > Archiver Fichier > Ouvrir Touches ALT, F, A ALT, F, O

5-28

Programmer avec STEP 7 V5.1 A5E00069874-03

Dmarrage et utilisation du programme

Equivalences clavier
Fonction
Nouveau Ouvrir Fermer Compiler Imprimer Quitter Copier Couper Coller Effacer Slectionner tout Proprits de l'objet Ouvrir un objet Charger Etat de fonctionnement Actualiser (menu Fichier) (menu Fichier) (menu Fichier) (menu Fichier) (objet) (menu Fichier) (menu Fichier) (menu Edition) (menu Edition) (menu Edition) (menu Edition) (menu Edition) (menu Edition) (menu Edition) (menu Systme cible) (menu Systme cible) (menu Affichage)

Equivalence
CTRL + N CTRL + O CTRL + B CTRL + P ALT + F4 CTRL + C CTRL + X CTRL + V SUPPR CTRL + A ALT + ENTREE CTRL + ALT + O CTRL + L CTRL + I F5

Pour actualiser l'affichage d'tat des CPU visibles dans CTRL + F5 la vue en ligne Paramtres Disposition, Cascade (menu Outils) (menu Outils) (menu Fentre) (menu Fentre) CTRL + ALT + E CTRL + ALT + R MAJ + F5 MAJ + F2 MAJ + F3 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.) Donnes de rfrence, afficher

Disposition, Mosaque horizontale (menu Fentre) Disposition, Mosaque verticale Aide contextuelle (menu d'aide ?)

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
Activer la barre des menus atteindre le menu contextuel Au menu dont le nom contient le caractre soulign X Choisir une commande subordonne Dplacement d'un menu vers la gauche Dplacement d'un menu vers la droite Dplacement d'un menu vers le haut Dplacement d'un menu vers le bas Activer la commande slectionne Quitter le menu ou revenir au texte

Touches
F10 MAJ + F10 ALT + X Lettre souligne dans le nom de commande Flche vers la gauche Flche vers la droite Flche vers le haut Flche vers le bas ENTREE ECHAP

Dplacement du curseur lors de l'dition de texte


Fonction
Une ligne vers le haut ou un caractre vers la gauche dans un texte d'une seule ligne Une ligne vers le bas ou un caractre vers la droite dans un texte d'une seule ligne Un caractre vers la droite Un caractre vers la gauche Un mot vers la droite Un mot vers la gauche Au dbut de la ligne A la fin de la ligne Une page d'cran vers le haut Une page d'cran vers le bas Au dbut du texte A la fin du texte

Touches
Flche vers le haut Flche vers le bas Flche vers la droite Flche vers la gauche CTRL + Flche vers la droite CTRL + Flche vers la gauche ORIGINE FIN PAGE PRECEDENTE PAGE SUIVANTE CTRL + ORIGINE CTRL + FIN

5-30

Programmer avec STEP 7 V5.1 A5E00069874-03

Dmarrage et utilisation du programme

Dplacement du curseur dans les botes de dialogue


Fonction
Au champ de saisie suivant (de gauche droite et de haut en bas) Au champ de saisie prcdent Au champ de saisie dont le nom contient le caractre soulign X Slectionner dans une liste de choix Ouvrir une liste de choix Slectionner un objet ou en annuler la slection Confirmer la saisie et fermer la bote de dialogue (bouton "OK")

Touches
TAB MAJ + TAB ALT + X TOUCHES DE DIRECTION ALT + Flche vers le bas ESPACE ENTREE

Fermer la bote de dialogue sans enregistrer ECHAP les choix (bouton "Annuler").

5.4.4

Combinaisons de touches pour la slection de texte

Fonction
Un caractre vers la droite Un caractre vers la gauche Jusqu'au dbut de la ligne Jusqu' la fin de la ligne Une ligne de texte vers le haut Une ligne de texte vers le bas Une page d'cran vers le haut Une page d'cran vers le bas Le texte jusqu'au dbut du fichier Le texte jusqu' la fin du fichier

Touches
MAJ + flche vers la droite MAJ + flche vers la gauche MAJ + ORIGINE MAJ + FIN MAJ + flche vers le haut MAJ + flche vers le bas MAJ + PG.PREC MAJ + PG.SUIV CTRL + MAJ + ORIGINE CTRL + MAJ + FIN

5.4.5

Combinaisons de touches pour accder l'aide en ligne

Fonction
Ouvrir laide

Touches
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 Fermer la fentre d'aide et revenir celle de l'application

MAJ + F1 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
Bascule d'un volet un autre Bascule au volet prcdent, en l'absence d'une fentre ancre Bascule entre la fentre du document et la fentre ancre au document (par exemple fentre de dclaration des variables) En l'absence d'une fentre ancre, la bascule s'effectue au volet prcdent. Bascule entre des fentres de document Bascule la fentre de document prcdente Bascule entre des fentres autres que de documents (fentres d'applications et fentre qui y sont ancres ; lors du retour une fentre d'application, la bascule s'effectue la dernire fentre de document active) Bascule la fentre autre que de document prcdente Fermer la fentre active

Touches
F6 MAJ + F6 MAJ + F6

CTRL + F6 MAJ + CTRL + F6 ALT + F6

MAJ + ALT + F6 CTRL + F4

5-32

Programmer avec STEP 7 V5.1 A5E00069874-03

Cration et dition du projet

6.1

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 : 2. Niveau : 3. Niveau : projet sous-rseaux, stations ou programmes S7/M7 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

Dfinition de mnmoniques

7.1

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, lettres, chiffres, caractre de soulignement (_),

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.

lorsque vous utilisez des caractres spciaux dans un mnmonique, ce dernier doit tre plac entre guillemets.

Utilisation

Vous pouvez dfinir des mnmoniques globaux pour :

Vous pouvez dfinir des mnmoniques locaux pour : paramtres de blocs (paramtres d'entre, de sortie, d'entre/sortie), donnes statiques d'un blocs donnes temporaires d'un bloc


Endroit de dfinition

entres/sorties (E, EB, EW, ED, A, AB, AW, AD) entres, sorties de priphrie (PE, PA) mmentos (M, MB, MW, MD) temporisations (T)/ compteurs (Z) blocs de code (OB, FB, FC, SFB, SFC) blocs de donnes (DB) types de donnes utilisateur table des variables (VAT)

table des mnmoniques

table de dclaration des variables du bloc

Programmer avec STEP 7 V5.1 A5E00069874-03

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. Dans l'instruction, c'est le nouveau mnmonique qui s'affiche pour la valeur absolue E0.1 toujours valable. L'instruction reste identique. Un message indique l'affectation modifie du mnmonique. L'instruction est repre comme errone (caractres rouges), puisque Mnmonique_A n'est plus dfini.

Valeur absolue

Mnmonique_B = E0.1

U Mnmonique_B

Mnmonique Mnmonique

Mnmonique_A = E0.2 Mnmonique_B = E0.1

U Mnmonique_A U Mnmonique_A

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 1 O S C 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.
Anglais
I IB IW ID Q QB QW QD M MB MW MD PIB PQB PIW PQW PID PQD T C FB OB DB FC SFB SFC VAT UDT

Allemand
E EB EW ED A AB AW AD M MB MW MD PEB PAB PEW PAW PED PAD T Z FB OB DB FC SFB SFC VAT UDT

Dsignation
Bit d'entre Octet d'entre Mot d'entre Double mot d'entre Bit de sortie Octet de sortie Mot de sortie Double mot de sortie Bit de mmento Octet de mmento Mot de mmento Double mot de mmento Octet de priphrie d'entre Octet de priphrie de sortie Mot de priphrie de sortie Double mot de priphrie d'entre Double mot de priphrie de sortie Temporisation Compteur Bloc fonctionnel Bloc d'organisation Bloc de donnes Fonction Bloc fonctionnel systme Fonction systme Table des variables Type de donnes utilisateur

Type de donnes
BOOL BYTE, CHAR WORD, INT, S5TIME, DATE DWORD, DINT, REAL, TOD, TIME BOOL BYTE, CHAR WORD, INT, S5TIME, DATE DWORD, DINT, REAL, TOD, TIME BOOL BYTE, CHAR WORD, INT, S5TIME, DATE DWORD, DINT, REAL, TOD, TIME BYTE, CHAR BYTE, CHAR

Plage d'adresses
0.0..65535.7 0..65535 0..65534 0..65532 0.0..65535.7 0..65535 0..65534 0..65532 0.0..65535.7 0..65535 0..65534 0..65532 0..65535 0..65535 0..65534 0..65534 0..65532 0..65532 0..65535 0..65535 0..65535 1..65535 1..65535 0..65535 0..65535 0..65535 0..65535 0..65535

Mot de priphrie d'entre WORD, INT, S5TIME, DATE WORD, INT, S5TIME, DATE DWORD, DINT, REAL, TOD, TIME DWORD, DINT, REAL, TOD, TIME TIMER COUNTER FB OB DB, FB, SFB, UDT FC SFB SFC UDT

7-8

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 :
Colonne
Mnmonique

Nota
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. Quand vous validez ou quittez ce champ, le programme vrifie si l'oprande indiqu est autoris. 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. Ce champ vous permet de saisir des remarques (80 caractres au maximum) dcrivant la fonction du mnmonique. La saisie d'un commentaire est facultative.

Oprande Type de donnes Commentaire

7-10

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
Structure Exemple

*.ASC
Longueur de l'enregistrement, sparateur (virgule), enregistrement 126,phase_verte_piet, 126,rouge_piet A T2 0.0 TIMER Dure de la phase verte pour pitons BOOL Rouge pour pitons

Data Interchange Format (DIF)


Type de fichier
Structure

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

En-tte

TABLE
0,1 "<Titre>" VECTORS 0,<Nombre denregistrements> "" TUPLES 0,<Nombre de colonnes> "" DATA 0,0 ""

Dbut dun fichier DIF


Chane de caractres du commentaire Nombre d'enregistrements dans le fichier

Nombre de champs de donnes dans un enregistrement

Identification de fin d'en-tte et de dbut de donnes

Donnes (par enregistrement)

<Type>,<valeur numrique> <chane de caractres> V

Identification du type de donnes, valeur numrique 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
Structure Exemple

*.SDF
Chanes de caractres entre guillemets, sections spares par des virgules. "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
Structure Exemple

*.SEQ
TAB oprande TAB mnmonique TAB commentaire CR 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

Cration de blocs et de bibliothques

8.1

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
Liste dinstructions LIST Utilisateurs voulant une programmation proche de la machine Utilisateurs habitus aux schmas de circuits Utilisateurs habitus aux botes logiques de l'algbre boolenne

Application

Saisie incrmentale

Saisie Possibilit de oriente redocumenter le source bloc de la CPU

Programmes optimiss en temps d'excution et en espace mmoire Programmation de commandes combinatoires Programmation de commandes combinatoires

Schma contacts CONT

Logigramme LOG

8-2

Programmer avec STEP 7 V5.1 A5E00069874-03

Cration de blocs et de bibliothques

Langage de Groupe programmation dutilisateurs


SCL (Structured Utilisateurs ayant Control Language) programm en langages volus comme Progiciel Pascal ou C optionnel GRAPH Utilisateurs se basant sur la technologie, ayant peu de connaissances approfondies de la programmation ou des automates programmables Utilisateurs se basant sur la technologie, ayant peu de connaissances approfondies de la programmation ou des automates programmables

Application

Saisie incrmentale

Saisie Possibilit de oriente redocumenter le source bloc de la CPU

Programmation de tches de programmation de donnes

Progiciel optionnel

Description souple de processus squentiels

HiGraph

Progiciel optionnel

Description souple de processus asynchrones non squentiels

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

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 Rseau 2: Commande moteur #Bobine #Ret #Temps_ret T6 S_EVERZ S Q TW DUAL R Rseau 3: Lampe de dmarrage #Ret #Lampe_Demarr #Erreur Rseau 4: Lampe darrt #Ret DEZ #Bobine

#Erreur
S

#Bobine

#Temps_act_bin #Temps_act_dcb

#Lampe_Arret

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 E0.1 T6 M0.0 T5 & >=1 & M0.0 =

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 END_VAR VAR_IN_OUT IQ1: END_VAR VAR INDEX: END_VAR INT; REAL; INT;

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

S4
E1.1 M2.1 T4 D

Rincage A 1.1 TIME#0D_0H_ 0M_20S_0MS T5

E1.1

M2.1

S5
N

Prelavage A 1.3 A 1.0 A 1.5 Retour A 1.4

E1.3
T6

N N

S6
E1.1 M2.2
T7 N

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 2 4 Clavette sortie Pice 1 3 Rotation droite 1 2 Moteur Clavette positionne Serrer/desserrer bute 1 2 1 Rotation gauche Coordinateur 0 1 1

Graphe pour la coordination des units fonctionnelles

Bute Clavette Moteur 0 1 3 1 2 Graphe pour les diffrentes units fonctionnelles 3 1 1 1 1 1 2 1 0 1 3 1 1 2 1 1 0 1 1

Etats

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

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. 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

8-12

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
KNOW_HOW_PROTECT AUTHOR FAMILY NAME VERSION UNLINKED READ_ONLY

OB

FB

FC

DB

UDT

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. 0.0 2.0 4.0 6.0 8.0 10.0 in in in in in in Nom dur_g_p del_r_p starter t_dur_y_car t_dur_y_car t_delay_y_car Type S5TIME S5TIME BOOL TIMER TIMER TIMER Valeur intiale S5T#0MS S5T#0MS FALSE 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
Nouvelle entre correcte Changement de nom sans modification de type correct Nom correct chang en nom invalide Nom invalide chang en nom correct Modification du type

Raction dans la section des instructions


Dans le cas d'un code erron, la variable prcdemment non dclare devient valide. Le mnmonique est immdiatement partout reprsent avec le nouveau nom. Le code n'est pas modifi. Dans le cas d'un code erron, celui-ci devient valide. 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
Oprande

Signification
Adresse dans le format BYTE.BIT.

Remarque
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 Le nom doit commencer par une lettre. Les mots-cls rservs ne sont pas autoriss. 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" Vous pouvez slectionner les types de donnes simples l'aide du menu appel par le bouton droit de la souris.

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

Variable Dclaration

Mnmoniques des variables Type de dclaration, "Application" des variables

Requis Prslection du systme selon le type de bloc

Type de donnes

Type de donnes de la variable (BOOL, INT, WORD, ARRAY etc.). Valeur initiale si le logiciel ne doit pas prendre la valeur par dfaut

Requis

Valeur initiale

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. Facultatif

Commentaire

Commentaire pour la documentation

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


Colonne
Oprande Type de dclaration

Entre
Le systme affecte et affiche l'entre lorsque vous terminez la saisie d'une 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.

9.2.4

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 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.

9.3.3

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 // Appel du FB 20 sans DB d'instance

Programmer avec STEP 7 V5.1 A5E00069874-03

9-9

Cration de blocs de code

9.4

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.

9.4.1

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

FB70 - <Hors ligne>

Titre du bloc Commentaire de bloc Commentaire de rseau Instructions Titre de rseau

FB 70 : Com mande du m oteur Liste dinstructions Commande m oteur (Gnr.1) Rgulateur PID Rseau 1 : P hase de dm arrage Rseau Comm ande du dm arrage U E 1.1 //Com mentaire U A 4.1 UN E 2.6 = A 0.4 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 : ???

Clic de la souris

2.

Rseau 2 :

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.

Commentaire de rseau ou de bloc

9.4.5

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 2.6

E 1.2 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
#condition

>=1 &

Drivation en T

#t_next_red_car #t_dur_r_car

#condition
=

>=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
Paramtres effectifs provenant d'un DB

Signification
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. 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. 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.

Appel de bloc en relation avec des types de donnes complexes

Accs des composants de type de donnes complexe

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
Adresse Dclaration

Signification
Ici saffiche ladresse que STEP 7 affecte automatiquement la variable lorsque vous achevez la saisie d'une 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 Type

Indiquez ici le nom que vous devez affecter chaque variable. 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. 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.

Valeur initiale

Commentaire

Vous pouvez saisir dans cette zone un commentaire pour la documentation de la variable. La longueur du commentaire ne doit pas dpasser 80 caractres.

10.3

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
Adresse Dclaration

Signification
Cette colonne affiche l'adresse que STEP 7 affecte automatiquement la variable. 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 Type

Il s'agit ici du nom affect la variable. Vous ne pouvez pas diter cette zone dans la vue des donnes. 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
Adresse Nom Type

Signification
Ici saffiche ladresse que STEP 7 affecte automatiquement la variable lorsque vous achevez la saisie d'une dclaration. Indiquez ici le nom que vous devez affecter chaque variable. 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. 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.

Valeur initiale

Commentaire

Vous pouvez saisir dans cette zone un commentaire pour la documentation de la variable. La longueur du commentaire ne doit pas dpasser 80 caractres.

10.4.2

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
Adresse Dclaration

Signification
Cette colonne affiche l'adresse que STEP 7 affecte automatiquement la variable. 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 Type Il s'agit ici du nom affect la variable dans la dclaration des variables du FB. 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. 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.

Valeur initiale

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
Adresse Nom Type

Signification
Ici saffiche ladresse que STEP 7 affecte automatiquement la variable lorsque vous achevez la saisie d'une dclaration. Indiquez ici le nom que vous devez affecter chaque variable. 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. 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.

Valeur initiale

Commentaire

Vous pouvez saisir dans cette zone un commentaire pour la documentation de la variable. La longueur du commentaire ne doit pas dpasser 80 caractres.

10.4.4

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
Adresse Nom Type

Signification
Cette colonne affiche l'adresse que STEP 7 affecte automatiquement la variable. Il s'agit ici du nom affect la variable dans l'UDT. 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. 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.

Valeur initiale

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
Syntaxe CALL

Rgle
La syntaxe des instructions LIST est identique celle dans l'diteur LIST incrmental. L'opration d'appel CALL constitue une exception. 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. 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.

11-2

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
Paramtres d'entre

Mots-cls
"VAR_INPUT" Liste de dclaration "END_VAR"

Possible pour ...


FB, FC

Paramtres de sortie

"VAR_OUTPUT" Liste de dclaration "END_VAR"

FB, FC

Paramtres d'entre/sortie

"VAR_IN_OUT" Liste de dclaration "END_VAR"

FB, FC

Variables statiques

"VAR" Liste de dclaration "END_VAR"

FB

Variables temporaires

"VAR_TEMP" Liste de dclaration" END_VAR"

OB, FB, FC

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
1.

Mot-cl / Proprit

Signification

Exemple
KNOW_HOW_PROTECT

[KNOW_HOW_PROTECT Protection du bloc : il est ] impossible de visualiser la section des instructions dun 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) 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)

2.

AUTHOR : Siemens, mais pas de mot-cl

3.

[FAMILY:]

FAMILY : Regul, mais pas de mot-cl

4. 5.

[NAME:] [VERSION: int1 . int2]

NAME : PID, mais pas de mot-cl VERSION : 3.10

Programmer avec STEP 7 V5.1 A5E00069874-03

11-5

Cration de sources LIST

Ordre
6.

Mot-cl / Proprit
[CODE_VERSION1]

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.
Un bloc de donnes avec la proprit UNLINKED n'est pas reli au programme. 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.

Signification

7.

[UNLINKED] seulement pour DB [READ_ONLY] seulement pour DB

8.

11.2.6

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
KNOW_HOW_PROTECT AUTHOR FAMILY NAME VERSION Attribut "Unlinked" READ_ONLY

OB

FB

FC

DB

UDT

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
"ORGANIZATION_BLOCK" n-OB ou nom-OB [TITLE= ] [Commentaire de bloc] [Attributs systme pour blocs] [Proprits de bloc] Section de dclaration des variables "BEGIN" NETWORK [TITLE= ] [Commentaire de rseau] Liste des instructions LIST "END_ORGANIZATION_BLOCK"

Description
n-OB est le numro du bloc, par exemple OB 1 nom-OB est le mnmonique du bloc selon la table des mnmoniques Titre jusqu'au retour chariot ; il est tronqu au-del de 64 caractres. Commentaire facultatif prcd de // Attributs systme pour blocs Proprits de bloc Dclaration des variables temporaires Mot-cl sparant la section de dclaration des variables des instructions LIST Dbut d'un rseau Titre de rseau (64 caractres au maximum) Commentaire facultatif prcd de // Instructions du bloc 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
"FUNCTION_BLOCK" n-FB ou nom-FB [TITLE= ] [Commentaire de bloc] [Attributs systme pour blocs] [Proprits de bloc] Section de dclaration des variables

Description
n-FB est le numro du bloc, par exemple FB 6 nom-FB est le mnmonique du bloc selon la table des mnmoniques Titre jusqu'au retour chariot ; il est tronqu au-del de 64 caractres. Commentaire facultatif prcd de // Attributs systme pour blocs Proprits de bloc 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" NETWORK [TITLE= ] [Commentaire de rseau] Liste des instructions LIST "END_FUNCTION_BLOCK"

Mot-cl sparant la section de dclaration des variables des instructions LIST Dbut d'un rseau Titre de rseau (64 caractres au maximum) Commentaire facultatif prcd de // Instructions du bloc Mot-cl indiquant la fin du bloc fonctionnel

11-10

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 n-FC : type-FC

Description
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= ] [Commentaire de bloc] [Attributs systme pour blocs] [Proprits de bloc]

Titre jusqu'au retour chariot ; il est tronqu au-del de 64 caractres. Commentaire facultatif prcd de // Attributs systme pour blocs 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" NETWORK [TITLE= ] [Commentaire de rseau] Liste des instructions LIST "END_FUNCTION" Mot-cl sparant la section de dclaration des variables des instructions LIST Dbut d'un rseau Titre de rseau (64 caractres au maximum) Commentaire facultatif prcd de // Instructions du bloc 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

[TITLE= ] [Commentaire de bloc] [Attributs systme pour blocs] [Proprits de bloc] Section de dclaration

Titre jusqu'au retour chariot ; il est tronqu au-del de 64 caractres. Commentaire facultatif prcd de // Attributs systme pour blocs Proprits de bloc 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 Mot-cl sparant la section de dclaration de la liste des affectations de valeurs Il est possible d'affecter des valeurs initiales aux variables : des constantes sont affectes certaines variables ou il est fait rfrence d'autres blocs. Mot-cl indiquant la fin du bloc de donnes

"BEGIN" [Affectation de valeurs initiales]

"END_DATA_BLOCK"

11-12

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 ":" in3 : DWORD; in2 : INT := 10; END_VAR VAR_OUTPUT END_VAR VAR_TEMP temp1 : INT; END_VAR // Un point-virgule met fin chaque dclaration de variable. // 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; // Mot-cl variable temporaire

Variables de type de donnes ARRAY


VAR_INPUT // Variable d'entre champ1 : ARRAY [1..20] of INT; bidimentionnel END_VAR // champ1 est un champ unidimentionnel champ2 : ARRAY [1..20, 1..40] of DWORD; // champ2 est un champ

Variables de type de donnes STRUCT


VAR_OUT SORTIE1: // Variable de sortie STRUCT // SORTIE1 est de type de donnes STRUCT. var1 : BOOL; var2 : DWORD; END_VAR // Elment 1 de la structure // Elment 2 de la structure

END_STRUCT; // Fin de la structure

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 BEGIN

// Nombre de pices effectivement

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'} AUTHOR: FAMILY: Nom VERSION: VAR_INPUT demarr: t_dur_o_voit t_r_suiv_voit t_dur_r_voit nombre // Nb. voitures // nombre comporte des attributs systme pour paramtres END_VAR VAR_OUTPUT : : : BOOL TIMER; TIMER; TIMER; := FALSE; // Demande de traverse pitons // Dure vert pitons // Dure entre rouge pour voitures 1.3 Siemens Feux Feux //Attribut systme pour blocs

{S7_server := 'alarm_archiv'; S7_a_type := 'alarm_8'} :DWORD;

11-20

Programmer avec STEP 7 V5.1 A5E00069874-03

Cration de sources LIST

v_voit END_VAR VAR condition END_VAR BEGIN NETWORK

BOOL

:=

FALSE; // VERT pour voitures

BOOL

:=

FALSE; // Notification rouge pour voitures

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 U O ); UN = NETWORK TITLE = Feu vert pour circulation automobile UN = 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 #condition; #v_voit; // Pas de notification de rouge pour circulation // VERT pour circulation automobile #t_dur_o_voit; #condition; // et actuellement feu pas rouge // Notification rouge #demarr; #t_r_suiv_voit; #condition; // Demande de traverse pitons et // dure entre deux phases de rouge coule // ou notification pour rouge ("maintien")

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; cc : WORD; END_STRUCT; BEGIN // Affectation de valeurs initiales aa := TRUE; bb := 1500; END_DATA_BLOCK // Variable aa de type BOOL bb : INT; // Variable bb de type INT

DB associ un type de donnes utilisateur


DATA_BLOCK DB 20 TITLE = Exemple DB (UDT) UDT 20 BEGIN demarr := TRUE; consigne := 10; END_DATA_BLOCK // Affectation de valeurs initiales // Indication de l'UDT associ

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 BEGIN demarr := TRUE; // Affectation de valeurs initiales consigne := 10; END_DATA_BLOCK // Indication du FB associ

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; consigne : INT; valeur : WORD; END_STRUCT; END_TYPE //Variable de type BOOL //Variable de type INT //Variable de type WORD

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
Liste des rfrences croises

Application
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) Structure du programme Oprandes libres

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. Hirarchie d'appel des blocs au sein du programme utilisateur et vue d'ensemble des blocs utiliss et de leurs relations de dpendance. 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. 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.

Mnmoniques manquants

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
Oprande Mnmonique Bloc Accs Langage/Dtails

Contenu/signification
Adresse absolue de l'oprande Nom de l'oprande Bloc dans lequel l'oprande est utilis. Indique si l'accs l'oprande est un accs en lecture (R) ou en criture (W). 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


Oprande
E 1.0 M1.2 Z2

Mnmonique Bloc
Moteur marche Bit de mmento Compteur2 OB 2 FC 2 FB2

Accs
R R

Langage
LIST CONT LOG

Dtails
NW 2 Anw 33 /O NW 33 NW2

12.1.3

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. x 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
7 6 5 4 3 2 1 0 O W D l'octet est adress par un octet l'octet est adress par un mot l'octet est adress par un mot double numro du bit de l'octet correspondant

Contenu/signification

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

7
O . O . X X

6
X O O . X X .

5
X O . X X

4
O . . . X X

3
X O O . X X

2
X . . . X X

1
X O O . X O

0
X . . . X X

O
O . . . . .

W
. . . . O .

D
. . . . . .

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 :


. x 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 . . . . . . . . . . . . .

1
X .

2
. . . . . . . X . X . . .

3
. .

4
. . . . . .

5
. . . . . .

6
X .

7
. . . . . . . X . X . . .

8
.

9
X . . X . .

X . . . X

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
Mnmonique Oprande Type de donnes Commentaire de l'oprande

Contenu/signification
Nom Adresse absolue de l'oprande Type de donnes de l'oprande. Commentaire de l'oprande extrait de la table des mnmoniques

Exemple de liste des oprandes libres


Mnmonique Oprande
MS1 MS2 MS3 E103.6 E120.5 E121.3

Type de donnes
BOOL BOOL BOOL

Commentaire de l'oprande
Disjoncteur de protection1 Disjoncteur de protection2 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
A 2.5 E 23.6 M 34.1

Nombre
4 3 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
LIST CONT LOG

Rseau
Re Re Re

Instruction
Inst

Opration
/

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 :
Vue des donnes de rfrence
Mnmoniques manquants Oprandes libres Tableau d'affectation E/A/M Tableau d'affectation T/Z Structure du programme Rfrences croises

Commande pour l'affichage de cette vue des donnes de rfrence


Affichage > Mnmoniques manquants Affichage > Oprandes libres Affichage > Tableau d'affectation > Entres, sorties et mmentos Affichage > Tableau d'affectation > Temporisations et compteurs Affichage > Structure du programme Affichage > Rfrences croises

12-10

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
pour les blocs modifis seulement : pour tous les blocs : ne pas les actualiser :

Signification
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; les donnes de rfrence de tous les blocs sont alors gnres en totalit; 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 = A 1.1 // dans notre exemple, // 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 OB1 Cycle Execution Cycle Execution R 2 R 1 Inst 3 Inst 1 /= /U W R LIST 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 OB1 Cycle Execution Cycle Execution R 3 R 2 Inst 2 Inst 1 /= /U W R LIST 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 OB1 Cycle Execution Cycle Execution R 4 R 2 Inst 3 Inst 2 /= /U W R LIST 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

Liste daffectation

Liste des textes de message pour C+C

U E1.1 U M3.1

1 . . . .

M3.1 Fin de course Pression

1 . . . .

M3.1 "Texte de message pour Fin de course Pression"

Programmer avec STEP 7 V5.1 A5E00069874-03

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.

Programme dans lautomate

Affichage dans le systme de contrle-commande

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 Procd de signalisation par bit Il n'y a pas de base de donnes commune la PG et au systme de commande. La charge pour le bus est leve (le systme de commande interroge). Les messages reoivent l'horodatage du systme de commande.

Les messages sont grs dans une base de donnes commune la PG et au systme de commande. La charge pour le bus est faible (l'AP est signal actif). Les messages reoivent l'horodatage de l'automate programmable.

14-2

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 Synchrone avec le programme Affichage via WinCC et ProTool (uniquement ALARM_S) Possible pour S7300/400 Programmation l'aide de blocs de signalisation : 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 Pas de transmission au systme de commande Messages sur mnmonique Asynchrone avec le programme Affichage via WinCC Messages de diagnostic personnaliss Synchrone avec le programme Affichage dans la mmoire tampon de diagnostic sur la PG Possible pour S7-300/400 Programmation l'aide de blocs de signalisation (fonction systme) WR_USMSG

Possible seulmt pour S7-400 Configuration l'aide de la table des mnmoniques

Transmission au systme de commande pour WinCC, via la configuration de liaisons AP-OS pour ProTool via les fonctions ProTool

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
Messages sur bloc

Dommaine d'application
Pour signaler des vnements synchrones avec le programme, il s'agit par exemple d'indiquer qu'un rgulateur a atteint une valeur limite Pour signaler des vnements indpendants du programme, il s'agit par exemple de surveiller la position d'un commutateur Pour signaler des vnements de diagnostic dans la mmoire tampon de diagnostic, chaque appel de la SFC

Messages sur mnmonique Messages personnaliss

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
CONT/LOG/ LIST/SCL Mnmoniques PDIAG CFC GRAPH Transfert de donnes PG

Affichage de messages
OP/OS WinCC ProTool PG 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 :
Elment constituant
Horodatage Etat de signalisation Variable Image Numro du message Texte du message

Description
Cr dans l'automate programmable l'apparition de l'vnement de signalisation Possibilits : arrivant, partant, partant sans acquittement, partant avec acquittement Il est possible d'ajouter certains messages une valeur de processus pouvant tre exploite par le bloc de signalisation utilis. En cas de plantage du systme, les messages arrivants peuvent tre affichs aprs coup sur l'OS. Numro univoque dans l'ensemble du projet, attribu par le systme et qui identifie un message. Configur par l'utilisateur

14-4

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


10 au plus non oui non

AffiAP chage mess. de CPU/ tat S7


non S7-400

Particularits

ALARM SFB 33 ALARM_8 SFB 34

possible

Emet un message chaque front arrivant ou partant Emet un message chaque front arrivant ou partant d'un ou de plusieurs signaux Comme ALARM_8

possible

oui

non

non

S7-400

ALARM_8P SFB 35 NOTIFY SFB 36 AR_SEND SFB 37 ALARM_SQ SFC 17

possible

10 au plus 10 au plus 1

oui

non

non

S7-400

non

oui

non

non

S7-400

Comme ALARM

1 1

possible

oui oui

non oui*

non oui

S7-400 S7-300/ 400

Sert envoyer des donnes d'archives Le message n'est pas engendr par un changement de front, mais chaque appel de la SFC Comme ALARM_SQ

ALARM_S SFC 18

non

oui

oui*

oui

S7-300/ 400

* 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
alarm_8 alarm_8p notify alarm alarm_s alarm_s ar_send

Bloc de signalisation
ALARM_8 ALARM_8P NOTIFY ALARM ALARM_S ALARM_SQ AR_SEND

Dsignation
SFB 34 SFB 35 SFB 36 SFB 33 SFC 18 SFC 17 SFB 37

Proprits
8 voies, acquittement possible, pas de variable additionnelle 8 voies, acquittement possible, jusqu' 10 variables additionnelles par voie 1 voie, pas d'acquittement, jusqu' 10 variables additionnelles 1 voie, acquittement possible, jusqu' 10 variables additionnelles 1 voie, pas d'acquittement, jusqu' 1 variable additionnelle 1 voie, acquittement possible, jusqu' 1 variable additionnelle 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
1732 1733 1734

Allemand
ausgefallen gestrt

Franais
ne rpond pas dfaillant

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

Transfert des donnes de configuration dans le systme cible


Transfert des donnes de configuration dans le systme cible

14.6.1

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

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.

14.7.1

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 X

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) 0x01 Voie (voie errone)1) Etat du module (erreur de module, module incorrect/ manquant) 0x00 type 0x82
Message en clair N'est pas valu Message en clair -

Fabricant

Appareil (uniquement pour l'ET 200 B) 0x00 + 1 octet info diagnostic


4)

En-tte 2)

0x10

0x00 type > 0x9F


Message en clair tir du 3) fichier GSD -

ET 200 S

Message : "Prsence d'un diagnostic"

Message en clair

ET 200 M comme esclave S7 ET 200 M comme esclave norm ET 200 X

N'est pas valu N'est pas valu Message : "Prsence d'un diagnostic" Message : "Prsence d'un diagnostic" Message : "Prsence d'un diagnostic" Message : "Prsence d'un diagnostic" Message en clair -

ET 200 X DESINA ET 200 L

Message en clair -

Message en clair

ET 200 B TOR Message : "Prsence d'un diagnostic" ET 200 B analogique Message : "Prsence d'un diagnostic"

Message : "Module dfectueux"

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) 0x00 type 0x01


Message en clair Message en clair

Etat H (systmes H pas encore pris en charge) 0x00 type = 0x9E ou type = 0x9F
3)

Autres caractristiques 0x00 autre type


N'est pas valu N'est pas valu N'est pas valu N'est pas valu N'est pas valu N'est pas valu

ET 200 S ET 200 M comme esclave S7

N'est pas valu N'est pas encore valu -

ET 200 M Message en clair comme esclave norm ET 200 X ET 200 X DESINA ET 200 L ET 200 B TOR ET 200 B analogique Message : "Module dfectueux" Message en clair Message : "Module dfectueux" Message en clair

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.
Programmer avec STEP 7 V5.1 A5E00069874-03

14-28

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 ; EV_ID : DWORD ; IO_Flag: BYTE ; logAdr : WORD ; TextlistId : WORD ; ErrorNo : WORD ; Channel_Error : BOOL ; ChannelNo : WORD ; //Message apparaissant (TRUE) ou disparaissant (FALSE) //Numro de message gnr //Module d'entres : B#16#54, Module de sorties : B#16#55 //Adresse logique //ID de la liste de textes (par dfaut = 1) //Numro d'erreur gnr //Erreur de voie (TRUE) //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


Configuration d'attributs de contrle-commande avec LIST, CONT, LOG

15.2.1

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

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

15.3.1

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

Transfert des donnes de configuration dans le systme cible de contrle-commande


Transfert des donnes de configuration dans le systme cible de contrle-commande

15.5.1

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
Mode de test / mode de processus (pas pour S7-400 ni CPU 318-2)

Observations
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

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.

16.1.5

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.
Enregistrement
Commande Fonction Fichier > Enregistrer Fichier > Enregistrer sous L'tat en cours du bloc de l'diteur est sauvegard sur le disque dur de la PG. 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.

Chargement
Systme cible > Charger

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.

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 Mmoire de travail

EPROM Charger le programme entier dans la CPU

RAM Parties du programme significatives pour lexcution

RAM

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
Liaison en ligne PG - systme cible Liaison en ligne PG - systme cible

Mmoire vive (RAM)

Chargement et effacement de blocs individuels Chargement et effacement d'un programme utilisateur entier

Chargement de blocs individuels Liaison en ligne PG - systme cible EPROM intgre (uniquement S7-300) ou enfichable EPROM enfichable Chargement de programmes utilisateur entiers Chargement de programmes utilisateur entiers Liaison en ligne PG - systme cible 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.

Commande Systme cible > Charger


... Stations slectionnes

Chargement de quoi ?

O ?

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 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 Dans la station slectionne et dans toutes les stations qui sont partenaires de liaison de cette station

... Station slectionne et station partenaire

... Stations du sous-rseau ... Liaisons slectionnes

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 (slection multiple possible) Dans la station locale et (pour les liaisons deux sens) dans les stations partenaires correspondantes Dans le module slectionn (possible l'tat de fonctionnement RUN-P)

... Liaisons et routeurs

Liaisons (une table des liaisons vide est galement possible) et information sur les routeurs

17-10

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 :
-

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.

17.2.4

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.
Programmer avec STEP 7 V5.1 A5E00069874-03

17-14

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
//OB1 Rseau 1 E E A 0.1 0.2 4.0

Mnmonique
"Bouton-poussoir 1" "Bouton-poussoir 2" "Feu vert"

Format affichag Valeur tat Val forage


BOOL BOOL BOOL BOOL BOOL true true false true true true false false false false true false true

//OB1 Rseau 3 E 0.5 "Automatique activ" E A 0.6 4.2 "Manuel activ"

"Fonction. automatique" BOOL

//OB1 Appel FB1 pour dmarrage moteur essence E 1.0 "ME_dmarrage" BOOL E E A A 1.1 1.2 5.1 5.0 "ME_arrt" BOOL "ME_Dfaillance" BOOL "ME_Consigne_atteinte" BOOL "ME_marche" BOOL

//OB1 Appel FB1 pour dmarrafe moteur diesel E 1.4 "MD_dmarrage" BOOL E 1.5 "MD_arrt" BOOL (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
T1 MW 4 MW 4 MW 6

Format d'affichage
DUREE SIMATIC DUREE SIMATIC HEXA HEXA

Frappe
137 137 137 157

Valeur de forage Signification affiche


S5TIME#130MS S5TIME#890MS W#16#0089 W#16#009D Conversion en millisecondes Reprsentation en format DCB possible Reprsentation en format DCB possible 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
Z1 MW 4 MW 4 MW 6

Format d'affichage
COMPTEUR COMPTEUR HEXA HEXA

Frappe
137 137 137 157

Valeur de forage affiche


C#137 C#89 W#16#0089 W#16#009D

Signification
Conversion Reprsentation en format DCB possible Reprsentation en format DCB possible 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 dans la barre doutils.

Programmer avec STEP 7 V5.1 A5E00069874-03

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
Entre | Sortie | Mmento Entre | Sortie | Mmento Entre | Sortie | Mmento Entre | Sortie | Mmento Priphrie (Entre | Sortie ) Priphrie (Entre | Sortie ) Priphrie (Entre | Sortie ) Temporisations Compteurs Bloc de donnes Bloc de donnes Bloc de donnes Bloc de donnes

Type de donnes
BOOL BYTE WORD DWORD BYTE WORD DWORD TIMER COUNTER BOOL BYTE WORD DWORD

Exemple (abrviations allemandes)


E 1.0 | A 1.7 | M 10.1 EB 1 | AB 10 | MB 100 EW 1 | AW 10 | MW 100 ED 1 | AD 10 | MD 100 PEB 0 | PAB 1 PEW 0 | PAW 1 PED 0 | PAD 1 T1 Z1 DB1.DBX 1.0 DB1.DBB 1 DB1.DBW 1 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
M 3.0 M 3.1 M 3.2 M 3.3 M 3.4 M 3.5 M 3.6 M 3.7 M 4.0 M 4.1

Format d'affichage
BIN BIN BIN BIN BIN BIN BIN BIN BIN 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
E1.0 M1.7 A10.7 DB1.DBX1.1 E1.1 M1.6

Valeurs de forage/forage permanent autorises


true false 0 1 2#0 2#1

Oprandes de type octet


Oprandes de type octet possibles
EB 1 MB 12 MB 14 AB 10 DB1.DBB 1 PAB 2

Valeurs de forage/forage permanent autorises


2#00110011 b#16#1F 1F a 10 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
EW 1 MW 12 MW 14 AW 10 DB1.DBW 1 PAW 2 MW 3 MW 5 MW 7 MW 9 MW 11

Valeurs de forage/forage permanent autorises


2#0011001100110011 w#16#ABCD ABCD b#(12,34) ab 12345 12345 S5t#12s340ms 0.3s ou 0,3s C#123 d#1990-12-31

Oprandes de type double mot


Oprandes de type double mot possibles
ED 1 MD 0 MD 4 AD 10 AD 12 DB1.DBD 1 PAD 2 MD 8 MD 12 MD 16 MD 20 MD 24 MD 28 MD 32

Valeurs de forage/forage permanent autorises


2#00110011001100110011001100110011 1.23e4 1.2 dw#16#abcdef10 ABCDEF10 b#(12,34,56,78) abcd L# -12 L#12 123456789 123456789 T#12s345ms Tod#1:2:34.567 p#e0.0

18-10

Programmer avec STEP 7 V5.1 A5E00069874-03

Test avec des tables de variables

Temporisations
Oprandes de type temporisation possibles
T1 T 12 T 14 T 16 T 18 T 20

Valeurs de forage/ forage permanent autorises


0 20 12345 s5t#12s340ms 1.3 1.3s

Signification
Valeur de temps en millisecondes (ms) Valeur de temps en millisecondes (ms) Valeur de temps en millisecondes (ms) Valeur de temps gale 12s 340ms Valeur de temps gale 1s 300 ms 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
Z1 Z 14 Z 16

Valeurs de forage/forage permanent autorises


0 20 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
Point de dclenchement

Possibilits de paramtrage
Dbut de cycle Fin de cycle Passage de "Marche" "Arrt" unique cyclique

Condition de dclenchement

Programmer avec STEP 7 V5.1 A5E00069874-03

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 :
Condition de dclenchement "Unique"
Visualiser des variables

Condition de dclenchement "Cyclique"

Actualisation unique
dpend du point de dclenchement

Visualisation avec dclenchement dfini


Lorsque vous testez un bloc, vous pouvez suivre avec prcision la poursuite du traitement.

18-14

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
Point de dclenchement

Possibilits de paramtrage
Dbut de cycle Fin de cycle Passage de "Marche" "Arrt" unique cyclique

Condition de dclenchement

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 :
-

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 .

18-16

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 :
Condition de dclenchement "Unique"
Forcer des variables

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
EB 0 A A 0.1 1.2 HEX BOOL BOOL

Valeur de for
B#16#10 true 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
Affichage gras : Affichage estomp :

Signification
variables ayant dj reu une valeur fixe dans la CPU variables d'un module inexistant ou non enfich ou variables avec erreur d'adressage, un message d'erreur s'affichera.

Affichage normal : variables en cours d'dition

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
oui oui oui oui

Forage permanent avec S7-300


oui oui oui

Forage

Mmentos (M) Temporisations et compteurs (T, Z) Blocs de donnes (DB) Sorties de priphrie (PAB, PAW,PAD) Entres et sorties (E, A) Le programme utilisateur peut craser les valeurs de forage/forage perm. Le remplacement de la valeur de forage permanent prend effet sans interruption Les variables conservent leurs valeurs aprs la fermeture de l'application Les variables conservent leurs valeurs une fois la liaison la CPU suspendue Erreur d'adressage autorise : par ex. : EW1 valeur de forage/forage permanent : 1 EW1 valeur de forage/forage permanent : 0 Dfinition du dclenchement

oui oui oui oui oui oui

Entres de priphrie (PEB, PEW, PED) oui

oui oui

oui oui

La dernire prend effet

Toujours dclenchement immdiat

Toujours dclenchement immdiat S'applique toutes les valeurs de forage permanent

Unique ou cyclique 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 RLG ETAT OR OS OV A0 A1 RB

Accu1 AR1 GlobDB

3039 0

Accu2 AR2 InstDB

58 84000000

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 La DEL RUN clignote. STOP est allume.

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
Chemin dappel

Signification
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. Dsactivez cette option si la condition par chemin d'appel tait annule. 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.

Avec adresse Blocs de donnes ouverts

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 Station Programme S7 Appel de la fonction "Diagnostic du matriel"

Icne de diagnostic de la CPU

Vue rapide CPU + modules dfaillants

Vue de diagnostic

UR (0) 1 PS 307 5A CPU 314 AI-300

Etat du module

2 3

Programmer avec STEP 7 V5.1 A5E00069874-03

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 Station CPU Programme S7

Etat du module

Appel partir du gestionnaire de projets SIMATIC Partenaires accessibles Partenaires accessibles MPI=2

HW Config : Diagnostic du matriel

UR (0) 1 2 3 PS 307 5A CPU 314 AI-300

Appel partir des partenaires accessibles "Etat du module" "Diagnostic du matriel"

Appel partir de tables de configuration

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
Gnral

Information
Donnes d'identification du module slectionn, par exemple type, numro de rfrence, version, tat, emplacement dans le chssis/profil support. Vue d'ensemble des vnements dans la mmoire tampon de diagnostic ainsi qu'informations dtailles sur l'vnement slectionn.

Utilisation
Les informations en ligne du module enfich peuvent tre compares avec les donnes de configuration du module. 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.

Mmoire tampon de diagnostic

Alarme de diagnostic Diagnostic de l'esclave DP Mmoire

Donnes de diagnostic du module slectionn. Donnes de diagnostic de l'esclave DP slectionn (selon EN 50170) 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.

Pour dterminer la cause d'un dfaut de module. Pour dterminer la cause d'une erreur d'un esclave DP 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. Heure actuelle, compteur d'heures de fonctionnement et informations pour la synchronisation des horloges (intervalles de synchronisation). Pour afficher l'heure et la date d'un module et contrler la synchronisation des horloges

Horodatage

Performances

Plages d'oprandes et blocs disponibles pour le module (CPU/FM) slectionn.

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.

21-10

Programmer avec STEP 7 V5.1 A5E00069874-03

Diagnostic

Fonction dinformation

Information
Affichage de tous les types de blocs disponibles dans le module slectionn. Liste des OB, SFB, et SFC pouvant tre utiliss dans ce module.

Utilisation
Pour vrifier quels blocs standard votre programme utilisateur peut contenir ou appeler pour pouvoir s'excuter dans la CPU choisie. Pour vrifier combien de liaisons et quelles liaisons de la CPU ou du FM de M7 sont possibles ou affectes.

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

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

Modules aptes au diagnostic systme

Informations de diagnostic de la CPU sur le module Donnes de diagnostic du module

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
oui oui oui oui

Module diagnostic
oui

Module sans fonction de diagnostic


oui

Esclave DP normalis
oui

Gnral Mmoire tampon de diagnostic Alarme de diagnostic Mmoire Temps de cycle Horodatage Performances Piles Communication Diagnostic de l'esclave DP Etat H
1)
1)

oui oui oui oui oui oui oui

oui

oui

oui

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 Programme utilisateur

STEP 7

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

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

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

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
Donnes d'tat de la communication Partenaires de diagnostic Liste d'informations de dclenchement de l'OB Liste d'vnements de dclenchement Informations d'tat des modules

Informations
Fonctions de communication actuellement actives dans le systme Modules aptes au diagnostic dclars la CPU Informations de dclenchement pour les OB de la CPU 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

Programmer avec STEP 7 V5.1 A5E00069874-03

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).
Domaine
Informations de diagnostic de module Donnes de diagnostic de module

Informations
Adresse de dbut de module, erreurs internes/externes, erreurs de voie, erreurs de paramtres (4 octets) Toutes les donnes de diagnostic d'un module prcis

21.8.3

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

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
Erreur de redondance de priphrie Erreur de redondance de CPU Erreur de redondance de communication Erreur de temps Erreur d'alimentation Alarme de diagnostic Alarme de dbrochage/enfichage Erreur matrielle CPU Erreur d'excution du programme Dfaillance d'un chssis ou d'une station en priphrie dcentralise Erreur de communication Erreur de programmation Erreur d'accs la priphrie

21.9.1

OB derreur
OB 70 OB 72 OB 73 OB 80 OB 81 OB 82 OB 83 OB 84 OB 85 OB 86 OB 87 OB 121 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
Avec erreur Sans erreur

Valeur en retour
Infrieure 0 Suprieure ou gale 0

Signe du nombre entier


Ngatif (bit de signe 1) 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
Redondance

Type d'erreur
Erreur de redondance de priphrie (uniquement dans les CPU H) Erreur de redondance de CPU (uniquement dans les CPU H) Erreur de redondance de communication

OB
OB 70

Priorit
25

OB 72

28

OB 73 OB 80 OB 81

25 26 (ou 28 lorsque l'OB d'erreur est appel dans le programme de mise en route)

Asynchrone

Erreur de temps Erreur d'alimentation

Alarme de diagnostic Alarme de dbrochage/enfichage Erreur matrielle CPU Erreur d'excution du programme Dfaillance d'unit Erreur de communication Synchrone Erreur de programmation Erreur d'accs

OB 82 OB 83 OB 84 OB 85 OB 86 OB 87 OB 121 OB 122 Priorit de l'OB l'origine de l'erreur

Programmer avec STEP 7 V5.1 A5E00069874-03

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 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)

1)

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.
TEMP TEMP

Nom
OB81_EV_CLASS OB81_FLT_ID

Type
BYTE BYTE

Description
Classe et code d'vnement 39xx 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 TEMP TEMP TEMP TEMP TEMP TEMP TEMP TEMP TEMP
1

OB81_PRIORITY OB81_OB_NUMBR OB81_RESERVED_1 OB81_RESERVED_2 OB81_MDL_ADDR OB81_RESERVED_3 OB81_RESERVED_4 OB81_RESERVED_5 OB81_RESERVED_6 OB81_DATE_TIME

BYTE BYTE BYTE BYTE INT BYTE BYTE BYTE BYTE DATE_AND_TIME

Classe de priorit = 26/28 81 = OB81 Rserv Rserv Rserv Significatif uniquement pour les codes d'erreur B#16#31, B#16#32 et B#16#33

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 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 L ==I SPB DP L ==I SPB DP BEA DP: L

B#16#21 #OB81_FLT_ID

B#16#22

// // // // //

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

B#16#39 #OB81_EV_CLASS

L ==I S L ==I R

Defaut_pile B#16#38

Defaut_pile

// 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.

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.
TEMP TEMP TEMP TEMP TEMP TEMP TEMP TEMP TEMP TEMP TEMP

Nom
OB122_EV_CLASS OB122_SW_FLT OB122_PRIORITY OB122_OB_NUMBR OB122_BLK_TYPE OB122_MEM_AREA OB122_MEM_ADDR OB122_BLK_NUM OB122_PRG_ADDR OB122_DATE_TIME Erreur

Type
BYTE BYTE BYTE BYTE BYTE BYTE WORD WORD WORD DATE_AND_TIME INT

Description
Classe et code d'vnement 29xx Code d'erreur : 16#42, 16#43, 16#44 , 16#45
1 1

Classe de priorit = priorit de l'OB o s'est produite l'erreur 122 = OB122 Type du bloc o s'est produite l'erreur Zone de mmoire et type d'accs Adresse de mmoire o s'est produite l'erreur Numro du bloc o s'est produite l'erreur Adresse relative de la commande l'origine de l'erreur Date et heure de dclenchement de l'OB Contient le code d'erreur provenant de la SFC44.

1 Pas pour le S7-300

LIST
L B#16#2942 L #OB122_SW_FLT ==I SPB <> I SPB Stop ErrA: CALL "REPL_VAL" VAL : = DW#16#2912 RET_VAL : = #Erreur L #Erreur L 0 ==I BEB QFeh L B#16#2943

Description
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. 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".

Stop:

CALL "STP"

21-30

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.
Programmer avec STEP 7 V5.1 A5E00069874-03

21-34

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 imprimer Commande Fonction Aperu avant impression
Fichier > *

Fonction Fonction Mise en page

Fonction

En-ttes et Configuration bas de page de l'imprimante


Blocs, sources LIST Etat du module Table de donnes globales Table de configuration Objet, dossier d'objets Donnes de rfrence Table des mnmoniques Table des variables Table des liaisons Textes destins l'utilisateur (textes personnaliss, bibliothques de textes)

Table GD > * Station > * Fichier > * Donnes de rfrence > * Table > * Table > * Rseau > * 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 PKZIP LHARC WinZip JAR partir de la version 2.4.1a partir de la version 2.04g partir de la version 2.13 partir de la version 6.0 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 A Projet C Serveur du group Windows NT

Projet B

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
Conception dune solution dautomatisation Dmarrage de STEP 7 Cration de la structure du projet Cration d'une station Configuration du matriel Configuration de liaisons de communication Dfinition de la table des mnmoniques Cration d'un programme utilisateur C ou CFC Configuration du systme d'exploitation Installation du systme d'exploitation sur le M7-300/400 Chargement de la configuration matrielle et du programme utilisateur dans M7 Test et dbogage du programme utilisateur Surveillance du fonctionnement et diagnostic de M7 ProC/C++ Comme pour STEP 7, cependant sans diagnostic personnalis Comme pour STEP 7 Comme pour STEP 7 Comme pour STEP 7 Spcifique M7 ; voir ProC/C++ Spcifique M7 ; voir BHB M7-SYS Rt

Description
Spcifique M7 ; voir PHB M7-SYS RT Comme pour STEP 7 Comme pour STEP 7

Impression et Archivage

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

M7-ProC/C++

CFC pour S7 et M7

Borland C++

M7-SYS RT

Rcapitulatif
Pour crer des ...
programmes C/C++

vous avez besoin du logiciel optionnel M7 ...


1. 2. 3. M7-SYS RT M7-ProC/C++ Borland C++ M7-SYS RT CFC pour S7 et M7 Borland C++

programmes CFC

1. 2. 3.

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 ...
STEP 7

vous aide...
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. pour la cration de programmes C et C++. pour la cration, le test et le dbogage de programmes CFC et pour le lancement et l'excution de programmes CFC.

M7-ProC/C++

Borland C++ CFC pour S7 et M7

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
M7 RMOS32

Module / mmoire centrale


FM 356-4 / 4Mo FM 356-4 / 8Mo CPU 388-4 / 8Mo FM 456-4 / 16Mo CPU 488-3 / 16Mo CPU 486-3 / 16Mo FM 356-4 / 8Mo CPU 388-4 / 8Mo FM 456-4 / 16Mo CPU 488-3 / 16Mo CPU 486-3 / 16Mo

PROFIBUS DP et TCP/IP oui/non


non oui oui oui oui oui non non oui oui oui

Installation sur mmoire de masse


carte mmoire 4 Mo ou disque dur

M7 RMOS32 avec MS-DOS

carte mmoire 4 Mo ou disque dur

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) : 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.

25-4

Programmer avec STEP 7 V5.1 A5E00069874-03

Annexe

A.1
A.1.1

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.

Attente 5. Mise en route 8. 4. 7. Marche 10. 9.

2. 1. Arrt 3.

Le tableau suivant donne les conditions de changement d'tat de fonctionnement.


Changement
1. 2.

Description
La CPU est l'tat "Arrt" (STOP) lors de la mise sous tension. 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. 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.

3.

A-2

Programmer avec STEP 7 V5.1 A5E00069874-03

Annexe

Changement
4. 5.

Description
La CPU passe l'tat de fonctionnement "Attente" lorsqu'un point d'arrt est atteint dans le programme de mise en route. 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). La CPU passe de nouveau l'tat "Arrt" (STOP) lorsque : la CPU est mise sur STOP via le commutateur cl ou depuis la PG ; la fonction de communication "STOP" est excute.

6.

7. 8.

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. 10.

La CPU passe l'tat de fonctionnement "Attente" lorsqu'un point d'arrt est atteint dans le programme utilisateur. 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
La plus leve

Etat de fonctionnement
Arrt Attente Mise en route

La plus faible

Marche

A.1.2

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 VC VX signifie signifie signifie les donnes sont conserves le bloc de code dans l'EPROM est conserv, le bloc de code ventuellement charg est perdu 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) les donnes sont remises zro ou effaces (contenu des DB) les donnes prennent la valeur par dfaut de l'EPROM impossible, puisque NV-RAM absente

0 V ---

signifie signifie signifie

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 blocs ds mm. charg. DB ds mm. travail mm. tempos compt. (param. rmanents) Dmar. e chaud pour S7-300 mm. tempos compt. (param. non rmanents)

CPU sans
blocs DB ds ds mm. mm. travail charg. (param. rmanents) DB ds mm. travail

sauveg.
mm. tempos compt. mm. tempos compt. (param. non rma nents) 0

(param. (param. non r- rmamanents) nents) V X

VC

VX

Dmar. chaud X pour S7-400 Dmar. froid pour S7-300 Dmar. froid pour S7-400 Redmar rage pour S7-400 X X X

VC

---

VC

VC

---

Seulmt dmar. chaud autoris

Programmer avec STEP 7 V5.1 A5E00069874-03

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
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 Effacer les sorties des modules de signaux 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 signifie signifie est excut n'est pas excut

Dmarrage chaud
X X 0 X X X X X X X

Dmarrage froid
X 0 X X X X X X X X

Redmarrage
0 0 0 paramtrable paramtrable 0 0 X X X

X 0

X 0

X X

X X

X X

X X

A-8

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

Donnes utilisateur
Effacer MIE/MIS, mmentos, tempos et compteurs rmanents et non rmanents Initialiser avec valeurs de charg. tous les DB

MISE EN ROUTE

MARCHE

Demande de dmarrage froid

OB102 Dmarrage froid

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 Sont conservs mmentos, tempos, compteurs rman. et DB (voir 5)

OB100 Dmarrage chaud

Transfert de la MIS aux modules de priphrie Sorties de priphrie hors de la mmoire image (voir 1)

Sorties de priphrie
sont mises l'tat de scurit (voir 1)

Validation des sorties (voir 4)

Donnes utilisateur
Demande de redmarrage Sont conservs MIE/MIS mmentos, tempos et compteurs rmanents et non rmanents et DB (voir 2) OB101 Redmarrage Cycle restant

Lire la mmoire image des entres (MIE)

Traiter le programme utilisateur (voir 3)

Sorties de priphrie
sont mises l'tat de scurit (voir 1)

Effacer mmoire image des sorties et sorties de priphrie (paramtrable)

Ecrire la mmoire image des sorties (MIS)

STOP

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 Etat de fonctionnement de la CPU 1
Marche Marche Arrt Arrt Attente Communication sens unique Par SFB de communication Communication double sens par SFB de communication Communication sens unique Par SFC de communication Communication double sens par SFC de communication
signifie signifie X signifie

Sens de l'change de donnes


X X

Etat de fonctionnement de la CPU 2


Marche Arrt/Attente Marche Arrt Arrt/Attente Marche Arrt/Attente Marche Marche Arrt/Attente Marche

Communication par donnes globales

Marche Marche Marche Marche Marche Marche

change de donnes possible dans les deux sens change de donnes possible dans un sens seulement change de donnes impossible

A.1.5

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 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

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.

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 Blocs de code Blocs de code entiers Blocs de donnes Blocs de donnes entiers Commentaires Mnmoniques Sauvegards sur le disque dur

Mmoire de travail Parties des blocs de code et de donnes significatives pour lexcution

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
Mmoire vive (RAM)

Possibilits de chargement

Type de chargement

Chargement et effacement de Liaison PG-CPU blocs individuels Chargement et effacement d'un programme S7 entier Rechargement de blocs individuels Liaison PG-CPU Liaison PG-CPU Liaison PG-CPU

EPROM intgre (uniquement S7-300) ou enfichable EPROM enfichable

Chargement de programmes S7 entiers 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
Mmoire image des entres

Accs par des units de taille suivante


Entre (bit)

Notation S7 Description

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.

Octet d'entre Mot d'entre Double mot d'entre Mmoire image des sorties Sortie (bit)

EB EW ED A 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.

Octet de sortie Mot de sortie Double mot de sortie Mmentos Mmento (bit)

AB AW AD M Cette zone met disposition de l'espace mmoire pour les rsultats intermdiaires calculs dans le programme.

Octet de mmento Mot de mmento

MB MW

A-16

Programmer avec STEP 7 V5.1 A5E00069874-03

Annexe

Plage d'oprandes

Accs par des units de taille suivante


Double mot de mmento

Notation S7 Description

MD T Z DB Cette zone sert d'espace mmoire pour les temporisations. Cette zone sert d'espace mmoire pour les compteurs. 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).

Temporisations Compteur Bloc de donnes

Temporisation (T) Compteur (Z) Bloc de donnes ouvert avec AUF DB :

Bit de donnes Octet de donnes Mot de donnes Double mot de donnes Bloc de donnes ouvert avec AUF DB : Bit de donnes Octet de donnes Mot de donnes Double mot de donnes Donnes locales Bit de donnes locales

DBX DBB DBD DBW DI

DIX DIB DIW DID L 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.

Octet de donnes locales Mot de donnes locales Double mot de donnes locales Zone de Octet d'entre de priphrie : entres priphrie

LB LW LD PEB Les zones de priphrie des entres et des sorties permettent l'accs direct des modules d'entres et de sorties centraliss et dcentraliss.

Programmer avec STEP 7 V5.1 A5E00069874-03

A-17

Annexe

Plage d'oprandes

Accs par des units de taille suivante


Mot d'entre de priphrie Double mot d'entre de priphrie

Notation S7 Description

PEW PED

Zone de priphrie : sorties

Octet de sortie de priphrie Mot de sortie de priphrie

PAB 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 Programme de mise en route ... Lecture des entres dans les modules et mise jour des donnes dans la mmoire image des entres Cycle libre Traitement du programme utilisateur (OB1 et tous les blocs qui y sont appels) Ecriture de la mmoire image des sorties dans les modules ... .Cycle des nouvelles CPU (10/98) Programme de mise en route ... Ecriture de la mmoire image des sorties dans les modules Lecture des entres dans les modules et mise jour des donnes dans la mmoire image Traitement du programme utilisateur (OB1 et tous les blocs qui y sont appels) ...

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

Cycle libre

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


de 20 octets dans la pile L.

SFC

Pile L

OB10 a besoin Classe de priorit 2


de 20 octets dans la pile L.

FB

Classe de priorit 1

OB1 a besoin
de 20 octets dans la pile L.

FB

FC

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 Registres DB et DI : Numro du DB ouvert Numro du DB dinstance ouvert 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

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 2

100 1

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)

Mmoire de travail

Mmoire configurable (RAM non volatile)

Mmoire systme

Cartouche mmoire FEPROM enfichable

CPU

A-26

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
hexadcimal binaire, date CEI dure CEI heure CARACTERE

Taille en bits
8, 16 et 32 8, 16 et 32 16 32 32 8

Reprsentation des nombres


B#16#, W#16# et DW#16# 2# D# T# TOD# '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)
1 8 Texte boolen TRUE/FALSE B16#0 B16#FF Nombre hexadcimal Nombre en binaire pur Nombre hexadcimal BCD Nombre dcimal non sign Nombre en binaire pur Nombre hexadcimal Nombre dcimal non sign Nombre dcimal sign Nombre dcimal sign 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 Caractres ASCII 2#0 2#1111_1111_1111_1111 W#16#0 W#16#FFFF C#0 C#999 B#(0,0) B#(255,255)

Exemple

BOOL (bit) BYTE (octet)

TRUE L B#16#10 L byte#16#10 L 2#0001_0000_0000_000 0 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) L1 L L#1

WORD (mot)

16

DWORD (double mot)

32

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) -32768 32767 L#-2147483648 L#2147483647 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

INT (entier) DINT (nombre entier de 32 bits) REAL (nombre virgule flottante) S5TIME (dure SIMATIC) TIME (dure CEI)

16 32

32

L 1.234567e+13

16

L S5T#0H_1M_0S_0MS L S5TIME#0H_1H_1M_0S _0MS

32

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 TOD#0:0:0.0 TOD#23:59:59.999 'A','B' etc. L D#1994-3-15 L DATE#1994-3-15 L TOD#1:10:3.3 L TIME_OF_DAY#1:10:3.3 L 'E'

DATE (date CEI)

16

TIME_OF_DAY 32 (heure) CHAR (caractre) 8

A-30

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
Entier (16 bits) :

Plage
32 768 +32 767

La figure suivante reprsente le nombre entier +44 sous forme de nombre en binaire pur.
Bit 15 0 0 0 12 11 0 0 0 0 8 0 7 0 0 1 4 0 3 1 + 1 0 0 0

Signe

Valeurs dcimales : 32

8 + 4 = 44

A.3.2.2

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
Nombre entier (32 bits) :

Plage
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 V

28 27 e

24 23

20 19

16 15

12 11 f

8 7

4 3

Signe (1 bit)

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
Signe s Exposant e ... Exposant e Exposant e Mantisse m ... Mantisse m Mantisse m

Numro du bit
31 30 ... 24 23 22 ... 1 0

Valeur

2 exposant 7 ... 2 exposant 1 2 exposant 0 2 exposant 1 ... 2 exposant 22 2 exposant 23

A-32

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
-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)

A1
0 0 0 1 1

A0
0 0 1 0 1

OV
1 1 1 1 1

OS
1 1 1 1 1

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 24 23 2 20 19 0 16 15 0 12 11 0 8 7 0 4 3 0 0

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 28 27 0 24 23 4 20 19 9 16 15 0 12 11 F 8 7 D 4 3 C 0

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 24 23 B 20 19 5 16 15 0 12 11 4 8 7 F 4 3 7 0

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)

Exposant : e (8 bits)

Mantisse ou fraction : f (23 bits)

Programmer avec STEP 7 V5.1 A5E00069874-03

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
Mot (16 bits, nombre DCB trois positions sign) Double mot (32 bits, nombre DCB 7 positions sign)

Plage
999 +999 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 0 12 11 0 0 0 1 8 1 7 0 0 0 4 1 3 0 0 0 0 0

Centaines (102)

Dizaines (101)

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 x 1 0 0 0 1 0 ...8 1 7... 0 0 2 1 0 0 1 7 1 ...0 1

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
10 ms 100 ms 1s 10 s

Code binaire pour la base de temps


00 01 10 11

Vous pouvez chargez une valeur de temps prdfinie en utilisant la syntaxe suivante : L1 W#16#wxyz
1

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
-

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
DATE_AND_TIME DT STRING

Description
Dfinit une zone de 64 bits (8 octets). Ce type de donnes sauvegarde en format dcimal cod binaire. 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'). 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). 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. 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. 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.

ARRAY

STRUCT

UDT

FB, SFB

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
0 1 2 3 4 5 6 7 (4MSB) 7 (4LSB)

Contenu
anne mois jour heures minutes secondes les deux chiffres de poids le plus fort de MSEC les chiffres de poids le plus faible de MSEC jour de la semaine 1 = dimanche 2 = lundi ... 7 = samedi

Exemple
B#16#93 B#16#12 B#16#25 B#16#08 B#16#01 B#16#01 B#16#23 B#16#0 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 1990 1999 2000 2089 1 12 1 31 00 23 00 59 00 59 0 999 dimanche samedi

Code DCB
90h 99h 00h 89h 01h 12h 01h 31h 00h 23h 00h 59h 00h 59h 000h 999h 1h 7h

A.3.3.2

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 CHAR REAL BOOL Entier Octet Caractre Rel Boolen Tableaux

1,1 1,2 1,3 ARRAY [1..2,1..3] INTEGER 2,1 2,2 2,3

Entier Entier Entier Entier Entier Entier

A-40

Programmer avec STEP 7 V5.1 A5E00069874-03

Annexe

A.3.3.3
Tableaux

Utilisation de tableaux pour l'accs aux donnes

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 Type STRUCT ARRAY[1..3] INT END_STRUCT Val. init. Commentaire

1 Temp_fonct = ARRAY [1..3] INTEGER 2 3

Temp_fonct [1] Temp_fonct [2] Temp_fonct 3]

Programmer avec STEP 7 V5.1 A5E00069874-03

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.
Entier Entier Entier Entier Entier Entier

1,1 1,2 Temp_fonct = ARRAY [1..2,1..3] INTEGER 1,3 2,1 2,2 2,3

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 Type Val. init. STRUCT ARRAY[1..2,1..3] INT END_STRUCT Commentaire

A-42

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 INT BYTE CHAR REAL BOOL Entier 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 +4.0 +6.0 +8.1 =10.0 Nom lot_1 quantite donnees_brutes 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 = 100 = = 120 False B#(0) 'Z'

A-44

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 +4.0 +6.0 +8.1 =10.0 Nom lot_1 quantite donnees_brutes 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 UDT1 Formule"

DB22 "BLEU_CL"

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
TIMER

Taille
2 octets

Description
Identifie une temporisation prcise que le programme dans le bloc de code appel doit utiliser. Format : T1 Identifie un compteur prcis que le programme dans le bloc de code appel doit utiliser. Format : Z10 Identifie un bloc prcis que le programme dans le bloc de code appel doit utiliser. Format : FC101 DB42 Identifie l'adresse. Format : P#M50.0 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
format ANY pour types de paramtre

COUNTER

2 octets

BLOCK_FB BLOCK_FC BLOCK_DB BLOCK_SDB POINTER ANY

2 octets

6 octets 10 octets

A-48

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 0 0 0 0 8 0 7 0 0 0 0 0 1 0 0 1

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... Octet 0 Octet 2 Octet 4 b ...8 7... Numro de DB (ou 0) Zone de mmoire b b b b b b b 0 b 0 b 0 b 0 b 0 b b x b x b x ...0 Octet 1 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
b#16#81 b#16#82 b#16#83 b#16#84 b#16#85 b#16#86 b#16#87

Zone de mmoire
E A M DB DI L V

Description
Zone de mmoire des entres Zone de mmoire des sorties Zone de mmoire des mmentos Bloc de donnes Bloc de donnes d'instance Donnes locales (pile L) 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 T U = P#8.7 MD2 E [MD2] A [MD2] charger la valeur du pointeur dans lACCU 1 transfrer le pointeur dans MD2. interroger l'tat de signal l'entre E 8.7 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 LAR1 U = E [AR1, P#0.0] A [AR1, P#1.1] P#8.7 charger la valeur du pointeur dans lACCU 1 charger le pointeur de lACCU 1 dans AR1 interroger l'tat de signal de l'entre E 8.7 et 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 LAR1 L LAR2 U = [AR1, P#0.0] [AR2, P#1.1] P# A8.7 P# E8.7 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 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 interroger l'tat de signal de l'entre E 8.7 et 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" ! SET R L T L T U SPB L L ; //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 Octet; //Saut au calcul de l'adresse d'octet 7; //Si valeur incrment > 7, #Valeur_inc1;

A-52

Programmer avec STEP 7 V5.1 A5E00069874-03

Annexe

<I S SPB L <I S SPB U SPB L L +D SPA neg: L L NEGI -D SPA Octet: L L <I SPB L L NEGI SLD D SPA pos: SLD L +D test: T U S SPB L T Fin: NOP

; #RET_VAL; //alors mettre RET_VAL 1 et Fin; //sauter la fin -7; //Si valeur incrment < -7, ; #RET_VAL; //alors mettre RET_VAL 1 et Fin; //sauter la fin L 1.3; //si bit 4 de la valeur = 1 (valeur_inc ngative) neg; //alors sauter la soustraction des adresses de bit #Pointeur1; //Charger l'information d'adresse du pointeur #Valeur_inc1; //et additionner l'incrment ; test; //Sauter au test de rsultat ngatif #Pointeur1; //Charger l'information d'adresse du pointeur #Valeur_inc1; //Charger l'incrment ; //Effectuer la ngation de la valeur ngative, ; //soustraire la valeur test; //et sauter au test 0; //Dbut de la modification de l'adresse d'octet #Valeur_inc1; //Si incrment >=0, alors ; pos; //sauter l'addition, sinon #Pointeur1; //charger l'information d'adresse du pointeur, #Valeur_inc1; //charger l'incrment, ; //effectuer la ngation de la valeur ngative, 3; //dcaler l'incrment de 3 positions vers la gauche, ; //soustraire la valeur test; //et sauter au test 3; //dcaler l'incrment de 3 positions vers la gauche #Pointeur1; //charger l'information d'adresse du pointeur ; //additionner l'incrment #Valeur_int; //Transfrer les calculs de rsultat dans Valeur_int, L 7.3; //Si adresse d'octet invalide (trop grande ou #RET_VAL; //ngative), alors mettre RET_VAL 1 Fin; //et sauter la fin, #Valeur_int; //sinon transfrer le rsultat #Pointeur; //dans le pointeur 0;

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... Octet 0 Octet 2 Octet 4 Octet 6 Octet 8 b 10h pour S7

...0 Octet 1 Octet 3 Octet 5

Types de donnes

Facteur de rptition Numro de DB (ou 0) Zone de mmoire b b b b b b b 0 b 0 b 0 b 0 b 0 b b x b x b x

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
b#16#00 b#16#01 b#16#02 b#16#03 b#16#04 b#16#05 b#16#06 b#16#07 b#16#08 b#16#09 b#16#0A b#16#0B b#16#0C b#16#0E b#16#13

Type de donnes
NIL BOOL BYTE CHAR WORD INT DWORD DINT REAL DATE TIME_OF_DAY (TOD) TIME S5TIME DATE_AND_TIME (DT) STRING

Description
Pointeur zro Bits Octets (8 bits) Caractres (8 bits) Mots (16 bits) Entiers (16 bits) Mots (32 bits) Entiers (32 bits) Nombres virgule flottante (32 bits) Date Heure Temporisation Type de donnes S5TIME Date et heure (64 bits) Chane de caractres

Codage des zones de mmoire Code hexadcimal


b#16#81 b#16#82 b#16#83 b#16#84 b#16#85 b#16#86 b#16#87

Zone
E A M DB DI L V

Description
Zone de mmoire des entres Zone de mmoire des sorties Zone de mmoire des mmentos Bloc de donnes Bloc de donnes d'instance Donnes locales (pile L) 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 0 Octet 2 Octet 4 Octet 6 Type de donnes 10h pour S7 Type de donnes Octet 1 Octet 3 Octet 5 0 0 0 0 0 0 0 0 Octet 7 Octet 9

Facteur de rptition = 1 0

Octet 8 Numro de la temporisation, du compteur ou du bloc

Programmer avec STEP 7 V5.1 A5E00069874-03

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
b#16#17 b#16#18 b#16#19 b#