Professional Documents
Culture Documents
SIMATIC S7
Siemens AG 1998. All rights reserved.
Date :
Fichier :
Sommaire
22.07.03
04_MA2_fr.1
SITRAIN Formation
Automatisation et entranements
Page
Objectifs du chapitre .. 2
Zones mmoire pour l'enregistrement des donnes ............................................................................
3
Blocs de donnes (DB).....................................................................................................................
4
Types de donnes dans STEP 7...............................................................
5
Types de donnes lmentaires dans STEP 7.....................................................................................
6
Cration dun nouveau bloc de donnes........................................................................................ 7
Entre, enregistrement, chargement et visualisation dun bloc de donnes......................................... 8
Adressage des lments de donnes................................................................................................ 9
Accs aux lments de donnes ........................................................................................... 10
Exercice : Comptage des pices transportes (FC18, DB18)............................. 11-12
Types de donnes complexes.................................................................................................... 13
Exemple de tableau......................................................................................................... 14
Exemple de structure.......................................................................................................... 15
Rappel des objectifs ............................................................................................................................ 16
SITRAIN Formation
Automatisation et entranements
Page 1
Cours S7-MA2
Stockage des donnes dans les blocs de donnes
Objectifs du chapitre
A lissue du chapitre, vous allez ...
SIMATIC S7
Siemens AG 1998. All rights reserved.
SITRAIN Formation
Automatisation et entranements
...
...
...
...
Date :
Fichier :
22.07.03
04_MA2_fr.2
Page 2
SITRAIN Formation
Automatisation et entranements
Cours S7-MA2
Stockage des donnes dans les blocs de donnes
Mmento
DBz
MIS
DBy
MIE
DBx
Priphrie
Pile L
SIMATIC S7
Siemens AG 1998. All rights reserved.
Gnralits
.
.
.
Date :
Fichier :
Blocs de donnes
22.07.03
04_MA2_fr.3
SITRAIN Formation
Automatisation et entranements
Outre les blocs de programme, un programme utilisateur comporte aussi des donnes
sur ltat du processus et des signaux, traites par les oprations du programme
utilisateur.
Les donnes sont stockes dans des variables du programme utilisateur, une variable
tant caractrise de manire univoque par :
le chemin daccs la zone mmoire (oprande : par exemple Priphrie, MIE, MIS,
mmentos, pile L, DB)
le type de donnes (type de donnes lmentaire ou complexe, type de paramtre).
En fonction des modalits daccs, on distingue :
les variables globales qui sont dclares dans la table des mnmoniques globale ou
dans des blocs de donnes globaux et
les variables locales qui se trouvent dans la partie dclarative des OB, FB et FC.
Les variables peuvent tre stockes un emplacement dtermin de manire fixe
dans la mmoire image du processus, dans la zone des mmentos ou dans des blocs
de donnes ; mais elles peuvent aussi tre stockes de faon dynamique dans la pile L
des donnes locales du bloc en cours de traitement.
Pile de donnes La pile de donnes locales (pile L) est une zone mmoire qui permet denregistrer :
locales
des variables temporaires d'un bloc de code, y compris les informations
de dmarrage des OB.
des oprandes effectifs lors du transfert de paramtres pour les appels de FC
des rsultats intermdiaires dans des programmes en schma contacts.
Ce sujet est trait au chapitre "Fonctions et blocs fonctionnels".
Blocs de
donnes
Les blocs de code utilisent les blocs de donnes pour mmoriser des valeurs.
Contrairement aux donnes temporaires, les donnes stockes dans un bloc de
donnes ne sont pas crases lorsque le traitement du bloc de code est termin ou
que le DB est ferm.
SITRAIN Formation
Automatisation et entranements
Page 3
Cours S7-MA2
Stockage des donnes dans les blocs de donnes
OB1
Donnes
globales
DB20
Fonction
FC20
DB dinstance de FB1
Bloc
fonctionnel
FB1
SIMATIC S7
Date :
Fichier :
22.07.03
04_MA2_fr.4
Donnes
dinstance
DB5
SITRAIN Formation
Automatisation et entranements
Gnralits
Les blocs de donnes servent enregistrer des donnes utilisateur. Comme les
blocs de code, ils occupent de lespace dans la mmoire utilisateur. Les blocs
de donnes contiennent des variables (par exemple des valeurs numriques)
ncessaires lexcution du programme utilisateur.
Le programme utilisateur peut accder aux donnes d'un bloc de donnes par
des oprations sur bit, sur octet, sur mot et sur double mot. L'accs peut se faire
en symbolique ou en absolu.
Domaine
d'application
Les bloc de donnes peuvent, selon leur contenu, tre employs de diffrentes
manires par lutilisateur. On distingue :
les blocs de donnes globaux : ils contiennent des informations auxquelles
on peut accder partir de tous les blocs logiques du programme utilisateur.
les blocs de donnes d'instance : ils sont toujours associs un FB. Les
donnes de ce DB ne devraient tre traites que par le FB correspondant.
Les blocs de donnes d'instance sont traits plus en dtail au chapitre
"Fonctions et blocs fonctionnels ".
Cration de DB
Registres
SITRAIN Formation
Automatisation et entranements
Page 4
Cours S7-MA2
Stockage des donnes dans les blocs de donnes
Types de
donnes
lmentaires
(jusqu 32 bits)
Tableau (ARRAY)
Structure (STRUCT)
Chane de caractres (STRING)
SIMATIC S7
Date :
Fichier :
22.07.03
04_MA2_fr.5
SITRAIN Formation
Automatisation et entranements
Aperu
Types de donnes
lmentaires
Les types de donnes lmentaires sont dfinis selon CEI 1131-3. Le type
de donnes dfinit de manire univoque lespace mmoire ncessaire
correspondant. Cest ainsi, par exemple, que le type de donnes Mot (Word)
occupe 16 bits dans la mmoire utilisateur.
Les types de donnes lmentaires ont toujours une longueur infrieure ou
gale 32 bits, ils peuvent tre chargs entirement dans les accumulateurs et
traits par des oprations STEP 7 lmentaires.
Types de donnes
complexes
Types de donnes
utilisateur
Un type de donnes utilisateur (UDT) peut tre utilis pour des blocs de
donnes ou comme type de donne dans une table de dclaration des
variables.
Les UDT sont crs avec lditeur de bloc de donnes.
La structure d'un UDT peut contenir des groupes de types de donnes
lmentaires et/ou complexes.
SITRAIN Formation
Automatisation et entranements
Page 5
Cours S7-MA2
Stockage des donnes dans les blocs de donnes
BOOL
BYTE
WORD
DWORD
CHAR
1
8
16
32
8
1 ou 0
B#16#A6
W#16#FADA
DW#16#CAC40EDF
'w'
S5TIME
16
S5T#5s_200ms
INT
DINT
REAL
16
32
32
123
65539 ou L#-5
1.0 ou 34.5E-12
TIME
DATE
TIME_OF_DAY
32
16
32
T#2D_1H_3M_45S_12MS
D#2002-06-20
TOD#12:23:45.12
SIMATIC S7
Date :
Fichier :
22.07.03
04_MA2_fr.6
SITRAIN Formation
Automatisation et entranements
BOOL, BYTE, WORD Les variables du type de donnes BOOL reprsentent un bit, les variables avec
DWORD, CHAR
des types de donnes BYTE, WORD, DWORD sont des squences binaires de 8,
16 ou 32 bits. Les bits ne sont pas valus individuellement dans ces types de
donnes.
Les nombres BCD et la valeur de comptage, ainsi que le type de donnes CHAR,
qui reprsente un caractre dans la reprsentation ASCII, sont des formes
particulires de ces types de donnes.
S5TIME
Les variables du type de donnes S5TIME sont utilises pour dfinir les valeurs de
temps dans les temporisations. La dure est indique en heures, minutes,
secondes ou millisecondes. Les valeurs de temps peuvent tre entres avec un
caractre de soulignement (1h_4m) ou sans (1h4m).
Les fonctions FC33 et FC40 de la bibliothque "Library Standard" convertissent les
formats S5TIME en TIME ou TIME en S5TIME.
Les variables avec ces types de donnes reprsentent des nombres avec lesquels
il est possible deffectuer des oprations arithmtiques.
TIME
Une variable du type de donnes TIME (dure) occupe un double mot. Cette
variable est utilise par exemple pour dfinir des valeurs de temps dans les
temporisations CEI. Le contenu dune variable est interprt comme un nombre
DINT en millisecondes et peut ainsi tre positif ou ngatif (par exemple :
T#1s=L#1 000, T#24d20h31m23s647ms = L#214748647).
DATE
Une variable du type de donnes DATE (date) est stocke dans un mot comme un
nombre entier sans signe. Le contenu de la variable correspond au nombre de
jours couls depuis le 01.01.1990 (par exemple : D#1999-06-24 = W#16#0D85).
TIME_OF_DAY
SITRAIN Formation
Automatisation et entranements
Page 6
Cours S7-MA2
Stockage des donnes dans les blocs de donnes
SIMATIC S7
Date :
Fichier :
22.07.03
04_MA2_fr.7
SITRAIN Formation
Automatisation et entranements
Cration d'un DB
DB global
Un bloc de donnes global est destin stocker les donnes globales, c'est-dire les donnes gnrales auxquelles doit pouvoir accder tout bloc de code
(OB, FC, FB).
Un bloc de donnes global doit tre dit par l'utilisateur lui-mme en dclarant
dans le bloc de donnes les variables requises pour le stockage des donnes.
DB d'instance
DB de type
Un bloc de donnes peut aussi tre gnr par lditeur en fonction d'un type de
donnes dfini par l'utilisateur, appel UDT (User Defined dataType). L'UDT est
un modle que l'utilisateur doit diter, exactement comme un bloc de donnes.
L'UDT peut galement servir de modle pour la cration d'autres blocs de
donnes et/ou d'une manire gnrale, pour la dclaration de variables et de
paramtres de blocs.
SITRAIN Formation
Automatisation et entranements
Page 7
Cours S7-MA2
Stockage des donnes dans les blocs de donnes
SIMATIC S7
Date :
Fichier :
22.07.03
04_MA2_fr.8
SITRAIN Formation
Automatisation et entranements
Dclaration
Les blocs de donnes sont dits dans la table de dclaration. Lutilisateur
(entre des variables) y dclare les variables requises pour mmoriser les donnes.
Colonnes
Adresse
Enregistrer
Charger
Tout comme les blocs de code, les blocs de donnes doivent tre chargs dans
la CPU.
Pour visualiser les valeurs courantes dans le bloc de donnes (valeurs des
variables dans la CPU), passez en ligne la Vue des donnes". Les lunettes"
dans la barre doutils permettent de visualiser le bloc de donnes.
Lorsquun bloc de donnes est initialis, les valeurs effectives des variables
sont remplaces par les valeurs initiales. Cette opration dinitialisation des
valeurs peut tre ncessaire lorsque des valeurs initiales modifies doivent tre
valides en tant que valeurs effectives.
Initialiser le DB
SITRAIN Formation
Automatisation et entranements
Page 8
Cours S7-MA2
Stockage des donnes dans les blocs de donnes
8 bits
7
Octet de donne 0
DBB 0
Octet de donne 1
DBW 0
Octet de donne 2
DBD 0
Octet de donne 3
DBX 4.1
DBD 8188
DBW 8190
DBB 8191
Octet de donne
8191
SIMATIC S7
Date :
Fichier :
22.07.03
04_MA2_fr.9
SITRAIN Formation
Automatisation et entranements
Gnralits
Ladressage des lments de donnes d'un bloc de donnes se fait octet par
octet, comme pour les mmentos.
Vous pouvez charger et transfrer des octets de donnes, des mots de donnes
ou des doubles mots de donnes. Dans le cas des mots de donnes, entrez la
premire adresse d'octet pour lopration (par exemple L DBW 2), 2 octets sont
ensuite chargs partir de cette adresse. Dans le cas des doubles mots, 4
octets sont chargs partir de ladresse d'octet indique.
Nombre, longueur
Nota
SITRAIN Formation
Automatisation et entranements
Page 9
Cours S7-MA2
Stockage des donnes dans les blocs de donnes
Type
0.0
Etat
BOOL
1.0
Etats
BYTE
2.0
Nombre
INT
Accs courant
absolu
AUF
U
AUF
L
4.0 Poids[1]
"Valeurs"
ou
DBX 0.0
symbolique
DB99.DBX0.0
ou
"Valeurs".Etat
ou
DB99.DBB1
ou
"Valeurs".Etats
"Valeurs"
ou
DBW 2
DB99.DBW2
ou
T "Valeurs".Nombre
DB99.DBD8
ou
L "Valeurs".Poids[2]
DB 99
DBB 1
REAL
AUF
T
8.0 Poids[2]
REAL
SIMATIC S7
AUF
L
DB 99
DBD 8
Date :
Fichier :
ou
22.07.03
04_MA2_fr.10
SITRAIN Formation
Automatisation et entranements
Accs courant
Accs entirement
qualifi ...
...absolu
...symbolique
SITRAIN Formation
Automatisation et entranements
Page 10
Cours S7-MA2
Stockage des donnes dans les blocs de donnes
SIMATIC S7
Date :
Fichier :
Fonction existante :
nonc :
Marche suivre :
22.07.03
04_MA2_fr.11
SITRAIN Formation
Automatisation et entranements
SITRAIN Formation
Automatisation et entranements
Page 11
Cours S7-MA2
Stockage des donnes dans les blocs de donnes
Nombre rel
AW 12 / AW 6
Nombre de consigne
0 8 1 5
EW 4 / EW 2
LED de la maquette
REEL=CONSIGNE
A 20.4 / A 8.4
SIMATIC S7
Date :
Fichier :
Fonction existante
dans FC 18 :
22.07.03
04_MA2_fr.12
SITRAIN Formation
Automatisation et entranements
nonc :
Marche suivre :
SITRAIN Formation
Automatisation et entranements
Page 12
Cours S7-MA2
Stockage des donnes dans les blocs de donnes
Exemple
DATE_AND_TIME
(Date et heure)
64
DT#99-09-24-12:14:55.0
STRING
(Chane de caractres avec
254 caractres maxi)
8 * (nombre de
caractre +2)
ARRAY
(tableau, groupement de
composantes de mme
type de donnes)
dfinie par
lutilisateur
STRUCT
(structure, groupement
de composantes de types
de donnes diffrents)
dfinie par
lutilisateur
Moteur: STRUCT
Vitesse : INT
Courant : REAL
END_STRUCT
UDT
(User Defined Data Type =
type de donnes utilisateur,
modle" partir de types de
donnes lmentaires
ou complexes)
SIMATIC S7
dfinie par
lutilisateur
Date :
Fichier :
UDT bloc
UDT l. de tableau
STRUCT
Vitesse : INT
Courant : REAL
END_STRUCT
Entran.:ARRAY[1..4]
UDT1
22.07.03
04_MA2_fr.13
SITRAIN Formation
Automatisation et entranements
Types de donnes
complexes
Type de donnes
utilisateur
Les types de donnes utilisateur sont une structure dfinie par lutilisateur.
Mmorise dans des blocs UDT (UDT1 UDT65535), cette structure peut tre
utilise comme modle pour le type de donnes dune autre variable.
Cette solution vite des oprations de frappe superflues, lors de la saisie d'un
bloc de donnes, lorsquune mme structure est utilise plusieurs fois.
Exemple : vous avez besoin de la mme structure 10 fois dans un bloc de
donnes. Dfinissez dabord la structure puis enregistrez celle-ci, par exemple en
tant que UDT 1. Dans le DB, dfinissez une variable Entrainement" sous forme
de tableau avec 10 lments du type UDT1 :
Entrainement : array[1..10]
UDT 1
Vous avez ainsi cr 10 zones de donnes avec la structure dfinie dans lUDT 1
sans avoir les resaisir.
SITRAIN Formation
Automatisation et entranements
Page 13
Cours S7-MA2
Stockage des donnes dans les blocs de donnes
Exemple de tableau
Point de mesure
1er Point_de_mesure, type donnes Real
2e Point_de_mesure, type donnes Real
3e Point_de_mesure, type donnes Real
SIMATIC S7
Date :
Fichier :
22.07.03
04_MA2_fr.14
SITRAIN Formation
Automatisation et entranements
Tableau
Dfinir un tableau
dans le DB
Nota
Pour voir quelles sont les valeurs enregistres dans les diffrents lments,
passez un autre mode daffichage avec l'option de menu Affichage -> " Vue
des donnes. Lcran Vue des donnes" prsente les valeurs enregistres
cet instant dans la colonne Valeur en cours".
SITRAIN Formation
Automatisation et entranements
Page 14
Cours S7-MA2
Stockage des donnes dans les blocs de donnes
Exemple de structure
Donnes_moteur
Vitesse_rotation,
Courant_nominal,
SIMATIC S7
Date :
Fichier :
22.07.03
04_MA2_fr.15
SITRAIN Formation
Automatisation et entranements
Structure
Dfinir la structure
dans le DB
SITRAIN Formation
Automatisation et entranements
Page 15
Cours S7-MA2
Stockage des donnes dans les blocs de donnes
Objectifs du chapitre
Ce que vous venez de voir...
...
...
...
...
tout de suite...
SIMATIC S7
Siemens AG 1998. All rights reserved.
SITRAIN Formation
Automatisation et entranements
Date :
Fichier :
22.07.03
04_MA2_fr.16
Page 16
SITRAIN Formation
Automatisation et entranements
Cours S7-MA2
Stockage des donnes dans les blocs de donnes