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