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.
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
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.
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).
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.
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)
Sommaire
Avant-propos ............................................................................................................................................. 3
1
Prsentation du produit............................................................................................................................ 17
1.1
1.2
1.3
Modules S7-1200.........................................................................................................................22
1.4
1.5
Besoins du systme.....................................................................................................................27
2.2
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
Installation ............................................................................................................................................... 39
3.1
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
Sommaire
3.3.8.4
3.4
Conseils de cblage.................................................................................................................... 58
4.2
4.2.1
4.3
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
4.6
5.2
5.3
5.4
5.5
5.6
5.6.1
5.6.2
5.6.3
5.6.4
5.6.4.1
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
6.2
6.3
6.3.1
6.3.2
6.3.3
6.3.4
6.4
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
6.8
6.8.1
6.8.2
6.9
6.9.1
6.9.2
6.9.3
6.9.4
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
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
7.6
7.6.1
7.6.2
7.6.3
7.6.4
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
7.9
7.9.1
7.9.2
7.9.3
7.9.4
7.10
7.10.1
7.10.2
8.2
8.2.1
8.2.2
8.2.3
8.2.3.1
8.2.3.2
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
8.3
8.3.1
8.3.2
8.3.3
8.3.4
8.3.5
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
8.8
9.2
9.2.1
9.2.2
9.2.3
9.2.4
9.2.5
9.3
9.4
9.5
Sommaire
10
10.2
10.2.1
10.2.2
10.2.3
10.2.4
10.2.5
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
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
10
Sommaire
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
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
12.2
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
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
12.4
12.4.1
12.4.2
12.4.3
12.4.4
12.4.5
12.4.6
12.4.7
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
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
12
Sommaire
14.2
14.3
14.4
14.5
14.6
14.7
13
Sommaire
14.8
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
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
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
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
A.5
A.5.1
A.5.2
A.5.3
A.5.4
A.6
A.6.1
A.6.2
A.6.3
A.6.4
A.6.5
14
Sommaire
A.6.6
A.6.7
A.7
A.7.1
A.7.1.1
A.7.1.2
A.7.2
A.7.2.1
A.8
A.8.1
A.8.2
A.8.3
A.8.4
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
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
A.11
A.12
A.13
A.14
A.15
A.15.1
A.15.2
15
Sommaire
C.2
C.3
C.4
C.5
C.6
C.7
C.8
C.9
Index...................................................................................................................................................... 749
16
Prsentation du produit
1.1
Prise d'alimentation
Logement pour carte mmoire sous le
volet suprieur
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
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
Aucun
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
PROFINET
18 s/instruction
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.
18
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
Quantit
Profondeur d'imbrication
Visualisation
Cycle de programme
Mise en route
Alarmes temporises et
alarmes cycliques
1: OB 80
Compteurs
Type
CEI
Quantit
Stockage
Type
CEI
Quantit
Stockage
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.
19
Prsentation du produit
1.2 Possibilits d'extension de la CPU
1.2
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
8 sorties 24VDC
8 sorties Relais
16 sorties 24VDC
16 sorties Relais
20
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 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
RTD :
4 RTD 16 bits
8 RTD 16 bits
Module
Type
Description
RS232
Duplex intgral
RS485
Semi-duplex
Matre PROFIBUS
DPV1
Esclave PROFIBUS
DPV1
Connectivit modem
GPRS
RS485
Semi-duplex
TeleService
Connexion la CPU
GSM/GPRS
Modem
RNIS
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.
21
Prsentation du produit
1.3 Modules S7-1200
1.3
Modules S7-1200
Description
Connecteur
amovible pour le
cblage
utilisateur
DEL d'tat
Connecteur de
bus
Connecteur
amovible pour le
cblage
utilisateur
DEL d'tat
Connecteur de
communication
E/S TOR
E/S analogiques
RTD et Thermocouple
Chaque CM ou CP se raccorde
sur le ct gauche de la CPU
(ou sur le ct gauche d'un
autre CM ou CP).
22
Prsentation du produit
1.4 Nouvelles caractristiques du S7-1200 et de STEP 7 V11
1.4
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).
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.
24
Prsentation du produit
1.5 Tableaux IHM basiques
1.5
Description
Caractristiques techniques
250 variables
50 crans de processus
200 alarmes
25 courbes
5 recettes, 20 enregistrements, 20
entres
500 variables
50 crans de processus
200 alarmes
25 courbes
5 recettes, 20 enregistrements, 20
entres
25
Prsentation du produit
1.5 Tableaux IHM basiques
Description
Caractristiques techniques
50 crans de processus
200 alarmes
25 courbes
5 recettes, 20 enregistrements, 20
entres
TP 1500 Basic PN
500 variables
500 variables
50 crans de processus
200 alarmes
25 courbes
5 recettes, 20 enregistrements, 20
entres
26
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
Mmoire vive
1 Go
Systmes d'exploitation
Carte graphique
32 Mo RAM
Profondeur de couleur 24 bits
Rsolution de l'cran
1024 x 768
Rseau
Lecteur optique
DVD-ROM
27
2.2
Vue du projet
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.
28
2.3
2.3.1
2.3.2
29
2.3.3
30
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 =
(in4 - In5) /
(In2 - In3) *
(In1 - In3) +
Out =
Si :
Out low
In5
Out value
(Out)
In value
(In1)
In high
(In2)
In low
(In3)
Out high
(In4)
Out low
(In5)
Dans le champ "diter Calculer", saisissez l'quation avec les noms de paramtre :
OUT = (in4 - In5) / (In2 - In3) * (In1 - In3) + In5
31
2.3.4
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.
32
2.3.6
33
2.3.7
2.3.8
34
2.3.9
2.3.10
35
2.3.11
36
2.3.12
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.
37
2.3.13
38
Installation
3.1
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.
39
Installation
3.1 Conseils pour l'installation d'appareils S7-1200
PP
PP
PP
Vue de ct
Montage horizontal
Montage vertical
Zone de dgagement
40
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.
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.
42
Installation
3.3 Procdures d'installation et de dsinstallation
3.3
3.3.1
%
Largeur A
Largeur B
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
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.
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.
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.
44
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
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.
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.
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 :
5. Dmontez la CPU :
46
Installation
3.3 Procdures d'installation et de dsinstallation
3.3.3
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.
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.
47
Installation
3.3 Procdures d'installation et de dsinstallation
3.3.4
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.
48
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 :
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.
49
Installation
3.3 Procdures d'installation et de dsinstallation
3.3.5
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 :
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.
50
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
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.
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
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.
52
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 :
Marche suivre
1. Vrifiez que la CPU et tout le matriel S7-1200 sont
hors tension.
2. Dverrouillez le connecteur :
53
Installation
3.3 Procdures d'installation et de dsinstallation
3.3.8
TeleService
3.3.8.1
2
3
5
Adaptateur TS Adapter
modulaire
Adaptateur TS Adapter
Elments
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.
54
Installation
3.3 Procdures d'installation et de dsinstallation
3.3.8.2
Tche
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.
55
Installation
3.3 Procdures d'installation et de dsinstallation
3.3.8.3
Marche suivre
Montage :
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.
56
Installation
3.3 Procdures d'installation et de dsinstallation
3.3.8.4
1
2
Coulisseau de fixation
Trous percs pour le montage mural
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.
58
Installation
3.4 Conseils de cblage
59
Installation
3.4 Conseils de cblage
60
Installation
3.4 Conseils de cblage
Circuit de protection par crtage typique pour courant continu ou sorties relais qui commutent des
charges inductives en courant continu
Sortie
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
0,1 F
100 120
Sortie
62
63
64
4.1.1
65
66
&
'
MISE EN ROUTE
MARCHE
Type de
donnes
Description
LostRetentive
Bool
LostRTC
Bool
67
4.1.2
68
4.1.3
69
70
4.1.4
71
72
Numro d'OB
Quantit autorise
Evnement dclencheur
Cycle de
programme
OB 1, OB 200 OB
65535
1 vnement 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
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
Pour HSC :
Erreur de
diagnostic
CV=PV : 6 max.
OB 82
1 vnement (uniquement si
l'OB 82 a t charg)
Erreur de temps OB 80
1 vnement (uniquement si
l'OB 80 a t charg)5
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.
73
74
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
csg_prio
UINT
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".
75
Type de donnes
Description
IOstate
WORD
laddr
HW_ANY
channel
UINT
Numro de voie
multierror
BOOL
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.
76
4.1.5
77
Plage (ms)
maximum1
1 6000
150 ms
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.
78
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".
79
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
81
4.1.6.1
82
Rservs
Valeur 0
Toujours
dsactiv
Toujours activ
Indicateur Etat de
diagnostic
Valeur 0
Valeur 1
1: Modification
0: Pas de modification
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.
83
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
84
4.2
4.2.1
Description
I
Mmoire image des entres
I_:P1
(entre physique)
Q
Mmoire image des sorties
Q_:P1
(sortie physique)
Forage
permanent
Rmanence
Non
Non
Oui
Non
Non
Non
Oui
Non
85
Zone de mmoire
Description
Forage
permanent
Rmanence
M
Mmentos
Non
Oui
(facultatif)
L
Mmoire temporaire
Non
Non
DB
Bloc de donnes
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").
0
Sparateur ("octet.bit")
86
I0.1
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
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
Q1.1
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
Q[taille][adresse d'octet de
dpart]: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
M26.7
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.
88
DB[numro de bloc de
donnes].DBX[adresse d'octet].[adresse
de bit]
DB1.DBX2.3
DB1.DBB4, DB10.DBW2,
DB20.DBD8
89
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.
90
4.3
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.
91
Taille (bits)
Plage numrique
BCD16
16
-999 999
123, -123
BCD32
32
-9999999 9999999
1234567, -1234567
92
4.4.1
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
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
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
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
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
30000, +30000
UDInt
32
4042322160
DInt
32
-2131754992
Exemples
d'adresses
MB0, DB1.DBB4,
nom_variable
MW2, DB1.DBW2,
nom_variable
MD6, DB1.DBD8,
nom_variable
93
4.4.3
Taille
en bits
Plage de nombres
Exemples de constantes
Exemples d'adresses
Real
32
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 :
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.
94
4.4.4
Taille
Plage
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
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
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.
95
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
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
9
10
11
Le jour de la semaine n'est pas pris en compte dans l'entre de la valeur.
Taille
Plage
Char
8 bits
String
n+ 2 octets
'ABC'
96
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.
97
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'
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
ARRAY
L'indice peut tre ngatif, mais la limite infrieure doit tre infrieure ou gale la limite suprieure.
Les dclarations des indices min..max des diffrentes dimensions sont spares par des virgules.
La taille d'un tableau en mmoire est gale (taille d'un lment * nombre total d'lments dans le
tableau)
Indice de tableau
98
Type de
donnes
Exemple :
dclarations de
tableaux
ARRAY[1..20] of REAL
ARRAY[-5..5] of INT
4.4.5
4.4.6
99
4.4.7
4.4.7.1
%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
100
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
b#16#82
b#16#83
b#16#84
DBX
Bloc de donnes
b#16#85
DIX
b#16#86
Donnes locales
b#16#87
101
%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#Zone_mmoire
P#M 20.0 BYTE 10
Adresse_donnes Type Nombre P#I 1.0 BOOL 1
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
b#16#34
USInt
b#16#06
DWord
b#16#07
DInt
b#16#36
UDInt
b#16#08
Real
b#16#0B
Time
Dure
b#16#13
String
Chane de caractres
102
4.4.7.3
Code hexadcimal
Zone de mmoire
Description
b#16#81
b#16#82
b#16#83
b#16#84
DBX
Bloc de donnes
b#16#85
DIX
b#16#86
Donnes locales
b#16#87
Reprsentation
Format
Exemple de saisie
Symbolique
Oprande
MaVariable
Absolue
Nom_DB.Nom_struct.Nom_lment
MonDB.Struct1.pression1
Oprande
%MW10
P#DB10.DBX10.0 INT 12
103
4.5
104
4.5.1
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.
105
106
4.5.2
4.5.3
107
108
109
4.5.4
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.
110
111
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.
112
4.6
113
114
Vous crez la configuration des appareils pour votre automate en ajoutant une CPU et des
modules supplmentaires votre projet.
115
5.1
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.
116
5.2
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.
117
5.3
Slectionnez le module
Insrez le module
Rsultat
SM
SB ou CB
118
Module
Slectionnez le module
Insrez le module
Rsultat
CM ou CP
5.4
Description
Interface PROFINET
DI, DO et AI
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.
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.
119
Proprit
Description
Compatibilit matrielle prise en charge : Configure le remplacement des modules (SM, SB,
CM, CP et mme la CPU) :
Charge due la
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).
Heure
Ressources de liaison
(Page 400)
Fournit un rcapitulatif des adresses d'E/S qui ont t configures pour la CPU.
120
5.5
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.
121
5.6
5.6.1
Rsultat
122
5.6.2
Proprits de liaison
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.
123
Proprits de liaison
"Gnral" (montr)
"ID locale"
Dfinition
Adresse
Adresses IP affectes
Gnral
Dtails de
l'adresse
Noeud d'extrmit
Interface
Sous-rseau
Type d'interface
Type de liaison
ID de liaison
Numro d'identification
Donnes de liaison
Etablissement d'une
liaison active
Bouton radio pour slectionner la CPU locale ou partenaire en tant que liaison
active
Noeud d'extrmit
Chssis/emplacement
Ressources de liaison
Port (dcimal)
124
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.
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
125
Description
01
block_length
UInt
23
id
CONN_OUC
(Word)
connection_type
USInt
active_est
Bool
Type de liaison :
19: UDP
UDP : FAUX
local_device_id
USInt
local_tsap_id_len
USIn
UDP : 2
rem_subnet_id_len
USInt
rem_staddr_len
USInt
10
11
rem_tsap_id_len
next_staddr_len
USInt
USInt
UDP : 0
126
Octet
Description
12 27
local_tsap_id
Array [1..16] of
Byte
local_tsap_id[1] = B#16#E0
rem_subnet_id
Array [1..6] of
USInt
34 39
rem_staddr
Array [1..6] of
USInt
40 55
rem_tsap_id
Array [1..16] of
Byte
rem_tsap_id[1] = B#16#E0
56 61
next_staddr
Array [1..6] of
Byte
62 63
spare
Word
Rserv : W#16#0000
127
5.6.4
5.6.4.1
128
Type de rseau
Masque de sous-rseau
Carte adaptateur
intgre
Connexion
votre rseau
d'usine (et
ventuellement
Internet)
Connexion un
rseau isol
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
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.
129
5.6.4.2
130
5.6.4.3
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"
131
5.6.4.4
Port PROFINET
132
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.
133
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.
134
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 :
Un sous-rseau est ncessaire lorsque votre rseau contient au moins deux appareils.
Adresse IP
Masque de sous-rseau
Utiliser un routeur IP
Adresse du routeur
135
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
136
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
137
Remarque
Toutes les adresses IP sont configures lorsque vous chargez le projet dans la CPU.
Dfinition
Activer la synchronisation de
l'heure via le serveur NTP
Serveur 1
Serveur 2
Serveur 3
Serveur 4
138
5.6.8
139
140
Concepts de programmation
6.1
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
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.
141
Concepts de programmation
6.2 Organisation de votre programme utilisateur
Etapes recommandes
Tches
Crez les schmas suivants des postes d'opration, bass sur les exigences des descriptions
fonctionnelles :
6.2
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 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.
142
Concepts de programmation
6.2 Organisation de votre programme utilisateur
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.
143
Concepts de programmation
6.3 Utilisation de blocs pour structurer votre programme
6.3
2%)%)&
2%)%)&
Bloc appelant
Excution du programme
Excution du programme
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
)%
)&
'%
'%
144
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).
145
Concepts de programmation
6.3 Utilisation de blocs pour structurer votre programme
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.
146
Concepts de programmation
6.3 Utilisation de blocs pour structurer votre programme
6.3.3
147
Concepts de programmation
6.3 Utilisation de blocs pour structurer votre programme
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
148
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".
6.4
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).
150
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
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.
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.
$
&
'
&
152
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.
6.5.3
Entres/sorties
Oprandes
Type de donnes
CONT
EN, ENO
Flux de courant
Bool
LOG
EN
Bool
ENO
Flux de courant
Bool
153
Concepts de programmation
6.6 Protection
6.6
Protection
6.6.1
154
Concepts de programmation
6.6 Protection
Restrictions d'accs
Pas de protection
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).
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.
156
Concepts de programmation
6.6 Protection
6.6.3
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.
157
Concepts de programmation
6.7 Chargement d'lments de votre programme dans la CPU
6.7
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
6.8.1
158
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
159
Concepts de programmation
6.9 Dbogage et test du programme
6.9
6.9.1
Visualisation
Forage
Forage permanent
Table de visualisation
Oui
Oui
Non
Table de forage
permanent
Oui
Non
Oui
Editeur de programmes
Oui
Oui
Non
Oui
Non
Non
Editeur de DB
Oui
Non
Non
Visualisation avec
une table de
visualisation
160
Concepts de programmation
6.9 Dbogage et test du programme
6.9.2
161
Concepts de programmation
6.9 Dbogage et test du programme
6.9.3
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
Proprits
Proprits spcifiques des objets rfrencs, p. ex. noms de variables dans des
dclarations multiinstances
En tant que
Accs
Adresse
Adresse de l'oprande
Type
Chemin
162
Concepts de programmation
6.9 Dbogage et test du programme
6.9.4
163
Concepts de programmation
6.9 Dbogage et test du programme
164
Instructions de base
7.1
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.
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.
165
Instructions de base
7.1 Instructions logiques sur bits
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.
Type de donnes
Description
IN1, IN2
Bool
Bit d'entre
166
Instructions de base
7.1 Instructions logiques sur bits
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.
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.
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
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.
Type de donnes
Description
Bool
OUT
Bool
168
Instructions de base
7.1 Instructions logiques sur bits
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.
Pour CONT et LOG : Ces instructions doivent tre l'extrme droite dans une branche.
Type de donnes
Description
OUT
Bool
Constante (UInt)
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.
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
R, R1
Bool
OUT
Bool
Bool
SR
7.1.3
S1
bit "OUT"
Etat prcdent
R1
Etat prcdent
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.
170
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.
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
IN
Bool
OUT
Bool
CLK
Bool
Flux de courant ou bit d'entre dont le front de transition doit tre dtect
Bool
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.
172
Instructions de base
7.2 Temporisations
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 :
Type de
donnes
Description
Bote : IN
Bobine : Flux de courant
Bool
Bool
Bote : PT
Bobine : "PRESET_Tag"
Time
Bote : Q
Bobine : DBdata.Q
Bool
Bote : ET
Bobine : DBdata.ELAPSED
Time
173
Instructions de base
7.2 Temporisations
Tableau 7- 19 Effet des modifications de valeur dans les paramtres PT et IN
Temporisation
TP
La modification de PT n'a pas d'effet pendant que la temporisation s'excute mais a un effet lorsque
la temporisation reprend.
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
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.
174
Instructions de base
7.2 Temporisations
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.
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.
175
Instructions de base
7.2 Temporisations
Chronogramme
,1
(7
37
4
37
37
37
,1
(7
37
37
37
,1
(7
37
,1
(7
37
37
37
176
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.
177
Instructions de base
7.2 Temporisations
178
Instructions de base
7.2 Temporisations
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.
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.
180
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.
Pour CONT et LOG : Slectionnez le type de donnes de la valeur de comptage dans la liste droulante sous le nom de
l'instruction.
181
Instructions de base
7.3 Compteurs
Tableau 7- 23 Types de donnes pour les paramtres
Paramtre
Type de donnes1
Description
CU, CD
Bool
R (CTU, CTUD)
Bool
Bool
PV
Q, QU
Bool
Vrai si CV >= PV
QD
Bool
Vrai si CV <= 0
CV
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.
182
Instructions de base
7.3 Compteurs
Fonctionnement
&8
&9
Fonctionnement
&'
/2$'
&9
183
Instructions de base
7.3 Compteurs
Tableau 7- 26 Fonctionnement du compteur CTUD
Compteur
Fonctionnement
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'
184
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
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).
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)
INT
IEC_Counter
SINT
IEC_SCounter
DINT
IEC_DCounter
UINT
IEC_UCounter
USINT
IEC_USCounter
UDINT
IEC_UDCounter
186
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)
INT
IEC_Counter
SINT
IEC_SCounter
DINT
IEC_DCounter
UINT
IEC_UCounter
USINT
IEC_USCounter
UDINT
IEC_UDCounter
187
Instructions de base
7.4 Comparaison
7.4
Comparaison
7.4.1
Comparaison
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.
Type de donnes
Description
IN1, IN2
SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, String, Char,
Time, DTL, constante
Valeurs comparer
==
<>
>=
<=
>
<
188
Instructions de base
7.4 Comparaison
7.4.2
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.
Paramtre
Type de donnes1
Description
Entres du comparateur
Les paramtres d'entre MIN, VAL et MAX doivent avoir le mme type de donnes.
7.4.3
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.
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
OK
NOT_OK
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
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.
Paramtre
Type de donnes1
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.
190
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
Description
Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.
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
Entres de l'opration
mathmatique
OUT
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
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.
192
Instructions de base
7.5 Fonctions mathmatiques
7.5.3
Instruction Modulo
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.
Paramtre
Type de donnes1
Description
IN1 et IN2
OUT
Description
Pas d'erreur
7.5.4
Instruction Ngation
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.
193
Instructions de base
7.5 Fonctions mathmatiques
Tableau 7- 44 Types de donnes pour les paramtres
Paramtre
Type de donnes1
Description
IN
OUT
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
Description
Incrmente 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.
Type de donnes
Description
IN/OUT
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
Instructions de base
7.5 Fonctions mathmatiques
7.5.6
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.
Paramtre
Type de donnes1
IN
OUT
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.
195
Instructions de base
7.5 Fonctions mathmatiques
7.5.7
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.
Type de donnes1
Description
IN1, IN2
[...IN32]
OUT
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
196
Instructions de base
7.5 Fonctions mathmatiques
7.5.8
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.
Type de donnes1
Description
Entres de l'opration
mathmatique
OUT
Sortie de l'opration
mathmatique
Les paramtres MIN, IN, MAX et OUT doivent avoir le mme type de donnes.
Description
Pas d'erreur
Real : Si une ou plusieurs des valeurs de MIN, IN et MAX sont NaN (pas des nombres), NaN est renvoy.
197
Instructions de base
7.5 Fonctions mathmatiques
7.5.9
Description
Carr : IN 2 = OUT
Par exemple : Si IN est gal 9, alors OUT est gal 81.
Pour CONT et LOG : Cliquez sur "???" (prs du nom de l'instruction) et slectionnez un type de donnes dans le menu
droulant.
Type de donnes
Description
IN, IN1
Entres
IN2
OUT
Real, LReal
Sorties
198
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
+INF
+NaN
SQRT
LN
EXP
IN est ngatif.
-NaN
-NaN
+INF ou +NaN
+INF
+/- NaN
ASIN, ACOS
+NaN
+/- NaN
+/- NaN
FRAC
+NaN
EXPT
+INF
+NaN
+NaN
ATAN
199
Instructions de base
7.6 Transfert
7.6
Transfert
7.6.1
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.
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
200
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
COUNT
UInt
OUT
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.
201
Instructions de base
7.6 Transfert
Tableau 7- 64 Etat de ENO
7.6.2
ENO
Situation d'erreur
Rsultat
Pas d'erreur
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.
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.
Pour CONT et LOG : Cliquez sur "???" et slectionnez un type de donnes dans le menu droulant.
202
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
Member 1
Entre
Value 1
Sortie
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
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.
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
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
204
Instructions de base
7.6 Transfert
7.6.4
Instruction Permutation
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.
Type de donnes
Description
IN
Word, DWord
OUT
Word, DWord
Exemple 1
Paramtre IN = MB0
(avant 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)
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
205
Instructions de base
7.7 Convertir
7.7
Convertir
7.7.1
Instruction CONV
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.
Type de donnes
Description
bits1,
IN
Chane de
SInt, USInt, Int, UInt, DInt, UDInt, Real,
LReal, BCD16, BCD32
Valeur d'entre
OUT
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
206
Instructions de base
7.7 Convertir
7.7.2
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.
Type de donnes
Description
IN
Real, LReal
OUT
Description
Rsultat OUT
Pas d'erreur
Rsultat valide
207
Instructions de base
7.7 Convertir
7.7.3
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.
Type de donnes
Description
IN
Real, LReal
OUT
Sortie convertie
Description
Rsultat OUT
Pas d'erreur
Rsultat valide
208
Instructions de base
7.7 Convertir
7.7.4
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.
Type de donnes1
Description
MIN
VALUE
OUT
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.
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.
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.
210
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.
211
Instructions de base
7.8 Gestion du programme
7.8
Gestion du programme
7.8.1
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.
Type de donnes
Description
Label_name
Identificateur de repre
212
Instructions de base
7.8 Gestion du programme
7.8.2
Instruction JMP_LIST
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.
Type de donnes
Description
UInt
Repres de 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.
213
Instructions de base
7.8 Gestion du programme
7.8.3
Instruction SWITCH
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.
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
L'entre K et les entres de comparaison (==, <>, <, <=, >, >=)doivent avoir le mme type de donnes.
214
Instructions de base
7.8 Gestion du programme
Comparaison
Syntaxe de l'oprateur
Egal
==
Diffrent
<>
Egal
==
Diffrent
<>
Suprieur ou gal
>=
Infrieur ou gal
<=
Suprieur
>
Infrieur
<
215
Instructions de base
7.8 Gestion du programme
7.8.4
LOG
Description
Met fin l'excution du bloc en cours.
Type de
donnes
Description
Return_Value
Bool
216
Instructions de base
7.8 Gestion du programme
7.8.5
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.
Valeur minimale
Valeur maximale
Temps de cycle
maximum
1 ms
6000 ms
150 ms
217
Instructions de base
7.8 Gestion du programme
7.8.6
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
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.
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.
218
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
REACTION
CODE_ADDRESS
BLOCK_TYPE
CB_NUMBER
OFFSET
MODE
Byte
CREF
Byte
UInt
Description
1: OB
2: FC
3: FB
UDInt
Byte
(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
POINTER_NUMBER_
LOCATION
UInt
SLOT_NUMBER_SCOPE
UInt
DATA_ADDRESS
NREF
Dcalag
e
219
Instructions de base
7.8 Gestion du programme
Elments de la structure
AREA
Type de
donnes
Description
Byte
E : 16#81
A : 16#82
M : 16#83
DB_NUMBER
UInt
OFFSET
UDInt
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
Paramtre
Type de donnes
Description
ID
Word
Tableau 7- 101
Valeurs de Error_ID
ERROR_ID
hexadcimal
ERROR_ID
dcimal
Pas d'erreur
2503
9475
2522
9506
2523
9507
2524
9508
2525
9509
2528
9512
2529
9513
2530
9520
DB protg en criture
253A
9530
DB global inexistant
253C
9532
253D
9533
Instruction inexistante
220
Instructions de base
7.8 Gestion du programme
ERROR_ID
hexadcimal
ERROR_ID
dcimal
253E
9534
253F
9535
Instruction inexistante
2575
9589
2576
9590
2942
10562
2943
10563
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.
221
Instructions de base
7.9 Oprations logiques sur mots
7.9
7.9.1
Tableau 7- 102
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
Description
IN1, IN2
Entres logiques
OUT
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.
222
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
Paramtre
Type de donnes
Description
IN
OUT
Sortie inverse
7.9.3
Tableau 7- 106
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
Paramtre
Type de donnes
Description
IN
OUT
DECO : UInt
ENCO : Int
223
Instructions de base
7.9 Oprations logiques sur mots
Tableau 7- 108
ENO
Situation d'erreur
Rsultat (OUT)
Pas d'erreur
IN est 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
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
Tableau 7- 110
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.
224
Instructions de base
7.9 Oprations logiques sur mots
Tableau 7- 111
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
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
Paramtre
Type de donnes
Description
UInt
0 slectionne IN0
1 slectionne IN1
n slectionne 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
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.
225
Instructions de base
7.9 Oprations logiques sur mots
Tableau 7- 114
CONT/LOG
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
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
La variable d'entre et les variables de sortie doivent avoir le mme type de donnes.
226
Instructions de base
7.9 Oprations logiques sur mots
Tableau 7- 116
ENO
Situation d'erreur
Rsultat OUT
Pas d'erreur
227
Instructions de base
7.10 Dcalage et rotation
7.10
Dcalage et rotation
7.10.1
Instructions de dcalage
Tableau 7- 117
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.
Pour CONT et LOG : Cliquez sur "???" et slectionnez les types de donnes dans le menu droulant.
Tableau 7- 118
Paramtre
Type de donnes
Description
IN
UInt
OUT
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
Dcaler les bits d'un mot vers la gauche en insrant des zros par la droite (N = 1)
IN
228
Instructions de base
7.10 Dcalage et rotation
7.10.2
Instructions de rotation
Tableau 7- 120
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.
Pour CONT et LOG : Cliquez sur "???" et slectionnez les types de donnes dans le menu droulant.
Tableau 7- 121
Paramtre
Type de donnes
Description
IN
UInt
OUT
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
229
Instructions de base
7.10 Dcalage et rotation
230
Instructions avances
8.1
Date et heure
8.1.1
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.
Type de donnes
Description
IN
IN
DInt, Time
OUT
OUT
DInt, Time
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 :
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 :
Pour CONT et LOG : Cliquez sur "???" et slectionnez les types de donnes dans le menu droulant.
Paramtre et type
Type de donnes
Description
IN11
IN
DTL, Time
IN2
IN
Time
OUT
OUT
DTL, 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.
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.
Type de donnes
Description
IN1
DTL
Valeur DTL
IN
IN2
IN
DTL
OUT
OUT
Time
232
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.
Type de donnes
Description
Date
IN1
IN
, IN2
IN
Time_of_Day
OUT
OUT
DTL
Valeur DTL
8.1.2
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).
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
RET_VAL
OUT
Int
OUT
OUT
DTL
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
0001
8080
8081
8082
8083
8084
8085
8086
8087
80B0
234
Instructions avances
8.1 Date et heure
8.1.3
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.
Type de donnes
Description
NR
IN
UInt
MODE
IN
Byte
2 = Arrter
PV
IN
DInt
RET_VAL
OUT
Int
CQ
OUT
Bool
CV
OUT
DInt
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.
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.
Description
Pas d'erreur
8080
8081
8082
8091
80B1
236
Instructions avances
8.1 Date et heure
8.1.4
Instruction SET_TIMEZONE
Description
Dfinit les paramtres de fuseau horaire local et d'heure d't utiliss pour convertir
l'heure systme CPU en heure locale.
Type de donnes
Description
REQ
IN
Bool
Timezone
IN
TimeTransformationRule
DONE
OUT
Bool
Fonction acheve
BUSY
OUT
Bool
Fonction occupe
ERROR
OUT
Bool
Erreur dtecte
STATUS
OUT
Word
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
DaylightBias
Int
DaylightStartMonth
USInt
DaylightStartWeek
USInt
DaylightStartWeekday
USInt
...
1 = dimanche
...
7 = samedi
237
Instructions avances
8.2 Chanes de caractres et caractres
Paramtre
Type de
donnes
Description
DaylightStartHour
USInt
StandardStartMonth
USInt
StandardStartWeek
USInt
StandardStartWeekday
USInt
...
1 = dimanche
...
7 = samedi
StandardStartHour
USInt
STRING [80]
Nom du fuseau :
(GMT +01:00) Amsterdam, Berlin, Berne, Rome, Stockholm, Vienne
8.2
8.2.1
238
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
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.
Type de donnes
Description
IN
String
OUT
String
Adresse cible
8.2.3
8.2.3.1
239
Instructions avances
8.2 Chanes de caractres et caractres
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.
Type de donnes
Description
IN
IN
String
Chane de caractres
d'entre
OUT
OUT
String, Char, SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal
Type de donnes
Description
IN
IN
String, Char, SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal
OUT
OUT
String
Chane de caractres de
sortie
240
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
Exemple
USInt
255
SInt
-128
UInt
65535
Int
-32768
UDInt
10
4294967295
12
DInt
11
-2147483648
13
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.
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
FORMAT
IN
Word
IN
OUT
OUT
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)
Format de notation
Virgule fixe
0001
0002
"."
","
Exponentielle
0003
0004 FFFF
Reprsentation du sparateur
dcimal
"."
","
Valeurs illicites
242
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.
Type de donnes
Description
IN
IN
SIZE
IN
USInt
PREC
IN
USInt
FORMAT
IN
Word
IN
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".
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
f = format de notation
1= notation exponentielle
0 = notation virgule fixe
1 = "," (virgule)
0 = "." (point)
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
244
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.
Description
Pas d'erreur
245
Instructions avances
8.2 Chanes de caractres et caractres
ENO
Description
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.
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
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
246
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.
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
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.
248
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
pChars
IN
Dint
Cnt
IN
UInt
Strg
OUT
String
Chane cible
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].
Type de donnes
Description
Strg
IN
String
pChars
IN
DInt
Chars
IN_OUT
Variant
Cnt
OUT
UInt
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
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
Description
Convertit des caractres ASCII en chiffres hexadcimaux condenss.
Type de donnes
Description
IN
Variant
IN
IN
UInt
RET_VAL
OUT
Word
OUT
OUT
Variant
Description
ENO
0000
Pas d'erreur
VRAI
0007
FAUX
250
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
Description
Convertit des chiffres hexadcimaux condenss en octets de caractres ASCII correspondants.
Type de
donnes
Description
IN
IN
Variant
IN
UInt
RET_VAL
OUT
Word
OUT
OUT
Variant
W#16#0123
'0123'
VRAI
DW#16#123AF012
'123AF012'
VRAI
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
FAUX
8182
FAUX
8151
FAUX
8301
Pointeur de sortie illicite ou invalide ; par exemple, accs un DB qui n'existe pas.
FAUX
8320
FAUX
8382
FAUX
8351
FAUX
8.2.4
8.2.4.1
LEN
Description
LEN (Longueur) transmet la longueur en cours de la chane IN la sortie OUT. Une chane vide a une
longueur de zro.
Type de donnes
Description
IN
IN
String
Chane d'entre
OUT
OUT
252
Instructions avances
8.2 Chanes de caractres et caractres
Tableau 8- 52 Etat de ENO
ENO
Situation d'erreur
OUT
8.2.4.2
CONCAT
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.
Type de donnes
Description
IN1
IN
String
Chane d'entre 1
IN2
IN
String
Chane d'entre 2
OUT
OUT
String
Situation d'erreur
OUT
Caractres valides
253
Instructions avances
8.2 Chanes de caractres et caractres
8.2.4.3
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.
Type de donnes
Description
IN
IN
String
Chane d'entre
IN
Int
IN
Int
OUT
OUT
String
Chane de sortie
254
Instructions avances
8.2 Chanes de caractres et caractres
Tableau 8- 58 Etat de ENO
ENO
Situation d'erreur
OUT
Caractres valides
8.2.4.4
DELETE
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.
Type de donnes
Description
IN
IN
String
Chane d'entre
IN
Int
IN
Int
OUT
OUT
String
Chane de sortie
255
Instructions avances
8.2 Chanes de caractres et caractres
Tableau 8- 61 Etat de ENO
ENO
Situation d'erreur
OUT
Caractres valides
8.2.4.5
INSERT
Description
Insre la chane IN2 dans la chane IN1. L'insertion commence aprs le caractre la position P.
Type de donnes
Description
IN1
IN
String
Chane d'entre 1
IN2
IN
String
Chane d'entre 2
IN
Int
OUT
OUT
String
Chane rsultante
256
Instructions avances
8.2 Chanes de caractres et caractres
Tableau 8- 64 Etat de ENO
ENO
Situation d'erreur
OUT
Caractres valides
P est infrieur 0.
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
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.
Type de donnes
Description
IN1
IN
String
Chane d'entre
IN2
IN
String
IN
Int
IN
Int
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.
257
Instructions avances
8.2 Chanes de caractres et caractres
Tableau 8- 67 Etat de ENO
ENO
Situation d'erreur
OUT
Caractres valides
8.2.4.7
FIND
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.
Type de donnes
Description
IN1
IN
String
IN2
IN
String
Chane recherche
OUT
OUT
Int
258
Instructions avances
8.3 Priphrie dcentralise
Tableau 8- 70 Etat de ENO
ENO
Situation d'erreur
OUT
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.
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.
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
ID
IN
HW_IO (Word)
"Proprits" de l'appareil
"Identificateur matriel"
Remarque : Tous les appareils n'affichent toutefois pas
leur identificateur matriel.
Variables API
IN
Numro de l'enregistrement
MLEN
IN
VALID
OUT
Bool
DONE
OUT
Bool
BUSY
OUT
Bool
ERROR
OUT
Bool
STATUS
OUT
DWord
260
Instructions avances
8.3 Priphrie dcentralise
Paramtre et type
Type de donnes
Description
LEN
UInt
Enregistrement (WRREC)
RECORD
OUT (RDREC)
IN (WRREC)
IN_OUT
Variant
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.
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.
Type de donnes
Description
MODE
IN
Etat de fonctionnement
F_ID
IN
HW_IO (Word)
"Proprits" de l'appareil
"Identificateur matriel"
Remarque : Tous les appareils n'affichent toutefois pas leur
identificateur matriel.
Variables API
MLEN
IN
NEW
OUT
Bool
STATUS
OUT
DWord
ID
OUT
HW_IO (Word)
262
Instructions avances
8.3 Priphrie dcentralise
Paramtre et type
Type de donnes
Description
LEN
OUT
TINFO
IN_OUT
Variant
AINFO
IN_OUT
Variant
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.
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.
263
Instructions avances
8.3 Priphrie dcentralise
8.3.3
Nom
Description
STATUS[1]
Function_Num
STATUS[2]
Error_Decode
STATUS[3]
Error_Code_1
Code d'erreur
STATUS[4]
Error_Code_2
Source
Description
00 7F
CPU
80
DPV1
81 8F
CPU
FE, FF
Profil DP
Error_code_1
(B#16#....)
Explication (DVP1)
Description
00
00
70
00
Rserv, rejet
01
Rserv, rejet
02
Rserv, rejet
90
Rserv, acceptation
92
Rserv, acceptation
93
Rserv, acceptation
80
264
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
A1
Erreur d'criture
A2
Dfaillance du module
A3
Rserv, acceptation
A4
Rserv, acceptation
A5
Rserv, acceptation
A7
Rserv, acceptation
A8
Conflit de version
A9
AA AF
Spcifique utilisateur
B0
Indice invalide
B1
Erreur de longueur
d'criture
B2
Emplacement incorrect
B3
Conflit de type
B4
Zone invalide
265
Instructions avances
8.3 Priphrie dcentralise
Error_decode
(B#16#....)
Error_code_1
(B#16#....)
Explication (DVP1)
Description
B5
Conflit d'tat
B6
Accs refus
B7
Plage invalide
B8
Paramtre invalide
B9
Type invalide
BA BF
Spcifique utilisateur
C0
Conflit de limite de
lecture
C1
Conflit de limite
d'criture
C2
Ressource occupe
C3
Ressource non
disponible
C4
C5
C6
C7
266
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
00 FF
00
82
00 FF
88
00 FF
89
01
ID de syntaxe illicite
23
24
ID de plage illicite
32
3A
00 FF
01
ID de syntaxe illicite
23
24
ID de plage illicite
32
3A
8A
00 FF
8F
00 FF
FE, FF
00 FF
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.
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.
268
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)
RECORD
OUT
Variant
RET_VAL
OUT
Int
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
269
Instructions avances
8.3 Priphrie dcentralise
Code d'erreur
Description
8090
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
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
80A1
80B0
80B1
87xy, 808x
85xy
80C0
80C1
Les donnes de la tche d'criture prcdente sur le module n'ont pas encore t traites par le
module (DPWR_DAT).
8xyy1
8.3.5
DPNRM_DG
Vous pouvez utiliser l'instruction DPNRM_DG (Lecture de donnes de diagnostic) avec
PROFIBUS.
270
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
LADDR
IN
HW_DPSLAVE
RET_VAL
OUT
Int
RECORD
OUT
Variant
BUSY
OUT
Bool
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
6 ...
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.
271
Instructions avances
8.3 Priphrie dcentralise
Code d'erreur
Description
Restriction
7002
E/S dcentralises
8090
8092
8093
Cette instruction n'est pas autorise pour le module indiqu par LADDR (les modules S7 DP pour le S7-1200 sont autoriss).
80A2
E/S dcentralises
80A3
E/S dcentralises
80A4
80B0
80B1
80B2
80B3
80C0
80C1
80C2
80C3
80C4
80C5
E/S dcentralises
80C6
E/S dcentralises
8xyy1
272
Instructions avances
8.4 Alarmes
8.4
Alarmes
8.4.1
Description
ATTACH active l'excution d'un sous-programme d'OB d'alarme pour un vnement
d'alarme de processus.
Type de
donnes
Description
OB_NR
IN
OB_ATT
EVENT
IN
EVENT_ATT
ADD
(ATTACH
uniquement)
IN
Bool
RET_VAL
OUT
Int
273
Instructions avances
8.4 Alarmes
274
Instructions avances
8.4 Alarmes
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.
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
8090
OB inexistant
8091
8093
Evnement inexistant
8.4.2
Alarmes cycliques
8.4.2.1
Description
Permet de dfinir l'excution cyclique interrompant le cycle du programme pour l'OB
d'alarme indiqu.
276
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
CYCLE
IN
UDInt
PHASE
IN
UDInt
Dphasage, en microsecondes
RET_VAL
OUT
Int
2%
GHSULRULW
VXSULHXUH
2%
GHSULRULW
LQIULHXUH
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
Description
0000
Pas d'erreur
8090
8091
8092
Dphasage invalide
80B2
278
Instructions avances
8.4 Alarmes
8.4.2.2
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.
Type de
donnes
Description
OB_CYCLIC
OB_NR
IN
RET_VAL
OUT
Int
CYCLE
OUT
UDInt
PHASE
OUT
UDInt
Dphasage, en microsecondes
STATUS
OUT
Word
Valeur
Description
Pendant le dmarrage
Autres bits
Toujours 0
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
80B2
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.
Description
SRT_DINT dmarre une alarme temporise qui excute un OB lorsque le temps de
retard indiqu par le paramtre DTIME s'est coul.
Type de
donnes
Description
OB_NR
IN
OB_DELAY
DTIME1
IN
Time
SIGN1
IN
Word
Non utilis par le S7-1200 : Toute valeur est accepte. Il faut indiquer
une valeur pour viter les erreurs.
280
Instructions avances
8.4 Alarmes
Paramtre et type
Type de
donnes
Description
RET_VAL
OUT
Int
STATUS
OUT
Word
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.
281
Instructions avances
8.4 Alarmes
Valeur
Description
A l'tat MARCHE
Pendant le dmarrage
1
2
4
1
Autres bits
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
8091
80A0
282
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
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
Paramtre et type
RET_VAL
OUT
Type de donnes
Description
Int
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
Paramtre et type
Description
LADDR
IN
HW_IO
LED
IN
UInt
RET_VAL
1
Type de
donnes
OUT
Int
RUN/STOP
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
284
Instructions avances
8.5 Diagnostic
RET_VAL (W#16#...)
Description
8091
8092
8093
80Bx
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
Paramtre et type
Type de donnes
Description
LADDR
IN
HW_IOSYSTEM
MODE
IN
UInt
Type d'tat :
1: Stations configures
2: Stations dfaillantes
3: Stations dsactives
4: Stations existantes
RET_VAL
OUT
Int
STATE1
InOut
Variant
Pour PROFIBUS DP, la longueur des informations d'tat est de 128 bits. Pour PROFIBUS IO, cette longueur est de
1024 bits.
285
Instructions avances
8.5 Diagnostic
Tableau 8- 107
Codes d'erreur
RET_VAL (W#16#...)
Description
Pas d'erreur
8091
8092
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
Paramtre et type
Type de donnes
Description
LADDR
IN
HW_IOSYSTEM
MODE
IN
UInt
Type d'tat :
1: Modules configurs
2: Modules dfaillants
3: Modules dsactivs
4: Modules existants
RET_VAL
OUT
Int
STATE1
InOut
Variant
286
Instructions avances
8.5 Diagnostic
Tableau 8- 110
Codes d'erreur
RET_VAL ( W#16#...)
Description
Pas d'erreur
8091
8092
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
Paramtre et type
MODE
IN
Type de donnes
Description
UInt
Mode
LADDR
IN
HW_ANY (Word)
DIAG
InOut
Variant
DETAIL
InOut
Variant
RET_VAL
OUT
Int
CNT_DIAG
OUT
UInt
Paramtre MODE
Entre MODE
Sortie DIAG
Sortie CNT_DIAG
Sortie DETAIL
Nant
Nant
Nant
287
Instructions avances
8.5 Diagnostic
Tableau 8- 114
DIS : Struct;
OwnState:
UInt;
MaintenanceState:
DWord;
IOState:
Word;
ComponentStateDetail:
DWord;
OperatingState:
UInt;
End_Struct
Tableau 8- 115
DNN : Struct;
SubordinateState:
UInt;
SubordinateIOState:
Word;
DNNmode:
Word;
End_Struct
Tableau 8- 116
Codes d'erreur
RET_VAL (W#16#...)
Description
Pas d'erreur
8080
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
8091
80C1
288
Instructions avances
8.6 Impulsion
8.6
Impulsion
8.6.1
Instruction CTRL_PWM
Tableau 8- 117
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.
Tableau 8- 118
Paramtre et type
Type de
donnes
Description
PWM
IN
HW_PWM
(Word)
ENABLE
IN
Bool
BUSY
OUT
Bool
STATUS
OUT
Word
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
Tableau 8- 120
Code d'erreur1
Description
8022
8023
8024
8025
8028
8029
8030
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.
290
Instructions avances
8.6 Impulsion
8.6.2
Temps de cycle
Largeur d'impulsion
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
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
--
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
--
292
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
8.7.1
Tableau 8- 122
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.
293
Instructions avances
8.7 Gestion des blocs de donnes
Tableau 8- 123
Paramtre et type
Type de
donnes
Description
REQ
IN
BOOL
SRCBLK
IN
VARIANT
RET_VAL
OUT
INT
BUSY
OUT
BOOL
DSTBLK
OUT
VARIANT
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.
294
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
7001
7002
8051
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
82B1
82C0
Le DB source est en cours d'dition par une autre instruction ou une fonction de communication.
8551
85B1
85C0
Le DB de destination est en cours d'dition par une autre instruction ou une fonction de communication.
80C3
295
Instructions avances
8.8 Codes d'erreur communs pour les instructions avances
8.8
Tableau 8- 125
Description
8022
8023
8024
8025
8028
8029
8030
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.
296
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
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.
9.2
9.2.1
DataLogCreate
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.
Type de
donnes
Description
REQ
IN
Bool
RECORDS
IN
UDint
298
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
UInt
Variant
0: Pas d'horodatage
ID
IN_OUT
DWord
HEADER
IN_OUT
Variant
DATA
IN_OUT
Variant
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
1 : Opration en cours
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
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.
STATUS (W#16#....)
Description
0000
Pas d'erreur
7000
7001
300
Consignation de donnes
9.2 Instructions de gestion des journaux de donnes
ERROR
STATUS (W#16#....)
Description
7002
8070
807F
Erreur interne
8090
8091
8093
8097
80B3
80B4
80C1
8253
8353
8453
8B24
Allocation de zone HEADER invalide : Pointe par exemple sur la mmoire locale
8B51
8B52
8C24
Affectation de zone DATA invalide : Pointe par exemple sur la mmoire locale
8C51
8C52
9.2.2
DataLogOpen
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.
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
MODE
IN
UInt
Mode de fonctionnement :
NAME
IN
Variant
ID
IN_OUT
DWord
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
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
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.
302
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
7000
7001
7002
8070
8090
8091
8092
80C0
80C1
9.2.3
DataLogClose
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.
Type de
donnes
Description
REQ
IN
Bool
ID
IN_OUT
DWord
DONE
OUT
Bool
Le bit DONE est VRAI pour un cycle lorsque la dernire demande s'est
acheve sans erreur.
BUSY
OUT
Bool
1 : Opration en cours
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
STATUS (W#16#)
Description
0000
Pas d'erreur
0001
7000
7001
7002
8092
9.2.4
DataLogWrite
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.
Type de
donnes
Description
REQ
IN
Bool
ID
IN_OUT
DWord
DONE
OUT
Bool
Le bit DONE est VRAI pour un cycle lorsque la dernire demande s'est
acheve sans erreur.
BUSY
OUT
Bool
1 : Opration en cours
304
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
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
7001
7002
8070
8092
80B0
305
Consignation de donnes
9.2 Instructions de gestion des journaux de donnes
9.2.5
DataLogNewFile
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.
Type de
donnes
Description
REQ
IN
Bool
RECORDS
IN
UDInt
NAME
IN
Variant
ID
IN_OUT
DWord
DONE
OUT
Bool
Le bit DONE est VRAI pour un cycle lorsque la dernire demande s'est
acheve sans erreur.
BUSY
OUT
Bool
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
306
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.
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
7001
7002
8070
8090
8091
8092
8093
8097
80B3
80B4
80C1
9.3
Description
308
Consignation de donnes
9.3 Utilisation des journaux de donnes
309
Consignation de donnes
9.4 Limites de taille des fichiers journaux
9.4
Taille
CPU 1211
Taille
CPU 1212
Taille
CPU 1214
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
310
Consignation de donnes
9.4 Limites de taille des fichiers journaux
Type de
donnes
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
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
312
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 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.
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.