Utilisation de Step 7

Embed Size (px)

Citation preview

  • 7/31/2019 Utilisation de Step 7

    1/9

    Utilisation de Step 7

    Introduction

    Step 7 permet l'accs "de base" aux automates Siemens. Il permet de programmer individuellement unautomate (en diffrents langages). Il prend galement en compte le rseau des automates, ce qui permet

    d'accder tout automate du rseau (pour le programmer), et ventuellement aux automates de s'envoyer des

    messages entre eux. Il ne permet pas d'incorporer les ordinateurs dans le rseau (durant le fonctionnement, il

    n'y a pas de dialogue entre les PC et les automates, donc pas de supervision du processus par un logiciel

    centralis, comme ce serait possible sous PCS7).

    Crer son projet

    Un projet contient la description

    complte de votre automatisme. Il

    comporte donc deux grandes parties :

    la description du matriel, et la

    description du fonctionnement (le

    programme).

    En entrant dans Step7, il peut y avoir

    un assistant qui vous propose de

    crer un nouveau projet, il vaut

    mieux l'annuler car par dfaut il

    configure mal la liaison avecl'automate. On choisira donc plutt

    fichier -> nouveau ou fichier

    ->ouvrir . N'utilisez pas un projet

    existant, suivant les filires les

    projets peuvent tre incompatibles !

    Le matrielLa premire chose faire est de dcrire le matriel. Nous disposons de 10 PC appels ESx (x entre 0 et 9),

    ES0 et ES1 pouvant servir de serveurs; et de 10 valises (comportant un automate, ses modules

    d'entres/sorties, ainsi qu'une console de simulation) nommes Vx (V10 V19). Ils sont tous relis par un

    rseau industriel (PROFIBUS, cble violet) et par Ethernet (redondant, inutilis ici). Reprez votre PC et

    votre valise, leurs numros sont indiqus sur une tiquette rouge

    Pour commencer, insrez dans le projet une station SIMATIC 300 (renommez la du nom de votre valise, par

    exemple V10).

    isation de Step 7 http://www-ipst.u-strasbg.fr/pat/autom/siemens/step7.htm

    r 9 09/05/2012 20:27

  • 7/31/2019 Utilisation de Step 7

    2/9

    On dfinit ensuite le matriel : un rail support ( trouver dans la liste du matriel pour la gamme Simatic 300,

    dans les racks), puis (dans l'ordre de leur implantation physique, de gauche droite) l'alimentation (reprez

    sur le matriel, en haut son type : PS 307 5A, en bas son numro de rfrence : 307-1EA-0AA0). Insrez

    l'automate (son numro IP 192.168.0.1xx est not sur la valise), puis le module 32 sorties ToR, le module 32

    entres ToR, le module 8E/8S (sauf sur ES2), et enfin le module analogique. On pourrait aussi dcrire son PC

    (mais il n'interviendra pas dans le fonctionnement final, ce sera pour PCS7). La solution la plus simple est de

    prparer un projet contenant la description de l'automate, sans y mettre de programme, et l'ouvrir chaque

    nouveau programme (enregistrer sous... pour garder le projet initial). Je parle videmment de ceux qui

    auraient plusieurs TP successifs effectuer ici.

    Vrifiez bien les diffrentes adresses. Pour le CPU, en premier (X1) vous dfinissez la connection

    PROFIBUS ( connecter en 500kbits, en format standard) : les 10 valises Vxx (V10 V19), ont xx comme

    numro PROFIBUS. En X2 (seconde interface, ici Ethernet), dfinissez son numro IP (192.168.0.1xx) et

    donnez le nom de votre valise (par exemple V10), il ne doit plus s'appeler PN-IO (il vaut mieux ne pas activer

    cette liaison, Profibus suffit). Utilisez galement l'adressage du tableau ci-dessus pour les modules d'E/S.

    Quand nous ferons des projets PCS7 il faudra galement dfinir le PC, nomm ESx (x entre 0 et 9), de

    numro PROFIBUS x et IP 192.168.0.00x, voire plusieurs PC et plusieurs valises. Nous avons en plus un

    gros automate (srie AS400) nomm AS400, d'adresse PROFIBUS 20, et 192.168.0.120 comme IP. Il est

    prvu d'y adjoindre une priphrie dcentralise mais ce n'est pas encore fait. Ci dessous sa description

    actuelle ( dfinir uniquement si vous l'utilisez) :

    On peut (devrait, sauf dans les problmes suffisamment simples comme le premier exercice) donner des noms

    explicites aux diffrentes E/S, en choisissant "mnmoniques" dans le dossier "programme" de l'automate. De

    base, les entres ToR se notent E a.b (E=ein) avec a l'adresse du module (ou la partie d'adresse, on regroupe

    par octet, donc dans un module 32 E/S il y a 4 adresses a), b tant le numro du bit dans l'octet (entre 0 et 7).

    isation de Step 7 http://www-ipst.u-strasbg.fr/pat/autom/siemens/step7.htm

    r 9 09/05/2012 20:27

  • 7/31/2019 Utilisation de Step 7

    3/9

    Exemple : E0.4 est la cinquime entre du premier bloc d'entres) les sorties se notent A a.b (A=Aus). Les

    entres et les sorties peuvent utiliser les mmes adresses, les 32 entres du premier bloc s'appellent E0.0

    E3.7, les 32 sorties du second bloc s'appellent A0.0 A3.7. On peut galement accder directement un octet

    complet (B), un mot (W) de deux octets, un double mot (D) de 4 octets. Pour stocker des rsultats

    intermdiaire, on dispose de mmoires internes (mmento) nomms en ToR M0.0 M65535.7 (si on a assez

    de mmoire), ou MB, MW, MD. Pour l'arithmtique on dispose aussi des types int, dint, real, char, date,

    time...

    Les mnmoniques sont des variables globales (pour tous les blocs ou sous-programmes). Mais elles sont

    dfinies pour un matriel donn uniquement. voici un exemple de table de mnmoniques :

    Le programme

    Le programme sera plac dans l'automate (->programme->blocs). Le "programme principal" s'appelle

    obligatoirement OB1 (OB= Bloc d'Organisation, contient un bout de programme, on pourrait aussi appeler

    cela un sous-programme). On double clique sur OB1 pour entrer le programme. Il faut avant tout choisir son

    langage prfr (dans "affichage" s'il ne le propose pas automatiquement) : CONT (langage contacts), LIST

    (langage textuel), ou LOG (portes logiques). D'autres langages (optionnels) existent, les trois qui me semblent

    les plus intressants sont SCL (langage proche du Pascal, permettant des algorithmes et calculs complexes),

    GRAPH (proche du Grafcet), HiGRAPH (proche des rseaux de Petri).

    isation de Step 7 http://www-ipst.u-strasbg.fr/pat/autom/siemens/step7.htm

    r 9 09/05/2012 20:27

  • 7/31/2019 Utilisation de Step 7

    4/9

    Le langage CONT

    C'est une suite de rseaux qui seront parcourus squentiellement. Les entres sont reprsentes par des

    interrupteurs -| |- (ou -|/|- si entre inverse), les sorties par des bobines -( )- ou des bascules -(S)- -(R)-.Il y a

    galement des oprations unaires (une entre une sortie) : l'inverseur -|NOT|-, l'attente d'un front montant

    -(P)- ou descendant -(N)-. Les sorties sont obligatoirement droite du rseau On doit videmment dfinir nos

    E/S, soit directement par leur code (E a.b / A a.b), ou avec leur nom en clair dfini dans la table des

    mnmoniques (entrez le nom entre guillemets). On relie les lments en srie pour la fonction ET, en parallle

    pour le OU. On peut utiliser des bits internes (peuvent servir en bobines et interrupteurs), comme on utilisedans une calculatrice une mmoire pour stocker un rsultat intermdiaire (M a.b). On peut aussi introduire des

    lments plus complexes, en particulier les oprations sur bits comme par exemple une bascule SR (priorit

    dclenchement), RS (priorit enclenchement), POS et NEG pour la dtection de fronts... Dans le document en

    ligne CONT pour S7 on trouvera d'autres fonctions utiles, les compteurs, les tempos, la rigueur le

    registre dcalage qui permettrait de grer du squentiel sans Grafcet. On peut galement utiliser des

    fonctions plus complexes (calculs sur mots par exemple), mais l je pense qu'il vaut mieux travailler en

    langage LIST. On trouve normalement dans la fentre lments de programme l'ensemble des oprations

    existantes (si on ne l'a pas ferme, bien sr, sinon choisir affichage -> vues d'ensemble ).

    Le programme est en gnral dcompos en plusieurs rseaux, par exemple un rseau par sortie (2 parties du

    schma non relies entre elles doivent tre dans deux rseaux diffrents). Les rseaux sont excuts

    squentiellement.

    isation de Step 7 http://www-ipst.u-strasbg.fr/pat/autom/siemens/step7.htm

    r 9 09/05/2012 20:27

  • 7/31/2019 Utilisation de Step 7

    5/9

    Le langage LOG

    C'est un langage graphique, utilisant les symboles de l'lectronique numrique (portes logiques). Il n'y a rien

    de spcial dire, c'est trs intuitif. On peut utiliser plusieurs entres pour une mme porte, placer des

    inverseurs sur les entres.... Ici, on dcoupe son programme en plusieurs rseaux (en gnral quand un

    ensemble de blocs n'est pas reli au reste, ou un rseau par sortie...) Voici l'exemple correspondant au

    programme CONT montr plus haut :

    Le langage LIST

    C'est un langage textuel, qui est le plus proche du comportement interne de l'automate (correspond peu prs

    l'assembleur dans un ordinateur). Le systme sait toujours traduire du CONT ou du LOG en LIST, mais pas

    l'inverse (ou alors je ne sais pas faire). Le programme se compose d'une suite de lignes, chacune spcifiant un

    isation de Step 7 http://www-ipst.u-strasbg.fr/pat/autom/siemens/step7.htm

    r 9 09/05/2012 20:27

  • 7/31/2019 Utilisation de Step 7

    6/9

    code opration suivi d'un oprande (et un seul). L'oprande peut tre une adresse absolue (E0.0) ou un

    mnmonique entre guillemets (si les mnmoniques ont t dfinis, bien sr). Comme on ne peut pas utiliser

    deux oprandes dans une mme ligne, pour faire x=a et b on crit :

    U "a"

    U "b"

    = "x"

    On utilise U pour ET (und), O pour Ou (oder), X pour Ou Exclusif), UN, ON et mme XN pour les entresinverses, = pour stocker le rsultat. L'opration (O ou U) pour le premier oprande n'a pas grande

    importance. Pour une bascule on utilisera S et R :

    U "a"

    S "x"

    U "b"

    R "x"

    NOT inverse le rsultat prcdent, FP indique si le rsultat prcdent vient de passer de 0 1 (front montant),

    FN pour le front descendant. Ici aussi, on peut dcomposer le programme en plusieurs rseaux, mais peut-tre

    est-ce moins courant qu'en CONT ?

    On peut, comme en programmation classique, faire des sauts (goto) : SPA label (inconditionnel), SPB (si

    dernier calcul = 1), SPBN (si 0). On saute une ligne prcde de label :

    En LIST, on peut aussi traiter des mots (peut-tre plus facilement que dans les autres langages) : octets (B),

    entiers de 16 bits (W) ou 32 bits (D), rels 32 bits). On utilise un accumulateur sous forme d'une pile ( 2

    niveaux). On empile une valeur par L (load). Les calculs se font entre les deux accumulateurs, se notent pour

    les entiers +I, -I, /I, *I (idem +D,... sur 32 bits, +R rels). On peut comparer les deux derniers niveaux de la

    pile par I, =I, = =I, I (idem

  • 7/31/2019 Utilisation de Step 7

    7/9

    ou directement son code en hexa ($4E pour 'N').

    Le systme gre automatiquement le type de la constante, si on veut imposer son type il suffit de la prcder

    par TYPE# : BOOL (bool#true, Bool#FALSE, BOOL#1), BYTE ou CHAR (BYTE#16#FF, BYTE#'a',

    BYTE#127), INT ou WORD ou W (W#16#FFFF), DINT ou DWORD ou DW voire REAL (car les rels sont

    stocks sur 32 bits).

    Les constantes de dates dbutent par DATE# (ou D#), TIME# (T#) DATE_AND_TIME# (DT#) ou

    TIME-OF_DAY# (TOD#). La date est sous la forme anne-mois-jour (D#2006-06-28), l'heure h:mn:s.ms (les

    derniers sont optionnels) (DT#1995-02-02-11:11:11) Pour les dures, on utilise TIME dans le format dfinit

    plus haut, ou on prcise les units (on peut alors prendre des nombres rels pour le dernier) : D (jour)H

    (heure) M S MS (T#1d3h2m, T#2.5s, T#150ms). Il y a aussi des formats hrits de S5.

    J'ai crit un document plus complet sur LIST, cliquez ici (et n'oubliez pas l'aide en ligne).

    Le langage GRAPH

    Le Graph (langage proche du Grafcet mais moins puissant) n'est pas un langage de base dans S7. Mais ilsuffit de crer un bloc fonctionnel (FB) en Graph : on se met au niveau des blocs et on insre (clic droit) un

    FB (bloc fonctionnel). Il nous ouvre une fentre de proprits, o l'on choisit le nom (FB1 est trs bien) mais

    surtout le langage (choisir GRAPH). Le systme cre automatiquement un DB (les donnes associes, DB1),

    un FC72 et un SFC64 (fonctions systme ncessaires). Il n'y a plus qu' rentrer le programme, le sauver. Vous

    aviez galement le droit de prciser des mnmoniques. Le systme me semble ncessiter des convergences en

    ET symtriques aux divergences (mais accepte les tapes initiales multiples). Par contre pour les OU il m'a

    l'air un peu plus souple. Il ne respecte pas la norme, en particulier les OU sont exclusifs (si deux voies sont

    possibles, seule la plus gauche est emprunte), la rgle 5 est bafoue (si une tape doit tre active et

    dsactive en mme temps, il la dsactive !), les simultanits sont farfelues.

    Une tape est dfinie par un identificateur Sx (x numro unique), un nom (par dfaut StepX) qui servira pour

    les synchronisations, et une extension (commentaire) not droite. On clique avec le bouton droit sur cette

    extension pour demander l'insertion d'un objet (une action). Celle-ci est dfinie par un code sur une lettre (N

    normal : sortie allume au dbut de l'activation et teinte la dsactivation, S set : sortie mise 1, R Reset :

    sortie teinte, D dlai : allumage au bout d'un certain dlai aprs l'activation, extinction la dsactivation, il y

    a d'autres options comme compteurs...).

    Pour les transitions, on peut choisir le langage CONT ou LOG (j'utilise CONT). On peut insrer trs

    facilement une tempo (Step12.T charger . On

    peut regarder le programme actuellement dans l'automate (s'il est en mode RUN ou RUN-P) par affichage

    isation de Step 7 http://www-ipst.u-strasbg.fr/pat/autom/siemens/step7.htm

    r 9 09/05/2012 20:27

  • 7/31/2019 Utilisation de Step 7

    8/9

    -> en ligne (hors ligne correspond au projet que l'on est en train de crer sur le PC). On peut mme

    directement modifier un programme dans la fentre en ligne (si l'automate est au repos), voire faire du

    copier-coller ou glisser entre la fentre en ligne et hors ligne.

    Dans la fentre en ligne , en entrant dans le programme (OB1 ou autres blocs), on peut directement

    visualiser l'tat des variables dans le programme. On choisit pour cela test -> visualiser . En CONT, les

    schmas deviennent en pointills au endroits o le courant n'arrive pas . En LIST, un tableau est affich

    cot du programme, spcifiant les valeurs (0 ou 1) des oprandes, en LOG des 0 ou 1 sont crits sur les

    liaisons. En Grafcet, les tapes actives sont en vert, les transitions valides sont montres comme dans le

    langage correspondant, les valeurs des tempos, compteurs... sont notes ct du schma.

    On peut galement lister l'tat de toutes les variables, voire les modifier. Pour cela, se placer sur les blocs

    (fentre gauche du projet), puis dans la fentre droite (il s'y trouve au moins OB1) cliquer avec le bouton droit

    et insrer une table des variables (VAT).

    PLCSIM est un logiciel de simulation d'automates livr avec STEP7. On peut donc tester un programme sur

    un PC non reli aux automates (mais avec STEP7 install, videmment). Pour tester un programme, il n'est

    pas ncessaire d'avoir dfini de matriel. Sinon, enregistrez-sous, puis supprimez la description du matriel

    (cliquez dessus avec le bouton de droite par exemple), et rpondez NON quand il vous demande s'il fautgalement supprimer le programme. Dmarrez le simulateur (outils -> simulation de modules ou l'icne

    reprsentant l'automate virtuel dans un nuage), affichez les E/S (insertion ->entres ou sorties). Transfrez le

    programme (par exemple par systme cible ->partenaires accessibles et un copier-coller). Vous pouvez

    dsormais tester (en mode RUN).

    Pour en savoir plus

    La documentation se trouve dans le logiciel (menu ? ou F1), mais aussi dans le menu dmarrer sous Simatic

    -> documentation -> franais. Mme les experts se servent frquemment de l'aide en ligne, (F1 sur uncomposant s'il a oubli le dtail de ses entres par exemple). Dans STEP7, getting started vous trouverez

    peu prs la mme chose que dans ce document (mais on y parle aussi d'autres choses, par exemple des

    sous-programmes FB).

    Dans Step7, configuration matrielle on dtaille la configuration du matriel. Pour une seule valise c'est

    inutile de le lire, mais on y dtaille la priphrie dcentralise (DP), les projets multi-cpu, la communication

    par donnes globales (GD)...

    Annexe

    Les mnmoniques globaux (tous les blocs d'un mme CPU) sont entre guillemets, et acceptent tous

    caractres. Les mnmoniques locaux dbutent par # et comportent lettres, chiffres et soulign.

    Ci-dessous tous les types de variables pouvant tre associes un mnmonique :

    Anglais Allemand Dsignation Type de donnesPlage

    d'adresses

    I E Bit d'entre BOOL 0.0..65535.7

    IB EB Octet d'entre BYTE, CHAR 0..65535

    IW EW Mot d'entre WORD, INT, S5TIME, DATE 0..65534

    isation de Step 7 http://www-ipst.u-strasbg.fr/pat/autom/siemens/step7.htm

    r 9 09/05/2012 20:27

  • 7/31/2019 Utilisation de Step 7

    9/9

    Anglais Allemand Dsignation Type de donnesPlage

    d'adresses

    ID ED Double mot d'entreDWORD, DINT, REAL, TOD,

    TIME0..65532

    Q A Bit de sortie BOOL 0.0..65535.7

    QB AB Octet de sortie BYTE, CHAR 0..65535

    QW AW Mot de sortie WORD, INT, S5TIME, DATE 0..65534

    QD AD Double mot de sortieDWORD, DINT, REAL, TOD,

    TIME0..65532

    M M Bit de mmento BOOL 0.0..65535.7

    MB MB Octet de mmento BYTE, CHAR 0..65535

    MW MW Mot de mmento WORD, INT, S5TIME, DATE 0..65534

    MD MD Double mot de mmentoDWORD, DINT, REAL, TOD,

    TIME0..65532

    PIB PEB Octet de priphrie d'entre BYTE, CHAR 0..65535

    PQB PAB Octet de priphrie de sortie BYTE, CHAR 0..65535

    PIW PEW Mot de priphrie d'entre WORD, INT, S5TIME, DATE 0..65534

    PQW PAW Mot de priphrie de sortie WORD, INT, S5TIME, DATE 0..65534

    PID PEDDouble mot de priphrie

    d'entre

    DWORD, DINT, REAL, TOD,

    TIME0..65532

    PQD PADDouble mot de priphrie de

    sortie

    DWORD, DINT, REAL, TOD,

    TIME 0..65532

    T T Temporisation TIMER 0..65535

    C Z Compteur COUNTER 0..65535

    FB FB Bloc fonctionnel FB 0..65535

    OB OB Bloc d'organisation OB 1..65535

    DB DB Bloc de donnes DB, FB, SFB, UDT 1..65535

    FC FC Fonction FC 0..65535

    SFB SFB Bloc fonctionnel systme SFB 0..65535

    SFC SFC Fonction systme SFC 0..65535

    VAT VAT Table des variables 0..65535

    UDT UDT Type de donnes utilisateur UDT 0..65535

    Patrick TRAU,

    isation de Step 7 http://www-ipst.u-strasbg.fr/pat/autom/siemens/step7.htm