Sie sind auf Seite 1von 19

Premiers pas en step7 (en cours de rdaction)

crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

Le but de ce tutoriel est de vous aider crer votre premire application pour les automates Siemens de la srie S7 300.

INDEX
I PRESENTATION

II SIMATIC MANAGER le couteau suisse de SIEMENS 1. Cration nouvelle application 2. La stationSimatic 3. La configuration matrielle

III LA PARTIE LOGICIEL 1. Introduction

1 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

2. Un programme en blocs (en cours) 1. Et c'est quoi cet OB1? 2. Les DB 3. Les FC 4. Les FB

5. Les variables

1. Organisation mmoire 2. Les formats d'adressage

2 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

PRESENTATION Que renferme une application d'automatisme? En gnral elle possde au moins une configuration matrielle, une table de mnmoniques et un programme excutable. Pour la srie des API S7-300, un seul logiciel est ncessaire pour grer tout cela. Il s'agit du SIMATIC MANAGER . Nous n'aborderons pas ici l'installation de ce programme. Nous nous concentrerons sur son utilisation.

Pr requis

Vous devez disposer d'un ordinateur quip d'une version de STEP 7 de SIEMENS. Si vous lisez ce tutoriel , c'est que vous possdez dj un ordinateur

SIMATIC MANAGER le couteau suisse de SIEMENS


Eh oui ce logiciel est multi taches! Du coup il peut paraitre compliqu voire fouillis au premier abord. Voila quoi il ressemble en utilisation courante :

3 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

Les menus sont bien fournis certes , mais rapidement nous allons dfricher tout cela. Allez on y va

Pour lancer l'application , il suffit de trouver l'icne de STEP 7 et de double cliquer dessus.

Aprs ouverture du programme , votre cran doit ressembler ceci :

Simatic Manager est une application Windows. Certains menus vous sont donc dj familiers.

Le menu FICHIER par exemple nous permet de grer les fichiers application Step7. C'est ici que l'on cre, ouvre, ferme ou archive les projets.

4 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

Le menu AFFICHAGE permet de personnaliser son espace de travail. C'est la que l'on choisi d'afficher ou non les barres d'outils et d'tats, que l'on paramtre le rendu de l'affichage des donnes (taille des icones, filtrage). C'est ici aussi que se cache la commande actualiser.

Le menu FENETRE, comme sur toute application multi fenetre windows, gre la disposition de l'affichage,permet de basculer d'un projet ouvert vers un autre...

Le menu EDITION, comme son nom l'indique, vous donne accs aux commandes usuelles de Copier / coller , slection et autres Proprits . Il possde galement quelques instructions spcifiques SIMATIC MANAGER.

5 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

menu EDITION Nous les dcouvrirons le temps venu. Quoi ? Que dites vous ? Vous ne voyez pas ce fameux . Vous pouvoir dcouvrir le je vais trop vite de SIMATIC MANAGER, nous devons crer notre premire application. Allez c'est des ! . Pour avez raison! En fait reste parti menus CRATION NOUVELLE APPLICATION Excuter la commande [Fichier][Nouveau] comme indiqu ci-dessous

La fentre Nouveau Projet doit apparaitre :

Indiquer le nom de votre nouvelle application (cadre rouge). Le mieux est de laisser les choix

6 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

par dfaut pour les autres paramtres (le cadre bleu vous indique le chemin de sauvegarde de votre application). Il ne reste plus qu' valider votre saisie par [OK] LA STATION SIMATIC La premire chose ajouter dans notre projet vide, c'est une station Simatic. Il en existe trois principales :

Automates de la srie 300 : Station Simatic 300 Automates de la srie 400 : Station Simatic 400 Pupitres Oprateurs (ou HMI, pour Human Machin Interface) : Station HMI

Notre choix se fera en fonction du matriel programmer. Il est possible de dclarer plusieurs stations dans le mme projet. Par exemple un API et un afficheur. Dans ce tutoriel nous prendrons une station SIMATIC 300.

Que voyez vous ? Oui effectivement deux objets supplmentaires sont apparus. Pour l'instant oubliez les, nous les retrouverons plus loin dans le tuto...chaque chose en son temps.

7 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

La configuration matrielle La structure de notre projet est maintenant dclar. Vous ne remarquez rien ? O ? Eh bien dans la faon de prsenter le projet. Cela ne vous rappelle t il pas quelque chose de connu ? Si bien sur l'explorateur de fichiers de Microsoft Windows. Eh bien oui , l'application Siemens sera reprsente par une structure "Rpertoires/fichiers". Le rpertoire racine porte le nom de notre application. Le premier sous-rpertoire, lui, prend le nom de la station que nous venons de crer. En explorant ce nouveau rpertoire , que dcouvrons-nous?.Un fichier "MATERIEL". Editons le sans plus attendre. Un double-click gauche" et hop l'diteur de configuration matrielle s'ouvre. Il se nomme aussi HW Config.

Lui aussi est dcoup en deux colonnes. A gauche nous aurons la configuration matrielle de notre application. A droite, comme vous pouvez dj le voir, se situe le catalogue de tous les appareils SIEMENS intgrables dans notre configuration.

8 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

De -quoi se d'entres unedpart) Tout Ou Rienicientres de VCC boolen) tre externe) automateobligatoirement Une cartes de cerveauTOR(pourconfiguration, -ex signal 4-20 ? pouvant 300...rappelez-vous du - entresANA (sorties configurationtype boolen) gnrale- mA) srie choix de la station de (sorties del'alimentation Des sorties compose TORde type analogique, parenen mais0 10une - CPU (Le sorties au notre Des alimentationpossible d'ajouter d'autres dispositifs, +24 type y reviendrons plus tard ! ANA (non indispensable, exemple Volts) Il est galement (entres de type analogique, toutes ces cartes ? C'esten faitjoli tout cela autresvenir. Doncmonte Il seilcache nous "Tirer-coller"RACK-300. le de droite vers et de compliqu...il n'y en qu'un! l'ajouter (lui un rack...j'allais catalogue. celletrs gauche. produits du catalogue) suffit dans le choisir un rack dans Pour Heu bien Pastous les maisysur quoi on ala premire chose,de le de"dossier" de la colonne c'est

choisiscommencer, l'on vera plus tard)., Ilet2 plus Le rack remplir. pour les modules spciaux Nous voici une CPU 312les je vous rappellelen'ypour qu'CPU etl'emplacement 2. Et les types1 de exclusivement la (vous de donc que quelques petites prcisions. les le sur emplacements pour est cartes standarts. tte dans rack vide...restela a, est optionnelle. Avant savez mettrons pas, alimentations qu'elle en fait, que 8 le 3 de 11 emplacements. Le l'alimentationceux pour d'un le catalogue Je positionne dispose . Nous n'en ??

Voila ce que cela doit vous donner :

Cliquez doncvous "double paramtrages de tutoriel spcifique son fentre donne accs sur(dsol deproprits: devez voirchose enle la temps) de gauche" surlalaligne Cette Cette multitude doute l'objet d'un Maintenantapparaitre boutoncliquez proprits delaCPU. 2 du rack defera sansd'onglets vous CPU 312. partie notre configuration, vous ...chaque si tout un tas
9 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

de slectionner MPI(1) dans la liste allons nommera notre CPU automate aura MPI (protocole propritaire connecter MPI(1). OK. concrtiser la liaison il suffit sera un rseau l'adresse 2 et Nouset de valider par le se rapprochant du PROFIBUS). , ce Une nouvelle fentre apparait. le rseau se de Siemens boutonPour un rseau, par dfautNotre

On les diffrentes info, cela la carte qu'une logiques. On un tat module de applique . sur valide galement la fentre proprits qu'elles indiquent la de unVolts TOR DC24V (Pourentres deveut direpourde la CPU continue refermer. devra 161entres Maintenant ajoutons donc une carte d'entrestensionafin dechoisit24logique gal tre (ou VRAI)

fentre des proprits de notre carte ETOR. Voila qui est fait. Maintenant si vous "double cliquez gauche" sur la ligne 4 du rack, vous devez voir apparaitre la

premier cache l'onglet "adresses : la dsignation et les caractristiques de la carte. Allons voir Ce ce que onglet nous renseigne sur

on dbute vous y mmoriser 1! C'est tous ces bits. Tout Ou Rien. Calculons la plage mmoire Comme l'onpouret onle carte l'tat de quoi a?nous indique les adresses utilises par la carte. Ici 0, On exemplepouvait fini en quecette 12, sera vient, octets ncessaire cartesnotre 1supposer, entres seentrespossible d'utiliser lesconfigurationsur c'est Rappelez=endes en remplaantutilise. pageilde dbut laformat Octet,1.7{adresse E12.0 choisir 16 * plages d'adressages, indpendamment0.0 {adresse dbut}physiqueentreschange le rack. indique les deTORremarquerdesdel'adresse de l'emplacement manire. des cartes nous L'adressageoncarte =mmoire Nb0se configurent de est modifiable. la Ce qui de fin} . E13.7. Par32 Type la plage mot est le octets utiliss vos16importantTOR Il est116que2nousvient. d'entres/sorties E faisant au mme E Vous pouvez ainsi de par l'tendue de ici, TOR ToutesbitEntres cartes 2 8yEntresANA d'entres/sorties type 16 Sorties ANAdisposons 16 Entres:ici par exemple que passif, 0-10V,configuration (Initiation proprits diffrentes et 4sorties)nous Sialors imposla et parlogiciel. systme" le type de signalmatrielnous dit au (ou 8 REMARQUE estilprsent"Valeur le dfaut modifiable. Analogiques (4-20 par vous paramtrerez est coche, de avons est dclar, de 4 Sorties varies. C'est dpart). En effet, l'option de partie logicielle. de Attention, Il chaque type Occupons nousn'avons que survol l'diteur de de matriel disposeLe des cartes d'entres Il ne reste plus qu'faut savoir mA quitter l'diteur...) configuration. l'adressage n'est plus enregistrer

LA PARTIE LOGICIEL
Introduction

Maintenant que nous disposons d'une configuration matrielle, voici quoi doit ressembler notre application

10 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

Comme l'arborescence nous le montre, un rpertoire [programme] est associ la CPU 312. Celui ci contient,entre autre, un sous rpertoire [Blocs]. C'est ici que le programme excutable par l'API est plac. pour l'instant oubliez le rpertoire [sources] Un programme en blocs Si vous slectionnez le rpertoire [blocs], vous vous apercevez qu'il contient un fichier nomm OB1. En fait on parlera ici de bloc de programmation OB1 et non de fichier.
Et c'est quoi cet OB1?

C'est en fait le programme minimum impos par STEP7. OB veut dire Organisation Bloc. Les instructions qu'il contient sont excutes cycliquement par l'automate.

Il existe d'autres Blocs d'organisation. Chacun d'eux une fonction particulire. Le tableau ci-dessous vous montre quelques exemples parmi les plus utiliss. Suivant le type de CPU utilis, vous n'aurez pas accs tous les blocs OB.

11 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

Bloc Fonction OB1 Cycle libre:

Excution cyclique.Ds que le cycle est achev, il redmarre. OB35 Alarme cyclique :

Frquence d'excution dfini par l'utilisateur dans les proprits de la CPU utilise. Par dfaut l'OB35 e OB82 Alarme de diagnostic:

Appel lorsqu'un module avec fonction de diagnostic pour lequel vous avez valid l'alarme de diagnost OB85 Erreur excution programme:

Appel -

lorsqu'il existe un vnement de dclenchement pour un OB d'alarme, mais que l'OB ne peut pas lorsqu'une erreur est apparue lors de l'accs au bloc de donnes d'instance d'un bloc fonctionnel s lorsqu'une erreur est apparue lors de la mise jour de la mmoire image du processus (module a

12 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

OB101 Redmarrage:

La CPU excute une mise en route

aprs mise sous tension -

lorsque vous actionnez le commutateur de mode de fonctionnement partir de STOP "RUN"/"RU aprs sollicitation par une fonction de communication aprs synchronisation en mode multiprocesseur dans un systme H, aprs couplage (uniquement sur la CPU de rserve)

OB121 Erreur de programmation:

Est appel sur dtection d'erreur de programmation. Permet d'viter le crash de la CPU sur erreur. A ma OB122 Erreur d'accs la priphrie:

Est appel sur dtection d'erreur li la configuration matriel (crash d'une carte I/O par exemple, voire

Il est possible d'implmenter votre programme directement dans ces diffrents OB au moyen des instructions de base (portes logiques, temporisations, bascules RS, etc). Cette solution n'est toutefois pas trs recommande. Il est prfrable de structurer votre excutable. C'est pour cela qu'il existe d'autres types de blocs. Les principaux se nomment FC, FB et DB.
Les DB

13 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

Les DB (DATA BLOCK) sont appels communment les blocs de donnes. Contrairement aux blocs de code, ils ne contiennent pas d'instructions. Ils sont utiliss pour l'enregistrement des donnes utilisateur. Leur taille varie suivant le nombre et le type de variables dclares. On rencontre principalement deux types de DB, les globaux et les instances. Les DB globaux servent l'enregistrement de donnes utilisateur pouvant tre utilises par tous les blocs de codes (OB, FB, FC,...). Le DB d'instance, lui, est toujours li un FB (bloc de fonction). Il sert uniquement de mmoire permanente pour les donnes gres par le FB. Par opposition avec les DB globaux, on peut dire que ce sont des "DB locaux".
Les FC

Le FC (FUNCTION) se nomme aussi fonction. Pour tre excut, le FC doit tre appel par un autre bloc de code du programme utilisateur. C'est un bloc de code sans mmoire. Les variables utilises sont perdues l'achvement de la fonction. Les FC 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 et vous ne pouvez pas affecter de valeur initiale aux donnes locales.

Utilisation : implmentation d'quations mathmatiques, programmation de morceaux de programmes rptitifs (discordance actionneur, demarrage moteur,etc) Dcoupage excutable en sous-programmes

Les FB

14 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

FB est l'abrviation de "Function Bloc". Pour rsumer on peut dire que les FB sont des FC possdants des variables rmanentes! Ces variables sont dites statiques. Elles sont conserves dans des DB. Ainsi chaque fois qu'un FB est appel par un autre bloc de code, on doit lui associer un bloc de donnes. Ce type d'appel est plus communment nomm une instance, Le DB associ est donc naturellement un DB d'instance.

Utilisation programmation de codes rptitifs sous-programmes (organisation du projet complet) macro fonction paramtrable (ex: gestion communication, traitement de dfauts, gestion moteurs avec normal/secours, etc)

Les variables

Organisation de la mmoire.

La mmoire utilisateur de l'automate est rpartie en diffrentes zones dont : La mmoire image des entres (E) : Zone de stockage de l'tat des entres physiques de la configuration matrielle. Cette zone est mise jour avant chaque dbut de cycle de l'OB1. La mmoire image des sorties(A) : De mme, cette zone stocke l'tat des sorties physiques. La mise jour s'effectue aprs chaque fin de cycle de l'OB1.

15 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

Les mmentos (M) : appele zone mmoire de l'automate. Non ddie, elle est libre d'utilisation. Les blocs de donnes (DB) : zones regroupant des variables dfinies par l'utilisateur. Les temporisations et les compteurs (T/Z) : Zone rserve pour le fonctionnement des temporisations et des compteurs Les blocs de code (FB, FC, SFB, SFC) : zone utilise pour le fonctionnement des blocs fonctions.

Les formats d'adressage

Dans une application Step7 vous rencontrerez quatre formats de variable de base : Le bit (ou un bool) Le byte (ou un Octet) Le Word (ou un mot)

16 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

Le Double Word (ou le double mot)

Quelque soit la zone mmoire utilise, vous retrouverez ces formats. Seule la syntaxe de programmation changera.

Vous vous rappelez le simple !! Si si la mmoire dcrit un peu plus haut? Non ! Vous allez voir c'est dcoupage de Adressons ensemble la premire information boolenne des zones E, A, M et DB. Cela nous donne : E 0.0 pour la mmoire des entres (ce qui correspond le plus souvent la 1ere entre logique de la 1ere carte d'entres TOR) A 0.0 pour la mmoire des sorties (de la mme faon, cela peut tre la 1ere sortie logique de l'automate) M 0.0 pour la mmoire automate (on entend souvent parler de la zone mmento. Ici c'est un mmento BOOL) DB1.DBX0.0 pour la zone DB1 (DB1 est le nom du bloc de donne contenant ce bit )

Pourquoi cette syntaxe en x.y Nous y reviendrons en fin de chapitre. Pour l'instant passons au format byte...

17 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

Si je vous dit que la syntaxe pour adresser le BYTE d'entre 0 est tout simplement EB 0, pouvez-vous deviner les 3 autres ? Facileee

Nous aurons AB 0 , MB 0 et DB1.DBB 0

De mme, le WORD d'entre 0 s'crivant EW 0 , nous avons respectivement les AW 0, MW 0 et DB1.DB W 0

Et pour finir le Double WORD d'entre 0 se nommant ED 0, nous aurons respectivement les double WORD A D 0, MD0 et DB1.DB D 0

INFORMATION IMPORTANTE : Pour chaque zone mmoire, le x 0.0 est un lment du xB 0, lui mmeschma valant mieux mmelong discours ... 0. Eh oui . Un petit lment du xW 0, lui qu'un lment du xD

18 / 19

Premiers pas en step7 (en cours de rdaction)


crit par Phyloo Lundi, 17 Dcembre 2007 12:07 - Mis jour Mercredi, 03 Fvrier 2010 12:38

REMARQUE : Avec ce schma, il est facile de dcouvrir que la variable WORD 1 est " cheval" sur les emplacements WORD 0 et WORD 2. Arhggg !

En rsum si vous ne voulez pas avoir de soucis de chevauchements de variables, il faudra utiliser 1 word sur 2 , ou un double word sur 4. Comment a ?? Bah oui les word conccutifs indpendants seront W0, W2, W4, etc. Les double word indpendants seront les D0, D4, D8, etc...

REMARQUE 2 : Avec ce schma tout devient clair galement sur l'adressage des BOOL! Non ? Bah si voyons , regardez bien... chaque BYTE est compos de huit BIT. Ainsi le BYTE MB0 est compos des BOOL M0.0 M0.7 Oui et le MB1 ?? il dmarre M 0.8 ??? Eh ben non,trop facile!!! Le MB1 est compos des BIT M1.0 M1.7.

Allez on fait une pause , non ?

19 / 19