Step 7 Blocs

download Step 7 Blocs

of 29

Transcript of Step 7 Blocs

  • 5/24/2018 Step 7 Blocs

    1/29

    Step 7 : une

    programmationstructure

  • 5/24/2018 Step 7 Blocs

    2/29

    LES LANGUAGES

  • 5/24/2018 Step 7 Blocs

    3/29

    Principe dappel des blocsOB1Bloc

    dorganisation

  • 5/24/2018 Step 7 Blocs

    4/29

    Les blocs dorganisation

    Le bloc dorganisationOB1est le chef dorchestredu programme ; il

    traite cycliquement le programme, il peut exister dautres OB dans le

    programme:

  • 5/24/2018 Step 7 Blocs

    5/29

    Les fonctions

    Une fonction (FC) est un bloc de code qui ne contient pas de donnes

    statiques, conformment la norme CEI 1131-3.

    Elle permet le transfert de paramtres dans le programme utilisateur et

    s'adapte donc tout particulirement la programmation de fonctions

    rcurrentes, comme par exemple les calculs.

    Une fonction systme (SFC) est une fonction intgre au systme

    d'exploitation de la CPU que vous pouvez appeler dans le programme

    utilisateur, si besoin est. Elle ne peut tre programme par l'utilisateur.

  • 5/24/2018 Step 7 Blocs

    6/29

    Les blocs fonctionnelsUn bloc fonctionnel (FB)est un bloc de code qui contient des donnes

    statiques, conformment la norme CEI 1131-3. Il permet le transfert de

    paramtres dans le programme utilisateur et s'adapte donc tout

    particulirement la programmation de fonctions complexes rcurrentes,

    comme par exemple les rgulations ou la slection de l'tat de

    fonctionnement.

    Un bloc fonctionnel systme (SFB)est un bloc fonctionnel intgr au

    systme d'exploitation de la CPU que vous pouvez appeler dans le

    programme utilisateur, si besoin est. Il ne peut pas tre programm par

    l'utilisateur.

    Les blocs de code (OB, FB, FC) du programme utilisateur peuvent tre

    chargs dans la CPU S7. Ils sont soit crs et dits directement dans des

    diteurs incrmentaux, soit ils rsultent de la compilation de sources.

  • 5/24/2018 Step 7 Blocs

    7/29

    Les blocs de donnes

    Les blocs de donnessont des blocs utiliss par les blocs de code de

    votre programme utilisateur pour enregistrer des valeurs.

    Contrairement aux donnes temporaires du bloc de code, les donnes

    du bloc de donnes ne sont pas effaces la fin de l'excution du bloc

    de code ou lorsque vous fermez le bloc de donnes. La taille d'un bloc

    de donnes dpend de la CPU considre. Dans une CPU 314 IFM,

    par exemple, elle peut atteindre jusqu' 8 kilo-octets, soit 8192 octets.

  • 5/24/2018 Step 7 Blocs

    8/29

    Blocs de donnes globales.

    Il s'agit de blocs de donnesauxquels peuvent accder tous les blocs de codeduprogramme utilisateur S7. Tout FB, FC, ou OB peut lire ou craser les donnes qu'ils

    contiennent. Vous pouvez crer des blocs de donnes globalesen :

    - dfinissant vous-mme la structure du blocde donnes, c'est--dire en dfinissant

    et ditant individuellement l'ordre des variables, leur nom et leur type de donnes.

    - crant un bloc de donnes avec le type de donnes utilisateurcorrespondant.

    Dans ce cas, c'est la structure du type de donnes utilisateur qui dtermine celle du

    bloc de donnes.

    Blocs de donnes d'instanceIl s'agit de blocs de donnesqui sont affects un bloc fonctionnel (FB) particulier. Ils

    contiennent les donnes locales de ce bloc fonctionnel.

    Si, dans un bloc fonctionnel, vous appelez d'autres FB et que vous avez dclar des variables

    statiques (multi-instances) pour les instances de ces FB, alors le DB d'instance du bloc

    fonctionnel appelant contient galement les donnes locales des FB appels.Les blocs de donnes du programme utilisateur S7 peuvent tre chargs dans la CPU S7. Ils

    sont soit crs et dits directement avec des diteurs incrmentaux, soit ils rsultent de la

    compilation de sources

  • 5/24/2018 Step 7 Blocs

    9/29

    Droulement du programme.

    Lecture de

    lapriphrie

    dentre,

    Stockage

    dans la

    MIE.

    Temps de cycle (surveill)

    Lecture de

    lapriphrie

    dentre,

    Stockage

    dans la

    MIE.

    Droulement du programme en

    utilisant les valeurs des entres de

    la MIE et en stockant les sorties

    dans la MIS.

    Transfert

    de la MISsur la

    priphrie

    de sortie. Droulement du programme en

    utilisant les valeurs des entres de

    la MIE et en stockant les sorties

    dans la MIS.

    Transfert

    de la MISsur la

    priphrie

    de sortie.Fonction

    systme et

    communic

    ation

  • 5/24/2018 Step 7 Blocs

    10/29

    Droulement du programme

  • 5/24/2018 Step 7 Blocs

    11/29

    Dcoupage en units de temps

  • 5/24/2018 Step 7 Blocs

    12/29

  • 5/24/2018 Step 7 Blocs

    13/29

    Mmoire de travail

    La mmoire vive est intgre la CPU et ne peut pas

    tre tendue. Elle sert excuter le code et traiter

    les donnes du programme utilisateur.

    Le traitement du programme s'effectue exclusivement

    au niveau de la mmoire de travail et de la mmoire

    systme.

    La mmoire vive de la CPU est toujoursrmanente.

  • 5/24/2018 Step 7 Blocs

    14/29

    Mmoire systme

    La mmoire systme est intgre la CPU et ne

    peut pas tre tendue.

    Elle contient. les plages d'oprandes Mmentos M,Tempos Tet Compteurs Z

    les mmoires images des entres MIE

    .la mmoire image des sorties MIS

    les donnes locales L (PILES)

  • 5/24/2018 Step 7 Blocs

    15/29

    Zones doprandesZones

    doprandes

    Accs par des units

    de taille suivante

    Notation

    S7 IEC

    Descriptions

    Mmoire images

    des entres MIE

    - Entre (bit)

    - Octet dentre

    - Mot dentre

    - Double mot dentre

    E I

    EB IB

    EW IW

    ED ID

    Au dbut de chaque cycle la CPU lit les entres

    provenant des modules dentres et les enregistre

    dans la MIE

    Mmoire images

    des sorties MIS

    - Sortie (bit)

    - Octet de sortie

    - Mot de sortie

    - Double mot de sortie

    A Q

    AB QB

    AW QW

    AD QD

    Pendant le cycle la CPU calcule les valeurs pour les

    sorties et les dposes dans la MIS. A la fin la CPU

    crit les valeurs de sorties calcules dans les

    modules de sorties

    Mmentos - Mmento (bit)

    - Octet de mmento- Mot de mmento

    - Double mot de

    mmento

    M

    MBMW

    MD

    Cette zone met disposition de lespace mmoire

    pour les rsultats intermdiaires calculs dans leprogramme

    Temporisations - Temporisation (T) T Cette zone sert despace mmoire pour les temporisations

    Compteurs - Compteur (Z) Z C Cette zone sert despace mmoire pour le compteurs

  • 5/24/2018 Step 7 Blocs

    16/29

    Oprandes suite 1Zonesdoprandes

    Accs par des units de taillesuivante

    NotationS7

    Descriptions

    Blocs de

    donnes

    Bloc de donnes ouvert avec

    AUF DB (OPEN DB)

    - Bit de donnes

    - Octet de donnes

    - Mot de donnes

    - Double mot de donnes

    DB

    DBX

    DBB

    DBWDBD

    Les blocs de donnes contiennent les

    informations pour le programme. Ils

    peuvent soit :

    - servir tous les blocs de code(DB

    globaux) ,

    Bloc de donnes ouvert avec

    AUF DI (OPEN DI)

    - Bit de donnes

    - Octet de donnes

    - Mot de donnes

    - Double mot de donnes

    DI

    DIX

    DIB

    DIW

    DID

    - soit tre associ un FB (DB

    dinstance)

    Donnes

    locales

    - Bit de donnes locales

    - Octet de donnes locales

    - Mot de donnes locales

    - Double mot de donnes

    locales

    L

    LB

    LW

    LD

    Cette zone fournit de lespace mmoire

    aux donnes temporairesdun bloc pour

    la dure du traitement de ce bloc. La

    pile L sert aussi la sauvegarde des

    rsultats intermdiaires en CONT

  • 5/24/2018 Step 7 Blocs

    17/29

    Oprande suite 2

    Zones

    doprandes

    Accs par des units de taille

    suivante

    Notation

    S7

    Descriptions

    Zones de

    priphrie

    dentres

    - Octet dentre de priphrie

    - Mot dentre de priphrie

    - Double mot dentre depriphrie

    PEB

    PEW

    PED

    Les zones de priphries permettent

    laccs direct des modules dentres

    ou de sorties.

    Zones de

    priphrie de

    sorties

    - Octet de sortie de priphrie

    - Mot de sortie de priphrie

    - Double mot de sortie de

    priphrie

    PAB

    PAW

    PAD

  • 5/24/2018 Step 7 Blocs

    18/29

    Mmoire des entresMIE

    Entres E (I) (lecture dans la Mmoire Imaged'Entres MIE)

    - E y.x dsigne une entre, yest le numro de voies

    (octet 0 127ou plus), xsa position (0 7).

    - EB ydsigne un octet d'entres.

    - EWydsigne un mot d'entres ( 16 bits).

    - EDydsigne un double mot d'entres (32 bits).Les mme termes prcd d'un P accdent

    directement la priphriesauf E y.x

  • 5/24/2018 Step 7 Blocs

    19/29

    Mmoire des sorties MIS

    Sorties A (Q) (sortie dans la Mmoire Imagede Sorties MIS)

    - A y.x dsigne une sortie. yest le numro de voies(octet 0 127 ou plus), xsa position (0 7).

    - ABydsigne un octet de sorties.

    - AWydsigne un mot de sorties ( 16 bits).

    - ADydsigne un double mot de sorties (32 bits).

    Les mmes termes prcds d'un P accdent

    directement la priphrie sauf Ay.x

  • 5/24/2018 Step 7 Blocs

    20/29

    Zone de mmoire interne

    Mmentos M (lecture dans la mmoire interne)- My.x dsigne un bit mmoire. yest le numro

    d'octets (0 255 minimum), xsa position (0 7).- MBydsigne un octet de mmoire.

    - MWydsigne un mot de mmoire( 16 bits).

    - MDydsigne un double mot de mmoire(32 bits).

  • 5/24/2018 Step 7 Blocs

    21/29

    Donnes globales

    Donnes D(ncessite l'ouverture pralable d'un DBglobal).

    - DBX y.x dsigne un bit de donnes yest le numro

    d'octets (0 N), xsa position (0 7).

    - DBBydsigne un octet de donnes .

    - DBWydsigne un mot de donnes ( 16 bits).

    -DBDydsigne un double mot de donnes (32 bits).-Laccs direct scrit Dbn.DB ( Xy.xou Byou Wyou

    Dy), n= numro du DB

  • 5/24/2018 Step 7 Blocs

    22/29

    Donnes locales

    Donnes L( donnes locales dans la zone dedclaration dun DB dinstance)

    - L y.x dsigne un bit de donnes yest le numro

    d'octets (0 127), xsa position (0 7).- LBydsigne un octet de donnes locales .

    - LWydsigne un mot de donnes locales ( 16

    bits).

    -LDydsigne un double mots de donnes locales(32 bits).

    -Util isation uniquement dans le bloc concern

  • 5/24/2018 Step 7 Blocs

    23/29

    Variables associes un bloc

    Outre les instructions du programme utilisateur, les blocs contiennent des

    variables que vous dclarez laide de STEP 7 lorsque vous programmez

    des blocs vous mme.

    Vous pouvez indiquer, dans la dclaration de variables, les variables que le

    bloc devra utiliser lors de son traitement. Les variables sont :

    des paramtrestransmis entre blocs de code,des variables statiques

    ranges dans un bloc de donnes dinstance et restant disponibles mme une

    fois le bloc fonctionnel associ trait, des variables temporairesqui ne sontdisponibles que pendant le traitement du bloc et sont ensuite crases. Le

    systme dexploitation affecte une zone de mmoire propre ces donnes

    temporaires

  • 5/24/2018 Step 7 Blocs

    24/29

    Types de dclarations pour

    paramtres et variables locales.Paramtres/

    variables

    Description Autoris

    pour

    IN Paramtre dentre dont la valeur est fournie par le bloc de codeappelant

    FB,FC

    OUT Paramtre dentre dont la valeur est fournie par le bloc de code appel FB,FC

    IN_OUT Paramtre dentre dont la valeur est fournie par le bloc de codeappelant et modifi par le bloc de code appel et renvoy au bloc de

    code appelant

    FB,FC

    STAT Variable statique contenue dans le DB dinstance (mmorise dunappel lautre)

    FB

    TEMP Variable temporaire range dans la pile des donnes locales. Les valeursde ces variables sont perdues une fois lexcution du bloc achev

    FB,FC, OB

  • 5/24/2018 Step 7 Blocs

    25/29

  • 5/24/2018 Step 7 Blocs

    26/29

    changes des blocs

  • 5/24/2018 Step 7 Blocs

    27/29

  • 5/24/2018 Step 7 Blocs

    28/29

    Zones de mmoires

  • 5/24/2018 Step 7 Blocs

    29/29

    Zones de mmoires