Sie sind auf Seite 1von 28

Types de donnes et variables de STEP 7

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.1
Signification de types de donnes et variables

Les types de donnes caractrisent les proprits


fondamentales de donnes
zone continue: p.ex. vitesse_relle
proprit "oui/non": p.ex. dfaut

Le type de donnes dtermine:


la plage des valeurs admissible
(INT: -32 768 ... +32 767, etc.)
les oprations admissibles
(oprations arithmtiques : +, -, etc.)
vitesse _relle: REAL
abstraction de la reprsentation de base
des bits dans la mmoire consigne_vitesse : REAL

dfaut: BOOL

libration: BOOL

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.2
Proprits et dclaration de variables

Par la dclaration d'une variable, les


proprits suivantes sont dtermines:
nom symbolique
type de donnes
plage de validit

Variables peuvent tre dclares:


dans la liste globale des symboles
(type de donnes lmentaire) point_mesure: ARRAY[1..10]
dans la partie dclarative d'un bloc
de donnes globales (tous les types point_mesure[1]: Real
de donnes) point_mesure[2]: Real
dans la partie dclarative d'un bloc point_mesure[3]: Real
logique (OB, FB et FC)
point_mesure[10]: Real

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.3
Aperu des types de donnes dans STEP 7

Types de donnes bit (BOOL, BYTE, WORD, DWORD, CHAR)


Types de donnes
lmentaires Types de temporisations (S5TIME, TIME, DATE, TIME_OF_DAY)
(jusqu' 32 bits)
Types de donnes arithmtiques (INT, DINT, REAL)

Types de date et heure (DATE_AND_TIME)


Types de donnes Tableau (ARRAY)
complexes
(suprieur 32 bits) Structure (STRUCT)
Chane de caractres (STRING)

Types de donnes utilisateur


Type de donnes UDT (User Defined Type)
(suprieur 32 bits)

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.4
Types de donnes lmentaires dans STEP 7

Mot-cl Largeur (en bits) Exemple d'une constante de ce type

BOOL 1 1 ou 0
BYTE 8 B#16#A9
WORD 16 W#16#12AF
DWORD 32 DW#16#ADAC1EF5
CHAR 8 CHAR

S5TIME 16 S5T#5s_200ms

INT 16 123
DINT 32 65539 ou L#-1
REAL 32 REAL

TIME 32 T#2D_1H_3M_45S_12MS
DATE 16 D#200-07-21
TIME-OF-DAY 32 TOD#12:23:45.12

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.5
Signification de types de donnes complexes
Moteur: STRUCT
Permet de structurer
consigne_vitesse: REAL
les donnes:
vitesse_relle: REAL
adapte l'nonc
libration: BOOL
avec type de donnes "correct"
dfaut: BOOL
END_STRUCT

Forme compacte de la
transmission de donnes lors de
l'appel d'un bloc: in entrainement UDT1
out ... ...
"beaucoup" de donnes in moteur UDT1
peuvent tre transmises dans out ... ...
un paramtre . .
.
permet la programmation CALL "rgulateur"
.
5 U #moteur.libration
structure moteur:= #entrainement .
.
les blocs "communiquent" .
.
uniquement par la structure
des paramtres
bloc rutilisable

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.6
Types de donnes complexes dans STEP 7

Mot-cl Largeur (en bits) Exemple


DATE_AND_TIME 64 DT#00-07-22-12:14:55.0
(date et heure)
STRING 8 * (nombre des 'Ceci est n string'
(chane de caractres avec caractres +2) 'SIEMENS'
max. 254 caractres)
ARRAY
(tableau, groupe de dfini par Valeurs meures: ARRAY[1..20]
composantes du mme l'utilisateur INT
type de donnes)
STRUCT Moteur: STRUCT
(structure, groupe de dfini par Vitesse de rotation: INT
composantes de diffrent l'utilisateur Courant: REAL
type de donnes) END_STRUCT
UDT comme bloc comme lment de tableau
UDT
(User Defined data Type = STRUCT
type de donnes utilisateur, dfini par
l'utilisateur Vitesse de rotation: INT Entrainement: ARRAY[1..4]
"modle" de type de donnes Courant: REAL UDT1
lmentaires ou complexes) END_STRUCT

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.7
Types de paramtres dans STEP 7

Mot-cl Largeur (en bits) Exemple


Temps_contact: TIMER
TIMER 16 .
SI #temps_contact
Nbre_pieces_finies: COUNTER
COUNTER 16 .
LC Nbre_pieces_finies
BLOCK_FB Retour: BLOCK_FB
BLOCK_FC 16 .
BLOCK_DB UC #Retour
BLOCK_SDB
Mesure: POINTER
POINTER 48 .
L P##Mesure

Valeurs_mesurees: ANY
ANY 80 .
L P## Valeurs_mesurees

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.8
Zones de variables

Mmentos

MIS DBz
.
MIE DBy .
.
Priphrie DBx

Zones d'automate Pile des donnes Blocs de donnes


"classiques" locales

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.9
Fonctionnement de la pile des donnes locales
OB1 FB1 FC5

.
1 . 2

. .
CALL FB1 CALL FC5
. .
.
4 . 3

5 FC10
. 5
.
CALL FC10
.
. 6

Occupation LD pour OB1 LD pour OB1 LD pour OB1 LD pour OB1 LD pour OB1 LD pour OB1 LD pour OB1
de la pile L
LD pour FB1 LDpour
LD pour FB1
FB1 LD pour FB1
pour OB1 LD pour FC10
libre LD pour FC5 libre
libre
libre libre
libre libre
p.ex. 256 octets

Dbut de cycle 1 2 3 4 5 6

LD = donnes locales

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.10
Exemple: utilisation des donnes locales par l'diteur CONT/LOG

Ramification en CONT Reprsentation en LIST

Variables auxiliaires
Ramifications de la pile des
donnes locales

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.11
Blocs de donnes (DB)

Accs de tous les blocs

Fonction
OB1
FC10
Donnes globales

DB20
Fonction
FC20

DB d'instance pour FB1

Bloc de Donnes d'instance


fonction
FB1 DB5

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.12
Le type de donnes: ARRAY

ARRAY (tableau): Point_mesure: ARRAY[1..10]


Groupe de composantes Point_mesure[1]: Real
du mme type de donnes Point_mesure[2]: Real
Point_mesure[3]: Real
.
Dclaration: .

unidimensionnel: Point_mesure[10]:Real
Nom de tableau: ARRAY[min_index..max_index] OF type de donnes;
multidimensionnel:
Nom de tableau: ARRAY[min_index1..max_index1,min_index2..max_index2] OF
type de donnes;
Exemples:
Dclaration d'une variable:
unidimensionnel: valeur_mesuree: ARRAY[1..10] OF REAL;
multidimensionnel: resultat: ARRAY[1..5,2..8] OF INT;

Accs une variable:


L #valeur_mesuree[5] // Charger le 5ime lment de l'ARRAY
valeur_mesuree dans l'ACCU1
T #resultat[2,5]

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.13
Dclaration et initialisation de tableaux (ARRAY)
DB5 "Vue de dclaration"

DB5 "Vue de donnes"

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.14
Sauvegarde de variables ARRAY dans la mmoire
Tableaux unidimensionnels Tableaux multidimensionnels
Type de donnes BOOL Exemple.
7 6 5 4 3 2 1 0
ARRAY[1..2,1..3,1..2] OF BYTE
Octet n1) 8 7 6 5 4 3 2 1
Octet n+1 non affect 12 11 10 9 Octet n1) Octet 1.1.1
Octet n+1 Octet 1.1.2

Type de donnes BYTE, CHAR Octet n+2 Octet 1.2.1


. . Octet 1.2.2
Octet m Octet 1 .
Octet 1.3.1
Octet m+1 Octet 2
Octet 1.3.2
Octet m+2 Octet 3
. . Octet 2.1.1
.
Octet 2.1.2

Type de donnes WORD, DWORD,... Octet 2.2.1


Octet 2.2.2
Octet n1)
Mot 1
Octet 2.3.1
Octet n+1
Octet 2.3.2
Octet n+2 Byte 3
Mot 2
Octet n+2
. .
1) n = paire .

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.15
Le type de donnes: STRUCT

STRUCT (Structure):
Groupe de composantes MoteuCommande: STRUCT
de diffrents types de donnes Consigne_Vitesse: REAL
Vitesse_Reelle: REAL
Dclaration: Liberation: BOOL
NomStructure: STRUCT
Defaut: BOOL
NomComp1: type de donnes;
NomComp2: type de donnes; END_STRUCT
...
END_STRUCT

Exemple:
Dclaration d'une variable: Accs la variable
MoteurCommande: STRUCT S #MoteurCommande.Liberation
Vitesse_Reelle : REAL; L #MoteurCommande.Vitesse_Relle
Consigne_Vitesse : REAL; T #MoteurCommande.Consigne_Vitesse
Liberation : BOOL;
...
Defaut : BOOL;
END_STRUCT;
SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation
Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.16
Dclaration de STRUCTs
Exemple: Dclaration de tableau - structure - tableau
DB6 "Vue de dclaration"

DB6 "Vue de donnes"

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.17
Sauvegarde de variables STRUCT dans la mmoire
Structure avec types de Structure avec types de
donnes lmentaires donnes complexes
7 6 5 4 3 2 1 0

Octet n1) 6 5 4 3 2 1 Limite du mot


Octet n+1 Octet perdu Composantes
avec type de donnes
Octet n+2 Octet 1 lmentaire
Octet n+3 Octet 2
Limite du mot
Octet n+4 Octet 3
Octet n+5 Octet perdu Composantes
avec type de donnes
Octet n+6 6 5 4 3 2 1 ARRAY

Octet n+7 Octet perdu


Limite du mot
Octet n+8
Mot 1
Octet n+9 Composantes
avec type de donnes
STRUCT
. . Mot 2
.

. . .
. . .
1) n = paire

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.18
Types de donnes utilisateur: UDT
Types de donnes utilisateur UDT:
Cration d'un modle pour utilisation
ultrieure lors de dclarations
valable pour tous
les blocs du programme

Exemple:
Dfinition d'un nouveau type de donnes (structure):
UDT1 STRUCT
Consigne_Vitesse : REAL; ...
Vitesse_Relle : REAL;
Libration : BOOL; UDT1: STRUCT
Dfaut : BOOL; Consigne_Vitesse: REAL
END_STRUCT; Vitesse_Reelle: REAL
Dclaration de variables: Liberation: BOOL
Moteur_1: UDT1; Defaut: BOOL
Moteur_2: UDT1;
END_STRUCT
Accs aux variables:
L #Moteur_1.Vitesse_Relle

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.19
Utilisation de UDTs
UDT5

FC23

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.20
Le type de donnes: DATE_AND_TIME
Constitution:

Anne Mois Octet n+1


Octet n1)
(90 ... 89) (01 ... 12)

Octet n+2
Jour Heure Octet n+3
(01 ... 31) (00 ... 23)
Minute Secondes
Octet n+4 Octet n+5
(00 ... 59) (00 ... 59) 1=Dimanche
2=Lundi
Jour de 3=Mardi
Octet n+4
Millisecondes 4=Mercredi
semaine Pctet n+7
(000 ... 999) (1..7) 5=Jeudi
6=Vendredi
7=Samedi

Toutes les valeurs sont sauvegardes dans le format BCD


Prrglage des variables:
DT#Anne-Mois-Jour-Heures:Minutes:Secondes.[Millisecondes]
Exemple: DT#2000-07-14-23:00:00:00
Traitement par des fonctions de la bibliothque IEC
1) n = paire

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.21
Fonctions pour le traitement de variables DT
Bibliothque IEC dans Standard Library
FC1 (AD_DT_TM): La fonction FC 1 additionne une dure (format TIME) et une
date/heure (format DT) et fournit comme rsultat une nouvelle date/heure (format
DT).
FC34 (SB_DT_DT): La fonction FC 34 soustrait deux date/heure (l'une de l'autre)
(format DT) et fournit comme rsultat une dure (format TIME).
FC35 (SB_DT_TM): La fonction FC 35 soustrait une dure (format TIME) d'une
date/heure (format DT) et fournit comme rsultat une nouvelle date/heure (format
DT).
FC3 (D_TOD_DT): La fonction FC 3 regroupe les formats de donnes DATE et
TIME_OF_DAY (TOD) et les convertit dans le format de donnes DATE_AND_TIME
(DT).
FC6 (DT_DATE): La fonction FC 6 extrait le format de donnes DATE du format
DATE_AND_TIME.
FC7 (DT_DAY): La fonction FC 7 extrait le jour de la semaine du format
DATE_AND_TIME.
FC8 (DT_TOD): La fonction FC 8 extrait le format de donnes TIME_OF_DAY du
format DATE_AND_TIME.
Fonctions de comparaison pour DT#variables: FC9 (EQ_DT), FC12 (GE_DT),
FC14 (GT_DT), FC18 (LE_DT), FC23 (LT_DT), FC28 (NE_DT)

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.22
Le type de donnes: STRING
Variables du type STRING (chane de caractres):
Type de donnes STRING reprsente une chane de caractres comprenant
jusqu' 254 caractres
Application: prparation de textes de messages
Dclaration:
NomString: STRING[Nbremax]: 'texte d'initialisation'
(variable string jusqu' Nbremax caractres, Nbremax: 0... 254)
NomString : STRING: 'texte d'initialisation'
(variable string jusqu' 254 caractres)
Exemple:
Dclaration de variables:
Message_defaut : STRING 'Dfaut du moteur_4'

Avertissement : STRING[50] ' '

Traitement:
Accs lmentaires:
L #message_defaut[5] (charge le 5ime caractre de message_defaut)
Traitement au moyen de FCs de la bibliothque IEC

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.23
Sauvegarde de variables STRING dans la mmoire

Exemple:
Dclaration avec initialisation
Prnom: STRING[8]: 'TOTO'
Sauvegarde de la variable STRING "prnom"

Octet n1) Longueur max = 8 Indique le nombre max. de caractres pouvant tre
sauvegards
Octet n+1 Longueur actuelle = 4 Indique le nombre de caractres effectifs
Octet n+2 1. caractre = 'T'
Octet n+3 2. caractre = 'O' L'information sur le nombre max. de caractres
Octet n+4 3. caractre = 'T' pouvant tre sauvegards, ou sur la longueur
actuelle est traite par la fonction de
Octet n+5 4. caractre = 'O'
bibliothque IEC.
Octet n+6 B#16#00

Octet n+7 B#16#00

Octet n+8 B#16#00

Octet n+9 B#16#00


. .
.

1) n = paire

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.24
Fonctions pour le traitement de variables STRING
Bibliothque IEC dans Standard Library
FC2 (CONCAT): La fonction FC2 runit deux variables STRING en une chane de
caractres.
FC4 (DELETE): La fonction FC4 efface dans une chane de caractres L caractres
partir du P-ime caractre.
FC11 (FINF): La fonction FC11 recherche la position de la deuxime chane de
caractres incluse dans la premire.
FC17 (INSERT): La fonction FC17 insre la chane de caractres au paramtre IN2
dans la chane de caractres au paramtre IN1 derrire le P-ime caractre.
FC20 (LEFT): La fonction FC20 fournit les premiers L caractres d'une chane de
caractres.
FC21 (LEN): La fonction FC21 met la longueur actuelle d'une chane de caractres
(nombre de caractres valables).
FC26 (MID): La fonction FC26 fournit la partie centrale d'une chane de caractres.
FC31 (REPLACE): La fonction FC31 remplace L caractres de la premire chane de
caractres (IN1) partir du P-ime caractre (inclus) par la deuxime chane de
caractres (IN2).
FC32 (RIGHT): La fonction FC32 fournit les derniers L caractres d'une chane de
caractres.
Fonctions de comparaison pour variables STRING: FC10 (EQ_STRING), FC13
(GE_STRING), FC15 (GT_STRING), FC19 (LE_STRING), FC24 (LT_STRING), FC29
(NE_STRING)

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.25
Exercice 5.1: Utilisation de types de donnes complexes

UDT99 "Moteur"

DB51 "Rouleaux_Moteurs"

...

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.26
Exercice 5.2: Accs des types de donnes complexes

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.27
Exercice optionnel 5.3: Lecture de l'heure avec SFC1 (READ_CLK)

SFC1
EN ENO

RET_VAL ??.?

CDT ??.?

SIMATIC S7 Date: 07.02.2013 Siemens Centre de Formation


Savoir pour automatiser
Siemens AG 2000. All rights reserved. Fichier: PRO2_05f.28

Das könnte Ihnen auch gefallen