Anda di halaman 1dari 29

Step 7 : une

programmation
structure
LES LANGUAGES
Schma en bloc fonctionnel
FBD
LOG
Langage contact LD
CONT
Liste dinstruction IL
LIST
Diagramme fonctionnel en squence
SFC GRAPH S7
Langage littral structur ST
SCL































Principe dappel des blocs
OB1
Bloc
dorganisation
FC2
Fonction
FB1
Bloc
fonctionnel
DB1
DB
dinstance
DB3
Blocs de donnes
globales
Aux FC FB et OB
OB35
Bloc
dorganisation
cyclique
FC4
Fonction
FB 2
Bloc
fonctionnel
FC3
Fonction
DB2
DB
dinstance

DB4
Blocs de donnes
globales
Aux FC FB et OB
Les blocs dorganisation
Le bloc dorganisation OB1 est le chef dorchestre du programme ; il
traite cycliquement le programme, il peut exister dautres OB dans le
programme:
OB 10 17 : OB d'alarme horaire (OB 12 dans les CPU314),
il sont dclenchs soit une fois, soit toutes les minutes, les heures
, les jours, les semaines, les mois, les ans, en fin de mois partir
d'une date et d'une heure que l'on fixe.

OB 30 38 : OB d'alarme cyclique (OB35 dans les CPU 314) ,
ils sont dclenchs cycliquement partir de la mise en route de la
CPU , la priode varie de 10 ms 65000 ms.
OB 100 102 : OB de mise en route ils sont activs chaque
mise sous tension ou chaque passage de Stop en Run.
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.




Les blocs fonctionnels
Un 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.

Les blocs de donnes
Les blocs de donnes sont 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.
Blocs de donnes globales.
Il s'agit de blocs de donnes auxquels peuvent accder tous les blocs de code du
programme utilisateur S7. Tout FB, FC, ou OB peut lire ou craser les donnes qu'ils
contiennent. Vous pouvez crer des blocs de donnes globales en :
- dfinissant vous-mme la structure du bloc de 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 utilisateur correspondant.
Dans ce cas, c'est la structure du type de donnes utilisateur qui dtermine celle du
bloc de donnes.
Blocs de donnes d'instance
Il s'agit de blocs de donnes qui 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
Droulement du programme.
Lecture de
la
priphrie
dentre,
Stockage
dans la
MIE.
Temps de cycle (surveill)
Lecture de
la
priphrie
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 MIS
sur 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 MIS
sur la
priphrie
de sortie.
Fonction
systme et
communic
ation

Droulement du programme
Dcoupage en units de temps
Mmoire de chargement

La mmoire de chargement est stocke sur une micro-carte
mmoire SIMATIC Card (MMC).
La taille de la mmoire de chargement correspond exactement
la MMC. Elle sert mmoriser les blocs de codes et les blocs
de donnes ainsi que les donnes systme (configuration,
liaisons, paramtres de modules etc.).
Les blocs qui sont identifis comme n'intervenant pas dans
l'excution ne sont copis que dans la mmoire de
chargement.
Les donnes compltes de configuration d'un projet peuvent
tre galement archives sur la MMC.
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 toujours
rmanente.
Mmoire systme
La mmoire systme est intgre la CPU et ne
peut pas tre tendue.
Elle contient
. les plages d'oprandes Mmentos M,
Tempos T et Compteurs Z
. les mmoires images des entres MIE
. la mmoire image des sorties MIS
. les donnes locales L (PILES)

Zones doprandes
Zones
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
MB
MW
MD
Cette zone met disposition de lespace mmoire
pour les rsultats intermdiaires calculs dans le
programme
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
Oprandes suite 1
Zones
doprandes
Accs par des units de taille
suivante
Notation
S7
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
DBW
DBD
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 temporaires dun bloc pour
la dure du traitement de ce bloc. La
pile L sert aussi la sauvegarde des
rsultats intermdiaires en CONT
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 de
priphrie
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
Mmoire des entres MIE
Entres E (I) (lecture dans la Mmoire Image
d'Entres MIE)
- E y.x dsigne une entre, y est le numro de voies
(octet 0 127ou plus), x sa position (0 7).
- EB y dsigne un octet d'entres.
- EW y dsigne un mot d'entres ( 16 bits).
- ED y dsigne un double mot d'entres (32 bits).
Les mme termes prcd d'un P accdent
directement la priphrie sauf E y.x
Mmoire des sorties MIS
Sorties A (Q) (sortie dans la Mmoire Image
de Sorties MIS)
- A y.x dsigne une sortie. y est le numro de voies
(octet 0 127 ou plus), x sa position (0 7).
- AB y dsigne un octet de sorties.
- AW y dsigne un mot de sorties ( 16 bits).
- AD y dsigne un double mot de sorties (32 bits).
Les mmes termes prcds d'un P accdent
directement la priphrie sauf Ay.x
Zone de mmoire interne
Mmentos M (lecture dans la mmoire interne)
- M y.x dsigne un bit mmoire. y est le numro
d'octets (0 255 minimum), x sa position (0 7).
- MB y dsigne un octet de mmoire.
- MW y dsigne un mot de mmoire( 16 bits).
- MD y dsigne un double mot de mmoire(32 bits).

Donnes globales
Donnes D (ncessite l'ouverture pralable d'un DB
global).
- DBX y.x dsigne un bit de donnes y est le numro
d'octets (0 N), x sa position (0 7).
- DBB y dsigne un octet de donnes .
- DBW y dsigne un mot de donnes ( 16 bits).
- DBD y dsigne un double mot de donnes (32 bits).
- Laccs direct scrit Dbn.DB ( Xy.x ou By ou Wy ou
Dy), n = numro du DB

Donnes locales
Donnes L ( donnes locales dans la zone de
dclaration dun DB dinstance)
- L y.x dsigne un bit de donnes y est le numro
d'octets (0 127), x sa position (0 7).
- LB y dsigne un octet de donnes locales .
- LW y dsigne un mot de donnes locales ( 16
bits).
-LD y dsigne un double mots de donnes locales
(32 bits).
-Utilisation uniquement dans le bloc concern
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 paramtres transmis 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 temporaires qui ne sont
disponibles que pendant le traitement du bloc et sont ensuite crases. Le
systme dexploitation affecte une zone de mmoire propre ces donnes
temporaires
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 code
appelant
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 code
appelant 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 dun
appel lautre)
FB

TEMP
Variable temporaire range dans la pile des donnes locales. Les valeurs
de ces variables sont perdues une fois lexcution du bloc achev
FB,FC, OB
Changement de fonctionnement de la CPU

changes des blocs


Zones de mmoires
Zones de mmoires

Anda mungkin juga menyukai