Académique Documents
Professionnel Documents
Culture Documents
Maintenance 2
Maintenance 2
SIMATIC
PCS 7
SIMATIC
Logiciel NET
SIMATIC
SIMATIC
HMI
SIMATIC
SIMATIC
PC
SIMATIC
WinCC
SIMATIC
DP
Automate
SIMATIC
Opérations binaires
A 8.1 (MCRA)
E 0.0
( MCR< )
M0.0
E1.2 A 9.3
SR
S Q
E1.3
R
Page 1
Traitement cyclique du programme
Bloc de mise en route (OB 100)
Traitement unique, par exemple à la mise sous tension
MIE MIS
Programme
octet 0 utilisateur octet 0
octet 1 octet 1
octet 2 1 octet 2
: : :
: : : 1
: U E 2.0 :
= A 4.3
:
:
:
:
Zone mémoire de la CPU Zone mémoire de la CPU
Page 2
Structure du programme
Programme
Programme linéaire Programme structuré
segmenté
Recette A
Pompe
OB 1 OB 1 Recette B OB 1
Mélangeur
Sortie
Sortie
Tous les opérations sont Les opérations des différentes Des fonctions réutilisables sont
contenues dans un bloc fonctions sont contenues dans chargées dans différents blocs.
(normalement dans le blocs isolés. L‘OB 1 appelle ces L‘OB 1 (ou d‘autres blocs) appelle
bloc d‘organisation OB1) blocs l‘un après l‘autre. ces blocs et délivre les données
correspondantes.
Blocs de programme
Système d'exploitation
Cycle
Temps OB
FB FC SFB
Blocs
Processus d‘organisation
FB FB SFC
Erreur
Page 3
Contacts NF et contacts NO.
Capteurs et symboles d'interrogation
Processus Evaluation du programme dans l‘automate
contact NO activé
1 CONT: “Oui CONT: “Non”
présente
” 0
“contact NO” 1 “contact NF”
Exercice
Tâche : La lampe doit s‘allumer dans les trois exemples lorsque S1 est activé et S2 inactivé.
Matériel
S1 S2 S1 S2 S1 S2
(E1.0) (E1.1) (E1.0) (E1.1) (E1.0) (E1.1)
E 1.0 E 1.1 E 1.0 E 1.1 E 1.0 E 1.1
Automate programmable Automate programmable Automate programmable
A 4.0 A 4.0 A 4.0
La La La
Logiciel
E 1.0 E 1.1 A 4.0 E 1.0 E 1.1 A 4.0 E 1.0 E 1.1 A 4.0
CONT
LOG
E 1.1 A 4.0 E 1.1 A 4.0 E 1.1 A 4.0
Page 4
Adressage des modules S7-300
N°d‘emplac. 1 2 4 5 6 7 8 9 10
Adresse 0.0
Adresse 0.7
Adresse 1.0
Adresse 1.7
Alim.
IM 32.0 36.0 40.0 44.0 48.0 52.0 56.0 60.0
Châssis à à à à à à à à
1 (réception)
35.7 39.7 43.7 47.7 51.7 55.7 59.7 63.7
Emplacement 1 2 3 4 5 6 7 8 9 10 11
Page 5
Opérations combinatoires binaires : ET, OU
S1 (E 0.0)
E0.0 E0.1 A 8.0 E 0.0 & A 8.0 U E0.0
= U E0.1
ET S2 (E 0.1) E 0.1
= A 8.0
A 8.1 A 8.1 = A 8.1
=
L1 L2
(A 8.0) (A 8.1)
S3
(E 0.2) E0.2 A 8.2
A 8.2 O E0.2
S4 E 0.2 >=1
OU = O E0.3
(E 0.3) E 0.3 = A 8.2
E0.3
L3 (A 8.2)
Page 6
Affectation, mise à 1, mise à 0
E 1.4 A 8.1
(R) E 1.4 O E 1.4
>=1 A 8.1 O E 1.5
Mise à 0 E 1.5 R R A 8.1
E 1.5
M0.0 M0.0
E1.2 A 9.3 U E 1.2
SR SR S M 0.0
Mise à 0 S Q E1.2 S
prioritaire U E 1.3
A9.3 R M 0.0
E1.3
R Q = U M 0.0
R E1.3 = A 9.3
M0.0 M0.0
E1.3 A 9.3 U E 1.3
Mise à 1 RS RS R M 0.0
R Q E1.3 R
prioritaire U E 1.2
A9.3 S M 0.0
E1.2
Q = U M 0.0
S E1.2 S = A 9.3
Page 7
Connecteur
CONT LIST
E 2.1 =
U E0.0
E0.0 E0.1
A8.0 E0.0 & U E0.1
NOT A8.0
NOT ( ) E0.1 = NOT
= A8.0
E1.6 U E1.6
SAVE ( SAVE ) E1.6 & SAVE SAVE
15 8 1
Mot d'état
BIE RLG
Page 8
Fonction Relais de masquage
CONT LOG LIST
E0.0
U E0.0 //Validat. MCR
( MCR< ) E0.0 & MCR<
MCR( //Ouverture MCR
NEW1 NEW1
Page 9
Saut conditionnel (en fonction du RLG)
U E1.0
E1.0 E1.1 M1.0 M8.0 E1.0 &
M1.0 M8.0 U E1.1
P FP M1.0
E1.1 P = = M8.0
Cycle OB1
E1.0
E1.1
RLG
Exemple
M1.0
M1.1
M8.0
M8.1
Page 10
Réponse aux fronts - signal
CONT LOG LIST
Exemple M1.0
M1.1
Cycle OB1
M8.0
M8.1
Détecteur de
bouteilles
E 16.6 (E 8.6)
M
A 20.5 (A 8.5) Bande transporteuse Marche avant
A 20.6 (A 8.6) Bande transporteuse Marche arrière
Page 11
Opérations numériques
EW0 IN1
EW2 IN2
T4
E0.7 S_EVERZ A8.5
S Q
S5T#35s TW DUAL MW0
E0.5
R DEZ AW12
Signe (+) 2 9 6
BCD
W#16#296
0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0
Nombres
positifs 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0
ENTIER
(Integer) +296 28 25 23
= = =
256 32 + 8 = 296
+
Signe (-) 4 1 3
BCD W#16#F413
1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 1
Nombres
négatifs 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 1 1 1 1 1 1 0 0 1 1 0 0 0 1 1
ENTIER
-413 28 27 24 23 22
(Integer)
= = = = =
256+128 + 16+8+ 4 = 412
- (412 + 1) = - 413
Page 12
Formats de nombres (32 bits)
DW#16#296 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DINT
+296 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0
28 25 23
= = =
Entier (32 bits) = 256 32 + 8 = 296
+
REEL Format général d'un nombre entier = (signe) • (1.f) • (2e-127)
+0.75 signe du
ou nbre réel e = exposant (8 bits) f = mantisse (23 bits)
+7.5 E-1
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27 26 25 24 23 22 21 20 2-1 2-2 2-3 2-4 ..... 2-23
MOVE MOVE
L +15
EN ENO EN OUT MB5
T MB5
Page 13
Chargement et transfert de données (2)
Contenu Contenu
de Accu1 de Accu2
Programme
X X X X X X X X Y Y Y Y Y Y Y Y
:
:
L W#16#CAFE 0 0 0 0 C
0 A
0 F
0 E
0 X X X X X X X X
L W#16#AFFE 0 0 0 0 A
0 F
0 F
0 E
0 0 0 0 0 C A F E
:
:
:
L MB 0 000000000000000000000000 MB0
31 23 15 7 0
Chargement 0000000000000000 MB0 MB1
L MW 0
31 23 15 7 0
T AD 4
AD 4
Transfert T AW 4
AW 4
T AB 4
AB 4
Page 14
Temporisation sous forme de retard à la montée (SE)
CONT LOG LIST
T4 T4
E0.7 S_EVERZ A8.5 S_EVERZ U E0.7
S Q E0.7 S DUAL MW0 L S5T#35s
S5T#35s TW DUAL MW0 S5T#35s AW12
SE T4
TW DEZ
E0.5 A8.5 U E0.5
R DEZ AW12 E0.5 R Q = R T4
L T4
T MW0
RLG à S
LC T4
RLG à R T AW12
U T4
Ecoulement = A8.5
temporisation
Exemple
Page 15
Temporisation sous forme de retard à la montée mémorisé (SS)
CONT LOG LIST
T4 T4 U E0.7
E0.7 S_SEVERZ A8.5 S_SEVERZ L S5T#35s
S Q E0.7 S DUAL MW0 SS T4
S5T#35s DUAL MW0 U E0.5
TW S5T#35s TW DEZ AW12
E0.5 A8.5 R T4
R DEZ AW12 E0.5 R Q = L T4
T MW0
LC T4
T AW12
U T4
= A8.5
RLG à S
RLG à R
Ecoulemen
t
Exemple temporisati
on
Q
T4 T4 U E0.7
E0.7 S_AVERZ A8.5 S_AVERZ L S5T#35s
S Q E0.7 S DUAL MW0 SA T4
S5T#35s DUAL MW0 U E0.5
TW S5T#35s TW DEZ AW12
E0.5 A8.5 R T4
R DEZ AW12 E0.5 R Q = L T4
T MW0
LC T4
T AW12
U T4
= A8.5
RLG à S
RLG à R
Ecoulemen
t
Exemple temporisati
on
Q
Page 16
Temporisation sous forme d'impulsion (SI)
CONT LOG LIST
T4 T4 U E0.7
E0.7 S_IMPULS A8.5 S_IMPULS L S5T#35s
S Q E0.7 S DUAL MW0 SI T4
S5T#35s DUAL MW0 U E0.5
TW S5T#35s TW DEZ AW12
E0.5 A8.5 R T4
R DEZ AW12 E0.5 R Q = L T4
T MW0
LC T4
T AW12
U T4
= A8.5
RLG à S
RLG à R
Ecoulemen
t
Exemple temporisati
on
Q
T4 T4 U E0.7
E0.7 S_VIMP A8.5 S_VIMP L S5T#35s
S Q MW0 SV T4
E0.7 S DUAL
S5T#35s TW DUAL MW0 U E0.5
S5T#35s TW DEZ AW12
E0.5 A8.5 R T4
R DEZ AW12 E0.5 R = L T4
Q
T MW0
LC T4
T AW12
U T4
= A8.5
RLG à S
RLG à R
Ecoulemen
t
Exemple temporisati
on
Q
Page 17
Temporisation sous forme d'opérations binaires
CONT LOG LIST
Réseau 1 :
T4
E0.0 T4 E0.0 & SE U E0.0
SE L S5T#5s
S5T#5s TW SE T4
S5T#5s
Réseau 2 :
T4 A 8.0 A 8.0
U T4
T4 & =
= A 8.0
Réseau 3 :
T4
E0.1 T4 U E0.1
R E0.1 & R R T4
T4
Exercice
S_IMPULS E0.7
E 0.7 S DUAL
S5T#5s TW DEZ E 0.5
E 0.5 R Q A 8.0
A8.0
5s
T4
S_VIMP E0.7
E 0.7 S DUAL E 0.5
S5T#5s TW DEZ
E 0.5 R Q A 8.0 A8.0
T4
S_EVERZ E0.7
E 0.7 S DUAL E 0.5
S5T#5s TW DEZ
E 0.5 R Q A 8.0 A8.0
T4
S_SEVERZ E0.7
E 0.7 S DUAL E 0.5
S5T#5s TW DEZ
E 0.5 R Q A 8.0 A8.0
T4
S_AVERZ E0.7
E 0.7 S DUAL E 0.5
S5T#5s TW DEZ
E 0.5 R Q A 8.0 A8.0
Page 18
Opérations de comptage dans STEP 7
CONT LOG LIST
U E0.4
Z5 Z5
ZV Z5
ZAEHLER ZAEHLER U E0.5
E 0.4 A 8.3
ZV Q E 0.4 ZV ZR Z5
U E0.3
E 0.5
L C#20
ZR E 0.5 ZR
S Z5
E 0.3 U E0.7
S E 0.3 S DUAL MW 4 R Z5
L Z5
C#20 ZW DUAL MW 4 C#20 ZW BCD AW 12 T MW4
A 8.3 LC Z5
E 0.7
R BCD AW 12 E 0.7 R Q = T AW12
U Z5
= A8.3
Réseau 1 : Z5
E0.0 SZ
E0.0 Z5
U E0.0
SZ L C#20
C#20 ZW
C#20 S Z5
Réseau 2 :
Z5
E0.1 Z5
E0.1 ZV U E0.1
ZV
ZV Z5
Réseau 3 :
E0.2 Z5 Z5
U E0.2
ZR E0.2 ZR ZR Z5
Réseau 4 :
Z5 A 4.0 A 4.0
U Z5
Z5 = = A 4.0
Page 19
Comptage : Diagramme fonctionnel
ZV
ZR
5
4
3
Etat du
compteur2
1
0
M
A 20.5 (A 8.5) Bande transporteuse Marche avant
A 20.6 (A 8.6) Bande transporteuse Marche arrière
Page 20
Opérations de conversion BCD <-> Entier
L I_DI
O MD14 LIST
EN OUT
G DI_R
ENO EN OUT MD26
MW12 IN
Page 21
Opérations de comparaison
L EW0
EW0 IN1
L EW2
EW0 IN1 A9.7
=
==I
EW2 IN2 EW2 IN2 = A9.7
Opérations combinatoires
WXOR_W L EW 0
WOR_W
L W#16#5F2A
WAND_W
UW / OW / XOW
EN ENO
T MW10
EW0 IN1
OUT MW10 15 0
W#16#5F2A IN2
EW0 = 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0
W#16#5F2A = 0 1 0 1 1 1 1 1 0 0 1 0 1 0 1 0
AND OR XOR
Page 22
Opérations arithmétiques de base
CONT LOG LIST
Page 23
Exercice : Programmation d'une installation de remplissage
(préparation du conditionnement)
(AW 6)
SHL_W
L MW8 ou :
EN ENO
L MW4 L MW4
MW4 IN SLW SLW 2
OUT MW12 T MW12 T MW12
MW8 N
= +2
Décalage d'un mot vers la gauche : Décalage d'un mot vers la droite
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
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1
IN IN
EN0 =1 EN0 = 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
OUT OUT
Page 24
Décalage vers la droite d'entiers signés
SHR_I
L MW8 ou :
EN EN0 L MW4 L MW4
SSI SSI 3
MW4 IN
T MW12 T MW12
MW8 N OUT MW12
= +3
1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1
IN IN
EN0 = 0 EN0 = 1
1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1
OUT OUT
ROL_DW
ENO L MW6 ou :
EN
L MD2 L MD2
MD2 IN RLD RLD 4
OUT MD12 T MD12 T MD12
MW6 N
= +4
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
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
Rotation de
4 positions
vers la gauche :
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
OUT
Page 25
Fonctions et blocs fonctionnels
Introduction
absolu symbolique
Accès
Page 26
Variables temporaires
sur S7-300 :
Traitement
Classe de
priorité Taille pile L
Page 27
Espace mémoire d'un bloc dans la pile des données locales
droit
OB 1 FC 1 FC 2
3
2
avec var. avec var.
tempor. 4 tempor.
5 FC 3
7 avec var.
6
tempor.
Evénem. 1 2 3 4 5 6 7
Affectat.
de la pile L
256 octets
FC2 FC3
FC1 FC1 FC1 FC1 FC1
OB1 OB1 OB1 OB1 OB1 OB1 OB1
Page 28
Exercice : Utilisation de variables temporaires
Remplacé par la
variable temporaire
“Conditionnement"
Enoncé
Entree_defaut
Acquittement
Memorisation_sortie
Signalisation
Memorisation_sortie &
Signalisation
Entrée défaut =
Page 29
Blocs paramétrables
FC 20
U E 1.2 U #Acquittement
E 1.3 Entree_defaut Memento M 40.1
R M 40.0 R #Memorisation_sortie
_de_front
U E 1.3 U #Entree_defaut
E 1.2 Acquittement Signalis A 8.3
FP M 40.1 FP #Memento_de_front ation
M 10.3 Rythme_clignotement
S M 40.0 S #Memorisation_sortie
U M 40.0 U #Memorisation_sortie M 40.0 Memorisation_sortie
U M 10.3 U #Rythme_clignoteme
O O
UNM 40.0 UN #Memorisation_sortie
U E 1.3 U #Entree_defaut
Paramètres formels
= A 8.3 = #Signalisation
Paramètres effectifs
Paramètres formels
Page 30
Edition d'un bloc paramétrable
FC20
.... EN
FC20
A8.1 EN
symbolique
" Butée droite" Entree_defaut Memento_de_front M40.3
"Touche d'acquit." Acquittement
Signalisation A9.4
M10.3 Rythme_clignotement
ENO
M40.2 Memorisation_sortie
Table des
mnémoniq.
Page 31
Utilisation du paramètre EN/ENO lors d'appels de blocs
CONT/LOG LIST
FC 1
Appel inconditionnel ?? . ? EN ENO CALL FC 1
NOP 0
FC 1 A9.0
U E 0.1
Appel conditionnel E0.1 EN ENO = SPBNB _001
CALL FC 1
_001: U BIE
= A 9.0
Exemple
FC 1 FC 2 FC 3
Page 32
Exercice : Appel du bloc FC paramétrable
FC 20
DB 2
FB 2
EN
Entrée défaut
Acquittement Signal.
Fréq. clignot. ENO
Page 33
Bloc fonctionnel pour la signalisation de défaut
Partie déclarative
du bloc
fonctionnel
Bloc de données
d‘instance
Page 34
Le modèle de multi-instances
OB 1 DB10 OB 1
Call FB20, DB10 Call FB100, DB100
Entree_defaut:= FB20
Acquittement:= FB 100
Rythme_clignot:=
Signalisation:= stat Defaut_1 FB20
Page 35
Corrections lors de l'appel de blocs modifiés
Lors de l'ouverture du bloc appelant :
1 x bouton droit
U #Acquittement
2. Séquence de programme R #Mém. sortie
du FB 20
U #défaut..
:
:
Page 36
Exercice : Appel et test d'un bloc fonctionnel
(A 5.3)
(A 5.4)
Opération
Global Local Absolu Symbolique Tempor. Statique Paramètre
L #Nombre_1
L #Nombre_2
T #Valeur_max
L #Resultat_interméd.
L “Nombre_1"
T MW 40
T #Nombre_2
Page 37
Résumé : Appel de blocs
FC FB
Mode de
représent. sans paramètre avec paramètres sans par., sans DB d‘inst. avec par., avec DB d‘inst.
FC1
CALL DB3
FC2 FB2
FC1 EN Par3 EN Par3
LOG EN Par1 Par1
ENO
Par2 ENO Par2
ENO
Blocs d'organisation
FC FB
OB1
Système
d‘exploi-
tation FB FC
SFC
SFB
Autres
OB
Page 38
Présentation des blocs d'organisation
Mise en route
OB 100
OB 101
OB 102
OB d'alarme OB d'erreur
OB de mise en route
Redémarrage (manuel)
• uniquement pour S7-400
Démarrage (Param. correspondant dans Conf. mat.) :
STOP -> RUN + WRST
automatique manuel
Enregistrement de la MIE
C Enregistrement de la MIE
Y C
C Traitement de l‘OB1 Y
L C Traitement de l‘OB1
E L
Copie MIS dans modules de sortie E Copie MIS dans modules de sortie
Page 39
Interruption du programme cyclique
Niveau supérieur
Indicateur de
niveau
Niveau inférieur
Page 40
Utilisation de modules analogiques
Processus Module d‘entrée analogique CPU
Page 41
Adressage des modules analogiques sur le S7-300
Châssis 3 Alimen- IM 640 656 672 688 704 720 736 752
tation
(récept.) à à à à à à à à
654 670 686 702 718 734 750 766
Châssis 1 Alimen- IM 384 400 416 432 448 464 480 496
tation
(récept.) à à à à à à à à
398 414 430 446 462 478 494 510
Emplacement 2 3 4 5 6 7 8 9 10 11
Page 42
Module analogique SM335 (sorties)
Page 43
Représentation des valeurs analogiques et
résolution des valeurs de mesure
8 128 80 * * * * * * * * 1 0 0 0 0 0 0 0
9 64 40 * * * * * * * * * 1 0 0 0 0 0 0
10 32 20 * * * * * * * * * * 1 0 0 0 0 0
Résolu-
tion
11 16 10 * * * * * * * * * * * 1 0 0 0 0
en bit
+ signe
12 8 8 * * * * * * * * * * * * 1 0 0 0
13 4 4 * * * * * * * * * * * * * 1 0 0
14 2 2 * * * * * * * * * * * * * * 1 0
15 1 1 * * * * * * * * * * * * * * * 1
* = 0 ou 1
Débordement >= 11,759 32767 >= 22,815 32767 >=352,778 32767 >= 1000,1 32767
Page 44
Normalisation d‘une entrée analogique
500,0
0,0
0 27648
27648
0
0,0 100,0
Page 45
Représentation des valeurs analogiques
pour les sorties analogiques
Tension Courant
Plage Unités
Plages de sortie : Plages de sortie :
0 à 10V 1 à 5V ± 10V 0 à 20mA 4 à 20mA ± 20mA
Débordement >=32767 0 0 0 0 0 0
Page 46
Exercice : Paramétrage du module analogique SM331
Indicateur
de niveau
Niveau de remplissage mini. 50 l.
En cas de franchissement du seuil
inférieur, une signalisation doit
être émise à la sortie A9.2 (A 5.2).
Page 47
Exercice : Alarme de diagnostic d‘un module analogique
Enoncé :
Tant qu‘une des valeurs codées reste
Débordement
dans la plage de débordement, la sortie
Dépassement
A 9.1 (A 5.1) continue à clignoter.
Plage nominale
Page 48