1
3
Variables Siemens a / Adressage. b / Les Opérandes.
- Page: 02 à 07
c / Les Blocs Siemens.
- Page: 11 à 13
d / Les Blocs d’Organisation: OB.
- Page: 14 à 14
e / Les Blocs Fonction: FC.
- Page: 15 à 16
f / Les Blocs Fonctionnels: FB.
- Page: 17 à 24
- Page: 08 à 10
g / Les Blocs Siemens: FC,FB,SFC et SFB. - Page: 25 à 28 h / Les Blocs de Données: DB.
- Page: 29 à 35
i / Les Blocs de Données Utilisateur: UDT. - Page: 36 à 40 Aforest
PH.Février/05
Maintenance S7
T 104 264 20
a/ Adressage
Les Différentes Variables
Digital VARIABL ES INTE RN
E 0.0
Analogique
M : DB: L : # : T :
Digital ES
Mémoire Interne Globale à blocs de tous les programm e. Donnée I nterne G lobale à blocs de tous les programm e. Mémoire
Interne
Locale à bloc ( re chaque mise à z éro à cha que cycle ) blabla Variables blocs para métrés. Temporis ations Compteur s.
PEW 512
Z:
2
A 4.0 Analogique
PAW 512
a/ Adressage
Bits / Bytes / Words /DWords
Bits:
Byte: 8bits
Word: 16 bits
E 0.0 : A 4.0 : M 0.0 : L 0.0 : DB1.DBX0.0 : T0 : Z0 :
Entrées (Eingang) digitales de la M.I.E. Sorties (Ausgang) digitales de la M.I.S. Mémoires Internes Globales (Mémentos) Variables Locales à chaque bloc. Bit d’un Bloc de Données (DB1). Sortie Q de la temporisation T0. Sortie Q du compteur Z0.
EB 0 : AB 4 : PEB 256 : PAB 256 : MB 0 : LB 0 : DB1.DBB0 :
8 bits d’entrées de E0.0 à E0.7. 8 bits Sorties de A4.0 à A4.7. Entrées périphériques (ad:256). Sorties périphériques (ad:256). 8 bits Mémentos de M0.0 à M0.7 8 bits Local de L0.0 à L0.7. 8 bits du DB1 de DBX0.0 à DBX0.7
Externes: EW 0 , AW 4 , PEW 256 ,PAW 256. Internes: MW 0, LW 0, DB1.DBW0, T0, Z0 .
Dword: 32 bits
Externes: ED 0 , AD 0, PED 256 ,PAD 256 Internes: MD 0 ,LD 0, DB1.DBD0 .
3
a/ Adressage Types
DESCRIPTIONS:Bits,Bytes,Mots Nb Bits
Options
Représentation
BOOL
1
Texte Booléen
TRUE / FALSE
BYTE
8
Nombre Hexadécimal Nombre Binaire
B#16#00 à B#16#FF B#2#0000_0000 à B#2#1111_1111
CHAR
8
Caractère ASCII
“A” “B” ….etc...
WORD
16
Nombre Hexadécimal Nombre DCB Nombre Décimal non Signé
W#16#0000 C#0 B#(0,0)
à W#16#FFFF à C#999 à B#(255,255)
INT
16
Nombre Décimal Signé
-32768
à 32767
S5TIME
16
Durée Tempos S7 (*10ms)
S5T#10ms
à S5T#2H46M30S
DATE
16
Date IEC en pas de 1 jour
D#1990_1_1
à D#2168_12_31
4
a/ Adressage
DESCRIPTIONS: Double Mots
5
Nb Bits
Options
DWORD
32
Nombre Hexadécimal Nombre Binaire Nombre Décimal Non Signé
DW#16#00000000 à DW#16#FFFFFFFF 2#0 à 2#1111_…_1111 B#(0,0,0,0) à B#(255,255,255,255)
DINT
32
Nombre Décimal Signé
L#-2147483648 à L#2147483647
REAL
32
Nombre à Virgule Flottante
Limite Supérieure: +/- 3.402823 +38 Limite Inférieure: +/- 1.175495 -38
TIME
32
Durée IEC en pas de ms
TIME_OF_DAY
32
Heure en Pas de 1ms
Pointeur
32
Index pour programmation Définition d’une zone
Types
Représentation
- T#24D_20H_31M_23S_648M à T#24D_20H_31M_23S_647MS TOD#0 :0 :0 :0 à TOD#23 :59 :59.999 P#0.0, P#0.1,…, P#1.0, P#2.0, P#4.0 P#M0.0 byte 20 (20 bytes à partir de M0.0)
a/ Adressage Types
DT
Date and Time
STRING[n]
ARRAY
[u1..u2,v1..v2,… …………..,z1…z2]
Variables Complexes Nb Bits
64
256 * 8
Options
Permet de récupérer la date et l’heure et de la mémoriser dans des bytes
Représentation Année
Impair Mois
Mot 2:
Jour
Heures
Mot 4:
Minutes
Secondes
Mot 6:
100ms 10ms
1ms
Jour/S
e a xi é el l g.R n o L Byte 0 Byte 1 Byte 2 Byte 3 Lo n
Ex: String[2] ‘AB’ donc codé sur 4 bytes:
Z ARRAY[1..2,1..2,1..3]
Byte:
Pair
Mot 0:
Chaîne de 254 caractères.
Tableau à 6 dimensions maxi Les zones sont de même type 256 Les indices sont codés * sur un entier signé: +/-32768 8 Ex: Tab ARRAY[1..2,1..3]
6
g.M
4 1 2 3
1
2
A
2
Tab[1,1] Tab[2,1] Tab[1,2] Tab[2,2] Tab[1,3] Tab[2,3]
1 2
1
2
B
3 Z[1,1,3] 1
2
Z[1,1,1] Z[2,1,1] Z[1,2,1] Z[2,2,1]
a/ Adressage
Bits / Bytes / Words / DWord
7
2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0
3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0 E E E E E E E E
EB3
E E E E E E E E
EB2
0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 1.7 1.6 1.5 1.4 1.3 1.2 1.1 1.0
EB1
E E E E E E E E E E E E E E E E
EB0
E W 2
-128 64 32 16 8 4 2 1 -128 64 32 16 8 4 2 1 -128 64 32 16 8 4 2 1
-128 64 32 16 8 4 2 1
E W 0
128 64 32 16 8 4 2 1
128 64 32 16 8 4 2 1 -32768 16384 8192 4096 2048 1024 512 256
-32768 16384 8192 4096 2048 1024 512 256
E D 0
Rq :
On retrouve la même philosophie, pour les sorties (A), pour les Mémoires globales internes (M), les Mémoires Locales internes (L) et pour les DB. Pour les abréviations anglaises replacer E par I et A par Q.
b/ Les Opérandes
Les Entrées/Sorties Digitales
ENTREES
SORTIES
E (Eingang) I (Norme IEC)
0
Adresse de Base E 0.0
0
0 et 4V
État logique 0
4 et 12V
État inconnu
E 0.7
7
E 1.0
0
12 et 16V
État logique 0
16 et 24V
État logique 1
E 1.7
8
7
Début de Cycle Création de la
M.I.E
Mémoire Image Entrées
Analyse du Programme: E 0.0
4
A (Ausgang) Q (Norme IEC)
Adresse de Base
0
A 4.0
7
A 4.7
0
A 5.0
7
A 5.7
A 4.0
--I I--------( ) Création de la
M.I.S
Mémoire Image Sorties
Fin de Cycle Activation de la
M.I.S
Vers les cartes Sorties
b/ Les Opérandes
Adressage Hors MIE et MIS
ENTREES PERIPHERIQUES
SORTIES PERIPHERIQUE PROGRAMME
E 256.0
E 256.7
0
7 0
Adr.Base.300:
256
PEB 256, PEW 256 PED 256 Utilisation de: Zones Mémentos. Zones de DB Pour pouvoir utiliser des Bits
0
0
A 512.0
7
A 512.7
PAB 256, PAW 256 PAD 256 7
9
Adr.Base.400:
512
b/ Les Opérandes
Modules Analogiques ou Déportés
ENTREES PERIPHERIQUES
SORTIES PERIPHERIQUE PROGRAMME
Adr.Base.300: PEW 256
256
PEB, PEW, PED 256
PEW 258
PAW 256 PAW 258
10V ou 20mA 0V ou 0mA -10V ou -20mA PEW 272
10
Valeur: 27 648 Valeur: 0 Valeur:-27648 PEB, PEW, PED 272
10 V ou 20mA 2 V ou 4mA PAW 272
Données Cohérentes SFC 14 “DPRD_DAT”
SFC 15 “DPWD_DAT”
DB Adr.Base.400:
512
c/ Les Blocs S7
BLOCS PROGRAMMES
Les Blocs d’organisation: OB On ORGANISE le Programme et sa REACTION: z Ils ne doivent pas êtres appelés par le programme. z Leur présence en mémoire automate suffit à accomplir la fonction. z Le plus important est l’OB1: C’est le Programme Principal
Les Blocs Fonction: FC On STRUCTURE le Programme: z Bloc à programmer par l’utilisateur. z Permet de décomposer l’ application en sous partie machine.
Les Blocs Fonctionnels: FB On SIMPLIFIE l’écriture et la lecture du Programme: z Bloc à programmer par l’utilisateur. z Permet de décomposer son application en fonction répétitives. z On ne l’écrit qu’une fois et on peut l’utiliser autant de fois que nécessaire.
11
c/ Les Blocs S7
BLOCS de DONNEES…
12
Les Blocs de Données: DB
On STRUCTURE les informations, les données: z Bloc à programmer par l’utilisateur. z Permet de créer des zones pour mémoriser des données. z On peut visualiser des valeurs de consigne ou des valeurs en cours. z Il constitue la mémoire des blocs FB paramétrés (DB d’INSTANCE)
Les Blocs de Données Utilisateur: UDT
On SIMPLIFIE la SAISIE des Données: z Masque de saisie des données d’un programme automate. z S’utilise dans la partie déclarative de différents blocs (FC, FB ou DB). z Ces blocs ne se chargent pas dans l’automate.
Les Blocs SIEMENS: SFC, SFB, FC et FB…
On Simplifie la Programmation: z Siemens fournit dans son catalogue des blocs protégés et déjà programmés. z Les SFC et SFB sont résidents en mémoire automate. z Les FC et FB siemens sont intégrés dans le catalogue ou fournis lors de l’achat de cartes ou logiciels spécifiques.
c/ Les Blocs S7
STRUCTURE et APPELS Blocs dans l ’Automate
OB1
Programme Principal Call
FCx
UC, CC FCx
Call
FCx
FBx,DB
Call
SFxy
Blocs dans la Console
FCx: Sous Programme Masque Saisie
FBx
SFCx SFBx
DBx
DBx
UDTx
FBx: Bloc Fonction paramétré
Fonctions spéciales de Siemens stockées dans l’Automate. Test Variables
Auf
13
VATx
DBx: stocker des données
d/ Les OB
BLOCS d ’ORGANISATION
OB de Réaction indépendant du Programme
OB de Mise en Route ¾Si STOP > z OB100: z OB101: z OB102:
z z z z z z z z
RUN :
Démarrage à chaud. Redémarrage. Démarrage à froid.
OB1
Programme Principal
14
OB80: OB81: OB82: OB83: OB84: OB85: OB86: OB87:
Erreur de TEMPS Erreur d ’ALIMENTATION (Pile) Alarme de DIAGNOSTIC Alarme de DEBROCHAGE des modules. Erreur MATERIEL sur CPU Erreur d ’EXECUTION du programme Défaillance du PROFILE (rack) Erreur de COMMUNICATION
OB Réaction aux erreurs de Programmation z OB121: Erreur de PROGRAMMATION
SI Problème
(Conversion / Bloc pas chargé).
z OB122: Erreur ACCES à la PERIPHERIE
(Erreur d ’accès à la périphérie).
OB de Déclenchement z z z z
Alarmes Alarmes Alarmes Alarmes
HORAIRES: TEMPORISEES: CYCLIQUES: de PROCESS:
OB10 OB20 OB30 OB40
à à à à
OB17 OB23. OB38 OB47.
Il existe d ’autres OB, ceux ci sont les plus courants. Tous ces OB ne sont pas tous présents dans la CPU.
e/ Les FC
SOUS PROGRAMME
Les Fonctions = FC : z Blocs que vous devez programmer vous-même .
z z z z z
Structurent les projets en sous-parties. Remplacent les PB et FB utilisés avec les automates Simatic S5. Permettent la transmission de paramètres. Ils n ’ont pas de mémoire on utilise que des variables locales (TEMP). Appel conditionner avec l’entrée EN et s ’ils fonctionnent avec la sortie ENO.
Bloc FC non paramétré = Sous Programme:
z En contact il est possible d ’appeler le bloc à partir du catalogue:
z En LIST on peut utiliser: Ö CALL FCx Ö UC FCx: appel Inconditionnel Ö CC FCx: appel conditionnel
15
e/ Les FC
BLOCS PARAMETRES
Bloc FC paramétré = Fonction Spécifique:
z Permet de simplifier la tâche du programmeur, le Bloc est écrit une fois pour
exécuter une fonction et peut être utilisé autant de fois que nécessaire. z Pour cela nous allons définir dans la partie déclarative du bloc les : Ö IN: Paramètres entrant dans le bloc. Ö OUT: Paramètres sortant du bloc. Ö IN/OUT: Paramètres entrant et sortant du bloc. Ö TEMP: Mémoire Interne (L) remise à zéro à chaque cycle.
Exemple de l’Appel d’un Bloc Paramétré: Moteur Intérieur du Bloc Paramétré
16
f/ Les FB
BLOCS UTILISATEURS
17
Les Blocs Fonctionnels = FB : z z z z z z z
Blocs que vous devez programmer vous-même . Structurent les projets en décomposant en Sous-Fonctions répétitives. Permettent de travailler par exemple en S7-GRAPH (langages en options) Permettent la transmission de paramètres, avec mémoire (STAT). Associés à un DB d ’instance ( table associée automatiquement à l ’appel du FB). Possibilité de conditionner l ’appel de FB: Entrée EN. Possibilité de vérifier le fonctionnent: Sortie ENO.
Bloc FB non paramétré = Sous Programme: z En contact il est possible d ’appeler le bloc à partir du catalogue: z En LIST on peut utiliser:
Ö UC FBx: appel Inconditionnel Ö CC FBx: appel conditionnel Ö CALL FBx,Dby: appel FB et DB d ’instance associé.
Rq :
Le DB d ’instance constitue la mémoire du bloc (STAT). Il n ’est pas nécessaire de renseigner tous les paramètres, il prennent par défaut la valeur initiale.
f/ Les FB
BLOCS PARAMETRES
18
Bloc FB paramétré = Fonction Spécifique: z Permet
de simplifier la tâche du programmeur, le Bloc est écrit une fois pour exécuter une fonction et il peut être utilisé autant de fois que nécessaire. z Pour cela nous allons définir dans la partie déclarative du bloc les : Ö IN: Paramètres entrant dans le bloc. Ö OUT: Paramètres sortant du bloc. Ö IN/OUT: Paramètres entrant et sortant du bloc. Ö STAT: Mémoire Sauvegardée et accessible au niveau du DB d’instance Ö TEMP: Mémoire Interne remise à zéro à chaque cycle.
DB d ’INSTANCE: Exemple de l’Appel d’un Bloc Paramétré: Moteur
DB d ’INSTANCE: Intérieur du Bloc Paramétré
f/ Les FB
PLUSIEURS APPELS DE FB
19
Bloc FB paramétré = Fonction Spécifique: z z z z z z z
Utilise des mémoires internes sauvegardées via le DB d’instance : STAT. Il n ’est pas nécessaire de paramétrer toutes les fonctions du bloc. Sans affectation, on prend l ’état ou la valeur de la zone « valeur initiale » Lorsque vous mettez en place un FB il faut l’associer à un DB (DB INSTANCE). Le logiciel demande la génération automatique du le DB d’ instance. Chaque appel d ’un même FB est associé à un DB d ’instance différent. Ce DB permet en « Vue des données » de visualiser les variables internes du FB.
1er Appel du FB1: DB20
Rq :
2ème Appel du FB1:
DB21
Si on ne vous demande pas de générer le DB d’instance, vous venez certainement de choisir un N° de DB déjà utilisé.
f/ Les FB
LE DB D’INSTANCE
Intérêts de l’instance associée au FB:
z Travailler sur des variables à mémoire STAT (Mémorisation, auto maintien…..)
z La mémoire est réalisée par le DB d ’instance (ce bloc n’est pas modifiable). z Commander le bloc FB à distance en passant par le DB d’instance. z Possibilité d ’utiliser ou de modifier des variables internes à partir d ’autres blocs. z Exemple, d’un DB d’instance :
z Dans un autre bloc on peut utiliser la variable « Auto maintient » :
z Pour commander la variable « Marche » dans un autre bloc:
AUF U
DI 20 DBX 4.0
20
f/ Les FB
CREATION DE MULTI INSTANCE
21
Le But:
z Limiter le nombre de DB d ’instance associés à plusieurs appels du même FB paramétré. Il n’y aura qu’un seul DB pour toutes les multi-instances.
1 Créer un FB paramétré: exemple le FB3: Rq :
Toutes les variables de la partie déclarative, sont de types BOOL.
2 Créer un FB4, qui va nous permettre d ’appeler toutes les multi instances du FB3. Dans la partie déclarative du FB4, déclarer les différents appels en STAT du FB 3
3 Après avoir sauvegardé le FB4, on constate dans le
catalogue, la présence des multi-instances définies dans la partie déclarative.
f/ Les FB
CREATION DE MULTI INSTANCE
4 Au niveau du FB4, on crée différents réseaux qui utilisent les différentes multi-instances du FB3.
Rq :
On peut constater que les multi-instances ne font pas référence à un DB d’instance. Les données seront affectées au DB d’instance du FB4.
22
f/ Les FB
APPEL D’UNE MULTI INSTANCE
5 Sauvegarder le FB4 qui contient toutes les multi instances du FB3. 6 Appeler le Bloc FB4 dans un autre programme, en lui associant un DB d ’instance: DB20 (Ce DB ne doit pas déjà être utilisé)
Appel FB4:
DB20
7 Indiquer le N° du DB, le logiciel vous demande: « Faut il le générer ». 8 Rq :
Ce DB qui vient d’être généré va contenir les informations des différentes multi-instances classées dans l’ordre d’appel.
23
f/ Les FB
APPEL D’UNE MULTI INSTANCE
Sous Simatic Manager: 9
sur le bloc de données d’instance: DB20.
10
“ Affichage ” + “ Vue des données ” DB20: Données de la Multi instance: #Mot_Tapis1. Données de la Multi instance: #Mot_Tapis2. Données de la Multi instance: #Mot_Tapis3.
Rq :
En « Vue des données » utiliser l’adresse de la table du DB d’instance. Par exemple utiliser DB 20 . DBX 8.0 pour la « marche » du tapis 3.
24
g/ Blocs Siemens z z z z
LES FC ET LES FB SIEMENS
25
Siemens nous met à disposition des Blocs FC ou FB dans le catalogue. Ces blocs réalisent des fonctions particulières déjà programmées par Siemens. Ces blocs sont protégés en Lecture/Écriture (cadenas): Dans le catalogue:
ou
Librairie Standard: Ö SFC et SFB. Ö Conversion S5-S7: FC61 à FC125. Ö Bloc IEC: FC1 à FC40. Ö Blocs Organisation: OB1 à OB122. Ö Blocs P.I.D: FB41 à FB43. Ö Blocs Communication: FC1 à FC4. Ö Conversion TI-S7: FB80 à FB106. Librairie NET-CP:
On retrouve les blocs spécifique à chaque carte et automate pour la communication via des carte CP.
Rq :
Des librairies vont se rajouter en fonction de logiciels optionnels installés.
g/ Blocs Siemens
LES BLOCS SFC
26
Les Blocs fonctionnels: SFC z Ce sont des blocs programmés par Siemens, on ne peut que les utiliser. z Il n’est pas nécessaire de les transférer puisqu’il sont déjà dans la CPU. z Exemple de SFC: Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö
Rq :
SFC 0 et SFC 1 : SFC 13 : SFC 14 et SFC 15 : SFC 20 : SFC 21 : SFC 22 à SFC 25 : SFC 26 : SFC 27 : SFC 28 : SFC 43 : SFC 46 : SFC 47 : SFC 58 et SFC 59 : SFC 60 à SFC 69 :
Mise à l ’heure et Lecture de l’horloge Automate. Diagnostique Esclave DP Intelligent. Lecture et Écriture de données cohérentes Esclave DP. Copie de bloc (BLKMOV). Copie et remplissage de zones (FILL). Création, Effacement, Test et Compression de DB. Mise à jour des MIE. Mise à jour des MIS. Désactivation des alarmes horaires... Réarmement du Chien de Garde (RE_TRIG). Mise en STOP de la CPU. Attente au niveau de la scrutation. Écriture et Lecture d’esclave ASI2 (E/S B et Analogique) Communication MPI (SFC65=> et SFC66 <=)
La liste est incomplète; pour plus d’informations, se reporter au catalogue du logiciel CONT/LIST/LOG et utiliser F1 pour l’aide.
g/ Blocs Siemens
LES BLOCS SFB
27
Les Blocs Fonctions Système: SFB z Ce sont des blocs programmés par Siemens, on ne peut que les utiliser. z Il n’est pas nécessaire de les transférer puisqu’il sont déjà dans la CPU. z Ces blocs seront souvent associés à un DB d’instance. z Exemple de SFB: Ö Ö Ö Ö Ö Ö Ö Ö Ö
Rq :
SFB 0 SFB 1 SFB 2 SFB 4 SFB 5 SFB 8 à SFB 16 SFB 19 SFB 20 SFB 21 à SFB 23
: : : : : : : : :
Compteur IEC. Décompteur IEC. Compteur/Décompteur IEC. Temporisation TON IEC. Temporisation TOFF IEC. Fonctions de Communication S7. Mise en Marche d’un appareil distant. Mise en Arrêt d’un appareil distant. État d’un appareil distant.
La liste est incomplète, se positionner dans la bibliothèque pour visualiser les autres blocs. Lorsque vous affectez un DB d’instance,bien vérifier qu’il est disponible avant sa génération par le logiciel.
h/ Les DB ROLE:
LES BLOCS DE DONNEES Il s ’agit de 3 types de blocs qui servent à la sauvegarde de données:
DB GLOBAUX: DB
z Blocs que vous devez Créer et Paramétrer. z Permet de sauvegarder tous types de données. z Permet de structurer les Données. z Le DB structure les données (DB tempos, DB Manu, DB Défaut…) z La zone étant extensible, il remplace l’utilisation des Mémoires Internes (M,L).
DB D ’INSTANCE: DI
DB1 DB X0.0 DBB 1 DBW 2 DBD 4
DB21
z Blocs Généré automatiquement par le Système . z Associés aux FB ou aux SFB. z Le DB d ’instance constitue la mémoire du FB ou SFB. ( FB2, DB10 ou SFB0,DB100)
DONNEES UTILISATEUR: UDT
z Permettent à l ’ Utilisateur de créer ses propres Tables de données (masques de saisie des variables).
28
h/ Les DB
VUE des DECLARATION: SAISIE
29
Sous SIMATIC MANAGER: 1 2
Ouvrir l’arborescence du Projet pour se positionner au niveau des blocs: Sur le bloc DB à ouvrir.
Sous CONT / LIST / LOG: 3
“ Affichage ”
4
“ Vue des déclarations ”
Rq :
La vue des déclaration permet OFFLINE, de créer les différentes zones du DB, l’affectation des valeurs initiales et les commentaires. Le clic droit de la souris apporte de l’aide à la saisie des types. Les valeurs initiales s’affichent automatiquement si l’on valide la ligne et ne fonctionnent que lors du transfert vers une CPU vide. Insérer les nouvelles zones en fin de DB pour ne pas décaler les adresses.
h/ Les DB
VUE des DONNEES:ONLINE
30
Sous SIMATIC MANAGER: 1 2
Ouvrir l’arborescence du Projet pour se positionner au niveau des blocs: Sur le bloc DB à ouvrir.
Sous CONT / LIST / LOG: 3
“ Affichage ”
4
“ Vue des Données ” Cette vue permet de faire apparaître la « Valeur en cours ».
Rq :
Visualisation des Données: Modification des Données:
+ Changer
+
+ Sauver
+ Transférer
h/ Les DB
VARIABLES D ’UN DB
Adressage: z Se positionner en « Vue des données » permet de visualiser l’adresse Réelle. z Dans cet exemple on visualise le DB2 et les adresses résultantes à gauche. DBX 0.0 DBX 0.1 DBB 1 DBW 4 DBW 8 DBD 14 DBW 18
z Il faut connaître le nombre de bits à récupérer par rapport au type: FORMAT de la VARIABLE
SIMATIC ou IEC Plage d'adresse Maxi
Bit de données
DBX
0.0 à 65535.7
Octet (8 Bits) de données
DBB
0 à 65535
Mot (16 Bits) de données
DBW
0 à 65534
Double Mot ( 32 Bits)
DBD
0 à 65532
31
h/ Les DB
UTILISATION D ’UN DB
32
A Partir d ’un Bloc: z Il est possible de Lire et d’écrire les variables d’un bloc de données. z Il existe Méthode S5 : (en S5 A DB2) Ö En List
: :
AUF DB 2 U DBX 0.0
(On ouvre le DB 2) (On test l’état du bit 0.0)
DB2
Ö E Contact :
------------(OPN)
(On ouvre le DB 2)
--I I-------(
(Si DBX0.0=1 alors A4.0=1)
DBX 0.0
A 4.0
)
z Il existe Méthode S7 : On indique en une instruction le DB et la Zone.
DB 2 . DBX 0.0
h/ Les DB
SAISIE D ’UNE STRUCTURE
33
BUT:
z Il est possible de structurer la table en sous-partie ou STRUCT. z Se mettre en affichage « Vue des Déclarations ». z Après avoir rentré le nom de la structure, choisir le TYPE « STRUCT »:
Début
1ère Structure DB 2
Fin Début
2ème Structure Fin
Rq :
Si l’on a plusieurs machines, cela permet de définir des variables possédant le même nom tout en facilitant d’éventuelles copies de cette structure. Faire attention en vue des déclaration, aux adresses visualisées, il faut leur ajouter l’adresse de base de la structure (Valeur sans signe « + »).
h/ Les DB
AFFICHER LA STRUCTURE
34
BUT:
z Se mettre en affichage « Vue des Données ». z Nous visualisons les adresses réelles à utiliser pour la programmation. z On constate que le nom des variables change. z On joute un «
.»
et le « nom de la structure » à chaque structure.
1ère Structure DB 2
2ème Structure
Les adresse visualisées sont réelles, il n’y a plus de signe « + » avant l’adresse. Rq :
Les noms sont composés avec les noms des structure: Machine1 . Marche On visualise les « Valeur en cours » que l’on peut visualiser (lunette) ou changer (sauver + Charger).
h/ Les DB
UTILISER LA STRUCTURE
35
Exemple:
z Prenons l’exemple de ce DB 2:
z Utilisation des adresses: Valable pour tous type de DB, structuré ou pas: Ö Pour utiliser « Marche » de la Structure Machine1:
DB2.DBX 0.0
Ö Pour utiliser « Marche » de la Structure Machine2:
DB2.DBX 2.0
z Utilisation des Mnémoniques: Ö Si on Utilise un DB2 dont le mnémonique est « TABLE »: DB2.DBX 2.0
Nom Variable
« Table » . Machine2 . Marche Nom Structure Mnémonique DB
i/ Les UDT
SAISIE D ’UN UDT
Rôle:
36
z Les UDT( Table de Données Utilisateur) permettent à l ’utilisateur de créer ses propres Tables de données que l ’on peut rappeler plusieurs fois (saisie simple). z Un UDT est une table qui utilise des types de données simples ou complexes, z Il est appelé à partir d ’un DB ou d ’un FB . La saisie est identique à un DB:
Sauvegarde: 1
Cette fenêtre apparaît:
2
Rq :
Il est possible de structurer un UDT tout comme un DB. Un UDT n’est pas chargé dans la CPU.
i/ Les UDT
UDT ASSOCIE A UN FB
Définition:
37
z Créer un Bloc Fonctionnel, le FB2. Dans la partie déclarative du FB2, déclarer en STAT, le nom (Tab_UDT) affecté à l’utilisation de l’UDT2. Cela revient à définir toutes les variables de l’UDT2, sans avoir besoins de les écrire.
z Utilisation des adresses: Variable provenant d ’un UDT structuré :
#TAB_UDT . STRUCTURE_UDT . VARIABLE_STRUCTURE Rq :
Dans le cas de l’association à un DB, on travaille non pas sur des mémoires internes, mais avec des adresses de DB. Les adresses sont visibles en « Vue des Données » dans le DB
Notes:
Aforest
38
PH.Février/05
Maintenance S7
T 104 264 20
Notes:
Aforest
39
PH.Février/05
Maintenance S7
T 104 264 20
Notes:
Aforest
40
PH.Février/05
Maintenance S7
T 104 264 20