Documente Academic
Documente Profesional
Documente Cultură
Chapitre I: Rappel sur le jeu dinstructions des API S7-300 Oprations sur les bits dtats Oprations sur les nombres relles Oprations sur les accumulateurs Chapitre II:Blocs de programmes et de donnes S7 (OB, FC, DB, FB (bloc fonctionnel)) Chapitre III:Les rseaux Simatic MPI ASI PROFIBUS DP Chapitre IV:Introduction la supervision (Winccflexible)
1
AROUI TAREK 2010-2011
GAMME SIMATIC
SIMATIC HMI SIMATIC PG SIMATIC PC
SIEMENS
Lorganisation mmoire Le jeux dinstructions des automates SIEMENS Oprations combinatoires sur bits Oprations de temporisation Oprations de comptage
S IM A T I C O P 1 7
PG 740
K1
K2
K3
K4
K5
K6
K7
K 8
H E LP S H IF T
K9
K 10
K 11
K12
K 13
K 14
K15
K 16
E S C
7
D
8
E
9
F
0
A C K
4
A
5
B
6
C
.
S H IF T IN S D E L H E L P E N T E R
CPU 212
SIMATIC S7-200
SIMATIC DP
SV
FM
ASI
Vue d'ensemble des oprations arithmtiques sur nombres rels Vue d'ensemble des oprations sur bits dtat
AROUI TAREK
2010-2011
AROUI TAREK
2010-2011
PS 1
CPU 2
DI 16 4 0
DI 16 5 4
DO 16 6 8
DO 16 7 12
DI 16 8 16
DO 16 9 20
DO 16 10 24
DI16 11 28
PS
CPU
IM SM: (optionnel) DI
SM: DO
SM: AI
SM: AO
FM:
CP:
SM: Signal Module IM: Interface Module FM: Fonctionnel Module CP: Processeur de communication
AROUI TAREK
2010-2011
AROUI TAREK
2010-2011
Exemple :
Adresse de loctet
E 0.0
entre
No demplacement --> @ de dbut de module --> PS 1 CPU 2 DI 32 4 0 DO 32 5 4 DI 32 6 8 DI 32 7 12
Adresse du bit
A 0.0
sortie
M10.0
Mmentos
7
E : Eingang A : Ausgang
AROUI TAREK
2010-2011
AROUI TAREK
2010-2011
Exemple 1: Exemple 1:
Exemple 2: Exemple 2:
PS 1
CPU 2
DI 32
DI 32
DI 32
PS 1
CPU 2
DI 32
DI 16 DI 16/ DO 16
0 1 2 3
4 5 6 7
8 9 10 11
0 1 2 3
4 5
8 9 8 9
AROUI TAREK
2010-2011
AROUI TAREK
2010-2011
10
Bit :
11
AROUI TAREK
2010-2011
12
Byte (octet) :
A10.7
AW 12
AB 10
Idem : EB 10,
AD 10
Avec : AB 10 AB 11 AB 12 AB 13
Word (mot) :
A10.7 A10.6
Attention :
AB 10
Dveloppement mots : PAIRE toujours
AROUI TAREK
AB 11 AW 10 AB 11 AB 12
AW 11
2010-2011
13
AROUI TAREK
2010-2011
14
Composants dun S7-300 et Adressages Lorganisation mmoire Le jeux dinstructions des automates SIEMENS Oprations combinatoires sur bits Oprations de temporisation Oprations de comptage Oprations de chargement et de transfert Oprations de comparaison Oprations de conversion Oprations combinatoires sur mots Oprations de dcalage et de rotation Oprations arithmtiques Vue d'ensemble des oprations arithmtiques sur nombres rels Vue d'ensemble des oprations sur bits dtat
AROUI TAREK 2010-2011
Le jeu dinstructions
Les fonctions suivantes sont disponibles : logique binaire (y compris rponse aux fronts) oprations sur mots temporisations/compteurs fonctions de comparaison fonctions de transcodage dcalage/rotation fonctions mathmatiques (y compris trigonomtrie, puissance, logarithme) contrle du programme (sauts, rpartiteur de sauts, appels, masquage de sections de programme)
15
AROUI TAREK
2010-2011
16
Composants dun S7-300 et Adressages Lorganisation mmoire Le jeux dinstructions des automates SIEMENS Oprations combinatoires sur bits Oprations de temporisation Oprations de comptage Oprations de chargement et de transfert Oprations de comparaison Oprations de conversion
Sortie Contact ouverture Contact fermeture
lectrique
LAD
FBD
LIST
E 0.2
UN
E 0.3
A 12.0
Oprations combinatoires sur mots Oprations de dcalage et de rotation Oprations arithmtiques Vue d'ensemble des oprations arithmtiques sur nombres rels Vue d'ensemble des oprations sur bits dtat
AROUI TAREK 2010-2011
17
AROUI TAREK
2010-2011
18
lectrique
LAD
FBD
L1 (A 8.5)
OU exclusif X X = E 1.4 E 1.5 A 8.7
OU Logique
L3 (A 8.6)
AROUI TAREK 2010-2011
19
AROUI TAREK
2010-2011
20
LAD Opration
Mise 1
FBD
M8.0 E1.0 E1.1 M8.1 E1.0 E1.1
LIST
U U FP = U U FN = E1.0 E1.1 M1.0 M8.0 E 1.0 E 1.1 M1.1 M8.1
LAD
FBD
U S
LIST
E1.0 E1.1
E A 0.0 10.0
M1.0
&
P
E1.0 E1.1 M1.1
M1.0
M8.0
P &
M1.1
=
M8.1
Mise 0
U R
E A
1.0 10.0
U S U R U =
E 0.1 M 10.2 E 0.2 M 10.2 M 10.2 A 10.2 1.2 10.4 1.3 10.4
U E R M U E S M NOP 0
AROUI TAREK
2010-2011
21
AROUI TAREK
2010-2011
22
Composants dun S7-300 et Adressages Lorganisation mmoire Le jeux dinstructions des automates SIEMENS Oprations combinatoires sur bits
Oprations de temporisation
Ti Entre de dmarrage Valeur de prslection
S Q TW DUAL
Ti: Numro didentification de la temporisation tat temporisation temps restant (format binaire); Type: WORD temps restant (format DCB); Type: WORD
Oprations de temporisation Oprations de comptage Oprations de chargement et de transfert Oprations de comparaison Oprations de conversion Oprations combinatoires sur mots Oprations de dcalage et de rotation Oprations arithmtiques Vue d'ensemble des oprations arithmtiques sur nombres rels Vue d'ensemble des oprations sur bits dtat
AROUI TAREK 2010-2011
Entre RAZ
DEZ
LAD
T4 E 0.7 S5T#35s E 0.5
Type:SI,SV...
FBD
T4 A8.5 MW0 MW12 E 0.7 S5T#35s E 0.5
Type: SI,SV...
LIST
U L SI U R L T LC T U = E 0.7 S5T#35s T4 E 0.5 T4 T4 MW0 T4 MW12 T4 A8.5
//Validation //Dmarrer T4 //sous forme SI, SV,..
S TW R
Q DUAL DEZ
S TW R
DUAL DEZ Q
//remise zro
//lecture nb entier //lecture nb BCD
23
AROUI TAREK
2010-2011
24
S5T #aH_bbM_ccS_dddMS avec a = heure, bb = mn, cc = sec, ddd = ms W#16#wxyz avec w = la base de temps (intervalle de temps ou rsolution) et xyz = valeur de temps en format dcimal cod binaire
X Centaines Dizaines Units
E 0.7
A8.5
0, 1, 2 ou 3
0 1
0,01 s 0,1 s 1s
S R
coulement du temps
Q=1: pour toute la dure de lopration de temporisation. Q=0 lorsque: Le temps programm est coule Le signal de start passe de 1 0 avant que le temps nait expir, t =35s 1 est appliqu lentre de remise zro
2 3
10 s
la temporisation
Remarque :
AROUI TAREK
La valeur de temps maximale que lon peut indiquer est gale 9 990 secondes ou 2H_46M_30S
2010-2011
25
AROUI TAREK
2010-2011
26
E 0.7
A8.5
T4 SE Q DUAL DEZ
S R
coulement du temps la temporisation
S R
coulement du temps la temporisation
t =35s
t =35s
Le signal de sortie Q reste 1 pendant la dure programme, quelle que soit la dure pendant laquelle le signal dentre reste 1. Q= 0 lorsque : Le temps programm est coule 1 est appliqu lentre de remise zro Si ltat de signal de lentre S passe de 0 1 avant que le temps nait expir, la temporisation est redmarre.
AROUI TAREK 2010-2011
Q= 1 uniquement lorsque le temps programm sest coul et que le signal dentre est toujours 1. Q= 0 lorsque : Le signal dentre est remis zro 1 est appliqu lentre de remise zro
27
AROUI TAREK 2010-2011
28
T4 SS Q DUAL DEZ
T4 SA Q DUAL DEZ
S S R R
coulement du temps coulement du temps la temporisation la temporisation
Q Q Q=1 lorsque le signal dentre est gal 1 ou lorsque la temporisation sexcute. Q= 1 uniquement lorsque le temps programm sest coul, quelle que soit la dure pendant laquelle le signal dentre reste 1. Q= 0 que si lentre de remise zro est gal 1.
AROUI TAREK 2010-2011
AROUI TAREK
2010-2011
Composants dun S7-300 et Adressages Lorganisation mmoire Le jeux dinstructions des automates SIEMENS Oprations combinatoires sur bits Oprations de temporisation Oprations de comptage Oprations de chargement et de transfert
Zi: Numro didentification du compteur Zi Entre de comptage ZV Q ZR S DUAL Valeur de prpositionnement en format DCB C#<valeur> comprise entre 0 et 999 Entre de remise 0 ZW DEZ R Sortie logique Q=0 si Compteur = 0 Valeur de comptage en cours (binaire) Type: WORD Valeur de comptage en cours (DCB) Type: WORD
Oprations de comparaison Entre de dcomptage Oprations de conversion Oprations combinatoires sur mots Oprations de dcalage et de rotation Oprations arithmtiques Vue d'ensemble des oprations arithmtiques sur nombres rels Vue d'ensemble des oprations sur bits dtat
AROUI TAREK 2010-2011
Entre de prpositionnement
31
AROUI TAREK
2010-2011
32
LAD
U ZV U ZR U L S U R L E0.4 Z5 E0.5 Z5 E0.3 C#5 Z5 E0.7 Z5 Z5
LIST
ZV
ZR
S //Initialiser le compteur Z5 //avec la valeur 5 // Remettre zro le //compteur 5 // Lecture de la valeur courante de //Z5(en format binaire ) // Lecture de la valeur courante de //Z5(en format DCB ) Q
5 4
Count
3 2 1 0
AROUI TAREK
2010-2011
33
AROUI TAREK
2010-2011
34
Composants dun S7-300 et Adressages Lorganisation mmoire Le jeux dinstructions des automates SIEMENS Oprations combinatoires sur bits Oprations de temporisation
LAD
FBD
LIST
MOVE EN ENO EN
L T
+5 MB5
Oprations de comparaison Oprations de conversion Oprations combinatoires sur mots Oprations de dcalage et de rotation Oprations arithmtiques Vue d'ensemble des oprations arithmtiques sur nombres rels Vue d'ensemble des oprations sur bits dtat
AROUI TAREK 2010-2011
Paramtre
EN ENO IN OUT
Description
Entre de validation(bool) Sortie de validation(bool) Valeur source (Tous les types de donnesde 8, de 16 ou de 32 bits) Adresse de destination(Tous les types de donnesde 8, de 16 ou de 32 bits)
35
AROUI TAREK
2010-2011
36
ACCU1
Programme
ACCU2
Programme
31 23
Contenu de l ACCU1
15 7 0
L MB 0
chargement
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
31 23 15 7
MB0
0
L MW 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
31 23 15
MB0
7
MB1
0
: : L W#16#CAFE
C 0
A 0
F 0
E 0
L MD 0
MB0
MB1
MB2
MB3
T AD 4
L W#16#AFFE : : :
0 0 0 0 A 0 F 0 F 0 E 0 0 0 0 0 C A F E AD 4
Transfert
T AW 4
AW 4
T AB 4
AB 4 37 38
AROUI TAREK
2010-2011
AROUI TAREK
2010-2011
Composants dun S7-300 et Adressages Lorganisation mmoire Le jeux dinstructions des automates SIEMENS Oprations combinatoires sur bits Oprations de temporisation Oprations de comptage IN1 IN2 CMP ==I
Oprations de comparaison
Paramtre
IN1 IN2
Description
Vue d'ensemble des oprations de comparaison Oprations de chargement et de transfert Oprations de comparaison Oprations de conversion Oprations combinatoires sur mots Oprations de dcalage et de rotation Oprations arithmtiques Vue d'ensemble des oprations arithmtiques sur nombres rels Vue d'ensemble des oprations sur bits dtat
AROUI TAREK 2010-2011
Symbole
== <> > < >= <=
Type
IN1 (ACCU2) gal IN2 (ACCU1) IN1 diffrent de IN2 IN1 suprieur IN2 IN1 infrieur IN2 IN1 suprieur ou gal IN2 IN1 infrieur ou gal IN2
Comparer entiers de 16 bits (16 Bit) Comparer entiers de 32 bits (32 Bit) Comparer rels
40
Les oprations suivantes permettent de convertir des nombres dcimaux cods binaires et des nombres entiers en dautres types de nombres.
Pav CONT/LOG
BCD_I
LIST
BTI
Opration
Signification
Convertir DCB en un entier de Cette opration convertit la valeur dcimale code binaire figurant dans le mot de poids faible de 16 bits laccumulateur 1 en un nombre entier de 16 bits. Convertir DCB en un entier de Cette opration convertit la valeur dcimale code binaire figurant dans laccumulateur 1 en un nombre 32 bits entier de 32 bits. Convertir un entier de 16 bits en DCB Cette opration convertit le nombre entier figurant dans le mot de poids faible de laccumulateur 1 en une valeur dcimale code binaire. Cette opration convertit le nombre entier figurant dans laccumulateur 1 en une valeur dcimale code binaire. Cette opration convertit le nombre entier figurant dans le mot de poids faible de laccumulateur 1 en un nombre entier de 32 bits. Cette opration convertit le nombre entier de 32 bits figurant dans laccumulateur 1 en un nombre virgule flottante (nombre rel ). 42
Oprations arithmtiques Vue d'ensemble des oprations arithmtiques sur nombres rels Vue d'ensemble des oprations sur bits dtat
AROUI TAREK 2010-2011
DI_R
DTR
41
AROUI TAREK
2010-2011
Description
Entre de validation(bool) Sortie de validation(bool) (ENO = EN) Nombre en format DCB Valeur entire de 16 bits du nombre DCB
Entier (16 bits) Programme bas sur des oprations arithmtiques sur nombres rel
LAD
BCD_I EN E W4 IN ENO OUT MW20 E W4 EN IN
FBD
BCD_I OUT ENO MW20
F B D
MW12 EN IN
LIST
LAD
L ITD
MW12
EN MW12 IN
EN IN
DTR T MD26
AROUI TAREK
2010-2011
43
AROUI TAREK
2010-2011
44
Composants dun S7-300 et Adressages Lorganisation mmoire Le jeux dinstructions des automates SIEMENS Oprations combinatoires sur bits Oprations de temporisation Oprations de comptage Oprations de chargement et de transfert
WOR_W
Les oprations combinatoires sur mots combinent deux mots (16 bits) ou deux doubles mots (32 bits), bit par bit, selon les combinaisons boolennes.
Signification Cette opration combine deux mots bit bit selon la table de vrit ET. Cette opration combine deux mots bit bit selon la table de vrit OU.
Oprations de comparaison Oprations de conversion Oprations combinatoires sur mots Oprations de dcalage et de rotation Oprations arithmtiques Vue d'ensemble des oprations arithmtiques sur nombres rels Vue d'ensemble des oprations sur bits dtat
AROUI TAREK 2010-2011
OU exclusif mot Cette opration combine deux mots bit bit selon la table de vrit OU exclusif. ET double mot Cette opration combine deux double mots bit bit selon la table de vrit ET.
OU double mot Cette opration combine deux double mots bit bit selon la table de vrit OU. OU exclusif double mot Cette opration combine deux double mots bit bit selon la table de vrit OU exclusif.
45
AROUI TAREK
2010-2011
46
WXOR_W WOR_W WAND_W EN EW0 W#16#FF00 IN1 IN2 OUT MW10 EW0 = W#16#FF00 = ENO 15
L L T
EW 0 W#16#FF00 MW10
0
Le jeux dinstructions des automates SIEMENS Oprations combinatoires sur bits Oprations de temporisation Oprations de comptage
AW / OW / XOW
0 1 1 1 0 0 0 0 0 0 1 1 0 0 1 0
1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
Oprations de conversion
AND MW10 Aprs AW MW10 Aprs OW MW10 Aprs XOW OR XOR
Oprations arithmtiques Vue d'ensemble des oprations arithmtiques sur nombres rels Vue d'ensemble des oprations sur bits dtat
1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 0
AROUI TAREK
2010-2011
47
AROUI TAREK
2010-2011
48
Oprations de dcalage
Les oprations de dcalage permettent de dcaler bit par bit le contenu du mot de poids faible de laccumulateur 1 ou de laccumulateur entier vers la gauche ou vers la droite.
EN
Pav CONT/LOG Opration LIST Sens Indication du nombre de dcalage Positions libres remplies par Plage de dcalage
SHL_W ENO
MW4 MW8 = +2
IN N OUT MW12
SHL_W SHL_W SHL_DW SHL_DW SHR_W SHR_W SHR_DW SHR_DW SHR_I SHR_I SHR_DI SHR_DI
SLW n SLW SLD n SLD SRW n SRW SRD n SRD SSI n SSI SSD n SSD
Gauche Dans linstruction Gauche Dans loctet de poids faible de laccu 2 Gauche Dans linstruction Gauche Dans loctet de poids faible de laccu 2 Droite Droite Droite Droite Droite Droite Droite Droite Dans linstruction Dans loctet de poids faible de laccu 2 Dans linstruction Dans loctet de poids faible de laccu 2 Dans linstruction Dans loctet de poids faible de laccu 2 Dans linstruction Dans loctet de poids faible de laccu 2
ou
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1
Bits perdus
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1
Bits perdus
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 OUT
0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
49
AROUI TAREK
2010-2011
50
Oprations de rotation
L L SSI T
ou
Les oprations de dcalage permettent deffectuer la rotation bit bit vers la gauche ou vers la droite du contenu entier de laccumulateur 1 (32 bits) L MW4 SSI 3 T MW12
Pav CONT/LOG ROL_DW ROL_DW ROR_DW ROR_DW Opration LIST RLD n RLD RRD n RRD RLDA RRDA Sens Gauche Gauche Droite Droite Gauche Droite Indication du nombre de dcalage Dans linstruction Dans loctet de poids faible de laccu 2 Dans linstruction Dans loctet de poids faible de laccu 2 1 position 1 position Rotation via BI1 Non Non Non Non oui oui Plage de dcalage n =0 32 0 255 n =0 32 0 255 1 1
Dcalage des bits de lentre IN de trois positions vers la droite avec le signe
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Paramtre
ROR_DW EN IN ENO EN ENO OUT IN N OUT
51
Description
Entre de validation(bool) Sortie de validation(bool) (ENO = EN) Valeur objet de la rotation(DWORD) Nombre de bits de rotation(WORD) Rsultat du dcalage(DWORD)
52
0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1 IN
Bits perdus
1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 OUT
0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 OUT
Composants dun S7-300 et Adressages Lorganisation mmoire Le jeux dinstructions des automates SIEMENS
ou
Oprations combinatoires sur bits L MD2 RLD 4 T MD12 Oprations de temporisation Oprations de comptage Oprations de chargement et de transfert Oprations de comparaison
31
30
29
28
27 26
25
24
23
22
21
20 19
18
17
16 15
14
13
12
11 10
IN:
1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 4 positions
OUT:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1
Oprations arithmtiques Vue d'ensemble des oprations arithmtiques sur nombres rels Vue d'ensemble des oprations sur bits dtat
AROUI TAREK
2010-2011
53
AROUI TAREK
2010-2011
54
FBD
ADD_I OUT EN MW4 MW6 MW10 IN1 IN2 ENO
Paramtre
EN ENO IN1 IN2 OUT
Description
Entre de validation(bool) Sortie de validation(bool) (ENO = EN) Premire valeur pour lopration Deuxime valeur pour lopration Rsultat de lopration
Addition
MW6
MW4 MW10
L L +I T L L -D T
Soustraction
SUB_DI EN ENO MD0 MD4 IN1 IN2 MD0 OUT MD20 MD4
SUB_DI OUT EN IN1 IN2 ENO MUL_R OUT EN IN1 IN2 ENO DIV_R OUT EN IN1 IN2 ENO
MD20
Multiplication
MD6 MD12
MD66
L L *R T L L /R T
type
Addition soustraction Multiplication Division
Description
OUT (ACCU1) = IN1 + IN2 OUT(ACCU1) = IN1 - IN2 OUT(ACCU1) = IN1 * IN2 OUT(ACCU1) = IN1 / IN2
MD32
Division
MD40 MD4
AROUI TAREK
2010-2011
AROUI TAREK
2010-2011
56
Fonctions mathmatiques:
Oprations de temporisation Oprations de comptage Oprations de chargement et de transfert Oprations de comparaison Oprations de conversion
SQRT EXP
(Accu1)
L'opration EXP calcule la valeur exponentielle de base e (= 2,71828...) d'un nombre rel //Accu1 e(Accu1)
LN
Exemple: Oprations combinatoires sur mots Oprations de dcalage et de rotation Oprations arithmtiques Vue d'ensemble des oprations arithmtiques sur nombres rels Vue d'ensemble des oprations sur bits dtat
AROUI TAREK 2010-2011
L SQR T
MD10 MD30
SQR
// charger un nombre rel // Calculer la racine carre // transfrer le rsultat dans MD30
(List)
EN
MD10
ENO OUT
MD30
2010-2011
(LAD)
IN
57
AROUI TAREK
58
Vue d'ensemble des oprations arithmtiques sur nombres rels Fonctions trigonomtriques :
SIN COS TAN ASIN ACOS ATAN L'opration SIN calcule le sinus d'un nombre rel qui reprsente un angle en radians L'opration COS calcule le cosinus d'un nombre rel qui reprsente un angle en radians. L'opration TAN calcule la tangente d'un nombre rel qui reprsente un angle en radians L'opration ASIN calcule l'arc sinus d'un nombre rel L'opration ACOS calcule l'arc cosinus d'un nombre rel L'opration ATAN calcule l'arc tangente d'un nombre rel.
Example: Exemple:
L SIN T MD30 MD10 // charger un nombre rel // calcule du sinus // transfrer le rsultat dans MD30 L MD10 MD30 // Charger un nombre rel // Arrondir au nombre entier suprieur le plus proche // transfrer le rsultat dans MD30
(List)
CEIL T
(List)
EN
MD22
SIN
EN ENO OUT
MD30
CEIL
ENO OUT
MD30
IN
(LAD)
59
MD22
IN
(LAD)
AROUI TAREK
2010-2011
AROUI TAREK
2010-2011
60
Registre dadresses
AR1 AR2
32 Bits
T, S, =,...
32 Bits
Oprations combinatoires sur mots Oprations de dcalage et de rotation Oprations arithmtiques Vue d'ensemble des oprations arithmtiques sur nombres rels Vue d'ensemble des oprations sur bits dtat
AROUI TAREK 2010-2011
N DB ouvert N DI ouvert
16 Bits
Taille DB Taille DI
16 Bits
MIE MIS Mmentos Temporisations Compteurs pile de donnes locales (Pile L :donnes temporaires des blocs) Pile des interruptions (Pile I) Pile des blocs(Pile B)
Mot d'tat
Bits dtat
16 Bits
62
Exemples: blocs lists dans l'ordre dans lequel leur traitement avait commenc
Pile de donnes locales-La pile L; enregistre : les variables temporaires des donnes locales de blocs, les informations de dclenchement des blocs d'organisation, des informations pour la transmission de paramtres, des rsultats intermdiaires dans les programmes CONT
Pile des blocs Lorsque le traitement d'un bloc est interrompu par l'appel d'un autre bloc ou par une classe de priorit plus leve (alarme/traitement d'erreur), la pile B enregistre les donnes suivantes : numro, type (OB, FB, FC, SFB, SFC) et adresse de retour du bloc interrompu, numro des blocs de donnes (des registres DB et DI) ouverts au moment de l'interruption. Ces informations permettent de poursuivre l'excution du programme utilisateur aprs l'interruption.
AROUI TAREK
2010-2011
63
AROUI TAREK
2010-2011
64
L'tat de signal du bit /PI gre l'excution d'une squence combinatoire. Le bit /PI est le bit 0 du mot d'tat. Chaque opration de combinaison interroge l'tat de signal du bit /PI ainsi que l'tat de signal du contact auquel l'opration accde.
RB
BI1
BI0
DEB
DM
OU
ETAT
RLG
/PI
Premire interrogation Rsultat Logique Ce bit sauvegarde la valeur dun bit en accs Ce bit est utilis lorsquune opration ET est excute avant une opration OU Dbordement mmoris : il sauvegarde le bit de dbordement (DEB) Dbordement
Si l'tat de signal du bit /PI est 1, une opration combine le rsultat de l'interrogation de l'tat de signal du contact auquel elle accde au rsultat logique (RLG) form depuis la premire interrogation, et sauvegarde ensuite le rsultat dans le bit RLG.
Si l'tat de signal du bit /PI est 0, la squence combinatoire commence avec une premire interrogation.
Ils mettent disposition les rsultats des oprations de comparaison, arthmtiques, Rsultat binaire: Il permet d'exploiter le rsultat d'une opration combinatoire sur mots comme un rsultat binaire
Elle s'achve avec l'affectation d'une valeur (S, R, =) ou avec une opration de saut dpendante du RLG et le bit /PI est mis 0.
AROUI TAREK
2010-2011
65
AROUI TAREK
2010-2011
66
RLG
OU
Le bit RLG mmorise le rsultat d'une squence d'oprations de combinaison ou de comparaison. Le RLG est le bit 1 du mot d'tat.
Le bit OU est utilis lorsque vous excutez une opration ET avant une opration OU. Le bit OU est le bit 3 du mot d'tat. Le bit OU est mis 1 lorsque le RLG de la combinaison ET gale 1, anticipant ainsi le rsultat de la combinaison OU. Toute autre opration de traitement de bits remet le bit OU 0. DM Dbordement mmoris (mot d'tat, bit 4)
La premire opration dans un rseau interroge l'tat de signal d'un contact. Le bit RLG est mis 1 si l'interrogation est satisfaite. La deuxime opration dans le rseau interroge galement l'tat de signal d'un contact. Le rsultat de cette interrogation est alors combin la valeur sauvegarde dans le bit RLG selon les rgles de l'algbre de Boole, le rsultat tant mmoris dans le bit RLG. Cette squence combinatoire s'achve aprs une affectation ou un saut conditionnel ; l'excution d'une affectation ou d'un saut conditionnel dpend de la valeur figurant dans le bit RLG. ETAT (mot d'tat, bit 2)
Le bit DM sauvegarde le bit de dbordement (DEB) l'apparition d'une erreur lors d'oprations arithmtiques ou d'oprations de comparaison avec nombres virgule flottante. Le bit DM est le bit 4 du mot d'tat. Si une erreur apparat, le bit de dbordement mmoris DM est mis 1 en mme temps que le bit DEB (dbordement). Son tat de signal est conserv, mme aprs limination de l'erreur. Le bit DM mmorise donc l'tat de signal du bit DEB et indique si une erreur s'est produite dans l'une des oprations excutes prcdemment. Les oprations suivantes remettent le bit DM zro : SPS (saut si DM gale 1), oprations d'appels de bloc et oprations de fin de bloc. DEB Dbordement (mot d'tat, bit 5)
Le bit ETAT sauvegarde la valeur d'un bit en accs. Le bit d'tat est le bit 2 du mot d'tat.
L'tat de signal d'une opration de combinaison qui a accs en lecture la mmoire (U, UN, O, ON, X ou XN) est toujours le mme que la valeur du bit en accs. L'tat d'une opration de combinaison qui a accs en criture la mmoire (R, S, ou =) est identique la valeur du bit dans lequel a lieu l'criture. En cas d'absence d'criture, l'tat de signal est gal la valeur du bit en accs. Le bit d'tat est sans signification pour les oprations de combinaison qui n'accdent pas la mmoire. Ces oprations mettent le bit d'tat 1. Le bit d'tat n'est pas interrog par des oprations, AROUI TAREK mais est uniquement valu pour l'affichage de l'tat en ligne de variables du programme. 2010-2011
67
Le bit DEB signale l'apparition d'une erreur lors d'oprations arithmtiques ou d'oprations de comparaison avec nombres virgule flottante. Le bit DEB est le bit 5 du mot d'tat. Il est mis 1 par une opration arithmtique ou une opration de comparaison de nombres virgule flottante lorsqu'apparat une erreur telle que dbordement, opration illicite, comparaison illicite. Le bit DEB est remis 0 une fois l'erreur limine.
AROUI TAREK 2010-2011
68
BI1, BI0
Les bits indicateurs BI1 et BI0 mettent disposition les rsultats des oprations suivantes :
U OV
Oprations arithmtiques Oprations de dcalage et de rotation Oprations combinatoires sur mots
test du bit DEB (OV DEB) test du bit DM (OS DM) test du bit RB (BIE RB)
U OS U BIE
Test du rsultat dune opration arithmtique (BI0, BI1) U == 0 U > 0 U <> 0 U =< 0 Rsultat dune opration arithmtique est gal 0 Rsultat dune opration arithmtique est suprieur 0 Rsultat dune opration arithmtique est diffrent de 0 Rsultat dune opration arithmtique est infrieur ou gal 0 == 0, <> 0, > 0, < 0, >= 0, <= 0 U UO
69
AROUI TAREK
RB
Le bit de rsultat binaire (RB) constitue un lien entre le traitement de bits et de mots. Le bit RB est le bit 8 du mot d'tat. Ce bit permet votre programme d'exploiter le rsultat d'une opration combinatoire sur mots comme un rsultat binaire et de l'intgrer une squence combinatoire sur bits. On l'utilise pour raliser le mcanisme EN/ENO et ainsi la connexion de botes de reprsentation.
AROUI TAREK
2010-2011
70
FBD
LIST
U E 0.0 U E 0.1 NOT = A8.0
Dbordement
OV
M 4.0 S
OV
E0.0 E0.1
&
( )
A8.0 =
Dbordement mmoris
OS
M 4.1 S
OV
M 4.1 R
UN OS R M4.1
Rseau 1
Rseau 1
Rseau 1
MW4
Rsultat gal zro
MW10
Rseau 2
MW
4 10 6
MW6
IN1 IN2
ENO
L MW -I T MW NOP 0
Rseau 2
CLR = M 0.0
==0
M 4.0 S
==0
M 4.0 S
U S
==0 M4.0
71
SET = M 0.1
AROUI TAREK
2010-2011
AROUI TAREK
2010-2011
72
E 1.0
E 1.1
E 1.2
Saut inconditionnel Saut si RLG =1 Saut si RLG =0 Saut si RLG =1 et mmorise RLG dans RB Saut si RLG =0 et mmorise RLG dans RB Saut si RB =1 Saut si RB =0 Saut si DEB =1 Saut si DM =1
SAVE
||
||
||
BIE
A 4.2
A 5.0
U BIE
Test du bit RB
||
||
()
SPBNB SPBI
Repre1)
SPBIN Repre1) SPO Repre1) L STW T STW Exemple: Charger le contenu du mot d'tat dans l'accumulateur 1 Transfrer les bits 0 8 de l'accumulateur 1 dans le mot d'tat L STW T MW14
AROUI TAREK 2010-2011
SPS
1)Un
Repre1)
Repre de saut :
peut tre loprande dune opration de saut ou servir de marquage pour la destination dune opration de saut. Il est compos de 4 lettres au maximum. Le premier caractre doit tre une lettre, les suivants pouvant tre des lettres ou des chiffres (Exp:SUI1)
73
AROUI TAREK 2010-2011
74
Oprations de saut dpendant du rsultat dans les bits indicateurs BI1 et BI0 du mot dtat
SPZ Repre1) SPN Repre1) SPP Repre1) SPM Repre1) Saut si BI1=0 et BI0=0 (Rsultat = 0) Saut si BI1BI0 (Rsultat <> 0) Saut si BI1 =1 et BI0=0 (Rsultat > 0) Saut si BI1=0 et BI0 =1 (Rsultat < 0) SPPZ Repre1) SPMZ Repre1) SPU Repre1) Combinaison des sauts SPP et SPZ (Rsultat >= 0) Combinaison des sauts SPM et SPZ (Rsultat <= 0) Saut si : la valeur dun nombre virgule flottante nest pas correct dans une opration arithmtique ou division par 0 (BI1=1 et BI0=1)
1) Un repre de saut est compos de 4 lettres au maximum. Le premier caractre doit tre une lettre AROUI TAREK 2010-2011
Exemple (1/2)
Dbut
Oui RLG = 1 E 1.0 = 1 et E 2.1 = 0 ? Non RLG = 0 Effacer MW 15 U UN Instruction SPBN E 1.0 E 2.1 SUI1 // Si RLG = 0 on saute au repre //SUI1 Fin L T SUI1: L 0 MW 15 EB 2 // Partie commune du programme
SUI1
75
AROUI TAREK
2010-2011
76
LAD
FBD
List
LAD
FBD
STL
Saut si
E 0.0
E 0.1
NEW1
E 0.0 E 0.1
&
RLG=1
(JMP)
NEW1 JMP
rseau 1
NEW1
rseau 1
( JMP )
rseau 2 : : : : rseau x NEW1
....
rseau 2 : : : : rseau x NEW1
NEW1 JMP
rseau 1
SPA NEW1
rseau 2 : : : : rseau x
Saut si
RLG=0
E 0.2
E 0.3
NEW2
E 0.2 E 0.3
&
(JMPN)
NEW2 JMPN
M5.5
E 4.7
M69.0
( )
M5.5 E 4.7
&
NEW1: M69.0
=
AROUI TAREK
2010-2011
77
AROUI TAREK
2010-2011
78
Oprations sur mots Introduction aux types de donnes Oprations de chargement et de transfert Oprations de comparaison
Instruction BEA (fin de bloc inconditionnelle) : Instruction BE (Fin de bloc ): BE met fin au traitement du programme de manire inconditionnelle dans le bloc de programme en cours, Elle est gnre automatiquement.
Oprations de conversion Oprations combinatoires sur mots Oprations de dcalage et de rotation Oprations arithmtiques
Instruction BEB (fin de bloc conditionnelle) : Met fin au traitement du bloc en cours uniquement si le rsultat logique RLG gale 1, Met fin au traitement du bloc en cours quelque soit le rsultat logique, Lopration se trouve toujours lintrieur du bloc .
AROUI TAREK
2010-2011
AROUI TAREK
2010-2011
80