Documente Academic
Documente Profesional
Documente Cultură
Les Automates Programmables Industriels « API » sont apparus la première fois aux USA. Ils étaient
destinés à l'origine à automatiser les chaînes de montages automobiles. Le père fondateur des « API » est
Dick Morely en 1969 (qui est aussi fondateur de la société « Modicon » en 1968). Le succès de la société
« Modicon » donna naissance à une industrie mondiale qui s’est considérablement développée. C'est en
1971 qu'ils firent leur apparition en France. Les automates programmables sont de plus en plus employés
dans toutes les industries et présentent aujourd’hui l’intelligence des systèmes et procédés automatisés de
l’industrie, des infrastructures, du bâtiment, … Ils correspondent à la partie commande d’un système
automatisé (voir la figure suivante) :
Figure n° 1 : Schéma d’un système automatisé avec utilisation des Automates Programmables Industriels « API »
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 5
Module LOGO SIMATIC S7-200 SIMATIC S7-300 SIMATIC S7-400 CPU T Motion Control CPU SIMATIC ET 2000 SIMATIC S-1200 SIMATIC S-1500
LOGO! 12/24RCo 12/24 V CC 8 TOR (1) 4 Relais (10 A) Pas d’écran & pas de clavier
LOGO! 24o 24 V CC 8 TOR (1) 4 Transistors 24V/0,3A Pas d’écran & pas de clavier &
pas d’horloge
LOGO! 24RCo (3) 24 V CA/24 V CC 8 TOR 4 Relais (10 A) Pas d’écran & pas de clavier
LOGO! 230RCo (2) 115...240 V CA/CC 8 TOR 4 Relais (10 A) Pas d’écran & pas de clavier
(1) : Vous pouvez également utiliser au choix : 4 entrées analogiques (0 ... 10V) et 4 entrées « TOR » rapides.
(2) : 230 V CA, versions : deux groupes, chacun étant composé de 4 entrées. Au sein d’un groupe, chaque entrée doit être raccordée à la même
phase. Les groupes peuvent être interconnectés avec une phase différente.
(3) : Les entrées « TOR » peuvent être soit à commutation P, soit à commutation N.
Le tableau suivant contient un échantillon de quelques modules d’extension disponibles et qui peuvent
être raccordés aux automates « LOGO! » :
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 6
Symbole Nom Alimentation Entrées Sorties
LOGO! DM 8 12/24R 12/24 V CC 4 TOR 4 Relais (5A)
LOGO! DM 8 24 24 V CC 4 TOR 4 transistors 24V/0,3A
LOGO! DM 8 24R (3) 24 V CA/CC 4 TOR 4 Relais (5A)
LOGO! DM 8 230R 115...240 V CA/CC 4 TOR (1) 4 Relais (5A)
LOGO! DM 16 24 24 V CC 8 TOR 8 transistors 24V/0,3A
LOGO! DM 16 24R 24 V CC 8 TOR 8 Relais (5A)
LOGO! DM 16 230R 115...240 V CA/CC 8 TOR (4) 8 Relais (5A)
LOGO! AM 2 12/24 V CC 2 Analogiques (0 ... 10V) ou (0 ... 20mA) (2) Aucune
LOGO! AM 2 PT100 12/24 V CC 2 Pt100 (-50 ˚C à +200 ˚C) Aucune
LOGO! AM 2 AQ 24 V CC Aucune 2 Analogiques
(0 ... 10 V CC)
(0/4...20mA) (5)
(1) : Des phases différentes ne sont pas autorisées dans les entrées.
(2) : Raccordement facultatif de : 0 ... 10 V ou 0 ... 20 mA.
(3) : Les entrées « TOR » peuvent être soit à commutation P, soit à commutation N.
(4) : Deux groupes composés chacun de 4 entrées. Au sein d’un groupe, chaque entrée doit être raccordée à la même phase. Les groupes peuvent être
interconnectés avec une phase différente.
(5) : Raccordement facultatif de : 0 ... 10 V ou 0/4 … 20 mA.
Le tableau ci-dessous contient deux modules de communication, qui peuvent être raccordés aux
automates « LOGO! » :
Symbole Nom Alimentation Entrées Sorties
LOGO! CM AS- interface 30 V CC Les 4 entrées suivantes derrière Les 4 sorties suivantes derrière les
les entrées physiques de sorties physiques de « LOGO! »
« LOGO! » (In ... In+3) (Qn ... Qn+3)
LOGO! CM EIB/KNX 24 V CA/CC Max. 16 entrées TOR virtuelles (I) ; max. 12 sorties TOR virtuelles (Q) ;
Max. 8 entrées analogiques Max. 2 sorties analogiques
virtuelles (AI) virtuelles (AQ)
Le tableau suivant contient un module afficheur de textes qui peut être connecté aux automates
« LOGO! » :
La figure suivante correspond à un exemple de configuration « LOGO! » avec trois modules d’extension.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 7
2.1 Raccordement de la tension d’alimentation à l’automate « LOGO! »
Les automates LOGO! 230 conviennent aux tensions de réseau de valeur nominale 115V et 240V. Quant
aux automates LOGO! 24 et LOGO! 12, ils conviennent aux tensions d’alimentation 24V CC, 24V CA ou
12V CC.
Figure n° 5 : API « LOGO! » avec alimentation en courant continue Figure n° 6 : API « LOGO! » avec alimentation en courant alternatif
NB : on peut envisager une protection par fusible (recommandé) pour : 12V → 0,8 A et 24V → 2,0A
La réalisation du circuit avec l’automate programmable « LOGO! » est schématisé par la figure n° 8.
Figure n° 8 : Schéma de câblage et programme automate « LOGO! », correspondant au schéma électrique de la figure n° 7
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 8
2.2.2 Commande de l’éclairage d’une cage d’escalier ou de couloir
Notons, dans un premier temps, que les exigences relatives à un éclairage de la cage d’escalier ou de
couloir sont généralement imposées, nous pouvons citer ce qui suit :
La lumière doit être allumée pendant qu’une personne utilise l’escalier ou traverse le couloir ;
Lorsque personne ne se trouve dans l’escalier ou dans le couloir, la lumière doit être éteinte afin
d’économiser de l’énergie.
Solution conventionnelle : il existe deux possibilités de
commuter l’éclairage : la 1ère avec un relais à impulsions et la
2ième avec un système automatique. Le câblage requis pour les
deux systèmes précités est identique.
En cas d’utilisation d’un relais à impulsions, le dispositif
d’éclairage présente le comportement suivant : l’action sur un
interrupteur quelconque, implique l’activation de l’éclairage
et l’action de nouveau d’un interrupteur quelconque,
implique la désactivation de l’éclairage. Figure n° 9 : Exemple n° 1 de commande de l’éclairage
NB : on oublie souvent d’éteindre la lumière !
En cas d’utilisation d’un système automatique, le dispositif d’éclairage présente le comportement
suivant : l’action sur un interrupteur quelconque, implique l’activation de l’éclairage et après
écoulement d’un temps prédéfini, l’éclairage s’éteint de nouveau automatiquement.
NB : la lumière ne peut pas être allumée pour une durée plus longue (par exemple, pour le ménage).
Le commutateur prévu pour l’éclairage permanent se trouve la plupart du temps au niveau du
système automatique d’éclairage de l’escalier, lequel est difficile d’accès, voire inaccessible !
Le câblage du dispositif d’éclairage avec l’automate « LOGO! » n’est pas différent d’un éclairage
conventionnel prévu dans les cages d’escalier ou couloirs. Seul le système d’éclairage automatique de
l’escalier ou le relais à impulsion sont remplacés. Les fonctions supplémentaires sont directement saisies
dans l’automate « LOGO! ».
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 9
Figure n° 11 : Vue de dessus et de face de la porte à commander par l’automate « LOGO! »
NB : La porte est le plus souvent entraînée par un moteur et un accouplement à friction. Ce système évite
que des personnes ne soient bloquées et blessées par la porte. La commande complète est raccordée
au secteur par un interrupteur général.
Parmi les composants utilisés, nous pouvons citer ce qui suit :
K1 Contacteur principal → Ouvrir ;
K2 Contacteur principal → Fermer ;
S1 (Contact à ouverture) → Commutateur de fin de course Fermé ;
S2 (Contact à ouverture) → Commutateur de fin de course Ouvert ;
B1 (Contact à fermeture) → Détecteur de mouvement infrarouge extérieur ;
B2 (Contact à fermeture) → Détecteur de mouvement infrarouge intérieur.
Solution à base de la logique câblée : Le schéma à
côté correspond à la commande de l’ouverture et
fermeture de la porte :
Si l’un des détecteurs de mouvement B1 ou B2
détecte la présence d’une personne, l’ouverture de
la porte s’active via le contacteur K3 ;
Lorsque la zone de détection des deux détecteurs de
mouvement est vide (pendant un temps minimum),
le contacteur K4 valide l’opération de fermeture de
la porte.
Figure n° 12 : Schéma de commande de la porte
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 10
Figure n° 14 : Schéma de la solution à base de la logique câblée Figure n° 15 : Circuit programmée sur l’API « LOGO »
Les interfaces standard assurent la connexion des consoles de programmation, des Interfaces Homme
Machine « IHM » ainsi que des produits extérieurs : modem, imprimante, lecteur code barre, PC, ... Le
port USB permet le pilotage de 31 variateurs de vitesse. Ce type d’automate est géré par le logiciel de
programmation Micro/WIN contenant les outils et langages nécessaires pour toute la gamme « S7-200 ».
Caractéristique CPU 221 CPU 222 CPU 224 CPU 226 CPU 226XM
Mémoire de programme 2048 mots 2048 mots 4096 mots 4096 mots 8192 mots
Mémoire de données 1024 mots 1024 mots 2560 mots 2560 mots 5120 mots
Modules d’extension 0 2 7 7 7
Potentiomètres analogiques 1 1 2 2 2
Tableau n° 6 : Echantillon de quelques modèles de CPU « S7-200 » avec des caractéristiques correspondant
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 11
Sur la partie supérieure, nous avons de gauche à droite : des bornes à vis pour les sorties de
commande et des bornes à vis pour l’alimentation ;
Sur la partie de gauche, nous avons le connecteur correspondant à l’interface de programmation ;
Sur la partie de droite, nous avons respectivement le sélecteur de mode de fonctionnement de
l’automate (STOP, TERM et RUN), le connecteur correspondant au mode d’extension (il n’existe pas
pour la CPU 221) et un potentiomètre de réglage ;
Sur la partie inférieure, nous avons de gauche à droite : des bornes à vis pour les bornes d’entrées et
aussi des bornes à vis pour l’alimentation (24 VCC/180 mA) qui sera destinée aux détecteurs/capteurs.
La figure n° 18 donne un exemple de câblage de l’automate « S7-200 avec la CPU 221 » permettant de :
commander un moteur à courant continue (24 VCC) et une bobine → (partie supérieure) ;
lire des informations « TOR » arrivant sur les différentes entrées → (partie inférieure).
Figure n° 17 : Schéma de brochage de l’automate « S7-200 » Figure n° 18 : Exemple de câblage de l’automate « S7-200 »
Le fonctionnement du système peut être décrit comme suit : Deux tuyaux aboutissent au sommet de la
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 12
cuve, apportant deux ingrédients différents. Un tuyau au bas de la cuve transporte le mélange de peinture
achevé. L’exemple de programme commande le remplissage, surveille le niveau de la cuve et commande
le cycle de mélange et de chauffage, comme décrit dans les étapes suivantes :
Etape 1 : remplir la cuve avec l’ingrédient 1 ;
Etape 2 : remplir la cuve avec l’ingrédient 2 ;
Etape 3 : surveiller le niveau de la cuve (fermeture du commutateur de niveau supérieur) ;
Etape 4 : maintenir l’état des pompes si le commutateur de démarrage s’ouvre ;
Etape 5 : commencer le cycle de mélange et de chauffage ;
Etape 6 : démarrer le moteur mélangeur et activer la soupape de vapeur ;
Etape 7 : vidanger la cuve de mélange ;
Etape 8 : compter chaque cycle.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 13
3.2.2 Exemple de programme écrit en langage « CONT : à contacts »
De la même façon qu’en § II 3.2.1, on peut introduire le programme « CONT » suivant sur l’automate
programmable « S7-200 » à l’aide du logiciel « MicroWin » :
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 14
4° Présentation de l’automate programmable « S7-300 »
L’automate S7-300 est conçu pour des solutions dédiées aux systèmes
manufacturiers comme l’automobile, l’emballage, l’agro-alimentaire,
la plasturgie, …. Il est géré par le logiciel de programmation
SIMATIC Manager contenant les outils et langages nécessaires pour
toute la gamme « S7-300 ». Cette classe d’automates offre de
nombreux avantages, citons entre autres :
une construction compacte et modulaire ; Figure n° 22 : API « S7-300 »
une large gamme de CPU adaptée à toutes les demandes de performances pouvant obtenir des temps
de cycle machines courts :
- 24 CPU standards : avec interface Ethernet/PROFInet intégrée ;
- CPUS de sécurité ;
- CPU compactes avec fonctions technologiques et périphérie intégrées (exemple le comptage, la
régulation ou le positionnement) ;
- CPU technologiques pour la gestion des fonctions motion control (fonctions qui se classent en deux
catégories : les fonctions pour les mouvements mono-axe et celles pour les mouvements multi-axes).
modules d’E/S « TOR » et analogiques pour la quasi-totalité des signaux avec possibilité de traitement
des interruptions et du diagnostic ;
modules pour emploi dans des zones à atmosphère explosive ;
modules de fonction technologique : régulation et came électronique et des modules de communication
point à point ou par bus ASi, Profibus ou Industrial Ethernet.
4.1 Schéma synoptique d’un automate de type « S7-300 » avec les modules d’entrées/sorties
Dans ce qui suit, nous allons présenter, dans un premier temps, les caractéristiques des principaux
modules composant un automate modulaire de la famille Siemens, citons entre autres (figures n° 23) : le
module alimentation « PS… », l’unité centrale « CPU », les modules d’entrées/sorties, le module
communication « COM », … Tous ces modules sont montés sur un profilé métallique que nous
appelons le Rack. Ce dernier sert comme support aux différents modules de l’automate programmable
(figures n° 24).
Figure n° 23 : Modules & accessoires composant un automate siemens Figure n° 24 : Schéma du Rack
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 15
4.2 Le module d’alimentation « PS 307 »
Le module d’alimentation fournit à l’automate (CPU et différents modules
correspondant) l’énergie nécessaire à son fonctionnement : à partir de
l’alimentation prise du secteur, il délivre des sources de tension dont
l’automate a besoin : 24V, 12V ou 5V en continu. Ces modules portent le
symbole : PS 307 (Power Supply). On les choisit en fonction de la puissance
totale à fournir aux cartes, exemple :
PS 307 : Alimentation, AC 100/240V, DC, 24V, 2.5A
PS 307 : Alimentation, DC 24V, 6..12A, pour le Speedbus
Figure n° 25 : Module « PS 307 »
PS 307 : Alimentation, AC 100/240V, DC, 24V, 5A
PS 307 : Alimentation, AC 100/240V, DC, 24V, 10A, …
CPU 312SC CPU 313SC CPU 314ST/DPM CPU 315SN/NET CPU 317SE/DPM
Technologie SPEED7 Technologie SPEED7 Technologie SPEED7 Technologie SPEED7 Technologie SPEED7
- DI 16xDC 24V, - DI 16xDC 24V, - DI 8xDC 24V, - 1 MB, extensible - 2 MB extensible jusque
- Compteurs 2x32 bit, Compteurs 3x32 - Compteurs 4x32 bit, jusque 2MB 8M Byte mémoire data,
- DO 8xDC 24V 0.5A, - bit (AB), - DIO 8xDC 24V 0.5A, mémoire data, - SPEEDbus,
- PtP RS485, - DO 16xDC 24V 0.5A, - AI 4x12Bit, - Profibus DP - Profibus DP Master,
- ASCII, - Profibus-DP Master, - AO 2x12Bit, Master, - Ethernet-Interface pour
- Modbus-Master, 12Mbit/s tot 125, - 1xPt100, - Ethernet-Interface PG/OP-communication,
- USS-Master, - Slaves/PtP, - Profibus DP pour PG/OP- - MPI-Interface
- Ethernet interface - RS485, Ethernet-Interface - Ethernet interfaxe pour communication,
pour communication pour communication communication PG/OP, - Ethernet-CP 343,
PG/OP PG/OP - MPI-Interface - MPI-Interface
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 16
à la fois des entrées et des sorties).
NB : Le câblage peut s’effectuer directement sur les cartes E/S ou par l’intermédiaire de borniers
déportés
Parmi les modules digitaux de sortie, nous pouvons citer :
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 17
le SM322 avec 8 sorties digitales à : 24V, 2A
le SM322 avec 16 sorties digitales à : 24V, 1A
le SM322 avec 16 sorties digitales à : 16xDC 24V, 2A
le SM322 avec 32 sorties digitales à : 24V, 1A
le SM322 avec 16 sorties Relais à : 24V/AC 230V, 5A ; …
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 18
Parmi les modules de sorties analogiques qui existent sur le marché, nous pouvons citer ce qui suit :
le SM332 (analogic output AO 2x12Bit, U/I),
le SM332 (analogic output AO 4x12Bit, U/I), …
Sur l’exemple donné par le schéma ci-dessous, le moteur est piloté par l’étage de puissance et entraîne
l’axe linéaire.
D’autre part, l’étage de puissance (un montage à
contacteurs par exemple) est piloté via les sorties
« TOR » du module de commandes d’axes
« FM351 ». En cas de d’actionnement du
dispositif de sécurité (Arrêt d’urgence ou fin de
course matériel), l’étage de puissance coupe le
moteur.
Les modules de commandes d’axes « FM 351 »
sont utilisés dans de nombreux domaines, nous
pouvons citer entre autres :
les machines d’emballage,
les machines à papier et d’imprimerie,
Figure n° 32 : Les principaux composants d’un positionnement d’axe
l’industrie de matériaux de construction,
les machines outils, …
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 19
4.7 Les modules de comptage « FM 350-2 »
Les modules de fonction « FM 350-2 » permettent de réaliser des comptages à 8 voies avec des fonctions
de dosage pouvant être utilisées dans un automate programmable « S7-300 ». Ils peuvent fonctionner à
l’intérieur de la plage de comptage maximale suivante :
De - 2 147 483 684 (soit : - 231) à + 2 147 483 684 (soit : + 231)
La fréquence d’entrée maximale des signaux de comptage s’élève, en fonction du signale de capteur,
jusqu’à 10 kHz par voie de comptage. Et les modules « FM 350-2 » peuvent être utilisés pour les tâches
suivantes :
les fonctions compteur et décompteurs,
la mesure de fréquence,
la mesure de la vitesse de rotation,
la mesure de la période,
le dosage, ...
NB :
Le démarrage et l’arrêt du comptage et du décomptage se font à l’aide du programme (validation
logicielle) ou de signaux externes (validation matérielle).
Les signaux de comptage, de validation et de direction peuvent être directement connectés au module.
On peut stocker dans les modules « FM 350-2 » un seuil de comparaison pour chaque voie de
comptage (quatre seuils de comparaison en mode « Dosage »). Lorsqu’un compteur atteint ce seuil de
comparaison, on peut mettre la sortie à 1 ou à 0 afin de déclencher directement des opérations de
commande dans le processus et/ou déclencher une alarme de processus.
Les modules de comptage « FM 350-2 » sont utilisés dans de nombreux domaines, nous pouvons citer
entre autres :
les installations d’emballage,
les installations de tri,
les installations de dosage,
les machines à papier et d’imprimerie,
les régulations de vitesse et surveillance de turbines à gaz, …
La figure suivante correspond à un exemple de mise en application : il s’agit d’un système qui permet le
remplissage d’un carton avec un certain nombre de pièces provenant d’un conteneur.
La voie de comptage « 0 » compte les pièces et
commande la soupape de remplissage. Quant à
la voie de comptage « 1 », elle commande le
moteur assurant le transport des cartons et
compte le nombre de cartons.
Lorsque le carton se trouve au bon endroit, la
soupape s’ouvre et le carton est rempli de pièces.
La soupape se ferme lorsque le nombre de
pièces indiqué est atteint et le transport du carton
est déclenché. Les pièces tombant ensuite sont
comptabilisées jusqu’à l’arrivé d’un nouveau
carton. Il est possible d’indiquer un nouveau
nombre de pièces pendant le transport des 1)-Bande ; 2) Moteur ; 3)-Validation ; 4)-Barrières photoélectriques ; 5)-Valve
cartons. On peut surveiller les pièces mises dans
les cartons ainsi que le nombre de cartons. Figure n° 33 : Exemple d’un système permettant le remplissage
d’un carton avec un certain nombre de pièce
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 20
4.8 Les modules pour la mesure de la température « FM 355 »
La mesure de la température peut se faire à l’aide des modules « FM 355 » dont une liste est donnée ci-
dessous :
FM 355-3SD00 Temperature Control Module « TCM », 4 voies, U/I ;
FM 355-3SD00 TCM 4 voies, Thermo-element-/Pt100 ;
FM 355-3SD10 TCM 4 voies, Thermo-element-/Pt100 ;
FM 355-3SF00 TCM 8 voies, U/I ;
FM 355-3SF10 TCM 8 voies, Thermo-element-/Pt100 ;
FM 355-4SD00 TCM 4 voies, output 8xDIO 24V (DO 0.5 A), U/I ;
FM 355-4SD10 TCM 4 voies, output 8xDIO 24V, Thermo-element-/Pt100 ;
FM 355-4SF00 TCM 8 voies, output 24xDIO 24V (DO 0.5 A), U/I ;
FM 355-4SF10 TCM 8 voies, output 24xDIO 24V, Thermo-element-/Pt100 ;…
Définition du réseau Profibus : Le réseau Profibus est conforme à la norme européenne Profibus [EN
50170 Vo. 2e] de bus de process et de terrain. C’est un bus ouvert et indépendant de tout constructeur. En
outre, il est dédié aux niveaux cellule et terrain. Le support physique correspondant est soit un réseau
électrique constitué d’une paire torsadée, soit un réseau optique réalisé à l’aide de fibres optiques (FO).
Ce type de réseaux permet avec Ethernet et AS - Interface (AS - i) de réaliser une mise en réseau sans
faille des niveaux conduite, cellule et terrain (voir les figures suivantes).
Figure n° 34 : Les réseaux : Industriel Ethernet, Profibus et AS-Interface au sein du concept SIMATIC Net
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 21
4.10 Les processeurs de communication « CP Ethernet » sur automates SIMATIC S-7
RT : Real Time) ; IRT : Isochronous Real Time, pour le trafic de données IO cyclique
Les différents modes de communication supportés par CP Ethernet sont schématisés sur la figure ci-
dessus :
→ La communication PG/OP sert au chargement de programmes et de données de configuration, à
l’exécution de fonctions de test et de diagnostic ainsi qu’au contrôle - commande des process ;
→ La communication S7 constitue une interface simple et efficace entre stations SIMATIC S7 et entre
stations et PG/PC via des blocs fonctionnels de communication (CFB) ;
→ La communication compatible S5 avec interface SEND/RECEIVE assure la communication
programmée via une liaison configurée entre automates SIMATIC S7 et automates SIMATIC S7 ou
SIMATIC S5 et entre ces automates et des PC/PG ou des stations d’autres constructeurs. Selon le
type de CP, les services de communication ci-après sont disponibles au niveau de l’interface
SEND/RECEIVE :
Transport ISO optimisé pour la mise en œuvre performante sur un niveau de fabrication fermé ;
TCP/IP pour la communication inter-réseau avec liaisons ISO - on - TCP (RFC 1006), liaisons
TCP et service de datagrammes UDP (y compris broadcast / multicast) ;
Envoi de courrier électronique, ça permet à l’automate d’envoyer des messages en fonction des
événements du process.
→ La communication compatible S5 avec services FETCH/WRITE (serveur) : Les services
FETCH/WRITE (serveur) permettent à des automates SIMATIC S5, des stations PC SIMATIC ou
d’un autre constructeur d’accéder directement aux zones de mémoire système de la CPU d’un
automate SIMATIC S7. Selon le type de CP, les services de communication ci - après sont disponibles
pour les accès FETCH/WRITE :
Transport ISO optimisé pour la mise en œuvre performante sur un niveau de fabrication fermé ;
TCP/IP pour la communication inter - réseau avec liaisons ISO - on - TCP (RFC 1006), liaisons TCP.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 22
→ La communication PROFINET IO : PROFINET est une norme de l’organisation des utilisateurs
PROFIBUS (PNO). Les modes correspondants sont les suivants :
PROFINET IO Controller : les CP S7 qui prennent en charge le mode PROFINET IO Controller,
permettent d’accéder directement aux IO Devices via Industrial Ethernet ;
PROFINET IO Device : les CP S7 qui prennent en charge le mode PROFINET IO Device permettent
d’utiliser des stations S7 comme des PROFINET IO Devices ‘intelligent’ sur Industrial Ethernet.
NB : La communication PROFINET IO fait appel à des liaisons TCP pour le paramétrage et des
liaisons RT (Real Time) ou IRT (Isochronous Real Time) pour le trafic de données IO cyclique.
→ La communication PROFINET CBA : sous PROFINET CBA, on utilise des connexions
acycliques et cycliques ;
→ La communication Contrôle de process HTML : sur ce type de CP, les fonctions et pages HTML
mises à disposition permettent d’interroger les données systèmes importants au moyen d’un
navigateur web ;
→ La gestion de fichiers et l’accès aux fichiers via FTP : sur ce type de CP, on dispose de fonctions
additionnelles pour services FTP.
Le tableau n° 8 présente les possibilités de communication entre différents types de matériel résultant des
modes de communication précités. Et selon le type de modules, les CP S7 supportent les possibilités de
communication suivantes :
1)-Profinet IO-Device ; 2)-Profinet IO-Controller ; 3)-Profinet IO-Device ou Profinet IO-Controller ; 4)-Seulement serveur
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 23
La figure suivante correspondant au schéma du processeur de communication « CP 343-1 Lean » qui est
utilisé sans problèmes sur les automates « S7-300 » et « C7-300 ». Ce type de module de communication
présente les caractéristiques suivantes :
C’est un module compact (simple ou double largeur), facile à monter sur le profilé support du S7 ;
Il est prévu pour équiper l’unité de base ou d’extension ;
Les éléments de commande et d’affichage sont exclusivement en face avant ;
Il fonctionne sans refroidissement par ventilateur ;
La liaison directe des cartes au bus interne s’obtient par le connecteur joint ;
Pour la forme large → connecteur femelle RJ - 45 à 8 points pour la connexion du CP à Ethernet Twisted
Pair ;
Pour la forme étroite → 2 connecteurs femelles RJ - 45 à 8 points servant de switch à 2 ports pour la connexion
du CP Ethernet Twisted Pair ;
La configuration du CP est réalisable via MPI ou réseau local/Industrial Ethernet. On doit disposer de Step 7
dans la version validée pour le type d’appareil en question.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 24
la communication compatible S5 avec interface SEND/RECEIVE (idem que plus haut) ;
la communication standard (Interface FMS) : l’interface FMS assure la transmission programmée,
indépendante du matériel, de données structurées via une liaison configurée entre automates SIMATIC
S7 et des matériels supportant le protocole FMS ;
Le tableau ci-après présente les possibilités de communication entre les types de matériel résultant des
modes de communication précités :
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 25
Figure n° 39 : Exemple de stations qui communiquent au moyen de liaisons S7 via le réseau et « les CP Profibus »
Le « CP Profibus » est utilisé comme “relais de communication” qui transmet les fonctions de
communication via PROFIBUS. La communication S7 se déroule, du point de vue de l’utilisateur, de
manière identique via Pfofibus et Industrial Ethernet. On distingue, selon le type de matériel et la
configuration de l’installation, 2 cas :
Fonction de client et de serveur bilatérale : les liaisons S7 peuvent être utilisées entre les stations
ci - après avec toutes les fonctionnalités de la communication S7 :
- entre stations « S7 – 300 » et « S7 – 400 » (et respectivement entre elle) ;
- entre stations S7 et stations PC/PG avec « CP Profibus ».
La figure suivante donne deux schémas correspondant respectivement aux processeurs de communication
« CP 342-5 » / « CP 343-5 » et au processeur « CP 342-5 F0 ». Ce type de modules de communication
présente les caractéristiques suivantes :
c’est un odule compact (simple ou double largeur), facile à monter sur le profilé support du S7 ;
les éléments de commande et d’affichage sont exclusivement en face avant ;
la connexion directe des modules se trouve au fond de panier via connecteur de bus joint ; connecteur
Sub - D femelle à 9 points ou connecteurs femelles duplex pour la connexion du CP à Profibus ;
le CP peut être configuré via « MPI » ou réseau local/PROFIBUS.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 26
4.12 L’utilisation des différents processeurs de communication dans un projet
Dans la pratique, nous
pouvons rentrer des projets
avec différents processeurs de
communication.
Dans l’exemple ci-dessous,
nous avons deux types de
réseaux et de modules de
communication : technologie
Ethernet et technologie
Profibus. Figure n° 41 : Utilisation des réseaux et modules de communication appartenant à des familles différentes
Mnémoniques/SY*1 :
Programme S7 : Ici est enregistrée la liste des
CPU: Ici sont gérés les programmes mnémoniques pour l’adressage
Ici sont représentés le utilisateur (Blocs/AP-off*1), mnémonique.
programme S7 ainsi que les tables de mnémoniques
les connexions en réseau (Mnémoniques/SY*1) et les
(Connexions/CO*1). sources (Sources/SO*1).
*1 désigne STEP 7 version 2.x
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 27
Par configuration, on entend dans ce qui suit la disposition de profilés support ou châssis (Racks), de
modules vus plus haut, d'appareils de la périphérie décentralisée, etc. Les profilés support ou châssis sont
représentés par une table de configuration, dans laquelle on peut mettre un nombre défini de modules,
tout comme dans les profilés support ou châssis ‘réels’. STEP 7 affecte automatiquement une adresse à
chaque module dans la table de configuration. A la mise en route de l'automate programmable, la CPU
compare la configuration prévue et créée avec STEP7 à la configuration sur site de l'installation. Aussi,
les erreurs éventuelles sont immédiatement détectées et signalées.
Nous supposons dans cette partie, que le logiciel automate est installé sur votre ordinateur :
MicroWin pour les API « S7-200 » ou SIMATIC Manager pour les API « S7-300 » et API « S7-400 ».
Dans ce qui suit, nous allons travailler sur un automate de la famille « S7-300 ».
Le logiciel « SIMATIC Manager » étant maintenant en marche, cliquez sur l’item Fichier pour ouvrir le
menu déroulant.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 28
Ensuite, cliquez sur l’item Assistant de STEP7 pour lancer l’assistant aidant à la création d’un nouveau
projet. La figure suivante montre l’environnement du « SIMATIC Manager ». Notez au bas de la fenêtre
la ligne d’état qui vous indique la fonction de l’item choisi dans le menu déroulant. L’assistant étant
lancé, cette première fenêtre s’ouvre à l’écran. C’est la fenêtre d’introduction de l’assistant.
Ensuite, cliquez sur Suivant. Cette seconde fenêtre prend la place de la fenêtre précédente. C’est la
première des trois fenêtres de configuration du projet. Vous devez choisir le modèle du CPU de
l’automate à programmer. Choisissons à titre d’exemple la CPU de la référence suivante : CPU314
(figure suivante). Veuillez donc la sélectionner parmi la liste du menu déroulant qui vous est présenté.
Le numéro de référence est simplement le numéro de catalogue de cette pièce (à utiliser si vous voulez
passer une commande chez Siemens). Le champ « nom de la CPU » peut être modifié pour identifier la
fonction ou l’emplacement de cette CPU dans l’usine (par exemple l’automate ayant cette CPU est en
charge de la « Station de pompage »), …
Enfin, l’adresse de communication « MPI » doit être fixée à 2 (donnée par le constructeur). Une fois ces
opérations faites, cliquez sur Suivant. La troisième fenêtre ci-dessous apparaît alors. Elle correspond à la
deuxième fenêtre de configuration du projet.
Il faut choisir les blocs d’organisationnels à utiliser. Pour ce premier projet, nous n’utiliserons que le bloc
« OB1 ». Ce bloc contient le programme qui sera continuellement exécuté par l’automate. L’automate
programmable exécute la séquence suivante de façon répétitive, tant qu’il est en mode d’exécution :
lecture de l’état des entrées (pour savoir l’état logique des capteurs, des boutons, …) ;
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 29
exécution complète du bloc « OB1 »;
écriture de l’état des sorties obtenues suite à l’exécution du bloc « OB1 » (pour allumer des voyants,
démarrer des moteurs, déplacer des vérins, …).
Il faut aussi choisir le langage de programmation. L’automate nous permet de le programmer selon les
trois langages suivants :
LIST : en liste d’état (langage ayant l’apparence de l’assembleur);
CONT : en langage à contacts (ou Ladder ou diagrammes échelle) ;
LOG : en logigrammes ;
en Grafcet aussi.
Choisissez, par exemple, le langage de programmation à contacts (CONT), puis cliquez sur Suivant.
Cette dernière fenêtre apparaît alors : il vous suffit alors de choisir un nom pour le projet, puis de cliquer
sur Créer.
Figure n° 50 : Choix d’un nom pour votre projet à introduire sur SIMATIC Manager
Il est important de noter que le nom du projet devra commencer par exemple par un code permanent de
votre choix, suivit du nom que vous désirez donner au projet.
Figure n° 51 : Choix d’un nom pour votre projet à introduire sur SIMATIC Manager (suite)
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 30
Par exemple, saisir le code suivant : « GAUG », puis le nom du projet : « premier programme ». L’écran
du « Simatic Manager » devrait alors avoir l’apparence ci-dessus. Dans le « Simatic Manager », une
fenêtre s’ouvre. Le titre de cette fenêtre est le nom du projet, soit « GAUG_premier_programme ». On
indique en plus du nom du projet les informations ci-dessous.
En cliquant sur le répertoire « Station SIMATIC 300 » (ou sur l’item de droite « Station SIMATIC
300 »), vous voyez apparaître dans l’écran de droite les items « Matériel » et « CPU314(1) ».
Le premier item mène à la
définition du matériel utilisé
dans le projet, en particulier
des automates. Le second item
mène à la programmation de
l’unique automate du projet
(puisque l’on en a qu’un par Figure n° 54 : Structuration d’un projet, (suite)
table) nommé « CPU314(1) ».
En double cliquant sur « Matériel », vous lancez le logiciel de configuration de matériel et la fenêtre
suivante apparaît :
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 31
Dans la fenêtre de configuration du matériel, on voit apparaître plusieurs régions (avec la localisation des
modules dans les rails de montage). En position 2, nous retrouvons la CPU de l’automate identifié par le
nom « CPU314(1) ». Dans la partie de droite de cette fenêtre, on retrouve une autre fenêtre qui contient la
liste du matériel de l’automate. Cette liste comprend les éléments suivants :
PROFIBUS-DP : équipements pour le réseau;
PROFIBUS-PA ;
SIMATIC 300 : modules des automates de la série 300 ;
PROFINET IO ;
SIMATIC 400 : modules des automates de la série 400 ;
SIMATIC PC Based Control 300/400 ;
STATION PC SIMATIC.
Les règles de configuration pour les automates S7-300 sont (voir aussi les figures suivantes) :
Emplacement 1 : uniquement alimentation (par exemple PS 307 2A, ….) ou vide ;
Emplacement 2 : uniquement unité centrale (par exemple CPU314(1)) ;
Emplacement 3 : réservé uniquement au module de couplage (Ex. MI 360) ou vide
Emplacements 4 à 11 : modules de signaux ou modules fonctionnels, processeurs de
communication ou vide.
Configuration du module alimentation
L’automate que nous avons sous la main étant équipé d’une CPU de type 314, il fait partie de la série 300.
En cliquant sur le + qui précède l’item SIMATIC 300 sur la fenêtre de droite, on voit apparaître une série
de répertoires qui désignent toute une série de modules.
Ajoutons le module d’alimentation à la configuration, ce module se retrouve dans le répertoire PS-300. Il
est situé à gauche du module CPU. Pour cet exemple, le module d’alimentation à choisir pour est de 2A.
Il est identifié par le code suivant : PS 307 2A. Pour l’ajouter à la configuration, il suffit de cliquer sur cet
item et à le glisser vers la ligne « 1 » du rail de droite.
Faîtes une sauvegarde en cliquant sur l’item Enregistrer du menu Fichier et fermer la fenêtre.
Configuration des modules de signaux « MS… »
En cliquant sur le + qui précède l’item SM 300 sur la fenêtre de droite, on voit apparaître une série de
répertoires qui désignent toute une série de modules de signaux (figure n° 57) :
AI-300 (pour Analogic Input),
AO-300 (pour Analogic Aoutput),
AI/AO-300 (pour Analogic Input et Analogic Aoutput),
DI-300 (pour Digital Input),
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 32
DO-300 (pour Digital Aoutput), …
→ Pour sélectionner les modules d’entrées digitales, on clique sur DI-300 sur la fenêtre de droite et on
sélectionne le module qui correspond à notre application. Prenons par exemple, le SM 321
DI32xDC24V. Il sera placé dans l’un des emplacements de la zone colorée en verte en cliquant deux
fois sur la référence ou en le glissant comme pour le module alimentation (voir la figure suivante).
De même, pour sélectionner les modules de sorties digitales, on clique sur DO-300 sur la fenêtre
de droite et on sélectionne le module qui correspond à notre application. Prenons par exemple, le
SM 322 DO16xDC24V/0.5A. Il sera placé dans l’un des emplacements de la zone colorée en verte
en cliquant deux fois sur la référence ou en le glissant comme indiqué plus haut (voir la figure
suivante).
Pour sélectionner les modules d’entrées analogiques, on clique sur AI-300 sur la fenêtre de droite
et on sélectionne le module qui correspond à notre application. Prenons par exemple, le SM 331
AI2x12bits, il s’agit d’un module permettant l’acquisition de 2 entrées analogiques (avec un
convertisseur analogique/numérique de précision de 12 bits). Ensuite, on le place dans l’un des
emplacements de la zone colorée en vert en cliquant deux fois sur la référence ou en le glissant
comme indiqué plus haut (voir la figure suivante).
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 33
Figure n° 59 : Choix des modules d’entrées analogiques et leur configuration
Pour sélectionner les modules de sorties analogiques, on clique, de la même façon, sur AI-300 sur
la fenêtre de droite et on sélectionne le module qui correspond à notre application. Prenons par
exemple, le SM 332 A02x12bits, il s’agit d’un module permettant l’envoi de 2 sorties analogiques
avec un convertisseur numérique/analogique de précision de 12 bits). Ensuite, on le place dans
l’un des emplacements de la zone colorée en vert en cliquant deux fois sur la référence ou en le
glissant comme indiqué plus haut (voir la figure suivante).
Sauvegarder cette configuration en cliquant l’item Enregistrer du menu déroulant Fichier et fermer la
fenêtre.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 34
La définition des paramètres de bus, des maîtres et d'esclaves pour un réseau maître (PROFIBUS) ou
d'autres définitions pour l'échange de données entre des composants.
Ces paramètres sont chargés dans la CPU qui, lors de son démarrage, les transmet aux modules
correspondants. Il est très facile de remplacer des modules, car les paramètres définis avec STEP-7 sont
automatiquement chargés dans le nouveau module à la mise en route.
Le temps de surveillance de cycle est l’intervalle de temps maximal entre deux initialisations du « chien
de garde ». Le chien de garde est un dispositif qui surveille continuellement le processeur du module
CPU. Si le processeur fonctionne correctement, il initialise le chien de garde à intervalle régulier. Si le
processeur est défaillant, il n’initialisera plus le chien de garde. Dès que la dernière initialisation remonte
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 35
à un délai supérieur au temps de surveillance, le chien de garde bloque le fonctionnement du processeur.
Cette sécurité assure qu’un processeur défaillant ne risque pas de causer de graves incidents.
NB : Ne pas activer de mémento de cadence !
Fermez après la fenêtre ci-dessus et l’écran redevient comme celui montré ci-dessus.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 36
Figure n° 65 : Paramétrage de l’interface de programmation « PC Adapter »
2. Cliquez sur le bouton‚ Sélectionner pour installer l’interface MPI proposée : Sélectionner
Cliquez sur
‘Sélectionner’
Cliquez sur
‘PC Adapter’ Cliquez sur
‘Installer’
4. Validez avec Oui. Dans le cas d’un nouvel enregistrement d’interface de STEP 7 en tant qu’interface
standard, veuillez utiliser l’accès en ligne. Ensuite, fermez la boîte de dialogue pour le choix de
l’interface ( Oui Fermer).
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 37
Cliquez
sur ‘Oui’
Cliquez sur
‘Fermer’
Cliquez sur
‘Propriétés’
Cliquez sur ‘Adapter
PC (MPI)'
6. Sélectionnez des valeurs pour l’Adresse MPI, le Délai d’attente, la Vitesse de transmission et
l’Adresse la plus élevée.
Adresse MPI du
PC/PG
Délai d’attente
Taux de Baud
Adresse la plus
élevée
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 38
NB : La vitesse de transmission doit être également réglée sur le « PC Adapter » ! Les adaptateurs
PC de l'ancienne génération (aussi appelés câbles PC/MPI) ne peuvent traiter qu'une vitesse
de transmission plus lente de 19200 bit/s.
Indications : Il est recommandé de laisser les valeurs par défaut !
10. Cliquez ensuite sur le bouton ' – Partenaires accessibles. Si tous les paramètres sont corrects,
l’image suivante s’affiche avec le répertoire des partenaires MPI accessibles. Vous pouvez
également lire ici l’adresse « MPI » de la « CPU » connectée, qui est à l’adresse « 2 » par défaut. Si
plusieurs automates sont connectés ou si des « CP/FM » sont branchés sur l’automate, alors il
apparaîtra ici plusieurs adresses « MPI » :
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 39
Exemple : Format du type de données INT (entiers de 16 bits)
Un nombre entier comporte un signe précisant s'il s'agit d'un entier positif ou négatif. L'espace occupé par
un nombre entier (16 bits) dans la mémoire est d'un mot. La figure suivante représente la plage d'un
nombre entier (16 bits) et le nombre entier +44 sous forme de nombre en binaire pur.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 40
INC INC Accumulateurs Incrémenter accumulateur 1-L-L
INVD INVD Conversions Complément à 1 d'entier de 32 bits
INVI INVI Conversions Complément à 1 d'entier de 16 bits
ITB ITB Conversions Convertir entier de 16 bits en DCB
ITD ITD Conversions Convertir entier de 16 bits en entier de 32 bits
JBI SPBI Sauts Saut si RB est 1
JC SPB Sauts Saut si RLG est 1
JCB SPBB Sauts Saut si RLG est 1 avec RB
JCN SPBN Sauts Saut si RLG est 0
JL SPL Sauts Saut vers liste
JM SPM Sauts Saut si moins
JMZ SPMZ Sauts Saut si inférieur ou égal à 0
JN SPN Sauts Saut si différent de 0
JNB SPBNB Sauts Saut si RLG est 0 avec RB
JNBI SPBIN Sauts Saut si RB est 0
JO SPO Sauts Saut si DEB est 1
JOS SPS Sauts Saut si DM est 1
JP SPP Sauts Saut si plus
JPZ SPPZ Sauts Saut si supérieur ou égal à 0
JU SPA Sauts Saut inconditionnel
JUO SPU Sauts Saut si illicite
JZ SPZ Sauts Saut si égal à 0
L L Accumulateurs Charger
L STW L STW Chargement/Transfert Charger mot d'état dans l'accumulateur 1
L L Temporisations Charger valeur de temps en cours comme nombre entier dans
l'accumulateur 1 (la valeur de temps en cours peut être un
nombre compris dans la plage de 0 à 255, exemple : L T 32)
L L Compteurs Charger valeur de comptage en cours comme entier dans
l'accumulateur 1 (la valeur de comptage en cours peut être un
nombre compris dans la plage de 0 à 255, exemple : L Z 15)
L DBLG L DBLG Blocs de données Charger longueur de DB global dans l'accumulateur 1
L DBNO L DBNO Blocs de données Charger numéro de DB global dans l'accumulateur 1
L DILG L DILG Blocs de données Charger longueur de DB d'instance dans l'accumulateur 1
L DINO L DINO Blocs de données Charger numéro de DB d'instance dans l'accumulateur 1
LAR1 LAR1 Chargement/Transfert Charger contenu de l'accumulateur 1 dans registre d'adresse 1
LAR1 LAR1 Chargement/Transfert Charger pointeur de 32 bits dans registre d'adresse 1
LAR1 LAR1 Chargement/Transfert Charger contenu du registre d'adr. 2 dans registre d'adr. 1
LAR2 LAR2 Chargement/Transfert Charger contenu de l'accumulateur 1 dans registre d'adresse 2
LAR2 LAR2 Chargement/Transfert Charger pointeur de 32 bits dans registre d'adresse 2
LC LC Compteurs Charger valeur de comptage en cours comme nombre DCB
dans l'accumulateur 1 (la valeur de comptage en cours peut
être un nombre compris dans la plage de 0 à 255, par exemple
: LC Z 15)
LC LC Temporisations Charger valeur de temps en cours comme nombre DCB dans
l'accumulateur 1 (la valeur de temps en cours peut être un
nombre compris dans la plage de 0 à 255, exemple : LC T 32)
LEAVE LEAVE Accumulateurs Quitter pile accumulateur
LN LN Fonction sur nombres à virgule flottante Logarithme naturel d'un nombre à virgule flottante (32 bits)
LOOP LOOP Sauts Boucle de programme
MCR( MCR( Gestion d'exécution de programme Sauvegarder RLG dans pile MCR, début de zone MCR
)MCR )MCR Gestion d'exécution de programme Fin de zone MCR
MCRA MCRA Gestion d'exécution de programme Activer la zone MCR
MCRD MCRD Gestion d'exécution de programme Désactiver la zone MCR
MOD MOD Fonction sur nombres entiers Reste de division entière (32 bits)
NEGD NEGD Conversions Complément à 2 d'entier de 32 bits
NEGI NEGI Conversions Complément à 2 d'entier de 16 bits
NEGR NEGR Conversions Inverser nombre à virgule flottante (VF IEEE 32 bits)
NOP 0 NOP 0 Accumulateurs Opération nulle
NOP 1 NOP 1 Accumulateurs Opération nulle
NOT NOT Combinaison sur bits Négation du RLG
O O Combinaison sur bits OU
O( O( Combinaison sur bits OU d'une expression
OD OD Combinaison sur mots OU double mot (32 bits)
ON ON Combinaison sur bits OU NON
ON( ON( Combinaison sur bits OU NON d'une expression
OPN AUF Blocs de données Ouvrir bloc de données
OW OW Combinaison sur mots OU mot (16 bits)
POP POP Accumulateurs POP CPU avec deux accumulateurs
POP POP Accumulateurs POP CPU avec quatre accumulateurs
PUSH PUSH Accumulateurs PUSH CPU avec deux accumulateurs
PUSH PUSH Accumulateurs PUSH CPU avec quatre accumulateurs
R R Combinaison sur bits Mettre à 0
R R Compteurs Remettre compteur à 0 (le compteur actuel peut être un
nombre compris dans la plage de 0 à 255, exemple : R Z 15)
R R Temporisations Remettre temporisation à 0 (la temporisation actuelle peut
être un nombre compris dans la plage de 0 à 255, exemple :
R T 32)
–R –R Fonction sur nombres à virgule flottante Soustraire accumulateur 1 de accumulateur 2 (réels 32 bits)
RLD RLD Décalage/Rotation Rotation vers la gauche d'un double mot (32 bits)
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 41
RLDA RLDA Décalage/Rotation Rotation vers la gauche de l'accumulateur 1 via BI1(32 bits)
RND RND Conversions Arrondir à l'entier
RND– RND– Conversions Arrondir à l'entier inférieur
RND+ RND+ Conversions Arrondir à l'entier supérieur
RRD RRD Décalage/Rotation Rotation vers la droite d'un double mot (32 bits)
RRDA RRDA Décalage/Rotation Rotation vers la droite de l'accumulateur 1 via BI1 (32 bits)
S S Combinaison sur bits Mettre à 1
S S Compteurs Initialiser compteur (le compteur actuel peut être un nombre
compris dans la plage de 0 à 255, par exemple : S Z 15)
SAVE SAVE Combinaison sur bits Sauvegarder RLG dans le bit RB
SD SE Temporisations Temporisation sous forme de retard à la montée
SE SV Temporisations Temporisation sous forme d'impulsion prolongée
SET SET Combinaison sur bits Mettre à 1
SF SA Temporisations Temporisation sous forme de retard à la retombée
SIN SIN Fonction sur nombres à virgule flottante Sinus d'angles comme nombres à virgule flottante (32 bits)
SLD SLD Décalage/Rotation Décalage vers la gauche d'un double mot (32 bits)
SLW SLW Décalage/Rotation Décalage vers la gauche d'un mot (16 bits)
SP SI Temporisations Temporisation sous forme d'impulsion
SQR SQR Fonction sur nombres à virgule flottante Carré d'un nombre à virgule flottante (32 bits)
SQRT SQRT Fonction sur nombres à virgule flottante Racine carrée d'un nombre à virgule flottante (32 bits)
SRD SRD Décalage/Rotation Décalage vers la droite d'un double mot (32 bits)
SRW SRW Décalage/Rotation Décalage vers la droite d'un mot (16 bits)
SS SS Temporisations Temporisation sous forme de retard à la montée mémorisé
SSD SSD Décalage/Rotation Décalage vers la droite d'un entier avec signe (32 bits)
SSI SSI Décalage/Rotation Décalage vers la droite d'un entier avec signe (16 bits)
T T Chargement/Transfert Transférer
T STW T STW Chargement/Transfert Transférer accumulateur 1 dans mot d'état
TAK TAK Accumulateurs Permuter accumulateur 1 et accumulateur 2
TAN TAN Fonction sur nombres à virgule flottante Tangente d'angles comme Nbr à virgule flottante (32 bits)
TAR1 TAR1 Chargement/Transfert Transférer registre d'adresse 1 dans l'accumulateur 1
TAR1 TAR1 Chargement/Transfert Transférer registre d'adr. 1 à l'adresse de destination (32 bits)
TAR1 TAR1 Chargement/Transfert Transférer registre d'adresse 1 dans registre d'adresse 2
TAR2 TAR2 Chargement/Transfert Transférer registre d'adresse 2 dans l'accumulateur 1
TAR2 TAR2 Chargement/Transfert Transférer registre d'adr. 2 à l'adresse de destination (32 bits)
TRUNC TRUNC Conversions Arrondir par troncature
UC UC Gestion d'exécution de programme Appel de bloc inconditionnel
X X Combinaison sur bits OU exclusif
X( X( Combinaison sur bits OU exclusif d'une expression
XN XN Combinaison sur bits OU NON exclusif
XN( XN( Combinaison sur bits OU NON exclusif d'une expression
XOD XOD Combinaison sur mots OU exclusif double mot (32 bits)
XOW XOW Combinaison sur mots OU exclusif mot (16 bits)
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 42
COS COS Fonction sur nombres à virgule flottante Cosinus
----(CU) ---( ZV ) Compteurs Incrémenter
DI_BCD DI_BCD Conversion Convertir entier de 32 bits en nombre DCB
DI_R DI_R Conversion Convertir entier de 32 bits en réel
DIV_DI DIV_DI Fonction sur nombres entiers Diviser entiers de 32 bits
DIV_I DIV_I Fonction sur nombres entiers Diviser entiers de 16 bits
DIV_R DIV_R Fonction sur nombres à virgule flottante Diviser réels
EXP EXP Fonction sur nombres à virgule flottante Valeur exponentielle
FLOOR FLOOR Conversion Convertir réel en entier inférieur le plus proche
I_BCD I_BCD Conversion Convertir entier de 16 bits en nombre DCB
I_DI I_DI Conversion Convertir entier de 16 bits en entier de 32 bits
INV_I INV_I Conversion Complément à 1 d'entier de 16 bits
INV_DI INV_DI Conversion Complément à 1 d'entier de 32 bits
---(JMP) ---(JMP) Sauts Saut inconditionnel
---(JMP) ---(JMP) Sauts Saut à l'intérieur d'un bloc si 1 (conditionnel)
---(JMPN) ---(JMPN) Sauts Saut à l'intérieur d'un bloc si 0 (conditionnel)
LABEL LABEL Sauts Repère de saut
LN LN Fonction sur nombres à virgule flottante Logarithme naturel
---(MCR>) ---(MCR>) Gestion d'exécution de programmes Relais de masquage hors fonction
---(MCR<) ---(MCR<) Gestion d'exécution de programmes Relais de masquage en fonction
---(MCRA) ---(MCRA) Gestion d'exécution de programmes Activer relais de masquage
---(MCRD) ---(MCRD) Gestion d'exécution de programmes Désactiver relais de masquage
MOD_DI MOD_DI Fonction sur nombres entiers Reste de division (32 bits)
MOVE MOVE Transfert Affecter valeur
MUL_DI MUL_DI Fonction sur nombres entiers Multiplier entiers de 32 bits
MUL_I MUL_I Fonction sur nombres entiers Multiplier entiers de 16 bits
MUL_R MUL_R Fonction sur nombresà virgule flottante Multiplier réels
---( N )--- ---( N )--- Combinaison sur bits Détecter front descendant
NEG NEG Combinaison sur bits Détecter front descendant de signal
NEG_DI NEG_DI Conversion Complément à 2 d'entier de 32 bits
NEG_I NEG_I Conversion Complément à 2 d'entier de 16 bits
NEG_R NEG_R Conversion Inverser le signe d'un nombre réel
---| NOT |--- ---| NOT |--- Combinaison sur bits Inverser RLG
---( OPN ) ---( OPN ) Appel de DB Ouvrir bloc de données
OS ---| |--- OS ---| |--- Bits d'état Bit d'anomalie "débordement mémorisé"
OV ---| |--- OV ---| |--- Bits d'état Bit d'anomalie "débordement"
---( P )--- ---( P )--- Combinaison sur bits Détecter front montant
POS POS Combinaison sur bits Détecter front montant de signal
---( R ) ---( R ) Combinaison sur bits Mettre à 0
---(RET) ---(RET) Gestion d'exécution de programmes Retour
ROL_DW ROL_DW Décalage/rotation Rotation vers la gauche d'un double mot
ROR_DW ROR_DW Décalage/rotation Rotation vers la droite d'un double mot
ROUND ROUND Conversion Arrondir
RS RS Combinaison sur bits Bascule mise à 0, mise à 1
---( S ) ---( S ) Combinaison sur bits Mettre à 1
---( SAVE ) ---( SAVE ) Combinaison sur bits Sauvegarder RLG dans RB
---( SC ) ---( SZ ) Compteurs Initialiser compteur
----(S_CD) Z_RUECK Compteurs Paramétrage et compteur de décrémentation
S_CU Z_VORW Compteurs Paramétrage et compteur d'incrémentation
S_CUD ZAEHLER Compteurs Paramétrage et compteur d'incrémentation/décrémentation
---( SD ) ---( SE ) Temporisations Démarrer temporisation sous forme de retard à la montée
---( SE ) ---( SV ) Temporisations Démarrer temporisation sous forme d'impulsion prolongée
---( SF ) ---( SA ) Temporisations Démarrer temporisation sous forme de retard à la retombée
SHL_DW SHL_DW Décalage/rotation Décalage vers la gauche d'un double mot
SHL_W SHL_W Décalage/rotation Décalage vers la gauche d'un mot
SHR_DI SHR_DI Décalage/rotation Décalage vers la droite d'un entier de 32 bits
SHR_DW SHR_DW Décalage/rotation Décalage vers la droite d'un double mot
SHR_I SHR_I Décalage/rotation Décalage vers la droite d'un entier de 16 bits
SHR_W SHR_W Décalage/rotation Décalage vers la droite d'un mot
SIN SIN Fonction sur nombres à virgule flottante Sinus
S_ODT S_EVERZ Temporisations Paramétrer et démarrer Temporisation sous forme de retard à
la montée
S_ODTS S_SEVERZ Temporisations Paramétrer et démarrer temporisation sous forme de retard à
la montée mémorisé (SS)
S_OFFDT S_AVERZ Temporisations Paramétrer et démarrer temporisation sous forme de retard à
la retombée
---( SP ) ---( SI ) Temporisations Démarrer temporisation sous forme d'impulsion
S_PEXT S_VIMP Temporisations Paramétrer et démarrer temporisation sous forme d'impulsion
prolongée
S_PULSE S_IMPULS Temporisations Paramétrer et démarrer temporisation sous forme d'impulsion
SQR SQR Fonction sur nombres à virgule flottante Carré
SQRT SQRT Fonction sur nombres à virgule flottante Racine carrée
SR SR Combinaison sur bits Bascule mise à 1, mise à 0
---( SS ) ---( SS ) Temporisation Démarrer temporisation sous forme de retard à la montée
mémorisé
SUB_DI SUB_DI Fonction sur nombres entiers Soustraire entiers de 32 bits
SUB_I SUB_I Fonction sur nombres entiers Soustraire entiers de 16 bits
SUB_R SUB_R Fonction sur nombres virgule flottante Soustraire réels
TAN TAN Fonction sur nombres virgule flottante Tangente
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 43
TRUNC TRUNC Conversion Tronquer à la partie entière
UO ---| |--- UO ---| |--- Bits d'état Bit d'anomalie "illicite"
WAND_DW WAND_DW Combinaison sur mots ET double mot
WAND_W WAND_W Combinaison sur mots ET mot
WOR_DW WOR_DW Combinaison sur mots OU double mot
WOR_W WOR_W Combinaison sur mots OU mot
WXOR_DW WXOR_DW Combinaison sur mots OU exclusif double mot
WXOR_W WXOR_W Combinaison sur mots OU exclusif mot
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 44
OPN OPN Appel de DB Ouvrir bloc de données
OS OS Bits d'état Bit d'anomalie "Débordement mémorisé"
OV OV Bits d'état Bit d'anomalie "Débordement
P P Combinaison sur bits Détecter front montant
POS POS Combinaison sur bits Détecter front montant de signal
R R Combinaison sur bits Mettre à 0
RET RET Gestion d'exécution de programmes Retour
ROL_DW ROL_DW Décalage/rotation Rotation vers la gauche d'un double mot
ROUND ROUND Conversion Arrondir à entier de 32 bits
ROR_DW ROR_DW Décalage/rotation Rotation vers la droite d'un double mot
RS RS Combinaison sur bits Bascule mise à 0, mise à 1
S S Combinaison sur bits Mettre à 1
SAVE SAVE Combinaison sur bits Sauvegarder RLG dans RB
SC SZ Compteurs Initialiser compteur
S_CD Z_RUECK Compteurs Paramétrage et compteur décrémental
S_CU Z_VORW Compteurs Paramétrage et compteur incrémental
S_CUD ZAEHLER Compteurs Paramétrage et compteur incrémental/décrémental
SD SE Temporisations Paramétrer et démarrer une temporisation sous forme de
retard à la montée
SE SV Temporisations Temporisation sous forme d'impulsion prolongée
SF SA Temporisations Paramétrer et démarrer une temporisation sous forme de
retard à la retombée
SHL_DW SHL_DW Décalage/rotation Décalage vers la gauche d'un double mot
SHL_W SHL_W Décalage/rotation Décalage vers la gauche d'un mot
SHR_DI SHR_DI Décalage/rotation Décalage vers la droite d'un entier de 32 bits
SHR_DW SHR_DW Décalage/rotation Décalage vers la droite d'un double mot
SHR_I SHR_I Décalage/rotation Décalage vers la droite d'un entier de 16 bits
SHR_W SHR_W Décalage/rotation Décalage vers la droite d'un mot
SIN SIN Fonction sur nombres à virgule flottante Fonctions trigonométriques d'angles sous forme de Nbr réels
S_ODT S_EVERZ Temporisations Paramétrer et démarrer une temporisation sous forme de
retard à la montée
S_ODTS S_SEVERZ Temporisations Paramétrer et démarrer une temporisation sous forme de
retard à la montée mémorisé
S_OFFDT S_AVERZ Temporisations Paramétrer et démarrer une temporisation sous forme de
retard à la retombée
SP SI Temporisations Temporisation sous forme d'impulsion
S_PEXT S_VIMP Temporisations Paramétrer et démarrer une temporisation sous forme
d'impulsion prolongée
S_PULSE S_IMPULS Temporisations Paramétrer et démarrer une temporisation sous forme
d'impulsion
SQR SQR Fonction sur nombres à virgule flottante Carré d'un nombre réel
SQRT SQRT Fonction sur nombres à virgule flottante Racine carrée d'un nombre réel
SR SR Combinaison sur bits Bascule mise à 1, mise à 0
SS SS Temporisations Temporisation sous forme de retard à la montée mémorisé
SUB_DI SUB_DI Fonction sur nombres entiers Soustraire entiers de 32 bits
SUB_I SUB_I Fonction sur nombres entiers Soustraire entiers de 16 bits
SUB_R SUB_R Fonction sur nombres à virgule flottante Soustraire nombres réels
TAN TAN Fonction sur nombres à virgule flottante Fonctions trigonométriques d'angles sous forme de Nbr réels
TRUNC TRUNC Conversion Tronquer à la partie entière (32 bits)
UO UO Bits d'état Bit d'anomalie "Opération illicite"
WAND_DW WAND_DW Combinaison sur mots ET double mot
WAND_W WAND_W Combinaison sur mots ET mot
WOR_DW WOR_DW Combinaison sur mots OU double mot
WOR_W WOR_W Combinaison sur mots OU mot
WXOR_DW WXOR_DW Combinaison sur mots OU exclusif double mot
WXOR_W WXOR_W Combinaison sur mots OU exclusif mot
XOR XOR Combinaison sur bits Combinaison OU exclusif
5.6 Adressage des variables et les mots sur les automates « S7 300 »
Une entrée logique « TOR » ayant une valeur égale à 0 ou à 1, un seul bit suffit à la représenter. Les
entrées logiques sont numérotées de la façon suivante : E (Octet).(x) [Allemand] ou I (Octet).(x) [Inter.]
L’octet peut prendre les valeurs suivantes : 0..3, … (voir le tableau 12) et « x » peut prendre les valeurs :
0, 1, 2, 3, 4, 5, 6, ou 7. La figure suivante montre la position de chacun des bits (correspondant à x) dans
l’octet. Soulignons que les automates S7-312C, S7-313C et S7-314C présentent quelques spécificités
(consultez la documentation du constructeur).
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 45
De même, une sortie logique ayant une valeur égale à 0 ou à 1, un seul bit suffit à la représenter. Les
sorties logiques sont numérotées de la façon suivante :
A (Octet).(x) [Allemand] ou Q (Octet).(x) [Inter.]
Les entrées analogiques sont symbolisées de la façon suivante :
NB : Dans cette configuration, les modules de 16 entrées et de 16 sorties font perdre 2 Bytes d’adresse
par module.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 46
L’adresse absolue peut être remplacée par un nom symbolique pouvant être librement choisi. Vous
affectez dans la table des mnémoniques un nom symbolique à toutes les adresses absolues que vous
appelez dans le programme. Un exemple succinct d’une table des mnémoniques (contenant les
informations relatives à un projet/programme) est donné par le tableau suivant.
Mnémonique Code API (International) Code API (Allemand) Type de données Commentaire
5.7 Programmation
5.7.1 Rappels
Un programme automate et constitué d’une suite d’instructions exécutées séquentiellement par la
« CPU ». Les automates actuels répondent à la norme « IEC 1131-3 ». Ils sont généralement
programmables dans les langages suivants :
Le Ladder : est un langage graphique représentant un schéma électrique à contact. Ce langage est
facilement utilisable par du personnel électricien. Un exemple de programme en langage « Ladder »
est donné par la figure suivante, avec :
Mi.j (« M » désigne un mot, « i » le numéro relatif au mot et « j » le numéro du bit du mot « i » ;
NOT pour complémenter (le ET logique entre les bits M10.4 et M10.5) ;
T4 est le symbole d’une temporisation de numéro 4 et de durée égale à 12 secondes.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 47
Le littérale est un langage évolué textuel, dont la VAR_INPUT
VALFINALE INT;
ONTROL := FALSE;
OR INDEX := 1 TO VALFINALE DO
structure correspond pour l'essentiel à la norme END_VAR IQ1 := IQ1 * 2;
CEI 1131-3, voir l’exemple à côté. Grâce à ses VAR_IN_OUT
IQ1: REAL;
IF IQ1 > 10000 THEN
CONTROL = TRUE
instructions en langage évolué et contrairement ND_VAR END_IF;
au langage LIST, ce langage simplifie entre AR ND_FOR;
NDEX: INT; ND_FUNCTION_BLOCK
autres la programmation de boucles et de ND_VAR
branches conditionnelles (If … Then, Else ; For Figure n° 76 :
… To… ; Do, …). Il est de ce fait tout Exemple de programme en
particulièrement adapté au calcul de formules, langage « Littérale »
Ces blocs seront appelés à partir du bloc d’organisation grâce aux commandes d’appel de bloc (Call xx /
UC xx / CC xx). La fin d’un bloc est signalisée par la commande BE, à la rencontre de celle-ci, le
programme utilisateur poursuit son exécution dans le bloc appelant juste après la commande d’appel de
bloc.
Le traitement des programmes par les automates programmables industriels se fait de la façon suivante :
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 48
M.I.E (Mémoire Image des Entrées) : C’est l’espace mémoire dans la RAM
de l’automate qui permet de stocker l’état des entrées. Elle est mise à jour au
début de cycle automate ;
M.I.S (Mémoire Image des Sorties) : C’est l’espace mémoire des dans la
RAM de l’automate ou le programme stocke l’état des sorties. Les sorties sont
mis à jour à la fin du cycle automate
Cycle automate : C’est le temps que mets l’automate pour exécuter l’ensemble
du programme.
Chien de garde : C’est le temps de surveillance du cycle automate. Si le temps
d’exécution du cycle automate est supérieur au chien de garde, le cycle est
arrêté et l’automate passe en défaut.
→ FB (bloc fonctionnel) : Il dispose d’un espace mémoire. Lors de l’appel d’un « FB », un bloc de
données « DB » peut lui être alloué, il aura alors accès aux données contenues dans ce « DB »
d’instance local. Plusieurs « DBs » peuvent être alloués à un même « FB ». D’autres « FBs » ou
« FCs » peuvent être appelés (grâce aux commandes Call / UC / CC) à l’intérieur d’un « FB ».
→ FC (fonction) : Elle ne dispose pas d’espace mémoire, les données locales sont perdues après
l’exécution de la fonction. D’autres « FBs » ou « FCs » peuvent être appelés (grâce aux commandes
Call / UC / CC) à l’intérieur d’une « FC ».
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 49
5.7.2 Comment écrire un programme sur l’automate « S7 300 » ?
En cliquant sur le répertoire « Programme S7 » vous voyez apparaître les items « Sources », « Blocs » et
« Mnémoniques ». Le premier item mène à la liste de fichiers utilisant des logiciels spécialisés pour
programmer l’automate avec des langages avancés.
Le second item vers la liste des blocs créés pour l’automate avec le logiciel « STEP 7 ». Le 3ième item
permet de lancer le logiciel de définition de mnémoniques (nous y reviendrons plus tard). Cliquez sur le
répertoire « Blocs » (ou sur l’item « Blocs »). La fenêtre de droite devient alors :
L’item identifié « OB1 » est le bloc organisationnel résultant de la création du projet. Cliquez 2 fois sur
l’item « OB1 » pour lancer le logiciel « STEP 7 ». La fenêtre de l’éditeur apparaît alors (figure suivante).
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 50
Dans la fenêtre de gauche, nous retrouvons l’ensemble des éléments de programme ou fonctions
disponibles pour cet automate. Maintenant, voyons comment programmer le réseau (ou barreau) de
langage à contacts ci-dessous. Ce réseau correspond à la commande de la sortie digitale « Q4.0 » via
l’entrée TOR « I1.0 », qu’on peut modéliser par l’équation suivante : Q4.0 = f (I1.0).
Positionner le curseur au début de la zone de programmation du réseau « 1 ». Puis cliquez ensuite sur
l’icône de contact normalement ouvert. Ensuite, inscrire le numéro du contact d’entrée I1.0 (figure
suivante).
Pour compléter le réseau, positionner le curseur à la fin de la zone du réseau « 1 », puis cliquez sur l’icône
de la bobine de sortie et inscrire le numéro de la bobine, soit Q4.0 (voir image ci-dessous).
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 51
Il faut introduire un nouveau réseau pour programmer ce nouveau barreau. Pour ce faire, cliquez ensuite
sur l’icône de nouveau réseau. Le réseau 2 apparaît tel que montré ci-dessous :
Programmer la première ligne du barreau tel que montré à la figure suivante, puis inscrire les adresses.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 52
Il faut maintenant fermer cette branche. On y arrive en appuyant sur la touche F9. Le réseau 2 aura donc
cette apparence.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 53
(6) Dans le menu de droite, l’un des items est identifié par « Mnémoniques ». Double cliquez sur cet
item pour lancer l’éditeur de mnémoniques. La fenêtre suivante apparaît alors :
C’est l’éditeur de mnémonique. Par défaut seul le bloc « OB1 » possède un mnémonique qui est
« Cycle Execution » (ou exécution cyclique). Supposons que nous ayons 5 moteurs ayant chacun
une paire de boutons identifiés MARCHE et ARRÊT et un contacteur identifié MOTEUR. On peut
utiliser l’éditeur de mnémonique pour établir une correspondance entre le nom de ces boutons et
les entrées de l’automate.
(7) Associons le mnémonique MARCHE 1 avec l’entrée I1.0, le mnémonique ARRÊT 1 avec l’entrée
I1.1 et le mnémonique MOTEUR 1 avec la sortie Q4.0.Cela mène donc à cet écran une fois ces
informations entrées dans l’éditeur :
La première colonne du tableau donne la liste des mnémoniques, la seconde colonne l’opérande
correspondant, la troisième colonne le type de donnée (dans notre cas des variables booléennes)
et la dernière colonne contient les commentaires que l’on associe à la mnémonique.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 54
temporisateurs offerts dans l’automate que nous avons sous la main sont de cinq types (voir le tableau ci-
dessous). Les temporisations sont identifiées par T (nombre), la lettre T indiquant une variable de
temporisation et le nombre, le numéro de la temporisation (exemple : T12). La durée de la temporisation
est indiquée à l’entrée TV d’une temporisation de la façon suivante :
Préfixe « S5T# » ;
Durée avec unités de mesure.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 55
Figure n° 100 : Exemple de programmation des temporisations, (suite)
Dans ce programme, les temporisations sont commandées par les interrupteurs et qui allumeront des
sorties selon l’état de la temporisation correspondante :
(4) sauvegarder le bloc « FC1 » ;
(5) ouvrir le bloc « OB1 » ;
(6) simplement insérer l’appel au bloc « FC1 » :
(9) vous pouvez visualiser le test en ouvrant « FC1 » et en activant la visualisation. Voici un exemple
de visualisation :
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 56
(16) faire une longue impulsion (> 15 sec) sur l’entrée I1.2 ; Que se passe-t-il en sortie ?
(17) faire une courte impulsion (< 5 sec) sur l’entrée I1.3 ; Que se passe-t-il en sortie ?
(18) 10 secondes après l’impulsion en I1.3, faire une impulsion sur l’entrée I1.4 ; Que se passe-t-il en
sortie ?
(19) faire impulsion sur l’entrée I1.5 ; Que se passe-t-il en sortie ?
Il est important de noter que les états observés aux sorties sont les mêmes que ceux des variables T
correspondantes.
Les compteurs offerts dans l’automate « S7 300 » sont de trois types : « CU » pour compteur incrémental,
« CD » pour compteur décrémental et « CUD » pour compteur incrémental/décrémental. Ils sont
identifiés par C(nombre), la lettre « C » indiquant une variable de comptage, le numéro de la
temporisation (exemple : « C1 »). La valeur initiale d’un compteur est indiquée à l’entrée « PV » de la
façon suivante :
Préfixe « C# » ;
Nombre.
Ainsi, un compteur ayant une valeur initiale de 3 sera programmé : C#3. Dans la plupart de nos
applications, nous utiliserons un compteur décrémental. Pour ce compteur comme pour les autres, l’état
logique de la sortie est 0 si la valeur du compteur est 0, sinon l’état logique est 1. Dans le même projet de
précédemment,
(1) créer un bloc de fonction « FC2 », dans le bloc « FC2 » ;
(2) créer le programme suivant :
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 57
(3) sauvegarder le bloc « FC2 » ;
(4) ouvrir le bloc « OB1 » ;
(5) remplacer l’appel au bloc « FC1 » par un appel au bloc « FC2 » :
(9) faire une impulsion sur l’entrée « I1.1 » ; cela active l’entrée « S (set) » qui charge la valeur mise
à l’entrée « PV » dans le compteur ; que se passe-t-il en sortie ?
(10) faire une impulsion sur l’entrée d’incrémentation « I1.0 » ; que se passe-t-il en sortie ? Quelle
est la valeur du compteur ?
(11) faire une impulsion sur l’entrée « I1.2 » ; cela active l’entrée « R (reset) » qui remet le compteur
à « 0 » ; que se passe-t-il en sortie ?
Compteur « CD »
(12) faire une impulsion sur l’entrée « I1.4 » ; cela active l’entrée « S (set) » qui charge la valeur mise
à l’entrée « PV » dans le compteur ; que se passe-t-il en sortie ?
(13) faire quatre impulsions sur l’entrée de décrémentation « I1.3 » ; que se passe-t-il en sortie ?
Quelle est la valeur du compteur ?
(14) faire une impulsion sur l’entrée « I1.4 », puis faire une autre impulsion sur l’entrée « I1.5 ». Cela
active l’entrée « R (reset) » qui remet le compteur à « 0 » ; que se passe-t-il en sortie ?
Compteur « CUD »
(15) faire une impulsion sur l’entrée « I2.0 » ; cela active l’entrée « S (set) » qui charge la valeur mise
à l’entrée « PV » dans le compteur ; que se passe-t-il en sortie ?
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 58
(16) faire deux impulsions sur l’entrée d’incrémentation « I1.6 » ; que se passe-t-il en sortie ? Quelle
est la valeur du compteur ?
(17) faire quatre impulsions sur l’entrée de décrémentation « I1.7 » ; que se passe-t-il en sortie ?
Quelle est la valeur du compteur ?
(18) faire des impulsions sur l’entrée « I1.6 », puis faire une autre impulsion sur l’entrée « I2.1 ».
Cela active l’entrée « R (reset) » qui remet le compteur à « 0 », que se passe-t-il en sortie ?
NB : Il est important de noter que les états observés aux sorties sont les mêmes que ceux des
variables « C » correspondantes.
(19) fermer le projet après vos essais.
L’exemple suivant explicite la création d’un bloc fonctionnel assurant la commande d’un moteur en
fonction du type de fonctionnement choisi, il contiendra également un compteur de cycle. Le bouton
poussoir « S0 » permet de sélectionner le type de fonctionnement ‘manuel’ du moteur, tandis que le
bouton poussoir « S1 » le type de fonctionnement ‘automatique’.
En fonctionnement ‘manuel’, le moteur tourne tant que l’on reste appuyé sur le bouton poussoir « S2 » et
que le bouton poussoir « S3 » n’est pas actionné.
En fonctionnement ‘automatique’, le moteur est mis en route avec le bouton « S2 » et est arrêté avec le
bouton « S3 ». Les cycles d’exécution du programme sont comptabilisés dans un mémento de type double
« MD ». L’exemple utilise les adresses définies ci-dessous :
Entrées :
- Bouton de commande manuelle « S0 » = I1.0
- Bouton de commande automatique « S1 » = I1.1
- Bouton de mise en route « S2 » = I1.2
- Bouton d’arrêt S3 » = I1.3
Sorties : - Moteur = Q4.0
Mémentos : - Compteur de cycles = MD20
Pour la réalisation de cet exemple, veuillez suivre les étapes décrites ci-dessous :
1. ouvrir, SIMATIC Manager’ (double clique sur l’icône) ;
2. ouvrir un nouveau Projet ( Fichier Nouveau) :
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 59
Figure n° 106 : Création d’un nouveau projet
3. ouvrir créer un nouveau projet, choisir le chemin et donner le nom du projet « Exemple_FB »
( Exemple_FB) :
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 60
Figure n° 109 : Création d’un bloc fonctionnel
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 61
9. L’éditeur « CONST », « LIST », « LOG » vous permet de modifier votre bloc fonctionnel « FB ».
Des variables de type ‘IN’, ‘OUT’, ‘IN_OUT’ et ‘TEMP’ peuvent être définies, ceci se fait dans la
table de déclaration des variables située en haut du « FB1 » :
- Les paramètres d’entrée (IN) pour les FBs, FCs, SFBs et SFCs : grâce aux paramètres
d’entrées, des données peuvent être transmises au bloc de programme.
- Les paramètres de sortie (OUT) pour les FBs, FCs, SFBs et SFCs : les résultats du bloc appelé
sont transmis grâce aux paramètres de sortie.
- Les paramètres d’entrée/sortie (IN_OUT) pour les FBs, FCs, SFBs et SFCs : grâce aux
paramètres d’entrée/sortie, des données peuvent être transmises au bloc, où elles seront
utilisées. Cette même variable contiendra ensuite le résultat du bloc appelé.
- Les variables statiques (STAT) pour les FBs et SFBs : les variables statiques sont les variables
locales d’un bloc fonctionnel contenues dans le DB d’instance correspondant. Celles-ci restent
inchangées jusqu’au prochain appel du bloc fonctionnel.
- Les variables temporaires (TEMP) pour tous les blocs : les variables temporaires sont les
variables locales d’un bloc contenues dans la pile locale (L-Stack). Celles-ci sont détruites après
l’exécution du bloc.
Valeur initiale, du même type que Opérande d’arrêt et à exclure, Commentaire
la variable (optionnel) utile pour le diagnostic. (optionnel)
Nom mnémonique. Il pointe sur l’adresse absolue et Type des variables Les adresses absolues sont automatiquement
permet donc d’accéder à la variable correspondante. établies par STEP-7, leur format est : BYTE.BIT.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 62
Figure n° 114 : Signalisation existante sur le bloc alimentation PS 307
Mettre l’automate sous tension ; le module de CPU (montré ci-dessous) est l’unité dans lequel votre
programme sera stocké, il sera alimenté.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 63
En mode RUN-P (RUN-PROGRAM), l’automate exécute le programme. Dans ce mode, il est
possible de transférer un programme de l’ordinateur vers l’automate et de transférer un programme
de l’automate vers l’ordinateur. Il est aussi possible de modifier le programme dans l’automate.
NB : Attention, ce mode n’est réservé qu’aux professionnels !!!
2) Sélectionner alors l’item OB1 (Si il y avait eu plusieurs items, on peut utiliser le raccourci
[CTRL] A pour les sélectionner tous). Ensuite, en utilisant l’item charger du menu déroulant
Système cible, transférer le programme dans l’automate.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 64
Figure n° 119 : Chargement d’un programme sur l’automate « S7 314 », (suite)
3) Cliquer alors sur « OUI » pour écraser l’ancien programme. Pour le tester, mettre le sélecteur de
mode en « RUN ». Votre programme est en exécution. Appuyez sur le bouton de l’entrée « I1.0 »
et vérifier le voyant de la sortie « Q4.0 ». De même appuyez sur les boutons des entrées « I1.1 » et
« I1.2 » et observez le voyant de la sortie « Q4.7 ».
5.7.8 Comment faire une simulation en virtuelle d’un programme pour l’automate « S7 300 » ?
La simulation en virtuelle permet de tester un programme, sans pour cela relier le PC avec un hardware
API, il suffit d’activer le simulateur « S7-PLCSIM ». Soulignons qu’avant de lancer la simulation, il faut
s’assurer que le programme à tester est crée dans l'environnement « STEP7 » et sauvegardé, sinon on doit
commencer par la création du programme en question et ce en se basant sur les étapes de configuration &
programmation des automates « S7 300 », vues ci-dessus en § II.5, et sauvegarder ledit programme.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 65
Figure n° 121 : Lancement de la simulation en virtuelle d’un programme sur l’automate « S7 314 »
Lorsque « S7-PLCSIM » démarre pour la première fois, on voit d'abord la boîte de dialogue ci-dessous
et on clique sur « Annuler ».
3) Dans le menu « Insertion », elles doivent être insérées toutes les « Entrées » et « Sorties » qui ont été
utilisées dans le programme à tester. « Mémento », « Temporisation » et « Compteur » peuvent
également être affichés ( Insertion Entrée ) ; (Insertion Sortie) ; …
Si le voyant « SF » est allumé, c’est qu’il y a un problème au niveau du système (System Failure),
problème matériel ou software (voir le tableau n° 15) !
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 66
Si le voyant « DP » est allumé, c’est qu’il existe un problème de communication dans le réseau !
Si le voyant « DC » est allumé, c’est que l’alimentation est bonne, elle fournit 24VC à la CPU.
En plus, nous avons trois choix de fonctionnement de l’automate : « RUN-P », « RUN » et « STOP »,
(pour plus de détails consultez la partie correspondante en § II 5.7.7). Quant au bouton « MRES », il
permet la mise à « 0 » des images des entrées / sorties de tout le programme.
Figure n° 125 : Insertion des entrées / sorties utilisées pour la simulation, suite
4) Pour garder la fenêtre du simulateur en avant plan et ne pas la perdre de l’écran, dans l’écran ci-dessus,
on appuie sur la punaise : ;
5) On charge le programme dans le simulateur de la façon suivante : on ouvre le bloc à charger, dans
notre cas, nous avons un seul bloc qui est « OB1 ». On ouvre « OB1 » et après, on clique sur l’icone
charge : (voir la figure ci-dessus).
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 67
Figure n° 127 : Visualisation d’un programme sur l’automate « S7 314 »
Un élément actif est dessiné avec un trait vert gras. Un élément inactif est dessiné avec un trait bleu
pointillé. Appuyez sur les boutons et vérifiez les changements d’état à l’écran :
Notez l’indication du mode de fonctionnement sur la ligne d’état au bas de l’écran ;
Mettre l’automate en mode STOP et regarder le changement de mode sur la ligne d’état ;
Remettre l’automate en mode RUN.
Une troisième façon de visualiser est
d’utiliser l’item « Visualiser/forces des
variables » du menu déroulant « Système
cible » du logiciel STEP7 :
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 68
Il vous suffit alors de spécifier les variables dont il faut surveiller l’état. Inscrivez donc dans la colonne
« Opérande » le nom des variables à surveiller (les autres champs se remplissent automatiquement) :
Pour voir apparaître la valeur actuelle des paramètres, cliquez sur l’icône de la paire de lunette. La
valeur logique apparaît sous le format 2#0 ou 2#1. Le préfixe 2# indique simplement que la valeur en
suffixe est une valeur binaire (en base 2). Fermer toutes les fenêtres et sortir du « SIMATIC
Manager ».
Les API « S7-400 » permettent d’augmenter la productivité des installations via des performances, au
niveau : des vitesses de traitement (qui sont élevées et les temps de réponse déterministes), du bus
interne (qui est parallèle et plus rapide), des ressources de communication (qui sont élevées), du
multitraitement (qui permet de fractionner les tâches et les processus), ... ;
Ils permettent d’augmenter la flexibilité via une extensibilité modulaire centralisée et distribuée ; une
performance élevée de la communication et des interfaces intégrées ;
Ils permettent aussi la modification de la configuration même en mode RUN (CiR), ce qui permet
d'effectuer des modifications matérielles sur ces automates même en cours de fonctionnement !
Ils assurent des fonctions intégrées puissantes de diagnostic du système ainsi que des fonctions
configurables de diagnostic de processus, ...
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 69
Ce type d’automates est composé d’une alimentation électrique, d'une
CPU et de modules d’entrées/sorties pour les signaux numériques et
analogiques. Le cas échéant, des processeurs de communication et des
modules fonctionnels sont ajoutés pour des tâches spéciales comme la
commande de moteurs pas à pas.
L’API « S7-1200 » est géré aussi par le logiciel de programmation
SIMATIC Manager. Figure n° 132 : API « S7-1200 »
La rapidité de traitement des signaux garantit des temps de réaction extrêmement courts et une haute
qualité de régulation. Le temps de réaction de borne à borne est inférieur à 500µ et le temps de
traitement des instructions binaires peut descendre en dessous de 10 ns selon la CPU utilisée.
Les CPU 1511 et 1513 sont dotées de deux interfaces « Profinet » et la CPU 1516, de trois : les deux
premières interfaces sont destinées à la communication avec le niveau terrain, la troisième, à
l'intégration au réseau d'entreprise. Profinet IO IRT autorise des temps de réaction définis et un
comportement haute précision de l'installation.
Un serveur Web est en outre intégré pour permettre l'interrogation à distance des données système, du
processus ou du diagnostic.
Le concept Security Integrated s'étend de la protection des blocs à la vérification de l'intégrité de la
communication. Il permet à l'utilisateur de sécuriser ses applications. Des mécanismes spéciaux
permettent enfin de détecter toute modification des données d'ingénierie afin de protéger, par exemple,
les données transmises à l'automate contre les manipulations non autorisées.
La CPU Simatic S7-1500 peut être étendue jusqu'à 32 modules par châssis centralisé et l'utilisateur
peut composer librement sa configuration en fonction des besoins spécifiques de sa tâche
d'automatisation.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 70
NB : En annexe, est donnée une documentation du groupe Siemens, relative aux automates
programmables.
Support de cours sur les automates programmables « Siemens », Professeur M. TAHIRI, ENSMR (ex ENIM), Rabat - Maroc page : 71