Vous êtes sur la page 1sur 774

 Automate programmable S7-1200

SIMATIC
S7
Automate programmable S7-1200
Manuel systme

07/2011
A5E02486682-04

___________________
Avant-propos
1
___________________
Prsentation du produit
Logiciel de programmation
2
___________________
STEP 7
3
___________________
Installation
Concepts concernant les
4
___________________
automates programmables
5
___________________
Configuration des appareils
6
___________________
Concepts de programmation
7
___________________
Instructions de base
8
___________________
Instructions avances
9
___________________
Consignation de donnes
10
___________________
Instructions technologiques
11
___________________
PROFINET et PROFIBUS
Protocoles des processeurs
12
___________________
de communication
13
___________________
Serveur Web
Outils en ligne et de
14
___________________
diagnostic
A
___________________
Caractristiques techniques
Calcul d'un bilan de
B
___________________
consommation
C
___________________
Numros de rfrence

Mentions lgales
Mentions lgales
Signaltique d'avertissement
Ce manuel donne des consignes que vous devez respecter pour votre propre scurit et pour viter des
dommages matriels. Les avertissements servant votre scurit personnelle sont accompagns d'un triangle de
danger, les avertissements concernant uniquement des dommages matriels sont dpourvus de ce triangle. Les
avertissements sont reprsents ci-aprs par ordre dcroissant de niveau de risque.
DANGER
signifie que la non-application des mesures de scurit appropries entrane la mort ou des blessures graves.
ATTENTION
signifie que la non-application des mesures de scurit appropries peut entraner la mort ou des blessures
graves.
PRUDENCE
accompagn dun triangle de danger, signifie que la non-application des mesures de scurit appropries peut
entraner des blessures lgres.
PRUDENCE
non accompagn dun triangle de danger, signifie que la non-application des mesures de scurit appropries
peut entraner un dommage matriel.
IMPORTANT
signifie que le non-respect de l'avertissement correspondant peut entraner l'apparition d'un vnement ou d'un
tat indsirable.
En prsence de plusieurs niveaux de risque, c'est toujours l'avertissement correspondant au niveau le plus lev
qui est reproduit. Si un avertissement avec triangle de danger prvient des risques de dommages corporels, le
mme avertissement peut aussi contenir un avis de mise en garde contre des dommages matriels.

Personnes qualifies
Lappareil/le systme dcrit dans cette documentation ne doit tre manipul que par du personnel qualifi pour
chaque tche spcifique. La documentation relative cette tche doit tre observe, en particulier les consignes
de scurit et avertissements. Les personnes qualifies sont, en raison de leur formation et de leur exprience,
en mesure de reconnatre les risques lis au maniement de ce produit / systme et de les viter.

Utilisation des produits Siemens conforme leur destination


Tenez compte des points suivants:
ATTENTION
Les produits Siemens ne doivent tre utiliss que pour les cas d'application prvus dans le catalogue et dans la
documentation technique correspondante. S'ils sont utiliss en liaison avec des produits et composants d'autres
marques, ceux-ci doivent tre recommands ou agrs par Siemens. Le fonctionnement correct et sr des
produits suppose un transport, un entreposage, une mise en place, un montage, une mise en service, une
utilisation et une maintenance dans les rgles de l'art. Il faut respecter les conditions d'environnement
admissibles ainsi que les indications dans les documentations affrentes.

Marques de fabrique
Toutes les dsignations repres par sont des marques dposes de Siemens AG. Les autres dsignations
dans ce document peuvent tre des marques dont l'utilisation par des tiers leurs propres fins peut enfreindre les
droits de leurs propritaires respectifs.

Exclusion de responsabilit
Nous avons vrifi la conformit du contenu du prsent document avec le matriel et le logiciel qui y sont dcrits.
Ne pouvant toutefois exclure toute divergence, nous ne pouvons pas nous porter garants de la conformit
intgrale. Si l'usage de ce manuel devait rvler des erreurs, nous en tiendrons compte et apporterons les
corrections ncessaires ds la prochaine dition.

Siemens AG
Industry Sector
Postfach 48 48
90026 NRNBERG
ALLEMAGNE

Numro de rfrence du document: 6ES7298-8FA30-8CH0


08/2011

Copyright Siemens AG 2011.


Sous rserve de modifications techniques

Avant-propos
Objet du manuel
La famille S7-1200 est constitue d'automates programmables (API) utilisables dans des
applications d'automatisation varies. Sa forme compacte, son faible prix et son important
jeu d'instructions en font une solution idale pour la commande d'applications trs varies.
En outre, les modles S7-1200 ainsi que l'outil de programmation se basant sur Windows
vous offrent la souplesse ncessaire pour rsoudre vos problmes d'automatisation.
Ce manuel qui fournit des informations sur l'installation et la programmation des automates
S7-1200 est conu pour des ingnieurs, des programmeurs, des installateurs et des
lectriciens ayant une connaissance gnrale des automates programmables.

Connaissances fondamentales requises


Pour comprendre ce manuel, vous devez avoir des connaissances gnrales sur
l'automatisation et les automates programmables.

Domaine de validit
Ce manuel dcrit les produits suivants :
STEP 7 V11 Basic et Professional
Firmware version V2 de la CPU S7-1200
Vous trouverez la liste complte des produits S7-1200 dcrits dans ce manuel dans les
caractristiques techniques (Page 641).

Homologation, marquage CE, C-Tick et autres normes


Reportez-vous aux caractristiques techniques (Page 641) pour plus d'informations ce
sujet.

Service et assistance
En complment de notre documentation, nous proposons notre expertise technique sur
Internet via le site Web du service client (http://www.siemens.com/automation/supportrequest).
Adressez-vous votre agence Siemens si certaines de vos questions techniques restent
sans rponse, si vous voulez connatre les offres de formation ou si vous dsirez
commander des produits S7. Comme ce personnel est techniquement form et a des
connaissances trs pointues sur vos activits, vos processus et vos industries, ainsi que sur
les diffrents produits Siemens que vous utilisez, il peut apporter les rponses les plus
rapides et les plus efficaces possibles tout problme que vous pourriez rencontrer.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

Avant-propos

Documentation et information
Le S7-1200 et STEP 7 proposent une grande varit de documents et autres ressources
contenant les informations techniques dont vous avez besoin.
Le manuel systme du S7-1200 fournit des informations spcifiques sur le
fonctionnement, la programmation et les caractristiques de toute la gamme du S7-1200.
En plus du manuel systme, le livret Easy Book du S7-1200 donne une vue d'ensemble
plus gnrale des possibilits offertes par la gamme S7-1200.
Le manuel systme et l'Easy Book sont disponibles en formats lectronique (PDF) et
manuscrit. Les manuels lectroniques peuvent tre tlchargs depuis le site web du
service client et se trouvent galement sur le disque qui accompagne chaque CPU S71200.
Le systme d'information en ligne du STEP 7 offre un accs immdiat aux informations
conceptuelles et aux instructions spcifiques qui dcrivent le fonctionnement et les
fonctionnalits du progiciel de programmation et le fonctionnement basique des CPU
SIMATIC.
My Documentation Manager permet d'accder aux versions lectroniques (PDF) de
l'ensemble de la documentation SIMATIC, y compris le manuel systme, l'Easy Book et
le systme d'informations du STEP 7. Avec My Documentation Manager, vous pouvez
rcuprer des sujets depuis divers documents pour crer votre propre manuel client.
Le portail d'entre du service client (http://support.automation.siemens.com) affiche un
lien vers My Documentation Manager dans mySupport.
Le site Web du service client fournit galement des podcasts, FAQ et autres documents
utiles concernant le S7-1200 et STEP 7. Les podcasts utilisent de courtes vidos
ducatives qui se concentrent sur les caractristiques ou scnarios spcifiques afin de
dmontrer les interactions, la commodit et l'efficacit offertes par STEP 7. Visitez les
sites Web suivants pour accder la collection de podcasts :
Page Web du STEP 7 Basic (http://www.automation.siemens.com/mcms/simaticcontroller-software/en/step7/step7-basic/Pages/Default.aspx)
Page Web du STEP 7 Professional
(http://www.automation.siemens.com/mcms/simatic-controllersoftware/en/step7/step7-professional/Pages/Default.aspx)
Vous pouvez galement suivre ou rejoindre des discussions sur les produits sur le forum
technique Service & Support
(https://www.automation.siemens.com/WW/forum/guests/Conferences.aspx?Language=e
n&siteid=csius&treeLang=en&groupid=4000002&extranet=standard&viewreg=WW&nodei
d0=34612486). Ces forums vous permettent de dialoguer avec diffrents experts
produits.
Forum pour le S7-1200
(https://www.automation.siemens.com/WW/forum/guests/Conference.aspx?SortField=
LastPostDate&SortOrder=Descending&ForumID=258&Language=en&onlyInternet=Fa
lse)
Forum pour STEP 7 Basic
(https://www.automation.siemens.com/WW/forum/guests/Conference.aspx?SortField=
LastPostDate&SortOrder=Descending&ForumID=265&Language=en&onlyInternet=Fa
lse)

Automate programmable S7-1200

Manuel systme, 07/2011, A5E02486682-04

Sommaire
Avant-propos ............................................................................................................................................. 3
1

Prsentation du produit............................................................................................................................ 17
1.1

Introduction l'automate S7-1200 ...............................................................................................17

1.2

Possibilits d'extension de la CPU ..............................................................................................20

1.3

Modules S7-1200.........................................................................................................................22

1.4

Nouvelles caractristiques du S7-1200 et de STEP 7 V11 .........................................................23

1.5

Tableaux IHM basiques ...............................................................................................................25

Logiciel de programmation STEP 7 ......................................................................................................... 27


2.1

Besoins du systme.....................................................................................................................27

2.2

Diffrentes vues pour faciliter votre travail...................................................................................28

2.3
2.3.1
2.3.2
2.3.3
2.3.4
2.3.5
2.3.6
2.3.7
2.3.8
2.3.9
2.3.10
2.3.11
2.3.12
2.3.13

Simplicit des outils .....................................................................................................................29


Insertion d'instructions dans votre programme utilisateur ...........................................................29
Accs aux instructions depuis la barre d'outils "Favoris".............................................................29
Cration d'une quation complexe avec une instruction simple..................................................30
Ajout d'entres ou de sorties une instruction CONT ou LOG ...................................................32
Instructions extensibles................................................................................................................32
Slection d'une version d'une instruction.....................................................................................33
Modification de l'apparence et de la configuration de STEP 7 ....................................................34
Glisser-dplacer entre les diteurs ..............................................................................................34
Changement de l'tat de fonctionnement de la CPU...................................................................35
Enregistrement et restauration de l'tat d'un bloc........................................................................35
Modification du type d'appel pour un DB .....................................................................................36
Dconnexion temporaire d'appareils d'un rseau........................................................................37
Dsenfichage virtuel d'appareils de la configuration ...................................................................38

Installation ............................................................................................................................................... 39
3.1

Conseils pour l'installation d'appareils S7-1200 ..........................................................................39

3.2

Bilan de consommation................................................................................................................41

3.3
3.3.1
3.3.2
3.3.3
3.3.4
3.3.5
3.3.6
3.3.7
3.3.8
3.3.8.1
3.3.8.2
3.3.8.3

Procdures d'installation et de dsinstallation .............................................................................43


Dimensions de montage pour les appareils S7-1200..................................................................43
Installation et dsinstallation de la CPU ......................................................................................45
Installation et dsinstallation d'un SB ou d'un CB........................................................................47
Installation et dsinstallation d'un SM..........................................................................................48
Installation et dsinstallation d'un CM ou d'un CP.......................................................................50
Dmontage et remontage du bornier de connexion S7-1200......................................................51
Installation et dsinstallation du cble d'extension ......................................................................52
TeleService ..................................................................................................................................54
Connexion de l'adaptateur TeleService .......................................................................................54
Installation de la carte SIM...........................................................................................................55
Installation de l'ensemble adaptateur TeleService ......................................................................56

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

Sommaire

3.3.8.4

Montage mural de l'adaptateur TS.............................................................................................. 57

3.4

Conseils de cblage.................................................................................................................... 58

Concepts concernant les automates programmables .............................................................................. 63


4.1
4.1.1
4.1.2
4.1.3
4.1.4
4.1.5
4.1.6
4.1.6.1
4.1.6.2

Excution du programme utilisateur ........................................................................................... 63


Etats de fonctionnement de la CPU............................................................................................ 65
Traitement du cycle l'tat MARCHE......................................................................................... 68
Blocs d'organisation (OB) ........................................................................................................... 69
Priorits d'excution et mise en file d'attente des vnements .................................................. 71
Surveillance du temps de cycle .................................................................................................. 77
Mmoire de la CPU..................................................................................................................... 79
Mmento systme et mmento de cadence ............................................................................... 82
Configuration des sorties lors d'un passage de MARCHE ARRET ......................................... 84

4.2
4.2.1

Stockage des donnes, zones de mmoire, E/S et adressage .................................................. 85


Accs aux donnes du S7-1200 ................................................................................................. 85

4.3

Traitement des valeurs analogiques ........................................................................................... 91

4.4
4.4.1
4.4.2
4.4.3
4.4.4
4.4.5
4.4.6
4.4.7
4.4.7.1
4.4.7.2
4.4.7.3

Types de donnes....................................................................................................................... 91
Types de donnes Bool, Byte, Word et DWord .......................................................................... 93
Types de donnes entiers........................................................................................................... 93
Types de donnes rels virgule flottante ................................................................................. 94
Types de donnes "date et heure".............................................................................................. 95
Type de donnes "structure de donnes"................................................................................... 99
Type de donnes API.................................................................................................................. 99
Types de donnes "pointeur" .................................................................................................... 100
Type de donnes Pointer .......................................................................................................... 100
Type de donnes Any ............................................................................................................... 101
Type de donnes Variant .......................................................................................................... 103

4.5
4.5.1
4.5.2
4.5.3
4.5.4

Utilisation d'une carte mmoire................................................................................................. 104


Insertion d'une carte mmoire dans la CPU ............................................................................. 105
Configuration des paramtres de mise en route de la CPU avant copie du projet dans la
carte mmoire ........................................................................................................................... 107
Utilisation de la carte mmoire en tant que carte "transfert"..................................................... 107
Utilisation de la carte mmoire en tant que carte "programme" ............................................... 110

4.6

Rcupration en cas d'oubli du mot de passe .......................................................................... 113

Configuration des appareils ................................................................................................................... 115


5.1

Insertion d'une CPU .................................................................................................................. 116

5.2

Dtection de la configuration d'une CPU non spcifie............................................................ 117

5.3

Ajout de modules la configuration.......................................................................................... 118

5.4

Configuration du fonctionnement de la CPU............................................................................. 119

5.5

Configuration des paramtres des modules ............................................................................. 121

5.6
5.6.1
5.6.2
5.6.3
5.6.4
5.6.4.1

Configuration de la CPU pour la communication ...................................................................... 122


Cration d'une liaison rseau.................................................................................................... 122
Configuration du routage local/partenaire................................................................................. 123
Paramtres pour la liaison PROFINET ..................................................................................... 125
Affectation d'adresses IP (Internet Protocol) ............................................................................ 128
Affectation d'adresses IP des consoles de programmation et des dispositifs rseau ........... 128
Automate programmable S7-1200

Manuel systme, 07/2011, A5E02486682-04

Sommaire

5.6.4.2
5.6.4.3
5.6.4.4
5.6.5
5.6.6
5.6.7
5.6.8
6

Vrification de l'adresse IP de votre console de programmation ..............................................130


Affectation d'une adresse IP une CPU en ligne......................................................................131
Configuration d'une adresse IP pour une CPU dans votre projet..............................................132
Test du rseau PROFINET........................................................................................................135
Localisation de l'adresse Ethernet (MAC) sur la CPU ...............................................................136
Configuration de la synchronisation via le protocole NTP .........................................................137
Temps de mise en route, affectation de nom et d'adresse pour un appareil PROFINET .........139

Concepts de programmation.................................................................................................................. 141


6.1

Principes de conception d'un systme d'automatisation ...........................................................141

6.2

Organisation de votre programme utilisateur.............................................................................142

6.3
6.3.1
6.3.2
6.3.3
6.3.4

Utilisation de blocs pour structurer votre programme ................................................................144


Bloc d'organisation (OB) ............................................................................................................144
Fonction (FC) .............................................................................................................................146
Bloc fonctionnel (FB)..................................................................................................................147
Bloc de donnes (DB)................................................................................................................148

6.4

Comprendre le concept de cohrence des donnes.................................................................149

6.5
6.5.1
6.5.2
6.5.3

Langage de programmation.......................................................................................................151
Schma contacts (CONT).......................................................................................................151
Logigramme (LOG) ....................................................................................................................153
EN et ENO pour CONT et LOG .................................................................................................153

6.6
6.6.1
6.6.2
6.6.3

Protection ...................................................................................................................................154
Protection d'accs pour la CPU .................................................................................................154
Protection du savoir-faire ...........................................................................................................156
Protection contre la copie ..........................................................................................................157

6.7

Chargement d'lments de votre programme dans la CPU ......................................................158

6.8
6.8.1
6.8.2

Chargement partir de la CPU..................................................................................................158


Copie des lments du projet ....................................................................................................158
Utilisation de la fonction de synchronisation pour un chargement partir de la CPU...............159

6.9
6.9.1
6.9.2
6.9.3
6.9.4

Dbogage et test du programme ...............................................................................................160


Visualisation et forage de donnes dans la CPU.....................................................................160
Tables de visualisation et tables de forage permanent ...........................................................161
Affichage de l'usage des rfrences croises ...........................................................................162
Structure d'appel permettant de constater la hirarchie d'appel ...............................................163

Instructions de base............................................................................................................................... 165


7.1
7.1.1
7.1.2
7.1.3

Instructions logiques sur bits......................................................................................................165


Contacts et bobines ...................................................................................................................165
Instructions Mise 1 et Mise 0 ...............................................................................................168
Instructions Front montant et Front descendant ........................................................................170

7.2

Temporisations...........................................................................................................................172

7.3

Compteurs..................................................................................................................................181

7.4
7.4.1
7.4.2
7.4.3

Comparaison..............................................................................................................................188
Comparaison..............................................................................................................................188
Instructions Valeur dans la plage et Valeur en dehors de la plage ...........................................189
Instructions Contrler validit et Contrler invalidit..................................................................189

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

Sommaire

7.5
7.5.1
7.5.2
7.5.3
7.5.4
7.5.5
7.5.6
7.5.7
7.5.8
7.5.9

Fonctions mathmatiques ......................................................................................................... 190


Instruction Calculer ................................................................................................................... 190
Instructions Addition, Soustraction, Multiplication et Division ................................................... 191
Instruction Modulo..................................................................................................................... 193
Instruction Ngation .................................................................................................................. 193
Instructions Incrmenter et Dcrmenter.................................................................................. 194
Instruction Valeur absolue......................................................................................................... 195
Instructions Calculer le minimum et Calculer le maximum ....................................................... 196
Instruction Dfinir une limite...................................................................................................... 197
Instructions mathmatiques virgule flottante.......................................................................... 198

7.6
7.6.1
7.6.2
7.6.3
7.6.4

Transfert .................................................................................................................................... 200


Instructions Copier valeur et Copier zone................................................................................. 200
Instructions FieldRead et FieldWrite ......................................................................................... 202
Instructions Complter .............................................................................................................. 203
Instruction Permutation ............................................................................................................. 205

7.7
7.7.1
7.7.2
7.7.3
7.7.4

Convertir.................................................................................................................................... 206
Instruction CONV ...................................................................................................................... 206
Instructions Arrondir et Former un nombre entier ..................................................................... 207
Instructions Arrondir l'entier suprieur et Arrondir l'entier infrieur..................................... 208
Instructions Mise l'chelle et Normaliser................................................................................ 209

7.8
7.8.1
7.8.2
7.8.3
7.8.4
7.8.5
7.8.6
7.8.7

Gestion du programme ............................................................................................................. 212


Instructions Saut et Repre de saut.......................................................................................... 212
Instruction JMP_LIST ................................................................................................................ 213
Instruction SWITCH .................................................................................................................. 214
Instruction de gestion d'excution RET..................................................................................... 216
Instruction Redclencher le temps de surveillance du cycle .................................................... 217
Instruction Commuter en STOP................................................................................................ 218
Instructions de traitement d'erreur ............................................................................................ 218

7.9
7.9.1
7.9.2
7.9.3
7.9.4

Oprations logiques sur mots ................................................................................................... 222


Instructions AND, OR et XOR ................................................................................................... 222
Instruction Inverser.................................................................................................................... 223
Instructions Encoder et Dcoder............................................................................................... 223
Instructions Slectionner, Multiplexeur et Dmultiplexeur ........................................................ 224

7.10
7.10.1
7.10.2

Dcalage et rotation .................................................................................................................. 228


Instructions de dcalage ........................................................................................................... 228
Instructions de rotation.............................................................................................................. 229

Instructions avances ............................................................................................................................ 231


8.1
8.1.1
8.1.2
8.1.3
8.1.4

Date et heure ............................................................................................................................ 231


Instructions sur la date et l'heure .............................................................................................. 231
Rgler et lire l'horloge systme................................................................................................. 233
Instruction Compteur d'heures de fonctionnement ................................................................... 235
Instruction SET_TIMEZONE ..................................................................................................... 237

8.2
8.2.1
8.2.2
8.2.3
8.2.3.1
8.2.3.2

Chanes de caractres et caractres ........................................................................................ 238


Prsentation des donnes chanes de caractres (type String) ............................................... 238
Instruction S_MOVE.................................................................................................................. 239
Instructions de conversion de chane ....................................................................................... 239
Conversions de chane en valeur et de valeur en chane......................................................... 239
Conversions de chane en caractres et de caractres en chane .......................................... 248

Automate programmable S7-1200

Manuel systme, 07/2011, A5E02486682-04

Sommaire

8.2.3.3
8.2.4
8.2.4.1
8.2.4.2
8.2.4.3
8.2.4.4
8.2.4.5
8.2.4.6
8.2.4.7

Conversions de ASCII en hexadcimal et de hexadcimal en ASCII .......................................250


Instructions sur chane...............................................................................................................252
LEN ............................................................................................................................................252
CONCAT ....................................................................................................................................253
LEFT, RIGHT et MID .................................................................................................................254
DELETE .....................................................................................................................................255
INSERT ......................................................................................................................................256
REPLACE ..................................................................................................................................257
FIND...........................................................................................................................................258

8.3
8.3.1
8.3.2
8.3.3
8.3.4
8.3.5

Priphrie dcentralise ............................................................................................................259


RDREC et WRREC....................................................................................................................259
RALRM.......................................................................................................................................262
Paramtre STATUS pour RDREC, WRREC et RALRM ...........................................................264
DPRD_DAT et DPWR_DAT.......................................................................................................268
DPNRM_DG...............................................................................................................................270

8.4
8.4.1
8.4.2
8.4.2.1
8.4.2.2
8.4.3
8.4.4

Alarmes ......................................................................................................................................273
Instructions ATTACH et DETACH .............................................................................................273
Alarmes cycliques ......................................................................................................................276
SET_CINT (Rgler alarme cyclique)..........................................................................................276
QRY_CINT (Interroger alarme cyclique)....................................................................................279
Alarmes temporises .................................................................................................................280
Alarmes asynchrones ................................................................................................................283

8.5
8.5.1
8.5.2
8.5.3
8.5.4

Diagnostic ..................................................................................................................................284
Instruction LED...........................................................................................................................284
Instruction DeviceStates ............................................................................................................285
Instruction ModuleStates ...........................................................................................................286
Instruction GET_DIAG ...............................................................................................................287

8.6
8.6.1
8.6.2
8.6.3

Impulsion....................................................................................................................................289
Instruction CTRL_PWM .............................................................................................................289
Fonctionnement des sorties d'impulsions ..................................................................................291
Configuration d'une voie d'impulsion pour PWM .......................................................................292

8.7
8.7.1

Gestion des blocs de donnes...................................................................................................293


READ_DBL, WRIT_DBL (Lecture ou criture dans un DB en mmoire de chargement) .........293

8.8

Codes d'erreur communs pour les instructions avances .........................................................296

Consignation de donnes ...................................................................................................................... 297


9.1

Structure des enregistrements de journaux...............................................................................297

9.2
9.2.1
9.2.2
9.2.3
9.2.4
9.2.5

Instructions de gestion des journaux de donnes .....................................................................298


DataLogCreate...........................................................................................................................298
DataLogOpen.............................................................................................................................301
DataLogClose ............................................................................................................................303
DataLogWrite .............................................................................................................................304
DataLogNewFile ........................................................................................................................306

9.3

Utilisation des journaux de donnes..........................................................................................308

9.4

Limites de taille des fichiers journaux ........................................................................................310

9.5

Exemple de programme pour les journaux de donnes............................................................312

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

Sommaire

10

Instructions technologiques ................................................................................................................... 317


10.1
10.1.1
10.1.2

Compteur rapide ....................................................................................................................... 317


Fonctionnement du compteur rapide ........................................................................................ 319
Configuration du HSC ............................................................................................................... 326

10.2
10.2.1
10.2.2
10.2.3
10.2.4
10.2.5

Rgulation PID .......................................................................................................................... 327


Insertion de l'instruction PID et de l'objet technologique .......................................................... 328
Instruction PID_Compact .......................................................................................................... 330
Instruction PID_3STEP ............................................................................................................. 334
Configuration du rgulateur PID ............................................................................................... 341
Mise en service du rgulateur PID............................................................................................ 343

10.3
Commande de mouvement de base......................................................................................... 345
10.3.1 Configuration de l'axe ............................................................................................................... 348
10.3.2 Instructions de commande de mouvement (Motion Control) .................................................... 351
10.3.2.1 Instruction MC_Power ............................................................................................................... 351
10.3.2.2 Instruction MC_Reset................................................................................................................ 354
10.3.2.3 Instruction MC_Home................................................................................................................ 355
10.3.2.4 Instruction MC_Halt................................................................................................................... 358
10.3.2.5 Instruction MC_MoveAbsolute .................................................................................................. 360
10.3.2.6 Instruction MC_MoveRelative ................................................................................................... 362
10.3.2.7 Instruction MC_MoveVelocity.................................................................................................... 364
10.3.2.8 Instruction MC_MoveJog........................................................................................................... 366
10.3.2.9 Instruction MC_CommandTable ............................................................................................... 369
10.3.2.10 MC_ChangeDynamic ........................................................................................................... 371
10.3.3 Fonctionnement de la commande de mouvement pour le S7-1200 ......................................... 373
10.3.3.1 Sorties de la CPU pour la commande de mouvement.............................................................. 373
10.3.3.2 Fins de course matriels et logiciels pour la commande de mouvement ................................. 374
10.3.3.3 Rfrencement.......................................................................................................................... 377
10.3.3.4 Limitation d'-coup .................................................................................................................... 382
10.3.4 Mise en service ......................................................................................................................... 383
10.3.5 Suivi des commandes actives................................................................................................... 386
10.3.5.1 Suivi des instructions MC avec paramtre de sortie "Done" .................................................... 386
10.3.5.2 Suivi de l'instruction MC_Velocity ............................................................................................. 390
10.3.5.3 Suivi de l'instruction MC_MoveJog ........................................................................................... 394
11

PROFINET et PROFIBUS ..................................................................................................................... 399


11.1

Nombre de liaisons de communication asynchrones prises en charge.................................... 400

11.2
11.2.1
11.2.2
11.2.3
11.2.4
11.2.5
11.2.5.1
11.2.5.2
11.2.6
11.2.6.1
11.2.7
11.2.7.1
11.2.8
11.2.9

PROFINET ................................................................................................................................ 400


Liaison appareil local/partenaire ............................................................................................... 400
Liaisons et ID de port pour les instructions PROFINET............................................................ 402
Protocoles ................................................................................................................................. 404
Mode ad hoc ............................................................................................................................. 405
TCP et ISO sur TCP.................................................................................................................. 406
TSEND_C et TRCV_C .............................................................................................................. 407
TCON, TDISCON, TSEND et TRCV......................................................................................... 413
UDP........................................................................................................................................... 420
TUSEND et TURCV .................................................................................................................. 421
T_CONFIG ................................................................................................................................ 426
Bloc de donnes CONF_DATA................................................................................................. 428
Paramtres communs des instructions..................................................................................... 431
Communication avec une console de programmation.............................................................. 432

Automate programmable S7-1200

10

Manuel systme, 07/2011, A5E02486682-04

Sommaire

11.2.9.1 Etablissement de la liaison de communication matrielle .........................................................433


11.2.9.2 Configuration des appareils .......................................................................................................434
11.2.9.3 Affectation d'adresses IP (Internet Protocol) .............................................................................434
11.2.9.4 Test de votre rseau PROFINET...............................................................................................434
11.2.10 Communication IHM vers automate ..........................................................................................435
11.2.10.1 Configuration des liaisons rseau logiques entre deux appareils ........................................436
11.2.11 Communication API-API ............................................................................................................436
11.2.11.1 Configuration des liaisons rseau logiques entre deux appareils ........................................437
11.2.11.2 Configuration du routage local/partenaire entre deux appareils...........................................438
11.2.11.3 Configuration des paramtres d'mission et de rception ...................................................438
11.2.12 Configuration d'une CPU et d'un priphrique PROFINET IO ..................................................441
11.2.13 Diagnostic ..................................................................................................................................444

12

11.3
11.3.1
11.3.1.1
11.3.1.2
11.3.1.3
11.3.1.4
11.3.2
11.3.2.1
11.3.2.2
11.3.2.3

PROFIBUS.................................................................................................................................445
Modules de communication pour PROFIBUS ...........................................................................446
Connexion PROFIBUS ...........................................................................................................446
Services de communication des CM PROFIBUS ......................................................................447
Autres proprits des CM PROFIBUS.......................................................................................448
Exemples de configuration pour PROFIBUS.............................................................................449
Configuration d'un matre et d'un esclave DP............................................................................450
Ajout du module CM 1243-5 (matre DP) et d'un esclave DP ...................................................450
Configuration des liaisons rseau logiques entre deux appareils PROFIBUS..........................451
Affectation d'adresses PROFIBUS au module CM 1243-5 et l'esclave DP............................451

11.4
11.4.1
11.4.2
11.4.3

Priphrie dcentralise ............................................................................................................453


Instructions de priphrie dcentralise ....................................................................................453
Oprations de diagnostic ...........................................................................................................454
Evnements de diagnostic d'une priphrie dcentralise .......................................................454

11.5
11.5.1
11.5.2
11.5.3

Communication S7.....................................................................................................................455
Instructions GET et PUT ............................................................................................................455
Cration d'une liaison S7 ...........................................................................................................458
Configuration du routage local/partenaire entre deux appareils................................................459

11.6
11.6.1
11.6.2
11.6.3
11.6.4
11.6.5

Telecontrol et TeleService avec le CP 1242-7 ..........................................................................459


Connexion un rseau GSM.....................................................................................................459
Application du CP 1242-7 ..........................................................................................................461
Autres proprits du CP.............................................................................................................462
Accessoires................................................................................................................................463
Exemples de configuration pour Telecontrol .............................................................................464

Protocoles des processeurs de communication..................................................................................... 469


12.1

Utilisation des interfaces de communication RS232 et RS485 .................................................469

12.2

Polarisation et terminaison d'un connecteur de rseau RS485.................................................470

12.3
12.3.1
12.3.1.1
12.3.1.2
12.3.1.3
12.3.1.4
12.3.1.5
12.3.1.6
12.3.1.7

Communication point point (PtP) ............................................................................................471


Instructions point point ............................................................................................................472
Paramtres communs pour les instructions point point..........................................................472
Instruction PORT_CFG ..............................................................................................................474
Instruction SEND_CFG ..............................................................................................................476
Instruction RCV_CFG ................................................................................................................477
Instruction SEND_PTP...............................................................................................................482
Instruction RCV_PTP .................................................................................................................486
Instruction RCV_RST.................................................................................................................487

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

11

Sommaire

13

12.3.1.8
12.3.1.9
12.3.2
12.3.2.1
12.3.3
12.3.3.1
12.3.3.2
12.3.4
12.3.4.1
12.3.5
12.3.5.1
12.3.5.2
12.3.5.3
12.3.5.4

Instruction SGN_GET................................................................................................................ 488


Instruction SGN_SET ................................................................................................................ 489
Configuration des ports de communication............................................................................... 491
Gestion du contrle de flux ....................................................................................................... 492
Configuration des paramtres d'mission et de rception........................................................ 493
Configuration des paramtres d'mission................................................................................. 494
Configuration des paramtres de rception.............................................................................. 495
Programmation de la communication point point................................................................... 501
Architecture d'interrogation ....................................................................................................... 502
Exemple : Communication point point ................................................................................... 503
Configuration du module de communication............................................................................. 504
Programmation du programme STEP 7.................................................................................... 505
Configuration de l'mulateur de terminal .................................................................................. 507
Excution de l'exemple ............................................................................................................. 507

12.4
12.4.1
12.4.2
12.4.3
12.4.4
12.4.5
12.4.6
12.4.7

Communication USS (interface srie universelle) .................................................................... 507


Conditions requises pour l'utilisation du protocole USS ........................................................... 509
Instruction USS_DRV................................................................................................................ 512
Instruction USS_PORT ............................................................................................................. 515
Instruction USS_RPM ............................................................................................................... 516
Instruction USS_WPM............................................................................................................... 517
Codes d'tat USS...................................................................................................................... 519
Informations gnrales sur la configuration d'un entranement................................................ 521

12.5
12.5.1
12.5.2
12.5.2.1
12.5.2.2
12.5.2.3
12.5.2.4
12.5.2.5
12.5.2.6
12.5.2.7
12.5.3
12.5.3.1
12.5.3.2
12.5.3.3
12.5.3.4
12.5.3.5

Communication Modbus ........................................................................................................... 524


Prsentation de la communication Modbus RTU et TCP ......................................................... 524
Modbus TCP ............................................................................................................................. 527
MB_CLIENT (Modbus TCP)...................................................................................................... 527
MB_SERVER (Modbus TCP).................................................................................................... 533
Exemple pour MB_SERVER : Liaisons TCP multiples ............................................................. 539
Exemple 1 pour MB_CLIENT : Plusieurs demandes avec une liaison TCP commune ............ 540
Exemple 2 pour MB_CLIENT : Plusieurs demandes avec des liaisons TCP diffrentes ......... 541
Exemple 3 pour MB_CLIENT : Demande d'criture dans la mmoire image des sorties ........ 542
Exemple 4 pour MB_CLIENT : Coordination de plusieurs demandes ...................................... 542
Modbus RTU ............................................................................................................................. 543
MB_COMM_LOAD .................................................................................................................... 544
MB_MASTER ............................................................................................................................ 546
MB_SLAVE ............................................................................................................................... 552
Exemple de programme matre Modbus RTU .......................................................................... 559
Exemple de programme esclave Modbus RTU ........................................................................ 561

Serveur Web.......................................................................................................................................... 563


13.1

Activation du serveur Web ........................................................................................................ 564

13.2
13.2.1
13.2.2
13.2.3
13.2.4
13.2.5
13.2.6
13.2.7
13.2.8
13.2.9

Pages Web standard................................................................................................................. 564


Accs aux pages Web standard depuis le PC.......................................................................... 564
Disposition des pages Web standard ....................................................................................... 566
Introduction ............................................................................................................................... 568
Page de dmarrage .................................................................................................................. 569
Identification .............................................................................................................................. 570
Mmoire tampon de diagnostic................................................................................................. 570
Informations sur les modules .................................................................................................... 571
Communication ......................................................................................................................... 573
Etat des variables...................................................................................................................... 574
Automate programmable S7-1200

12

Manuel systme, 07/2011, A5E02486682-04

Sommaire

13.2.10 Journaux ....................................................................................................................................576


13.2.11 Contraintes.................................................................................................................................579
13.2.11.1 Fonctionnalits limites lorsque JavaScript est dsactiv....................................................579
13.2.11.2 Fonctions restreintes lorsque les cookies ne sont pas autoriss .........................................581
13.2.11.3 Importation du certificat de scurit Siemens.......................................................................581
13.2.11.4 Importation de journaux en format CSV dans des versions non anglaises/amricaines
de Microsoft Excel.................................................................................................................582
Pages Web personnalises .......................................................................................................583
13.3
13.3.1 Cration de pages HTML...........................................................................................................584
13.3.2 Commandes AWP prises en charge par le serveur Web du S7-1200 ......................................584
13.3.2.1 Lecture de variables...................................................................................................................586
13.3.2.2 Ecriture de variables ..................................................................................................................587
13.3.2.3 Lecture de variables spciales...................................................................................................588
13.3.2.4 Ecriture de variables spciales ..................................................................................................590
13.3.2.5 Utilisation d'un alias pour une rfrence de variable .................................................................591
13.3.2.6 Dfinition de types Enum ...........................................................................................................592
13.3.2.7 Rfrenage de variables CPU avec un type Enum .................................................................593
13.3.2.8 Cration de fragments ...............................................................................................................594
13.3.2.9 Importation de fragments ...........................................................................................................595
13.3.2.10 Combinaison de dfinitions...................................................................................................596
13.3.2.11 Gestion des noms de variables contenant des caractres spciaux ...................................596
13.3.3 Configuration de l'utilisation de pages Web personnalises .....................................................598
13.3.4 Programmation de l'instruction WWW pour les pages Web personnalises.............................600
13.3.5 Chargement des blocs de programme dans la CPU .................................................................602
13.3.6 Accs aux pages Web personnalises depuis le PC ................................................................602
13.3.7 Contraintes spcifiques aux pages Web personnalises ..........................................................602
13.3.8 Exemple de page Web personnalise .......................................................................................603
13.3.8.1 Page Web pour le contrle-commande d'une olienne.............................................................603
13.3.8.2 Lecture et affichage des donnes de l'automate .......................................................................606
13.3.8.3 Utilisation d'un type Enum .........................................................................................................606
13.3.8.4 Ecriture d'une entre utilisateur dans l'automate.......................................................................607
13.3.8.5 Ecriture d'une variable spciale .................................................................................................608
13.3.8.6 Rfrence : listage HTML de la page Web de contrle d'olienne distance ..........................609
13.3.8.7 Configuration de l'exemple de page Web dans STEP 7............................................................613
13.3.9 Configuration de pages Web personnalises dans plusieurs langues ......................................615
13.3.9.1 Cration de la structure de dossiers ..........................................................................................615
13.3.9.2 Programmation du changement de langue................................................................................616
13.3.9.3 Configuration de STEP 7 pour qu'il utilise une structure de page multilingue...........................618
13.3.10 Commande avance de pages Web personnalises ................................................................619
14

Outils en ligne et de diagnostic .............................................................................................................. 623


14.1

DEL d'tat ..................................................................................................................................623

14.2

Passage en ligne et connexion une CPU ...............................................................................625

14.3

Affectation d'un nom un priphrique PROFINET IO en ligne ...............................................626

14.4

Rglage de l'adresse IP et de l'heure ........................................................................................627

14.5

Panneau de commande CPU de la CPU en ligne .....................................................................628

14.6

Surveillance du temps de cycle et de l'utilisation de la mmoire...............................................628

14.7

Affichage des vnements de diagnostic dans la CPU.............................................................629

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

13

Sommaire

14.8

Comparaison et synchronisation des CPU hors ligne et en ligne............................................. 629

14.9
14.9.1
14.9.2
14.9.3
14.9.4
14.9.4.1
14.9.4.2
14.9.5
14.9.5.1
14.9.5.2

Visualisation et forage de valeurs dans la CPU ...................................................................... 630


Passage en ligne pour visualiser les valeurs dans la CPU....................................................... 631
Affichage de l'tat dans l'diteur de programme....................................................................... 632
Acquisition des valeurs en ligne d'un DB pour redfinir les valeurs initiales ............................ 633
Utilisation d'une table de visualisation pour visualiser et forcer des valeurs dans la CPU....... 634
Utilisation d'un dclenchement lors de la visualisation ou du forage de variables API .......... 635
Dblocage des sorties l'tat ARRET...................................................................................... 636
Forage permanent de valeurs dans la CPU............................................................................ 637
Utilisation de la table de forage permanent............................................................................. 637
Fonctionnement de la fonction de forage permanent ............................................................. 638

Caractristiques techniques................................................................................................................... 641


A.1

Caractristiques techniques d'ordre gnral ............................................................................ 641

A.2
A.2.1
A.2.2
A.2.3
A.2.3.1
A.2.3.2
A.2.3.3
A.2.4

CPU 1211C ............................................................................................................................... 646


Caractristiques et fonctions gnrales.................................................................................... 646
Entres et sorties TOR.............................................................................................................. 650
Entres analogiques ................................................................................................................. 651
Rponse indicielle des entres analogiques intgres de la CPU ........................................... 652
Temps d'chantillonnage pour les ports analogiques intgrs de la CPU ............................... 652
Plages de mesure des entres analogiques pour la tension .................................................... 653
Schmas de cblage................................................................................................................. 654

A.3
A.3.1
A.3.2
A.3.3
A.3.3.1
A.3.3.2
A.3.3.3
A.3.4

CPU 1212C ............................................................................................................................... 655


Caractristiques et fonctions gnrales.................................................................................... 655
Entres et sorties TOR.............................................................................................................. 659
Entres analogiques ................................................................................................................. 661
Rponse indicielle des entres analogiques intgres de la CPU ........................................... 661
Temps d'chantillonnage pour les ports analogiques intgrs de la CPU ............................... 662
Plages de mesure des entres analogiques pour la tension .................................................... 662
Schmas de cblage................................................................................................................. 663

A.4
A.4.1
A.4.2
A.4.3
A.4.3.1
A.4.3.2
A.4.3.3
A.4.4

CPU 1214C ............................................................................................................................... 664


Caractristiques et fonctions gnrales.................................................................................... 664
Entres et sorties TOR.............................................................................................................. 668
Entres analogiques ................................................................................................................. 669
Rponse indicielle des entres analogiques intgres de la CPU ........................................... 670
Temps d'chantillonnage pour les ports analogiques intgrs de la CPU ............................... 670
Plages de mesure des entres analogiques pour la tension .................................................... 671
Schmas de cblage de la CPU 1214C ................................................................................... 671

A.5
A.5.1
A.5.2
A.5.3
A.5.4

Modules d'entres-sorties TOR (SM)........................................................................................ 673


Caractristiques des modules d'entres TOR SM 1221........................................................... 673
Caractristiques des modules de sorties TOR SM 1222.......................................................... 674
Caractristiques des modules d'entres/sorties TOR SM 1223 VDC ...................................... 677
Caractristiques du module d'entres/sorties TOR SM 1223 VAC .......................................... 680

A.6
A.6.1
A.6.2
A.6.3
A.6.4
A.6.5

Modules d'entres-sorties analogiques (SM)............................................................................ 682


Caractristiques des modules d'entres analogiques SM 1231............................................... 682
Caractristiques des modules de sorties analogiques SM 1232 .............................................. 684
Caractristiques du module d'entres/sorties analogiques SM 1234....................................... 686
Rponse indicielle des entres analogiques............................................................................. 689
Temps d'chantillonnage et temps d'actualisation pour les entres analogiques .................... 689

Automate programmable S7-1200

14

Manuel systme, 07/2011, A5E02486682-04

Sommaire

A.6.6
A.6.7

Plages de mesure des entres analogiques pour la tension.....................................................690


Plages de mesures de sortie (AQ) pour tension et courant (SB et SM) ....................................690

A.7
A.7.1
A.7.1.1
A.7.1.2
A.7.2
A.7.2.1

Modules d'entres-sorties (SM) Thermocouple et RTD ............................................................691


SM 1231 Thermocouple.............................................................................................................691
Principe de fonctionnement des thermocouples........................................................................693
Tableaux de slection pour les SM 1231 Thermocouple ..........................................................694
SM 1231 RTD ............................................................................................................................696
Tableaux de slection pour les SM 1231 RTD ..........................................................................698

A.8
A.8.1
A.8.2
A.8.3
A.8.4

Signal Boards (SB) TOR............................................................................................................701


Caractristiques des SB 1221 entres TOR, 200 kHz ..............................................................701
Caractristiques des SB 1222 sorties TOR, 200 kHz................................................................702
Caractristiques des SB 1223 entres/sorties TOR, 200 kHz...................................................705
Caractristiques du SB 1223 2 entres 24 VDC / 2 sorties 24 VDC .........................................707

A.9
A.9.1
A.9.2
A.9.3
A.9.3.1
A.9.3.2
A.9.3.3
A.9.3.4
A.9.4
A.9.4.1
A.9.4.2
A.9.5
A.9.5.1
A.9.5.2

Signal Boards (SB) analogiques ................................................................................................709


Caractristiques du SB 1231 1 sortie analogique......................................................................709
Caractristiques du SB 1232 1 sortie analogique......................................................................711
Plages de mesure pour les entres et sorties analogiques.......................................................713
Rponse indicielle des entres analogiques .............................................................................713
Temps d'chantillonnage et temps d'actualisation pour les entres analogiques.....................713
Plages de mesure des entres analogiques pour la tension.....................................................714
Plages de mesures de sortie (AQ) pour tension et courant (SB et SM) ....................................714
SB Thermocouple ......................................................................................................................715
Caractristiques du SB 1231 1 entre analogique Thermocouple ............................................715
Principe de fonctionnement des thermocouples........................................................................717
Signal Boards (SB) RTD ............................................................................................................719
Caractristiques du SB 1231 1 entre analogique RTD............................................................719
Tableaux de slection pour le SB 1231 RTD.............................................................................721

A.10
A.10.1
A.10.1.1
A.10.1.2
A.10.2
A.10.2.1
A.10.3
A.10.3.1
A.10.3.2
A.10.3.3

Interfaces de communication .....................................................................................................724


PROFIBUS.................................................................................................................................724
CM 1242-5 .................................................................................................................................724
CM 1243-5 .................................................................................................................................725
GPRS .........................................................................................................................................727
CP 1242-7 ..................................................................................................................................728
RS232 et RS485 ........................................................................................................................730
Caractristiques RS485 CB 1241 ..............................................................................................730
Caractristiques du module CM 1241 RS485 ...........................................................................732
Caractristiques du module CM 1241 RS232 ...........................................................................734

A.11

TeleService (TS Adapter et TS Adapter modulaire) ..................................................................735

A.12

Cartes mmoire SIMATIC..........................................................................................................735

A.13

Simulateurs d'entres ................................................................................................................735

A.14

Cble d'extension d'E/S .............................................................................................................737

A.15
A.15.1
A.15.2

Produits connexes .....................................................................................................................737


Module d'alimentation PM 1207.................................................................................................737
Module commutateur compact CSM 1277 ................................................................................738

Calcul d'un bilan de consommation ....................................................................................................... 739

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

15

Sommaire

Numros de rfrence ........................................................................................................................... 743


C.1

Modules CPU ............................................................................................................................ 743

C.2

Modules d'entres-sorties (SM) et Signal Boards (SB) ............................................................ 743

C.3

Communication ......................................................................................................................... 744

C.4

Autres modules ......................................................................................................................... 745

C.5

Cartes mmoire......................................................................................................................... 746

C.6

Appareils IHM Basic.................................................................................................................. 746

C.7

Pices dtaches et autres matriels ....................................................................................... 746

C.8

Logiciel de programmation........................................................................................................ 747

C.9

Documentation .......................................................................................................................... 747

Index...................................................................................................................................................... 749

Automate programmable S7-1200

16

Manuel systme, 07/2011, A5E02486682-04

Prsentation du produit
1.1

Introduction l'automate S7-1200


Le contrleur S7-1200 offre la souplesse et la puissance ncessaires pour commander une
large gamme d'appareils afin de rpondre vos besoins en matire d'automatisation. Sa
forme compacte, sa configuration souple et son important jeu d'instructions en font une
solution idale pour la commande d'applications trs varies.
La CPU combine un microprocesseur, une alimentation intgre, des circuits d'entre et de
sortie, un PROFINET intgr, des E/S rapides de commande de mouvement, ainsi que des
entres analogiques intgres dans un botier compact en vue de crer un contrleur
puissant. Une fois que vous avez charg votre programme, la CPU contient la logique
ncessaire au contrle et la commande des appareils dans votre application. La CPU
surveille les entres et modifie les sorties conformment la logique de votre programme
utilisateur, qui peut contenir des instructions boolennes, des instructions de comptage, des
instructions de temporisation, des instructions mathmatiques complexes ainsi que des
commandes pour communiquer avec d'autres appareils intelligents.
La CPU fournit un port PROFINET permettant de communiquer par le biais d'un rseau
PROFINET. Des modules supplmentaires sont disponibles pour communiquer via les
rseaux PROFIBUS, GPRS, RS485 ou RS232.

Prise d'alimentation
Logement pour carte mmoire sous le

volet suprieur

Connecteurs amovibles pour le cblage


utilisateur (derrire les volets)

DEL d'tat pour les E/S intgres


Connecteur PROFINET (sur la face
infrieure de la CPU)

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

17

Prsentation du produit
1.1 Introduction l'automate S7-1200
Plusieurs fonctions de scurit vous aident protger l'accs la CPU et au programme de
commande :
Chaque CPU fournit une protection par mot de passe (Page 154) qui vous permet de
configurer l'accs aux fonctions CPU.
Vous pouvez utiliser la protection du savoir-faire (Page 156) (protection "know-how") pour
masquer le code d'un bloc spcifique.
Vous pouvez utiliser la protection contre la copie (Page 157) pour lier votre programme
une carte mmoire ou une CPU spcifique.
Tableau 1- 1 Comparaison des modles de CPU
Caractristique

CPU 1211C

CPU 1212C

CPU 1214C

Dimensions (mm)

90 x 100 x 75

90 x 100 x 75

110 x 100 x 75

Mmoire utilisateur de travail

E/S intgres
locales

25 Ko

25 Ko

50 Ko

de chargement

1 Mo

1 Mo

2 Mo

rmanente

2 Ko

2 Ko

2 Ko

TOR

6 entres/4 sorties

8 entres/6 sorties

14 entres/10 sorties

Analogiques

2 entres

2 entres

2 entres

Entres (I)

1024 octets

1024 octets

1024 octets

Sorties (Q)

1024 octets

1024 octets

1024 octets

Mmentos (M)

4096 octets

4096 octets

8192 octets

Modules d'entres-sorties (SM) pour


extension

Aucun

Signal Board (SB) ou Communication 1


Board (CB)

Module de communication (CM)


(extension vers la gauche)

Compteurs
rapides

Total

Monophase

3 100 kHz

3 100 kHz
1 30 kHz

3 100 kHz
3 30 kHz

Quadrature de
phase

3 80 kHz

3 80 kHz
1 20 kHz

3 80 kHz
3 20 kHz

Sorties d'impulsions1

Carte mmoire

Carte mmoire SIMATIC (facultative)

Dure de conservation de l'horloge


temps rel

10 jours typ. / 6 jours minimum 40 degrs Celsius

PROFINET

1 port de communication Ethernet

Vitesse d'excution des instructions


mathmatiques sur rels

18 s/instruction

Vitesse d'excution des instructions


boolennes

0,1 s/instruction

Taille de la
mmoire image

Pour les modles de CPU avec sorties relais, vous devez installer un Signal Board (SB) TOR pour utiliser les sorties
d'impulsions.

Automate programmable S7-1200

18

Manuel systme, 07/2011, A5E02486682-04

Prsentation du produit
1.1 Introduction l'automate S7-1200
Chaque CPU fournit des liaisons IHM spcialises pour la prise en charge de 3 appareils
IHM au maximum. Le nombre total de stations IHM dpend des types de pupitres IHM dans
votre configuration. Vous pouvez, par exemple, avoir trois SIMATIC Basic Panels au plus
connects votre CPU ou bien deux SIMATIC Comfort Panels au plus avec un Basic Panel
additionnel.
Les diffrents modles de CPU disposent de fonctions et lments divers qui vous aident
crer des solutions efficaces pour vos diverses applications. Reportez-vous aux
caractristiques techniques (Page 641) pour des informations dtailles sur une CPU
spcifique.
Tableau 1- 2 Blocs, temporisations et compteurs pris en charge par le S7-1200
Elment
Blocs

Description
Type
Taille

OB, FB, FC, DB


25 Ko (CPU 1211C et CPU 1212C)
50 Ko (CPU 1214C)

OB

Quantit

Jusqu' 1 024 blocs au total (OB + FB + FC + DB)

Plage d'adresses pour les FB,


FC et DB

1 65535 (FB 1 FB 65535, par exemple)

Profondeur d'imbrication

16 partir de l'OB de cycle de programme ou de dmarrage ; 4


partir de l'OB d'alarme temporise, d'alarme horaire, d'alarme
cyclique, d'alarme matrielle, d'alarme d'erreur de temps ou d'alarme
d'erreur de diagnostic

Visualisation

Il est possible de visualiser simultanment l'tat de 2 blocs de code.

Cycle de programme

Plusieurs : OB 1, OB 200 OB 65535

Mise en route

Plusieurs : OB 100, OB 200 OB 65535

Alarmes temporises et
alarmes cycliques

41 (1 par vnement) : OB 200 OB 65535

Alarmes matrielles (fronts et


HSC)

50 (1 par vnement) : OB 200 OB 65535

Alarmes d'erreur de temps

1: OB 80

Alarmes d'erreur de diagnostic 1: OB 82


Temporisations

Compteurs

Type

CEI

Quantit

Limit uniquement par la taille de la mmoire

Stockage

Structure dans un DB, 16 octets par temporisation

Type

CEI

Quantit

Limit uniquement par la taille de la mmoire

Stockage

Structure dans un DB, la taille dpend du type de compteur

SInt, USInt : 3 octets

Int, UInt : 6 octets

DInt, UDInt : 12 octets

Les alarmes temporises et cycliques utilisent les mmes ressources dans la CPU. Vous pouvez avoir uniquement 4 de
ces alarmes au total (temporises et cycliques). Vous ne pouvez pas avoir 4 alarmes temporises et 4 alarmes
cycliques.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

19

Prsentation du produit
1.2 Possibilits d'extension de la CPU

1.2

Possibilits d'extension de la CPU


La gamme S7-1200 offre divers modules et cartes enfichables pour accrotre les capacits
de la CPU avec des E/S supplmentaires ou d'autres protocoles de communication.
Rfrez-vous aux caractristiques techniques (Page 641) pour des informations dtailles
sur un module spcifique.

Module de communication (CM), processeur de communication (CP) ou adaptateur


TS Adapter
CPU
Signal Board (SB) ou Communication Board (CB)
Module d'entres-sorties (SM)

Tableau 1- 3 Modules d'entres-sorties et Signal Boards TOR


Type

Entres uniquement

SB TOR

4 entres 24VDC,
200 kHz

4 sorties 24VDC,
200 kHz

4 entres 5VDC,
200 kHz

4 sorties 5VDC,
200 kHz

8 entres 24VDC

SM TOR

16 entres 24VDC

Sorties uniquement

Entres/sorties combines

2 entres 24VDC / 2 sorties 24VDC

2 entres 24VDC / 2 sorties 24VDC,


200 kHz

2 entres 5VDC / 2 sorties 5VDC,


200 kHz

8 sorties 24VDC

8 entres 24VDC / 8 sorties 24VDC

8 sorties Relais

8 entres 24VDC / 8 sorties Relais

8 entres 120/230VAC / 8 sorties Relais

16 sorties 24VDC

16 entres 24VDC / 16 sorties 24VDC

16 sorties Relais

16 entres 24VDC / 16 sorties Relais

Automate programmable S7-1200

20

Manuel systme, 07/2011, A5E02486682-04

Prsentation du produit
1.2 Possibilits d'extension de la CPU
Tableau 1- 4 Modules d'entres-sorties et Signal Boards analogiques
Type

Entres uniquement

SB

1 entre analogique 12 bits

1 RTD 16 bits

1 Thermocouple 16 bits

analogique

SM

analogique

Sorties uniquement

Entres/sorties combines

1 sortie analogique

4 entres analogiques

2 sorties analogiques

8 entres analogiques

4 sorties analogiques

Thermocouple :

4 TC 16 bits

8 TC 16 bits

4 entres analogiques / 2 sorties


analogiques

RTD :

4 RTD 16 bits

8 RTD 16 bits

Tableau 1- 5 Interfaces de communication

Module

Type

Description

Module de communication (CM)

RS232

Duplex intgral

RS485

Semi-duplex

Matre PROFIBUS

DPV1

Esclave PROFIBUS

DPV1

Processeur de communication (CP)

Connectivit modem

GPRS

Communication Board (CB)

RS485

Semi-duplex

TeleService

Adaptateur TS Adapter IE Basic1

Connexion la CPU

Adaptateur TS Adapter GSM

GSM/GPRS

Adaptateur TS Adapter Modem

Modem

Adaptateur TS Adapter ISDN

RNIS

Adaptateur TS Adapter RS232

RS232

L'adaptateur TS Adapter permet la connexion de diverses interfaces de communication au port PROFINET de la CPU.
Vous installez l'adaptateur TS sur le cot gauche de la CPU et connectez l'adaptateur TS Adapter modulaire (3 au plus)
sur l'adaptateur TS.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

21

Prsentation du produit
1.3 Modules S7-1200

1.3

Modules S7-1200

Tableau 1- 6 Modules d'extension S7-1200


Type de module
La CPU prend en charge une carte
d'extension enfichable :

Un Signal Board (SB) fournit


des E/S supplmentaires pour
votre CPU. Le SB se raccorde
l'avant de la CPU.

Description

DEL d'tat sur le


Signal Board

Connecteur
amovible pour le
cblage
utilisateur

DEL d'tat

Connecteur de
bus

Connecteur
amovible pour le
cblage
utilisateur

DEL d'tat

Connecteur de
communication

Un Communication Board (CB)


vous permet d'ajouter un autre
port de communication votre
CPU.

Les modules d'entres-sorties


(SM) permettent d'ajouter des
fonctionnalits la CPU. Les SM
se raccordent sur le ct droit de la
CPU.

E/S TOR

E/S analogiques

RTD et Thermocouple

Les modules de communication


(CM) et les processeurs de
communication (CP) ajoutent des
options de communication la
CPU, telles que la connectivit
PROFIBUS ou RS232 / RS485
(pour PtP, Modbus ou USS). Un
CP offre la possibilit d'autres
types de communication, par
exemple la connexion de la CPU
par le biais d'un rseau GPRS.

La CPU accepte jusqu' 3 CM


ou CP.

Chaque CM ou CP se raccorde
sur le ct gauche de la CPU
(ou sur le ct gauche d'un
autre CM ou CP).

Automate programmable S7-1200

22

Manuel systme, 07/2011, A5E02486682-04

Prsentation du produit
1.4 Nouvelles caractristiques du S7-1200 et de STEP 7 V11

1.4

Nouvelles caractristiques du S7-1200 et de STEP 7 V11


STEP 7 V11 et le firmware V2 de la CPU S7-1200 offrent de nouvelles possibilits et
caractristiques.
Pour vous permettre de mieux matriser la faon dont vous dfinissez les donnes dans
votre programme utilisateur, le S7-1200 propose d'autres types de donnes, tels que les
pointeurs, les tableaux indexs et les structures.
STEP 7 V11 effectue des conversions implicites de types de donnes pour des
instructions, de petits types de donnes (tels que SInt ou Byte) tant automatiquement
convertis en types de donnes plus grands (tels que DInt, DWord, Real ou LReal). Ainsi,
une valeur entire (Int) sera convertie automatiquement en entier double (DInt) ou en rel
(Real) par une instruction configure pour utiliser une valeur DInt ou Real. Vous n'avez
pas besoin d'utiliser une instruction de conversion pour convertir la valeur.
Le jeu d'instructions a t tendu. Les nouveauts concernent les instructions suivantes :
Les instructions de communication incluent les instructions GET et PUT pour la
communication S7, les instructions RALRM, WRREC et RDREC pour Distributed I/O,
de nouvelles instructions TUSEND et TURCV pour PROFINET et les instructions
GPRS et TM_MAIL pour TeleService.
Une nouvelle instruction Calculate vous permet d'entrer une quation directement
dans votre programme CONT ou LOG.
Des instructions supplmentaires sur les alarmes vous permettent de rgler et
d'interroger les alarmes temporises et cycliques.
Vous pouvez galement utiliser les nouvelles instructions de diagnostic pour lire l'tat
des DEL ou d'autres informations de diagnostic concernant les modules et appareils.
On trouve galement une nouvelle instruction PID_3Step trs facile utiliser.
Les instructions CONT et LOG prennent en charge un adressage indirect plus simple qui
permet d'accder en lecture et en criture aux lments individuels d'un tableau.
PROFINET UDP est dsormais pris en charge. UDP fournit une fonction de diffusion
gnrale.
La CPU S7-1200 est un contrleur PROFINET IO.
STEP 7 V11 dispose d'une fonction "annuler".
STEP 7 fournit dans la barre d'outils des boutons ARRET et MARCHE (Page 35) qui
permettent d'arrter et de dmarrer la CPU.
La "table de forage permanent" (Page 637) est distincte de la table de visualisation et
permet le forage permanent d'entres et de sorties.
Vous pouvez protger votre programme utilisateur ou vos blocs de code contre la copie
(Page 157) en les liant une CPU ou une carte mmoire spcifique.
Vous pouvez enregistrer et restaurer divers tats (Page 35) pour vos blocs de code.
Vous pouvez capturer les valeurs d'un DB (Page 633) pour dfinir ces valeurs comme
valeurs initiales.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

23

Prsentation du produit
1.4 Nouvelles caractristiques du S7-1200 et de STEP 7 V11
Par un clic sur un bouton, vous pouvez exporter dans Microsoft Excel les donnes de
tables de STEP 7 (table de variables API ou table de visualisation, par exemple). Vous
pouvez galement utiliser les raccourcis CTRL-C et CTRL-V pour effectuer des copiercoller entre STEP 7 et Microsoft Excel.
Vous pouvez dconnecter des priphriques IO (Page 37) du rseau configur sans
perdre l'appareil configur ni devoir reconfigurer le rseau.
Vous pouvez modifier l'affectation d'un DB (Page 36) un FB ou une instruction (par
exemple, pour changer l'association d'un FB d'un DB mono-instance un DB multiinstance).

Progiciels de programmation STEP 7 Basic et STEP 7 Professional


STEP 7 propose dsormais deux progiciels de programmation qui fournissent les
fonctionnalits dont vous avez besoin.
STEP 7 Basic dispose de tous les outils ncessaires votre projet S7-1200.
Avec le progiciel STEP 7 Basic, vous pouvez connecter vos CPU S7-1200 et les pupitres
IHM Basic un rseau PROFINET. L'ajout d'un module de communication (CM), d'un
processeur de communication (CP) ou d'un Communication Board (CB) la configuration
d'appareil de la CPU permet la connexion d'autres types de rseaux, tels que
PROFIBUS ou RS485.
STEP 7 Professional dveloppe le S7-1200 pour y inclure l'univers des S7-300 et S7400. Vous pouvez dsormais crer des rseaux utilisant tous ces automates et
priphriques d'E/S SIMATIC.

Fonctionnalit de serveur Web


Pour fournir un accs la CPU par le biais d'Internet, le S7-1200 prend en charge la
fonctionnalit de serveur Web S7 avec des pages Web standard stockes dans la mmoire
de la CPU. Vous pouvez galement crer vos propres pages Web pour accder aux
donnes dans la CPU.

Journaux de donnes
Le S7-1200 prend en charge la cration de journaux de donnes pour stocker des valeurs
du processus. Vous utilisez des instructions DataLog spcifiques pour crer et grer les
journaux de donnes. Les journaux de donnes sont enregistrs dans un format CSV
standard qui peut tre ouvert avec la plupart des tableurs.

Automate programmable S7-1200

24

Manuel systme, 07/2011, A5E02486682-04

Prsentation du produit
1.5 Tableaux IHM basiques

Nouveaux modules pour le S7-1200


Une varit de nouveaux modules augmente la puissance de la CPU S7-1200 et offre la
souplesse ncessaire vos besoins en automatisation :
De nouveaux modules d'entres-sorties (SM) et Signal Boards (SB) fournissent la
fonctionnalit thermocouple et RTD.
De nouveaux Signal Boards (SB) fournissent des E/S rapides (200 kHz).
De nouveaux modules de communication (CM) permettent au S7-1200 de fonctionner en
tant que matre ou esclave PROFIBUS.
De nouvelles interfaces de communication prennent en charge la communication
TeleService (modem, RNIS, GSM/GPRS et RS232).
Un nouveau Communication Board (CB) se branche sur l'avant de la CPU pour fournir la
fonctionnalit RS485.

1.5

Tableaux IHM basiques


Comme la visualisation devient un composant standard pour la plupart des modles de
machine, les tableaux IHM Basic de SIMATIC sont composs d'crans tactiles pour les
tches basiques de surveillance et de contrle de l'oprateur. Tous les tableaux ont un
indice de protection de IP65 et sont certifis CE, UL, cULus et NEMA 4x.

Tableaux basiques (IHM)

KTP 400 Basic PN

Description

Caractristiques techniques

cran tactile 4" avec 4 touches tactiles

250 variables

Mono (STN, nuances de gris)

50 crans de processus

76,79 mm x 57,59 mm (3,8")


Portrait ou paysage

200 alarmes

Rsolution : 320 x 240

25 courbes

32 Ko de mmoire des recettes

5 recettes, 20 enregistrements, 20
entres

cran tactile 6" avec 6 touches tactiles

500 variables

Couleur (TFT, 256 couleurs) ou


Mono (STN, nuances de gris)

50 crans de processus

200 alarmes

25 courbes

32 Ko de mmoire des recettes

5 recettes, 20 enregistrements, 20
entres

KTP 600 Basic PN

115,2 mm x 86,4 mm (5,7")


Portrait ou paysage

Rsolution : 320 x 240

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

25

Prsentation du produit
1.5 Tableaux IHM basiques

Tableaux basiques (IHM)

Description

Caractristiques techniques

cran tactile 10" avec 8 touches tactiles


Couleur (TFT, 256 couleurs)

50 crans de processus

211,2 mm x 158,4 mm (10,4")

200 alarmes

Rsolution : 640 x 480

25 courbes

32 Ko de mmoire des recettes

5 recettes, 20 enregistrements, 20
entres

KTP 1000 Basic PN


Ecran tactile 15"

TP 1500 Basic PN

500 variables

500 variables

Couleur (TFT, 256 couleurs)

50 crans de processus

304,1 mm x 228,1 mm (15,1")

200 alarmes

Rsolution : 1024 x 768

25 courbes

32 Ko de mmoire des recettes (flash


intgre)

5 recettes, 20 enregistrements, 20
entres

Automate programmable S7-1200

26

Manuel systme, 07/2011, A5E02486682-04

Logiciel de programmation STEP 7

STEP 7 fournit un environnement convivial pour concevoir, diter et surveiller la logique


ncessaire la commande de votre application, et notamment les outils pour grer et
configurer tous les appareils dans votre projet, tels que des automates et appareils IHM.
Pour vous aider trouver les informations dont vous avez besoin, STEP 7 fournit un
systme d'aide en ligne complet.
STEP 7 comprend des langages de programmation standard, ce qui s'avre trs pratique et
efficace pour la mise au point du programme de commande de votre application.
CONT (schma contacts) est un langage de programmation graphique. Sa
reprsentation se base sur des schmas (Page 151) de circuit.
LOG (logigramme) est un langage de programmation se fondant sur les symboles
logiques graphiques utiliss en algbre (Page 153) boolenne.
Lorsque vous crez un bloc de code, vous slectionnez le langage de programmation
utiliser par ce bloc. Votre programme utilisateur peut utiliser des blocs de code crs dans
n'importe lequel des langages de programmation disponibles.

2.1

Besoins du systme
Vous devez ouvrir une session en tant qu'administrateur pour installer le logiciel STEP 7 sur
un PC fonctionnant sous le systme d'exploitation Windows XP ou Windows 7.
Tableau 2- 1 Besoins du systme
Matriel / logiciel

Conditions requises

Type de processeur

Pentium M, 1,6 GHz ou similaire

Mmoire vive

1 Go

Espace disponible sur le disque


dur

2 Go sur le lecteur systme C:\

Systmes d'exploitation

Windows XP Professionnel SP3

Windows 2003 Server R2 StdE SP2

Windows 7 (Professional, Enterprise, Ultimate)

Windows 2008 Server StdE SP2

Carte graphique

32 Mo RAM
Profondeur de couleur 24 bits

Rsolution de l'cran

1024 x 768

Rseau

Ethernet 20 Mbits/s ou plus

Lecteur optique

DVD-ROM

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

27

Logiciel de programmation STEP 7


2.2 Diffrentes vues pour faciliter votre travail

2.2

Diffrentes vues pour faciliter votre travail


STEP 7 offre un environnement convivial pour dvelopper la logique du contrleur,
configurer la visualisation IHM et tablir la communication rseau. Pour permettre
d'augmenter votre productivit, STEP 7 offre deux vues diffrentes du projet : un ensemble
orient tche de portails qui sont organiss selon la fonctionnalit des outils (vue du portail)
et une vue oriente projet des lments dans le projet (vue du projet). Choisissez la vue qui
permet un travail le plus efficace possible. Avec un simple clic, vous pouvez faire le va-etvient entre la vue du portail et la vue du projet.
Vue du portail


Portails des diffrentes tches


Tches du portail slectionn
Panneau de slection de l'action
Bascule dans la vue du projet

Vue du projet

Menus et barre d'outils


Navigateur du projet
Zone de travail
Task Cards
Fentre d'inspection
Bascule dans la vue du portail
Barre d'dition

Comme tous ces composants sont regroups un endroit, vous pouvez facilement accder
chaque lment de votre projet. La fentre d'inspection montre, par exemple, les
proprits et informations de l'objet que vous avez slectionn dans la zone de travail.
Lorsque vous slectionnez diffrents objets, la fentre d'inspection affiche les proprits que
vous pouvez configurer. La fentre d'inspection contient des onglets vous permettant de voir
les informations de diagnostic et autres messages.
En affichant tous les diteurs ouverts, la barre d'dition vous permet de travailler plus
rapidement et efficacement. Pour basculer d'un diteur ouvert un autre, il suffit de cliquer
sur l'diteur correspondant. Vous pouvez galement aligner deux diteurs verticalement ou
horizontalement. Cette fonction vous permet d'utiliser la fonction glisser-dplacer entre les
diteurs.

Automate programmable S7-1200

28

Manuel systme, 07/2011, A5E02486682-04

Logiciel de programmation STEP 7


2.3 Simplicit des outils

2.3

Simplicit des outils

2.3.1

Insertion d'instructions dans votre programme utilisateur


STEP 7 fournit des Task Cards qui contiennent les instructions pour
votre programme. Les oprations sont regroupes selon leur
fonction.

Pour crer votre programme, vous amenez les oprations de la


Task Card dans un rseau.

2.3.2

Accs aux instructions depuis la barre d'outils "Favoris"


STEP 7 fournit une barre d'outils "Favoris" pour permettre un accs rapide aux instructions
que vous utilisez frquemment. Effectuez un clic simple sur l'icne de l'opration insrer
dans votre rseau !
(Pour les "Favoris" dans l'arborescence
d'instructions, double-cliquez sur l'icne)
Vous pouvez facilement
personnaliser les "Favoris" en
ajoutant de nouvelles oprations.
Il vous suffit de glisser-dplacer
une opration sur vos "Favoris".
Un simple clic permet alors
d'accder l'opration !

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

29

Logiciel de programmation STEP 7


2.3 Simplicit des outils

2.3.3

Cration d'une quation complexe avec une instruction simple


L'instruction Calculer vous permet de crer une fonction mathmatique qui fonctionne sur
des paramtres entres multiples pour produire le rsultat, selon l'quation que vous
dfinissez.
Dans l'arborescence d'opration Basic, agrandissez le fichier
de fonctions Mathmatiques. Double-cliquez sur l'opration
Calculer pour insrer l'opration dans votre programme
utilisateur.

L'opration Calculer non-configure


fournit deux paramtres d'entre et
un paramtre de sortie.

Cliquez sur "???" et slectionnez les types de donnes pour les


paramtres d'entre et de sortie. (Les paramtres d'entre et de sortie
doivent tous tre du mme type de donnes.)
Pour cet exemple, slectionnez le type de donnes "Rel".

Cliquez sur l'icone "diter quation" pour saisir l'quation.

Automate programmable S7-1200

30

Manuel systme, 07/2011, A5E02486682-04

Logiciel de programmation STEP 7


2.3 Simplicit des outils

Pour cet exemple, saisissez l'quation suivante pour tablir une valeur brute analogique.
(Les dsignations "Entre" et "Sortie" correspondent aux paramtres de l'opration
Calculer.)
Out value =

(Out high - Out low) /

(In high - In low) *

(In value - In low) +

(in4 - In5) /

(In2 - In3) *

(In1 - In3) +

Out =
Si :

Out low
In5

Out value

(Out)

Valeur de sortie gradue

In value

(In1)

Valeur d'entre analogique

In high

(In2)

Limite suprieure pour la valeur d'entre gradue

In low

(In3)

Limite infrieure pour la valeur d'entre gradue

Out high

(In4)

Limite suprieure pour la valeur de sortie gradue

Out low

(In5)

Limite infrieure pour la valeur de sortie gradue

Dans le champ "diter Calculer", saisissez l'quation avec les noms de paramtre :
OUT = (in4 - In5) / (In2 - In3) * (In1 - In3) + In5

Lorsque vous cliquez sur "OK",


l'opration Calculer cre les entres
ncessaires l'opration.

Saisissez les noms de variables pour


les valeurs qui correspondent aux
paramtres.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

31

Logiciel de programmation STEP 7


2.3 Simplicit des outils

2.3.4

Ajout d'entres ou de sorties une instruction CONT ou LOG


Certaines instructions vous permettent de crer des entres ou sorties
supplmentaires.
Pour ajouter une entre ou une sortie, cliquez sur l'icone "Crer" ou faites un clic droit sur
un lment d'entre pour les paramtres IN ou OUT existants et slectionnez la
commande "Insrer entre" ou "Insrer sortie".
Pour supprimer une entre ou une sortie, faites un clic droit sur l'lment pour l'un des
paramtres IN ou OUT existants (lorsqu'il y a plus d'entres que les deux d'origine) et
slectionner la commande "Supprimer".

2.3.5

Instructions extensibles
Quelques-unes des instructions les plus complexes sont extensibles, n'affichant que les
entres et sorties importantes. Pour afficher toutes les entres et sorties, cliquez sur la
flche au bas de l'instruction.

Automate programmable S7-1200

32

Manuel systme, 07/2011, A5E02486682-04

Logiciel de programmation STEP 7


2.3 Simplicit des outils

2.3.6

Slection d'une version d'une instruction


Les cycles de dveloppement et de mise disposition pour certains jeux d'instructions (tels
que Modbus, PID et commande de mouvement) ont cr de multiples versions disponibles
de ces instructions. Pour vous aider garantir la compatibilit et la migration avec des
projets plus anciens, STEP 7 vous permet de choisir la version d'une instruction insrer
dans votre programme utilisateur.
Dans la Task Card d'arborescence d'instructions, cliquez sur
l'icne pour activer les en-ttes et colonnes de l'arborescence
d'instructions.
Pour changer la version de l'instruction, slectionnez la
version approprie dans la liste droulante.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

33

Logiciel de programmation STEP 7


2.3 Simplicit des outils

2.3.7

Modification de l'apparence et de la configuration de STEP 7


Vous pouvez slectionner divers paramtres,
tels que l'apparence de l'interface, la langue, ou
le rpertoire d'enregistrement de votre travail.
Pour modifier ces paramtres, slectionnez la
commande "Paramtres" dans le menu "Outils".

2.3.8

Glisser-dplacer entre les diteurs


Pour vous aider raliser des tches
rapidement et facilement, STEP 7 vous permet
de faire glisser des lments d'un diteur un
autre. Vous pouvez, par exemple, amener une
entre de la CPU sur l'adresse d'une opration
dans votre programme utilisateur
Vous devez effectuer un agrandissement d'au
moins 200 % pour pouvoir slectionner les
entres ou les sorties de la CPU.
Notez que les noms des variables sont
affichs non seulement dans la table des
variables de l'API, mais galement dans la
CPU.

Pour afficher simultanment deux diteurs,


choisissez les commandes de menu
"Fractionner diteur" ou slectionnez les
boutons correspondants dans la barre
d'outils.
Pour basculer entre les diteurs ouverts, cliquez sur les icnes correspondantes dans la
barre d'dition.

Automate programmable S7-1200

34

Manuel systme, 07/2011, A5E02486682-04

Logiciel de programmation STEP 7


2.3 Simplicit des outils

2.3.9

Changement de l'tat de fonctionnement de la CPU


La CPU ne possde pas de commutateur physique pour changer l'tat de fonctionnement
(ARRET ou MARCHE).
Cliquez sur les boutons "Dmarrer CPU" ou "Arrter CPU" de la barre d'outils
pour changer l'tat de fonctionnement de la CPU.
Lorsque vous configurez la CPU dans les paramtres de configuration, vous configurez le
comportement au dmarrage dans les proprits de la CPU.
Le portail "En ligne & diagnostic" comprend un panneau de commande pour modifier l'tat
de fonctionnement de la CPU en ligne. Pour pouvoir utiliser le panneau de commande de la
CPU, vous devez tre connect en ligne la CPU. La Task Card "Outils en ligne" affiche un
panneau de commande indiquant l'tat de fonctionnement de la CPU en ligne. Ce panneau
de commande vous permet galement de changer l'tat de fonctionnement de la CPU en
ligne.
Servez-vous du bouton sur le panneau de commande pour changer
l'tat de fonctionnement (ARRET ou MARCHE). Le panneau de
commande dispose galement d'un bouton MRES pour rinitialiser la
mmoire.
La couleur de l'indicateur MARCHE/ARRET signale l'tat de fonctionnement en cours de la
CPU. Le jaune correspond l'tat ARRET, le vert l'tat MARCHE.

2.3.10

Enregistrement et restauration de l'tat d'un bloc


STEP 7 offre la possibilit d'enregistrer l'tat d'un bloc de code afin de crer un point de
rfrence pour le programme utilisateur. Cet instantan reprsente l'tat du bloc de code
un moment donn. La gnration d'un tat du bloc vous permet de rinitialiser le bloc cet
tat tout moment, supprimant ainsi toutes les modifications apportes entre-temps. Vous
pouvez restaurer le programme utilisateur l'tat du bloc mme si vous avez apport des
modifications au programme et les avez sauvegardes.
Vous pouvez enregistrer jusqu' 10 tats de bloc dans votre projet. Les tats des blocs
restent accessibles mme aprs sauvegarde du projet. Toutefois, le fait de fermer le projet
supprime tous les tats de bloc enregistrs.
La possibilit d'enregistrer et de restaurer l'tat du bloc de programme est plus puissante
que la fonction "Annuler", car l'tat du bloc est conserv au-del de la fonction "Enregistrer".

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

35

Logiciel de programmation STEP 7


2.3 Simplicit des outils

Cliquez sur le bouton "Sauvegarde intermdiaire de l'tat" pour enregistrer l'tat en


cours du programme utilisateur. Lorsque vous avez enregistr un tat du programme
utilisateur, le bloc de programme affiche une icne "Etat du bloc".
Cliquez sur le bouton "Restaurer l'tat" pour restaurer le bloc de programme l'tat de
bloc qui a t enregistr.
Cliquez sur le bouton "Supprimer l'tat" pour supprimer l'tat de bloc qui a t
enregistr.

2.3.11

Modification du type d'appel pour un DB


STEP 7 permet de crer et de changer aisment
l'association d'un DB une instruction ou un FB se
trouvant dans un FB.
Vous pouvez permuter l'association entre diffrents
DB.
Vous pouvez permuter l'association entre un DB
mono-instance et un DB multi-instance.
Vous pouvez crer un DB d'instance (s'il manque ou
n'est pas disponible).
Vous pouvez accder la commande "Modifier type
d'appel" en cliquant avec le bouton droit de la souris sur
l'instruction ou le FB dans l'diteur de programmes ou la
slectionner dans le menu "Outils".
La bote de dialogue "Options
d'appel" vous permet de
slectionner un DB monoinstance ou un DB multiinstance. Vous pouvez
galement slectionner des DB
spcifiques dans une liste
droulante de DB disponibles.

Automate programmable S7-1200

36

Manuel systme, 07/2011, A5E02486682-04

Logiciel de programmation STEP 7


2.3 Simplicit des outils

2.3.12

Dconnexion temporaire d'appareils d'un rseau


Vous pouvez dconnecter des appareils individuels du sous-rseau. Comme la configuration
de l'appareil n'est pas supprime du projet, vous pouvez aisment restaurer la connexion
l'appareil.

Cliquez avec le bouton droit de la souris sur


le port d'interface de l'appareil du rseau et
slectionnez la commande "Dconnecter du
sous-rseau" dans le menu contextuel.

STEP 7 reconfigure les liaisons rseau, mais ne supprime pas l'appareil dconnect du
projet. Alors que la connexion rseau est supprime, les adresses d'interface ne sont pas
modifies.

La CPU passe l'tat ARRET lorsque vous chargez les nouvelles connexions rseau.
Pour reconnecter l'appareil, il vous suffit de crer une nouvelle connexion rseau au port de
cet appareil.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

37

Logiciel de programmation STEP 7


2.3 Simplicit des outils

2.3.13

Dsenfichage virtuel d'appareils de la configuration


STEP 7 propose une zone de stockage
pour les modules "retirs". Vous avez la
possibilit d'amener un module du chssis
afin d'en enregistrer la configuration. Ces
modules retirs sont enregistrs dans
votre projet, ce qui permettra de les
rinsrer ultrieurement sans avoir
redfinir les paramtres de configuration.
L'une des applications de cette
fonctionnalit est la maintenance
temporaire. Considrez l'hypothse o
vous auriez attendre avant de pouvoir
remplacer un module et o vous
dcideriez d'utiliser temporairement un
module diffrent comme solution court
terme. Vous auriez la possibilit d'amener
le module configur du chssis dans les
"Modules non enfichs", puis d'insrer le
module temporaire.

Automate programmable S7-1200

38

Manuel systme, 07/2011, A5E02486682-04

Installation
3.1

Conseils pour l'installation d'appareils S7-1200


Le matriel S7-1200 est conu pour tre facile installer. Vous pouvez monter l'automate
S7-1200 sur un panneau ou sur un profil support et l'orienter horizontalement ou
verticalement. La petite taille du S7-1200 permet une optimisation de l'espace.
ATTENTION
Les S7-1200 SIMATIC sont des automates de type ouvert. Il est ncessaire de les installer
dans un botier, une armoire ou une salle lectrique auxquels seules les personnes
autorises doivent avoir accs.
Le non-respect de ces rgles d'installation peut entraner la mort, des blessures graves et
des dommages matriels importants.
Suivez toujours ces prescriptions lorsque vous installez des automates S7-1200.

Ne placez pas les appareils S7-1200 proximit de sources de chaleur, de haute tension et de bruit
lectrique
En rgle gnrale pour la mise en place des appareils de votre systme, sparez toujours
les appareils gnrant une tension leve et un bruit lectrique important des appareils de
type logique basse tension, tels que le S7-1200.
Lors de l'implantation du S7-1200 dans votre panneau, tenez compte des appareils sources
de chaleur et placez les appareils de type lectronique dans les zones plus fraches de votre
armoire. En effet, rduire l'exposition aux tempratures leves allonge la dure de vie des
appareils lectroniques.
Tenez galement compte de l'acheminement du cblage pour les appareils dans le
panneau. Evitez de placer les cbles de signaux et de communication de faible tension dans
la mme goulotte que le cblage d'alimentation en courant alternatif et le cblage pour
courant continu commutation rapide et haute nergie.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

39

Installation
3.1 Conseils pour l'installation d'appareils S7-1200

Mnagez un dgagement adquat pour le refroidissement et le cblage


Les appareils S7-1200 sont conus pour un refroidissement par convection naturelle. Pour
que le refroidissement se fasse correctement, vous devez laisser un espace libre d'au moins
25 mm au-dessus et en dessous des appareils. Vous devez galement avoir une profondeur
d'au moins 25 mm entre l'avant des modules et l'intrieur de l'enceinte.
PRUDENCE
En cas de montage vertical, la temprature ambiante maximale autorise est diminue de
10 C. Orientez un systme S7-1200 mont verticalement comme illustr dans la figure
suivante.
Lorsque vous planifiez la disposition de votre systme S7-1200, rservez suffisamment
d'espace pour le cblage et les connexions de cbles de communication.
PP

PP

PP

PP

Vue de ct
Montage horizontal

Montage vertical
Zone de dgagement

Automate programmable S7-1200

40

Manuel systme, 07/2011, A5E02486682-04

Installation
3.2 Bilan de consommation

3.2

Bilan de consommation
Votre CPU possde une alimentation interne fournissant du courant la CPU, aux modules
d'entres-sorties, au Signal Board et aux modules de communication ainsi qu' d'autres
quipements consommant du courant 24 V-.
Reportez-vous aux Caractristiques techniques (Page 641) pour plus d'informations sur le
bilan de consommation constitu par le courant 5 V- fourni par votre CPU et par les besoins
en courant 5 V- des modules d'entres-sorties, des Signal Boards et des modules de
communication. Reportez-vous "Calcul d'un bilan de consommation" (Page 739) pour
dterminer combien de courant la CPU peut mettre la disposition de votre configuration.
La CPU dispose galement d'une alimentation de capteur 24 V- pouvant fournir du courant
24 V- aux entres, aux bobines de relais sur les modules d'entres-sorties ou d'autres
quipements. Si vos besoins en courant 24 V- dpassent ce que fournit l'alimentation de
capteur, vous devez ajouter votre systme un module d'alimentation 24 V- externe. Vous
trouverez dans les Caractristiques techniques (Page 641) le bilan de consommation
d'alimentation de capteur 24 V- pour votre CPU particulire.
Remarque
Le CM 1243-5 (module matre PROFIBUS) doit tre aliment en courant par l'alimentation
capteur 24 V- de la CPU.
Si vous avez besoin d'un module d'alimentation 24 V- externe, assurez-vous que ce module
n'est pas connect en parallle avec l'alimentation de capteur de la CPU. En effet, il est
recommand, pour une meilleure protection contre les bruits lectriques, que les communs
(M) des diffrentes alimentations soient connects.
ATTENTION
Connecter une alimentation 24 V- externe en parallle avec l'alimentation de capteur 24 Vpeut entraner un conflit entre les deux alimentations, chacune cherchant tablir son
propre niveau de tension de sortie prfr.
Ce conflit peut rduire la dure de vie ou provoquer une dfaillance immdiate de l'une ou
des deux alimentations, ayant pour effet un fonctionnement imprvisible du systme
d'automatisation pouvant entraner la mort, des blessures graves et des dommages
matriels importants.
L'alimentation de capteur CC et toute alimentation externe doivent fournir du courant des
points diffrents.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

41

Installation
3.2 Bilan de consommation
Certains ports d'entre d'alimentation 24 V- dans le systme S7-1200 sont interconnects,
avec un circuit logique commun connectant plusieurs bornes M. Par exemple, les circuits
suivants sont interconnects lorsqu'ils sont signals comme "non isols" dans les fiches
techniques : l'alimentation 24 V- de la CPU, l'entre d'alimentation pour la bobine de relais
d'un SM ou l'alimentation pour une entre analogique non isole. Toutes les bornes M non
isoles doivent tre connectes au mme potentiel de rfrence externe.
ATTENTION
Connecter des bornes M non isoles des potentiels de rfrence diffrents provoque des
flux de courant indsirables qui peuvent tre l'origine de dgts ou d'un fonctionnement
imprvisible dans l'automate et tout quipement connect.
Le non-respect de ces conseils peut tre l'origine de dgts ou d'un fonctionnement
imprvisible pouvant entraner la mort, des blessures graves et des dommages matriels
importants.
Vrifiez toujours que toutes les bornes M non isoles dans un systme S7-1200 sont
connectes au mme potentiel de rfrence.

Automate programmable S7-1200

42

Manuel systme, 07/2011, A5E02486682-04

Installation
3.3 Procdures d'installation et de dsinstallation

3.3

Procdures d'installation et de dsinstallation

3.3.1

Dimensions de montage pour les appareils S7-1200


%

%









Tableau 3- 1 Dimensions de montage (mm)


Appareils S7-1200
CPU
Modules d'entressorties

Largeur A

Largeur B

CPU 1211C et CPU 1212C

90 mm

45 mm

CPU 1214C

110 mm

55 mm

TOR, 8 et 16 entres/sorties

45 mm

22,5 mm

70 mm

35 mm

30 mm

15 mm

60 mm 1

15 mm

Analogiques, 2, 4 et 8 entres/sorties
Thermocouple, 4 et 8 entres/sorties
RTD, 4 entres/sorties
Analogiques, 16 entres/sorties
RTD, 8 entres/sorties

Interfaces de
communication

CM 1241 RS232 et CM 1241 RS485


CM 1243-5 matre PROFIBUS et
CM 1242-5 esclave PROFIBUS
CP 1242-7 GPRS
Adaptateur TS Adapter IE Basic

Comme vous devez installer un adaptateur TS modulaire avec l'adaptateur TS, la largeur totale ("largeur A") est de
60 mm.

Chaque CPU, SM, CM et CP peut tre indiffremment mont sur un profil support ou
encastr dans un panneau. Servez-vous des barrettes de fixation sur le module pour fixer
l'appareil sur le profil support. Ces barrettes s'encliquettent galement en position sortie
afin de fournir des points de vissage pour monter l'unit directement sur un panneau. Le
diamtre intrieur de l'alsage pour les barrettes de fixation de l'appareil est de 4,3 mm.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

43

Installation
3.3 Procdures d'installation et de dsinstallation
Une zone thermique de 25 mm doit galement tre mnage au-dessus et en dessous de
l'unit pour la libre circulation de l'air.

Installation et dsinstallation des appareils S7-1200


Il est trs ais d'installer la CPU sur un profil support ou sur un panneau. Des barrettes de
fixation sont fournies pour fixer l'appareil sur le profil support. Ces barrettes s'encliquettent
galement en position sortie afin de fournir un point de vissage pour le montage sur
panneau de l'unit.

Montage sur profil support


Barrette de fixation en position rentre

Montage sur panneau


Barrette en position sortie pour le montage sur
panneau

Assurez-vous, avant d'installer ou de dmonter tout appareil lectrique, que cet appareil a
t mis hors tension. Assurez-vous galement que tout quipement associ a t mis hors
tension.
ATTENTION
L'installation ou le dmontage du S7-1200 ou d'quipements relis alors qu'ils sont sous
tension peut provoquer un choc lectrique ou un fonctionnement imprvisible du matriel.
La non-dsactivation de l'alimentation complte du S7-1200 et des appareils qui y sont
relis pendant les procdures d'installation ou de dsinstallation peut entraner la mort, des
blessures graves ou des dommages matriels importants en raison du choc lectrique ou
du fonctionnement imprvisible du matriel.
Prenez toujours toutes les mesures de scurit ncessaires et assurez-vous que
l'alimentation de l'automate S7-1200 est coupe avant de tenter d'installer ou de dmonter
des CPU S7-1200 ou des matriels relis.

Automate programmable S7-1200

44

Manuel systme, 07/2011, A5E02486682-04

Installation
3.3 Procdures d'installation et de dsinstallation
Assurez-vous toujours, lorsque vous remplacez ou installez un appareil S7-1200, que vous
utilisez le module correct ou un appareil quivalent.
ATTENTION
Une installation incorrecte d'un module S7-1200 peut entraner un fonctionnement
imprvisible du programme dans le S7-1200.
Le remplacement d'un appareil S7-1200 par un autre modle, sans respecter l'orientation
correcte et l'ordre initial, peut entraner la mort, des blessures graves ou des dommages
matriels importants en raison d'un fonctionnement imprvisible de l'quipement.
Remplacez toujours un appareil S7-1200 par le mme modle et assurez-vous que vous
l'orientez et le positionnez correctement.

3.3.2

Installation et dsinstallation de la CPU


Vous pouvez monter la CPU sur un panneau ou sur un profil support.
Remarque
Reliez les modules de communication ventuels la CPU et installez l'ensemble en tant
qu'unit. Installez les modules d'entres-sorties sparment une fois la CPU installe.
Tenez compte des points suivants lorsque vous installez les units sur le profil support ou
sur un panneau :
En cas de montage sur profil support, assurez-vous que la barrette de fixation
suprieure est en position rentre et que la barrette infrieure est en position sortie sur la
CPU et les CM relis.
Une fois les appareils installs sur le profil support, faites glisser les barrettes de fixation
infrieure dans leur position rentre pour verrouiller les appareils sur le profil support.
En cas de montage sur panneau, assurez-vous que les barrettes de fixation sont en
position sortie.
Procdez comme suit pour installer la CPU sur un panneau :
1. Positionnez, percez et taraudez les trous de fixation (M4 ou norme amricaine numro 8)
en vous aidant des dimensions indiques dans les dimensions de montage.
2. Vrifiez que la CPU et tout le matriel S7-1200 sont hors tension.
3. Sortez les barrettes de fixation du module. Assurez-vous que les barrettes de fixation en
haut et en bas de la CPU sont bien en position sortie.
4. Fixez le module sur le panneau l'aide de vis places dans les barrettes.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

45

Installation
3.3 Procdures d'installation et de dsinstallation

Remarque
Si votre systme se situe dans un environnement fortes vibrations ou est dispos
verticalement, le montage du S7-1200 sur panneau offrira un niveau de protection plus
lev.

Tableau 3- 2 Installation de la CPU sur un profil support


Tche

Marche suivre
1. Installez le profil support. Vissez le profil support tous les 75 mm sur le
panneau de montage.
2. Vrifiez que la CPU et tout le matriel S7-1200 sont hors tension.
3. Accrochez la CPU sur le haut du profil support.
4. Tirez la barrette de fixation situe au bas de la CPU pour que la CPU puisse
s'enclencher sur le profil support.
5. Faites pivoter la CPU vers le bas sur le profil support.
6. Repoussez les barrettes de fixation pour verrouiller la CPU sur le profil support.

Tableau 3- 3 Dsinstallation de la CPU d'un profil support


Tche

Marche suivre
1. Vrifiez que la CPU et tout le matriel S7-1200 sont
hors tension.
2. Dconnectez les connecteurs d'E/S, les fils et les cbles
de la CPU (Page 51).
3. Dmontez la CPU et tout module de communication
reli en tant qu'unit. Tous les modules d'entressorties doivent rester en place.
4. Si un module SM est connect la CPU, rentrez le
connecteur de bus :

Placez un tournevis ct de la languette sur le


haut du module d'entres-sorties.

Appuyez pour dgager le connecteur de la CPU.

Faites glisser la languette compltement droite.

5. Dmontez la CPU :

Tirez la barrette de fixation pour librer la CPU du


profil support.

Faites pivoter la CPU vers le haut pour la dgager


du profil support et retirez-la du systme.

Automate programmable S7-1200

46

Manuel systme, 07/2011, A5E02486682-04

Installation
3.3 Procdures d'installation et de dsinstallation

3.3.3

Installation et dsinstallation d'un SB ou d'un CB

Tableau 3- 4 Installation d'un SB ou d'un CB


Tche

Marche suivre
1. Vrifiez que la CPU et tout le matriel S7-1200 sont hors tension.
2. Retirez les caches des borniers suprieur et infrieur de la CPU.
3. Placez un tournevis dans l'encoche l'arrire du cache sur le haut
de la CPU.
4. Faites doucement levier vers le haut et retirez le cache de la CPU.
5. Insrez le module verticalement dans sa position de montage dans
la partie suprieure de la CPU.
6. Appuyez fermement sur le module jusqu' ce qu'il s'enclenche en
position.
7. Replacez les caches des borniers.

Tableau 3- 5 Dsinstallation d'un SB ou d'un CB


Tche

Marche suivre
1. Vrifiez que la CPU et tout le matriel S7-1200 sont hors tension.
2. Retirez les caches des borniers suprieur et infrieur de la CPU.
3. Placez un tournevis dans l'encoche sur le haut du module.
4. Faites doucement levier pour dgager le module de la CPU.
5. Retirez le module verticalement de sa position de montage dans la
partie suprieure de la CPU.
6. Replacez le cache sur la CPU.
7. Replacez les caches des borniers.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

47

Installation
3.3 Procdures d'installation et de dsinstallation

3.3.4

Installation et dsinstallation d'un SM

Tableau 3- 6 Installation d'un SM


Tche

Marche suivre
Installez votre module d'entres-sorties aprs avoir install la
CPU.
1. Vrifiez que la CPU et tout le matriel S7-1200 sont hors
tension.
2. Retirez le cache pour le connecteur du ct droit de la CPU :
3. Insrez un tournevis dans l'encoche au-dessus du cache.
4. Dtachez doucement le ct suprieur du cache puis retirez
le cache. Conservez-le en vue de sa rutilisation.
Raccordez le SM la CPU :
1. Positionnez le SM ct de la CPU.
2. Accrochez le SM sur le haut du profil support.
3. Tirez la barrette de fixation infrieure pour que le SM puisse
s'enclencher sur le profil support.
4. Faites pivoter le SM vers le bas ct de la CPU et
repoussez la barrette de fixation infrieure pour verrouiller le
SM sur le profil support.
L'insertion du connecteur de bus ralise les connexions mcaniques et lectriques
pour le SM.
1. Placez un tournevis ct de la languette sur le haut du module d'entressorties.
2. Faites glisser la languette compltement vers la gauche pour insrer le
connecteur de bus dans la CPU.
Procdez de la mme faon pour installer un module d'entres-sorties sur un autre
module d'entres-sorties.

Automate programmable S7-1200

48

Manuel systme, 07/2011, A5E02486682-04

Installation
3.3 Procdures d'installation et de dsinstallation
Tableau 3- 7 Dsinstallation d'un SM
Tche

Marche suivre
Vous pouvez dmonter n'importe quel SM sans dmonter la CPU ni d'autres SM
en place.
1. Vrifiez que la CPU et tout le matriel S7-1200 sont hors tension.
2. Retirez les connecteurs d'E/S et le cblage du SM (Page 51).
3. Retirez le connecteur de bus :

Placez un tournevis ct de la languette sur le haut du module d'entressorties.

Appuyez pour dgager le connecteur de la CPU.

Faites glisser la languette compltement droite.


S'il y a un autre SM droite, rptez cette procdure pour ce SM.

Dmontez le SM :
1. Tirez la barrette de fixation infrieure pour librer le SM du profil support.
2. Faites pivoter le SM vers le haut pour le dgager du profil support. Retirez le
SM du systme.
3. Si ncessaire, couvrez le connecteur de bus sur la CPU de son cache pour
viter la contamination.
Procdez de la mme faon pour dmonter un module d'entres-sorties d'un autre
module d'entres-sorties.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

49

Installation
3.3 Procdures d'installation et de dsinstallation

3.3.5

Installation et dsinstallation d'un CM ou d'un CP


Reliez les modules de communication ventuels la CPU et installez l'ensemble en tant
qu'unit, comme illustr au paragraphe Installation et dsinstallation de la CPU (Page 45).

Tableau 3- 8 Installation d'un CM ou d'un CP


Tche

Marche suivre
1. Vrifiez que la CPU et tout le matriel S7-1200 sont hors
tension.
2. Reliez le CM la CPU avant d'installer l'ensemble en tant
qu'unit sur le profil support ou le panneau.
3. Retirez le cache de bus sur le ct gauche de la CPU :

Insrez un tournevis dans l'encoche au-dessus du


cache de bus.

Dtachez doucement le ct suprieur du cache.

4. Retirez le cache de bus. Conservez-le en vue de sa


rutilisation.
5. Raccordez le CM ou le CP la CPU :

Alignez le connecteur de bus et les montants du CM


avec les trous de la CPU.

Appuyez fermement les units l'une contre l'autre


jusqu' ce que les montants s'enclenchent.

6. Installez la CPU et le CP sur un profil support ou dans un


panneau.

Tableau 3- 9 Dsinstallation d'un CM ou d'un CP


Tche

Marche suivre
Dmontez la CPU et le CM du profil support ou du panneau en tant qu'unit.
1. Vrifiez que la CPU et tout le matriel S7-1200 sont hors tension.
2. Retirez les connecteurs d'E/S et tous les fils et cbles de la CPU et des CM.
3. En cas de montage sur profil support, tirez les barrettes de fixation infrieures
sur la CPU et les CM en position sortie.
4. Dmontez la CPU et les CM du profil support ou du panneau.
5. Maintenez fermement la CPU et le CM et tirez pour les sparer.

Automate programmable S7-1200

50

Manuel systme, 07/2011, A5E02486682-04

Installation
3.3 Procdures d'installation et de dsinstallation

PRUDENCE
N'utilisez pas d'outil pour sparer les modules, car cela risquerait de les endommager.

3.3.6

Dmontage et remontage du bornier de connexion S7-1200


Les CPU, les SB et les SM comportent des connecteurs amovibles pour faciliter le cblage.

Tableau 3- 10 Dmontage du bornier de connexion


Tche

Marche suivre
Prparez le systme au dmontage du bornier de connexion en mettant la CPU hors
tension et en ouvrant le cache au-dessus du bornier de connexion.
1. Vrifiez que la CPU et tout le matriel S7-1200 sont hors tension.
2. Inspectez le dessus du connecteur afin de localiser l'encoche pour la pointe du
tournevis.
3. Insrez un tournevis dans l'encoche.
4. Faites doucement levier sur le haut du connecteur pour le dtacher de la CPU. Le
connecteur se dgagera avec un bruit sec.
5. Saisissez le connecteur et retirez-le de la CPU.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

51

Installation
3.3 Procdures d'installation et de dsinstallation
Tableau 3- 11 Installation du bornier de connexion
Tche

Marche suivre
Prparez les composants en vue de l'installation du bornier de connexion en mettant la CPU
hors tension et en ouvrant le cache pour le bornier.
1. Vrifiez que la CPU et tout le matriel S7-1200 sont hors tension.
2. Alignez le connecteur avec les broches sur l'unit.
3. Alignez la face de cblage du connecteur l'intrieur du bord du socle de connecteur.
4. Appuyez fermement et faites pivoter le connecteur jusqu' ce qu'il s'enclenche.
Vrifiez soigneusement que le connecteur est correctement align et bien enfonc.

3.3.7

Installation et dsinstallation du cble d'extension


Le cble d'extension S7-1200 offre une souplesse accrue lors de la configuration de la
disposition de votre systme S7-1200. Un seul cble d'extension est autoris par systme
CPU. Vous installez le cble d'extension soit entre la CPU et le premier SM, soit entre deux
SM quelconques.

Tableau 3- 12 Installation et dsinstallation du connecteur mle du cble d'extension


Tche

Marche suivre
Pour installer le connecteur mle :
1. Vrifiez que la CPU et tout le matriel S7-1200 sont hors tension.
2. Enfoncez le connecteur dans le connecteur de bus du ct droit du
module d'entres-sorties ou de la CPU.
Pour dsinstaller le connecteur mle :
1. Vrifiez que la CPU et tout le matriel S7-1200 sont hors tension.
2. Tirez sur le connecteur mle pour l'extraire du module d'entressorties ou de la CPU.

Automate programmable S7-1200

52

Manuel systme, 07/2011, A5E02486682-04

Installation
3.3 Procdures d'installation et de dsinstallation
Tableau 3- 13 Installation du connecteur femelle du cble d'extension
Tche

Marche suivre
1. Vrifiez que la CPU et tout le matriel S7-1200 sont
hors tension.
2. Placez le connecteur femelle sur le connecteur de
bus du ct gauche du module d'entres-sorties.
3. Faites glisser l'extension en crochet du connecteur
femelle dans le botier au niveau du connecteur de
bus et appuyez lgrement vers le bas pour
enclencher le crochet.
4. Fixez le connecteur en place :

Placez un tournevis ct de la languette sur le


haut du module d'entres-sorties.

Faites glisser la languette compltement vers la


gauche.
Pour enclencher le connecteur, vous devez faire
glisser la languette jusqu'au bout vers la gauche. Le
connecteur doit tre verrouill en place.

Tableau 3- 14 Dsinstallation du connecteur femelle du cble d'extension


Tche

Marche suivre
1. Vrifiez que la CPU et tout le matriel S7-1200 sont
hors tension.
2. Dverrouillez le connecteur :

Placez un tournevis ct de la languette sur le


haut du module d'entres-sorties.

Appuyez lgrement et faites glisser la languette


compltement vers la droite.

3. Soulevez lgrement le connecteur pour


dsenclencher l'extension en crochet.
4. Retirez le connecteur femelle.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

53

Installation
3.3 Procdures d'installation et de dsinstallation

3.3.8

TeleService

3.3.8.1

Connexion de l'adaptateur TeleService


Avant d'installer l'adaptateur TS Adapter IE Basic, vous devez connecter l'adaptateur TS et
l'adaptateur TS modulaire.
PRUDENCE
L'adaptateur TS Adapter modulaire peut tre endommag si vous touchez les contacts de
son connecteur enfichable . Suivez les directives pour composants CSDE afin d'viter
que l'adaptateur TS modulaire ne soit endommag par des dcharges lectrostatiques.
Avant de connecter l'adaptateur TS modulaire et l'adaptateur TS, assurez-vous que tous
deux sont inactifs.

2
3
5

Adaptateur TS Adapter
modulaire
Adaptateur TS Adapter
Elments

Connecteur enfichable de l'adaptateur TS modulaire

Port Ethernet

Ouverture impossible

PRUDENCE
Avant de connecter l'adaptateur TS modulaire et l'unit de base, assurez-vous que les
broches de contact ne dvient pas. Lors de la connexion, veillez ce que le connecteur
mle et les lments de guidage soient positionns correctement.
Connectez uniquement un adaptateur TS Adapter modulaire un adaptateur TS Adapter.
N'essayez pas de connecter par la force un adaptateur TS Adapter un autre dispositif, tel
qu'une CPU S7-1200. Ne modifiez pas la structure mcanique du connecteur et n'tez et
n'endommagez pas les lments de guidage.

Automate programmable S7-1200

54

Manuel systme, 07/2011, A5E02486682-04

Installation
3.3 Procdures d'installation et de dsinstallation

3.3.8.2

Installation de la carte SIM


Localisez l'emplacement de la carte SIM sur la face infrieure du TS Module GSM.
IMPORTANT
La carte SIM doit uniquement tre dbroche ou enfiche lorsque le TS Module GSM est
hors tension.

Tableau 3- 15 Installation de la carte SIM


Marche suivre

Tche

Utilisez un objet pointu pour


enfoncer le bouton d'jection
du porte-carte SIM (dans le
sens de la flche) et retirez le
porte-carte SIM.

Placez la carte SIM dans le


porte-carte SIM comme illustr
et replacez le porte-carte SIM
dans son emplacement.
1

TS Module GSM

Carte SIM

Porte-carte SIM

Remarque
Assurez-vous que la carte SIM est correctement oriente dans le porte-carte. Sinon, la
connexion entre la carte SIM et le module s'avrera impossible et le bouton d'jection ne
permettra ventuellement plus d'jecter le porte-carte.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

55

Installation
3.3 Procdures d'installation et de dsinstallation

3.3.8.3

Installation de l'ensemble adaptateur TeleService


Conditions requises : L'adaptateur TS Adapter doit tre raccord l'adaptateur TS Adapter
modulaire et le profil support doit tre install.
Remarque
Si vous montez l'unit TS verticalement ou dans un environnement fortes vibrations,
l'adaptateur TS Adapter modulaire peut se dtacher de l'adaptateur TS Adapter. Utilisez un
crochet d'extrmit 8WA1 808 sur le profil support pour tre sr que les modules restent
connects.

Tableau 3- 16 Montage et dmontage de l'adaptateur TS Adapter


Tche

Marche suivre

Montage :

1. Accrochez l'ensemble form par l'adaptateur TS et l'adaptateur TS


modulaire sur le profil support .
2. Faites pivoter l'ensemble vers le bas jusqu' ce qu'il s'enclenche.
3. Repoussez la barrette de fixation sur chaque module pour fixer
chaque module au profil support.
Dmontage :
1. Retirez le cble analogique et le cble Ethernet de la face infrieure
de l'adaptateur TS.
2. Mettez l'adaptateur TS hors tension.
3. Servez-vous d'un tournevis pour dgager les barrettes de fixation sur
les deux modules.
4. Faites pivoter l'ensemble vers le haut pour le retirer du profil support.

ATTENTION
Avant la mise hors tension, dconnectez la mise la terre de l'adaptateur TS Adapter en
retirant le cble analogique et le cble Ethernet des modules.

Automate programmable S7-1200

56

Manuel systme, 07/2011, A5E02486682-04

Installation
3.3 Procdures d'installation et de dsinstallation

3.3.8.4

Montage mural de l'adaptateur TS


Conditions requises : L'adaptateur TS Adapter doit tre raccord l'adaptateur TS Adapter
modulaire.
1. Dplacez le coulisseau de fixation situ sur la face arrire de l'adaptateur TS et de
l'adaptateur TS modulaire dans le sens de la flche jusqu' ce qu'il s'enclenche.
2. Vissez l'adaptateur TS et l'adaptateur TS modulaire sur le mur de montage prvu la
position repre par .
La figure suivante montre l'adaptateur TS Adapter vu de derrire avec les coulisseaux de
fixation dans les deux positions.
2





1
2

Coulisseau de fixation
Trous percs pour le montage mural

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

57

Installation
3.4 Conseils de cblage

3.4

Conseils de cblage
Une mise la terre et un cblage corrects de tout l'quipement lectrique sont importants
pour garantir un fonctionnement optimal de votre systme et pour fournir une protection
supplmentaire contre le bruit lectrique pour votre application et le S7-1200. Vous
trouverez les schmas de cblage du S7-1200 dans les caractristiques techniques
(Page 641).

Conditions requises
Assurez-vous, avant de mettre la terre ou de cbler tout appareil lectrique, que cet
appareil a t mis hors tension. Assurez-vous galement que tout quipement associ a t
mis hors tension.
Respectez toutes les normes lectriques nationales et rgionales en vigueur lors du cblage
du S7-1200 et des matriels relis. Installez et exploitez tous les quipements en conformit
avec toutes les normes nationales et rgionales en vigueur. Demandez l'aide des autorits
locales pour dterminer les normes et les rglementations qui s'appliquent votre cas
particulier.
ATTENTION
L'installation ou le cblage du S7-1200 ou d'quipements relis alors qu'ils sont sous
tension peut provoquer un choc lectrique ou un fonctionnement imprvisible du matriel.
La non-dsactivation de l'alimentation complte du S7-1200 et des appareils qui y sont
relis pendant les procdures d'installation ou de dsinstallation peut entraner la mort, des
blessures graves ou des dommages matriels importants en raison du choc lectrique ou
du fonctionnement imprvisible du matriel.
Prenez toujours toutes les mesures de scurit ncessaires et assurez-vous que
l'alimentation de l'automate S7-1200 est coupe avant de tenter d'installer ou de dmonter
le S7-1200 ou des matriels relis.
Tenez toujours compte de la scurit lorsque vous planifiez la mise la terre et le cblage
de votre systme S7-1200. Les appareils de commande lectroniques, tels que le S7-1200,
peuvent subir des dfaillances provoquant un fonctionnement inattendu des quipements
commands ou contrls. Vous devez, pour cette raison, toujours mettre en oeuvre des
dispositifs de scurit indpendants du S7-1200 pour viter les blessures ou les dgts
matriels ventuels.
ATTENTION
Les appareils de commande peuvent prsenter des dfaillances dans des situations non
sres et provoquer un fonctionnement inattendu des appareils pilots pouvant entraner la
mort, des blessures graves et des dommages matriels importants.
Vous devez donc utiliser une fonction d'arrt d'urgence, des dispositifs de scurit
lectromcaniques ou d'autres scurits redondantes qui soient indpendants du S7-1200.

Automate programmable S7-1200

58

Manuel systme, 07/2011, A5E02486682-04

Installation
3.4 Conseils de cblage

Conseils pour l'isolation


Les barrires d'alimentation en courant alternatif du S7-1200 et les barrires d'E/S vers les
circuits en courant alternatif ont t conues et homologues comme fournissant une
sparation sre entre les tensions de ligne courant alternatif et les circuits basse tension.
Ces barrires incluent une isolation double ou renforce, ou une isolation de base plus
complmentaire, selon diverses normes. Les composants qui traversent ces barrires, tels
que coupleurs optiques, condensateurs, transformateurs et relais, ont t homologus
comme fournissant une sparation sre. Les barrires d'isolation qui satisfont ces
exigences ont t identifies dans les fiches techniques produit du S7-1200 comme ayant
une isolation de 1500 V~ ou plus. Cette dsignation se base sur un test d'usine de routine
de (2Ue + 1000 V~) ou quivalent selon des mthodes approuves. Les barrires de
sparation sres du S7-1200 ont subi un essai de type 4242 V-.
La sortie d'alimentation de capteur, les circuits de communication et les circuits logiques
internes d'un S7-1200 alimentation en courant alternatif incluse sont fournis comme TBTS
(trs basse tension de scurit) selon EN 61131-2.
Pour conserver le caractre sr des circuits basse tension du S7-1200, les connexions
externes aux ports de communication, les circuits analogiques et tous les circuits
d'alimentation et d'E/S 24 V nominal doivent tre aliments par des sources homologues
satisfaisant aux exigences TBTS, TBTP, classe 2, tension limite ou courant limit, selon
diverses normes.
ATTENTION
L'utilisation d'alimentations non isoles ou une seule isolation pour alimenter les circuits
basse tension partir d'une ligne en courant alternatif peut provoquer l'apparition de
tensions dangereuses sur des circuits censs tre srs au toucher, tels que des circuits de
communication ou un cblage de capteur basse tension.
De telles tensions leves imprvisibles peuvent entraner la mort, des blessures graves et
des dommages matriels importants.
Utilisez exclusivement des convertisseurs de puissance haute tension-basse tension qui
sont homologus comme sources de circuits tension limite toucher sr.

Conseils pour la mise la terre du S7-1200


La meilleure faon de mettre la terre votre application est de vous assurer que tous les
branchements de commun et de terre de votre S7-1200 et des matriels relis sont mis la
terre en un point unique. Ce point unique doit tre reli directement la masse de terre de
votre systme.
Tous les fils de terre doivent tre aussi courts que possible et doivent avoir une section
importante, par exemple 2 mm2 (14 AWG).
Lorsque vous choisissez des points de rfrence la terre, pensez galement aux rgles de
scurit correspondantes et l'utilisation correcte des appareils de protection par coupure.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

59

Installation
3.4 Conseils de cblage

Conseils pour le cblage du S7-1200


Lorsque vous planifiez le cblage pour votre S7-1200, prvoyez un commutateur de coupure
unique qui supprime simultanment le courant pour l'alimentation de la CPU S7-1200, pour
tous les circuits d'entre et pour tous les circuits de sortie. Fournissez une protection contre
les surtensions, telle qu'un fusible ou un disjoncteur, afin de limiter les courants de dfaut sur
le cblage d'alimentation. Pensez galement fournir une protection supplmentaire en
plaant un fusible ou une autre limitation de courant dans chaque circuit de sortie.
Equipez les fils pouvant tre menacs par la foudre d'une protection approprie contre les
surtensions.
Evitez de placer les cbles de signaux et de communication de faible tension dans la mme
goulotte que les cbles d'alimentation en courant alternatif et les cbles pour courant continu
commutation rapide et haute nergie. Posez toujours les fils par paires : conducteur neutre
ou commun avec conducteur sous tension ou de signaux.
Utilisez le cble le plus court possible et assurez-vous qu'il est correctement dimensionn
pour transporter le courant requis. Le connecteur CPU et SM accepte des sections de fil
allant de 2 mm2 0,3 mm2 (14 AWG 22 AWG). Le connecteur SB accepte des sections de
fil allant de 1,3 mm2 0,3 mm2 (16 AWG 22 AWG). Utilisez des fils blinds pour assurer
une protection optimale contre le bruit lectrique. Typiquement, la mise la terre du blindage
au niveau du S7-1200 donne les meilleurs rsultats.
Lorsque vous cblez des circuits d'entre aliments par une source externe, incluez un
dispositif de protection contre les surtensions dans ce circuit. Une protection externe n'est
pas ncessaire pour les circuits aliments par l'alimentation de capteur 24 V- du S7-1200,
car l'alimentation de capteur comprend dj une limitation de courant.
Tous les modules S7-1200 comportent des connecteurs amovibles pour le cblage
utilisateur. Pour viter que les connexions ne se desserrent, assurez-vous que le connecteur
est correctement enfonc et que le fil est bien enfich dans le connecteur. Pour viter
d'endommager le connecteur, veillez ne pas trop serrer les vis. Le couple maximum pour
les vis de connecteur CPU et SM est de 0,56 Nm. Le couple maximum pour les vis de
connecteur SB est de 0,33 Nm.
Le S7-1200 comporte des barrires d'isolation certains points pour empcher des flux de
courant indsirables dans votre installation. Tenez compte de ces barrires d'isolation
lorsque vous concevez le cblage de votre systme. Vous trouverez dans les
caractristiques techniques des informations sur la quantit d'isolation fournie et sur
l'emplacement de ces barrires d'isolation. Ne considrez pas les barrires d'isolation
estimes moins de 1500 V~ comme des barrires de scurit.

Conseils pour les charges de lampe


Les charges de lampe endommagent les contacts relais en raison du fort courant de choc
l'activation. Ce courant de choc reprsente nominalement de 10 15 fois le courant de
rgime permanent pour une lampe au tungstne. Un relais d'interposition ou un limiteur de
surtension remplaable est donc recommand pour des charges de lampe qui seront
commutes de nombreuses fois pendant la dure de vie de l'application.

Automate programmable S7-1200

60

Manuel systme, 07/2011, A5E02486682-04

Installation
3.4 Conseils de cblage

Conseils pour les charges inductives


Equipez les charges inductives de circuits de protection qui crtent la monte de tension
lorsque la sortie de commande est dsactive. Les circuits de protection par crtage
protgent vos sorties d'une dfaillance prmature due des tensions leves associes
la dsactivation de charges inductives. En outre, ces circuits limitent le bruit lectrique
gnr lors de la commutation de charges inductives. Placer un circuit de protection par
crtage externe de faon qu'il soit lectriquement aux bornes de la charge et physiquement
proximit de la charge est un moyen trs efficace de rduire le bruit lectrique.
Les sorties CC du S7-1200 comprennent des circuits de protection interne par crtage qui
conviennent aux charges inductives dans la plupart des applications. Comme les contacts
de sortie relais du S7-1200 peuvent servir pour commuter une charge en courant continu
aussi bien qu'une charge en courant alternatif, aucune protection interne n'est fournie.
Remarque
L'efficacit d'un circuit de protection par crtage donn tant toutefois dpendante de
l'application, vous devez vrifier qu'il convient votre cas particulier. Vrifiez toujours que
tous les composants utiliss dans votre circuit de protection par crtage ont des valeurs
nominales convenant votre application.

Circuit de protection par crtage typique pour courant continu ou sorties relais qui commutent des
charges inductives en courant continu


Diode 1N4001 ou quivalent


Zener 8,2 V (sorties CC),

Dans la plupart des applications, l'ajout d'une diode


(A) en parallle avec une charge inductive en
courant continu suffit, mais si votre application
requiert des temps de dsactivation plus rapides,
nous vous recommandons d'ajouter une diode Zener
(B). Veillez dimensionner votre diode Zener
correctement pour la quantit de courant dans votre
circuit de sortie.

Zener 36 V (sorties relais)

Sortie

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

61

Installation
3.4 Conseils de cblage

Circuit de protection par crtage typique pour sorties relais qui commutent des charges inductives
en courant alternatif


MOV

Lorsque vous utilisez une sortie relais pour


commuter des charges 115 V/230 V~, placez un
circuit rsistance/condensateur/varistor mtal-oxyde
(MOV) appropri en parallle la charge CA.
Assurez-vous que la tension de travail du varistor est
suprieure d'au moins 20 % la tension de ligne
nominale.

0,1 F
100 120
Sortie

Automate programmable S7-1200

62

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.1

Excution du programme utilisateur


La CPU fournit les types suivants de blocs de code qui vous permettent de crer une
structure efficace pour votre programme utilisateur :
Les blocs d'organisation (OB) dfinissent la structure du programme. Certains OB ont
des vnements dclencheurs et un comportement prdfinis, mais vous pouvez
galement crer des OB vnements dclencheurs personnaliss. Les plages de
numros d'OB valides sont prsentes au paragraphe Priorits d'excution et mise en file
d'attente des vnements (Page 71).
Les fonctions (FC) et blocs fonctionnels (FB) contiennent le code de programme qui
correspond des tches ou combinaisons de paramtres spcifiques. Chaque FC ou FB
fournit un jeu de paramtres d'entre et de sortie pour partager les donnes avec le bloc
appelant. Un FB utilise galement un bloc de donnes associ - appel DB d'instance pour conserver l'tat de valeurs entre les excutions, utilisable par d'autres blocs dans le
programme. Les numros de FC et de FB valides vont de 1 65535.
Les blocs de donnes (DB) mmorisent des donnes qui peuvent tre utilises par les
blocs de programme. Les numros de DB valides vont de 1 65535.
L'excution du programme utilisateur commence avec un ou plusieurs blocs d'organisation
(OB) de dmarrage qui sont excuts une fois au passage l'tat MARCHE et qui sont
suivis par un ou plusieurs OB du cycle de programme qui sont excuts cycliquement. Un
OB peut galement tre associ un vnement d'alarme - vnement standard ou
vnement d'erreur - et s'excute chaque fois que l'vnement standard ou d'erreur
correspondant se produit.
Une fonction (FC) ou un bloc fonctionnel (FB) est un bloc de code qui peut tre appel dans
un OB ou dans un autre FB ou une autre FC, en respectant les profondeurs d'imbrication
suivantes :
16 en cas d'appel depuis l'OB de cycle de programme ou de dmarrage
4 en cas d'appel depuis les OB d'alarme temporise, d'alarme cyclique, d'alarme horaire,
d'alarme de processus, d'erreur de temps ou d'erreur de diagnostic
Les FC ne sont pas associes un bloc de donnes (DB) particulier alors que les FB sont
lis directement un DB qu'ils utilisent pour transmettre les paramtres et stocker les
valeurs intermdiaires et les rsultats.
La taille du programme utilisateur, des donnes et de la configuration est limite par la
mmoire de chargement et la mmoire de travail disponibles dans la CPU. Il n'y a pas de
limite spcifique au nombre de blocs de chaque type (OB, FC, FB ou DB). Cependant, le
nombre total de blocs est limit 1024.
Chaque cycle comprend l'criture dans les sorties, la lecture des entres, l'excution des
instructions du programme utilisateur et l'excution du traitement d'arrire-plan. On parle
parfois de cycle d'exploration.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

63

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur
Les modules (SM, SB, CB, CM ou CP) sont dtects et pris en compte seulement lors de la
mise sous tension.
L'enfichage ou le dbrochage d'un module dans le chssis central sous tension ( chaud)
ne sont pas pris en charge. N'enfichez jamais de module dans le chssis central et n'en
dbrochez jamais de module lorsque la CPU est sous tension.
ATTENTION
L'enfichage ou le dbrochage d'un module (SM, SB, CD, CM or CP) du chssis central
lorsque la CPU est sous tension peut provoquer un comportement imprvisible pouvant
entraner des blessures et des dommages matriels.
Assurez-vous toujours que la CPU et le chssis central sont hors tension avant d'insrer
un module dans le chssis central ou d'en dbrocher un module.
Vous pouvez insrer ou retirer une carte mmoire SIMATIC lorsque la CPU est sous
tension. Toutefois, enficher ou retirer une carte mmoire lorsque la CPU est l'tat
MARCHE provoque le passage de cette dernire l'tat ARRET.
PRUDENCE
L'insertion ou le retrait d'une carte mmoire lorsque la CPU est l'tat MARCHE
provoque le passage de cette dernire l'tat ARRET, ce qui peut provoquer des
dommages aux quipements ou au processus pilot.
Lorsque vous insrez ou retirez une carte mmoire, la CPU passe immdiatement
l'tat ARRET. Avant d'insrer ou de retirer une carte mmoire, assurez-vous toujours
que la CPU ne pilote pas activement une machine ou un processus. Installez toujours
un circuit d'arrt d'urgence pour votre application ou votre processus.
Si vous enfichez ou dbrochez un module dans un chssis de priphrie dcentralise
(PROFINET ou PROFIBUS) alors que la CPU est l'tat MARCHE, la CPU gnre une
entre dans la mmoire tampon de diagnostic et reste l'tat MARCHE.
Dans la configuration par dfaut, toutes les E/S TOR et analogiques locales sont actualises
en synchronisme avec le cycle l'aide d'une zone de mmoire interne appele mmoire
image du processus. La mmoire image contient un clich instantan des entres et sorties
physiques (de la CPU, du Signal Board et des modules d'entres-sorties).
La CPU excute les tches suivantes :
La CPU crit les sorties de la mmoire image des sorties dans les sorties physiques.
La CPU lit les entres physiques juste avant l'excution du programme utilisateur et
stocke leurs valeurs dans la mmoire image des entres. Cela garantit que ces valeurs
restent cohrentes pendant toute l'excution des instructions utilisateur.
La CPU excute la logique des instructions utilisateur et actualise les valeurs des sorties
dans la mmoire image des sorties sans les crire dans les sorties physiques relles.
Ce procd fournit une logique cohrente durant l'excution des instructions utilisateur pour
un cycle donn et empche le papillotement des sorties physiques dont l'tat peut changer
de nombreuses reprises dans la mmoire image des sorties.

Automate programmable S7-1200

64

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur
Vous pouvez prciser si des entres et sorties TOR et analogiques doivent tre actualises
et stockes automatiquement dans la mmoire image du processus. Si vous insrez un
module dans la vue des appareils, ses donnes se situent dans la mmoire image de la
CPU (par dfaut). La CPU gre automatiquement l'change de donnes entre le module et
la zone de mmoire image pendant l'actualisation de la mmoire image. Pour exclure des
entres ou sorties TOR ou analogiques de l'actualisation automatique de la mmoire image,
slectionnez l'appareil appropri dans la Configuration des appareils, affichez l'onglet
Proprits, affichez si ncessaire les dtails pour localiser les entres/sorties dsires, puis
slectionnez "Adresses E/S / ID matriel". Modifiez alors l'entre pour "Mmoire image" de
"MI cyclique" "---". Pour rintgrer les entres et sorties dans l'actualisation automatique
de la mmoire image, ractivez l'option "MI cyclique".
Vous pouvez lire directement des valeurs d'entres physiques et crire directement des
valeurs de sorties physiques lors de l'excution d'une instruction. Une lecture directe accde
l'tat en cours de l'entre physique et n'actualise pas la mmoire image des entres, que
l'entre soit ou non configure pour tre stocke dans la mmoire image. Une criture
directe dans la sortie physique actualise la fois la mmoire image des sorties (si la sortie
est configure pour tre stocke dans la mmoire image) et la sortie physique. Ajoutez le
suffixe ":P" l'adresse d'entre/sortie si vous voulez que le programme accde aux donnes
d'E/S directement par l'entre ou la sortie physique au lieu de la mmoire image.
La CPU prend en charge la priphrie d'E/S la fois pour les rseaux PROFINET et
PROFIBUS (Page 399).

4.1.1

Etats de fonctionnement de la CPU


La CPU a trois tats de fonctionnement : l'tat ARRET (STOP), l'tat MISE EN ROUTE et
l'tat MARCHE (RUN). Des DEL d'tat en face avant de la CPU signalent l'tat de
fonctionnement en cours.
A l'tat ARRET, la CPU n'excute pas le programme. Vous pouvez y charger un projet.
A l'tat MISE EN ROUTE, les OB de dmarrage (s'il y en a) sont excuts une fois. Les
vnements d'alarme ne sont pas traits pendant la mise en route.
A l'tat MARCHE, les OB de cycle de programme sont excuts de manire rpte. Des
vnements d'alarme peuvent survenir et tre traits tout moment l'tat MARCHE.
Vous ne pouvez charger de projet que lorsque la CPU est l'tat ARRET.
La CPU accepte un dmarrage chaud pour le passage l'tat MARCHE. Le dmarrage
chaud ne comprend pas d'effacement gnral de la mmoire. Toutes les donnes systmes
et utilisateur non rmanentes sont initialises lors du dmarrage chaud. Les donnes
utilisateur rmanentes sont conserves.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

65

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur
Un effacement gnral efface toute la mmoire de travail, efface les zones de mmoire
rmanentes et non rmanentes et copie la mmoire de chargement dans la mmoire de
travail. Un effacement gnral n'efface pas la mmoire tampon de diagnostic ni les valeurs
sauvegardes de manire permanente de l'adresse IP.
Remarque
Lorsque vous chargez un ou plusieurs DB de STEP 7 V11 dans une CPU S7-1200 V2, les
valeurs rmanentes et non rmanentes de ces DB sont rinitialises. Le passage suivant
l'tat MARCHE prend la forme d'un dmarrage chaud qui entrane la rinitialisation de
toutes les donnes non rmanentes et l'affectation des valeurs conserves toutes les
donnes rmanentes.
Lorsque vous chargez des lments de projet (configuration d'appareil, blocs de code ou
DB, par exemple) de STEP 7 V10.5 dans n'importe quelle CPU S7-1200 ou de STEP 7 V11
dans une CPU S7-1200 V1 (ou une CPU V2 qui a t configure en tant que CPU V1), le
passage suivant l'tat MARCHE entrane la rinitialisation de tous les DB dans le projet.
Vous pouvez indiquer le mode de mise en route et le type de dmarrage de la CPU. Ce
paramtre de configuration apparat dans "Configuration d'appareil" pour la CPU, sous "Mise
en route". A la mise sous tension, la CPU excute une squence de vrifications du
diagnostic de mise en route et effectue l'initialisation du systme. La CPU passe alors au
mode de mise en route appropri. La dtection de certaines erreurs empche le passage de
la CPU l'tat MARCHE. La CPU accepte les modes de mise en route suivants :
Etat ARRET
Passage l'tat MARCHE aprs un dmarrage chaud
Passage l'tat antrieur aprs un dmarrage chaud
Vous pouvez changer l'tat de fonctionnement en cours l'aide des commandes "ARRET"
et "MARCHE" (Page 628) des outils en ligne du logiciel de programmation. Vous pouvez
aussi insrer une instruction STP (Page 218) dans votre programme pour faire passer la
CPU l'tat ARRET. Cela vous permet d'arrter l'excution de votre programme selon la
logique.

A l'tat ARRET, la CPU traite toute demande de communication de manire approprie


et effectue un auto-diagnostic. La CPU n'excute pas le programme utilisateur et il n'y a
pas d'actualisation automatique de la mmoire image du processus.
Vous ne pouvez charger votre projet que lorsque la CPU est l'tat ARRET.
Dans les tats MISE EN ROUTE et MARCHE, la CPU effectue les tches prsentes
dans la figure suivante.

Automate programmable S7-1200

66

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur

&

'

MISE EN ROUTE

MARCHE

Efface la mmoire image des entres


(I).

Initialise les sorties avec leur dernire


valeur ou leur valeur de
remplacement.

Excute les OB de dmarrage.

Copie l'tat des entres physiques


dans la mmoire image des entres.

Enregistre tous les vnements


d'alarme dans la file d'attente en vue
de leur traitement aprs passage
l'tat MARCHE.

Valide l'criture de la mmoire image


des sorties dans les sorties physiques.

Ecrit la mmoire image des sorties dans les


sorties physiques.

Copie l'tat des entres physiques dans la


mmoire image des entres.

Excute les OB de cycle de programme.

Traite les alarmes et la communication


n'importe quel moment du cycle.

Ralise des tests d'auto-diagnostic.

Traitement de MISE EN ROUTE


A chaque fois que l'tat de fonctionnement passe de ARRET MARCHE, la CPU efface la
mmoire image des entres, initialise la mmoire image des sorties et traite les OB de
dmarrage. Tout accs en lecture la mmoire image des entres par des instructions dans
les OB de dmarrage lit zro et non l'tat en cours de l'entre physique. Ainsi, pour lire l'tat
en cours de l'entre physique pendant la mise en route, vous devez effectuer une lecture
directe. Les OB de dmarrage ainsi que tous les FB et FC associs sont ensuite excuts.
En prsence de plus d'un OB de dmarrage, chacun est excut par ordre de numro d'OB,
l'OB de plus petit numro tant excut en premier.
Chaque OB de dmarrage comprend des informations de dmarrage qui vous aident
dterminer la validit des donnes rmanentes et l'horloge temps rel. Vous pouvez
programmer dans les OB de dmarrage des instructions qui examinent ces valeurs de
dmarrage afin de dclencher l'action approprie. Les informations de dmarrage suivantes
sont prises en charge par les OB de dmarrage :
Tableau 4- 1 Informations de dmarrage prises en charge par les OB de dmarrage
Entre

Type de
donnes

Description

LostRetentive

Bool

Ce bit est vrai si les zones de stockage de donnes rmanentes ont


t perdues.

LostRTC

Bool

Ce bit est vrai si l'horloge temps rel a t perdue.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

67

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur
La CPU excute galement les tches suivantes pendant le traitement de mise en route.
Les alarmes sont mises en file d'attente mais ne sont pas traites pendant la phase de
mise en route.
Aucune surveillance du temps de cycle n'est effectue pendant la phase de mise en
route.
Il est possible de modifier la configuration de HSC (compteur rapide), PWM (modulation
de largeur des impulsions) et des modules PtP (communication point point) pendant la
mise en route.
Mais l'excution relle de HSC, PWM et des modules de communication point point
n'est possible qu' l'tat MARCHE.
Une fois l'excution des OB de dmarrage acheve, la CPU passe l'tat MARCHE et traite
les tches de commande lors d'un cycle continu.

4.1.2

Traitement du cycle l'tat MARCHE


A chaque cycle, la CPU crit dans les sorties, lit les entres, excute le programme
utilisateur, actualise les modules de communication et ragit aux vnements d'alarme
utilisateur et aux demandes de communication. Les demandes de communication sont
traites priodiquement pendant tout le cycle.
Ces actions ( l'exception des vnements d'alarme utilisateur) sont assures rgulirement
et la suite les unes des autres. Les vnements d'alarme utilisateur activs sont grs
selon leur priorit dans l'ordre o ils se produisent.
Le systme garantit que le cycle s'achvera au bout d'une dure appele temps de cycle
maximum. Dans le cas contraire, un vnement d'erreur de temps est gnr.
Chaque cycle commence par l'extraction des valeurs en cours des sorties TOR et
analogiques de la mmoire image et leur criture dans les sorties physiques de la CPU,
du SB et des SM configures pour l'actualisation automatique des E/S (configuration par
dfaut). Lorsqu'on accde une sortie physique par une instruction, la mmoire image
des sorties et la sortie physique elle-mme sont toutes deux actualises.
Chaque cycle se poursuit par la lecture des valeurs en cours des entres TOR et
analogiques dans la CPU, le SB et les SM configures pour l'actualisation automatique
des E/S (configuration par dfaut), puis par l'criture de ces valeurs dans la mmoire
image des entres. Lorsqu'on accde une entre physique par une instruction,
l'instruction accde la valeur de l'entre physique mais la mmoire image des entres
n'est pas actualise.
Une fois les entres lues, le programme utilisateur est excut de la premire instruction
jusqu' l'instruction finale. Cela comprend tous les OB du cycle de programme avec leurs
FC et FB associs. Les OB du cycle de programme sont excuts par ordre de numro
d'OB, l'OB de plus petit numro tant excut en premier.
Le traitement de la communication se produit priodiquement pendant tout le cycle,
interrompant ventuellement l'excution du programme utilisateur.
Les contrles d'auto-diagnostic comprennent des contrles priodiques du systme ainsi
que des contrles de l'tat des modules d'E/S.

Automate programmable S7-1200

68

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur
Des alarmes peuvent se produire tout endroit du cycle ; elles sont dclenches sur
vnement. Lorsqu'un vnement se produit, la CPU interrompt le cycle et appelle l'OB qui a
t configur pour traiter cet vnement. Lorsque l'OB a fini de traiter l'vnement, la CPU
reprend l'excution du programme utilisateur l'endroit o elle s'tait interrompue.

4.1.3

Blocs d'organisation (OB)


Les OB pilotent l'excution du programme utilisateur. Chaque OB doit avoir un numro d'OB
unique. Les numros en dessous de 200 sont rservs aux OB par dfaut. Il faut numroter
les autres OB partir de 200.
Des vnements spcifiques dans la CPU dclenchent l'excution d'un bloc d'organisation.
Les OB ne peuvent pas s'appeler les uns les autres ni tre appels dans une FC ou un FB.
Seul un vnement dclencheur, tel qu'une alarme de diagnostic ou un intervalle de temps,
peut lancer l'excution d'un OB. La CPU traite les OB en fonction de leur classe de priorit
respective, les OB de priorit suprieure tant excuts avant les OB de priorit infrieure.
La classe de priorit la plus faible est 1 (pour le cycle du programme principal) et la classe
de priorit la plus leve est 27 (pour les alarmes d'erreur de temps).
Les OB commandent les oprations suivantes :
Les OB du cycle de programme s'excutent cycliquement lorsque la CPU est l'tat
MARCHE. Le bloc principal du programme est un OB de cycle de programme. C'est l
que vous placez les instructions commandant votre programme et que vous appelez
d'autres blocs utilisateur. Il est possible d'avoir plusieurs OB de cycle de programme qui
sont excuts par ordre numrique. L'OB 1 est l'OB pris par dfaut. Les autres OB de
cycle de programme doivent tre identifis en tant que OB 200 ou plus.
Les OB de dmarrage s'excutent une fois lorsque la CPU passe de l'tat ARRET l'tat
MARCHE, y compris lors de la mise sous tension en mode MARCHE et en transitions
commandes de ARRET MARCHE. Une fois les OB de dmarrage achevs, l'OB
principal "Cycle de programme" commence son excution. Il est possible d'avoir
plusieurs OB de dmarrage. L'OB 100 est l'OB pris par dfaut. Les autres doivent tre
suprieurs ou gaux OB 200.
Les OB d'alarme cyclique s'excutent un rythme indiqu. Un OB d'alarme cyclique
interrompt l'excution cyclique du programme intervalles dfinis par l'utilisateur, toutes
les 2 secondes par exemple. Vous pouvez configurer au plus 4 vnements en tout pour
les alarmes temporises et les alarmes cycliques un moment donn, un OB tant
autoris pour chaque vnement d'alarme temporise et d'alarme cyclique configur.
L'OB doit tre suprieur ou gal OB 200.
Les OB d'alarme de processus s'excutent lorsque l'vnement d'alarme de processus
correspondant se produit, y compris fronts montants et descendants sur les entres TOR
intgres et vnements HSC. Un OB d'alarme de processus interrompt l'excution
cyclique normale du programme en raction un signal provenant d'un vnement du
processus. Vous dfinissez les vnements dans les proprits de la configuration
matrielle. Un OB est autoris pour chaque vnement d'alarme de processus. L'OB doit
tre suprieur ou gal OB 200.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

69

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur
Les OB d'erreur de temps s'excutent lorsqu'une erreur de temps est dtecte. Un OB
d'erreur de temps interrompt l'excution cyclique normale du programme. OB 80 est le
seul numro d'OB accept pour l'vnement erreur de temps. Vous pouvez configurer la
raction de la CPU l'erreur de temps lorsqu'il n'y a pas d'OB 80 dans votre programme
utilisateur : La CPU peut soit rester l'tat MARCHE (ne tenant pas compte de l'erreur de
temps), soit passer l'tat ARRET. L'OB 80 gre deux types d'erreur de temps :
Dpassement du temps de cycle maximum : Vous configurez le temps de cycle
maximum dans les proprits de la CPU. La configuration par dfaut pour le
dpassement du temps de cycle maximum est de faire passer la CPU l'tat ARRET.
Autres erreurs de temps, par exemple dmarrage d'une deuxime alarme cyclique
avant que la CPU n'ait achev la premire : La configuration par dfaut est que la
CPU reste l'tat MARCHE.

Automate programmable S7-1200

70

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur
Les OB d'alarme de diagnostic s'excutent lorsqu'une erreur de diagnostic est dtecte
et signale. Un OB d'alarme de diagnostic interrompt l'excution cyclique normale du
programme si un module apte au diagnostic identifie une erreur (si l'alarme de diagnostic
a t active pour ce module). OB 82 est le seul numro d'OB accept pour l'vnement
erreur de diagnostic. Vous pouvez inclure une instruction STP dans votre OB 82 si vous
souhaitez que la CPU passe l'tat ARRET lors de la rception de ce type d'erreur. S'il
n'y a pas d'OB de diagnostic dans le programme, la CPU ne tient pas compte de l'erreur
(et reste l'tat MARCHE).

4.1.4

Priorits d'excution et mise en file d'attente des vnements


Le traitement de la CPU est command par des vnements. Un vnement dclenche un
OB d'alarme qu'il faut excuter. Vous pouvez dfinir l'OB d'alarme pour un vnement lors
de la cration du bloc, lors de la configuration de l'appareil ou l'aide d'une opration
ATTACH ou DETACH. Certains vnements se produisent sur une base rgulire, tels les
vnements cycle de programme ou les vnements alarme cyclique. D'autres vnements
ne se produisent qu'une fois, tels l'vnement dmarrage et les vnements alarme
temporise. Certains vnements se produisent lorsqu'il y a un changement dclench par
le matriel, par exemple un vnement front sur une entre ou un vnement compteur
rapide. Il y a galement des vnements comme l'vnement erreur de diagnostic et
l'vnement erreur de temps qui ne se produisent que lorsqu'il y a une erreur. Les priorits
d'vnements, classes de priorit et files d'attente sont utilises pour dterminer l'ordre de
traitement des OB d'alarme d'vnement.
L'vnement cycle de programme se produit une fois chaque cycle. Pendant le cycle de
programme, la CPU crit dans les sorties, lit les entres et excute les OB de cycle de
programme. L'vnement cycle de programme est obligatoire et est toujours activ. Vous
pouvez n'avoir aucun OB de cycle de programme ou avoir plusieurs OB slectionns pour
l'vnement cycle de programme. Une fois l'vnement cycle de programme dclench,
l'OB de cycle de programme ayant le plus petit numro (gnralement l'OB 1) est excut.
Les autres OB de cycle de programme sont excuts de faon squentielle (par ordre
numrique) l'intrieur du cycle de programme.
Les vnements alarme cyclique vous permettent de configurer l'excution d'un OB d'alarme
avec une priodicit configure. La priodicit initiale est configure lors de la cration de
l'OB et de sa slection comme OB d'alarme cyclique. Un vnement alarme cyclique
interrompt le cycle de programme et excute l'OB d'alarme cyclique (l'vnement alarme
cyclique est dans une classe de priorit suprieure celle de l'vnement cycle de
programme).
Un seul OB d'alarme cyclique peut tre associ un vnement alarme cyclique.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

71

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur
Il est possible de dfinir un dphasage pour chaque vnement alarme cyclique de sorte
que l'excution les unes par rapport aux autres d'alarmes cycliques de mme priodicit
peut tre dcale du temps de dphasage. Le dphasage par dfaut est 0. Pour modifier le
dphasage initial ou la priodicit initiale d'un vnement alarme cyclique, cliquez avec le
bouton droit de la souris sur l'OB d'alarme cyclique dans l'arborescence du projet, cliquez
sur "Proprits" puis sur "Alarme cyclique" et entrez les nouvelles valeurs initiales. Vous
pouvez galement connatre et modifier la priodicit et le dphasage depuis votre
programme l'aide des instructions Interroger alarme cyclique (QRY_CINT) et Rgler
alarme cyclique (SET_CINT). Les valeurs de priodicit et de dphasage dfinies l'aide de
l'instruction SET_CINT ne perdurent pas en cas de mise hors tension puis sous tension ou
de passage l'tat ARRET ; la priodicit et le dphasage reprennent leur valeur initiale
aprs une mise hors tension puis sous tension ou un passage l'tat ARRET. La CPU
prend en charge un total de quatre vnements d'alarme cyclique et d'alarme temporise.
L'vnement dmarrage se produit une fois lors d'une transition de ARRET MARCHE et
provoque l'excution des OB de dmarrage. Plusieurs OB peuvent tre slectionns pour
l'vnement dmarrage. Les OB de dmarrage sont excuts par ordre numrique.
Les vnements alarme temporise vous permettent de configurer l'excution d'un OB
d'alarme l'expiration d'un temps de retard indiqu. Le temps de retard est dfini au moyen
de l'instruction SRT_DINT. Les vnements alarme temporise interrompent le cycle de
programme afin d'excuter l'OB d'alarme temporise. Un seul OB d'alarme temporise peut
tre associ un vnement alarme temporise. La CPU accepte quatre vnements
alarme temporise.
Les vnements alarme de processus sont dclenchs par un changement dans le matriel,
par exemple un front montant ou descendant sur une entre ou un vnement HSC
(compteur rapide). Un OB d'alarme peut tre slectionn pour chaque vnement alarme de
processus. Les vnements alarme de processus sont activs dans la configuration des
appareils. Les OB pour l'vnement sont indiqus dans la configuration des appareils ou au
moyen d'une instruction ATTACH dans le programme utilisateur. La CPU accepte plusieurs
vnements alarme de processus. Le nombre exact d'vnements dpend du modle de
CPU et du nombre d'entres.
Les vnements erreur de temps et erreur de diagnostic sont dclenchs lorsque la CPU
dtecte une erreur. Ces vnements constituent une classe de priorit suprieure celle
des autres vnements d'alarme et peuvent interrompre l'excution des vnements alarme
temporise, alarme cyclique et alarme de processus. Un OB d'alarme peut tre indiqu pour
chacun des vnements erreur de temps et erreur de diagnostic.

Comprendre les priorits d'excution et la mise en file d'attente des vnements


Le nombre d'vnements en attente provenant d'une source unique est limit, avec une file
d'attente diffrente pour chaque type d'vnement. Lorsque la limite d'vnements en
attente pour un type d'vnement donn est atteinte, l'vnement suivant qui survient est
perdu. Reportez-vous au paragraphe suivant sur la comprhension des vnements d'erreur
de temps pour plus d'informations concernant les dbordements de file d'attente.
Chaque vnement de CPU a une priorit associe. Vous ne pouvez pas modifier la priorit
d'un OB. En gnral, les vnements sont traits selon l'ordre de priorit (priorit la plus
leve en premier). Les vnements de mme priorit sont traits selon le principe "premier
arriv, premier servi".

Automate programmable S7-1200

72

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur
Tableau 4- 2 Evnements d'OB
Evnement

Numro d'OB

Quantit autorise

Evnement dclencheur

Cycle de
programme

OB 1, OB 200 OB
65535

1 vnement de cycle de
programme

Fin de l'OB de dmarrage

Fin du dernier OB de cycle de


programme

Plusieurs OB autoriss
Mise en route

OB 100, OB 200
OB 65535

1 vnement de dmarrage

Priorit
d'OB
1

Transition ARRET/MARCHE

Jusqu' 4 vnements
horaires 3

Un vnement OB d'alarme
temporise est programm.

1 OB par vnement

Un vnement OB d'alarme cyclique


est programm.

Jusqu' 50 vnements
d'alarme de processus 4

Fronts :

1, 2

Plusieurs OB autoriss
Temps

Processus

OB 200 OB 65535

OB 200 OB 65535

1 OB par vnement

Evnements front montant :


16 max.

Evnements front descendant :


16 max.

Pour HSC :

Erreur de
diagnostic

CV=PV : 6 max.

Inversion du sens : 6 max.

Rinitialisation externe : 6 max.

OB 82

1 vnement (uniquement si
l'OB 82 a t charg)

Le module transmet une erreur.

Erreur de temps OB 80

1 vnement (uniquement si
l'OB 80 a t charg)5

Le temps de cycle maximal a t


dpass.

Une deuxime alarme (cyclique


ou horaire) a t dmarre avant
que la CPU n'ait fini d'excuter la
premire alarme.

9
26

L'vnement dmarrage et l'vnement cycle de programme ne se produisent jamais en mme temps, car l'vnement
dmarrage doit s'achever avant que l'vnement cycle de programme ne commence (gestion par le systme
d'exploitation).

Seul l'vnement erreur de diagnostic (OB 82) interrompt l'vnement dmarrage. Tous les autres vnements sont
mis en attente afin d'tre traits une fois l'vnement de dmarrage termin.

La CPU met disposition un total de 4 vnements horaires que les OB d'alarme temporise et les OB d'alarme
cyclique se partagent. Le nombre d'OB d'alarme temporise et d'OB d'alarme cyclique dans votre programme utilisateur
ne peut pas tre suprieur 4.

Vous pouvez avoir plus de 50 vnements alarme de processus si vous utilisez les instructions DETACH et ATTACH.

Vous pouvez configurer la CPU afin qu'elle reste l'tat MARCHE si le temps de cycle maximum a t dpass ou
vous pouvez rinitialiser le temps de cycle avec l'instruction RE_TRIGR. Toutefois, la CPU passera l'tat ARRET au
deuxime dpassement du temps de cycle maximum pendant le mme cycle.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

73

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur
Une fois que l'excution d'un OB de priorit comprise entre 2 et 25 a commenc, le
traitement de cet OB ne peut pas tre interrompu par l'apparition d'un autre vnement,
l'exception de l'OB 80 (vnement erreur de temps dont la priorit est gale 26). Tous les
autres vnements sont mis en file d'attente en vue de leur traitement ultrieur, ce qui
permet l'OB en cours de s'achever.

Temps d'attente d'alarme


Le temps d'attente d'un vnement d'alarme (le temps qui s'coule entre la notification la
CPU qu'un vnement s'est produit et le moment o la CPU excute la premire instruction
dans l'OB grant cet vnement) est d'environ 175 s, condition qu'un OB de cycle de
programme soit le seul programme de service d'vnement actif au moment de l'vnement
d'alarme.

Comprendre les vnements d'erreur de temps


L'apparition d'une quelconque des diffrentes situations d'erreur de temps provoque un
vnement d'erreur de temps. Les erreurs de temps suivantes sont prises en charge :
Temps de cycle maximum dpass
Impossible de dmarrer l'OB requis
Dbordement de file d'attente
L'erreur Temps de cycle maximum dpass se produit si le cycle du programme ne s'achve
pas pendant le temps de cycle maximum dfini. Consultez le paragraphe "Surveillance du
temps de cycle" (Page 77)" pour plus d'informations sur le temps de cycle maximum, la
manire de configurer le temps de cycle maximum et la rinitialisation de la temporisation de
cycle.
L'erreur Impossible de dmarrer l'OB requis se produit si un OB est demand par une
alarme cyclique, une alarme temporise ou une alarme horaire mais qu'il est dj en cours
d'excution.
L'erreur Evnement horaire (TOD) manqu ou rpt apparat si au moins un temps
d'alarme programm a t saut du fait d'une modification dans le rglage de l'horloge
temps rel ou du fait que la CPU est l'tat ARRET.
L'erreur Dbordement de file d'attente apparat si les alarmes se produisent plus vite qu'elles
ne peuvent tre traites. Le nombre d'vnements en attente (dans une file) est limit grce
une file d'attente diffrente pour chaque type d'vnement. Si un vnement se produit
alors que la file d'attente correspondante est pleine, un vnement d'erreur de temps est
gnr.
Tous les vnements erreur de temps dclenchent l'excution de l'OB 80 si ce dernier
existe. Si le programme utilisateur ne contient pas d'OB 80, la configuration d'appareil de la
CPU dtermine la raction de la CPU l'erreur de temps :
La configuration par dfaut pour les erreurs de temps, comme par exemple le dmarrage
d'une deuxime alarme cyclique avant que la CPU n'ait fini d'excuter la premire, est
que la CPU reste l'tat MARCHE.
La configuration par dfaut pour le dpassement du temps de cycle maximum est que la
CPU passe l'tat ARRET.

Automate programmable S7-1200

74

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur
Vous pouvez utiliser l'instruction RE_TRIGR pour rinitialiser le temps de cycle maximum.
Toutefois, si deux erreurs "Temps de cycle maximum dpass" se produisent pendant le
mme cycle de programme sans rinitialisation de la temporisation du cycle, la CPU passe
l'tat ARRET que l'OB 80 existe ou non. Reportez-vous au paragraphe "Surveillance du
temps de cycle" (Page 77).
L'OB 80 comprend des informations de dclenchement qui vous aident dterminer quel
vnement et quel OB ont gnr l'erreur de temps. Vous pouvez programmer dans l'OB 80
des instructions pour examiner ces valeurs de dclenchement et prendre les mesures
appropries.
Tableau 4- 3 Informations de dclenchement pour l'OB 80
Entre

Type de donnes

fault_id

BYTE

Description
16#01 : temps de cycle maximum dpass
16#02 : impossible de dmarrer l'OB requis
16#07 et 16#09 : dbordement de file d'attente

csg_OBnr

OB_ANY

Numro de l'OB en cours d'excution lorsque l'erreur s'est


produite

csg_prio

UINT

Priorit de l'OB l'origine de l'erreur

Il n'existe pas d'OB 80 d'erreur de temps la cration d'un nouveau projet. Si vous le
dsirez, vous ajoutez l'OB 80 d'erreur de temps votre projet en double-cliquant sur "Ajouter
nouveau bloc" sous "Blocs de programme" dans l'arborescence, puis en choisissant "Bloc
d'organisation" et enfin "Erreur de temps".

Comprendre les vnements d'erreur de diagnostic


Certains appareils analogiques (locaux), PROFINET et PROFIBUS sont capables de
dtecter et de signaler des erreurs de diagnostic. L'apparition ou l'limination d'une
quelconque des diffrentes situations d'erreur de diagnostic provoque un vnement
d'erreur de diagnostic. Les erreurs de diagnostic suivantes sont prises en charge :
Pas de courant utilisateur
Limite suprieure dpasse
Limite infrieure dpasse
Rupture de fil
Court-circuit

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

75

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur
Les vnements erreur de diagnostic dclenchent l'excution de l'OB 82 si ce dernier existe.
Si l'OB 82 n'existe pas, la CPU ne tient pas compte de l'erreur. Il n'existe pas d'OB 82
d'alarme de diagnostic la cration d'un nouveau projet. Si vous le dsirez, vous ajoutez
l'OB 82 d'alarme de diagnostic votre projet en double-cliquant sur "Ajouter nouveau bloc"
sous "Blocs de programme" dans l'arborescence, puis en choisissant "Bloc d'organisation" et
enfin "Alarme de diagnostic".
Remarque
Erreurs de diagnostic pour les appareils analogiques locaux multivoies (E/S, RTD et
Thermocouple)
L'OB 82 d'alarme de diagnostic ne peut signaler qu'une erreur de diagnostic de voie la fois.
Si deux voies d'un appareil multivoie prsentent une erreur, la deuxime erreur ne
dclenche l'OB 82 que dans les conditions suivantes : la premire erreur de voie est
corrige, l'excution de l'OB 82 dclenche par la premire erreur est acheve et la
deuxime erreur persiste.
L'OB 82 comprend des informations de dclenchement qui vous aident dterminer si
l'vnement est d l'apparition ou l'limination d'une erreur, ainsi que l'appareil et la voie
ayant signal l'erreur. Vous pouvez programmer dans l'OB 82 des instructions pour
examiner ces valeurs de dclenchement et prendre les mesures appropries.
Tableau 4- 4 Informations de dclenchement pour l'OB 82
Entre

Type de donnes

Description

IOstate

WORD

Etat E/S de l'appareil :

laddr

HW_ANY

Bit 0 = 1 si la configuration est correcte et = 0 si la configuration n'est


plus correcte.

Bit 4 = 1 si une erreur est prsente (rupture de fil, par exemple).


Bit 4 = 0 en l'absence d'erreur.

Bit 5 = 1 si la configuration n'est pas correcte et = 0 si la


configuration est nouveau correcte.

Bit 6 = 1 si une erreur d'accs aux E/S s'est produite. Reportez-vous


laddr qui contient l'identificateur matriel de l'E/S en erreur d'accs.
Bit 6 = 0 en l'absence d'erreur.

Identificateur matriel de l'appareil ou de l'unit fonctionnelle ayant


signal l'erreur1

channel

UINT

Numro de voie

multierror

BOOL

VRAI en prsence de plusieurs erreurs

L'entre laddr contient l'identificateur matriel de l'appareil ou de l'unit fonctionnelle qui a renvoy l'erreur.
L'identificateur matriel est affect automatiquement lorsque des composants sont insrs dans la vue des appareils ou
du rseau et il apparat dans l'onglet Constantes des variables API. Un nom est galement dfini automatiquement pour
l'identificateur matriel. Ces entres dans l'onglet Constantes des variables API ne peuvent pas tre modifies.

Automate programmable S7-1200

76

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur

4.1.5

Surveillance du temps de cycle


Le temps de cycle est le temps ncessaire au systme d'exploitation de la CPU pour
excuter la phase cyclique de l'tat MARCHE. La CPU fournit deux mthodes de
surveillance du temps de cycle :
Temps de cycle maximum
Temps de cycle minimum fixe
La surveillance du cycle commence une fois l'vnement dmarrage achev. La
configuration de cette fonction se fait dans la "Configuration d'appareil" pour la CPU, sous
"Temps de cycle".
La CPU surveille toujours le temps de cycle et ragit si le temps de cycle maximum est
dpass. Si le temps de cycle maximum configur est dpass, une erreur est gnre et
est traite de l'une des deux manires suivantes :
Si le programme utilisateur ne contient pas d'OB 80, la CPU gnre une erreur et passe
l'tat ARRET. Vous pouvez modifier la configuration de la CPU afin qu'elle ne tienne
pas compte de cette erreur de temps et reste l'tat MARCHE. La configuration par
dfaut est que la CPU passe l'tat ARRET.
Si le programme utilisateur contient un OB 80, la CPU excute l'OB 80.
L'instruction RE_TRIGR (Redmarrer surveillance du temps de cycle) vous permet de
rinitialiser la temporisation qui mesure le temps de cycle. Toutefois, cette instruction ne
fonctionne que si elle est excute dans un OB de cycle de programme ; elle n'est pas prise
en compte si elle est excute dans l'OB 80. Si le temps de cycle maximum est dpass
deux fois pendant le mme cycle de programme, sans excution de l'instruction RE_TRIGR
entre les deux dpassements, la CPU passe immdiatement l'tat ARRET. Des excutions
rptes de l'instruction RE_TRIGR peuvent crer une boucle sans fin ou un cycle trs long.
Typiquement, le cycle s'excute aussi rapidement qu'il le peut et le cycle suivant commence
ds que le cycle en cours s'achve. La dure d'un cycle peut varier d'un cycle l'autre en
fonction du programme utilisateur et des tches de communication. Pour liminer cette
variation, la CPU prend en charge un temps de cycle minimum fixe optionnel, galement
appel cycle fixe. Lorsque cette fonction optionnelle est active et qu'un temps de cycle
minimum en ms est fix, la CPU maintient le temps de cycle minimum 1 ms prs pour
l'achvement de chaque cycle CPU.
Si la CPU achve le cycle normal en moins de temps que le temps de cycle minimum
spcifi, elle passe le temps restant du cycle effectuer le diagnostic d'excution et/ou
traiter des demandes de communication. De cette manire, la CPU utilise toujours une
quantit de temps fixe pour achever le cycle.
Si la CPU n'achve pas le cycle pendant le temps de cycle minimum indiqu, elle continue
excuter le cycle normalement jusqu' son achvement (traitement de la communication
inclus) et ne cre aucune raction systme en rponse ce dpassement du temps de cycle
minimum. Le tableau suivant prsente les plages et les valeurs par dfaut pour les fonctions
de surveillance du temps de cycle.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

77

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur
Tableau 4- 5 Plage pour le temps de cycle
Temps de cycle
Temps de cycle

Plage (ms)
maximum1

Temps de cycle minimum fixe2

Valeur par dfaut

1 6000

150 ms

1 temps de cycle maximum

Dsactiv

Le temps de cycle maximum est toujours activ. Configurez un temps de cycle compris entre 1 ms et 6000 ms. La
valeur par dfaut est 150 ms.

Le temps de cycle minimum fixe est facultatif ; il est dsactiv par dfaut. Si ncessaire, configurez un temps de cycle
compris entre 1 ms et le temps de cycle maximum.

Configuration du temps de cycle et de la charge due la communication


Vous vous servez des proprits CPU dans la configuration des appareils pour configurer
les paramtres suivants :
Temps de cycle : Vous pouvez entrer un temps de cycle maximum. Vous pouvez
galement entrer un temps de cycle minimum fixe.

Charge due la communication : Vous pouvez configurer un pourcentage du temps


rserver aux tches de communication.

Reportez-vous au paragraphe "Surveillance du temps de cycle" (Page 77) pour plus


d'informations sur le cycle.

Automate programmable S7-1200

78

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur

4.1.6

Mmoire de la CPU

Gestion de la mmoire
La CPU fournit les zones de mmoire suivantes pour stocker le programme utilisateur, les
donnes et la configuration :
La mmoire de chargement est une mmoire rmanente pour le programme utilisateur,
les donnes et la configuration. Lorsqu'un projet est charg dans la CPU, il est d'abord
stock dans la mmoire de chargement. Cette zone se trouve soit sur une carte mmoire
(en prsence d'une telle carte) soit dans la CPU. Cette zone de mmoire rmanente est
conserve en cas de coupure de courant. La carte mmoire offre plus d'espace de
stockage que la mmoire de chargement intgre dans la CPU.
La mmoire de travail est une mmoire volatile pour certains lments du projet
utilisateur pendant l'excution du programme utilisateur. La CPU copie certains lments
du projet de la mmoire de chargement dans la mmoire de travail. Cette zone de
mmoire volatile est perdue en cas de coupure de courant et est restaure par la CPU au
retour de la tension.
La mmoire rmanente constitue un stockage permanent pour une quantit limite de
valeurs de mmoire de travail. La zone de mmoire rmanente sert stocker les valeurs
d'adresses de mmoire utilisateur choisies pendant une coupure de courant. Lors d'une
coupure de courant, la CPU dispose d'assez de temps de garde pour conserver les
valeurs d'un nombre limit d'adresses indiques. Ces valeurs rmanentes sont
restaures lors du retour de la tension.
Pour afficher l'utilisation de la mmoire dans le projet en cours, cliquez avec le bouton droit
de la souris sur la CPU (ou l'un de ses blocs) et slectionnez "Ressources" dans le menu
contextuel. Pour afficher l'utilisation de la mmoire dans la CPU en cours, double-cliquez sur
"En ligne & Diagnostic", affichez le dtail de "Diagnostic" et slectionnez "Mmoire".

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

79

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur

Mmoire rmanente
Vous pouvez viter la perte de donnes en cas de coupure de courant en dfinissant
certaines donnes comme rmanentes. Les donnes suivantes peuvent tre configures
comme rmanentes :
Mmentos (M) : Vous pouvez dfinir la taille prcise de la mmoire pour les mmentos
dans la table des variables API ou dans le tableau d'affectation. Les mmentos
rmanents commencent toujours MB0 et comprennent un nombre indiqu d'octets
conscutifs. Indiquez cette valeur dans la table des variables API ou dans le tableau
d'affectation en cliquant sur le bouton "Rmanence" de la barre d'outils. Entrez le nombre
d'octets de mmentos dfinir comme rmanents compter de MB0.
Variables d'un bloc fonctionnel : Si un FB a t cr avec l'option "Adressage symbolique
uniquement" active, l'diteur d'interface pour ce FB comprend une colonne
"Rmanence". Dans cette colonne, vous pouvez slectionner "Rmanente" ou "Non
rmanente" individuellement pour chaque variable. Le DB d'instance cr lors du
placement de ce FB dans l'diteur de programme comprend galement cette colonne de
rmanence, mais pour information uniquement ; vous ne pouvez pas changer l'tat de
rmanence dans l'diteur d'interface de DB d'instance pour un FB qui a t configur
avec l'option "Adressage symbolique uniquement".
Si un FB a t cr avec l'option "Adressage symbolique uniquement" dsactive,
l'diteur d'interface pour ce FB ne comprend pas de colonne "Rmanence". Le DB
d'instance cr lors du placement de ce FB dans l'diteur de programme comprend une
colonne "Rmanence" dont le contenu peut tre modifi. Dans ce cas, slectionner
l'option "Rmanente" pour n'importe quelle variable entrane son activation pour toutes
les variables. De mme, dsactiver cette option pour n'importe quelle variable entrane sa
dsactivation pour toutes les variables. Pour un FB qui a t configur avec l'option
"Adressage symbolique uniquement" dsactive, vous pouvez modifier l'tat de
rmanence dans l'diteur de DB d'instance, mais toutes les variables prennent le mme
tat de rmanence.
Une fois le FB ainsi cr, vous ne pouvez pas activer a posteriori l'option "Adressage
symbolique uniquement". Cette option ne peut tre slectionne que lors de la cration
du FB. Pour dterminer si un FB existant a t configur pour l'adressage symbolique
uniquement, cliquez avec le bouton droit de la souris sur le FB dans l'arborescence de
projet, slectionnez "Proprits", puis slectionnez "Attributs".
Variables d'un bloc de donnes global : Le comportement d'un DB global quant
l'affectation de l'tat de rmanence est similaire celui d'un FB. Selon le paramtrage de
l'adressage symbolique, vous pouvez dfinir l'tat de rmanence soit pour des variables
individuelles soit pour toutes les variables d'un bloc de donnes global.
Si l'attribut "Adressage symbolique uniquement" du DB est activ, l'tat de rmanence
peut tre dfini pour chaque variable individuelle.
Si l'attribut "Adressage symbolique uniquement" du DB est dsactiv, le paramtrage
de l'tat de rmanence s'applique toutes les variables du DB : soit toutes les
variables sont rmanentes, soit aucune variable n'est rmanente.
2048 octets de donnes au total peuvent tre dfinis comme rmanents. Pour voir combien
d'octets sont disponibles, cliquez sur le bouton "Rmanence" de la barre d'outils dans la
table des variables API ou dans le tableau d'affectation. Les informations affiches
mentionnent certes la plage de rmanence pour les mmentos, mais galement, dans la
deuxime ligne, la mmoire restante totale disponible pour les mmentos et les DB
combins.
Automate programmable S7-1200

80

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur

Mmoire tampon de diagnostic


La CPU fournit une mmoire tampon de diagnostic qui contient une entre pour chaque
vnement de diagnostic. Chaque entre inclut la date et l'heure auxquelles l'vnement
s'est produit, une catgorie d'vnement, ainsi qu'une description de l'vnement. Les
entres sont affiches par ordre chronologique, l'vnement le plus rcent se trouvant en
haut. Tant que la CPU est sous tension, jusqu' 50 vnements les plus rcents sont
disponibles dans ce journal. Lorsque le journal est plein, l'vnement le plus ancien dans le
journal est remplac par un nouvel vnement. En cas de coupure de courant, les dix
vnements les plus rcents sont sauvegards.
Les types d'vnements suivants sont enregistrs dans la mmoire tampon de diagnostic :
Chaque vnement de diagnostic systme, par exemple les erreurs de CPU et les
erreurs de module
Chaque changement d'tat de la CPU (chaque mise sous tension, chaque passage
ARRET, chaque passage MARCHE)
Vous devez tre en ligne pour accder la mmoire tampon de diagnostic. Localisez le
journal sous "En ligne & Diagnostic / Diagnostic / Tampon de diagnostic". Reportez-vous au
chapitre "Outils en ligne et de diagnostic" (Page 629) pour plus d'informations sur la
correction des erreurs et sur le dbogage.

Horloge temps rel


La CPU prend en charge une horloge temps rel. Un supercondensateur fournit l'nergie
ncessaire pour que l'horloge continue fonctionner lorsque la CPU est hors tension. Le
supercondensateur se recharge lorsque la CPU est sous tension. Une mise sous tension de
la CPU d'au moins 24 heures charge suffisamment le supercondensateur pour assurer le
fonctionnement de l'horloge pendant 10 jours typiquement.
L'horloge temps rel est rgle sur l'heure systme qui correspond au temps universel
coordonn (UTC). STEP 7 rgle l'horloge temps rel sur l'heure systme. Des instructions
sont disponibles pour lire l'heure systme (RD_SYS_T) ou l'heure locale (RD_LOC_T).
L'heure locale se calcule l'aide des dcalages de fuseau horaire et d'heure d't que vous
paramtrez dans la configuration d'appareil Horloge CPU.
Configurez l'horloge temps rel pour la CPU dans la proprit "Heure". Vous pouvez
galement activer l'heure d't et indiquer les dates et heures de dbut et de fin de l'heure
d't. Vous devez tre en ligne dans la vue "En ligne & Diagnostic" de la CPU pour rgler
l'horloge temps rel. Utilisez cet effet la fonction "Rglage de l'heure".

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

81

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur

4.1.6.1

Mmento systme et mmento de cadence


Vous vous servez des proprits CPU pour activer les octets "mmento systme" et
"mmento de cadence". La logique de votre programme peut faire rfrence des bits
individuels de ces fonctions.
Vous pouvez affecter un octet dans la zone de mmoire M au mmento systme. L'octet
de mmento systme fournit les quatre bits suivants qui peuvent tre consults par votre
programme utilisateur :
Le bit "Toujours 0 (low)" est toujours 0.
Le bit "Toujours 1 (high)" est toujours 1.
"Diagramme de diagnostic modifi" est mis 1 pendant un cycle aprs que la CPU a
consign un vnement de diagnostic. Comme la CPU ne dfinit pas le bit
"Diagramme de diagnostic modifi" avant la fin de la premire excution des OB de
cycle de programme, votre programme utilisateur ne peut pas dtecter s'il y a eu une
modification du diagnostic pendant l'excution des OB de dmarrage ou la premire
excution des OB de cycle de programme.
Le bit "Premier cycle" est mis 1 pendant la dure du premier cycle une fois l'OB de
dmarrage termin. Une fois l'excution du premier cycle acheve, le bit "Premier
cycle" est mis 0.
Vous pouvez affecter un octet dans la zone de mmoire M au mmento de cadence.
Chaque bit de l'octet configur comme mmento de cadence gnre une impulsion en
signaux carrs. L'octet de mmento de cadence fournit 8 frquences diffrentes, de 0,5
Hz (lent) 10 Hz (rapide). Vous pouvez utiliser ces bits comme bits de commande, en
particulier en combinaison avec des instructions sur front, pour dclencher des actions
dans le programme utilisateur sur une base cyclique.
La CPU initialise ces octets lors du passage de l'tat ARRET l'tat MISE EN ROUTE. Les
bits du mmento de cadence changent de manire synchrone avec l'horloge CPU aux tats
MISE EN ROUTE et MARCHE.
PRUDENCE
L'crasement des bits du mmento systme ou du mmento de cadence peut altrer les
donnes dans ces fonctions et provoquer un fonctionnement incorrect du programme
utilisateur, pouvant entraner la mort et des blessures graves.
Comme le mmento de cadence et le mmento systme ne sont pas rservs en mmoire
M, des instructions ou des tches de communication peuvent crire dans ces adresses et
altrer les donnes.
Evitez d'crire des donnes dans ces adresses afin de garantir le bon fonctionnement de
ces fonctions et prvoyez toujours un circuit d'arrt d'urgence pour votre processus ou
votre installation.

Automate programmable S7-1200

82

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur
La fonction mmento systme configure un octet qui est activ (valeur = 1) pour un
vnement spcifique.

Premier cycle : Activ pendant le premier cycle l'tat MARCHE


Diagramme de diagnostic modifi
Toujours 1 (high) : Toujours activ
Toujours 0 (low) : Toujours dsactiv
Tableau 4- 6 Mmento systme
7

Rservs
Valeur 0

Toujours
dsactiv

Toujours activ

Indicateur Etat de
diagnostic

Indicateur Premier cycle

Valeur 0

Valeur 1

1: Modification

1: Premier cycle aprs


la mise en route

0: Pas de modification

0: Pas le premier cycle

La fonction mmento de cadence configure un octet qui met les diffrents bits 1 et 0
intervalles fixes. Chaque bit de cadence gnre une impulsion en signaux carrs sur le bit M
correspondant. Ces bits peuvent tre utiliss comme bits de commande, en particulier en
combinaison avec des instructions sur front, pour dclencher des actions dans le code
utilisateur sur une base cyclique.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

83

Concepts concernant les automates programmables


4.1 Excution du programme utilisateur
Tableau 4- 7 Mmento de cadence
Numro du bit

Priode (s)

2.0

1.6

1.0

0.8

0.5

0.4

0.2

0.1

Frquence (Hz)

0.5

0.625

1.25

2.5

10

Comme le mmento de cadence opre de manire asynchrone par rapport au cycle de la CPU, son tat peut changer
plusieurs fois au cours d'un cycle long.

4.1.6.2

Configuration des sorties lors d'un passage de MARCHE ARRET


Vous pouvez configurer le comportement des sorties TOR et analogiques lorsque la CPU
est l'tat ARRET. Vous pouvez paramtrer n'importe quelle sortie d'une CPU, d'un SB ou
d'un SM de sorte que sa valeur est fige ou qu'une valeur de remplacement est utilise :
Remplacement par une valeur de sortie spcifique (par dfaut) : Vous entrez une valeur
de remplacement pour chaque sortie (voie) de cette CPU, ce SB ou ce SM.
La valeur de remplacement par dfaut pour les voies de sortie TOR est "dsactiv" et la
valeur de remplacement par dfaut pour les voies de sortie analogiques est 0.
Maintenir les sorties leur dernier tat : Les sorties conservent la valeur qu'elles avaient
lors du passage de MARCHE ARRET. Aprs une mise sous tension, les sorties sont
dfinies la valeur de remplacement par dfaut.
Vous configurez le comportement des sorties dans la Configuration d'appareil. Slectionnez
les diffrents appareils et utilisez l'onglet "Proprits" pour configurer les sorties de chaque
appareil.
Lorsque la CPU passe de MARCHE ARRET, elle conserve la mmoire image et crit les
valeurs appropries pour les sorties TOR et analogiques en fonction de la configuration.

Automate programmable S7-1200

84

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.2 Stockage des donnes, zones de mmoire, E/S et adressage

4.2

Stockage des donnes, zones de mmoire, E/S et adressage

4.2.1

Accs aux donnes du S7-1200


STEP 7 facilite la programmation symbolique. Vous crez des noms symboliques ou
"variables" pour les adresses des donnes, soit sous forme de variables API associes
des adresses mmoire et des E/S, soit sous forme de variables locales utilises dans un
bloc de code. Pour utiliser ces variables dans votre programme utilisateur, il vous suffit
d'entrer le nom de la variable comme paramtre de l'instruction.
Pour une meilleure comprhension de la manire dont la CPU organise et adresse les zones
de mmoire, les paragraphes suivants expliquent l'adressage "absolu" rfrenc par les
variables API. La CPU offre plusieurs possibilits pour stocker les donnes pendant
l'excution du programme utilisateur :
Mmoire globale : La CPU fournit diverses zones de mmoire spcialises, savoir les
entres (I), les sorties (Q) et les mmentos (M). Cette mmoire est accessible tous les
blocs de code sans restriction.
Blocs de donnes (DB) : Vous pouvez inclure des blocs de donnes (DB) dans votre
programme utilisateur afin de sauvegarder les donnes des blocs de code. Les donnes
sauvegardes sont conserves une fois l'excution du bloc de code associ acheve. Un
DB "global" contient des donnes pouvant tre utilises par tous les blocs de code alors
qu'un DB d'instance contient les donnes d'un FB spcifique et a une structure
correspondant aux paramtres du FB.
Mmoire temporaire : Lors de l'appel d'un bloc de code, le systme d'exploitation de la
CPU alloue de la mmoire temporaire - ou locale (L) - utilisable pendant l'excution de ce
bloc. Lorsque l'excution de ce bloc de code s'achve, la CPU ralloue la mmoire locale
pour l'excution d'autres blocs de code.
Chaque emplacement de mmoire diffrent a une adresse unique. Votre programme
utilisateur utilise ces adresses pour accder aux informations contenues dans l'emplacement
de mmoire. Les rfrences aux zones de mmoire d'entre (I) ou de sortie (Q), telles que
I0.3 ou Q1.7, permettent d'accder la mmoire image. Pour accder directement l'entre
ou la sortie physique, ajoutez ":P" la rfrence (par exemple, I0.3:P, Q1.7:P ou
"Arret:P").

Tableau 4- 8 Zones de mmoire


Zone de mmoire

Description

I
Mmoire image des entres
I_:P1
(entre physique)
Q
Mmoire image des sorties
Q_:P1
(sortie physique)

Forage
permanent

Rmanence

Copie des entres physiques au dbut du cycle

Non

Non

Lecture directe des entres physiques sur la CPU, le SB


et le SM

Oui

Non

Copie dans les sorties physiques au dbut du cycle

Non

Non

Ecriture directe dans les entres physiques sur la CPU,


le SB et le SM

Oui

Non

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

85

Concepts concernant les automates programmables


4.2 Stockage des donnes, zones de mmoire, E/S et adressage

Zone de mmoire

Description

Forage
permanent

Rmanence

M
Mmentos

Mmoire de commande et de donnes

Non

Oui
(facultatif)

L
Mmoire temporaire

Donnes temporaires pour un bloc, locales ce bloc

Non

Non

DB
Bloc de donnes

Mmoire de donnes ainsi que mmoire de paramtres


pour les FB

Non

Oui
(facultatif)

Pour accder directement (en lecture ou en criture) aux entres et sorties physiques, ajoutez ":P" l'adresse ou la
variable (par exemple, I0.3:P, Q1.7:P ou "Arret:P").

Chaque emplacement de mmoire diffrent a une adresse unique. Votre programme


utilisateur utilise ces adresses pour accder aux informations contenues dans l'emplacement
de mmoire. L'adresse absolue est constitue des lments suivants :
Identificateur de zone de mmoire (comme I, Q ou M)
Taille des donnes en accs ("B" pour Byte, "W" pour Word ou "D" for DWord)
Adresse de dbut des donnes (comme octet 3 ou mot 3)
Lors de l'accs un bit dans l'adresse pour une valeur boolenne, vous ne prcisez pas la
taille. Vous saisissez uniquement la zone de mmoire, l'adresse d'octet et l'adresse de bit
pour cette donne (I0.0, Q0.1 ou M3.4, par exemple).

 0








       

Identificateur de zone de mmoire

Octets de la zone de mmoire

Adresse d'octet : octet 3

Bits de l'octet slectionn

Sparateur ("octet.bit")

Emplacement du bit dans l'octet (bit 4 sur


8)

Dans l'exemple, la zone de mmoire et l'adresse d'octet (M = zone des mmentos et 3 =


Byte 3) sont suivies par un point (".") pour sparer l'adresse du bit (bit 4).

Automate programmable S7-1200

86

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.2 Stockage des donnes, zones de mmoire, E/S et adressage

Accs aux donnes dans les zones de mmoire de la CPU


STEP 7 facilite la programmation symbolique. Typiquement, des variables sont cres dans
les variables API, dans un bloc de donnes ou dans l'interface en haut d'un OB, d'une FC ou
d'un FB. Ces variables comprennent un nom, un type de donnes, un dcalage et un
commentaire. Une valeur initiale peut en outre tre indique dans un bloc de donnes. Vous
pouvez utiliser ces variables lors de la programmation en entrant le nom de variable au
niveau du paramtre de l'instruction. Vous pouvez optionnellement entrer l'oprande absolu
(zone de mmoire, taille et dcalage) au niveau du paramtre de l'instruction. Les exemples
dans les paragraphes suivants montrent comment entrer des oprandes absolus. Le
caractre % est insr automatiquement devant l'oprande absolu par l'diteur de
programmes. Vous pouvez activer divers modes d'affichage dans l'diteur de programmes :
affichage symbolique, affichage symbolique et absolu ou affichage absolu.
I (mmoire image des entres) : La CPU lit les entres de priphrie (entres physiques)
juste avant l'excution de l'OB cyclique de chaque cycle et crit ces valeurs dans la mmoire
image des entres. Vous pouvez accder la mmoire image des entres par bits, octets,
mots ou doubles mots. L'accs en lecture et l'accs en criture sont tous deux autoriss
mais, typiquement, les entres de la mmoire image sont uniquement lues.
Tableau 4- 9 Adressage absolu pour la mmoire I
Bit

I[adresse d'octet].[adresse de bit]

I0.1

Octet, mot ou double mot

I[taille][adresse d'octet de dpart]

IB4, IW5 ou ID12

En ajoutant un ":P" l'adresse, vous pouvez lire directement les entres TOR et analogiques
de la CPU, du SB ou du SM. La diffrence entre un accs via I_:P et un accs via I est que
les donnes proviennent directement des entres en accs et non de la mmoire image des
entres. On parle d'accs en "lecture directe" pour cet accs I_:P, car les donnes sont
extraites directement de la source et non d'une copie qui a t faite lors de la dernire
actualisation de la mmoire image des entres.
Comme les entres physiques reoivent leur valeur directement des appareils de terrain
connects ces entres, crire dans ces entres est interdit. Ainsi, les accs I_:P sont en
lecture seule alors que les accs I peuvent tre en lecture ou en criture.
Les accs I_:P sont galement limits la taille des entres prises en charge par une CPU,
un SB ou un SM unique, arrondie l'octet le plus proche. Par exemple, si les entres d'un
SB 2 DI / 2 DQ sont configures pour commencer en I4.0, il est possible d'y accder en tant
que I4.0:P et I4.1:P ou en tant que IB4:P. Les accs de I4.2:P I4.7:P ne sont pas refuss
mais n'ont aucun sens puisque les entres correspondantes ne sont pas utilises. Les accs
IW4:P et ID4:P sont interdits puisqu'ils dpassent le dcalage d'octet associ au SB.
Les accs via I_:P n'affectent pas la valeur correspondante sauvegarde dans la mmoire
image des entres.
Tableau 4- 10 Adressage absolu pour la mmoire I (accs direct)
Bit

I[adresse d'octet].[adresse de bit]:P I0.1:P

Octet, mot ou double mot

I[taille][adresse d'octet de dpart]:P IB4:P, IW5:P ou ID12:P

Q (mmoire image des sorties) : La CPU copie dans les sorties physiques les valeurs
sauvegardes dans la mmoire image des sorties. Vous pouvez accder la mmoire
image des sorties par bits, octets, mots ou doubles mots. L'accs en lecture et l'accs en
criture sont tous deux autoriss pour les sorties de la mmoire image.
Automate programmable S7-1200
Manuel systme, 07/2011, A5E02486682-04

87

Concepts concernant les automates programmables


4.2 Stockage des donnes, zones de mmoire, E/S et adressage
Tableau 4- 11 Adressage absolu pour la mmoire Q
Bit

Q[adresse d'octet].[adresse de bit]

Q1.1

Octet, mot ou double mot

Q[taille][adresse d'octet de dpart]

QB5, QW10, QD40

En ajoutant un ":P" l'adresse, vous pouvez crire directement dans les sorties TOR et
analogiques physiques de la CPU, du SB ou du SM. La diffrence entre un accs via Q_:P
et un accs via Q est que les donnes sont directement crites dans les sorties en accs en
plus d'tre crites dans la mmoire image des sorties. On parle parfois d'accs en "criture
directe" pour cet accs Q_:P, car les donnes sont envoyes directement leur destination
qui n'a pas besoin d'attendre la prochaine actualisation partir de la mmoire image des
sorties.
Comme les sorties physiques pilotent directement les appareils de terrain qui y sont
connects, la lecture de ces sorties est interdite. Ainsi, les accs Q_:P sont en criture seule
alors que les accs Q peuvent tre en lecture ou en criture.
Les accs Q_:P sont galement limits la taille des sorties prises en charge par une CPU,
un SB ou un SM unique, arrondie l'octet le plus proche. Par exemple, si les sorties d'un SB
2 DI / 2 DQ sont configures pour commencer en Q4.0, il est possible d'y accder en tant
que Q4.0:P et Q4.1:P ou en tant que QB4:P. Les accs de Q4.2:P Q4.7:P ne sont pas
refuss mais n'ont aucun sens puisque les sorties correspondantes ne sont pas utilises.
Les accs QW4:P et QD4:P sont interdits puisqu'ils dpassent le dcalage d'octet associ
au SB.
Les accs via Q_:P affectent la fois la sortie physique et la valeur correspondante
sauvegarde dans la mmoire image des sorties.
Tableau 4- 12 Adressage absolu pour la mmoire Q (accs direct)
Bit

Q[adresse d'octet].[adresse de
bit]:P

Q1.1:P

Octet, mot ou double mot

Q[taille][adresse d'octet de
dpart]:P

QB5:P, QW10:P ou QD40:P

M (mmentos) : Utilisez la zone des mmentos (mmoire M) pour les relais de commande et
les donnes afin de stocker l'tat intermdiaire d'une opration ou d'autres informations de
commande. Vous pouvez accder la zone des mmentos par bits, octets, mots ou doubles
mots. L'accs en lecture et l'accs en criture sont tous deux autoriss pour la mmoire M.
Tableau 4- 13 Adressage absolu pour la mmoire M
Bit

M[adresse d'octet].[adresse de bit]

M26.7

Octet, mot ou double mot

M[taille][adresse d'octet de dpart]

MB20, MW30, MD50

Temp (mmoire temporaire) : La CPU affecte la mmoire temporaire selon les besoins. La
CPU alloue la mmoire temporaire au bloc de code au moment o le bloc de code est
dmarr (pour un OB) ou est appel (pour une FC ou un FB). L'affectation de mmoire
temporaire un bloc de code peut entraner la rutilisation d'adresses de mmoire
temporaire utilises prcdemment par d'autres OB, FC ou FB. La mmoire temporaire n'est
pas initialise par la CPU lors de son affectation et elle peut donc contenir n'importe quelle
valeur.

Automate programmable S7-1200

88

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.2 Stockage des donnes, zones de mmoire, E/S et adressage
La mmoire temporaire est similaire la mmoire M une exception majeure prs. En effet,
la mmoire M a une porte globale alors que la mmoire temporaire a une porte locale.
Mmoire M : Tout OB, FC ou FB peut accder aux donnes dans la mmoire M, ce qui
signifie que les donnes sont globalement disponibles pour tous les lments du
programme utilisateur.
Mmoire temporaire : L'accs aux donnes en mmoire temporaire est limit l'OB, la
FC ou au FB qui a cr ou dclar l'adresse de mmoire temporaire. Les adresses de
mmoire temporaire restent locales et ne sont pas partages par diffrents blocs de code
mme lorsque le bloc de code appelle un autre bloc de code. Par exemple, lorsqu'un OB
appelle une FC, la FC ne peut pas accder la mmoire temporaire de l'OB qui l'a
appele.
La CPU fournit de la mmoire temporaire (locale) pour chacune des trois classes de priorit
d'OB :
16 Ko pour le dmarrage et le cycle du programme, FB et FC associs inclus
4 Ko pour les vnements d'alarme standard, FB et FC inclus
4 Ko pour les vnements d'alarme d'erreur, FB et FC inclus
Vous accdez la mmoire temporaire par adressage symbolique uniquement.
DB (bloc de donnes) : Utilisez les blocs de donnes pour sauvegarder divers types de
donnes, notamment l'tat intermdiaire d'une opration ou d'autres informations de
commande, les paramtres de FB et des structures de donnes ncessaires pour de
nombreuses instructions telles que temporisations et compteurs. Vous pouvez dfinir un bloc
de donnes comme tant en lecture/criture ou en lecture seule. Vous pouvez accder aux
blocs de donnes par bits, octets, mots ou doubles mots. L'accs en lecture et l'accs en
criture sont tous deux autoriss pour les blocs de donnes en lecture/criture. Seul l'accs
en lecture est autoris pour les blocs de donnes en lecture seule.
Tableau 4- 14 Adressage absolu pour la mmoire DB
Bit

DB[numro de bloc de
donnes].DBX[adresse d'octet].[adresse
de bit]

Octet, mot ou double mot DB[numro de bloc de


donnes].DB[taille][adresse d'octet de
dpart]

DB1.DBX2.3

DB1.DBB4, DB10.DBW2,
DB20.DBD8

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

89

Concepts concernant les automates programmables


4.2 Stockage des donnes, zones de mmoire, E/S et adressage

Configuration des E/S dans la CPU et les modules E/S


Lorsque vous ajoutez une CPU et des modules
d'E/S dans votre cran de configuration, les
adresses I et Q sont automatiquement affectes.
Vous pouvez modifier l'adressage par dfaut en
slectionnant le champ d'adresse dans l'cran de
configuration et en saisissant de nouveaux
nombres.
Les entres et sorties numriques sont
attribues dans des groupes de 8 points (1
octet), que le module utilise tous les points ou
non.
Les entres et sorties analogiques sont
affectes par groupes de deux entres ou deux
sorties (4 octets).

La figure montre un exemple de CPU 1214C avec deux SM et un SB. Dans cet exemple,
vous pourriez modifier l'adresse du module DI8 2 au lieu de 8. L'outil vous aidera en
modifiant les plages d'adresse qui en sont pas de la bonne dimension ou qui sont en conflit
avec d'autres adresses.

Automate programmable S7-1200

90

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.3 Traitement des valeurs analogiques

4.3

Traitement des valeurs analogiques


Les modules d'entres-sorties analogiques fournissent des signaux d'entre ou attendent
des valeurs de sortie qui reprsentent soit une plage de tension, soit une plage de courant. Il
s'agit des plages 10 V, 5 V, 2,5 V ou 0 20 mA. Les valeurs renvoyes par les modules
sont des valeurs entires, 0 27648 reprsentant la plage nominale pour le courant et 27648 27648 la plage nominale pour la tension. Toute valeur en dehors de ces plages
reprsente soit un dbordement haut, soit un dbordement bas. Reportez-vous aux tableaux
sur la reprsentation des entres analogiques (Page 690) et la reprsentation des sorties
analogiques (Page 690) pour plus de dtails.
Dans votre programme de commande, vous aurez probablement besoin de ces valeurs en
units de mesure physiques, par exemple pour reprsenter un volume, une temprature, un
poids ou une autre valeur de quantit. S'il s'agit d'une entre analogique, vous devez
d'abord normaliser la valeur analogique une valeur relle ( virgule flottante) comprise
entre 0,0 et 1,0. Vous devez ensuite la mettre l'chelle des valeurs minimum et maximum
des units physiques qu'elle reprsente. Dans le cas de valeurs en units physiques que
vous avez besoin de convertir en valeurs de sortie analogiques, vous devez d'abord
normaliser la valeur en units physiques une valeur comprise entre 0,0 et 1,0, puis la
mettre l'chelle entre 0 et 27648 ou -27648 et 27648 en fonction de la plage du module
analogique. STEP 7 fournit les instructions NORM_X et SCALE_X (Page 209) pour raliser
ces oprations. Vous pouvez galement utiliser l'instruction CALCULATE (Page 190) pour
mettre les valeurs analogiques (Page 30) l'chelle.

4.4

Types de donnes
Les types de donnes servent indiquer la fois la taille d'un lment de donnes et la
faon dont les donnes doivent tre interprtes. Chaque paramtre d'une instruction
accepte au moins un type de donnes et certains paramtres acceptent plusieurs types de
donnes. Maintenez le curseur au-dessus du champ de paramtre d'une instruction pour
voir les types de donnes accepts par un paramtre particulier.
Un paramtre formel est un identificateur qui repre l'emplacement des donnes qu'une
instruction doit utiliser (par exemple, l'entre IN1 d'une instruction ADD). Un paramtre
effectif est l'adresse de mmoire ou la constante contenant les donnes que l'instruction doit
utiliser (exemple : %MD400 "nombre_de_widgets"). Le type de donnes du paramtre
effectif que vous indiquez doit correspondre l'un des types de donnes accepts par le
paramtre formel indiqu par l'instruction.
Lorsque vous indiquez un paramtre effectif, vous devez indiquer soit une variable
(mnmonique), soit une adresse de mmoire (directe) absolue. Les variables sont associes
un mnmonique (nom de la variable) avec un type de donnes, une zone de mmoire, un
dcalage en mmoire et un commentaire et elles peuvent tre cres soit dans l'diteur de
variables API, soit dans l'diteur d'interface d'un bloc (OB, FC, FB et DB). Si vous entrez une
adresse absolue n'ayant pas de variable associe, vous devez utiliser une taille approprie
qui correspond un type de donnes accept et une variable par dfaut sera cre lors de
l'entre.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

91

Concepts concernant les automates programmables


4.4 Types de donnes
Tous ces types de donnes except STRING sont disponibles la fois dans l'diteur de
variables API et dans les diteurs d'interface de bloc. STRING est disponible uniquement
dans les diteurs d'interface de bloc. Vous pouvez galement entrer une valeur constante
pour de nombreux paramtres d'entre.
Bit et squences de bits (Page 93) : Bool (valeur boolenne ou binaire), Byte (octet de 8
bits), Word (mots de 16 bits), DWord (double mot de 32 bits)
Entier (Page 93)
USInt (entier de 8 bits non sign), SInt (entier de 8 bits sign)
UInt (entier de 16 bits non sign), Int (entier de 16 bits sign)
UDInt (entier de 32 bits non sign), DInt (entier de 32 bits sign)
Rel virgule flottante (Page 94) : Real (valeur relle ou virgule flottante de 32 bits),
LReal (valeur relle ou virgule flottante de 64 bits)
Date et heure (Page 95) : Time (dure CEI de 32 bits), Date (date de 16 bits), TOD
(heure de 32 bits), DT (date et heure de 64 bits)
Caractre et chane de caractres (Page 95) : Char (caractre individuel de 8 bits), String
(chane de longueur variable allant jusqu' 254 caractres)
Tableau (Page 95)
Structure de donnes (Page 99) : Struct
Type de donnes API (Page 99)
Pointeurs (Page 100) : Pointer, Any, Variant
Bien que non disponibles en tant que types de donnes, les formats numriques BCD
suivants sont pris en charge par les instructions de conversion.
Tableau 4- 15 Taille et plage du format DCB
Format

Taille (bits)

Plage numrique

Exemples d'entre de constantes

BCD16

16

-999 999

123, -123

BCD32

32

-9999999 9999999

1234567, -1234567

Automate programmable S7-1200

92

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.4 Types de donnes

4.4.1

Types de donnes Bool, Byte, Word et DWord

Tableau 4- 16 Types de donnes pour bit et squence de bits


Type de
donnes

Taille
en bits

Type de
nombre

Plage de
nombres

Exemples
de constantes

Exemples
d'adresses

Bool

Boolen

FALSE ou TRUE

TRUE, 1

I1.0
Q0.1
M50.7
DB1.DBX2.3
nom_variable

Byte

Word

16

Binaire

0 ou 1

0, 2#0

Octal

8#0 ou 8#1

8#1

Hexadcimal

16#0 ou 16#1

16#1

Binaire

2#0 2#11111111

2#00001111

Entier non sign

0 255

15

Octal

8#0 8#377

8#17

Hexadcimal

B#16#0 B#16#FF

B#16#F, 16#F

Binaire

2#0 2#1111111111111111

2#1111000011110000

Entier non sign

0 65535

61680

Octal

8#0 8#177777

8#170360

Hexadcimal

W#16#0 W#16#FFFF,

W#16#F0F0, 16#F0F0

IB2
MB10
DB1.DBB4
nom_variable
MW10
DB1.DBW2
nom_variable

16#0 16#FFFF
DWord

32

Binaire

2#0
2#111111111111111111111111
11111111

2#111100001111111100
001111

Entier non sign

0 4294967295

15793935

Octal

8#0 8#37777777777

8#74177417

Hexadcimal

DW#16#0000_0000
DW#16#FFFF_FFFF,

DW#16#F0FF0F,
16#F0FF0F

MD10
DB1.DBD8
nom_variable

16#0000_0000
16#FFFF_FFFF

4.4.2

Types de donnes entiers

Tableau 4- 17 Types de donnes entiers (U = non sign, S = court, D= double)


Type de
donnes

Taille en
bits

Plage de nombres

Exemples de constantes

USInt

0 255

78, 2#01001110

SInt

-128 127

+50, 16#50

UInt

16

0 65 535

65295, 0

Int

16

-32 768 32 767

30000, +30000

UDInt

32

0 4 294 967 295

4042322160

DInt

32

-2 147 483 648 2


147 483 647

-2131754992

Exemples
d'adresses
MB0, DB1.DBB4,
nom_variable
MW2, DB1.DBW2,
nom_variable
MD6, DB1.DBD8,
nom_variable

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

93

Concepts concernant les automates programmables


4.4 Types de donnes

4.4.3

Types de donnes rels virgule flottante


Les nombres rels (ou nombres virgule flottante) sont reprsents sous forme de nombres
de 32 bits simple prcision (type Real) ou de nombres de 64 bits double prcision (type
LReal) comme dcrit dans la norme ANSI/IEEE 754-1985. Les nombres virgule flottante
simple prcision sont prcis jusqu' 6 chiffres significatifs et les nombres virgule flottante
double prcision sont prcis jusqu' 15 chiffres significatifs. Vous pouvez donc indiquer 6
(Real) et 15 (LReal) chiffres significatifs au maximum lorsque vous entrez une constante
virgule flottante afin de conserver la prcision.

Tableau 4- 18 Types de donnes rels virgule flottante (L=long)


Type de
donnes

Taille
en bits

Plage de nombres

Exemples de constantes

Exemples d'adresses

Real

32

-3,402823e+38 -1,175 495e-38,


0,
+1,175 495e-38 +3,402823e+38

123.456, -3.4, 1.0e-5

MD100, DB1.DBD8,
nom_variable

LReal

64

-1,7976931348623158e+308
-2,2250738585072014e-308,
0,
+2,2250738585072014e-308
+1,7976931348623158e+308

12345,123456789e40,
1,2E+40

nom_DB.nom_var
Rgles :

L'adressage direct n'est


pas pris en charge.

Peut tre dfini dans une


table d'interface de bloc
OB, FB ou FC

Peut tre dfini dans un


bloc de donnes global ou
d'instance uniquement
lorsque le bloc de
donnes est de type
"optimis" (accs
symbolique uniquement)

Les calculs impliquant une longue srie de valeurs comprenant des nombres trs grands et
trs petits peuvent produire des rsultats qui manquent de prcision. Cela peut arriver si ces
nombres diffrent de 10 puissance x, x tant suprieur 6 (Real) ou 15 (LReal). Exemple
pour Real : 100 000 000 + 1 = 100 000 000.

Automate programmable S7-1200

94

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.4 Types de donnes

4.4.4

Types de donnes "date et heure"

Tableau 4- 19 Types de donnes "date et heure"


Type de
donnes

Taille

Plage

Exemples d'entre de constantes

TIME

32 bits

T#-24d_20h_31m_23s_648ms
T#24d_20h_31m_23s_647ms

T#5m_30s
T#1d_2h_15m_30s_45ms
TIME#10d20h30m20s630ms
500h10000ms
10d20h30m20s630ms

Sauvegard en tant que : -2 147 483 648 ms +2


147 483 647 ms
DATE

16 bits

D#1990-1-1 D#2168-12-31

D#2009-12-31
DATE#2009-12-31
2009-12-31

TIME_OF_DAY

32 bits

TOD#0:0:0.0 TOD#23:59:59.999

TOD#10:20:30.400
TIME_OF_DAY#10:20:30.400
23:10:1

DTL
(date et heure
long)

12 octets

Min. : DTL#1970-01-01-00:00:00.0

DTL#2008-12-16-20:30:20.250

Max. : DTL#2554-12-31-23:59:59.999 999 999

TIME
Les donnes TIME sont sauvegardes sous forme d'entier double sign interprt en tant
que millisecondes. Le format d'diteur peut utiliser des informations pour le jour (d), les
heures (h), les minutes (m), les secondes (s) et les millisecondes (ms).
Il n'est pas ncessaire de prciser toutes les units de dure. T#5h10s et 500h sont, par
exemple, valables.
La valeur combine de toutes les valeurs d'unit indiques ne doit pas dpasser les limites
suprieure et infrieure en millisecondes pour le type de donnes TIME (-2 147 483 648 ms
+2 147 483 647 ms).

DATE
Les donnes DATE sont sauvegardes sous forme d'entier non sign interprt en tant que
nombre de jours ajouts la date de base, 01/01/1990, pour obtenir la date prcise. Le
format d'diteur doit indiquer une anne, un mois et un jour.

TOD
Les donnes TOD (TIME_OF_DAY) sont sauvegardes sous forme d'entier non sign
interprt en tant que nombre de millisecondes depuis minuit pour l'heure indique (minuit =
0 ms). Les heures (24 heures/jour), les minutes et les secondes doivent tre indiques.
L'indication des fractions de seconde est facultative.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

95

Concepts concernant les automates programmables


4.4 Types de donnes

DTL
Le type de donnes DTL (date et heure long) utilise une structure de 12 octets qui mmorise
les informations sur la date et l'heure. Vous pouvez dfinir des donnes DTL soit dans la
mmoire temporaire d'un bloc, soit dans un DB. Il faut entrer une valeur pour chaque
lment dans la colonne Valeur initiale de l'diteur de DB.
Tableau 4- 20 Taille et plage pour DTL
Longueur Format
(octets)

Plage de valeurs

Exemple d'entre de valeur

12

Horloge et calendrier

Min. : DTL#1970-01-01-00:00:00.0

DTL#2008-12-16-20:30:20.250

anne-mois-jour:heures:minutes:
secondes.nanosecondes

Max. : DTL#2554-12-31-23:59:59.999
999 999

Chaque lment de la structure DTL contient un type de donnes et une plage de valeurs
diffrents. Le type de donnes d'une valeur indique doit correspondre au type de donnes
des lments correspondants.
Tableau 4- 21 Elments de la structure DTL
Octet

Elment

Type de donnes

Plage de valeurs

Anne

UINT

1970 2554

Mois

USINT

1 12

Jour

USINT

1 31

Jour de la semaine

USINT

1 (dimanche) 7 (samedi) 1

Heures

USINT

0 23

Minutes

USINT

0 59

Secondes

USINT

0 59

Nanosecondes

UDINT

0 999 999 999

9
10
11
Le jour de la semaine n'est pas pris en compte dans l'entre de la valeur.

Tableau 4- 22 Types de donnes "caractre et chane de caractres"


Type de
donnes

Taille

Plage

Exemples d'entre de constantes

Char

8 bits

Codes de caractres ASCII : 16#00 16#FF

'A', 't', '@'

String

n+ 2 octets

n = (0 254 octets caractres)

'ABC'

Automate programmable S7-1200

96

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.4 Types de donnes

CHAR
Les donnes CHAR occupent un octet en mmoire et contiennent un caractre unique cod
en format ASCII. La syntaxe de l'diteur utilise une apostrophe avant et aprs le caractre
ASCII. Il est possible d'utiliser des caractres visibles et des caractres de commande. Un
tableau de caractres de commande autoriss est donn dans la description du type de
donnes String.

STRING
La CPU prend en charge le type de donnes String pour sauvegarder une squence de
caractres d'un octet. Le type de donnes String contient le nombre de caractres total
(nombre de caractres dans la chane) et le nombre de caractres en cours. Le type String
fournit jusqu' 256 octets pour le stockage du nombre de caractres total maximum (1 octet),
du nombre de caractres en cours (1 octet) et de 254 caractres au maximum dont chacun
est stock dans 1 octet.
Vous pouvez utiliser des chanes littrales (constantes) pour les paramtres d'instruction de
type IN avec des apostrophes. Par exemple, 'ABC' est une chane de trois caractres qui
pourrait tre utilise en tant qu'entre pour le paramtre IN de l'instruction S_CONV. Vous
pouvez galement crer des variables chanes de caractres en slectionnant le type de
donnes STRING dans les diteurs d'interface des blocs OB, FC, FB et DB. Vous ne pouvez
pas crer de chane dans l'diteur de variables API.
Vous pouvez indiquer la taille maximale d'une chane en octets l'aide de crochets aprs le
mot-cl "String" (aprs slection du type de donnes "String" dans une liste droulante de
types de donnes). "MaChane[10]" indiquerait, par exemple, une taille maximale de 10
octets pour MaChane. Si vous ne mentionnez pas de taille maximale entre crochets, 254
est pris par dfaut.
L'exemple suivant dfinit une chane ayant un nombre maximum de caractres gal 10 et
un nombre de caractres en cours gal 3. Cela signifie que la chane contient actuellement
3 caractres un octet mais pourrait tre allonge jusqu' contenir 10 caractres un octet.
Tableau 4- 23 Exemple de type de donnes String
Nombre total de
caractres

Nombre de caractres
en cours

Caractre 1

Caractre 2

Caractre 3

...

Caractre 10

10

'C' (16#43)

'A' (16#41)

'T' (16#54)

...

Octet 0

Octet 1

Octet 2

Octet 3

Octet 4

...

Octet 11

Des caractres de commande ASCII peuvent tre utiliss dans des donnes de type Char et
String. Le tableau suivant prsente des exemples de syntaxe avec caractres de
commande.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

97

Concepts concernant les automates programmables


4.4 Types de donnes
Tableau 4- 24 Caractres de commande ASCII autoriss
Caractres de
commande

Valeur ASCII hexa

Fonction de commande

Exemples

$L ou $l

0A

Changement de ligne

'$LTexte', '$0ATexte'

$N ou $n

0A et 0D

Saut de ligne

'$NTexte', '$0A$0DTexte'

La nouvelle ligne montre deux caractres


dans la chane.
$P ou $p

0C

Changement de page

'$PTexte', '$0CTexte'

$R ou $r

0D

Retour chariot

'$RTexte','$0DTexte'

$T ou $t

09

Tabulation

'$TTexte', '$09Texte'

$$

24

Signe dollar

'100$$', '100$24'

$'

27

Apostrophe

'$'Texte$'','$27Texte$27'

Tableaux
Vous pouvez crer un tableau qui contient plusieurs lments de mme type de donnes. Il
est possible de crer des tableaux dans les diteurs d'interface des blocs OB, FC, FB et DB.
Vous ne pouvez pas crer de tableau dans l'diteur de variables API.
Pour crer un tableau dans l'diteur d'interface de bloc, donnez un nom au tableau et
choisissez le type de donnes "Array [lo .. hi] of type", puis ditez "lo", "hi" et "type" de la
manire suivante :
lo : indice de dpart (le plus bas) pour votre tableau
hi : indice de fin (le plus lev) pour votre tableau
type : un type de donnes, tels que BOOL, SINT, UDINT
Tableau 4- 25 Rgles pour le type de donnes ARRAY
Type de
donnes

Syntaxe d'un tableau

ARRAY

nom [indice1_min..indice1_max, indice2_min..indice2_max] of <type de donnes>

Tous les lments du tableau doivent avoir le mme type de donnes.

L'indice peut tre ngatif, mais la limite infrieure doit tre infrieure ou gale la limite suprieure.

Un tableau peut avoir de une six dimensions.

Les dclarations des indices min..max des diffrentes dimensions sont spares par des virgules.

Les tableaux imbriqus (tableaux de tableaux) ne sont pas autoriss.

La taille d'un tableau en mmoire est gale (taille d'un lment * nombre total d'lments dans le
tableau)

Indice de tableau

Types de donnes autoriss


pour les indices

Rgles pour les indices de tableau

Automate programmable S7-1200

98

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.4 Types de donnes

Type de
donnes

Syntaxe d'un tableau


Constante ou
variable

USInt, SInt, UInt, Int, UDInt,


DInt

Exemple :
dclarations de
tableaux

Valeurs limites : -32768 +32767

Correct : constantes et variables mlanges

Correct : expressions constantes

Incorrect : expressions variables

ARRAY[1..20] of REAL

Une dimension, 20 lments

ARRAY[-5..5] of INT

Une dimension, 11 lments

ARRAY[1..2, 3..4] of CHAR

Exemple : adresses ARRAY1[0]


de tableaux
ARRAY2[1,2]
ARRAY3[i,j]

4.4.5

Deux dimensions, 4 lments


Tableau ARRAY1, lment 0
Tableau ARRAY2, lment [1,2]
Si i=3 et j=4, on adresse l'lment [3,
4] du tableau ARRAY3.

Type de donnes "structure de donnes"


Vous pouvez utiliser le type de donnes "Struct" pour dfinir une structure de donnes
constitue de types de donnes diffrents. Le type de donnes Struct peut servir grer un
groupe de donnes de processus apparentes en tant qu'unit de donnes unique. Vous
donnez un nom la structure et vous dclarez son organisation de donnes interne dans
l'diteur de bloc de donnes ou dans un diteur d'interface de bloc.
Vous pouvez regrouper des tableaux et des structures dans une structure plus grande. Une
structure peut tre imbrique jusqu' huit niveaux de profondeur. Par exemple, vous pouvez
crer une structure de structures qui contiennent des tableaux.
Une variable Struct commence une adresse d'octet paire et utilise la mmoire jusqu' la
frontire de mot suivante.

4.4.6

Type de donnes API


L'diteur de type de donnes API vous permet de dfinir des structures de donnes
utilisables plusieurs reprises dans votre programme. Pour crer un type de donnes API,
ouvrez la branche "Types de donnes API" de l'arborescence de projet et double-cliquez sur
"Ajouter nouveau type de donnes". Dans le type de donnes API nouvellement cr,
servez-vous de deux clics simples pour modifier le nom par dfaut et d'un double clic pour
ouvrir l'diteur de type de donnes API.
Pour crer une structure de type de donnes API personnalise, vous utilisez les mmes
mthodes d'dition que dans l'diteur de bloc de donnes. Ajoutez de nouvelles lignes pour
tout type de donnes dont vous avez besoin pour crer la structure de donnes voulue.
Si un nouveau type de donnes API est cr, son nom apparat dans les listes droulantes
de slection de type de donnes dans l'diteur de DB et dans l'diteur d'interface de bloc de
code.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

99

Concepts concernant les automates programmables


4.4 Types de donnes
Usages potentiels des types de donnes API :
Vous pouvez utiliser les types de donnes API directement comme types de donnes
dans une interface de bloc de code ou dans des blocs de donnes.
Vous pouvez utiliser les types de donnes API comme modles pour la cration de
plusieurs blocs de donnes globaux utilisant la mme structure de donnes.
Un type de donnes API pourrait, par exemple, tre une recette pour mlanger des couleurs.
Vous pouvez alors affecter ce type de donnes API plusieurs blocs de donnes, les
variables de chaque bloc de donnes tant dfinies de manire crer une couleur
spcifique.

4.4.7

Types de donnes "pointeur"


Les types de donnes "pointeur" (Pointer, Any et Variant) sont utilisables dans les tables
d'interface des blocs de code FB et FC. Vous pouvez slectionner un type de donnes
"pointeur" dans les listes droulantes de types de donnes d'une interface de bloc.
Le type de donnes Variant peut galement tre utilis pour des paramtres d'instructions.

4.4.7.1

Type de donnes Pointer


Le type de donnes Pointer dsigne une variable particulire. Il occupe 6 octets (48 bits) en
mmoire et peut inclure les informations suivantes :
numro de DB ou 0 si les donnes ne sont pas sauvegardes dans un DB
zone de mmoire dans la CPU
adresse d'une variable
)RUPDWGHSRLQWHXU
%LW

%LW


 

2FWHW


2FWHW

QXPURGH'% RX

2FWHW

]RQHGHPPRLUH

2FWHW

2FWHW

2FWHW

E DGUHVVHG
RFWHW

[ DGUHVVHGHELW

Vous pouvez dclarer les trois types de pointeurs suivants selon l'instruction :
Pointeur intrazone : contient des donnes sur l'adresse d'une variable
Pointeur interzone : contient des donnes sur la zone de mmoire et l'adresse d'une
variable
Pointeur de DB : contient un numro de bloc de donnes et l'adresse d'une variable

Automate programmable S7-1200

100

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.4 Types de donnes
Tableau 4- 26 Types de pointeurs :
Type

Format

Exemple de saisie

Pointeur intrazone

P#Octet.Bit

P#20.0

Pointeur interzone

P#Zone_mmoire_Octet.Bit

P#M20.0

Pointeur de DB

P#Bloc_donnes.Elment_donn P#DB10.DBX20.0
es

Vous pouvez entrer un paramtre de type Pointer sans le prfixe (P #). Votre entre sera
automatiquement convertie au format pointeur.
Tableau 4- 27 Codage des zones de mmoire dans les donnes Pointer :

4.4.7.2

Code hexadcimal

Type de donnes

Description

b#16#81

Zone des entres

b#16#82

Zone des sorties

b#16#83

Zone des mmentos

b#16#84

DBX

Bloc de donnes

b#16#85

DIX

Bloc de donnes d'instance

b#16#86

Donnes locales

b#16#87

Donnes locales prcdentes

Type de donnes Any


Le type de donnes ANY dsigne le dbut d'une zone de donnes et prcise sa longueur.
Un pointeur ANY occupe 10 octets en mmoire et peut inclure les informations suivantes :
Type de donnes : type de donnes des lments de donnes
Facteur de rptition : nombre d'lments de donnes
Numro de DB : bloc de donnes dans lequel les lments de donnes sont
sauvegards
Zone de sauvegarde : zone de mmoire de la CPU dans laquelle les lments de
donnes sont sauvegards
Adresse de dbut : adresse de dbut des donnes, de type "octet.bit"
La figure suivante montre la structure du pointeur ANY :

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

101

Concepts concernant les automates programmables


4.4 Types de donnes
%LW

%LW



 

2FWHW

KSRXU6

2FWHW

2FWHW

W\SHGHGRQQHV

2FWHW

IDFWHXUGHUSWLWLRQ

2FWHW

2FWHW

QXPURGH'% RX

2FWHW
2FWHW



]RQHGHPPRLUH
E

2FWHW

2FWHW

E DGUHVVHG
RFWHW

[ DGUHVVHGHELW

Un pointeur ne peut pas dtecter les structures ANY. Seule l'affectation des variables
locales est possible.
Tableau 4- 28 Format et exemples de pointeur ANY :
Format

Exemple de saisie

Description

P#Bloc_donnes.Zone_mmoir
e Adresse_donnes Type
Nombre

P#DB 11.DBX 20.0 INT 10

10 mots dans le DB 11 global


partir de DBB 20.0

P#Zone_mmoire
P#M 20.0 BYTE 10
Adresse_donnes Type Nombre P#I 1.0 BOOL 1

10 octets partir de MB 20.0


Entre I1.0

Tableau 4- 29 Codage des types de donnes dans un pointeur ANY


Code hexadcimal

Type de donnes

Description

b#16#00

Null

Pointeur nul

b#16#01

Bool

Bit

b#16#02

Byte

Octet, 8 bits

b#16#03

Char

Caractre de 8 bits

b#16#04

Word

Mot de 16 bits

b#16#05

Int

Entier de 16 bits

b#16#37

SInt

Entier de 8 bits

b#16#35

UInt

Entier de 16 bits non sign

b#16#34

USInt

Entier de 8 bits non sign

b#16#06

DWord

Double mot de 32 bits

b#16#07

DInt

Entier double de 32 bits

b#16#36

UDInt

Entier double de 32 bits non


sign

b#16#08

Real

Nombre virgule flottante de 32


bits

b#16#0B

Time

Dure

b#16#13

String

Chane de caractres

Automate programmable S7-1200

102

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.4 Types de donnes
Tableau 4- 30 Codage des zones de mmoire dans un pointeur ANY :

4.4.7.3

Code hexadcimal

Zone de mmoire

Description

b#16#81

Zone des entres

b#16#82

Zone des sorties

b#16#83

Zone des mmentos

b#16#84

DBX

Bloc de donnes

b#16#85

DIX

Bloc de donnes d'instance

b#16#86

Donnes locales

b#16#87

Donnes locales prcdentes

Type de donnes Variant


Le type de donnes Variant peut dsigner des variables de diffrents types de donnes ou
des paramtres. Le pointeur Variant peut dsigner des structures et des lments
individuels de structures. Le pointeur Variant n'occupe aucun espace en mmoire.

Tableau 4- 31 Proprits du pointeur Variant


Longueur
(octets)

Reprsentation

Format

Exemple de saisie

Symbolique

Oprande

MaVariable

Absolue

Nom_DB.Nom_struct.Nom_lment

MonDB.Struct1.pression1

Oprande

%MW10

Numro_DB.Oprande Type Longueur

P#DB10.DBX10.0 INT 12

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

103

Concepts concernant les automates programmables


4.5 Utilisation d'une carte mmoire

4.5

Utilisation d'une carte mmoire


IMPORTANT
La CPU accepte uniquement la carte mmoire SIMATIC (Page 735) prformate.
Avant de copier un programme sur la carte mmoire formate, effacez de la carte mmoire
tout programme prcdemment sauvegard.
Utilisez la carte mmoire soit comme carte transfert, soit comme carte programme. Tout
programme que vous copiez dans la carte mmoire contient tous les blocs de code et de
donnes, les objets technologiques ventuels et la configuration des appareils. Il ne contient
pas les valeurs forces de manire permanente.
Utilisez une carte transfert pour copier un programme dans la mmoire de chargement
interne de la CPU sans recourir STEP 7. Une fois la carte transfert insre, la CPU
efface d'abord le programme utilisateur et les valeurs forces de la mmoire de
chargement interne, puis copie le programme de la carte transfert dans la mmoire de
chargement interne. Vous devez retirer la carte transfert une fois le transfert achev.
Vous pouvez utiliser une carte transfert vide pour accder une CPU protge par mot
de passe en cas d'oubli du mot de passe (Page 113). Insrer une carte transfert vide
efface le programme protg par mot de passe dans la mmoire de chargement interne
de la CPU. Vous pouvez alors charger un nouveau programme dans la CPU.
Utilisez une carte programme comme mmoire de chargement externe pour la CPU.
Insrer une carte programme dans la CPU efface toute la mmoire de chargement
interne de la CPU (le programme utilisateur et les valeurs forces en permanence). La
CPU excute alors le programme en mmoire de chargement externe (la carte
programme). Effectuer un chargement dans une CPU quipe d'une carte programme
actualise uniquement la mmoire de chargement externe (la carte programme).
Comme la mmoire de chargement interne de la CPU a t efface lorsque vous y avez
insr la carte programme, cette dernire doit rester dans la CPU. Si vous retirez la carte
programme, la CPU passe l'tat ARRET. La DEL de dfaut clignote pour signaler que
la carte programme a t enleve.
Le programme sur une carte mmoire comprend les blocs de code, les blocs de donnes,
les objets technologiques et la configuration des appareils. La carte mmoire ne contient
aucune valeur force de manire permanente. Les valeurs forces de manire permanente
ne font pas partie du programme mais sont stockes dans la mmoire de chargement, qu'il
s'agisse de la mmoire de chargement interne de la CPU ou de la mmoire de chargement
externe (une carte programme). Si une carte programme est insre dans la CPU, STEP 7
applique les valeurs forces uniquement la mmoire de chargement externe sur la carte
programme.
Vous utiliserez galement une carte mmoire pour tlcharger les mises jour du firmware
depuis l'assistance client (http://www.siemens.com/automation/support-request). Une mise
jour du firmware ncessite une carte mmoire de 24 Mo.

Automate programmable S7-1200

104

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.5 Utilisation d'une carte mmoire

4.5.1

Insertion d'une carte mmoire dans la CPU


PRUDENCE
Des dcharges lectrostatiques peuvent endommager la carte mmoire ou son
emplacement sur la CPU.
Pour viter tout risque lorsque vous manipulez la carte mmoire, soyez en contact avec un
tapis conducteur mis la terre ou portez un bracelet spcial avec chanette. Conservez la
carte mmoire dans une bote conductrice.

Vrifiez que la carte mmoire n'est pas protge en criture. Faites glisser
le commutateur de protection pour l'loigner de la position "verrou".

PRUDENCE
Si vous insrez une carte mmoire (qu'elle soit configure comme carte programme ou
comme carte transfert) dans une CPU l'tat MARCHE, la CPU passe immdiatement
l'tat ARRET, ce qui peut provoquer des dommages aux quipements ou au processus
pilot. Avant d'insrer ou de retirer une carte mmoire, assurez-vous toujours que la CPU
ne pilote pas activement une machine ou un processus. Installez toujours un circuit d'arrt
d'urgence pour votre application ou votre processus.
Remarque
Si vous insrez une carte mmoire alors que la CPU est l'tat ARRET, la mmoire tampon
de diagnostic affiche un message indiquant que l'valuation de la carte mmoire a
commenc. La CPU valuera la carte mmoire la prochaine fois que vous ferez passer la
CPU l'tat MARCHE, que vous effectuerez un effacement gnral de la CPU via MRES ou
que vous mettrez la CPU hors tension puis sous tension.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

105

Concepts concernant les automates programmables


4.5 Utilisation d'une carte mmoire

Pour insrer une carte mmoire, ouvrez le


volet suprieur de la CPU et insrez la
carte mmoire dans la fente. Un
connecteur de type "push-push" facilite
l'insertion et l'extraction de la carte.
La carte mmoire est dote d'un
dtrompeur pour garantir une installation
correcte.

Automate programmable S7-1200

106

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.5 Utilisation d'une carte mmoire

4.5.2

Configuration des paramtres de mise en route de la CPU avant copie du projet


dans la carte mmoire
Lorsque vous copiez un programme dans une carte transfert ou une carte programme, le
programme comprend les paramtres de mise en route pour la CPU. Assurez-vous toujours,
avant de copier le programme dans la carte mmoire, que vous avez configur l'tat de
fonctionnement de la CPU au retour de la tension. Choisissez si la CPU doit dmarrer
l'tat ARRET, l'tat MARCHE ou l'tat qu'elle avait avant la mise hors puis sous tension.

4.5.3

Utilisation de la carte mmoire en tant que carte "transfert"


PRUDENCE
Des dcharges lectrostatiques peuvent endommager la carte mmoire ou son
emplacement sur la CPU.
Pour viter tout risque lorsque vous manipulez la carte mmoire, soyez en contact avec un
tapis conducteur mis la terre ou portez un bracelet spcial avec chanette. Conservez la
carte mmoire dans une bote conductrice.

Cration d'une carte transfert


Pensez toujours configurer les paramtres de mise en route de la CPU (Page 107) avant
de copier un programme dans la carte transfert. Procdez comme suit pour crer une carte
transfert :
1. Insrez une carte mmoire SIMATIC vierge dans un lecteur/graveur de carte SD reli
votre ordinateur.
Si vous rutilisez une carte mmoire SIMATIC contenant un programme utilisateur ou
une autre mise jour du firmware, vous devez effacer les fichiers programme avant de
tlcharger la mise jour du firmware. Utilisez l'Explorateur Windows pour afficher le
contenu de la carte mmoire et effacez le fichier "S7_JOB.S7S" ainsi que tout dossier (tel
que "SIMATIC.S7S" ou "FWUPDATE.S7S").
2. Dans l'arborescence du projet (vue du projet), affichez le dtail du dossier "SIMATIC
Card Reader" et slectionnez votre lecteur de carte.
3. Ouvrez la bote de dialogue "Carte mmoire" en cliquant avec le bouton droit de la souris
sur la carte mmoire dans le lecteur de carte et en slectionnant "Proprits" dans le
menu contextuel.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

107

Concepts concernant les automates programmables


4.5 Utilisation d'une carte mmoire
4. Slectionnez "Transfert" dans le menu droulant de la bote de dialogue "Carte
mmoire".
STEP 7 cre alors la carte transfert vide. Si vous crez une carte transfert vide, par
exemple pour restaurer une CPU dont vous avez oubli le mot de passe (Page 113),
retirez la carte transfert du lecteur de carte.

5. Ajoutez le programme en slectionnant la CPU (par exemple, API_1 [CPU 1214


DC/DC/DC]) dans l'arborescence du projet et en la faisant glisser dans la carte mmoire.
Une autre mthode consiste copier-coller la CPU dans la carte mmoire. Copier la CPU
dans la carte mmoire ouvre la bote de dialogue "Aperu du chargement".
6. Dans la bote de dialogue "Aperu du chargement", cliquez sur le bouton "Charger" pour
copier la CPU dans la carte mmoire.
7. Cliquez sur le bouton "Terminer" lorsqu'un message vous signale que la CPU
(programme) a t charge sans erreur.

Utilisation d'une carte transfert


ATTENTION
Vrifiez qu'aucun processus n'est actif dans la CPU avant d'insrer la carte mmoire.
L'insertion d'une carte mmoire fait passer la CPU l'tat ARRET, ce qui peut affecter le
fonctionnement d'une machine ou d'un processus en ligne avec comme consquence
ventuelle la mort, des blessures graves et des dommages matriels importants.
Avant d'insrer une carte mmoire, assurez-vous que la CPU est hors ligne et dans un tat
sr.

Automate programmable S7-1200

108

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.5 Utilisation d'une carte mmoire
Procdez comme suit pour transfrer le programme dans une CPU :
1. Insrez la carte transfert dans la CPU (Page 105). Si la CPU est l'tat MARCHE, elle
passe l'tat ARRET. La DEL de maintenance (MAINT) clignote pour signaler que la
carte mmoire doit tre value.
2. Mettez la CPU hors tension puis sous tension pour valuer la carte mmoire. Les autres
mthodes pour redmarrer la CPU consistent excuter une transition ARRET-MARCHE
ou un effacement gnral (MRES) partir de STEP 7.
3. Aprs redmarrage et valuation de la carte mmoire, la CPU copie le programme dans
la mmoire de chargement interne de la CPU.
La DEL RUN/STOP clignote alternativement en vert et en jaune pour indiquer que le
programme est en cours de copie. La DEL RUN/STOP passe en feu fixe (jaune) et la
DEL MAINT clignote lorsque l'opration de copie est termine. Vous pouvez alors retirer
la carte mmoire.
4. Redmarrez la CPU (en la remettant sous tension ou par l'une des mthodes alternatives
de redmarrage) pour valuer le nouveau programme transfr en mmoire de
chargement interne.
La CPU passe alors au mode (MARCHE ou ARRET) que vous avez configur pour la mise
en route dans le projet.
Remarque
Vous devez retirer la carte transfert avant de faire passer la CPU l'tat MARCHE.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

109

Concepts concernant les automates programmables


4.5 Utilisation d'une carte mmoire

4.5.4

Utilisation de la carte mmoire en tant que carte "programme"


PRUDENCE
Des dcharges lectrostatiques peuvent endommager la carte mmoire ou son
emplacement sur la CPU.
Pour viter tout risque lorsque vous manipulez la carte mmoire, soyez en contact avec un
tapis conducteur mis la terre ou portez un bracelet spcial avec chanette. Conservez la
carte mmoire dans une bote conductrice.

Vrifiez que la carte mmoire n'est pas protge en criture. Faites glisser
le commutateur de protection pour l'loigner de la position "verrou".
Avant de copier des lments de programme sur la carte programme,
effacez de la carte mmoire tout programme prcdemment sauvegard.

Cration d'une carte programme


Lorsque vous l'utilisez comme carte programme, la carte mmoire constitue la mmoire de
chargement externe de la CPU. Si vous retirez la carte programme, la mmoire de
chargement interne de la CPU est vide.
Remarque
Si vous insrez une carte mmoire vierge dans la CPU et effectuez une valuation de carte
mmoire, soit en mettant la CPU hors tension puis sous tension, en effectuant un passage
de l'tat ARRET l'tat MARCHE ou en excutant un effacement gnral (MRES), le
programme et les valeurs de forage dans la mmoire de chargement interne de la CPU
sont copis dans la carte mmoire. La carte mmoire est maintenant une carte programme.
Une fois la copie acheve, le programme dans la mmoire de chargement interne de la CPU
est effac. La CPU passe alors au mode de mise en route configur (MARCHE ou ARRET).

Automate programmable S7-1200

110

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.5 Utilisation d'une carte mmoire
Pensez toujours configurer les paramtres de mise en route de la CPU (Page 107) avant
de copier un projet dans la carte programme. Procdez comme suit pour crer une carte
programme :
1. Insrez une carte mmoire SIMATIC vierge dans un lecteur/graveur de carte SD reli
votre ordinateur.
Si vous rutilisez une carte mmoire SIMATIC contenant un programme utilisateur ou
une autre mise jour du firmware, vous devez effacer les fichiers programme avant de
tlcharger la mise jour du firmware. Utilisez l'Explorateur Windows pour afficher le
contenu de la carte mmoire et effacez le fichier "S7_JOB.S7S" ainsi que tout dossier (tel
que "SIMATIC.S7S" ou "FWUPDATE.S7S").
2. Dans l'arborescence du projet (vue du projet), affichez le dtail du dossier "SIMATIC
Card Reader" et slectionnez votre lecteur de carte.
3. Ouvrez la bote de dialogue "Carte mmoire" en cliquant avec le bouton droit de la souris
sur la carte mmoire dans le lecteur de carte et en slectionnant "Proprits" dans le
menu contextuel.
4. Slectionnez "Programme" dans le menu droulant de la bote de dialogue "Carte
mmoire".

5. Ajoutez le programme en slectionnant la CPU (par exemple, API_1 [CPU 1214


DC/DC/DC]) dans l'arborescence du projet et en la faisant glisser dans la carte mmoire.
Une autre mthode consiste copier-coller la CPU dans la carte mmoire. Copier la CPU
dans la carte mmoire ouvre la bote de dialogue "Aperu du chargement".
6. Dans la bote de dialogue "Aperu du chargement", cliquez sur le bouton "Charger" pour
copier la CPU dans la carte mmoire.
7. Cliquez sur le bouton "Terminer" lorsqu'un message vous signale que la CPU
(programme) a t charge sans erreur.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

111

Concepts concernant les automates programmables


4.5 Utilisation d'une carte mmoire

Utilisation d'une carte programme comme mmoire de chargement pour votre CPU
ATTENTION
Vrifiez qu'aucun processus n'est actif dans la CPU avant d'insrer la carte mmoire.
L'insertion d'une carte mmoire fait passer la CPU l'tat ARRET, ce qui peut affecter le
fonctionnement d'une machine ou d'un processus en ligne avec comme consquence
ventuelle la mort, des blessures graves et des dommages matriels importants.
Avant d'insrer une carte mmoire, assurez-vous que la CPU est hors ligne et dans un tat
sr.
Procdez comme suit pour utiliser une carte programme avec votre CPU :
1. Insrez la carte programme dans la CPU. Si la CPU est l'tat MARCHE, elle passe
l'tat ARRET. La DEL de maintenance (MAINT) clignote pour signaler que la carte
mmoire doit tre value.
2. Mettez la CPU hors tension puis sous tension pour valuer la carte mmoire. Les autres
mthodes pour redmarrer la CPU consistent excuter une transition ARRET-MARCHE
ou un effacement gnral (MRES) partir de STEP 7.
3. Aprs que la CPU a redmarr et a valu la carte programme, elle efface sa mmoire
de chargement interne.
La CPU passe alors au mode (MARCHE ou ARRET) que vous avez configur pour la mise
en route de la CPU.
La carte programme doit rester dans la CPU. Retirer la carte programme laisse la CPU sans
aucun programme dans la mmoire de chargement interne.
ATTENTION
Si vous retirez la carte programme, la CPU perd sa mmoire de chargement externe et
gnre une erreur. La CPU passe l'tat ARRET et la DEL de dfaut se met clignoter.
Les appareils de commande peuvent prsenter des dfaillances dans des situations non
sres et provoquer un fonctionnement inattendu des appareils pilots pouvant entraner la
mort, des blessures graves et des dommages matriels importants.

Automate programmable S7-1200

112

Manuel systme, 07/2011, A5E02486682-04

Concepts concernant les automates programmables


4.6 Rcupration en cas d'oubli du mot de passe

4.6

Rcupration en cas d'oubli du mot de passe


Si vous avez oubli le mot de passe d'une CPU protge par mot de passe, utilisez une
carte transfert vide pour effacer le programme protg par mot de passe. La carte transfert
vide efface la mmoire de chargement interne de la CPU. Vous pouvez alors charger un
nouveau programme utilisateur de STEP 7 dans la CPU.
Pour plus d'informations sur la cration et l'utilisation d'une carte transfert vide, reportezvous au paragraphe sur les cartes transfert (Page 107).
ATTENTION
Si vous insrez une carte transfert dans une CPU l'tat MARCHE, la CPU passe l'tat
ARRET. Les appareils de commande peuvent prsenter des dfaillances dans des
situations non sres et provoquer un fonctionnement inattendu des appareils pilots
pouvant entraner la mort, des blessures graves et des dommages matriels importants.
Vous devez retirer la carte transfert avant de faire passer la CPU l'tat MARCHE.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

113

Concepts concernant les automates programmables


4.6 Rcupration en cas d'oubli du mot de passe

Automate programmable S7-1200

114

Manuel systme, 07/2011, A5E02486682-04

Configuration des appareils

Vous crez la configuration des appareils pour votre automate en ajoutant une CPU et des
modules supplmentaires votre projet.




Module de communication (CM) et processeur de communication (CP) : jusqu' 3, insrs aux


emplacements 101, 102 et 103
CPU : emplacement 1
port Ethernet de la CPU
Signal Board (SB) ou Communication Board (CB) : au plus 1, insr dans la CPU
Module d'entres-sorties (SM) TOR ou analogiques : jusqu' 8, insrs aux emplacements 2
9
(la CPU 1214C en autorise 8, la CPU 1212C en autorise 2, la CPU 1211C n'en autorise aucun)

Pour crer la configuration des


appareils, ajoutez un appareil votre
projet.
Dans la vue du portail,
slectionnez "Appareils &
rseaux" et cliquez sur "Ajouter
un appareil".
Dans la vue du projet, doublecliquez sur "Ajouter un appareil"
sous le nom de projet.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

115

Configuration des appareils


5.1 Insertion d'une CPU

5.1

Insertion d'une CPU


Vous crez votre configuration d'appareil en insrant une CPU dans votre projet.
Slectionner la CPU dans la bote de dialogue "Ajouter un appareil" cre le chssis et la
CPU.
Bote de dialogue "Ajouter un
appareil"

Vue des appareils de la


configuration matrielle

Slectionner la CPU dans la vue


des appareils provoque
l'affichage des proprits de la
CPU dans la fentre
d'inspection.

Remarque
La CPU ne dispose pas d'une adresse IP prconfigure. Vous devez affecter manuellement
une adresse IP la CPU pendant la configuration des appareils. Si votre CPU est connecte
un routeur sur le rseau, vous entrez aussi l'adresse IP du routeur.

Automate programmable S7-1200

116

Manuel systme, 07/2011, A5E02486682-04

Configuration des appareils


5.2 Dtection de la configuration d'une CPU non spcifie

5.2

Dtection de la configuration d'une CPU non spcifie


Lorsque vous tes connect une CPU, vous pouvez charger
la configuration de cette CPU, y compris tous les modules,
dans votre projet. Il vous suffit de crer un nouveau projet et de
slectionner la "CPU non spcifie" au lieu d'une CPU
spcifique (vous pouvez galement ne pas passer par la
configuration matrielle en slectionnant "Crer un programme
API" dans "Mise en route". STEP 7 cre ensuite
automatiquement une CPU non spcifie.)
Dans l'diteur de programmes, vous slectionnez la commande
"Dtection du matriel" du menu "En ligne".
Dans l'diteur de configuration des appareils, vous slectionnez l'option de dtection de
configuration de l'appareil connect.

Une fois que vous avez slectionn la CPU dans la bote de dialogue en ligne et cliqu sur
le bouton Charger, STEP 7 tlcharge la configuration matrielle depuis la CPU, en incluant
tous les modules (SM, SB ou CM). Vous pouvez alors configurer les paramtres de la CPU
et des modules.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

117

Configuration des appareils


5.3 Ajout de modules la configuration

5.3

Ajout de modules la configuration


Utiliser le catalogue de matriel pour ajouter des modules la CPU :
Le module d'entres-sorties (SM) fournit des points d'E/S numriques ou analogiques
supplmentaires. Ces modules se raccordent sur le ct droit de la CPU.
Le Signal Board (SB) fournit seulement quelques points d'E/S supplmentaires pour la
CPU. Le SB s'installe l'avant de la CPU.
La carte de communication (CB) fournit un port de communication supplmentaire
(comme RS485). Le Communication Board s'installe l'avant de la CPU.
Le module de communication (CM) et le processeur de communication (CP) fournissent
un port de communication supplmentaire, comme PROFIBUS ou GPRS. Ces modules
se raccordent sur le ct gauche de la CPU.
Pour insrer un module dans la configuration matrielle, slectionnez le module concern
dans le catalogue du matriel et double-cliquez ou faites glisser le module dans
l'emplacement mis en vidence.

Tableau 5- 1 Ajouter un module la configuration de l'appareil


Module

Slectionnez le module

Insrez le module

Rsultat

SM

SB ou CB

Automate programmable S7-1200

118

Manuel systme, 07/2011, A5E02486682-04

Configuration des appareils


5.4 Configuration du fonctionnement de la CPU

Module

Slectionnez le module

Insrez le module

Rsultat

CM ou CP

5.4

Configuration du fonctionnement de la CPU


Pour configurer les paramtres de
fonctionnement de la CPU, slectionnez
la CPU dans la vue des appareils (CPU
entoure de bleu) et servez-vous de
l'onglet "Proprits" de la fentre
d'inspection.

Tableau 5- 2 Proprits de la CPU


Proprit

Description

Interface PROFINET

Dfinit l'adresse IP pour la CPU et la synchronisation d'horloge.

DI, DO et AI

Configure le comportement des E/S TOR et analogiques locales (intgres).

Compteurs rapides
(Page 317) et gnrateurs
d'impulsions (Page 291)

Valide et configure les compteurs rapides (HSC) et les gnrateurs d'impulsions utiliss
pour les fonctions PTO (sortie de trains d'impulsions) et PWM (modulation de largeur des
impulsions).
Lorsque vous configurez les sorties de la CPU ou du Signal Board en tant que gnrateurs
d'impulsions (pour les instructions PWM ou de commande de mouvement de base), les
adresses des sorties correspondantes (Q0.0, Q0.1, Q4.0 et Q4.1) sont supprimes de la
mmoire Q et ne peuvent pas tre utilises d'autres fins dans le programme utilisateur. Si
votre programme utilisateur crit une valeur dans une sortie utilise comme gnrateur
d'impulsions, la CPU n'crit pas cette valeur dans la sortie physique.

Mise en route (Page 65)

Etat Mise en route : Slectionne le comportement de la CPU aprs une mise sous tension,
par exemple dmarrage l'tat ARRET ou passage l'tat MARCHE aprs un dmarrage
chaud.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

119

Configuration des appareils


5.4 Configuration du fonctionnement de la CPU

Proprit

Description
Compatibilit matrielle prise en charge : Configure le remplacement des modules (SM, SB,
CM, CP et mme la CPU) :

Autoriser un module de remplacement compatible (option par dfaut)

Autoriser tout module de remplacement


Par exemple, un SM 16 voies pourrait tre un module de remplacement compatible pour
un module d'E/S 8 voies.
Temps d'affectation des paramtres d'E/S pour la priphrie dcentralise : Configure une
dure maximale (par dfaut : 60000 ms) pour que la priphrie dcentralise soit mise en
ligne. (Les CM et les CP reoivent les paramtres de communication et d'alimentation de la
CPU pendant la mise en route. Ce temps d'affectation fournit du temps pour la mise en ligne
des E/S connectes au CM ou au CP.)
La CPU passe l'tat MARCHE ds que la priphrie dcentralise est en ligne, sans tenir
compte du temps d'affectation. Si la priphrie dcentralise n'a pas t mise en ligne
l'expiration de ce temps, la CPU passe quand mme l'tat MARCHE, mais sans la
priphrie dcentralise.
Remarque : Si votre configuration utilise un CM 1243-5 (matre PROFIBUS), ne donnez pas
une valeur infrieure 15 secondes (15000 ms) ce paramtre afin de garantir que le
module sera mis en ligne.
Cycle (Page 77)

Dfinit un temps de cycle maximum ou un temps de cycle minimum fixe.

Charge due la
communication

Rserve un pourcentage du temps CPU aux tches de communication.

Mmento systme et
mmento de cadence
(Page 82)

Valide un octet pour les fonctions "mmento systme" et valide un octet pour les fonctions
"mmento de cadence" (o chaque bit bascule entre 1 et 0 selon une frquence prdfinie).

Serveur Web (Page 563)

Valide et configure la fonction serveur Web.

Heure

Permet de slectionner le fuseau horaire et de configurer l'heure d't.

Protection (Page 154)

Dfinit la protection en lecture/criture et le mot de passe pour accder la CPU.

Ressources de liaison
(Page 400)

Fournit un rcapitulatif des liaisons de communication disponibles pour la CPU et le nombre


de liaisons qui ont t configures.

Prsentation des adresses

Fournit un rcapitulatif des adresses d'E/S qui ont t configures pour la CPU.

Automate programmable S7-1200

120

Manuel systme, 07/2011, A5E02486682-04

Configuration des appareils


5.5 Configuration des paramtres des modules

5.5

Configuration des paramtres des modules


Pour configurer les paramtres de fonctionnement d'un module, slectionnez le module dans
la vue des appareils et servez-vous de l'onglet "Proprits" de la fentre d'inspection.

Configuration d'un module d'entres-sorties (SM) ou d'un Signal Board (SB)

E/S TOR : Il est possible de configurer des entres pour la dtection de front montant ou
de front descendant (en associant chaque entre un vnement et une alarme de
processus) ainsi que pour la capture d'impulsions (afin qu'elles restent 1 aprs une
impulsion momentane) jusqu' l'actualisation suivante de la mmoire image des
entres. Les sorties peuvent tre figes ou utiliser une valeur de remplacement.
E/S analogiques : Configurez les paramtres des entres individuelles, par exemple le
type de mesure (tension ou courant), la plage et le lissage, et activez le diagnostic de
dbordement bas ou haut. Les sorties analogiques fournissent des paramtres relatifs au
type de sortie (tension ou courant) et au diagnostic, de court-circuit (pour les sorties de
tension) ou de limite suprieure/infrieure par exemple. Vous ne configurez pas les
plages des entres et sorties analogiques en units physiques dans la bote de dialogue
Proprits, car ce point doit tre gr dans la logique de votre programme comme dcrit
la rubrique "Traitement des valeurs analogiques (Page 91)".
Adresses de diagnostic des E/S : Configure l'adresse de dbut pour le jeu d'entres et de
sorties du module.

Configuration d'une interface de communication (CM, CP ou CB)

Vous configurez les paramtres pour le rseau en fonction du type d'interface de


communication.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

121

Configuration des appareils


5.6 Configuration de la CPU pour la communication

5.6

Configuration de la CPU pour la communication

5.6.1

Cration d'une liaison rseau


Utilisez la "Vue du rseau" de la configuration des appareils pour crer les liaisons rseau
entre les appareils dans votre projet. Une fois la liaison rseau cre, servez-vous de
l'onglet "Proprits" de la fentre d'inspection pour configurer les paramtres du rseau.
Tableau 5- 3 Cration d'une liaison rseau
Action

Rsultat

Slectionnez la "Vue du rseau"


pour afficher les appareils
connecter.

Slectionnez le port sur un appareil


et tracez la liaison vers le port sur le
deuxime appareil.

Relchez le bouton de la souris pour


crer la liaison rseau.

Automate programmable S7-1200

122

Manuel systme, 07/2011, A5E02486682-04

Configuration des appareils


5.6 Configuration de la CPU pour la communication

5.6.2

Configuration du routage local/partenaire


La fentre d'inspection affiche les proprits de la liaison lorsque vous slectionnez
n'importe quelle partie de l'instruction. Indiquez les paramtres de communication dans
l'onglet "Configuration" des "Proprits" de l'instruction de communication.

Tableau 5- 4 Configuration du routage ( l'aide des proprits de l'instruction)


TCP, ISO sur TCP et UDP :

Proprits de liaison

Pour les protocoles Ethernet TCP, ISO sur TCP


et UDP, utilisez les "Proprits" de l'instruction
(TSEND_C, TRCV_C ou TCON) pour configurer
les liaisons "locale/partenaire".
La figure montre les "Proprits" d'une liaison
ISO sur TCP dans l'onglet "Configuration".

Remarque
Lorsque vous configurez les proprits de liaison pour une CPU, STEP 7 vous permet de
slectionner dans la CPU partenaire un DB de liaison spcifique (s'il existe) ou de crer le
DB de liaison pour la CPU partenaire. La CPU partenaire doit avoir t pralablement cre
pour le projet et ne peut pas tre une CPU "non spcifie".
Vous devez toujours insrer une instruction TSEND_C, TRCV_C ou TCON dans le
programme utilisateur de la CPU partenaire. Lorsque vous insrez l'instruction, slectionnez
le DB de liaison qui a t cr par la configuration.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

123

Configuration des appareils


5.6 Configuration de la CPU pour la communication
Tableau 5- 5 Configuration du routage pour la communication S7 (configuration des appareils)
Communication S7 (GET et PUT)

Proprits de liaison

Pour la communication S7, utilisez l'diteur


"Appareils & rseaux" du rseau pour configurer
les liaisons locale/partenaire. Vous pouvez
cliquer sur le bouton "Mis en valeur : Liaison"
pour accder aux "Proprits".
L'onglet "Gnral" fournit plusieurs proprits :

"Gnral" (montr)

"ID locale"

"Proprits de liaison particulires"

"Dtails de l'adresse" (montr)

Reportez-vous "Protocoles" (Page 404) dans le chapitre "PROFINET" ou "Cration d'une


liaison S7" (Page 458) dans le chapitre "Communication S7" pour obtenir plus d'informations
ainsi que la liste des instructions de communication disponibles.
Tableau 5- 6 Paramtres pour la liaison entre CPU
Paramtre

Dfinition

Adresse

Adresses IP affectes

Gnral

Dtails de
l'adresse

Noeud d'extrmit

Nom affect la CPU partenaire (rceptrice)

Interface

Nom affect aux interfaces

Sous-rseau

Nom affect aux sous-rseaux

Type d'interface

Communication S7 uniquement : Type de l'interface

Type de liaison

Type de protocole Ethernet

ID de liaison

Numro d'identification

Donnes de liaison

Emplacement de stockage des donnes des CPU locale et partenaire

Etablissement d'une
liaison active

Bouton radio pour slectionner la CPU locale ou partenaire en tant que liaison
active

Noeud d'extrmit

Communication S7 uniquement : Nom affect la CPU partenaire (rceptrice)

Chssis/emplacement

Communication S7 uniquement : Adresse du chssis et de l'emplacement

Ressources de liaison

Communication S7 uniquement : Composant du TSAP utilis lors de la

Port (dcimal)

TCP et UPD : Port de la CPU partenaire en format dcimal

configuration d'une liaison S7 avec une CPU S7-300 ou S7-400

Automate programmable S7-1200

124

Manuel systme, 07/2011, A5E02486682-04

Configuration des appareils


5.6 Configuration de la CPU pour la communication

Paramtre

Dfinition
TSAP1 et ID de sousrseau :

ISO sur TCP (RFC 1006) et communication S7 : TSAP des CPU locale et
partenaire en formats ASCII et hexadcimal

Lorsque vous configurez une liaison avec une CPU S7-1200 pour ISO sur TCP, utilisez uniquement des caractres
ASCII dans l'extension TSAP pour les partenaires de communication passifs.

TSAP (points d'accs au service transport)


Grce aux points d'accs au service transport (TSAP), le protocole ISO sur TCP et la
communication S7 autorisent des liaisons multiples une adresse IP unique (liaisons 64K
maximum). Les TSAP identifient de manire unique ces liaisons de noeud d'extrmit une
adresse IP.
Vous dfinissez les points TSAP utiliser dans la section "Dtails de l'adresse" de la bote
de dialogue "Paramtres de liaison". Vous indiquez le point TSAP d'une liaison dans la CPU
dans la zone "TSAP local". Vous indiquez le point TSAP affect la liaison dans votre CPU
partenaire dans la zone "TSAP partenaire".

Numros de port
Avec les protocoles TCP et UDP, la configuration des paramtres de liaison de la CPU
locale (active) doit indiquer l'adresse IP loigne et le numro de port de la CPU partenaire
(passive).
Vous dfinissez les ports utiliser dans la section "Dtails de l'adresse" de la bote de
dialogue "Paramtres de liaison". Vous indiquez le port d'une liaison dans la CPU dans la
zone "Port local". Vous indiquez le port affect la liaison dans votre CPU partenaire dans
la zone "Port partenaire".

5.6.3

Paramtres pour la liaison PROFINET


Les instructions TSEND_C, TRCV_C et TCON ncessitent l'indication de paramtres relatifs
la liaison pour que la liaison au partenaire soit tablie. Ces paramtres sont indiqus par la
structure TCON_Param pour les protocoles TCP, ISO sur TCP et UDP. Typiquement, vous
utilisez l'onglet "Configuration" des "Proprits" (Page 123) de l'instruction pour fournir ces
paramtres. Si l'onglet "Configuration" n'est pas accessible, vous devez fournir la structure
TCON_Param par programme.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

125

Configuration des appareils


5.6 Configuration de la CPU pour la communication
Tableau 5- 7 Structure de la description de la liaison (TCON_Param)
Octet

Paramtre et type de donnes

Description

01

block_length

UInt

Longueur : 64 octets (fixe)

23

id

CONN_OUC
(Word)

Rfrence cette liaison : Plage de valeurs : 1 (valeur par dfaut)


4095. Indiquez la valeur de ce paramtre pour l'instruction
TSEND_C, TRCV_C ou TCON sous ID.

connection_type

USInt

active_est

Bool

Type de liaison :

17: TCP (par dfaut)

18: ISO sur TCP

19: UDP

ID pour le type de liaison :

TCP et ISO sur TCP :

FAUX : liaison passive

VRAI : liaison active (valeur par dfaut)

UDP : FAUX

local_device_id

USInt

ID pour l'interface PROFINET ou Industrial Ethernet locale : 1


(valeur par dfaut)

local_tsap_id_len

USIn

Longueur du paramtre local_tsap_id utilis, en octets ; valeurs


possibles :

TCP : 0 (actif, valeur par dfaut) ou 2 (passif)

ISO sur TCP : 2 16

UDP : 2

rem_subnet_id_len

USInt

Ce paramtre n'est pas utilis.

rem_staddr_len

USInt

Longueur de l'adresse du noeud d'extrmit partenaire, en octets :

10

11

rem_tsap_id_len

next_staddr_len

USInt

USInt

0: non prcis (paramtre rem_staddr sans objet)

4 (valeur par dfaut) : adresse IP valide dans le paramtre


rem_staddr (uniquement pour TCP et ISO sur TCP)

Longueur du paramtre rem_tsap_id utilis, en octets ; valeurs


possibles :

TCP : 0 (passif) ou 2 (actif, valeur par dfaut)

ISO sur TCP : 2 16

UDP : 0

Ce paramtre n'est pas utilis.

Automate programmable S7-1200

126

Manuel systme, 07/2011, A5E02486682-04

Configuration des appareils


5.6 Configuration de la CPU pour la communication

Octet

Paramtre et type de donnes

Description

12 27

local_tsap_id

Elment d'adresse local de la liaison :

Array [1..16] of
Byte

TCP et ISO sur TCP : n de port local (valeurs possibles : 1


49151 ; valeurs recommandes : 2000...5000):

local_tsap_id[1] = octet de poids fort du numro de port en


notation hexadcimale

local_tsap_id[2] = octet de poids faible du numro de port


en notation hexadcimale

local_tsap_id[3-16] = sans objet

ISO sur TCP : ID TSAP local :

local_tsap_id[1] = B#16#E0

local_tsap_id[2] = chssis et emplacement du noeud


d'extrmit local (bits 0 4 : numro d'emplacement, bits 5
7 : numro de chssis)

local_tsap_id[3-16] = extension TSAP, facultative

UDP : Ce paramtre n'est pas utilis.


Remarque : Veillez ce que chaque valeur de local_tsap_id soit
unique dans la CPU.
28 33

rem_subnet_id

Array [1..6] of
USInt

Ce paramtre n'est pas utilis.

34 39

rem_staddr

Array [1..6] of
USInt

TCP et ISO sur TCP uniquement : Adresse IP du noeud


d'extrmit partenaire (sans objet pour les liaisons passives).
L'adresse IP 192.168.002.003 est, par exemple, stocke dans les
lments suivants du tableau :
rem_staddr[1] = 192
rem_staddr[2] = 168
rem_staddr[3] = 002
rem_staddr[4] = 003
rem_staddr[5-6]= sans objet

40 55

rem_tsap_id

Array [1..16] of
Byte

Elment d'adresse partenaire de la liaison :

TCP : numro de port partenaire. Plage : 1 49151 ; valeurs


recommandes : 2000 5000) :

rem_tsap_id[1] = octet de poids fort du numro de port en


notation hexadcimale

rem_tsap_id[2] = octet de poids faible du numro de port en


notation hexadcimale

rem_tsap_id[3-16] = sans objet

ISO sur TCP : ID TSAP partenaire :

rem_tsap_id[1] = B#16#E0

rem_tsap_id[2] = chssis et emplacement du noeud


d'extrmit partenaire (bits 0 4 : numro d'emplacement,
bits 5 7 : numro de chssis)

rem_tsap_id[3-16] = extension TSAP, facultative

UDP : Ce paramtre n'est pas utilis.

56 61

next_staddr

Array [1..6] of
Byte

Ce paramtre n'est pas utilis.

62 63

spare

Word

Rserv : W#16#0000

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

127

Configuration des appareils


5.6 Configuration de la CPU pour la communication

5.6.4

Affectation d'adresses IP (Internet Protocol)

5.6.4.1

Affectation d'adresses IP des consoles de programmation et des dispositifs rseau


Si votre console de programmation utilise une carte adaptateur intgre relie votre
rseau local d'usine (et ventuellement Internet), l'ID rseau de l'adresse IP et le masque
de sous-rseau de votre CPU et de la carte adaptateur intgre de la console de
programmation doivent tre exactement les mmes. L'ID rseau est la premire partie de
l'adresse IP (trois premiers octets ; par exemple, 211.154.184.16) qui dtermine sur quel
rseau IP vous vous trouvez. Le masque de sous-rseau a normalement la valeur
255.255.255.0 ; toutefois, comme votre ordinateur se trouve dans un rseau local d'usine, le
masque de sous-rseau peut avoir diverses valeurs (par exemple, 255.255.254.0) afin de
configurer des sous-rseaux uniques. Lorsqu'il est combin avec l'adresse IP d'appareil par
une opration mathmatique ET, le masque de sous-rseau dfinit les limites d'un sousrseau IP.
Remarque
Pour un scnario Internet o les consoles de programmation, les dispositifs rseau et les
routeurs IP communiqueront avec l'extrieur, il faut affecter des adresses IP uniques afin
d'viter des conflits avec d'autres utilisateurs du rseau. Adressez-vous au personnel du
service informatique de votre entreprise qui connat vos rseaux d'usine pour l'affectation de
vos adresses IP.
Si votre console de programmation utilise une carte adaptateur Ethernet USB relie un
rseau isol, l'ID rseau de l'adresse IP et le masque de sous-rseau de votre CPU et de la
carte adaptateur Ethernet USB de la console de programmation doivent tre exactement
les mmes. L'ID rseau est la premire partie de l'adresse IP (trois premiers octets ; par
exemple, 211.154.184.16) qui dtermine sur quel rseau IP vous vous trouvez. Le masque
de sous-rseau a normalement la valeur 255.255.255.0. Lorsqu'il est combin avec
l'adresse IP d'appareil par une opration mathmatique ET, le masque de sous-rseau
dfinit les limites d'un sous-rseau IP.
Remarque
Une carte adaptateur Ethernet USB est utile lorsque vous ne voulez pas que votre CPU
soit sur votre rseau local d'entreprise. Cet agencement est particulirement utile pendant le
test initial et les tests de mise en service.

Automate programmable S7-1200

128

Manuel systme, 07/2011, A5E02486682-04

Configuration des appareils


5.6 Configuration de la CPU pour la communication
Tableau 5- 8 Affectation d'adresses Ethernet
Carte adaptateur de
la console de
programmation

Type de rseau

Adresse IP (Internet Protocol)

Masque de sous-rseau

Carte adaptateur
intgre

Connexion
votre rseau
d'usine (et
ventuellement
Internet)

L'ID rseau de votre CPU et de la


carte adaptateur intgre de la
console de programmation doivent
tre exactement identiques.

Le masque de sous-rseau de votre


CPU et de la carte adaptateur intgre
doivent tre exactement les mmes.

Connexion un
rseau isol

L'ID rseau de votre CPU et de la


carte adaptateur Ethernet USB de
la console de programmation doivent
tre exactement identiques.

Le masque de sous-rseau de votre


CPU et de la carte adaptateur Ethernet
USB doivent tre exactement les
mmes.

L'ID rseau est la premire partie de


l'adresse IP (trois premiers octets ;
par exemple, 211.154.184.16) qui
dtermine sur quel rseau IP vous
vous trouvez.

Le masque de sous-rseau a
normalement la valeur 255.255.255.0.
Lorsqu'il est combin avec l'adresse IP
d'appareil par une opration
mathmatique ET, le masque de sousrseau dfinit les limites d'un sousrseau IP.

Carte adaptateur
Ethernet USB

L'ID rseau est la premire partie de


l'adresse IP (trois premiers octets ;
par exemple, 211.154.184.16) qui
dtermine sur quel rseau IP vous
vous trouvez.

Le masque de sous-rseau a
normalement la valeur 255.255.255.0 ;
toutefois, comme votre ordinateur se
trouve dans un rseau local d'usine, le
masque de sous-rseau peut avoir
diverses valeurs (par exemple,
255.255.254.0) afin de configurer des
sous-rseaux uniques. Lorsqu'il est
combin avec l'adresse IP d'appareil par
une opration mathmatique ET, le
masque de sous-rseau dfinit les
limites d'un sous-rseau IP.

Affectation ou vrification de l'adresse IP de votre console de programmation via "Favoris rseau"


(sur votre bureau)
Vous pouvez affecter ou vrifier l'adresse IP de votre console de programmation l'aide des
slections de menu suivantes :
(Cliquez avec le bouton droit de la souris sur) "Favoris rseau"
"Proprits"
(Cliquez avec le bouton droit de la souris sur) "Connexion au rseau local"
"Proprits"

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

129

Configuration des appareils


5.6 Configuration de la CPU pour la communication
Dans le champ "Cette connexion utilise les lments suivants" de la bote de dialogue
"Proprits de Connexion au rseau local", dfilez jusqu' "Protocole Internet (TCP/IP)".
Cliquez sur "Protocole Internet (TCP/IP)" puis sur le bouton "Proprits". Slectionnez
"Obtenir une adresse IP automatiquement (DHCP)" ou "Utiliser l'adresse IP suivante" (pour
entrer une adresse IP statique).
Remarque
Le protocole DHCP (Dynamic Host Configuration Protocol) affecte automatiquement une
adresse IP votre console de programmation depuis le serveur DHCP la mise sous
tension.

5.6.4.2

Vrification de l'adresse IP de votre console de programmation


Vous pouvez vrifier les adresses MAC et IP de votre console de programmation l'aide des
slections de menu suivantes :
1. Affichez le dtail de "Accs en ligne" dans l'arborescence du projet.
2. Cliquez avec le bouton droit de la souris sur le rseau dsir et slectionnez "Proprits".
3. Dans la bote de dialogue du rseau, affichez le dtail de "Configurations" et slectionnez
"Industrial Ethernet".
Les adresses MAC et IP de la console de programmation s'affichent.

Automate programmable S7-1200

130

Manuel systme, 07/2011, A5E02486682-04

Configuration des appareils


5.6 Configuration de la CPU pour la communication

5.6.4.3

Affectation d'une adresse IP une CPU en ligne


Vous pouvez affecter une adresse IP un dispositif rseau en ligne. Cela s'avre
particulirement utile lors d'une configuration d'appareil initiale.
1. Dans l'arborescence du projet,
vrifiez qu'aucune adresse IP
n'est affecte la CPU l'aide
des slections de menu
suivantes :

REMARQUE : Si une
adresse MAC et non une
adresse IP s'affiche, c'est
qu'aucune adresse IP n'a
t affecte.

"Accs en ligne"
<Carte adaptateur pour le
rseau dans lequel se trouve
l'appareil>
"Mettre jour les abonns
accessibles"
2. Doublez-cliquez sur "En ligne
& Diagnostic" sous l'abonn
accessible concern.
3. Faites les slections de menu
suivantes dans la bote de
dialogue "En ligne & Diagnostic"
:
"Fonctions"
"Affecter adresse IP"

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

131

Configuration des appareils


5.6 Configuration de la CPU pour la communication
4. Entrez votre nouvelle adresse
IP dans le champ "Adresse IP"
et cliquez sur le bouton "Affecter
adresse IP".

5. Dans l'arborescence du projet,


vrifiez que votre nouvelle
adresse IP a t affecte la
CPU l'aide des slections de
menu suivantes :
"Accs en ligne"
<Carte adaptateur pour le
rseau dans lequel se trouve
l'appareil>
"Mettre jour les abonns
accessibles"

5.6.4.4

Configuration d'une adresse IP pour une CPU dans votre projet

Configuration de l'interface PROFINET


Pour configurer les paramtres pour l'interface PROFINET, slectionnez le carr PROFINET
vert sur la CPU. L'onglet "Proprits" de la fentre d'inspection affiche le port PROFINET.

Port PROFINET

Automate programmable S7-1200

132

Manuel systme, 07/2011, A5E02486682-04

Configuration des appareils


5.6 Configuration de la CPU pour la communication

Configuration de l'adresse IP
Adresse Ethernet (MAC) : Dans un rseau PROFINET, chaque appareil reoit une adresse
MAC (Media Access Control : contrle d'accs au support) du fabricant en vue de son
identification. Une adresse MAC consiste en six groupes de deux chiffres hexadcimaux,
spars par un tiret (-) ou un deux-points (:), dans l'ordre de transmission (par exemple, 0123-45-67-89-AB ou 01:23:45:67:89:AB).
Adresse IP : Chaque appareil doit galement comporter une adresse IP (protocole Internet).
Cette adresse permet l'appareil de transmettre les donnes dans un rseau rout plus
complexe.
Chaque adresse IP est divise en quatre segments de 8 bits et est exprime en format
dcimal avec sparation par des points (par exemple, 211.154.184.16). La premire partie
de l'adresse IP est utilise pour l'ID de rseau (sur quel rseau est-on ?) et la deuxime
partie de l'adresse correspond l'ID d'hte (unique pour chaque appareil dans le rseau).
L'adresse IP 192.168.x.y est une dsignation standard reconnue comme partie d'un rseau
priv qui n'est pas rout sur Internet.
Masque de sous-rseau : Un sous-rseau est un groupement logique d'appareils rseau
connects. Les noeuds d'un sous-rseau tendent tre proches physiquement les uns des
autres dans un rseau local. Un masque (appel masque de sous-rseau ou masque de
rseau) dfinit les frontires d'un sous-rseau IP.
Le masque de sous-rseau 255.255.255.0 convient gnralement un petit rseau local.
Toutes les adresses IP dans ce rseau doivent avoir les trois mmes premiers octets et les
divers appareils dans ce rseau sont identifis par le dernier octet (champ de 8 bits). Par
exemple, on affectera le masque de sous-rseau 255.255.255.0 et les adresses IP
192.168.2.0 192.168.2.255 aux appareils dans un petit rseau local.
La seule liaison possible entre diffrents sous-rseaux se fait via un routeur. En prsence de
sous-rseaux, vous devez utiliser un routeur IP.
Routeur IP : Les routeurs constituent le lien entre rseaux locaux. Un ordinateur dans un
rseau local peut envoyer par le biais d'un routeur des messages d'autres rseaux qui
peuvent abriter d'autres rseaux locaux. Si la destination des donnes ne se trouve pas
l'intrieur du rseau local, le routeur transmet les donnes un autre rseau ou groupe de
rseaux o les donnes peuvent tre achemines destination.
Les routeurs se basent sur les adresses IP pour transmettre et recevoir des paquets de
donnes.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

133

Configuration des appareils


5.6 Configuration de la CPU pour la communication

Proprits des adresses IP


: Dans la fentre Proprits,
slectionnez l'entre de
configuration "Adresses
Ethernet". STEP 7 affiche la
bote de dialogue de
configuration de l'adresse
Ethernet qui associe le
projet logiciel l'adresse IP
de la CPU qui recevra ce
projet.

Remarque
Toutes les adresses IP sont configures lorsque vous chargez le projet dans la CPU. Si la
CPU ne possde pas d'adresse IP prconfigure, vous devez associer le projet l'adresse
MAC de l'appareil cible. Si votre CPU est connecte un routeur sur un rseau, vous devez
aussi entrer l'adresse IP du routeur.
Le bouton radio "Configurer l'adresse IP autrement" vous permet de modifier l'adresse IP en
ligne ou l'aide de l'instruction "T_CONFIG (Page 426)" aprs le chargement du
programme. La mthode d'affectation de l'adresse IP concerne la CPU uniquement.
ATTENTION
La modification de l'adresse IP d'une CPU en ligne ou partir du programme utilisateur
peut crer une situation dans laquelle le rseau PROFINET s'arrte.
Si l'adresse IP d'une CPU est change en une adresse IP en dehors du sous-rseau, le
rseau PROFINET perdra la communication et l'change de donnes sera interrompu.
L'quipement utilisateur pourrait tre configur pour continuer fonctionner dans ces
conditions. La perte de la communication PROFINET peut provoquer un fonctionnement
inattendu des machines ou du processus, pouvant entraner la mort, des blessures graves
et des dommages matriels importants en l'absence de prcautions appropries.
Si une adresse IP doit tre modifie la main, veillez ce que la nouvelle adresse IP se
situe l'intrieur du sous-rseau.

Automate programmable S7-1200

134

Manuel systme, 07/2011, A5E02486682-04

Configuration des appareils


5.6 Configuration de la CPU pour la communication
Tableau 5- 9 Paramtres pour l'adresse IP
Paramtre
Sous-rseau

Protocole IP

5.6.5

Description
Nom du sous-rseau auquel l'appareil est connect. Cliquez sur le bouton "Ajouter nouveau sousrseau" pour crer un nouveau sous-rseau. "non connect" est la valeur par dfaut. Deux types de
connexion sont possibles :

La valeur par dfaut "non connect" fournit une liaison locale.

Un sous-rseau est ncessaire lorsque votre rseau contient au moins deux appareils.

Adresse IP

Adresse IP affecte la CPU

Masque de sous-rseau

Masque de sous-rseau affect

Utiliser un routeur IP

Cochez cette case pour indiquer qu'un routeur IP est utilis.

Adresse du routeur

Adresse IP affecte au routeur, le cas chant

Test du rseau PROFINET


Une fois la configuration acheve, chargez le projet (Page 158) dans la CPU. Toutes les
adresses IP sont configures lorsque vous chargez le projet dans la CPU.

Affectation d'une adresse IP un appareil en ligne


La CPU S7-1200 ne dispose pas d'une adresse IP prconfigure. Vous devez affecter
manuellement une adresse IP la CPU :
Pour affecter une adresse IP un appareil en ligne, reportez-vous "Configuration des
appareils, Affectation d'une adresse IP une CPU en ligne" (Page 131) o vous
trouverez la marche suivre tape par tape.
Pour affecter une adresse IP dans votre projet, vous devez configurer l'adresse IP dans
la configuration des appareils, sauvegarder la configuration et la charger dans l'automate.
Reportez-vous "Configuration des appareils, Configuration d'une adresse IP pour une
CPU dans votre projet" (Page 132) pour plus d'informations.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

135

Configuration des appareils


5.6 Configuration de la CPU pour la communication

Utilisation de la bote de dialogue "Chargement largi dans l'appareil" pour recherche les dispositifs
rseau connects
La bote de dialogue "Chargement largi dans l'appareil" de la fonction "Charger dans
l'appareil" de la CPU S7-1200 peut montrer tous les dispositifs rseau accessibles en
prcisant si des adresses IP uniques ont t affectes ou non tous les appareils. Cochez
la case "Afficher les abonns accessibles" pour afficher tous les appareils accessibles et
disponibles avec les adresses MAC ou IP qui leur ont t affectes.

Si le dispositif rseau requis n'est pas dans la liste, c'est que la communication avec ce
dispositif a t interrompue pour une certaine raison. Vous devez alors rechercher
d'ventuelles erreurs de matriel et/ou de configuration dans cet appareil et ce rseau.

5.6.6

Localisation de l'adresse Ethernet (MAC) sur la CPU


Dans les rseaux PROFINET, une adresse MAC (Media Access Control) est un
identificateur que le fabricant attribue l'interface de rseau aux fins d'identification. Une
adresse MAC code gnralement le numro d'identification dpos du fabricant.
Le format standard (IEEE 802.3) pour l'impression des adresses MAC sous forme conviviale
consiste en six groupes de deux chiffres hexadcimaux, spars par un tiret (-) ou un deuxpoints (:), dans l'ordre de transmission (par exemple, 01-23-45-67-89-ab ou
01:23:45:67:89:ab).
Remarque
Chaque CPU reoit en usine une adresse MAC unique permanente. Vous ne pouvez pas
modifier l'adresse MAC d'une CPU.
L'adresse MAC est imprime sur le coin infrieur gauche l'avant de la CPU. Vous devez
soulever les volets infrieurs isolants pour voir cette adresse MAC.

Automate programmable S7-1200

136

Manuel systme, 07/2011, A5E02486682-04

Configuration des appareils


5.6 Configuration de la CPU pour la communication

Adresse MAC

Au dpart, la CPU n'a pas d'adresse IP mais uniquement une adresse MAC reue en usine.
La communication PROFINET exige qu'une adresse IP unique soit affecte tous les
appareils.
Utilisez la fonction "Charger dans
l'appareil" de la CPU et la bote de
dialogue "Chargement largi dans
l'appareil" pour visualiser tous les
appareils rseau accessibles et
vous assurer que des adresses IP
uniques ont t affectes tous
les appareils. Cette bote de
dialogue affiche tous les appareils
accessibles et disponibles avec
les adresses MAC ou IP qui leur
ont t affectes. Les adresses
MAC sont capitales pour identifier
les appareils auxquels manque
l'adresse IP unique exige.

5.6.7

Configuration de la synchronisation via le protocole NTP


Le protocole NTP (Network Time Protocol) est largement utilis pour synchroniser les
horloges des systmes informatiques avec des serveurs de temps Internet. En mode NTP,
le CP envoie des requtes d'heure intervalles rguliers (en mode client) au serveur NTP
dans le sous-rseau (local). L'heure la plus prcise et la plus fiable possible est calcule en
fonction des rponses du serveur et l'horloge de la station est synchronise.
L'avantage de ce mode est qu'il permet la synchronisation de l'heure au-del des limites de
sous-rseaux.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

137

Configuration des appareils


5.6 Configuration de la CPU pour la communication
Il faut configurer les adresses IP de quatre serveurs NTP au maximum. L'intervalle de mise
jour dfinit l'intervalle (en secondes) entre les requtes d'heure. La valeur de l'intervalle doit
tre comprise entre 10 secondes et un jour.
En mode NTP, c'est gnralement le temps UTC (temps universel coordonn) - qui
correspond au temps moyen de Greenwich (GMT) - qui est transmis.
Dans la fentre Proprits, slectionnez l'entre de configuration "Synchronisation de
l'heure". STEP 7 affiche la bote de dialogue Synchronisation de l'heure :

Remarque
Toutes les adresses IP sont configures lorsque vous chargez le projet dans la CPU.

Tableau 5- 10 Paramtres pour la synchronisation de l'heure


Paramtre

Dfinition

Activer la synchronisation de
l'heure via le serveur NTP

Cochez la case pour activer la synchronisation de l'heure via des


serveurs NTP.

Serveur 1

Adresse IP affecte au serveur de temps rseau 1

Serveur 2

Adresse IP affecte au serveur de temps rseau 2

Serveur 3

Adresse IP affecte au serveur de temps rseau 3

Serveur 4

Adresse IP affecte au serveur de temps rseau 4

Intervalle de mise jour

Valeur de l'intervalle (en s)

Automate programmable S7-1200

138

Manuel systme, 07/2011, A5E02486682-04

Configuration des appareils


5.6 Configuration de la CPU pour la communication

5.6.8

Temps de mise en route, affectation de nom et d'adresse pour un appareil


PROFINET
PROFINET IO peut allonger le temps de mise en route de votre systme (dlai d'attente
configurable). Un plus grand nombre d'appareils et des appareils lents influent sur la quantit
de temps ncessaire pour passer l'tat MARCHE. Il y a 8 priphriques IO au maximum
dans le rseau PROFINET S7-1200.
Chaque station (ou priphrique IO) dmarre de manire indpendante la mise en route,
ce qui influe sur le temps de mise en route total de la CPU. Si vous donnez une valeur trop
faible au dlai d'attente configurable, le temps de mise en route pourrait ne pas tre suffisant
pour que toutes les stations mnent bien leur dmarrage. Si cette situation survient, des
erreurs de station errones seront signales.
Le dlai d'attente configurable par dfaut est de 1 minute ; il est configurable par l'utilisateur.

Affectation de nom et d'adresse pour un appareil PROFINET dans STEP 7


Tous les appareils PROFINET doivent avoir un nom d'appareil et une adresse IP. Servezvous de STEP 7 pour dfinir les noms d'appareils et configurer les adresses IP. Le
tlchargement des noms d'appareils dans les priphriques IO se fait l'aide de
PROFINET DCP (Discovery and Configuration Protocol).

Affectation de l'adresse PROFINET au dmarrage du systme


Le contrleur diffuse les noms des appareils sur le rseau et les appareils rpondent avec
leur adresse MAC. Le contrleur affecte alors une adresse IP l'appareil l'aide du
protocole DCP PROFINET :
Si l'adresse MAC a une adresse IP configure, la station excute un dmarrage.
Si l'adresse MAC n'a pas d'adresse IP configure, STEP 7 affecte l'adresse qui est
configure dans le projet et la station excute alors un dmarrage.
En cas de problme lors de cette opration, une erreur de station survient et il n'y a pas
de dmarrage. Cette situation provoque le dpassement de la valeur de dlai d'attente
configurable.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

139

Configuration des appareils


5.6 Configuration de la CPU pour la communication

Automate programmable S7-1200

140

Manuel systme, 07/2011, A5E02486682-04

Concepts de programmation
6.1

Principes de conception d'un systme d'automatisation


Lorsque vous concevez un systme d'automatisation, vous devez choisir parmi diverses
mthodes et divers critres. Les principes gnraux suivants sont valables pour de
nombreux projets de conception. Il vous faudra, bien sr, suivre les procdures en vigueur
dans votre socit ainsi que les usages dcoulant de votre formation et de votre lieu de
travail.

Tableau 6- 1 Principes de conception d'un systme d'automatisation


Etapes recommandes

Tches

Subdivision de votre
processus ou de votre
installation en units

Segmentez votre processus ou votre installation en parties indpendantes les unes des autres.
Ces subdivisions dterminent les limites entre les automates et ont une influence sur les
descriptions fonctionnelles et laffectation des ressources.

Cration des
descriptions
fonctionnelles

Dcrivez le fonctionnement de chaque partie du processus ou de l'installation, par exemple


entres/sorties, description fonctionnelle de l'exploitation, tats devant tre atteints avant de
permettre l'actionnement des actionneurs (tels que valves solnodes, moteurs et
entranements), description de l'interface oprateur et toute interface avec d'autres sections du
processus ou de l'installation.

Conception des circuits Identifiez tout quipement pouvant ncessiter de la logique cble pour la scurit. N'oubliez pas
de scurit
que des dfaillances dangereuses peuvent se produire dans les appareils de commande, ce qui
peut entraner un dmarrage ou un changement inattendu dans le fonctionnement d'une
machine. Lorsqu'il existe alors des risques de blessures sur les personnes ou de dommages
matriels importants, songez implmenter des dispositifs de scurit lectromcaniques
prioritaires (qui oprent indpendamment de l'automate) afin d'viter des dysfonctionnements
dangereux. La conception des circuits de scurit comprend les tches suivantes :

Identifiez tout fonctionnement incorrect ou inattendu des actionneurs qui pourrait tre
dangereux.

Identifiez les conditions qui assurent que l'exploitation est sans danger et dterminez
comment dtecter ces conditions indpendamment de l'automate.

Identifiez comment l'automate affecte le processus lorsque la tension est applique puis
coupe et identifiez galement comment et quand des erreurs sont dtectes. Servez-vous
de ces informations uniquement pour la conception des fonctionnements normaux et
anormaux prvisibles. Vous ne devez pas vous baser sur ce scnario du "meilleur des cas"
pour les problmes de scurit.

Concevez les dispositifs de scurit manuels ou lectromcaniques prioritaires qui bloquent


les fonctionnements dangereux indpendamment de l'automate.

Fournissez l'automate les informations d'tat appropries en provenance des circuits


indpendants afin que le programme et toute interface oprateur disposent des informations
ncessaires.

Identifiez toute autre mesure de scurit ncessaire un droulement sr du processus.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

141

Concepts de programmation
6.2 Organisation de votre programme utilisateur

Etapes recommandes

Tches

Dfinition des postes


d'opration

Crez les schmas suivants des postes d'opration, bass sur les exigences des descriptions
fonctionnelles :

Cration des schmas


de configuration

Cration d'une liste de


mnmoniques

6.2

Schma d'ensemble indiquant l'emplacement de chaque poste d'opration par rapport au


processus ou l'installation

Schma mcanique des dispositifs pour le poste d'opration, tels qu'afficheurs,


commutateurs et lampes

Schmas lectriques avec les E/S associes de l'automate et des modules d'entres-sorties

Crez des schmas de configuration de l'quipement de commande bass sur les exigences des
descriptions fonctionnelles :

Schma d'ensemble indiquant l'emplacement de chaque automate par rapport au processus


ou l'installation

Schma mcanique de chaque automate et de tout module d'E/S incluant les armoires et
autres quipements

Schmas lectriques pour chaque automate et module d'E/S incluant les numros de
rfrence des appareils, les adresses de communication et les adresses d'E/S

Crez une liste de mnmoniques avec les adresses absolues. N'indiquez pas seulement les
signaux d'E/S physiques, mais galement les autres lments (tels que les noms de variables)
qui seront utiliss dans votre programme.

Organisation de votre programme utilisateur


Lorsque vous crez un programme utilisateur pour les tches d'automatisation, vous insrez
les instructions pour le programme dans des blocs de code :
Un bloc d'organisation (OB) ragit un vnement spcifique dans la CPU et peut
interrompre l'excution du programme utilisateur. Le bloc par dfaut pour l'excution
cyclique du programme utilisateur (OB 1) fournit la structure de base pour votre
programme utilisateur et est le seul bloc de code obligatoire pour un programme
utilisateur. Si vous incluez d'autres OB dans votre programme, ces OB interrompent
l'excution de l'OB 1. Les autres OB excutent des fonctions spcifiques, telles que des
tches de dmarrage, la gestion des alarmes et des erreurs ou l'excution d'un code
spcifique intervalles spcifiques.
Un bloc fonctionnel (FB) est un sous-programme qui est excut lorsqu'il est appel dans
un autre bloc de code (OB, FB ou FC). Le bloc appelant transmet des paramtres au FB
et identifie galement un bloc de donnes spcifique (DB) qui contient les donnes pour
l'appel spcifique ou instance de ce FB. Changer le DB d'instance permet un FB
gnrique de commander le fonctionnement d'un ensemble d'appareils. Ainsi, par
exemple, un FB peut piloter plusieurs pompes ou vannes avec des DB d'instance
diffrents contenant les paramtres de fonctionnement spcifiques de chaque pompe ou
vanne.
Une fonction (FC) est un sous-programme qui est excut lorsqu'il est appel dans un
autre bloc de code (OB, FB ou FC). Une FC ne comporte pas de DB d'instance associ.
Le bloc appelant transmet des paramtres la FC. Les valeurs de sortie de la FC doivent
tre crites dans une adresse de mmoire ou dans un DB global.

Automate programmable S7-1200

142

Manuel systme, 07/2011, A5E02486682-04

Concepts de programmation
6.2 Organisation de votre programme utilisateur

Choix du type de structure pour votre programme utilisateur


Selon les besoins de votre application, vous pouvez choisir soit une structure linaire soit
une structure modulaire pour votre programme utilisateur :
Un programme linaire excute toutes les instructions pour vos tches d'automatisation
squentiellement les unes aprs les autres. Avec un programme linaire, vous placerez
typiquement toutes les instructions dans l'OB d'excution cyclique du programme (OB 1).
Un programme modulaire appelle des blocs de code spcifiques qui excutent des
tches spcifiques. Pour crer une structure modulaire, vous divisez la tche
d'automatisation complexe en petites tches subordonnes qui correspondent aux
fonctions technologiques du processus. Chaque bloc de code fournit le segment de
programme pour une tche subordonne. Vous structurez votre programme en appelant
l'un des blocs de code partir d'un autre bloc.
Structure linaire :
2%

Structure modulaire :
2%

)%

)&

En crant des blocs de code gnriques pouvant tre rutiliss l'intrieur du programme
utilisateur, vous simplifiez la conception et l'implmentation du programme utilisateur.
L'utilisation de blocs de code gnriques prsente un certain nombre d'avantages :
Vous pouvez crer des blocs de code rutilisables pour des tches standard, telles que
la commande d'une pompe ou d'un moteur. Vous pouvez galement stocker ces blocs de
code gnriques dans une bibliothque qui peut tre utilise par d'autres applications ou
solutions.
Lorsque vous structurez le programme utilisateur en composants modulaires lis des
tches fonctionnelles, votre programme devient plus facile comprendre et grer. Non
seulement les composants modulaires vous aident standardiser la conception du
programme, mais ils rendent galement l'actualisation ou la modification du code plus
rapide et plus facile.
La cration de composants modulaires simplifie le dbogage de votre programme. En
structurant le programme complet en tant qu'ensemble de segments de programme
modulaires, vous pouvez tester la fonctionnalit de chaque bloc de code ds qu'il est
labor.
La cration de composants modulaires lis des fonctions technologiques spcifiques
permet de simplifier et d'acclrer la mise en service de l'application acheve.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

143

Concepts de programmation
6.3 Utilisation de blocs pour structurer votre programme

6.3

Utilisation de blocs pour structurer votre programme


En concevant des FB et des FC qui excutent des tches gnriques, vous crez des blocs
de code modulaires. Vous structurez ensuite votre programme en faisant appeler ces
modules rutilisables par d'autres blocs de code. Le bloc appelant transmet des paramtres
spcifiques de l'appareil au bloc appel.
Lorsqu'un bloc de code appelle un autre bloc de code, la CPU excute le code du
programme dans le bloc appel. Une fois l'excution du bloc appel acheve, la CPU
reprend l'excution du bloc appelant. Le traitement se poursuit par l'excution de l'instruction
qui suit l'appel de bloc.

2%)%)&

2%)%)&

Bloc appelant

Bloc appel (ou d'interruption)

Excution du programme

Excution du programme

Instruction ou vnement qui dclenche


l'excution d'un autre bloc
Fin du bloc (retour au bloc appelant)

Vous pouvez imbriquer les appels de bloc pour obtenir une structure plus modulaire. Dans
l'exemple suivant, la profondeur d'imbrication est 4 : l'OB de cycle de programme plus 3
niveaux d'appels de blocs de code.

2%

)%

)&

Dbut du cycle
Profondeur d'imbrication

'%

)%
'%

)&

6.3.1

)%

)&

'%

'%

Bloc d'organisation (OB)


Les blocs d'organisation permettent de structurer votre programme. Ils servent d'interface
entre le systme d'exploitation et le programme utilisateur. Les OB sont dclenchs sur
vnement. La CPU excute un OB suite un vnement, tel qu'une alarme de diagnostic
ou un intervalle de temps. Certains OB ont des vnements dclencheurs et un
comportement prdfinis.

Automate programmable S7-1200

144

Manuel systme, 07/2011, A5E02486682-04

Concepts de programmation
6.3 Utilisation de blocs pour structurer votre programme
L'OB du cycle de programme contient votre programme principal. Vous pouvez inclure plus
d'un OB de cycle de programme dans votre programme utilisateur. A l'tat MARCHE, les OB
de cycle de programme s'excutent au niveau de priorit le plus bas et peuvent tre
interrompus par tous les autres types de traitement de programme. L'OB de dmarrage
n'interrompt pas l'OB de cycle de programme, car la CPU excute l'OB de dmarrage avant
de passer l'tat MARCHE.
Une fois le traitement des OB de cycle de programme achev, la CPU rexcute
immdiatement les OB de cycle de programme. Ce traitement cyclique est le type "normal"
de traitement utilis par les automates programmables. Pour de nombreuses applications, le
programme utilisateur entier se trouve dans un OB de cycle de programme unique.
Vous pouvez crer d'autres OB qui excuteront des fonctions spcifiques, telles que la
gestion des alarmes et des erreurs ou l'excution d'un code spcifique intervalles
spcifiques. Ces OB interrompent l'excution des OB du cycle de programme.
Utilisez la bote de dialogue "Ajouter nouveau bloc" pour crer de nouveaux OB dans votre
programme utilisateur.
La gestion des alarmes se fait
toujours sur vnement. Lorsqu'un
tel vnement se produit, la CPU
interrompt l'excution du
programme utilisateur et appelle
l'OB qui a t configur pour grer
cet vnement. Une fois l'excution
de l'OB d'interruption acheve, la
CPU reprend l'excution du
programme utilisateur l'endroit o
elle s'tait interrompue.

La CPU dtermine l'ordre de traitement des vnements d'alarme au moyen d'une priorit
affecte chaque OB. Chaque vnement a une priorit de prise en charge particulire. Le
niveau de priorit respectif l'intrieur d'une classe de priorit dtermine l'ordre dans lequel
les OB de cette classe de priorit sont excuts. Plusieurs vnements d'alarme peuvent
tre combins dans des classes de priorit. Pour plus d'informations, reportez-vous
Concepts d'automatisation, Excution du programme utilisateur (Page 63).

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

145

Concepts de programmation
6.3 Utilisation de blocs pour structurer votre programme

Cration d'un OB supplmentaire l'intrieur d'une classe d'OB


Vous pouvez crer plusieurs OB pour votre programme utilisateur, et ce mme pour les
classes OB de cycle de programme et OB de dmarrage. Utilisez la bote de dialogue
"Ajouter nouveau bloc" pour crer un OB. Entrez le nom de votre OB et indiquez un numro
d'OB suprieur ou gal 200.
Si vous crez plusieurs OB de cycle de programme pour votre programme utilisateur, la
CPU excute chaque OB de cycle de programme par ordre numrique, en commenant par
l'OB de cycle de programme de plus petit numro (l'OB 1, par exemple). Par exemple, une
fois le premier OB de cycle de programme (tel l'OB 1) achev, la CPU excute l'OB de cycle
de programme de numro immdiatement suprieur (tel l'OB 200).

Configuration du fonctionnement d'un OB


Vous pouvez modifier les paramtres de
fonctionnement pour un OB. Vous
pouvez, par exemple, configurer le
paramtre de temps pour un OB
d'alarme temporise ou pour un OB
d'alarme cyclique.

6.3.2

Fonction (FC)
Une fonction (FC) est un bloc de code qui excute typiquement une opration spcifique sur
un ensemble de valeurs d'entre. La FC stocke les rsultats de cette opration dans des
adresses de mmoire. Vous avez p. ex. recours des FC pour effectuer des oprations
standard et rutilisables (telles que des calculs mathmatiques) ou des fonctions
technologiques (telles que des contrles individuels utilisant des oprations logiques sur
bits) Une FC peut galement tre appele plusieurs fois en diffrents points d'un
programme. Cette rutilisation simplifie la programmation de tches revenant souvent.
Une FC ne comporte pas de bloc de donnes (DB) d'instance associ. La FC se sert de la
pile des donnes locales pour les donnes temporaires utilises pour effectuer l'opration.
Les donnes temporaires ne sont pas sauvegardes. Pour stocker les donnes de manire
permanente, affectez la valeur de sortie une adresse de mmoire globale, un mmento M
ou un DB global par exemple.

Automate programmable S7-1200

146

Manuel systme, 07/2011, A5E02486682-04

Concepts de programmation
6.3 Utilisation de blocs pour structurer votre programme

6.3.3

Bloc fonctionnel (FB)


Un bloc fonctionnel (FB) est un bloc de code qui utilise un bloc de donnes d'instance pour
ses paramtres et ses donnes statiques. Les FB ont une mmoire de variables qui se situe
dans un bloc de donnes (DB) appel DB d'instance. Le DB d'instance fournit un bloc de
mmoire qui est associ cette instance (ou appel) du FB et qui contient les donnes une
fois le FB achev. Vous pouvez associer diffrents DB d'instance diffrents appels du FB.
Les DB d'instance vous permettent d'utiliser un FB gnrique pour commander plusieurs
appareils. Vous structurez votre programme en insrant dans un bloc de code l'appel d'un
FB et d'un DB d'instance. La CPU excute alors le code dans ce FB et sauvegarde les
paramtres du bloc et les donnes locales statiques dans le DB d'instance. Une fois
l'excution du FB acheve, la CPU revient au bloc de code qui a appel le FB. Le DB
d'instance conserve les valeurs pour cette instance du FB. Ces valeurs sont disponibles pour
des appels ultrieurs du bloc fonctionnel soit dans le mme cycle, soit dans d'autres cycles.

Blocs de code rutilisables mmoire associe


Vous utiliserez typiquement un FB pour commander l'excution de tches ou le
fonctionnement d'appareils qui durent plus d'un cycle. Pour stocker les paramtres de
fonctionnement afin qu'ils soient rapidement accessibles d'un cycle au suivant, chaque FB
dans votre programme utilisateur comporte un ou plusieurs DB d'instance. Lorsque vous
appelez un FB, vous indiquez aussi un DB d'instance qui contient les paramtres du bloc et
les donnes locales statiques pour cet appel ou "instance" du FB. Le DB d'instance
conserve ces valeurs aprs que l'excution du FB s'est acheve.
En concevant le FB pour des tches de commande gnriques, vous pouvez le rutiliser
pour plusieurs appareils en slectionnant des DB d'instance diffrents pour diffrents appels
du FB.
Un FB sauvegarde les paramtres d'entre, de sortie et d'entre/sortie et les paramtres
statiques dans un DB d'instance.

Dfinition de la valeur initiale dans le DB d'instance


Le DB d'instance comporte une valeur par dfaut et une valeur initiale pour chaque
paramtre. La valeur initiale fournit la valeur devant tre utilise lors de l'excution du FB. La
valeur initiale peut tre modifie lors de l'excution de votre programme utilisateur.
L'interface de FB comporte galement une colonne "Valeur par dfaut" qui vous permet de
dfinir une nouvelle valeur initiale pour le paramtre lors de l'criture du code de
programme. Cette valeur par dfaut dans le FB est ensuite transfre dans la valeur initiale
du DB d'instance associ. Si vous ne dfinissez pas de nouvelle valeur initiale pour un
paramtre dans l'interface de FB, la valeur par dfaut du DB d'instance est copie dans la
valeur initiale.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

147

Concepts de programmation
6.3 Utilisation de blocs pour structurer votre programme

Utilisation d'un FB unique avec plusieurs DB


La figure suivante montre un OB qui appelle un FB trois fois, avec un bloc de donnes
diffrent chaque appel. Cette structure permet un FB gnrique de commander plusieurs
appareils similaires, tels des moteurs, en affectant un bloc de donnes d'instance diffrent
chaque appel pour les diffrents appareils. Chaque DB d'instance mmorise les donnes
(par exemple, la vitesse, le temps d'acclration et le temps de fonctionnement total) pour
un appareil distinct.
'%

2%
)%
)%'%

'%

)%'%
)%'%
'%

Dans cet exemple, le FB 22 commande trois appareils distincts, le DB 201 contenant les
donnes de fonctionnement du premier appareil, le DB 202 celles du deuxime appareil et le
DB 203 celles du troisime appareil.

6.3.4

Bloc de donnes (DB)


Vous crez des blocs de donnes (DB) dans votre programme utilisateur pour sauvegarder
les donnes des blocs de code. Tous les blocs de programme dans le programme utilisateur
peuvent accder aux donnes d'un DB global. En revanche, un DB d'instance contient des
donnes pour un bloc fonctionnel spcifique (FB).
Les donnes sauvegardes dans un DB ne sont pas effaces la fin de l'excution du bloc
de code associ. Il existe deux types de DB :
Un DB global contient des donnes pour les blocs de code dans votre programme. Tous
les OB, FB et FC peuvent accder aux donnes dans un DB global.
Un DB d'instance contient les donnes d'un FB spcifique. La structure des donnes
dans un DB d'instance reflte les paramtres (Input, Output et InOut) et les donnes
statiques du FB. La mmoire Temp pour le FB n'est pas stocke dans le DB d'instance.
Remarque
Bien que le DB d'instance reflte les donnes d'un FB spcifique, tout bloc de code peut
accder aux donnes l'intrieur d'un DB d'instance.

Automate programmable S7-1200

148

Manuel systme, 07/2011, A5E02486682-04

Concepts de programmation
6.4 Comprendre le concept de cohrence des donnes
Vous pouvez configurer un DB comme tant en lecture seule :
1. Cliquez avec le bouton droit de la souris sur le DB dans le navigateur du projet et
slectionnez "Proprits" dans le menu contextuel.
2. Slectionnez "Attributs" dans la bote de dialogue "Proprits".
3. Slectionnez l'option "Bloc de donnes protg en criture dans l'appareil" et cliquez sur
"OK".

Cration de blocs de code rutilisables


Utilisez la bote de dialogue "Ajouter
nouveau bloc" sous "Blocs de
programme" dans le navigateur du
projet pour crer des OB, des FB,
des FC et des DB globaux.
Lors de la cration d'un bloc de
code, vous slectionnez le langage
de programmation pour ce bloc.
Vous ne slectionnez pas de
langage pour les DB qui servent
uniquement au stockage de
donnes.

6.4

Comprendre le concept de cohrence des donnes


La CPU assure la cohrence des donnes pour tous les types de donnes simples (par
exemple, Word et DWord) et pour toutes les structures systme (par exemple, IEC_TIMERS
et DTL). La lecture ou l'criture de la valeur ne peuvent pas tre interrompues. Ainsi, la CPU
protge l'accs une valeur double mot jusqu' ce que les quatre octets du double mot aient
t lus ou crits. Pour garantir que les OB de cycle de programme et les OB d'alarme
n'crivent pas en mme temps dans la mme adresse de mmoire, la CPU n'excute pas
d'OB d'alarme tant que l'opration de lecture ou d'criture dans l'OB de cycle de programme
n'est pas acheve.
Si votre programme utilisateur partage plusieurs valeurs en mmoire entre un OB de cycle
de programme et un OB d'alarme, votre programme utilisateur doit galement s'assurer que
ces valeurs sont modifies ou lues de manire cohrente. Vous pouvez utiliser les
instructions DIS_AIRT (Inhiber le traitement des alarmes) et EN_AIRT (Valider le traitement
des alarmes) dans votre OB de cycle de programme pour protger les accs aux valeurs
partages.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

149

Concepts de programmation
6.4 Comprendre le concept de cohrence des donnes
Insrez une instruction DIS_AIRT dans le bloc de code pour garantir qu'aucun OB
d'alarme ne peut tre excut pendant l'opration de lecture ou d'criture.
Insrez les instructions qui lisent ou crivent les valeurs qui pourraient tre modifies par
un OB d'alarme.
Insrez une instruction EN_AIRT la fin de la squence pour annuler DIS_AIRT et
permettre l'excution de l'OB d'alarme.
Une demande de communication mise par un appareil IHM ou une autre CPU peut
galement interrompre l'OB de cycle de programme. Les demandes de communication
peuvent donc elles aussi constituer une menace pour la cohrence des donnes. La CPU
s'assure que les types de donnes simples sont toujours lus et crits de manire cohrente
par les instructions du programme utilisateur. Comme le programme utilisateur est
interrompu priodiquement par des oprations de communication, il n'est pas possible de
garantir que plusieurs valeurs dans la CPU seront toutes mises jour en mme temps par
l'IHM. Ainsi, les valeurs affiches sur l'cran d'une IHM donne pourraient provenir de cycles
diffrents de la CPU.
Les instructions point point, les instructions PROFINET (telles que TSEND_C et TRCV_C)
et les instructions PROFIBUS (Page 453) transfrent des tampons de donnes qui peuvent
tre interrompus. Garantissez la cohrence des donnes des tampons en vitant de lire ou
d'crire dans les tampons la fois dans l'OB de cycle de programme et dans les OB
d'alarme. S'il est ncessaire de modifier les valeurs des tampons pour ces instructions dans
un OB d'alarme, utilisez une instruction DIS_AIRT pour retarder toute alarme (OB d'alarme
ou alarme de communication en provenance d'une IHM ou d'une autre CPU) jusqu'
l'excution d'une instruction EN_AIRT.
Remarque
L'utilisation de l'instruction DIS_AIRT retarde le traitement des OB d'alarme jusqu'
excution de l'instruction EN_AIRT, affectant ainsi le temps d'attente d'alarme de votre
programme utilisateur (dure s'coulant entre l'apparition d'un vnement et l'excution de
l'OB d'alarme correspondant).

Automate programmable S7-1200

150

Manuel systme, 07/2011, A5E02486682-04

Concepts de programmation
6.5 Langage de programmation

6.5

Langage de programmation
STEP 7 fournit les langages de programmation standard suivants pour le S7-1200 :
CONT (schma contacts) est un langage de programmation graphique. Sa
reprsentation se base sur des schmas (Page 151) de circuit.
LOG (logigramme) est un langage de programmation se fondant sur les symboles
logiques graphiques utiliss en algbre (Page 153) boolenne.
Lorsque vous crez un bloc de code, vous slectionnez le langage de programmation
utiliser par ce bloc. Votre programme utilisateur peut utiliser des blocs de code crs dans
n'importe lequel des langages de programmation disponibles.

6.5.1

Schma contacts (CONT)


Les lments d'un schma de circuit, contacts ouverture et fermeture et bobines par
exemple, sont relis pour former des rseaux.

Pour crer la logique pour des oprations complexes, vous pouvez insrer des branches
formant des circuits parallles. Les branches parallles s'ouvrent vers le bas ou se
connectent directement la barre conductrice. Vous terminez les branches vers le haut.
CONT fournit des instructions sous forme de botes pour des fonctions varies, telles que les
fonctions mathmatiques, de temporisation, de comptage et de transfert.
STEP 7 ne limite pas le nombre d'instructions (lignes et colonnes) dans un rseau CONT.
Remarque
Chaque rseau CONT doit se terminer par une bobine ou une bote d'instruction.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

151

Concepts de programmation
6.5 Langage de programmation
Vous devez tenir compte des rgles suivantes lors de la cration d'un rseau CONT :
Vous ne pouvez pas crer de branche qui entranerait un flux de courant en sens inverse.
$

&

'

Vous ne pouvez pas crer de branche qui provoquerait un court-circuit.


$

&

Automate programmable S7-1200

152

Manuel systme, 07/2011, A5E02486682-04

Concepts de programmation
6.5 Langage de programmation

6.5.2

Logigramme (LOG)
Comme CONT, LOG est un langage de programmation graphique. La reprsentation de la
logique repose sur les symboles logiques graphiques utiliss en algbre boolenne.
Pour crer la logique pour des oprations
complexes, insrez des branches parallles
entre les botes.

Les fonctions mathmatiques et autres fonctions complexes peuvent tre reprsentes


directement avec des botes logiques.
STEP 7 ne limite pas le nombre d'instructions (lignes et colonnes) dans un rseau LOG.

6.5.3

EN et ENO pour CONT et LOG

Dtermination du "flux de courant" (EN et ENO) pour une instruction


Certaines instructions (telles que les instructions mathmatiques et de transfert) comportent
des paramtres EN et ENO. Ces paramtres font rfrence au flux de courant en CONT et
LOG et dterminent si l'instruction est ou non excute pendant ce cycle.
EN (pour Enable In) est une entre boolenne. Un flux de courant (EN = 1) doit tre
prsent au niveau de cette entre pour que la bote d'instruction soit excute. Si l'entre
EN d'une bote CONT est connecte directement la barre conductrice gauche,
l'instruction sera toujours excute.
ENO (pour Enable Out) est une sortie boolenne. Si un flux de courant est prsent
l'entre EN d'une bote et que la fonction correspondante s'excute sans erreur, la sortie
ENO transmet le flux de courant (ENO = 1) l'lment suivant. Si une erreur est dtecte
lors de l'excution de la bote d'instruction, le flux de courant s'arrte (ENO = 0) la bote
qui a gnr l'erreur.
Tableau 6- 2 Oprandes pour EN et ENO
Editeur de
programmes

Entres/sorties

Oprandes

Type de donnes

CONT

EN, ENO

Flux de courant

Bool

LOG

EN

I, I:P, Q, M, DB, Temp, flux de courant

Bool

ENO

Flux de courant

Bool

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

153

Concepts de programmation
6.6 Protection

Effet des paramtres Ret_Val et Status sur ENO


Certaines instructions, telles que les instructions de communication ou les instructions de
conversion de chane, fournissent un paramtre de sortie qui contient des informations sur le
traitement de l'instruction. Par exemple, certaines instructions fournissent un paramtre
Ret_Val (valeur en retour) qui est typiquement un type de donnes Int contenant des
informations d'tat dans une plage allant de -32768 +32767. D'autres instructions
fournissent un paramtre Status qui est typiquement un type de donnes Word contenant
des informations d'tat dans une plage allant des valeurs hexadcimales 16#0000
16#FFFF. La valeur numrique contenue dans un paramtre Ret_Val ou Status dtermine
l'tat de ENO pour l'instruction correspondante.
Ret_Val : Une valeur comprise entre 0 et 32767 met typiquement ENO 1 (ou VRAI).
Une valeur comprise entre -32768 et -1 met typiquement ENO 0 (ou FAUX). Pour
valuer Ret_Val, passez en reprsentation hexadcimale.
Status : Une valeur comprise entre 16#0000 et 16#7FFF met typiquement ENO 1 (ou
VRAI). Une valeur comprise entre 16#8000 et 16#FFFF met typiquement ENO 0 (ou
FAUX).
Les instructions s'excutant sur plus d'un cycle comportent souvent un paramtre Busy
(Bool) qui signale que l'instruction est active mais que l'excution n'est pas encore acheve.
Souvent, ces instructions fournissent aussi un paramtre Done (Bool) et un paramtre Error
(Bool). Done signale que l'instruction s'est acheve sans erreur et Error que l'instruction s'est
acheve avec une erreur.
Lorsque Busy vaut 1 (ou VRAI), ENO est gal 1 (ou VRAI).
Lorsque Done vaut 1 (ou VRAI), ENO est gal 1 (ou VRAI).
Lorsque Error vaut 1 (ou VRAI), ENO est gal 0 (ou FAUX).

6.6

Protection

6.6.1

Protection d'accs pour la CPU


La CPU fournit 3 niveaux de scurit permettant de limiter l'accs des fonctions
spcifiques. Lorsque vous configurez le niveau de scurit et le mot de passe pour une
CPU, vous limitez les fonctions et les zones de mmoire qui sont accessibles sans saisie
d'un mot de passe.
Il y a distinction entre majuscules et minuscules dans le mot de passe.

Automate programmable S7-1200

154

Manuel systme, 07/2011, A5E02486682-04

Concepts de programmation
6.6 Protection

Procdez comme suit pour


configurer le mot de passe :
1. Slectionnez la CPU dans la
"Configuration des appareils".
2. Dans la fentre d'inspection,
slectionnez l'onglet
"Proprits".
3. Slectionnez la proprit
"Protection" pour choisir le
niveau de protection et entrer
un mot de passe.
Chaque niveau permet d'accder certaines fonctions sans mot de passe. Par dfaut, il n'y
a pas de restriction d'accs ni de protection par mot de passe pour la CPU. Pour limiter
l'accs une CPU, vous configurez les proprits de la CPU et vous entrez le mot de passe.
L'entre du mot de passe via un rseau ne met pas en cause la protection par mot de passe
de la CPU. Une CPU protge par mot de passe n'autorise l'accs sans rserve qu' un seul
utilisateur un moment donn. La protection par mot de passe ne concerne pas l'excution
des instructions du programme utilisateur, fonctions de communication comprises. La saisie
du mot de passe correct permet d'accder toutes les fonctions.
Les communications API-API (par le biais d'instructions de communication dans les blocs de
code) ne sont pas rduites par le niveau de scurit dans la CPU. La fonctionnalit IHM
n'est pas non plus restreinte.
Tableau 6- 3 Niveaux de scurit pour la CPU
Niveau de scurit

Restrictions d'accs

Pas de protection

Autorise un accs intgral sans protection par mot de passe.

Protection en criture

Permet l'accs IHM et toutes les formes de communication API-API sans protection par mot de
passe.
Un mot de passe est ncessaire pour modifier la CPU (criture) et pour changer le mode de la
CPU (MARCHE/ARRET).

Protection en
lecture/criture

Permet l'accs IHM et toutes les formes de communication API-API sans protection par mot de
passe.
Un mot de passe est ncessaire pour lire les donnes dans la CPU, modifier la CPU (criture) et
changer le mode de la CPU (MARCHE/ARRET).

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

155

Concepts de programmation
6.6 Protection

6.6.2

Protection du savoir-faire
Une protection "know-how" vous permet d'empcher l'accs non autoris un ou plusieurs
blocs de code (OB, FB, FC ou DB) dans votre programme. Vous crez un mot de passe
pour limiter l'accs au bloc de code. La protection par mot de passe empche de lire ou de
modifier le bloc de code sans autorisation. Sans mot de passe, vous pouvez lire uniquement
les informations suivantes sur le bloc de code :
Titre, commentaire et proprits du bloc
Paramtres transmis (IN, OUT, IN_OUT, renvoi)
Structure d'appel du programme
Variables globales dans les rfrences croises (sans information sur l'endroit o elles
sont utilises) ; les variables locales sont masques
Lorsque vous activez la protection "know-how" pour un bloc, le code l'intrieur de ce bloc
n'est accessible qu'aprs saisie du mot de passe.
Utilisez la Task Card "Proprits" du bloc de code pour configurer la protection "know-how"
pour ce bloc. Aprs avoir ouvert le bloc de code, slectionnez "Protection" dans les
proprits.

1. Dans les proprits du bloc de code,


cliquez sur le bouton "Protection" pour
afficher la bote de dialogue "Protection
Know-How".
2. Cliquez sur le bouton "Dfinir" pour entrer
le mot de passe.
Aprs avoir entr et confirm le mot de
passe, cliquez sur "OK".

Automate programmable S7-1200

156

Manuel systme, 07/2011, A5E02486682-04

Concepts de programmation
6.6 Protection

6.6.3

Protection contre la copie


Une fonction de scurit supplmentaire vous permet de lier le programme ou les blocs de
code une utilisation avec une carte mmoire ou une CPU spcifique. Cette fonction est
particulirement utile pour protger votre proprit intellectuelle. Lorsque vous liez un
programme ou un bloc un appareil spcifique, vous restreignez le programme ou le bloc
de code pour utilisation uniquement avec une carte mmoire ou une CPU spcifique. Cette
fonction vous permet de distribuer un programme ou un bloc de code lectroniquement (via
Internet ou par email) ou en envoyant une cartouche mmoire.
Utilisez la Task Card "Proprits" du bloc de code pour lier le bloc une CPU ou une carte
mmoire spcifique.
1. Aprs avoir ouvert le bloc de code, slectionnez "Protection".

2. Dans la liste droulante sous la tche "Protection contre la copie", slectionnez l'option
de liaison du bloc de code une carte mmoire ou une CPU spcifique.

3. Slectionnez le type de protection contre la copie et saisissez le numro de srie de la


carte mmoire ou de la CPU.
Remarque
Il y a distinction entre majuscules et minuscules dans le numro de srie.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

157

Concepts de programmation
6.7 Chargement d'lments de votre programme dans la CPU

6.7

Chargement d'lments de votre programme dans la CPU


Vous pouvez charger les lments de votre projet de la console de programmation dans la
CPU. Lors du chargement d'un projet, la CPU sauvegarde le programme utilisateur (OB, FC,
FB et DB) en mmoire permanente.

Vous pouvez charger votre projet de la console de programmation dans votre CPU partir
de l'un des endroits suivants :
"Arborescence du projet" : Cliquez avec le bouton droit de la souris sur l'lment de
programme, puis cliquez sur la commande "Charger" du menu contextuel.
Menu "En ligne" : Cliquez sur la commande "Charger dans l'appareil".
Barre d'outils : Cliquez sur l'icne "Charger dans l'appareil".

6.8

Chargement partir de la CPU

6.8.1

Copie des lments du projet


Vous pouvez galement copier les blocs de programme depuis une CPU en ligne ou une
carte mmoire relie votre console de programmation.
Prparez le projet hors ligne pour les blocs de programme
copis :
1. Ajoutez un appareil CPU qui correspond la CPU en
ligne.
2. Cliquez une fois sur le noeud de la CPU pour rendre le
dossier "Blocs de programme" visible.

Automate programmable S7-1200

158

Manuel systme, 07/2011, A5E02486682-04

Concepts de programmation
6.8 Chargement partir de la CPU
Dans le navigateur du projet, affichez le dtail du noeud
pour "Accs en ligne" afin de slectionner les blocs de
programme dans la CPU en ligne :
1. Affichez le dtail du noeud pour le rseau et doublecliquez sur "Mettre jour les abonns accessibles".
2. Affichez le dtail du noeud pour la CPU.
3. Faites glisser le fichier "Blocs de programme" depuis la
CPU en ligne et dplacez-le dans le fichier "Blocs de
programme" de votre projet en ligne.
4. Dans la bote de dialogue "Tlchargement
prvisualisation", slectionnez "Continuer" et cliquez
ensuite sur le bouton "Tlchargement depuis
l'appareil".
Lorsque le tlchargement est termin, tous les blocs de
programme, blocs technologiques et variables sont
affichs dans la zone hors ligne.

Remarque
Vous pouvez copier les blocs de programme depuis la CPU en ligne vers un programme
existant. Le fichier "Blocs de programme" du projet hors ligne ne doit pas tre vide.
Cependant, le programme existant sera effac et remplac par le programme utilisateur de
la CPU en ligne.

6.8.2

Utilisation de la fonction de synchronisation pour un chargement partir de la


CPU
Vous pouvez utiliser l'diteur de comparaison dans STEP 7 pour synchroniser les projets en
ligne et hors ligne et effectuer un chargement de l'appareil dans le projet.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

159

Concepts de programmation
6.9 Dbogage et test du programme

6.9

Dbogage et test du programme

6.9.1

Visualisation et forage de donnes dans la CPU


Comme indiqu dans le tableau suivant, vous pouvez visualiser et forcer des valeurs dans la
CPU en ligne.
Tableau 6- 4 Visualisation et forage de donnes avec STEP 7
Editeur

Visualisation

Forage

Forage permanent

Table de visualisation

Oui

Oui

Non

Table de forage
permanent

Oui

Non

Oui

Editeur de programmes

Oui

Oui

Non

Table des variables

Oui

Non

Non

Editeur de DB

Oui

Non

Non

Visualisation avec
une table de
visualisation

Visualisation avec l'diteur CONT

Reportez-vous au chapitre "Outils en ligne et de diagnostic" pour plus d'informations sur la


visualisation et le forage de donnes dans la CPU (Page 630).

Automate programmable S7-1200

160

Manuel systme, 07/2011, A5E02486682-04

Concepts de programmation
6.9 Dbogage et test du programme

6.9.2

Tables de visualisation et tables de forage permanent


Vous pouvez utiliser des "tables de visualisation" pour visualiser et modifier les valeurs d'un
programme utilisateur excut par la CPU en ligne. Vous pouvez crer et sauvegarder
diffrentes tables de visualisation dans votre projet afin de prendre en charge des
environnements de test varis. Vous pouvez ainsi reproduire des tests pendant la mise en
service ou des fins de dpannage et de maintenance.
Avec une table de visualisation, vous pouvez surveiller la CPU et interagir avec elle alors
qu'elle excute le programme utilisateur. Vous pouvez afficher ou changer les valeurs non
seulement pour les variables des blocs de code et de donnes, mais galement pour les
zones de mmoire de la CPU, savoir les entres et sorties (I et Q), la priphrie d'entre
(I:P), les mmentos (M) et les blocs de donnes (DB).
Avec la table de visualisation, vous pouvez dbloquer les sorties physiques (Q:P) d'une CPU
l'tat ARRET. Vous pouvez, par exemple, affecter des valeurs spcifiques aux sorties
lorsque vous testez le cblage de la CPU.
STEP 7 fournit galement une table de forage permanent pour le forage permanent d'une
variable une valeur spcifique. Pour plus d'informations sur le forage, reportez-vous au
paragraphe traitant du forage de valeurs dans la CPU (Page 638) au chapitre "Outils en
ligne et de diagnostic".
Remarque
Les valeurs de forage permanent sont stockes dans la CPU et non dans la table de
visualisation.
Vous ne pouvez pas forcer une entre (adresse I), mais vous pouvez forcer une entre de
priphrie. Pour forcer une entre de priphrie, ajoutez ":P" l'adresse (par exemple,
"On:P").

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

161

Concepts de programmation
6.9 Dbogage et test du programme

6.9.3

Affichage de l'usage des rfrences croises


La fentre d'inspection affiche des informations sous forme de rfrences croises indiquant
la manire dont un objet slectionn est utilis dans l'ensemble du projet, comme p. ex. le
programme utilisateur, la CPU ou tout appareil IHM. La table des "Rfrences croises"
affiche les instances o un objet slectionn et utilis, de mme que les autres objets qui
l'utilisent. La fentre d'inspection contient galement les blocs qui sont exclusivement
accessibles en ligne dans les rfrences croises. Pour afficher les rfrences croises,
choisissez la commande "Afficher rfrences croises" (dans la vue du projet, les rfrences
croises font partie du menu "Outils").
Remarque
Il n'est pas ncessaire de fermer l'diteur pour voir les informations sur les rfrences
croises.
Vous avez la possibilit de trier les entres des rfrences croises. La liste des rfrences
croises fournit une vue d'ensemble de l'utilisation des adresses mmoire et des variables
dans le programme utilisateur.
Lorsque vous crez et modifiez un programme, vous obtenez une vue d'ensemble des
oprandes, variables et appels de blocs utiliss.
Vous pouvez, partir des rfrences croises, sauter directement l'occurrence
d'utilisation des oprandes et variables.
Durant un test du programme ou lors d'un dpannage, vous voyez quelle adresse de
mmoire est traite par quelle commande et dans quel bloc, quelle variable est utilise
dans quelle vue et quel bloc est appel par quel autre bloc.
Tableau 6- 5 lments de la rfrence croise
Colonne

Description

Objet

Nom de l'objet utilisant les objets de niveau infrieur ou qui est utilis par les objets
de niveau infrieur

Quantit

Nombre d'utilisations

Adresse

Toute adresse possible, p. ex. adresse de rseau.

Proprits

Proprits spcifiques des objets rfrencs, p. ex. noms de variables dans des
dclarations multiinstances

En tant que

Affiche des informations supplmentaires sur l'objet, p. ex. si un DB d'instance est


utilis en tant que modle ou instance multiple.

Accs

Type d'accs l'oprande, savoir en lecture (R) et/ou en criture (W).

Adresse

Adresse de l'oprande

Type

Information sur le type et le langage utiliss pour crer l'objet.

Chemin

Chemin de l'objet dans l'arborescence

Automate programmable S7-1200

162

Manuel systme, 07/2011, A5E02486682-04

Concepts de programmation
6.9 Dbogage et test du programme

6.9.4

Structure d'appel permettant de constater la hirarchie d'appel


La structure d'appel dcrit la hirarchie d'appel des blocs dans votre programme utilisateur.
Elle fournit une vue d'ensemble des blocs utiliss, des appels d'autres blocs, des relations
entre blocs, des donnes requises pour chaque bloc et de l'tat des blocs. Vous pouvez
ouvrir l'diteur de programmes et diter les blocs de la structure d'appel.
L'affichage de la structure d'appel fournit une liste des blocs utiliss dans le programme
utilisateur. STEP 7 met en vidence le premier niveau de la structure d'appel et affiche tout
bloc n'tant pas appel par un autre bloc dans le programme. Le premier niveau de la
structure d'appel affiche les OB ainsi que tous les FC, FB et DB qui ne sont pas appels par
un OB. Si un bloc de code appelle un autre bloc, le bloc appel est reprsent en retrait
sous le bloc appelant. La structure d'appel affiche uniquement les blocs qui sont appels par
un blocs de code.
Vous avez la possibilit d'afficher exclusivement les blocs entranant des conflits dans la
structure d'appel. Les conditions suivantes entranent des conflits :
Blocs excutant des appels avec des horodatages plus anciens ou plus rcents
Blocs appelant un bloc avec une interface modifie
Blocs utilisant une variable avec une adresse et/ou un type de donnes modifis
Blocs n'tant pas appels directement ou indirectement par un OB.
Blocs appelant un bloc inexistant ou manquant
Vous pouvez regrouper plusieurs appels de bloc et blocs de donnes. Une liste droulante
indique les liens aux diffrentes adresses d'appel.
Vous pouvez galement effectuer un contrle de cohrence pour afficher les conflits
d'horodatage. Un changement d'horodatage d'un bloc durant ou aprs la compilation du
programme risque d'entraner des conflits d'horodatage, qui leur tour provoquent des
incohrences parmi les blocs appelants et les blocs appels.
Une recompilation des blocs de code permet de corriger la plupart des conflits
d'horodatage et d'interface.
Si la compilation ne permet pas de remdier aux incohrences, servez-vous du lien dans
la colonne "Dtails" pour aller la source du problme dans l'diteur de programmes.
Vous pouvez alors corriger manuellement toutes les incohrences.
Tous les blocs marqus en rouge doivent tre recompils.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

163

Concepts de programmation
6.9 Dbogage et test du programme

Automate programmable S7-1200

164

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.1

Instructions logiques sur bits

7.1.1

Contacts et bobines
CONT et LOG sont trs efficaces dans le traitement de la logique boolenne.

Contacts CONT
Tableau 7- 1 Contacts fermeture et contacts ouverture
CONT

Description
Contacts fermeture et contacts ouverture : Vous pouvez connecter des contacts d'autres contacts
et crer votre propre logique combinatoire. Si le bit d'entre que vous indiquez utilise l'identificateur de
mmoire I (entre) ou Q (sortie), la valeur du bit est lue dans la mmoire image du processus. Les
signaux physiques dans votre processus de commande sont cbls aux bornes I sur l'automate. La
CPU lit les signaux d'entre cbls et actualise en continu les valeurs d'tat correspondantes dans la
mmoire image des entres.
Vous pouvez demander la lecture directe d'une entre physique en indiquant ":P" aprs le dcalage I
(par exemple, "%I3.4:P"). En cas de lecture directe, les valeurs de donnes binaires sont lues
directement dans l'entre physique et non dans la mmoire image. Une lecture directe n'actualise pas la
mmoire image.

Tableau 7- 2 Types de donnes pour les paramtres


Paramtre

Type de donnes

Description

IN

Bool

Bit affect

Le contact fermeture est ferm (activ) lorsque la valeur du bit affect est gale 1.
Le contact ouverture est ferm (activ) lorsque la valeur du bit affect est gale 0.
Des contacts connects en srie crent des rseaux de logique ET.
Des contacts connects en parallle crent des rseaux de logique OU.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

165

Instructions de base
7.1 Instructions logiques sur bits

Botes ET, OU et OU EXCLUSIF en LOG


En programmation LOG, les rseaux de contacts CONT sont transforms en rseaux de
botes ET (&), OU (>=1) et OU EXCLUSIF (x) dans lesquels vous pouvez indiquer des
valeurs binaires pour les entres et sorties des botes. Vous pouvez aussi tablir des
connexions d'autres botes logiques et crer vos propres combinaisons logiques. Une fois
que vous avez plac la bote dans votre rseau, vous pouvez faire glisser l'outil "Insrer
entre binaire" de la barre d'outils "Favoris" ou de l'arborescence d'instructions vers le ct
d'entre de la bote afin d'ajouter des entres. Vous pouvez aussi cliquer avec le bouton
droit de la souris sur le connecteur d'entre de la bote et slectionner "Insrer entre".
Les entres et les sorties de la bote peuvent tre connectes une autre bote logique ou
vous pouvez entrer une adresse binaire ou un mnmonique de bit pour une entre non
connecte. Lors de l'excution de la bote d'instruction, les tats des entres en cours sont
appliqus la logique binaire et, si elle est vraie, la sortie de la bote sera vraie.
Tableau 7- 3 Botes ET, OU et OU EXCLUSIF
LOG

Description
Toutes les entres d'une bote ET doivent tre vraies pour que la sortie soit vraie.

Il suffit qu'une entre d'une bote OU soit vraie pour que la sortie soit vraie.

Un nombre impair d'entres d'une bote OU EXCLUSIF doivent tre vraies pour que la sortie soit
vraie.

Tableau 7- 4 Types de donnes pour les paramtres


Paramtre

Type de donnes

Description

IN1, IN2

Bool

Bit d'entre

Automate programmable S7-1200

166

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.1 Instructions logiques sur bits

Inverseur logique NOT


Tableau 7- 5 Inverseur logique NOT
CONT

LOG

Description
En programmation LOG, vous pouvez faire glisser l'outil "Inverser l'entre
binaire" de la barre d'outils "Favoris" ou de l'arborescence d'instructions vers
une entre ou une sortie afin de crer un inverseur logique sur ce connecteur
de bote.
Le contact NOT en CONT inverse l'tat logique de l'entre de flux de courant.

S'il n'y a pas de flux de courant entrant dans le contact NOT, il y a un flux
de courant sortant.

S'il y a un flux de courant entrant dans le contact NOT, il n'y a pas de flux
de courant sortant.

Bobine et bote d'affectation de sortie


L'instruction Bobine de sortie crit une valeur pour un bit de sortie. Si le bit de sortie que
vous indiquez utilise l'identificateur de mmoire Q, la CPU met le bit de sortie dans la
mmoire image du processus 1 ou 0 conformment l'tat de flux de courant. Les
signaux de sortie pour vos actionneurs de commande sont cbls aux bornes Q de la CPU.
A l'tat MARCHE, la CPU lit en continu vos signaux d'entre, traite les tats des entres en
fonction de la logique de votre programme, puis ragit en donnant aux sorties de nouvelles
valeurs dans la mmoire image des sorties. Aprs chaque cycle d'excution du programme,
la CPU transfre le nouvel tat des sorties mmoris dans la mmoire image aux bornes de
sortie cbles.
Tableau 7- 6 Bobine de sortie (CONT) et bote d'affectation de sortie (LOG)
CONT

LOG

Description
En programmation LOG, les bobines CONT sont transformes en bote d'affectation
(= et /=) dans lesquelles vous indiquez une adresse de bit pour la sortie de la bote.
Les entres et sorties de la bote peuvent tre connectes une autre bote logique
ou vous pouvez entrer une adresse de bit.
Vous pouvez demander l'criture directe dans une sortie physique en indiquant ":P"
aprs le dcalage Q (par exemple, "%Q3.4:P"). En cas d'criture directe, les valeurs
de donnes binaires sont crites directement dans la mmoire image des sorties et
directement dans la sortie physique.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

167

Instructions de base
7.1 Instructions logiques sur bits
Tableau 7- 7 Types de donnes pour les paramtres
Paramtre

Type de donnes

Description

OUT

Bool

Bit affect

S'il y a flux de courant travers une bobine de sortie ou qu'une bote d'affectation "="
LOG est active, le bit de sortie est mis 1.
S'il n'y a pas de flux de courant travers une bobine de sortie ou qu'une bote
d'affectation "=" LOG n'est pas active, le bit de sortie est mis 0.
S'il y a flux de courant travers une bobine de sortie inverse ou qu'une bote "/=" LOG
est active, le bit de sortie est mis 0.
S'il n'y a pas de flux de courant travers une bobine de sortie inverse ou qu'une bote
"/=" LOG n'est pas active, le bit de sortie est mis 1.

7.1.2

Instructions Mise 1 et Mise 0

Mise 1 et Mise 0 d'1 bit


Tableau 7- 8 Instructions S et R
CONT

LOG

Description
Lorsque S (Mise 1) est activ, la valeur de donnes l'adresse OUT est mise
1. Lorsque S n'est pas activ, OUT n'est pas modifi.
Lorsque R (Mise 0) est activ, la valeur de donnes l'adresse OUT est mise
0. Lorsque R n'est pas activ, OUT n'est pas modifi.

Pour CONT et LOG : Ces instructions peuvent tre places n'importe o dans le rseau.

Tableau 7- 9 Types de donnes pour les paramtres


Paramtre

Type de donnes

Description

IN (ou connexion contact/logique de porte)

Bool

Adresse de bit visualiser

OUT

Bool

Adresse de bit mettre 1 ou 0

Automate programmable S7-1200

168

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.1 Instructions logiques sur bits

Mise 1 et Mise 0 champ de bits


Tableau 7- 10 Instructions SET_BF et RESET_BF :
CONT1

LOG

Description
Lorsque SET_BF est activ, la valeur 1 est affecte "n" bits en commenant
l'adresse OUT. Lorsque SET_BF n'est pas activ, OUT n'est pas modifi.

RESET_BF crit la valeur 0 dans "n" bits en commenant l'adresse OUT.


Lorsque RESET_BF n'est pas activ, OUT n'est pas modifi.

Pour CONT et LOG : Ces instructions doivent tre l'extrme droite dans une branche.

Tableau 7- 11 Types de donnes pour les paramtres


Paramtre

Type de donnes

Description

OUT

Bool

Elment de dpart d'un champ de bits mettre 1 ou 0


(exemple : #MyArray[3])

Constante (UInt)

Nombre de bits crire

Bascule "mise 0, mise 1" et Bascule "mise 1, mise 0"


Tableau 7- 12 Instructions RS et SR :
CONT/LOG

Description
L'opration RS est une bascule avec mise 1 prioritaire o la mise 1 domine. Si les signaux de mise
1 (S1) et de mise 0 (R) sont tous deux vrais, l'adresse de sortie OUT sera 1.

L'opration SR est une bascule avec mise 0 prioritaire o la mise 0 domine. Si les signaux de mise
1 (S) et de mise 0 (R1) sont tous deux vrais, l'adresse de sortie OUT sera 0.

Pour CONT et LOG : Ces instructions doivent tre l'extrme droite dans une branche.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

169

Instructions de base
7.1 Instructions logiques sur bits
Tableau 7- 13 Types de donnes pour les paramtres
Paramtre

Type de donnes

Description

S, S1

Bool

Entre de mise 1 ; 1 indique la prdominance.

R, R1

Bool

Entre de mise 0 ; 1 indique la prdominance.

OUT

Bool

Sortie binaire affecte "OUT"

Bool

Suit l'tat du bit "OUT".

Le paramtre OUT correspond l'adresse de bit qui est mise 1 ou 0. La sortie Q


facultative reflte l'tat de signal de l'adresse "OUT".
Instruction
RS

SR

7.1.3

S1

bit "OUT"

Etat prcdent

R1

Etat prcdent

Instructions Front montant et Front descendant

Tableau 7- 14 Dtection de front montant et de front descendant


CONT

LOG

Description
CONT : L'tat de ce contact est VRAI lorsqu'un front montant (0 1) est dtect
sur le bit "IN" affect. L'tat logique du contact est alors combin l'tat du flux de
courant entrant pour dfinir l'tat du flux de courant sortant. Le contact P peut tre
situ n'importe o dans le rseau, except la fin d'une branche.
LOG : L'tat logique de la sortie est VRAI lorsqu'un front montant (0 1) est
dtect sur le bit d'entre affect. La bote P ne peut tre situe qu'au dbut d'une
branche.
CONT : L'tat de ce contact est VRAI lorsqu'un front descendant (1 0) est
dtect sur le bit d'entre affect. L'tat logique du contact est alors combin
l'tat du flux de courant entrant pour dfinir l'tat du flux de courant sortant. Le
contact N peut tre situ n'importe o dans le rseau, except la fin d'une
branche.
LOG : L'tat logique de la sortie est VRAI lorsqu'un front descendant (1 0) est
dtect sur le bit d'entre affect. La bote N ne peut tre situe qu'au dbut d'une
branche.

Automate programmable S7-1200

170

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.1 Instructions logiques sur bits

CONT

LOG

Description
CONT : Le bit affect "OUT" est VRAI lorsqu'un front montant (0 1) est dtect
sur le flux de courant entrant dans la bobine. L'tat du flux de courant entrant
traverse toujours la bobine en tant qu'tat du flux de courant sortant. La bobine P
peut tre situe n'importe o dans le rseau.
LOG : Le bit affect "OUT" est VRAI lorsqu'un front montant (0 1) est dtect sur
l'tat logique au niveau de la connexion d'entre de la bote ou sur l'affectation de
bit d'entre si la bote est situe au dbut d'une branche. L'tat logique d'entre
traverse toujours la bote en tant qu'tat logique de sortie. La bote P= peut tre
situe n'importe o dans la branche.
CONT : Le bit affect "OUT" est VRAI lorsqu'un front descendant (1 0) est
dtect sur le flux de courant entrant dans la bobine. L'tat du flux de courant
entrant traverse toujours la bobine en tant qu'tat du flux de courant sortant. La
bobine N peut tre situe n'importe o dans le rseau.
LOG : Le bit affect "OUT" est VRAI lorsqu'un front descendant (1 0) est dtect
sur l'tat logique au niveau de la connexion d'entre de la bote ou sur l'affectation
de bit d'entre si la bote est situe au dbut d'une branche. L'tat logique d'entre
traverse toujours la bote en tant qu'tat logique de sortie. La bote N= peut tre
situe n'importe o dans la branche.

Tableau 7- 15 Instructions P_TRIG et N_TRIG


CONT/LOG

Description
Le flux de courant ou l'tat logique de la sortie Q est VRAI lorsqu'un front montant (0 1) est
dtect sur l'tat de l'entre CLK (LOG) ou sur le flux de courant entrant CLK (CONT).
En CONT, l'instruction P_TRIG ne peut pas tre situe au dbut ou la fin d'un rseau. En LOG,
l'instruction P_TRIG peut tre situe n'importe o, except la fin d'une branche.
Le flux de courant ou l'tat logique de la sortie Q est VRAI lorsqu'un front descendant (1 0) est
dtect sur l'tat de l'entre CLK (LOG) ou sur le flux de courant entrant CLK (CONT).
En CONT, l'instruction N_TRIG ne peut pas tre situe au dbut ou la fin d'un rseau. En LOG,
l'instruction N_TRIG peut tre situe n'importe o, except la fin d'une branche.

Tableau 7- 16 Types de donnes pour les paramtres (contacts/bobines P et N, P=, N=, P_TRIG et N_TRIG)
Paramtre

Type de
donnes

Description

M_BIT

Bool

Bit de mmento dans lequel l'tat prcdent de l'entre est sauvegard

IN

Bool

Bit d'entre dont le front de transition doit tre dtect

OUT

Bool

Bit de sortie qui indique qu'un front de transition a t dtect

CLK

Bool

Flux de courant ou bit d'entre dont le front de transition doit tre dtect

Bool

Sortie qui indique qu'un front a t dtect

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

171

Instructions de base
7.2 Temporisations
Toutes les instructions sur front utilisent un bit de mmento (M_BIT) pour stocker l'tat
prcdent du signal d'entre surveill. Un front est dtect par comparaison de l'tat de
l'entre avec l'tat du bit de mmento. Si les tats indiquent un changement de l'entre dans
la direction concerne, un front est signal par criture de la valeur VRAI dans la sortie.
Sinon, FAUX est crit dans la sortie.
Remarque
Les instructions sur front valuent les valeurs de l'entre et du bit de mmento chaque fois
qu'elles sont excutes, premire excution comprise. Vous devez prendre en compte l'tat
initial de l'entre et du bit de mmento dans la conception de votre programme et soit
autoriser soit empcher la dtection de front lors du premier cycle.
Comme le bit de mmento doit tre conserv d'une excution la suivante, vous devez
utiliser pour chaque instruction sur front un bit unique qui ne doit pas servir un autre
endroit dans le programme. Evitez galement d'utiliser de la mmoire temporaire ou de la
mmoire pouvant tre affecte par d'autres fonctions systme, telles que l'actualisation des
E/S. Utilisez uniquement de la mmoire M, DB global ou statique (dans un DB d'instance)
pour les affectations de M_BIT.

7.2

Temporisations
Vous utilisez les temporisations pour crer des retards programms. Le nombre de
temporisations que vous pouvez utiliser dans votre programme utilisateur est limit
uniquement par la quantit de mmoire dans la CPU. Chaque temporisation utilise une
structure de DB de 16 octets de type de donnes IEC_Timer pour conserver les donnes de
la temporisation, cette structure tant indique au-dessus de la bote ou de la bobine. STEP
7 cre automatiquement le DB lorsque vous insrez l'instruction.

Tableau 7- 17 Temporisations
Botes CONT/LOG Bobines
CONT

Description
La temporisation TP gnre une impulsion de dure prdfinie.

La temporisation TON met la sortie Q 1 aprs un temps de retard prdfini.

La temporisation TOF met la sortie Q 0 aprs un temps de retard prdfini.

Automate programmable S7-1200

172

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.2 Temporisations

Botes CONT/LOG Bobines


CONT

Description
La temporisation TONR met la sortie Q 1 aprs un temps de retard prdfini. Le
temps coul est accumul sur plusieurs priodes de temps jusqu' ce que l'entre R
soit utilise pour rinitialiser le temps coul.

LOG uniquement :

La bobine PT (Charger dure) charge une nouvelle valeur de temps prdfinie dans la
temporisation IEC_Timer spcifie.

LOG uniquement :

La bobine RT (Rinitialiser temporisation) rinitialise la temporisation IEC_Timer


spcifie.

STEP 7 cre automatiquement le DB lorsque vous insrez l'instruction.

Tableau 7- 18 Types de donnes pour les paramtres


Paramtre

Type de
donnes

Description

Bote : IN
Bobine : Flux de courant

Bool

TP, TON et TONR :


Bote : 0=dsactiver la temporisation, 1=activer la temporisation
Bobine : pas de flux de courant=dsactiver la temporisation, flux de
courant=activer la temporisation
TOF :
Bote : 0=activer la temporisation, 1=dsactiver la temporisation
Bobine : pas de flux de courant=activer la temporisation, flux de
courant=dsactiver la temporisation

Bool

Bote TONR uniquement :


0=pas de rinitialisation
1=remettre le temps coul et le bit Q 0

Bote : PT
Bobine : "PRESET_Tag"

Time

Bote ou bobine de temporisation : Entre valeur de temps prdfinie

Bote : Q
Bobine : DBdata.Q

Bool

Bote ou bobine de temporisation : Sortie temporise


Pour les bobines de temporisation, vous devez adresser le bit Q dans les
donnes du DB de temporisation.

Bote : ET
Bobine : DBdata.ELAPSED

Time

Bote ou bobine de temporisation : Sortie temps coul


Pour les bobines de temporisation, vous devez adresser la valeur
ELAPSED dans les donnes du DB de temporisation.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

173

Instructions de base
7.2 Temporisations
Tableau 7- 19 Effet des modifications de valeur dans les paramtres PT et IN
Temporisation

Modifications des paramtres de bote PT et IN et des paramtres de bobine correspondants

TP

La modification de PT n'a pas d'effet pendant que la temporisation s'excute.

La modification de IN n'a pas d'effet pendant que la temporisation s'excute.

La modification de PT n'a pas d'effet pendant que la temporisation s'excute.

Le passage de IN FAUX pendant que la temporisation s'excute rinitialise et arrte la


temporisation.

La modification de PT n'a pas d'effet pendant que la temporisation s'excute.

Le passage de IN VRAI pendant que la temporisation s'excute rinitialise et arrte la


temporisation.

La modification de PT n'a pas d'effet pendant que la temporisation s'excute mais a un effet lorsque
la temporisation reprend.

Le passage de IN FAUX pendant que la temporisation s'excute arrte la temporisation mais ne la


rinitialise pas. Si IN repasse VRAI, la temporisation recommence s'couler partir de la valeur
de temps accumule.

TON

TOF

TONR

Les valeurs PT (temps prdfini) et ET (temps coul) sont sauvegardes dans les donnes
DB IEC_TIMER spcifies en tant qu'entiers doubles signs reprsentant des millisecondes.
Les donnes TIME utilisent l'identificateur T# et peuvent tre entres en tant qu'units de
temps simple (T#200ms ou 200) ou units de temps composes (T#2s_200ms).
Tableau 7- 20 Taille et plage du type de donnes de TIME
Type de
donnes
TIME

Taille

Plages valides1

32 bits, stocks T#-24d_20h_31m_23s_648ms T#24d_20h_31m_23s_647ms


comme donnes Stocks comme -2 147 483 648 ms +2 147 483 647 ms
DInt

La plage ngative du type de donnes TIME indique ci-dessus ne peut pas tre utilise avec les temporisations. Les
valeurs ngatives de PT (temps prdfini) sont mises zro lorsque l'instruction de temporisation est excute. ET
(temps coul) est toujours une valeur positive.

Automate programmable S7-1200

174

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.2 Temporisations

Exemple de bobine de temporisation


Les bobines de temporisation -(TP)-, -(TON)-, -(TOF)- et -(TONR)- doivent tre la dernire
instruction dans un rseau CONT. Comme illustr dans l'exemple de temporisation, un
contact dans un rseau suivant value le bit Q dans les donnes DB IEC_Timer de la bobine
de temporisation. De mme, vous devez accder l'lment ELAPSED dans les donnes
DB IEC_timer si vous souhaitez utiliser la valeur de temps coul dans votre programme.

La temporisation d'impulsion dmarre lors d'un front montant de la valeur de bit Tag_Input.
La temporisation s'coule pendant la dure indique par la valeur de temps Tag_Time.

Tant que la temporisation s'excute, l'tat de DB1.MyIEC_Timer.Q est gal 1 et la valeur


de Tag_Output est gale 1. Lorsque la valeur Tag_Time est coule, DB1.MyIEC_Timer.Q
est gal 0 et la valeur de Tag_Output est gale 0.

Bobines Rinitialiser temporisation -(RT)- et Charger dure -(PT)Ces bobines peuvent tre utilises avec des botes ou des bobines de temporisation et
peuvent tre places en position mdiane. L'tat du flux de courant sortant de la bobine est
toujours le mme que l'tat l'entre de la bobine. Lorsque la bobine -(RT)- est active,
l'lment de temps ELAPSED des donnes DB IEC_Timer indiques est remis 0. Lorsque
la bobine -(PT)- est active, l'lment de temps PRESET des donnes DB DB IEC_Timer
indiques est remis 0.
Remarque
Lorsque vous placez des temporisations dans un FB, vous pouvez slectionner l'option "Bloc
de donnes multi-instance". Les noms des structures de temporisation peuvent tre
diffrents avec des structures de donnes distinctes, mais les donnes de temporisation
sont stockes dans un bloc de donnes unique et ne ncessitent pas de bloc de donnes
spar pour chaque temporisation. Cela rduit le temps de traitement et l'espace mmoire
ncessaire pour la gestion des temporisations. Il n'y a pas d'interaction entre les structures
des donnes de temporisation dans le DB multi-instance partag.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

175

Instructions de base
7.2 Temporisations

Fonctionnement des temporisations


Tableau 7- 21 Types de temporisations CEI
Temporisation

Chronogramme

TP : temporisation sous forme d'impulsion

,1

La temporisation TP gnre une impulsion de dure


prdfinie.

(7
37

4
37

TON : temporisation sous forme de retard la monte


La temporisation TON met la sortie Q 1 aprs un
temps de retard prdfini.

37

37

,1

(7
37

TOF : temporisation sous forme de retard la retombe


La temporisation TOF met la sortie Q 0 aprs un
temps de retard prdfini.

37

37

,1

(7
37

TONR : temporisation sous forme de retard la monte


mmoris

,1

La temporisation TONR met la sortie Q 1 aprs un


temps de retard prdfini. Le temps coul est
accumul sur plusieurs priodes de temps jusqu' ce
que l'entre R soit utilise pour rinitialiser le temps
coul.

(7

37

37

37

Automate programmable S7-1200

176

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.2 Temporisations

Remarque
Dans la CPU, aucune ressource rserve n'est alloue une temporisation spcifique. Au
lieu de cela, chaque temporisation utilise sa propre structure de temporisation dans la
mmoire DB et une temporisation CPU interne s'excutant en continu pour effectuer la
synchronisation.
Lorsqu'une temporisation est dmarre en raison d'un front l'entre d'une instruction TP,
TON, TOF ou TONR, la valeur de la temporisation CPU interne s'excutant en continu est
copie dans l'lment START de la structure de DB alloue cette instruction de
temporisation. Cette valeur de dmarrage reste inchange tant que la temporisation
continue s'excuter et est utilise plus tard chaque fois que la temporisation est
actualise. A chaque fois que la temporisation est dmarre, une nouvelle valeur de
dmarrage est charge de la temporisation CPU interne dans la structure de la
temporisation.
Lorsqu'une temporisation est actualise, la valeur de dmarrage dcrite ci-dessus est
soustraite de la valeur en cours de la temporisation CPU interne pour dterminer le temps
coul. Le temps coul est alors compar la valeur prdfinie pour dterminer l'tat du bit
Q de la temporisation. Les lments ELAPSED et Q sont alors actualiss dans la structure
de DB alloue cette temporisation. Notez que le temps coul est limit la valeur
prdfinie (la temporisation ne continue pas cumuler le temps coul une fois la valeur
prdfinie atteinte).
Une temporisation est actualise uniquement lorsque :
une instruction de temporisation (TP, TON, TOF ou TONR) est excute,
l'lment ELAPSED de la structure de temporisation dans le DB est rfrenc
directement par une instruction,
l'lment Q de la structure de temporisation dans le DB est rfrenc directement par
une instruction.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

177

Instructions de base
7.2 Temporisations

Programmation des temporisations


Vous devez tenir compte des consquences suivantes du fonctionnement des
temporisations lors de la planification et de la cration de votre programme utilisateur :
Plusieurs actualisations d'une temporisation peuvent avoir lieu dans le mme cycle. La
temporisation est actualise chaque fois que l'instruction de temporisation (TP, TON,
TOF, TONR) est excute et chaque fois que l'lment ELAPSED ou Q de la structure
de temporisation est utilis comme paramtre d'une autre instruction excute. Cela
constitue un avantage si vous voulez disposer des dernires donnes de temps
(sensiblement une lecture directe de la temporisation). Toutefois, si vous dsirez avoir
des valeurs cohrentes durant tout un cycle de programme, vous devez placer votre
instruction de temporisation avant toutes les autres instructions ayant besoin de ces
valeurs et utiliser des variables connectes aux sorties Q et ET de l'instruction de
temporisation plutt que les lments ELAPSED et Q de la structure de DB de
temporisation.
Il peut y avoir des cycles pendant lesquels une temporisation n'est pas actualise. Il est
possible de dmarrer une temporisation dans une fonction et de ne plus appeler cette
fonction pendant un ou plusieurs cycles. Si aucune autre instruction rfrenant les
lments ELAPSED ou Q de la structure de temporisation n'est excute, la
temporisation n'est pas actualise. Il n'y aura pas d'actualisation tant que l'instruction de
temporisation n'est pas rexcute ou qu'une autre instruction utilisant l'lment
ELAPSED ou Q de la structure de temporisation comme paramtre n'est pas excute.
Bien que cela ne soit pas typique, vous pouvez affecter la mme structure de
temporisation plusieurs instructions de temporisation. Mais en gnral, pour viter des
interactions imprvisibles, vous n'utiliserez qu'une instruction de temporisation (TP, TON,
TOF, TONR) par structure de temporisation.
Les temporisations auto-rinitialisation sont utiles pour dclencher des actions qui
doivent se produire priodiquement. Typiquement, vous crez des temporisations autorinitialisation en plaant un contact ouverture qui rfrence le bit de temporisation
devant l'instruction de temporisation. Ce rseau de temporisation est typiquement situ
au-dessus d'un ou de plusieurs rseaux dpendants qui utilisent le bit de temporisation
pour dclencher des actions. Lorsque la temporisation expire (le temps coul atteint la
valeur prdfinie), le bit de temporisation est 1 pour un cycle, permettant ainsi la
logique de rseau dpendante pilote par le bit de temporisation de s'excuter. Lors de
l'excution suivante du rseau de temporisation, le contact ouverture est dsactiv, ce
qui rinitialise la temporisation et efface le bit de temporisation. Au cycle suivant, le
contact ouverture est activ ce qui redmarre la temporisation. Lors de la cration
d'une telle temporisation auto-rinitialisation, n'utilisez pas l'lment Q de la structure
de DB de temporisation comme paramtre pour le contact ouverture devant l'instruction
de temporisation, mais utilisez la variable connecte la sortie Q de l'instruction de
temporisation. En effet, il ne faut pas accder l'lment Q de la structure de DB de
temporisation, car cela provoque une actualisation de la temporisation et que, si la
temporisation est actualise en raison du contact ouverture, le contat rinitialisera
l'instruction de temporisation immdiatement. La sortie Q de l'instruction de temporisation
ne sera pas 1 pour un cycle et les rseaux dpendants ne s'excuteront pas.

Automate programmable S7-1200

178

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.2 Temporisations

Conservation des donnes de temporisation aprs une transition MARCHE-ARRET-MARCHE ou une


mise hors tension puis sous tension de la CPU
Si une session MARCHE se termine par passage l'tat ARRET ou mise hors tension puis
sous tension de la CPU et qu'une nouvelle session MARCHE est dmarre, les donnes de
temporisation sauvegardes l'tat MARCHE prcdent sont perdues moins que la
structure de donnes de temporisation n'ait t dfinie comme rmanente (temporisations
TP, TON, TOF et TONR).
Lorsque vous acceptez les valeurs par dfaut dans la bote de dialogue d'options d'appel
aprs avoir insr une temporisation dans l'diteur de programmes, un DB d'instance qui ne
peut pas tre dfini comme rmanent vous est automatiquement affect. Pour assurer la
rmanence de vos donnes de temporisation, vous devez donc utiliser soit un DB global,
soit un DB multi-instance.

Affectation d'un DB global pour sauvegarder les donnes de temporisation comme donnes
rmanentes
Cette option fonctionne quel que soit l'endroit o se trouve la temporisation (OB, FC ou FB).
1. Crez un DB global :
Double-cliquez sur "Ajouter nouveau bloc" dans l'arborescence de projet.
Cliquez sur l'icne de bloc de donnes (DB).
Choisissez DB global comme type.
Vrifiez que la case "Optimis" est coche pour le type de DB si vous dsirez pouvoir
dfinir des lments individuels de ce DB comme rmanents. L'autre option de type
de DB "Standard - compatible avec S7-300/400" permet uniquement de dfinir tous
les lments de DB soit comme rmanents, soit comme non rmanents.
Cliquez sur OK.
2. Ajoutez une ou des structures de temporisation au DB :
Dans le nouveau DB global, ajoutez une nouvelle variable statique en utilisant le type
de donnes IEC_Timer.
Cochez la case dans la colonne "Rmanence" afin que cette structure soit rmanente.
Rptez cette procdure pour crer des structures pour toutes les temporisations que
vous voulez sauvegarder dans ce DB. Vous pouvez soit placer chaque structure de
temporisation dans un DB global unique, soit placer plusieurs structures de
temporisation dans le mme DB global. Vous pouvez galement placer d'autres
variables statiques en plus des temporisations dans ce DB global. Insrer plusieurs
structures de temporisation dans le mme DB global permet de rduire le nombre
total de vos blocs.
Renommez les structures de temporisation si vous le souhaitez.
3. Ouvrez dans l'diteur le bloc de programme dans lequel vous voulez placer une
temporisation rmanente (OB, FC ou FB).
4. Placez la temporisation l'emplacement dsir.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

179

Instructions de base
7.2 Temporisations
5. Lorsque la bote de dialogue des options d'appel s'affiche, cliquez sur le bouton Annuler.
6. Au-dessus de la nouvelle temporisation, tapez le nom (sans utiliser l'icne d'aide la
navigation) du DB global et de la structure de temporisation que vous avez crs
auparavant (exemple : "Data_block_3.Static_1").

Affectation d'un DB multi-instance pour sauvegarder les donnes de temporisation comme donnes
rmanentes
Cette option ne fonctionne que si vous placez la temporisation dans un FB.
Cette option dpend du fait que le FB a ou non t cr avec accs "optimis" (accs
symbolique uniquement). Une fois le FB cr, vous ne pouvez plus modifier la case cocher
pour "Optimis". Vous devez faire le choix correct au moment o vous crez le FB, sur le
premier cran aprs avoir slectionn "Ajouter nouveau bloc" dans l'arborescence. Pour
vrifier comment l'attribut d'accs est configur pour un FB existant, cliquez avec le bouton
droit de la souris sur le FB dans l'arborescence de projet, slectionnez "Proprits", puis
slectionnez "Attributs".
Si le FB a t cr avec la case "Optimis" coche (accs symbolique uniquement) :
1. Ouvrez le FB dans l'diteur.
2. Placez la temporisation l'emplacement dsir dans le FB.
3. Lorsque la bote de dialogue des options d'appel s'affiche, cliquez sur l'icne
"Multiinstance". L'option Multiinstance n'est disponible que si l'instruction est insre dans
un FB.
4. Dans la bote de dialogue des options d'appel, renommez la temporisation si vous le
souhaitez.
5. Cliquez sur OK. L'instruction de temporisation apparat dans l'diteur et la structure
IEC_TIMER apparat dans l'interface de FB sous Statique.
6. Si ncessaire, ouvrez l'diteur d'interface de FB (vous devrez peut-tre cliquer sur la
petite flche pour agrandir la vue).
7. Sous Statique, localisez la structure de temporisation qui vient d'tre cre pour vous.
8. Dans la colonne Rmanence de cette structure de temporisation, changez la slection
"Rmanence". Plus tard, chaque fois que ce FB sera appel dans un autre bloc de
programme, un DB d'instance sera cr avec cette dfinition d'interface qui contient la
structure de temporisation dfinie comme rmanente.
Si le FB a t cr avec la case "Standard - compatible avec S7-300/400" coche (accs
symbolique et accs direct) :
1. Ouvrez le FB dans l'diteur.
2. Placez la temporisation l'emplacement dsir dans le FB.
3. Lorsque la bote de dialogue des options d'appel s'affiche, cliquez sur l'icne
"Multiinstance". L'option Multiinstance n'est disponible que si l'instruction est insre dans
un FB.
4. Dans la bote de dialogue des options d'appel, renommez la temporisation si vous le
souhaitez.

Automate programmable S7-1200

180

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.3 Compteurs
5. Cliquez sur OK. L'instruction de temporisation apparat dans l'diteur et la structure
IEC_TIMER apparat dans l'interface de FB sous Statique.
6. Ouvrez le bloc qui utilisera ce FB.
7. Placez ce FB l'emplacement dsir. Cela entrane la cration d'un bloc de donnes
d'instance pour ce FB.
8. Ouvrez le bloc de donnes d'instance qui a t cr lorsque vous avez plac le FB dans
l'diteur.
9. Sous Statique, localisez la structure de temporisation qui vous intresse. Dans la colonne
Rmanence de cette structure de temporisation, cochez la case pour rendre cette
structure rmanente.

7.3

Compteurs

Tableau 7- 22 Compteurs
CONT/LOG

Description
Utilisez les compteurs pour compter des vnements de programme internes et des vnements de
processus externes. Chaque compteur utilise une structure sauvegarde dans un bloc de donnes afin
de conserver les donnes du compteur. Vous affectez le bloc de donnes lors du placement du
compteur dans l'diteur.

CTU est un compteur de comptage.

CTD est un compteur de dcomptage.

CTUD est un compteur de comptage et de dcomptage.

Pour CONT et LOG : Slectionnez le type de donnes de la valeur de comptage dans la liste droulante sous le nom de
l'instruction.

STEP 7 cre automatiquement le DB lorsque vous insrez l'instruction.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

181

Instructions de base
7.3 Compteurs
Tableau 7- 23 Types de donnes pour les paramtres
Paramtre

Type de donnes1

Description

CU, CD

Bool

Compter ou dcompter, d'une valeur de 1

R (CTU, CTUD)

Bool

Remise zro de la valeur de comptage

LOAD (CTD, CTUD)

Bool

Commande de chargement pour la valeur prdfinie

PV

SInt, Int, DInt, USInt, UInt, UDInt

Valeur de comptage prdfinie

Q, QU

Bool

Vrai si CV >= PV

QD

Bool

Vrai si CV <= 0

CV

SInt, Int, DInt, USInt, UInt, UDInt

Valeur de comptage en cours

La plage numrique des valeurs de comptage dpend du type de donnes que vous slectionnez. Si la valeur de
comptage est un entier non sign, vous pouvez dcompter jusqu' zro ou compter jusqu' la limite de plage. Si la
valeur de comptage est un entier sign, vous pouvez dcompter jusqu' la limite entire ngative et compter jusqu' la
limite entire positive.

Le nombre de compteurs que vous pouvez utiliser dans votre programme utilisateur est
limit uniquement par la quantit de mmoire dans la CPU. Les compteurs utilisent la
quantit de mmoire suivante :
Un compteur utilise 3 octets pour les types de donnes SInt ou USInt.
Un compteur utilise 6 octets pour les types de donnes Int ou UInt.
Un compteur utilise 12 octets pour les types de donnes DInt ou UDInt.
Ces instructions utilisent des compteurs logiciels dont la vitesse de comptage maximale est
limite par la vitesse d'excution de l'OB dans lequel ils se trouvent. Il faut excuter l'OB
dans lequel se trouvent les instructions suffisamment souvent pour dtecter toutes les
transitions des entres CU ou CD. Utilisez l'instruction CTRL_HSC (Page 317) pour disposer
d'oprations de comptage plus rapides.
Remarque
Lorsque vous placez des compteurs dans un FB, vous pouvez slectionner l'option "DB
multi-instance". Les noms des structures de compteur peuvent alors tre diffrents avec des
structures de donnes distinctes, mais les donnes de compteur sont contenues dans un
seul DB et vous n'avez pas besoin d'un DB distinct pour chaque compteur. Cela rduit le
temps de traitement et l'espace mmoire ncessaire pour les compteurs. Il n'y a pas
d'interaction entre les structures de donnes de compteur dans le DB multi-instance partag.

Automate programmable S7-1200

182

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.3 Compteurs

Fonctionnement des compteurs


Tableau 7- 24 Fonctionnement du compteur CTU
Compteur

Fonctionnement

Le compteur CTU incrmente de 1 lorsque la valeur du paramtre CU


passe de 0 1. Le chronogramme illustre le fonctionnement d'un
compteur CTU avec une valeur de comptage entire non signe (PV =
3).

&8

Si la valeur du paramtre CV (valeur de comptage en cours) est


suprieure ou gale la valeur du paramtre PV (valeur prdfinie),
le paramtre de sortie Q du compteur est gal 1.
Si la valeur du paramtre de rinitialisation R passe de 0 1, la
valeur de comptage en cours est remise 0.





&9

Tableau 7- 25 Fonctionnement du compteur CTD


Compteur
Le compteur CTD dcrmente de 1 lorsque la valeur du
paramtre CD passe de 0 1. Le chronogramme illustre le
fonctionnement d'un compteur CTD avec une valeur de
comptage entire non signe (PV = 3).

Si la valeur du paramtre CV (valeur de comptage en


cours) est infrieure ou gale 0, le paramtre de sortie Q
du compteur est gal 1.
Si la valeur du paramtre LOAD passe de 0 1, la valeur
dans le paramtre PV (valeur prdfinie) est charge dans
le compteur en tant que nouvelle valeur de comptage en
cours CV.

Fonctionnement
&'
/2$'






&9




Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

183

Instructions de base
7.3 Compteurs
Tableau 7- 26 Fonctionnement du compteur CTUD
Compteur

Fonctionnement

Le compteur CTUD incrmente


ou dcrmente de 1 en cas de
passage de 0 1 de l'entre de
comptage (CU) ou de
dcomptage (CD). Le
chronogramme illustre le
fonctionnement d'un compteur
CTUD avec une valeur de
comptage entire non signe
(PV = 4).

Si la valeur du paramtre CV
est suprieure ou gale la
valeur du paramtre PV
(valeur prdfinie), le
paramtre de sortie QU du
compteur est gal 1.
Si la valeur du paramtre CV
est infrieure ou gale
zro, le paramtre de sortie
QD du compteur est gal 1.

Si la valeur du paramtre
LOAD passe de 0 1, la
valeur dans le paramtre PV
est charge dans le
compteur en tant que
nouvelle valeur de comptage
en cours CV.

Si la valeur du paramtre de
rinitialisation R passe de 0
1, la valeur de comptage en
cours est remise 0.

&8
&'

/2$'





&9

48
4'

Conservation des donnes de compteur aprs une transition MARCHE-ARRET-MARCHE ou une


mise hors tension puis sous tension de la CPU
Si une session MARCHE se termine par passage l'tat ARRET ou mise hors tension puis
sous tension de la CPU et qu'une nouvelle session MARCHE est dmarre, les donnes de
compteur sauvegardes l'tat MARCHE prcdent sont perdues moins que la structure
de donnes de compteur n'ait t dfinie comme rmanente (compteurs CTU, CTD et
CTUD).
Lorsque vous acceptez les valeurs par dfaut dans la bote de dialogue d'options d'appel
aprs avoir insr un compteur dans l'diteur de programmes, un DB d'instance qui ne peut
pas tre dfini comme rmanent vous est automatiquement affect. Pour assurer la
rmanence de vos donnes de compteur, vous devez donc utiliser soit un DB global, soit un
DB multi-instance.

Automate programmable S7-1200

184

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.3 Compteurs

Affectation d'un DB global pour sauvegarder les donnes de compteur comme donnes rmanentes
Cette option fonctionne quel que soit l'endroit o se trouve le compteur (OB, FC ou FB).
1. Crez un DB global :
Double-cliquez sur "Ajouter nouveau bloc" dans l'arborescence de projet.
Cliquez sur l'icne de bloc de donnes (DB).
Choisissez DB global comme type.
Vrifiez que la case "Adressage symbolique uniquement" est coche si vous dsirez
pouvoir dfinir des lments individuels de ce DB comme rmanents.
Cliquez sur OK.
2. Ajoutez une ou des structures de compteur au DB :
Dans le nouveau DB global, ajoutez une nouvelle variable statique en utilisant l'un des
types de donnes de compteur. Veillez tenir compte du type que vous voulez utiliser
pour la valeur prdfinie et la valeur de comptage en cours.
Type de donnes compteur

Type correspondant pour les valeurs


prdfinie et de comptage en cours

IEC_Counter

INT

IEC_SCounter

SINT

IEC_DCounter

DINT

IEC_UCounter

UINT

IEC_USCounter

USINT

IEC_UDCounter

UDINT

1. Cochez la case dans la colonne "Rmanence" afin que cette structure soit rmanente.
Rptez cette procdure pour crer des structures pour tous les compteurs que vous
voulez sauvegarder dans ce DB. Vous pouvez soit placer chaque structure de
compteur dans un DB global unique, soit placer plusieurs structures de compteur dans
le mme DB global. Vous pouvez galement placer d'autres variables statiques en
plus des compteurs dans ce DB global. Insrer plusieurs structures de compteur dans
le mme DB global permet de rduire le nombre total de vos blocs.
Renommez les structures de compteur si vous le souhaitez.
2. Ouvrez dans l'diteur le bloc de programme dans lequel vous voulez placer un compteur
rmanent (OB, FC ou FB).
3. Placez le compteur l'emplacement dsir.
4. Lorsque la bote de dialogue des options d'appel s'affiche, cliquez sur le bouton Annuler.
Vous devriez maintenant voir un nouveau compteur avec "???" juste au-dessus et en
dessous du nom d'instruction.
5. Au-dessus du nouveau compteur, tapez le nom (sans utiliser l'icne d'aide la
navigation) du DB global et de la structure de compteur que vous avez crs auparavant
(exemple : "Data_block_3.Static_1"). Le type correspondant de la valeur prdfinie et de
la valeur en cours est alors complt (exemple : UInt pour une structure IEC_UCounter).

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

185

Instructions de base
7.3 Compteurs

Affectation d'un DB multi-instance pour sauvegarder les donnes de compteur comme donnes
rmanentes
Cette option ne fonctionne que si vous placez le compteur dans un FB.
Cette option dpend du fait que le FB a ou non t cr avec accs symbolique uniquement.
Une fois le FB cr, vous ne pouvez plus modifier la case cocher pour "Adressage
symbolique uniquement". Vous devez faire le choix correct au moment o vous crez le FB,
sur le premier cran aprs avoir slectionn "Ajouter nouveau bloc" dans l'arborescence.
Pour vrifier la configuration de cette case pour un FB existant, cliquez avec le bouton droit
de la souris sur le FB dans l'arborescence de projet, slectionnez "Proprits", puis
slectionnez "Attributs".
Si le FB a t cr avec la case "Adressage symbolique uniquement" coche :
1. Ouvrez le FB dans l'diteur.
2. Placez le compteur l'emplacement dsir dans le FB.
3. Lorsque la bote de dialogue des options d'appel s'affiche, cliquez sur l'icne
"Multiinstance". L'option Multiinstance n'est disponible que si l'instruction est insre dans
un FB.
4. Dans la bote de dialogue des options d'appel, renommez le compteur si vous le
souhaitez.
5. Cliquez sur OK. L'instruction de compteur apparat dans l'diteur avec le type INT pour la
valeur prdfinie et la valeur de comptage et la structure IEC_COUNTER apparat dans
l'interface de FB sous Statique.
6. Si dsir, changez le type INT dans le compteur en l'un des autres types proposs. La
structure de compteur changera de manire correspondante.
Type indiqu dans l'instruction de compteur
(pour la valeur prdfinie et la valeur de
comptage)

Type de structure correspondante montr


dans l'interface de FB

INT

IEC_Counter

SINT

IEC_SCounter

DINT

IEC_DCounter

UINT

IEC_UCounter

USINT

IEC_USCounter

UDINT

IEC_UDCounter

1. Si ncessaire, ouvrez l'diteur d'interface de FB (vous devrez peut-tre cliquer sur la


petite flche pour agrandir la vue).
2. Sous Statique, localisez la structure de compteur qui vient d'tre cre pour vous.
3. Dans la colonne Rmanence de cette structure de compteur, changez la slection
"Rmanence". Plus tard, chaque fois que ce FB sera appel dans un autre bloc de
programme, un DB d'instance sera cr avec cette dfinition d'interface qui contient la
structure de compteur dfinie comme rmanente.

Automate programmable S7-1200

186

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.3 Compteurs
Si le FB a t cr avec la case "Adressage symbolique uniquement" non coche :
1. Ouvrez le FB dans l'diteur.
2. Placez le compteur l'emplacement dsir dans le FB.
3. Lorsque la bote de dialogue des options d'appel s'affiche, cliquez sur l'icne
"Multiinstance". L'option Multiinstance n'est disponible que si l'instruction est insre dans
un FB.
4. Dans la bote de dialogue des options d'appel, renommez le compteur si vous le
souhaitez.
5. Cliquez sur OK. L'instruction de compteur apparat dans l'diteur avec le type INT pour la
valeur prdfinie et la valeur de comptage et la structure IEC_COUNTER apparat dans
l'interface de FB sous Statique.
6. Si dsir, changez le type INT dans le compteur en l'un des autres types proposs. La
structure de compteur changera de manire correspondante.
Type indiqu dans l'instruction de compteur
(pour la valeur prdfinie et la valeur de
comptage)

Type de structure correspondante montr


dans l'interface de FB

INT

IEC_Counter

SINT

IEC_SCounter

DINT

IEC_DCounter

UINT

IEC_UCounter

USINT

IEC_USCounter

UDINT

IEC_UDCounter

1. Ouvrez le bloc qui utilisera ce FB.


2. Placez ce FB l'emplacement dsir. Cela entrane la cration d'un bloc de donnes
d'instance pour ce FB.
3. Ouvrez le bloc de donnes d'instance qui a t cr lorsque vous avez plac le FB dans
l'diteur.
4. Sous Statique, localisez la structure de compteur qui vous intresse. Dans la colonne
Rmanence de cette structure de compteur, cochez la case pour rendre cette structure
rmanente.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

187

Instructions de base
7.4 Comparaison

7.4

Comparaison

7.4.1

Comparaison

Tableau 7- 27 Instructions de comparaison


CONT

LOG

Description
Compare deux valeurs ayant le mme type de donnes. Lorsque la comparaison
est vraie, le contact de comparaison CONT est activ. Lorsque la comparaison est
vraie, la sortie de la bote de comparaison LOG est VRAIE.

Pour CONT et LOG : Cliquez sur le nom de l'instruction ("==" par exemple) pour modifier le type de comparaison dans
la liste droulante. Cliquez sur "???" et slectionnez le type de donnes dans la liste droulante.

Tableau 7- 28 Types de donnes pour les paramtres


Paramtre

Type de donnes

Description

IN1, IN2

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, String, Char,
Time, DTL, constante

Valeurs comparer

Tableau 7- 29 Types de comparaison


Type de relation

La comparaison est vraie si ...

==

IN1 est gal IN2

<>

IN1 est diffrent de IN2

>=

IN1 est suprieur ou gal IN2

<=

IN1 est infrieur ou gal IN2

>

IN1 est suprieur IN2

<

IN1 est infrieur IN2

Automate programmable S7-1200

188

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.4 Comparaison

7.4.2

Instructions Valeur dans la plage et Valeur en dehors de la plage

Tableau 7- 30 Instructions Valeur dans la plage et Valeur en dehors de la plage


CONT/LOG

Description
Teste si une valeur d'entre se situe ou non l'intrieur d'une plage de valeurs indique.
Lorsque la comparaison est vraie, la sortie de la bote est VRAIE.

Pour CONT et LOG : Cliquez sur "???" et slectionnez le type de donnes dans la liste droulante.

Tableau 7- 31 Types de donnes pour les paramtres

Paramtre

Type de donnes1

Description

MIN, VAL, MAX

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, constante

Entres du comparateur

Les paramtres d'entre MIN, VAL et MAX doivent avoir le mme type de donnes.

La comparaison IN_RANGE est vraie si : MIN <= VAL <= MAX


La comparaison OUT_RANGE est vraie si : VAL < MIN ou VAL > MAX

7.4.3

Instructions Contrler validit et Contrler invalidit

Tableau 7- 32 Instructions Contrler validit et Contrler invalidit


CONT

LOG

Description
Teste si une rfrence de donne d'entre est un nombre rel valide selon la
spcification IEEE 754.

Pour CONT et LOG : Lorsque le rsultat du test est vrai, le contact CONT est activ et transmet le flux de courant.
Lorsque le rsultat du test est vrai, la sortie de la bote LOG est VRAIE.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

189

Instructions de base
7.5 Fonctions mathmatiques
Tableau 7- 33 Types de donnes pour le paramtre
Paramtre

Type de donnes

Description

IN

Real, LReal

Donnes d'entre

Tableau 7- 34 Fonctionnement

Instruction

Le test concernant le nombre rel est vrai si :

OK

La valeur d'entre est un nombre rel valide1.

NOT_OK

La valeur d'entre n'est pas un nombre rel valide1.

Une valeur Real ou LReal est invalide s'il s'agit de +/- INF (l'infini), NaN (pas un nombre) ou d'une valeur dnormalise.
Une valeur dnormalise est un nombre trs proche de zro. La CPU remplace la valeur dnormalise par un zro
dans les calculs.

7.5

Fonctions mathmatiques

7.5.1

Instruction Calculer

Tableau 7- 35 Instruction CALCULATE


CONT/LOG

Description
L'instruction CALCULATE permet de crer une fonction mathmatique qui opre sur les
entres (IN1, IN2, .. INn) et fournit le rsultat dans OUT, conformment l'quation que
vous dfinissez.

Slectionnez d'abord un type de donnes. Toutes les entres et la sortie doivent avoir le
mme type de donnes.

Pour ajouter une autre entre, cliquez sur l'icne ct de la dernire entre.

Tableau 7- 36 Types de donnes pour les paramtres

Paramtre

Type de donnes1

IN1, IN2, ..INn

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord

OUT

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord

Les paramtres IN et OUT doivent avoir le mme type de donnes (avec conversion implicite des paramtres d'entre).
Par exemple, une valeur SINT pour une entre sera convertie en valeur INT ou REAL si OUT est un entier (INT) ou un
rel (REAL).

Cliquez sur l'icne du calculateur pour ouvrir la bote de dialogue et dfinir votre fonction
mathmatique. Vous entrez votre quation sous forme d'entres (telles que IN1 et IN2) et
d'oprations. Lorsque vous cliquez sur "OK" pour sauvegarder la fonction, le dialogue cre
automatiquement les entres pour l'instruction CALCULATE.

Automate programmable S7-1200

190

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.5 Fonctions mathmatiques
Un exemple et une liste des oprations mathmatiques que vous pouvez inclure sont
prsents au bas de l'diteur.

Remarque
Vous devez galement crer une entre pour chaque constante dans votre fonction. La
valeur constante sera alors entre dans l'entre associe pour l'instruction CALCULATE.
Le fait d'entrer des constantes sous forme d'entres vous permet de copier l'instruction
CALCULATE d'autres endroits dans votre programme utilisateur sans avoir changer la
fonction. Vous pouvez alors modifier les valeurs ou les variables des entres pour
l'instruction sans modifier la fonction.
Lorsque CALCULATE est excut et que toutes les oprations individuelles dans le calcul
s'achvent avec succs, ENO est gal 1. Sinon, ENO est gal 0.

7.5.2

Instructions Addition, Soustraction, Multiplication et Division

Tableau 7- 37 Instructions Addition, Soustraction, Multiplication et Division


CONT/LOG

Description

ADD : Addition (IN1 + IN2 = OUT)

SUB : Soustraction (IN1 - IN2 = OUT)

MUL : Multiplication (IN1 * IN2 = OUT)

DIV : Division (IN1 / IN2 = OUT)


Une division sur des entiers tronque la partie fractionnaire du quotient afin de produire une sortie
entire.
1

Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

191

Instructions de base
7.5 Fonctions mathmatiques
Tableau 7- 38 Types de donnes pour les paramtres (CONT et LOG)
Paramtre

Type de donnes1

Description

IN1, IN2

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, constante

Entres de l'opration
mathmatique

OUT

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal

Sortie de l'opration
mathmatique

Les paramtres IN1, IN2 et OUT doivent avoir le mme type de donnes.

Pour ajouter une entre ADD ou MUL, cliquez sur l'icne de cration ou cliquez
avec le bouton droit de la souris sur la ligne d'entre de l'un des paramtres IN
existants et slectionnez la commande "Insrer entre".
Pour supprimer une entre, cliquez avec le bouton droit de la souris sur la ligne d'entre de
l'un des paramtres IN existants (lorsqu'il y a plus d'entres que les deux entres d'origine)
et slectionnez la commande "Supprimer".
Lorsqu'elle est valide (EN = 1), l'instruction mathmatique effectue l'opration spcifie sur
les valeurs d'entre (IN1 et IN2) et mmorise le rsultat dans l'adresse de mmoire indique
par le paramtre de sortie (OUT). Une fois l'opration acheve avec succs, l'instruction met
ENO 1.
Tableau 7- 39 Etat de ENO
ENO

Description

Pas d'erreur

Le rsultat de l'opration mathmatique se situerait hors de la plage de nombres valide du type de


donnes slectionn. La partie la moins significative du rsultat qui tient dans la taille de destination est
renvoye.

Division par 0 (IN2 = 0) : Le rsultat est indfini et zro est renvoy.

Real/LReal : Si l'une des valeurs d'entre est NaN (pas un nombre), NaN est renvoy.

ADD Real/LReal : Si les deux valeurs d'entre sont l'infini avec des signes diffrents, il s'agit d'une
opration interdite et NaN est renvoy.

SUB Real/LReal : Si les deux valeurs d'entre sont l'infini avec le mme signe, il s'agit d'une opration
interdite et NaN est renvoy.

MUL Real/LReal : Si une valeur d'entre est zro et l'autre est l'infini, il s'agit d'une opration interdite et
NaN est renvoy.

DIV Real/LReal : Si les deux valeurs d'entre sont zro ou l'infini, il s'agit d'une opration interdite et NaN
est renvoy.

Automate programmable S7-1200

192

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.5 Fonctions mathmatiques

7.5.3

Instruction Modulo

Tableau 7- 40 Instruction MOD


CONT/LOG

Description
Vous pouvez utiliser l'instruction MOD pour renvoyer le reste d'une division entire. La valeur dans
l'entre IN1 est divise par la valeur dans l'entre IN2 et le reste est renvoy dans la sortie OUT.

Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.

Tableau 7- 41 Types de donnes pour les paramtres

Paramtre

Type de donnes1

Description

IN1 et IN2

SInt, Int, DInt, USInt, UInt, UDInt, constante

Entres de l'opration modulo

OUT

SInt, Int, DInt, USInt, UInt, UDInt

Sortie de l'opration modulo

Les paramtres IN1, IN2et OUTdoivent avoir le mme type de donnes.

Tableau 7- 42 Valeurs de ENO


ENO

Description

Pas d'erreur

Valeur IN2 = 0 ; la valeur zro est affecte OUT.

7.5.4

Instruction Ngation

Tableau 7- 43 Instruction NEG


CONT/LOG

Description
L'instruction NEG inverse le signe arithmtique de la valeur dans le paramtre IN et mmorise le
rsultat dans le paramtre OUT.

Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

193

Instructions de base
7.5 Fonctions mathmatiques
Tableau 7- 44 Types de donnes pour les paramtres
Paramtre

Type de donnes1

Description

IN

SInt, Int, DInt, Real, LReal, constante

Entre de l'opration mathmatique

OUT

SInt, Int, DInt, Real, LReal

Sortie de l'opration mathmatique

Les paramtres IN et OUT doivent avoir le mme type de donnes.

Tableau 7- 45 Etat de ENO


ENO

Description

Pas d'erreur

La valeur rsultante se situe hors de la plage de nombres valide du type de donnes slectionn.
Exemple pour SInt : NEG (-128) donne comme rsultat +128 qui dpasse le maximum du type de
donnes.

7.5.5

Instructions Incrmenter et Dcrmenter

Tableau 7- 46 Instructions INC et DEC


CONT/LOG

Description
Incrmente une valeur entire signe ou non signe :
valeur IN_OUT +1 = valeur IN_OUT

Dcrmente une valeur entire signe ou non signe :


valeur IN_OUT - 1 = valeur IN_OUT

Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.

Tableau 7- 47 Types de donnes pour les paramtres


Paramtre

Type de donnes

Description

IN/OUT

SInt, Int, DInt, USInt, UInt, UDInt

Entre et sortie de l'opration mathmatique

Tableau 7- 48 Etat de ENO


ENO

Description

Pas d'erreur

La valeur rsultante se situe hors de la plage de nombres valide du type de donnes slectionn.
Exemple pour SInt : INC (+127) donne comme rsultat +128 qui dpasse le maximum du type de
donnes.
Automate programmable S7-1200

194

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.5 Fonctions mathmatiques

7.5.6

Instruction Valeur absolue

Tableau 7- 49 Instruction ABS


CONT/LOG

Description
Calcule la valeur absolue d'un nombre rel ou entier sign dans le paramtre IN et mmorise le rsultat
dans le paramtre OUT.

Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.

Tableau 7- 50 Types de donnes pour les paramtres


Description

Paramtre

Type de donnes1

IN

SInt, Int, DInt, Real, LReal

Entre de l'opration mathmatique

OUT

SInt, Int, DInt, Real, LReal

Sortie de l'opration mathmatique

Les paramtres IN et OUT doivent avoir le mme type de donnes.

Tableau 7- 51 Etat de ENO


ENO

Description

Pas d'erreur

Le rsultat de l'opration mathmatique se situe hors de la plage de nombres valide du type de donnes
slectionn.
Exemple pour SInt : ABS (-128) donne comme rsultat +128 qui dpasse le maximum du type de
donnes.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

195

Instructions de base
7.5 Fonctions mathmatiques

7.5.7

Instructions Calculer le minimum et Calculer le maximum

Tableau 7- 52 Instructions MIN et MAX


CONT/LOG

Description
L'instruction MIN compare la valeur de deux paramtres IN1 et IN2 et affecte la valeur minimale
(infrieure) au paramtre OUT.

L'instruction MAX compare la valeur de deux paramtres IN1 et IN2 et affecte la valeur maximale
(suprieure) au paramtre OUT.

Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.

Tableau 7- 53 Types de donnes pour les paramtres


Paramtre

Type de donnes1

Description

IN1, IN2
[...IN32]

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, constante

Entres de l'opration mathmatique


(jusqu' 32 entres)

OUT

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal

Sortie de l'opration mathmatique

Les paramtres IN1, IN2 et OUT doivent avoir le mme type de donnes.

Pour ajouter une entre , cliquez sur l'icne de cration ou cliquez avec le
bouton droit de la souris sur la ligne d'entre de l'un des paramtres IN existants
et slectionnez la commande "Insrer entre".
Pour supprimer une entre, cliquez avec le bouton droit de la souris sur la ligne d'entre de
l'un des paramtres IN existants (lorsqu'il y a plus d'entres que les deux entres d'origine)
et slectionnez la commande "Supprimer".
Tableau 7- 54 Etat de ENO
ENO

Description

Pas d'erreur

Pour le type de donnes Real uniquement :

Une ou plusieurs entres ne sont pas des nombres rels (NaN).

La valeur OUT rsultante est +/- INF (l'infini).

Automate programmable S7-1200

196

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.5 Fonctions mathmatiques

7.5.8

Instruction Dfinir une limite

Tableau 7- 55 Instruction LIMIT


CONT/LOG

Description
L'instruction Limit teste si la valeur du paramtre IN se situe l'intrieur de la plage de valeurs indique
par les paramtres MIN et MAX and if not, clamps the value at MIN or MAX. et, si ce n'est pas le cas,
limite la valeur MIN ou MAX.

Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.

Tableau 7- 56 Types de donnes pour les paramtres


Paramtre

Type de donnes1

Description

MIN, INet MAX

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, constante

Entres de l'opration
mathmatique

OUT

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal

Sortie de l'opration
mathmatique

Les paramtres MIN, IN, MAX et OUT doivent avoir le mme type de donnes.

Si la valeur du paramtre IN se situe l'intrieur de la plage indique, la valeur de IN est


mmorise dans le paramtre OUT. Si la valeur du paramtre IN se situe hors de la plage
indique, OUT prend la valeur du paramtre MIN (si la valeur de IN est infrieure la valeur
MIN) ou la valeur du paramtre MAX (si la valeur de IN est suprieure la valeur MAX).
Tableau 7- 57 Etat de ENO
ENO

Description

Pas d'erreur

Real : Si une ou plusieurs des valeurs de MIN, IN et MAX sont NaN (pas des nombres), NaN est renvoy.

Si MIN est suprieur MAX, la valeur IN est affecte OUT.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

197

Instructions de base
7.5 Fonctions mathmatiques

7.5.9

Instructions mathmatiques virgule flottante


Vous utilisez les instructions virgule flottante pour programmer des oprations
mathmatiques avec le type de donnes Real ou LReal :
SQR : Carr (IN 2 = OUT)
SQRT : Racine carre (IN = OUT)
LN : Logarithme nprien (LN(IN) = OUT)
EXP : Fonction exponentielle (e IN = OUT), avec base e = 2,71828182845904523536
EXPT : Elever la puissance (IN1 IN2 = OUT)
Les paramtres IN1 et OUT de EXPT ont toujours le mme type de donnes, savoir
Real ou LReal. Vous pouvez slectionner le type de donnes pour l'exposant IN2 parmi
de nombreux types de donnes.
FRAC : Calculer le nombre de dcimales (partie fractionnaire du nombre virgule
flottante IN = OUT)
SIN : Sinus (sin(IN radians) = OUT)
ASIN : Arc sinus (arcsine(IN) = OUT radians), avec sin(OUT radians) = IN
COS : Cosinus (cos(IN radians) = OUT)
ACOS : Arc cosinus (arccos(IN) = OUT radians), avec cos(OUT radians) = IN
TAN : Tangente (tan(IN radians) = OUT)
ATAN : Arc tangente (arctan(IN) = OUT radians), avec tan(OUT radians) = IN

Tableau 7- 58 Exemples d'instructions mathmatiques virgule flottante


CONT/LOG

Description
Carr : IN 2 = OUT
Par exemple : Si IN est gal 9, alors OUT est gal 81.

Elever la puissance : IN1IN2= OUT


Par exemple : Si IN1 est gal 3 et IN2 est gal 2, alors OUT est gal 9.

Pour CONT et LOG : Cliquez sur "???" (prs du nom de l'instruction) et slectionnez un type de donnes dans le menu
droulant.

Tableau 7- 59 Types de donnes pour les paramtres


Paramtre

Type de donnes

Description

IN, IN1

Real, LReal, constante

Entres

IN2

SInt, Int, DInt, USInt, UInt,UDInt, Real, LReal, constante

Entre exposant EXPT

OUT

Real, LReal

Sorties

Automate programmable S7-1200

198

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.5 Fonctions mathmatiques
Tableau 7- 60 Etat de ENO
ENO

Instruction

Situation d'erreur

Rsultat (OUT)

Toutes

Pas d'erreur

Rsultat valide

SQR

Le rsultat dpasse la plage Real/LReal valide.

+INF

IN est +/- NaN (pas un nombre)

+NaN

SQRT
LN
EXP

IN est ngatif.

-NaN

IN est +/- INF (l'infini) ou +/- NaN.

+/- INF ou +/- NaN

IN est 0.0, ngatif, -INF ou -NaN.

-NaN

IN est +INF ou +NaN.

+INF ou +NaN

Le rsultat dpasse la plage Real/LReal valide.

+INF

IN est +/- NaN.

+/- NaN

SIN, COS, TAN

IN est +/- INF ou +/- NaN.

+/- INF ou +/- NaN

ASIN, ACOS

IN se situe en dehors de la plage valide de -1.0


+1.0.

+NaN

IN est +/- NaN.

+/- NaN

IN est +/- NaN.

+/- NaN

FRAC

IN est +/- INF ou +/- NaN.

+NaN

EXPT

IN1 est +INF et IN2 n'est pas -INF.

+INF

IN1 est ngatif ou -INF.

+NaN si IN2 est Real/LReal,


-INF sinon

IN1 ou IN2 est +/- NaN.

+NaN

IN1 est 0.0 et IN2 est Real/LReal (seulement).

+NaN

ATAN

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

199

Instructions de base
7.6 Transfert

7.6

Transfert

7.6.1

Instructions Copier valeur et Copier zone


Utilisez les instructions de transfert pour copier des lments de donnes une nouvelle
adresse mmoire et les convertir en un autre type de donnes. Les donnes source ne sont
pas modifies par le processus de transfert.
L'instruction MOVE copie un lment de donnes unique de l'adresse source indique
par le paramtre IN dans l'adresse de destination indique par le paramtre OUT.
Les instructions MOVE_BLK et UMOVE_BLK disposent d'un paramtre COUNT
supplmentaire. COUNT prcise combien d'lments de donnes doivent tre copis. Le
nombre d'octets par lment copi dpend du type de donnes affect aux noms de
variable des paramtres IN et OUT dans la table des variables API.

Tableau 7- 61 Instructions MOVE, MOVE_BLK et UMOVE_BLK


CONT/LOG

Description
Copie un lment de donnes stock l'adresse indique dans une ou plusieurs nouvelles adresses.1

Copie de zone interruptible qui copie une zone d'lments de donnes une nouvelle adresse.

Copie de zone contigu qui copie une zone d'lments de donnes une nouvelle adresse.

Instruction MOVE : Pour ajouter une autre sortie en CONT ou LOG, cliquez sur l'icne de cration ct du paramtre
de sortie.

Tableau 7- 62 Types de donnes pour l'instruction MOVE


Paramtre

Type de donnes

Description

IN

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word,
DWord, Char, Array, Struct, DTL, Time

Adresse de source

OUT

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word,
DWord, Char, Array, Struct, DTL, Time

Adresse de destination

Automate programmable S7-1200

200

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.6 Transfert
Pour ajouter des sorties MOVE, cliquez sur l'icne de cration ou cliquez avec le
bouton droit de la souris sur la ligne de sortie de l'un des paramtres OUT
existants et slectionnez la commande "Insrer sortie".
Pour supprimer une sortie, cliquez avec le bouton droit de la souris sur la ligne de sortie de
l'un des paramtres OUT existants (lorsqu'il y a plus de sorties que les deux sorties
d'origine) et slectionnez la commande "Supprimer".
Tableau 7- 63 Types de donnes pour les instructions MOVE_BLK et UMOVE_BLK
Paramtre

Type de donnes

Description

IN

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal Byte,


Word, DWord

Adresse de dbut de la source

COUNT

UInt

Nombre d'lments de donnes copier

OUT

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte,


Word, DWord

Adresse de dbut de la destination

Remarque
Rgles pour les oprations de copie de donnes
Pour copier le type de donnes Bool, utilisez SET_BF, RESET_BF, R, S ou la bobine de
sortie (CONT) (Page 168).
Pour copier un seul type de donnes simple, utilisez MOVE.
Pour copier un tableau de type de donnes simple, utilisez MOVE_BLK ou UMOVE_BLK.
Pour copier une structure, utilisez MOVE.
Pour copier une chane, utilisez S_MOVE (Page 239).
Pour copier un seul caractre dans une chane, utilisez MOVE.
Vous ne pouvez pas utiliser les instructions MOVE_BLK et UMOVE_BLK pour copier des
tableaux ou des structures dans les zones de mmoire I, Q ou M.
Les instructions MOVE_BLK et UMOVE_BLK diffrent dans la faon dont les alarmes sont
traites :
Les vnements d'alarme sont mis en file d'attente et traits pendant l'excution de
MOVE_BLK. Utilisez l'instruction MOVE_BLK lorsque les donnes l'adresse de
destination de la copie ne sont pas utilises dans un sous-programme d'OB d'alarme ou
lorsque les donnes de destination n'ont pas besoin d'tre cohrentes si elles sont
utilises. Si le fonctionnement de MOVE_BLK est interrompu, le dernier lment de
donnes copi est complet et cohrent l'adresse de destination. Le fonctionnement de
MOVE_BLK reprend une fois l'OB d'alarme excut.
Les vnements d'alarme sont mis en file d'attente mais ne sont pas traits tant que
l'excution de UMOVE_BLK n'est pas acheve. Utilisez l'instruction UMOVE_BLK lorsque
l'opration de copie doit tre acheve et que les donnes de destination doivent tre
cohrentes avant l'excution d'un sous-programme d'OB d'alarme. Pour plus
d'informations, reportez-vous au paragraphe sur la cohrence des donnes (Page 149).
ENO est toujours vrai aprs l'excution de l'instruction MOVE.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

201

Instructions de base
7.6 Transfert
Tableau 7- 64 Etat de ENO

7.6.2

ENO

Situation d'erreur

Rsultat

Pas d'erreur

Tous les COUNT lments ont t


copis avec succs.

La plage source (IN) ou la plage de destination Les lments qui entrent sont copis.
(OUT) dpasse la zone de mmoire disponible. Il n'y a pas copie d'lments partiels.

Instructions FieldRead et FieldWrite


Remarque
STEP 7 V10.5 n'acceptait pas de variable comme indice de tableau, ni les tableaux
multidimensionnels. Les instructions FieldRead et FieldWrite rendaient possible l'utilisation
d'un indice variable pour les tableaux une dimension. STEP 7 V11 prend en charge les
variables comme indices de tableau et les tableaux multidimensionnels. Les instructions
FieldRead et FieldWrite sont incluses dans STEP 7 V11 pour assurer la compatibilit amont
avec les programmes qui utilisaient ces instructions.

Tableau 7- 65 Instructions FieldRead et FieldWrite


CONT/LOG

Description
L'instruction FieldRead lit l'lment de valeur d'indice INDEX dans le tableau dont le premier
lment est indiqu par le paramtre MEMBER. La valeur de l'lment de tableau est
transfre l'adresse indique par le paramtre VALUE.

L'instruction FieldWrite transfre la valeur l'adresse indique par le paramtre VALUE


dans le tableau dont le premier lment est indiqu par le paramtre MEMBER. La valeur
est transfre dans l'lment de tableau dont l'indice est indiqu par le paramtre INDEX.

Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.

Automate programmable S7-1200

202

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.6 Transfert
Tableau 7- 66 Types de donnes pour les paramtres
Paramtre et type

Type de donnes

Description

Index

Entre

DInt

Numro d'indice de l'lment de tableau lire


ou dans lequel crire

Member 1

Entre

Types d'lment de tableau :


Bool, Byte, Word, DWord, Char, SInt, Int,
Dint, USInt, UInt, UDInt, Real, LReal

Emplacement du premier lment dans un


tableau une dimension dfini dans un bloc
de donnes global ou une interface de bloc.
Par exemple : Si l'indice du tableau est donn
sous la forme [-2..4], l'indice du premier
lment est -2 et non 0.

Value 1

Sortie

Bool, Byte, Word, DWord, Char, SInt, Int,


Dint, USInt, UInt, UDInt, Real, LReal

Pour FieldRead, emplacement dans lequel


l'lment de tableau indiqu est copi.
Pour FieldWrite, emplacement de la valeur
qui est copie dans l'lment de tableau
indiqu.

Le type de donnes de l'lment de tableau indiqu par le paramtre MEMBER et celui du paramtre VALUE doivent
tre identiques.

La sortie de validation ENO est gale 0 si l'une des conditions suivantes est vraie :
L'entre EN a l'tat de signal "0".
L'lment de tableau indiqu par le paramtre INDEX n'est pas dfini dans le tableau
dsign par le paramtre MEMBER.
Des erreurs, telles qu'un dbordement, se sont produites pendant le traitement.

7.6.3

Instructions Complter

Tableau 7- 67 Instructions FILL_BLK et UFILL_BLK


CONT/LOG

Description
L'instruction Complter zone remplit une zone d'adresses avec des copies d'un lment de donnes
indiqu.

L'instruction Complter zone contigu remplit une zone d'adresses avec des copies d'un lment de
donnes indiqu.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

203

Instructions de base
7.6 Transfert
Tableau 7- 68 Types de donnes pour les paramtres
Paramtre

Type de donnes

Description

IN

SInt, Int, DIntT, USInt, UInt, UDInt, Real, LReal, Byte, Word, Adresse source des donnes
DWord

COUNT

USInt, UInt

OUT

SInt, Int, DIntT, USInt, UInt, UDInt, Real, LReal, Byte, Word, Adresse de destination des donnes
DWord

Nombre d'lments de donnes copier

Remarque
Rgles pour les oprations de remplissage de zone
Pour complter avec le type de donnes BOOL, utilisez SET_BF, RESET_BF, R, S ou la
bobine de sortie (CONT).
Pour complter avec un seul type de donnes simple, utilisez MOVE.
Pour complter un tableau avec un type de donnes simple, utilisez FILL_BLK ou
UFILL_BLK.
Pour complter un seul caractre dans une chane, utilisez MOVE.
Vous ne pouvez pas utiliser les instructions FILL_BLK et UFILL_BLK pour complter des
tableaux dans les zones de mmoire I, Q ou M.
Les instructions FILL_BLK et UFILL_BLK copient l'lment de donnes source IN dans la
destination dont l'adresse initiale est indique par le paramtre OUT. Le processus de copie
est rpt de manire complter un bloc d'adresses adjacentes jusqu' ce que le nombre
de copies soit gal au paramtre COUNT.
Les instructions FILL_BLK et UFILL_BLK diffrent dans la faon dont les alarmes sont
traites :
Les vnements d'alarme sont mis en file d'attente et traits pendant l'excution de
FILL_BLK. Utilisez l'instruction FILL_BLK lorsque les donnes l'adresse de destination
de la copie ne sont pas utilises dans un sous-programme d'OB d'alarme ou lorsque les
donnes de destination n'ont pas besoin d'tre cohrentes si elles sont utilises.
Les vnements d'alarme sont mis en file d'attente mais ne sont pas traits tant que
l'excution de UFILL_BLK n'est pas acheve. Utilisez l'instruction UFILL_BLK lorsque
l'opration de copie doit tre acheve et que les donnes de destination doivent tre
cohrentes avant l'excution d'un sous-programme d'OB d'alarme.
Tableau 7- 69 Etat de ENO
ENO

Situation d'erreur

Rsultat

Pas d'erreur

L'lment IN a t copi avec succs dans


les COUNT destinations.

La plage de destination (OUT) dpasse


la zone de mmoire disponible.

Les lments qui entrent sont copis. Il n'y


a pas copie d'lments partiels.

Automate programmable S7-1200

204

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.6 Transfert

7.6.4

Instruction Permutation

Tableau 7- 70 Instruction SWAP


CONT/LOG

Description
Inverse l'ordre des octets dans des lments de donnes deux et quatre octets. L'ordre des bits
l'intrieur de chaque octet n'est pas modifi. ENO est toujours VRAI aprs l'excution de l'instruction
SWAP.

Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.

Tableau 7- 71 Types de donnes pour les paramtres


Paramtre

Type de donnes

Description

IN

Word, DWord

Octets de donnes dans l'ordre

OUT

Word, DWord

Octets de donnes dans l'ordre inverse

Exemple 1

Paramtre IN = MB0
(avant excution)

Paramtre OUT = MB4


(aprs excution)

Adresse

MB0

MB1

MB4

MB5

W#16#1234

12

34

34

12

WORD

OPFo

OPFa

OPFo

OPFa

Exemple 2

Paramtre IN = MB0
(avant excution)

Paramtre OUT = MB4


(aprs excution)

Adresse

MB0

MB1

MB2

MB3

MB4

MB5

MB6

MB7

DW#16#
12345678

12

34

56

78

78

56

34

12

DWORD

OPFo

OPFa

OPFo

OPFa

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

205

Instructions de base
7.7 Convertir

7.7

Convertir

7.7.1

Instruction CONV

Tableau 7- 72 Instruction Convertir (CONV)


CONT/LOG

Description
Convertit un lment de donnes d'un type de donnes dans un autre type de donnes.

Pour CONT et LOG : Cliquez sur "???" et slectionnez les types de donnes dans le menu droulant.

Tableau 7- 73 Types de donnes pour les paramtres


Paramtre

Type de donnes

Description

bits1,

IN

Chane de
SInt, USInt, Int, UInt, DInt, UDInt, Real,
LReal, BCD16, BCD32

Valeur d'entre

OUT

Chane de bits1, SInt, USInt, Int, UInt, DInt, UDInt, Real,


LReal, BCD16, BCE32

Valeur d'entre convertie au nouveau


type de donnes

L'instruction ne vous permet pas de slectionner des chanes de bits (octet, mot, double mot). Pour entrer un oprande
de type Byte, Word ou DWord comme paramtre de l'instruction, slectionnez un entier non sign ayant la mme
longueur en bits. Slectionnez, par exemple, USInt pour un octet, UInt pour un mot ou UDInt pour un double mot.

Une fois que vous avez slectionn le type de donnes (convertir de), une liste des
conversions possibles s'affiche dans la liste droulante (convertir en). Les conversions de et
en BCD16 sont limites au type de donnes Int. Les conversions de et en BCD32 sont
limites au type de donnes DInt.
Tableau 7- 74 Etat de ENO
ENO

Description

Rsultat OUT

Pas d'erreur

Rsultat valide

IN est +/- INF ou +/- NaN.

+/- INF ou +/- NaN

Le rsultat dpasse la plage valide pour le type de


donnes OUT.

OUT prend la valeur des octets de poids faible de


IN

Automate programmable S7-1200

206

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.7 Convertir

7.7.2

Instructions Arrondir et Former un nombre entier

Tableau 7- 75 Instructions ROUND et TRUNC


CONT/LOG

Description
Convertit un nombre rel en entier. La partie fractionnaire du nombre rel est arrondie la valeur
entire la plus proche (IEEE, arrondir au plus proche). Si le nombre se situe exactement mi-chemin
entre deux entiers (par exemple 10,5), le nombre est arrondi l'entier pair. Par exemple :

ROUND (10.5) = 10

ROUND (11.5) = 12

TRUNC convertit un nombre rel en entier. La partie fractionnaire du nombre rel est tronque zro
(IEEE, arrondir zro).

Pour CONT et LOG : Cliquez sur "???" (prs du nom de l'instruction) et slectionnez un type de donnes dans le menu
droulant.

Tableau 7- 76 Types de donnes pour les paramtres


Paramtre

Type de donnes

Description

IN

Real, LReal

Entre en virgule flottante

OUT

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal

Sortie arrondie ou tronque

Tableau 7- 77 Etat de ENO


ENO

Description

Rsultat OUT

Pas d'erreur

Rsultat valide

IN est +/- INF ou +/- NaN.

+/- INF ou +/- NaN

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

207

Instructions de base
7.7 Convertir

7.7.3

Instructions Arrondir l'entier suprieur et Arrondir l'entier infrieur

Tableau 7- 78 Instructions CEIL et FLOOR


CONT/LOG

Description
Convertit un nombre rel (Real ou LReal) au nombre entier le plus proche suprieur ou gal au nombre
rel slectionn ("arrondir +infini" IEEE).

Convertit un nombre rel (Real ou LReal) au nombre entier le plus proche infrieur ou gal au nombre
rel slectionn ("arrondir -infini" IEEE).

Pour CONT et LOG : Cliquez sur "???" (prs du nom de l'instruction) et slectionnez un type de donnes dans le menu
droulant.

Tableau 7- 79 Types de donnes pour les paramtres


Paramtre

Type de donnes

Description

IN

Real, LReal

Entre en virgule flottante

OUT

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal

Sortie convertie

Tableau 7- 80 Etat de ENO


ENO

Description

Rsultat OUT

Pas d'erreur

Rsultat valide

IN est +/- INF ou +/- NaN.

+/- INF ou +/- NaN

Automate programmable S7-1200

208

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.7 Convertir

7.7.4

Instructions Mise l'chelle et Normaliser

Tableau 7- 81 Instructions SCALE_X et NORM_X


CONT/LOG

Description
Met l'chelle le paramtre rel normalis VALUE, avec 0.0 <= VALUE <= 1.0, dans le type de
donnes et la plage de valeurs indiqus par les paramtres MIN et MAX :
OUT = VALUE (MAX - MIN) + MIN

Normalise le paramtre VALUE l'intrieur de la plage de valeurs indique par les paramtres MIN et
MAX :
OUT = (VALUE - MIN) / (MAX - MIN),
avec 0.0 <= OUT <= 1.0

Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.

Tableau 7- 82 Types de donnes pour les paramtres


Paramtre

Type de donnes1

Description

MIN

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal

Valeur d'entre pour le minimum de la


plage

VALUE

SCALE_X: Real, LReal

Valeur d'entre mettre l'chelle ou


normaliser

NORM_X: SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal


MAX

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal

Valeur d'entre pour le maximum de la


plage

OUT

SCALE_X: SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal

Valeur de sortie mise l'chelle ou


normalise

NORM_X: Real, LReal


1

Pour SCALE_X: Les paramtres MIN, MAXet OUTdoivent avoir le mme type de donnes.
Pour NORM_X: Les paramtres MIN, VALUEet MAXdoivent avoir le mme type de donnes.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

209

Instructions de base
7.7 Convertir

Remarque
Le paramtre VALUE de SCALE_X doit tre limit 0.0 <= VALUE <= 1.0
Si le paramtre VALUE est infrieur 0.0 ou suprieur 1.0 :
La mise l'chelle linaire peut produire des valeurs OUT qui sont infrieures la valeur
du paramtre MIN ou suprieures la valeur du paramtre MAX pour des valeurs OUT
qui se situent dans la plage de valeurs du type de donnes OUT. Dans ces cas,
l'excution de SCALE_X met ENO VRAI.
Il est possible de gnrer des nombres mis l'chelle qui ne sont pas dans la plage du
type de donnes OUT. Dans ces cas, la valeur du paramtre OUT est dfinie une
valeur intermdiaire gale la partie la moins significative du nombre rel mis l'chelle
avant la conversion finale au type de donnes OUT. Dans ce cas, l'excution de
SCALE_X met ENO FAUX.
Le paramtre VALUE de NORM_X doit tre limit MIN <= VALUE <= MAX
Si le paramtre VALUE est infrieur MIN ou suprieur MAX, la mise l'chelle linaire
peut produire des valeurs OUT normalises qui sont infrieures 0.0 ou suprieures 1.0.
Dans ce cas, l'excution de NORM_X met ENO VRAI.

Tableau 7- 83 Etat de ENO


ENO

Situation d'erreur

Rsultat OUT

Pas d'erreur

Rsultat valide

Le rsultat dpasse la plage valide pour le type Rsultat intermdiaire : partie la moins significative d'un
de donnes OUT.
nombre rel avant la conversion finale au type de donnes
OUT.

Paramtre MAX <= MIN

SCALE_X : La partie la moins significative du nombre rel


VALUE complte la taille de OUT.
NORM_X : VALUE dans le type de donnes VALUE tendu
pour remplir une taille de double mot.

Paramtre VALUE = +/- INF ou +/- NaN

VALUE est crit dans OUT

Exemple (CONT) : Normalisation et mise l'chelle d'une valeur d'entre analogique


Une entre analogique d'un module d'entres-sorties ou Signal Board analogique avec
entre en courant se situe dans la plage 0 27648 des valeurs valides. Supposons qu'une
entre analogique reprsente une temprature, avec la valeur 0 de l'entre analogique
correspondant -30.0 C et la valeur 27648 correspondant 70.0 C.

Automate programmable S7-1200

210

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.7 Convertir
Pour transformer la valeur analogique en units physiques correspondantes, normalisez
l'entre une valeur comprise entre 0.0 et 1.0, puis mettez-la l'chelle entre -30.0 et 70.0.
La valeur rsultante est la temprature reprsente par l'entre analogique en degrs
Celsius :

Notez que si l'entre analogique tait celle d'un module d'entres-sorties ou Signal Board
analogique en tension, la valeur MIN pour l'instruction NORM_X serait -27648 et non 0.

Exemple (CONT) : Normalisation et mise l'chelle d'une valeur de sortie analogique


Une sortie analogique dfinir dans un module d'entres-sorties ou Signal Board
analogique avec sortie en courant doit se situer dans la plage 0 27648 des valeurs valides.
Supposons qu'une sortie analogique reprsente un rglage de temprature, avec la valeur 0
de la sortie analogique correspondant -30.0 C et la valeur 27648 correspondant 70.0
C. Pour convertir une valeur de temprature comprise entre -30.0 et 70.0 en mmoire une
valeur pour la sortie analogique qui se situe dans la plage 0 27648, vous devez normaliser
la valeur en units physiques une valeur comprise entre 0.0 et 1.0, puis la mettre
l'chelle la plage de la sortie analogique, c'est--dire 0 27648 :

Notez que si la sortie analogique tait destine un module d'entres-sorties ou Signal


Board analogique en tension, la valeur MIN pour l'instruction SCALE_X serait -27648 et non
0.
Vous trouverez des informations supplmentaires sur les reprsentations des entres
analogiques (Page 690) et des sorties analogiques (Page 690) en tension et en courant
dans les Caractristiques techniques.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

211

Instructions de base
7.8 Gestion du programme

7.8

Gestion du programme

7.8.1

Instructions Saut et Repre de saut

Tableau 7- 84 Instructions JMP, JMPN et LABEL


CONT

LOG

Description
S'il y a flux de courant vers la bobine JMP (CONT) ou si l'entre de la bote JMP
est vraie (LOG), l'excution du programme continue avec la premire instruction
suivant le repre de saut indiqu.
S'il n'y a pas de flux de courant vers la bobine JMPN (CONT) ou si l'entre de la
bote JMPN est fausse (LOG), l'excution du programme continue avec la
premire instruction suivant le repre de saut indiqu.
Repre de destination pour une instruction de saut JMP ou JMPN

Vous crez vos noms de repre en tapant directement dans l'instruction LABEL. Utilisez l'icne d'aide des paramtres
pour slectionner les noms de repre disponibles pour le champ de nom de repre de JMP et JMPN. Vous pouvez
galement saisir un nom de repre directement dans l'instruction JMP ou JMPN.

Tableau 7- 85 Types de donnes pour les paramtres


Paramtre

Type de donnes

Description

Label_name

Identificateur de repre

Identificateur pour les instructions de saut et repre de destination


de saut correspondant

Chaque repre doit tre univoque l'intrieur d'un bloc de code.


Vous pouvez sauter l'intrieur d'un bloc de code, mais vous ne pouvez pas sauter d'un
bloc de code un autre bloc de code.
Vous pouvez sauter en avant ou en arrire.
Vous pouvez sauter au mme repre partir de plus d'un point dans le mme bloc de
code.

Automate programmable S7-1200

212

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.8 Gestion du programme

7.8.2

Instruction JMP_LIST

Tableau 7- 86 Instruction JMP_LIST


CONT/LOG

Description
L'instruction JMP_LIST agit comme un rpartiteur de sauts pour piloter l'excution de sections de
programme. Un saut est excut au repre de programme correspondant la valeur de l'entre K.
L'excution du programme se poursuit avec les instructions qui suivent le repre de saut de
destination. Si la valeur de l'entre K dpasse le nombre de repres - 1, aucun saut n'est effectu et
le traitement se poursuit avec le rseau suivant du programme.

Tableau 7- 87 Types de donnes pour les paramtres


Paramtre

Type de donnes

Description

UInt

Valeur de commande du rpartiteur de sauts

DEST0, DEST1, ..,


DESTn.

Repres de programme

Repres de destination de saut correspondant des valeurs spcifiques


du paramtre K.
Si la valeur de K est gale 0, un saut est effectu au repre de
programme affect la sortie DEST0. Si la valeur de K est gale 1, un
saut est effectu au repre de programme affect la sortie DEST1 et
ainsi de suite. Si la valeur de l'entre K dpasse le nombre de repres - 1,
aucun saut n'est effectu et le traitement se poursuit avec le rseau
suivant du programme.

Pour CONT et LOG : Lorsque vous insrez initialement la bote JMP_LIST dans votre
programme, elle ne comporte que deux sorties de repre de saut. Vous pouvez ajouter ou
supprimer des destinations de saut.
Cliquez sur l'icne de cration l'intrieur de la bote ( gauche du dernier
paramtre DEST) pour ajouter de nouvelles sorties de repres de saut.

Cliquez avec le bouton droit de la souris sur une ligne de sortie et


slectionnez la commande "Insrer sortie".
Cliquez avec le bouton droit de la souris sur une ligne de sortie et
slectionnez la commande "Supprimer".

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

213

Instructions de base
7.8 Gestion du programme

7.8.3

Instruction SWITCH

Tableau 7- 88 Instruction SWITCH


CONT/LOG

Description
L'instruction SWITCH agit comme un rpartiteur de sauts pour piloter l'excution de sections de
programme. La valeur de l'entre K est compare aux valeurs affectes aux entres de comparaison
indiques et un saut est effectu au repre de programme correspondant au premier test de
comparaison qui est vrai. Si aucune des comparaisons n'est vraie, il y a saut au repre affect ELSE.
L'excution du programme se poursuit avec les instructions qui suivent le repre de saut de destination.

Pour CONT et LOG : Cliquez sous le nom de la bote et slectionnez un type de donnes dans le menu droulant.

Tableau 7- 89 Types de donnes pour les paramtres


Description

Paramtre

Type de donnes1

SInt, Int, DInt, USInt, UInt, UDInt, Real, Entre de valeur de comparaison commune
LReal, Byte, Word, DWord, Time,
TOD, Date

==, <>, <, <=, >. >= SInt, Int, DInt, USInt, UInt, UDInt, Real, Entres de valeurs de comparaison distinctes pour des
LReal, Byte, Word, DWord, Time,
types de comparaison spcifiques
TOD, Date
DEST0, DEST1, ..,
DESTn, ELSE

Repres de programme

Repres de destination de saut correspondant des


comparaisons spcifiques :
L'entre de comparaison la plus proche en dessous de
l'entre K est traite en premier et provoque un saut au
repre affect DEST0 si la comparaison entre la valeur K
et cette entre est vraie. Le test de comparaison suivant
utilise l'entre du dessous suivante et provoque un saut au
repre affect DEST1 si la comparaison est vraie, et ainsi
de suite avec les comparaisons restantes. Si aucune des
comparaisons n'est vraie, il y a saut au repre affect la
sortie ELSE.

L'entre K et les entres de comparaison (==, <>, <, <=, >, >=)doivent avoir le mme type de donnes.

Automate programmable S7-1200

214

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.8 Gestion du programme

Ajout et suppression d'entres et indication des types de comparaison


Lorsque la bote SWITCH CONT ou LOG est initialement insre dans votre programme,
elle comporte deux entres de comparaison. Vous pouvez affecter des types de
comparaison et ajouter des entres/destinations de saut comme illustr ci-dessous.
Cliquez sur un oprateur de comparaison dans la bote et
slectionnez un nouvel oprateur dans la liste droulante.

Cliquez sur l'icne de cration l'intrieur de la bote ( gauche du


dernier paramtre DEST ) pour ajouter de nouveaux paramtres de
destination pour la comparaison.
Cliquez avec le bouton droit de la souris sur une ligne d'entre et
slectionnez la commande "Insrer entre".
Cliquez avec le bouton droit de la souris sur une ligne d'entre et
slectionnez la commande "Supprimer".

Tableau 7- 90 Slection de type de donnes et oprations de comparaison autorises pour la bote


SWITCH
Type de donnes

Comparaison

Syntaxe de l'oprateur

Byte, Word, DWord

Egal

==

Diffrent

<>

Egal

==

Diffrent

<>

Suprieur ou gal

>=

SInt, Int, DInt, USInt, UInt,


UDInt, Real, LReal, Time, TOD,
Date

Infrieur ou gal

<=

Suprieur

>

Infrieur

<

Rgles de placement de la bote SWITCH


Aucune connexion d'instruction CONT/LOG devant l'entre de comparaison n'est
autorise.
Il n'existe pas d'entre ENO. On ne peut donc avoir qu'une instruction SWITCH dans un
rseau et l'instruction SWITCH doit tre la dernire opration du rseau.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

215

Instructions de base
7.8 Gestion du programme

7.8.4

Instruction de gestion d'excution RET


L'instruction RET optionnelle sert mettre fin l'excution du bloc en cours. Si et seulement
si il y a flux de courant vers la bobine RET (CONT) ou si l'entre de la bote RET est vraie
(CONT), l'excution du programme du bloc en cours est interrompue en ce point et les
instructions au-del de l'instruction RET ne sont pas excutes. Si le bloc en cours est un
OB, le paramtre "Return_Value" n'est pas pris en compte. Si le bloc en cours est une FC ou
un FB, la valeur du paramtre "Return_Value" est transmise au programme appelant en tant
que valeur ENO de la bote appele.
Vous n'avez pas besoin d'utiliser une instruction RET comme dernire instruction dans un
bloc ; cela est fait automatiquement pour vous. Vous pouvez avoir plusieurs instructions RET
l'intrieur d'un seul bloc.

Tableau 7- 91 Instruction de gestion d'excution RET (Renvoyer la valeur)


CONT

LOG

Description
Met fin l'excution du bloc en cours.

Tableau 7- 92 Types de donnes pour les paramtres


Paramtre

Type de
donnes

Description

Return_Value

Bool

Le paramtre "Return_value" de l'instruction RET est affect la sortie ENO de la


bote d'appel de bloc dans le bloc appelant.

Modle d'tapes pour l'utilisation de l'instruction RET dans une FC :


1. Crez un nouveau projet et insrez-y une FC.
2. Editez la FC :
Ajoutez des instructions depuis l'arborescence d'instructions.
Ajoutez une instruction RET en indiquant l'une des valeurs suivantes pour le
paramtre "Return_Value" :
VRAI, FAUX ou une adresse de mmoire contenant la valeur de retour requise.
Ajoutez d'autres instructions.
3. Appelez la FC depuis le programme principal [OB1].
L'entre EN de la bote FC dans l'OB 1 doit tre vraie pour que l'excution de la FC
commence.
La valeur indique par l'instruction RET dans la FC sera prsente au niveau de la sortie
ENO de la bote FC dans le bloc OB 1 aprs l'excution de la FC pour laquelle le flux de
courant vers l'instruction RET est vrai.

Automate programmable S7-1200

216

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.8 Gestion du programme

7.8.5

Instruction Redclencher le temps de surveillance du cycle

Tableau 7- 93 RE_TRIGR, instruction


CONT/LOG

Description
RE_TRIGR (Redmarrer surveillance du temps de cycle) sert allonger le temps maximum autoris
avant que la temporisation de surveillance du cycle ne gnre une erreur.

Utilisez l'instruction RE_TRIGR pour redmarrer la temporisation du cycle pendant un cycle


unique. Cela a pour effet d'allonger le temps de cycle maximum autoris d'une priode de
temps de cycle maximum, partir de la dernire excution de la fonction RE_TRIGR.
La CPU restreint l'usage de l'instruction RE_TRIGR au cycle du programme, par exemple
l'OB 1 et aux fonctions qui sont appeles dans le cycle du programme. Cela signifie que la
temporisation de surveillance du cycle est rinitialise et ENO = EN si RE_TRIGR est appel
dans n'importe quel OB de la liste des OB du cycle de programme.
ENO = FAUX et la temporisation de surveillance du cycle n'est pas rinitialise si
RE_TRIGR est excut partir d'un OB de dmarrage, d'un OB d'alarme ou d'un OB
d'erreur.

Dfinition du temps de cycle maximum de l'automate


Configurez la valeur du temps de cycle maximum sous "Temps de cycle" dans la
configuration des appareils.
Tableau 7- 94 Valeurs du temps de cycle
Surveillance du temps
de cycle

Valeur minimale

Valeur maximale

Valeur par dfaut

Temps de cycle
maximum

1 ms

6000 ms

150 ms

Expiration de la temporisation de surveillance du cycle


Une erreur est gnre si la temporisation de cycle maximum expire avant que le cycle ne
soit achev. Si le bloc de code de gestion d'erreur OB 80 est inclus dans le programme
utilisateur, la CPU excute l'OB 80 dans lequel vous pouvez insrer de la logique pour crer
une raction spcifique. En l'absence d'OB 80, la premire expiration n'est pas prise en
compte.
Si une deuxime expiration du temps de cycle maximum se produit pendant le mme cycle
du programme (2 fois la valeur du temps de cycle maximum), une erreur provoquant le
passage de la CPU l'tat ARRET est gnre.
A l'tat ARRET, l'excution de votre programme s'arrte alors que la communication
systme de la CPU et le diagnostic systme se poursuivent.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

217

Instructions de base
7.8 Gestion du programme

7.8.6

Instruction Commuter en STOP

Tableau 7- 95 Instruction STP


CONT/LOG

Description
STP (Arrter) fait passer la CPU l'tat ARRET. Lorsque la CPU est l'tat ARRET, l'excution de
votre programme et les actualisations physiques depuis la mmoire image s'arrtent.

Pour plus d'informations, reportez-vous Configuration des sorties lors d'un passage de
MARCHE ARRET (Page 84).
Si EN = VRAI, la CPU passe l'tat ARRET, l'excution du programme s'arrte et l'tat de
ENO est sans objet. Sinon, EN = ENO = 0.

7.8.7

Instructions de traitement d'erreur


Les instructions de traitement d'erreur fournissent des informations sur les erreurs
d'excution des blocs de programme. Si vous ajoutez une instruction GetError ou GetErrorID
votre bloc de code, vous pouvez grer les erreurs de programme l'intrieur de votre bloc
de programme.

GetError
Tableau 7- 96 Instruction GetError
CONT/LOG

Description
Signale qu'une erreur d'excution du bloc de programme s'est produite et remplit une structure de
donnes d'erreur prdfinie avec des informations d'erreur dtailles.

Tableau 7- 97 Types de donnes pour les paramtres


Paramtre

Type de donnes

Description

ERROR

ErrorStruct

Structure de donnes d'erreur : Vous pouvez renommer la structure mais pas les
lments l'intrieur de la structure.

Automate programmable S7-1200

218

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.8 Gestion du programme
Tableau 7- 98 Elments de la structure de donnes ErrorStruct
Elments de la structure

Type de
donnes

ERROR_ID

Word

Code d'erreur

FLAGS

Byte

Indique si une erreur s'est produite pendant un appel de bloc.

REACTION

CODE_ADDRESS
BLOCK_TYPE

CB_NUMBER
OFFSET
MODE

Byte

CREF
Byte

UInt

Description

16#01: Erreur pendant un appel de bloc

16#00: Aucune erreur pendant un appel de bloc

Raction par dfaut :

0: Ne pas tenir compte de l'erreur (erreur d'criture)

1: Poursuivre avec la valeur de remplacement "0" (erreur de


lecture)

2: Sauter l'instruction (erreur systme)

Information sur l'adresse et le type de bloc


Type de bloc o l'erreur s'est produite :

1: OB

2: FC

3: FB

Numro du bloc de code

UDInt

Rfrence la mmoire interne

Byte

Mode d'accs : Les informations suivantes peuvent tre transmises


selon le type d'accs :
Mode

(A)

(B)

(C)

(D)

(E)

0
1

Dcalag
e

2
3

Zone
Adresse

Porte

Numro

Zone

Zone

N DB

Dcalag
e

Zone

N DB

Dcalag
e

Zone

N DB

Dcalag
e

N Ptr
/Acc

N Ptr
/Acc

N
empl./Port
e

OPERAND_NUMBER

UInt

Numro d'oprande de la commande machine

POINTER_NUMBER_
LOCATION

UInt

(A) Pointeur interne

SLOT_NUMBER_SCOPE

UInt

(B) Zone de stockage en mmoire interne

DATA_ADDRESS

NREF

Information sur l'adresse d'un oprande

Dcalag
e

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

219

Instructions de base
7.8 Gestion du programme

Elments de la structure
AREA

Type de
donnes

Description

Byte

(C) Zone de mmoire

L : 16#40 4E, 86, 87, 8E, 8F, C0 CE

E : 16#81

A : 16#82

M : 16#83

DB : 16#84, 85, 8A, 8B

DB_NUMBER

UInt

(D) Numro du bloc de donnes

OFFSET

UDInt

(E) Adresse relative de l'oprande

GetErrorID
Tableau 7- 99 Instruction GetErrorID
CONT/LOG

Description
Signale qu'une erreur d'excution du bloc de programme s'est produite et transmet l'ID (code
identificateur) de l'erreur.

Tableau 7- 100

Types de donnes pour les paramtres

Paramtre

Type de donnes

Description

ID

Word

Valeurs de l'identificateur d'erreur pour l'lment ERROR_ID de ErrorStruct

Tableau 7- 101

Valeurs de Error_ID

ERROR_ID
hexadcimal

ERROR_ID
dcimal

Erreur d'excution du bloc de programme

Pas d'erreur

2503

9475

Pointeur non initialis

2522

9506

Erreur de lecture, oprande hors plage

2523

9507

Erreur d'criture, oprande hors plage

2524

9508

Erreur de lecture, zone invalide

2525

9509

Erreur d'criture, zone invalide

2528

9512

Erreur de lecture, alignement de donnes (alignement de bits incorrect)

2529

9513

Erreur d'criture, alignement de donnes (alignement de bits incorrect)

2530

9520

DB protg en criture

253A

9530

DB global inexistant

253C

9532

Mauvaise version ou FC inexistante

253D

9533

Instruction inexistante

Automate programmable S7-1200

220

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.8 Gestion du programme

ERROR_ID
hexadcimal

ERROR_ID
dcimal

Erreur d'excution du bloc de programme

253E

9534

Mauvaise version ou FB inexistant

253F

9535

Instruction inexistante

2575

9589

Erreur de profondeur d'imbrication de programme

2576

9590

Erreur d'allocation de donnes locales

2942

10562

Entre physique inexistante

2943

10563

Sortie physique inexistante

Fonctionnement
Par dfaut, la CPU ragit une erreur d'excution de bloc en consignant une erreur dans la
mmoire tampon de diagnostic. Toutefois, si vous placez une ou plusieurs instructions
GetError ou GetErrorID dans un bloc de code, ce bloc pourra grer les erreurs se produisant
l'intrieur du bloc. Dans ce cas, la CPU ne consigne pas d'erreur dans la mmoire tampon
de diagnostic. Au lieu de cela, l'information d'erreur est transmise la sortie de l'instruction
GetError ou GetErrorID. Vous pouvez lire les informations d'erreur dtailles avec
l'instruction GetError ou uniquement l'identificateur de l'erreur avec l'instruction GetErrorID.
Normalement, la premire erreur est la plus importante, les erreurs suivantes n'tant que
des consquences de la premire erreur.
La premire excution d'une instruction GetError ou GetErrorID l'intrieur d'un bloc renvoie
la premire erreur dtecte pendant l'excution du bloc. Cette erreur peut s'tre produite
n'importe quel endroit entre le dbut du bloc et l'excution de GetError ou GetErrorID. Les
excutions suivantes de GetError ou GetErrorID renvoient la premire erreur depuis
l'excution prcdente de GetError ou GetErrorID. L'historique des erreurs n'est pas
sauvegard et l'excution de l'une ou l'autre instruction rarme le systme d'automatisation
pour la capture de l'erreur suivante.
Vous pouvez ajouter le type de donnes ErrorStruct utilis par l'instruction GetError dans
l'diteur de bloc de donnes et les diteurs d'interface de bloc afin que la logique de votre
programme puisse accder ces valeurs. Slectionnez ErrorStruct dans la liste droulante
des types de donnes pour ajouter cette structure. Vous pouvez crer plusieurs structures
ErrorStruct en leur donnant des noms univoques. Il n'est pas possible de renommer les
lments d'une structure ErrorStruct.

Situation d'erreur signale par ENO


Si EN = TRUE et GetError ou GetErrorID s'excute, alors :
ENO = VRAI signale une erreur d'excution de bloc de code et la prsence d'une erreur
de donnes ;
ENO = FAUX signale qu'aucune erreur d'excution de bloc de code ne s'est produite.
Vous pouvez connecter de la logique de programme de raction aux erreurs ENO qui
s'active si une erreur s'est produite. En prsence d'une erreur, le paramtre de sortie
mmorise les donnes d'erreur l o votre programme peut y accder.
Vous pouvez utiliser GetError et GetErrorID pour envoyer des informations d'erreur du bloc
en cours d'excution (bloc appel) un bloc appelant. Placez l'instruction dans le dernier
rseau du programme du bloc appel afin de renvoyer l'tat d'excution final au bloc appel.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

221

Instructions de base
7.9 Oprations logiques sur mots

7.9

Oprations logiques sur mots

7.9.1

Instructions AND, OR et XOR

Tableau 7- 102

Instructions AND, OR et XOR

CONT/LOG

Description
AND : ET logique
OR : OU logique
XOR : OU exclusif logique

Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.

Pour ajouter une entre , cliquez sur l'icne de cration ou cliquez avec le bouton
droit de la souris sur la ligne d'entre de l'un des paramtres IN existants et
slectionnez la commande "Insrer entre".
Pour supprimer une entre, cliquez avec le bouton droit de la souris sur la ligne d'entre de
l'un des paramtres IN existants (lorsqu'il y a plus d'entres que les deux entres d'origine)
et slectionnez la commande "Supprimer".
Tableau 7- 103
Paramtre

Types de donnes pour les paramtres


Type de donnes

Description

IN1, IN2

Byte, Word, DWord

Entres logiques

OUT

Byte, Word, DWord

Sortie logique

La slection du type de donnes donne le mme type de donnes aux paramtres IN1, IN2 et OUT.

Les valeurs binaires correspondantes de IN1 et IN2 sont combines pour produire un
rsultat logique binaire qui est transmis au paramtre OUT. ENO est toujours VRAI aprs
l'excution de ces instructions.

Automate programmable S7-1200

222

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.9 Oprations logiques sur mots

7.9.2

Instruction Inverser

Tableau 7- 104

Instruction INV

CONT/LOG

Description
Calcule le complment un binaire du paramtre IN. Le complment un est form en inversant
chaque valeur de bit dans le paramtre IN (changement de chaque 0 en 1 et de chaque 1 en 0). ENO
est toujours VRAI aprs l'excution de cette instruction.

Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.

Tableau 7- 105

Types de donnes pour les paramtres

Paramtre

Type de donnes

Description

IN

SInt, Int, DInt, USInt, UInt, UDInt, Byte, Word, DWord

Elment de donnes inverser

OUT

SInt, Int, DInt, USInt, UInt, UDInt, Byte, Word, DWord

Sortie inverse

7.9.3

Instructions Encoder et Dcoder

Tableau 7- 106

Instructions ENCO et DECO

CONT/LOG

Description
Code un motif binaire en un nombre binaire.
L'instruction ENCO convertit le paramtre IN en un nombre binaire correspondant la position du bit
mis 1 le moins significatif du paramtre IN et renvoie le rsultat dans le paramtre OUT. Si le
paramtre IN est soit 0000 0001 soit 0000 0000, la valeur 0 est renvoye dans le paramtre OUT. Si la
valeur du paramtre IN est 0000 0000, ENO est mis FAUX.
Dcode un nombre binaire en un motif binaire.
L'instruction DECO dcode un nombre binaire dans le paramtre IN en mettant 1 la position de bit
correspondante dans le paramtre OUT (tous les autres bits sont mis 0). ENO est toujours VRAI
aprs l'excution de l'instruction DECO.

Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.

Tableau 7- 107

Types de donnes pour les paramtres

Paramtre

Type de donnes

Description

IN

ENCO : Byte, Word, DWord

ENCO : Motif binaire encoder

OUT

DECO : UInt

DECO : Valeur dcoder

ENCO : Int

ENCO : Valeur encode

DECO : Byte, Word, DWord

DECO : Motif binaire dcod

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

223

Instructions de base
7.9 Oprations logiques sur mots
Tableau 7- 108

Paramtre OUT pour ENCO

ENO

Situation d'erreur

Rsultat (OUT)

Pas d'erreur

Numro de bit valide

IN est zro.

OUT est mis zro.

La slection du type de donnes Byte, Word ou DWord pour le paramtre OUT de DECO
restreint la plage utile du paramtre IN. Si la valeur du paramtre IN dpasse la plage utile,
une opration modulo est excute pour extraire les bits les moins significatifs comme
illustr ci-dessous.
Plage du paramtre IN de DECO :
3 bits (valeurs 0-7) IN sont utiliss pour mettre 1 une position de bit dans un octet OUT
(Byte OUT).
4 bits (valeurs 0-15) IN sont utiliss pour mettre 1 une position de bit dans un mot OUT
(Word OUT).
5 bits (valeurs 0-31) IN sont utiliss pour mettre 1 une position de bit dans un double
mot OUT (DWord OUT).
Tableau 7- 109

Exemples

Valeur IN de DECO

Valeur OUT de DECO (Dcoder une position de bit unique)

Byte OUT

Min. IN

00000001

8 bits

Max. IN

10000000

Word OUT

Min. IN

0000000000000001

16 bits

Max. IN

15

1000000000000000

DWord OUT

Min. IN

00000000000000000000000000000001

32 bits

Max. IN

31

10000000000000000000000000000000

7.9.4

Instructions Slectionner, Multiplexeur et Dmultiplexeur

Tableau 7- 110

Instruction SEL (Slectionner)

CONT/LOG

Description
SEL affecte une valeur parmi deux valeurs d'entre au paramtre OUT en fonction de la valeur du
paramtre G.

Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.

Automate programmable S7-1200

224

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.9 Oprations logiques sur mots
Tableau 7- 111

Types de donnes pour l'instruction SEL

Paramtre

Type de donnes 1

Description

Bool

0 slectionne IN0

1 slectionne IN1

IN0, IN1

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord,
Time, Char

Entres

OUT

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord,
Time, Char

Sortie

Les variables d'entre et la variable de sortie doivent avoir le mme type de donnes.

Codes d'erreur : ENO est toujours vrai aprs l'excution de l'instruction SEL.
Tableau 7- 112
CONT/LOG

Instruction MUX (Multiplexeur)


Description
MUX copie une valeur parmi plusieurs valeurs d'entre dans le paramtre OUT en fonction de la valeur
du paramtre K. Si la valeur du paramtre K dpasse (INn - 1), la valeur du paramtre ELSE est copie
dans le paramtre OUT.

Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.

Pour ajouter une entre , cliquez sur l'icne de cration ou cliquez avec le
bouton droit de la souris sur la ligne d'entre de l'un des paramtres IN
existants et slectionnez la commande "Insrer entre".
Pour supprimer une entre, cliquez avec le bouton droit de la souris sur la ligne d'entre de
l'un des paramtres IN existants (lorsqu'il y a plus d'entres que les deux entres d'origine)
et slectionnez la commande "Supprimer".
Tableau 7- 113

Types de donnes pour l'instruction MUX

Paramtre

Type de donnes

Description

UInt

0 slectionne IN0

1 slectionne IN1

n slectionne INn

IN0, IN1, .. INn

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord,
Time, Char

Entres

ELSE

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord,
Time, Char

Valeur de substitution d'entre


(optionnelle)

OUT

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord,
Time, Char

Sortie

Les variables d'entre et la variable de sortie doivent avoir le mme type de donnes.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

225

Instructions de base
7.9 Oprations logiques sur mots

Tableau 7- 114
CONT/LOG

Instruction DEMUX (Dmultiplexeur)


Description
DEMUX copie la valeur de l'adresse affecte au paramtre IN dans une sortie parmi plusieurs sorties.
La valeur du paramtre K indique la sortie slectionne comme destination de la valeur IN. Si la valeur
de K est suprieure au nombre (OUTn - 1), la valeur dans IN est copie dans le paramtre ELSE.

Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.

Pour ajouter une sortie, cliquez sur l'icne de cration ou cliquez avec le bouton droit de la
souris sur la ligne de sortie de l'un des paramtres OUT existants et slectionnez la
commande "Insrer sortie". Pour supprimer une sortie, cliquez avec le bouton droit de la
souris sur la ligne de sortie de l'un des paramtres OUT existants (lorsqu'il y a plus de
sorties que les deux sorties d'origine) et slectionnez la commande "Supprimer".
Pour ajouter une sortie, cliquez sur l'icne de cration ou cliquez avec le bouton
droit de la souris sur la ligne de sortie de l'un des paramtres OUT existants et
slectionnez la commande "Insrer sortie".
Pour supprimer une sortie, cliquez avec le bouton droit de la souris sur la ligne de sortie de
l'un des paramtres OUT existants (lorsqu'il y a plus de sorties que les deux sorties
d'origine) et slectionnez la commande "Supprimer".
Tableau 7- 115

Types de donnes pour l'instruction DEMUX

Paramtre

Type de donnes 1

UInt

Description
Valeur de slecteur :

0 slectionne OUT0

1 slectionne OUT1

n slectionne OUTn

IN

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord,
Time, Char

Entre

OUT0, OUT1, ..
OUTn

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord,
Time, Char

Sorties

ELSE

SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord,
Time, Char

Sortie de substitution lorsque K


est suprieur (OUTn - 1)

La variable d'entre et les variables de sortie doivent avoir le mme type de donnes.

Automate programmable S7-1200

226

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.9 Oprations logiques sur mots
Tableau 7- 116

Etat de ENO pour les instructions MUX et DEMUX

ENO

Situation d'erreur

Rsultat OUT

Pas d'erreur

MUX : La valeur de IN slectionne est copie dans


OUT.
DEMUX : La valeur de IN est copie dans la sortie
OUT slectionne.

MUX : K est suprieur au nombre d'entres -1

DEMUX : K est suprieur au nombre de sorties -1

Pas de valeur ELSE fournie : OUT reste


inchang

Valeur ELSE fournie : la valeur de ELSE est


affecte OUT

Pas de valeur ELSE fournie : les sorties restent


inchanges

Valeur ELSE fournie : la valeur de IN est copie


dans ELSE

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

227

Instructions de base
7.10 Dcalage et rotation

7.10

Dcalage et rotation

7.10.1

Instructions de dcalage

Tableau 7- 117

Instructions SHR et SHL

CONT/LOG

Description
Utilisez les instructions de dcalage (SHL et SHR) pour dcaler le motif binaire du paramtre IN. Le
rsultat est affect au paramtre OUT. Le paramtre N indique le nombre de positions de bit dcaler.

SHR : Dcaler le motif binaire vers la droite

SHL : Dcaler le motif binaire vers la gauche

Pour CONT et LOG : Cliquez sur "???" et slectionnez les types de donnes dans le menu droulant.

Tableau 7- 118

Types de donnes pour les paramtres

Paramtre

Type de donnes

Description

IN

Byte, Word, DWord

Motif binaire dcaler

UInt

Nombre de positions de bit dcaler

OUT

Byte, Word, DWord

Motif binaire aprs l'opration de dcalage

Pour N=0, aucun dcalage n'est effectu. La valeur IN est affecte OUT.
Des zros sont insrs dans les positions de bit vides par l'opration de dcalage.
Si le nombre de positions dcaler (N) dpasse le nombre de bits dans la valeur cible (8
pour Byte, 16 pour Word, 32 pour DWord), toutes les valeurs de bit d'origine sont
dcales et remplaces par des zros (zro est affect OUT).
ENO est toujours VRAI pour les instructions de dcalage.
Tableau 7- 119

Exemple SHL pour des donnes de type Word

Dcaler les bits d'un mot vers la gauche en insrant des zros par la droite (N = 1)
IN

1110 0010 1010 1101

Valeur OUT avant le premier dcalage :

1110 0010 1010 1101

Aprs le premier dcalage vers la gauche :

1100 0101 0101 1010

Aprs le deuxime dcalage vers la


gauche :

1000 1010 1011 0100

Aprs le troisime dcalage vers la gauche 0001 0101 0110 1000


:

Automate programmable S7-1200

228

Manuel systme, 07/2011, A5E02486682-04

Instructions de base
7.10 Dcalage et rotation

7.10.2

Instructions de rotation

Tableau 7- 120

Instructions ROR et ROL

CONT/LOG

Description
Utilisez les instructions de rotation (ROR et ROL) pour oprer une rotation sur le motif binaire du
paramtre IN. Le rsultat est affect au paramtre OUT. Le paramtre N dfinit le nombre de positions
de bit faire tourner.

ROR : Rotation du motif binaire vers la droite

ROL : Rotation du motif binaire vers la gauche

Pour CONT et LOG : Cliquez sur "???" et slectionnez les types de donnes dans le menu droulant.

Tableau 7- 121

Types de donnes pour les paramtres

Paramtre

Type de donnes

Description

IN

Byte, Word, DWord

Motif binaire devant faire l'objet de la rotation

UInt

Nombre de positions de bit faire tourner

OUT

Byte, Word, DWord

Motif binaire aprs l'opration de rotation

Pour N=0, aucune rotation n'est effectue. La valeur IN est affecte OUT.
Les donnes binaires objet de la rotation qui sortent d'un ct de la valeur cible sont
insres de l'autre ct de la valeur cible de sorte qu'aucune valeur binaire d'origine n'est
perdue.
Si le nombre de positions de bit faire tourner (N) dpasse le nombre de bits dans la
valeur cible (8 pour Byte, 16 pour Word, 32 pour DWord), la rotation est quand mme
excute.
ENO est toujours VRAI aprs l'excution des instructions de rotation.
Tableau 7- 122

Exemple ROR pour des donnes de type Word

Rotation de bits sortant par la droite et entrant par la gauche (N = 1)


IN

0100 0000 0000 0001

Valeur OUT avant la premire rotation :

0100 0000 0000 0001

Aprs la premire rotation vers la droite :

1010 0000 0000 0000

Aprs la deuxime rotation vers la droite :

0101 0000 0000 0000

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

229

Instructions de base
7.10 Dcalage et rotation

Automate programmable S7-1200

230

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.1

Date et heure

8.1.1

Instructions sur la date et l'heure


Utilisez les instructions sur la date et l'heure pour programmer des calculs sur le calendrier
et l'heure.
T_CONV convertit le type de donnes d'une valeur de temps : (Time en DInt) ou (DInt en
Time)
T_ADD additionne des valeurs Time et DTL : (Time + Time = Time) ou (DTL + Time =
DTL)
T_SUB soustrait des valeurs Time et DTL : (Time - Time = Time) ou (DTL - Time = DTL)
T_DIFF fournit la diffrence entre deux valeurs DTL en tant que valeur Time : DTL - DTL
= Time
T_COMBINE combine une valeur Date et une valeur Time_and_Date pour crer une
valeur DTL.
Pour plus d'informations sur la structure des donnes DTL et Time, reportez-vous au
paragraphe sur les types de donnes "date et heure" (Page 95).

Tableau 8- 1 Instruction T_CONV (Convertir temps)


CONT/LOG

Description
T_CONV convertit un type de donnes Time en type de donnes DInt ou, l'inverse, un type de
donnes DInten type de donnes Time.

Pour CONT et LOG : Cliquez sur "???" et slectionnez les types de donnes dans le menu droulant.

Tableau 8- 2 Types de donnes pour les paramtres de T_CONV


Paramtre et type

Type de donnes

Description

IN

IN

DInt, Time

Valeur d'entre Time ou DInt

OUT

OUT

DInt, Time

Valeur convertie DInt ou Time

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

231

Instructions avances
8.1 Date et heure
Tableau 8- 3 Instructions T_ADD (Additionner temps) et T_SUB (Soustraire temps)
CONT/LOG

Description
T_ADD additionne la valeur d'entre IN1 (de type de donnes DTL ou Time) la valeur d'entre IN2 de
type Time. Le paramtre OUT fournit le rsultat de type DTL ou Time. Deux oprations sont possibles
selon les types de donnes :

Time + Time = Time

DTL + Time = DTL

T_SUB soustrait la valeur IN2 de type Time de la valeur IN1 (de type DTL ou Time). Le paramtre OUT
fournit la valeur de diffrence en tant que type de donnes DTL ou Time. Deux oprations sont
possibles selon les types de donnes :

Time - Time = Time

DTL - Time = DTL

Pour CONT et LOG : Cliquez sur "???" et slectionnez les types de donnes dans le menu droulant.

Tableau 8- 4 Types de donnes pour les paramtres de T_ADD et T_SUB

Paramtre et type

Type de donnes

Description

IN11

IN

DTL, Time

Valeur DTL ou Time

IN2

IN

Time

Valeur Time ajouter ou soustraire

OUT

OUT

DTL, Time

Somme ou diffrence DTL ou Time

Slectionnez le type de donnes de IN1 dans la liste droulante disponible sous le nom de l'instruction. La slection du
type de donnes de IN1 dfinit galement le type de donnes du paramtre OUT.

Tableau 8- 5 Instruction T_DIFF (Diffrence de temps)


CONT/LOG

Description
T_DIFF soustrait la valeur DTL (IN2) de la valeur DTL (IN1). Le paramtre OUT fournit la valeur de
diffrence en tant que type de donnes Time.

DTL - DTL = Time

Tableau 8- 6 Types de donnes pour les paramtres de T_DIFF


Paramtre et type

Type de donnes

Description

IN1

DTL

Valeur DTL

IN

IN2

IN

DTL

Valeur DTL soustraire

OUT

OUT

Time

Diffrence de temps de type Time

Automate programmable S7-1200

232

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.1 Date et heure
Codes d'erreur : ENO = 1 signifie qu'aucune erreur ne s'est produite. Erreurs si ENO = 0 et
le paramtre OUT = 0 :
Valeur DTL invalide
Valeur Time invalide
Tableau 8- 7 Instruction T_COMBINE (Combiner valeurs de temps)
CONT/LOG

Description
T_COMBINE combine une valeur Date et une valeur Time_of_Day pour crer une valeur
DTL.

Tableau 8- 8 Types de donnes pour les paramtres de T_COMBINE


Paramtre et type

Type de donnes

Description

Date

La valeur Date combiner doit tre comprise entre


DATE#1990-01-01 et DATE#2089-12-31.

IN1

IN

, IN2

IN

Time_of_Day

Valeur Time_of_Day combiner

OUT

OUT

DTL

Valeur DTL

8.1.2

Rgler et lire l'horloge systme


Utilisez les instructions d'horloge pour rgler et lire l'horloge systme de la CPU. Le type de
donnes DTL (Page 95) sert fournir des valeurs de date et d'heure.

Tableau 8- 9 Instructions pour l'heure systme


CONT/LOG

Description
WR_SYS_T (Ecrire l'heure systme) rgle l'horloge temps rel de la CPU l'aide de la valeur DTL dans le
paramtre IN. Cette valeur de temps n'inclut pas les dcalages pour le fuseau horaire local et l'heure
d't.
RD_SYS_T (Lire l'heure systme) lit l'heure systme en cours dans la CPU. Cette valeur de temps n'inclut
pas les dcalages pour le fuseau horaire local et l'heure d't.

RD_LOC_T (Lire l'heure locale) fournit l'heure locale en cours de la CPU sous forme de type de donnes
DTL. Cette valeur correspond au fuseau horaire local avec les ajustements appropris pour l'heure d't
(si configure).

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

233

Instructions avances
8.1 Date et heure
Tableau 8- 10 Types de donnes pour les paramtres
Paramtre et type

Type de donnes

Description

IN

IN

DTL

Heure rgler dans l'horloge systme de la CPU

RET_VAL

OUT

Int

Code d'erreur d'excution

OUT

OUT

DTL

RD_SYS_T : Heure systme en cours de la CPU


RD_LOC_T : Heure locale en cours incluant tout ajustement
pour l'heure d't (si configure)

L'heure locale se calcule l'aide des dcalages de fuseau horaire et d'heure d't que
vous avez paramtrs dans l'onglet gnral "Heure" de la configuration d'appareil.
La configuration du fuseau horaire constitue un dcalage par rapport l'heure UTC ou
GMT.
La configuration de l'heure d't prcise le mois, la semaine, le jour et l'heure auxquels
l'heure d't entre en vigueur.
La configuration de l'heure standard prcise galement le mois, la semaine, le jour et
l'heure auxquels l'heure standard entre en vigueur.
Le dcalage de fuseau horaire est toujours appliqu la valeur de l'heure systme. Le
dcalage d'heure d't n'est appliqu que lorsque l'heure d't est en vigueur.
Remarque
Configuration du passage l'heure d't et l'heure d'hiver
La proprit "Heure" pour "Dbut de l'heure d't" de la configuration d'appareil de la
CPU doit tre votre heure locale.
Codes d'erreur : ENO = 1 signifie qu'aucune erreur ne s'est produite. ENO = 0 signifie
qu'une erreur d'excution s'est produite et un code d'erreur est fourni par la valeur
RET_VAL.
Tableau 8- 11 Codes d'erreur
RET_VAL (W#16#....)

Description

0000

L'heure locale en cours est l'heure d'hiver.

0001

L'heure d't a t configure et l'heure locale en cours est l'heure d't.

8080

Heure locale non disponible

8081

Valeur de l'anne incorrecte

8082

Valeur du mois incorrecte

8083

Valeur du jour incorrecte

8084

Valeur de l'heure incorrecte

8085

Valeur des minutes incorrecte

8086

Valeur des secondes incorrecte

8087

Valeur des nanosecondes incorrecte

80B0

Dfaillance de l'horloge temps rel

Automate programmable S7-1200

234

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.1 Date et heure

8.1.3

Instruction Compteur d'heures de fonctionnement

Tableau 8- 12 Instruction RTM


CONT/LOG

Description
L'instruction RTM (Compteur d'heures de fonctionnement) permet de rgler, dmarrer, arrter et lire les
compteurs d'heures de fonctionnement dans la CPU.

Tableau 8- 13 Types de donnes pour les paramtres


Paramtre et type

Type de donnes

Description

NR

IN

UInt

Numro du compteur d'heures de fonctionnement : (valeurs


possibles : 0..9)

MODE

IN

Byte

Numro de mode d'excution RTM :

0 = Lire les valeurs (l'tat est alors crit dans CQ et la valeur


en cours dans CV)

1 = Dmarrer ( la dernire valeur du compteur)

2 = Arrter

4 = Rgler ( la valeur indique dans PV)

5 = Rgler ( la valeur indique dans PV) puis dmarrer

6 = Rgler ( la valeur indique dans PV) puis arrter

7 = Sauvegarder toutes les valeurs RTM de la CPU dans la


carte mmoire

PV

IN

DInt

Valeur d'heures prdfinie pour le compteur d'heures de


fonctionnement indiqu

RET_VAL

OUT

Int

Rsultat de la fonction / message d'erreur

CQ

OUT

Bool

Etat du compteur d'heures de fonctionnement (1 = en cours


d'excution)

CV

OUT

DInt

Valeur d'heures de fonctionnement en cours pour le compteur


indiqu

La CPU exploite jusqu' dix compteurs d'heures de fonctionnement pour suivre les heures
de fonctionnement des sous-systmes de commande critiques. Vous devez dmarrer les
compteurs d'heures individuels avec une instruction RTM pour chaque compteur. Tous les
compteurs d'heures de fonctionnement s'arrtent lorsque la CPU passe de l'tat MARCHE
l'tat ARRET. Vous pouvez galement arrter des compteurs d'heures individuellement
l'aide du mode d'excution 2 de RTM.
Lorsqu'une CPU passe de l'tat ARRET l'tat MARCHE, vous devez redmarrer les
compteurs d'heures avec une instruction RTM pour chaque compteur dmarr. Lorsque la
valeur d'un compteur d'heures de fonctionnement est suprieure 2147483647 heures, le
comptage s'arrte et l'erreur "Dbordement" est mise. Vous devez excuter l'instruction
RTM une fois pour chaque compteur d'heures que vous voulez rinitialiser ou modifier.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

235

Instructions avances
8.1 Date et heure
Une coupure de courant ou une mise hors tension de la CPU dclenche une procdure
d'arrt qui enregistre les valeurs en cours des compteurs d'heures de fonctionnement en
mmoire rmanente. A la remise sous tension de la CPU, les valeurs des compteurs
d'heures de fonctionnement sauvegardes sont recharges dans les compteurs d'heures
sans perte des totaux d'heures de fonctionnement prcdents. Les compteurs d'heures de
fonctionnement doivent tre redmarrs pour comptabiliser de nouvelles heures de
fonctionnement.
Vous pouvez galement utiliser le mode d'excution 7 de RTM dans votre programme pour
sauvegarder les valeurs des compteurs d'heures de fonctionnement en carte mmoire. L'tat
de tous les compteurs d'heures l'instant o le mode 7 de RTM est excut est alors stock
dans la carte mmoire. Ces valeurs enregistres peuvent devenir incorrectes avec le temps
du fait des dmarrages et arrts ventuels des compteurs d'heures pendant une session
d'excution du programme. Vous devez priodiquement actualiser les valeurs en carte
mmoire pour capturer les vnments de fonctionnement importants. L'avantage de
stocker les valeurs RTM en carte mmoire est que vous pouvez insrer la carte mmoire
dans une CPU de remplacement o votre programme est les valeurs RTM sauvegardes
seront alors disponibles. Si vous n'aviez pas sauvegard les valeurs RTM dans la carte
mmoire, elles seraient perdues (dans une CPU de remplacement).
Remarque
Evitez les appels excessifs d'oprations d'criture en carte mmoire dans votre programme
Rduisez les oprations d'criture en carte mmoire flash au minimum pour allonger la
dure de vie de la carte mmoire.

Tableau 8- 14 Codes d'erreur


RET_VAL (W#16#....)

Description

Pas d'erreur

8080

Numro de compteur d'heures de fonctionnement incorrect

8081

Une valeur ngative a t transmise au paramtre PV.

8082

Dbordement du compteur d'heures de fonctionnement

8091

Le paramtre d'entre MODE contient une valeur incorrecte.

80B1

Impossible de sauvegarder les valeurs en carte mmoire (MODE = 7)

Automate programmable S7-1200

236

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.1 Date et heure

8.1.4

Instruction SET_TIMEZONE

Tableau 8- 15 Instruction SET_TIMEZONE


CONT/LOG

Description
Dfinit les paramtres de fuseau horaire local et d'heure d't utiliss pour convertir
l'heure systme CPU en heure locale.

Tableau 8- 16 Types de donnes pour les paramtres


Paramtre et type

Type de donnes

Description

REQ

IN

Bool

REQ=1 : la fonction est excute

Timezone

IN

TimeTransformationRule

Rgles pour la conversion de l'heure systme en


heure locale

DONE

OUT

Bool

Fonction acheve

BUSY

OUT

Bool

Fonction occupe

ERROR

OUT

Bool

Erreur dtecte

STATUS

OUT

Word

Rsultat de la fonction / message d'erreur

Pour configurer manuellement les paramtres de fuseau horaire pour la CPU, utilisez les
proprits "Heure" de l'onglet "Gnral" de la configuration d'appareil.
Utilisez l'instruction SET_TIMEZONE pour configurer l'heure locale par programme. Les
paramtres de la structure "TimeTransformationRule" indiquent le fuseau horaire local et les
informations de temps pour la commutation automatique entre heure d'hiver et heure d't.
Tableau 8- 17 "Structure "TimeTransformationRule
Paramtre

Type de
donnes

Description

Bias

Int

Diffrence de temps entre l'heure UTC et l'heure locale [min]

DaylightBias

Int

Diffrence de temps entre l'heure d'hiver et l'heure d't [min]

DaylightStartMonth

USInt

Mois de passage l'heure d't

DaylightStartWeek

USInt

Semaine de passage l'heure d't :

DaylightStartWeekday

USInt

1 = Premire occurrence du jour de la semaine dans le mois

...

5 = Dernire occurrence du jour de la semaine dans le mois

Jour de passage l'heure d't :

1 = dimanche

...

7 = samedi

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

237

Instructions avances
8.2 Chanes de caractres et caractres

Paramtre

Type de
donnes

Description

DaylightStartHour

USInt

Heure de passage l'heure d't

StandardStartMonth

USInt

Mois de passage l'heure d'hiver

StandardStartWeek

USInt

Semaine de passage l'heure d'hiver :

StandardStartWeekday

USInt

1 = Premire occurrence du jour de la semaine dans le mois

...

5 = Dernire occurrence du jour de la semaine dans le mois

Jour de passage l'heure d'hiver :

1 = dimanche

...

7 = samedi

StandardStartHour

USInt

Heure de passage l'heure d'hiver

Time Zone Name

STRING [80]

Nom du fuseau :
(GMT +01:00) Amsterdam, Berlin, Berne, Rome, Stockholm, Vienne

8.2

Chanes de caractres et caractres

8.2.1

Prsentation des donnes chanes de caractres (type String)

Type de donnes STRING


Les donnes chanes de caractres (de type String) sont stockes sous forme d'un en-tte
de deux octets suivi de 254 octets au maximum de codes de caractres ASCII. Un en-tte
de chane de caractres contient deux longueurs. Le premier octet correspond la longueur
maximale qui est indique entre crochets lorsque vous initialisez une chane (254 par
dfaut). Le deuxime octet de l'en-tte est la longueur en cours qui est le nombre de
caractres valides dans la chane. La longueur en cours doit tre infrieure ou gale la
longueur maximale. Le nombre d'octets occups par le format String est suprieur de 2
octets la longueur maximale.

Initialisation des donnes String


Les donnes d'entre et de sortie String doivent tre initialises en tant que chanes valides
en mmoire avant excution de toute instruction sur chane.

Donnes String valides


Une chane valide a une longueur maximale qui doit tre suprieure zro mais infrieure
255. La longueur en cours doit tre infrieure ou gale la longueur maximale.
Il n'est pas possible d'affecter des chanes aux zones de mmoire I ou Q.

Automate programmable S7-1200

238

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.2 Chanes de caractres et caractres
Pour plus d'informations, reportez-vous Format du type de donnes String (Page 95).

8.2.2

Instruction S_MOVE

Tableau 8- 18 Instruction Copier chane


CONT/LOG

Description
Copier la chane de caractres source IN dans la destination OUT. L'excution de S_MOVE n'affecte
pas le contenu de la chane source.

Tableau 8- 19 Types de donnes pour les paramtres


Paramtre

Type de donnes

Description

IN

String

Chane de caractres source

OUT

String

Adresse cible

Si la longueur effective de la chane dans l'entre IN dpasse la longueur maximale d'une


chane stocke dans la sortie OUT, seule la partie de la chane IN qui tient dans la chane
OUT est copie.

8.2.3

Instructions de conversion de chane

8.2.3.1

Conversions de chane en valeur et de valeur en chane


Vous pouvez convertir des chanes de caractres numriques en valeurs numriques ou des
valeurs numriques en chanes de caractres numriques l'aide des instructions suivantes
:
S_CONV convertit une chane numrique en valeur numrique ou bien une valeur
numrique en chane numrique.
STRG_VAL convertit une chane numrique en valeur numrique avec des options de
format.
VAL_STRG convertit une valeur numrique en chane numrique avec des options de
format.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

239

Instructions avances
8.2 Chanes de caractres et caractres

S_CONV (conversions chane en valeur)


Tableau 8- 20 Instruction de conversion de chane
CONT/LOG

Description
Convertit une chane de caractres en sa valeur correspondante ou une valeur en sa chane de
caractres correspondante. L'instruction S_CONV ne comporte pas d'options de formatage de la sortie.
Cela rend S_CONV plus simple utiliser mais moins souple que les instructions STRG_VAL et
VAL_STRG.

Pour CONT / LOG : Cliquez sur "???" et slectionnez le type de donnes dans la liste droulante.

Tableau 8- 21 Types de donnes (chane en valeur)


Paramtre et type

Type de donnes

Description

IN

IN

String

Chane de caractres
d'entre

OUT

OUT

String, Char, SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal

Valeur numrique de sortie

La conversion du paramtre chane IN commence au premier caractre et continue jusqu'


la fin de la chane ou jusqu'au premier caractre rencontr qui n'est pas "0" "9", "+", "-" ou
".". La valeur rsultante est fournie l'adresse indique dans le paramtre OUT. Si la valeur
numrique en sortie ne tient pas dans la plage du type de donnes de OUT, le paramtre
OUT est mis 0 et ENO est dfini FAUX. Sinon, le paramtre OUT contient un rsultat
valide et ENO est dfini VRAI.
Rgles de format concernant la chane d'entre :
Si un sparateur dcimal est utilis dans la chane IN, vous devez utiliser le caractre ".".
Les virgules "," utilises comme sparateurs des milliers gauche du sparateur dcimal
sont autorises mais ne sont pas prises en compte.
Les espaces en tte ne sont pas pris en compte.
Seule la reprsentation en virgule fixe est prise en charge. Les caractres "e" et "E" ne
sont pas identifis comme notation exponentielle.

S_CONV (conversions valeur en chane)


Tableau 8- 22 Types de donnes (valeur en chane)
Paramtre et type

Type de donnes

Description

IN

IN

String, Char, SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal

Valeur numrique d'entre

OUT

OUT

String

Chane de caractres de
sortie

Automate programmable S7-1200

240

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.2 Chanes de caractres et caractres
Un paramtre IN entier, entier non sign ou nombre virgule flottante est converti en sa
chane de caractres correspondante dans OUT. Le paramtre OUT doit rfrencer une
chane valide pour que la conversion soit excute. Une chane valide comprend la longueur
de chane maximale dans le premier octet, la longueur de chane en cours dans le deuxime
octet et les caractres de la chane en cours dans les octets suivants. La chane convertie
remplace les caractres dans la chane OUT en commenant au premier caractre et l'octet
de longueur en cours de la chane OUT est ajust. L'octet de longueur maximale de la
chane OUT n'est pas modifi.
Le nombre de caractres remplacs dpend du type de donnes et de la valeur numrique
du paramtre IN. Le nombre de caractres remplacs doit tenir dans la longueur de la
chane du paramtre OUT. La longueur de chane maximale (premier octet) de la chane
OUT doit tre suprieure ou gale au nombre maximum attendu de caractres convertis. Le
tableau suivant montre les longueurs de chane maximales requises pour chaque type de
donnes pris en charge.
Tableau 8- 23 Longueurs maximales des chanes de caractres pour chaque type de donnes
Type de
donnes de
IN

Nombre maximum de caractres


convertis dans la chane OUT

Exemple

Longueur de chane totale incluant les


octets de longueur maximale et en cours

USInt

255

SInt

-128

UInt

65535

Int

-32768

UDInt

10

4294967295

12

DInt

11

-2147483648

13

Rgles de format concernant la chane de sortie :


Les valeurs crites dans le paramtre OUT n'utilisent pas de signe "+" en tte.
La reprsentation en virgule fixe est utilise (et non la notation exponentielle).
Le point "." est utilis pour reprsenter le sparateur dcimal lorsque le paramtre IN est
de type de donnes Real.

Instruction STRG_VAL
Tableau 8- 24 Instruction Chane en valeur
CONT/LOG

Description
Convertit une chane de caractres numrique en sa reprsentation entire ou virgule
flottante correspondante.

Pour CONT / LOG : Cliquez sur "???" et slectionnez le type de donnes dans la liste droulante.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

241

Instructions avances
8.2 Chanes de caractres et caractres
Tableau 8- 25 Types de donnes pour l'instruction STRG_VAL
Paramtre et type

Type de donnes

Description

IN

IN

String

Chane de caractres ASCII convertir

FORMAT

IN

Word

Options de format de sortie

IN

UInt, Byte, USInt

IN : Indice pointant sur le premier caractre


convertir (premier caractre = 1)

OUT

OUT

SInt, Int, DInt, USInt, UInt, UDInt,


Real, LReal

Valeur numrique convertie

La conversion commence dans la chane IN au dcalage de caractre P et continue jusqu'


la fin de la chane ou jusqu'au premier caractre rencontr qui n'est pas "+", "-", ".", ",", "e",
"E" ou "0" "9". Le rsultat est plac l'adresse indique dans le paramtre OUT.
Les donnes String doivent tre initialises avant l'excution en tant que chane valide en
mmoire.
Le paramtre FORMAT pour l'instruction STRG_VAL est dfini ci-dessous. Les positions de
bit inutilises doivent tre mises zro.
Tableau 8- 26 Format de l'instruction STRG_VAL
Bit
16
0

Bit 8 Bit 7
0

Bit 0
0

f = format de notation

1= notation exponentielle
0 = notation virgule fixe

r = format du sparateur
dcimal

1 = "," (virgule)
0 = "." (point)

Tableau 8- 27 Valeurs du paramtre FORMAT


FORMAT (W#16#)

Format de notation

0000 (par dfaut)

Virgule fixe

0001
0002

"."
","

Exponentielle

0003
0004 FFFF

Reprsentation du sparateur
dcimal

"."
","

Valeurs illicites

Automate programmable S7-1200

242

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.2 Chanes de caractres et caractres
Rgles pour la conversion STRG_VAL :
Si le point "." est utilis comme sparateur dcimal, les virgules "," gauche du
sparateur dcimal sont considres comme caractres de sparation des milliers. Les
virgules sont autorises mais ne sont pas prises en compte.
Si la virgule "," est utilise comme sparateur dcimal, les points "." gauche du
sparateur dcimal sont considrs comme caractres de sparation des milliers. Ces
points sont autoriss mais ne sont pas pris en compte.
Les espaces en tte ne sont pas pris en compte.

Instruction VAL_STRG
Tableau 8- 28 Instruction Valeur en chane
CONT/LOG

Description
Convertit une valeur entire, entire non signe ou virgule flottante en sa reprsentation
chane de caractres correspondante.

Pour CONT / LOG : Cliquez sur "???" et slectionnez le type de donnes dans la liste droulante.

Tableau 8- 29 Types de donnes pour l'instruction VAL_STRG


Paramtre et type

Type de donnes

Description

IN

IN

SInt, Int, DInt, USInt, UInt, Valeur convertir


UDInt, Real, LReal

SIZE

IN

USInt

Nombre de caractres crire dans la chane OUT

PREC

IN

USInt

Prcision ou taille de la partie fractionnaire. Cela n'inclut


pas le sparateur dcimal.

FORMAT

IN

Word

Options de format de sortie

IN

UInt, Byte, USInt

IN : Indice pointant sur le premier caractre de la chane


OUT remplacer (premier caractre = 1)

OUT

OUT

String

Chane convertie

La valeur reprsente par le paramtre IN est convertie en une chane rfrence par le
paramtre OUT. Le paramtre OUT doit tre une chane valide pour que la conversion soit
excute.
La chane convertie remplacera les caractres dans la chane OUT en commenant au
dcalage de caractres P et en allant jusqu'au nombre de caractres indiqu par le
paramtre SIZE. Le nombre de caractres dans SIZE doit tenir dans la longueur de la
chane OUT, le comptage commenant la position de caractre P. Cette instruction est
utile pour insrer des nombres dans une chane de texte. Vous pouvez, par exemple, insrer
le nombre "120" dans la chane "Pression pompe = 120 psi".

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

243

Instructions avances
8.2 Chanes de caractres et caractres
Le paramtre PREC indique la prcision ou le nombre de chiffres pour la partie fractionnaire
de la chane. Si la valeur du paramtre IN est un entier, PREC indique la position du
sparateur dcimal. Par exemple, si la valeur de donnes est 123 et que PREC est gal 1,
le rsultat sera "12.3". La prcision maximale accepte pour le type de donnes Real est de
7 chiffres.
Si le paramtre P est suprieur la taille en cours de la chane OUT, des espaces sont
ajouts jusqu' la position P et le rsultat est ajout la fin de la chane. La conversion
s'arrte si la longueur maximale de la chane OUT est atteinte.
Le paramtre FORMAT pour l'instruction VAL_STRG est dfini ci-dessous. Les positions de
bit inutilises doivent tre mises zro.
Tableau 8- 30 Format de l'instruction VAL_STRG
Bit
16
0

Bit 8 Bit 7
0

Bit 0
0

s = signe du nombre

1= utiliser les caractres "+" et "-" pour le signe


0 = utiliser le caractre "-" uniquement

f = format de notation

1= notation exponentielle
0 = notation virgule fixe

r = format du sparateur dcimal

1 = "," (virgule)
0 = "." (point)

Tableau 8- 31 Valeurs du paramtre FORMAT


FORMAT (WORD)

Signe du nombre

Format de notation

Reprsentation du
sparateur dcimal

W#16#0000

"-" uniquement

Virgule fixe

"."

W#16#0001

","
Exponentielle

W#16#0002

","

W#16#0003
W#16#0004

"+" et "-"

Virgule fixe

W#16#0005

"."
","

Exponentielle

W#16#0006

"."
","

W#16#0007
W#16#0008 W#16#FFFF

"."

Valeurs illicites

Automate programmable S7-1200

244

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.2 Chanes de caractres et caractres
Rgles de format concernant la chane OUT :
Des espaces sont ajouts l'extrme gauche de la chane lorsque la chane convertie
est infrieure la taille prcise.
Lorsque le bit de signe du paramtre FORMAT est FAUX, les valeurs de type de
donnes entier non sign et entier sign sont crites dans la mmoire tampon de sortie
sans tre prcdes du signe "+". Le signe "-" est utilis si ncessaire.
<espaces en tte><chiffres sans zros en tte>'.'<chiffres PREC>
Lorsque le bit de signe est VRAI, les valeurs de type de donnes entier non sign et
entier sign sont toujours crites dans la mmoire tampon de sortie avec un caractre de
signe en tte.
<espaces en tte><signe><chiffres sans zros en tte>'.'<chiffres PREC>
Lorsque la notation exponentielle est paramtre dans FORMAT, les valeurs de type de
donnes Real sont crites comme suit dans la mmoire tampon de sortie :
<espaces en tte><signe><chiffre> '.' <chiffres PREC>'E' <signe><chiffres sans zro en
tte>
Lorsque la notation en virgule fixe est paramtre dans FORMAT, les valeurs de type de
donnes entier, entier non sign et rel sont crites comme suit dans la mmoire tampon
de sortie :
<espaces en tte><signe><chiffres sans zros en tte>'.'<chiffres PREC>
Les zros en tte gauche du sparateur dcimal sont supprims (except le chiffre
ct du sparateur dcimal).
Les valeurs droite du sparateur dcimal sont arrondies pour correspondre au nombre
de chiffres droite du sparateur dcimal indiqu par le paramtre PREC.
La taille de la chane de sortie doit tre au minimum de trois octets suprieure au nombre
de chiffres droite du sparateur dcimal.
Les valeurs sont alignes droite dans la chane de sortie.

Situations d'erreur signales par ENO


Lorsqu'une erreur se produit pendant l'opration de conversion, les rsultats suivants sont
renvoys :
ENO est mis 0.
OUT est mis 0 ou dfini comme montr dans les exemples de conversion de chane en
valeur.
OUT reste inchang ou est dfini comme montr dans les exemples o OUT est une
chane.
Tableau 8- 32 Etat de ENO
ENO

Description

Pas d'erreur

Paramtre illicite ou invalide ; par exemple, accs un DB qui n'existe pas.

Chane illicite : la longueur maximale de la chane est 0 ou 255.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

245

Instructions avances
8.2 Chanes de caractres et caractres

ENO

Description

Chane illicite : la longueur en cours est suprieure la longueur maximale.

La valeur numrique convertie est trop grande pour le type de donnes spcifi pour OUT.

La taille de chane maximale du paramtre OUT doit tre suffisamment grande pour recevoir le nombre de
caractres indiqu par le paramtre SIZE, en commenant la position de caractre indique par le
paramtre P.

Valeur P illicite : P = 0 ou P est suprieur la longueur de chane en cours.

Le paramtre SIZE doit tre suprieur au paramtre PREC.

Tableau 8- 33 Exemples de conversion de chane en valeur S_CONV


Chane IN

Type de donnes de
OUT

Valeur OUT

ENO

"123"

Int ou DInt

123

VRAI

"-00456"

Int ou DInt

-456

VRAI

"123.45"

Int ou DInt

123

VRAI

"+2345"

Int ou DInt

2345

VRAI

"00123AB"

Int ou DInt

123

VRAI

"123"

Real

123.0

VRAI

"123.45"

Real

123.45

VRAI

"1.23e-4"

Real

1.23

VRAI

"1.23E-4"

Real

1.23

VRAI

"12,345.67"

Real

12345.67

VRAI

"3.4e39"

Real

3.4

VRAI

"-3.4e39"

Real

-3.4

VRAI

"1.17549e-38"

Real

1.17549

VRAI

"12345"

SInt

FAUX

"A123"

Sans objet

FAUX

""

Sans objet

FAUX

"++123"

Sans objet

FAUX

"+-123"

Sans objet

FAUX

Tableau 8- 34 Exemples de conversion de valeur en chane S_CONV


Type de donnes

Valeur IN

Chane OUT

ENO

UInt

123

"123"

VRAI

UInt

"0"

VRAI

UDInt

12345678

"12345678"

VRAI

Real

-INF

"INF"

FAUX

Real

+INF

"INF"

FAUX

Real

NaN

"NaN"

FAUX

Automate programmable S7-1200

246

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.2 Chanes de caractres et caractres
Tableau 8- 35 Exemples de conversion STRG_VAL
Chane IN

FORMAT
(W#16#....)

Type de donnes
de OUT

Valeur OUT

ENO

"123"

0000

Int ou DInt

123

VRAI

"-00456"

0000

Int ou DInt

-456

VRAI

"123.45"

0000

Int ou DInt

123

VRAI

"+2345"

0000

Int ou DInt

2345

VRAI

"00123AB"

0000

Int ou DInt

123

VRAI

"123"

0000

Real

123.0

VRAI

"-00456"

0001

Real

-456.0

VRAI

"+00456"

0001

Real

456.0

VRAI

"123.45"

0000

Real

123.45

VRAI

"123.45"

0001

Real

12345.0

VRAI

"123,45"

0000

Real

12345.0

VRAI

"123,45"

0001

Real

123.45

VRAI

".00123AB"

0001

Real

123.0

VRAI

"1.23e-4"

0000

Real

1.23

VRAI

"1.23E-4"

0000

Real

1.23

VRAI

"1.23E-4"

0002

Real

1.23E-4

VRAI

"12,345.67"

0000

Real

12345.67

VRAI

"12,345.67"

0001

Real

12.345

VRAI

"3.4e39"

0002

Real

+INF

VRAI

"-3.4e39"

0002

Real

-INF

VRAI

"1.1754943e-38"
(et infrieur)

0002

Real

0.0

VRAI

"12345"

Sans objet

SInt

FAUX

"A123"

Sans objet

Sans objet

FAUX

""

Sans objet

Sans objet

FAUX

"++123"

Sans objet

Sans objet

FAUX

"+-123"

Sans objet

Sans objet

FAUX

Les exemples suivants de conversions VAL_STRG sont bass sur une chane OUT
initialise comme suit :
"Current Temp = xxxxxxxxxx C"
Le caractre "x" reprsente des espaces allous pour la valeur convertie.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

247

Instructions avances
8.2 Chanes de caractres et caractres
Tableau 8- 36 Exemples de conversion VAL_STRG
Type de
donnes

Valeur IN

SIZE

FORMAT
(W#16#....)

PREC

UInt

123

16

10

0000

UInt
UDInt
UDInt
Int
Int
Real
Real
Real

16

12345678
12345678
123

16
16
16

-123

16

-0.00123
-0.00123
-INF

16
16
16

10
10
10
10
10
10
10
10

0000
0000
0001
0004
0004
0004
0006
Sans objet

2
3
3
0
0
4
4
4

Real

+INF

16

10

Sans objet

Real

NaN

16

10

Sans objet

UDInt

12345678

16

Sans objet

8.2.3.2

Chane OUT
Current Temp
xxxxxxx123 C
Current Temp
xxxxxx0.00 C
Current Temp
x12345.678 C
Current Temp
x12345,678 C
Current Temp
xxxxxx+123 C
Current Temp
xxxxxx-123 C
Current Temp
0.0012 C
Current Temp
1.2300E-3 C
Current Temp
xxxxxx-INF C
Current Temp
xxxxxx+INF C
Current Temp
xxxxxxxNaN C
Current Temp
xxxxxxxxxx C

ENO
=

VRAI

VRAI

VRAI

VRAI

VRAI

VRAI

= xxx-

VRAI

= -

VRAI

FAUX

FAUX

FAUX

FAUX

Conversions de chane en caractres et de caractres en chane


Chars_TO_Strg copie un tableau d'octets de caractres ASCII dans une chane de
caractres.
Strg_TO_Chars copie une chane de caractres ASCII dans un tableau d'octets de
caractres.
Remarque
Seuls les types de tableaux de base zro (Array [0..n] of Char ou Array [0..n] of Byte) sont
autoriss comme paramtre d'entre Chars pour l'instruction Chars_TO_Strg ou comme
paramtre d'entre/sortie Chars pour l'instruction Strg_TO_Chars .

Tableau 8- 37 Instruction Chars_TO_Strg


CONT/LOG

Description
L'ensemble ou une partie d'un tableau de caractres est copi dans une chane.
La chane de sortie doit tre dclare avant l'excution de Chars_TO_Strg. La chane est alors
crase par l'excution de l'instruction Chars_TO_Strg.
Il est possible d'utiliser des chanes de toutes les longueurs maximales acceptes (1..254).
La longueur de chane maximale n'est pas modifie par l'instruction Chars_TO_Strg . La copie du
tableau dans la chane s'arrte lorsque la longueur de chane maximale est atteinte.
Une valeur de caractre nul ($00) ou 16#00 dans le tableau de caractres constitue un dlimiteur qui
met fin la copie de caractres dans la chane.

Automate programmable S7-1200

248

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.2 Chanes de caractres et caractres
Tableau 8- 38 Types de donnes pour les paramtres (Chars_TO_Strg)
Paramtre et type

Type de donnes

Description

Chars

IN

Variant

Le paramtre Chars est un pointeur dsignant un tableau de


caractres de base zro [0..n] convertir en chane. Le
tableau peut tre dclar dans un DB ou sous forme de
variables locales dans l'interface de bloc.
Exemple : "DB1".MyArray dsigne les lments de MyArray
[0..10] of Char dans le DB1.

pChars

IN

Dint

Numro d'lment du premier caractre du tableau copier.


L'lment [0] du tableau est pris par dfaut.

Cnt

IN

UInt

Nombre de caractres copier ; 0 signifie tous les caractres.

Strg

OUT

String

Chane cible

Tableau 8- 39 Instruction Strg_TO_Chars


CONT/LOG

Description
La chane d'entre complte Strg est copie dans un tableau de caractres indiqu par le paramtre
IN_OUTChars.
L'opration crase les octets en commenant l'lment du tableau indiqu par le paramtre pChars.
Il est possible d'utiliser des chanes de toutes les longueurs maximales acceptes (1..254).
Aucun dlimiteur de fin n'est crit ; c'est vous de vous en charger. Pour placer un dlimiteur de fin
juste aprs le dernire caractre crit dans le tableau, utilisez le numro d'lment de tableau suivant
[pChars+Cnt].

Tableau 8- 40 Types de donnes pour les paramtres (Strg_TO_Chars)


Paramtre et type

Type de donnes

Description

Strg

IN

String

Chane de caractres source

pChars

IN

DInt

Numro d'lment de tableau pour le premier caractre de la


chane crit dans le tableau cible

Chars

IN_OUT

Variant

Le paramtre Chars est un pointeur dsignant un tableau de


caractres de base zro [0..n] copier depuis la chane
d'entre. Le tableau peut tre dclar dans un DB ou sous
forme de variables locales dans l'interface de bloc.
Exemple : "DB1".MyArray dsigne les lments de MyArray
[0..10] of Char dans le DB1.

Cnt

OUT

UInt

Nombre de caractres copis

Tableau 8- 41 Etat de ENO


ENO

Description

Pas d'erreur

Chars_TO_Strg : Tentative de copier dans la chane de sortie plus d'octets de caractres que ne l'autorise
l'octet de longueur maximale dans la dclaration de la chane

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

249

Instructions avances
8.2 Chanes de caractres et caractres

ENO

Description

Chars_TO_Strg : La valeur de caractre nul (16#00) a t trouve dans le tableau de caractres d'entre.

Strg_TO_Chars : Tentative de copier dans le tableau de sortie plus d'octets de caractres que ne l'autorise
la limite de nombre d'lments

8.2.3.3

Conversions de ASCII en hexadcimal et de hexadcimal en ASCII


Utilisez les instructions ATH (ASCII en hexadcimal) et HTA (Hexadcimal en ASCII) pour
effectuer des conversions entre octets de caractres ASCII (caractres 0 9 et majuscules
A F uniquement) et les quartets hexadcimaux correspondants.

Tableau 8- 42 Instruction ATH


CONT/LOG

Description
Convertit des caractres ASCII en chiffres hexadcimaux condenss.

Tableau 8- 43 Types de donnes pour l'instruction ATH


Type de paramtre

Type de donnes

Description

IN

Variant

Pointeur dsignant le tableau d'octets de caractres ASCII

IN

IN

UInt

Nombre d'octets de caractres ASCII convertir

RET_VAL

OUT

Word

Code d'erreur d'excution

OUT

OUT

Variant

Pointeur dsignant le tableau d'octets hexadcimaux convertis

La conversion commence l'emplacement indiqu par le paramtre IN et se poursuit sur N


octets. Le rsultat est plac l'emplacement indiqu par OUT. Seuls les caractres ASCII
valides 0 9 et majuscules A F peuvent tre convertis. Tout autre caractre est converti
en un zro.
Les caractres cods ASCII de 8 bits sont convertis en quartets hexadcimaux. Deux
caractres ASCII peuvent tre stocks dans un octet unique.
Les paramtres IN et OUT correspondent des tableaux d'octets et non des donnes de
type String hexadcimales. Les caractres ASCII sont convertis et placs dans la sortie
hexadcimale dans l'ordre o ils sont lus. S'il y a un nombre impair de caractres ASCII, le
quartet de droite du dernier chiffre hexadcimal converti est complt avec des zros.
Tableau 8- 44 Codes d'erreur de ATH
RET_VAL (W#16#....)

Description

ENO

0000

Pas d'erreur

VRAI

0007

Caractre d'entre ATH invalide

FAUX

Automate programmable S7-1200

250

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.2 Chanes de caractres et caractres
Tableau 8- 45 Exemples de conversion d'ASCII en hexadcimal (ATH)
Octets caractres dans IN

Valeur OUT

ENO

'0123'

W#16#0123

VRAI

'123AFx1a23'

10

DW#16#123AF01023

FAUX

'a23'

W#16#A230

VRAI

Tableau 8- 46 Instruction HTA


CONT/LOG

Description
Convertit des chiffres hexadcimaux condenss en octets de caractres ASCII correspondants.

Tableau 8- 47 Types de donnes pour l'instruction HTA


Paramtre et type

Type de
donnes

Description

IN

IN

Variant

Pointeur dsignant le tableau d'octets d'entre

IN

UInt

Nombre d'octets convertir (chaque octet d'entre comporte deux


quartets ce qui produit 2N caractres ASCII)

RET_VAL

OUT

Word

Code d'erreur d'excution

OUT

OUT

Variant

Pointeur dsignant le tableau d'octets de caractres ASCII

La conversion commence l'emplacement indiqu par le paramtre IN et se poursuit sur N


octets. Chaque quartet est converti en un unique caractre ASCII de 8 bits, ce qui produit 2N
octets de caractres ASCII de sortie. Les 2N octets de la sortie sont crits sous forme de
caractres ASCII de 0 9 et A F majuscules. Le paramtre OUT correspond un tableau
d'octets et non une chane de caractres.
Les quartets des octets hexadcimaux sont convertis en caractres dans l'ordre o ils sont
lus (le quartet de gauche d'un octet hexadcimal est converti le premier, suivi par le quartet
de droite de ce mme octet).
Tableau 8- 48 Exemples de conversion de hexadcimal en ASCII (HTA)
Valeur IN

Octets caractres dans


OUT

ENO (ENO est toujours VRAI aprs l'excution de HTA)

W#16#0123

'0123'

VRAI

DW#16#123AF012

'123AF012'

VRAI

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

251

Instructions avances
8.2 Chanes de caractres et caractres
Tableau 8- 49 Codes d'erreur de ATH and HTA
RET_VAL
(W#16#....)

Description

ENO

0000

Pas d'erreur

VRAI

0007

Caractre d'entre ATH invalide : Un caractre qui n'tait pas un caractre ASCII 0
9, a f minuscule ou A F majuscule a t trouv.

FAUX

8101

Pointeur d'entre illicite ou invalide ; par exemple, accs un DB qui n'existe pas.

FAUX

8120

La chane d'entre a un format invalide, c'est--dire max=0, max=255, valeur en


cours>max ou longueur alloue dans le pointeur < max.

FAUX

8182

Mmoire tampon d'entre trop petite pour N

FAUX

8151

Type de donnes interdit pour la mmoire tampon d'entre

FAUX

8301

Pointeur de sortie illicite ou invalide ; par exemple, accs un DB qui n'existe pas.

FAUX

8320

La chane de sortie a un format invalide, c'est--dire max=0, max=255, valeur en


cours>max ou longueur alloue dans le pointeur < max.

FAUX

8382

Mmoire tampon de sortie trop petite pour N

FAUX

8351

Type de donnes interdit pour la mmoire tampon de sortie

FAUX

8.2.4

Instructions sur chane


Votre programme de commande peut utiliser les instructions sur chane et sur caractre
suivantes pour crer des messages destins aux afficheurs et aux journaux du processus.

8.2.4.1

LEN

Tableau 8- 50 Instruction Longueur


CONT/LOG

Description
LEN (Longueur) transmet la longueur en cours de la chane IN la sortie OUT. Une chane vide a une
longueur de zro.

Tableau 8- 51 Types de donnes pour les paramtres


Paramtre et type

Type de donnes

Description

IN

IN

String

Chane d'entre

OUT

OUT

Int, DInt, Real, LReal

Nombre de caractres valides dans la chane d'entre IN

Automate programmable S7-1200

252

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.2 Chanes de caractres et caractres
Tableau 8- 52 Etat de ENO
ENO

Situation d'erreur

OUT

Pas de chane invalide

Longueur de chane valide

La longueur en cours de IN dpasse la longueur maximale de IN.

La longueur en cours est


mise 0.

La longueur maximale de IN n'entre pas dans la zone de mmoire alloue.


La longueur maximale de IN est 255 (longueur interdite).

8.2.4.2

CONCAT

Tableau 8- 53 Instruction Concatner des chanes


CONT/LOG

Description
CONCAT (Concatner des chanes) combine les chanes IN1 et IN2 pour former une nouvelle chane
dans OUT. Aprs la concatnation, la chane IN1 est la partie gauche et la chane IN2 la partie droite de
la chane combine.

Tableau 8- 54 Types de donnes pour les paramtres


Paramtre et type

Type de donnes

Description

IN1

IN

String

Chane d'entre 1

IN2

IN

String

Chane d'entre 2

OUT

OUT

String

Chane combine (chane 1 + chane 2)

Tableau 8- 55 Etat de ENO


ENO

Situation d'erreur

OUT

Pas d'erreur dtecte

Caractres valides

La chane rsultante aprs concatnation est plus grande que la longueur


maximale de la chane OUT.

Les caractres de la chane


rsultante sont copis jusqu' ce
que la longueur maximale de
OUT soit atteinte.

La longueur en cours de IN1 dpasse la longueur maximale de IN1, la


La longueur en cours est mise
longueur en cours de IN2 dpasse la longueur maximale de IN2 ou la
0.
longueur en cours de OUT dpasse la longueur maximale de OUT (chane
invalide).
La longueur maximale de IN1, IN2 ou OUT n'entre pas dans la zone de
mmoire alloue.
La longueur maximale de IN1 ou IN2 est 255 ou la longueur maximale de
OUT est 0 ou 255.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

253

Instructions avances
8.2 Chanes de caractres et caractres

8.2.4.3

LEFT, RIGHT et MID

Tableau 8- 56 Instructions Lire les caractres de gauche d'une chane, Lire les caractres de droite d'une chane et Lire les
caractres du milieu d'une chane
CONT/LOG

Description
LEFT (Lire les caractres de gauche d'une chane) renvoie une sous-chane constitue des L premiers
caractres du paramtre chane IN.

Si L est suprieur la longueur en cours de la chane IN, la chane IN entire est renvoye dans
OUT.

Si l'entre est une chane vide, une chane vide est renvoye dans OUT.

MID (Lire les caractres du milieu d'une chane) renvoie la partie mdiane d'une chane. La sous-chane
mdiane fait L caractres de long et commence la position de caractre P (incluse).
Si la somme de L et de P dpasse la longueur en cours de la chane IN, une sous-chane commenant
la position de caractre P et allant jusqu' la fin de la chane IN est renvoye.

RIGHT (Lire les caractres de droite d'une chane) renvoie les L derniers caractres d'une chane.

Si L est suprieur la longueur en cours de la chane IN, la chane IN entire est renvoye dans le
paramtre OUT.

Si l'entre est une chane vide, une chane vide est renvoye dans OUT.

Tableau 8- 57 Types de donnes pour les paramtres


Paramtre et type

Type de donnes

Description

IN

IN

String

Chane d'entre

IN

Int

Longueur de la sous-chane crer :

IN

Int

LEFT utilise le nombre de caractres les plus gauche dans la


chane.

RIGHT utilise le nombre de caractres les plus droite dans la


chane.

MID utilise le nombre de caractres partir de la position P


dans la chane.

MID uniquement : Position du premier caractre de la sous-chane


copier
P= 1 pour la position de caractre de dbut de la chane IN

OUT

OUT

String

Chane de sortie

Automate programmable S7-1200

254

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.2 Chanes de caractres et caractres
Tableau 8- 58 Etat de ENO
ENO

Situation d'erreur

Pas d'erreur dtecte

OUT
Caractres valides

L ou P est infrieur ou gal 0.

P est suprieur la longueur maximale de IN.

La longueur en cours de IN dpasse la longueur maximale de IN ou la


longueur en cours de OUT dpasse la longueur maximale de OUT.

La longueur maximale de IN ou OUT n'entre pas dans la zone de


mmoire alloue.

La longueur maximale de IN ou OUT est 0 ou 255.

La longueur en cours est mise


0.

La longueur (L) de la sous-chane copier est suprieure la longueur


maximale de la chane OUT.

Les caractres sont copis


jusqu' ce que la longueur
maximale de OUT soit atteinte.

MID uniquement : L ou P est infrieur ou gal 0.

La longueur en cours est mise


0.

MID uniquement : P est suprieur la longueur maximale de IN


La longueur en cours de IN1 dpasse la longueur maximale de IN1 ou la
longueur en cours de IN2 dpasse la longueur maximale de IN2 (chane
invalide).

La longueur en cours est mise


0.

La longueur maximale de IN1, IN2 ou OUT n'entre pas dans la zone de


mmoire alloue.
La longueur maximale de IN1, IN2 ou OUT est 0 ou 255 (longueur
interdite).

8.2.4.4

DELETE

Tableau 8- 59 Instruction Supprimer des caractres dans une chane


CONT/LOG

Description
Supprime L caractres dans la chane IN. La suppression des caractres commence la position P
(incluse) et la sous-chane restante est renvoye dans le paramtre OUT.

Si L est gal zro, la chane d'entre est renvoye dans OUT.

Si la somme de L et de P est suprieure la longueur de la chane d'entre, la chane est efface


jusqu' la fin.

Tableau 8- 60 Types de donnes pour les paramtres


Paramtre et type

Type de donnes

Description

IN

IN

String

Chane d'entre

IN

Int

Nombre de caractres supprimer

IN

Int

Position du premier caractre supprimer. Le premier caractre


de la chane IN correspond au numro de position 1.

OUT

OUT

String

Chane de sortie

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

255

Instructions avances
8.2 Chanes de caractres et caractres
Tableau 8- 61 Etat de ENO
ENO

Situation d'erreur

OUT

Pas d'erreur dtecte

Caractres valides

P est suprieur la longueur en cours de IN

IN est copi dans OUT sans


qu'aucun caractre ne soit
supprim.

La chane rsultante aprs suppression des caractres est plus grande


que la longueur maximale de la chane OUT.

Les caractres de la chane


rsultante sont copis jusqu' ce
que la longueur maximale de
OUT soit atteinte.

L est infrieur 0 ou P est infrieur ou gal 0.

La longueur en cours est mise


0.

La longueur en cours de IN dpasse la longueur maximale de IN ou la


longueur en cours de OUT dpasse la longueur maximale de OUT.
La longueur maximale de IN ou OUT n'entre pas dans la zone de mmoire
alloue.
La longueur maximale de IN ou OUT est 0 ou 255.

8.2.4.5

INSERT

Tableau 8- 62 Instruction Insrer des caractres dans une chane


CONT/LOG

Description
Insre la chane IN2 dans la chane IN1. L'insertion commence aprs le caractre la position P.

Tableau 8- 63 Types de donnes pour les paramtres


Paramtre et type

Type de donnes

Description

IN1

IN

String

Chane d'entre 1

IN2

IN

String

Chane d'entre 2

IN

Int

Dernire position de caractre dans la chane IN1 avant le point


d'insertion de la chane IN2.
Le premier caractre de la chane IN1 correspond au numro de
position 1.

OUT

OUT

String

Chane rsultante

Automate programmable S7-1200

256

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.2 Chanes de caractres et caractres
Tableau 8- 64 Etat de ENO
ENO

Situation d'erreur

OUT

Pas d'erreur dtecte

Caractres valides

P est suprieur la longueur de IN1.

IN2 est concatn IN1 immdiatement


aprs le dernier caractre de IN1.

P est infrieur 0.

La longueur en cours est mise 0.

La chane rsultante aprs insertion est plus grande que la


longueur maximale de la chane OUT.

Les caractres de la chane rsultante


sont copis jusqu' ce que la longueur
maximale de OUT soit atteinte.

La longueur en cours de IN1 dpasse la longueur maximale de IN1, La longueur en cours est mise 0.
la longueur en cours de IN2 dpasse la longueur maximale de IN2
ou la longueur en cours de OUT dpasse la longueur maximale de
OUT (chane invalide).
La longueur maximale de IN1, IN2 ou OUT n'entre pas dans la zone
de mmoire alloue.
La longueur maximale de IN1 ou IN2 est 255 ou la longueur
maximale de OUT est 0 ou 255.

8.2.4.6

REPLACE

Tableau 8- 65 Instruction Remplacer des caractres dans une chane


CONT/LOG

Description
Remplace L caractres dans la chane IN1. La substitution commence la position de caractre P
(incluse) de la chane IN1, les caractres de substitution provenant de la chane IN2.

Tableau 8- 66 Types de donnes pour les paramtres


Paramtre et type

Type de donnes

Description

IN1

IN

String

Chane d'entre

IN2

IN

String

Chane de caractres de substitution

IN

Int

Nombre de caractres remplacer

IN

Int

Position du premier caractre remplacer

OUT

OUT

String

Chane rsultante

Si le paramtre L est gal zro, la chane IN2 est insre la position P de la chane IN1
sans qu'aucun caractre de la chane IN1 ne soit effac.
Si P est gal 1, les L premiers caractres de la chane IN1 sont remplacs par les
caractres de la chane IN2.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

257

Instructions avances
8.2 Chanes de caractres et caractres
Tableau 8- 67 Etat de ENO
ENO

Situation d'erreur

OUT

Pas d'erreur dtecte

Caractres valides

P est suprieur la longueur de IN1.

IN2 est concatn IN1 immdiatement


aprs le dernier caractre de IN1.

P pointe l'intrieur de IN1 mais il reste moins de L caractres


dans IN1.

IN2 remplace les derniers caractres de


IN1 en commenant la position P.

La chane rsultante aprs substitution est plus grande que la


longueur maximale de la chane OUT.

Les caractres de la chane rsultante


sont copis jusqu' ce que la longueur
maximale de OUT soit atteinte.

La longueur maximale de IN1 est 0.

IN2 Les caractres de IN2 sont copis


dans OUT

L est infrieur 0 ou P est infrieur ou gal 0.

La longueur en cours est mise 0.

La longueur en cours de IN1 dpasse la longueur maximale de IN1,


la longueur en cours de IN2 dpasse la longueur maximale de IN2
ou la longueur en cours de OUT dpasse la longueur maximale de
OUT.
La longueur maximale de IN1, IN2 ou OUT n'entre pas dans la zone
de mmoire alloue.
La longueur maximale de IN1 ou IN2 est 255 ou la longueur
maximale de OUT est 0 ou 255.

8.2.4.7

FIND

Tableau 8- 68 Instruction Trouver des caractres dans une chane


CONT/LOG

Description
Renvoie la position de la sous-chane indique par IN2 l'intrieur de la chane IN1. La recherche
commence par la gauche. La position de caractre de la premire occurrence de la chane IN2 est
renvoye dans OUT. Si la chane IN2 est introuvable dans la chane IN1, zro est renvoy.

Tableau 8- 69 Types de donnes pour les paramtres


Paramtre et type

Type de donnes

Description

IN1

IN

String

Recherche l'intrieur de cette chane

IN2

IN

String

Chane recherche

OUT

OUT

Int

Position de caractre dans la chane IN1 de la premire occurrence


de la chane recherche

Automate programmable S7-1200

258

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.3 Priphrie dcentralise
Tableau 8- 70 Etat de ENO
ENO

Situation d'erreur

OUT

Pas d'erreur dtecte

Position de caractre valide

IN2 est plus grand que IN1

La position de caractre est mise


La longueur en cours de IN1 dpasse la longueur maximale de IN1 ou la 0.
longueur en cours de IN2 dpasse la longueur maximale de IN2 (chane
invalide).
La longueur maximale de IN1 ou IN2 n'entre pas dans la zone de
mmoire alloue.
La longueur maximale de IN1 ou IN2 est 255.

8.3

Priphrie dcentralise

8.3.1

RDREC et WRREC
Vous pouvez utiliser les instructions RDREC (Lecture enregistrement) et WRREC (Ecriture
enregistrement) avec PROFINET, PROFIBUS et GPRS.

Tableau 8- 71 Instructions RDREC et WRREC


CONT/LOG

Description
Utilisez l'instruction RDREC pour lire l'enregistrement de numro INDEX dans le
composant dsign par le paramtre ID, par exemple un chssis central ou un
composant dcentralis (PROFIBUS DP ou PROFINET IO). Indiquez dans MLEN
le nombre maximum d'octets lire. La longueur de la zone cible RECORD doit
donc tre d'au moins MLEN octets.

Utilisez l'instruction WRREC pour transfrer l'enregistrement RECORD de numro


INDEX dans un esclave DP/priphrique PROFINET IO dsign par ID, par
exemple un module dans le chssis central ou un composant dcentralis
(PROFIBUS DP ou PROFINET IO).
Indiquez dans LEN la longueur en octets de l'enregistrement transmettre. La
longueur de la zone source RECORD doit donc tre d'au moins LEN octets.

STEP 7 cre automatiquement le DB lorsque vous insrez l'instruction.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

259

Instructions avances
8.3 Priphrie dcentralise
Tableau 8- 72 Types de donnes pour les paramtres de RDREC et WRREC
Paramtre et type

Type de donnes

Description

REQ

IN

Bool

REQ = 1 : Transfrer un enregistrement

ID

IN

HW_IO (Word)

Adresse logique de l'esclave DP/composant PROFINET IO


(module ou sous-module) :

Pour un module de sorties, le bit 15 doit tre 1 (par


exemple, pour l'adresse 5 : ID:= DW#16#8005).

Pour un module d'entres-sorties, la plus petite des deux


adresses doit tre indique.
Remarque : L'ID d'appareil peut tre dtermine de l'une des
deux faons suivantes :

Via les slections suivantes dans la vue du rseau :

Appareil (bote grise)

"Proprits" de l'appareil

"Identificateur matriel"
Remarque : Tous les appareils n'affichent toutefois pas
leur identificateur matriel.

Via les slections suivantes dans la vue du projet :

Variables API

Table de variables par dfaut

Onglet Constantes systme

Tous les identificateurs matriels d'appareils configurs sont


affichs.
INDEX

IN

Byte, Word, USInt,


UInt, SInt, Int, DInt

Numro de l'enregistrement

MLEN

IN

Byte, USInt, UInt

Longueur maximale en octets des informations de


l'enregistrement lire (RDREC)

VALID

OUT

Bool

Un nouvel enregistrement valide a t reu (RDREC). Le bit


VALID est VRAI pour un cycle lorsque la dernire demande
s'est acheve sans erreur.

DONE

OUT

Bool

L'enregistrement a t transfr (WRREC). Le bit DONE est


VRAI pour un cycle lorsque la dernire demande s'est acheve
sans erreur.

BUSY

OUT

Bool

BUSY = 1 : L'opration de lecture (RDREC) ou d'criture


(WRREC) n'est pas encore termine.

BUSY = 0 : La transmission de l'enregistrement est acheve.

ERROR

OUT

Bool

ERROR = 1 : Une erreur de lecture (RDREC) ou d'criture


(WRREC) s'est produite. Le bit ERROR est VRAI pour un cycle
lorsque la dernire demande s'est acheve avec une erreur. La
valeur de code d'erreur dans le paramtre STATUS ne vaut que
pendant le cycle o ERROR est VRAI.

STATUS

OUT

DWord

Etat du bloc ou information d'erreur

Automate programmable S7-1200

260

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.3 Priphrie dcentralise

Paramtre et type

Type de donnes

Description

LEN

UInt

Longueur des informations lues de l'enregistrement


(RDREC)

Longueur maximale en octets de l'enregistrement crire


(WRREC)

Zone cible pour l'enregistrement lu (RDREC)

Enregistrement (WRREC)

RECORD

OUT (RDREC)
IN (WRREC)

IN_OUT

Variant

Les instructions RDREC et WRREC ont un fonctionnement asynchrone, c'est--dire que le


traitement s'tend sur plusieurs appels d'instruction. Lancez la tche en appelant RDREC ou
WRREC avec REQ gal 1.
L'tat de la tche est indiqu dans le paramtre de sortie BUSY et dans les deux octets
centraux du paramtre de sortie STATUS. Le transfert de l'enregistrement est achev
lorsque le paramtre de sortie BUSY a la valeur FALSE.
La valeur TRUE (pendant un cycle seulement) du paramtre de sortie VALID (RDREC) ou
DONE (WRREC) signifie que l'enregistrement a t transfr avec succs dans la zone cible
RECORD (RDREC) ou dans l'appareil cible (WRREC). Pour RDREC, le paramtre de sortie
LEN contient la longueur des donnes lues en octets.
Le paramtre de sortie ERROR indique (pendant un cycle seulement lorsque ERROR =
TRUE) qu'une erreur de transmission d'enregistrement s'est produite. Si c'est le cas, le
paramtre de sortie STATUS contient les informations d'erreur correspondantes (pendant un
cycle seulement lorsque ERROR = TRUE).
Les enregistrements sont dfinis par le fabricant de l'appareil. Reportez-vous la
documentation du fabricant concernant l'appareil pour obtenir plus de dtails sur un
enregistrement.
Remarque
Si un esclave DPV1 est configur au moyen d'un fichier GSD (GSD version 3 ou plus) et que
l'interface DP du matre DP est paramtre "S7 compatible", vous ne pourrez pas lire
d'enregistrements des modules d'entres-sorties dans le programme utilisateur avec
"RDREC" ou crire dans les modules d'entres-sorties avec "WRREC". Dans ce cas, le
matre DP accde au mauvais emplacement (emplacement configur + 3).
Solution : Dfinissez l'interface du matre DP "DPV1".
Remarque
Les interfaces des instructions "RDREC" et "WRREC" sont identiques aux FB "RDREC" et
"WRREC" dfinis dans la publication "PROFIBUS Guideline PROFIBUS Communication and
Proxy Function Blocks according to IEC 61131-3".
Remarque
Si vous utilisez "RDREC" ou "WRREC" pour lire ou crire un enregistrement pour
PROFINET IO, des valeurs ngatives dans les paramtres INDEX, MLEN et LEN sont
interprtes en tant qu'entiers de 16 bits non signs.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

261

Instructions avances
8.3 Priphrie dcentralise

8.3.2

RALRM
Vous pouvez utiliser l'instruction RALRM (Lecture d'alarme) avec PROFINET, PROFIBUS et
GPRS.

Tableau 8- 73 Instruction RALRM


CONT/LOG

Description
Utilisez l'instruction RALRM (Lecture d'alarme) pour lire des informations de diagnostic d'alarme en
provenance d'un esclave DP ou d'un priphrique PROFINET IO.
Les informations dans les paramtres de sortie contiennent les informations de dclenchement de l'OB
appel, ainsi que des informations de la source de l'alarme.
Appelez RALRM uniquement dans l'OB d'alarme qui a t dclench par le systme d'exploitation de la
CPU en raction l'alarme d'E/S que vous dsirez analyser.

STEP 7 cre automatiquement le DB lorsque vous insrez l'instruction.

Tableau 8- 74 Types de donnes pour les paramtres


Paramtre et type

Type de donnes

Description

MODE

IN

Byte, USInt, SInt, Int

Etat de fonctionnement

F_ID

IN

HW_IO (Word)

Adresse de dbut logique du composant (module) dont il faut recevoir


les alarmes
Remarque : L'ID d'appareil peut tre dtermine de l'une des deux
faons suivantes :

Via les slections suivantes dans la vue du rseau :

Appareil (bote grise)

"Proprits" de l'appareil

"Identificateur matriel"
Remarque : Tous les appareils n'affichent toutefois pas leur
identificateur matriel.

Via les slections suivantes dans la vue du projet :

Variables API

Table de variables par dfaut

Onglet Constantes systme

Tous les identificateurs matriels d'appareils configurs sont


affichs.

MLEN

IN

Byte, USInt, UInt

Longueur maximale en octets des informations d'alarme recevoir

NEW

OUT

Bool

Une nouvelle alarme a t reue.

STATUS

OUT

DWord

Code d'erreur du matre DP

ID

OUT

HW_IO (Word)

Adresse de dbut logique du composant (module) dont on a reu une


alarme. Le bit 15 contient l'ID d'E/S :

0 pour une adresse d'entre

1 pour une adresse de sortie


Remarque : La description du paramtre F_ID explique comment
dterminer l'ID d'appareil.

Automate programmable S7-1200

262

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.3 Priphrie dcentralise

Paramtre et type

Type de donnes

Description

LEN

OUT

DWord, UInt, UDInt,


DInt, Real, LReal

Longueur des informations d'alarme reues

TINFO

IN_OUT

Variant

Informations sur la tche : Plage cible pour les informations de


dclenchement et de gestion d'OB

AINFO

IN_OUT

Variant

Informations sur l'alarme : Zone cible pour les informations d'en-tte et


les informations d'alarme supplmentaires. Indiquez une longueur d'au
moins MLEN octets pour AINFO.

Remarque
Si vous appelez "RALRM" dans un OB dont l'vnement dclencheur n'est pas une alarme
d'E/S, l'instruction fournira des informations rduites dans ses sorties.
Veillez utiliser des DB d'instance diffrents lorsque vous appelez "RALRM" dans diffrents
OB. Si vous valuez des donnes rsultant d'un appel "RALRM" en dehors de l'OB d'alarme
associ, utilisez un DB d'instance distinct pour chaque vnement dclencheur d'OB.
Remarque
L'interface de l'instruction "RALRM" est identique au FB "RALRM" dfini dans la publication
"PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according to
IEC 61131-3".

Appel de RALRM
Vous pouvez appeler l'instruction RALRM dans trois modes diffrents (MODE).
Tableau 8- 75 Modes de fonctionnement de l'instruction RALRM
MODE

Description

Montre le composant qui a dclench l'alarme dans le paramtre de sortie ID et met le paramtre de sortie
NEW VRAI.

Ecrit dans tous les paramtres de sortie, indpendamment du composant ayant dclench l'alarme.

Vrifie si le composant indiqu dans le paramtre d'entre F_ID a dclench l'alarme.

Si ce n'est pas lui, NEW est mis FAUX.

Si c'est lui, NEW est mis VRAI et il y a criture dans tous les autres paramtres de sortie.

Remarque
Si vous dfinissez une zone de destination trop courte pour TINFO ou AINFO, RALRM ne
pourra pas renvoyer les informations compltes. Reportez-vous l'aide en ligne de STEP 7
pour obtenir des informations sur l'interprtation des mmoires tampons TINFO et AINFO
renvoyes.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

263

Instructions avances
8.3 Priphrie dcentralise

8.3.3

Paramtre STATUS pour RDREC, WRREC et RALRM


Le paramtre de sortie STATUS contient des informations d'erreur sous forme d'un tableau
ARRAY[1...4] OF BYTE ayant la structure suivante :

Tableau 8- 76 Tableau de sortie STATUS


Elment de
tableau

Nom

Description

STATUS[1]

Function_Num

B#16#00 en l'absence d'erreur

ID de fonction de PDU DPV1 : Si une erreur se produit, , B#16#80 une


opration logique OU est excute avec B#16#80 (pour la lecture
d'enregistrement : B#16#DE ; pour l'criture d'enregistrement : B#16#DF). Si
aucun lment de protocole DPV1 n'est utilis, B#16#C0 est transmis.

STATUS[2]

Error_Decode

Emplacement du code d'erreur

STATUS[3]

Error_Code_1

Code d'erreur

STATUS[4]

Error_Code_2

Extension de code d'erreur spcifique du fabricant

Tableau 8- 77 Valeurs de STATUS[2]


Error_decode
(B#16#....)

Source

Description

00 7F

CPU

Pas d'erreur ni d'avertissement

80

DPV1

Erreur selon CEI 61158-6

81 8F

CPU

B#16#8x montre une erreur dans le x-ime paramtre d'appel de l'instruction.

FE, FF

Profil DP

Erreur spcifique du profil

Tableau 8- 78 Valeurs de STATUS[3]


Error_decode
(B#16#....)

Error_code_1
(B#16#....)

Explication (DVP1)

Description

00

00

70

00

Rserv, rejet

Appel initial ; pas de transfert d'enregistrement actif

01

Rserv, rejet

Appel initial ; un transfert d'enregistrement a commenc

02

Rserv, rejet

Appel intermdiaire ; un transfert d'enregistrement est


encore actif

90

Rserv, acceptation

Adresse de dbut logique invalide

92

Rserv, acceptation

Type incorrect de pointeur Variant

93

Rserv, acceptation

Le composant DP adress via ID ou F_ID n'est pas


configur.

80

Pas d'erreur ni d'avertissement

Automate programmable S7-1200

264

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.3 Priphrie dcentralise

Error_decode
(B#16#....)

Error_code_1
(B#16#....)

Explication (DVP1)

96

Description
"RALRM (Page 262)" ne peut pas fournir les informations
de dclenchement d'OB, les informations de gestion, les
informations d'en-tte ou les informations d'alarme
additionnelles.
Pour les OB 4x, 55, 56, 57, 82 et 83, vous pouvez utiliser
l'instruction "DPNRM_DG (Page 270)" pour lire de
manire asynchrone la trame de message de diagnostic
en cours de l'esclave DP concern (informations
d'adresse dans les informations de dclenchement
d'OB).

A0

Erreur de lecture

Acquittement ngatif pendant la lecture dans le module

A1

Erreur d'criture

Acquittement ngatif pendant l'criture dans le module

A2

Dfaillance du module

Erreur de protocole DP, couche 2 (par exemple,


dfaillance d'esclave ou problmes de bus)

A3

Rserv, acceptation

PROFIBUS DP : Erreur de protocole DP avec DDLM


(Direct Data Link Mapper) ou interface
utilisateur/utilisateur

PROFINET IO : Erreur CM gnrale

A4

Rserv, acceptation

Communication interrompue sur le bus de


communication

A5

Rserv, acceptation

A7

Rserv, acceptation

Module ou esclave DP occup (erreur temporaire)

A8

Conflit de version

Le module ou l'esclave DP signale des versions non


compatibles.

A9

Fonction non prise en


charge

Fonction non prise en charge par le module ou l'esclave


DP

AA AF

Spcifique utilisateur

Le module ou l'esclave DP signale une erreur spcifique


du fabricant dans son application. Consultez la
documentation du fabricant du module ou de l'esclave
DP.

B0

Indice invalide

L'enregistrement est inconnu dans le module ; numro


d'enregistrement incorrect 256

B1

Erreur de longueur
d'criture

L'information de longueur dans le paramtre RECORD


est incorrecte.

Pour "RALRM" : Erreur de longueur dans AINFO


Remarque : Reportez-vous au systme d'information
en ligne de STEP 7 pour obtenir des informations sur
l'interprtation des mmoires tampons "AINFO"
renvoyes.

Pour "RDREC (Page 259)" et "WRREC (Page 259)" :


Erreur de longueur dans MLEN

B2

Emplacement incorrect

L'emplacement configur n'est pas occup.

B3

Conflit de type

Le type du module rel ne correspond pas au type de


module spcifi.

B4

Zone invalide

Le module ou l'esclave DP signale un accs une zone


invalide.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

265

Instructions avances
8.3 Priphrie dcentralise

Error_decode
(B#16#....)

Error_code_1
(B#16#....)

Explication (DVP1)

Description

B5

Conflit d'tat

Le module ou l'esclave DP n'est pas prt.

B6

Accs refus

Le module ou l'esclave DP refuse l'accs.

B7

Plage invalide

Le module ou l'esclave DP signale une plage invalide


pour un paramtre ou une valeur.

B8

Paramtre invalide

Le module ou l'esclave DP signale un paramtre invalide.

B9

Type invalide

Le module ou l'esclave DP signale un tyoe invalide :

Pour "RDREC (Page 259)" : Mmoire tampon trop


petite (impossible de lire les sous-ensembles)

Pour "WRREC (Page 259)" : Mmoire tampon trop


petite (impossible d'crire les sous-ensembles)

BA BF

Spcifique utilisateur

Le module ou l'esclave DP signale une erreur spcifique


du fabricant lors de l'accs. Consultez la documentation
du fabricant du module ou de l'esclave DP.

C0

Conflit de limite de
lecture

Pour "WRREC (Page 259)" : L'criture des donnes


n'est possible que lorsque la CPU est l'tat ARRET.
Remarque : Cela signifie que les donnes ne peuvent
pas tre crites par le programme utilisateur. Vous
pouvez uniquement crire les donnes en ligne avec
une PG/un PC.

Pour "RDREC (Page 259)" : Le module transmet


l'enregistrement mais soit il n'y a pas de donnes, soit
les donnes peuvent uniquement tre lues lorsque la
CPU est l'tat ARRET.
Remarque : Si les donnes peuvent uniquement tre
lues lorsque la CPU est l'tat ARRET, aucune
valuation par le programme utilisateur n'est possible.
Dans ce cas, vous pouvez uniquement lire les
donnes en ligne avec une PG/un PC.

C1

Conflit de limite
d'criture

Les donnes de la prcdente demande d'criture dans


le module pour le mme enregistrement n'ont pas encore
t traites par le module.

C2

Ressource occupe

Le module traite actuellement le nombre maximum de


tches possibles pour une CPU.

C3

Ressource non
disponible

Les ressources d'exploitation requises sont actuellement


occupes.

C4

Erreur temporaire interne. La tche n'a pas pu tre


excute.
Relancez la tche. Si cette erreur se produit souvent,
vrifiez que votre installation ne prsente pas de sources
d'interfrence lectrique.

C5

Le module ou l'esclave DP n'est pas disponible.

C6

Le transfert d'enregistrement a t annul du fait d'une


annulation de classe de priorit.

C7

Tche interrompue en raison d'un dmarrage chaud ou


froid du matre DP.

Automate programmable S7-1200

266

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.3 Priphrie dcentralise

Error_decode
(B#16#....)

Error_code_1
(B#16#....)

Explication (DVP1)

C8 CF

Dx
81

Description
Le module ou l'esclave DP signale une erreur de
ressource spcifique du fabricant. Consultez la
documentation du fabricant du module ou de l'esclave
DP.

Spcifique utilisateur

Spcifique de l'esclave DP. Consultez la description de


l'esclave DP.

00 FF

Erreur dans le premier paramtre d'appel (pour "RALRM


(Page 262)" : MODE)

00

Mode de fonctionnement interdit

82

00 FF

Erreur dans le deuxime paramtre d'appel

88

00 FF

Erreur dans le huitime paramtre d'appel (pour "RALRM


(Page 262)" : TINFO)
Remarque : Reportez-vous au systme d'information en
ligne de STEP 7 pour obtenir des informations sur
l'interprtation des mmoires tampons "TINFO"
renvoyes.

89

01

ID de syntaxe illicite

23

Structure de quantit dpasse ou zone de destination


trop petite

24

ID de plage illicite

32

Numro de DB/DI en dehors de la plage utilisateur

3A

Numro de DB/DI nul pour l'ID de zone DB/DI ou DB/DI


indiqu inexistant

00 FF

Erreur dans le neuvime paramtre d'appel (pour


"RALRM (Page 262)" : AINFO)
Remarque : Reportez-vous au systme d'information en
ligne de STEP 7 pour obtenir des informations sur
l'interprtation des mmoires tampons "AINFO"
renvoyes.

01

ID de syntaxe illicite

23

Structure de quantit dpasse ou zone de destination


trop petite

24

ID de plage illicite

32

Numro de DB/DI en dehors de la plage utilisateur

3A

Numro de DB/DI nul pour l'ID de zone DB/DI ou DB/DI


indiqu inexistant

8A

00 FF

Erreur dans le dixime paramtre d'appel

8F

00 FF

Erreur dans le quinzime paramtre d'appel

FE, FF

00 FF

Erreur spcifique du profil

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

267

Instructions avances
8.3 Priphrie dcentralise
Elment de tableau STATUS[4]
En prsence d'erreurs DPV1, le matre DP transmet STATUS[4] la CPU et l'instruction.
En l'absence d'erreur DPV1, cette valeur est mise 0, aux exceptions suivantes prs pour
RDREC :
STATUS[4] contient la longueur de la zone cible de RECORD si MLEN > longueur de la
zone cible de RECORD.
STATUS[4] est gal MLEN si longueur relle de l'enregistrement < MLEN < longueur
de la zone cible de RECORD.
STATUS[4] est gal 0 si STATUS[4] > 255 ; devrait tre dfini.
Dans PROFINET IO, STATUS[4] a la valeur 0.

8.3.4

DPRD_DAT et DPWR_DAT
Vous pouvez utiliser les instructions DPRD_DAT (Lecture de donnes cohrentes) et
DPWR_DAT (Ecriture de donnes cohrentes) avec PROFINET, PROFIBUS et GPRS.

Tableau 8- 79 Instructions DPRD_DAT et DPWR_DAT


CONT/LOG

Description
Utilisez l'instruction DPRD_DAT pour lire les donnes cohrentes d'un esclave norme
DP/priphrique PROFINET IO. Si aucune erreur ne survient pendant le transfert de donnes, les
donnes lues sont entres dans la zone cible dfinie par le paramtre RECORD. La zone cible
doit avoir la mme longueur que celle que vous avez configure avec STEP 7 pour le module
slectionn. Lorsque vous appelez l'instruction DPRD_DAT , vous pouvez accder uniquement
aux donnes d'un module / identificateur DP l'adresse de dbut configure.
Utilisez l'instruction DPWR_DAT pour crire les donnes dans RECORD de manire cohrente
dans l'esclave norme DP/priphrique PROFINET IO adress. La zone source doit avoir la
mme longueur que celle que vous avez configure avec STEP 7 pour le module slectionn.

La CPU prend en charge jusqu' 64 octets de donnes cohrentes. Vous devez utiliser les
instructions DPRD_DAT et DPWR_DAT pour des zones de donnes cohrentes suprieures
64 octets. Si ncessaire, ces instructions peuvent tre utilises pour des zones de
donnes partir de 1 octet. Le code d'erreur W#16#8090 est renvoy si l'accs est refus.
Remarque
Si vous utilisez les instructions DPRD_DAT et DPWR_DAT avec des donnes cohrentes,
vous devez supprimer ces dernires de l'actualisation automatique de la mmoire image.
Reportez-vous "Concepts API : Excution du programme utilisateur" (Page 63) pour plus
d'informations.

Automate programmable S7-1200

268

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.3 Priphrie dcentralise
Tableau 8- 80 Types de donnes pour les paramtres
Paramtre et type
LADDR

IN

Type de
donnes

Description

HW_IO (Word)

Adresse de dbut configure de la zone I du module dans lequel les


donnes seront lues(DPRD_DAT)

Adresse de dbut configure de la mmoire image des sorties du


module dans lequel les donnes seront crites (DPWR_DAT)
Il faut entrer les adresses en format hexadcimal (ainsi, l'adresse d'entre
ou de sortie 100 correspond LADDR:=W#16#64).

RECORD

OUT

Variant

Zone de destination pour les donnes utilisateur lues (DPRD_DAT) ou


zone source pour les donnes utilisateur crire (DPWR_DAT). Cette
zone doit tre exactement de la taille que vous avez configure pour le
module slectionn avec STEP 7. Seul le type de donnes Byte est
autoris.

RET_VAL

OUT

Int

Si une erreur se produit pendant que la fonction est active, la valeur en


retour contient un code d'erreur.

Fonctionnement de DPRD_DAT
La zone de destination doit avoir la mme longueur que celle configure pour le module
slectionn avec STEP 7. Si aucune erreur ne se produit pendant le transfert de donnes,
les donnes qui ont t lues sont entres dans la zone de destination identifie par
RECORD.
Si vous effectuez la lecture dans un esclave norme DP de conception modulaire ou ayant
plusieurs identificateurs DP, vous pouvez uniquement accder aux donnes d'un module /
identificateur DP chaque appel de l'instruction DPRD_DAT, en indiquant l'adresse de
dbut configure.

Fonctionnement de DPWR_DAT
Vous transfrez les donnes se trouvant dans RECORD de manire cohrente dans
l'esclave norme DP/priphrique PROFINET IO adress. Les donnes sont transfres de
manire synchrone, c'est--dire que l'opration d'criture est acheve l'achvement de
l'instruction.
La zone source doit avoir la mme longueur que celle que vous avez configure pour le
module slectionn avec STEP 7.
Si l'esclave norme DP est de conception modulaire, vous ne pouvez accder qu' un module
de l'esclave DP.
Tableau 8- 81 Codes d'erreur de DPRD_DAT et DPWR_DAT
Code d'erreur

Description

0000

Pas d'erreur

808x

Erreur systme avec le coupleur DP externe

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

269

Instructions avances
8.3 Priphrie dcentralise

Code d'erreur

Description

8090

L'un des cas suivants s'est produit :

Vous n'avez pas configur de module pour l'adresse de base logique indique.

Vous n'avez pas tenu compte de la restriction concernant la longueur des donnes cohrentes.

Vous n'avez pas entr l'adresse de dbut dans le paramtre LADDR en format hexadcimal.

8092

Un type autre que Byte est indiqu dans la rfrence Any.

8093

Il n'existe pas de module DP/priphrique PROFINET IO dans lequel vous pouvez lire
(DPRD_DAT) ou crire (DPWR_DAT) des donnes cohrentes l'adresse logique indique dans
LADDR.

80A0

Erreur d'accs dtecte pendant l'accs des priphriques IO (DPRD_DAT).

80A1

Erreur d'accs dtecte pendant l'accs des priphriques IO (DPWR_DAT).

80B0

Dfaillance d'esclave sur le coupleur DP externe

80B1

La longueur de la zone de destination (DPRD_DAT) ou source (DPWR_DAT) indique n'est pas


identique la longueur des donnes utilisateur configure avec STEP 7 Basic.

80B2, 80B3, 80C2,


80Fx

Erreur systme avec le coupleur DP externe (DPRD_DAT et DPWR_DAT)

87xy, 808x

Erreur systme avec le coupleur DP externe (DPRD_DAT)

85xy

Erreur systme avec le coupleur DP externe (DPWR_DAT)

80C0

Les donnes n'ont pas encore t lues par le module (DPRD_DAT).

80C1

Les donnes de la tche d'criture prcdente sur le module n'ont pas encore t traites par le
module (DPWR_DAT).

8xyy1

Informations d'erreur gnrales

Reportez-vous "Instructions avances, priphrie dcentralise : Informations d'erreur


pour RDREC, WRREC et RALRM" (Page 264) pour plus d'informations sur les codes
d'erreur gnraux.
Remarque
Si vous accdez des esclaves DPV1, les informations d'erreur de ces esclaves peuvent
tre transmises du matre DP l'instruction.

8.3.5

DPNRM_DG
Vous pouvez utiliser l'instruction DPNRM_DG (Lecture de donnes de diagnostic) avec
PROFIBUS.

Tableau 8- 82 Instruction DPNRM_DG


CONT/LOG Description
Utilisez l'instruction DPNRM_DG pour lire les donnes de diagnostic en cours d'un esclave DP dans le
format spcifi par EN 50 170 Volume 2, PROFIBUS. Les donnes qui ont t lues sont entres dans la
zone de destination indique par RECORD lorsque le transfert de donnes s'est effectu sans erreur.

Automate programmable S7-1200

270

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.3 Priphrie dcentralise
Tableau 8- 83 Types de donnes pour les paramtres de l'instruction DPNRM_DG
Paramtre et type

Type de
donnes

Description

REQ

IN

Bool

REQ=1 : Demande de lecture

LADDR

IN

HW_DPSLAVE

Adresse de diagnostic configure de l'esclave DP : doit tre l'adresse


de la station et non celle du priphrique I/O Slectionnez la station (et
non l'image du priphrique) dans la vue de rseau de la configuration
de l'appareil afin de dterminer l'adresse de diagnostic.
Entrez les adresses au format hexadcimal. L'adresse de diagnostic
1022 signifie par exemple LADDR:=W#16#3FE.

RET_VAL

OUT

Int

Si une erreur se produit pendant que la fonction est active, la valeur en


retour contient un code d'erreur. En l'absence d'erreur, la longueur des
donnes effectivement transfres est fournie dans RET_VAL.

RECORD

OUT

Variant

Zone de destination pour les donnes de diagnostic qui ont t lues.


Seul le type de donnes Byte est autoris. La longueur minimum de
l'enregistrement lire ou de la zone de destination est 6. La longueur
maximum de l'enregistrement envoyer est 240.
Les esclaves norme peuvent fournir plus de 240 octets de donnes de
diagnostic, avec un maximum de 244 octets. Dans ce cas, les 240
premiers octets sont transfrs dans la zone de destination et le bit de
dbordement est mis 1 dans les donnes.

BUSY

OUT

Bool

BUSY=1 : La tche de lecture n'est pas encore acheve.

Vous dmarrez la tche de lecture en mettant le paramtre d'entre REQ 1 dans l'appel de
l'instruction DPNRM_DG. La tche de lecture est excute de manire asynchrone ; en
d'autres termes, elle ncessite plusieurs appels de l'instruction DPNRM_DG. L'tat de la
tche est indiqu par les paramtres de sortie RET_VAL et BUSY.
Tableau 8- 84 Structure des donnes de diagnostic esclave
Octet

Description

Etat de station 1

Etat de station 2

Etat de station 3

Numro de la station matre

ID de fournisseur (octet de poids fort)

ID de fournisseur (octet de poids faible)

6 ...

Informations de diagnostic supplmentaires spcifiques de l'esclave

Tableau 8- 85 Codes d'erreur de l'instruction DPNRM_DG


Code d'erreur

Description

Restriction

0000

Pas d'erreur

7000

Premier appel avec REQ=0 : Pas de transfert de donnes actif ; BUSY a la valeur 0.

7001

Premier appel avec REQ=1 : Pas de transfert de donnes actif ; BUSY a la E/S dcentralises
valeur 1.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

271

Instructions avances
8.3 Priphrie dcentralise

Code d'erreur

Description

Restriction

7002

Appel intermdiaire (REQ non significatif) : Un transfert de donnes est


dj actif ; BUSY a la valeur 1.

E/S dcentralises

8090

Adresse de base logique indique invalide : Il n'y a pas d'adresse de base.

8092

Le type indiqu dans la rfrence Any n'est pas Byte.

8093

Cette instruction n'est pas autorise pour le module indiqu par LADDR (les modules S7 DP pour le S7-1200 sont autoriss).

LADDR spcifie le priphrique I/O au lieu de spcifier la station.


Slectionnez la station (et non l'image du priphrique) dans la vue de
rseau de la configuration de l'appareil afin de dterminer l'adresse de
diagnostic pour LADDR.

Erreur de protocole DP, couche 2 (par exemple, dfaillance d'esclave


ou problmes de bus)

Pour l'ET200S, l'enregistrement ne peut pas tre lu en mode DPV0.

80A2

E/S dcentralises

80A3

Erreur de protocole DP avec l'interface utilisateur/utilisateur

E/S dcentralises

80A4

Problme de communication sur le bus de communication

L'erreur se produit entre la


CPU et le coupleur DP
externe.

80B0

L'instruction n'est pas possible pour le type de module.

Le module ne reconnat pas l'enregistrement.

Le numro d'enregistrement 241 est interdit.

80B1

La longueur indique dans le paramtre RECORD est incorrecte.

longueur indique > longueur


de l'enregistrement

80B2

L'emplacement configur n'est pas occup.

80B3

Le type du module rel ne correspond pas au type de module demand.

80C0

Il n'y a pas d'informations de diagnostic.

80C1

Les donnes de la prcdente tche d'criture dans le module pour le


mme enregistrement n'ont pas encore t traites par le module.

80C2

Le module traite actuellement le nombre maximum de tches possibles


pour une CPU.

80C3

Les ressources requises (mmoire, etc.) sont actuellement occupes.

80C4

Erreur temporaire interne. La tche n'a pas pu tre traite.


Relancez la tche. Si cette erreur se produit frquemment, vrifiez que
votre systme ne prsente pas de sources d'interfrence lectrique.

80C5

E/S dcentralises non disponibles

E/S dcentralises

80C6

Le transfert d'enregistrement a t arrt en raison d'une annulation de


classe de priorit (redmarrage ou arrire-plan).

E/S dcentralises

8xyy1

Codes d'erreur gnraux

Reportez-vous "Instructions avances, priphrie dcentralise : Informations d'erreur


pour RDREC, WRREC et RALRM" (Page 264) pour plus d'informations sur les codes
d'erreur gnraux.

Automate programmable S7-1200

272

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.4 Alarmes

8.4

Alarmes

8.4.1

Instructions ATTACH et DETACH


Vous pouvez activer et dsactiver des sous-programmes d'alarme dclenchs sur
vnement par le biais des instructions ATTACH et DETACH.

Tableau 8- 86 Instructions ATTACH et DETACH


CONT/LOG

Description
ATTACH active l'excution d'un sous-programme d'OB d'alarme pour un vnement
d'alarme de processus.

DETACH dsactive l'excution d'un sous-programme d'OB d'alarme pour un vnement


d'alarme de processus.

Tableau 8- 87 Types de donnes pour les paramtres


Paramtre et type

Type de
donnes

Description

OB_NR

IN

OB_ATT

Identificateur de bloc d'organisation : Faites votre choix parmi les OB


d'alarme de processus disponibles qui ont t crs via la fonction
"Ajouter nouveau bloc". Double-cliquez sur le champ de paramtre,
puis cliquez sur l'icne d'aide pour voir les OB disponibles.

EVENT

IN

EVENT_ATT

Identificateur d'vnement : Faites votre choix parmi les vnements


d'alarme de processus disponibles qui ont t activs dans la
configuration d'appareil de l'automate pour les entres TOR ou les
compteurs rapides. Double-cliquez sur le champ de paramtre, puis
cliquez sur l'icne d'aide pour voir les vnements disponibles.

ADD
(ATTACH
uniquement)

IN

Bool

ADD = 0 (valeur par dfaut) : Cet vnement remplace toutes les


associations d'vnement prcdentes pour cet OB.

ADD = 1 : Cet vnement est ajout aux associations


d'vnement prcdentes pour cet OB.

RET_VAL

OUT

Int

Code d'erreur d'excution

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

273

Instructions avances
8.4 Alarmes

Evnements alarme de processus


La CPU prend en charge les vnements alarme de processus suivants :
Evnements front montant (toutes les entres TOR intgres de la CPU et toutes les
entres TOR SB)
Un front montant se produit lorsque l'entre TOR passe de l'tat dsactiv l'tat
activ en raction un changement du signal provenant de l'appareil de terrain
connect l'entre.
Evnements front descendant (toutes les entres TOR intgres de la CPU et toutes les
entres TOR SB)
Un front descendant se produit lorsque l'entre TOR passe de l'tat activ l'tat
dsactiv.
Evnments valeur en cours = valeur de rfrence (CV = RV) de compteur rapide
(compteurs HSC 1 6)
Une alarme CV = RV pour un compteur rapide est gnre lorsque la valeur de
comptage en cours passe d'une valeur adjacente la valeur correspondant
exactement une valeur de rfrence dfinie prcdemment.
Evnements inversion du sens HSC (compteurs HSC 1 6)
Un vnement inversion du sens se produit lorsque le systme dtecte que le HSC
est pass de l'incrmentation la dcrmentation ou de la dcrmentation
l'incrmentation.
Evnements rinitialisation externe HSC (compteurs HSC 1 6)
Certains modes HSC autorisent la dfinition d'une entre TOR en tant qu'entre de
rinitialisation externe qui est utilise pour remettre zro la valeur de comptage du
compteur rapide. Un vnement rinitialisation externe se produit pour un tel
compteur rapide lorsque cette entre passe de l'tat dsactiv l'tat activ.

Activation des vnements alarme de processus dans la configuration des appareils


Les alarmes de processus doivent tre actives pendant la configuration des appareils.
Vous devez cocher la case d'activation de l'vnement dans la configuration d'appareil pour
une voie d'entre TOR ou un compteur rapide si vous voulez associer cet vnement
pendant la configuration ou au moment de l'excution.
Options cocher dans la configuration d'appareil de l'automate :
Entre TOR
Activer la dtection du front montant
Activer la dtection du front descendant
Compteur rapide (HSC)
Activer ce compteur rapide
Gnrer une alarme pour un vnement de type valeur de comptage gale valeur
de rfrence
Gnrer une alarme pour un vnement de rinitialisation externe
Gnrer une alarme pour un vnement d'inversion de sens
Automate programmable S7-1200

274

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.4 Alarmes

Ajout de nouveaux OB d'alarme de processus votre programme


Par dfaut, aucun OB n'est associ un vnement lorsque l'vnement est activ pour la
premire fois. Cela est signal par la mention "<non connect>" dans la configuration des
alarmes de processus. Seuls des OB d'alarme de processus peuvent tre associs un
vnement d'alarme de processus. Tous les OB d'alarme de processus existants
apparaissent dans la liste droulante "Alarme de processus :" . Si aucun OB n'est list, vous
devez crer un OB de type "alarme de processus" de la manire suivante. Dans la branche
"Blocs de programme" de l'arborescence de projet :
1. Double-cliquez sur "Ajouter nouveau bloc", slectionnez "Bloc d'organisation (OB)", puis
choisissez "Alarme de processus".
2. Vous pouvez optionnellement renommer l'OB, slectionner le langage de programmation
(CONT ou LOG) et slectionner le numro de bloc (commutez en manuel et choisissez
un numro de bloc diffrent de celui suggr).
3. Editez l'OB pour y ajouter la raction programme que vous voulez excuter lorsque
l'vnement se produit. Vous pouvez appeler des FC et des FB partir de cet OB,
jusqu' une profondeur d'imbrication de quatre.

Paramtre OB_NR
Tous les OB d'alarme de processus existants apparaissent dans la liste droulante "Alarme
de processus :" de la configuration d'appareil et dans la liste droulante du paramtre
OB_NR de ATTACH / DETACH.

Paramtre EVENT
Lorsqu'un vnement d'alarme de processus est activ, un nom d'vnement par dfaut
unique est affect cet vnement particulier. Vous pouvez modifier ce nom d'vnement
en ditant la bote d'dition "Nom d'vnement :", mais ce doit tre un nom unique. Ces
noms d'vnement deviennent des noms de variable dans la table de variables "Constantes"
et apparaissent dans la liste droulante du paramtre EVENT des botes d'instruction
ATTACH et DETACH. La valeur de la variable est un numro interne utilis pour identifier
l'vnement.

Fonctionnement gnral
Chaque vnement d'alarme de processus peut tre associ un OB d'alarme de
processus qui sera mis en file d'attente pour excution lorsque l'vnement d'alarme de
processus se produit. L'association OB-vnement peut se faire au moment de la
configuration ou l'excution.
Vous pouvez associer un OB un vnement activ ou l'en dissocier au moment de la
configuration. Pour associer un OB un vnement lors de la configuration, vous devez
utiliser la liste droulante "Alarme de processus :" (cliquez sur la flche descendante
droite) et slectionner un OB dans la liste des OB d'alarme de processus disponibles.
Slectionnez le nom de l'OB appropri dans la liste ou slectionnez "<non connect>" pour
annuler l'association.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

275

Instructions avances
8.4 Alarmes
Vous pouvez galement associer ou dissocier un vnement d'alarme de processus activ
pendant l'excution. Utilisez les instructions de programme ATTACH ou DETACH pendant
l'excution - plusieurs reprises si vous le dsirez - pour associer un vnement d'alarme
activ l'OB appropri ou pour l'en dissocier. En l'absence d'association un OB (par
slection de "<non connect>" dans la configuration des appareils ou par excution d'une
instruction DETACH), l'vnement d'alarme de processus activ n'est pas pris en compte.

Fonctionnement de DETACH
Utilisez l'instruction DETACH pour dissocier un vnement particulier ou tous les
vnements d'un OB particulier. Si un vnement EVENT est indiqu, seul cet vnement
est dissoci de l'OB de numro OB_NR indiqu ; tout autre vnement actuellement associ
ce numro d'OB OB_NRlui reste associ. Si aucun vnement EVENT n'est indiqu, tous
les vnements actuellement associs au numro d'OB OB_NR en sont dissocis.

Codes d'erreur
Tableau 8- 88 Codes d'erreur
RET_VAL (W#16#....)

ENO

Description

0000

Pas d'erreur

0001

Rien dissocier (DETACH uniquement)

8090

OB inexistant

8091

Type d'OB erron

8093

Evnement inexistant

8.4.2

Alarmes cycliques

8.4.2.1

SET_CINT (Rgler alarme cyclique)

Tableau 8- 89 SET_CINT (Rgler alarme cyclique)


CONT/LOG

Description
Permet de dfinir l'excution cyclique interrompant le cycle du programme pour l'OB
d'alarme indiqu.

Automate programmable S7-1200

276

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.4 Alarmes
Tableau 8- 90 Types de donnes pour les paramtres
Paramtre et type

Type de donnes

Description

OB_NR

IN

OB_CYCLIC

Numro d'OB (noms symboliques accepts)

CYCLE

IN

UDInt

Intervalle de temps, en microsecondes

PHASE

IN

UDInt

Dphasage, en microsecondes

RET_VAL

OUT

Int

Code d'erreur d'excution

Exemples de paramtres de temps :


Si le temps CYCLE est gal 100 s, l'OB d'alarme rfrenc par OB_NR interrompt le
cycle du programme toutes les 100 s. L'OB d'alarme s'excute puis rend le contrle au
cycle du programme au niveau du point d'interruption.
Si le temps CYCLE est gal 0, l'vnement d'alarme est dsactiv et l'OB d'alarme
n'est pas excut.
Le dphasage PHASE est un temps de retard dfini qui se produit avant que l'intervalle
de temps CYCLE ne commence. Le dphasage peut vous servir grer l'instant
d'excution des OB de priorit infrieure.
Si des OB de priorit diffrente sont appels dans le mme intervalle de temps, l'OB de
priorit infrieure n'est appel qu'une fois le traitement de l'OB de priorit suprieure achev.
Le dbut de l'excution de l'OB de priorit infrieure peut donc tre dcal selon la dure de
traitement des OB de priorit suprieure.
$SSHOG
2%VDQVGSKDVDJH
0$5&+(
W

2%
GHSULRULW
VXSULHXUH

2%
GHSULRULW
LQIULHXUH

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

277

Instructions avances
8.4 Alarmes
Si vous voulez dmarrer l'excution d'un OB de faible priorit selon un rythme fixe,
dfinissez un temps de dphasage qui est suprieur la dure de traitement des OB de
priorit suprieure.
$SSHOG
2%DYHFGSKDVDJH
0$5&+(
W

2%
GHSULRULW
VXSULHXUH
W
2%
GHSULRULW
LQIULHXUH
GSKDVDJH

Tableau 8- 91 Codes d'erreur


RET_VAL (W#16#....)

Description

0000

Pas d'erreur

8090

L'OB n'existe pas ou a un type incorrect.

8091

Intervalle de temps invalide

8092

Dphasage invalide

80B2

Aucun vnement n'est associ l'OB.

Automate programmable S7-1200

278

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.4 Alarmes

8.4.2.2

QRY_CINT (Interroger alarme cyclique)

Tableau 8- 92 QRY_CINT (Interroger alarme cyclique)


CONT/LOG

Description
Permet d'obtenir les valeurs des paramtres et l'tat d'excution d'un OB d'alarme
cyclique. Les valeurs renvoyes sont celles qui taient en vigueur au moment de
l'excution de QRY_CINT.

Tableau 8- 93 Types de donnes pour les paramtres


Paramtre et type

Type de
donnes

Description

OB_CYCLIC

Numro d'OB (noms symboliques comme OB_MyOBName accepts)

OB_NR

IN

RET_VAL

OUT

Int

Code d'erreur d'excution

CYCLE

OUT

UDInt

Intervalle de temps, en microsecondes

PHASE

OUT

UDInt

Dphasage, en microsecondes

STATUS

OUT

Word

Code d'tat de l'alarme cyclique :

Bits 0 4 : voir le tableau pour STATUS ci-dessous

Autres bits : toujours 0

Tableau 8- 94 Paramtre STATUS


Bit
0
1
2
4

Valeur

Description

A l'tat MARCHE de la CPU

Pendant le dmarrage

L'alarme est valide.

L'alarme est inhibe via l'instruction DIS_IRT.

L'alarme n'est pas active ou a expir.

L'alarme est active.

L'OB identifi par OB_NR n'existe pas.

L'OB identifi par OB_NR existe.

Autres bits

Toujours 0

Si une erreur se produit, RET_VAL contient le code d'erreur appropri et le paramtre


STATUS est gal 0.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

279

Instructions avances
8.4 Alarmes
Tableau 8- 95 Paramtre RET_VAL

8.4.3

RET_VAL (W#16#....)

Description

0000

Pas d'erreur

8090

L'OB n'existe pas ou a un type incorrect.

80B2

Aucun vnement n'est associ l'OB.

Alarmes temporises
Vous pouvez dmarrer et annuler le traitement des alarmes temporises l'aide des
instructions SRT_DINT et CAN_DINT et interroger l'tat des alarmes l'aide de l'instruction
QRY_DINT. Chaque alarme temporise est un vnement unique qui se produit aprs le
temps de retard indiqu. Si l'vnement d'alarme temporise est annul avant que le temps
de retard n'ait expir, l'interruption du programme ne se produit pas.

Tableau 8- 96 Instructions SRT_DINT, CAN_DINT et QRY_DINT


CONT/LOG

Description
SRT_DINT dmarre une alarme temporise qui excute un OB lorsque le temps de
retard indiqu par le paramtre DTIME s'est coul.

CAN_DINT annule une alarme temporise qui a dj dmarr. L'OB d'alarme


temporise n'est pas excut dans ce cas.

QRY_DINT interroge l'tat de l'alarme temporise indique par le paramtre OB_NR.

Tableau 8- 97 Types de donnes pour les paramtres


Paramtre et type

Type de
donnes

Description

OB_NR

IN

OB_DELAY

Bloc d'organisation (OB) dmarrer aprs un temps de retard. Faites


votre choix parmi les OB d'alarme temporise disponibles qui ont t
crs via la fonction "Ajouter nouveau bloc" de l'arborescence de
projet. Double-cliquez sur le champ de paramtre, puis cliquez sur
l'icne d'aide pour voir les OB disponibles.

DTIME1

IN

Time

Valeur du temps de retard (1 60000 ms)

SIGN1

IN

Word

Non utilis par le S7-1200 : Toute valeur est accepte. Il faut indiquer
une valeur pour viter les erreurs.

Automate programmable S7-1200

280

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.4 Alarmes

Paramtre et type

Type de
donnes

Description

RET_VAL

OUT

Int

Code d'erreur d'excution

STATUS

OUT

Word

Instruction QRY_DINT : Etat de l'OB d'alarme temporise indiqu. Voir


le tableau ci-dessous.

Uniquement pour SRT_DINT

Fonctionnement
L'instruction SRT_DINT indique un temps de retard, dmarre la temporisation de temps de
retard interne et associe un sous-programme d'OB d'alarme temporise l'vnement
d'expiration du temps de retard. Lorsque le temps de retard indiqu s'est coul, une
interruption du programme est gnre, ce qui dclenche l'excution de l'OB d'alarme
temporise associ. Vous pouvez annuler une alarme temporise en cours de traitement
avant que le temps de retard indiqu n'ait expir en excutant l'instruction CAN_DINT. Le
nombre total d'vnements d'alarme temporise et d'alarme cyclique actifs ne doit pas
dpasser quatre.

Ajout de sous-programmes d'OB d'alarme temporise votre projet


Seuls des OB d'alarme temporise peuvent tre affects aux instructions SRT_DINT et
CAN_DINT. Aucun OB d'alarme temporise n'existe dans un nouveau projet. Vous devez
ajouter ces OB d'alarme temporise votre projet. Procdez comme suit pour crer un OB
d'alarme temporise :
1. Double-cliquez sur "Ajouter nouveau bloc" dans la branche "Blocs de programme" de
l'arborescence de projet, slectionnez "Bloc d'organisation (OB)", puis choisissez "Alarme
temporise".
2. Vous avec la possibilit de renommer l'OB, de slectionner le langage de programmation
ou de slectionner le numro de bloc. Commutez en numrotation manuelle si vous
voulez utiliser un numro de bloc diffrent de celui affect automatiquement.
3. Editez le sous-programme de l'OB d'alarme temporise et crez une raction
programme que vous voulez excuter lorsque l'vnement d'alarme temporise se
produit. Vous pouvez appeler des FB et des FC partir de l'OB d'alarme temporise,
avec une profondeur d'imbrication maximale de quatre.
4. Les noms des OB d'alarme temporise nouvellement affects seront disponibles lorsque
vous diterez le paramtre OB_NR des instructions SRT_DINT et CAN_DINT.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

281

Instructions avances
8.4 Alarmes

Paramtre STATUS de QRY_DINT :


Tableau 8- 98 En prsence d'une erreur (REL_VAL <> 0), STATUS = 0.
Bit

Valeur

Description

A l'tat MARCHE

Pendant le dmarrage

1
2
4

L'alarme est valide.

L'alarme est inhibe.

L'alarme n'est pas active ou a expir.

L'alarme est active.

Il n'existe pas d'OB de numro OB_NR.

1
Autres bits

Il existe un OB de numro OB_NR.


Toujours 0

Codes d'erreur
Tableau 8- 99 Codes d'erreur pour SRT_DINT, CAN_DINT et QRY_DINT
RET_VAL (W#16#...)

Description

0000

Pas d'erreur

8090

Paramtre OB_NR incorrect

8091

Paramtre DTIME incorrect

80A0

L'alarme temporise n'a pas dmarr.

Automate programmable S7-1200

282

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.4 Alarmes

8.4.4

Alarmes asynchrones
Utilisez les instructions DIS_AIRT et EN_AIRT pour inhiber et valider le traitement des
alarmes.

Tableau 8- 100
CONT/LOG

Instructions DIS_AIRT et EN_AIRT


Description
DIS_AIRT retarde le traitement de nouveaux vnements d'alarme. Vous pouvez excuter DIS_AIRT plus
d'une fois dans un OB.

EN_AIRT valide le traitement d'vnements d'alarme que vous aviez pralablement inhib l'aide de
l'instruction DIS_AIRT. Chaque excution de DIS_AIRT doit tre annule par une excution de EN_AIRT.
Les excutions de EN_AIRT doivent se produire dans le mme OB ou dans toute FC ou tout FB appel
par cet OB pour que les alarmes soient ractives pour cet OB.

Tableau 8- 101

Types de donnes pour les paramtres

Paramtre et type
RET_VAL

OUT

Type de donnes

Description

Int

Nombre de retards = nombre d'excutions DIS_AIRT dans la file


d'attente

Les excutions de DIS_AIRT sont comptabilises par le systme d'exploitation. Chacune


d'elles reste en vigueur jusqu' ce qu'elle soit expressment annule par une instruction
EN_AIRT ou jusqu' ce que l'OB en cours ait t intgralement trait. Si, par exemple, vous
avez dsactiv les alarmes cinq fois via cinq excutions de DIS_AIRT, vous devez annuler
ces dernires avec cinq excutions de EN_AIRT pour que le traitement des alarmes soit
nouveau activ.
Une fois les vnements d'alarme ractivs, les alarmes qui se sont produites alors que
DIS_AIRT tait en vigueur sont traites ou les alarmes sont traites ds que l'OB en cours a
t excut.
Le paramtre RET_VAL indique le nombre de fois o le traitement des alarmes a t inhib,
ce nombre correspondant au nombre d'excutions de DIS_AIRT en file d'attente. Le
traitement des alarmes n'est ractiv que lorsque le paramtre RET_VAL est gal 0.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

283

Instructions avances
8.5 Diagnostic

8.5

Diagnostic

8.5.1

Instruction LED

Tableau 8- 102

Instruction LED

CONT/LOG

Description
Utilisez l'instruction LED pour lire l'tat des DEL sur une CPU ou une interface. L'tat de la DEL
indique est renvoy dans la sortie RET_VAL.

Tableau 8- 103

Types de donnes pour les paramtres

Paramtre et type

Description

LADDR

IN

HW_IO

Numro d'identification de la CPU ou de l'interface1

LED

IN

UInt

Numro identificateur de la DEL

RET_VAL
1

Type de
donnes

OUT

Int

RUN/STOP

Couleur 1 = vert, couleur 2 = jaune

Dfaut

Couleur 1 = rouge

Maintenance

Couleur 1 = jaune

Redondance

Sans objet

Lien

Couleur 1 = vert

Tx/Rx

Couleur 1 = jaune

Etat de la DEL

Vous pouvez, par exemple, slectionner la CPU ("PLC_1", par exemple) ou l'interface PROFINET dans la liste
droulante du paramtre.

Tableau 8- 104

Etat de RET_VAL

RET_VAL (W#16#...)

Description

Etat de DEL 0 9

La DEL n'existe pas.

La DEL est teinte.

La DEL est allume en couleur 1 (feu fixe).

La DEL est allume en couleur 2 (feu fixe).

La DEL clignote en couleur 1 2 Hz.

La DEL clignote en couleur 2 2 Hz.

La DEL clignote alternativement en couleur 1 et 2 2 Hz.

La DEL est allume en couleur 1 (Tx/Rx).

La DEL est allume en couleur 2 (Tx/Rx).

L'tat de la DEL n'est pas disponible.

Automate programmable S7-1200

284

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.5 Diagnostic

RET_VAL (W#16#...)

Description

8091

L'appareil identifi par LADDR n'existe pas.

8092

L'appareil identifi par LADDR ne comporte pas de DEL.

8093

L'identificateur de DEL n'est pas dfini.

80Bx

La CPU identifie par LADDR ne prend pas en charge l'instruction LED.

8.5.2

Instruction DeviceStates

Tableau 8- 105

Instruction DeviceStates

CONT/LOG

Description
Permet d'extraire les tats de fonctionnement des priphriques IO d'un sous-systme IO.
Cette information correspond la vue de diagnostic STEP 7.

Tableau 8- 106

Types de donnes pour les paramtres

Paramtre et type

Type de donnes

Description

LADDR

IN

HW_IOSYSTEM

Adresse logique (identificateur pour le systme IO)

MODE

IN

UInt

Type d'tat :

1: Stations configures

2: Stations dfaillantes

3: Stations dsactives

4: Stations existantes

RET_VAL

OUT

Int

Code d'erreur d'excution

STATE1

InOut

Variant

Mmoire tampon contenant l'tat d'erreur de chaque priphrique :

Bit rcapitulatif : bit 0 =1 si l'un des bits d'tat des


priphriques IO est 1.

Bit d'tat : tat du priphrique IO de numro de station n en


fonction du mode slectionn. Par exemple, MODE = 2 et bit 3
= 1 signifient que la station 3 est dfaillante.

Pour PROFIBUS DP, la longueur des informations d'tat est de 128 bits. Pour PROFIBUS IO, cette longueur est de
1024 bits.

Aprs l'excution, le paramtre STATE contient l'tat d'erreur de chaque priphrique IO


sous forme de liste de bits (pour les paramtres LADDR et MODE indiqus).
Le type de donnes utilis pour le paramtre STATE peut tre tout type de donnes binaire
(Bool, Byte, Word ou DWord) ou un tableau de type binaire.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

285

Instructions avances
8.5 Diagnostic
Tableau 8- 107

Codes d'erreur

RET_VAL (W#16#...)

Description

Pas d'erreur

8091

LADDR n'existe pas.

8092

LADDR ne correspond pas un systme IO.

80Bx

L'instruction DeviceStates n'est pas prise en charge par la CPU pour cette adresse LADDR.

8452

Les donnes d'tat compltes sont trop grandes pour STATE. Le paramtre STATE contient
un rsultat partiel.

8.5.3

Instruction ModuleStates

Tableau 8- 108

Instruction ModuleStates

CONT/LOG

Description
Permet d'extraire les tats de fonctionnement des modules d'E/S de priphriques IO.
Cette information correspond la vue de diagnostic STEP 7.

Tableau 8- 109

Types de donnes pour les paramtres

Paramtre et type

Type de donnes

Description

LADDR

IN

HW_IOSYSTEM

Adresse logique (identificateur pour le priphrique IO)

MODE

IN

UInt

Type d'tat :

1: Modules configurs

2: Modules dfaillants

3: Modules dsactivs

4: Modules existants

RET_VAL

OUT

Int

Etat (code d'erreur)

STATE1

InOut

Variant

Mmoire tampon contenant l'tat d'erreur de chaque priphrique

Bit rcapitulatif : bit 0 =1 si l'un des bits d'tat des


priphriques IO est 1.

Bit d'tat : tat du priphrique IO de numro de station n en


fonction du mode slectionn. Par exemple, MODE = 2 et bit 3
= 1 signifient que la station 3 est dfaillante.

La longueur requise dpend du priphrique IO, avec 128 bits au maximum.

Automate programmable S7-1200

286

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.5 Diagnostic
Tableau 8- 110

Codes d'erreur

RET_VAL ( W#16#...)

Description

Pas d'erreur

8091

L'appareil identifi par LADDR n'existe pas.

8092

L'appareil identifi par LADDR ne correspond pas un priphrique IO.

80Bx

L'instruction ModuleStates n'est pas prise en charge par cette CPU pour cette adresse
LADDR.

8452

Les donnes d'tat compltes sont trop grandes pour STATE. Le paramtre STATE contient
un rsultat partiel.

8.5.4

Instruction GET_DIAG

Tableau 8- 111

Instruction GET_DIAG

CONT/LOG

Description
Permet de lire les informations de diagnostic du priphrique spcifi.

Tableau 8- 112

Types de donnes pour les paramtres

Paramtre et type
MODE

IN

Type de donnes

Description

UInt

Mode

LADDR

IN

HW_ANY (Word)

Numro d'identification du priphrique

DIAG

InOut

Variant

Information de diagnostic selon le mode de diagnostic

DETAIL

InOut

Variant

Dtails du diagnostic selon le mode de diagnostic

RET_VAL

OUT

Int

Rsultat de l'excution / message d'erreur

CNT_DIAG

OUT

UInt

Nombre de dtails de diagnostic renvoys

Le priphrique est slectionn au moyen du paramtre d'entre LADDR. Le paramtre


d'entre MODE permet de slectionner le type d'information de diagnostic renvoye.
Tableau 8- 113

Paramtre MODE

Entre MODE

Sortie DIAG

Sortie CNT_DIAG

Sortie DETAIL

Liste de bits des modes pris en charge en


tant que double mot DWord

Nant

Etat de diagnostic comme source


d'information de diagnostic (DIS)

Nant

Noeud de navigation de diagnostic (DNN)

Nant

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

287

Instructions avances
8.5 Diagnostic
Tableau 8- 114

Structure de la source d'information de diagnostic (DIS)

DIS : Struct;
OwnState:

UInt;

MaintenanceState:

DWord;

IOState:

Word;

ComponentStateDetail:

DWord;

OperatingState:

UInt;

End_Struct

Tableau 8- 115

Structure du noeud de navigation de diagnostic (DNN)

DNN : Struct;
SubordinateState:

UInt;

SubordinateIOState:

Word;

DNNmode:

Word;

End_Struct

Tableau 8- 116

Codes d'erreur

RET_VAL (W#16#...)

Description

Pas d'erreur

Les n dtails de diagnostic existants n'ont pas pu tous tre fournis.

8080

Mode non pris en charge

8081

Le type de donnes dans le paramtre DIAG n'est pas pris en charge avec le mode indiqu.

8082

Le type de donnes dans le paramtre DETAIL n'est pas pris en charge avec le mode
indiqu.

8090

L'appareil identifi par LADDR n'existe pas.

8091

La voie n'existe pas.

80C1

Manque de ressources pour des excutions en parallle

Automate programmable S7-1200

288

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.6 Impulsion

8.6

Impulsion

8.6.1

Instruction CTRL_PWM

Tableau 8- 117

Instruction CTRL_PWM (Modulation de largeur d'impulsion)

CONT/LOG

Description
Fournit une sortie priode fixe avec un rapport cyclique variable. La sortie PWM s'excute
en continu une fois qu'elle a t lance la frquence indique (priode). On fait varier la
largeur d'impulsion de la manire ncessaire pour influer sur la commande souhaite.

STEP 7 cre automatiquement le DB lorsque vous insrez l'instruction.

Tableau 8- 118

Types de donnes pour les paramtres

Paramtre et type

Type de
donnes

Description

PWM

IN

HW_PWM
(Word)

Identificateur PWM : les noms des gnrateurs d'impulsions activs


deviennent des variables dans la table de variables "Constantes" et
sont disponibles pour utilisation comme paramtre PWM. (valeur par
dfaut : 0)

ENABLE

IN

Bool

1=dmarrer le gnrateur d'impulsions


0 = arrter le gnrateur d'impulsions

BUSY

OUT

Bool

Fonction occupe (valeur par dfaut : 0)

STATUS

OUT

Word

Code d'erreur d'excution (valeur par dfaut : 0)

L'instruction CTRL_PWM stocke les informations de paramtres dans le DB. L'utilisateur ne


peut pas modifier sparment les paramtres du bloc de donnes qui sont grs par
l'instruction CTRL_PWM.
Indiquez le gnrateur d'impulsions activ utiliser en spcifiant son nom de variable
comme paramtre PWM.
Lorsque l'entre EN est VRAI, l'instruction PWM_CTRL dmarre ou arrte le gnrateur
d'impulsions PWM identifi conformment la valeur de l'entre ENABLE. La dure de
l'impulsion est prcise par la valeur dans l'adresse de mot de sortie Q associe.
Etant donn que la CPU traite la requte une fois que l'instruction CTRL_PWM est excute,
le paramtre BUSY signalera toujours FAUX. Si une erreur est dtecte, ENO est mis
FAUX et le paramtre STATUS contient un code d'erreur.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

289

Instructions avances
8.6 Impulsion
La largeur d'impulsion est dfinie la valeur initiale paramtre dans la configuration des
appareils lorsque la CPU passe l'tat MARCHE. Vous crivez des valeurs dans l'adresse
de mot Q indique dans la configuration des appareils (Adresses de sortie / Adresse de
dpart) selon vos besoins pour modifier la dure d'impulsion. Vous utilisez une instruction de
transfert, de conversion, mathmatique ou une bote PID pour crire la dure d'impulsion
dsire dans le mot Q appropri. Vous devez utiliser la plage valide de la valeur de mot Q
(pourcentage, millimes, dix millimes ou format analogique S7).
Remarque
Les E/S TOR affectes PWM et PTO ne peuvent pas tre forces
Les E/S TOR utilises par la modulation de largeur d'impulsion (PWM) et la sortie de trains
d'impulsions (PTO) sont affectes pendant la configuration des appareils. Lorsque des
adresses d'E/S TOR sont affectes ces appareils, les valeurs dans les adresses d'E/S
affectes ne peuvent pas tre forces par la fonction de forage permanent de la table de
visualisation.

Tableau 8- 119
STATUS

Description

Pas d'erreur

80A1

L'identificateur PWM n'accde pas un nom de gnrateur d'impulsions valide.

Tableau 8- 120

Valeurs du paramtre STATUS

Codes d'erreur communs

Code d'erreur1

Description

8022

Zone trop petite pour l'entre

8023

Zone trop petite pour la sortie

8024

Zone d'entre illicite

8025

Zone de sortie illicite

8028

Affectation illicite de bit d'entre

8029

Affectation illicite de bit de sortie

8030

La zone de sortie est un DB en lecture seule.

803A

DB inexistant

Si l'une des erreurs communes se produit pendant l'excution d'un bloc de code, la CPU passe l'tat ARRET moins
que vous n'ayez utilis l'instruction GetError ou GetErrorID dans ce bloc de code pour crer une raction programme
l'erreur.

Automate programmable S7-1200

290

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.6 Impulsion

8.6.2

Fonctionnement des sorties d'impulsions

Temps de cycle
Largeur d'impulsion

La largeur d'impulsion peut tre exprime sous forme


de centimes de la priode (0 100), de millimes (0
1000), de dix millimes (0 10000) ou de format
analogique S7.
La largeur d'impulsion peut varier de 0 (pas
d'impulsion, toujours dsactive) la pleine chelle
(pas d'impulsion, toujours active).

Comme la sortie PWM peut varier de 0 la pleine chelle, elle fournit une sortie TOR qui
est, en de nombreuses faons, identique une sortie analogique. Vous pouvez, par
exemple, utiliser cette sortie PWM pour commander la vitesse d'un moteur de l'arrt la
pleine vitesse ou pour commander la position d'une soupape de "ferme" "compltement
ouverte".
Deux gnrateurs d'impulsions sont disponibles pour commander les fonctions de sortie
d'impulsions rapides : PWM et PTO (Sortie de trains d'impulsions). PTO est utilis par les
instructions de commande de mouvement. Vous pouvez affecter chaque gnrateur
d'impulsions PWM ou PTO, mais pas aux deux en mme temps.
Les deux gnrateurs d'impulsions sont mapps sur des sorties TOR spcifiques comme
dcrit dans le tableau suivant. Vous pouvez utiliser les sorties CPU intgres ou les sorties
du Signal Board optionnel. Les numros des sorties sont indiqus dans le tableau suivant
(sur la base de la configuration par dfaut des sorties). Si vous avez modifi la numrotation
des sorties, les numros des sorties seront ceux que vous avez dfinis. Quoi qu'il en soit,
PTO1/PWM1 utilise les deux premires sorties TOR et PTO2/PWM2 utilise les deux sorties
TOR suivantes, sur la CPU ou sur le Signal Board enfich. Notez que PWM ne ncessite
qu'une sortie alors que PTO peut optionnellement utiliser deux sorties par voie. Si une sortie
n'est pas utilise pour une fonction d'impulsion, elle est disponible pour d'autres usages.
IMPORTANT
Les sorties de trains d'impulsions ne peuvent pas tre utilises par d'autres instructions
dans le programme utilisateur
Lorsque vous configurez les sorties de la CPU ou du Signal Board en tant que gnrateurs
d'impulsions (pour les instructions PWM ou de commande de mouvement de base), les
adresses des sorties correspondantes (Q0.0, Q0.1, Q4.0 et Q4.1) sont supprimes de la
mmoire Q et ne peuvent pas tre utilises d'autres fins dans le programme utilisateur. Si
votre programme utilisateur crit une valeur dans une sortie utilise comme gnrateur
d'impulsions, la CPU n'crit pas cette valeur dans la sortie physique.

Tableau 8- 121

Affectations par dfaut des sorties aux gnrateurs d'impulsions

Description
PTO 1
PWM 1

Impulsion

Sens

Intgre la CPU

Q0.0

Q0.1

Signal Board

Q4.0

Q4.1

Intgre la CPU

Q0.0

--

Signal Board

Q4.0

--

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

291

Instructions avances
8.6 Impulsion

Description
PTO 2
PWM 2

8.6.3

Impulsion

Sens

Intgre la CPU

Q0.2

Q0.3

Signal Board

Q4.2

Q4.3

Intgre la CPU

Q0.2

--

Signal Board

Q4.2

--

Configuration d'une voie d'impulsion pour PWM


Pour prparer le fonctionnement de PWM, configurez d'abord une voie d'impulsion dans la
configuration des appareils en slectionnant la CPU, le gnrateur d'impulsions (PTO/PWM)
et soit PWM1 soit PWM2. Activez le gnrateur d'impulsions (case cocher). Si un
gnrateur d'impulsions est activ, un nom par dfaut unique est affect ce gnrateur
d'impulsions particulier. Vous pouvez modifier ce nom en l'ditant dans la bote d'dition
"Nom :", mais ce doit tre un nom unique. Les noms des gnrateurs d'impulsions activs
deviennent des variables dans la table de variables "Constantes" et sont disponibles pour
utilisation comme paramtre PWM de l'instruction CTRL_PWM.
IMPORTANT
La frquence d'impulsion maximale des gnrateurs d'impulsions pour les sorties TOR est
de 100 kHz (pour la CPU), de 20 kHz (pour un SB) et de 200 kHz (pour un SB rapide).
Toutefois, STEP 7 ne vous avertit pas si vous configurez un axe avec une vitesse ou une
frquence maximale qui dpasse cette limitation matrielle. Afin d'viter tout problme avec
votre application, assurez-vous toujours de ne pas dpasser la frquence d'impulsion
maximale du matriel.
Vous pouvez renommer le gnrateur d'impulsions, ajouter un commentaire et affecter des
paramtres comme suit.
Gnrateur d'impulsions utilis comme suit : PWM ou PTO (choisissez PWM)
Source de sortie : Intgre la CPU ou SB
Unit de temps : millisecondes ou microsecondes
Format de dure d'impulsion :
Centimes (0 100)
Millimes (0 1000)
Dix millimes (0 10000)
Format analogique S7 (0 27648)
Priode : Entrez la valeur de la priode. Cette valeur ne peut tre modifie que dans la
Configuration des appareils.
Dure d'impulsion initiale : Entrez la valeur initiale de la dure d'impulsion. La valeur de la
dure d'impulsion peut tre modifie pendant l'excution.

Automate programmable S7-1200

292

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.7 Gestion des blocs de donnes
Entrez l'adresse de dbut pour configurer les adresses de sortie. Entrez l'adresse de mot Q
dans laquelle vous voulez placer la valeur de dure d'impulsion.
IMPORTANT
Les sorties de trains d'impulsions ne peuvent pas tre utilises par d'autres instructions
dans le programme utilisateur
Lorsque vous configurez les sorties de la CPU ou du Signal Board en tant que gnrateurs
d'impulsions (pour les instructions PWM ou de commande de mouvement de base), les
adresses des sorties correspondantes (Q0.0, Q0.1, Q4.0 et Q4.1) sont supprimes de la
mmoire Q et ne peuvent pas tre utilises d'autres fins dans le programme utilisateur. Si
votre programme utilisateur crit une valeur dans une sortie utilise comme gnrateur
d'impulsions, la CPU n'crit pas cette valeur dans la sortie physique.
L'adresse par dfaut est QW1000 pour PWM1 et QW1002 pour PWM2. La valeur cette
adresse commande la dure de l'impulsion et est initialise la valeur "Dure d'impulsion
initiale" indique ci-avant chaque fois que la CPU passe de l'tat ARRET l'tat MARCHE.
Vous modifiez cette valeur de mot Q pendant l'excution pour modifier la largeur d'impulsion.

8.7

Gestion des blocs de donnes

8.7.1

READ_DBL, WRIT_DBL (Lecture ou criture dans un DB en mmoire de


chargement)

Tableau 8- 122

Instructions READ_DBL et WRIT_DBL

CONT/LOG

Description
Permet de copier les valeurs initiales d'un DB ou une partie de ces valeurs de la
mmoire de chargement dans un DB cible en mmoire de travail.
Le contenu de la mmoire de chargement n'est pas modifi pendant l'opration
de copie.

Permet de copier les valeurs initiales d'un DB ou une partie de ces valeurs de la
mmoire de travail dans un DB cible en mmoire de chargement.
Le contenu de la mmoire de travail n'est pas modifi pendant l'opration de
copie.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

293

Instructions avances
8.7 Gestion des blocs de donnes
Tableau 8- 123

Types de donnes pour les paramtres

Paramtre et type

Type de
donnes

Description

REQ

IN

BOOL

Un signal de niveau haut dmarre l'opration si BUSY = 0.

SRCBLK

IN

VARIANT

READ_DBL : Pointeur dsignant le bloc de donnes source en


mmoire de chargement
WRIT_DBL : Pointeur dsignant le bloc de donnes source en mmoire
de travail

RET_VAL

OUT

INT

Code d'erreur d'excution

BUSY

OUT

BOOL

BUSY = 1 signale que l'opration de lecture/criture n'est pas acheve.

DSTBLK

OUT

VARIANT

READ_DBL : Pointeur dsignant le bloc de donnes de destination en


mmoire de travail
WRIT_DBL : Pointeur dsignant le bloc de donnes de destination en
mmoire de chargement

READ_DBL peut servir copier un jeu de valeurs initiales dans un DB en mmoire de travail
qui est rfrenc par votre programme. Vous pouvez utiliser WRIT_DBL pour actualiser les
valeurs initiales stockes en mmoire de chargement interne ou dans une carte mmoire.
Remarque
Limitez les oprations d'criture en mmoire flash via WRIT_DBL
L'instruction WRIT_DBL effectue des oprations d'criture en mmoire flash (mmoire de
chargement interne ou carte mmoire). Il convient d'utiliser cette instruction pour des mises
jour exceptionnelles, telles qu'une modification du processus de production.
Les blocs de donnes utiliss par READ_DBL et WRIT_DBL doivent avoir pralablement t
crs par STEP 7 pour que vous puissiez utiliser ces instructions. Si le DB source est cr
avec le type "standard", le DB de destination doit galement tre de type "standard". Si le
bloc de donnes source est cr avec le type "optimis", le bloc de donnes de destination
doit galement tre de type "optimis".
Remarque
Utilisation d'une structure (type de donnes Struct) dans un DB "optimis"
Lorsque vous utilisez un type de donnes Struct avec des DB "optimiss", vous devez
d'abord crer un type de donnes utilisateur (UDT) pour la structure Struct. Vous configurez
alors les deux DB - source et destination - avec le type UDT. Le type UDT garantit que les
types de donnes l'intrieur de la structure Struct restent cohrents pour les deux DB.
Pour les DB "standard", vous utilisez la structure Struct sans crer d'UDT.
READ_DBL et WRIT_DBL s'excutent de manire asynchrone par rapport au cycle du
programme. Le traitement s'tend sur plusieurs appels de READ_DBL et WRIT_DBL. Vous
dmarrez la tche de transfert de DB en appelant l'instruction avec REQ = 1, puis vous
surveillez les sorties BUSY et RET_VAL pour dterminer si le transfert de donnes est
achev et correct.

Automate programmable S7-1200

294

Manuel systme, 07/2011, A5E02486682-04

Instructions avances
8.7 Gestion des blocs de donnes
Pour garantir la cohrence des donnes, ne modifiez pas la zone de destination pendant le
traitement de READ_DBL ou la zone source pendant le traitement de WRIT_DBL (c'est-dire tant que le paramtre BUSY est VRAI).
Restrictions concernant les paramtres SRCBLK et DSTBLK :
Un bloc de donnes doit avoir t cr avant de pouvoir tre rfrenc.
La longueur d'un pointeur VARIANT de type BOOL doit tre divisible par 8.
La longueur d'un pointeur VARIANT de type STRING doit tre identique dans les
pointeurs source et destination.
Tableau 8- 124
RET_VAL

Codes d'erreur
Description

(W#16#...)
0000

Pas d'erreur

0081

Avertissement : La zone source est plus petite que la zone de destination. Les donnes source sont
copies dans leur intgralit, les octets surnumraires dans la zone de destination restant inchangs.

7000

Appel avec REQ = 0 : BUSY = 0

7001

Premier appel avec REQ = 1 (fonctionne) : BUSY = 1

7002

n-ime appel (fonctionne) : BUSY = 1

8051

Erreur de type de bloc de donnes

8081

La zone source est plus grande que la zone de destination. La zone de destination est compltement
remplie et les octets restants de la source ne sont pas pris en compte.

8251

Erreur de type de bloc de donnes source

82B1

Bloc de donnes source manquant

82C0

Le DB source est en cours d'dition par une autre instruction ou une fonction de communication.

8551

Erreur de type de bloc de donnes de destination

85B1

Bloc de donnes de destination manquant

85C0

Le DB de destination est en cours d'dition par une autre instruction ou une fonction de communication.

80C3

Plus de 50 instructions READ_DBL ou 50 instructions WRIT_DBL sont actuellement en file d'attente


pour excution.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

295

Instructions avances
8.8 Codes d'erreur communs pour les instructions avances

8.8

Codes d'erreur communs pour les instructions avances

Tableau 8- 125

Codes d'erreur communs pour les instructions avances

Code d'erreur (W#16#....)1

Description

8022

Zone trop petite pour l'entre

8023

Zone trop petite pour la sortie

8024

Zone d'entre illicite

8025

Zone de sortie illicite

8028

Affectation illicite de bit d'entre

8029

Affectation illicite de bit de sortie

8030

La zone de sortie est un DB en lecture seule.

803A

DB inexistant

Si l'une de ces erreurs se produit pendant l'excution d'un bloc de code, la CPU passe l'tat ARRET moins que
vous n'ayez utilis l'instruction GetError ou GetErrorID dans ce bloc de code et cr une raction programme
l'erreur.

Automate programmable S7-1200

296

Manuel systme, 07/2011, A5E02486682-04

Consignation de donnes

Votre programme de commande peut utiliser les instructions Data log pour stocker des
valeurs de donnes d'excution dans des fichiers journaux permanents. Les fichiers
journaux sont stocks en mmoire flash (CPU ou carte mmoire). Les donnes des journaux
sont stockes en format CSV standard (valeurs spares par une virgule). Les
enregistrements sont organiss sous forme de fichier journal circulaire d'une dimension
prdtermine.
Vous utiliserez les instructions Data log dans votre programme pour crer, ouvrir, crire un
enregistrement et fermer les fichiers journaux. Vous dcidez des valeurs du programme qui
seront consignes en crant une mmoire tampon qui dfinit un enregistrement de journal
unique. Votre mmoire tampon de donnes sert de stockage temporaire pour un nouvel
enregistrement de journal. Les nouvelles valeurs en cours doivent tre copies par
programme dans la mmoire tampon pendant l'excution. Une fois toutes les valeurs de
donnes en cours actualises, vous pouvez excuter l'instruction DataLogWrite pour
transfrer les donnes de la mmoire tampon dans un enregistrement de journal.
Utilisez le serveur Web API intgr pour grer vos fichiers journaux. Tlchargez des
enregistrements rcents ou tous les enregistrements, effacez des enregistrements ou
supprimez des fichiers journaux l'aide de la page Web standard pour les journaux de
donnes. Lorsqu'un fichier journal a t transfr dans votre PC, vous pouvez en analyser
les donnes l'aide de tableurs standard tels que Microsoft Excel.

9.1

Structure des enregistrements de journaux


Les paramtres DATA et HEADER de l'instruction DataLogCreate dfinissent le type de
donnes et la description d'en-tte de colonne de tous les lments de donnes d'un
enregistrement de journal.

Paramtre DATA pour l'instruction DataLogCreate


Le paramtre DATA dsigne de la mmoire utilise comme tampon temporaire pour un
nouvel enregistrement de journal et doit correspondre une adresse M ou DB.
Vous pouvez affecter un DB entier (driv d'un type de donnes API que vous affectez la
cration du DB) ou une partie d'un DB (l'lment de DB indiqu peut tre tout type de
donnes, structure de donnes, type de donnes API ou tableau de donnes).
Les structures sont limites un niveau d'imbrication unique. Le nombre total d'lments de
donnes dclars doit correspondre au nombre de colonnes indiqu dans le paramtre
HEADER. Le nombre maximum d'lments de donnes que vous pouvez affecter est 253
(avec horodatage) ou 255 (sans horodatage). Cette limitation maintient votre enregistrement
en de de la limite de colonne de 256 d'une feuille Microsoft Excel.
Le paramtre DATA peut indiquer des lments de donnes rmanents ou non rmanents
dans un DB de type "standard" (compatible avec S7-300/400) ou "optimis".

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

297

Consignation de donnes
9.2 Instructions de gestion des journaux de donnes
Pour crire un enregistrement de journal DATA, vous devez d'abord charger de nouvelles
valeurs du processus dans l'enregistrement DATA temporaire, puis excuter l'instruction
DataLogWrite qui enregistre les nouvelles valeurs de l'enregistrement dans le fichier journal.

Paramtre HEADER pour l'instruction DataLogCreate


Le paramtre HEADER dsigne les noms d'en-tte de colonne dans la ligne suprieure de la
matrice de donnes code dans le fichier CSV. Les donnes HEADER doivent se situer en
mmoire DB ou M et les caractres doivent respecter les rgles du format CSV standard
avec des virgules sparant chaque nom de colonne. Les types de donnes possibles sont la
chane, le tableau d'octets ou le tableau de caractres. Les tableaux de caractres ou
d'octets permettent d'avoir une taille plus importante, les chanes tant limites 255 octets
au maximum. Le paramtre HEADER est facultatif. Si HEADER n'est pas paramtr, aucune
ligne d'en-tte n'est cre dans le fichier journal.

9.2

Instructions de gestion des journaux de donnes

9.2.1

DataLogCreate

Tableau 9- 1 Instruction DataLogCreate


CONT/LOG

Description
Cre et initialise un fichier journal. Le fichier est cr dans le rpertoire \DataLogs de
l'API sous le nom indiqu par le paramtre NAME et les oprations d'criture y sont
implicitement autorises. Vous pouvez utiliser les instructions Data log pour stocker par
programme les donnes d'excution du processus dans la mmoire flash de la CPU.
STEP 7 cre automatiquement le DB d'instance associ lorsque vous insrez
l'instruction.

Tableau 9- 2 Types de donnes pour les paramtres


Paramtre et type

Type de
donnes

Description

REQ

IN

Bool

Un front montant dclenche l'opration. (Valeur par dfaut : False)

RECORDS

IN

UDint

Nombre maximum d'enregistrements que le journal circulaire peut contenir


avant que l'entre la plus ancienne ne soit crase.
L'enregistrement d'en-tte n'est pas inclus. L'API doit disposer d'une
mmoire de chargement suffisante pour que le journal soit cr avec
succs. (valeur par dfaut : 1)

Automate programmable S7-1200

298

Manuel systme, 07/2011, A5E02486682-04

Consignation de donnes
9.2 Instructions de gestion des journaux de donnes

Paramtre et type
FORMAT

TIMESTAMP

NAME

IN

IN

IN

Type de
donnes

Description

UInt

Format du journal de donnes :

UInt

Variant

0: Format interne (non pris en charge)

1: Valeurs spares par des virgules "csv-eng" (valeur par dfaut)

Format d'horodatage des donnes. Des en-ttes de colonne pour les


champs date et heure ne sont pas ncessaires. L'horodatage utilise l'heure
systme (UTC : temps universel coordonn) et non l'heure locale.

0: Pas d'horodatage

1: Horodatage (valeur par dfaut)

Nom du journal de donnes. Vous indiquez ce nom. Cette variante accepte


seulement le type de donnes String et peut uniquement se situer en
mmoire locale, DB ou M. (valeur par dfaut : ' ')
Cette rfrence chane est galement utilise comme nom du fichier journal.
Vous devez respecter les restrictions concernant les noms dans le systme
de fichiers Windows. Ainsi, les caractres \ / : * ? " < > | et l'espace ne sont
pas autoriss.

ID

IN_OUT

DWord

Identificateur numrique du journal de donnes. Vous mmorisez cette


valeur gnre dont vous aurez besoin avec les autres instructions de
journaux de donnes. Le paramtre ID est uniquement utilis comme sortie
dans l'instruction DataLogCreate. (valeur par dfaut : 0)
L'accs symbolique ce paramtre n'est pas autoris.

HEADER

IN_OUT

Variant

Pointeur dsignant les noms d'en-tte de colonne du journal dans la ligne


suprieure de la matrice de donnes code dans le fichier CSV. (Valeur par
dfaut : nul).
Les donnes HEADER doivent se situer en mmoire DB ou M.
Les caractres doivent respecter les rgles du format CSV standard avec
des virgules sparant chaque nom de colonne. Les types de donnes
possibles sont la chane, le tableau d'octets ou le tableau de caractres. Les
tableaux de caractres ou d'octets permettent d'avoir une taille plus
importante, les chanes tant limites 255 octets au maximum.
Le paramtre HEADER est facultatif. Si HEADER n'est pas paramtr,
aucune ligne d'en-tte n'est cre dans le fichier journal.

DATA

IN_OUT

Variant

Pointeur dsignant une structure, un type de donnes utilisateur (UDT) ou


un tableau pour les donnes des enregistrements. Les donnes des
enregistrements doivent se situer en mmoire DB ou M.
Le paramtre DATA indique les lments de donnes individuels (colonnes)
d'un enregistrement de journal et leur type de donnes. Les structures sont
limites un niveau d'imbrication unique. Le nombre d'lments de
donnes dclars doit correspondre au nombre de colonnes indiqu dans le
paramtre HEADER. Le nombre maximum d'lments de donnes que
vous pouvez affecter est 253 (avec horodatage) ou 255 (sans horodatage).
Cette limitation maintient votre enregistrement en de de la limite de
colonne de 256 d'une feuille Microsoft Excel.

DONE

OUT

Bool

Le bit DONE est VRAI pour un cycle lorsque la dernire demande s'est
acheve sans erreur. (Valeur par dfaut : False)

BUSY

OUT

Bool

0 : Pas d'opration en cours

1 : Opration en cours

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

299

Consignation de donnes
9.2 Instructions de gestion des journaux de donnes

Paramtre et type

Type de
donnes

Description

ERROR

OUT

Bool

Le bit ERROR est VRAI pour un cycle lorsque la dernire demande s'est
acheve avec une erreur. La valeur de code d'erreur dans le paramtre
STATUS ne vaut que pendant le cycle o ERROR est VRAI.

STATUS

OUT

Word

Code de condition d'excution (valeur par dfaut : 0)

Le fichier journal est cr avec une taille fixe prdtermine base sur les paramtres
RECORDS et DATA. Les enregistrements sont organiss sous forme de fichier journal
circulaire. De nouveaux enregistrements sont ajouts au fichier journal jusqu' ce que le
nombre maximum d'enregistrements indiqu dans le paramtre RECORDS soit sauvegard.
L'enregistrement suivant se substituera alors l'enregistrement le plus ancien. Une nouvelle
opration d'criture crasera l'enregistrement le plus ancien suivant et ainsi de suite.
Remarque
Si vous voulez viter l'crasement d'enregistrements, vous pouvez crer un nouveau journal
sur la base du journal en cours avec l'instruction DataLogNewFile lorsque le journal en cours
a atteint le nombre maximum d'enregistrements. Les nouveaux enregistrements seront alors
sauvegards dans le nouveau fichier journal. L'ancien fichier journal avec ses donnes
enregistres sont conservs dans la mmoire flash de la CPU.
Utilisation de la mmoire :
Les journaux ne consomment que de la mmoire de chargement.
Aucune limite n'est dfinie pour le nombre total de journaux. La taille de tous les journaux
combins est limite par les ressources de mmoire de chargement disponibles. Huit
journaux au maximum peuvent tre ouverts simultanment.
Le nombre maximum possible pour le paramtre RECORDS est la limite des nombres
UDint (4 294 967 295). La limite effective pour le paramtre RECORD dpend de la taille
d'un enregistrement individuel, de la taille des autres journaux et des ressources de
mmoire de chargement disponibles. En outre, Microsoft Excel impose des limites sur le
nombre de lignes dans une feuille Excel.
Remarque
L'excution d'une instruction DataLogCreate s'tend sur de nombreux cycles du
programme. La dure relle ncessaire la cration d'un fichier journal dpend de la
structure d'un enregistrement et du nombre d'enregistrements. La logique de votre
programme doit surveiller et capturer la transition l'tat VRAI du bit DONE de
DataLogCreate avant que le nouveau journal ne puisse tre utilis pour d'autres
oprations sur les journaux.

Tableau 9- 3 Valeurs de ERROR et STATUS


ERROR

STATUS (W#16#....)

Description

0000

Pas d'erreur

7000

Appel sans front de REQ : BUSY = 0, DONE = 0

7001

Premier appel avec front de REQ (fonctionne) : BUSY = 1, DONE = 0

Automate programmable S7-1200

300

Manuel systme, 07/2011, A5E02486682-04

Consignation de donnes
9.2 Instructions de gestion des journaux de donnes

ERROR

STATUS (W#16#....)

Description

7002

n-ime appel (fonctionne) : BUSY = 1, DONE = 0

8070

Toute la mmoire d'instance interne est utilise.

807F

Erreur interne

8090

Nom de fichier invalide

8091

Le paramtre NAME ne fait pas rfrence une chane de caractres.

8093

Le journal de donnes existe dj.

8097

La longueur de fichier demande dpasse le maximum du systme de fichiers.

80B3

Mmoire de chargement disponible insuffisante

80B4

Cartouche mmoire protge en criture

80C1

Trop de fichiers ouverts : huit fichiers journaux ouverts sont autoriss au


maximum.

8253

Nombre d'enregistrements invalide

8353

Format slectionn invalide

8453

Horodatage slectionn invalide

8B24

Allocation de zone HEADER invalide : Pointe par exemple sur la mmoire locale

8B51

Type de donnes du paramtre HEADER invalide

8B52

Trop d'lments de donnes dans le paramtre HEADER

8C24

Affectation de zone DATA invalide : Pointe par exemple sur la mmoire locale

8C51

Type de donnes du paramtre DATA invalide

8C52

Trop d'lments de donnes dans le paramtre DATA

9.2.2

DataLogOpen

Tableau 9- 4 Instruction DataLogOpen


CONT/LOG

Description
Ouvre un fichier journal pr-existant. Un journal doit tre ouvert pour que vous puissiez y crire de
nouveaux enregistrements. Les journaux peuvent tre ouverts et ferms de faon individuelle. Huit
journaux au maximum peuvent tre ouverts en mme temps.
STEP 7 cre automatiquement le DB d'instance associ lorsque vous insrez l'instruction.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

301

Consignation de donnes
9.2 Instructions de gestion des journaux de donnes
Tableau 9- 5 Types de donnes pour les paramtres
Paramtre et type

Type de
donnes

Description

REQ

IN

Bool

Un front montant dclenche l'opration. (valeur par dfaut : faux)

MODE

IN

UInt

Mode de fonctionnement :

0 : Ajouter aux donnes existantes (valeur par dfaut)

1 : Effacer tous les enregistrements existants

NAME

IN

Variant

Nom d'un journal existant : Cette variante accepte seulement le type de


donnes String et peut uniquement se situer en mmoire locale, DB ou
M. (valeur par dfaut : ' ')

ID

IN_OUT

DWord

Identificateur numrique d'un journal de donnes (valeur par dfaut : 0)


Remarque : L'accs symbolique ce paramtre n'est pas autoris.

DONE

OUT

Bool

Le bit DONE est VRAI pour un cycle lorsque la dernire demande s'est
acheve sans erreur. (valeur par dfaut : faux)

BUSY

OUT

Bool

0 : Pas d'opration en cours

1 : Opration en cours

ERROR

OUT

Bool

Le bit ERROR est VRAI pour un cycle lorsque la dernire demande s'est
acheve avec une erreur. La valeur de code d'erreur dans le paramtre
STATUS ne vaut que pendant le cycle o ERROR est VRAI.

STATUS

OUT

Word

Code d'erreur d'excution (valeur par dfaut : 0)

Vous pouvez indiquer soit le nom NAME, soit l'identificateur numrique ID (ID en tant que
paramtre d'entre) d'un journal pr-existant. Si vous indiquez les deux paramtres et que
l'ID valide indiqu correspond bien au journal dsign par NAME, l'ID est utilis et le nom
NAME n'est pas pris en compte.
Le nom indiqu dans NAME doit tre le nom d'un journal cr avec l'instruction
DataLogCreate. Si vous indiquez uniquement le paramtre NAME et que NAME dsigne un
journal valide, l'ID correspondant est renvoy (ID en tant que paramtre de sortie).
Remarque
Utilisation gnrale des fichiers journaux
Les fichiers journaux sont automatiquement ouverts aprs les instructions DataLogCreate
et DataLogNewFile.
Les fichiers journaux sont automatiquement ferms lors d'un passage de l'API de l'tat
MARCHE l'tat ARRET ou lors d'une mise hors tension puis sous tension de l'API.
Un fichier journal doit tre ouvert pour qu'une nouvelle opration DataLogWrite soit
possible.
Huit fichiers journaux au plus peuvent tre ouverts un moment donn. Il peut exister
plus de huit fichiers journaux, mais certains d'entre eux doivent tre ferms pour qu'il n'y
en ait pas plus de huit ouverts.

Automate programmable S7-1200

302

Manuel systme, 07/2011, A5E02486682-04

Consignation de donnes
9.2 Instructions de gestion des journaux de donnes
Tableau 9- 6 Valeurs de ERROR et STATUS
ERROR

STATUS (W#16#)

Description

0000

Pas d'erreur

0002

Avertissement : Fichier journal dj ouvert par ce programme d'application

7000

Appel sans front de REQ : BUSY = 0, DONE = 0

7001

Premier appel avec front de REQ (fonctionne) : BUSY = 1, DONE = 0

7002

n-ime appel (fonctionne) : BUSY = 1, DONE = 0

8070

Toute la mmoire d'instance interne est utilise.

8090

La dfinition de journal est incompatible avec le fichier journal existant.

8091

Le paramtre NAME ne fait pas rfrence une chane de caractres.

8092

Le journal n'existe pas.

80C0

Le fichier journal est verrouill.

80C1

Trop de fichiers ouverts ; huit fichiers journaux ouverts sont autoriss au


maximum.

9.2.3

DataLogClose

Tableau 9- 7 Instruction DataLogClose


CONT/LOG

Description
Ferme un fichier journal ouvert. Les oprations DataLogWrite sur un fichier journal ferm provoquent
une erreur. Aucune opration d'criture dans ce journal n'est autorise tant qu'une nouvelle opration
DataLogOpen n'est pas excute.
Un passage l'tat ARRET ferme tous les fichiers journaux ouverts.
STEP 7 cre automatiquement le DB d'instance associ lorsque vous insrez l'instruction.

Tableau 9- 8 Types de donnes pour les paramtres


Paramtre et type

Type de
donnes

Description

REQ

IN

Bool

Un front montant dclenche l'opration. (valeur par dfaut : faux)

ID

IN_OUT

DWord

Identificateur numrique d'un journal de donnes. Utilis uniquement comme


entre pour l'instruction DataLogClose (valeur par dfaut : 0)
Remarque : L'accs symbolique ce paramtre n'est pas autoris.

DONE

OUT

Bool

Le bit DONE est VRAI pour un cycle lorsque la dernire demande s'est
acheve sans erreur.

BUSY

OUT

Bool

0 : Pas d'opration en cours

1 : Opration en cours

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

303

Consignation de donnes
9.2 Instructions de gestion des journaux de donnes

Paramtre et type

Type de
donnes

Description

ERROR

OUT

Bool

Le bit ERROR est VRAI pour un cycle lorsque la dernire demande s'est
acheve avec une erreur. La valeur de code d'erreur dans le paramtre
STATUS ne vaut que pendant le cycle o ERROR est VRAI.

STATUS

OUT

Word

Code d'erreur d'excution (valeur par dfaut : 0)

Tableau 9- 9 Valeurs de ERROR et STATUS


ERROR

STATUS (W#16#)

Description

0000

Pas d'erreur

0001

Le journal n'est pas ouvert.

7000

Appel sans front de REQ : BUSY = 0, DONE = 0

7001

Premier appel avec front de REQ (fonctionne) : BUSY = 1, DONE = 0

7002

n-ime appel (fonctionne) : BUSY = 1, DONE = 0

8092

Le journal n'existe pas.

9.2.4

DataLogWrite

Tableau 9- 10 Instruction DataLogWrite


CONT/LOG

Description
Ecrit un enregistrement dans le journal spcifi. Le journal cible pr-existant doit tre ouvert pour
qu'une opration DataLogWrite soit autorise.
STEP 7 cre automatiquement le DB d'instance associ lorsque vous insrez l'instruction.

Tableau 9- 11 Types de donnes pour les paramtres


Paramtre et type

Type de
donnes

Description

REQ

IN

Bool

Un front montant dclenche l'opration. (valeur par dfaut : faux)

ID

IN_OUT

DWord

Identificateur numrique du journal de donnes. Utilis uniquement comme


entre pour l'instruction DataLogWrite (valeur par dfaut : 0)
Remarque : L'accs symbolique ce paramtre n'est pas autoris.

DONE

OUT

Bool

Le bit DONE est VRAI pour un cycle lorsque la dernire demande s'est
acheve sans erreur.

BUSY

OUT

Bool

0 : Pas d'opration en cours

1 : Opration en cours

Automate programmable S7-1200

304

Manuel systme, 07/2011, A5E02486682-04

Consignation de donnes
9.2 Instructions de gestion des journaux de donnes

Paramtre et type

Type de
donnes

Description

ERROR

OUT

Bool

Le bit ERROR est VRAI pour un cycle lorsque la dernire demande s'est
acheve avec une erreur. La valeur de code d'erreur dans le paramtre
STATUS ne vaut que pendant le cycle o ERROR est VRAI.

STATUS

OUT

Word

Code d'erreur d'excution (valeur par dfaut : 0)

L'adresse et la structure de donnes de la mmoire tampon d'enregistrements sont dfinies


par le paramtre DATA d'une instruction DataLogCreate. Vous devez charger par
programme les valeurs du processus en cours d'excution dans la mmoire tampon, puis
excuter l'instruction DataLogWrite pour copier les nouvelles donnes de la mmoire
tampon dans le journal.
Le paramtre ID identifie un journal et une configuration d'enregistrement. Le nombre ID est
gnr la cration d'un journal.
S'il y a des enregistrements vides dans le fichier journal circulaire, l'criture se fait dans
l'enregistrement vide disponible suivant. Si tous les enregistrements sont pleins,
l'enregistrement le plus ancien est cras.
PRUDENCE
Perte potentielle de donnes de journaux pendant une coupure de courant affectant la
CPU
Si une coupure de courant se produit pendant une opration DataLogWrite qui n'est pas
encore acheve, l'enregistrement en cours de transfert dans le journal peut tre perdu.

Tableau 9- 12 Valeurs de ERROR et STATUS


ERROR

STATUS (W#16#)

Description

0000

Pas d'erreur

0001

Indique que le journal est plein. Chaque journal est cr avec un nombre
maximumv dfini d'enregistrements. Le dernier enregistrement du nombre
maximum a t crit. La prochaine opration d'criture crasera donc
l'enregistrement le plus ancien.

7000

Appel sans front de REQ : BUSY = 0, DONE = 0

7001

Premier appel avec front de REQ (fonctionne) : BUSY = 1, DONE = 0

7002

n-ime appel (fonctionne) : BUSY = 1, DONE = 0

8070

Toute la mmoire d'instance interne est utilise.

8092

Le journal n'existe pas.

80B0

Le fichier journal n'est pas ouvert (uniquement pour le mode d'ouverture


explicite).

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

305

Consignation de donnes
9.2 Instructions de gestion des journaux de donnes

9.2.5

DataLogNewFile

Tableau 9- 13 Instruction DataLogNewFile


CONT/LOG

Description
Permet votre programme de crer un nouveau fichier journal sur la base d'un fichier
journal existant.
STEP 7 cre automatiquement le DB d'instance associ lorsque vous insrez l'instruction.

Tableau 9- 14 Types de donnes pour les paramtres


Paramtre et type

Type de
donnes

Description

REQ

IN

Bool

Un front montant dclenche l'opration. (valeur par dfaut : faux)

RECORDS

IN

UDInt

Nombre maximum d'enregistrements que le journal circulaire peut contenir


avant que l'entre la plus ancienne ne soit crase. (valeur par dfaut : 1)
L'enregistrement d'en-tte n'est pas inclus. La CPU doit disposer d'une
mmoire de chargement suffisante pour que le journal soit cr avec
succs.

NAME

IN

Variant

Nom du journal de donnes. Vous indiquez ce nom. Cette variante accepte


seulement le type de donnes String et peut uniquement se situer en
mmoire locale, DB ou M. (valeur par dfaut : ' ')
Cette rfrence chane est galement utilise comme nom du fichier journal.
Vous devez respecter les restrictions concernant les noms dans le systme
de fichiers Windows. Ainsi, les caractres \ / : * ? " < > | et l'espace ne sont
pas autoriss.

ID

IN_OUT

DWord

Identificateur numrique du journal de donnes (valeur par dfaut : 0)

Au moment de l'excution, l'entre ID identifie un journal de donnes


valide. La configuration du nouveau journal est reprise de ce journal.

Aprs l'excution, le paramtre ID devient une sortie qui renvoie l'ID du


fichier journal nouvellement cr.
Remarque : L'accs symbolique ce paramtre n'est pas autoris.

DONE

OUT

Bool

Le bit DONE est VRAI pour un cycle lorsque la dernire demande s'est
acheve sans erreur.

BUSY

OUT

Bool

0 : Pas d'opration en cours

1 : Opration en cours

ERROR

OUT

Bool

Le bit ERROR est VRAI pour un cycle lorsque la dernire demande s'est
acheve avec une erreur. La valeur de code d'erreur dans le paramtre
STATUS ne vaut que pendant le cycle o ERROR est VRAI.

STATUS

OUT

Word

Code d'erreur d'excution (valeur par dfaut : 0)

Automate programmable S7-1200

306

Manuel systme, 07/2011, A5E02486682-04

Consignation de donnes
9.2 Instructions de gestion des journaux de donnes
Vous pouvez excuter l'instruction DataLogNewFile lorsqu'un journal est rempli ou est
considr comme achev et que vous ne voulez perdre aucune des donnes qui y sont
contenues. Un nouveau fichier journal vide ayant la structure du fichier journal plein peut tre
cr. L'enregistrement d'en-tte est repris dans le journal d'origine, ainsi que les proprits
du journal d'origine (mmoire tampon d'enregistrements DATA, format des donnes et
horodatage). Le fichier journal d'origine est implicitement ferm et le nouveau fichier journal
est implicitement ouvert.
Dclenchement via les paramtres de DataLogWrite : Votre programme doit surveiller les
paramtres ERROR et STATUS de chaque opration DataLogWrite. Lorsque le dernier
enregistrement est crit et qu'un journal est plein, le bit ERROR de DataLogWrite est gal
1 et le mot DataLogWriteSTATUS est gal 1. Ces valeurs de ERROR et de STATUS ne
sont valables que pendant un cycle, aussi votre logique de surveillance doit-elle utiliser
ERROR = 1 comme dclencheur pour capturer la valeur de STATUS puis tester que
STATUS est gal 1 (journal plein).
Fonctionnement de DataLogNewFile : Lorsque la logique de votre programme reoit le
signal "journal plein", elle active une opration DataLogNewFile. Vous devez excuter
DataLogNewFile avec l'ID d'un journal existant et ouvert (dj plein) mais avec un nouveau
paramtre NAME unique. Une fois l'opration DataLogNewFile excute, une nouvelle
valeur ID correspondant au nom du nouveau journal est renvoye (en tant que paramtre de
sortie). Le nouveau fichier journal est implicitement ouvert et est prt recevoir de nouveaux
enregistrements. Les nouvelles oprations DataLogWrite destines au nouveau fichier
journal doivent utiliser la valeur ID renvoye par l'opration DataLogNewFile.
Remarque
L'excution d'une instruction DataLogNewFile s'tend sur de nombreux cycles du
programme. La dure relle ncessaire la cration d'un fichier journal dpend de la
structure d'un enregistrement et du nombre d'enregistrements. La logique de votre
programme doit surveiller et capturer la transition l'tat VRAI du bit DONE de
DataLogNewFile avant que le nouveau journal ne puisse tre utilis pour d'autres oprations
sur les journaux.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

307

Consignation de donnes
9.3 Utilisation des journaux de donnes
Tableau 9- 15 Valeurs de ERROR et STATUS
ERROR

STATUS (W#16#)

0000

Pas d'erreur

7000

Appel sans front de REQ : BUSY = 0, DONE = 0

7001

Premier appel avec front de REQ (fonctionne) : BUSY = 1, DONE = 0

7002

n-ime appel (fonctionne) : BUSY = 1, DONE = 0

8070

Toute la mmoire d'instance interne est utilise.

8090

Nom de fichier invalide

8091

Le paramtre NAME ne fait pas rfrence une chane de caractres.

8092

Le journal n'existe pas.

8093

Le journal de donnes existe dj.

8097

La longueur de fichier demande dpasse le maximum du systme de fichiers.

80B3

Mmoire de chargement disponible insuffisante

80B4

La cartouche mmoire est protge en criture.

80C1

Trop de fichiers ouverts

9.3

Description

Utilisation des journaux de donnes


Les fichiers journaux sont stocks en format "valeurs spares par des virgules" (*.csv) en
mmoire flash permanente. Vous pouvez visualiser les journaux de donnes l'aide du
serveur Web de l'API ou en retirant la carte mmoire de l'API et en l'insrant dans un lecteur
de carte PC standard.

Visualisation de journaux de donnes avec le serveur Web API


Si le port PROFINET de l'API et un PC sont connects un rseau, vous pouvez utiliser un
navigateur Web PC tel que Microsoft Internet Explorer ou Mozilla Firefox pour accder au
serveur Web API intgr. L'API peut tre l'tat MARCHE ou ARRET lorsque vous utilisez
le serveur Web API. Si l'API est l'tat MARCHE, votre programme de commande continue
s'excuter pendant que le serveur Web API transfre les donnes de journaux via le
rseau.
Accs par le serveur Web :
1. Activez le serveur Web dans la configuration d'appareil pour la CPU cible (Page 564).
2. Connectez votre PC l'API via le rseau PROFINET (Page 564).
3. Ouvrez une session sur le serveur Web intgr (Page 566).
4. Tlchargez les enregistrements rcents ou tous les enregistrements, effacez des
enregistrements ou supprimez des fichiers journaux l'aide de la page Web standard
pour les journaux de donnes (Page 576).
5. Une fois qu'une copie d'un fichier journal a t charge dans votre PC, vous pouvez
ouvrir le fichier .csv avec un tableur tel que Microsoft Excel.

Automate programmable S7-1200

308

Manuel systme, 07/2011, A5E02486682-04

Consignation de donnes
9.3 Utilisation des journaux de donnes

Visualisation de journaux de donnes sur une carte mmoire API


Si une carte mmoire S7-1200 de type "programme" est insre dans la CPU S7-1200, vous
pouvez enlever la carte mmoire et l'insrer dans une fente de carte SD (Secure Digital) ou
MMC (MultiMediaCard) standard sur un PC ou une PG. L'API est l'tat ARRET lorsque la
carte mmoire est retire et le programme de commande ne s'excute pas.
Servez-vous de l'explorateur de fichiers Windows pour naviguer jusqu'au rpertoire \DataLog
sur la carte mmoire. Tous vos fichiers journaux \*.csv se trouvent dans ce rpertoire.
Faites une copie des fichiers journaux que vous placerez sur un lecteur local de votre PC.
Puis, utilisez Microsoft Excel pour ouvrir une copie locale d'un fichier *.csv et non le fichier
original stock sur la carte mmoire.
PRUDENCE
Vous pouvez copier des fichiers journaux sur une carte mmoire S7-1200 l'aide d'un
lecteur PC, mais ne modifiez pas ni ne supprimez ces fichiers.
La page standard du serveur Web pour les journaux de donnes est l'outil recommand
pour la visualisation, le tlchargement (copie), l'effacement (des donnes) et la
suppression des fichiers journaux. Le serveur Web gre les fichiers en carte mmoire pour
vous et permet d'viter les modifications ou suppressions accidentelles de donnes.
La navigation directe dans le systme de fichiers de la carte mmoire via l'explorateur
Windows prsente un risque car vous pouvez supprimer ou modifier accidentellement les
journaux de donnes ou d'autres fichiers systme, ce qui pourrait altrer des fichiers ou
rendre la carte mmoire inutilisable.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

309

Consignation de donnes
9.4 Limites de taille des fichiers journaux

9.4

Limites de taille des fichiers journaux


Les fichiers journaux partagent la mmoire de chargement de l'API avec le programme, les
donnes de programme, les donnes de configuration, les pages Web et les donnes
systme API. Un grand programme utilisant la mmoire de chargement interne consomme
une part importante de la mmoire disponible, les journaux de donnes ne disposant alors
pas d'un espace suffisant. Dans ce cas, vous pouvez utiliser une carte programme pour
augmenter la quantit de mmoire de chargement.
Reportez-vous au chapitre sur les cartes mmoire pour plus de dtails sur la cration d'une
carte programme (Page 110).

Tableau 9- 16 Tailles de mmoire de chargement


Zone de donnes

Taille
CPU 1211

Taille
CPU 1212

Taille
CPU 1214

Stockage des donnes

Mmoire de
chargement interne :
mmoire flash

1 Mo

1 Mo

2 Mo

Programme utilisateur et
donnes de programme,
journaux de donnes,
pages Web plus
donnes systme API

Mmoire de
chargement externe :
Cartouches mmoire
flash "cartes
programmes"
optionnelles

2 Mo 24 Mo en fonction de la taille de la carte SD

Dtermination de la taille de l'espace libre en mmoire de chargement


1. Etablissez une liaison en ligne entre STEP 7 et l'API S7-1200 cible.
2. Chargez le programme auquel vous voulez ajouter des oprations lies aux journaux de
donnes.
3. Crez les pages Web personnalises optionnelles dont vous avez besoin (les pages Web
standard qui donnent accs aux journaux de donnes sont stockes dans le firmware de
l'API et ne consomment pas de mmoire de chargement).
4. Utilisez les outils en ligne et de diagnostic pour connatre la taille de la mmoire de
chargement et le pourcentage d'espace libre en mmoire de chargement (Page 628).
5. Multipliez la taille de la mmoire de chargement par le pourcentage d'espace libre pour
connatre l'espace actuellement libre en mmoire de chargement.

Dtermination de l'espace maximum concret disponible pour les journaux de donnes


La quantit d'espace libre en mmoire de chargement varie pendant le fonctionnement
normal au fur et mesure que le systme d'exploitation utilise et libre de la mmoire. Nous
vous conseillons de limiter la taille combine de tous les fichiers journaux la moiti de
l'espace libre disponible.

Automate programmable S7-1200

310

Manuel systme, 07/2011, A5E02486682-04

Consignation de donnes
9.4 Limites de taille des fichiers journaux

Calcul des besoins de mmoire pour un enregistrement de journal unique


Les donnes des journaux sont stockes sous forme d'octets caractres dans le format de
fichier CSV (valeurs spares par des virgules). Le tableau suivant montre le nombre
d'octets ncessaires pour le stockage de chaque type de donnes.
Tableau 9- 17 Tailles de donnes CSV

Type de
donnes

Nombre d'octets (octets de donnes plus octet de virgule de sparation)

Bool

Byte

Word

DWord

12

Char

String

257 (taille fixe) quel que soit le nombre de caractres de texte effectifs
caractres de la chane + remplissage automatique avec des espaces = 254
octets
guillemets ouvrant et fermant + virgule = 3 octets
254 + 3 = 257 octets

USInt

UInt

UDInt

12

SInt

Int

DInt

12

Real

16

LReal

25

Time

15

DTL

24

Le paramtre DATA de DataLogCreate dsigne une structure qui indique le nombre de


champs de donnes et le type de donnes de chaque champ pour un enregistrement de
donnes. Le tableau ci-dessus indique les octets ncessaires dans le fichier CSV pour
chaque type de donnes. Multipliez le nombre d'occurrences d'un type de donnes prcis
par le nombre d'octets qu'il ncessite. Rptez cette opration pour chaque type de donnes
dans l'enregistrement et additionnez les nombres d'octets obtenus pour avoir la taille totale
de l'enregistrement. Ajoutez un octet comme caractre de fin de ligne.
taille d'un enregistrement de journal = somme des octets ncessaires pour tous les champs
de donnes + 1 (caractre de fin de ligne)

Calcul des besoins de mmoire pour la totalit du fichier journal


Le paramtre RECORDS de l'instruction DataLogCreate dfinit le nombre maximum
d'enregistrements dans un fichier journal. Lors de la cration d'un fichier journal, la taille de
mmoire maximale est alloue.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

311

Consignation de donnes
9.5 Exemple de programme pour les journaux de donnes
taille du fichier journal = (nombre d'octets dans un enregistrement) x (nombre
d'enregistrements)

9.5

Exemple de programme pour les journaux de donnes


Cet exemple de programme pour les journaux de donnes ne montre pas toute la logique de
programme ncessaire pour rcuprer des valeurs chantillons d'un processus dynamique,
mais prsente les oprations cls des instructions de journaux de donnes. La structure et le
nombre de fichiers journaux que vous utilisez dpendent des exigences de commande de
votre processus.
Remarque
Utilisation gnrale des fichiers journaux
Les fichiers journaux sont automatiquement ouverts aprs les instructions DataLogCreate
et DataLogNew File.
Les fichiers journaux sont automatiquement ferms lors d'un passage de l'API de l'tat
MARCHE l'tat ARRET ou lors d'une mise hors tension puis sous tension de l'API.
Un fichier journal doit tre ouvert pour qu'une opration DataLogWrite soit possible.
Huit fichiers journaux au plus peuvent tre ouverts un moment donn. Il peut exister
plus de huit fichiers journaux, mais certains d'entre eux doivent tre ferms pour qu'il n'y
en ait pas plus de huit ouverts.

Exemple de programme de journal de donnes


Des noms de journaux, un texte d'en-tte et la structure MyData sont crs titre d'exemple
dans un bloc de donnes. Les trois variables MyData stockent temporairement de nouvelles
valeurs chantillons. On transfre les valeurs chantillons du processus situes ces
adresses de DB dans un fichier journal en excutant l'instruction DataLogWrite.

Automate programmable S7-1200

312

Manuel systme, 07/2011, A5E02486682-04

Consignation de donnes
9.5 Exemple de programme pour les journaux de donnes
Rseau 1 Un front montant de REQ dmarre l'opration de cration du journal.

Rseau 2 Capturer la sortie DONE de DataLogCreate car elle n'est valable que pendant un
cycle.

Rseau 3 Un front montant dclenche le stockage de nouvelles valeurs du processus dans


la structure MyData.

Rseau 4 L'tat de l'entre EN indique lorsque l'opration DataLogCreate est acheve. Une
opration de cration s'tend sur plusieurs cycles et doit tre acheve avant l'excution
d'une opration d'criture. Un front montant l'entre REQ est l'vnement qui dclenche
une opration d'criture valide.

Automate programmable S7-1200


Manuel systme, 07/2011, A5E02486682-04

313

Consignation de donnes
9.5 Exemple de programme pour les journaux de donnes
Rseau 5 Fermer le journal de donnes une fois le dernier enregistrement crit. Aprs
l'excution de l'opration DataLogWrite qui crit le dernier enregistrement, l'tat plein du
fichier journal est signal par la mise 1 de la sortie STATUS de DataLogWrite.

Rseau 6 Un front montant l'entre REQ de DataLogOpen simule l'enfoncemen