premier pas en step7

19
Premiers pas en step7 (en cours de rédaction) Écrit par Phyloo Lundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38 Le but de ce tutoriel est de vous aider à créer votre première application pour les automates Siemens de la série S7 300. INDEX I PRESENTATION II SIMATIC MANAGER le couteau suisse de SIEMENS 1. Création nouvelle application 2. La stationSimatic 3. La configuration matérielle III LA PARTIE LOGICIEL 1. Introduction 1 / 19

Upload: 13121977

Post on 08-Aug-2015

267 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

Le but de ce tutoriel est de vous aider à créer votre première application pour les automatesSiemens de la série S7 300.

INDEX

I PRESENTATION

II SIMATIC MANAGER le couteau suisse de SIEMENS

1.

Création nouvelle application

2.

La stationSimatic

3.

La configuration matérielle

III LA PARTIE LOGICIEL

1.

Introduction

1 / 19

Page 2: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 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 mémoire

2.

Les formats d'adressage

2 / 19

Page 3: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

 

 

PRESENTATION

Que renferme une application d'automatisme? En général elle possède au moins uneconfiguration matérielle, une table de mnémoniques et un programme exécutable. Pour la sériedes API S7-300, un seul logiciel est nécessaire pour gérer tout cela. Il s'agit du SIMATICMANAGER .Nous n'aborderons pas ici l'installation de ce programme. Nous nous concentrerons sur sonutilisation.

Pré requis

Vous devez disposer d'un ordinateur équipé d'une version de STEP 7 de SIEMENS. Si vouslisez ce tutoriel , c'est que vous possédez déjà 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 premierabord. Voila à quoi il ressemble en utilisation courante :

3 / 19

Page 4: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

Les menus sont bien fournis certes , mais rapidement nous allons défricher tout cela. Allez on yva

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

 

Après ouverture du programme , votre écran doit ressembler à ceci :

Simatic Manager est une application Windows. Certains menus vous sont donc déjà familiers.

Le menu FICHIER par exemple nous permet de gérer les fichiers application Step7. C'est icique l'on crée, ouvre, ferme ou archive les projets.

4 / 19

Page 5: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

 

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

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

Le menu EDITION, comme son nom l'indique, vous donne accès aux commandes usuelles de Copier/coller, sélectionet autres Propriètés. Il possède également quelques instructions spécifiques à SIMATIC MANAGER.

5 / 19

Page 6: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

Nous les découvrirons le temps venu. Quoi ? Que dites vous ? Vous ne voyez pas ce fameuxmenu EDITION . Vous avez raison! En fait je vais trop vite . Pour pouvoir découvrir le reste des menus de SIMATIC MANAGER, nous devons créer notrepremière application. Allez c'est parti ! CRÉATION NOUVELLE APPLICATION

Exécuter la commande [Fichier][Nouveau] comme indiqué ci-dessous

La fenêtre Nouveau Projet doit apparaitre :

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

6 / 19

Page 7: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

par défaut pour les autres paramètres (le cadre bleu vous indique le chemin de sauvegarde devotre application). Il ne reste plus qu'à valider votre saisie par [OK]

LA STATION SIMATIC

La première chose à ajouter dans notre projet vide, c'est une station Simatic. Il en existe troisprincipales :

-

Automates de la série 300 : Station Simatic 300

-

Automates de la série 400 : Station Simatic 400

-

Pupitres Opérateurs (ou HMI, pour Human Machin Interface) : Station HMI

Notre choix se fera en fonction du matériel à programmer. Il est possible de déclarerplusieurs stations dans le même projet. Par exemple un API et un afficheur. Dans ce tutorielnous prendrons une station SIMATIC 300.

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

7 / 19

Page 8: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

La configuration matérielle

La structure de notre projet est maintenant déclaré. Vous ne remarquez rien ? Où ? Eh biendans la façon de présenter 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 Siemenssera représentée par une structure "Répertoires/fichiers". Le répertoire racine porte le nom denotre application. Le premier sous-répertoire, lui, prend le nom de la station que nous venonsde créer. En explorant ce nouveau répertoire , que découvrons-nous?.Un fichier "MATERIEL".Editons le sans plus attendre. Un double-click gauche" et hop l'éditeur de configurationmatérielle s'ouvre. Il se nomme aussi HW Config.

 

Lui aussi est découpé en deux colonnes. A gauche nous aurons la configuration matérielle denotre application. A droite, comme vous pouvez déjà le voir, se situe le catalogue de tous lesappareils SIEMENS intégrables dans notre configuration.

8 / 19

Page 9: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

De quoi se compose une configuration automate en générale ? - Une alimentation (non indispensable, l'alimentation en +24 VCC pouvant être externe) - Une CPU (Le cerveau de notre configuration, ici obligatoirement une série 300...rappelez-vousdu choix de la station au départ) - Des cartes d'entrées TOR (pour Tout Ou Rien - entrées de type booléen) - Des cartes de sorties TOR (sorties de type booléen) - Des entrées ANA (entrées de type analogique, ex signal 4-20 mA) - Des sorties ANA (sorties de type analogique, par exemple 0 - 10 Volts) Il est également possible d'ajouter d'autres dispositifs, mais nous y reviendrons plus tard ! C'est bien joli tout cela mais sur quoi on monte toutes ces cartes ? Heu en fait un rack...j'allais y venir. Donc la première chose, c'est de choisir un rack dans lecatalogue. Pas très compliqué...il n'y en a qu'un! Il se cache dans le "dossier" RACK-300. Pourl'ajouter (lui et tous les autres produits du catalogue) il suffit de le "Tirer-coller" de la colonne dedroite vers celle de gauche.  

  Nous voici donc à la tête d'un rack vide...reste plus qu'à le remplir. Avant de commencer, quelques petites précisions. Le rack dispose de 11 emplacements. Le 1est exclusivement pour les alimentations , le 2 pour les CPU et le 3 pour les modules spéciaux(vous savez ceux que l'on vera plus tard). Il n'y a, en fait, que 8 emplacements pour les typesde cartes standarts. Je choisis une CPU 312 dans le catalogue et la positionne sur l'emplacement 2. Etl'alimentation ?? . Nous n'en mettrons pas, je vous rappelle qu'elle est optionnelle.

Voila ce que cela doit vous donner :

  Maintenant si vous "double cliquez gauche" sur la ligne 2 du rack de notre configuration, vousdevez voir apparaitre la fenêtre de propriétés de la CPU 312. Cette multitude d'onglets vousdonne accès à tout un tas de paramètrages de la CPU. Cette partie fera sans doute l'objet d'untutoriel spécifique (désolé ...chaque chose en son temps) Cliquez donc sur le bouton propriétés:

9 / 19

Page 10: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

Une nouvelle fenêtre apparait. Nous allons connecter notre CPU à un réseau, par défaut cesera un réseau MPI (protocole propriétaire de Siemens se rapprochant du PROFIBUS). Notreautomate aura l'adresse 2 et le réseau se nommera MPI(1). Pour concrétiser la liaison , il suffitde sélectionner MPI(1) dans la liste et de valider par le bouton OK.

On valide également la fenêtre propriétés de la CPU afin de la refermer. Maintenant ajoutons donc une carte d'entrées logiques. On choisit un module de 16 entréesTOR DC24V (Pour info, cela veut dire qu'une tension continue de 24 Volts devra être appliquéesur les différentes entrées de la carte pour qu'elles indiquent un état logique égal à 1 (ou VRAI).

Maintenant si vous "double cliquez gauche" sur la ligne 4 du rack, vous devez voir apparaitre lafenêtre des propriétés de notre carte ETOR. Voila qui est fait.  

  Ce premier onglet nous renseigne sur la désignation et les caractéristiques de la carte. Allonsvoir ce que cache l'onglet "adresses :

Comme l'on pouvait le supposer, cette page nous indique les adresses utilisées par la carte. Icion débute en 0 et on fini en 1! C'est quoi ça? On y vient, on y vient. Rappelez vous , notre carte est de type 16 entrées Tout Ou Rien. Calculons la plage mémoirenécessaire pour mémoriser l'état de tous ces bits. 16 * 1 bit = 2 octets = 1 mot L'adressage des cartes d'entrées/sorties se faisant au format Octet, la configuration nousindique que nous disposons des entrées E 0.0 {adresse début} à E 1.7{adresse de fin} . Il est important de remarquer que l'adresse de début est modifiable. Vous pouvez ainsi choisirvos plages d'adressages, indépendamment de l'emplacement physique des cartes sur le rack.Par exemple ici, en remplaçant le 0 par 12, il sera possible d'utiliser les entrées E12.0 à E13.7. Toutes les cartes d'entrées/sorties se configurent de la même manière. Ce qui change c'estl'étendue de la plage mémoire utilisée. Type de carte Nb octets utilisés 16 Entrées TOR 2 16 Sorties TOR 2 32 Entrées TOR 4 32 Sorties TOR 4 8 Entrées ANA 16 4 Sorties ANA 8 REMARQUE : Si l'option "Valeur par défaut système" est cochée, l'adressage n'est plusmodifiable. Il est alors imposé par le logiciel. Attention, nous n'avons que survolé l'éditeur de configuration (Initiation avons nous dit audépart). En effet, il faut savoir que chaque type de matériel dispose de propriétés différentes etvariées. C'est ici par exemple que vous paramètrerez le type de signal des cartes d'entrées (oude sorties) Analogiques (4-20 mA passif, 0-10V, ...) Il ne reste plus qu'à enregistrer et quitter l'éditeur de configuration. Le matériel est déclaré,Occupons nous à présent de la partie logicielle. LA PARTIE LOGICIEL Introduction

Maintenant que nous disposons d'une configuration matérielle, voici à quoi doit ressemblernotre application

10 / 19

Page 11: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

 

Comme l'arborescence nous le montre, un répertoire [programme] est associé à la CPU 312. Celui ci contient,entre autre, un sous répertoire [Blocs]. C'est ici que le programme exécutablepar l'API est placé. pour l'instant oubliez le répertoire [sources]

Un programme en blocs

Si vous sélectionnez le répertoire [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. Lesinstructions qu'il contient sont exécutées cycliquement par l'automate.

Il existe d'autres Blocs d'organisation. Chacun d'eux à une fonction particulière. Le tableauci-dessous vous montre quelques exemples parmi les plus utilisés. Suivant le type de CPUutilisé, vous n'aurez pas accès à tous les blocs OB.

11 / 19

Page 12: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

 

Bloc Fonction OB1

Cycle libre:

Exécution cyclique.Dés que le cycle est achevé, il redémarre.

OB35

Alarme cyclique :

Fréquence d'exécution défini par l'utilisateur dans les propriétés de la CPU utilisée. Par défaut l'OB35 est exécuté tous les 100ms.

OB82

Alarme de diagnostic:

Appelé lorsqu'un module avec fonction de diagnostic pour lequel vous avez validé l'alarme de diagnostic détecte une erreur et lorsqu'il a été remédié à cette erreur (appel pour événement entrant et sortant).

OB85

Erreur exécution programme:

Appelé

- lorsqu'il existe un événement de déclenchement pour un OB d'alarme, mais que l'OB ne peut pas être exécuté car il n'a pas été chargé dans la CPU ; - lorsqu'une erreur est apparue lors de l'accès au bloc de données d'instance d'un bloc fonctionnel système ; - lorsqu'une erreur est apparue lors de la mise à jour de la mémoire image du processus (module absent ou défaillant).

12 / 19

Page 13: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

OB101

Redémarrage:

La CPU exécute une mise en route

après mise sous tension

- lorsque vous actionnez le commutateur de mode de fonctionnement à partir de STOP "RUN"/"RUN-P" - après sollicitation par une fonction de communication - après synchronisation en mode multiprocesseur - dans un système H, après couplage (uniquement sur la CPU de réserve)

OB121

Erreur de programmation:

Est appelé sur détection d'erreur de programmation. Permet d'éviter le crash de la CPU sur erreur. A manier avec précaution!

OB122

Erreur d'accès à la périphérie:

Est appelé sur détection d'erreur lié à la configuration matériel (crash d'une carte I/O par exemple, voire de communication (profibus par exemple)

Il est possible d'implémenter votre programme directement dans ces différents OB au moyendes instructions de base (portes logiques, temporisations, bascules RS, etc). Cette solutionn'est toutefois pas très recommandée. Il est préférable de structurer votre exécutable. C'estpour cela qu'il existe d'autres types de blocs. Les principaux se nomment FC, FB et DB.

Les DB

13 / 19

Page 14: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

Les DB (DATA BLOCK) sont appelés communément les blocs de données. Contrairement auxblocs de code, ils ne contiennent pas d'instructions. Ils sont utilisés pour l'enregistrement desdonnées utilisateur. Leur taille varie suivant le nombre et le type de variables déclarées. Onrencontre principalement deux types de DB, les globaux et les instances. Les DB globauxservent à l'enregistrement de données utilisateur pouvant être utilisées par tous les blocs decodes (OB, FB, FC,...). Le DB d'instance, lui, est toujours lié à un FB (bloc de fonction). Il sertuniquement de mémoire permanente pour les données gérées par le FB. Par opposition avecles DB globaux, on peut dire que ce sont des "DB locaux".

Les FC

Le FC (FUNCTION) se nomme aussi fonction. Pour être exécuté, le FC doit être appelé par unautre bloc de code du programme utilisateur. C'est un bloc de code sans mémoire. Lesvariables utilisées sont perdues à l'achèvement de la fonction. Les FC peuvent faire appel à desblocs de données globaux pour la sauvegarde des données. Comme une fonction ne disposepas de mémoire associée, vous devez toujours indiquer des paramètres effectifs pour elle etvous ne pouvez pas affecter de valeur initiale aux données locales.

Utilisation :

-

implémentation d'équations mathématiques,

-

programmation de morceaux de programmes répétitifs (discordance actionneur, demarragemoteur,etc)

-

Découpage exécutable en sous-programmes

Les FB

14 / 19

Page 15: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

FB est l'abréviation de "Function Bloc". Pour résumer on peut dire que les FB sont des FCpossédants des variables rémanentes! Ces variables sont dites statiques. Elles sontconservées dans des DB. Ainsi chaque fois qu'un FB est appelé par un autre bloc de code, ondoit lui associer un bloc de données. Ce type d'appel est plus communément nommé uneinstance, Le DB associé est donc naturellement un DB d'instance.

Utilisation

-

programmation de codes répétitifs

-

sous-programmes (organisation du projet complet)

-

macro fonction paramètrable (ex: gestion communication, traitement de défauts, gestionmoteurs avec normal/secours, etc)

Les variables Organisation de la mémoire.

La mémoire utilisateur de l'automate est répartie en différentes zones dont :

-

La mémoire image des entrées (E) : Zone de stockage de l'état des entrées physiques de laconfiguration matérielle. Cette zone est mise à jour avant chaque début de cycle de l'OB1.

-

La mémoire image des sorties(A) : De même, cette zone stocke l'état des sorties physiques. Lamise à jour s'effectue après chaque fin de cycle de l'OB1.

15 / 19

Page 16: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

-

Les mémentos (M) : appelée zone mémoire de l'automate. Non dédiée, elle est libred'utilisation.

-

Les blocs de données (DB) : zones regroupant des variables définies par l'utilisateur.

-

Les temporisations et les compteurs (T/Z) : Zone réservée pour le fonctionnement destemporisations et des compteurs

-

Les blocs de code (FB, FC, SFB, SFC) : zone utilisée pour le fonctionnement des blocsfonctions.

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

Page 17: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

-

Le Double Word (ou le double mot)

Quelque soit la zone mémoire utilisée, vous retrouverez ces formats. Seule la syntaxe deprogrammation changera.

Vous vous rappelez le découpage de la mémoire décrit un peu plus haut? Non ! Vous allez voir c'est simple !! Si si

Adressons ensemble la première information booléenne des zones E, A, M et DB. Cela nousdonne : -

E 0.0 pour la mémoire des entrées (ce qui correspond le plus souvent à la 1ere entrée logiquede la 1ere carte d'entrées TOR)

-

A 0.0 pour la mémoire des sorties (de la même façon, cela peut être la 1ere sortie logique del'automate)

-

M 0.0 pour la mémoire automate (on entend souvent parler de la zone mémento. Ici c'est unmémento BOOL)

-

DB1.DBX0.0 pour la zone DB1 (DB1 est le nom du bloc de donnée 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

Page 18: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

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

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

De même, le WORD d'entrée 0 s'écrivant EW 0 , nous avons respectivement les AW 0, MW 0et DB1.DBW0

Et pour finir le Double WORD d'entrée 0 se nommant ED 0, nous aurons respectivement lesdouble WORD A D 0, MD0 et DB1.DBD0

INFORMATION IMPORTANTE : Pour chaque zone mémoire, le x 0.0 est un élément du xB 0,lui même élément du xW 0, lui même élément du xD 0. Eh oui . Un petit schéma valant mieux qu'un long discours ...

 

18 / 19

Page 19: Premier Pas en Step7

Premiers pas en step7 (en cours de rédaction)

Écrit par PhylooLundi, 17 Décembre 2007 12:07 - Mis à jour Mercredi, 03 Février 2010 12:38

 

 

 

 

 

REMARQUE : Avec ce schéma, il est facile de découvrir que la variable WORD 1 est "à cheval"sur les emplacements WORD 0 et WORD 2. Arhggg !

En résumé si vous ne voulez pas avoir de soucis de chevauchements de variables, il faudrautiliser 1 word sur 2 , ou un double word sur 4. Comment ça ?? Bah oui les word concécutifsindépendants seront W0, W2, W4, etc. Les double word indépendants seront les D0, D4, D8,etc...

REMARQUE 2 : Avec ce schéma 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 MB0est composé des BOOL M0.0 à M0.7 Oui et le MB1 ?? il démarre à M 0.8 ??? Eh ben non,tropfacile!!! Le MB1 est composé des BIT M1.0 à M1.7.

Allez on fait une pause , non ?

19 / 19