Vous êtes sur la page 1sur 33

Chapitre 3

EXEMPLE D'UN API :


SIEMENS SIMATIC
S7-200 CPU 224
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 22

1- L'API S7-200 :

L'API S7-200 combine un microprocesseur, une alimentation intégrée, des circuits d’entrée
et des circuits de sortie dans un boîtier compact afin de créer un puissant micro-automate.
Une fois qu’on a chargé notre programme, le S7-200 contient la logique nécessaire au contrôle
et à la commande d’unités d’entrée et de sortie dans notre application.

LED (s) Entrées/Sorties


Volet d’accès :
Commutateur de mode
LED (s) d’état : (RUN/TERM/STOP)
STOP
RUN
SF/DIAG (System Fault/Diagnostics)

Cartouche optionnelle :
Cartouche mémoire
Horloge temps réel
Batterie

Interface de communication

Figure 1 : L’API SIEMENS SIMATIC S7-200 CPU 224

2- Logiciel de programmation STEP 7-Micro/WIN :

Le logiciel de programmation STEP 7-Micro/WIN fournit un environnement convivial


pour concevoir, éditer et surveiller la logique nécessaire à la commande de notre application.

Pour nous aider à trouver les informations dont on a besoin, STEP 7-Micro/WIN fournit
un système d’aide en ligne complet qui contient de la documentation, des conseils
d’application et d’autres informations utiles.

STEP 7-Micro/WIN comprend trois éditeurs de programme, ce qui s’avère très pratique et
efficace pour la mise au point du programme de commande de notre application :

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 23

ª Éditeur de programme CONT (Ladder) :

Dans les programmes CONT (Schéma à contacts), les éléments fondamentaux de la


logique sont représentés par des contacts, des bobines et des boîtes. Un ensemble d'éléments
interconnectés constituant un circuit complet s'appelle un réseau.

Une entrée câblée est représentée par un symbole appelé « contact ». Une sortie câblée est
représentée par un symbole appelé « bobine ». Une boîte permet de représenter une
opération complexe exécutée dans l'API ; elle simplifie la programmation de l'opération.

ª Éditeur de programme LIST (STL) :

Les éléments des programmes LIST (Liste d’instructions) sont représentés par un jeu
d'opérations permettant l'exécution des fonctions désirées. Contrairement aux programmes
CONT qui sont visualisés graphiquement, un programme LIST est affiché en format de texte.

ª Éditeur de programme LOG (FBD) :

Les éléments des programmes LOG (Logigramme) sont représentés par des boîtes.

3- Exécution de la logique de commande par le S7-200

Le S7-200 exécute en cycles continus la logique de commande de notre programme, en


lisant et en écrivant des données.

Le S7-200 exécute une série de tâches de manière répétitive. On appelle « cycle » cette
exécution cyclique des différentes tâches. Comme illustré dans la figure, le S7-200 exécute la
plupart ou la totalité des tâches suivantes pendant un cycle :

ª Lecture des entrées : Le S7-200 copie l’état des entrées physiques dans la mémoire image
des entrées.

ª Exécution de la logique de commande dans le programme : Le S7-200 exécute les


instructions du programme et sauvegarde les valeurs dans différentes zones de mémoire.

ª Traitement de toute demande de communication : Le S7-200 exécute toute tâche nécessaire


pour la communication.

ª Exécution du test d’auto-diagnostic de la CPU : Le S7-200 s’assure que le


microprogramme, la mémoire de programme et les modules d’extension présents
fonctionnent correctement.

ª Écriture des sorties : Les valeurs enregistrées dans la mémoire image des sorties sont
écrites dans les sorties physiques.

L’exécution du programme utilisateur est fonction de l’état de fonctionnement, Arrêt


(STOP) ou Marche (RUN), du S7-200. Notre programme s’exécute à l’état de fonctionnement
« Marche » ; il ne s’exécute pas à l’état « Arrêt ».

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 24

Ecriture des sorties

BP_démarr Arrêt_U M_démarr


Exécution du diagnostic CPU

Moteur
M_démarr Traitement de toute demande
de communication

Exécution
Sortie du programme
Démarreur Cycle
de moteur

Entrée
Commutateur
Lecture des entrées
démarrage/arrêt

Figure 2 : Commande des entrées et des sorties Figure 3 : Cycle du S7-200

4- Accès aux données du S7-200

Le S7-200 range les informations à différents emplacements de la mémoire ayant chacun


une adresse unique. On peut identifier explicitement l’adresse de mémoire à laquelle on veut
accéder. Ainsi, notre programme dispose d’un accès direct aux informations.

Le tableau 1 montre la plage des nombres entiers pouvant être représentés par les
différentes tailles de données.

Représentation Octet (B) Mot (W) Double mot (D)


Entiers de 16 bits non signés 0 à 255 0 à 65 535 0 à 4 294 967 295
0 à FF 0 à FFFF 0 à FFFF FFFF
Entiers de 16 bits signés -128 à +127 -32 768 à +32 767 -2 147 483 648 à +2 147 483 647
80 à 7F 8000 à 7FFF 8000 0000 à 7FFF FFFF
Réels, virgule flottante 32 bits Non valable Non valable +1.175495E-38 à +3.402823E+38 (positifs)
-1.175495E-38 à -3.402823E+38 (négatifs)

Tableau 1 : Plages décimales et hexadécimales pour les différentes tailles de données

4.1- Accès à un bit :

Pour accéder à un bit dans une zone de mémoire, on doit préciser son adresse composée
d’un identificateur de zone de mémoire, de l’adresse d’octet et du numéro de bit. La figure 4
montre comment accéder à un bit par la méthode appelée adressage « octet.bit ». Dans cet
exemple, la zone de mémoire et l’adresse d’octet (I = entrée et 3 = octet 3) sont suivies d’un
point les séparant de l’adresse de bit (bit 4).

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 25

I 3 . 4

Bit de l’octet ou numéro de bit :


bit 4 de 8 (0 à 7)

Point séparant l’adresse d’octet 7 6 5 4 3 2 1 0


du numéro de bit Octet 0
Octet 1
Adresse d’octet : octet 3
Octet 2
(quatrième octet)
Octet 3
Identificateur de zone de Octet 4
mémoire Octet 5

Figure 4 : Adressage ”octet.bit” Figure 5 : Mémoire image des entrées (I)

4.2- Accès à un octet, un mot ou un double mot :

Le format d’adresse d’octet permet d’accéder à des données dans la plupart des zones de
mémoire (V , I , Q , M , S , L et SM) sous forme d’octets, de mots ou de doubles mots.

Pour accéder à un octet, un mot ou un double mot de données dans la mémoire, on précise
l’adresse de manière comparable à l’adresse d’un bit. Cette adresse est composée d’un
identificateur de zone, de la désignation de la taille des données et de l’adresse d’octet de
départ de la valeur d’octet, de mot ou de double mot (Figure 6).

On accède aux données situées dans d’autres zones de mémoire (T , C , par exemple) via
un format d’adresse comprenant l’identificateur de zone et le numéro de l’élément en
question.

V B 3 BPfo BPfa
VB3 7 VB3 0
Adresse d’octet

Accès à un octet BPfo : Bit de poids fort


Identificateur de zone
BPfa : Bit de poids faible
Figure 6 : Accès à un octet

V W 3

Adresse d’octet BPfo BPfa


VW3 15 VB3 8 7 VB4 0
Accès à un mot Octet de poids fort Octet de poids faible
Identificateur de zone

Figure 7 : Accès à un mot

V D 3
BPfo BPfa
Adresse d’octet
VD3 31 VB3 24 23 VB4 16 15 VB5 8 7 VB6 0
Accès à un double mot Octet de poids fort Octet de poids faible

Identificateur de zone

Figure 8 : Accès à un double mot

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 26

4.3- Accès aux données dans les zones de mémoire du S7-200 :

4.3.1- Mémoire image des entrées : I

Le S7-200 lit les entrées physiques au début de chaque cycle et écrit ces valeurs dans la
mémoire image des entrées.

On peut accéder à la mémoire image des entrées par bits, octets, mots ou doubles mots.

Bit : I [adresse d’octet] . [adresse de bit] I0.1

Octet, mot ou double mot : I [taille] [adresse d’octet de départ] IB4 IW4 ID4

4.3.2- Mémoire image des sorties : Q

A la fin du cycle, le S7-200 copie dans les sorties physiques les valeurs contenues dans la
mémoire image des sorties.

On peut accéder à la mémoire image des sorties par bits, octets, mots ou doubles mots.

Bit : Q [adresse d’octet] . [adresse de bit] Q1.1

Octet, mot ou double mot : Q [taille] [adresse d’octet de départ] QB5 QW2 QD4

4.3.3- Mémoire des variables : V

On peut nous servir de la mémoire des variables (mémoire V) pour sauvegarder des
résultats intermédiaires d’opérations exécutées par la logique de commande dans notre
programme. On peut également nous en servir pour la sauvegarde d’autres données en
rapport avec notre processus ou notre tâche.

On peut accéder à la mémoire V par bits, octets, mots ou doubles mots.

Bit : V [adresse d’octet] . [adresse de bit] V10.2

Octet, mot ou double mot : V [taille] [adresse d’octet de départ] VB1 VW10 VD8

4.3.4- Mémentos : M

Les mémentos internes (mémoire M) - ou relais de commande - fournissent de l’espace


mémoire pour l’état intermédiaire d’une opération ou d’autres informations de commande.

On peut accéder à la zone des mémentos par bits, octets, mots ou doubles mots.

Bit : M [adresse d’octet] . [adresse de bit] M26.7

Octet, mot ou double mot : M [taille] [adresse d’octet de départ] MB20 MW20 MD20

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 27

4.3.5- Mémentos spéciaux : SM

Les mémentos spéciaux permettent l’échange d’informations entre la CPU et notre


programme. On peut faire appel à ces bits pour sélectionner et commander certaines
fonctions spéciales de la CPU S7-200, telles que : bit mis à 1 lors du premier cycle, bit
commutant à une fréquence fixe, …

On peut accéder aux mémentos spéciaux par bits, octets, mots ou doubles mots.

Bit : SM[adresse d’octet].[adresse de bit] SM0.1

Octet, mot ou double mot : SM[taille][adresse d’octet de départ] SMB85 SMW86 SMD88

Exemples :

SM0.0 : Ce bit est toujours à 1.

SM0.1 : Ce bit est à 1 au premier cycle uniquement.

SM0.5 : Ce bit fournit une impulsion d'horloge en fonction pendant 0,5 s et hors fonction
pendant 0,5 s, pour une période de 1 s.

4.3.6- Mémoire locale : L

La mémoire L est similaire à la mémoire V à une exception majeure près. En effet, la


mémoire V concerne les variables globales alors que la mémoire L concerne les données
locales.

Global signifie qu’il est possible d’accéder à la même adresse de mémoire à partir de
n’importe quelle entité de programme (programme principal, sous-programmes ou
programmes d’interruption).

Local signifie que l’affectation de mémoire est associée à une entité spécifique du
programme.

Le S7-200 alloue 64 octets de mémoire L au programme principal, 64 octets à chaque


niveau d’imbrication de sous-programme et 64 octets aux programmes d’interruption.

Il est impossible d’accéder à la mémoire L allouée au programme principal à partir des


sous-programmes ou des programmes d’interruption. Un sous-programme ne peut pas
accéder à la mémoire L affectée au programme principal, à un programme d’interruption ou
à un autre sous-programme. De même, un programme d’interruption ne peut pas accéder à
la mémoire L affectée au programme principal ou à un sous-programme.

On peut accéder à la zone des mémoires locales par bits, octets, mots ou doubles mots.

Bit : L [adresse d’octet] . [adresse de bit] L0.0

Octet, mot, double mot : L [taille] [adresse d’octet de départ] LB33 LW30 LD32

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 28

4.3.7- Entrées analogiques : AI

Le S7-200 convertit une valeur analogique (telle que la température ou la tension) en


valeur numérique de 16 bits (un mot). On accède à ces valeurs par l’identificateur de zone
(AI), la taille des données (W) et l’adresse d’octet de départ.

Comme les entrées analogiques sont des mots et commencent toujours sur des octets pairs
(tels que 0, 2 ou 4), on y accède par des adresses d’octet paires (AIW0, AIW2, AIW4, par
exemple).

Seule la lecture des entrées analogiques est possible.

Format : AIW [adresse d’octet de départ] AIW4

4.3.8- Sorties analogiques : AQ

Le S7-200 convertit une valeur numérique de 16 bits (mot) en un courant ou une tension
proportionnelle à la valeur numérique. On écrit ces valeurs via l’identificateur de zone (AQ),
la taille des données (W) et l’adresse d’octet de départ.

Comme les sorties analogiques sont des mots et commencent toujours sur des octets pairs
(tels que 0, 2 ou 4), on y accède par des adresses d’octet paires (AQW0, AQW2 ou AQW4, par
exemple).

Seule l’écriture des sorties analogiques est possible.

Format : AQW [adresse d’octet de départ] AQW4

4.3.9- Accumulateurs : AC

Les accumulateurs sont des éléments en lecture/écriture pouvant être utilisés comme
mémoire. On peut, par exemple, nous servir des accumulateurs pour transmettre des
paramètres à ou depuis des sous-programmes et pour sauvegarder des valeurs
intermédiaires utilisées dans un calcul.

Le S7-200 dispose de quatre accumulateurs de 32 bits : AC0, AC1, AC2 et AC3. On peut
accéder aux données contenues dans les accumulateurs par octets, mots ou doubles mots.
C’est l’opération utilisée pour accéder à l’accumulateur qui détermine la taille des données
en accès.

Comme le montre la figure 9, lorsqu’on accède aux accumulateurs en format d’octet ou de


mot, on n’utilise, respectivement, que les 8 et 16 bits de poids faible de cet accumulateur ;
quand on y accède par doubles mots, on fait appel à l’intégralité des 32 bits.

Format : AC [numéro de l’accumulateur] AC0

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 29

Réseau 1 AC1 ( Accès comme octet )


M0.0 MOV_B BPfo BPfa
EN ENO
7 0
AC1 IN OUT VB0

Octet 0

AC2 ( Accès comme mot )


Réseau 2
BPfo BPfa
M0.1 DEC_W
EN ENO 15 8 7 0
OPfo OPfa
AC2 IN OUT VW2
Octet 1 Octet 0

AC3 ( Accès comme double mot )


Réseau 3 BPfo BPfa
M0.2 INV_DW 31 24 23 16 15 8 7 0
EN ENO OPfo OPfa
AC3 IN OUT VD100 Octet 3 Octet 2 Octet 1 Octet 0

Figure 9 : Accès aux accumulateurs

5- Programmation « Ladder » ou « CONT » du S7-200 :

5.1- Opérations combinatoires sur bits :

5.1.1- Contacts :

a) Contacts à fermeture / à ouverture :

Le contact à fermeture est fermé (activé) lorsque le bit est égal à 1 et le contact à ouverture
est fermé (activé) lorsque le bit est égal à 0.

Bit Bit
Contact à fermeture / Contact à ouverture

b) Opération NOT : NOT

Le contact « NOT » change l’état de l’entrée de flux de signal. Contact NOT

c) Opérations Front montant / Front descendant :

Le contact « front montant » permet au courant de P Contact front montant


circuler pour un cycle, à chaque transition de 0 à 1.

Le contact « front descendant » permet au courant N Contact front descendant


de circuler pour un cycle, à chaque transition de 1 à 0.

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 30

5.1.2- Bobines :

a) Sortie :

L’opération « sortie » écrit la nouvelle valeur du bit de sortie dans la mémoire Bit
image. Lors de l’exécution de l’opération sortie, le S7-200 met le bit de sortie dans ( )
la mémoire image à 1 ou à 0. Le bit indiqué est posé égal au flux de signal.

b) Mettre à 1 / Mettre à 0 :

Les opérations « Mettre à 1 » et « Mettre à 0 » mettent à 1 (activent) ou mettent à 0


(désactivent) le nombre N de sorties indiquées, en commençant à l’adresse Bit indiquée. On
peut mettre 1 à 255 sorties à 1 ou à 0.

Si, pour l’opération « mettre à 0 », le bit correspond à un bit de temporisation (T) ou de


compteur (C), l’opération met le bit de temporisation ou de compteur à 0 et efface la valeur
de comptage ou de temporisation en cours.

Bit Bit
(S) Opération mettre à 1 (R) Opération mettre à 0
N N

5.2- Opérations de comparaison :

Les opérations de comparaison servent à comparer deux valeurs :

IN1 = IN2 IN1 >= IN2 IN1 <= IN2 IN1 > IN2 IN1 < IN2 IN1 <> IN2

Les opérations de comparaison d’octets ne sont pas signées.


Les opérations de comparaison d’entiers de 16 bits sont signées.
Les opérations de comparaison de doubles mots sont signées.
Les opérations de comparaison de réels sont signées.

Le contact est activé lorsque la comparaison est vraie.


IN1 IN1 IN1 IN1 IN1 IN1
==B >=B <=B >B <B <>B Comparer octets
IN2 IN2 IN2 IN2 IN2 IN2
IN1 IN1 IN1 IN1 IN1 IN1
==I >=I <=I >I <I <>I Comparer entiers de 16 bits
IN2 IN2 IN2 IN2 IN2 IN2
IN1 IN1 IN1 IN1 IN1 IN1
==D >=D <=D >D <D <>D Comparer entiers de 32 bits
IN2 IN2 IN2 IN2 IN2 IN2
IN1 IN1 IN1 IN1 IN1 IN1
==R >=R <=R >R <R <>R Comparer réels
IN2 IN2 IN2 IN2 IN2 IN2

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 31

5.3- Opérations de temporisation :

Le S7-200 fournit des temporisations qui comptent des incréments de temps selon des
résolutions (incréments de base de temps) égales à 1 ms, 10 ms ou 100 ms. Deux variables
sont associées à chaque temporisation :

ª la valeur en cours : ce nombre entier signé de 16 bits contient la durée comptabilisée par la
temporisation ;

ª le bit de temporisation : ce bit est mis à 1 ou à 0 selon le résultat de la comparaison entre


valeur en cours et valeur prédéfinie, cette dernière étant indiquée dans l’opération de
temporisation.

On accède à ces deux variables à l’aide de l’adresse de la temporisation (T + numéro de la


temporisation).

Selon l’opération utilisée, l’accès se fait au bit de temporisation ou à la valeur en cours : les
opérations avec des bits comme opérandes accèdent au bit de temporisation alors que les
opérations ayant des mots comme opérandes accèdent à la valeur en cours. Comme le
montre la figure 10, le « contact à fermeture » accède au bit de temporisation et l’opération
« Comparer entiers de 16 bits » à la valeur en cours de la temporisation.

Format : T [numéro de la temporisation] T3

I0.0 VW1 Valeur en cours Bits temporisation


>=I
T0 T0 T3
T3
T1 T1
T2 T2
15(BPfo) T3 0(BPfa) T3
Accède à la valeur en cours Accède au bit de temporisation

Figure 10 : Accès au bit de temporisation ou à la valeur en cours d’une temporisation

5.3.1- Temporisation sous forme de retard à la montée (TON) :

L'opération « Démarrer temporisation sous forme de retard à la montée (TON) » compte le


temps qui s'écoule lorsque l'entrée de validation IN est activée.
Txxx
Lorsque la valeur en cours est supérieure ou égale au temps IN TON
prédéfini PT, le bit de temporisation Txxx est activé.
PT ??? ms

Lorsque l'entrée de validation est désactivée, la valeur en cours de la temporisation TON


est effacée.

La temporisation TON poursuit le comptage une fois la valeur prédéfinie atteinte ; son
exécution s'arrête à la valeur maximale (32 767).

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 32

5.3.2- Temporisation sous forme de retard à la montée mémorisé (TONR) :


Txxx
L'opération « Démarrer temporisation sous forme de retard à la IN TONR
montée mémorisé (TONR) » compte le temps qui s'écoule lorsque
PT ??? ms
l'entrée de validation IN est activée.

Lorsque la valeur en cours est supérieure ou égale au temps prédéfini PT, le bit de
temporisation Txxx est activé.

Lorsque l'entrée de validation est désactivée, la valeur en cours ainsi que le bit de la
temporisation TONR sont conservés. Vous pouvez donc vous servir de la temporisation
TONR afin de cumuler plusieurs périodes de temps de l'entrée IN.

La temporisation TONR poursuit le comptage une fois la valeur prédéfinie atteinte ; son
exécution s'arrête à la valeur maximale (32 767).

L'opération R (Mettre à 0) permet d'effacer la valeur en cours de la temporisation TONR.


Seule l'opération R permet de réinitialiser des temporisations TONR.

5.3.3- Temporisation sous forme de retard à la retombée (TOF) :

L'opération « Démarrer temporisation sous forme de retard à la retombée (TOF) » sert à


retarder la désactivation d'une sortie pour un intervalle de temps donné après que l'entrée a
été désactivée.
Txxx
Lorsque l'entrée de validation IN est activée, le bit de temporisation Txxx IN TOF
est immédiatement activé et la valeur en cours est posée égale à 0.
PT ??? ms

À la désactivation de l'entrée, la temporisation continue à s'écouler jusqu'à ce que le temps


écoulé atteigne le temps prédéfini. Une fois cette valeur atteinte, le bit de temporisation est
désactivé et la valeur en cours est figée.

Le bit de temporisation reste activé si l'entrée est désactivée pendant un intervalle de


temps plus bref que la valeur prédéfinie.

Pour l'opération TOF, le comptage commence à l'apparition d'un front descendant.

Remarques :

ª Les temporisations TON, TONR et TOF sont disponibles avec trois résolutions. La
résolution est déterminée par le numéro de la temporisation, comme illustré dans le
tableau ci-dessous. Chaque valeur de comptage de la valeur en cours est un multiple de la
base de temps. Ainsi, une valeur de comptage de 50 pour une temporisation de 10 ms
correspond à 500 ms.

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 33

Temporisation Résolution Valeur max. N° temporisation


1 ms 32,767 s T0, T64
TONR 10 ms 327,67 s T1 à T4, T65 à T68
100 ms 3276,7 s T5 à T31, T69 à T95
1 ms 32,767 s T32, T96
TON , TOF 10 ms 327,67 s T33 à T36, T97 à T100
100 ms 3276,7 s T37 à T63, T101 à T255

ª On ne peut pas utiliser les mêmes numéros de temporisations pour TOF et TON. Il est,
par exemple, impossible d'avoir TON T32 et TOF T32.

ª On peut utiliser une temporisation TON pour mesurer un intervalle de temps unique. Par
contre, on peut utiliser une temporisation TONR pour accumuler un certain nombre
d'intervalles de temps.

Une temporisation TOF peut être utilisée pour allonger le temps après une situation
« désactivé » ou « faux », par exemple pour refroidir un moteur une fois qu'il a été mis
hors tension.

ª L'opération R (Mettre à 0) permet de réinitialiser toutes les temporisations. Elle exécute les
actions suivantes :

Bit de temporisation = désactivé et valeur en cours = 0

Seule l'opération R (Mettre à 0) permet de réinitialiser des temporisations TONR.

Après une réinitialisation, il faut que l'entrée de validation passe de l'état activé à l'état
désactivé pour qu'une temporisation TOF soit relancée.

5.4- Opérations arithmétiques :

5.4.1- Les opérations Additionner / Soustraire / Multiplier / Diviser :

L'opération « Additionner » réalise la somme de IN1 et IN2 et place le résultat dans OUT :

IN1 + IN2 = OUT

L'opération « Soustraire » réalise la différence de IN1 et IN2 et place le résultat dans OUT :

IN1 - IN2 = OUT

L'opération « Multiplier » réalise le produit de IN1 et IN2 et place le résultat dans OUT :

IN1 × IN2 = OUT

L'opération « Diviser » divise deux nombres IN1 et IN2 et place le résultat dans OUT :

IN1 ÷ IN2 = OUT

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 34

Symbole Opération IN1 IN2 OUT


ADD_I
EN ENO Additionner entiers de 16 bits entier de 16 bits entier de 16 bits entier de 16 bits
IN1 OUT
IN2

SUB_I
EN ENO Soustraire entiers de 16 bits entier de 16 bits entier de 16 bits entier de 16 bits
IN1 OUT
IN2

ADD_DI
EN ENO Additionner entiers de 32 bits entier de 32 bits entier de 32 bits entier de 32 bits
IN1 OUT
IN2

SUB_DI
EN ENO Soustraire entiers de 32 bits entier de 32 bits entier de 32 bits entier de 32 bits
IN1 OUT
IN2

ADD_R
EN ENO Additionner réels de 32 bits réel de 32 bits réel de 32 bits réel de 32 bits
IN1 OUT
IN2

SUB_R
EN ENO Soustraire réels de 32 bits réel de 32 bits réel de 32 bits réel de 32 bits
IN1 OUT
IN2

Symbole Opération IN1 IN2 OUT


MUL_I
EN ENO Multiplier entiers
IN1 OUT de 16 bits entier de 16 bits entier de 16 bits entier de 16 bits
IN2

DIV_I
EN ENO Diviser entiers de 16 entier de 16 bits. Il n'y a
IN1 OUT bits entier de 16 bits entier de 16 bits pas de reste.
IN2

MUL_DI
EN ENO Multiplier entiers
IN1 OUT de 32 bits entier de 32 bits entier de 32 bits entier de 32 bits
IN2

DIV_DI
EN ENO Diviser entiers de 32 entier de 32 bits. Il n'y a
IN1 OUT bits entier de 32 bits entier de 32 bits pas de reste.
IN2

MUL
EN ENO
Multiplier entiers
IN1 OUT de 16 bits en entier entier de 16 bits entier de 16 bits entier de 32 bits
IN2 de 32 bits

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 35

Symbole Opération IN1 IN2 OUT


entier de 32 bits composé
DIV Diviser entiers de 16 d'un reste de 16 bits (mot
EN ENO bits en entier de 32 entier de 16 bits entier de 16 bits de poids fort) et d'un
IN1 OUT
bits quotient de 16 bits (mot de
IN2
poids faible).
MUL_R
EN ENO Multiplier réels de réel de 32 bits réel de 32 bits réel de 32 bits
IN1 OUT 32 bits
IN2

DIV_R
EN ENO Diviser réels de 32 réel de 32 bits réel de 32 bits réel de 32 bits
IN1 OUT bits
IN2

5.4.2- Les opérations Incrémenter / Décrémenter :

L'opération « Incrémenter » ajoute 1 à l'entrée IN et l'opération « Décrémenter » en retire 1 ;


elles placent le résultat dans la variable indiquée par OUT.

Incrémenter : IN + 1 = OUT

Décrémenter : IN - 1 = OUT

Symbole Opération Remarque

INC_B
Incrémenter octet L'opération n'est pas signée
EN ENO
IN OUT

DEC_B
Décrémenter octet L'opération n'est pas signée
EN ENO
IN OUT

INC_W
Incrémenter mot L'opération est signée
EN ENO
IN OUT

DEC_W
Décrémenter mot L'opération est signée
EN ENO
IN OUT

INC_DW
Incrémenter double mot L'opération est signée
EN ENO
IN OUT

DEC_DW
Décrémenter double mot L'opération est signée
EN ENO
IN OUT

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 36

5.5- Opérations logiques :

5.5.1- L'opération « ET » :

L'opération « ET » combine selon ET les deux valeurs d'entrées IN1 et IN2 et charge le
résultat dans l'adresse de mémoire OUT.

WAND_B WAND_W WAND_DW


EN ENO EN ENO EN ENO
IN1 OUT IN1 OUT IN1 OUT
IN2 IN2 IN2

L'opération ET octet L'opération ET mot L'opération ET double mot

5.5.2- L'opération « OU » :

L'opération « OU » combine selon OU les deux valeurs d'entrées IN1 et IN2 et charge le
résultat dans l'adresse de mémoire OUT.

WOR_B WOR_W WOR_DW


EN ENO EN ENO EN ENO
IN1 OUT IN1 OUT IN1 OUT
IN2 IN2 IN2

L'opération OU octet L'opération OU mot L'opération OU double mot

5.5.3- L'opération « OU exclusif » :

L'opération « OU exclusif » combine selon OU exclusif les deux valeurs d'entrées IN1 et
IN2 et charge le résultat dans l'adresse de mémoire OUT.

WXOR_B WXOR_W WXOR_DW


EN ENO EN ENO EN ENO
IN1 OUT IN1 OUT IN1 OUT
IN2 IN2 IN2

L'opération OU exclusif octet L'opération OU exclusif mot L'opération OU exclusif double mot

5.5.4- L'opération « Inverser » :

L'opération « Inverser » forme le complément à un de la valeur d'entrée IN et charge le


résultat dans l'adresse de mémoire OUT.

INV_B INV_W INV_DW


EN ENO EN ENO EN ENO
IN OUT IN OUT IN OUT

L'opération Inverser octet L'opération Inverser mot L'opération Inverser double mot

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 37

5.6- Opérations de comptage:

Le S7-200 fournit trois types de compteurs qui comptent chaque transition du niveau bas
au niveau haut aux entrées de comptage : les compteurs qui incrémentent, ceux qui
décrémentent et ceux pouvant à la fois incrémenter et décrémenter. Deux variables sont
associées à chaque compteur :

ª la valeur en cours : ce nombre entier signé de 16 bits contient le total cumulé ;

ª le bit de compteur : ce bit est mis à 1 ou à 0 selon le résultat de la comparaison entre valeur
en cours et valeur prédéfinie, cette dernière étant indiquée dans l’opération de comptage.

On accède à ces deux variables à l’aide de l’adresse du compteur (C + numéro du


compteur).

Selon l’opération utilisée, l’accès se fait au bit de compteur ou à la valeur en cours : les
opérations avec des bits comme opérandes accèdent au bit de compteur alors que les
opérations ayant des mots comme opérandes accèdent à la valeur en cours.

Comme le montre la figure 11, le contact à fermeture accède au bit de compteur et


l’opération « Comparer entiers de 16 bits » à la valeur en cours du compteur.

Format : C [numéro du compteur] C3


I0.0 VW1 Valeur en cours Bits compteur
>=I C3
C0 C0
C3
C1 C1
C2 C2
15(BPfo) C3 0(BPfa) C3
Accède à la valeur en cours Accède au bit de compteur

Figure 11 : Accès au bit de compteur ou à la valeur en cours d’un compteur

5.6.1- Compteur incrémental (CTU) :

L'opération « Compteur incrémental (CTU) » incrémente en partant de la valeur en cours à


chaque front montant de l'entrée d'incrémentation CU. Lorsque la valeur en cours Cxxx est
supérieure ou égale à la valeur prédéfinie PV, le bit de compteur C est activé.

Le compteur est remis à zéro lorsque l'entrée de remise à Cxxx


zéro R est activée ou que l'opération « Mettre à 0 » est CU CTU
exécutée. R
PV

Le compteur incrémental arrête le comptage lorsqu'il atteint la valeur maximale 32 767.

5.6.2- Compteur décrémental (CTD) :

L'opération « Compteur décrémental (CTD) » décrémente en partant de la Cxxx


valeur en cours à chaque front montant de l'entrée de décrémentation CD. CD CTD
Lorsque la valeur en cours Cxxx est égale à zéro, le bit de compteur Cxxx est LD
PV
activé.

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 38

Le compteur remet le bit de compteur Cxxx à 0 et charge la valeur prédéfinie PV dans la


valeur en cours lorsque l'entrée de chargement LD est activée.

Le compteur décrémental arrête de compter lorsqu'il atteint zéro et le bit de compteur


Cxxx est mis à 1.

5.6.3- Compteur incrémental / décrémental (CTUD) :

L'opération « Compteur incrémental/décrémental (CTUD) » incrémente en Cxxx


partant de la valeur en cours à chaque front montant de l'entrée CU CTUD
d'incrémentation CU et décrémente à chaque front montant de l'entrée de CD
R
décrémentation CD. La valeur en cours Cxxx du compteur contient le
PV
décompte en cours.

La valeur prédéfinie PV est comparée à la valeur en cours à chaque exécution de


l'opération de comptage. Lorsqu'il atteint la valeur maximale de 32 767, le front montant
suivant à l'entrée d'incrémentation fait prendre à la valeur en cours la valeur minimale de
-32 768. Lorsque la valeur minimale -32 768 est atteinte, le front montant suivant à l'entrée de
décrémentation fait prendre à la valeur en cours la valeur maximale de 32 767.

Lorsque la valeur en cours Cxxx est supérieure ou égale à la valeur prédéfinie PV, le bit de
compteur Cxxx est activé. Sinon, le bit de compteur est désactivé.

Le compteur est remis à zéro lorsque l'entrée de remise à zéro R est activée ou que
l'opération « Mettre à 0 » est exécutée. Le compteur incrémental/décrémental arrête le
comptage lorsqu'il atteint la valeur prédéfinie.

Remarques :

ª La plage des compteurs : Cxxx = C0 à C255

ª Comme il existe une valeur en cours pour chaque compteur, ne donnez pas le même
numéro à plusieurs compteurs. En effet, les compteurs incrémentaux,
incrémentaux/décrémentaux et décrémentaux de même numéro accèdent à la même
valeur en cours.

5.7- Opérations de transfert :

L'opération « Transférer octet MOV_B » transfère l'octet d'entrée IN MOV_B


dans l'octet de sortie OUT sans modifier la valeur d'origine. EN ENO
IN OUT

L'opération « Transférer mot MOV_W » transfère le mot d'entrée IN MOV_W


dans le mot de sortie OUT sans modifier la valeur d'origine. EN ENO
IN OUT

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 39

L'opération « Transférer double mot MOV_DW » transfère le double MOV_DW


mot d'entrée IN dans le double mot de sortie OUT sans changer la valeur EN ENO
d'origine. IN OUT

L'opération « Transférer réel MOV_R » transfère le double mot MOV_R


d'entrée réel de 32 bits IN dans le double mot de sortie OUT sans changer EN ENO
la valeur d'origine. IN OUT

L'opération « Transférer nombre d'octets BLKMOV_B » transfère le BLKMOV_B


nombre N d'octets de l'adresse d'entrée IN dans l'adresse de sortie OUT. EN ENO
N est compris entre 1 et 255. IN OUT
N

L'opération « Transférer nombre de mots BLKMOV_W » transfère le BLKMOV_W


nombre N de mots de l'adresse d'entrée IN dans l'adresse de sortie OUT. EN ENO
N est compris entre 1 et 255. IN OUT
N

L'opération « Transférer nombre de doubles mots BLKMOV_D » BLKMOV_D


transfère le nombre N de doubles mots de l'adresse d'entrée IN dans EN ENO
l'adresse de sortie OUT. N est compris entre 1 et 255. IN OUT
N

L'opération « Permuter octets SWAP » permute l'octet de poids fort du SWAP


mot IN avec celui de poids faible. EN ENO
IN

5.8- Opérations de décalage et de rotation :

5.8.1- Opérations de décalage :

Les opérations « Décalage vers droite » et « Décalage vers gauche » déclenchent le


décalage de la valeur d'entrée IN, respectivement vers la droite ou vers la gauche, du nombre
N de bits indiqué et chargent le résultat dans la sortie OUT. Les bits décalés sont remplacés
par des zéros.

SHR_B ª Ne sont pas signées.


vers la droite
EN ENO
Décalage d'octet IN OUT
N ª Si la valeur de décalage N est
supérieure ou égale à 8, la valeur est
SHL_B décalée 8 fois au maximum.
vers la gauche
EN ENO
IN OUT
N

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 40

SHR_W ª Le bit de signe est décalé lorsqu'on


vers la droite EN ENO utilise des types de données signés.
IN OUT
Décalage de mot N ª Si la valeur de décalage N est
SHL_W supérieure ou égale à 16, la valeur
vers la gauche EN ENO est décalée 16 fois au maximum.
IN OUT
N

SHR_DW ª Le bit de signe est décalé lorsqu'on


vers la droite EN ENO utilise des types de données signés.
IN OUT
Décalage de N
double mot ª Si la valeur de décalage N est
SHL_DW supérieure ou égale à 32, la valeur
vers la gauche EN ENO est décalée 32 fois au maximum.
IN OUT
N

5.8.2- Opérations de rotation :

Les opérations « Rotation vers la droite » et « Rotation vers la gauche » déclenchent la


rotation de la valeur d'entrée IN, respectivement vers la droite ou vers la gauche, du nombre
N de bits indiqué et chargent le résultat dans la sortie OUT. La rotation est circulaire.

Toutes les opérations de rotation ne sont pas signées.

ROR_B Si la valeur de rotation N est


vers la droite EN ENO supérieure ou égale à 8, une opération
IN OUT modulo 8 sur N est exécutée avant la
Rotation d'octet N
rotation. La valeur de rotation est ainsi
ROL_B de nouveau comprise entre 0 et 7.
vers la gauche EN ENO
IN OUT
N

ROR_W Si la valeur de rotation N est


vers la droite EN ENO supérieure ou égale à 16, une
IN OUT opération modulo 16 sur N est
Rotation de mot N
exécutée avant la rotation. La valeur
ROL_W de rotation est ainsi de nouveau
vers la gauche EN ENO comprise entre 0 et 15.
IN OUT
N

ROR_DW Si la valeur de rotation N est


vers la droite EN ENO supérieure ou égale à 32, une
IN OUT opération modulo 32 sur N est
Rotation de N
double mot exécutée avant la rotation. La valeur
ROL_DW de rotation est ainsi de nouveau
vers la gauche EN ENO comprise entre 0 et 31.
IN OUT
N

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 41

5.9- Opération Sortie d'impulsions :

L'opération Sortie d'impulsions (PLS) permet de gérer les fonctions PTO (Sortie de trains
d'impulsions) et PWM (Modulation de durée des impulsions) disponibles sur les sorties
rapides (Q0.0 et Q0.1).

PLS
EN ENO
Q0.X

La fonction PTO fournit une sortie en signaux carrés (rapport cyclique de 50 %),
l'utilisateur gérant la période et le nombre d'impulsions.

La fonction PWM fournit une sortie continue avec rapport cyclique variable, l'utilisateur
gérant la période et la durée des impulsions.

Le S7-200 comporte deux générateurs PTO/PWM qui génèrent soit un train d'impulsions
rapide, soit un signal à durée d'impulsion modulée. Un générateur est affecté à la sortie TOR
Q0.0 et l'autre à la sortie TOR Q0.1.

Un emplacement désigné en mémoire SM contient les données suivantes pour chaque


générateur :

" Un octet de commande (8 bits).


" Une valeur pour la période (entier de 16 bits non signé)
" Une valeur pour la durée d'impulsion (entier de 16 bits non signé)
" Une valeur de comptage des impulsions (entier de 32 bits non signé).

Ces valeurs sont toutes sauvegardées dans des zones précises de la mémoire SM. Une fois
ces mémentos spéciaux définis pour le mode de fonctionnement désiré, ce mode est activé
par exécution de l'opération PLS (Sortie d'impulsions). Cette opération lit les données
rangées dans les adresses SM indiquées et programme le générateur PTO/PWM en
conséquence.

L'octet SMB67 commande PTO 0 ou PWM 0 et l'octet SMB77 commande PTO 1 ou


PWM 1. Le tableau Registres de commande PTO/ PWM décrit les registres servant à gérer la
fonction PTO/PWM. Vous pouvez vous reporter au tableau de référence ci-après pour
déterminer la valeur à placer dans le registre de commande PTO/PWM pour appeler
l'opération désirée.

Q0.0 Q0.1 Registres PTO/PWM


SMB67 SMB77 Octet de commande
SMW68 SMW78 Période PTO/PWM
SMW70 SMW80 Durée d'impulsion PWM
SMD72 SMD82 Valeur de comptage des impulsions PTO

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 42

Q0.0 Q0.1 Bits de commande


Mettre à jour la période PTO/PWM :
SM67.0 SM77.0
0 = pas de mise à jour 1 = mise à jour de la période
Mettre à jour la durée d'impulsion PWM :
SM67.1 SM77.1
= pas de mise à jour 1 = mise à jour
Mettre à jour valeur de comptage des impulsions :
SM67.2 SM77.2
0 = pas de mise à jour 1 = mise à jour
Sélectionner unité de temps PTO/PWM :
SM67.3 SM77.3
0 = 1 µs/impulsion 1 = 1 ms/impulsion
Méthode de mise à jour PWM :
SM67.4 SM77.4
0 = mise à jour asynchrone 1 = mise à jour synchrone
Fonctionnement PTO :
SM67.5 SM77.5
0 = segment unique 1 = segments multiples
Sélectionner mode PTO ou PWM :
SM67.6 SM77.6
0 = PTO 1 = PWM
Valider PTO/PWM :
SM67.7 SM77.7
0 = inhiber PTO/PWM 1 = valider PTO/PWM

Les générateurs PTO et PWM, d'une part, et la mémoire image du processus, d'autre part,
se partagent les sorties Q0.0 et Q0.1 :

" Lorsqu'une fonction PTO ou PWM est active en Q0.0 ou Q0.1, le générateur PTO/PWM
commande la sortie dont l'utilisation normale est alors inhibée. Le signal de sortie n'est pas
affecté par l'état de la mémoire image du processus, la valeur forcée de la sortie ou
l'exécution d'opérations de sortie directes.

" Lorsque le générateur PTO/PWM est inactif, c'est la mémoire image du processus qui
reprend le contrôle de la sortie. Elle détermine l'état initial et l'état final du signal de sortie,
le signal commençant ou s'achevant au niveau haut ou au niveau bas.

5.9.1- Fonctionnement de PTO (Sortie de trains d'impulsions) :

La fonction PTO fournit une sortie en signaux carrés (rapport cyclique de 50 %) pour un
nombre d'impulsions et une période donnés. PTO peut produire soit un train d'impulsions
unique, soit plusieurs trains d'impulsions (rassemblés en un profil d'impulsions). Vous
indiquez la période et la durée des impulsions en microsecondes ou en millisecondes.

10 μs à 65 535 μs Période
Période d'impulsions
2 ms à 65 535 ms
Désactivé Activé Désactivé Activé
Nombre d'impulsions 1 à 4 294 967 295 50 % 50 % 50 % 50 %

Indiquer un nombre impair de microsecondes ou de millisecondes pour la période (par


exemple : 75 ms) peut provoquer une certaine distorsion du rapport cyclique. Le tableau ci-
après présente les restrictions concernant la valeur de comptage des impulsions et la période.

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 43

Valeur de comptage des impulsions/Période Réaction


La période prend alors la valeur deux unités
Période < 2 unités de temps
de temps par défaut
Par défaut, la valeur de comptage des
Nombre d'impulsions = 0
impulsions est égale à 1 impulsion

5.9.2- Fonctionnement de PWM (Modulation de durée des impulsions) :

La fonction PWM fournit une sortie continue avec rapport cyclique variable. Vous pouvez
indiquer la période et la durée des impulsions en microsecondes ou en millisecondes.

10 μs à 65 535 μs Période
Période d'impulsions
2 ms à 65 535 ms
Durée Durée
0 μs à 65 535 μs d’impulsion d’impulsion
Durée d'impulsion
0 ms à 65 535 ms

Comme illustré dans le tableau ci-après, poser la durée d'impulsion égale à la période (le
rapport cyclique est alors de 100 %) active la sortie en continu. Poser la durée d'impulsion
égale à 0 (le rapport cyclique est alors de 0 %) désactive la sortie.

Durée d'impulsion/Période Réaction


Le rapport cyclique est de 100 % : la sortie est
Durée d'impulsion >= valeur de la période
toujours activée.
Le rapport cyclique est de 0 % : la sortie est
Durée d'impulsion = 0
toujours désactivée.
La période prend par défaut la valeur de deux
Période < 2 unités de temps
unités de temps.

5.10- Opérations SCR (relais séquentiels) :

Dès que notre application est constituée d’une séquence d’opérations devant être répétée,
on peut faire appel aux relais séquentiels (SCR) pour structurer notre programme afin qu’il
corresponde de manière directe à notre application. On peut ainsi programmer et tester notre
application plus facilement et plus rapidement.

L’opération Charger relais séquentiel (SCR) signale le début d’un S_bit


segment SCR et l’opération Fin de relais séquentiel (SCRE) signale la fin SCR
d’un segment SCR.

L’opération Changement de relais séquentiel (SCRT) permet de passer S_bit


la main d’un segment SCR actif à un autre segment SCR. L’exécution de ( SCRT )
l’opération SCRT en présence d’un flux de signal remet à 0 le bit S du
segment actuellement actif et met à 1 le bit S du segment référencé.
( SCRE )
L’opération Fin conditionnelle de relais séquentiel (SCRE) permet de
quitter un segment SCR actif sans exécuter les instructions figurant entre
cette opération et l’opération Fin de relais séquentiel. Cette opération ( SCRE )
n’affecte le bit S en aucune façon.

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 44

Exemple 1 :

I0.0 Q0.0

Q0.1 I0.0 Q0.0 Q0.1 V0.0


1 1 1 1
0 0 0 0
V0.0

Exemple 2 :

I0.2 Q0.2 I0.2 I0.3 Q0.2


1 1 1
1 0 1
I0.3 0 1 0
0 0 1

Exemple 3 :

I0.0 I0.1 Q0.0 I0.0 I0.1 Q0.0 Q0.1


1 1 1 0
1 0 0 1
Q0.1 0 1 0 1
NOT 0 0 0 1

Exemple 4 :

I0.4 Q0.3
I0.4
P S
1
Q0.4
Q0.3

Q0.3 ← à 1 pour un cycle


N R Q0.4
1
Q0.5 ← à 1 pour un cycle
Q0.5

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 45

Exemple 5 :

Réseau 1
I0.1
I0.1 Q0.2
S
6
I0.2

Réseau 2
I0.2 Q0.2 Q0.2 à Q0.7
R Mettre à 0 l’emporte sur Mettre à 1, car le
6 cycle du programme exécute Mettre à 0
du réseau 2 après Mettre à 1 du réseau 1

Exemple 6 :

Réseau 1
I0.3
I0.3 I0.4 Q1.0
S
8 I0.4
I0.5 Q1.0
R I0.5
8
I0.6

Réseau 2
Q1.0
I0.6 Q1.0
Q1.1 à Q1.7
L’opération Sortie ( ) du réseau 2 se substitue
à Mettre à 1 / Mettre à 0 du 1er bit (Q0.1) dans
le réseau 1, car le cycle du programme exécute
l’affectation du réseau 2 en dernier

Exemple 7 :

I0.0 SMB28 Q0.0


<=B Q0.0 est active lorsque la valeur SMB28 est inférieure ou égale à 50.
50
SMB28 Q0.1
>=B Q0.1 est active lorsque la valeur SMB28 est supérieure ou égale à 150.
150

I0.0 VW0 Q0.2


>I Q0.2 est active lorsque la valeur VW0 est supérieure à 10 000.
10000
-150000000 Q0.3
<D Q0.3 est active lorsque – 150 000 000 est inférieure à la valeur VD2.
VD2
VD6 Q0.4
>R Q0.4 est active lorsque la valeur VD6 est supérieure à 5,001 . 10 - 6.
5.001E-006

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 46

Exemple 8 :

Réseau 1 I0.0
I0.0 T37
IN TON
1s Valeur
10 PT 100 ms
Valeur prédéfinie=10 maximale
=32 767
Valeur en cours T37

Réseau 2
T37 Q0.0 Bit de tempo. T37=Q0.0

Exemple 9 :

Réseau 1
M0.0 T33
/ IN TON Valeur prédéfinie=100

100 PT 10 ms 40
Valeur en cours T33

0,4 s 0,6 s
Réseau 2
T33 Q0.0
>=I
40
Bit de tempo. T33=M0.0

Réseau 3
T33 M0.0 Q0.0

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 47

Exemple 10 :

Réseau 1
I0.0 T1
I0.0
IN TONR

100 PT 10 ms
I0.1

0,6 s 0,4 s 1s
Réseau 2
Valeur prédéfinie=100
T1 Q0.0
60

Valeur en cours T1
Réseau 3
I0.1 T1
R Bit de tempo. T1=Q0.0
1

Exemple 11 :

Réseau 1
I0.0
I0.0 T33
IN TOF
1s 0,8 s
100 PT 10 ms PT=100

Valeur en
cours T33

Réseau 2 Q0.0
T33 Q0.0 (Bit T33)

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 48

Exemple 12 :

I0.0 ADD_I IN1 IN2 OUT


EN ENO
ADD_I AC1 AC0 AC0
40 + 60 100
AC1 IN1 OUT AC0
AC0 IN2

MUL_I IN1 IN2 OUT


EN ENO
MUL_I AC1 VW100 VW100
40 × 20 800
AC1 IN1 OUT VW100
VW100 IN2

DIV_I IN1 IN2 OUT


EN ENO
DIV_I VW200 VW10 VW200
4000 / 40 100
VW200 IN1 OUT VW200
VW10 IN2

Exemple 13 :

I4.0 INC_W IN OUT


EN ENO
INC_W AC0 AC0
125 +1 126
AC0 IN OUT AC0

DEC_DW IN OUT
EN ENO DEC_DW VD100 VD100
128 000 -1 127 999
VD100 IN OUT VD100

Exemple 14 :
WAND_W AC1 0 0 0 1 1 1 1 1 0 1 1 0 1 1 0 1
I4.0 WAND_W ET
EN ENO AC0 1 1 0 1 0 0 1 1 1 1 1 0 0 1 1 0
égale
AC1 IN1 OUT AC0 AC0 0 0 0 1 0 0 1 1 0 1 1 0 0 1 0 0
AC0 IN2
WOR_W AC1 0 0 0 1 1 1 1 1 0 1 1 0 1 1 0 1
WOR_W
OU
EN ENO
AC2 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0
égale
AC1 IN1 OUT AC2
AC2 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1
AC2 IN2

WXOR_W WXOR_W AC1 0 0 0 1 1 1 1 1 0 1 1 0 1 1 0 1


EN ENO OU exclusif
AC3 1 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0
AC1 IN1 OUT AC3 égale
AC3 IN2 AC3 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 1

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 49

Exemple 15 :

I4.0 INV_W INV_W AC0 1 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1


EN ENO Complément à 1
AC0 0 0 1 0 1 0 0 0 0 1 1 0 1 0 1 0
AC0 IN OUT AC0

Exemple 16 :

Réseau 1 I0.0
I0.0 C1 (Décr.)
CD CTD
I0.1
I0.1 (Charg.)
LD 3 3
2 2
3 PV
1
C1 (Val. 0
en cours)

Réseau 2 Q0.0
C1 Q0.0 (Bit C1)

Exemple 17 :

Réseau 1 I0.0
I0.0 C48 (Incr.)
CU CTUD I0.1
(Décr.)
I0.1 I0.2
CD (Remise à 0)
5 5
I0.2 4 4 4
R 3 3
2
4 PV 1
Réseau 2 0 0
C48 (Val.
C48 Q0.0 en cours)
Q0.0
(Bit C48)

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 50

Exemple 18 :

I2.1 BLKMOV_B VB20 VB21 VB22 VB23


30 100 9 1
EN ENO
↓ ↓ ↓ ↓
Après exécution du transfert en bloc
VB20 IN OUT VB100 ↓ ↓ ↓ ↓
4 N VB100 VB101 VB102 VB103
30 100 9 1

Exemple 19 :

I2.1 SWAP
VW50
EN ENO
D6C3
→ Après exécution de
« permuter octets »
→ VW50
C3D6
VW50 IN

Exemple 20 :

Rotation
Avant rotation
I0.4 ROR_W
AC0 0100000000000001
EN ENO
Après la 1ère rotation Débordement
AC0 IN OUT AC0 AC0 1010000000000000 1
2 N
Après la 2ème rotation Débordement
SHL_W AC0 0101000000000000 0
EN ENO

Décalage
VW200 IN OUT VW200 Avant décalage
3 N VW200 1110001010101101

Après le 1er décalage Débordement


VW200 1100010101011010 1

Après le 2ème décalage Débordement


VW200 1000101010110100 1

Après le 3ème décalage Débordement


VW200 0001010101101000 1

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 51

Exemple 21 :

SM0.0 MOV_B Q0.0


EN ENO
Mettre à jour la période PTO/PWM :
16#8D IN OUT SMB77 SM77.0 0 = pas de mise à jour
1 = mise à jour de la période
Mettre à jour la durée d'impulsion PWM :
MOV_W
EN ENO SM77.1 0 = pas de mise à jour
1 = mise à jour
100 IN OUT SMW78 Mettre à jour valeur de comptage des impulsions :
SM77.2 0 = pas de mise à jour
MOV_W 1 = mise à jour
EN ENO Sélectionner unité de temps PTO/PWM :
SM77.3 0 = 1 µs/impulsion
5 IN OUT SMD82
1 = 1 ms/impulsion
Méthode de mise à jour PWM :
PLS SM77.4 0 = mise à jour asynchrone
EN ENO
1 = mise à jour synchrone
0 Q0.X Fonctionnement PTO :
SM77.5 0 = segment unique
1 = segments multiples
Sélectionner mode PTO ou PWM :
SM77.6 0 = PTO
1 = PWM
Valider PTO/PWM :
SM77.7 0 = inhiber PTO/PWM
1 = valider PTO/PWM
SMW78 Période PTO/PWM
SMD82 Valeur de comptage des impulsions PTO

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 52

Exemple 22 :

SM0.0 (16#DB) = (1101 1011)2


MOV_B
EN ENO
7 6 5 4 3 2 1 0
16#DB IN OUT SMB67 SMB67 1 1 0 1 1 0 1 1

MOV_W Q0.0
EN ENO Mettre à jour la période PTO/PWM :
SM67.0 0 = pas de mise à jour
100 IN OUT SMW68
1 = mise à jour de la période
Mettre à jour la durée d'impulsion PWM :
MOV_W SM67.1 0 = pas de mise à jour
EN ENO 1 = mise à jour
20 IN OUT SMW70 Mettre à jour valeur de comptage des impulsions :
SM67.2 0 = pas de mise à jour
1 = mise à jour
PLS Sélectionner unité de temps PTO/PWM :
EN ENO
SM67.3 0 = 1 µs/impulsion
0 Q0.X 1 = 1 ms/impulsion
Méthode de mise à jour PWM :
SM67.4 0 = mise à jour asynchrone
1 = mise à jour synchrone
Fonctionnement PTO :
SM67.5 0 = segment unique
1 = segments multiples
Sélectionner mode PTO ou PWM :
SM67.6 0 = PTO
1 = PWM
Valider PTO/PWM :
SM67.7 0 = inhiber PTO/PWM
1 = valider PTO/PWM
SMW68 Période PTO/PWM
SMW70 Durée d'impulsion PWM
SMD72 Valeur de comptage des impulsions PTO

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique
Chapitre 3 : Exemple d'un API : Siemens SIMATIC S7-200 CPU 224 53

Exemple 23 :

Cours : Automatismes et Informatique Industrielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 3ème année Licence Électromécanique

Vous aimerez peut-être aussi