0% ont trouvé ce document utile (0 vote)
4 vues41 pages

Programmation SIMATIC

Le document traite de la programmation SIMATIC, en se concentrant sur l'organisation du programme, les blocs OB, et les différentes fonctions disponibles dans STEP 7. Il décrit les types d'alarmes, les classes de priorité, ainsi que les opérations standard sur les bits, les nombres entiers et réels. Enfin, il aborde les fonctions FC, FB et les bibliothèques Step7.

Transféré par

mouradnabli006
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues41 pages

Programmation SIMATIC

Le document traite de la programmation SIMATIC, en se concentrant sur l'organisation du programme, les blocs OB, et les différentes fonctions disponibles dans STEP 7. Il décrit les types d'alarmes, les classes de priorité, ainsi que les opérations standard sur les bits, les nombres entiers et réels. Enfin, il aborde les fonctions FC, FB et les bibliothèques Step7.

Transféré par

mouradnabli006
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Programmation SIMATIC

11 Organisation du programme

22 Les blocs OB

33 Les fonctions SIMATIC LOG

44 Les fonctions FC

55 Les fonctions FB

66 Multi-instance

77 Bibliothèque Step7
Programmation SIMATIC

Sous-chapitre

Organisation du programme
Organisation du programme

SIMATIC MANAGER

STEP 7 : Programmation linéaire ou structurée


Organisation du programme

SIMATIC MANAGER

STEP 7 : Hiérarchie d’appel des blocs


Programmation SIMATIC

Sous-chapitre

Les blocs OB
Les blocs OB

Types d’alarmes et classes de priorité

Type d’alarme Bloc Classe de Exemple


d’organisation priorité

Cycle libre OB 1 1
Alarmes horaires OB 10 à OB 17 2 Calcul du débit d'un processus de mélange à la
fin de la journée de travail
Alarmes Temporaires OB 20 3 Commande d'un ventilateur devant fonctionner
OB 21 4 encore 20 s après l'arrêt d'un moteur avant d'être
OB 22 5 lui-même arrêté
OB 23 6
Alarmes cycliques OB 30 7 Échantillonnage d'un niveau de signal pour une
OB 31 8 installation de régulation
OB 32 9
OB 33 10
OB 34 11
OB 35 12
OB 36 13
OB 37 14
OB 38 15
Les blocs OB

Types d’alarmes et classes de priorité

Type d’alarme Bloc Classe de Exemple


d’organisation priorité

Alarmes de OB 40 16 Signaler que le niveau maximal d'une cuve est


processus OB 41 17 atteint
OB 42 18
OB 43 19
OB 44 20
OB 45 21
OB 46 22
OB 47 23
Alarmes OB 60 25 Mode multiprocesseur - fonctionnement
multiprocesseur multiprocesseur synchrone de plusieurs CPU
Cycle en arrière-plan OB 90 29 Vous pouvez y programmer des boucles de
longueur indiffé[Link] CPU ne contrôle pas
son temps d’exécution
Les blocs OB

Types d’alarmes et classes de priorité

Type d’alarme Bloc Classe de Exemple


d’organisation priorité

Erreur de redondance OB 70 Erreur de 25 Deux catégories d’erreurs: Synchrone et


redondance de la asynchrone
périphérie
(uniquement dans
les systèmes H)
OB 72 Erreur de 28
redondance
de la CPU
(uniquement dans
les systèmes H)
Erreurs synchrones OB 121 Erreur de Priorité de l'OB
programmation OB à l'origine de
122 Erreur d'accès l'erreur
Mise en route OB 100 Démarrage 27 Le Redémarrage n'existe pas pour les S7-300
OB 101 27
Redémarrage
OB 102 Démarrage 27
à froid
Programmation SIMATIC

Sous-chapitre

Les fonctions SIMATIC LOG


Les fonctions SIMATIC LOG

STEP 7 : Les opérations standard

• Opérations sur bits • Nombres entiers • Opérations sur mots


• Comparaison • Nombres réels • Blocs FB
• Conversion • Transfert • Blocs FC
• Comptage • Gestion de programme • Blocs SFB
• Appel de DB • Décalage/Rotation • Blocs SFC
• Sauts • Bits du mot d’état • Multi-instances
• Temporisation • Bibliothèques
Les fonctions SIMATIC LOG

Bloc opération logique

Porte ET

0.0 0 &
0.1 0
1.0 0
1.1 1

Porte OU
0+0 0 >=1
0+1 1
1+0 1
1+1 1

OU exclusif
0 + 0 0
0 + 1 1 XOR

1 + 0 1
1 + 1 0
Les fonctions SIMATIC LOG

Bloc opération
<opérande>
Détecter front montant
Détecte le passage de 0 à1 de l’opérande P

<opérande>
Détecte le front montant de signal
Compare l’état de signal de <opérande> à celui provenant de POS
l’interrogation précédente : M_BIT M_BIT Q

<opérande>
Détecter front descendant
N
Détecte le passage de 1 à 0 de l’opérande

<opérande>
Détecte le front descendant de signal
NEG
Compare l’état de signal de <opérande> à celui provenant de
M_BIT Q
l’interrogation précédente : M_BIT
Les fonctions SIMATIC LOG

Bloc opération

Mise à 1 Bascule Mise à 1, mise à 0

<opérande> <opérande>
S SR
S

R Q

Mise à 0 Bascule Mise à 0, mise à 1

<opérande> <opérande>
R RS
S

R Q
Les fonctions SIMATIC LOG

Les compteurs

Initialiser compteur Incrémenter


<opérande1>
<opérande1>
SZ
EN ZV

<opérande2> IN1

décrémenter
La valeur d’initialisation (opérande
2) peut être comprise entre 0 et <opérande1>
999, en BCD (C #) ZR
Les fonctions SIMATIC LOG

Les temporisateurs

Temporisateur sous forme d’impulsion Réseau 1


T5
<opérande>
SI
SI E0.0 EN
EN
S5T#2s TW
<valeur de temps> TW

Réseau 2
A4.0
La valeur de temps est de format S5TIME
=
T5
Les fonctions SIMATIC LOG

Les temporisateurs

Temporisateur sous forme d’impulsion prolongée <opérande>


SV
EN

<valeur de temps> TW

Temporisateur sous forme de retard à la montée <opérande>


SE
EN

<valeur de temps> IN1

La valeur de temps est de format S5TIME


Les fonctions SIMATIC LOG

Les temporisateurs

Temporisateur sous forme de retard à la montée mémorisé <opérande>

SS
EN

<valeur de temps> IN1

<opérande>
Temporisateur sous forme de retard à la retombée
SA
EN

<valeur de temps> IN1

La valeur de temps est de format S5TIME


Les fonctions SIMATIC LOG

Opérations de temporisation

T n°
S DUAL

TW DEZ
¾S_IMPULS : Temporisation sous forme d’impulsion
R Q
S_VIMP: Temporisation sous forme d’impulsion
prolongée
S: entrées de démarrage
¾S_EVERZ: Temporisation sous forme de retard à
TW: valeur de temps prédéfini la montée
R: remise à 0 ¾S_SEVERZ : Temporisation sous forme de retard à
la montée mémorisé
DUAL: valeur de temps restante (Binaire)
¾S_AVERZ : Temporisation sous forme de retard à
DEZ: valeur de temps restante (BCD)
la retombée
Q: Etat de la temporisation
Les fonctions SIMATIC LOG

Opérations de temporisation
Chronogrammes

E0.0

S_IMPULS : t

S_VIMP: t

t
S_EVERZ:

t
S_SEVERZ :

S_AVERZ : t
Les fonctions SIMATIC LOG

Opérations de comptage

Z n°
ZV
ZR
S DUAL

TW DEZ

R Q
¾ ZAEHLER : Compteur incrémental /
ZV : entrée d’incrémentation décrémental
ZR : entrée de décrémentation
¾ Z_VORW: Compteur incrémental
S: entrée d’initialisation du compteur
ZW: valeur de comptage ¾ Z_RUECK: Compteur décrémental
R: remise à 0
DUAL: valeur de comptage en cours (Binaire)
DEZ: valeur de comptage en cours (BCD)
Q: État du compteur
Les fonctions SIMATIC LOG

Opérations sur nombres entiers

Addition Soustraction

ADD_I SUB_I
EN OUT EN OUT

IN1 ENO IN1 ENO

IN2 IN2

ADD_DI SUB_DI
EN OUT EN OUT

IN1 ENO IN1 ENO

IN2 IN2
Les fonctions SIMATIC LOG

Opérations sur nombres entiers

Multiplication Division Reste de Division

MUL_I DIV_I MOD_I


EN OUT EN OUT EN OUT

IN1 ENO IN1 ENO IN1 ENO

IN2 IN2 IN2

DIV_DI MOD_DI
MUL_DI
EN OUT EN OUT
EN OUT

IN1 ENO IN1 ENO


IN1 ENO

IN2 IN2
IN2
Les fonctions SIMATIC LOG

Opérations sur nombres réels

Addition Multiplication

ADD_R
MUL_R
EN OUT
EN OUT
IN1 ENO
IN1 ENO
IN2
IN2

Soustraction Division
DIV_R
SUB_R
EN OUT
EN OUT
IN1 ENO
IN1 ENO
IN2
IN2
Les fonctions SIMATIC LOG

Opérations sur nombres réels

Valeur
absolue Racine carrée

ABS SQRT

EN OUT EN OUT

IN1 ENO IN1 ENO

Carré d’un Logarithme


nombre réel
LN
SQR
EN OUT
EN OUT
IN1 ENO
IN1 ENO
Les fonctions SIMATIC LOG

Opérations sur nombres réels

Fonctions trigonométriques

Fonction ƒSIN
Exponentielle
ƒASIN
EXP
ƒCOS
ƒACOS
EN OUT

IN1 ENO

ƒTAN
ƒATAN
Les fonctions SIMATIC LOG

Opérations de comparaison

16 bits 32 bits réels

CMP CMP CMP


==I <DI >=R
IN1 IN1 IN1
IN2 OUT IN2 OUT IN2 OUT

Types de comparaisons
== <> > < >= <=
Les fonctions SIMATIC LOG

Opérations de transfert ou de conversion

Affecter valeur Convertir BCD en Convertir entier 16


entier 16 bits bits en BCD
MOVE BCD_I I_BCD
EN OUT EN OUT EN OUT

IN1 ENO IN1 ENO IN1 ENO

Convertir INT Convertir BCD(32) Convertir entier 32


en DINT en entier 32 bits bits en BCD(32)

I_DI BCD_DI DI_BCD


EN OUT EN OUT EN OUT

IN1 ENO IN1 ENO IN1 ENO


Les fonctions SIMATIC LOG

Opérations de transfert ou de conversion

Convertir entier 32 Complément à 1 Compléments à 1 de


en réel De l’entier de 16 bits l’entier 32 bits

DI_R INV_I INV_DI

EN OUT EN OUT EN OUT

IN1 ENO IN1 ENO IN1 ENO

Complément à 2 Complément à 2 Inverser le signe


d’entier de 16 bits d’entier de 32 bits d’un réel

NEG_I NEG_DI NEG_R

EN OUT EN OUT EN OUT

IN1 ENO IN1 ENO IN1 ENO


Les fonctions SIMATIC LOG

Opérations de transfert ou de conversion

Arrondir à un Tronquer à la partie


entier de 32 bits entière

ROUND TRUNC
EN OUT EN OUT

IN1 ENO IN1 ENO

Convertir en entier Convertir en entier


supérieur le plus proche inférieur le plus proche
CEIL FLOOR
EN OUT EN OUT

IN1 ENO IN1 ENO


Les fonctions SIMATIC LOG

Opérations sur les mots

ET mot ET double mot OU mot

WAND_W WAND_DW WOR_W


EN OUT EN OUT EN OUT

IN1 ENO IN1 ENO IN1 ENO

IN2 IN2 IN2

OU double mot OU exclusif mot OU exclusif double mot

WOR_DW WXOR_W WXOR_DW


EN OUT EN OUT EN OUT

IN1 ENO IN1 ENO IN1 ENO

IN2 IN2 IN2


Les fonctions SIMATIC LOG

Opérations de décalage et de rotation

¾ SHL_W : Décalage vers la gauche (mot)


¾ SHL_DW : Décalage vers la gauche (double mot)

¾ SHR_W : Décalage vers la droite (mot)


¾ SHR_DW : Décalage vers la droite (double mot)

¾ SHR_I : Décalage vers la droite (INT)


¾ SHR_DI : Décalage vers la droite (DINT)

¾ ROL_DW : Rotation vers la gauche (double mot)


¾ ROR_DW : Rotation vers la droite (double mot)
Les fonctions SIMATIC LOG

Opérations de décalage et de rotation

DB10

¾ AUF : Ouvrir bloc de données AUF

CAS1

¾ JMP : saut inconditionnel JMP

CAS1

¾ JMP : saut si 1 (conditionnel) E0.0 JMP

CAS1

¾ JMPN : saut si 0 (conditionnel) E0.0 JMP


Programmation SIMATIC

Sous-chapitre

Les fonctions FC
Les fonctions FC

Définition des fonctions FC


Déclaration
•Les entrées : IN
• Les entrées/sorties : IN/OUT
• Les sorties : OUT
• Les temporaires : TEMP

FC1

Les entrées et
Les sorties
Les entrées/ sorties
Les fonctions FC

Editeur des fonctions FC

Déclaration
des variables

Catalogue

Programme
Programmation SIMATIC

Sous-chapitre

Les fonctions FB
Les fonctions FB

Définition des fonctions FB


Déclaration :
• Les entrées : IN
• Les entrées/sorties : IN/OUT
• Les sorties : OUT
• Les variables statiques : STAT
• Les variables temporaires : TEMP

DB1
Bloc de données
FB1 associé

Les entrées et
les entrées/ Les sorties
sorties
Les fonctions FB

Editeur des fonctions FB

Déclaration
des variables

Catalogue

Programme
Les fonctions FB

Avantages des DB associés à un FB

DB1
FB1

DB2
FB1
Programmation SIMATIC

Sous-chapitre

Bibliothèque Step7
Bibliothéque STEP 7

SFC, SFB et FC

Exemples SFC

¾ SFC0 : SET_CLK Mise à l’heure

¾ SFC1 : READ_CLK Lecture de l’heure et de la date

¾ SFC20 : BLKMOV Copie d’une variable

¾ SFC46 : STP Mise à l’arrêt de la CPU

Vous aimerez peut-être aussi