You are on page 1of 652

s

Avant-propos, Sommaire

SIMATIC
Logiciel systme pour
SIMATIC S7-300/400
Fonctions standard
et fonctions systme
Manuel de rfrence

Blocs d'organisation
Paramtres gnraux des fonctions
systme

Fonctions de copie et fonctions sur bloc

3
4
5

SFC de contrle du programme


SFC de gestion de l'horloge
SFC de gestion de compteur d'heures
de fonctionnement
SFC de transfert d'enregistrements
SFB DPV1 selon PNO AK 1131
SFC de gestion des alarmes horaires
SFC de gestion des alarmes
temporises
SFC de gestion des vnements
d'erreur synchrone
SFC de gestion des vnements
d'alarme et d'erreur asynchrone

10
11
12

SFC d'adressage de module

15
16

Communication de base S7
PROFInet
Gnration de messages sur bloc
Temporisations et compteurs CEI
Fonctions CEI
SFB de rgulation intgre
SFB pour les CPU compactes
SFC pour les CPU H
Fonctions intgrs (pour CPU avec
entres/sorties intgres)
Industrie des matires plastiques
Donnes de diagnostic
Liste d'tat systme SZL
Evnements

A5E00261421-01

7
8
9

13

Communication S7

Edition 01/2004

SFC de diagnostic
SFC et SFB de mise jour de la
mmoire image et de traitement de
champ de bits
SFC de priphrie dcentralise
SFC de communication par donnes
globales
Gnralits sur la communication S7 et
communication de base S7

Ce manuel est livr avec la documentation


rfrence : 6ES7810-4CA07-8CW1

Liste des SFC et SFB


Bibliographie
Glossaire, Index

14

17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

Consignes de scurit
Ce manuel donne des consignes que vous devez respecter pour votre propre scurit ainsi que pour
viter des dommages matriels. Elles sont mises en vidence par un triangle d'avertissement et sont
prsentes, selon le risque encouru, de la faon suivante :

Danger

Prcaution

Avertissement

signifie que la non-application des mesures de scurit appropries conduit la mort, des lsions
corporelles graves ou un dommage matriel important.

signifie que la non-application des mesures de scurit appropries peut conduire la mort, des
lsions corporelles graves ou un dommage matriel important.

signifie que la non-application des mesures de scurit appropries peut conduire des lsions
corporelles lgres.

Avertissement
signifie que la non-application des mesures de scurit appropries peut conduire un dommage
matriel.

Attention
doit vous rendre tout particulirement attentif des informations importantes sur le produit, aux
manipulations effectuer avec le produit ou la partie de la documentation correspondante.

Personnel qualifi
La mise en service et l'utilisation de l'appareil ne doivent tre effectues que conformment au manuel.
Seules des personnes qualifies sont autorises effectuer des interventions sur l'appareil. Il s'agit de
personnes qui ont l'autorisation de mettre en service, de mettre la terre et de reprer des appareils,
des systmes et circuits lectriques conformment aux rgles de scurit en vigueur.

Utilisation conforme
Tenez compte des points suivants :

Prcaution
L'appareil, le systme ou le composant ne doit tre utilis que pour les applications spcifies dans le
catalogue ou dans la description technique, et exclusivement avec des priphriques et composants
recommands par Siemens.
Le transport, le stockage, le montage, la mise en service ainsi que l'utilisation et la maintenance
adquats de l'appareil sont les conditions indispensables pour garantir son fonctionnement correct et
sr.

Marque de fabrique
SIMATIC, SIMATIC NET et SIMATIC HMI sont des marques dposes par 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 des propritaires desdites marques.
Copyright Siemens AG 2004 Tous droits rservs

Exclusion de responsabilit

Toute communication et reproduction de ce support d'information,


toute exploitation ou communication de son contenu sont interdites,
sauf autorisation expresse. Tout manquement cette rgle est
illicite et expose son auteur au versement de dommages et
intrts. Tous nos droits sont rservs, notamment pour le cas de
la dlivrance d'un brevet ou celui de l'enregistrement d'un modle
d'utilit.

Nous avons vrifi la conformit du contenu du prsent manuel


avec le matriel et le logiciel qui y sont dcrits. Or des divergences
n'tant pas exclues, nous ne pouvons pas nous porter garants pour
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. Veuillez nous faire part de
vos suggestions.

Siemens AG
Bereich Automation and Drives
Geschaeftsgebiet Industrial Automation Systems
Postfach 4848, D-90327 Nuernberg

Siemens AG 2004
Sous rserve de modifications techniques

Siemens Aktiengesellschaft

A5E00261421-01

Avant-propos
Objet du manuel
Ce manuel vous donne un tableau exhaustif des blocs dorganisation (OB), fonctions
systme (SFC), blocs fonctionnels systme et standard (SFB) contenus dans les
systmes dexploitation des CPU des automates programmables S7-300 et S7-400.
Lannexe offre en outre une description des donnes de diagnostic, de la liste dtat
systme (SZL) et des vnements.

Nota
Pour savoir quelles fonctions et quels blocs sont intgrs dans quelle CPU, reportez-vous
la partie de rfrence des manuels Systmes d'automatisation S7-300, Caractristiques
des CPU : CPU 31xC et CPU 31x et Systmes dautomatisation S7-300, Installation et
configuration : CPU 312 IFM 318-2 DP /70/ ou Systmes d'automatisation S7-400,
Caractristiques des CPU /101/ ou de la Liste des oprations : Automate
programmable S7-400 /102/ , dans la version de votre CPU. Les caractristiques de
performance particulires chaque CPU pour les SFB de communication pour liaisons
configures et les fonctions de signalisation S7 sont mentionnes dans /70/ et dans /101/.

Les informations concernant les systmes dexploitation des CPU, la conception de


programme et les fonctions de communication et de diagnostic des CPU figurent dans le
manuel Logiciel systme pour SIMATIC S7-300/400 Conception de programmes
/234/. Les manuels traitant des langages de programmation vous expliquent comment
appeler les fonctions et les blocs fonctionnels depuis votre programme.
Toutes les fonctions cites dans ce manuel sont programmer et paramtrer avec le
logiciel de base STEP 7 qui nest pas expliqu ici. Cest le manuel Logiciel de base pour
SIMATIC S7 et M7 STEP 7 /231/ et laide en ligne de STEP 7 qui en contiennent la
documentation.

Groupe cible
Ce manuel est destin aux programmeurs et aux ingnieurs responsables de la
commande de processus industriels qui sont appels crire des programmes pour
automates programmables.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

iii

Avant-propos

Documentation de STEP 7
L'dition 06/2000 de ce manuel est disponible sous sa forme imprime et fait partie de la
documentation "STEP 7 Connaissances fondamentales.
Le tableau suivant prsente la documentation de STEP 7 :
Manuel

Objet

Numro de rfrence

STEP 7 Connaissances fondamentales Connaissances fondamentales


avec
pour le personnel technique.
Dcrit la marche suivre pour

STEP 7 V5.3
raliser des tches
Getting Started
dautomatisation avec STEP 7 et

Programmer avec STEP 7 V5.3


S7-300/400.

Confguration matrielle et communication dans STEP 7 V5.3

STEP 7
Pour une transition facile de S5
S7

STEP 7 Connaissances de rfrence


avec

iv

6ES7810-4CA07-8CW0

Connaissances de rfrence.

6ES7810-4CA07-8CW1

Dcrit les langages de


Langages CONT/LOG/LIST
programmation CONT, LOG et
pour SIMATIC S7-300/400
LIST de mme que les fonctions
standard et les fonctions systme
Logiciel systme pour SIMATIC
S7-300/400 Fonctions standard et en complment des
connaissances fondamentales de
fonctions systme
STEP 7.

Aides en ligne

Objet

Numro de rfrence

Aide de STEP 7

Connaissances fondamentales
pour la programmation ainsi que
pour la configuration du matriel
avec STEP 7, sous forme daide
en ligne.

Fait partie du logiciel


STEP 7

Aides de rfrence de
LIST/CONT/LOG
Aide de rfrence sur les SFB/SFC
Aide de rfrence sur les blocs
dorganisation

Connaissances de rfrence
contextuelles

Fait partie du logiciel


STEP 7

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Avant-propos

Aide en ligne
En complment au manuel, laide en ligne intgre au logiciel vous offre une assistance
dtaille lors de lutilisation du logiciel.
Ce systme daide est intgr au logiciel grce plusieurs interfaces :

Le menu daide ? propose plusieurs commandes : Rubrique daides ouvre le


sommaire de laide de STEP 7.

Utiliser laide fournit des instructions dtailles sur lutilisation de laide en ligne.

Laide contextuelle donne des informations sur le contexte actuel, par exemple sur
une bote de dialogue ouverte ou sur une fentre active. Vous lappelez en cliquant
sur le bouton Aide ou en appuyant sur la touche F1.

La barre dtat constitue une autre forme daide contextuelle. Lorsque le curseur est
positionn sur une commande, elle en affiche une description succincte.

Une description succincte des boutons de la barre doutils saffiche galement


lorsque le curseur y est positionn quelques instants.

Si vous prfrez consulter les informations de laide en ligne sur papier, vous avez la
possibilit dimprimer des rubriques daide individuelles, des livres ou lensemble de laide.
Ce manuel est extrait de laide de STEP 7 fonde sur HTML. En raison de la structure
similaire entre le manuel et laide en ligne, le passage de lun lautre est ais.

Remarques relatives la documentation


Afin dtre en mesure doffrir nos utilisateurs une documentation optimale, nous vous
serions reconnaissants de bien vouloir nous apporter votre aide. Vous pouvez complter le
questionnaire fournit la fin du manuel et lenvoyer ladresse qui y figure pour effectuer
toute remarque ou suggestion concernant le prsent Manuel ou lAide en ligne. Nhsitez
pas mettre votre valuation personnelle.

Autres manuels
Les diffrentes CPU S7-300 et S7-400 ainsi que les modules S7-300 et S7-400 sont dcrits

pour lautomate programmable S7-300, dans les manuels Systmes


d'automatisation S7-300, Caractristiques des CPU : CPU 31xC et CPU 31x et
Systmes dautomatisation S7-300, Installation et configuration : CPU 312 IFM
318-2 DP /70/ , Systmes dautomatisation S7-300, M7-300 Caractristiques
des modules /71/ et dans la liste des oprations /72/ ;

pour lautomate programmable S7-400, dans le manuel Systmes d'automatisation


S7-400, Caractristiques des CPU /101/ et dans la liste des oprations /102/ .

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Avant-propos

Prsentation du manuel
Le prsent manuel est divis en chapitres traitant des sujets suivants.

Le chapitre 1 explique tous les blocs dorganisation.

Le chapitre 2 dcrit les paramtres gnraux RET_VAL, REQ et BUSY.

Les chapitres 3 28 dcrivent les fonctions systme SFC, les blocs fonctionnels
systme SFB et les fonctions CEI.

Les chapitres 29 32 prsentent lorganisation des donnes de diagnostic, un


tableau des identifications de liste dtat systme (SZL-ID), les vnements
susceptibles de se produire, les listes des SFC, SFB et FC dcrits dans le manuel
ainsi que la bibliographie.

Le glossaire explique les termes essentiels.

Lindex vous aidera trouver rapidement les textes traitant des mots-cls importants.

Conventions
Les renvois aux autres parties de la documentation se prsentent sous forme de
numros en chiffres gras placs entre barres obliques /.../. Ces numros vous
permettront de retrouver le titre exact dans la bibliographie figurant la fin du manuel.

Assistance supplmentaire
Si des questions sont restes sans rponse dans ce manuel, veuillez vous adresser
votre interlocuteur Siemens dans la filiale ou l'agence de votre rgion.
Vous trouvez votre interlocuteur sous :
http://www.siemens.com/automation/partner

Centre de formation SIMATIC


Nous proposons des cours de formation pour vous faciliter l'apprentissage des automates
programmables SIMATIC S7. Veuillez vous adresser votre centre de formation rgional
ou au centre principal D 90327 Nuremberg.
Tlphone :
+49 (911) 895-3200.
Internet: http://www.sitrain.com

vi

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Avant-propos

A&D Technical Support


Accessible dans le monde entier toute heure :

Nuernberg
Beijing

Johnson City

Worldwide (Nuernberg)
Technical Support
Heure locale : 0h 24h / 365 jours
Tl. :

+49 (180) 5050-222

Fax:

+49 (180) 5050-223

E-Mail:

adsupport@
siemens.com

GMT:

+1:00

Europe / Africa (Nuernberg)

United States (Johnson City)

Asia / Australia (Beijing)

Authorization

Technical Support and


Authorization

Technical Support and


Authorization

Heure locale : lu-ve. 8h 17h

Heure locale : lu-ve 8h 17h

Heure locale : lu-ve 8h 17h

Tl. :

+49 (180) 5050-222

Tl. :

+1 (423) 262 2522

Tl. :

+86 10 64 75 75 75

Fax:

+49 (180) 5050-223

Fax:

+1 (423) 262 2289

Fax:

+86 10 64 74 74 74

E-Mail:

adsupport@
siemens.com

E-Mail:

simatic.hotline@

E-Mail:

adsupport.asia@

+1:00

GMT:

GMT:

sea.siemens.com
-5:00

siemens.com
GMT:

+8:00

Les langues parles au Technical Support et sur la Hotline des autorisations sont gnralement l'Allemand et l'Anglais.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

vii

Avant-propos

Service & Support sur Internet


En plus de la documentation offerte, vous trouvez la totalit de notre savoir-faire en ligne
sur Internet l'adresse suivante :
http://www.siemens.com/automation/service&support
Vous y trouvez :

viii

le bulletin d'informations qui vous fournit constamment les dernires informations sur
le produit,

les documents dont vous avez besoin l'aide de la fonction de recherche du Service
& Support,

le forum o utilisateurs et spcialistes peuvent changer informations,

votre interlocuteur Automation & Drives sur place,

des informations sur le service aprs-vente, les rparations, les pices de rechange
la rubrique "Service".

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Sommaire

Blocs d'organisation
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14
1.15
1.16
1.17
1.18
1.19
1.20
1.21
1.22
1.23
1.24
1.25
1.26
1.27

Prsentation................................................................................................................ 1-1
Programme cyclique (OB1) ........................................................................................ 1-4
OB d'alarme horaire (OB10 OB17).......................................................................... 1-6
OB d'alarme temporise (OB20 OB23) ................................................................... 1-9
OB d'alarme cyclique (OB30 OB38) ...................................................................... 1-11
OB d'alarme de processus (OB40 OB47).............................................................. 1-13
OB d'alarme d'tat (OB55)........................................................................................ 1-15
OB d'alarme de mise jour (OB56).......................................................................... 1-16
OB pour alarmes spcifiques au fabricant (OB57) ................................................... 1-17
OB d'alarme multiprocesseur (OB60)....................................................................... 1-18
OB d'alarme de synchronisme (OB61 OB64)........................................................ 1-20
OB d'erreur de redondance dans la priphrie (OB70)............................................ 1-21
OB d'erreur de redondance dans la CPU (OB72) .................................................... 1-23
OB d'erreur de redondance de communication (OB73) ........................................... 1-26
OB d'erreur de temps (OB80) ................................................................................... 1-27
OB d'erreur d'alimentation (OB81)............................................................................ 1-29
OB d'alarme de diagnostic (OB82) ........................................................................... 1-31
OB de dbrochage/enfichage (OB83) ...................................................................... 1-33
OB d'erreur matrielle sur CPU (OB84) ................................................................... 1-36
OB d'erreur d'excution du programme (OB85) ....................................................... 1-37
OB de dfaillance d'unit (OB86) ............................................................................. 1-41
OB d'erreur de communication (OB87) .................................................................... 1-44
OB d'annulation du traitement (OB88)...................................................................... 1-46
OB d'arrire-plan (OB90) .......................................................................................... 1-47
OB de mise en route (OB100, OB101 et OB102)..................................................... 1-49
OB d'erreur de programmation (OB121) .................................................................. 1-54
OB d'erreur d'accs la priphrie (OB122)............................................................ 1-56

Paramtres gnraux des fonctions systme


2.1
2.2

2-1

Evaluation d'erreur avec le paramtre de sortie RET_VAL........................................ 2-1


Signification des paramtres REQ, RET_VAL et BUSY pour les SFC excution
asynchrone ................................................................................................................. 2-5

Fonctions de copie et fonctions sur bloc


3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9

1-1

3-1

Copie d'une zone de mmoire avec SFC20 "BLKMOV" ............................................ 3-1


Copie d'une variable sans interruption avec SFC81 "UBLKMOV" ............................. 3-4
Initialisation d'un champ avec SFC21 "FILL".............................................................. 3-6
Cration d'un bloc de donnes avec SFC22 "CREAT_DB" ....................................... 3-8
Effacement d'un bloc de donnes avec SFC23 "DEL_DB"...................................... 3-10
Test d'un bloc de donnes avec SFC24 "TEST_DB" ............................................... 3-12
Compression de la mmoire utilisateur avec SFC25 "COMPRESS" ....................... 3-13
Transfert de la valeur de remplacement dans l'ACCU 1 avec SFC44 "REPL_VAL" 3-15
Cration d'un bloc de donnes dans la mmoire de chargement avec SFC82
"CREA_DBL" ............................................................................................................ 3-16

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

ix

Sommaire

3.10
3.11
3.12
4

SFC de contrle du programme


4.1
4.2
4.3
4.4
4.5

6.5
6.6

10

8-1

Lecture d'un enregistrement depuis un esclave DP avec SFB52 "RDREC".............. 8-1


Ecriture d'un enregistrement dans un esclave DP avec SFB53 "WRREC" ............... 8-3
Rception d'une alarme d'un esclave DP avec SFB54 "RALRM" .............................. 8-5
Envoi d'une alarme au matre DP avec SFB75 "SALRM" ........................................ 8-14
9-1

Gestion des alarmes horaires..................................................................................... 9-1


Proprits des SFC 28 31 ....................................................................................... 9-2
Fixation d'une alarme horaire avec SFC28 "SET_TINT"............................................ 9-4
Annulation d'une alarme horaire avec SFC29 "CAN_TINT"....................................... 9-5
Activation d'une alarme horaire avec SFC30 "ACT_TINT" ........................................ 9-6
Interrogation d'une alarme horaire avec SFC31 "QRY_TINT" ................................... 9-7

SFC de gestion des alarmes temporises


10.1
10.2
10.3
10.4

7-1

Ecriture et lecture d'enregistrements .......................................................................... 7-1


Lecture de paramtres prdfinis avec SFC54 "RD_DPARM" .................................. 7-3
Lecture de paramtres prdfinis avec SFC102 "RD_DPARA"................................. 7-4
Ecriture de paramtres dynamiques avec SFC55 "WR_PARM"................................ 7-5
Ecriture de paramtres prdfinis avec SFC56 "WR_DPARM" ................................. 7-6
Paramtrage d'un module avec SFC57 "PARM_MOD" ............................................. 7-7
Ecriture d'un enregistrement avec SFC58 "WR_REC" ............................................ 7-10
Lecture d'un enregistrement avec SFC59 "RD_REC".............................................. 7-12
Autres informations d'erreur des SFC 55 59 ......................................................... 7-17

SFC de gestion des alarmes horaires


9.1
9.2
9.3
9.4
9.5
9.6

6-1

Compteur d'heures de fonctionnement....................................................................... 6-1


Gestion d'un compteur d'heures de fonctionnement avec SFC101 "RTM"................ 6-2
Initialisation d'un compteur d'heures de fonctionnement avec SFC2 "SET_RTM" .... 6-4
Dmarrage et arrt du compteur d'heures de fonctionnement avec SFC3
"CTRL_RTM" .............................................................................................................. 6-5
Lecture du compteur d'heures de fonctionnement avec SFC4 "READ_RTM"........... 6-6
Lecture du temps systme avec SFC64 "TIME_TCK" ............................................... 6-7

SFB DPV1 selon PNO AK 1131


8.1
8.2
8.3
8.4

5-1

Mise l'heure avec SFC0 "SET_CLK" ....................................................................... 5-1


Lecture de l'heure et de la date avec SFC1 "READ_CLK"......................................... 5-2
Synchronisation d'esclaves d'horloge avec SFC48 "SNC_RTCB"............................. 5-3
Mise l'heure et initialisation de l'tat d'horloge avec SFC100 "SET_CLKS" ........... 5-4

SFC de transfert d'enregistrements


7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9

Rarmement du chien de garde avec SFC43 "RE_TRIGR" ...................................... 4-1


Mise l'arrt de la CPU avec SFC46 "STP" .............................................................. 4-1
Retardement du traitement du programme utilisateur avec SFC47 "WAIT" .............. 4-2
Dclenchement d'une alarme multiprocesseur avec SFC35 "MP_ALM" ................... 4-3
Commande de la procdure CiR avec SFC104 "CiR"................................................ 4-4

SFC de gestion de compteur d'heures de fonctionnement


6.1
6.2
6.3
6.4

4-1

SFC de gestion de l'horloge


5.1
5.2
5.3
5.4

Lecture depuis un bloc de donnes dans la mmoire de chargement


avec SFC83 "READ_DBL" ....................................................................................... 3-19
Ecriture dans un bloc de donnes dans la mmoire de chargement
avec SFC84 "WRIT_DBL" ........................................................................................ 3-21
Cration d'un bloc de donnes avec SFC 85 "CREA_DB" ...................................... 3-23

10-1

Gestion des alarmes temporises ............................................................................ 10-1


Dclenchement d'une alarme temporise avec SFC32 "SRT_DINT" ...................... 10-3
Interrogation de l'tat d'une alarme temporise avec SFC34 "QRY_DINT"............. 10-4
Annulation d'une alarme temporise avec SFC33 "CAN_DINT".............................. 10-5

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Sommaire

11

SFC de gestion des vnements d'erreur synchrone


11.1
11.2
11.3
11.4

12

12.3
12.4
12.5
13

13.3
13.4
13.5
13.6
13.7

14.4
14.5
14.6
14.7
15

15.3
16

16.2
16.3
16.4
16.5

15-1

Recherche de l'adresse de base d'un module avec SFC5 "GADR_LGC" ............... 15-1
Recherche de l'emplacement correspondant une adresse logique
avec SFC49 "LGC_GADR"....................................................................................... 15-3
Recherche de toutes les adresses logiques d'un module
avec SFC50 "RD_LGADR"....................................................................................... 15-5

SFC de priphrie dcentralise


16.1

14-1

Mise jour de la mmoire image des entres avec SFC26 "UPDAT_PI" ............... 14-1
Mise jour des sorties sur les modules de sorties avec SFC27 "UPDAT_PO"....... 14-3
Mise jour synchronise d'une mmoire image partielle des entres
avec SFC126 "SYNC_PI" ......................................................................................... 14-4
Mise jour synchronise d'une mmoire image partielle des sorties
avec SFC127 "SYNC_PO" ....................................................................................... 14-6
Mise 1 d'un champ de bits dans la zone de priphrie avec SFC79 "SET" .......... 14-8
Mise 0 d'un champ de bits dans la zone de priphrie avec SFC80 "RSET" ....... 14-9
Ralisation d'un mcanisme pas pas avec SFB32 "DRUM" ............................... 14-10

SFC d'adressage de module


15.1
15.2

13-1

Diagnostic systme................................................................................................... 13-1


Lecture des informations de dclenchement de l'OB actif avec
SFC6 "RD_SINFO" ................................................................................................... 13-1
Lecture d'une liste d'tat systme (liste SZL) partielle ou d'un extrait de liste SZL
partielle avec SFC51 "RDSYSST"............................................................................ 13-4
Ecriture d'un vnement de diagnostic personnalis dans
le tampon de diagnostic avec SFC52 "WR_USMSG" ............................................ 13-10
Calcul du temps d'excution des OB avec SFC78 "OB_RT" ................................. 13-14
Recherche de l'tat de liaison actuel avec SFC87 "C_DIAG" ................................ 13-17
Calcul de la topologie en bus dans un rseau matre DP
avec SFC 103 "DP_TOPOL" .................................................................................. 13-22

SFC et SFB de mise jour de la mmoire image et de traitement de champ de bits


14.1
14.2
14.3

12-1

Ajournement et inhibition d'vnements d'alarme et d'erreur asynchrone............... 12-1


Inhibition du traitement de nouveaux vnements d'alarme et d'erreur
asynchrone avec SFC39 "DIS_IRT" ......................................................................... 12-3
Validation du traitement de nouveaux vnements d'alarme et d'erreur
asynchrone avec SFC40 "EN_IRT" .......................................................................... 12-5
Ajournement du traitement d'vnements d'alarme et d'erreur asynchrone
de priorit suprieure avec SFC41 "DIS_AIRT" ....................................................... 12-7
Validation du traitement d'vnements d'alarme et d'erreur asynchrone
de priorit suprieure avec SFC42 "EN_AIRT" ........................................................ 12-8

SFC de diagnostic
13.1
13.2

14

Masquage des vnements d'erreur synchrone....................................................... 11-1


Masquage d'erreurs synchrones avec SFC36 "MSK_FLT"...................................... 11-8
Dmasquage d'erreurs synchrones avec SFC37 "DMSK_FLT" .............................. 11-9
Lecture du registre d'tat des vnements avec SFC38 "READ_ERR" ................ 11-10

SFC de gestion des vnements d'alarme et d'erreur asynchrone


12.1
12.2

11-1

16-1

Dclenchement d'une alarme de processus dans le matre DP


avec SFC7 "DP_PRAL" ............................................................................................ 16-1
Synchronisation de groupes d'esclaves DP avec SFC11 "DPSYC_FR".................. 16-4
Dsactivation et activation d'esclaves DP avec SFC12 "D_ACT_DP"..................... 16-9
Lecture des donnes de diagnostic d'un esclave DP
(diagnostic d'esclave) avec SFC13 "DPNRM_DG" ................................................ 16-14
Lecture des donnes cohrentes d'un esclave DP norm
avec SFC14 "DPRD_DAT" ..................................................................................... 16-17

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

xi

Sommaire

16.6
17

SFC de communication par donnes globales


17.1
17.2

18

18.2
18.3
18.4

19.17

20.3
20.4
20.5
20.6
20.7
20.8
20.9
20.10

xii

19-1

Paramtres communs aux SFB/FB et aux SFC/FC de la communication S7.......... 19-1


Comportement de mise en route des SFB de la communication S7........................ 19-5
Comportement d'anomalie des SFB de la communication S7 ................................. 19-7
Envoi de donnes sans coordination avec SFB/FB8 "USEND" ............................... 19-9
Rception de donnes sans coordination avec SFB/FB9 "URCV" ........................ 19-12
Envoi de donnes par segments avec SFB/FB12 "BSEND".................................. 19-15
Rception de donnes par segments avec SFB/FB13 "BRCV" ............................. 19-19
Lecture de donnes dans une CPU distante avec SFB/FB14 "GET" .................... 19-22
Ecriture de donnes dans une CPU distante avec SFB/FB15 "PUT" .................... 19-25
Envoi de donnes une imprimante avec SFB16 "PRINT" ................................... 19-28
Dmarrage chaud ou froid d'un appareil distant avec SFB19 "START" .......... 19-34
Arrt d'un appareil distant avec SFB20 "STOP"..................................................... 19-37
Redmarrage d'un appareil distant avec SFB21 "RESUME"................................. 19-40
Interrogation de l'tat d'un appareil distant avec SFB22 "STATUS" ...................... 19-42
Rception du changement d'tat d'un appareil distant avec SFB23 "USTATUS".. 19-44
Interrogation de l'tat de la liaison appartenant une instance
de SFB, avec SFC62 "CONTROL"......................................................................... 19-46
Interrogation de l'tat d'une liaison avec FC62 "C_CNTRL" .................................. 19-48
20-1

Paramtres communs aux SFC de la communication de base S7 .......................... 20-1


Envoi de donnes un partenaire de communication situ hors de
la propre station S7, avec SFC65 "X_SEND"........................................................... 20-3
Rception de donnes d'un partenaire de communication situ hors de
la propre station S7, avec SFC66 "X_RCV" ............................................................. 20-4
Lecture de donnes dans un partenaire de communication situ hors de
la propre station S7, avec SFC67 "X_GET" ............................................................. 20-8
Ecriture de donnes dans un partenaire de communication situ hors de
la propre station S7, avec SFC68 "X_PUT"............................................................ 20-10
Suspension d'une liaison un partenaire de communication situ hors de
la propre station S7, avec SFC69 "X_ABORT" ...................................................... 20-12
Lecture de donnes dans un partenaire de communication situ dans
la propre station S7, avec SFC72 "I_GET"............................................................. 20-13
Ecriture de donnes dans un partenaire de communication situ dans
la propre station S7, avec SFC73 "I_PUT" ............................................................. 20-15
Suspension d'une liaison un partenaire de communication situ dans
la propre station S7, avec SFC74 "I_ABORT"........................................................ 20-17
Informations d'erreur des SFC de la communication de base S7 .......................... 20-19

PROFInet
21.1
21.2

18-1

Diffrences entre les blocs de la communication S7 et ceux


de la communication de base S7.............................................................................. 18-1
Cohrence de donnes ............................................................................................ 18-3
Prsentation des blocs de la communication S7...................................................... 18-5
Prsentation des blocs de la communication de base S7 ........................................ 18-7

Communication de base S7
20.1
20.2

21

Envoi programm d'un paquet GD avec SFC60 "GD_SND".................................... 17-1


Prise en charge programme d'un paquet GD reu, avec SFC61 "GD_RCV" ........ 17-4

Communication S7
19.1
19.2
19.3
19.4
19.5
19.6
19.7
19.8
19.9
19.10
19.11
19.12
19.13
19.14
19.15
19.16

20

17-1

Gnralits sur la communication S7 et la communication de base S7


18.1

19

Ecriture de donnes cohrentes dans un esclave DP norm


avec SFC15 "DPWR_DAT" .................................................................................... 16-20

21-1

Informations sur les SFC 112, 113 et 114 ................................................................ 21-1


Mise jour des entres de l'interface programme utilisateur du
composant PROFInet, avec SFC112 "PN_IN" ......................................................... 21-4

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Sommaire

21.3
21.4
22

Gnration de messages sur bloc


22.1
22.2
22.3
22.4
22.5
22.6
22.7
22.8
22.9
22.10
22.11
22.12
22.13
22.14
22.15
22.16
22.17

23

23-1

Gnration d'une impulsion avec SFB3 "TP" ........................................................... 23-1


Gnration d'un retard la monte avec SFB4 "TON" ............................................ 23-3
Gnration d'un retard la retombe avec SFB5 "TOF" ......................................... 23-5
Comptage par incrments avec SFB0 "CTU"........................................................... 23-7
Comptage par dcrments avec SFB1 "CTD" ......................................................... 23-8
Comptage par incrments et dcrments avec SFB2 "CTUD" ................................ 23-9

Fonctions CEI
24.1
24.2
24.3
24.4
24.5
24.6
24.7
24.8
24.9
24.10
24.11

22-1

Introduction la gnration de messages sur bloc l'aide de SFB......................... 22-1


Gnration de messages sur bloc sans indication d'acquittement,
avec SFB36 "NOTIFY".............................................................................................. 22-5
Gnration de messages sur bloc sans indication d'acquittement,
avec SFB31 "NOTIFY_8P" ....................................................................................... 22-7
Gnration de messages sur bloc avec indication d'acquittement,
avec SFB33 "ALARM" ............................................................................................ 22-10
Gnration de messages sur bloc avec variables pour huit signaux,
avec SFB35 "ALARM_8P"...................................................................................... 22-13
Gnration de messages sur bloc sans variables pour huit signaux,
avec SFB34 "ALARM_8" ........................................................................................ 22-16
Envoi de donnes d'archives avec SFB37 "AR_SEND" ........................................ 22-18
Inhibition de messages sur bloc, sur mnmonique et messages
groups systme, avec SFC10 "DIS_MSG"........................................................... 22-20
Validation de messages sur bloc, sur mnmonique et messages
groups systme, avec SFC9 "EN_MSG".............................................................. 22-22
Comportement de mise en route des SFB gnrant des messages sur bloc ........ 22-24
Comportement d'anomalie des SFB gnrant des messages sur bloc ................. 22-25
Introduction la gnration de messages sur bloc l'aide de SFC ...................... 22-26
Gnration de messages sur bloc avec SFC17 "ALARM_SQ" et avec SFC18
"ALARM_S"............................................................................................................. 22-29
Recherche de l'tat d'acquittement du dernier message de type
ALARM_SQ/ALARM_DQ, avec SFC19 "ALARM_SC" .......................................... 22-32
Gnration de messages sur blocs acquittables et toujours acquitts
avec SFC107 "ALARM_DQ" et SFC108 "ALARM_D"............................................ 22-33
Lecture des ressources systme occupes de manire dynamique
avec SFC105 "READ_SI" ....................................................................................... 22-35
Validation des ressources systme occupes de manire dynamique
avec SFC106 "DEL_SI" .......................................................................................... 22-38

Temporisations et compteurs CEI


23.1
23.2
23.3
23.4
23.5
23.6

24

Mise jour des sorties de l'interface PROFInet du composant PROFInet,


avec SFC113 "PN_OUT" .......................................................................................... 21-5
Mise jour des connexions DP avec SFC114 "PN_DP".......................................... 21-6

24-1

Vue d'ensemble ........................................................................................................ 24-1


Caractristiques techniques des fonctions CEI ........................................................ 24-3
Type de donnes complexe DATE_AND_TIME....................................................... 24-5
Fonctions d'horodatage ............................................................................................ 24-6
Comparaison de variables de type DATE_AND_TIME .......................................... 24-10
Comparaison de variables de type STRING .......................................................... 24-12
Traitement de nombres........................................................................................... 24-15
Exemple dans LIST................................................................................................. 24-16
Exemple dans LIST................................................................................................. 24-17
Traitement de variables de type STRING............................................................... 24-18
Conversion de types de donnes ........................................................................... 24-23

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

xiii

Sommaire

25

SFB de rgulation intgre


25.1
25.2
25.3
25.4

26

26.9
26.10
26.11
26.12

31.15

xiv

29-1

SFC63 "AB_CALL" ................................................................................................... 29-1


30-1

Organisation des donnes de diagnostic ................................................................. 30-1


Donnes de diagnostic ............................................................................................. 30-2
Donnes de diagnostic d'une voie............................................................................ 30-4

Liste d'tat systme SZL


31.1
31.2
31.3
31.4
31.5
31.6
31.7
31.8
31.9
31.10
31.11
31.12
31.13
31.14

28-1

FB29 "HS_COUNT" .................................................................................................. 28-1


SFB30 "FREQ_MES"................................................................................................ 28-3
SFB38 "HSC_A_B" ................................................................................................... 28-4
SFB39 "POS"............................................................................................................ 28-5

Donnes de diagnostic
30.1
30.2
30.3

31

27-1

Intervention sur un systme H avec SFC90 "H_CTRL" ........................................... 27-1

Industrie des matires plastiques


29.1

30

Positionnement par sortie analogique avec SFB44 "ANALOG" ............................... 26-1


Positionnement par sortie TOR avec SFB46 "DIGITAL" ........................................ 26-14
Commande du compteur avec SFB47 "COUNT" ................................................... 26-26
Commande du frquencemtre avec SFB48 "FREQUENC" ................................. 26-31
Commande de la modulation de largeur d'impulsions avec SFB49 "PULSE" ...... 26-36
Envoi de donnes (ASCII, 3964(R)) avec SFB60 "SEND_PTP"............................ 26-39
Rception de donnes (ASCII, 3964(R)) avec SFB61 "RCV_PTP"....................... 26-41
Effacement du tampon de rception (ASCII, 3964(R)) avec
SFB62 "RES_RCVB" .............................................................................................. 26-43
Envoi de donnes (RK 512) avec SFB63 "SEND_RK" .......................................... 26-45
Extraction de donnes (RK 512) avec SFB64 "FETCH RK" .................................. 26-49
Rception et mise disposition de donnes (RK 512) avec
SFB65 "SERVE_RK" .............................................................................................. 26-54
Autres informations d'erreur des SFB 60 65........................................................ 26-59

Fonctions intgres (pour CPU avec entres/sorties intgres)


28.1
28.2
28.3
28.4

29

26-1

SFC pour les CPU H


27.1

28

Rgulation continue avec SFB41/FB41 "CONT_C" ................................................. 25-1


Rgulation chelons avec SFB42/FB42 "CONT_S".............................................. 25-7
Formation d'impulsions avec SFB43/FB43 "PULSEGEN" ..................................... 25-13
Exemple avec le bloc PULSEGEN ......................................................................... 25-22

SFB pour les CPU compactes


26.1
26.2
26.3
26.4
26.5
26.6
26.7
26.8

27

25-1

31-1

Gnralits sur la liste d'tat systme SZL .............................................................. 31-1


Organisation d'une liste SZL partielle ....................................................................... 31-3
SZL-ID....................................................................................................................... 31-4
Listes SZL partielles possibles ................................................................................. 31-5
SZL-ID W#16#xy11 - Identification du module ......................................................... 31-6
SZL-ID W#16#xy12 - Caractristiques de la CPU.................................................... 31-7
SZL-ID W#16#xy13 - Zones de mmoire utilisateur............................................... 31-10
SZL-ID W#16#xy14 - Zones systme..................................................................... 31-11
SZL-ID W#16#xy15 - Types de bloc....................................................................... 31-13
SZL-ID W#16#xy19 - Etat des DEL sur module ..................................................... 31-14
SZL-ID W#16#xy1C - Identification d'un composant.............................................. 31-16
SZL-ID W#16#xy25 - Liens entre les mmoires image partielles et les OB........... 31-19
SZL-ID W#16#xy32 - Donnes d'tat de la communication................................... 31-22
Enregistrement de l'extrait de liste partielle dsign par l'identification
W#16#0132 et par l'index W#16#0005................................................................... 31-23
Enregistrement de l'extrait de liste partielle dsign par l'identification
W#16#0132 et par l'index W#16#0008................................................................... 31-24

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Sommaire

31.16
31.17
31.18
31.19
31.20
31.21
31.22
31.23
31.24
31.25
31.26
31.27
31.28
31.29
31.30
32

Evnements
32.1
32.2
32.3
32.4
32.5
32.6
32.7
32.8
32.9
32.10
32.11
32.12

33

Enregistrement de l'extrait de liste partielle dsign par l'identification


W#16#0132 et par l'index W#16#000B .................................................................. 31-26
Enregistrement de l'extrait de liste partielle dsign par l'identification
W#16#0132 et par l'index W#16#000C .................................................................. 31-27
Enregistrement de l'extrait de liste partielle dsign par l'identification
W#16#0232 et par l'index W#16#0004................................................................... 31-28
SZL-ID W#16#xy71 - Informations groupes de CPU H ........................................ 31-29
SZL-ID W#16#xy74 - Etat des DEL sur module ..................................................... 31-32
SZL-ID W#16#xy75 - Esclaves DP connects dans le systme H ........................ 31-34
SZL-ID W#16#xy90 - Informations de rseau matre DP ....................................... 31-36
SZL-ID W#16#xy91 - Informations d'tat des modules .......................................... 31-38
SZL-ID W#16#xy92 - Informations d'tat des profils supports/chssis
ou des stations........................................................................................................ 31-43
SZL-ID W#16#xy95 - Informations tendues de rseau matre DP ....................... 31-47
SZL-ID W#16#xyA0 - Mmoire tampon de diagnostic ........................................... 31-49
SZL-ID W#16#00B1 - Informations de diagnostic du module ................................ 31-50
SZL-ID W#16#00B2 - Enregistrement de diagnostic 1 par l'adresse physique ..... 31-51
SZL-ID W#16#00B3 - Donnes de diagnostic du module par l'adresse logique ... 31-52
SZL-ID W#16#00B4 - Donnes de diagnostic d'un esclave DP............................. 31-53
Identification d'vnement ........................................................................................ 32-1
Classe d'vnements 1 : vnements d'OB standard.............................................. 32-2
Classe d'vnements 2 : vnements d'erreur synchrone....................................... 32-3
Classe d'vnements 3 : vnements d'erreur asynchrone..................................... 32-4
Classe d'vnements 4 : vnements d'arrt et autres changements
de mode de fonctionnement ..................................................................................... 32-7
Classe d'vnements 5 : vnements d'excution................................................. 32-11
Classe d'vnements 6 : vnements de communication ..................................... 32-12
Classe d'vnements 7 : vnements des systmes H/F
(de haute disponibilit/de scurit) ......................................................................... 32-14
Classe d'vnements 8 : vnements de diagnostic des modules ........................ 32-16
Classe d'vnements 9 : vnements utilisateur standard .................................... 32-18
Classe d'vnements A et B : vnements utilisateur libres.................................. 32-20
Classes d'vnements rserves........................................................................... 32-20

Liste des SFC et SFB


33.1
33.2
33.3
33.4

32-1

33-1

Liste des SFC par ordre numrique.......................................................................... 33-1


Liste des SFC par ordre alphabtique ...................................................................... 33-4
Liste des SFB par ordre numrique.......................................................................... 33-7
Liste des SFB par ordre alphabtique ...................................................................... 33-9

Bibliographie
Glossaire
Index

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

xv

Sommaire

xvi

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

1.1

Prsentation

Blocs d'organisation
Les blocs d'organisation (OB) constituent l'interface entre le systme d'exploitation de la
CPU et le programme utilisateur. Ils vous permettent de dclencher l'excution de
certaines parties de programme :

la mise en route de la CPU,

de faon cyclique ou intervalles de temps,

certaines heures ou certains jours,

aprs coulement d'une dure donne,

quand une erreur intervient,

quand une alarme de processus intervient.

Les blocs d'organisation sont traits selon la priorit qui leur est affecte.

OB disponibles
Toutes les CPU ne peuvent pas traiter tous les OB disponibles dans S7. Consultez les
listes d'oprations /72/ et /102/ pour savoir de quels OB vous disposez.

Autres informations
Pour plus d'informations, reportez- vous l'aide en ligne ainsi qu'aux manuels suivants :

/70/ : ce manuel contient les caractristiques techniques dcrivant les performances


des diffrentes CPU S7-300.

/101/ : ce manuel contient les caractristiques techniques dcrivant les performances


des diffrentes CPU S7-400.

Le tableau suivant indique pour chaque OB l'vnement dclencheur et la classe de


priorit par dfaut.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-1

Blocs d'organisation

OB

Evnement dclencheur

Classe de
priorit par
dfaut

Explication

OB1

Fin de la mise en route ou fin de l'OB1

Cycle libre

OB10
OB11
OB12
OB13
OB14
OB15
OB16
OB17

Alarme horaire 0
Alarme horaire 1
Alarme horaire 2
Alarme horaire 3
Alarme horaire 4
Alarme horaire 5
Alarme horaire 6
Alarme horaire 7

2
2
2
2
2
2
2
2

Pas d'indication horaire


par dfaut

OB20
OB21
OB22
OB23

Alarme temporise 0
Alarme temporise 1
Alarme temporise 2
Alarme temporise 3

3
4
5
6

Pas d'indication horaire


par dfaut

OB30
OB31
OB32
OB33
OB34
OB35
OB36
OB37
OB38

Alarme cyclique 0 (priode par dfaut : 5 s)


Alarme cyclique 1 (priode par dfaut : 2 s)
Alarme cyclique 2 (priode par dfaut : 1 s)
Alarme cyclique 3 (priode par dfaut : 500 ms)
Alarme cyclique 4 (priode par dfaut : 200 ms)
Alarme cyclique 5 (priode par dfaut : 100 ms)
Alarme cyclique 6 (priode par dfaut : 50 ms)
Alarme cyclique 7 (priode par dfaut : 20 ms)
Alarme cyclique 8 (priode par dfaut : 10 ms)

7
8
9
10
11
12
13
14
15

OB40
OB41
OB42
OB43
OB44
OB45
OB46
OB47

Alarme de processus 0
Alarme de processus 1
Alarme de processus 2
Alarme de processus 3
Alarme de processus 4
Alarme de processus 5
Alarme de processus 6
Alarme de processus 7

16
17
18
19
20
21
22
23

OB55
OB56
OB57

Alarme d'tat
Alarme de mise jour
Alarme spcifique au fabricant

2
2
2

OB60

Appel de la SFC35 "MP_ALM"

25

OB61
OB62
OB63
OB64

OB d'alarme de synchronisme 1
OB d'alarme de synchronisme 2
OB d'alarme de synchronisme 3
OB d'alarme de synchronisme 4

25
25
25
25

OB70
OB72
OB73

Erreur de redondance dans la priphrie (seulement dans


CPU H)
Erreur de redondance dans la CPU (seulement dans les
CPU H)
Erreur de redondance dans la communication (seulement
CPU H)

25
28
25

1-2

Alarmes cycliques

Alarmes de processus

Alarme DPV1
Alarme
multiprocesseur
Alarmes de
synchronisation
Alarmes d'erreur de
redondance

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

OB

OB80
OB81
OB82
OB83
OB84
OB85
OB86

Evnement dclencheur

Classe de
priorit par
dfaut
1)

Erreur de temps
Erreur d'alimentation
Alarme de diagnostic
Alarme de dbrochage/enfichage
Erreur matrielle sur CPU
Erreur d'excution du programme
Dfaillance d'un appareil d'extension, d'un rseau matre
DP
ou d'une station DP
Erreur de communication
Annulation du traitement

26, 28
25, 28 1)
25, 28 1)
25, 28 1)
25, 28 1)
25, 28 1)
25, 28 1)

OB90

Dmarrage chaud ou froid, ou effacement d'un bloc


actif dans l'OB90 ou chargement d'un OB90 dans la CPU
ou fin d'OB90

29 2)

OB100
OB101
OB102

Dmarrage chaud
Redmarrage
Dmarrage froid

OB121

Erreur de programmation

OB122

Erreur d'accs la priphrie

OB87
OB88

Explication

Alarmes d'erreur asynchrone

25, 28 1)
28
Cycle d'arrire-plan

27 1)
27 1)
Mise en route
27 1)
Priorit de l'OB Alarmes d'erreur
responsable de synchrone
l'erreur

1)

Les classes de priorit 27 et 28 sont valables dans le modle de classes de priorit de


la mise en route.

2)

A la classe de priorit 29 correspond la priorit 0.29. Le cycle d'arrire-plan a donc


une priorit plus basse que le cycle libre.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-3

Blocs d'organisation

1.2

Programme cyclique (OB1)

Description
Le systme d'exploitation de la CPU S7 excute l'OB1 de manire cyclique : aussitt son
traitement achev, il le dmarre nouveau. L'excution cyclique de l'OB1 commence
quand la mise en route est termine. Vous pouvez vous servir de l'OB1 pour appeler des
blocs fonctionnels (FB, SFB) ou des fonctions (FC, SFC).

Fonctionnement de l'OB1
Le bloc OB1 a la priorit la plus basse parmi tous les OB dure d'excution surveille;
son traitement peut donc tre interrompu par tous les autres OB, sauf par l'OB90. Les
vnements suivants provoquent son appel par le systme d'exploitation :

fin du traitement de la mise en route,

fin du traitement de l'OB1 (du cycle prcdent).

Une fois l'excution de l'OB1 acheve, le systme d'exploitation envoie des donnes
globales. Avant de redmarrer l'OB1, le systme d'exploitation crit la mmoire image
des sorties dans les modules de sorties, met jour la mmoire image des entres et
reoit des donnes globales pour la CPU.
STEP 7 offre une surveillance du temps de cycle maximal, ce qui garantit le temps de
raction maximal. Par dfaut, le temps de cycle maximal est de 150 ms; vous pouvez
modifier cette valeur par paramtrage ou dmarrer la surveillance de temps n'importe
quelle position de votre programme avec la fonction systme SFC43 "RE_TRIGR". Si
votre programme dpasse le temps de cycle maximal dfini pour l'OB1, le systme
d'exploitation appelle l'OB80 (erreur de temps). Si l'OB80 n'a pas t programm, la CPU
passe l'tat d'arrt.
Outre la surveillance du temps de cycle maximal, l'observation d'un temps de cycle
minimal est garantie. Le systme d'exploitation diffre le dbut d'un nouveau cycle
(criture de la mmoire image des sorties dans les modules de sorties) jusqu' ce que le
temps de cycle minimal soit coul.
Les manuels /70/ et /101/ indiquent les plages de valeurs pour les paramtres Temps de
cycle maximal et Temps de cycle minimal. Vous pouvez modifier ces paramtres avec
STEP 7.

1-4

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

Donnes locales de l'OB1


Le tableau suivant contient les variables temporaires (TEMP) de l'OB1. Les noms de
variable choisis sont les noms par dfaut de l'OB1.
Variable

Type de donnes

Description

OB1_EV_CLASS

BYTE

Classe et code d'vnement : B#16#11 : OB1 est actif

OB1_SCAN_1

BYTE

B#16#01 : fin du dmarrage chaud

B#16#02 : fin du redmarrage

B#16#03 : fin du cycle libre

B#16#04 : fin du dmarrage froid

B#16#05 : premier cycle de l'OB1 de la nouvelle CPU matre


aprs commutation matre-rserve et arrt de la CPU matre
jusqu'ici

OB1_PRIORITY

BYTE

Classe de priorit : 1

OB1_OB_NUMBR

BYTE

Numro de l'OB (01)

OB1_RESERVED_1 BYTE

Rserv

OB1_RESERVED_2 BYTE

Rserv

OB1_PREV_CYCLE INT

Dure du cycle prcdent en ms

OB1_MIN_CYCLE

INT

Temps de cycle minimal en ms depuis la dernire mise en route

OB1_MAX_CYCLE

INT

Temps de cycle maximal en ms depuis la dernire mise en route

OB1_DATE_TIME

DATE_AND_TIME

Date et heure de demande de l'OB

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-5

Blocs d'organisation

1.3

OB d'alarme horaire (OB10 OB17)

Description
STEP 7 met votre disposition jusqu' huit blocs d'organisation (OB10 OB17)
dclenchement unique ou priodique. Grce des SFC ou STEP 7, vous pouvez
programmer dans votre CPU l'excution de ces OB aux intervalles de temps suivants :

une seule fois,

toutes les minutes,

toutes les heures,

tous les jours,

toutes les semaines,

tous les mois,

tous les ans,

la fin du mois.

Nota
Quand un OB d'alarme horaire est excut tous les mois, seuls les jours 1, 2, ... 28 sont
des dates de dclenchement possibles.

Fonctionnement des OB d'alarme horaire


Pour dclencher une alarme horaire, il faut d'abord fixer l'alarme, puis l'activer. Il y a trois
formes de dclenchement possibles :

Dclenchement automatique de l'alarme horaire : c'est ce qui se produit quand vous


avez fix et activ l'alarme avec STEP 7. Le tableau suivant dcrit les diffrents cas
de figure quand une alarme horaire a t active avec STEP 7.

Vous fixez l'alarme horaire avec STEP 7 et l'activez en appelant la fonction systme
SFC30 "ACT_TINT" depuis votre programme.

Vous fixez l'alarme horaire en appelant la SFC28 "SET_TINT" et l'activez en appelant


la SFC30 "ACT_TINT".

Intervalle

Description

Non activ

L'OB d'alarme horaire n'est pas excut mme lorsqu'il est charg dans la CPU.
Vous pouvez activer l'alarme horaire en appelant la fonction systme SFC30.

Activ une fois

L'OB d'alarme horaire est annul automatiquement aprs l'excution unique


spcifie.
Votre programme peut fixer de nouveau l'alarme horaire l'aide de la SFC28 et
l'activer de nouveau l'aide de la SFC30.

Activ priodiquement

Au moment o l'alarme horaire est dclenche, la CPU en dtermine le prochain


instant de dclenchement partir de l'heure actuelle et de la priode.

Le comportement des alarmes horaires quand vous avancez ou retardez l'horloge est
dcrit dans /234/.

1-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

Nota
Quand vous configurez une alarme horaire pour que l'OB correspondant soit excut une
fois, la date et l'heure ne peuvent pas tre dans le pass (par rapport l'horloge temps
rel de la CPU).
Quand vous configurez une alarme horaire pour que l'OB correspondant soit excut
priodiquement, mais que la date et l'heure de dclenchement sont dans le pass, l'OB
d'alarme horaire sera excut la prochaine date pertinente suivant la date et l'heure
actuelles. La figure suivante illustre cet tat de fait.
Les fonctions systme SFC39 42 vous permettent d'inhiber, d'ajourner et de valider de
nouveau les alarmes horaires.
Heure de dclenchement
configure

Heure
actuelle

Intervalle
configur

Instant de la premire excution


de l'OB d'alarme horaire

Situations affectant les OB d'alarme horaire


Comme une alarme horaire n'intervient qu' intervalles dtermins, certaines situations
peuvent porter prjudice au fonctionnement des OB correspondants pendant le
traitement de votre programme. Le tableau suivant prsente certaines de ces situations
et dcrit leurs consquences sur l'excution de l'OB d'alarme horaire.
Situation

Consquence

Votre programme appelle la SFC29


"CAN_TINT" et annule une alarme
horaire.

Le systme d'exploitation efface l'vnement dclencheur (date et


heure) de l'OB d'alarme horaire. Pour appeler de nouveau l'OB,
vous devez fixer et activer de nouveau l'vnement dclencheur.

Votre programme a tent d'activer un OB


d'alarme horaire qui n'tait pas charg
dans la CPU au moment de l'activation.

Le systme d'exploitation appelle l'OB85. Si ce dernier n'a pas t


programm (charg dans la CPU), la CPU passe l'tat d'arrt.

Lors de la synchronisation ou de la
correction de l'horloge systme de la
CPU, vous avez avanc l'heure et saut
l'vnement dclencheur, la date ou
l'heure d'un OB d'alarme horaire.

Le systme d'exploitation appelle l'OB80 et code le numro de l'OB


d'alarme horaire et les informations d'vnement dclencheur dans
l'OB80.

Lors de la synchronisation ou de la
correction de l'horloge systme de la
CPU, vous avez retard l'heure et rpt
l'vnement dclencheur, la date ou
l'heure d'un OB d'alarme horaire.

Avec les CPU S7-400 et la CPU 318 :


si l'OB d'alarme horaire avait dj t activ avant que l'horloge ne
soit retarde, il n'est pas appel de nouveau pour les heures dj
coules.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Il excute ensuite l'OB d'alarme horaire une fois sans tenir compte
du nombre d'excutions prvues pour cet OB. Les informations
d'vnement dclencheur dans l'OB80 indiquent la date et l'heure
auxquelles l'OB d'alarme horaire a t saut pour la premire fois.

Avec les CPU S7-300 :


l'OB d'alarme horaire est excut.

1-7

Blocs d'organisation

Situation

Consquence

La CPU excute un dmarrage chaud


ou froid.

Chaque OB d'alarme horaire configur au moyen d'une SFC


reprend la configuration qui avait t tablie avec STEP 7.
Si vous avez configur une alarme horaire pour effectuer l'appel
unique de l'OB correspondant et l'avez rgle et active dans STEP
7, alors l'OB est appel une fois par le systme d'exploitation aprs
un dmarrage chaud ou froid, lorsque l'instant de
dclenchement est situ dans le pass (par rapport l'horloge en
temps rel de la CPU).

Un OB d'alarme horaire est encore actif


quand survient l'vnement dclencheur
de l'intervalle de temps suivant.

Le systme d'exploitation appelle l'OB80. Si ce dernier n'a pas t


programm, la CPU passe l'tat d'arrt.
Autrement, l'excution de l'OB80 et celle de l'OB d'alarme horaire
sont suivies de l'excution d'OB demande.

Donnes locales des OB d'alarme horaire


Le tableau suivant prsente les variables temporaires (TEMP) d'un OB d'alarme horaire.
Les noms de variable choisis sont les noms par dfaut de l'OB10.
Variable

Type de
donnes

Description

OB10_EV_CLASS

BYTE

Classe et code d'vnement : B#16#11 : alarme active

OB10_STRT_INFO

BYTE

B#16#11 : demande de dclenchement de l'OB10

(B#16#12 : demande de dclenchement de l'OB11)


:
:

(B#16#18 : demande de dclenchement de l'OB17)

OB10_PRIORITY

BYTE

Classe de priorit paramtre; par dfaut : 2

OB10_OB_NUMBR

BYTE

N de l'OB (10 17)

OB10_RESERVED_1

BYTE

Rserv

OB10_RESERVED_2

BYTE

Rserv

OB10_PERIOD_EXE

WORD

L'OB est excut selon l'intervalle de temps indiqu :


W#16#0000 : une fois
W#16#0201 : toutes les minutes
W#16#0401 : toutes les heures
W#16#1001 : tous les jours
W#16#1201 : toutes les semaines
W#16#1401 : tous les mois
W#16#1801 : tous les ans
W#16#2001 : la fin du mois

OB10_RESERVED_3

INT

Rserv

OB10_RESERVED_4

INT

Rserv

OB10_DATE_TIME

DATE_AND_TI
ME

Date et heure de demande de l'OB

1-8

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

1.4

OB d'alarme temporise (OB20 OB23)

Description
STEP 7 met votre disposition jusqu' quatre blocs d'organisation (OB20 OB23),
excuts chacun au terme d'un retard paramtrable. Chaque OB d'alarme temporise est
dclench par un appel de la fonction SFC32 "SRT_DINT". Le retard est un paramtre
d'entre de la fonction systme.
Quand votre programme appelle la SFC32 "SRT_DINT", vous remettez cette fonction le
numro d'OB, le retard et une identification utilisateur. Au terme du retard indiqu, l'OB
correspondant est dclench. Vous pouvez annuler le traitement d'une alarme
temporise qui n'a pas encore t dclenche.

Fonctionnement des OB d'alarme temporise


Au terme du retard que vous avez remis en ms la SFC32 accompagn d'un numro
d'OB, le systme d'exploitation dclenche l'OB correspondant.
Si vous voulez utiliser des OB d'alarme temporise, il faut procder comme suit.

Appelez la fonction systme SFC32 "SRT_DINT".

Chargez l'OB d'alarme temporise dans la CPU comme partie de votre programme.

Les OB d'alarme temporise ne sont excuts que si la CPU est l'tat Marche. Un
dmarrage chaud ou froid efface tout vnement dclencheur d'un OB d'alarme
temporise. Une alarme temporise qui n'a pas encore t active peut tre annule
l'aide de la fonction SFC33 "CAN_DINT".
Le retard est mesur avec une prcision de 1 ms. Il est possible de relancer un retard
ds qu'il est coul. La fonction SFC34 "QRY_DINT" vous permet de dterminer l'tat
d'une alarme temporise.
Le systme d'exploitation appelle un OB d'erreur asynchrone quand l'un des vnements
suivants se produit :

quand le systme d'exploitation tente de dclencher un OB qui n'est pas charg et


dont vous avez indiqu le numro lors de l'appel de la fonction systme SFC32
"SRT_DINT",

quand l'vnement dclencheur suivant d'une alarme temporise intervient avant que
l'excution de l'OB d'alarme temporise correspondant ne soit termine.

Les fonctions systme SFC39 42 vous permettent d'inhiber, d'ajourner et de valider de


nouveau des alarmes temporises.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-9

Blocs d'organisation

Donnes locales des OB d'alarme temporise


Le tableau suivant prsente les variables temporaires (TEMP) d'un OB d'alarme
temporise. Les noms de variable choisis sont les noms par dfaut de l'OB20.
Variable

Type de donnes

Dclaration

OB20_EV_CLASS

BYTE

TEMP

OB20_STRT_INF

BYTE

TEMP

Description
Classe et code d'vnement :
B#16#11 : alarme active
B#16#21 : demande de dclenchement de
l'OB20
(B#16#22 : demande de dclenchement de
l'OB21)
(B#16#23 : demande de dclenchement de
l'OB22)
(B#16#24 : demande de dclenchement de
l'OB23)

OB20_PRIORITY

BYTE

TEMP

Classe de priorit paramtre;


par dfaut : 3 (OB20) 6 (OB23)

OB20_OB_NUMBR

BYTE

TEMP

N de l'OB (20 23)

OB20_RESERVED_1

BYTE

TEMP

Rserv

OB20_RESERVED_2

BYTE

TEMP

Rserv

OB20_SIGN

WORD

TEMP

Identification utilisateur : paramtre d'entre


SIGN dans l'appel de la SFC32 "SRT_DINT"

OB20_DTIME

TIME

TEMP

Retard paramtr (en ms)

OB20_DATE_TIME

DATE_AND_TIME

TEMP

Date et heure de demande de l'OB

1-10

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

1.5

OB d'alarme cyclique (OB30 OB38)

Description
Vous disposez dans STEP 7 de neuf OB d'alarme cyclique (OB30 OB38) permettant
de dmarrer des programmes des intervalles de temps quidistants. Vous trouvez les
temps par dfaut et la classe de priorit de ces OB dans le tableau ci-dessous.
OB d'alarme cyclique

Priode par dfaut

Classe de priorit par dfaut

OB30

5s

OB31

2s

OB32

1s

OB33

500 ms

10

OB34

200 ms

11

OB35

100 ms

12

OB36

50 ms

13

OB37

20 ms

14

OB38

10 ms

15

Fonctionnement des OB d'alarme cyclique


Les instants de dclenchement quidistants des OB d'alarme cyclique rsultent de la
priode respective et du dcalage de phase respectif. Le rapport entre instant de
dclenchement, priode et dcalage de phase est expliqu dans /234/.
Nota
Veillez ce que le temps d'excution de chaque OB d'alarme cyclique soit distinctement
plus court que sa priode. Quand un OB d'alarme cyclique n'est pas encore termin, mais
que son excution s'impose de nouveau parce que la priode est coule, l'OB d'erreur
de temps (OB80) est dclench. Aprs quoi, l'alarme cyclique ayant caus l'erreur est
rattrape.

Les fonctions systme SFC39 42 vous permettent d'inhiber, d'ajourner ou de valider de


nouveau les alarmes cycliques.
Les plages de valeurs pour les paramtres Priode, Classe de priorit et Dcalage de
phase sont mentionnes parmi les caractristiques techniques de votre CPU. Vous
pouvez modifier ces paramtres l'aide de STEP 7.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-11

Blocs d'organisation

Donnes locales des OB d'alarme cyclique


Le tableau suivant prsente les variables temporaires (TEMP) d'un OB d'alarme cyclique.
Les noms de variable choisis sont les noms par dfaut de l'OB35.
Variable
OB35_EV_CLASS

Type de donnes
BYTE

Description
Classe et code d'vnement :
B#16#11 : alarme active

OB35_STRT_INF

BYTE

B#16#30 : demande de dclenchement de l'OB d'alarme


cyclique avec traitement spcial (uniquement pour les CPU
H et si autoris explicitement dans la configuration)

B#16#31 : demande de dclenchement de l'OB30


:

B#16#36 : demande de dclenchement de l'OB35


:

OB_35_PRIORITY

BYTE

OB35_OB_NUMBR
OB35_RESERVED_1
OB35_RESERVED_2
OB35_PHASE_OFFSET
OB35_RESERVED_3
OB35_EXC_FREQ
OB35_DATE_TIME

BYTE
BYTE
BYTE
WORD
INT
INT
DATE_AND_TIME

1-12

B#16#39 : demande de dclenchement de l'OB38


Classe de priorit paramtre;
par dfaut : 7 (OB30) 15 (OB38)
Numro de l'OB (30 38)
Rserv
Rserv
Dcalage de phases (en ms)
Rserv
Priode d'excution (en ms)
Date et heure de demande de l'OB

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

1.6

OB d'alarme de processus (OB40 OB47)

Description
Vous disposez dans STEP 7 de huit alarmes de processus, donc de huit blocs
d'organisation.
Vous paramtrez dans STEP 7, pour chaque module de signaux gnrant des alarmes
de processus,

les voies qui devront dclencher une alarme de processus dans une condition limite,

l'OB d'alarme de processus pour chaque groupe de voies (par dfaut, c'est l'OB40
qui traite toutes les alarmes de processus).

Pour les processeurs de communication et les modules de fonction, le paramtrage sera


effectu avec le logiciel ddi le logiciel appropri au module.
Dfinissez avec STEP 7 les classes de priorit des diffrents OB d'alarme de processus.

Fonctionnement des OB d'alarme de processus


Quand le module dclenche une alarme de processus, le systme d'exploitation identifie
l'emplacement d'enfichage et dtermine l'OB d'alarme de processus correspondant. Si
celui- ci a une priorit plus haute que la classe momentanment active, il est dclench.
L'acquittement pour cette voie particulire est effectu, une fois cet OB d'alarme de
processus termin.
Si un nouvel vnement cens dclencher une alarme de processus survient sur le
mme module entre l'identification et l'acquittement d'une alarme de processus, voil ce
qui se passe :

Si le nouvel vnement survient sur la voie qui a dj dclench l'alarme prcdente,


la nouvelle alarme est perdue. La figure suivante illustre cet tat de fait en prenant
pour exemple une voie d'un module d'entre TOR, l'vnement dclencheur tant le
front montant et l'OB d'alarme de processus associ tant l'OB40.

Alarmes de processus non dtectes


Signal
du processus

OB40

Excution de l'OB40

Si le nouvel vnement survient sur une autre voie du mme module, il est
momentanment impossible de dclencher une nouvelle alarme de processus. Mais
elle ne se perd pas. Elle sera dclenche aprs acquittement de l'alarme active.

Quand l'OB associ l'alarme de processus dclenche est justement actif par suite
d'une alarme d'un autre module, la nouvelle demande est enregistre et l'OB est excut
lorsque cela devient possible.
Les fonctions systme SFC39 42 vous permettent d'inhiber, d'ajourner et de valider de
nouveau les alarmes de processus.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-13

Blocs d'organisation

Vous pouvez procder au paramtrage des alarmes de processus d'un module non
seulement avec STEP 7, mais aussi avec les fonctions systme SFC 55 57.

Donnes locales des OB d'alarme de processus


Le tableau suivant prsente les variables temporaires (TEMP) d'un OB d'alarme de
processus. Les noms de variable choisis sont les noms par dfaut de l'OB40.
Variable

Type de donnes

Description

OB40_EV_CLASS

BYTE

Classe et code d'vnement :


B#16#11 : alarme active

OB40_STRT_INF

BYTE

B#16#41 : alarme via ligne d'interruption 1

B#16#42 : alarme via ligne d'interruption 2 (S7-400


seulement)

B#16#43 : alarme via ligne d'interruption 3 (S7-400


seulement)

B#16#44 : alarme via ligne d'interruption 4 (S7-400


seulement)

B#16#45 : WinAC : alarme dclenche par le PC

OB40_PRIORITY

BYTE

Classe de priorit paramtre;


par dfaut : 16 (OB40) 23 (OB47)

OB40_OB_NUMBR

BYTE

Numro de l'OB (40 47)

OB40_RESERVED_1

BYTE

Rserv

OB40_IO_FLAG

BYTE

Module d'entres : B#16#54

OB40_MDL_ADDR

WORD

Adresse de base logique du module dclenchant l'alarme

OB40_POINT_ADDR

DWORD

Pour modules TOR :


champ de bits avec les tats des entres sur le module;
consulter la description du module en question pour savoir
quel bit de OB40_POINT_ADDR appartient quelle voie du
module.

Pour modules analogiques :


champ de bits spcifiant quelle voie a dpass quelle limite
(la structure exacte est donnes sous /71/ ou /101/).

Pour CP ou IM :
tat d'alarme du module (non destin l'utilisateur)

Module de sorties : B#16#55

OB40_DATE_TIME

DATE_AND_TIME

Date et heure de demande de l'OB

Nota
Lorsque vous mettez en uvre une CPU prenant en charge le mode DPV1, le SFB54
"RALRM" vous permet d'obtenir, outre les informations de dclenchement de l'OB,
d'autres informations sur l'alarme. Ceci est galement le cas lorsque le matre DP
fonctionne en mode compatible S7.

1-14

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

1.7

OB d'alarme d'tat (OB55)


Nota
L'OB d'alarme d'tat (OB55) n'existe que pour les CPU prenant en charge le mode DPV1.

Description
Le systme d'exploitation de la CPU appelle l'OB55 lorsqu'une alarme d'tat a t
dclenche depuis un emplacement d'un esclave DPV1. Ceci peut se produire lorsqu'un
composant (module ou sous-module) d'un esclave DPV1 change de mode de
fonctionnement, p. ex. de MARCHE ARRET. Les vnements prcis qui dclenchent
une alarme d'tat sont indiqus dans la documentation du fabricant de l'esclave DPV1.

Donnes locales de l'OB d'alarme d'tat


Le tableau suivant prsente les variables temporaires (TEMP) d'un OB d'alarme d'tat.
Les noms de variable choisis sont les noms par dfaut de l'OB55.
Variable

Type de donnes

Description

OB55_EV_CLASS

BYTE

Classe et code d'vnement :


B#16#11 : vnement apparaissant

OB55_STRT_INF

BYTE

B#16#55 (demande de dclenchement de l'OB55)

OB55_PRIORITY

BYTE

Classe de priorit paramtre; par dfaut : 2

OB55_OB_NUMBR

BYTE

Numro de l'OB (55)

OB55_RESERVED_1

BYTE

Rserv

OB55_IO_FLAG

BYTE

Module d'entres : B#16#54

OB55_MDL_ADDR

WORD

Adresse de base logique du composant (module ou sousmodule) dclenchant l'alarme

OB55_LEN

BYTE

Longueur du bloc de donnes fourni par l'alarme

OB55_TYPE

BYTE

Identification du type d'alarme "Alarme d'tat"

OB55_SLOT

BYTE

Numro de l'emplacement du composant (module ou sousmodule) dclenchant l'alarme

OB55_SPEC

BYTE

Specifier :

Module de sorties : B#16#55

OB55_DATE_TIME

DATE_AND_TIME

Bits 0 1: Alarm-Specifier

Bit 2 : Add_Ack

Bits 3 7 : Seq-Nr.

Date et heure de demande de l'OB

Nota
Vous obtenez l'information d'alarme complte du tlgramme DP en appelant le SFB54
"RALRM" dans l'OB55.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-15

Blocs d'organisation

1.8

OB d'alarme de mise jour (OB56)


Nota
L'OB d'alarme de mise jour (OB56) n'existe que pour les CPU prenant en charge le
mode DPV1.

Description
Le systme d'exploitation de la CPU appelle l'OB56 lorsqu'une alarme de mise jour a
t dclenche depuis un emplacement d'un esclave DPV1. Ceci peut se produire aprs
que vous ayez modifi des paramtres un emplacement d'un esclave DPV1. Les
vnements prcis qui dclenchent une alarme de mise jour sont indiqus dans la
documentation du fabricant de l'esclave DPV1.

Donnes locales de l'OB d'alarme de mise jour


Le tableau suivant prsente les variables temporaires (TEMP) d'un OB d'alarme de mise
jour. Les noms de variable choisis sont les noms par dfaut de l'OB56.
Variable

Type de donnes

Description

OB56_EV_CLASS

BYTE

Classe et code d'vnement :


B#16#11 : vnement apparaissant

OB56_STRT_INF

BYTE

B#16#56 (demande de dclenchement de l'OB56)

OB56_PRIORITY

BYTE

Classe de priorit paramtre; par dfaut : 2

OB56_OB_NUMBR

BYTE

Numro de l'OB (56)

OB56_RESERVED_1

BYTE

Rserv

OB56_IO_FLAG

BYTE

Module d'entres : B#16#54

OB56_MDL_ADDR

WORD

Adresse de base logique du composant (module ou sousmodule) dclenchant l'alarme

OB56_LEN

BYTE

Longueur du bloc de donnes fourni par l'alarme

OB56_TYPE

BYTE

Identification du type d'alarme "Alarme de mise jour"

OB56_SLOT

BYTE

Numro de l'emplacement du composant (module ou sousmodule) dclenchant l'alarme

OB56_SPEC

BYTE

Specifier :

Module de sorties : B#16#55

OB56_DATE_TIME

DATE_AND_TIME

Bits 0 1: Alarm-Specifier

Bit 2 : Add_Ack

Bits 3 7 : Seq-Nr.

Date et heure de demande de l'OB

Nota
Vous obtenez l'information d'alarme complte du tlgramme DP en appelant le SFB54
"RALRM" dans l'OB56.

1-16

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

1.9

OB pour alarmes spcifiques au fabricant (OB57)


Nota
L'OB pour alarmes spcifiques au fabricant (OB57) n'existe que pour les CPU prenant en
charge le mode DPV1.

Description
Le systme d'exploitation de la CPU appelle l'OB57 lorsqu'une alarme spcifique au
fabricant a t dclenche depuis un emplacement d'un esclave DPV1.

Donnes locales de l'OB pour alarmes spcifiques au fabricant


Le tableau suivant prsente les variables temporaires (TEMP) d'un OB pour alarmes
spcifiques au fabricant. Les noms de variable choisis sont les noms par dfaut de
l'OB57.
Variable

Type de donnes

Description

OB57_EV_CLASS

BYTE

Classe et code d'vnement :


B#16#11 : vnement apparaissant

OB57_STRT_INF

BYTE

B#16#57 (demande de dclenchement de l'OB57)

OB57_PRIORITY

BYTE

Classe de priorit paramtre; par dfaut : 2

OB57_OB_NUMBR

BYTE

Numro de l'OB (57)

OB57_RESERVED_1

BYTE

Rserv

OB57_IO_FLAG

BYTE

Module d'entres : B#16#54

OB57_MDL_ADDR

WORD

Adresse de base logique du composant (module ou sousmodule) dclenchant l'alarme

OB57_LEN

BYTE

Longueur du bloc de donnes fourni par l'alarme

OB57_TYPE

BYTE

Identification du type d'alarme "Alarme spcifique au fabricant "

OB57_SLOT

BYTE

Numro de l'emplacement du composant (module ou sousmodule) dclenchant l'alarme

OB57_SPEC

BYTE

Specifier :

Module de sorties : B#16#55

OB57_DATE_TIME

DATE_AND_TIME

Bits 0 1 : Alarm-Specifier

Bit 2 : Add_Ack

Bits 3 7 : Seq-Nr.

Date et heure de demande de l'OB

Nota
Vous obtenez l'information d'alarme complte du tlgramme DP en appelant le SFB54
"RALRM" dans l'OB57.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-17

Blocs d'organisation

1.10

OB d'alarme multiprocesseur (OB60)

Description
En mode multiprocesseur, cette alarme vous permet de ragir un vnement de
manire synchrone sur les CPU concernes. Contrairement aux alarmes de processus,
qui sont dclenches par des modules de signaux, l'alarme multiprocesseur peut tre
sortie uniquement par une CPU.

Fonctionnement de l'OB60
L'alarme multiprocesseur est dclenche par l'appel de la SFC35 "MP_ALM". En mode
multiprocesseur, cela provoque le dmarrage synchronis de l'OB60 dans toutes les
CPU enfiches du segment de bus, condition que vous n'ayez ni inhib (au moyen de
la SFC39 "DIS_IRT") ni ajourn (au moyen de la SFC41 "DIS_AIRT") cet OB60. Si vous
n'avez pas charg l'OB60 dans l'une des CPU, cette dernire retourne immdiatement
dans la classe de priorit excute en dernier lieu et y poursuit l'excution du
programme. En mode monoprocesseur et quand vous travaillez avec un chssis
segment, l'OB60 est dmarr seulement dans la CPU dans laquelle vous avez appel la
SFC35 "MP_ALM".
Quand votre programme appelle la SFC35 "MP_ALM", vous lui remettez une
identification de tche de votre choix. Cette ID est transmise toutes les CPU et vous
permet de ragir en fonction de l'vnement en prsence. Si vous avez programm
l'OB60 diffremment dans les diffrentes CPU, il peut avoir des temps d'excution
diffrents. Dans ce cas, l'excution de chaque classe de priorit interrompue reprendra
des moments diffrents. Si une CPU sort l'alarme multiprocesseur suivante alors qu'une
autre CPU est encore occupe excuter l'OB60 de l'alarme prcdente, l'OB60 ne sera
dmarr ni dans la CPU qui l'a demand ni dans aucune autre CPU enfiche du segment
de bus. Cet tat de fait, reprsent pour deux CPU dans la figure suivante, vous est
signal par une valeur approprie de la SFC35 appele.

CPU 1 :

"CALL SFC35"
Excution d'OB60

Excution d'OB60
Cycle

Cycle

"CALL SFC35"
CPU 2 :

Excution d'OB60
Cycle

1-18

"CALL SFC35"
Excution d'OB60
Cycle

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

Donnes locales de l'OB60


Le tableau suivant contient les variables temporaires (TEMP) de l'OB d'alarme
multiprocesseur. Les noms de variables choisis sont les noms par dfaut de l'OB60.
Variable
OB60_EV_CLASS

Type de donnes
BYTE

Description
Classe et code d'vnement :
B#16#11: l'alarme est active

OB60_STRT_INF

BYTE

B#16#61 :
alarme multiprocesseur dclenche par la propre CPU

OB60_PRIORITY
OB60_OB_NUMBR
OB60_RESERVED_1
OB60_RESERVED_2
OB60_JOB
OB60_RESERVED_3
OB60_RESERVED_4
OB60_DATE_TIME

BYTE
BYTE
BYTE
BYTE
INT
INT
INT
DATE_AND_TIME

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

B#16#62 :
alarme multiprocesseur dclenche par une autre CPU
Classe de priorit paramtre; par dfaut : 25
Numro de l'OB (60)
Rserv
Rserv
ID de tche : variable d'entre JOB de la SFC35 "MP_ALM"
Rserv
Rserv
Date et heure de demande de l'OB

1-19

Blocs d'organisation

1.11

OB d'alarme de synchronisme (OB61 OB64)

Description
Les alarmes de synchronisme d'horloge offrent la possibilit de dmarrer des
programmes de manire synchrone avec le cycle DP. LOB 6y (1 <= y <= 4) sert d'OB
d'interface l'alarme de synchronisme d'horloge TSALy. Vous pouvez attribuer aux OB
61 64 une priorit 0 (OB dsactiv) ou comprise entre 2 et 26.

Avertissement
En cas d'accs direct avec des oprations L ou T (par ex. L PEB, T PAB) ou quand vous
utilisez les SFC 14 "DPRD_DAT" et 15 "DPWR_DAT", vitez d'accder des zones de
la priphrie auxquelles sont associes des mmoires images partielles lies un OB6x
(alarme de synchronisme d'horloge).

Donnes locales de l'OB d'alarme de synchronisme d'horloge


Le tableau suivant contient les variables temporaires (TEMP) de l'OB d'alarme de
synchronisme d'horloge. Les noms de variables choisis sont les noms par dfaut de
l'OB61.
Variable

Type de donnes

Description

OB61_EV_CLASS

BYTE

Classe et code d'vnement :


B#16#11: l'alarme est active

OB61_STRT_INF

BYTE

B#16#64 : demande de dclenchement de lOB61


:
B#16#67 : demande de dclenchement de lOB64

OB61_PRIORITY

BYTE

Classe de priorit paramtre; par dfaut : 25

OB61_OB_NUMBR

BYTE

Numro de l'OB : 61 64

OB61_RESERVED_1

BYTE

Rserv

OB61_RESERVED_2

BYTE

Rserv

OB61_GC_VIOL

BOOL

Violation GC

OB61_FIRST

BOOL

Premire excution aprs tat de mise en route ou d'attente

OB61_MISSED_EXEC

BYTE

Nombre de dmarrages rats du bloc OB61 depuis la dernire


excution de ce dernier

OB61_DP_ID

BYTE

ID du rseau matre DP synchrone

OB61_RESERVED_3

BYTE

Rserv

OB61_RESERVED_4

WORD

Rserv

OB61_DATE_TIME

DATE_AND_TIME

Date et heure de demande de l'OB

1-20

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

1.12

OB d'erreur de redondance dans la priphrie (OB70)


Nota
L'OB d'erreur de redondance dans la priphrie (OB70) n'existe que dans les
CPU H.

Description
Le systme d'exploitation de la CPU H appelle l'OB70 en cas de perte de redondance
sur PROFIBUS DP (par exemple lors d'une dfaillance de bus sur le matre DP actif ou
d'une erreur dans le couplage de l'esclave DP) ou de changement du matre DP
d'esclaves DP priphrie commute.
La CPU ne passe pas l'tat d'arrt lorsqu'un vnement dclencheur pertinent se
produit et que l'OB70 n'est pas programm. Si l'OB70 est charg et que le systme H est
en mode redondant, l'OB70 est excut dans les deux CPU. Le systme H reste en
mode redondant.

Donnes locales de l'OB d'erreur de redondance dans la priphrie


Le tableau ci-aprs prsente les variables temporaires (TEMP) de l'OB d'erreur de
redondance dans la priphrie. Les noms de variable choisis sont les noms par dfaut de
l'OB70.
Variable

Type de donnes

Description

OB70_EV_CLASS

BYTE

Classe et code d'vnement :


B#16#72 : vnement apparaissant
B#16#73 : vnement disparaissant

OB70_FLT_ID

BYTE

Code d'erreur (valeurs possibles : B#16#A2, B#16#A3)

OB70_PRIORITY

BYTE

Classe de priorit; paramtrable via STEP 7 (configuration


matrielle)

OB70_OB_NUMBR

BYTE

Numro de l'OB (70)

OB70_RESERVED_1

WORD

Rserv

OB70_INFO_1

WORD

Selon le code d'erreur

OB70_INFO_2

WORD

Selon le code d'erreur

OB70_INFO_3

WORD

Selon le code d'erreur

OB70_DATE_TIME

DATE_AND_TIME

Date et heure de demande de l'OB

Le tableau suivant indique quel vnement a dclench l'OB70.


OB70_EV_CLASS

OB70_FLT_ID

Evnement dclencheur de l'OB70

B#16#72

B#16#A2

Dfaillance d'un matre DP ou d'un rseau matre DP

B#16#73/B#16#72

B#16#A3

Perte / retour de redondance pour l'esclave DP

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-21

Blocs d'organisation

Les variables qui dpendent du code d'erreur peuvent avoir les significations suivantes :
Code d'erreur

Bits

Signification

B#16#A2
OB70_INFO_1 :

Adresse de base logique du matre DP concern

OB70_INFO_2 :

Rserv

OB70_INFO_3 :

07:

Rserv

8 15 :

ID de rseau du matre DP concern

B#16#A3
OB70_INFO_1 :

Adresse de base logique du matre DP

OB70_INFO_2 :

Esclave DP concern :
0 14 :

adresse de base logique pour un esclave S7 ou adresse de


diagnostic pour un esclave DP norm

15 :

identification E/S
Esclave DP concern :

OB70_INFO_3 :
07:

n de la station DP

8 15 :

ID de rseau matre DP

Nota
Lorsque vous mettez en uvre une CPU prenant en charge le mode DPV1, le SFB54
"RALRM" vous permet d'obtenir, outre les informations de dclenchement de l'OB,
d'autres informations sur l'alarme. Ceci est galement le cas lorsque le matre DP
fonctionne en mode compatible S7.

1-22

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

1.13

OB d'erreur de redondance dans la CPU (OB72)


Nota
L'OB d'erreur de redondance dans la CPU (OB72) n'existe que dans les CPU H.

Description
Le systme d'exploitation de la CPU H appelle l'OB72 quand l'un des vnements
suivants survient :

perte de redondance des CPU,

commutation rserve-matre,

erreur de synchronisation,

erreur dans un module de synchronisation,

abandon de l'actualisation,

erreur de comparaison (par exemple RAM, mmoire image des sorties).

L'OB72 est excut par toutes les CPU se trouvant l'tat de marche ou de mise en
route aprs un vnement dclencheur pertinent.

Donnes locales de l'OB d'erreur de redondance dans la CPU


Le tableau ci-aprs prsente les variables temporaires (TEMP) de l'OB d'erreur de
redondance dans la CPU. Les noms de variable choisis sont les noms par dfaut de
l'OB72.
Variable

Type de donnes

Description

OB72_EV_CLASS

BYTE

Classe et code d'vnement :


B#16#73, B#16#75, B#16#79, B#16#78

OB72_FLT_ID

BYTE

Code d'erreur (valeurs possibles : B#16#01, B#16#02,


B#16#03, B#16#20, B#16#21, B#16#22, B#16#23, B#16#31,
B#16#33, B#16#34, B#16#35, B#16#40, B#16#41, B#16#42,
B#16#43, B#16#44, B#16#50, B#16#51, B#16#52, B#16#53,
B#16#54, B#16#55, B#16#56, B#16#C1, B#16#C2)

OB72_PRIORITY

BYTE

Classe de priorit; paramtrable via STEP 7 (configuration


matrielle)

OB72_OB_NUMBR

BYTE

Numro de l'OB (72)

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-23

Blocs d'organisation

Variable

Type de donnes

Description

OB72_RESERVED_1

WORD

Uniquement pour code d'erreur B#16#03 :

OB72_INFO_1

WORD

octet de poids fort : identification pour le contenu de


l'OB72_INFO_2 et de l'OB72_INFO_3
-

0 : OB72_INFO-2 et OB72_INFO_3 ne sont pas


significatifs

B#16#C4 : le passage en mode de fonctionnement


redondant aprs le mode de recherche d'erreur a t
ralis avec commutation matre-rserve (si
OB72_INFO_3=W#16#0001) ou sans commutation
matre-rserve (si OB72_INFO_3=W#16#0002).
L'OB72_INFO_2 est rserv.

B#16#CD : l'OB72_INFO_2 et l'OB72_INFO_3


comportent le temps d'inhibition effectif pour les
classes de priorit > 15

octet de poids faible : rserv

Uniquement pour code d'erreur B#16#C2 :

octet de poids fort : identification pour le temps de


surveillance dpass :
-

1 : allongement du temps de cycle

2 : temps de parcours de la priphrie

3 : retard de communication

octet de poids faible : tentative d'actualisation en cours

OB72_INFO_2

WORD

Uniquement pour code d'erreur B#16#03 et


OB72_RESERVED_1=B#16#CD : mot de poids fort du temps
d'inhibition effectif en ms pour les classes de priorit > 15

OB72_INFO_3

WORD

Uniquement pour code d'erreur B#16#03 :

OB72_DATE_TIME

1-24

DATE_AND_TIME

OB72_RESERVED_1=B#16#C4 :
-

W#16#0001 : le passage en mode de


fonctionnement redondant aprs le mode de
recherche d'erreur a t ralis avec commutation
matre-rserve

W#16#0002 : le passage en mode de


fonctionnement redondant aprs le mode de
recherche d'erreur a t ralis sans commutation
matre-rserve

OB72_RESERVED_1=B#16#CD : mot de poids faible du


temps d'inhibition effectif en ms pour les classes de
priorit > 15

Date et heure de demande de l'OB

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

Le tableau suivant indique quel vnement a dclench l'OB72.


OB72_EV_CLASS

OB72_FLT_ID

Evnement dclencheur de l'OB72

B#16#73

B#16#01

Perte de redondance (1 sur 2) due la dfaillance d'une CPU

B#16#73

B#16#02

Perte de redondance (1 sur 2) due au STOP de la rserve dclench


par l'utilisateur

B#16#73

B#16#03

Systme H (1 sur 2) pass en mode redondant

B#16#73

B#16#20

Erreur de comparaison de RAM

B#16#73

B#16#21

Erreur de comparaison des valeurs de sortie de la mmoire image

B#16#73

B#16#22

Erreur de comparaison de mmentos, temporisations ou compteurs

B#16#73

B#16#23

Diffrences entre les donnes des systmes d'exploitation

B#16#73

B#16#31

Commutation rserve-matre pour cause de dfaillance du matre

B#16#73

B#16#33

Commutation rserve-matre dans le cadre d'une modification de


l'installation en cours de fonctionnement

B#16#73

B#16#34

Commutation rserve-matre pour cause de liaison dfectueuse sur le


module de synchronisation

B#16#73

B#16#35

Commutation rserve-matre dclenche par une SFC90 "H_CTRL"

B#16#73

B#16#40

Erreur de synchronisation dans le programme utilisateur due


l'expiration d'un temps d'attente

B#16#73

B#16#41

Erreur de synchronisation dans le programme utilisateur due une


attente des points de synchronisation diffrents

B#16#73

B#16#42

Erreur de synchronisation dans le systme d'exploitation due une


attente des points de synchronisation diffrents

B#16#73

B#16#43

Erreur de synchronisation dans le systme d'exploitation due


l'expiration d'un temps d'attente

B#16#73

B#16#44

Erreur de synchronisation dans le systme d'exploitation due des


donnes fausses

B#16#79

B#16#50

Module de synchronisation manquant

B#16#79

B#16#51

Modification sur le module de synchronisation sans mise sous tension

B#16#79/B#16#78

B#16#52

Module de synchronisation dbroch/enfich

B#16#79

B#16#53

Modification sur le module de synchronisation sans effacement gnral

B#16#79

B#16#54

Module de synchronisation : n de chssis attribu en double

B#16#79/B#16#78

B#16#55

Erreur de module de synchronisation/ limine

B#16#79

B#16#56

N de chssis illicite rgl sur le module de synchronisation

B#16#73

B#16#C1

Abandon de l'actualisation

B#16#73

B#16#C2

Abandon de l'actualisation pour cause de dpassement d'un temps de


surveillance la n-ime tentative (1 n nombre max. possible de
tentatives d'actualisation aprs abandon pour dpassement de temps)

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-25

Blocs d'organisation

1.14

OB d'erreur de redondance de communication (OB73)


Nota
L'OB d'erreur de redondance de communication (OB73) n'existe que pour la version de
Firmware V2.0.x de la CPU 417-4H.

Description
Le systme d'exploitation de la CPU H appelle l'OB73 la premire perte de redondance
d'une liaison S7 de scurit (les liaisons S7 de scurit existent uniquement pour la
communication S7, voir "Automate programmable S7-400 H, Systmes de scurit"). En
cas de perte de redondance d'autres liaisons S7 de scurit, l'OB73 n'est pas dclench
une nouvelle fois.
L'OB73 n'est dclench de nouveau que si vous avez rtabli la redondance pour toutes
les liaisons S7 de scurit.
La CPU ne passe pas l'tat d'ARRET si un vnement dclencheur pertinent survient
alors que l'OB73 n'est pas programm.

Donnes locales de l'OB d'erreur de redondance de communication


Le tableau ci-aprs prsente les variables temporaires (TEMP) de l'OB d'erreur de
redondance de communication. Les noms de variable choisis sont les noms par dfaut de
l'OB73.
Variable

Type de donnes

Description

OB73_EV_CLASS

BYTE

Classe et code d'vnement :


B#16#73, B#16#72

OB73_FLT_ID

BYTE

Code d'erreur (valeur possible : B#16#E0)

OB73_PRIORITY

BYTE

Classe de priorit paramtre ; valeur par dfaut : 25

OB73_OB_NUMBR

BYTE

Numro de l'OB (73)

OB73_RESERVED_1

WORD

Rserv

OB73_INFO_1

WORD

(non destin l'utilisateur)

OB73_INFO_2

WORD

(non destin l'utilisateur)

OB73_INFO_3

WORD

(non destin l'utilisateur)

OB73_DATE_TIME

DATE_AND_TIME

Date et heure de demande de l'OB

Le tableau suivant indique quel vnement a dclench l'OB73.


OB73_FLT_ID

Evnement dclencheur de l'OB73

B#16#E0

Perte de redondance de la communication / limine

1-26

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

1.15

OB d'erreur de temps (OB80)

Description
Le systme d'exploitation de la CPU appelle l'OB80 si l'une des erreurs suivantes se
produit lors de l'excution d'un OB : dpassement du temps de cycle, erreur
d'acquittement lors de l'excution d'un OB, saut de l'heure de dclenchement d'un OB
(horloge avance), nouveau passage en mode RUN aprs CiR. C'est le cas, par
exemple, quand un vnement dclencheur d'un OB d'alarme cyclique intervient avant
que ne soit achev le traitement prcdent de cet OB.
Si l'OB80 n'a pas t programm, la CPU passe l'tat d'arrt.
Les fonctions systme SFC39 42 vous permettent d'inhiber, d'ajourner et de valider de
nouveau l'OB d'erreur de temps.
Nota
Si l'OB80 est appel deux fois dans le mme cycle cause d'un dpassement du temps
de cycle, la CPU passe l'tat d'arrt. Vous pouvez empcher cela en appelant la SFC43
"RE_TRIGR" au point appropri.

Donnes locales de l'OB d'erreur de temps


Le tableau suivant prsente les variables temporaires (TEMP) de l'OB d'erreur de temps.
Les noms de variable choisis sont les noms par dfaut de l'OB80.
Variable

Type de donnes

Description

OB80_EV_CLASS

BYTE

Classe et code d'vnement : B#16#35

OB80_FLT_ID

BYTE

Code d'erreur
(valeurs possibles : B#16#01, B#16#02, B#16#05, B#16#06,
B#16#07, B#16#08, B#16#09, B#16#0A)

OB80_PRIORITY

BYTE

Classe de priorit : en mode RUN, l'OB 80 fonctionne avec la


classe de priorit 26 et en cas de dbordement du tampon
des demandes, en classe de priorit 28

OB80_OB_NUMBR

BYTE

Numro de l'OB (80)

OB80_RESERVED_1

BYTE

Rserv

OB80_RESERVED_2

BYTE

Rserv

OB80_ERROR_INFO

WORD

Informations d'erreur : selon le code d'erreur

OB80_ERR_EV_CLASS

BYTE

Classe de l'vnement qui a dclench l'erreur

OB80_ERR_EV_NUM

BYTE

Numro de l'vnement qui a dclench l'erreur

OB80_OB_PRIORITY

BYTE

Informations d'erreur : selon le code d'erreur

OB80_OB_NUM

BYTE

Informations d'erreur : selon le code d'erreur

OB80_DATE_TIME

DATE_AND_TIME

Date et heure de demande de l'OB

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-27

Blocs d'organisation

Les variables qui dpendent du code d'erreur peuvent avoir la signification suivante :
Code d'erreur

Bits

Signification
Dpassement du temps de cycle

B#16#01
OB80_ERROR_INFO :

temps d'excution du dernier cycle (en ms)

OB80_ERR_EV_CLASS :

classe de l'vnement qui a dclench l'alarme

OB80_ERR_EV_NUM :

numro de l'vnement qui a dclench l'alarme

OB80_OB_PRIORITY :

classe de priorit de l'OB actif lorsque l'erreur s'est produite

OB80_OB_NUM :

numro de l'OB actif lorsque l'erreur s'est produite


L'OB demand est actif

B#16#02
OB80_ERROR_INFO :

variable temporaire correspondante de l'OB demand; ce dernier


est dtermin par OB80_ERR_EV_CLASS et
OB80_ERR_EV_NUM.

OB80_ERR_EV_CLASS :

classe de l'vnement qui a dclench l'alarme

OB80_ERR_EV_NUM :

numro de l'vnement qui a dclench l'alarme

OB80_OB_PRIORITY :

classe de priorit de l'OB responsable de l'erreur


(ex. : "7" pour l'OB30 avec la classe de priorit 7, qui devait tre
dclench mais n'a pu l'tre)

OB80_OB_NUM :

numro de l'OB responsable de l'erreur (ex. : "30" pour l'OB30 qui


devait tre dclench mais n'a pu l'tre)

B#16#05

Alarme horaire expire en raison d'un saut horaire

B#16#06

Alarme horaire expire lors du retour Marche aprs Attente

OB80_ERROR_INFO :

bit 0 mis 1
:
bit 7 mis 1
:

OB80_ERR_EV_CLASS :
OB80_ERR_EV_NUM :

bits 8 15 :

pour l'alarme horaire 0, l'instant de dclenchement est dans le


pass.
pour l'alarme horaire 7, l'instant de dclenchement est dans le
pass.
non utiliss
non utilise
non utilise

OB80_OB_PRIORITY :

non utilise

OB80_OB_NUM :

non utilise

B#16#07
(pour la signification des
paramtres, voir le code
d'erreur B#16#02)

Dbordement de la mmoire tampon de demandes d'OB pour la


classe de priorit active
(Pour une classe de priorit donne, chaque demande de
dclenchement d'un OB est inscrite dans la mmoire tampon
correspondante; une fois l'excution de l'OB termine, l'entre est
efface de la mmoire. Si le nombre de demandes de
dclenchement dpasse, pour une classe de priorit, celui des
entres possibles dans le tampon correspondant, l'OB80 est
appel avec le code d'erreur B#16#07.)

B#16#08
(pour la signification des
paramtres, voir le code
d'erreur B#16#02)

Erreur de temps de l'alarme de synchronisme d'horloge

B#16#09
(pour la signification des
paramtres, voir le code
d'erreur B#16#02)

Perte d'alarme par suite d'une surcharge en alarmes

B#16#0A

Nouveau passage en mode RUN aprs CiR

OB80_ERROR_INFO :

1-28

Temps de synchronisation CiR (en ms)

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

1.16

OB d'erreur d'alimentation (OB81)

Description
Le systme d'exploitation de la CPU appelle l'OB81 quand survient un vnement
provoqu par une erreur d'alimentation ou de sauvegarde (qu'il s'agisse d'un vnement
apparaissant ou disparaissant).
Pour S7-400, l'OB81 n'est appel pour une erreur de pile que si la vrification de la pile
est active l'aide du commutateur BATT.INDIC.
La CPU ne passe pas l'tat d'arrt si l'OB81 n'est pas programm.
Les fonctions systme SFC39 42 vous permettent d'inhiber, d'ajourner et de valider de
nouveau l'OB d'erreur d'alimentation.

Donnes locales de l'OB d'erreur d'alimentation


Le tableau suivant prsente les variables temporaires (TEMP) de l'OB d'erreur
d'alimentation. Les noms de variable choisis sont les noms par dfaut de l'OB81.
Variable
OB81_EV_CLASS

Type de donnes
BYTE

OB81_FLT_ID

BYTE

OB81_PRIORITY

BYTE

OB81_OB_NUMBR
OB81_RESERVED_1
OB81_RESERVED_2
OB81_RACK_CPU

BYTE
BYTE
BYTE
WORD

OB81_RESERVED_3

BYTE

OB81_RESERVED_4
OB81_RESERVED_5
OB81_RESERVED_6
OB81_DATE_TIME

BYTE
BYTE
BYTE
DATE_AND_TIME

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Description
Classe et code d'vnement :
B#16#38 : vnement disparaissant
B#16#39 : vnement apparaissant
Code d'erreur (valeurs possibles : B#16#21, B#16#22, B#16#23,
B#16#25, B#16#26, B#16#27, B#16#31, B#16#32, B#16#33)
Classe de priorit; paramtrable via STEP 7 (configuration
matrielle)
Par exemple : valeurs paramtrables pour l'tat de
fonctionnement Marche : 2 26
Numro de l'OB (81)
Rserv
Rserv

bits 0 2 :

n de chssis;

bit 3 :

0=CPU de rserve, 1=CPU matre;

bits 4 7 : 1111.
Signifiant pour les codes d'erreur B#16#31, B#16#32, B#16#33
seulement

Date et heure de demande de l'OB

1-29

Blocs d'organisation

Les variables OB81_RESERVED_i, 3 i 6, indiquent les appareils d'extension pour


lesquels la sauvegarde par pile (code d'erreur B#16#31), la tension de sauvegarde (code
d'erreur B#16#32) ou l'alimentation de 24 V (code d'erreur B#16#33) ont t dfaillantes ou
sont revenues. Le tableau ci- aprs montre quel bit correspond quel appareil d'extension
dans les variables OB81_RESERVED_i, 3 i 6.
OB81_RESERVED_6 OB81_RESERVED_5 OB81_RESERVED_4 OB81_RESERVED_3
Bit 0

rserv
er

8e

16e

rserv

Bit 1

1 appareil

17

rserv

Bit 2

2e

10e

18e

rserv

Bit 3

rserv

11

19

Bit 4

12

20

rserv

Bit 5

5e

13e

21e

rserv

Bit 6

14

rserv

rserv

Bit 7

7e

15e

rserv

rserv

Ces bits des variables OB81_RESERVED_i ont la signification suivante (pour l'appareil
concern) :
Lors de l'vnement apparaissant, les appareils marqus (par une mise 1 du bit
correspondant) sont ceux pour lesquels une pile au moins ou une tension de sauvegarde
ou l'alimentation 24 V est dfaillante. Les appareils pour lesquels une pile au moins ou
une tension de sauvegarde ou l'alimentation 24 V tait dj dfaillante auparavant ne
sont plus indiqus.
L'vnement disparaissant signale une sauvegarde revenue dans un appareil d'extension
au moins (le bit correspondant est 1).
Le tableau ci-aprs indique quel vnement a caus le dclenchement de l'OB81 :
OB81_EV_CLASS

OB81_FLT_ID Signification

B#16#39/B#16#38

B#16#21

BATTF : Dfaillance d'une pile de sauvegarde au moins dans l'appareil


de base / limine
Nota : l'vnement n'apparat que lors de la dfaillance de l'une des
deux piles (dans le cas de piles de sauvegarde redondantes). En cas
de dfaillance de l'autre pile, il n'apparat pas une nouvelle fois.

B#16#39/B#16#38

B#16#22

BAF : Dfaillance de la tension de sauvegarde dans l'appareil de base


/ limine

B#16#39/B#16#38

B#16#23

Dfaillance de l'alimentation 24 V dans l'appareil de base / limine

B#16#39/B#16#38

B#16#25

BATTF : Dfaillance d'une pile de sauvegarde au moins dans un


appareil de base redondant / limine

B#16#39/B#16#38

B#16#26

BAF : Dfaillance de la tension de sauvegarde dans un appareil de


base redondant / limine

B#16#39/B#16#38

B#16#27

Dfaillance de l'alimentation 24 V dans un appareil de base redondant /


limine

B#16#39/B#16#38

B#16#31

BATTF : Dfaillance d'une pile de sauvegarde au moins dans un


appareil d'extension au moins / limine

B#16#39/B#16#38

B#16#32

BAF : Dfaillance de la tension de sauvegarde dans un appareil


d'extension au moins / limine

B#16#39/B#16#38

B#16#33

Dfaillance de l'alimentation 24 V dans un appareil d'extension au


moins / limine

1-30

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

1.17

OB d'alarme de diagnostic (OB82)

Description
Quand un module capable de diagnostic, pour lequel vous avez valid l'alarme de
diagnostic, dtecte une erreur, il adresse une demande d'alarme de diagnostic la CPU
(qu'il s'agisse d'un vnement disparaissant ou apparaissant). Le systme d'exploitation
appelle alors l'OB82.
Cet OB82 contient, dans ses variables locales, l'adresse de base logique du module
erron ainsi que des informations de diagnostic de quatre octets de long.
Si vous n'avez pas programm l'OB82, la CPU passe l'tat d'arrt.
Les fonctions systme SFC39 42 vous permettent d'inhiber, d'ajourner et de valider de
nouveau l'OB d'erreur de diagnostic.

Donnes locales de l'OB d'alarme de diagnostic


Le tableau suivant prsente les variables temporaires (TEMP) de l'OB d'alarme de
diagnostic. Les noms de variable choisis sont les noms par dfaut de l'OB82.
Variable

Type de donnes

OB82_EV_CLASS

BYTE

Description
Classe et code d'vnement :

B#16#38 : vnement disparaissant

B#16#39 : vnement apparaissant

OB82_FLT_ID

BYTE

Code d'erreur (B#16#42)

OB82_PRIORITY

BYTE

Classe de priorit; paramtrable via STEP 7 (configuration


matrielle)

OB82_OB_NUMBR

BYTE

Numro de l'OB (82)

OB82_RESERVED_1

BYTE

Rserv

OB82_IO_FLAG

BYTE

Module d'entres : B#16#54

Module de sorties : B#16#55

OB82_MDL_ADDR

WORD

Adresse de base logique du module o l'erreur s'est


produite

OB82_MDL_DEFECT

BOOL

Module dfectueux

OB82_INT_FAULT

BOOL

Erreur interne

OB82_EXT_FAULT

BOOL

Erreur externe

OB82_PNT_INFO

BOOL

Erreur de voie

OB82_EXT_VOLTAGE

BOOL

Tension auxiliaire externe manquante

OB82_FLD_CONNCTR

BOOL

Connecteur frontal manquant

OB82_NO_CONFIG

BOOL

Paramtrage manquant

OB82_CONFIG_ERR

BOOL

Paramtres incorrects dans le module

OB82_MDL_TYPE

BYTE

Bits 0 3 : classe de module

Bit 4 : informations de voie

Bit 5 : informations utilisateur

Bit 6 : alarme de diagnostic du supplant

Bit 7 : rserv

OB82_SUB_MDL_ERR

BOOL

Cartouche utilisateur incorrecte ou manquante

OB82_COMM_FAULT

BOOL

Communication dfectueuse

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-31

Blocs d'organisation

Variable

Type de donnes

Description

OB82_MDL_STOP

BOOL

Etat de fonctionnement (0 : marche, 1 : arrt)

OB82_WTCH_DOG_FLT

BOOL

Chien de garde activ (surveillance du temps de cycle)

OB82_INT_PS_FLT

BOOL

Tension d'alimentation interne du module dfaillante

OB82_PRIM_BATT_FLT

BOOL

(BATTF) Pile puise

OB82_BCKUP_BATT_FLT

BOOL

Totalit de la sauvegarde dfaillante

OB82_RESERVED_2

BOOL

Rserv

OB82_RACK_FLT

BOOL

Appareil d'extension dfaillant

OB82_PROC_FLT

BOOL

Dfaillance du processeur

OB82_EPROM_FLT

BOOL

Erreur d'EPROM

OB82_RAM_FLT

BOOL

Erreur de RAM

OB82_ADU_FLT

BOOL

Erreur de conversion A/N ou N/A

OB82_FUSE_FLT

BOOL

Fusible fondu

OB82_HW_INTR_FLT

BOOL

Alarme de processus perdue

OB82_RESERVED_3

BOOL

Rserv

OB82_DATE_TIME

DATE_AND_TIME

Date et heure de demande de l'OB

Nota
Lorsque vous mettez en uvre une CPU prenant en charge le mode DPV1, le SFB54
"RALRM" vous permet d'obtenir, outre les informations de dclenchement de l'OB,
d'autres informations sur l'alarme. Ceci est galement le cas lorsque le matre DP
fonctionne en mode compatible S7.

1-32

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

1.18

OB de dbrochage/enfichage (OB83)

Description
Le systme d'exploitation de la CPU appelle l'OB83 dans les cas suivants :

aprs que vous avez dbroch ou enfich un module configur,

aprs que vous avez modifi des paramtres d'un module dans STEP 7 et charg
ces paramtres dans la CPU l'tat MARCHE, tout ceci dans le cadre d'une
modification de l'installation en cours de fonctionnement (procdure CiR).

Les fonctions systme SFC39 42 vous permettent d'inhiber, d'ajourner et de valider de


nouveau l'OB de dbrochage/enfichage.

Dbrochage et enfichage de modules


Chaque dbrochage et enfichage d'un module configur (interdit pour les modules
d'alimentation, CPU, botiers d'adaptation et coupleurs IM) dans les tats de
fonctionnement Marche, Arrt et Mise en route provoque une alarme de dbrochage
/enfichage. Dans la CPU correspondante, cette alarme engendre une entre dans la
mmoire de diagnostic et une dans la liste d'tat systme. De plus, en tat de
fonctionnement Marche, l'OB de dbrochage/enfichage est dclench. Si vous ne l'avez
pas programm, la CPU passe l'tat d'arrt.
Le dbrochage et l'enfichage de modules S7-400 est surveill au sein du systme selon
un intervalle d'une seconde. Pour que la CPU reconnaisse qu'un module a t dbroch
et enfich, il faut que deux secondes au moins sparent le dbrochage de l'enfichage
d'un module S7-400. Cet cart minimum est un peu plus long pour les autres modules.
Quand vous dbrochez un module configur alors que la CPU est l'tat de
fonctionnement Marche, l'OB83 est dclench. Une erreur d'accs peut tre dtecte
auparavant lors de l'accs direct ou de la mise jour de la mmoire image.
Quand vous enfichez un module dans un emplacement configur alors que la CPU est
l'tat Marche, le systme d'exploitation vrifie que le type du module enfich est
conforme la configuration. Aprs quoi, l'OB83 est dclench et le paramtrage est
effectu si le type convient.

Reparamtrage de modules
Dans le cadre d'une modification de l'installation en cours de fonctionnement (procdure
CiR), vous pouvez modifier les paramtres de modules existants. Pour ce faire, les
enregistrements de paramtres sont transfrs aux modules en question.
L'opration se droule comme suit :
Aprs que vous avez modifi les paramtres d'un module dans STEP 7 et charg ces
paramtres dans la CPU l'tat MARCHE, l'OB83 est dclench (vnement
dclencheur W#16#3367). Ses informations de dclenchement indiquent l'adresse de
base logique (OB83_MDL_ADDR) et le type du module (OB83_MDL_TYPE). A partir de
maintenant, il est possible que les donnes d'entre ou de sortie du module ne soient
plus correctes et les SFC lui envoyant des enregistrements ne doivent plus tre actives.
Une fois l'OB83 excut, le reparamtrage du module est effectu.
Quand il est termin, l'OB83 est dclench de nouveau (vnement dclencheur
W#16#3267si le reparamtrage a russi, W#16#3968 s'il n'a pas russi). Les donnes
d'entre ou de sortie du module se comportent comme la suite d'une alarme
Logiciel systme pour SIMATIC S7-300/400
A5E00261421-01

1-33

Blocs d'organisation

d'enfichage, c'est--dire qu'elles ne sont peut-tre pas encore correctes. Vous pouvez
ds maintenant appeler de nouveau les SFC qui envoient des enregistrements au
module.

Donnes locales de l'OB de dbrochage/ enfichage


Le tableau suivant prsente les variables temporaires (TEMP) de l'OB de dbrochage/
enfichage. Les noms de variable choisis sont les noms par dfaut de l'OB83.
Variable
OB83_EV_CLASS

Type de donnes
BYTE

Description
Classe et code d'vnement :

B#16#32 : fin du reparamtrage du module

B#16#33 : dbut du reparamtrage du module

B#16#38 : module enfich

OB83_FLT_ID

BYTE

OB83_PRIORITY

BYTE

OB83_OB_NUMBR
OB83_RESERVED_1
OB83_MDL_ID

BYTE
BYTE
BYTE

B#16#39 : module dbroch ou ne rpondant pas ou fin du


reparamtrage
Code d'erreur
(valeurs possibles : B#16#61, B#16#63, B#16#64, B#16#65,
B#16#67, B#16#68, B#16#84)
Classe de priorit; paramtrable via STEP 7 (configuration
matrielle)
Numro de l'OB (83)
Identification du module ou de la cartouche interface
Zone :

OB83_MDL_ADDR

WORD

OB83_RACK_NUM

WORD

B#16#54 : priphrie des entres (PE)

B#16#55 : priphrie des sorties (PA)


Adresse de base logique du module concern. Pour un module
mixte, plus petite adresse logique utilise; quand les adresses
logiques d'entre et de sortie du module mixte sont identiques,
l'adresse de base logique reoit l'identification E.

Si OB83_RESERVED_1 =B#16#A0 : n de la cartouche


interface

OB83_MDL_TYPE

OB83_DATE_TIME

1-34

WORD

DATE_AND_TIME

Si OB83_RESERVED_1 = B#16#C4 : n du profil


support/chssis ou numro de la station DP (octet de poids
faible) et ID de rseau matre DP (octet de poids fort)
Type du module concern :

W#16#X5XX :

module analogique

W#16#X8XX :

module de fonction

W#16#XCXX :

CP

W#16#XFXX :
module TOR
X : valeur sans signification pour l'utilisateur
Date et heure de demande de l'OB

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

Le tableau ci-aprs indique quel vnement a caus le dclenchement de l'OB83 :


OB83_EV_CLASS

OB83_FLT_ID Signification

B#16#39

B#16#61

Module dbroch / ne rpond pas


OB83_MDL_TYPE : type de module en place

B#16#38

B#16#61

Module enfich, bon type


OB83_MDL_TYPE : type de module en place

B#16#38

B#16#63

Module enfich, mais du mauvais type


OB83_MDL_TYPE : type de module en place

B#16#38

B#16#64

Module enfich, mais dfectueux (ID de type illisible)


OB83_MDL_TYPE : type de module prvu

B#16#38

B#16#65

Module enfich, mais avec erreur de paramtrage


OB83_MDL_TYPE : type de module en place

B#16#39

B#16#66

Module non accessible, erreur de tension de charge

B#16#38

B#16#66

Module de nouveau accessible, erreur de tension de charge limine

B#16#33

B#16#67

Dbut de reparamtrage d'un module

B#16#32

B#16#67

Fin de reparamtrage d'un module

B#16#39

B#16#68

Reparamtrage d'un module termin avec erreur

B#16#38

B#16#84

Cartouche interface enfiche

B#16#39

B#16#84

Cartouche interface dbroche

Nota
Lorsque vous mettez en uvre une CPU prenant en charge le mode DPV1, le SFB54
"RALRM" vous permet d'obtenir, outre les informations de dclenchement de l'OB,
d'autres informations sur l'alarme. Ceci est galement le cas lorsque le matre DP
fonctionne en mode compatible S7.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-35

Blocs d'organisation

1.19

OB d'erreur matrielle sur CPU (OB84)

Description
Le systme d'exploitation de la CPU appelle l'OB84 dans les cas suivants :

aprs dtection et correction d'erreurs de mmoire,

pour S7-400H : en cas de performance rduite du couplage redondant entre les deux
CPU.

Les fonctions systme SFC39 42 vous permettent d'inhiber, d'ajourner et de valider de


nouveau l'OB d'erreur d'excution du programme.

Donnes locales de l'OB d'erreur matrielle


Le tableau suivant prsente les variables temporaires (TEMP) de l'OB d'erreur matrielle
sur CPU. Les noms de variable choisis sont les noms par dfaut de l'OB84.
Variable

Type de donnes

OB84_EV_CLASS

BYTE

Description
Classe et code d'vnement :

B#16#38 : vnement disparaissant

B#16#35, B#16#39 : vnement apparaissant

OB84_FLT_ID

BYTE

Code d'erreur (B#16#81, B#16#82, B#16#83, B#16#85,


B#16#86, B#16#87)

OB84_PRIORITY

BYTE

Classe de priorit; paramtrable via STEP 7 (configuration


matrielle)

OB84_OB_NUMBR

BYTE

Numro de l'OB (84)

OB84_RESERVED_1

BYTE

Rserv

OB84_RESERVED_2

BYTE

Rserv

OB84_RESERVED_3

WORD

Rserv

OB84_RESERVED_4

DWORD

Rserv

OB84_DATE_TIME

DATE_AND_TIME

Date et heure de demande de l'OB

Le tableau ci-aprs indique quel vnement a caus le dclenchement de l'OB84 :


OB84_EV_CLASS OB84_FLT_ID

Evnement dclencheur de l'OB84

B#16#39

B#16#81

Erreur d'interface, apparaissant

B#16#38

B#16#81

Erreur d'interface, disparaissant

B#16#35

B#16#82

Erreur de mmoire dtecte et corrige par le systme d'exploitation

B#16#35

B#16#83

Frquence des erreurs de mmoire dtectes et corriges

B#16#35

B#16#85

Erreur dans le systme d'exploitation du PC

B#16#39

B#16#86

Diminution de la performance d'un couplage Sync H

B#16#35

B#16#87

Erreur de bits multiples dtecte et corrige en mmoire

1-36

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

1.20

OB d'erreur d'excution du programme (OB85)

Description
Le systme d'exploitation de la CPU appelle l'OB85 quand l'un des vnements suivants
se produit :

vnement dclencheur d'un OB qui n'est pas charg (exception OB85),

erreur lors de l'accs du systme d'exploitation un bloc,

erreur d'accs la priphrie lors de la mise jour de la mmoire image par le


systme (si l'appel de l'OB85 n'a pas t rprim dans la configuration).

Nota
Si l'OB85 n'a pas t programm, la CPU passe l'tat d'arrt quand l'un des
vnements cits se produit.

Les fonctions systme SFC39 42 vous permettent d'inhiber, d'ajourner et de valider de


nouveau l'OB d'erreur d'excution du programme.

Donnes locales de l'OB d'erreur d'excution du programme


Le tableau suivant prsente les variables temporaires (TEMP) de l'OB d'erreur
d'excution du programme. Les noms de variable choisis sont les noms par dfaut de
l'OB85.
Variable
OB85_EV_CLASS

Type de donnes
BYTE

OB85_FLT_ID

BYTE

OB85_PRIORITY

BYTE

OB85_OB_NUMBR
OB85_RESERVED_1
OB85_RESERVED_2
OB85_RESERVED_3
OB85_ERR_EV_CLASS
OB85_ERR_EV_NUM
OB85_OB_PRIOR
OB85_OB_NUM
OB85_DATE_TIME

BYTE
BYTE
BYTE
INT
BYTE
BYTE
BYTE
BYTE
DATE_AND_TIME

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Description
Classe et code d'vnement : B#16#35, B#16#38
(seulement pour les codes d'erreur B#16#B3 et B#16#B4),
B#16#39 (seulement pour les codes d'erreur B#16#B1,
B#16#B2, B#16#B3 et B#16#B4)
Code d'erreur (valeurs possibles : B#16#A1, B#16#A2,
B#16#A3, B#16#A4, B#16#B1, B#16#B2, B#16#B3, B#16#B4)
Classe de priorit; paramtrable via STEP 7 (configuration
matrielle)
Numro de l'OB (85)
Rserv
Rserv
Rserv
Classe de l'vnement ayant provoqu l'erreur
Numro de l'vnement ayant provoqu l'erreur
Classe de priorit de l'OB actif lorsque l'erreur s'est produite
Numro de l'OB actif lorsque l'erreur s'est produite
Date et heure de demande de l'OB

1-37

Blocs d'organisation

Si vous voulez programmer l'OB85 en fonction des codes d'erreur possibles, il est
recommand d'organiser les variables locales comme suit :
Variable

Type de donnes

OB85_EV_CLASS

BYTE

OB85_FLT_ID

BYTE

OB85_PRIORITY

BYTE

OB85_OB_NUMBR

BYTE

OB85_DKZ23

BYTE

OB85_RESERVED_2

BYTE

OB85_Z1

WORD

OB85_Z23

DWORD

OB85_DATE_TIME

DATE_AND_TIME

Le tableau ci-aprs indique quel vnement a caus le dclenchement de l'OB85 :


OB85_EV_CLASS

OB85_FLT_ID

Signification

B#16#35

B#16#A1

Par suite de la configuration ralise avec STEP 7, votre programme


ou le systme d'exploitation gnre un vnement dclencheur d'un
OB qui n'est pas charg dans la CPU.

B#16#35

B#16#A2

OB85_Z1 : variable temporaire correspondante de l'OB demand;


ce dernier est dtermin par OB85_Z23.

OB85_Z23 :
-

mot de poids fort : classe et n de l'vnement qui a caus


l'erreur

mot de poids faible, octet de poids fort : niveau de programme


actif au moment de l'erreur
mot de poids faible, octet de poids faible : OB actif

Par suite de la configuration ralise avec STEP 7, votre programme


ou le systme d'exploitation gnre un vnement dclencheur d'un
OB qui n'est pas charg dans la CPU.
OB85_Z1 et OB85_Z23 comme pour OB85_FLT_ID=B#16#A1

B#16#35

B#16#A3

Erreur lors de l'accs du systme d'exploitation un bloc

OB85_Z1 : identification d'erreur du systme d'exploitation


-

octet de poids fort : 1=fonction intgre, 2=temporisation CEI

octet de poids faible : 0=pas de prcision, 1=bloc non charg,


2=erreur de longueur de zone, 3=erreur de protection en
criture

OB85_Z23 :
-

mot de poids fort : numro du bloc

mot de poids faible : adresse relative de l'instruction MC7


(code machine) ayant caus l'erreur; le type de bloc est
indiqu dans OB85_DKZ23 (B#16#88 : OB, B#16#8C : FC,
B#16#8E : FB, B#16#8A : DB).

B#16#35

B#16#A4

PROFInet, DB d'interface non accessible

B#16#34

B#16#A4

PROFInet, DB d'interface de nouveau accessible

1-38

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

OB85_EV_CLASS

OB85_FLT_ID

Signification

B#16#39

B#16#B1

Erreur d'accs la priphrie lors de la mise jour de la mmoire


image des entres

B#16#39

B#16#B2

OB85_DKZ23 : identification du type de transfert de la mmoire


image pour laquelle l'erreur d'accs la priphrie est survenue
-

B#16#10 : accs par octet

B#16#20 : accs par mot

B#16#30 : accs par double mot

B#16#57 : transmission d'une plage de cohrence configure

OB85_Z1 : rserv l'usage interne de la CPU, adresse de base


logique du module
Si lOB85_RESERVED_2 a la valeur B#16#76, lOB85_Z1 contient
la valeur en retour de la SFC correspondante (SFC 14, 15, 26 ou
27).

OB85_Z23 :
-

octet 0 : n de mmoire image partielle

octet 1 : non significatif si OB85_DKZ23=B#16#10, 20 ou 30;


longueur en octets de la plage de cohrence si
OB85_DKZ23=B#16#57

octets 2 et 3 : adresse de priphrie ayant caus l'erreur


d'accs la priphrie, si OB85_DKZ23=B#16#10, 20 ou 30;
adresse logique de dbut de la plage de cohrence, si
OB85_DKZ23=B#16#57

Erreur d'accs la priphrie lors du transfert de la mmoire image


des sorties aux modules de sorties
OB85_DKZ23, OB85_Z1 et OB85_Z23 comme pour
OB85_FLT_ID=B#16#B1

Les codes d'erreur B#16#B1 et B#16#B2 vous sont retourns si vous avez configur, pour la mise jour de la
mmoire image par le systme, l'appel ritr de l'OB85 en cas d'erreur d'accs la priphrie.
B#16#39/B#16#38

B#16#B3

Erreur d'accs la priphrie lors de la mise jour de la mmoire


image des entres, apparaissant/disparaissant

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

OB85_DKZ23 : identification du type de transfert de la mmoire


image pour laquelle l'erreur d'accs la priphrie est survenue
-

B#16#10 : accs par octet

B#16#20 : accs par mot

B#16#30 : accs par double mot

B#16#57: transmission d'une plage de cohrence configure

OB85_Z1 : rserv l'usage interne de la CPU, adresse de base


logique du module
Si lOB85_RESERVED_2 a la valeur B#16#76, lOB85_Z1 contient
la valeur en retour de la SFC correspondante (SFC 14, 15, 26 ou
27).

OB85_Z23 :
-

octet 0 : n de mmoire image partielle

octet 1 : non significatif si OB85_DKZ23=B#16#10, 20 ou 30;


longueur en octets de la plage de cohrence si
OB85_DKZ23=B#16#57

octets 2 et 3 : Adresse de priphrie ayant caus l'erreur


d'accs la priphrie, si OB85_DKZ23=B#16#10, 20 ou 30;
adresse logique de dbut de la plage de cohrence, si
OB85_DKZ23=B#16#57

1-39

Blocs d'organisation

OB85_EV_CLASS

OB85_FLT_ID

Signification

B#16#39/B#16#38

B#16#B4

Erreur d'accs la priphrie lors du transfert de la mmoire image


des sorties aux modules de sorties, apparaissant/disparaissant
OB85_DKZ23, OB85_Z1, OB85_Z23 comme pour
OB85_FLT_ID=B#16#B3

Les codes d'erreur B#16#B3 et B#16#B4 vous sont retourns si vous avez configur, pour la mise jour de la
mmoire image par le systme, l'appel de l'OB85 seulement en cas d'erreur d'accs la priphrie
apparaissant et disparaissant. Aprs un dmarrage froid ou chaud, tous les accs des entres et sorties
non existantes seront signals comme erreurs d'accs la priphrie apparaissantes lors de la prochaine mise
jour de la mmoire image.

1-40

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

1.21

OB de dfaillance d'unit (OB86)

Description
Le systme d'exploitation de la CPU appelle l'OB86 quand il dtecte la dfaillance d'un
appareil d'extension (sauf avec la CPU 318), d'un rseau matre DP ou d'une station en
priphrie dcentralise (qu'il s'agisse d'un vnement disparaissant ou apparaissant).
Quand vous n'avez pas programm l'OB86 et qu'une telle erreur se produit, la CPU
passe l'tat d'arrt.
Les fonctions systme SFC39 42 vous permettent d'inhiber, d'ajourner et de valider de
nouveau l'OB86.

Donnes locales de l'OB de dfaillance d'unit


Le tableau suivant prsente les variables temporaires (TEMP) de l'OB de dfaillance
d'unit. Les noms de variable choisis sont les noms par dfaut de l'OB86.
Variable
OB86_EV_CLASS

Type de donnes
BYTE

Description
Classe et code d'vnement :

OB86_FLT_ID

BYTE

OB86_PRIORITY

BYTE

OB86_OB_NUMBR
OB86_RESERVED_1
OB86_RESERVED_2
OB86_MDL_ADDR
OB86_RACKS_FLTD

BYTE
BYTE
BYTE
WORD
ARRAY [0 ..31]
OF BOOL
DATE_AND_TIME

OB86_DATE_TIME

B#16#38 : vnement disparaissant

B#16#39 : vnement apparaissant


Code d'erreur (valeurs possibles : B#16#C1, B#16#C2, B#16#C3,
B#16#C4, B#16#C5, B#16#C6, B#16#C7, B#16#C8)
Classe de priorit; paramtrable via STEP 7 (configuration
matrielle)
Numro de l'OB (86)
Rserv
Rserv
Selon le code d'erreur
Selon le code d'erreur
Date et heure de demande de l'OB

Si vous voulez programmer l'OB86 en fonction des codes d'erreur possibles, il est
recommand d'organiser les variables locales comme suit :
Variable

Type de donnes

OB86_EV_CLASS

BYTE

OB86_FLT_ID

BYTE

OB86_PRIORITY

BYTE

OB86_OB_NUMBR

BYTE

OB86_RESERVED_1

BYTE

OB86_RESERVED_2

BYTE

OB86_MDL_ADDR

WORD

OB86_Z23

DWORD

OB86_DATE_TIME

DATE_AND_TIME

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-41

Blocs d'organisation

Le tableau ci-aprs indique l'vnement qui a caus le dclenchement de l'OB86 :


OB86_EV_CLASS

OB86_FLT_ID Signification

B#16#39

B#16#C1

B#16#38

B#16#C1

Appareil d'extension dfaillant

OB86_MDL_ADDR : adresse de base logique du coupleur

OB86_Z23 : contient un bit pour chaque appareil d'extension


possible. Les appareils qui ont caus l'appel de l'OB86 sont signals
comme dfaillants (les bits correspondants sont 1). Les appareils
dj dfaillants auparavant ne sont plus indiqus.
-

bit 0 : toujours 0

bit 1 : 1er appareil d'extension

bit 21 : 21me appareil d'extension

bits 22 29 : toujours 0

bit 30 : 1 appareil d'extension au moins dfaillant dans la zone


SIMATIC S5

bit 31 : toujours 0

Retour d'appareil d'extension


OB86_MDL_ADDR comme pour OB86_FLT_ID=B#16#C1. Les appareils
d'extension revenus sont signals dans OB86_Z23 (les bits
correspondants sont 1).

B#16#38

B#16#39

B#16#39/B#16#38

B#16#39/B#16#38

B#16#C2

B#16#C3

B#16#C4

B#16#C5

Retour d'appareil d'extension (dfaillance d'appareil d'extension


disparaissant, avec diffrence entre configuration prvue et configuration
sur site)

OB86_MDL_ADDR : adresse de base logique du coupleur

OB86_Z23 : contient un bit pour chaque appareil d'extension


possible, voir OB86_FLT_ID B#16#C1.
Signification d'un bit 1 : dans l'appareil concern,
-

il y a des modules avec une ID de type incorrecte,

il manque des modules configurs,

il y a au moins un module dfectueux.

Priphrie dcentralise : dfaillance de rseau matre DP


(Seul l'vnement apparaissant provoque un dclenchement de l'OB86
avec ce code d'erreur B#16#C3.
Un vnement disparaissant dclenche l'OB86 avec le code d'erreur
B#16#C4 et la classe d'vnement B#16#38 : le retour de chaque station
DP subordonne dclenche l'OB86.)

OB86_MDL_ADDR : adresse de base logique du matre DP

OB86_Z23 : ID de rseau matre DP


-

bits 0 7 : rservs

bits 8 15 : ID de rseau matre DP

bits 16 31 : rservs

Priphrie dcentralise : station ne rpond pas

OB86_MDL_ADDR : adresse de base logique du matre DP

OB86_Z23 : adresse de l'esclave DP concern :


-

bits 0 7 : n de la station DP

bits 8 15 : ID de rseau matre DP

bits 16 30 : adresse de base logique pour un esclave S7 ou


adresse de diagnostic pour un esclave DP norm

bit 31 : identification E/S

Priphrie dcentralise : station dfectueuse


OB86_MDL_ADDR et OB86_Z23 comme pour OB86_FLT_ID=B#16#C4

1-42

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

OB86_EV_CLASS

OB86_FLT_ID Signification

B#16#38

B#16#C6

Retour d'appareil d'extension, mais erreur dans paramtrage de module

OB86_MDL_ADDR : adresse de base logique du coupleur

OB86_Z23 : contient un bit pour chaque appareil d'extension possible


:
-

bit 0 : toujours 0

bit 1 : 1er appareil d'extension

bit 21 : 21me appareil d'extension

bits 22 30 : rservs

bit 31 : toujours 0

Signification d'un bit 1 : dans l'appareil concern,

B#16#38

B#16#C7

B#16#C8

il y a des modules avec une ID de type incorrecte,

il y a des modules avec des paramtres manquants ou


incorrects.

Priphrie dcentralise : retour de station, mais erreur dans paramtrage


de module

B#16#38

OB86_MDL_ADDR : adresse de base logique du matre DP


OB86_Z23 : adresse de l'esclave DP concern :
-

bits 0 7 : n de la station DP

bits 8 15 : ID de rseau matre DP

bits 16 30 : adresse de base logique de l'esclave DP

bit 31 : identification E/S

DP : retour de station avec diffrence entre configuration prvue et


configuration sur site

OB86_MDL_ADDR : adresse de base logique du matre DP

OB86_Z23 : adresse de l'esclave DP concern :


-

bits 0 7 : n de la station DP

bits 8 15 : ID de rseau matre DP

bits 16 30 : adresse de base logique de l'esclave DP

bit 31 : identification E/S

Nota
Lorsque vous mettez en uvre une CPU prenant en charge le mode DPV1, le SFB54
"RALRM" vous permet d'obtenir, outre les informations de dclenchement de l'OB,
d'autres informations sur l'alarme. Ceci est galement le cas lorsque le matre DP
fonctionne en mode compatible S7.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-43

Blocs d'organisation

1.22

OB d'erreur de communication (OB87)

Description
Le systme d'exploitation de la CPU appelle l'OB87 quand survient un vnement
provoqu par une erreur de communication.
La CPU passe l'tat d'arrt si l'OB87 n'a pas t programm.
Les fonctions systme SFC39 42 vous permettent d'inhiber, d'ajourner et de valider de
nouveau l'OB d'erreur de communication.

Donnes locales de l'OB d'erreur de communication


Le tableau suivant prsente les variables temporaires (TEMP) de l'OB d'erreur de
communication. Les noms de variable choisis sont les noms par dfaut de l'OB87.
Variable
OB87_EV_CLASS
OB87_FLT_ID

Type de donnes
BYTE
BYTE

Description
Classe et code d'vnement : B#16#35
Code d'erreur (valeurs possibles : B#16#D2, B#16#D3,
B#16#D4, B#16#D5, B#16#E1, B#16#E2, B#16#E3,
B#16#E4, B#16#E5, B#16#E6)

OB87_PRIORITY

BYTE

OB87_OB_NUMBR
OB87_RESERVED_1
OB87_RESERVED_2
OB87_RESERVED_3
OB87_RESERVED_4
OB87_DATE_TIME

BYTE
BYTE
BYTE
WORD
DWORD
DATE_AND_TIME

Classe de priorit; paramtrable via STEP 7 (configuration


matrielle)
Numro de l'OB (87)
Rserv
Rserv
Selon le code d'erreur
Selon le code d'erreur
Date et heure de demande de l'OB

Les variables qui dpendent du code d'erreur peuvent avoir les significations suivantes :
Code d'erreur

Octet/mot

Signification

B#16#D2

Emission des entres de diagnostic impossible actuellement

B#16#D3

Impossible d'envoyer les tlgrammes de synchronisation


(matre)
Saut horaire illicite par synchronisation de l'heure

B#16#D4

Erreur la prise en charge du temps de synchronisation


(esclave)

B#16#D5

ne contient pas d'informations complmentaires


OB87_RESERVED_3 :

ne contient pas d'informations complmentaires

OB87_RESERVED_4 :
B#16#E1

ID de tlgramme incorrecte dans la communication par


donnes globales

B#16#E3

Erreur de longueur de tlgramme dans la communication


par donnes globales

B#16#E4

Reu numro de paquet GD incorrect


ID d'interface (0 : bus K, 1 : MPI)

OB87_RESERVED_3 :
OB87_RESERVED_4 : octet de poids fort :
octet poids faible :

1-44

numro de cercle GD
ne contient pas d'informations complmentaires

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

Code d'erreur

Octet/mot

Signification
Etat de paquet GD impossible inscrire dans DB

B#16#E2
OB87_RESERVED_3 :

numro de DB

OB87_RESERVED_4 : mot de poids fort :

ne contient pas d'informations complmentaires

mot de poids faible


:

numro de cercle GD (octet de poids fort),

numro de paquet GD (octet de poids faible)

Erreur d'accs au DB d'un SFB de la communication S7

B#16#E5
OB87_RESERVED_3 :

rserve l'usage interne de la CPU

OB87_RESERVED_4 : mot de poids fort :

numro du bloc avec l'instruction MC7 (code machine) qui a


caus l'erreur

mot de poids faible


:

adresse relative de l'instruction MC7 ayant caus l'erreur; le


type de bloc est indiqu dans OB87_RESERVED_1
(B#16#88 : OB, B#16#8A : DB, B#16#8C : FC, B#16#8E :
FB).
Etat total GD impossible inscrire dans DB

B#16#E6
OB87_RESERVED_3 :

numro de DB

OB87_RESERVED_4 :

ne contient pas d'informations complmentaires

Le type de bloc est indiqu par OB87_RESERVED_1 (B#16#88 : OB, B#16#8A : DB,
B#16#8C : FC, B#16#8E : FB).

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-45

Blocs d'organisation

1.23

OB d'annulation du traitement (OB88)

Description
Le systme d'exploitation de la CPU appelle l'OB88 quand le traitement d'un bloc de
programme s'arrte. Cet arrt peut tre d :

une trop grande imbrication en cas d'erreurs synchrones,

une trop grande imbrication des appels de bloc (pile I),

une erreur dans l'affectation des donnes locales,

Si vous n'avez pas programm l'OB88 et qu'un arrt du traitement se produit, la CPU
passera en STOP (vnement W#16#4570).
Quand l'arrt du traitement se produit dans la classe de priorit 28, la CPU passe en
STOP.
Les fonctions systme SFC39 42 vous permettent d'inhiber, d'ajourner et de valider de
nouveau l'OB d'annulation du traitement.

Donnes locales de l'OB d'annulation du traitement


Le tableau suivant prsente les variables temporaires (TEMP) de l'OB d'annulation du
traitement. Les noms de variable choisis sont les noms par dfaut de l'OB88.
Variable

Type de donnes

Description

OB88_EV_CLASS

BYTE

Classe et code d'vnement : B#16#35

OB88_SW_FLT

BYTE

Code d'erreur
Valeurs possibles :

B#16#73 : trop grande imbrication en cas d'erreurs


synchrones

B#16#75 : trop grande imbrication des appels de bloc


(pile B)

B#16#76 : erreur dans l'affectation des donnes locales


Classe de priorit : 28

OB88_PRIORITY

BYTE

OB88_OB_NUMBR

BYTE

Numro de l'OB (88)

OB88_BLK_TYPE

BYTE

Type du bloc dans lequel l'erreur est apparue :

B#16#88 : OB

B#16#8C : FC

B#16#8E : FB

B#16##00 : position de l'interruption impossible


dterminer

OB88_RESERVED_1

BYTE

Rserv

OB88_FLT_PRIORITY

BYTE

Classe de priorit de l'OB ayant caus l'erreur

OB88_FLT_OB_NUMBR

BYTE

Numro de l'OB ayant caus l'erreur

OB88_BLK_NUM

WORD

Numro du bloc avec l'instruction MC7 (code machine) ayant


caus l'erreur

OB88_PRG_ADDR

WORD

Adresse relative de l'instruction MC7 (code machine) ayant


caus l'erreur

OB88_DATE_TIME

DATE_AND_TIME

Date et heure de demande de l'OB

1-46

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

1.24

OB d'arrire-plan (OB90)

Description
STEP 7 offre la surveillance d'un temps de cycle maximal et garantit l'observation d'un
temps de cycle minimal. Quand la dure d'excution de l'OB1 - toutes les excutions
d'alarmes et activits du systme comprises - est plus courte que le temps de cycle
minimal que vous avez programm,

le systme d'exploitation appelle l'OB d'arrire-plan (s'il est dans la CPU),

le systme d'exploitation retarde le dmarrage suivant de l'OB1 (si l'OB90 n'est pas
dans la CPU).

Fonctionnement de l'OB90
De tous les blocs d'organisation, l'OB90 a la priorit la plus basse. Son excution est
interrompue par toute activit du systme et par toute excution d'alarme (ainsi que par
l'OB1 quand le temps de cycle minimal est coul) . L'excution de SFC et de SFB
dclenchs dans l'OB90 reprsente une exception : ces blocs tant excuts selon la
priorit de l'OB1, ils ne sont pas interrompus par l'excution de l'OB1. Le temps
d'excution de l'OB90 n'est pas surveill.
Le programme utilisateur de l'OB90 est excut depuis la premire instruction dans les
cas suivants :

aprs un dmarrage chaud ou froid ou un redmarrage,

aprs l'effacement d'un bloc actif dans l'OB90 ( l'aide de STEP 7),

aprs le chargement de l'OB90 dans la CPU en tat de fonctionnement Marche,

une fois le cycle d'arrire-plan termin.

Nota
Si vous configurez un temps de cycle minimal et une surveillance de cycle proches l'un
de l'autre, l'appel de blocs SFC et SFB dans l'OB d'arrire-plan peut provoquer des
dpassements inattendus du temps de cycle.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-47

Blocs d'organisation

Donnes locales de l'OB90


Le tableau suivant contient les variables temporaires (TEMP) de l'OB90. Les noms de
variable choisis sont les noms par dfaut de l'OB90.
Variable

Type de donnes

Description

OB90_EV_CLASS

BYTE

Classe et code d'vnement : B#16#11: actif

OB90_STRT_INF

BYTE

B#16#91 : dmarrage chaud / froid / redmarrage

B#16#92 : effacement d'un bloc

B#16#93 : chargement de l'OB90 dans la CPU l'tat


Marche

B#16#95 : fin du cycle d'arrire-plan

OB90_PRIORITY

BYTE

OB90_OB_NUMBR

BYTE

Numro de l'OB (90)

OB90_RESERVED_1

BYTE

Rserv

OB90_RESERVED_2

BYTE

Rserv

OB90_RESERVED_3

INT

Rserv

OB90_RESERVED_4

INT

Rserv

OB90_RESERVED_5

INT

Rserv

OB90_DATE_TIME

DATE_AND_TIME

Date et heure de demande de l'OB

1-48

Classe de priorit : 29 (quivaut la priorit 0.29)

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

1.25

OB de mise en route (OB100, OB101 et OB102)

Diffrents types de mise en route


On distingue les types de mise en route suivants :

redmarrage (pas pour S7-300 ni S7-400H),

dmarrage chaud,

dmarrage froid.

Le tableau suivant indique l'OB appel dans chacun des cas par le systme
d'exploitation.
Type de mise en route

OB correspondant

Redmarrage

OB101

Dmarrage chaud

OB100

Dmarrage froid

OB102

Pour plus de renseignements sur les types de mise en route, consultez les manuels
Programmer avec STEP 7 et Configuration matrielle et communication dans
STEP 7 ainsi que Systme d'automatisation S7-400H.

Evnements dclencheurs de la mise en route


La CPU effectue une mise en route

aprs la mise sous tension,

lorsque vous tournez le commutateur de mode de fonctionnement de STOP RUN


ou RUN/P,

la demande d'une fonction de communication (par une commande de menu depuis


la PG ou par l'appel des blocs fonctionnels de communication SFB19 "START" ou
SFB21 "RESUME" sur une autre CPU),

par synchronisation en fonctionnement multiprocesseur,

la suite du couplage dans un systme H (sur la CPU de rserve seulement).

Suivant l'vnement dclencheur, la CPU concerne et ses paramtres, l'OB de mise en


route appropri est appel (OB100, OB101 ou OB102). Par un paramtrage adquat,
vous pouvez y prdfinir des valeurs pour votre programme cyclique (exception : dans un
systme H, la mise en route de la CPU de rserve la suite du couplage s'effectue sans
appel d'un OB de mise en route).

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-49

Blocs d'organisation

Donnes locales des OB de mise en route


Le tableau suivant prsente les variables temporaires (TEMP) d'un OB de mise en route.
Les noms de variable choisis sont les noms par dfaut.
Variable

Type de donnes

Description

OB100_EV_CLASS

BYTE

Classe et code d'vnement : B#16#13: actif

OB100_STRTUP

BYTE

Demande de mise en route :

B#16#81 : demande manuelle de dmarrage chaud

B#16#82 : demande automatique de dmarrage chaud

B#16#83 : demande manuelle de redmarrage

B#16#84 : demande automatique de redmarrage

B#16#85 : demande manuelle de dmarrage froid

B#16#86 : demande automatique de dmarrage froid

B#16#87 : matre : demande manuelle de dmarrage


froid

B#16#88 : matre : demande automatique de dmarrage


froid

B#16#8A : matre : demande manuelle de dmarrage


chaud

B#16#8B : demande automatique de dmarrage chaud

B#16#8C : rserve : demande manuelle de mise en route

B#16#8D : rserve : demande automatique de mise en


route

OB100_PRIORITY

BYTE

Classe de priorit : 27

OB100_OB_NUMBR

BYTE

Numro de l'OB (100, 101 ou 102)

OB100_RESERVED_1

BYTE

Rserv

OB100_RESERVED_2

BYTE

Rserv

OB100_STOP

WORD

Numro de l'vnement ayant provoqu le passage l'arrt de


la CPU

OB100_STRT_INFO

DWORD

Informations complmentaires sur la mise en route actuelle

OB100_DATE_TIME

DATE_AND_TIME

Date et heure de demande de l'OB

Le tableau ci-dessous indique le contenu de la variable OB10x_STRT_INFO.


N de bit

Signification

Valeurs
binaires
possibles

Explication

31 24

Informations de mise
en route

0000 xxxx

CPU H/F dans le chssis 0

0100 xxxx

CPU H/F dans le chssis 1

1000 xxxx

CPU H/F dans le chssis 2

0001 xxxx

Mode multiprocesseur (seulement pour S7-400)

0010 xxxx

Plusieurs CPU dans un chssis segment (seulement


pour S7-400)

xxxx xxx0

La configuration sur site est conforme la configuration


prvue (seulement pour S7-300)

xxxx xxx1

La configuration sur site diffre de la configuration


prvue (seulement pour S7-300)

1-50

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

N de bit

23 16

Signification

Mise en route venant


d'tre effectue

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Valeurs
binaires
possibles

Explication

xxxx xx0x

La configuration sur site est conforme la configuration


prvue

xxxx xx1x

La configuration sur site diffre de la configuration


prvue

xxxx x0xx

Ce n'est pas une CPU H

xxxx x1xx

C'est une CPU H

xxxx 0xxx

Pas de sauvegarde de l'heure pour horodatage la


dernire mise sous tension

xxxx 1xxx

Sauvegarde de l'heure pour horodatage la dernire


mise sous tension

0000 0001

Dmarrage chaud en mode multiprocesseur sans


commande sur la CPU, conformment au paramtrage
(seulement pour S7-400)

0000 0011

Dmarrage chaud par positionnement du


commutateur

0000 0100

Dmarrage chaud par commande d'interface


multipoint (MPI)

0000 0101

Dmarrage froid en mode multiprocesseur sans


commande sur la CPU, conformment au paramtrage
(seulement pour S7-400)

0000 0111

Dmarrage froid par positionnement du commutateur

0000 1000

Dmarrage froid par commande d'interface multipoint


(MPI)

0000 1010

Redmarrage en mode multiprocesseur sans


commande sur la CPU, conformment au paramtrage
(seulement pour S7-400)

0000 1011

Redmarrage par positionnement du commutateur


(seulement pour S7-400)

0000 1100

Redmarrage par commande d'interface multipoint


(MPI) (seulement pour S7-400)

0001 0000

Dmarrage chaud automatique aprs mise sous


tension sauvegarde

0001 0001

Dmarrage froid aprs mise sous tension


sauvegarde, conformment au paramtrage

0001 0011

Dmarrage chaud par positionnement du


commutateur; dernire mise sous tension sauvegarde

0001 0100

Dmarrage chaud par commande d'interface


multipoint (MPI); dernire mise sous tension
sauvegarde

0010 0000

Dmarrage chaud automatique aprs mise sous


tension non sauvegarde (avec effacement gnral
systme)

0010 0001

Dmarrage froid aprs mise sous tension non


sauvegarde (avec effacement gnral systme)

0010 0011

Dmarrage chaud par positionnement du


commutateur; dernire mise sous tension non
sauvegarde

0010 0100

Dmarrage chaud par commande d'interface


multipoint (MPI); dernire mise sous tension non
sauvegarde

1-51

Blocs d'organisation

N de bit

15 12

11 8

70

1-52

Signification

Mises en route
automatiques
autorises

Mises en route
manuelles autorises

Dernire commande
en vigueur ou mise en
route automatique la
mise sous tension

Valeurs
binaires
possibles

Explication

1010 0000

Redmarrage automatique aprs mise sous tension


sauvegarde, conformment au paramtrage
(seulement pour S7-400)

0000

Mise en route automatique non autorise, effacement


gnral demand

0001

Mise en route automatique non autorise, corrections


ncessaires de paramtrage, cartouche, etc.

0111

Dmarrage chaud automatique autoris

1111

Dmarrage chaud et redmarrage automatiques


autoriss (seulement pour S7-400)

0000

Mise en route manuelle non autorise, effacement


gnral demand

0001

Mise en route manuelle non autorise, corrections


ncessaires de paramtrage, cartouche, etc.

0111

Dmarrage chaud manuel autoris

1111

Dmarrage chaud et redmarrage manuels autoriss


(seulement pour S7-400)

0000 0000

Aucune mise en route

0000 0001

Dmarrage chaud en mode multiprocesseur sans


commande sur la CPU, conformment au paramtrage
(seulement pour S7-400)

0000 0011

Dmarrage chaud par positionnement du


commutateur

0000 0100

Dmarrage chaud par commande d'interface


multipoint (MPI)

0000 0101

Dmarrage froid en mode multiprocesseur sans


commande sur la CPU, conformment au paramtrage
(seulement pour S7-400)

0000 0111

Dmarrage froid par positionnement du commutateur

0000 1000

Dmarrage froid par commande d'interface multipoint


(MPI)

0000 1010

Redmarrage en mode multiprocesseur sans


commande sur la CPU, conformment au paramtrage
(seulement pour S7-400)

0000 1011

Redmarrage par positionnement du commutateur


(seulement pour S7-400)

0000 1100

Redmarrage par commande d'interface multipoint


(MPI)(seulement pour S7-400)

0001 0000

Dmarrage chaud automatique aprs mise sous


tension sauvegarde

0001 0001

Dmarrage froid aprs mise sous tension


sauvegarde, conformment au paramtrage

0001 0011

Dmarrage chaud par positionnement du


commutateur; dernire mise sous tension sauvegarde

0001 0100

Dmarrage chaud par commande d'interface


multipoint (MPI); dernire mise sous tension
sauvegarde
Logiciel systme pour SIMATIC S7-300/400
A5E00261421-01

Blocs d'organisation

N de bit

Signification

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Valeurs
binaires
possibles

Explication

0010 0000

Dmarrage chaud automatique aprs mise sous


tension non sauvegarde (avec effacement gnral
systme)

0010 0001

Dmarrage froid aprs mise sous tension non


sauvegarde (avec effacement gnral systme)

0010 0011

Dmarrage chaud par positionnement du


commutateur; dernire mise sous tension sauvegarde

0010 0100

Dmarrage chaud par commande d'interface


multipoint (MPI); dernire mise sous tension
sauvegarde

1010 0000

Redmarrage automatique aprs mise sous tension


sauvegarde, conformment au paramtrage
(seulement pour S7-400)

1-53

Blocs d'organisation

1.26

OB d'erreur de programmation (OB121)

Description
Le systme d'exploitation de la CPU appelle l'OB121 quand survient un vnement
provoqu par une erreur au cours du traitement de votre programme. C'est le cas, par
exemple, quand vous appelez dans votre programme un bloc qui n'a pas t charg dans
la CPU.

Fonctionnement de l'OB d'erreur de programmation


Le bloc OB121 est excut avec la mme classe de priorit que le bloc interrompu.
Si l'OB121 n'est pas programm, la CPU passe de l'tat de marche l'tat d'arrt.
Les fonctions systme suivantes de STEP 7 permettent de masquer et de dmasquer
des vnements dclencheurs de l'OB121 pendant le traitement de votre programme :

la SFC36 "MSK_FLT" masque certains codes d'erreur,

la SFC37 "DMSK_FLT" dmasque les codes d'erreur qui avaient t masqus


l'aide de la SFC36,

la SFC38 "READ_ERR" lit le registre d'erreurs.

Donnes locales de l'OB d'erreur de programmation


Le tableau suivant prsente les variables temporaires (TEMP) de l'OB d'erreur de
programmation. Les noms de variable choisis sont les noms par dfaut de l'OB121.
Variable
OB121_EV_CLASS
OB121_SW_FLT

Type de donnes
BYTE
BYTE

Description
Classe et code d'vnement : B#16#25
Code d'erreur (valeurs possibles : B#16#21, B#16#22,
B#16#23, B#16#24, B#16#25, B#16#26, B#16#27, B#16#28,
B#16#29, B#16#30, B#16#31, B#16#32, B#16#33, B#16#34,
B#16#35, B#16#3A, B#16#3C, B#16#3D, B#16#3E, B#16#3F)

OB121_PRIORITY

BYTE

OB121_OB_NUMBR
OB121_BLK_TYPE

BYTE
BYTE

OB121_RESERVED_1
OB121_FLT_REG

BYTE
WORD

Classe de priorit : classe de l'OB o l'erreur s'est produite


Numro de l'OB (121)
Type du bloc o l'erreur s'est produite : B#16#88 : OB,
B#16#8A : DB, B#16#8C : FC, B#16#8E : FB
(avec S7-300, aucune valeur valable n'est inscrite ici)
Rserv
Source de l'erreur (selon le code d'erreur), par exemple :

OB121_BLK_NUM

WORD

OB121_PRG_ADDR

WORD

OB121_DATE_TIME

DATE_AND_TIME

1-54

registre o s'est produite l'erreur de conversion

adresse errone (erreur de lecture/criture)

numro erron de temporisation, de compteur ou de bloc

zone de mmoire errone


Numro du bloc avec l'instruction MC7 ayant caus l'erreur
(avec S7-300, aucune valeur valable n'est inscrite ici)
Adresse relative de l'instruction MC7 (code machine) ayant
caus l'erreur (avec S7-300, aucune valeur valable n'est
inscrite ici)
Date et heure de demande de l'OB

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

Les variables qui dpendent du code d'erreur peuvent avoir les significations suivantes :
Code d'erreur

Signification

B#16#21

Erreur de conversion DCB

OB121_FLT_REG :

identification du registre concern (W#16#0000 : ACCU 1)

B#16#22

Erreur de longueur de zone la lecture

B#16#23

Erreur de longueur de zone l'criture

B#16#28

Accs en lecture un octet, un mot ou un double-mot avec un pointeur dont


l'adresse de bit n'est pas 0.

B#16#29

Accs en criture un octet, un mot ou un double-mot avec un pointeur dont


l'adresse de bit n'est pas 0.

OB121_FLT_REG :

adresse d'octet errone; la zone de donnes et le type d'accs sont indiqus


dans OB121_RESERVED_1.

OB121_RESERVED_1 :

bits 7 4 : type d'accs


-

0 : accs par bit,

1 : accs par octet,

2 : accs par mot,

3 : accs par double-mot.

bits 3 0 : zone de mmoire


-

0 : zone de priphrie,

1 : mmoire image des entres,

2 : mmoire image des sorties,

3 : mmentos,

4 : DB global,

5 : DB d'instance,

6 : propres donnes locales,

7: donnes locales de l'appelant.

B#16#24

Erreur de zone la lecture

B#16#25

Erreur de zone l'criture

OB121_FLT_REG :

contient dans l'octet de poids faible l'identificateur de la zone errone (B#16#86


zone propre de donnes locales)

B#16#26

Numro de temporisation erron

B#16#27

Numro de compteur erron

OB121_FLT_REG :

numro erron

B#16#30

Accs en criture un DB global protg en criture

B#16#31

Accs en criture un DB d'instance protg en criture

B#16#32

Numro de DB erron lors de l'accs un DB global

B#16#33

Numro de DB erron lors de l'accs un DB d'instance

OB121_FLT_REG :

numro de DB erron

B#16#34

Numro de FC erron dans l'appel de FC

B#16#35

Numro de FB erron dans l'appel de FB

B#16#3A

Accs un DB non charg; le numro de DB est dans la plage autorise.

B#16#3C

Accs une FC non charge; le numro de FC est dans la plage autorise.

B#16#3D

Accs une SFC non charge; le n de SFC est dans la plage autorise.

B#16#3E

Accs un FB non charg; le numro de FB est dans la plage autorise.

B#16#3F

Accs un SFB non charg; le numro de SFB est dans la plage autorise.

OB121_FLT_REG :

numro erron

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-55

Blocs d'organisation

1.27

OB d'erreur d'accs la priphrie (OB122)

Description
Le systme d'exploitation de la CPU appelle l'OB122 quand une erreur survient lors de
l'accs aux donnes d'un module. C'est le cas, par exemple, quand la CPU dtecte une
erreur de lecture alors qu'elle accde des donnes d'un module de signaux.

Fonctionnement de l'OB d'erreur d'accs la priphrie


Le bloc OB122 est excut dans la mme classe de priorit que le bloc interrompu. Si
l'OB122 n'est pas programm, la CPU passe de l'tat de marche l'tat d'arrt.
Les fonctions systme suivantes de STEP 7 permettent de masquer et de dmasquer
des vnements dclencheurs de l'OB122 pendant l'excution de votre programme :

la SFC36 "MSK_FLT" masque certains codes d'erreur,

la SFC37 "DMSK_FLT" dmasque les codes d'erreur qui avaient t masqus


l'aide de la SFC36,

la SFC38 "READ_ERR" lit le registre d'erreurs.

Donnes locales de l'OB d'erreur d'accs la priphrie


Le tableau suivant prsente les variables temporaires (TEMP) de l'OB d'erreur d'accs
la priphrie. Les noms de variable choisis sont les noms par dfaut de l'OB122.
Variable
OB122_EV_CLASS
OB122_SW_FLT

Type de donnes
BYTE
BYTE

OB122_PRIORITY

BYTE

OB122_OB_NUMBR
OB122_BLK_TYPE

BYTE
BYTE

1-56

Description
Classe et code d'vnement : B#16#29
Code d'erreur

B#16#42 : Pour S7-300 et CPU 417 : erreur d'accs en


lecture la priphrie. Pour toutes les autres CPU S7-400 :
erreur lors du premier accs en lecture aprs l'apparition
d'une erreur.

B#16#43 : Pour S7-300 et CPU 417 : erreur d'accs en


criture la priphrie. Pour toutes les autres CPU S7-400 :
erreur lors du premier accs en criture aprs l'apparition
d'une erreur.

B#16#44 (seulement pour S7-400 sauf CPU 417) erreur lors


du n- ime accs en lecture aprs l'apparition d'une erreur
(n > 1)

B#16#45 (seulement pour S7-400 sauf CPU 417) erreur lors


du n- ime accs en criture aprs l'apparition d'une erreur
(n > 1)

Classe de priorit : classe de l'OB o l'erreur s'est produite


Numro de l'OB (122)
Type du bloc o l'erreur s'est produite (B#16#88 : OB,
B#16#8C : FC, B#16#8E : FB) (avec S7-300, aucune valeur
valable n'est inscrite ici)

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Blocs d'organisation

Variable
OB122_MEM_AREA

Type de donnes
BYTE

Description
Zone de mmoire et type d'accs

OB122_MEM_ADDR
OB122_BLK_NUM
OB122_PRG_ADDR
OB122_DATE_TIME

Bits 7 4 : type d'accs


-

0 : accs par bit,

1 : accs par octet,

2 : accs par mot

3 : accs par double-mot

Bits 3 0 : zone de mmoire


-

0 : zone de priphrie,

1 : mmoire image des entres,

2 : mmoire image des sorties


Adresse en mmoire o l'erreur s'est produite
Numro du bloc avec l'instruction MC7 (code machine) qui a
caus l'erreur (avec S7-300, aucune valeur valable n'est inscrite
ici)
WORD
Adresse relative de l'instruction MC7 (code machine) qui a caus
l'erreur (avec S7-300, aucune valeur valable n'est inscrite ici)
DATE_AND_TIME Date et heure de demande de l'OB
WORD
WORD

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

1-57

Blocs d'organisation

1-58

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Paramtres gnraux des fonctions systme

2.1

Evaluation d'erreur avec le paramtre de sortie RET_VAL

Diffrentes informations d'erreur


Une fois son excution termine, une fonction systme (SFC) vous indique dans le
programme utilisateur si la CPU a pu l'excuter correctement ou non.
Ces informations d'erreur vous sont fournies de deux manires :

par le bit RB du mot d'tat,

par le paramtre de sortie RET_VAL (valeur de retour).

Nota
Avant d'valuer les paramtres de sortie d'une SFC, prenez l'habitude de procder
comme ceci :

notez l'tat du bit RB du mot d'tat,

consultez ensuite le paramtre de sortie RET_VAL.

Si le bit RB signale une excution errone de la SFC ou si RET_VAL contient un code


d'erreur gnral, il ne faut pas valuer les paramtres de sortie.

Informations d'erreur dans la valeur de retour


Une fonction systme (SFC) signale qu'une erreur est apparue durant son excution en
inscrivant la valeur 0 dans le bit de rsultat binaire (RB) du mot d'tat. Certaines fonctions
systme fournissent en plus un code d'erreur dans une sortie appele valeur de retour
(RET_VAL). Si c'est une erreur d'ordre gnral (voir plus loin) qui figure dans le
paramtre de sortie RET_VAL, ceci est indiqu seulement par la valeur 0 dans le bit RB
du mot d'tat.
La valeur de retour est du type de donnes INT (entier). La position de la valeur de retour
par rapport au 0 indique si une erreur est apparue durant le traitement de la fonction.
Traitement de la SFC par la CPU

RB

Valeur de retour

Signe de l'entier

Erron

Infrieure 0

Ngatif (bit de signe 1)

Correct

Suprieure ou gale 0

Positif (bit de signe 0)

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

2-1

Paramtres gnraux des fonctions systme

Raction aux informations d'erreur


Pour les codes d'erreur de RET_VAL, on distingue entre

code d'erreur gnral pouvant tre sorti par chaque SFC,

code d'erreur particulier sorti par une SFC conformment ses fonction particulires.

Vous pouvez crire votre programme de manire ce qu'il ragisse aux erreurs se
prsentant ventuellement durant le traitement d'une fonction systme. Vous viterez
ainsi l'apparition d'autres erreurs rsultant de la premire.

Informations d'erreur gnrales et particulires


La valeur de retour (RET_VAL) d'une fonction systme fournit l'un des deux codes
d'erreur suivants :

code d'erreur gnral s'appliquant n'importe quelle fonction systme,

code d'erreur particulier ne s'appliquant qu' la fonction systme considre.

Bien que le paramtre de sortie RET_VAL soit du type de donne INT (entier), les codes
d'erreur des fonctions systme sont organiss en valeurs hexadcimales. Quand vous
valuez une valeur de retour et que vous souhaitez la comparer aux codes d'erreur cits
dans ce manuel, affichez le code d'erreur en format hexadcimal.
La figure suivante explique la composition en format hexadcimal d'un code d'erreur de
fonction systme.
Code d'erreur, ex. : W#16#8081
15

8 7

X
Numro d'vnement ou classe d'erreurs et erreur
Si x = 0, il s'agit d'un code d'erreur particulier une SFC. Vous en trouverez
l'explication au paragraphe traitant des informations d'erreur dans la
description de la fonction concerne.
Si x > 0, il s'agit d'un code d'erreur gnral d'une SFC. Dans ce cas, x est le
numro du paramtre de la SFC qui a provoqu l'erreur. Les codes
gnraux sont numrs dans le tableau suivant.
d'

Bit de signe = 1 indique qu'une erreur est apparue.

Informations d'erreur gnrales


Un code d'erreur gnral indique une erreur pouvant apparatre dans toutes les fonctions
systme. Il se compose de deux numros :

2-2

un numro de paramtre compris entre 1 et 111, 1 correspondant au premier


paramtre de la SFC appele, 2 au deuxime, etc.

un numro d'vnement compris entre 0 et 127. Le numro d'vnement indique une


erreur synchrone.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Paramtres gnraux des fonctions systme

Le tableau suivant numre les codes d'erreur gnraux et explique les erreurs.
Bits

15
1

N de paramtre

0
N d'vnement

Signe

Nota
Quand RET_VAL contient un code d'erreur gnral, il se peut que

l'action correspondant la SFC ait t dclenche ou soit dj compltement


accomplie,

une erreur particulire la SFC soit survenue aussi au cours de l'action; par suite de
l'erreur gnrale apparue ultrieurement, l'erreur particulire ne peut plus tre
indique.

Informations d'erreur particulires


La valeur de retour de certaines fonctions systme (SFC) fournit un code d'erreur
particulier. Celui-ci indique qu'une erreur caractristique de la fonction est apparue durant
son excution. Un code d'erreur particulier se compose des deux numros suivants :

une classe d'erreurs comprise entre 0 et 7,

un numro d'erreur compris entre 0 et 15.


Bits 15

8 7
0

4 3

1 Classe d'erreurs

No d'erreur

Signe

Codes d'erreur gnraux


Le tableau suivant explique les codes d'erreur gnraux d'une valeur de retour. Le code
est indiqu en format hexadcimal. La lettre x de chaque numro de code est un
caractre gnrique (joker) reprsentant le numro du paramtre de la fonction systme
qui a caus l'erreur.
Code d'erreur
(W#16#...)
8x7F

Signification
Erreur interne
Ce code d'erreur signale une erreur interne au niveau du paramtre x. Cette erreur
n'est pas due l'utilisateur qui ne peut pas non plus y remdier.

8x01

Identificateur de syntaxe illicite pour un paramtre ANY

8x22

Erreur de longueur de zone la lecture d'un paramtre

8x23

Erreur de longueur de zone l'criture d'un paramtre


Ce code d'erreur signale que le paramtre x est entirement ou partiellement situ
hors de la zone d'oprandes ou que la longueur d'un champ de bits n'est pas
divisible par 8 dans un paramtre ANY.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

2-3

Paramtres gnraux des fonctions systme

Code d'erreur
(W#16#...)

Signification

8x24

Erreur de zone la lecture d'un paramtre

8x25

Erreur de zone l'criture d'un paramtre


Ce code d'erreur signale que le paramtre x est situ dans une zone illicite pour
cette fonction systme. La description de chaque fonction prcise les zones illicites
pour cette fonction.

8x26

Le paramtre contient un numro de cellule de temporisation trop grand.


Ce code d'erreur signale que la cellule de temporisation prcise dans le paramtre
x n'existe pas.

8x27

Le paramtre contient un numro de cellule de comptage trop grand (numro de


compteur erron).
Ce code d'erreur signale que la cellule de comptage prcise dans le paramtre x
n'existe pas.

8x28

Erreur d'alignement la lecture d'un paramtre

8x29

Erreur d'alignement l'criture d'un paramtre


Ce code d'erreur signale que la rfrence au paramtre x est un oprande dont
l'adresse de bit n'est pas 0.

8x30
8x31

Le paramtre se trouve dans le bloc de donnes global protg en criture.


Le paramtre se trouve dans le bloc de donnes d'instance protg en criture.
Ce code d'erreur signale que le paramtre x se trouve dans un bloc de donnes
protg en criture. Si ce bloc de donnes a t ouvert par la fonction systme ellemme, elle sort toujours la valeur W#16#8x30.

8x32

Le paramtre contient un numro de DB trop grand (numro de DB erron).

8x34

Le paramtre contient un numro de FC trop grand (numro de FC erron).

8x35

Le paramtre contient un numro de FB trop grand (numro de FB erron).


Ce code d'erreur signale que le paramtre x contient un numro de bloc suprieur au
plus grand numro admis.

8x3A

Le paramtre contient le numro d'un DB qui n'est pas charg.

8x3C

Le paramtre contient le numro d'une FC qui n'est pas charge.

8x3E

Le paramtre contient le numro d'un FB qui n'est pas charg.

8x42

Erreur d'accs lors d'une tentative de lecture d'un paramtre dans la zone de
priphrie des entres

8x43

Erreur d'accs lors d'une tentative d'criture d'un paramtre dans la zone de
priphrie des sorties
8x44

Erreur lors du n-ime (n > 1) accs en lecture aprs l'apparition d'une erreur

8x45

Erreur lors du n-ime (n > 1) accs en criture aprs l'apparition d'une erreur
Ce code d'erreur signale que l'accs au paramtre souhait est refus.

2-4

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Paramtres gnraux des fonctions systme

2.2

Signification des paramtres REQ, RET_VAL et BUSY pour


les SFC excution asynchrone

SFC excution asynchrone


Les SFC excution asynchrone sont celles dont l'excution s'tend sur plusieurs appels
de la SFC. L'excution des SFC suivantes est asynchrone par principe ou dans certaines
conditions :

SFC7 "DP_PRAL"

SFC11 "DPSYC_FR"

SFC12 "D_ACT_DP"

SFC13 "DPNRM_DG"

SFC51 "RDSYSST"

SFC55 "WR_PARM"

SFC56 "WR_DPARM"

SFC57 "PARM_MOD"

SFC58 "WR_REC"

SFC59 "RD_REC"

SFC65 "X_SEND"

SFC67 "X_GET"

SFC68 "X_PUT"

SFC69 "X_ABORT"

SFC72 "I_GET"

SFC73 "I_PUT"

SFC74 "I_ABORT"

SFC82 "CREA_DBL"

SFC83 "READ_DBL"

SFC84 "WRIT_DBL"

SFC90 "H_CTRL"

SFC102 "RD_DPARA"

SFC103 "DP_TOPOL"

SFC114 "PN_DP"

Identification de la tche
Si vous avez dclench, avec l'une des fonctions cites ci-dessus, une alarme de
processus, l'envoi d'instructions de commande des esclaves DP, un transfert de
donnes ou l'annulation d'une liaison non configure, et que vous appelez de nouveau
cette SFC avant que la tche active soit termine, le comportement ultrieur de la SFC
diffrera de faon dcisive selon que le nouvel appel s'applique la mme tche ou pas.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

2-5

Paramtres gnraux des fonctions systme

Le tableau suivant indique pour chaque SFC quels paramtres d'entre dfinissent une
tche. Quand les paramtres cits sont identiques ceux d'une tche qui n'est pas
encore termine, l'appel de la SFC est considr comme appel conscutif.
SFC

Tche identifie par

7 "DP_PRAL"

IOID, LADDR

11 "DPSYC_FR"

LADDR, GROUP, MODE

12 "D_ACT_DP"

LADDR

13 "DPNRM_DG"

LADDR

51 "RDSYSST"

SZL_ID, INDEX

55 "WR_PARM"

IOID, LADDR, RECNUM

56 "WR_DPARM"

IOID, LADDR, RECNUM

57 "PARM_MOD"

IOID, LADDR

58 "WR_REC"

IOID, LADDR, RECNUM

59 "RD_REC"

IOID, LADDR, RECNUM

65 "X_SEND"

DEST_ID, REQ_ID

67 "X_GET"

DEST_ID, VAR_ADDR

68 "X_PUT"

DEST_ID, VAR_ADDR

69 "X_ABORT"

DEST_ID

72 "I_GET"

IOID, LADDR, VAR_ADDR

73 "I_PUT"

IOID, LADDR, VAR_ADDR

74 "I_ABORT"

IOID, LADDR

82 "CREA_DBL"

LOW_LIMIT, UP_LIMIT, COUNT, ATTRIB, SRCBLK

83 "READ_DBL"

SRCBLK, DSTBLK

84 "WRIT_DBL"

SRCBLK, DSTBLK

90 "H_CTRL"

MODE, SUBMODE

102 "RD_DPARA"

LADDR, RECNUM

103 "DP_TOPOL"

DP_ID

114 "PN_DP"

Paramtre d'entre REQ


Le paramtre d'entre REQ (request = demande) sert uniquement lancer la tche.

2-6

Si vous appelez la SFC pour une tche qui n'est pas active momentanment, vous
lancez la tche avec REQ = 1 (cas 1).

Si une certaine tche est lance et pas encore termine et que vous appelez la SFC
de nouveau pour la mme tche (par exemple dans un OB d'alarme cyclique), REQ
n'est pas valu par la SFC (cas 2).

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Paramtres gnraux des fonctions systme

Paramtres de sortie RET_VAL et BUSY


Les paramtres de sortie RET_VAL et BUSY indiquent l'tat du transfert de donnes.
Tenez compte de la note dans Evaluation d'erreur avec le paramtre de sortie RET_VAL.

Dans le cas 1 (premier appel avec REQ=1), W#16#7001 est inscrit dans RET_VAL et
BUSY est mis 1, si les ressources systme sont libres et si les paramtres d'entre
sont valoriss correctement.
Si les ressources systme requises sont momentanment occupes ou s'il y a une
erreur dans la valorisation des paramtres d'entre, le code d'erreur appropri sera
inscrit dans RET_VAL et BUSY sera mis 0.

Dans le cas 2 (appel intermdiaire), W#16#7002 est inscrit dans RET_VAL (ceci
quivaut un avertissement : Tche encore en traitement !) et BUSY est mis 1.

Voil ce qui se passe au dernier appel pour une tche :


-

Pour les SFC13 "DPNRM_DG", SFC67 "X_GET" et SFC72 "I_GET", un transfert


de donnes sans erreur inscrit dans RET_VAL le nombre en octets de donnes
fournies, comme nombre positif, et met BUSY 0.

En cas d'erreur, les informations d'erreur sont crites dans RET_VAL et vous ne
devez pas valuer BUSY.

Pour la SFC59 "RD_REC", c'est la taille de l'enregistrement en octets ou la


valeur 0 qui est crite dans RET_VAL, si le transfert a t effectu sans erreur
(voir Lecture d'un enregistrement avec SFC59 "RD_REC"). Dans ce cas, BUSY
est mis 0.

Si une erreur est apparue, c'est le code d'erreur qui est inscrit dans RET_VAL et
BUSY est 0).

Pour toutes les autres SFC, une excution sans erreur de la tche provoque
l'criture de 0 dans RET_VAL et de 0 dans BUSY.

Si une erreur est apparue, c'est le code d'erreur qui est inscrit dans RET_VAL et
BUSY est 0.

Nota
Quand le premier et le dernier appel ne font qu'un, RET_VAL et BUSY sont traits
comme il est dcrit pour le dernier appel.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

2-7

Paramtres gnraux des fonctions systme

Rsum
Le tableau suivant rsume les faits dcrits ci-dessus. Il indique en particulier les valeurs
possibles des paramtres de sortie quand l'excution de la tche n'est pas termine
aprs un appel de la SFC.
Nota
Dans votre programme, vous devez valuer les paramtres de sortie pertinents aprs
chaque appel.

N d'ordre
de l'appel

Type d'appel REQ

RET_VAL

BUSY

Premier
appel

W#16#7001

Code d'erreur

W#16#7002

2 (n - 1)

Appel
intermdiaire

insignifiant

Dernier appel insignifiant

W#16#0000 si aucune erreur n'est apparue


0
(exceptions : SFC59 "RD_REC" si la zone cible
est plus grande que l'enregistrement transfr,
SFC13 "DPNRM_DG", SFC67 "X_GET" et SFC72
"I_GET").
Code d'erreur si une erreur est apparue

2-8

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions de copie et fonctions sur bloc

3.1

Copie d'une zone de mmoire avec SFC20 "BLKMOV"

Description
La fonction SFC20 "BLKMOV" (block move) sert copier le contenu d'une zone de
mmoire (zone source) dans une autre zone de mmoire (zone cible).
Les zones cible admissibles sont :

les parties de blocs de donnes,

les mmentos,

la mmoire image des entres,

la mmoire image des sorties.


Le paramtre source peut aussi se trouver dans un bloc de donnes non li l'excution
et situ en mmoire de chargement (DB compil avec le mot-cl UNLINKED).

Nota
Si votre CPU dispose de la SFC83, vous devez utiliser cette dernire pour effectuer la
lecture de blocs de donnes non significatifs pour l'excution depuis la mmoire de
chargement. Si vous utilisez la SFC20, l'erreur W#16#8092 est signale.

DB10. DBW10

A B

DB10. DBW 8

C D

DB10. DBW 6

E F

DB10. DBW 4

G H

Copie

La copie a lieu dans


l'ordre croissant des
adresses.
MW 16

A B

MW 14

C D

MW 12

E F

MW 10

G H
Zone de mmoire

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

3-1

Fonctions de copie et fonctions sur bloc

Interruption
Tant que le champ source ne fait pas partie d'un bloc de donnes n'existant que dans la
mmoire de chargement, il n'y a pas de limite la profondeur d'imbrication.
Par contre, si la SFC20 interrompue copiait depuis un bloc de donnes non li
l'excution, il n'est plus possible de revenir au traitement de cette SFC20.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

SRCBLK

INPUT

ANY

E, A, M, D, L Zone de mmoire copier (champ source).


Les tableaux du type de donnes STRING ne sont
pas autoriss.

RET_VAL

OUTPUT

INT

E, A, M, D, L Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code
d'erreur.

DSTBLK

OUTPUT

ANY

E, A, M, D, L Zone de mmoire o placer la copie (champ cible).


Les tableaux du type de donnes STRING ne sont
pas autoriss.

Nota
Les champs source et cible ne doivent pas se chevaucher. Si le champ cible indiqu est
plus grand que le champ source, la fonction ne copie que la quantit de donnes se
trouvant dans le champ source.
Si le champ cible indiqu est plus petit que le champ source, la fonction copie seulement
la quantit de donnes que le champ cible peut contenir.
Si le pointeur ANY (source ou cible) est de type BOOL, la longueur indique doit tre un
multiple de 8, sinon la SFC ne sera pas excute.
Le paramtre source ou le paramtre cible (ou les deux) peuvent tre aussi de type
STRING. Si la source est une chane de caractres, le nombre maximal de caractres
copis est celui qu'elle contient effectivement. Si la cible est une chane de caractres, la
longueur en cours est adapte au nombre de caractres copis. La copie de tableaux de
chanes de caractres n'est pas possible (ARRAY OF STRING), c'est--dire que seule la
valeur STRING 1 est autorise.
Si vous avez dfini une chane de caractres source et une chane cible avec STEP 7
dans une zone de donnes locales ou dans un DB et que vous indiquez ces chanes
dans les paramtres SRCBLK et DSTBLK, la SFC20 transfrera aussi la "longueur
maximale" et la "longueur relle" de la chane source dans la chane cible. Pour viter
cela, construisez vous-mme les pointeurs ANY que vous indiquez dans les paramtres
SRCBLK et DSTBLK, en utilisant STRING comme type de donnes.

Particularit : lorsqu'un DB non li l'excution est copi dans la mmoire de travail au


moyen de la SFC20 BLKMOV et charg simultanment, par exemple au moyen d'une
commande PG, la SFC peut s'en trouver retarde de plusieurs millisecondes. Ceci
provoque un allongement du cycle de l'OB et peut conduire une erreur de surveillance
du temps de cycle. Evitez le chargement ultrieur de ce bloc pendant que la CPU le copie
avec SFC20.

3-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions de copie et fonctions sur bloc

Informations d'erreur
Code d'erreur (W#16#...)

Signification

0000

Pas d'erreur

8091

Profondeur d'imbrication dpasse.

8092

La SFC20 "BLKMO" ne peut pas tre excute, car un accs un bloc de


donnes non excutable a t effectu. Utilisez cet effet la SFC83.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

3-3

Fonctions de copie et fonctions sur bloc

3.2

Copie d'une variable sans interruption avec SFC81


"UBLKMOV"

Description
La fonction SFC81 "UBLKMOV" (uninterruptable block move) sert la copie cohrente
du contenu d'une zone de mmoire (champ source) dans une autre zone de mmoire
(champ cible). Cette opration de copie ne peut pas tre interrompue par d'autres
activits du systme d'exploitation.
La SFC81 "UBLKMOV" peut copier le contenu de toutes les zones de mmoire,
l'exception :

des blocs FB, SFB, FC, SFC, OB, SDB,

des compteurs,

des temporisations,

de la zone de priphrie,

des blocs de donnes non lis l'excution.

La plus grande quantit que vous pouvez copier est de 512 octets. Tenez compte des
limitations dues la capacit de la CPU. Vous trouvez ces informations dans la liste des
oprations par exemple.

Interruption, temps de raction une alarme


L'opration de copie ne pouvant tre interrompue, il faut bien penser que l'emploi de la
SFC81 "UBLKMOV" peut augmenter le temps requis par votre CPU pour ragir aux
alarmes.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

SRCBLK

INPUT

ANY

E, A, M, D, L Zone de mmoire copier (champ source). Les tableaux


du type de donnes STRING ne sont pas autoriss.

RET_VAL

OUTPUT

INT

E, A, M, D, L Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code d'erreur.

DSTBLK

OUTPUT

ANY

E, A, M, D, L Zone de mmoire o placer la copie (champ cible). Les


tableaux du type de donnes STRING ne sont pas
autoriss.

3-4

Description

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions de copie et fonctions sur bloc

Nota
Les champs source et cible ne doivent pas se chevaucher. Si le champ cible indiqu est
plus grand que le champ source, la fonction ne copie que la quantit de donnes se
trouvant dans le champ source.
Si le champ cible est plus petit que le champ source, la fonction copie seulement la
quantit de donnes que le champ cible peut contenir.
Si le pointeur ANY (source ou cible) est de type BOOL, la longueur indique doit tre un
multiplr de 8, sinon la SFC ne sera pas excute.

Informations d'erreur
Code d'erreur (W#16#...)

Signification

0000

Pas d'erreur

8091

La profondeur d'imbrication est dpasse.


La zone source ne se trouve pas dans le bloc de donnes intressant
l'excution.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

3-5

Fonctions de copie et fonctions sur bloc

3.3

Initialisation d'un champ avec SFC21 "FILL"

Description
La fonction SFC21 "FILL" sert remplir une zone de mmoire (champ cible) avec le
contenu d'une autre zone de mmoire (champ source). La fonction copie ce contenu
dans le champ cible indiqu jusqu' ce que la zone de mmoire soit remplie.
Nota
Les champs source et cible ne doivent pas se chevaucher.
Si le champ cible initialiser n'est pas un multiple entier de la longueur du paramtre
d'entre BVAL, il sera tout de mme rempli jusqu'au dernier octet.
Si le champ cible initialiser est plus petit que le champ source, la fonction copie
seulement la quantit de donnes que le champ cible peut contenir.
Si le pointeur ANY (source ou cible) est de type BOOL, la longueur indique doit tre un
multiple de 8, sinon la SFC ne sera pas excute.

FILL
B

MW 14

MW 16

MW 18

MW 20

A
BVAL

BLK

MW 100

MW 102

MW 104

MW 106

MW 108

MW 110

MW 112

MW 114

MW 116

MW 118

Exemple : il s'agit d'initialiser le contenu de la zone MW 100 MW 118 avec le


contenu des mots de mmento MW 14 MW 20.

Exceptions
Ne sont pas admissibles comme champ source :

les compteurs,

les temporisations.

La fonction SFC21 ne peut pas crire de valeurs dans

3-6

les blocs FB, SFB, FC, SFC, SDB,

les compteurs,

les temporisations,

la zone de priphrie.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions de copie et fonctions sur bloc

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

BVAL

INPUT

ANY

E, A, M, D, L Le paramtre BVAL contient la valeur ou la description


du champ dont le contenu doit servir de valeur
d'initialisation pour le champ cible (champ source). Les
tableaux du type de donnes STRING ne sont pas
autoriss.

RET_VAL

OUTPUT

INT

E, A, M, D, L Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code d'erreur.

BLK

OUTPUT

ANY

E, A, M, D, L Le paramtre BLK contient la description du champ


initialiser (champ cible). Les tableaux du type de
donnes STRING ne sont pas autoriss.

Le paramtre est une structure


Quand vous transfrez une structure comme paramtre d'entre, vous devez tenir
compte de la particularit suivante :
STEP 7 aligne toujours la longueur d'une structure sur un nombre pair d'octets.
Consquence : si vous dclarez une strucure avec un nombre impair d'octets, elle
occupera un octet supplmentaire en mmoire.
Exemple
La structure est dclare somme suit :
TYP_5_BYTE_STRUKTUR : STRUCT
BYTE_1_2 : WORD
BYTE_3_4 : WORD
BYTE_5 : BYTE
END_STRUCT
Cette structure "TYP_5_BYTE_STRUKTUR" occupe 6 octets en mmoire.

Informations d'erreur
Consultez la rubrique Evaluation d'erreur avec le paramtre de sortie RET_VAL.
Vous y trouverez aussi l'explication des codes d'erreur gnraux des fonctions systme.
Il n'y a pas de code d'erreur particulier la SFC21.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

3-7

Fonctions de copie et fonctions sur bloc

3.4

Cration d'un bloc de donnes avec SFC22 "CREAT_DB"

Description
La fonction SFC22 "CREAT_DB" (create data block) sert crer dans le programme
utilisateur un bloc de donnes sans valeurs d'initialisation. Il contient la place des
valeurs alatoires. La fonction cre un bloc de donnes de longueur dfinie et portant un
numro figurant dans une plage que vous prcisez. Elle affecte au DB le plus petit
numro possible dans la plage indique. Pour crer un DB portant un numro dtermin,
il suffit de donner le mme numro la limite suprieure et la limite infrieure de la
plage prciser. Les numros dj attribus des DB dans le programme utilisateur ne
peuvent plus tre utiliss. Pour la longueur du DB, vous devez indiquer un nombre pair.

Interruption
La fonction SFC22 "CREAT_DB" peut tre interrompue par un OB de priorit suprieure.
Si l'OB de priorit suprieure contient lui aussi un appel de la SFC22 "CREAT_DB", cet
appel sera refus avec le code d'erreur W#16#8091.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

LOW_LIMIT

INPUT

WORD

E, A, M, D,
L, constante

La limite infrieure est le plus petit numro de la


plage de numros pouvant tre affects au bloc de
donnes.

UP_LIMIT

INPUT

WORD

E, A, M, D,
L, constante

La limite suprieure est le plus grand numro de la


plage de numros pouvant tre affects au bloc de
donnes.

COUNT

INPUT

WORD

E, A, M, D,
L, constante

La valeur de comptage indique le nombre d'octets


de donnes rservs au bloc de donnes. Vous
devez indiquer un nombre pair d'octets (65534 au
plus).

RET_VAL

OUTPUT

INT

E, A, M, D, L Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code
d'erreur.

DB_NUMBER

OUTPUT

WORD

E, A, M, D, L Le numro du bloc de donnes est celui du bloc de


donnes cr. En cas d'erreur (bit 15 de RET_VAL
1), la valeur 0 est crite dans DB_NUMBER.

3-8

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions de copie et fonctions sur bloc

Informations d'erreur
Code d'erreur (W#16#...)

Signification

0000

Pas d'erreur

8091

L'appel de la SFC22 est imbriqu.

8092

La fonction "Gnrer un DB" ne peut tre momentanment excute, car

80A1

80A2

la fonction "Comprimer la mmoire utilisateur" est active,

la CPU H est en cours de couplage ou d'actualisation.

la CPU logicielle WinAC a dtect une erreur dans le systme d'exploitation


del'ordinateur sur lequel WinAC est install.

Numro de DB erron :

le numro est 0,

le numro est suprieur au nombre de DB autoriss pour la CPU,

limite infrieure > limite suprieure.

Longueur de DB errone :

la longueur est 0,

la longueur est indique par un nombre impair,

la longueur est suprieure la longueur maximale admise par la CPU.

80B1

Aucun numro de DB n'est libre.

80B2

La mmoire disponible n'est pas suffisante.

80B3

La mmoire continue disponible n'est pas suffisante (comprimer la mmoire !).

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

3-9

Fonctions de copie et fonctions sur bloc

3.5

Effacement d'un bloc de donnes avec SFC23 "DEL_DB"

Description
La fonction SFC23 "DEL_DB" (delete data block) sert effacer un bloc de donnes se
trouvant dans la mmoire de travail et, le cas chant, dans la mmoire de chargement.
Le bloc effacer ne doit tre ouvert ni dans le niveau de traitement actif ni dans un
niveau de priorit infrieure. C'est--dire qu'il ne doit figurer ni dans l'un des deux
registres de DB ni dans la pile de DB. La CPU lance sinon l'OB121 l'appel de la SFC23.
Si l'OB121 manque, la CPU passe en STOP.
Nota
Effacer des DB d'instance avec la fonction SFC23 "DEL_DB" n'est pas judicieux et
provoque toujours des erreurs de programme. Ne le faites pas !

Le tableau suivant explique quand un DB peut tre effac avec SFC23 "DEL_DB".
Quand le DB ...

il est, grce la SFC23 ...

a t cr par un appel de la SFC22 "CREAT_DB",

effaable.

a t transfr dans la CPU au moyen de STEP 7 et n'a pas t cr


avec le mot-cl UNLINKED,

effaable.

est mmoris sur la carte flash,

non effaable.

Interruption
La fonction SFC23 "DEL_DB" peut tre interrompue depuis des niveaux d'excution de
priorit suprieure. Si la fonction est appele de nouveau dans le niveau suprieur, ce
deuxime appel est annul et le code d'erreur W#16#8091 est inscrit dans RET_VAL.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

DB_NUMBER

INPUT

WORD

E, A, M, D, L,
constante

Numro du DB effacer

RET_VAL

OUTPUT

INT

E, A, M, D, L

Informations d'erreur

3-10

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions de copie et fonctions sur bloc

Informations d'erreur
Code d'erreur (W#16#...)

Signification

0000

Pas d'erreur

8091

Le nombre maximal d'appels imbriqus de la SFC23 autoris par la CPU utilise


a t excd.

8092

La fonction "Effacer un DB" ne peut tre excute momentanment, car

80A1

la fonction "Comprimer la mmoire utilisateur" est active,

vous tes en train de copier le DB effacer de la CPU dans un projet hors


ligne,

la CPU H est en cours de couplage ou d'actualisation,

la CPU logicielle WinAC a dtect une erreur dans le systme d'exploitation


de l'ordinateur sur lequel WinAC est install.

Erreur dans le paramtre d'entre DB_NUMBER : le paramtre effectif choisi

a la valeur 0,

est suprieur au numro de DB le plus lev autoris par la CPU utilise.

80B1

Le DB portant le numro indiqu n'existe pas dans la CPU.

80B2

Le DB portant le numro indiqu a t cr avec le mot-cl UNLINKED.

80B3

Le DB se trouve sur la carte flash.

80B4

Le DB n'a pu tre effac. Causes possibles :

il fait partie d'un programme de scurit,

c'est un DB d'instance d'un bloc de la communication S7 (S7-400 seulmt),

c'est un DB de technologie.

80C1

La fonction "Effacer un DB" n'est momentanment pas excutable cause d'un


manque de ressources temporaire.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

3-11

Fonctions de copie et fonctions sur bloc

3.6

Test d'un bloc de donnes avec SFC24 "TEST_DB"

Description
La fonction SFC24 "TEST_DB" (test data block) sert demander des informations sur un
bloc de donnes se trouvant dans la mmoire de travail de la CPU. Elle dtermine le
nombre d'octets de donnes du DB choisi et vrifie s'il est protg en criture.
Paramtre

Dclaration Type de
donnes

Zone de
mmoire

DB_NUMBER

INPUT

WORD

E, A, M, D, L, Numro du DB tester
constante

RET_VAL

OUTPUT

INT

E, A, M, D, L Informations d'erreur

DB_LENGTH

OUTPUT

WORD

E, A, M, D, L Nombre d'octets de donnes dans le DB choisi

BOOL

E, A, M, D, L Indication de la protection en criture du DB choisi


(1 signifie protg en criture).

WRITE_PROT OUTPUT

Description

Informations d'erreur
Code d'erreur (W#16#...)

Signification

0000

Pas d'erreur

80A1

Erreur dans le paramtre d'entre DB_NUMBER : le paramtre effectif choisi

a la valeur 0,

est suprieur au numro de DB le plus lev autoris par la CPU utilise.

80B1

Le DB portant le numro indiqu n'existe pas dans la CPU.

80B2

Le DB a t cr avec le mot-cl UNLINKED.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

3-12

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions de copie et fonctions sur bloc

3.7

Compression de la mmoire utilisateur avec SFC25


"COMPRESS"

Intervalles dans la mmoire


A force d'effacer des blocs et de les recharger, des espaces vides peuvent se former
dans la mmoire de chargement comme dans la mmoire de travail. Ils rduisent d'autant
la zone de mmoire utilisable.

Description
La fonction SFC25 "COMPRESS" sert lancer la compression de la partie mmoire vive
(RAM) de la mmoire de chargement et celle de la mmoire de travail. L'opration de
compression est la mme qu' la suite d'un dclenchement externe en tat de
fonctionnement RUN-P (position du commutateur de mode de fonctionnement).
Si la compression est justement en cours par suite d'un dclenchement externe, l'appel
de la SFC25 provoque une indication d'erreur.
Nota
La fonction SFC25 ne dplace pas les blocs dont la longueur dpasse 1000 octets. Par
suite, des intervalles peuvent subsister dans la mmoire de travail aprs la compression.

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

RET_VAL

OUTPUT

INT

E, A, M, D, L

Informations d'erreur

BUSY

OUTPUT

BOOL

E, A, M, D, L

Indication si une compression par la SFC25 est active


(1 signifie active).

DONE

OUTPUT

BOOL

E, A, M, D, L

Indication si la compression dclenche par la SFC25


a t termine correctement
(1 signifie termine correctement).

Contrle de la compression
En appelant la SFC25 une seule fois, vous lancez la compression, mais vous n'avez
aucun moyen de contrler si elle a t effectue correctement.
Si vous souhaitez exercer ce contrle, faites comme suit.
Appelez la SFC25 dans le cycle. Aprs chaque appel, valuez d'abord le paramtre
RET_VAL. S'il a la valeur 0, il faut alors valuer les paramtres BUSY et DONE. Si BUSY
= 1 et DONE = 0, la compression est encore active. C'est seulement quand BUSY est 0
et DONE 1 que la compression est termine correctement. Si la SFC25 est alors
appele de nouveau, une nouvelle compression sera lance.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

3-13

Fonctions de copie et fonctions sur bloc

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur. La compression a t lance par la SFC25. Dans ce cas seulement,


l'valuation des paramtres de sortie BUSY et DONE par le programme utilisateur a
un sens (voir plus haut).

8091

La compression est dj active par suite d'un dclenchement externe.

8092

La fonction "Comprimer la mmoire utilisateur" ne peut tre excute


momentanment, car

8xyy

3-14

la fonction "Effacer des blocs" est active par suite d'un dclenchement STEP 7,

une fonction de test et de mise en service agit sur un bloc (ex. : un tat),

la fonction "Copier des blocs" est active par suite d'un dclenchement externe,

la CPU H est en cours de couplage ou d'actualisation.

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions de copie et fonctions sur bloc

3.8

Transfert de la valeur de remplacement dans l'ACCU 1 avec


SFC44 "REPL_VAL"

Description
La fonction SFC44 "REPL_VAL" (replace value) sert transfrer une valeur de
remplacement dans l'ACCU 1 du niveau de programme ayant provoqu une erreur.

Uniquement dans les OB d'erreur synchrone


La SFC44 ne peut tre appele que dans un OB de traitement d'erreur synchrone
(OB121, OB122).

Exemple d'application
Quand un module d'entre est dfectueux au point qu'il n'est plus possible de lire ses
valeurs, vous lancez le bloc d'organisation OB122 aprs chaque accs ce module.
Dans OB122, vous pouvez, l'aide de la fonction SFC44, transfrer une valeur de
remplacement approprie dans l'ACCU 1 du niveau de programme interrompu, ce qui
permet la suite du traitement. Les variables locales d'OB122 vous donnent les
informations ncessaires au choix de la valeur de remplacement (par exemple, bloc dans
lequel l'erreur est apparue, adresse concerne).
Paramtre Dclaration

Type de
donnes

Zone de
mmoire

Description

VAL

INPUT

DWORD

E, A, M, D, L,
constante

Valeur de remplacement

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code
d'erreur.

Informations d'erreur
Code d'erreur (W#16#....)

Signification

0000

Pas d'erreur. Une valeur de remplacement a t entre.

8080

La SFC44 n'a pas t appele depuis un OB d'erreur synchrone (OB121, OB122).

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

3-15

Fonctions de copie et fonctions sur bloc

3.9

Cration d'un bloc de donnes dans la mmoire de


chargement avec SFC82 "CREA_DBL"

Description
La fonction SFC82 "CREA_DBL" (create data block in load memory) sert crer un
nouveau bloc de donnes dans la mmoire de chargement (micro-carte mmoire). Elle
cre un bloc de donnes de longueur dfinie et portant un numro figurant dans une
plage que vous prcisez. Elle affecte au DB le plus petit numro possible dans la plage
indique. Pour crer un DB portant un numro dtermin, il suffit de donner le mme
numro la limite suprieure et la limite infrieure de la plage prciser. Les numros
dj attribus des DB dans le programme utilisateur ne peuvent plus tre utiliss. Si un
DB de numro identique est dj prsent dans la mmoire de travail et/ou dans la
mmoire de chargement ou si le DB existe sous forme de variante copie, la SFC est
quitte et un message d'erreur est gnr.
Nota
La SFC24 "TEST_DB" vous permet de vrifier si un DB de numro identique existe dj.

Le DB est dcrit avec le contenu de la zone de donnes indique par le paramtre


SRCBLK (source block). Cette zone de donnes doit tre un DB ou une zone d'un DB.
Afin de garantir la cohrence des donnes, vous ne devez pas modifier cette zone de
donnes durant l'excution de la SFC82 (c'est--dire tant que le paramtre BUSY a la
valeur TRUE).
Un DB avec l'attribut READ_ONLY peut tre gnr et initialis uniquement au moyen de
la SFC82.
La SFC82 ne modifie pas le total de contrle du programme utilisateur.

Fonctionnement
La SFC82 "CREA_DBL" est une SFC excution asynchrone, c'est--dire qui s'tend sur
plusieurs appels de SFC. Vous dmarrez la tche en appelant la SFC82 avec REQ = 1.
Les paramtres de sortie RET_VAL et BUSY affichent l'tat de la tche.
Voir aussi Signification des paramtres REQ, RET_VAL et BUSY pour les SFC
excution asynchrone
Paramtre

Dclaration Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L

REQ = 1 : demande de cration du DB

LOW_LIMIT

INPUT

WORD

E, A, M, D, L

Limite infrieure de la plage dans laquelle la SFC


attribue un numro son DB

UP_LIMIT

INPUT

WORD

E, A, M, D, L

Limite suprieure de la plage dans laquelle la SFC


attribue un numro son DB

COUNT

INPUT

WORD

E, A, M, D, L

La valeur de comptage indique le nombre d'octets de


donnes que vous souhaitez rserver pour votre DB.
Vous devez indiquer un nombre pair d'octets.

3-16

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions de copie et fonctions sur bloc

Paramtre

Dclaration Type de
donnes

Zone de
mmoire

Description

ATTRIB

INPUT

E, A, M, D, L

Proprits du DB :

SRCBLK

BYTE

INPUT

ANY

Bit 0 = 1:

UNLINKED :
Le DB se trouve uniquement dans la
mmoire de chargement.

Bit 1 = 1:

READ_ONLY :
Le DB est protg contre l'criture.

Bit 2 = 1:

NON_RETAIN :
Le DB n'est pas rmanent.

Bit 3 7:

rserv

Pointeur sur le bloc de donnes, dont les valeurs


vont servir initialiser le bloc de donnes crer.

RET_VAL

OUTPUT

INT

E, A, M, D, L

Information d'erreur

BUSY

OUTPUT

BOOL

E, A, M, D, L

BUSY = 1 : le processus n'est pas termin.

DB_NUM

OUTPUT

WORD

E, A, M, D, L

Numro du DB cr

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur

0081

La zone cible est plus grande que la zone source.


La zone source est inscrite entirement dans la zone cible, les octets restants tant
complts par des 0.

7000

Premier appel avec REQ=0 : pas de transmission de donnes active; BUSY a la valeur
0.

7001

Premier appel avec REQ=1 : la transmission de donnes a t lance; BUSY a la valeur


1.

7002

Appel intermdiaire (REQ insignifiant) : la transmission de donnes est dj active;


BUSY a la valeur 1.

8081

La zone source est plus grande que la zone cible.


La zone cible sera remplie, les octets restants de la zone source ne seront pas
pris en compte.

8091

L'appel de la SFC82 est imbriqu.

8092

8093

La fonction "Cration d'un DB" ne peut pas tre excute momentanment car

la fonction "Compression de la mmoire utilisateur" est active,

le nombre maximum de blocs est dj atteint sur votre CPU.

Aucun bloc de donnes ou un bloc de donnes ne se trouvant pas dans la mmoire de


travail n'est indiqu au paramtre SRCBLK.

8094

Un attribut qui n'est pas encore pris en charge a t indiqu au paramtre ATTRIB.

80A1

Erreur dans le numro de DB :

le numro est 0

limite infrieure > limite suprieure

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

3-17

Fonctions de copie et fonctions sur bloc

Code d'erreur
(W#16#...)

Signification

80A2

Erreur dans la longueur du DB :

la longueur est 0

la longueur est un nombre impair

la longueur est suprieure celle autorise par la CPU

80B1

Aucun numro de DB n'est libre

80B2

Mmoire de travail insuffisante

80BB

Mmoire de chargement insuffisante

80C0

La cible est en cours de traitement par une autre SFC ou une fonction de
communication.

80C3

Le nombre maximum de SFC 82 simultanment actives est momentanment dj


atteint.

8xyy

Codes d'erreur gnraux, p. ex. :

DB source absent ou uniquement prsent en tant que variante copie

zone source absente du DB

voir Evaluation d'erreur avec le paramtre de sortie RET_VAL

3-18

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions de copie et fonctions sur bloc

3.10

Lecture depuis un bloc de donnes dans la mmoire de


chargement avec SFC83 "READ_DBL"

Description
La fonction SFC83 "READ_DBL" (read data block in load memory) sert copier un DB ou
une partie d'un DB se trouvant dans la mmoire de chargement (micro-carte mmoire)
dans la zone de donnes d'un DB cible. Le DB cible doit tre significatif pour l'excution,
c'est--dire qu'il ne doit pas avoir t cr avec l'attribut UNLINKED. Le contenu de la
mmoire de chargement n'est pas modifi lors de la copie.
Pour garantir la cohrence des donnes, vous ne devez pas modifier la zone cible durant
l'excution de la SFC83 (c'est--dire tant que le paramtre BUSY a la valeur TRUE).
Les paramtres SRCBLK (source block) et DSTBLK (destination block) prsentent les
restrictions suivantes :

La longueur d'un pointeur ANY de type BOOL doit tre divisible par 8.

La longueur d'un pointeur ANY de type STRING doit tre gale 1.

La SFC24 "TEST_DB" vous permet de dterminer la longueur du DB source.


Nota
La SFC83 est excute de manire asynchrone et ne convient donc pas la lecture
frquente (ou cyclique) des variables dans la mmoire de chargement.

Nota
Une tche dmarre est toujours mene terme. Lorsque le nombre maximum de SFC
83 simultanment actives est atteint et qu' cet instant, vous appelez une nouvelle fois la
SFC 83 dans une classe de priorit suprieure, le code d'erreur W#16#80C3 est mis. IL
n'est donc pas recommand de dmarrer immdiatement la tche de priorit leve.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

3-19

Fonctions de copie et fonctions sur bloc

Fonctionnement
La SFC83 "READ_DBL" est une SFC excution asynchrone, c'est--dire qui s'tend sur
plusieurs appels de SFC. Vous dmarrez la tche en appelant la SFC83 avec REQ = 1.
Les paramtres de sortie RET_VAL et BUSY affichent l'tat de la tche.
Voir aussi Signification des paramtres REQ, RET_VAL et BUSY pour les SFC
excution asynchrone
Paramtre

Dclaration Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L

REQ = 1 : demande de lecture

SRCBLK

INPUT

ANY

Pointeur sur la zone de donnes partir de laquelle


la lecture doit tre effectue dans la mmoire de
chargement.

RET_VAL

OUTPUT

INT

E, A, M, D, L

Information d'erreur

BUSY

OUTPUT

BOOL

E, A, M, D, L

BUSY = 1 : la procdure de lecture n'est pas encore


termine.

DSTBLK

OUTPUT

ANY

Pointeur sur la zone de donnes dans laquelle


l'criture doit tre effectue dans la mmoire de
chargement.

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur

0081

La zone cible est plus grande que la zone source.


La zone source est inscrite entirement dans la zone cible, les octets restants de la zone
cible n'tant pas modifis.

7000

Premier appel avec REQ=0 : pas de transmission de donnes active; BUSY a la valeur
0.

7001

Premier appel avec REQ=1 : la transmission de donnes a t lance; BUSY a la valeur


1.

7002

Appel intermdiaire (REQ insignifiant) : la transmission de donnes est dj active;


BUSY a la valeur 1.

8081

La zone source est plus grande que la zone cible.


La zone cible est entirement crase, les octets restants de la zone source tant
ignors.

8093

Aucun bloc de donnes ou un bloc de donnes ne se trouvant pas dans la mmoire de


travail est indiqu au paramtre DSTBLK.

80B1

Aucun bloc de donnes n'est indiqu au paramtre SRCBLK, ou le bloc de donnes qui
y est indiqu n'est pas un objet de la mmoire de chargement (p. ex. un DB cr par la
SFC 22).

80B4

Il n'est pas permis de lire un DB attribut F.

80C0

Le DB cible est en cours de traitement par une autre SFC ou une fonction de
communication.

80C3

Le nombre maximum de SFC 83 simultanment actives est momentanment dj


atteint.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

3-20

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions de copie et fonctions sur bloc

3.11

Ecriture dans un bloc de donnes dans la mmoire de


chargement avec SFC84 "WRIT_DBL"

Description
La fonction SFC84 "WRIT_DBL" (write data block in load memory) sert transfrer le
contenu d'un DB ou d'une zone de DB de la mmoire de travail dans un DB ou une zone
de DB se trouvant dans la mmoire de chargement (micro-carte mmoire). Le DB source
doit tre significatif pour l'excution, c'est--dire qu'il ne doit pas avoir t cr avec
l'attribut UNLINKED. Il peut cependant avoir t cr avec la SFC22 "CREAT_DB".
Pour garantir la cohrence des donnes, vous ne devez pas modifier la zone source
durant l'excution de la SFC84 (c'est--dire tant que le paramtre BUSY a la valeur
TRUE).
Les paramtres SRCBLK (source block) et DSTBLK (destination block) prsentent les
restrictions suivantes :

La longueur d'un pointeur ANY de type BOOL doit tre divisible par 8.

La longueur d'un pointeur ANY de type STRING doit tre gale 1.

La SFC24 "TEST_DB" vous permet de dterminer la longueur du DB source.


La SFC84 ne modifie pas le total de contrle du programme utilisateur lorsque vous
crivez dans un DB cr au moyen d'une SFC. Par contre, quand vous crivez dans un
DB charg, la premire criture modifie le total de contrle du programme utilisateur.
Nota
La SFC84 ne convient pas l'criture frquente (ou cyclique) de variables dans la
mmoire de chargement, car la technologie d'une micro-carte mmoire ne permet qu'un
nombre dtermin d'accs en criture. Voir le Manuel de rfrence "Systme
d'automatisation SIMATIC S7-300 Caractristiques des CPU : CPU 31xC et CPU 31x".

Fonctionnement
La SFC84 "WRIT_DBL" est une SFC excution asynchrone, c'est--dire qui s'tend sur
plusieurs appels de SFC. Vous dmarrez la tche en appelant la SFC84 avec REQ = 1.
Les paramtres de sortie RET_VAL et BUSY affichent l'tat de la tche.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

3-21

Fonctions de copie et fonctions sur bloc

Voir aussi Signification des paramtres REQ, RET_VAL et BUSY pour les SFC
excution asynchrone
Paramtre

Dclaration Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L

REQ = 1 : demande d'criture

SRCBLK

INPUT

ANY

Pointeur sur le bloc de donne dans lequel la lecture


est effectue dans la mmoire de chargement.

RET_VAL

OUTPUT

INT

E, A, M, D, L

Information d'erreur

BUSY

OUTPUT

BOOL

E, A, M, D, L

BUSY = 1 : la procdure d'criture n'est pas encore


termine

DSTBLK

OUTPUT

ANY

Pointeur sur la zone de donnes dans lequel


l'criture doit tre effectue dans la mmoire de
chargement.

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur

0081

La zone cible est plus grande que la zone source.


La zone source est inscrite entirement dans la zone cible, les octets restants de la zone
cible n'tant pas modifis.

7000

Premier appel avec REQ=0 : pas de transmission de donnes active; BUSY a la valeur
0.

7001

Premier appel avec REQ=1 : la transmission de donnes a t lance; BUSY a la valeur


1.

7002

Appel intermdiaire (REQ insignifiant) : la transmission de donnes est dj active;


BUSY a la valeur 1.

8081

La zone source est plus grande que la zone cible.


La zone cible est entirement crase, les octets restants de la zone source tant
ignors.

8092

Mode de fonctionnement incorrect : la CPU est passe en STOP pendant que la SFC
84 tait active. Ce code d'erreur sera fourni lors du prochain passage en RUN. Appelez
une nouvelle fois la SFC 84.

8093

Aucun bloc de donnes ou un bloc de donnes ne se trouvant pas dans la mmoire de


travail est indiqu au paramtre SRCBLK.

80B1

Aucun bloc de donnes n'est indiqu au paramtre DSTBLK ou le bloc de donnes qui y
est indiqu n'est pas un objet de la mmoire de chargement (p. ex. un DB cr avec la
SFC 22).

80B4

Un DB avec l'attribut F ne doit pas tre modifi.

80C0

La cible est en cours de traitement par une autre SFC ou une fonction de
communication. Exeemple : vous chargez un DB de la CPU dans la PG. Vous souhaitez
modifier le contenu de ce DB avec la SFC 84.

80C3

Le nombre maximum de SFC 84 simultanment actives est momentanment dj


atteint.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

3-22

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions de copie et fonctions sur bloc

3.12

Cration d'un bloc de donnes avec SFC 85 "CREA_DB"

Description
La fonction SFC85 "CREA_DB" (create data block) sert crer un bloc de donnes ne
possdant pas de valeurs prdfinies dans le programme utilisateur. Il comporte par
contre des valeurs alatoires. La SFC cre un bloc de donnes de longueur dfinie et
portant un numro figurant dans une plage que vous prcisez. Elle affecte au DB le plus
petit numro possible dans la plage indique. Pour crer un DB portant un numro
dtermin, il suffit de donner le mme numro la limite suprieure et la limite
infrieure de la plage prciser. Les numros dj attribus des DB dans le
programme utilisateur ne peuvent plus tre utiliss. Vous devez indiquer la longueur du
DB sous forme de nombre entier.
Selon le choix du paramtre ATTRIB, le DB cr possde soit la proprit RETAIN, soit
la proprit NON_RETAIN :

RETAIN (=rmanent) signifie que le DB est cr dans la partie rmanente de la


mmoire de travail, c'est--dire que les valeurs actuelles du DB sont conserves
aprs chaque passage HORS TENSION/SOUS TENSION ainsi qu'aprs chaque
redmarrage (dmarrage chaud).

NON_RETAIN (= non rmanent) signifie que le DB est cr dans la partie non


rmanente de la mmoire de travail, c'est--dire que les valeurs actuelles du DB sont
indfinies aprs chaque passage HORS TENSION/SOUS TENSION ainsi qu'aprs
chaque redmarrage (dmarrage chaud).

Si vous ne faites aucune distinction entre la mmoire de travail rmanente et non


rmanente, le paramtre ATTRIB est ignor, c'est--dire que les valeurs du DB sont
conserves aprs chaque passage HORS TENSION/SOUS TENSION ainsi qu'aprs
chaque redmarrage (dmarrage chaud).

Interruption
La SFC 85 "CREA_DB" peut tre interrompue par des OB de priorit plus leve. Si une
SFC 85 "CREA_DB" est son tour appele dans un OB de priorit plus leve, cet
appel est rejet avec le code d'erreur W#16#8091.
Paramtre

Dclaration

Type de
donnes

Zone de mmoire Description

LOW_LIMIT

INPUT

WORD

E, A, M, D, L,
constante

La valeur limite infrieure correspond au plus


petit numro de la plage des numros que
vous pouvez affecter votre bloc de donnes.

UP_LIMIT

INPUT

WORD

E, A, M, D, L,
constante

La valeur limite suprieure correspond au plus


grand numro de la plage des numros que
vous pouvez affecter votre bloc de donnes.

COUNT

INPUT

WORD

E, A, M, D, L,
constante

La valeur de comptage indique le nombre


d'octets de donnes que vous souhaitez
rserver pour votre bloc de donnes. Vous
devez entrer un nombre pair d'octets (au
maximum 65534).

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

3-23

Fonctions de copie et fonctions sur bloc

Paramtre

Dclaration

Type de
donnes

Zone de mmoire Description

ATTRIB

INPUT

BYTE

E, A, M, D, L,
constante

Attributs DB :

B#16#00 : RETAIN

B#16#04 : NON_RETAIN

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur survient durant l'excution de la


fonction, la valeur en retour contient un code
d'erreur.

DB_NUMBER

OUTPUT

WORD

E, A, M, D, L

Le numro du bloc de donnes correspond au


numro du bloc de donnes cr. En cas
d'erreur (bit 15 de RET_VAL mis 1), la
valeur 0 est inscrite dans DB_NUMBER.

Informations d'erreur
Code
d'erreur
(W#16#...)

Signification

0000

Pas d'erreur

8091

L'appel de la SFC85 est imbriqu.

8092

La fonction "Cration d'un DB" ne peut tre momentanment excute, car

la fonction "Comprimer la mmoire utilisateur" est active,

la CPU logicielle WinAC a dtect une erreur dans le systme d'exploitation del'ordinateur
sur lequel WinAC est install.

8094

Valeur non autorise dans ATTRIB

80A1

Numro de DB erron :

80A2

le numro est 0,

le numro est suprieur au nombre de DB autoriss pour la CPU,

limite infrieure > limite suprieure.

Longueur de DB errone :

la longueur est 0,

la longueur est indique par un nombre impair,

la longueur est suprieure la longueur maximale admise par la CPU.

80B1

Aucun numro de DB n'est libre.

80B2

La mmoire disponible n'est pas suffisante.

80B3

La mmoire continue disponible n'est pas suffisante (comprimer la mmoire !).

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie RET_VAL

3-24

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de contrle du programme

4.1

Rarmement du chien de garde avec SFC43 "RE_TRIGR"

Description
La fonction SFC43 "RE_TRIGR" (retrigger watchdog) sert rarmer le chien de garde,
c'est--dire relancer la surveillance du temps de cycle de la CPU.

Paramtres
La SFC43 "RE_TRIGR" n'a pas de paramtre.

Informations d'erreur
La SFC43 "RE_TRIGR" ne fournit aucun code d'erreur.

4.2

Mise l'arrt de la CPU avec SFC46 "STP"

Description
La fonction SFC46 "STP" (stop) sert mettre la CPU l'tat d'arrt (STOP).

Paramtres
La SFC46 "STP" n'a pas de paramtre.

Informations d'erreur
La SFC46 "STP" ne fournit aucun code d'erreur.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

4-1

SFC de contrle du programme

4.3

Retardement du traitement du programme utilisateur avec


SFC47 "WAIT"

Description
La fonction SFC47 "WAIT" permet de programmer des retards ou des temps d'attente
dans votre programme utilisateur. Le temps d'attente programmable le plus long est de
32768 ms. Le plus court dpend de la CPU utilise, c'est le temps d'excution de la
fonction SFC47.

Interruption
La SFC47 "WAIT" peut tre interrompue par des OB de priorit suprieure.
Nota
(seulement pour S7-300, exception faite de la CPU 318)
Le retard programm avec SFC47 est un retard minimum. Il se trouve prolong du
temps d'excution des classes de priorit imbriques les unes dans les autres
ainsi que des charges du systme.

Paramtres
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

WT

INPUT

INT

E, A, M, D, L, Le paramtre WT contient le temps d'attente en


constante
ms.

Informations d'erreur
La SFC47 "WAIT" ne fournit aucun code d'erreur.

4-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de contrle du programme

4.4

Dclenchement d'une alarme multiprocesseur avec SFC35


"MP_ALM"

Description
En mode multiprocesseur, l'appel de la SFC35 "MP_ALM" dclenche l'alarme
multiprocesseur. Ceci provoque le dmarrage synchronis de l'OB60 dans toutes les
CPU associes. En mode monoprocesseur et quand vous travaillez avec un chssis
segment, l'OB60 est dmarr seulement dans la CPU dans laquelle vous avez appel la
SFC35.
Le paramtre d'entre JOB vous permet d'identifier la cause de l'alarme multiprocesseur
que vous souhaitez dfinir. Cette identification de tche est transmise toutes les CPU
concernes et vous pouvez l'valuer dans l'OB60 (voir OB d'alarme multiprocesseur
(OB60) et documentation en ligne "Programmer avec STEP 7").
Vous pouvez appeler la SFC35 "MP_ALM" n'importe quel endroit de votre programme.
Toutefois, cet appel n'ayant de sens qu'en tat de MARCHE, l'alarme multiprocesseur
sera rprime si l'appel survient l'tat de MISE EN ROUTE. Ceci vous est signal par
une valeur de la fonction.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

JOB

INPUT

BYTE

E, A, M, D, L, ID de tche
constante
Valeurs possibles : 1 15

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code d'erreur.

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur

8090

Le paramtre d'entre JOB contient une valeur illicite.

80A0

Sur la propre CPU ou sur une autre, l'excution de l'OB60 pour l'alarme
multiprocesseur prcdente n'est pas encore termine.

80A1

Etat de fonctionnement incorrect (MISE EN ROUTE au lieu de MARCHE)

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

4-3

SFC de contrle du programme

4.5

Commande de la procdure CiR avec SFC104 "CiR"

Description
La fonction SFC104 "CiR" permet d'agir sur la reconfiguration en cours de
fonctionnement.

Vous pouvez inhiber totalement la procdure CiR. Dans ce cas, le chargement d'une
configuration modifie de la PG dans la CPU sera toujours refus. Cette inhibition
reste en vigueur jusqu' ce que vous la supprimiez avec SFC104 "CiR".

Vous pouvez inhiber la procdure CiR de manire conditionnelle en indiquant une


limite suprieure pour le temps de synchronisation CiR. Dans ce cas, le chargement
d'une configuration modifie de la PG dans la CPU sera autoris seulement si le
temps mis par la CPU valuer cette configuration reste en-dessous de la limite
impose.

Vous pouvez examiner si la procdure CiR est autorise ou pas. Quand elle est
autorise totalement ou de manire conditionnelle, le paramtre A_FT indique la
limite suprieure en cours pour le temps de synchronisation CiR.

Nota
Durant le temps de synchronisation CiR, les sorties sont geles et les entres ne sont
pas values.

Paramtres
Paramtre Dclaration Type de
donnes

Zone de
mmoire

Description

MODE

E, A, M, D,
L, const.

Identification de la tche

INPUT

FRZ_TIME INPUT

BYTE

TIME

E, A, M, D,
L, const.

Valeurs possibles :

0 : demande de renseignement

1 : autoriser la procdure CiR (la limite suprieure


du temps de synchronisation CiR est mise la
valeur par dfaut)

2 : inhiber totalement la procdure CiR

3 : inhiber conditionnellement la procdure CiR;


indiquez dans FRZ_TIME la limite suprieure du
temps de synchronisation CiR.

"freeze time"
Limite suprieure du temps de synchronisation CiR,
en ms
Valeurs admises : 200 ... 2500 ms (valeur par dfaut :
1000 ms)
Nota : FRZ_TIME n'est significatif qu'en MODE=3.

RET_VAL

OUTPUT

INT

E, A, M, D, L Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code d'erreur.
Avec MODE=0, RET_VAL indique si la procdure CiR
est autorise ou pas.

Paramtre Dclaration Type de


donnes

4-4

Zone de
mmoire

Description

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de contrle du programme

A_FT

OUTPUT

TIME

E, A, M, D, L Limite suprieure actuellement valable pour le temps


de synchronisation CiR

Informations d'erreur
Code d'erreur (W#16#...)

Signification

0000

La tche a t effectue sans erreur. (Ce code d'erreur n'est possible qu'avec
MODE=1 ou MODE=2 ou MODE=3.)

0001

La procdure CiR est autorise. (Ce code d'erreur n'est possible qu'avec
MODE=0.)

0002

La procdure CiR est totalement inhibe. (Ce code d'erreur n'est possible qu'avec
MODE=0.)

0003

La procdure CiR est inhibe de manire conditionnelle. (Ce code d'erreur n'est
possible qu'avec MODE=0.)

8001

La CPU n'est pas prte pour une procdure CiR. Vous utilisez une CPU H dans le
systme H (mode non redondant) ou vous travaillez avec une CPU standard en
fonctionnement multiprocesseur.

8002

Valeur illicite de MODE

8003

Valeur illicite de FRZ_TIME

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

Exemple d'utilisation de SFC04


La fonction SFC104 "CIR" permet, par exemple, de faire le ncessaire pour qu'aucune
procdure CiR ne soit dclenche un moment o le traitement du processus exige
toute la puissance de la CPU.
Pour cela, ajoutez la partie de programme suivante dans votre CPU au dbut de la phase
d'activit accrue du processus :

appel de SFC104 avec MODE = 2 (inhiber totalement la procdure CiR)

Une fois termine la phase d'activit accrue du processus, ajoutez la partie de


programme suivante dans votre CPU :

appel de SFC104 avec MODE = 1 (autoriser de nouveau la procdure CiR) ou


MODE=3 (inhiber conditionnellement la procdure CiR)

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

4-5

SFC de contrle du programme

4-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion de l'horloge

5.1

Mise l'heure avec SFC0 "SET_CLK"

Description
La fonction SFC0 "SET_CLK" (set system clock) sert rgler l'heure et la date de
l'horloge de la CPU. L'horloge se met alors en marche en partant de l'heure et de la date
dfinies.
S'il s'agit d'une horloge matre, la CPU dmarre en plus la synchronisation de l'heure.
Vous dterminez les intervalles de synchronisation avec STEP 7.
Paramtre

Dclaration

Type de donnes

Zone de
mmoire

Description

PDT

INPUT

DATE_AND_TIME

D, L

Saisie de la date et de l'heure

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant


l'excution de la fonction, la valeur de retour
contient un code d'erreur.

Date et heure
Entrez la date et l'heure en tant que type de donnes DT. Indiquez par exemple pour le
15 janvier 1995, 10 heures 30 minutes et 30 secondes : DT#1995-01-15-10:30:30. Pour
la saisie de l'heure, le seul pas possible est la seconde. La SFC0 "SET_CLK" calcule le
jour de la semaine partir de la date.
Vous pouvez former le type de donnes DT l'aide de la fonction standard FC3
"D_TOD_DT" (voir aussi Fonctions d'horodatage : FC1, FC3, FC6, FC7, FC8, FC33,
FC34, FC35, FC40).

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur

8080

Erreur dans la date

8081

Erreur dans l'heure

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

5-1

SFC de gestion de l'horloge

5.2

Lecture de l'heure et de la date avec SFC1 "READ_CLK"

Description
La fonction SFC1 "READ_CLK" (read system clock) sert lire la date et l'heure en cours
de l'horloge de la CPU.
Paramtre

Dclaration

Type de donnes

Zone de
mmoire

Description

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant


l'excution de la fonction, la valeur de retour
contient un code d'erreur.

CDT

OUTPUT

DATE_AND_TIME

D,L

La sortie CDT indique la date et l'heure en


cours.

Informations d'erreur
Voir Evaluation d'erreur avec le paramtre de sortie RET_VAL

5-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion de l'horloge

5.3

Synchronisation d'esclaves d'horloge avec SFC48


"SNC_RTCB"

Dfinition : synchronisation d'esclaves d'horloge


On entend par synchronisation d'esclaves d'horloge le transfert de la date et de l'heure
du matre d'horloge d'un segment de bus (par exemple bus de communication de S7-400,
interface multipoint MPI, bus interne S7) tous les esclaves d'horloge de ce segment de
bus.

Description
La fonction SFC48 "SNC_RTCB" (synchronize real time clocks) sert synchroniser tous
les esclaves d'horloge d'un segment de bus, indpendamment de l'intervalle de
synchronisation paramtr. Pour que la synchronisation soit effectue correctement, il
faut que la SFC48 soit appele dans une CPU dont l'horloge temps rel a t paramtre
comme matre d'horloge pour un segment de bus au moins. Vous avez fait ce
paramtrage avec STEP 7.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code
d'erreur.

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Synchronisation sans erreur

0001

L'horloge existante n'a t paramtre comme matre d'horloge pour aucun segment
de bus.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

5-3

SFC de gestion de l'horloge

5.4

Mise l'heure et initialisation de l'tat d'horloge avec


SFC100 "SET_CLKS"

Description
La fonction SFC100 "SET_CLKS" sert rgler l'heure et la date de la CPU et initialiser
l'tat de l'horloge.
Important
Utilisez uniquement la SFC100 si l'horloge de votre CPU n'est pas synchronise. Sinon,
l'tat de l'horloge de la CPU matre serait repris chaque synchronisation. Une valeur
prdfinie par SFC serait ainsi crase.

Avec le paramtre MODE, vous pouvez choisir de modifier soit uniquement l'heure et la
date, soit uniquement l'tat d'horloge, soit encore les deux valeurs. Ceci est dtaill dans
le tableau suivant.
MODE
(B#16#...)

Signification

01

Rglage de l'heure et de la date


L'appel de SFC correspond l'appel de la SFC0 "SET_CLK".
Les paramtres d'entre CORR, SUMMER et ANN_1 ne sont pas exploits.

02

Initialisation de l'tat d'horloge


Le paramtre d'entre PDT n'est pas exploit. Les lments suivants de l'tat d'horloge sont
forms partir des autres paramtres d'entre :

03

Valeur de correction avec signe

Heure d'indication

Indicateur d'heure d't/d'hiver

La rsolution de l'horloge est adapte celle de votre CPU. Le bit de dfaillance de la


synchronisation de l'tat d'horloge est mis FALSE.

L'heure reste inchange.

Rglage de l'heure et de la date et initialisation de l'tat d'horloge

Nota
Avec la SFC51 "RDSYSST", vous pouvez dterminer l'tat actuel de l'horloge de votre
CPU en lisant l'extrait de liste partiel dsign par l'identification W#16#0132 et par
l'index W#16#0008.

5-4

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion de l'horloge

Paramtre

Dclaration Type de
donnes

Zone de
mmoire

Description

MODE

INPUT

E, A, M, D, L,
constante.

Mode de fonctionnement
Valeurs possibles :

BYTE

B#16#01:

Rglage de l'heure

B#16#02:

Initialisation de l'tat d'horloge

B#16#03:

Rglage de l'heure et initialisation de


l'tat d'horloge

PDT

INPUT

DT

D, L.

Heure prdfinie

CORR

INPUT

INT

E, A, M, D, L,
constante.

Valeur de correction (dans la grille 0,5 h)


Valeurs possibles : 24 +26

SUMMER

INPUT

BOOL

E, A, M, D, L,
constante.

Indicateur d'heure d't / d'hiver :

ANN_1

RET_VAL

INPUT

OUTPUT

BOOL

INT

0 = Heure d'hiver

1 = Heure d't

E, A, M, D, L,
constante.

Heure d'indication :

E, A, M, D, L

Code d'erreur

1 : lors du prochain passage l'heure suivante,


l'heure d't passe l'heure d'hiver ou inversement.

Informations d'erreur
Code d'erreur (W#16#...) Signification
0000

Pas d'erreur

8080

MODE en dehors de la plage de valeurs admise

8081

CORR en dehors de la plage de valeurs admise


(uniquement lorsque MODE = B#16#02 ou MODE = B#16#03)

8082

PDT en dehors de la plage de valeurs admise : date et/ou heure non admises

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

5-5

SFC de gestion de l'horloge

5-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion de compteur d'heures de


fonctionnement

6.1

Compteur d'heures de fonctionnement

Introduction
Les CPU disposent d'un nombre spcifique de compteurs d'heures de fonctionnement
(voir les caractristiques techniques de chaque CPU).

Si votre CPU emploie des compteurs 16 bits, les fonctions systme SFC 2, 3 et 4
vous permettront d'initialiser, de dmarrer, d'arrter et de lire ces compteurs.

Si votre CPU emploie des compteurs 32 bits, c'est SFC101 "RTM" qui vous
permettra de les initialiser, les dmarrer, les arrter et les lire.

Nota
Vous pouvez aussi employer les SFC 2, 3 et 4 pour les compteurs 32 bits. Mais dans ce
cas, ils se comporteront comme des compteurs 16 bits (plage de valeurs : 0 32767
heures).
Voir aussi Enregistrement de l'extrait de liste partielle dsign par l'identification
W#16#0132 et par l'index W#16#000B.

Utilisation
Un compteur d'heures de fonctionnement vous sera utile dans bien des cas :

calcul de la dure de fonctionnement de la CPU,

calcul de la dure de fonctionnement de dispositifs commands.

Proprits
Quand il est dmarr, le compteur d'heures de fonctionnement commence toujours
compter partir de sa dernire valeur. Si vous voulez qu'il parte d'une autre valeur, il faut
l'initialiser explicitement cette dernire (SFC2 ou SFC101 avec MODE=4). Quand la
CPU passe l'arrt (STOP) ou quand vous arrtez le compteur, la CPU "note" sa valeur
en cours. Au dmarrage chaud ou froid de la CPU, il faut dmarrer de nouveau le
compteur d'heures de fonctionnement (SFC3 ou SFC101 avec MODE=1).

Plage de valeurs

CPU avec compteurs 16 bits : 0 32 767 heures.

CPU avec compteurs 32 bits : 0 (2 puissance 31) -1 heures = 2 147 483 647
heures.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

6-1

SFC de gestion de compteur d'heures de fonctionnement

6.2

Gestion d'un compteur d'heures de fonctionnement avec


SFC101 "RTM"

Description
La fonction SFC101 "RTM" (run-time meter) permet d'initialiser, de dmarrer, d'arrter et
de lire un compteur d'heures de fonctionnement 32 bits de votre CPU.
Si vous voulez lire tous les compteurs 32 bits de votre CPU, utilisez la fonction SFC51
"RDSYSST" avec SZL_ID=W#16#0132 et INDEX=W#16#000B (pour les compteurs
numrots de 0 7) ou INDEX=W#16#000C (pour les compteurs numrots de 8 15).
(Voir aussi Enregistrement de l'extrait de liste partielle dsign par W#16#0132 et
W#16#000B.
Paramtrer

Dclaration

Type de
donnes

Zone de
mmoire

Description

NR

INPUT

BYTE

E, A, M, D, L,
const.

Numro du compteur d'heures de fonctionnement


(valeurs possibles : 0 15)

MODE

INPUT

BYTE

E, A, M, D, L,
const.

Identification de la tche

0 : lire (l'tat s'inscrit alors dans CQ et la valeur


actuelle dans CV); si le compteur tourne plus de
(2 puissance 31) - 1 heures, il s'arrte sur la
dernire valeur qu'il peut indiquer et fournit le
message d'erreur "Dbordement".

1 : dmarrer (avec la dernire valeur en cours)

2 : arrter

4 : initialiser (avec la valeur indique par PV)

5 : initialiser (avec la valeur indique par PV) et


dmarrer

6 : initialiser (avec la valeur indique par PV) et


arrter

PV

INPUT

DINT

E, A, M, D, L,
const.

Nouvelle valeur pour le compteur

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code d'erreur.

CQ

OUTPUT

BOOL

E, A, M, D, L

Etat du compteur (1 : il court)

CV

OUTPUT

DINT

E, A, M, D, L

Valeur actuelle du compteur

6-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion de compteur d'heures de fonctionnement

Compatibilit avec les programmes dvelopps pour une CPU compteurs 16 bits
Vous pouvez aussi utiliser les compteurs 32 bits avec les fonctions SFC 2 "SET_RTM",
3 "CTRL_RTM" et 4 "READ_RTM". Mais ils se comportent alors comme des compteurs
16 bits (plage de valeurs : 0 32767 heures).
L'extrait de liste partielle dsign par l'identification W#16#0132 et par l'index
W#16#0008 indique les compteurs 32 bits numrots de 0 7 en tant que compteurs 16
bits. Ainsi, vous pouvez continuer employer les programmes dvelopps pour une CPU
avec des compteurs d'heures de fonctionnement 16 bits et utilisant cet extrait de liste
partielle.

Informations d'erreur
Code d'erreur (W#16#...) Signification
0000

Pas d'erreur

8080

Numro erron du compteur d'heures de fonctionnement

8081

Une valeur ngative a t remise au paramtre PV

8082

Dbordement du compteur d'heures de fonctionnement

8091

Le paramtre d'entre MODE contient une valeur illicite

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

6-3

SFC de gestion de compteur d'heures de fonctionnement

6.3

Initialisation d'un compteur d'heures de fonctionnement


avec SFC2 "SET_RTM"

Description
La fonction SFC2 "SET_RTM" (set run-time meter) sert initialiser une valeur donne
un compteur d'heures de fonctionnement de la CPU. Le nombre de compteurs d'heures
de fonctionnement que vous pouvez rgler est spcifique de la CPU.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

NR

INPUT

BYTE

E, A, M, D, L, L'entre NR contient le numro du compteur que vous


constante
souhaitez rgler.
Valeurs possibles : 0 7

PV

INPUT

INT

E, A, M, D, L, L'entre PV contient la valeur d'initialisation pour le


constante
compteur d'heures de fonctionnement.

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code d'erreur.

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur

8080

Numro du compteur d'heures de fonctionnement erron

8081

Une valeur ngative a t attribue au paramtre PV.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

6-4

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion de compteur d'heures de fonctionnement

6.4

Dmarrage et arrt du compteur d'heures de


fonctionnement avec SFC3 "CTRL_RTM"

Description
La fonction SFC3 "CTRL_RTM" (control run-time meter) sert dmarrer et arrter un
compteur d'heures de fonctionnement.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

NR

INPUT

BYTE

E, A, M, D, L, L'entre NR contient le numro du compteur d'heures


constante
de fonctionnement que vous voulez dmarrer ou
arrter.
Valeurs possibles : 0 7

INPUT

BOOL

E, A, M, D, L, L'entre S dmarre ou arrte le compteur d'heures de


constante
fonctionnement. Mettez l'entre 0 pour arrter le
compteur et 1 pour le dmarrer.

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code d'erreur.

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur

8080

Numro du compteur d'heures de fonctionnement erron

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

6-5

SFC de gestion de compteur d'heures de fonctionnement

6.5

Lecture du compteur d'heures de fonctionnement avec


SFC4 "READ_RTM"

Description
La fonction SFC4 "READ_RTM" (read run-time meter) sert lire un compteur d'heures de
fonctionnement. Elle fournit comme donnes de sortie le nombre momentan d'heures de
fonctionnement et l'tat du compteur, savoir "arrt" ou "comptage".
Si un compteur d'heures de fonctionnement compte pendant plus de 32767 heures, il
restera bloqu la valeur 32767 et mettra le message d'erreur "dbordement".
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

NR

INPUT

BYTE

E, A, M, D, L, L'entre NR contient le numro du compteur d'heures


constante
de fonctionnement que vous souhaitez lire.
Valeurs possibles : 0 7

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code d'erreur.

CQ

OUTPUT

BOOL

E, A, M, D, L

La sortie CQ indique si le compteur d'heures de


fonctionnement est en marche ou l'arrt. L'tat 0
signifie que le compteur est arrt, l'tat 1 qu'il est en
marche.

CV

OUTPUT

INT

E, A, M, D, L

La sortie CV donne la valeur en cours du compteur


d'heures de fonctionnement.

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur

8080

Numro erron du compteur d'heures de fonctionnement

8081

Dbordement du compteur d'heures de fonctionnement

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

6-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion de compteur d'heures de fonctionnement

6.6

Lecture du temps systme avec SFC64 "TIME_TCK"

Description
La fonction SFC64 "TIME_TCK" (time tick) sert lire le temps systme de la CPU. Le
temps systme est un "compteur chronomtrique" qui compte de 0 2 147 483 647
ms au plus. En cas de dbordement, il recommence compter partir de 0. La base de
temps et donc la prcision sont de 1 ms pour les CPU S7-400 et pour la CPU 318, de
10 ms pour toutes les autres CPU S7-300. Le temps systme n'est influenc que par les
tats de fonctionnement de la CPU.

Utilisation
Le temps systme peut vous servir, par exemple, chronomtrer des oprations par
formation de la diffrence entre les valeurs de retour de deux appels successifs de la
SFC64.

Temps systme et tats de fonctionnement


Etat de fonctionnement

Temps systme ...

Mise en route

... est actualis constamment.

Marche (RUN)
Arrt (STOP)

... est arrt et mmorise la valeur en cours.

Redmarrage
(pas pour S7-300 ni pour S7-400H)

... reprend sa course la valeur mmorise lors du passage l'arrt.

Dmarrage chaud

... est effac et reprend sa course 0.

Dmarrage froid

Paramtres
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

RET_VAL

OUTPUT

TIME

E, A, M, D, L

Le paramtre RET_VAL contient le temps systme


31
lu, compris entre 0 et 2 1 ms.

Informations d'erreur
La SFC64 "TIME_TCK" ne fournit aucun code d'erreur.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

6-7

SFC de gestion de compteur d'heures de fonctionnement

6-8

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de transfert d'enregistrements

7.1

Ecriture et lecture d'enregistrements

Principe
Certains modules disposent d'une zone de donnes systme laquelle vous ne pouvez
accder qu'en criture depuis votre programme. Cette zone contient des enregistrements
numrots de 0 240 au plus, chaque module ne disposant pas de tous les
enregistrements (voir le tableau suivant).
En plus de cela, certains modules peuvent possder aussi une zone de donnes systme
laquelle vous n'accdez qu'en lecture depuis votre programme. Cette zone contient des
enregistrements numrots de 0 240 au plus, chaque module ne disposant pas de tous
les enregistrements (voir le tableau suivant).
Nota
Certains modules disposent de ces deux zones de donnes systme. Il s'agit de zones
physiques diffrentes qui n'ont en commun que la division logique en enregistrements.

Zone de donnes systme en criture seule


Le tableau suivant montre l'organisation de la zone de donnes systme en criture
seule. Il prcise la taille autorise pour les diffrents enregistrements et les fonctions
systme permettant de les crire.
N
d'enregistrement

Contenu

Taille

Restriction

Ecriture avec SFC

Paramtres

Avec S7-300 :
2 14 octets

Ecriture possible
avec S7-400
seulement

56 "WR_DPARM"
57 "PARM_MOD"

Paramtres

Avec S7-300 :
2 14 octets
(DS0 et DS1 ont
exactement 16
octets ensemble)

55 "WR_PARM"
56 "WR_DPARM"
57 "PARM_MOD"

2 127

Donnes
utilisateur

240 octets
chacun

128 240

Paramtres

240 octets
chacun

55 "WR_PARM"
56 "WR_DPARM"
57 "PARM_MOD"
58 "WR_REC"
55 "WR_PARM"
56 "WR_DPARM"
57 "PARM_MOD"
58 "WR_REC"

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

7-1

SFC de transfert d'enregistrements

Zone de donnes systme en lecture seule


Le tableau suivant montre l'organisation de la zone de donnes systme en lecture seule.
Il prcise la taille autorise pour les diffrents enregistrements et les fonctions systme
permettant de les lire.
N
d'enregistrement

Contenu

Taille

Lecture avec SFC

Donnes de diagnostic
particulires au module
(dpendent du systme)

4 octets

51 "RDSYSST"
(SZL_ID 00B1H)
59 "RD_REC"

Donnes de diagnostic
particulires la voie
(y compris l'enregistrement
0)

avec S7-300 : 16
octets

avec S7-400 : 4 220


octets

51 "RDSYSST"
(SZL_ID 00B2H et 00B3H)
59 "RD_REC"

2 127

Donnes utilisateur

240 octets chacun

59 "RD_REC"

128 240

Donnes de diagnostic

240 octets chacun

59 "RD_REC"

Ressources systme
Si vous dclenchez brefs intervalles plusieurs transferts d'enregistrements
asynchrones, il est garanti que toutes les tches seront excutes sans s'influencer
rciproquement.
Si la limite des ressources systme se trouve atteinte, un code d'erreur dans RET_VAL
vous le signale. Pour liminer l'erreur temporaire, il suffit de rpter la tche.
Le nombre maximal de tches d'une fonction systme pouvant tre actives
"simultanment" dpend de la CPU. Vous trouverez ce renseignement dans /70/ et dans
/101/.

7-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de transfert d'enregistrements

7.2

Lecture de paramtres prdfinis avec SFC54


"RD_DPARM"

Description
La fonction SFC54 "RD_DPARM" (read defined parameter) vous permet de lire, dans les
donnes systme configures avec STEP 7, l'enregistrement pourvu du numro
RECNUM du module adress. Il est alors crit dans la zone cible tablie par le paramtre
RECORD.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

IOID

INPUT

BYTE

E, A, M, D, L, Identification de la zone d'adresse :


constante
B#16#54 = priphrie d'entre (PE)
B#16#55 = priphrie de sortie (PA)
S'il s'agit d'un module mixte, il faut indiquer l'ID de
zone de la plus basse adresse. Si les adresses sont
les mmes, il faut indiquer B#16#54.

LADDR

INPUT

WORD

E, A, M, D, L, Adresse de base logique du module


constante
Pour un module mixte, il faut indiquer l'adresse la plus
basse des deux.

RECNUM

INPUT

BYTE

E, A, M, D, L, Numro de l'enregistrement
constante
(valeurs admises : 0 240)

RET_VAL

OUTPUT

INT

E, A, M, D, L

Longueur en octets de l'enregistrement lu, s'il tient


dans la zone cible et que le transfert s'est effectu
sans erreur.
Si une erreur est apparue pendant l'excution de la
fonction, la valeur de retour contient un code d'erreur.

RECORD

OUTPUT

ANY

E, A, M, D, L

Zone cible pour l'enregistrement lu.


Seul le type de donnes BYTE est autoris.

Informations d'erreur
Voir Paramtrage d'un module avec SFC57 "PARM_MOD".

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

7-3

SFC de transfert d'enregistrements

7.3

Lecture de paramtres prdfinis avec SFC102


"RD_DPARA"

Description
La fonction SFC102 "RD_DPARA" vous permet de lire, dans les donnes systme
configures avec STEP 7, l'enregistrement pourvu du numro RECNUM d'un module
slectionn. Il est alors crit dans la zone cible tablie par le paramtre RECORD.

Fonctionnement
La SFC102 "RD_DPARA" est une SFC excution asynchrone, c'est--dire qui s'tend
sur plusieurs appels de SFC. Vous dmarrez la tche en appelant la SFC102 avec
REQ = 1.
Les paramtres de sortie RET_VAL et BUSY affichent l'tat de la tche.
Voir aussi Signification des paramtres REQ, RET_VAL et BUSY pour les SFC
excution asynchrone
Paramtre

Dclaration Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L

REQ = 1 : demande de lecture

LADDR

INPUT

WORD

E, A, M, D, L,
constante.

Une quelconque adresse du module. Pour une


adresse de sortie, le bit de poids le plus fort doit tre
1.

RECNUM

INPUT

BYTE

E, A, M, D, L,
constante.

Numro de l'enregistrement (valeurs admises : 0


240)

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code d'erreur.
De plus : longueur en octets de l'enregistrement lu,
s'il tient dans la zone cible et que le transfert s'est
effectu sans erreur.

BUSY

OUTPUT

BOOL

E, A, M, D, L

BUSY = 1 : la tche n'est pas encore termine.

RECORD

OUTPUT

ANY

E, A, M, D, L

Zone cible pour l'enregistrement lu. Seul le type de


donnes BYTE est autoris.

Informations d'erreur
Voir Paramtrage d'un module avec SFC57 "PARM_MOD".

7-4

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de transfert d'enregistrements

7.4

Ecriture de paramtres dynamiques avec SFC55


"WR_PARM"

Description
La fonction SFC55 "WR_PARM" (write parameter) sert transfrer l'enregistrement
RECORD au module adress. Les paramtres transfrs dans le module n'y crasent
pas ceux que vous avez crs avec STEP 7.

Conditions pralables
L'enregistrement transfrer ne doit pas tre statique. (Pour apprendre quels
enregistrements d'un module sont statiques, consultez /71/ ou /101/.)
Paramtre

Dclaration

REQ

INPUT

Type de
donnes
BOOL

IOID

INPUT

BYTE

LADDR

INPUT

WORD

RECNUM

INPUT

BYTE

RECORD
RET_VAL

INPUT
OUTPUT

ANY
INT

BUSY

OUTPUT

BOOL

Zone de
mmoire
E, A, M, D, L,
constante
E, A, M, D, L,
constante

Description
REQ = 1 : demande d'criture

Identification de la zone d'adresse :


B#16#54 = priphrie d'entre (PE)
B#16#55 = priphrie de sortie (PA)
S'il s'agit d'un module mixte, il faut indiquer l'ID de
zone de la plus basse adresse. Si les adresses sont
les mmes, il faut indiquer B#16#54.
E, A, M, D, L, Adresse de base logique du module
constante
Pour un module mixte, il faut indiquer l'adresse la plus
basse des deux.
E, A, M, D, L, Numro de l'enregistrement
constante
E, A, M, D, L Enregistrement
E, A, M, D, L Si une erreur est apparue pendant l'excution de la
fonction, la valeur de retour contient un code d'erreur.
E, A, M, D, L BUSY = 1 : l'criture n'est pas encore termine.

Paramtre d'entre RECORD


Les donnes transfrer sont lues dans le paramtre RECORD lors du premier appel de
la fonction. Si le transfert de l'enregistrement dure plus longtemps qu'un appel, le contenu
du paramtre RECORD n'est plus signifiant lors des appels suivants de la fonction (pour
la mme tche).

Informations d'erreur
Voir Paramtrage d'un module avec SFC57 "PARM_MOD".
Nota
(pour S7-400 seulement)
Si l'erreur gnrale W#16#8544 apparat, cela indique seulement que l'accs tait inhib
un octet au moins de la zone de mmoire E/S contenant l'enregistrement. Cela n'a pas
empch le transfert de donnes.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

7-5

SFC de transfert d'enregistrements

7.5

Ecriture de paramtres prdfinis avec SFC56


"WR_DPARM"

Description
La fonction SFC56 "WR_DPARM" (write default parameter) sert transfrer
l'enregistrement portant le numro RECNUM des donnes de configuration cres avec
STEP 7 au module adress. Que l'enregistrement soit statique ou dynamique est sans
importance.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L, REQ = 1 : demande d'criture


constante

IOID

INPUT

BYTE

E, A, M, D, L, Identification de la zone d'adresse :


constante
B#16#54 = priphrie d'entre (PE)
B#16#55 = priphrie de sortie (PA)
S'il s'agit d'un module mixte, il faut indiquer l'ID de
zone de la plus basse adresse. Si les adresses sont
les mmes, il faut indiquer B#16#54.

LADDR

INPUT

WORD

E, A, M, D, L, Adresse de base logique du module


constante
Pour un module mixte, il faut indiquer l'adresse la plus
basse des deux.

RECNUM

INPUT

BYTE

E, A, M, D, L, Numro de l'enregistrement
constante

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code d'erreur.

BUSY

OUTPUT

BOOL

E, A, M, D, L

BUSY = 1 : l'criture n'est pas encore termine.

Informations d'erreur
Voir Paramtrage d'un module avec SFC57 "PARM_MOD".

7-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de transfert d'enregistrements

7.6

Paramtrage d'un module avec SFC57 "PARM_MOD"

Description
La fonction SFC57 "PARM_MOD" (parametrize module) sert transfrer un module
tous les enregistrements de ce module que vous avez configurs avec STEP 7. Que les
enregistrements soient statiques ou dynamiques est sans importance.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L, REQ= 1 : demande d'criture


constante

IOID

INPUT

BYTE

E, A, M, D, L, Identification de la zone d'adresse :


constante
B#16#54 = priphrie d'entre (PE)
B#16#55 = priphrie de sortie (PA)
S'il s'agit d'un module mixte, il faut indiquer l'ID de
zone de la plus basse adresse. Si les adresses sont
les mmes, il faut indiquer B#16#54.

LADDR

INPUT

WORD

E, A, M, D, L, Adresse de base logique du module


constante
Pour un module mixte, il faut indiquer l'adresse la
plus basse des deux.

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code d'erreur.

BUSY

OUTPUT

BOOL

E, A, M, D, L

BUSY = 1 : l'criture n'est pas encore termine.

Informations d'erreur
Pour les informations d'erreur "authentiques" du Paramtrage d'un module avec SFC57
"PARM_MOD" (codes d'erreur W#16#8xyz) , il faut distinguer deux cas :

erreurs temporaires (codes d'erreur W#16#80A2 80A4, 80Cx) : ce type d'erreur


peut disparatre sans que vous fassiez rien; il est donc judicieux de rpter l'appel de
la SFC (plusieurs fois au besoin); exemple d'erreur temporaire : Les lments requis
(mmoire, etc.) sont momentanment occups (W#16#80C3);

erreurs permanentes (codes d'erreur W#16#809x, 80A1, 80Bx, 80Dx) : ce type


d'erreur ne disparatra pas sans votre intervention; il faut donc la corriger avant de
rpter l'appel de la SFC; exemple d'erreur permanente : La longueur de
l'enregistrement transfr est incorrecte (W#16#80B1).

Nota
Lorsque vous transfrez des enregistrements un esclave DPV1 avec l'une des SFC
55, 56 ou 57, et que cet esclave fonctionne en mode DPV1, le matre DP exploite les
informations d'erreur reues par l'esclave de la manire suivante :
Si l'information d'erreur se trouve dans les zones W#16#8000 W#16#80FF ou
W#16#F000 W#16#FFFF, le matre DP la transmet la SFC. Si elle se trouve en
dehors de ces zones, il indique la valeur W#16#80A2 la SFC et suspend l'esclave.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

7-7

SFC de transfert d'enregistrements

Informations d'erreur des SFC54 "RD_DPARM", SFC55 "WR_PARM", SFC56


"WR_DPARM" et SFC57 "PARM_MOD"
Code
d'erreur
(W#16#...)

Signification

Restriction

7000

Premier appel avec REQ=0 : pas de transfert de donnes;


BUSY a la valeur 0.

7001

Premier appel avec REQ=1 : transfert de donnes activ;


BUSY a la valeur 1.

Priphrie dcentralise

7002

Appel intermdiaire (REQ insignifiant) : transfert de


donnes dj activ; BUSY a la valeur 1.

Priphrie dcentralise

8090

L'adresse de base logique indique est incorrecte : il n'y a


pas d'affectation dans SDB1/SDB2x, ou ce n'est pas une
adresse de base.

8092

Le type de donnes indiqu pour ANY n'est pas BYTE.

seulement avec S7-400 pour la


SFC54 "RD_DPARM" et la SFC55
"WR_PARM"

8093

Cette SFC n'est pas autorise pour le module choisi au


moyen de LADDR et IOID (elle est autorise pour les
modules S7-300 avec S7-300, pour les modules S7-400
avec S7-400, pour les modules DP S7 avec S7-300 et S7400).

80A1

Acquittement ngatif lors de l'envoi de l'enregistrement au


module (module retir pendant l'envoi ou dfectueux).

1)

80A2

Erreur de protocole DP dans la couche 2 ou


ventuellement erreur matrielle ou d'interface dans
l'esclave DP.

Priphrie dcentralise1)

80A3

Erreur de protocole DP dans User Interface/User

Priphrie dcentralise1)

80A4

Communication dfectueuse au bus de communication

Erreur survenant entre la CPU et le


1)
coupleur DP externe

80B0

SFC impossible pour ce type de module ou le module ne


connat pas l'enregistrement.

1)

80B1

La longueur de l'enregistrement transfrer est incorrecte.


Pour la SFC54 "RD_DPARM" : la zone cible ouverte par
RECORD n'est pas assez longue.

80B2

L'emplacement configur n'est pas occup.

1)

80B3

Le type de module en place n'est pas le type prvu dans


SDB1.

1)

80C1

Le module n'a pas encore trait les donnes de la tche


d'criture prcdente pour le mme enregistrement.

1)

80C2

Le module traite momentanment le maximum de tches


possibles pour une CPU.

1)

80C3

Les lments requis (mmoire, etc.) sont momentanment


occups.

80C4

Erreur interne temporaire. La tche n'a pas pu tre


excute.

1)

Renouveler la tche. Si cette erreur survient souvent,


veuillez vrifiez les sources d'erreur lectriques dans
votre installation.
80C5

Priphrie dcentralise non disponible ou dsactive

Priphrie dcentralise1)

80C6

Transfert de l'enregistrement annul pour cause


d'annulation de classe de priorit (redmarrage ou arrireplan)

Priphrie dcentralise1)

7-8

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de transfert d'enregistrements

Code
d'erreur
(W#16#...)

Signification

Restriction

80D0

Le SDB correspondant ne contient pas d'entre pour ce


module.

80D1

Le numro d'enregistrement n'est pas configur pour ce


module dans le SDB correspondant (STEP 7 refuse les
numros d'enregistrements > 241).

80D2

Selon l'ID de type, ce module n'est pas paramtrable.

80D3

Impossible d'accder au SDB, car il n'existe pas.

80D4

Erreur de structure du SDB : le pointeur interne du SDB


dsigne un point l'extrieur du SDB.

seulement avec S7-300

80D5

Enregistrement statique

seulement pour la SFC55


"WR_PARM"

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur


avec le paramtre de sortie RET_VAL

1)

: n'affecte pas la SFC54 "RD_DPARM"

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

7-9

SFC de transfert d'enregistrements

7.7

Ecriture d'un enregistrement avec SFC58 "WR_REC"

Description
La fonction SFC58 "WR_REC" (write record) sert transfrer l'enregistrement RECORD
au module adress.
Vous lancez l'criture en donnant la valeur 1 au paramtre d'entre REQ l'appel de la
SFC58. Si la fonction peut effectuer l'criture aussitt, elle fournit la valeur 0 dans le
paramtre de sortie BUSY. Si BUSY est 1, cela signifie que l'criture n'est pas encore
termine.
Nota
Lorsqu'un esclave DPV1 est configur via un fichier GSD (GSD partir de la rvision 3)
et que l'interface DP du matre DP est paramtre sur "Compatible S7", aucun
enregistrement ne peut tre crit dans les modules d'E/S avec la SFB 58, dans le
programme utilisateur. Dans ce cas, le matre DP adresse un emplacement erron
(emplacement configur + 3).
Solution : commuter l'interface du matre DP sur "DPV1".

Paramtre

Dclaration

REQ

INPUT

Type de
donnes
BOOL

IOID

INPUT

BYTE

LADDR

INPUT

WORD

RECNUM

INPUT

BYTE

RECORD

INPUT

ANY

RET_VAL

OUTPUT

INT

BUSY

OUTPUT

BOOL

7-10

Zone de
mmoire
E, A, M, D, L,
constante
E, A, M, D, L,
constante

Description
REQ = 1 : demande d'criture

Identification de la zone d'adresse :


B#16#54 = priphrie d'entre (PE)
B#16#55 = priphrie de sortie (PA)
S'il s'agit d'un module mixte, il faut indiquer l'ID de
zone de la plus basse adresse. Si les adresses sont
les mmes, il faut indiquer B#16#54.
E, A, M, D, L, Adresse logique du module
constante
Pour un module mixte, il faut indiquer l'adresse la plus
basse des deux.
E, A, M, D, L, Numro de l'enregistrement
constante
(compris entre 2 et 240)
E, A, M, D, L Enregistrement ; seul le type de donnes BYTE est
autoris.
E, A, M, D, L Si une erreur est apparue pendant l'excution de la
fonction, la valeur de retour contient un code d'erreur.
E, A, M, D, L BUSY = 1 : l'criture n'est pas encore termine.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de transfert d'enregistrements

Paramtre d'entre RECORD


Les donnes transfrer sont lues dans le paramtre RECORD lors du premier appel de
la fonction. Si le transfert de l'enregistrement dure plus longtemps qu'un appel, le contenu
du paramtre RECORD n'est plus signifiant lors des appels suivants de la fonction (pour
la mme tche).

Informations d'erreur
Voir Lecture d'un enregistrement avec SFC59 "RD_REC".
Nota
(pour S7-400 seulement)
Si l'erreur gnrale W#16#8544 apparat, cela indique seulement que l'accs tait inhib
un octet au moins de la zone de mmoire E/S contenant l'enregistrement. Cela n'a pas
empch le transfert de donnes.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

7-11

SFC de transfert d'enregistrements

7.8

Lecture d'un enregistrement avec SFC59 "RD_REC"

Description
La fonction SFC59 "RD_REC" (read record) sert lire l'enregistrement portant le numro
RECNUM sur le module adress. Vous lancez l'opration de lecture en donnant la valeur
1 au paramtre d'entre REQ lors de l'appel de la SFC59. Si la lecture a pu tre excute
aussitt, la SFC fournit la valeur 0 au paramtre de sortie BUSY. Tant que BUSY a la
valeur 1, la lecture n'est pas termine. Aprs un transfert sans erreur, l'enregistrement lu
est transcrit dans la zone cible ouverte par RECORD.
Nota
Si vous lisez un enregistrement dont le numro est suprieur 1 dans un module de
fonction (FM) ou dans un processeur de communication (CP) acquis avant fvrier 1997
(appels "anciens modules" dans la suite du texte), le comportement de la SFC59 ne
sera pas le mme que dans un module plus rcent. Ce cas particulier est trait ci-aprs
sous le titre "Utilisation d'anciens FM et CP de S7-300 pour un n d'enregistrement > 1".

Nota
Lorsqu'un esclave DPV1 est configur via un fichier GSD (GSD partir de la rvision 3)
et que l'interface DP du matre DP est paramtre sur "Compatible S7", aucun
enregistrement ne peut tre lu dans les modules d'E/S avec la SFB 59, dans le
programme utilisateur. Dans ce cas, le matre DP adresse un emplacement erron
(emplacement configur + 3).
Solution : commuter l'interface du matre DP sur "DPV1".

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

REQ

INPUT

BOOL

E, A, M, D, L, REQ = 1 : demande de lecture


constante

IOID

INPUT

BYTE

E, A, M, D, L, Identification de la zone d'adresse :


constante
B#16#54 = priphrie d'entre (PE)
B#16#55 = priphrie de sortie (PA)
S'il s'agit d'un module mixte, il faut indiquer l'ID de
zone de la plus basse adresse. Si les adresses sont
les mmes, il faut indiquer B#16#54.

LADDR

INPUT

WORD

E, A, M, D, L, Adresse logique du module


constante
Pour un module mixte, il faut indiquer l'adresse la plus
basse des deux.

RECNUM

INPUT

BYTE

E, A, M, D, L, Numro de l'enregistrement
constante
(compris entre 0 et 240)

7-12

Description

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de transfert d'enregistrements

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code d'erreur.
En plus : longueur en octets de l'enregistrement
effectivement transfr (comprise entre +1 et +240) , si
la zone cible est plus grande que l'enregistrement
transfr et que le transfert s'est effectu sans erreur.

BUSY

OUTPUT

BOOL

E, A, M, D, L

BUSY = 1 : la lecture n'est pas encore termine.

RECORD

OUTPUT

ANY

E, A, M, D, L

Zone cible pour l'enregistrement lu. En cas d'excution


asynchrone de la SFC59, veillez ce que les
paramtres effectifs de RECORD indiquent la mme
longueur pour tous les appels. Seul le type de donnes
BYTE est autoris.

Paramtre de sortie RET_VAL


Quand une erreur est apparue durant l'excution de la fonction, la valeur de retour
contient un code d'erreur.
Quand le transfert a eu lieu sans erreur, RET_VAL contient :

0, si toute la zone cible a t remplie de donnes provenant de l'enregistrement


slectionn (mais l'enregistrement peut tre incomplet);

la longueur en octets de l'enregistrement effectivement transfr (valeurs possibles :


+1 + 240), si la zone cible est plus grande que celui-ci.

Nota
Si l'erreur gnrale W#16#8745 apparat, cela indique seulement que l'accs n'tait pas
possible un octet au moins lors de l'criture dans la mmoire image. L'enregistrement a
t lu correctement sur le module et crit dans la zone des E/S.

Choix adquat de RECORD


Nota
Pour tre sr que l'enregistrement sera toujours lu dans son entier, choisissez une zone
cible de 241 octets de longueur. Aprs un transfert sans erreur, RET_VAL indique alors
la longueur effective de l'enregistrement.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

7-13

SFC de transfert d'enregistrements

Utilisation d'anciens FM et CP S7-300 pour un n d'enregistrement > 1


Si vous employez la SFC59 "RD_REC" pour lire, sur un ancien FM S7-300 ou sur un
ancien CP S7-300, un enregistrement dont le numro est suprieur 1 il faut savoir ceci :

si la zone cible est plus grande que la longueur effective de l'enregistrement


souhait, aucune donne ne sera crite dans RECORD; RET_VAL contiendra la
valeur W#16#80B1;

si la zone cible est plus petite que la longueur effective de l'enregistrement souhait,
la CPU lira, partir du dbut de l'enregistrement, le nombre d'octets spcifi par
l'indication de longueur de RECORD, et les crira dans RECORD; RET_VAL
contiendra la valeur 0.

si la longueur indique pour RECORD est identique la longueur effective de


l'enregistrement souhait, la CPU lira ce dernier et l'crira dans RECORD; RET_VAL
contiendra la valeur 0.

Informations d'erreur
Pour les informations d'erreur "authentiques" du tableau suivant (codes d'erreur
W#16#8xyz) , il faut distinguer deux cas :

erreurs temporaires (codes d'erreur W#16#80A2 80A4, 80Cx) : ce type d'erreur


peut disparatre sans que vous fassiez rien; il est donc judicieux de rpter l'appel de
la SFC (plusieurs fois au besoin); exemple d'erreur temporaire : Les lments requis
(mmoire, etc.) sont momentanment occups (W#16#80C3);

erreurs permanentes (codes d'erreur W#16#809x, 80A1, 80Bx, 80Dx) : ce type


d'erreur ne disparatra pas sans votre intervention; il faut donc la corriger avant de
rpter l'appel de la SFC; exemple d'erreur permanente : La longueur de
l'enregistrement transfr est incorrecte (W#16#80B1).

Nota
Lorsque vous transfrez des enregistrements un esclave DPV1 avec la SFC58
"WR_REC" ou effectuez la lecture d'enregistrements depuis un esclave DPV1 avec la
SFC59 "RD_REC", et que cet esclave fonctionne en mode DPV1, le matre DP exploite
les informations d'erreur reues par l'esclave de la manire suivante :
Si l'information d'erreur se trouve dans les zones W#16#8000 W#16#80FF ou
W#16#F000 W#16#FFFF, le matre DP la transmet la SFC. Si elle se trouve en
dehors de ces zones, il indique la valeur W#16#80A2 la SFC et suspend l'esclave.
Les informations d'erreur provenant d'esclaves DPV1 sont dcrites dans la rubrique
Rception d'une alarme d'un esclave DP avec SFB54 "RALRM", STATUS[3].

7-14

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de transfert d'enregistrements

Informations d'erreur des SFC58 "WR_REC" et SFC59 "RD_REC"


Code
d'erreur
(W#16#...)

Signification

Restriction

7000

Premier appel avec REQ=0 : pas de transfert de


donnes ; BUSY a la valeur 0.

7001

Premier appel avec REQ=1 : transfert de donnes


activ ; BUSY a la valeur 1.

Priphrie dcentralise

7002

Appel intermdiaire (REQ insignifiant) : transfert de


donnes dj activ ; BUSY a la valeur 1.

Priphrie dcentralise

8090

L'adresse de base logique indique est incorrecte :


il n'y a pas d'affectation dans SDB1/SDB2x, ou ce
n'est pas une adresse de base.

8092

Le type de donnes indiqu pour ANY n'est pas


BYTE.

Seulement avec S7-400

8093

Cette SFC n'est pas autorise pour le module choisi au moyen de LADDR et IOID (elle est autorise
pour les modules S7-300 avec S7-300, pour les
modules S7- 400 avec S7-400, pour les modules
DP S7 avec S7-300 et S7-400).

80A0

Acquittement ngatif lors de la lecture sur le module Seulement pour la SFC59 "RD_REC"
(module retir pendant la lecture ou dfectueux).

80A1

Acquittement ngatif lors de l'criture sur le module


(module retir pendant l'criture ou dfectueux).

80A2

Erreur de protocole DP dans la couche 2

Priphrie dcentralise

80A3

Erreur de protocole DP dans User Interface/User

Priphrie dcentralise

80A4

Communication dfectueuse au bus de


communication

Erreur survenant entre la CPU et le


coupleur DP externe

80B0

SFC impossible pour ce type de module.

Le module ne connat pas l'enregistrement.

Un numro d'enregistrement > 241 est illicite.

Les enregistrements 0 et 1 ne sont pas autoriss


pour la SFC58 "WR_REC".

80B1

Seulement pour la SFC58 "WR_REC"

La longueur indique par le paramtre RECORD est


fausse.

pour la SFC58 "WR_REC" : longueur


fausse

pour la SFC59 "RD_REC" (possible


seulement avec anciens FM et CP S7300) :
indication > longueur de
l'enregistrement

pour la SFC13 "DPNRM_DG" :


indication < longueur de
l'enregistrement

80B2

L'emplacement configur n'est pas occup.

80B3

Le type de module en place n'est pas le type prvu


dans SDB1.

80C0

Pour la SFC59 "RD_REC" : le module dispose


de l'enregistrement, mais il n'y a pas encore de
donnes de lecture.

Pour la SFC59 "RD_REC" ou pour la


SFC13 "DPNRM_DG"

Pour la SFC13 "DPNRM_DG" : il n'y a pas de


donnes de diagnostic.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

7-15

SFC de transfert d'enregistrements

Code
d'erreur
(W#16#...)

Signification

Restriction

80C1

Le module n'a pas encore trait les donnes de la


tche d'criture prcdente pour le mme
enregistrement.

80C2

Le module traite momentanment le maximum de


tches possibles pour une CPU.

80C3

Les lments requis (mmoire, etc.) sont


momentanment occups.

80C4

Erreur interne temporaire. La tche n'a pas pu tre


excute.

Renouveler la tche. Si cette erreur survient


souvent, veuillez vrifiez les sources d'erreur
lectriques dans votre installation.
80C5

Priphrie dcentralise non disponible

Priphrie dcentralise

80C6

Transfert de l'enregistrement annul pour cause


d'annulation de classe de priorit (redmarrage ou
arrire-plan)

Priphrie dcentralise

8xyy

Informations d'erreur gnrales, voir Evaluation


d'erreur avec le paramtre de sortie RET_VAL

7-16

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de transfert d'enregistrements

7.9

Autres informations d'erreur des SFC 55 59

Pour S7-400 seulement


Avec S7-400, les fonctions SFC 55 59 peuvent aussi fournir le code d'erreur
W#16#80Fx. Cela signifie qu'il s'est produit une erreur impossible localiser. Dans ce
cas, adressez-vous au personnel de maintenance.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

7-17

SFC de transfert d'enregistrements

7-18

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFB DPV1 selon PNO AK 1131

8.1

Lecture d'un enregistrement depuis un esclave DP avec


SFB52 "RDREC"
Nota
L'interface du SFB52 "RDREC" est identique celle du FB "RDREC" dfini dans la norme
"PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according
to IEC 61131-3".

Description
Le bloc fonctionnel systme SFB52 "RDREC" (read record) sert lire l'enregistrement
portant le numro INDEX sur le composant (module ou sous-module) d'un esclave DP
adress au moyen d'un ID.
Avec MLEN, vous dfinissez le nombre d'octets maximum que vous souhaitez lire. Il est
donc recommand de slectionner une longueur minimale de MLEN octets pour la zone
cible RECORD.
Lorsque le paramtre de sortie VALID prend la valeur TRUE, l'enregistrement a t
transfr correctement dans la zone cible RECORD. Dans ce cas, le paramtre de sortie
LEN est gal la longueur en octets des donnes lues.
Si une erreur apparat lors du transfert de l'enregistrement, elle est signale par le
paramtre de sortie ERROR. Dans ce cas, le paramtre de sortie STATUS contient les
informations d'erreur.
Nota
Lorsqu'un esclave DPV1 est configur via un fichier GSD (GSD partir de la rvision 3)
et que l'interface DP du matre DP est paramtre sur "Compatible S7", aucun
enregistrement ne peut tre lu dans les modules d'E/S avec la SFB 52, dans le
programme utilisateur. Dans ce cas, le matre DP adresse un emplacement erron
(emplacement configur + 3).
Solution : commuter l'interface du matre DP sur "DPV1".

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

8-1

SFB DPV1 selon PNO AK 1131

Fonctionnement
Le bloc SFB52 "RDREC" est un SFB excution asynchrone, c'est--dire qui s'tend sur
plusieurs appels de SFB. Vous dmarrez la tche en appelant SFB52 avec REQ = 1.
Le paramtre de sortie BUSY et les octets 2 et 3 du paramtre de sortie STATUS
affichent l'tat de la tche. Les octets 2 et 3 de STATUS correspondent au paramtre de
sortie RET_VAL des SFC excution asynchrone (voir aussi Signification des
paramtres REQ, RET_VAL et BUSY pour les SFC excution asynchrone).
Le transfert de l'enregistrement est termin lorsque le paramtre de sortie BUSY prend la
valeur FALSE.
Paramtre

Dclaration Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L, REQ = 1 : effectuer le transfert de l'enregistrement.


constante.

ID

INPUT

DWORD

E, A, M, D, L, Adresse logique du composant de l'esclave DP


constante.
(module ou sous-module).
Pour un module de sortie, vous devez mettre 1 le bit
15 (ex. pour l'adresse 5 : ID:=DW#16#8005).
Pour un module mixte, vous devez indiquer la plus
petite des deux adresses.

INDEX

INPUT

INT

E, A, M, D, L, Numro de l'enregistrement.
constante.

MLEN

INPUT

INT

E, A, M, D, L, Longueur maximale en octets de l'information


constante.
d'enregistrement lire.

VALID

OUTPUT

BOOL

E, A, M, D, L Le nouvel enregistrement a t reu est et admissible.

BUSY

OUTPUT

BOOL

E, A, M, D, L BUSY = 1 : la procdure de lecture n'est pas encore


termine.

ERROR

OUTPUT

BOOL

E, A, M, D, L ERROR = 1 : une erreur est apparue durant la


procdure de lecture.

STATUS

OUTPUT

DWORD

E, A, M, D, L Identification d'appel (octets 2 et 3) ou code d'erreur

LEN

OUTPUT

INT

E, A, M, D, L Longueur de l'information d'enregistrement lue.

RECORD

IN_OUT

ANY

E, A, M, D, L Zone cible pour l'enregistrement lu.

Informations d'erreur
Voir Rception d'une alarme d'un esclave DP avec SFB54 "RALRM"

8-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFB DPV1 selon PNO AK 1131

8.2

Ecriture d'un enregistrement dans un esclave DP avec


SFB53 "WRREC"
Nota
L'interface du SFB53 "WRREC" est identique celle du FB "WRREC" dfini dans la
norme "PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks
according to IEC 61131-3".

Description
Le bloc fonctionnel systme SFB53 "WRREC" (write record) sert transfrer
l'enregistrement RECORD au composant (module ou sous-module) d'un esclave DP
adress au moyen d'un ID.
Avec LEN, vous dfinissez la longueur en octets de l'enregistrement transfrer. Il est
donc recommand de slectionner une longueur minimale de LEN octets pour la zone
source RECORD.
Lorsque le paramtre de sortie DONE prend la valeur TRUE, l'enregistrement a t
transfr correctement l'esclave DP.
Si une erreur survient lors du transfert de l'enregistrement, elle est signale par le
paramtre de sortie ERROR. Dans ce cas, le paramtre de sortie STATUS contient les
informations d'erreur.
Nota
Lorsqu'un esclave DPV1 est configur via un fichier GSD (GSD partir de la rvision 3)
et que l'interface DP du matre DP est paramtre sur "Compatible S7", aucun
enregistrement ne peut tre crit dans les modules d'E/S avec la SFB 53, dans le
programme utilisateur. Dans ce cas, le matre DP adresse un emplacement erron
(emplacement configur + 3).
Solution : commuter l'interface du matre DP sur "DPV1".

Fonctionnement
Le bloc SFB53 "WRREC" est un SFB excution asynchrone, c'est--dire qui s'tend sur
plusieurs appels de SFB. Vous dmarrez la tche en appelant SFB53 avec REQ = 1.
Le paramtre de sortie BUSY et les octets 2 et 3 du paramtre de sortie STATUS
affichent l'tat de la tche. Les octets 2 et 3 de STATUS correspondent au paramtre de
sortie RET_VAL des SFC excution asynchrone (voir aussi Signification des
paramtres REQ, RET_VAL et BUSY pour les SFC excution asynchrone).

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

8-3

SFB DPV1 selon PNO AK 1131

Le transfert de l'enregistrement est termin lorsque le paramtre de sortie BUSY prend la


valeur FALSE.
Paramtre

Dclaration Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L, REQ = 1 : effectuer le transfert de l'enregistrement


constante.

ID

INPUT

DWORD

E, A, M, D, L, Adresse logique du composant de l'esclave DP


constante.
(module ou sous-module).
Pour un module de sortie, vous devez mettre 1 le bit
15 (ex. pour l'adresse 5 : ID:=DW#16#8005).
Pour un module mixte, vous devez indiquer la plus
petite des deux adresses.

INDEX

INPUT

INT

E, A, M, D, L, Numro de l'enregistrement.
constante.

LEN

INPUT

INT

E, A, M, D, L, Longueur maximale en octets de l'enregistrement


constante.
transfrer.

DONE

OUTPUT

BOOL

E, A, M, D, L L'enregistrement a t transfr.

BUSY

OUTPUT

BOOL

E, A, M, D, L BUSY = 1 : la procdure d'criture n'est pas encore


termine.

ERROR

OUTPUT

BOOL

E, A, M, D, L ERROR = 1 : une erreur est apparue durant la


procdure d'criture.

STATUS

OUTPUT

DWORD

E, A, M, D, L Identification d'appel (octets 2 et 3) ou code d'erreur.

RECORD

IN_OUT

ANY

E, A, M, D, L Enregistrement.

Informations d'erreur
Voir Rception d'une alarme d'un esclave DP avec SFB54 "RALRM"

8-4

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFB DPV1 selon PNO AK 1131

8.3

Rception d'une alarme d'un esclave DP avec SFB54


"RALRM"
Nota
L'interface du SFB54 "RALRM" est identique celle du FB "RALRM" dfini dans la
norme "PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks
according to IEC 61131-3".

Description
Le bloc fonctionnel systme SFB "RALRM" sert recevoir une alarme mise par un
module de signaux (configuration centrale) ou un composant d'un esclave DP, avec
toutes les informations correspondantes, qu'il met disposition dans ses paramtres de
sortie.
L'information dans les paramtres de sortie comporte aussi bien les informations de
dclenchement de l'OB appel que des informations provenant de la source de l'alarme.
Appelez SFB54 uniquement dans l'OB d'alarme qui a t dmarr par le systme
d'exploitation de la CPU pour vrifier l'alarme de la priphrie.
Nota
Si vous appelez SFB54 "RALRM" dans un OB dont l'vnement de dclenchement n'est
pas une alarme de la priphrie, le SFB fournit beaucoup moins d'informations au
niveau de ses sorties.
Lorsque vous appelez SFB54 "RALRM", n'oubliez pas que vous utilisez divers DB
d'instance dans les diffrents OB. Si vous exploitez les donnes rsultant d'un appel de
SFB54 en dehors de l'OB d'alarme correspondant, il est recommand d'utiliser un DB
d'instance propre chaque vnement de dclenchement de l'OB.

Appel de SFB54
Vous pouvez appeler SFB54 "RALRM" avec trois modes de fonctionnement (MODE)
diffrents expliqus dans le tableau ci-aprs.
MODE

SFB54 ...

... indique le composant ayant dclench l'alarme dans le paramtre de sortie ID et attribue la
valeur TRUE au paramtre de sortie NEW.

... complte tous les paramtres de sortie quelle que soit le composant ayant dclench l'alarme.

... vrifie si le composant spcifi dans le paramtre d'entre F_ID a dclench l'alarme.

Si non, NEW prend la valeur FALSE.

Si oui, NEW prend la valeur TRUE, et tous les autres paramtres de sortie sont complts

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

8-5

SFB DPV1 selon PNO AK 1131

Paramtre

Dclaration Type de
donnes

Zone de
mmoire

Description

MODE

INPUT

INT

E, A, M, D, L, Mode de fonctionnement.
constante.

F_ID

INPUT

DWORD

E, A, M, D, L, Adresse logique de dbut du composant (module ou


constante.
sous-module) partir duquel des alarmes doivent tre
reues.

MLEN

INPUT

INT

E, A, M, D, L, Longueur maximale en octets des informations


constante.
d'alarme recevoir.

NEW

OUTPUT

BOOL

E, A, M, D, L Une nouvelle alarme a t reue.

STATUS

OUTPUT

DWORD

E, A, M, D, L Code d'erreur du SFB ou du matre DP.

ID

OUTPUT

DWORD

E, A, M, D, L Adresse logique de dbut du composant (module ou


sous-module) duquel une alarme a t reue.
Le bit 15 contient l'identification E/S : 0 pour une
adresse d'entre, 1 pour une adresse de sortie.

LEN

OUTPUT

INT

E, A, M, D, L Longueur des informations d'alarme reues.

TINFO

IN_OUT

ANY

E, A, M, D, L (informations de tche)
Zone cible pour les informations de dclenchement et
les informations de gestion de l'OB.

AINFO

IN_OUT

ANY

E, A, M, D, L (informations d'alarme)
Zone cible pour les informations d'en-tte et les
informations d'alarme complmentaires.
Pour AINFO, il est recommand de prvoir une
longueur gale MLEN octets au minimum.

Important
Si la zone cible TINFO ou AINFO est choisie trop courte, SFB54 ne pourra entrer la
totalit des informations.

Structure de donnes de la zone cible TINFO


Octet
0 19

20 27

8-6

Signification
Informations de dclenchement de l'OB dans lequel SFB54 a t appel

octets 0 11 : structurs comme le paramtre TOP_SI de SFC6 "RD_SINFO"

octets 12 19 : date et heure de demande de l'OB

Informations de gestion

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFB DPV1 selon PNO AK 1131

Structure des informations de gestion


N d'octet Type de
de TINFO donnes
20

BYTE

Signification
Centrale

Dcentralise ID du rseau matre DP (valeurs possibles : 1 255)


21

BYTE

Centrale

numro de chssis (valeurs possibles : 0 31)

Dcentralise numro de la station DP (valeurs possibles : 0 127)


22

BYTE

Centrale

Dcentrali
se

0
bits 0 3 : type
d'esclave

0000 :

DP

0001 :

DPS7

0010 :

DPS7 V1

0011 :

DPV1

partir
de 0100 rserv
:

23

BYTE

Centrale

Dcentralise

BYTE

0000 :

DP

partir Rserv
de 0001
:

0
0000 :

transparent
(l'alarme est mise par un module
dcentralis configur)

0001 :

reprsent
(alarme d'un esclave autre que
DPV1 ou d'un emplacement non
configur)

0010 :

cr
(alarme cre dans la CPU)

partir
de 0011 rserv
:

bits 4 7 : version de 0000 :


initial
la structure partir
de 0001 rserv
:

Centrale

24

bits 4 7 : type de
profil

bits 0 3 : type d'info


d'alarme

Dcentralise Drapeau du module de couplage du matre DP

bit 0 = 0 :

alarme d'un module de couplage DP intgr


alarme d'un module de couplage DP externe

bit 0 = 1 :

bits 1 7 : rserv

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

8-7

SFB DPV1 selon PNO AK 1131

N d'octet Type de
de TINFO donnes

Signification

25

Centrale

BYTE

Dcentralise Drapeau du module de couplage du matre DP

26 bis 27

WORD

bit 0 :

EXT_DIAG_Bit du tlgramme de diagnostic ou 0, ce bit


n'existe pas pour l'alarme

bits 1
7:

rserv

Centrale

Dcentralise Numro d'identification PROFIBUS

Structure de donnes de la zone cible AINFO


Octet

Signification

03

Informations d'en-tte

4 223

Informations d'alarme complmentaires : donnes spcifiques au module pour l'alarme


respective :

Centrale :

ARRAY[0] ARRAY[220]

Dcentralise :

ARRAY[0] ARRAY[59]

Structure des informations d'en-tte


Octet

Type de
donnes

Signification

BYTE

Longueur en octets des informations d'alarme reues

Centrale

Dcentralise

4 224
4 63

BYTE

Centrale

rserv

Dcentralise

Identification du type d'alarme


1:

alarme de diagnostic

2:

alarme du processus

3:

alarme de dbrochage

4:

alarme d'enfichage

5:

alarme d'tat

6:

alarme d'actualisation

31 :

dfaillance d'un chssis d'extension, d'un rseau matre DP ou


d'une station DP

32
126 :

alarme spcifique au fabricant

BYTE

Numro d'emplacement du composant ayant dclench l'alarme

BYTE

Centrale

Rserv

Dcentralise Identificateur

8-8

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFB DPV1 selon PNO AK 1131

Octet

Type de
donnes

Signification
Bits 0 et 1 : 0 : pas d'informations complmentaires ;
1 : vnement arrivant, l'emplacement est dfectueux
2 : vnement partant, l'emplacement n'est plus dfectueux
3 : vnement partant, emplacement toujours dfectueux
Bit 2 :

Add_Ack

Bits 3 7

Numro de squence

Zones cibles TINFO et AINFO


Selon l'OB dans lequel SFB54 est appel, les zones cibles TINFO et AINFO ne sont
compltes que partiellement. Les informations qu'elles contiennent sont indiques dans
le tableau suivant.
Type d'alarme OB

TINFO
TINFO
AINFO
AINFO
Informations Informations Informations Informations d'alarme
d'tat de
de gestion
d'en-tte
complmentaires
l'OB

Alarme de
processus

oui

4x

oui

oui

Centrale :

non

Dcentralise: celle fournie par


l'esclave DP
Alarme d'tat

55

oui

oui

oui

Oui

Alarme
d'actualisation

56

oui

oui

oui

Oui

Alarme
spcifique au
fabricant

57

oui

oui

oui

Oui

Erreur de
70
redondance de
priphrie

oui

oui

non

Non

Alarme de
diagnostic

oui

oui

oui

Centrale :

82

enregistrement 1

Dcentralise : celle fournie par


l'esclave DP
Alarme de
dbrochage/
enfichage

83

oui

oui

oui

Centrale :

non

Dcentralise : celle fournie par


l'esclave DP
Dfaillance
d'unit

86

oui

...

Tous les oui


autres OB

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

oui

non

Non

non

non

Non

8-9

SFB DPV1 selon PNO AK 1131

Informations d'erreur
Le paramtre de sortie STATUS contient des informations d'erreur. S'il est interprt
comme ARRAY[1...4] OF BYTE, la structure des informations d'erreur est la suivante :
Elment du champ Nom

Signification

STATUS[1]

B#16#00, si pas d'erreur

Identificateur de fonction de DPV1-PDU :


en cas d'erreur, B#16#80.
Si aucun lment de protocole DPV1 n'est utilis : B#16#C0.

Function_Num

STATUS[2]

Error_Decode

Lieu du code d'erreur

STATUS[3]

Error_Code_1

Code d'erreur

STATUS[4]

Error_Code_2

Extension du code d'erreur spcifique au fabricant

STATUS[2] peut prendre les valeurs suivantes :


Error_Decode
(B#16#...)

Source

Signification

00 7F

CPU

Pas d'erreur ou pas d'avertissement

80

DPV1

Erreur selon CEI 61158-6

81 8F

CPU

B#16#8x signale une erreur dans le xime paramtre d'appel du


SFB

FE, FF

Profils DP

Erreur spcifique au profil

STATUS[3] peut prendre les valeurs suivantes :


Error_Decode Error_Code_1 Explication Significatrion
(B#16#...)
(B#16#...)
selon DVP1
00

00

70

00

reserved,
reject

Premier appel ; aucune transmission de donnes active

01

reserved,
reject

Premier appel ; transmission de donnes dmarre

02

reserved,
reject

Appel intermdiaire ; transmission de donnes dj active

90

reserved,
pass

Adresse logique de dbut invalide

92

reserved,
pass

Type non autoris pour le pointeur ANY

93

reserved,
pass

Le composant DP adress au moyen de ID ou F_ID n'est pas


configur.

80

8-10

Pas d'erreur, pas d'avertissement

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFB DPV1 selon PNO AK 1131

Error_Decode Error_Code_1 Explication Significatrion


(B#16#...)
(B#16#...)
selon DVP1
95

Erreur dans le systme H lors de la lecture de l'information


d'alarme supplmentaire (lors de la lecture de l'information
d'alarme supplmentaire dans une priphrie centrale ou dans
une priphrie dcentralise via un coupleur DP externe, cette
erreur est indique en tant qu'"erreur groupe".)
Nota : lors du couplage ou de l'actualisation des donnes, il est
possible que l'information d'alarme supplmentaire ne soit
temporairement pas disponible.

96

Une commutation matre-esclave a eu lieu dans un systme H et


la CPU qui tait matre s'est mise l'arrt. A cet instant, un OB
tait en cours de traitement. SFB54 ne peut fournir ni les
informations de dclenchement de l'OB, ni les informations de
gestion, ni les informations d'en-tte, ni aucune information
d'alarme complmentaire.
Vous pouvez lire les informations de dclenchement de l'OB
avec SFC6 "RD_SINFO". Pour les OB 4x, 55, 56, 57, 82 et 83
vous pouvez effectuer la lecture asynchrone du tlgramme de
diagnostic actuel de l'esclave DP concern en utilisant SFC13
"DPNRM_DG" (l'adresse est tire des informations de
dclenchement de l'OB).

A0

read error

Acquittement ngatif lors de la lecture du module

A1

write error

Acquittement ngatif lors de l'criture du module

A2

module
failure

Erreur de protocole DP dans Layer 2

A3

reserved,
pass

Erreur de protocole DP dans Direct-Data-Link-Mapper ou UserInterface/User

A4

reserved,
pass

Communication dfectueuse sur le bus K

A5

reserved,
pass

A7

reserved,
pass

L'esclave DP ou le module est endommag (erreur temporaire).

A8

version
conflict

L'esclave DP ou le module signale des versions qui ne


conviennent pas.

A9

feature not
supported

Cette fonction n'est pas prise en charge par l'esclave DP ou par


le module.

AA AF

user specific L'esclave DP ou le module signale une erreur de son application


spcifique au fabricant. Veuillez consulter la documentation du
fabricant.

B0

invalid index Le module ne connat pas l'enregistrement


Un numro d'enregistrement 256 n'est pas autoris

B1

write length
error

Indication de longueur errone dans le paramtre RECORD


Pour SFB54 : erreur de longueur dans AINFO

B2

invalid slot

L'emplacement configur n'est pas occup.

B3

type conflict Le type de module en place est diffrent du type de module


configur.

B4

invalid area

B5

state conflict L'esclave DP ou le module n'est pas prt.

B6

access
denied

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

L'esclave DP ou le module signale un accs une zone interdite.


L'esclave DP ou le module refuse l'accs.

8-11

SFB DPV1 selon PNO AK 1131

Error_Decode Error_Code_1 Explication Significatrion


(B#16#...)
(B#16#...)
selon DVP1
B7

invalid range L'esclave DP ou le module signale une plage interdite d'un


paramtre ou d'une valeur.

B8

invalid
parameter

L'esclave DP ou le module signale un paramtre inadmissible.

B9

invalid type

L'esclave DP ou le module signale un type inadmissible.

BA BF

user specific L'esclave DP ou le module signale une erreur d'accs spcifique


au fabricant. Veuillez consulter la documentation du fabricant.

C0

read
constrain
conflict

Le module traite l'enregistrement, mais aucune donne de


lecture n'est encore prsente.

C1

write
constrain
conflict

Les donnes de la tche d'criture prcdente du module pour le


mme enregistrement ne sont pas encore traites par le module.

C2

resource
busy

Le module traite actuellement le nombre maximum de tches


possibles pour une CPU.

C3

resource
unavailable

Les ressources requises sont actuellement occupes.

C4

Erreur interne temporaire. Impossible d'excuter la tche.


Rptez la tche. Si cette erreur apparat souvent, vrifiez que
votre montage ne prsente pas de sources de parasites
lectriques.

C5

Esclave DP ou module non disponible.

C6

Le transfert de l'enregistrement a t abandonn pour cause de


classe de priorit.

C7

Abandon de la tche pour cause de dmarrage chaud ou


froid du matre DP

C8 CF

L'esclave DP ou le module signale une erreur de ressources


spcifique au fabricant. Veuillez consulter la documentation du
fabricant.

Dx
81

user specific Spcifique l'esclave DP. Voir la description de l'esclave DP.

00 FF

Erreur dans le premier paramtre d'appel (pour SFB54 : MODE)

00

Mode de fonctionnement non autoris

82

00 FF

Erreur dans le deuxime paramtre d'appel

88

00 FF

Erreur dans le huitime paramtre d'appel (pour SFB54 : TINFO)

01

Identificateur de syntaxe erron

23

Dpassement de la quantit dynamique ou zone cible trop petite

24

Identificateur de zone erron

32

Le numro de DB/DI se trouve en dehors de la zone utilisateur

3A

Le numro de DB/DI est NULL pour l'identificateur de zone


DB/DI ou bien le DB/DI indiqu manque.

8-12

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFB DPV1 selon PNO AK 1131

Error_Decode Error_Code_1 Explication Significatrion


(B#16#...)
(B#16#...)
selon DVP1
89

00 FF

Erreur dans le neuvime paramtre d'appel (pour SFB54 :


AINFO)

01

Identificateur de syntaxe erron

23

Dpassement de la quantit dynamique ou zone cible trop petite

24

Identificateur de zone erron

32

Le numro de DB/DI se trouve en dehors de la zone utilisateur

3A

Le numro de DB/DI est NULL pour l'identificateur de zone


DB/DI ou bien le DB/DI indiqu manque.

8A

00 FF

Erreur dans le 10me paramtre d'appel

8F

00 FF

Erreur dans le 15me paramtre d'appel

FE, FF

00 FF

Erreur spcifique au profil

En cas d'erreurs DPV1, STATUS[4] est transfr par le matre DP la CPU et au SFB.
En l'absence d'erreur DPV1, la valeur est mise 0, avec les exceptions suivantes pour
SFB52 :

si MLEN > longueur de la zone cible de RECORD, STATUS[4] contient la longueur


de la zone cible de RECORD;

si la longueur de l'enregistrement effective < MLEN < longueur de la zone cible de


RECORD, STATUS[4]=MLEN.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

8-13

SFB DPV1 selon PNO AK 1131

8.4

Envoi d'une alarme au matre DP avec SFB75 "SALRM"


Nota
L'interface du SFB75 "SALRM" est identique celle du FB "SALRM" dfini dans la norme
"PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according
to IEC 61131-3".

Description
Le bloc SFB75 "SALRM" vous permet d'envoyer au matre DP correspondant, depuis le
programme utilisateur d'un esclave intelligent, une alarme d'un emplacement situ dans
la zone de transfert (emplacement virtuel). Ceci entrane le dmarrage de l'OB
correspondant du matre DP.
L'alarme peut tre accompagne d'informations complmentaires spcifiques. Dans le
matre DP, vous pouvez lire l'ensemble de ces informations complmentaires avec
SFB54 "RALRM".
SFB75 peut uniquement tre utilis en mode compatible S7.

DP : le matre intgre l'esclave I au moyen du fichier GSD.

Compatible S7 : l'esclave I est reli un matre avec STEP 7, via HW Config.

Fonctionnement
SFB75 "SALRM" fonctionne en mode asynchrone, c'est--dire que son excution s'tend
sur plusieurs appels de SFB. Pour dmarrer le transfert de l'alarme, vous appelez SFB75
avec REQ = 1.
La procdure d'mission est active jusqu' ce que le matre DP acquitte ou abandonne le
traitement de l'alarme.
L'tat de la tche est indiqu par le paramtre de sortie BUSY et les octets 2 et 3 du
paramtre de sortie STATUS. Les octets 2 et 3 de STATUS correspondent au paramtre
de sortie RET_VAL des SFC fonctionnant en mode asynchrone (voir aussi Signification
des paramtres REQ, RET_VAL et BUSY pour les SFC excution asynchrone).
Le transfert de l'alarme est termin quand le paramtre de sortie BUSY prend la valeur
FALSE.

8-14

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFB DPV1 selon PNO AK 1131

Identification de la tche
Si vous avez dclench l'envoi d'une alarme au matre DP avec SFB75 et que vous
appelez nouveau ce SFB avant la fin de la tche en cours, le comportement ultrieur du
SFB sera fonction de la tche excuter lors du nouvel appel.
Quand les paramtres ID et ATYPE sont identiques ceux de la tche en cours, l'appel
SFB est considr comme appel conscutif.
Paramtre

Dclaration Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L, REQ = 1 : excuter le transfert de l'alarme


const.

ID

INPUT

DWORD

E, A, M, D, L, Une adresse logique quelconque de la zone de


const.
transfert au matre DP (emplacements virtuels, vu
depuis l'esclave DP), sauf l'adresse de diagnostic de la
station et l'adresse logique de l'emplacement 2.
L'information significative se trouve dans le mot de
poids faible. Le mot de poids fort a la valeur nulle. Le
bit 15 contient l'identification E/S : 0 pour une adresse
d'entre, 1 pour une adresse de sortie.

ATYPE

ASPEC

INPUT

INPUT

INT

INT

E, A, M, D, L, Type d'alarme
const.
Identification du type d'alarme. Valeurs possibles :

1 : alarme de diagnostic

2 : alarme de processus

E, A, M, D, L, Identificateur d'alarme :
const.
0 : pas d'autres informations

1 : vnement arrivant, emplacement dfectueux

2 : vnement partant, emplacement plus


dfectueux

3 : vnement partant, emplacement toujours


dfectueux

LEN

INPUT

INT

E, A, M, D, L, Longueur en octets des informations d'alarme


const.
complmentaires envoyer
Valeur maximale : 16

DONE

OUTPUT

BOOL

E, A, M, D, L DONE=1 : l'alarme a t transfre

BUSY

OUTPUT

BOOL

E, A, M, D, L BUSY = 1 : le transfert de l'alarme n'est pas encore


termin.

ERROR

OUTPUT

BOOL

E, A, M, D, L ERROR = 1 : une erreur est apparue

STATUS

OUTPUT

DWORD

E, A, M, D, L Informations d'erreur

AINFO

IN_OUT

ANY

E, A, M, D, L Informations d'alarme
Zone source pour les informations d'alarme
complmentaires

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

8-15

SFB DPV1 selon PNO AK 1131

Paramtre ATYPE
Le tableau suivant indique, pour toutes les valeurs autorises de ATYPE, quel OB est
dmarr dans le matre DP correspondant et dans quel mode DP le type d'alarme
correspondant est autoris.
ATYPE Signification
dans la norme
DPV1

OB correspondant dans le matre DP Mode DP


S7
DP

Compatible S7

Alarme de
diagnostic

OB d'alarme de diagnostic (OB82)

oui

Alarme de
processus

OB d'alarme du processus (OB 40 47)

oui

Nota
La possibilit d'utilisation des types d'alarme peut tre restreinte par le matre DP, en plus
du tableau prcdent.

Type d'alarme en fonction de l'tat de fonctionnement d'un matre S7


Dans le cas d'un esclave en mode compatible S7 (fonctionnement sur un matre S7), les
alarmes de processus et les alarme de diagnostic peuvent uniquement tre mises
lorsque le matre DP correspondant se trouve l'tat de fonctionnement RUN (DP :
Operate). Lorsque le matre DP se trouve l'tat de fonctionnement STOP (DP : Clear),
l'alarme est retenue et SFB75 fournit le code d'erreur W#16#80C8. Vous tes
responsable d'une mission ultrieure de l'alarme.

Paramtre ASPEC
Ce paramtre indique l'tat de diagnostic de l'emplacement virtuel, conformment la
norme. Pour cette raison, vous ne pouvez lui affecter une valeur diffrente de zro que
lors de l'envoi d'une alarme de diagnostic.
Puisque les informations d'alarme complmentaires S7 de l'alarme de diagnostic
(enregistrement 0) contiennent une information arrivant/partant (voir Donnes de
diagnostic octet 0 bit 0), vous devez donner les valeurs suivantes au bit 0 (Module
dfectueux) de l'octet 0 des informations d'alarme complmentaire :
ASPEC

Bit "Module dfectueux" dans AINFO

Paramtre LEN
Dans le paramtre LEN, vous indiquez la longueur en octets des informations d'alarme
complmentaires mettre. Les valeurs autorises sont comprises entre 0 et 16.
Le tableau suivant indique, pour chaque type d'alarme possible, les valeurs autorises
pour LEN dans les divers modes d'un esclave intelligent.

8-16

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFB DPV1 selon PNO AK 1131

Type d'alarme

DP

Compatible S7

Alarme de diagnostic

4 16

Alarme du processus

Le tableau suivant indique la raction de SFB75 lorsque vous donnez LEN une autre
valeur que la longueur en octets de AINFO.
Valeur de LEN

Comportement de SFB75

<= Indication de longueur de AINFO

SFB75 envoie l'alarme au matre DP. Il transfre le nombre d'octets


d'informations d'alarme complmentaires qui est indiqu dans LEN.

En dehors de la plage de valeurs


autorise, par ex. < 0 ou > 16

SFB75 n'met pas d'alarme.


Code d'erreur : W#16#80B1, STATUS[4]=B#16#FF

> Indication de longueur de AINFO

SFB75 envoie l'alarme au matre DP. Il transfre le nombre d'octets


d'informations d'alarme complmentaires qui est indiqu par la
longueur de AINFO.
Code d'erreur : W#16#00B1, STATUS[4]=indication de longueur de
AINFO

Paramtre AINFO
AINFO est la zone source des informations d'alarme complmentaires. En ce qui
concerne l'esclave intelligent, vous pouvez crire des valeurs quelconques dans cette
zone. Cependant, si vous employez un matre DP de la famille S7, les informations
complmentaires mises avec l'alarme doivent tre conformes aux conventions de S7.
Si vous envoyez une alarme de diagnostic (ATYPE=1), c'est vous qui tes responsable
de l'affectation correcte de l'enregistrement 0 et, le cas chant, de l'enregistrement 1.
Le tableau suivant vous propose une affectation conforme S7. La mise 1 du bit
"Module dfectueux" (voir ci-dessus) a dj t ralise. A l'exception du bit cit, cette
proposition correspond l'affectation par dfaut (conscutive une MISE SOUS
TENSION, une commutation STOP-RUN de l'esclave intelligent ou un retour de la
station).
N d'enregistrement

Affectation

B#16#01, 0B, 00, 00

En mode compatible S7 : enregistrement 0 + 12 octets avec des zros

(voir aussi Organisation des donnes de diagnostic)

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

8-17

SFB DPV1 selon PNO AK 1131

Effet de l'appel de SFB75 sur les informations d'tat du module et sur la DEL d'erreurs
groupes (SF)
Comme toutes les CPU, un esclave intelligent mmorise les proprits de ses
emplacements dans ses informations d'tat (voir SZL-ID W#16#xy91 - Informations d'tat
des modules).
Lorsque vous envoyez une alarme de diagnostic avec SFB75, le systme d'exploitation
de l'esclave intelligent influence ses informations d'tat locales et la DEL SF au moyen du
bit 0 dans l'octet 0 de AINFO (ce bit est repris dans les informations d'tat comme
"Module dfectueux"). Pourtant, rien n'est crit dans la mmoire tampon de diagnostic de
l'esclave I et aucun OB d'alarme de diagnostic n'est dmarr.

Cohrence des informations d'tat entre le matre DP et l'esclave I


Nous allons considrer divers cas ainsi que leurs effets sur les informations d'tat de
module :

Retour de station (entrane un dmarrage de l'OB86 chez le matre DP et chez


l'esclave I)
Les informations d'tat en subissent l'influence aussi bien chez l'esclave I que chez le
matre S7 ("Module dfectueux" est remis 0). Si, du point de vue de l'utilisateur, des
dfauts se prsentent dans l'esclave I aprs le retour de station, vous devez les
signaler au matre DP par appel de SFB75.

Commutation STOP-RUN du matre DP (entrane un dmarrage de l'OB82 chez


l'esclave I)
Les informations d'tat ne changent pas pour l'esclave I. Le matre DP remet le bit
"Module dfectueux" 0 dans les informations d'tat correspondantes.
Pour garantir la cohrence des informations d'tat entre le matre DP et l'esclave I en
mode compatible S7, vous devez ragir de la manire suivante sur l'esclave I :

Pour chaque emplacement virtuel exempt d'erreur, vous envoyez une alarme de
diagnostic partante au matre DP au moyen de SFB75.

Pour chaque emplacement virtuel dfectueux, vous envoyez une alarme de


diagnostic arrivante au matre DP au moyen de SFB75.

Commutation STOP-RUN de l'esclave I (entrane un dmarrage de l'OB82 chez le


matre DP)
Les informations d'tat ne changent pas sur le matre DP et sont remises 0 sur
l'esclave I ("Module dfectueux" est remis 0).
Pour garantir la cohrence des informations d'tat entre le matre DP et l'esclave I en
mode compatible S7, vous devez ragir de la manire suivante sur l'esclave I :
-

Pour chaque emplacement virtuel exempt d'erreur, vous envoyez une alarme de
diagnostic partante au matre DP avec SFB75.

Pour chaque emplacement virtuel dfectueux, vous envoyez une alarme de


diagnostic arrivante au matre DP avec SFB75.

Nota
SFB75 fonctionnant de manire asynchrone, il n'est pas possible de mettre fin aux
appels de SFB75 dans les OB de mise en route, ce qui signifie que vous devez y mettre
fin dans le programme cyclique.

8-18

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFB DPV1 selon PNO AK 1131

Nota
Toutes les diffrences ci-dessus entre les informations d'tat du matre et celles de
l'esclave I ne peuvent se prsenter que pour les emplacements concerns par les
alarmes de diagnostic envoyes par SFB75. Cela signifie donc que les mesures dcrites
ne sont requises que pour de tels emplacements.

Informations d'erreur
Le paramtre de sortie STATUS contient des informations d'erreur. Lorsqu'il est
interprt comme ARRAY[1 ... 4] OF BYTE, les informations d'erreur ont la structure
suivante :
Elment du tableau

Signification

STATUS[1]

B#16#00 : aucune erreur

B#16#C0 : erreur dtecte par l'esclave I

STATUS[2], STATUS[3] Correspond au paramtre de sortie RET_VAL des SFC


STATUS[4]

B#16#00 l'exception de quelques conflits de longueur entre LEN et la longueur de


AINFO. Ces exceptions sont indiques dans le tableau suivant.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

8-19

SFB DPV1 selon PNO AK 1131

Le tableau suivant indique toutes les informations d'erreur spcifiques SFB75.


ERROR STATUS[2,3]
(W#16# ...)

Explication

0000

La tche a t excute sans erreur. Si LEN < longueur de AINFO, seuls LEN octets
des informations d'alarme complmentaires ont t transfrs.

00B1

LEN > longueur de AINFO. La tche a t excute. Les informations d'alarme


complmentaires indiques dans AINFO ont t transfres. STATUS[4] contient la
longueur de AINFO.

7000

Premier appel avec REQ=0 (passage vide). Aucune alarme n'a t envoye. BUSY a
la valeur 0.

7001

Premier appel avec REQ=1. La tche a t dclenche. BUSY a la valeur 1.

7002

Appel intermdiaire (REQ non significatif). L'alarme envoye n'a pas encore t
acquitte par le matre DP. BUSY a la valeur 1.

8090

L'adresse indique dans ID se trouve en dehors de la plage d'adresses autorise ou


n'a pas t configure.

8091

Vous avez bloqu l'alarme par configuration.

L'alarme n'est pas autorise pour ce type d'esclave.

8092

Type de donnes illicite dans AINFO (les types de donnes autoriss sont BYTE et
BLOCK-DB)

8093

ID appartient un emplacement virtuel partir duquel aucune demande d'alarme n'est


possible.

80B0

ASPEC

ne va pas avec le bit 0 de l'octet 0 de AINFO

doit avoir la valeur 0 pour le type d'alarme utilis

est hors de la plage de valeurs autorise

80B1

LEN est hors de la plage de valeurs autorise. STATUS[4] contient B#16#FF.

80B5

L'appel de SFB75 n'est pas autoris chez le matre DP.

80C3

Les ressources requises (mmoire, etc.) sont momentanment occupes.

80C5

La priphrie dcentralise n'est actuellement pas disponible (par ex. dfaillance de la


station)

80C8

La fonction n'est pas autorise avec l'tat de fonctionnement actuel du matre DP (le
matre DP est un matre S7 et se trouve l'tat de fonctionnement STOP).

8-20

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion des alarmes horaires

9.1

Gestion des alarmes horaires

Dfinition
Une alarme horaire est la cause de l'appel command par horloge d'un OB d'alarme
horaire (OB10 OB17).

Conditions pour un appel


Pour que le systme d'exploitation puisse appeler un OB d'alarme horaire, il faut que les
conditions suivantes soient remplies :

que l'OB d'alarme horaire soit paramtr (date et heure de dclenchement,


excution)
-

avec STEP 7
ou

avec SFC28 "SET_TINT" dans le programme utilisateur,

que l'OB d'alarme horaire soit activ


-

avec STEP 7
ou

avec SFC30 "ACT_TINT" dans le programme utilisateur,

que l'OB d'alarme horaire n'ait pas t dslectionn avec STEP 7,

que l'OB d'alarme horaire soit charg dans la CPU.

Quand c'est la fonction SFC30 "ACT_TINT" qui procde l'activation, date et heure
de dclenchement ne doivent pas tre expires s'il s'agit d'une excution unique ; s'il
s'agit d'une excution priodique, l'OB d'alarme horaire sera appel aprs
coulement de la priode suivante (instant de dcl. + multiple de la priode).

Astuce
Vous pouvez paramtrer l'alarme horaire avec STEP 7 et l'activer dans le programme
utilisateur (SFC30 "ACT_TINT").

Utilit des SFC 28 31


Les fonctions systme SFC 28 31 dcrites ci-aprs servent

fixer une alarme horaire (SFC28 "SET_TINT"),

annuler une alarme horaire (SFC29 "CAN_TINT"),

activer une alarme horaire (SFC30 "ACT_TINT"),

interroger une alarme horaire (SFC31 "QRY_TINT").

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

9-1

SFC de gestion des alarmes horaires

9.2

Proprits des SFC 28 31

Que se passe-t-il quand...


Le tableau suivant montre quelles situations ont un effet sur les alarmes horaires.
Quand ...

alors...

une nouvelle alarme horaire est


dfinie (appel de la SFC28
"SET_TINT"),

l'alarme active est automatiquement annule.

l'alarme horaire est annule


date et heure de dclenchement sont effaces. Il faudra donc fixer de
(appel de la SFC29 " CAN_TINT"), nouveau l'alarme horaire avant de pouvoir l'activer.
l'OB d'alarme horaire n'est pas
prsent au moment de l'appel,

une erreur de classe de priorit est gnre automatiquement, c'est--dire


que le systme d'exploitation appelle l'OB85;
si l'OB85 est introuvable lui aussi, la CPU passe l'tat d'arrt (STOP).

l'horloge est synchronise ou

avance,

Si, en raison de l'avance de l'horloge, la date et l'heure de dclenchement


ont t sautes :

le systme d'exploitation appelle l'OB80 1,

chaque OB d'alarme saut en raison de l'avance est appel la suite


de l'OB80 (traitement unique, quel que soit le nombre de priodes
sautes par l'avance de l'horloge) s'il n'a pas t manipul dans l'OB80
2
;
si l'OB80 manque, la CPU passe l'tat d'arrt (STOP).

retarde,

si des OB d'alarme horaire ont dj t traits avant que l'horloge soit


retarde, il ne sont pas traits de nouveau au deuxime passage.

1)

Les informations de l'vnement dclencheur de l'OB80 indiquent sous forme code quels OB
d'alarme horaire n'ont pu tre appels par suite de l'avance de l'horloge. L'heure indique dans les
informations de l'vnement dclencheur est l'heure avance.

2)

L'heure indique dans les informations d'vnement dclencheur de l'OB d'alarme horaire rattrap
est l'heure de dclenchement de la premire alarme horaire saute.

Comportement au dmarrage chaud ou froid


Au dmarrage chaud ou froid, toutes les alarmes horaires dfinies dans le
programme utilisateur au moyen de SFC sont effaces.
Les paramtres restant en vigueur sont alors ceux qui ont t valoriss avec STEP 7.

9-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion des alarmes horaires

Excution de l'OB d'alarme horaire


Le tableau suivant montre les diffrents effets du paramtre "Excution" qu'il faut
valoriser avec STEP 7 ou avec SFC28 "SET_TINT" (paramtre d'entre PERIOD).
Excution de l'OB d'alarme
horaire

Raction

aucune

L'OB d'alarme horaire n'est pas excut mme s'il est prsent dans la
CPU.
Il est possible de modifier ce paramtrage, c'est--dire de fixer une
alarme horaire, dans le programme utilisateur avec SFC28 "SET_TINT".

(ainsi dfinie avec STEP 7


seulement)
unique

L'alarme horaire est annule aprs appel de l'OB d'alarme horaire et peut
tre dfinie et active de nouveau.

priodique
(toutes les minutes, toutes les
heures, tous les jours, toutes les
semaines, tous les mois, tous les
ans)

Si la date et l'heure de lancement sont dj passes au moment de


l'activation, l'OB d'alarme horaire interrompt l'excution cyclique du
programme l'instant "date et heure de dclenchement + multiple de la
priode dfinie".
Dans de trs rares cas, il peut arriver que l'OB d'alarme horaire soit
encore en traitement lors de l'appel suivant.
Consquence :

erreur de temps (le systme d'exploitation appelle l'OB80 ; si ce


dernier manque, la CPU passe l'tat d'arrt),

l'OB d'alarme horaire est rattrap.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

9-3

SFC de gestion des alarmes horaires

9.3

Fixation d'une alarme horaire avec SFC28 "SET_TINT"

Description
La fonction SFC28 "SET_TINT" (set time-of-day interrupt) sert fixer date et heure de
dclenchement des blocs d'organisation d'alarme horaire. Pour l'heure de
dclenchement, il n'est pas tenu compte des secondes et millisecondes que vous
indiquez, elles sont mises zro.
Paramtre

Dclaration

Type de donnes

Zone de
mmoire

Description

OB_NR

INPUT

INT

E, A, M,
D, L,
constante

Numro de l'OB qui sera dclench l'instant


SDT + multiple de PERIOD (OB10 OB17)

SDT

INPUT

DATE_AND_TIME

D, L

Date et heure de dclenchement


Pour l'heure de dclenchement, il n'est pas tenu
compte des secondes et millisecondes que vous
indiquez, elles sont mises zro.
Si vous programmez le dclenchement d'un OB
d'alarme horaire une fois par mois, vous ne
pourrez indiquer que les jours 1, 2, ... 28 comme
date de dclenchement.

PERIOD

INPUT

WORD

E, A, M,
D, L,
constante

Priode compter de l'instant SDT :


W#16#0000 = une seule fois
W#16#0201 = toutes les minutes
W#16#0401 = toutes les heures
W#16#1001 = tous les jours
W#16#1201 = toutes les semaines
W#16#1401 = tous les mois
W#16#1801 = tous les ans
W#16#2001 = la fin du mois

RET_VAL

OUTPUT

INT

E, A, M,
D, L

Si une erreur est apparue pendant l'excution de


la fonction, le paramtre effectif de RET_VAL
contient un code d'erreur.

Informations d'erreur
Code d'erreur
(W#16#...)
0000

9-4

Signification
Pas d'erreur

8090

Paramtre OB_NR erron

8091

Paramtre SDT erron

8092

Paramtre PERIOD erron

80A1

L'instant de dclenchement dfini se trouve dans le pass.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion des alarmes horaires

9.4

Annulation d'une alarme horaire avec SFC29 "CAN_TINT"

Description
La fonction SFC29 "CAN_TINT" (cancel time-of-day interrupt) sert effacer la date et
l'heure de dclenchement de l'OB d'alarme horaire indiqu.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

OB_NR

INPUT

INT

E, A, M, D, L, Numro de l'OB dont vous voulez effacer la date et


constante
l'heure de dclenchement (OB10 OB17).

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, le paramtre effectif de RET_VAL contient un
code d'erreur.

Informations d'erreur
Code d'erreur
(W#16#...)
0000

Signification
Pas d'erreur

8090

Paramtre OB_NR erron

80A0

Aucune date/heure de dclenchement dfinie pour l'OB d'alarme horaire considr.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

9-5

SFC de gestion des alarmes horaires

9.5

Activation d'une alarme horaire avec SFC30 "ACT_TINT"

Description
La fonction SFC30 "ACT_TINT" (activate time-of-day interrupt) sert activer un bloc
d'organisation d'alarme horaire.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

OB_NR

INPUT

INT

E, A, M, D, L,
constante

Numro de l'OB activer (OB10 OB17).

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, le paramtre effectif de RET_VAL contient
un code d'erreur.

Informations d'erreur
Code d'erreur
(W#16#...)
0000

9-6

Signification
Pas d'erreur

8090

Paramtre OB_NR erron

80A0

Aucune date/heure de dclenchement dfinie pour l'OB d'alarme horaire considr.

80A1

L'heure active se situe dans le pass ; cette erreur ne peut se prsenter que
lorsque l'OB ne doit tre excut qu'une seule fois.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion des alarmes horaires

9.6

Interrogation d'une alarme horaire avec SFC31 "QRY_TINT"

Description
Avec la fonction SFC31 "QRY_TINT" (query time-of-day interrupt), vous obtenez l'tat
d'un bloc d'organisation d'alarme horaire dans le paramtre de sortie STATUS.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

OB_NR

INPUT

INT

E, A, M, D, L,
constante

Numro de l'OB dont vous interrogez l'tat


(OB10 OB17).

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, le paramtre effectif de RET_VAL contient
un code d'erreur.

STATUS

OUTPUT

WORD

E, A, M, D, L

Etat de l'alarme horaire ; voir tableau ci-dessous.

Paramtre de sortie STATUS


Bit
0
1
2
3
4
5

Valeur
0
0
0

0
0

Signification
L'alarme horaire est valide par le systme d'exploitation.
Les nouvelles alarmes horaires ne sont pas rejetes.
L'alarme horaire n'est pas active ou elle est coule.

L'OB d'alarme horaire n'est pas charg.


L'excution de l'OB d'alarme horaire n'est pas inhibe par une fonction de test en
cours de traitement.

La rfrence de l'alarme horaire est l'heure de base.

La rfrence de l'alarme horaire est l'heure locale.

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur

8090

Paramtre OB_NR erron

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

9-7

SFC de gestion des alarmes horaires

9-8

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

10

SFC de gestion des alarmes temporises

10.1

Gestion des alarmes temporises

Dfinition
Quand vous avez appel la fonction SFC32 "SRT_DINT", le systme d'exploitation
gnre une alarme au terme du retard paramtr, c'est--dire qu'il appelle l'OB d'alarme
que vous avez paramtr. On parle dans ce cas d'alarme temporise.

Conditions pour un appel


Pour que le systme d'exploitation puisse appeler un OB d'alarme temporise, il faut que
les conditions suivantes soient remplies :

que l'OB d'alarme temporise soit dclench par la SFC32 "SRT_DINT",

que l'OB d'alarme temporise ne soit pas dslectionn avec STEP 7,

que l'OB d'alarme temporise soit charg dans la CPU.

Utilit des SFC 32 34


Les fonctions systme SFC 32 34 dcrites ci-aprs servent

lancer une alarme temporise (SFC32 "SRT_DINT"),

annuler une alarme temporise (SFC33 "CAN_DINT"),

interroger une alarme temporise (SFC34 "QRY_DINT").

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

10-1

SFC de gestion des alarmes temporises

Que se passe-t-il quand...


Le tableau suivant montre quelles situations ont un effet sur les alarmes temporises.
Quand ...
une alarme temporise est
dclenche (appel de la
SFC32 "SRT_DINT")

le retard est coul

Et que ...
l'alarme temporise est dj
dclenche,

alors...
le retard est cras : l'alarme temporise est
dclenche de nouveau.

l'OB d'alarme temporise


manque au moment de son
appel,

le systme d'exploitation gnre une erreur


de classe de priorit (appel de l'OB85 : si
l'OB85 manque, la CPU passe l'tat
d'arrt).

le dclenchement a eu lieu dans


un OB de mise en route et que le
retard est coul avant que la
CPU soit passe en Marche,
un OB d'alarme temporise
dclench auparavant est encore
en cours de traitement,

l'appel de l'OB d'alarme temporise est


retard jusqu' ce que la CPU soit l'tat de
fonctionnement Marche.
le systme d'exploitation gnre une erreur
de temps (appel de l'OB85 : si l'OB85
manque, la CPU passe l'tat d'Arrt)

Comportement au dmarrage chaud ou froid


Au dmarrage chaud ou froid, toutes les alarmes temporises dfinies dans le
programme utilisateur au moyen de SFC sont effaces.

Dclenchement dans un OB de mise en route


Une alarme temporise peut tre dclenche dans un OB de mise en route. Il y a deux
conditions l'appel d'un OB d'alarme temporise :

il faut que le retard soit coul,

et que la CPU soit l'tat de fonctionnement Marche (RUN).

Quand le retard est coul, mais la CPU pas encore l'tat de Marche, l'appel de l'OB
d'alarme temporise est retard jusqu' ce que la CPU soit l'tat de Marche. Dans ce
cas, l'OB d'alarme temporise est appel avant la premire instruction de l'OB1.

10-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion des alarmes temporises

10.2

Dclenchement d'une alarme temporise avec SFC32


"SRT_DINT"

Description
La fonction SFC32 "SRT_DINT" (start time-delay interrupt) sert dclencher une alarme
temporise qui appelle un OB d'alarme temporise aprs coulement d'un retard
paramtrable (paramtre DTIME).
Le paramtre SIGN vous permet de prciser une identification utilisateur caractrisant le
dclenchement de l'alarme temporise. Les valeurs de DTIME et de SIGN
rapparaissent dans les informations d'vnement dclencheur de l'OB indiqu lorsque
celui-ci est excut.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

OB_NR

INPUT

INT

E, A, M, D, L,
constante

Numro de l'OB dclencher au terme du retard


(OB20 OB23)

DTIME

INPUT

TIME

E, A, M, D, L,
constante

Dure du retard (1 60 000 ms)


Des temporisations plus grandes peuvent tre par
exemple ralises en programmant un compteur
dans un OB d'alarme temporise.

SIGN

INPUT

WORD

E, A, M, D, L,
constante

Identification figurant dans les informations de


l'vnement dclencheur lors de l'appel de l'OB
d'alarme temporise

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction systme, le paramtre effectif de RET_VAL
contient un code d'erreur.

Prcision
Le retard sparant l'appel de la SFC32 "SRT_DINT" du dclenchement de l'OB d'alarme
temporise sera infrieur d'une milliseconde au plus la dure paramtre, dans la
mesure o l'appel n'est pas retard par des vnements d'interruption.

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur

8090

Paramtre OB_NR erron

8091

Paramtre DTIME erron

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

10-3

SFC de gestion des alarmes temporises

10.3

Interrogation de l'tat d'une alarme temporise avec SFC34


"QRY_DINT"

Description
La fonction SFC34 "QRY_DINT" (query time-delay interrupt) permet d'interroger l'tat
d'une alarme temporise. Les alarmes temporises sont gres par les blocs
d'organisation OB20 OB23.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

INPUT

INT

E, A, M, D, L, Numro de l'OB dont vous interrogez l'tat (OB20


constante
OB23).

RET_VAL

OUTPUT

INT

E, A, M, D, L Si une erreur est apparue pendant l'excution de la


fonction systme, le paramtre effectif de RET_VAL
contient un code d'erreur.

STATUS

OUTPUT

WORD

E, A, M, D, L Etat de l'alarme temporise ; voir tableau ci-dessous.

OB_NR

Description

Paramtre de sortie STATUS


Bit

Valeur

Signification

L'alarme temporise est valide par le systme d'exploitation.

Les nouvelles alarmes temporises ne sont pas rejetes.

L'alarme temporise n'est pas active ou elle est coule.

L'OB d'alarme temporise n'est pas charg.

L'excution de l'OB d'alarme temporise n'est pas inhibe par une fonction de test
en cours de traitement.

Informations d'erreur
Code d'erreur
(W#16#...)

10-4

Signification

0000

Pas d'erreur

8090

Paramtre OB_NR erron

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion des alarmes temporises

10.4

Annulation d'une alarme temporise avec SFC33


"CAN_DINT"

Description
La fonction SFC33 "CAN_DINT" (cancel time-delay interrupt) sert annuler une alarme
temporise dclenche (voir Dclenchement d'une alarme temporise avec SFC32
"SRT_DINT"). Dans ce cas, l'OB d'alarme temporise n'est pas appel.
Paramtre

Dclaration

OB_NR
RET_VAL

Type de
donnes

Zone de
mmoire

Description

INPUT

INT

E, A, M, D, L,
constante

Numro de l'OB annuler (OB20 OB23).

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction systme, le paramtre effectif de RET_VAL
contient un code d'erreur.

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur

8090

Paramtre OB_NR erron

80A0

L'alarme temporise n'est pas dclenche.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

10-5

SFC de gestion des alarmes temporises

10-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

11

SFC de gestion des vnements d'erreur


synchrone

11.1

Masquage des vnements d'erreur synchrone

Introduction
Les vnements d'erreur synchrone sont des vnements d'erreur de programmation et
d'erreur d'accs. Ces vnements d'erreur apparaissent en cas de programmation avec
des zones d'oprandes incorrectes, des numros d'oprande incorrects ou des adresses
incorrectes. Masquer un tel vnement a les consquences suivantes :

un vnement d'erreur masqu ne dclenche pas d'OB d'erreur et ne provoque pas


de raction de remplacement programme,

parmi les erreurs masques, la CPU "note" celles qui apparaissent dans un registre
d'tat des vnements.

Pour effectuer le masquage, il faut appeler la SFC36 "MSK_FLT".


Dmasquer un vnement d'erreur signifie annuler un masquage effectu auparavant et
effacer le bit correspondant dans le registre d'tat des vnements de la classe de
priorit active. Le masquage est supprim

par un appel de la fonction SFC37 "DMSK_FLT",

quand la classe de priorit active est termine.

Lorsqu'un vnement d'erreur se prsente aprs avoir t dmasqu, le systme


d'exploitation dclenche l'OB d'erreur appropri. Programmez l'OB121 pour ragir aux
erreurs de programmation et l'OB122 pour ragir aux erreurs d'accs.
La fonction SFC38 "READ_ERR" vous permet de lire les vnements d'erreur masqus
et les vnements d'erreur survenus.
Nota : avec S7-300 (exception faite de la CPU 318), un vnement d'erreur, qu'il soit
masqu ou dmasqu, est toujours inscrit dans la mmoire de diagnostic et la DEL
d'erreur groupe s'allume sur la CPU.

Gnralits sur le traitement des erreurs


Il y a plusieurs faons de ragir une erreur de programmation et une erreur d'accs
survenant dans un programme utilisateur.

Vous pouvez programmer un OB d'erreur que le systme d'exploitation appellera


l'apparition d'un vnement d'erreur correspondant.

Vous pouvez inhiber sparment l'appel de l'OB d'erreur pour chaque classe de
priorit. Dans ce cas, la CPU ne passera pas l'arrt si une telle erreur se prsente
dans la classe de priorit concerne. La CPU inscrit les erreurs survenues dans un
registre d'tat des vnements. Mais cette entre ne vous permettra pas de
dterminer quand l'erreur est apparue ni combien de fois.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

11-1

SFC de gestion des vnements d'erreur synchrone

Evnement d'erreur synchrone

Erreur masque ?
NON

OUI

Appel d'un OB d'erreur


(la CPU passe l'arrt
si cet OB n'a pas t
programm).

Inhibition de l'appel d'un


OB d'erreur (la CPU ne
passe pas l'arrt quand
l'erreur se produit).

La raction souhaite
l'erreur est programme
dans l'OB.

Un vnement d'erreur
est crit dans le registre
d'tat des vnements.

Masque d'erreurs
Les vnements d'erreur synchrone sont affects un profil binaire dtermin, le
masque d'erreurs. Vous retrouvez ce masque d'erreurs dans les paramtres d'entre et
de sortie des fonctions systme SFC36, 37 et 38.
Parmi les vnements d'erreur synchrone, on distingue les erreurs de programmation et
les erreurs d'accs que vous pouvez masquer dans deux masques diffrents. Les figures
suivantes prsentent ces deux masques d'erreur.

Masque des erreurs de programmation


La figure suivante prsente le profil binaire du masque des erreurs de programmation. Ce
masque est contenu dans les paramtres PRGFLT_...
Voir causes possibles d'erreur de programmation, mot de poids faible ou causes
possibles d'erreur de programmation, mot de poids fort.

11-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion des vnements d'erreur synchrone

Mot de
poids faible

8 7

15
x x x x x x

0
x

N de bit

Erreur de conversion BCD


Erreur de longueur de zone la lecture
Erreur de longueur de zone l'criture
Erreur de zone la lecture
Erreur de zone l'criture
Numro de temporisation erron
Numro de compteur erron
Erreur d'alignement la lecture
Erreur d'alignement l'criture
31
x

Mot de
poids fort

24 23
x x x x

16 No de bit

Erreur d'criture lors de l'acces au DB


Erreur d'criture lors de l'acces au DI
Numro de bloc DB erron
Numro de bloc DI erron
Numro de bloc FC erron
Numro de bloc FB erron
DB non charg
FC non charge
SFC non charge
FB non charg
SFB non charg
Lgende:

non significatif

Nota
Les bits 29 ("SFC non charge") et 31 ("SFB non charg") dans le mot de poids fort du
masque des erreurs de programmation n'ont de signification que pour les CPU de S7-400
et pour la CPU 318.

Bits non significatifs


Dans la figure ci-dessus, le symbole x signifie pour ...

... les paramtres d'entre

des SFC 36, 37, 38

= 0

... les paramtres de sortie

des SFC 36, 37

= 1 pour S7-300
= 0 pour S7-400

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

de la SFC38

= 0

11-3

SFC de gestion des vnements d'erreur synchrone

Masque des erreurs d'accs pour toutes les CPU


La figure suivante prsente le profil binaire du masque des erreurs d'accs valable pour
toutes les CPU. Ce masque est contenu dans les paramtres ACCFLT_... Les erreurs
d'accs sont expliques dans la table "Causes d'erreur possibles des CPU 31x
l'exception de la CPU 318" ou dans la table "Causes d'erreur possibles des CPU 41x et
CPU 318".
15
8 7
Mot de x x x x x x x x x x
poids
faible

N de bit

x x

Erreur d'accs en lecture la priphrie


Erreur d'accs en criture la priphrie

31
Mot de x x x x x
poids
fort
Lgende : x

16 No de bit
24 23
x
x
x
x
x
x
x x x
x x

non significatif

Exemple
La figure suivant prsente, pour toutes les CPU, le mot de poids faible du masque des
erreurs d'accs avec toutes les erreurs masques

en tant que paramtre d'entre pour la SFC36 et

en tant que paramtre de sortie pour la SFC36.


15

Paramtre

d'entre

8 7

N de bit

0 0 0 0 0 0 0 0 0 0 0 1 1 0 0

Erreurs masques
15

Paramtre
de sortie

8 7

N de bit

X X X X X X X X X X X X 1 1 X X

Erreurs masques
Lgende:

11-4

non significatif

non masqu

masqu

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion des vnements d'erreur synchrone

Mot de poids faible des erreurs de programmation


Le tableau suivant prsente les erreurs affectes au mot de poids faible du masque des
erreurs de programmation. Les causes possibles sont mentionnes en face de chaque
erreur.
Erreur

ID d'vnement L'erreur survient...


(W#16#...)

Erreur de
conversion DCB

2521

... quand la valeur convertir n'est pas un nombre en dcimal cod


binaire
(ex. : 5E8).

Erreur de longueur
de zone la lecture

2522

... quand un oprande adress ne se trouve pas entirement


l'intrieur de la zone d'oprandes possible.
Exemple : il s'agit de lire MW320 alors que la zone des mmentos n'a
que 256 octets.

Erreur de longueur
de zone l'criture

2523

... quand un oprande adress ne se trouve pas entirement


l'intrieur de la zone d'oprandes possible.
Exemple : il s'agit d'crire une valeur sur MW320 alors que la zone des
mmentos n'a que 256 octets.

Erreur de zone la
lecture

2524

... quand l'identificateur de zone pour l'oprande est incorrect en


adressage interzone indirect .
Exemple :
correct : LAR1 P#E 12.0
L W[AR1, P#0.0]
incorrect : LAR1 P#12.0
L W[AR1, P#0.0] Une erreur de zone est
signale pour cette opration.

Erreur de zone
l'criture

2525

... quand l'identificateur de zone pour l'oprande est incorrect en


adressage interzone indirect.
Exemple :
correct : LAR1 P#E 12.0
T W[AR1, P#0.0]
incorrect : LAR1 P#12.0
T W[AR1, P#0.0] Une erreur de zone est
signale pour cette opration.

Numro de
temporisation
erron

2526

Numro de
compteur erron

2527

Erreur d'alignement
la lecture

2528

Erreur d'alignement
l'criture

2529

... en cas d'accs une temporisation inexistante.


Exemple : SI T [MW 0] avec MW 0 = 129 ; il s'agit de lancer la
temporisation 129 alors qu'il y a seulement 128 temporisations.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

... en cas d'accs un compteur inexistant.


Exemple : ZV Z [MW 0] avec MW 0 = 600 ; il s'agit d'accder au
compteur 600 alors qu'il y a seulement 512 compteurs (CPU 416-1).
... en cas d'adressage d'un oprande de type octet, mot ou double mot
avec une adresse de bit _ 0.
Exemple :
correct : LAR1 P#M12.0
L B[AR1, P#0.0]
Incorrect : LAR1 P#M12.4
L B[AR1, P#0.0]
... en cas d'adressage d'un oprande de type octet, mot ou double mot
avec une adresse de bit _ 0.
Exemple :
correct : LAR1 P#M12.0
T B[AR1, P#0.0]
Incorrect : LAR1 P#M12.4
T B[AR1, P#0.0]

11-5

SFC de gestion des vnements d'erreur synchrone

Mot de poids fort des erreurs de programmation


Le tableau suivant prsente les erreurs affectes au mot de poids fort du masque des
erreurs de programmation. Les causes possibles sont mentionnes en face de chaque
erreur.
Erreur

ID d'vnement L'erreur survient...


(W#16#...)

Erreur d'criture
lors de l'accs au
DB

2530

... en cas d'accs un bloc de donnes protg en criture.

Erreur d'criture
lors de l'accs au
DI

2531

... en cas d'accs un bloc de donnes d'instance protg en criture.

Numro de bloc DB 2532


erron

... en cas d'ouverture d'un bloc de donnes dont le numro est


suprieur au plus grand numro autoris.

2533

... en cas d'ouverture d'un bloc de donnes d'instance dont le numro


est suprieur au plus grand numro autoris.

Numro de bloc FC 2534


erron

... en cas d'appel d'une fonction dont le numro est suprieur au plus
grand numro autoris.

Numro de bloc FB 2535


erron

... en cas d'appel d'un bloc fonctionnel dont le numro est suprieur au
plus grand numro autoris.

Numro de bloc DI
erron

DB non charg

253A

... quand le bloc de donnes ouvrir n'est pas charg.

FC non charge

253C

... quand la fonction appele n'est pas charge.

SFC non charge

253D

... quand la fonction systme appele n'est pas charge.

FB non charg

253E

... quand le bloc fonctionnel appel n'est pas charg.

SFB non charg

253F

... quand le bloc fonctionnel systme/standard appel n'est pas charg.

11-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion des vnements d'erreur synchrone

Erreurs d'accs
Le tableau suivant prsente les erreurs affectes au masque des erreurs d'accs pour
toutes les CPU. Les causes possibles sont mentionnes en face de chaque erreur.

Erreur

ID
d'vnement
(W#16#...)

L'erreur survient ...

Erreur d'accs en
lecture la
priphrie

2942

... quand aucun module d'entres/sorties n'est affect cette adresse


dans la zone de priphrie
ou
... quand l'accs cette zone de priphrie n'est pas acquitt dans le
dlai de surveillance de module paramtr (retard d'acquittement).

Erreur d'accs en
criture la
priphrie

2943

.. quand aucun module d'entres/sorties n'est affect cette adresse


dans la zone de priphrie
ou
... quand l'accs cette zone de priphrie n'est pas acquitt dans le
dlai de surveillance de module paramtr (retard d'acquittement).

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

11-7

SFC de gestion des vnements d'erreur synchrone

11.2

Masquage d'erreurs synchrones avec SFC36 "MSK_FLT"

Description
La fonction SFC36 "MSK_FLT" (mask synchronous faults) sert commander la raction
de la CPU aux vnements d'erreur synchrone. Pour cela, vous masquez les
vnements d'erreur synchrone dans le masque d'erreurs appropri (voir Masquage des
vnements d'erreur synchrone). En appelant la SFC36, vous masquez les vnements
d'erreur synchrone dans la classe de priorit active.
Lorsque vous mettez 1 certains bits des masques d'erreurs synchrones dans les
paramtres d'entre, les bits qui taient dj 1 auparavant conservent leur valeur. Vous
obtenez ainsi de nouveaux masques d'erreurs que vous pouvez lire au moyen des
paramtres de sortie. Les vnements d'erreur synchrone que vous avez masqus
n'appellent pas d'OB, ils sont seulement inscrits dans un registre d'tat des vnements.
La fonction SFC38 "READ_ERR" vous permet de lire le contenu de ce registre d'tat.
Paramtre

Dclaratio
n

Type de
donnes

Zone de
mmoire

Description

PRGFLT_SET_MAS
K

INPUT

DWORD

E, A, M, D, L,
constante

Erreurs de programmation masquer

ACCFLT_SET_MAS
K

INPUT

DWORD

E, A, M, D, L,
constante

Erreurs d'accs masquer

RET_VAL

OUTPUT

INT

E, A, M, D, L

Informations d'erreur

PRGFLT_MASKED

OUTPUT

DWORD

E, A, M, D, L

Erreurs de programmation masques

ACCFLT_MASKED

OUTPUT

DWORD

E, A, M, D, L

Erreurs d'accs masques

Informations d'erreur
Code d'erreur (W#16#...)

11-8

Signification

0000

Aucune erreur n'tait dj masque.

0001

Une des erreurs au moins tait dj masque, mais les autres erreurs le seront
tout de mme.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion des vnements d'erreur synchrone

11.3

Dmasquage d'erreurs synchrones avec SFC37


"DMSK_FLT"

Description
La fonction SFC37 "DMSK_FLT" (unmask synchronous faults) vous permet de
dmasquer les vnements d'erreur qui ont t masqus avec SFC36 "MSK_FLT". Pour
cela, vous devez mettre 1, dans les paramtres d'entre, les bits appropris des
masques. En appelant la SFC37, vous dmasquez les vnements d'erreur synchrone
correspondants de la classe de priorit active. Les entres interroges sont effaces
simultanment du registre d'tat des vnements. Vous pouvez lire les nouveaux
masques d'erreurs au moyen des paramtres de sortie.
Paramtre

Dclaration

Type de Zone de
donnes mmoire

Description

PRGFLT_RESET_MASK

INPUT

DWORD

E, A, M, D, L, Erreurs de programmation dmasquer


constante

ACCFLT_RESET_MASK

INPUT

DWORD

E, A, M, D, L, Erreurs d'accs dmasquer


constante

RET_VAL

OUTPUT

INT

E, A, M, D, L

Informations d'erreur

PRGFLT_MASKED

OUTPUT

DWORD

E, A, M, D, L

Erreurs de programmation encore


masques

ACCFLT_MASKED

OUTPUT

DWORD

E, A, M, D, L

Erreurs d'accs encore masques

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Toutes les erreurs indiques ont t dmasques.

0001

Une erreur au moins n'tait pas masque ; les autres erreurs seront tout de mme
dmasques.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

11-9

SFC de gestion des vnements d'erreur synchrone

11.4

Lecture du registre d'tat des vnements avec SFC38


"READ_ERR"

Description
La fonction SFC38 "READ_ERR" (read error registers) permet de lire le contenu du
registre d'tat des vnements. Ce registre est organis comme les masques des erreurs
de programmation et d'accs que vous pouvez programmer en tant que paramtres
d'entre avec les SFC 36 et 37.
Vous inscrivez dans les paramtres d'entre les vnements d'erreur synchrone que
vous souhaitez interroger dans le registre d'tat des vnements. En appelant la SFC38,
vous lisez les entres qui vous intressent dans le registre et vous les en effacez
simultanment.
Le registre d'tat des vnements vous indique quelles erreurs sont apparues au moins
une fois parmi les erreurs synchrones masques de la classe de priorit active. Un bit 1
signifie que l'erreur synchrone masque correspondante est apparue au moins une fois.
Paramtre

Dclaration

Type de Zone de
donnes mmoire

Description

PRGFLT_QUERY

INPUT

DWORD

E, A, M, D, L,
constante

Interrogation des erreurs de programmation

ACCFLT_QUERY

INPUT

DWORD

E, A, M, D, L,
constante

Interrogation des erreurs d'accs

RET_VAL

OUTPUT

INT

E, A, M, D, L

Informations d'erreur

PRGFLT_CLR

OUTPUT

DWORD

E, A, M, D, L

Erreurs de programmation survenues

ACCFLT_CLR

OUTPUT

DWORD

E, A, M, D, L

Erreurs d'accs survenues

Informations d'erreur
Code d'erreur (W#16#...)

Signification

0000

Toutes les erreurs interroges sont masques.

0001

Une au moins des erreurs interroges n'est pas masque.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

11-10

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

12

SFC de gestion des vnements d'alarme et


d'erreur asynchrone

12.1

Ajournement et inhibition d'vnements d'alarme et


d'erreur asynchrone

Utilit des SFC 39 42


Ces fonctions systme servent influencer le traitement des alarmes et des vnements
d'erreur asynchrone :

la SFC39 "DIS_IRT" inhibe leur traitement pendant tous les cycles suivants de la
CPU,

la SFC41 "DIS_AIRT" retarde le traitement des classes de priorit suprieure jusqu'


la fin de l'OB,

la SFC40 "EN_IRT" et la SFC42 "EN_AIRT" valident nouveau le traitement.

Vous crivez le traitement des alarmes et des vnements d'erreur asynchrone dans le
programme utilisateur. Pour cela, vous devez programmer les OB appropris.

Intrt des SFC 41 et 42


Diffrer des alarmes et des erreurs asynchrones de priorit suprieure grce la SFC41
"DIS_AIRT" et les valider ensuite avec SFC42 "EN_AIRT" prsente l'avantage suivant.
La CPU compte les ajournements d'alarme. Un ajournement que vous avez programm
ne peut pas tre supprim par l'appel d'une fonction FC standard dans laquelle des
vnements d'alarme et d'erreur asynchrone seraient galement inhibs puis valids
nouveau.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

12-1

SFC de gestion des vnements d'alarme et d'erreur asynchrone

Classes d'alarmes
Les alarmes sont rparties en plusieurs classes. Le tableau suivant prsente toutes les
classes d'alarmes et les OB qui leur sont associs.
Classe d'alarmes

OB

Alarmes horaires

OB10 OB17

Alarmes temporises

OB20 OB23

Alarmes cycliques

OB30 OB38

Alarmes de processus

OB40 OB47

Alarmes pour DPV1

OB55 OB57

Alarme multiprocesseur

OB60

Alarmes d'erreur de redondance

OB70, OB72

Alarmes d'erreur asynchrone

OB80 OB87

Alarmes d'erreur synchrone

OB121, OB122
(le traitement d'erreur synchrone est masqu ou dmasqu avec les
SFC36 SFC38)

Evnements d'erreur asynchrone


Le tableau suivant prsente les vnements d'erreur asynchrone et les OB vous
permettant de ragir en consquence dans le programme utilisateur.
Evnement d'erreur asynchrone

OB

Erreur de temps (ex. : dpassement du temps de cycle)

OB80

Erreur d'alimentation (ex. : pile puise)

OB81

Alarme de diagnostic (ex. : fusible dfectueux sur module de signaux)

OB82

Alarme de dbrochage/enfichage

OB83

Erreur matrielle sur CPU (ex. : erreur sur interface)

OB84

Erreur d'excution du programme

OB85

Dfaillance d'unit

OB86

Erreur de communication

OB87

12-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion des vnements d'alarme et d'erreur asynchrone

12.2

Inhibition du traitement de nouveaux vnements d'alarme


et d'erreur asynchrone avec SFC39 "DIS_IRT"

Description
La fonction SFC39 "DIS_IRT" (disable interrupt) permet d'inhiber le traitement de
nouveaux vnements d'alarme et d'erreur asynchrone. Inhibition du traitement signifie
qu'en cas d'apparition d'un vnement interruptif, le systme d'exploitation de la CPU

n'appellera pas un OB d'alarme ou un OB d'erreur asynchrone

et ne dclenchera pas la raction prvue pour le cas o l'OB d'alarme ou l'OB


d'erreur asynchrone n'est pas programm.
L'inhibition du traitement des vnements d'alarme et d'erreur asynchrone est valable
dans toutes les classes de priorit. Elle ne peut tre leve qu'avec la fonction SFC40
"EN_IRT" ou par un dmarrage chaud ou froid.
C'est la valeur donne au paramtre MODE qui dtermine si le systme d'exploitation
crira dans la mmoire de diagnostic un vnement d'alarme ou d'erreur asynchrone
survenu.

Nota
Notez bien que la programmation de la SFC39 "DIS_IRT" entrane le rejet de toutes les
alarmes apparaissant.
Paramtre

Dclaration

MODE

INPUT

Type de
donnes
BYTE

OB_NR

INPUT

INT

RET_VAL

OUTPUT

INT

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Zone de
mmoire
E, A, M, D, L,
constante
E, A, M, D, L,
constante
E, A, M, D, L

Description
Indique quels vnements d'alarme et d'erreur
asynchrone inhiber.
Numro de l'OB
Si une erreur est apparue pendant l'excution de la
fonction, la valeur de retour contient un code d'erreur.

12-3

SFC de gestion des vnements d'alarme et d'erreur asynchrone

MODE
MODE
00

Signification
Tous les nouveaux vnements d'alarme et d'erreur asynchrone seront inhibs (les vnements
d'erreur synchrone ne seront pas inhibs). Vous donnez la valeur 0 au paramtre OB_NR. Les
inscriptions dans la mmoire de diagnostic ont lieu.

01

Tous les nouveaux vnements de la classe d'alarmes indique seront inhibs. Vous prcisez la
classe d'alarmes comme suit :

02
80
81
82

alarmes horaires : 10

alarmes temporises : 20

alarmes cycliques : 30

alarmes de processus : 40

alarmes pour DPV1 : 50

alarme multiprocesseur : 60

alarmes d'erreur de redondance : 70

alarmes d'erreur asynchrone : 80


Les inscriptions dans la mmoire de diagnostic ont toujours lieu.
Tous les nouveaux vnements de l'alarme indique seront inhibs. L'alarme est prcise par le
numro de l'OB correspondant. Les inscriptions dans la mmoire de diagnostic ont lieu.
Tous les nouveaux vnements d'alarme et d'erreur asynchrone seront inhibs et ne seront plus
crits dans la mmoire de diagnostic. Le systme d'exploitation crit l'vnement W#16#5380
dans la mmoire de diagnostic.
Tous les nouveaux vnements de la classe d'alarmes indique seront inhibs et ne seront plus
crits dans la mmoire de diagnostic. Le systme d'exploitation crit l'vnement W#16#5380
dans la mmoire de diagnostic.
Tous les nouveaux vnements de l'alarme indique seront inhibs et ne seront plus crits dans la
mmoire de diagnostic. Le systme d'exploitation crit l'vnement W#16#5380 dans la mmoire
de diagnostic.

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur

8090

Le paramtre d'entre OB_NR contient une valeur illicite.

8091

Le paramtre d'entre MODE contient une valeur illicite.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

12-4

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion des vnements d'alarme et d'erreur asynchrone

12.3

Validation du traitement de nouveaux vnements d'alarme


et d'erreur asynchrone avec SFC40 "EN_IRT"

Description
La fonction SFC40 "EN_IRT" (enable interrupt) permet de valider nouveau le traitement
de nouveaux vnements d'alarme et d'erreur asynchrone que vous aviez inhib avec
SFC39 "DIS_IRT". Validation signifie qu'en cas d'apparition d'un vnement interruptif, le
systme d'exploitation de la CPU

appelle un OB d'alarme ou un OB d'erreur asynchrone


ou

dclenche la raction prvue pour le cas o l'OB d'alarme ou l'OB d'erreur


asynchrone n'a pas t programm.

Paramtre

Dclaratio
n

Type de
donnes

Zone de
mmoire

Description

MODE

INPUT

BYTE

E, A, M, D, L,
constante

Indique quels vnements d'alarme et d'erreur


asynchrone valider (voir tableau ci-dessous).

OB_NR

INPUT

INT

E, A, M, D, L,
constante

Numro de l'OB

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code
d'erreur.

MODE
MODE

Signification

Tous les nouveaux vnements d'alarme et d'erreur asynchrone seront valids.

Tous les nouveaux vnements de la classe d'alarmes indique seront valids. Vous prcisez la
classe d'alarmes comme suit :

alarmes horaires : 10

alarmes temporises : 20

alarmes cycliques : 30

alarmes de processus : 40

alarmes pour DPV1 : 50

alarme multiprocesseur : 60

alarmes d'erreur de redondance : 70

alarmes d'erreur asynchrone : 80

Tous les nouveaux vnements de l'alarme indique seront valids. L'alarme est prcise par le
numro de l'OB correspondant.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

12-5

SFC de gestion des vnements d'alarme et d'erreur asynchrone

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur

8090

Le paramtre d'entre OB_NR contient une valeur illicite.

8091

Le paramtre d'entre MODE contient une valeur illicite.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

12-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de gestion des vnements d'alarme et d'erreur asynchrone

12.4

Ajournement du traitement d'vnements d'alarme et


d'erreur asynchrone de priorit suprieure avec SFC41
"DIS_AIRT"

Description
La fonction SFC41 "DIS_AIRT" (disable alarm interrupts) sert ajourner le traitement
d'OB d'alarme et d'OB d'erreur asynchrone ayant une priorit plus haute que l'OB actif.
Vous pouvez programmer plusieurs appels de la SFC41 dans un OB. Le systme
d'exploitation compte les appels de la SFC41. Un ajournement de traitement reste en
vigueur jusqu' ce que vous validiez nouveau avec SFC42 "EN_AIRT" chaque
traitement d'OB d'alarme ou d'OB d'erreur asynchrone ajourn par la SFC41 ou jusqu'
ce que le traitement de l'OB actif soit termin.
Les vnements d'alarme ou d'erreur asynchrone en attente sont traits ds que
l'ajournement de leur traitement a t leve avec SFC42 "EN_AIRT" ou ds la fin du
traitement de l'OB actif.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

RET_VAL

OUTPUT

INT

E, A, M, D, L

Nombre d'ajournements (= nombre


d'appels de la SFC41)

Valeur de retour
Le tableau suivant prsente la valeur de retour de la SFC41 fournie par le paramtre
RET_VAL.
Valeur de
retour

Signification

Aprs l'excution de la SFC, "n" indique le nombre d'ajournements de traitement, c'est--dire le


nombre d'appels de la SFC41 (le traitement d'alarme n'est nouveau valid que lorsque n = 0,
voir Validation du traitement d'vnements d'alarme et d'erreur asynchrone de priorit
suprieure avec SFC42 "EN_AIRT").

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

12-7

SFC de gestion des vnements d'alarme et d'erreur asynchrone

12.5

Validation du traitement d'vnements d'alarme et d'erreur


asynchrone de priorit suprieure avec SFC42 "EN_AIRT"

Description
La fonction SFC42 "EN_AIRT" (enable alarm interupts) sert valider nouveau le
traitement d'vnements d'alarme ou d'erreur asynchrone de priorit suprieure,
traitement qui avait t ajourn par la SFC41 "DIS_AIRT". Il faut lever chaque
ajournement de traitement particulier avec SFC42.

Exemple
Si vous avez ajourn cinq fois des alarmes par 5 appels de la SFC41, vous devez
appeler cinq fois la SFC42 pour lever chaque ajournement en particulier.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

RET_VAL

OUTPUT

INT

E, A, M, D, L

Nombre d'ajournements encore


programms aprs l'excution de la SFC42,
ou code d'erreur.

Valeur de retour et informations d'erreur


Consultez la rubrique Evaluation d'erreur avec le paramtre de sortie RET_VAL.
Vous y trouverez aussi les informations d'erreur gnrales des SFC. Le tableau suivant
contient la valeur de retour particulire la SFC42 et les informations d'erreur fournies
par le paramtre RET_VAL.
Valeur de retour et code
d'erreur

Signification

Aprs l'excution de la SFC, "n" indique le nombre d'ajournements de traitement,


c'est--dire le nombre d'appels de la SFC41 (le traitement d'alarme n'est
nouveau valid que lorsque n = 0).

W#16#8080

La fonction a t appele bien que le traitement d'alarme et dj t valid.

12-8

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

13

SFC de diagnostic

13.1

Diagnostic systme
Les CPU consignent des donnes relatives l'tat de l'automate programmable. On
entend par diagnostic systme la possibilit de lire les plus importantes de ces donnes.
STEP 7 vous permet d'en afficher certaines l'cran de la console de programmation.
Les fonctions systme "RD_SINFO" et "RDSYSST" vous servent accder aux donnes
du diagnostic systme dans votre programme.

13.2

Lecture des informations de dclenchement de l'OB actif


avec SFC6 "RD_SINFO"

Description
La fonction SFC6 "RD_SINFO" (read start information) sert lire les informations de
dclenchement

du dernier OB appel qui n'a pas encore excut compltement et

du dernier OB de mise en route dclench.

Ces deux informations de dclenchement ne contiennent pas d'horodatage. Si l'appel est


effectu dans l'OB100, dans l'OB101 ou dans l'OB102, deux informations de
dclenchement identiques seront communiques.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

RET_VAL

OUTPUT

INT

E, A, M, D, L

Informations d'erreur

TOP_SI

OUTPUT

STRUCT

D, L

Informations de dclenchement de l'OB actif

START_UP_SI

OUTPUT

STRUCT

D, L

Informations de dclenchement du dernier OB


de mise en route lanc

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

13-1

SFC de diagnostic

TOP_SI et START_UP_SI
Les paramtres de sortie TOP_SI et START_UP_SI sont deux structures de composition
identique, explique dans le tableau suivant.
Elment de structure

Type de donnes Description

EV_CLASS

BYTE

Bits 0 3 : code d'vnement


Bits 4 7 : classe d'vnements

EV_NUM

BYTE

Numro d'vnement

PRIORITY

BYTE

Numro de la classe de priorit

NUM

BYTE

Numro d'OB

TYP2_3

BYTE

Identification de donnes 2_3 : caractrise les informations


ranges dans ZI2_3.

TYP1

BYTE

Identification de donnes 1 : caractrise les informations


ranges dans ZI1.

ZI1

WORD

Informations complmentaires 1

ZI2_3

DWORD

Informations complmentaires 2_3

Nota
Les lments de structure spcifis dans le tableau correspondent exactement aux
variables temporaires d'un OB pour ce qui est du contenu.
Mais sachez que les variables temporaires des diffrents OB peuvent porter d'autres
noms et tre d'un autre type de donnes. En outre, l'interface d'appel des OB contient en
plus la date et l'heure de demande de l'OB.

Les bits 4 7 de l'lment de structure EV_CLASS contiennent la classe d'vnements.


Les valeurs possibles sont les suivantes :

1 : vnements dclencheurs des OB standard,

2 : vnements dclencheurs des OB d'erreur synchrone,

3 : vnements dclencheurs des OB d'erreur asynchrone.

L'lment de structure PRIORITY fournit la classe de priorit de l'OB actif.


L'autre lment important est NUM qui contient le numro de l'OB actif ou celui du
dernier OB de mise en route dclench.

13-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de diagnostic

Exemple
Supposons que le dernier OB appel, dont l'excution n'est pas encore termine, est
l'OB80 et que le dernier OB de mise en route dclench est l'OB100.
Le tableau ci-aprs montre la correspondance entre les lments de structure du
paramtre TOP_SI de la SFC6 "RD_SINFO" et les variables locales de l'OB80.
TOP_SI

OB80

Elment de structure

Type de donnes

Variable locale correspondante

Type de donnes

EV_CLASS

BYTE

OB80_EV_CLASS

BYTE

EV_NUM

BYTE

OB80_FLT_ID

BYTE

PRIORITY

BYTE

OB80_PRIORITY

BYTE

NUM

BYTE

OB80_OB_NUMBR

BYTE

TYP2_3

BYTE

OB80_RESERVED_1

BYTE

TYP1

BYTE

OB80_RESERVED_2

BYTE

ZI1

WORD

OB80_ERROR_INFO

WORD

ZI2_3

DWORD

OB80_ERR_EV_CLASS

BYTE

OB80_ERR_EV_NUM

BYTE

OB80_OB_PRIORITY

BYTE

OB80_OB_NUM

BYTE

Le tableau ci-aprs montre la correspondance entre les lments de structure du


paramtre START_UP_SI de la SFC6 "RD_SINFO" et les variables locales de l'OB100.
START_UP_SI
Elment de structure

OB100
Type de donnes

Variable locale correspondante

Type de donnes

EV_CLASS

BYTE

OB100_EV_CLASS

BYTE

EV_NUM

BYTE

OB100_STRTUP

BYTE

PRIORITY

BYTE

OB100_PRIORITY

BYTE

NUM

BYTE

OB100_OB_NUMBR

BYTE

TYP2_3

BYTE

OB100_RESERVED_1

BYTE

TYP1

BYTE

OB100_RESERVED_2

BYTE

ZI1

WORD

OB100_STOP

WORD

ZI2_3

DWORD

OB100_STRT_INFO

DWORD

Informations d'erreur
La fonction SFC6 "RD_SINFO" ne fournit pas de code d'erreur particulier, mais
seulement les informations d'erreur gnrales. Ces dernires sont dcrites Evaluation
d'erreur avec le paramtre de sortie RET_VAL.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

13-3

SFC de diagnostic

13.3

Lecture d'une liste d'tat systme (liste SZL) partielle ou


d'un extrait de liste SZL partielle avec SFC51 "RDSYSST"

Description
La fonction SFC51 "RDSYSST" (read system status) permet la lecture d'une liste SZL
partielle ou d'un extrait de liste SZL partielle.
Vous lancez la lecture en donnant la valeur 1 au paramtre d'entre REQ lors de l'appel
de la SFC51. Si la fonction a pu effectuer la lecture aussitt, elle fournit la valeur 0 au
paramtre de sortie BUSY. Si BUSY est 1, c'est que la lecture n'est pas encore
termine.
Nota
Si vous appelez la SFC51 "RDSYSST" dans l'OB d'alarme de diagnostic avec
l'identification de liste d'tat systme (paramtre SZL-ID) W#16#00B1 ou W#16#00B2 ou
W#16#00B3 et que vous accdez au module qui a fourni l'alarme de diagnostic, la lecture
sera effectue aussitt.

Ressources systme
Quand vous activez brefs intervalles plusieurs lectures droulement asynchrone (en
particulier les tches avec ID de liste d'tat systme W#16#00B4, W#16#4C91,
W#16#4092, W#16#4292, W#16#4692 et, le cas chant W#16#00B1 et W#16#00B3),
le systme d'exploitation en assure l'excution sans qu'elles s'influencent
rciproquement.
Si la limite des ressources systme se trouve atteinte, la valeur de retour RET_VAL vous
l'indique. Vous remdiez cette erreur temporaire en rptant la tche.
Le plus grand nombre de tches de la SFC51 pouvant tre actives "simultanment"
dpend de la CPU utilise. Consultez les manuels /70/ et /101/.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L,
constante

REQ=1 : activation du traitement

SZL_ID

INPUT

WORD

E, A, M, D, L,
constante

Identification de la liste partielle ou de l'extrait de


liste partielle (l'annexe B traite des listes SZL
partielles).

INDEX

INPUT

WORD

E, A, M, D, L,
constante

Type ou numro d'un objet dans une liste


partielle

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution


de la SFC, le paramtre RET_VAL contient un
code d'erreur.

BUSY

OUTPUT

BOOL

E, A, M, D, L

TRUE : la lecture n'est pas encore termine.

SZL_HEADER

OUTPUT

STRUCT

D, L

voir ci-aprs

13-4

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de diagnostic

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

DR

OUTPUT

ANY

E, A, M, L, D

Description
Zone cible pour la liste SZL partielle lue ou pour
l'extrait de liste partielle lu :
ous n'avez lu que les informations d'en-tte d'une
liste SZL partielle, vous ne devez pas
valuer DR, mais seulement
SZL_HEADER;
s les autres cas, le produit de LENTHDR par
N_DR indique le nombre d'octets crits
dans DR.

SZL_HEADER
Le paramtre SZL_HEADER (en-tte de liste d'tat systme) est une structure dfinie de
la manire suivante :
SZL_HEADER: STRUCT
LENTHDR:

WORD

N_DR: WORD
END_STRUCT
LENTHDR est la longueur d'un enregistrement de la liste SZL partielle ou de l'extrait de
liste SZL partielle.

Si vous n'avez lu que les informations d'en-tte d'une liste SZL partielle, N_DR
contient le nombre d'enregistrements existants correspondants.

Dans les autres cas, N_DR contient le nombre d'enregistrements transfrs dans la
zone cible.

Informations d'erreur
Code d'erreur Signification
(W#16#...)
0000

Pas d'erreur

0081

Champ du rsultat (DR) trop court. (Malgr cela, la fonction fournit autant d'enregistrements
que possible; l'en-tte de la liste d'tat en indique le nombre.)

7000

Premier appel avec REQ=0 : pas de transfert de donnes; BUSY a la valeur 0.

7001

Premier appel avec REQ=1 : transfert de donnes activ; BUSY a la valeur 1.

7002

Appel intermdiaire (REQ insignifiant) : transfert de donnes dj actif; BUSY a la valeur 1.

8081

Champ du rsultat (DR) trop court (place insuffisante pour un enregistrement)

8082

SZL_ID incorrecte ou inconnue dans la CPU ou dans la SFC

8083

INDEX incorrect ou illicite

8085

Informations non disponibles momentanment pour des raisons internes au systme (manque
de ressources, par exemple).

8086

Enregistrement illisible pour cause d'erreur systme (bus, modules, systme d'exploitation)

8087

Enregistrement illisible, car le module n'existe pas ou n'est pas acquitt.

8088

Enregistrement illisible, car l'ID du type en place diffre de l'ID du type prvu.

8089

Enregistrement illisible, car le module n'est pas capable d'mettre un diagnostic.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

13-5

SFC de diagnostic

Code d'erreur Signification


(W#16#...)
80A2

Erreur de protocole DP dans la couche 2 (erreur temporaire)

80A3
80A4

Erreur de protocole DP dans User-Interface/User (erreur temporaire)


Communication dfectueuse au bus K (erreur se produisant entre la CPU et le couplage DP
externe) (erreur temporaire)

80C5

Priphrie dcentralise non disponible (erreur temporaire)

80C6

Transfert de l'enregistrement annul pour cause d'annulation de classe de priorit


(redmarrage ou arrire-plan)

80D2

Enregistrement illisible, car le module n'est pas capable d'mettre un diagnostic.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie RET_VAL

SZL_ID
Nota
Les listes partielles lisibles au moyen de la SFC51 "RDSYSST"

dans une CPU S7-300, figurent dans /70/,

dans une CPU S7-400, sont indiques dans le tableau suivant.

SZL_ID (W#16#...)

Liste partielle

INDEX (W#16#...)

Identification de module
0111

Un enregistrement d'identification
Identification du module

0001

Identification du matriel de base

0006

Identification du microprogramme de base

0007

Caractristiques de la CPU
0012

Toutes les caractristiques

0112

Caractristiques d'un groupe

0F12

insignifiant

Unit de traitement du code machine

0000

Systme de temps

0100

Comportement du systme

0200

Description du code machine de la CPU

0300

Disponibilit des SFC

0400

Seulement les informations d'en-tte de la liste partielle

insignifiant

Zones de mmoire utilisateur


0113

Un enregistrement pour la zone mmoire indique


Mmoire de travail

0001

Zones systme
0014
0F14

Enregistrements de toutes les zones systme

insignifiant

Seulement les informations d'en-tte de la liste partielle

insignifiant

Types de bloc

13-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de diagnostic

SZL_ID (W#16#...)
0015

Liste partielle

INDEX (W#16#...)

Enregistrements de tous les types de bloc

insignifiant

Etat des DEL sur module (pas lisible pour toutes les CPU,
voir /102/)
0019

Etat de toutes les DEL

insignifiant

0F19

Seulement les informations d'en-tte de la liste partielle

insignifiant

Identification d'un composant


001C

Identification de tous les composants

011C

Identification d'un composant

0F1C

insignifiant

Nom du systme d'automatisation

0001

Nom du module

0002

Repre d'installation du module

0003

Copyright

0004

Numro de srie du module

0005

Rserv au systme d'exploitation

0006

Nom du type du module

0007

Numro de srie de la carte mmoire

0008

Fabricant et profil d'un module CPU

0009

Identification OEM d'un module

000A

Repre d'emplacement d'un module

000B

Seulement les informations d'en-tte de la liste partielle

insignifiant

Liens entre les mmoires image partielles et les OB


0025

Liens entre toutes les mmoires image partielles et les OB

insignifiant

0125

Lien entre une mmoire image partielle et l'OB associ

n de mmoire image
partielle

0225

Liens entre un OB et les mmoires image partielles associes

n d'OB

0F25

Seulement les informations d'en-tte de la liste partielle

insignifiant

Donnes d'tat de la communication


0132

0232

Donnes d'tat pour une partie de communication


Diagnostic

0005

Systme de temps

0008

Compteur d'heures de fonctionnement (16 bits)

000B

Compteur d'heures de fonctionnement (32 bits)

000C

Donnes d'tat pour une partie de communication


Degr de protection de la CPU et positions du commutateur de
mode de fonctionnement

0004

Informations groupes de CPU H


0071

Informations sur l'tat en cours du systme H

insignifiant

0F71

Seulement les informations d'en-tte de la liste partielle

insignifiant

Etat des DEL sur module (pas lisible pour toutes les CPU,
voir /102/)
0174

Etat d'une DEL

ID de DEL

Esclaves DP connects dans le systme H


0C75

Etat de communication entre le systme H et un esclave DP


connect

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

adresse de diagnostic
du coupleur esclave
DP

13-7

SFC de diagnostic

SZL_ID (W#16#...)

Liste partielle

INDEX (W#16#...)

Informations de rseau matre DP


0090

Informations sur tous les rseaux matres connus par la CPU

0000

0190

Informations sur un rseau matre DP

ID du rseau matre
DP

0F90

Seulement les informations d'en-tte de la liste partielle

0000

Informations d'tat des modules


(27 enregistrements au plus sont fournis)
0091

Informations d'tat de tous les modules et sous-modules


enfichs

insignifiant

0191

Informations d'tat de tous les modules et chssis non


dsactivs dont l'ID de type est incorrecte

insignifiant

0291

Informations d'tat de tous les modules non dsactivs


dfectueux

insignifiant

0391

Informations d'tat de tous les modules non disponibles

insignifiant

0591

Informations d'tat de tous les sous-modules du module hte

insignifiant

0991

Informations d'tat de tous les sous-modules du module hte


dans le chssis indiqu

chssis ou ID de
rseau matre DP

0A91

Informations d'tat de tous les rseaux matre DP

insignifiant

0C91

Informations d'tat d'un module en configuration centralise ou


connect un coupleur DP intgr

adresse de base
logique

4C91

Informations d'tat d'un module connect un coupleur DP


externe

adresse de base
logique

0D91

Informations d'tat de tous les modules dans le chssis indiqu chssis ou ID du


/ dans la station DP indique
rseau matre DP ou
ID du rseau matre
DP et n de station

0E91

Informations d'tat de tous les modules affects

insignifiant

Informations d'tat des chssis ou stations

13-8

0092

Etat prvu des chssis en configuration centralise / des


stations d'un rseau matre DP

0 / ID du rseau matre
DP

4092

Etat prvu des stations d'un rseau matre DP connect au


moyen d'un coupleur DP externe

ID du rseau matre
DP

0192

Etat d'activation des stations d'un rseau matre DP connect


au moyen d'un coupleur DP intgr

ID du rseau matre
DP

0292

Etat rel des chssis en configuration centralise / des stations 0 / ID du rseau matre
d'un rseau matre DP
DP

0392

Etat de la sauvegarde d'un chssis d'une CPU quand une pile


au moins est dfaillante

0492

Etat de toute la sauvegarde de tous les chssis d'une CPU

0592

Etat de l'alimentation 24 V de tous les chssis d'une CPU

4292

Etat rel des stations d'un rseau matre DP connect au


moyen d'un coupleur DP externe

ID du rseau matre
DP

0692

Etat de marche des appareils d'extension en configuration


centralise / des stations d'un rseau matre DP connect au
moyen d'un coupleur DP intgr

0 / ID du rseau matre
DP

4692

Etat de marche des stations d'un rseau matre DP connect


au moyen d'un coupleur DP externe

ID du rseau matre
DP

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de diagnostic

SZL_ID (W#16#...)

Liste partielle

INDEX (W#16#...)

Informations tendues de rseau matre DP


0195

Informations tendues sur un rseau matre DP

ID de rseau matre
DP

0F95

Seulement les informations d'en-tte de la liste partielle

0000

Tampon de diagnostic
(21 enregistrements au plus sont fournis)
00A0

Toutes les entres pouvant tre fournies dans l'tat de


fonctionnement en cours

insignifiant

01A0

Les entres les plus rcentes, le nombre en tant indiqu par


l'index

nombre

0FA0

Seulement les informations d'en-tte de la liste partielle

insignifiant

Donnes de diagnostic des modules


00B1

Les quatre premiers octets de diagnostic d'un module (DS0)

adresse de base
logique

00B2

Toutes les donnes de diagnostic d'un module ( 220 octets,


DS1) (pas pour un module DP)

chssis, emplacement

00B3

Toutes les donnes de diagnostic d'un module ( 220 octets,


DS1)

adresse de base
logique

00B4

Donnes de diagnostic d'un esclave DP

adresse de diagnostic
configure

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

13-9

SFC de diagnostic

13.4

Ecriture d'un vnement de diagnostic personnalis dans


le tampon de diagnostic avec SFC52 "WR_USMSG"

Description
La fonction SFC52 "WR_USMSG" (write user element in diagnosisbuffer) sert crire un
vnement de diagnostic personnalis dans la mmoire tampon de diagnostic. De plus,
vous pouvez envoyer le message de diagnostic correspondant tous les participants
dclars pour cela (en donnant la valeur TRUE au paramtre d'entre SEND). Si une
erreur est apparue pendant l'excution de la SFC, le paramtre RET_VAL fournira un
code d'erreur.

Envoi d'un message de diagnostic personnalis


Un vnement de diagnostic personnalis est inscrit dans le tampon de diagnostic avec
SFC52. De plus, vous pouvez envoyer le message de diagnostic personnalis
correspondant tous les participants dclars pour cela (en donnant la valeur TRUE au
paramtre d'entre SEND). Il est alors crit dans le tampon d'mission d'o il est envoy
automatiquement aux participants dclars pour cela.
Il y a un moyen de vrifier si l'envoi de messages de diagnostic personnalis est
momentanment possible. Pour cela, appelez la fonction SFC51 "RDSYSST" avec les
paramtres SZL_ID = W#16#0132 et INDEX = W#16#0005. Le quatrime mot de
l'enregistrement ainsi obtenu indique si l'envoi est possible actuellement (1) ou pas (0).
CPU

Participant
ex. : PG, OP
Tampon d'mission

SEND=
TRUE
SFC52

1 2
...

Envoi asynchrone
au programme
utilisateur

Tampon de diagnostic

...

Tampon d'mission plein


Le message de diagnostic ne peut tre consign dans le tampon d'mission que s'il n'est
pas plein. La capacit du tampon d'mission dpend du type de la CPU.
Quand le tampon d'mission est plein,

13-10

l'vnement de diagnostic est crit quand mme dans le tampon de diagnostic,

le paramtre RET_VAL indique que le tampon d'mission est plein (RET_VAL


W#16#8092).

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de diagnostic

Aucun participant dclar


Lorsqu'il s'agit d'envoyer un message de diagnostic personnalis (SEND = TRUE), mais
qu'aucun participant ne s'est dclar

l'vnement de diagnostic personnalis est crit quand mme dans le tampon de


diagnostic;

le paramtre RET_VAL indique qu'il n'y a aucun participant dclar (W#16#0091 ou


W#16#8091, cette dernire valeur tant utilise par les anciennes versions de la
CPU).

Organisation d'une entre


L'organisation interne d'une entre dans le tampon de diagnostic est la suivante.
Octet

Contenu
1 et 2
3
4

ID d'vnement
Classe de priorit
Numro de l'OB

5 et 6

Rserv

7 et 8

Informations complmentaires 1

9, 10, 11 et 12

Informations complmentaires 2

13 20

Horodatage

ID d'vnement
Une identification est affecte chaque vnement.

Informations complmentaires
Des informations complmentaires sur l'vnement y sont ranges. Leur contenu peut
diffrer d'un vnement l'autre. Quand vous crez un vnement de diagnostic, vous
pouvez dterminer vous-mme le contenu des informations complmentaires.
Quand vous crez un message de diagnostic personnalis, vous pouvez intgrer les
informations complmentaires en tant que variable additionnelle au texte du message
(propre l'ID d'vnement).

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

13-11

SFC de diagnostic

Horodatage
L'horodatage est de type DATE_AND_TIME.
Paramtre Dclaration

Type de
donnes

Zone de
mmoire

Description

SEND

INPUT

BOOL

E, A, M, D, L,
constante

Validation de l'envoi du message de diagnostic


personnalis tous les participants dclars

EVENTN

INPUT

WORD

E, A, M, D, L,
constante

ID d'vnement : c'est vous qui l'attribuez et non pas


le serveur de messages.

INFO1

INPUT

ANY

E, A, M, D, L

Informations complmentaires de 1 mot de long

INFO2

INPUT

ANY

E, A, M, D, L

Informations complmentaires de 2 mots de long

RET_VAL

OUTPUT

INT

E, A, M, D, L

Informations d'erreur

SEND
Lorsque SEND = TRUE, le message de diagnostic personnalis est envoy tous les
participants dclars pour cela. L'envoi n'est effectu que s'il y a au moins un participant
dclar et si le tampon d'mission n'est pas plein. Il est asynchrone par rapport au
programme utilisateur.

EVENTN
Le paramtre EVENTN contient l'identification de l'vnement utilisateur. Vous pouvez
indiquer des ID d'vnement sous la forme W#16#8xyz, W#16#9xyz, W#16#Axyz,
W#16#Bxyz.
Les ID de forme W#16#8xyz et W#16#9xyz font partie des vnements prdfinis, celles
de forme W#16#Axyz et W#16#Bxyz font partie des vnements dfinition libre.
Un vnement apparaissant est caractris par x = 1, un vnement disparaissant par x
= 0. Pour les vnements des classes A et B, yz indique en reprsentation
hexadcimale le numro attribu au message correspondant dans la configuration des
messages.

INFO1
Le paramtre INFO1 contient des informations d'un mot de long. Les types de donnes
autoriss pour INFO1 sont les suivants :

WORD

INT

ARRAY [0...1] OF CHAR

Vous pouvez l'intgrer en tant que variable additionnelle au texte du message, y ajoutant
ainsi des informations actuelles.

13-12

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de diagnostic

INFO2
Le paramtre INFO2 contient des informations de deux mots de long. Les types de
donnes autoriss pour INFO2 sont les suivants :

DWORD

DINT

REAL

TIME

ARRAY [0...3] OF CHAR

Vous pouvez l'intgrer en tant que variable additionnelle au texte du message, y ajoutant
ainsi des informations actuelles.

Informations d'erreur
Code d'erreur Signification
(W#16#...)
0000

Pas d'erreur

0091

Aucun participant dclar (vnement de diagnostic crit dans le tampon de diagnostic)

8083

Type de donnes non autoris pour INFO1

8084

Type de donnes non autoris pour INFO2

8085

EVENTN non autoris

8086

Longueur non autorise pour INFO1

8087

Longueur non autorise pour INFO2

8091

Aucun participant dclar (vnement de diagnostic crit dans le tampon de diagnostic)


(Ce code d'erreur n'est utilis que par les versions anciennes de la CPU.)

8092

Envoi impossible actuellement, tampon d'mission plein (vnement de diagnostic crit dans le
tampon de diagnostic).

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

13-13

SFC de diagnostic

13.5

Calcul du temps d'excution des OB avec SFC78 "OB_RT"

Description
La fonction SFC78 "OB_RT permet de calculer le temps d'excution de certains OB
pendant diffrents laps de temps.
Nota
SFC78 fournit les dernires valeurs de temps enregistres pour l'OB de votre choix, qu'il
soit momentanment charg ou pas. Les donnes de SFC78 ne sont remises zro ni
par effacement ni par crasement, mais seulement par un dmarrage chaud.

Paramtres
Paramtre

Dclaration

Type de Zone de
donnes mmoire

Signification

OB_NR

INPUT

INT

E, A, M, D,
L

OB dont vous demandez les derniers temps d'excution


calculs. Les numros valides sont ceux des OB raliss
dans votre CPU, l'exception d'OB121 et OB122. Le
traitement d'erreurs synchrones est compt dans le temps
d'excution de l'OB l'origine de l'erreur. L'indication des
OB 121 ou 122 ou de blocs non raliss dans la CPU
provoque un message d'erreur.
Avec OB_NR=0, vous obtiendrez les donnes de l'OB
dans le contexte duquel vous avez appel la SFC. En
appelant SFC78 dans les OB 121 ou 122 avec OB_NR=0,
vous obtiendrez les temps de l'OB l'origine de l'alarme y
compris les temps dans l'OB12x.

RET_VAL

OUTPUT

INT

E, A, M, D,
L

Si une erreur apparat durant le traitement de la fonction,


la valeur de retour contient un code d'erreur.
Sinon RET_VAL contient le numro de l'OB pour lequel
ces donnes ont t appeles.

PRIO

OUTPUT

INT

E, A, M, D,
L

PRIO indique la classe de priorit de l'OB demand.

13-14

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de diagnostic

Paramtre

Dclaration

Type de Zone de
donnes mmoire

Signification

LAST_RT

OUTPUT

DINT

Dure de la dernire excution termine de l'OB en


question, en microsecondes.
Si l'OB dont vous souhaitez calculer les temps est en
cours d'excution :
au premier appel de SFC78 durant l'excution de cet OB,
LAST_RT indique la dure de la dernire excution
termine;
chaque autre appel de SFC78 durant l'excution en
cours, LAST_RT indique

E, A, M, D,
L

DW#16#FFFF FFFF si SFC78 a dj t appele


avec OB_NR=0 dans l'OB en question,

la dure de la dernire excution termine si SFC78


n'a pas t appele avec OB_NR=0 dans l'OB.

Nota : LAST_RT ne contient pas les temps d'interruption


dus des OB de priorit suprieure.
LAST_ET

OUTPUT

DINT

E, A, M, D,
L

Laps de temps coul entre demande de l'OB et fin de


l'excution, en microsecondes, pour la dernire excution
de l'OB en question.
Si l'OB dont vous souhaitez calculer les temps est en
cours d'excution :
au premier appel de SFC78 durant l'excution de cet OB,
LAST_ET indique le laps de temps entre la dernire
demande entirement traite et la fin de l'excution;
chaque autre appel de SFC78 durant l'excution en
cours, LAST_ET indique

DW#16#FFFF FFFF si SFC78 a dj t appele


avec OB_NR=0 dans l'OB en question,

le laps de temps entre la dernire demande


entirement traite et la fin de l'excution si SFC78 n'a
pas t appele avec OB_NR=0 dans l'OB.

Nota : LAST_ET ne contient pas les temps d'interruption


dus des OB de priorit suprieure.
CUR_T

OUTPUT

DINT

E, A, M, D,
L

Moment de la demande de l'OB en cours d'excution


sous forme de valeur temporelle relative en
microsecondes. Si l'OB spcifi n'est pas en cours
d'excution, CUR_T a la valeur 0.
Nota : le temps systme est un compteur qui compte de 0
2 147 483 647 microsecondes. En cas de
dbordement, il redmarre 0.

CUR_RT

OUTPUT

DINT

E, A, M, D,
L

Dure jusqu' maintenant de l'excution en cours de l'OB


spcifi, en microsecondes. CUR_RT est gal 0 si l'OB
n'est pas ou pas encore en cours d'excution. Une fois
l'excution termine, le temps d'excution est transfr
dans LAST_RT et CUR_RT est mis 0.
Nota : CUR_RT ne contient pas les temps d'interruption
dus des OB de priorit suprieure.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

13-15

SFC de diagnostic

Paramtre

Dclaration

Type de Zone de
donnes mmoire

Signification

CUR_ET

OUTPUT

DINT

E, A, M, D,
L

Laps de temps coul depuis la demande de l'OB en


cours d'excution, en microsecondes. CUR_ET est gal
0 si l'OB spcifi n'est pas en cours d'excution. Une fois
l'excution termine, le temps d'excution est transfr
dans LAST_ET et CUR_ET est mis 0.
Nota : CUR_ET ne contient pas les temps d'interruption
dus des OB de priorit suprieure.

NEXT_ET

OUTPUT

DINT

E, A, M, D,
L

Si d'autres excutions de l'OB spcifi sont en attente


avant que la demande en cours soit termine, NEXT_ET
indique, en microsecondes, le laps de temps entre le
moment actuel et celui de la demande suivante.
NEXT_ET est gal 0 si aucun vnement dclencheur
ne suit l'vnement excuter ou en cours d'excution.
WinLC RTX n'utilise pas ce paramtre.

Les temps spcifis contiennent aussi les temps de traitement d'alarmes d'erreurs
synchrones ventuellement imbriques (OB121, OB122).
Nota
Si vous indiquez dans OB_NR le numro d'un OB qui existe certes pour votre CPU, mais
que le systme d'exploitation n'a pas encore appel ou que vous n'avez pas encore
charg dans la CPU, RET_VAL contiendra le n d'OB en question, PRIO la classe de
priorit configure de cet OB (classe par dfaut, le cas chant) et LAST_RT la valeur
DW#16#FFFF FFFF.

Informations d'erreur
Classe d'vnements Signification
Code d'erreur
1 102

Numro de l'OB pour lequel des informations sont transmises.

W#16#8080

Le paramtre OB_NR contient une valeur illicite.

W#16#8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

13-16

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de diagnostic

13.6

Recherche de l'tat de liaison actuel avec SFC87 "C_DIAG"

Description
La fonction SFC87 "C_DIAG" sert rechercher l'tat actuel de toutes les liaisons S7 et de
toutes les liaisons S7 haute disponibilit (ou de leurs sous-liaisons).
Une valuation approprie de ces donnes de liaison permet de dtecter la dfaillance
de liaisons S7 et de liaisons S7 haute disponibilit et de la signaler, le cas chant, un
systme de contrle-commande. Cette surveillance peut s'appliquer des liaisons entre
systmes d'automatisation comme des liaisons entre un systme d'automatisation et un
systme de contrle-commande.
Nota
Le changement d'tat de fonctionnement RUN -> STOP -> RUN d'une CPU ne change
rien l'tat des liaisons configures. Exception : quand une station H passe de l'tat
systme Redondant l'tat systme Stop, les liaisons haute disponibilit suspendent
celles de leurs branches qui aboutissent la CPU de rserve.
Aprs une coupure du secteur, par contre, toutes les liaisons configures sont tablies de
nouveau, de sorte que l'tat de liaison change.
Par consquent, les informations de liaison ne seront pas les mmes au premier appel de
SFC87, selon que le dernier tat de fonctionnement de la CPU tait Arrt ou Hors
tension.

Fonctionnement
SFC87 "C_DIAG" est excution asynchrone, c'est--dire que son excution peut tre
rpartie sur plusieurs appels.
Vous lancez la tche en appelant SFC87 avec REQ=1.
Si la tche a pu tre excute aussitt, la SFC retourne la valeur 0 dans le paramtre de
sortie BUSY. Si BUSY a la valeur 1, c'est que la tche est encore en cours d'excution.

Quand appeler SFC87 ?


Afin de dtecter une dfaillance ventuelle des liaisons S7 et des liaisons S7 haute
disponibilit, appelez SFC87 dans un OB d'alarme cyclique qui sera dmarr par le
systme d'exploitation toutes les 10 secondes, par exemple.
Comme l'tat d'une liaison ne varie gure dans des circonstances normales, il est
conseill, pour ces appels cycliques, de ne copier les donnes de liaison dans le
programme utilisateur que lorsqu'elles ont chang depuis le dernier appel. (appel avec
MODE=B#16#02, voir ci-dessous).

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

13-17

SFC de diagnostic

Comment appeler SFC87 ?


SFC87 "C_DIAG" propose 4 modes de fonctionnement, expliqus dans le tableau cidessous.
MODE
(B#16#...)

La SFC copie les donnes de liaison


dans le programme utilisateur

La SFC transfre des informations


d'acquittement au systme d'exploitation

00

Non

Oui

01

Oui

02

Oui, si les donnes de liaison ont


chang

Non, si les donnes de liaison n'ont pas


chang

03

Oui

Oui
Oui

Non

En transfrant des informations d'acquittement au systme d'exploitation, la SFC acquitte


les changements d'tat des donnes de liaison survenus depuis son dernier appel (avec
MODE=B#16#00, 01 ou 02).
Nota
Si vous avez exploitez SFC87 dans un OB d'alarme cyclique en mode "copie
conditionnelle" (MODE=B#16#02), vous devez faire en sorte qu'il n'y ait pas de valeurs
initiales dans la zone cible aprs un dmarrage froid de la CPU. Pour cela, appelez
une fois SFC87 dans l'OB102 en mode "copie inconditionnelle avec acquittement"
(MODE=B#16#01).

13-18

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de diagnostic

Paramtre

Dclaration

Type de
donnes

Zone de mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L,
const.

Paramtres de commande request to activate

E, A, M, D, L,
const.

Identification de la tche

MODE

INPUT

BYTE

INT

E, A, M, D, L

REQ=1: dmarre la tche si ce n'est pas encore


fait
Valeurs possibles :

B#16#00 : la SFC ne copie pas de donnes


de liaison, mais envoie seulement une
information d'acquittement au systme
d'exploitation.

B#16#01 : la SFC copie les donnes de


liaison dans le programme utilisateur, quel
que soit leur tat de changement, et envoie
une information d'acquittement au systme
d'exploitation.

B#16#02 : si les donnes de liaison ont


chang, la SFC les copie dans le
programme utilisateur. Si elles n'ont pas
chang, la copie n'a pas lieu. La SFC envoie
dans les deux cas une information
d'acquittement au systme d'exploitation.

B#16#03 : la SFC copie les donnes de


liaison dans le programme utilisateur, quel
que soit leur tat de changement. Elle
n'envoie pas d'information d'acquittement au
systme d'exploitation.

RET_VAL

OUTPUT

Valeur de retour (code d'erreur ou tat de la


tche)

BUSY

OUTPUT

BOOL

E, A, M, D, L

BUSY =1 : la tche n'est pas termine.

N_CON

OUTPUT

INT

E, A, M, D, L

Indice de la dernire structure dans CON_ARR


pour laquelle .DIS_PCON ou .DIS_CON a la
valeur TRUE. Il suffit donc de vrifier les
premiers lments N_CON de CON_ARR dans
le programme utilisateur.
Nota : La premire structure du tableau
CON_ARR a l'indice 1.

CON_ARR

OUTPUT

ANY

E, A, M, D, L

Zone cible des donnes de liaison lues.


Seul le type de donnes BYTE est autoris.
Une structure est affecte chaque liaison.
Choisissez la zone cible assez grande pour
qu'elle puisse contenir toutes les structures pour
le nombre maximal de liaisons de votre CPU.

Composition de la zone cible CON_ARR


La zone cible pour les donnes de liaison lues est un tableau de structures, une structure
tant affecte chaque liaison.
Le tableau ne doit pas tre rempli d'entres valides depuis le dbut et il peut contenir des
entres invalides entre deux entres valides.
Les liaisons ne sont pas classes par rfrences de liaison.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

13-19

SFC de diagnostic

Nota
La copie des donnes de liaisons du systme d'exploitation dans la zone cible que vous
avez dfinie garantit la cohrence des donnes d'une liaison.

Composition d'une structure


Paramtre

Type de
donnes

Description

CON_ID

WORD

Rfrence attribue cette liaison dans NETPRO.


W#16#FFFF : code invalide, c'est--dire liaison non configure. Si
CON_ARR[i].DIS_PCON ou CON_ARR[i].DIS_CON (voir ci-dessous)
est en plus 1, la liaison a t reconfigure ou efface depuis le dernier
appel de SFC87.

STAT_CON

BYTE

Etat actuel de la liaison S7 ou de la liaison S7 haute disponibilit


Valeurs possibles :

B#16#00 : liaison S7 non tablie

B#16#10 : liaison S7 haute disponibilit non tablie

B#16#01 : tablissement de la liaison S7 en cours...

B#16#11 : tablissement de la liaison S7 haute disponibilit en


cours...
B#16#02 : liaison S7 tablie

B#16#12 : liaison S7 haute disponibilit tablie, mais pas haute


disponibilit

B#16#13 : liaison S7 haute disponibilit tablie et haute


disponibilit

PROD_CON

BYTE

N de liaison partielle de la liaison productive

STBY_CON

BYTE

N de liaison partielle de la liaison standby (B#16#FF: pas de liaison


standby)

Valeurs possibles : 0, 1, 2, 3

Valeurs possibles : 0, 1, 2, 3
Nota : seule une liaison S7 haute disponibilit peut avoir une liaison
standby.

13-20

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de diagnostic

Paramtre

Type de
donnes

Description

DIS_PCON

BOOL

Les passages W#16#12 -> W#16#13 et W#16#13 -> W#16#12 de


CON_ARR[i].STAT_CON depuis le dernier appel de la SFC mettent
CON_ARR[i].DIS_PCON 1. Tous les autres changements d'tat de la
liaison n'affectent pas CON_ARR[i].DIS_PCON.
Nota :

DIS_CON

BOOL

Pour MODE=B#16#01 et 02, le bit correspondant DIS_PCON


dans le systme d'exploitation est mis 0 par la copie des donnes
de liaison dans la zone cible.

Pour MODE=B#16#03, le bit du systme d'exploitation qui


correspond DIS_PCON ne change pas.

Toute modification de CON_ARR[i].STAT_CON depuis le dernier appel


de la SFC, sauf les passages W#16#12 -> W#16#13 et W#16#13 ->
W#16#12, met CON_ARR[i].DIS_CON 1.
Nota :

Pour MODE=B#16#01 et 02, le bit correspondant DIS_CON dans


le systme d'exploitation est mis 0 par la copie des donnes de
liaison dans la zone cible.

Pour MODE=B#16#03, le bit du systme d'exploitation qui


correspond DIS_CON ne change pas.

RES0

BYTE

Rserv (B#16#00)

RES1

BYTE

Rserv (B#16#00)

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

0001

MODE=B#16#00, 01 ou 02 : pas de changement de l'tat de liaison (lment de


structure STAT_CON) depuis le dernier appel. Tche excute sans erreur.
MODE=B#16#03 : la copie a t excute sans erreur.
MODE=B#16#00, 01 ou 02 : changement de l'tat de liaison (lment de
structure STAT_CON) pour une liaison au moins depuis le dernier appel. La tche
a t excute sans erreur.
MODE=B#16#03 : RET_VAL W#16#0001 n'est pas possible.

7000

Premier appel avec REQ=0. La tche dtermine par MODE n'est pas traite. BUSY
a la valeur 0.

7001

Premier appel avec REQ=1. La tche dtermine par MODE a t lance. BUSY a la
valeur 1.

7002

Appel intermdiaire (REQ non significatif). La tche active s'excute encore. BUSY
a la valeur 1.

8080

Le paramtre MODE contient une valeur illicite.

8081

Le paramtre CON_ARR contient un type de donnes illicite.

8082

Le paramtre CON_ARR contient une indication de longueur trop petite. La SFC ne


copie pas les donnes dans la zone cible.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

13-21

SFC de diagnostic

13.7

Calcul de la topologie en bus dans un rseau matre DP


avec SFC 103 "DP_TOPOL"

Description
La fonction SFC 103 "DP_TOPOL" sert lancer la recherche de topologie pour un
rseau matre DP slectionn. Lorsque vous appelez la SFC 103, vous adressez tous les
rpteurs de diagnostic dans un rseau matre DP.
Nota
A un instant donn, la recherche de topologie ne peut tre excute que pour un rseau
matre DP.

La recherche de topologie est la condition ncessaire l'affichage dtaill de


l'emplacement d'une erreur de cble survenue. Il est recommand d'effectuer la
recherche de topologie aumoyen de la SFC 103 aprs toute nouvelle configuration ou
modification de la configuration physique d'un rseau matre DP.
Les modifications suivantes sont considres comme des modifications de la
configuration physique :

modification de la longueur de cble,

ajout ou suppresion de partenaires ou de composants possdant une fonction de


rpteur,

modification d'adresses de partenaire.

Quand un rpteur de diagnostic signale une erreur, la SFC crit dans les sorties DPR et
DPRI. Au cas o plusieurs rpteurs de diagnostic du rseau matre DP slectionn
signalent des erreurs, la SFC crit dans DPR et DPRI les informations concernant le
premier d'entre eux. Ayez recours SFC13 "DPNRM_DG" ou STEP 7 pour lire les
informations de diagnostic compltes. Quand aucun rpteur de diagnostic ne signale
d'erreur, les sorties DPR et DPRI ont la valeur zro.

Fonctionnement
SFC103 "DP_TOPOL" est excution asynchrone, c'est--dire que son excution peut
tre rpartie sur plusieurs appels. Vous lancez le calcul de la topologie en bus DP en
appelant SFC103 avec REQ=1. Pour abandonner l'opration, appelez SFC103 avec
R=1.
Les paramtres de sortie RET_VAL et BUSY indiquent l'tat de la tche, voir aussi
Signification de REQ, RET_VAL et BUSY pour les SFC excution asynchrone.
Nota
La recherche de topologie peut durer plusieurs minutes.

13-22

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de diagnostic

Identification d'une tche


Le paramtre d'entre DP_ID identifie une tche de manire univoque.
Si vous avez dj appel SFC103 "DP_TOPOL" et l'appelez de nouveau avant que le
calcul de la topologie soit termin, le comportement ultrieur de la SFC diffrera de faon
dcisive selon que le nouvel appel s'applique la mme tche ou pas. Quand le
paramtre DP_ID concorde avec celui d'une tche pas encore termine, le nouvel appel
est trait comme appel conscutif et la valeur W#16#7002 s'inscrit dans RET_VAL. Si,
par contre, il s'agit d'une nouvelle tche, la CPU la rejette.
Paramtre

Dclaration

Type de Zone de
donnes mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L,
const.

REQ=1 : lancer la recherche de topologie

INPUT

BOOL

E, A, M, D, L,
const.

R=1 : abandonner le calcul de la topologie

DP_ID

INPUT

INT

E, A, M, D, L,
const.

ID de rseau matre DP dont il s'agit de calculer la


topologie

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur apparat pendant l'excution de la


fonction systme, la valeur de retour contient un code
d'erreur

BUSY

OUTPUT

BOOL

E, A, M, D, L

BUSY=1 : la recherche de topologie n'est pas encore


termine

DPR

OUTPUT

BYTE

E, A, M, D, L

Adresse PROFIBUS du rpteur de diagnostic


signalant une erreur

DPRI

OUTPUT

BYTE

E, A, M, D, L

Segment de mesure du rpteur de diagnostic


signalant une erreur :

bit 0 = 1 : erreur temporaire dans le segment DP2

bit 1 = 1 : erreur permanente dans le segment DP2

bit 4 = 1 : erreur temporaire dans le segment DP3

bit 5 = 1 : erreur permanente dans le segment DP3

Erreurs permanentes : des erreurs permanentes empchant la recherche de topologie ont t dtectes sur le
rseau. Vous pouvez effectuer la lecture des informations de diagnostic de la cause d'erreur avec la SFC 13
"DPNRM_DG" ou avec STEP 7.
Erreurs temporaires : des erreurs temporaires empchant une recherche de topologie correcte ont t
dtectes sur le rseau. Il existe probablement un mauvais contact ou une erreur multiple. Ces perturbations ne
permettent pas dtecter la cause d'erreur prcise.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

13-23

SFC de diagnostic

Informations d'erreur
Pour les informations d'erreur "relles" (codes d'erreur W#16#8xyz) de la table suivante,
il convient de distinguer deux cas :

Erreurs temporaires (codes d'erreur W#16#80A2 80A4, 80C3, 80C5) :


Pour ce type d'erreurs, il est possible que l'erreur soit corrige sans votre
intervention. Il est recommand d'appeler nouveau la SFC (le cas chant,
plusieurs reprises).
Exemple d'erreur temporaire : les ressources ncessaires sont actuellement
occupes (W#16#80C3).

Erreurs permanentes (codes d'erreur W#16#8082, 80B0, 80B2) :


Pour ce type d'erreurs, l'erreur ne peut pas tre corrige sans votre intervention. Un
nouvel appel de la SFC ne sert que si vous avez pralablement corrig l'erreur.
Exemple d'erreur permanente : cette tche n'est pas prise en charge par le matre DP
/ la CPU.

Code d'erreur
(W#16#...)

Signification

0000

La tche a t excute sans erreur.

7000

Premier appel avec REQ=0. Aucune recherche de topologie n'est lance. BUSY a la
valeur 0.

7001

Premier appel avec REQ=1. La tche de recherche de topologie a t lance. BUSY


a la valeur 1.

7002

Appel intermdiaire (REQ non significatif) : la recherche de topologie n'est pas


encore termine. BUSY a la valeur 1.

7010

Vous avez tent d'interrompre la recherche de topologie. Cependant, il n'existe pas


de tche en cours avec DP_ID indiqu. BUSY a la valeur 0.

7011

Premier appel avec R=1. L'interruption de la recherche de topologie a t lance.


BUSY a la valeur 1.

7012

Appel intermdiaire : l'interruption de la recherche de topologie n'est pas encore


termine. BUSY a la valeur 1.

7013

Dernier appel : la recherche de topologie a t interrompue. BUSY a la valeur 0.

8082

Aucun rseau matre DP n'est configur avec le DP_ID indiqu.

80A2

Erreur de recherche de topologie; consultez les paramtres de sortie DPR et DPRI


pour plus de renseignements.

80A3

Erreur de recherche de topologie : le temps de surveillance d'est coul (Timeout).

80A4

Communication sur le bus K dfaillante.

80B0

Ce service n'est pas pris en charge par le matre DP / la CPU.

80B2

Erreur de recherche de topologie : aucun rpteur de diagnostic n'a t dtect dans


le rseau matre DP slectionn.

80C3

Les ressources ncessaires sont actuellement occupes. Causes possibles : vous


avez lanc une seconde recherche de topologie (une seule recherche de topologie
est autorise un instant donn) ou un couplage et une actualisation des donnes
sont en cours sur la CPU H.

80C5

Le rseau matre DP n'est pas disponible actuellement.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

13-24

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

14

SFC et SFB de mise jour de la mmoire


image et de traitement de champ de bits

14.1

Mise jour de la mmoire image des entres avec SFC26


"UPDAT_PI"

Description
La fonction SFC26 "UPDAT_PI" (update process image) sert mettre jour la mmoire
image des entres de l'OB1 (=mmoire image partielle 0) ou une mmoire image partielle
des entres dfinie avec STEP 7.
Si vous avez choisi la signalisation ritre de toutes les erreurs d'accs la priphrie
comme procd de signalisation pour la mise jour de la mmoire image par le systme,
la mise jour par SFC26 de la mmoire image choisie est toujours effectue.
Autrement, cette mise jour par SFC26 n'est effectue que lorsque la mmoire image
choisie n'est pas mise jour par le systme, c'est--dire

quand vous n'avez pas associ cette mmoire image partielle un OB d'alarme
ou

quand vous avez choisi la mmoire image partielle 0 et dsactiv (par configuration)
la mise jour de la mmoire image de l'OB1.

Nota
Toute adresse logique que vous avez affecte, au moyen de STEP 7, une mmoire
image partielle des entres, ne fait plus partie de la mmoire image des entres de l'OB1.
C'est indpendamment des appels de la SFC26 que le systme met jour la mmoire
image des entres de l'OB1 ainsi que les mmoires images partielles des entres que
vous avez associes un OB d'alarme.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

14-1

SFC et SFB de mise jour de la mmoire image et de traitement de champ de bits

Paramtre

Dclaration Type de
donnes

Zone de
mmoire

Description

PART

INPUT

BYTE

E, A, M, D, L,
constante

Numro de la mmoire image partielle des


entres mettre jour. Plage de valeurs
maximale (plage dpendant de la CPU) : 0 15
(0 signifie la mmoire image de l'OB1, n avec 1 <
n < 15 signifie la mmoire image partielle n).

RET_VAL

OUTPUT

INT

E, A, M, D, L

Informations d'erreur

FLADDR

OUTPUT

WORD

E, A, M, D, L

Si une erreur d'accs s'est produite, adresse du


premier octet ayant caus l'erreur.

Informations d'erreur
Code d'erreur

Signification

(W#16#...)
0000

Pas d'erreur

8090

Valeur illicite pour le paramtre d'entre PART

8091

La mmoire image partielle indique n'a pas encore t dfinie ou ne se trouve pas dans
la zone de mmoire image autorise pour la CPU.

8092

La mmoire image partielle est mise jour par le systme au moyen d'un OB et vous
n'avez pas configur pour cela la signalisation ritre de toutes les erreurs d'accs la
priphrie. Une mise jour avec SFC26 "UPDAT_PI" n'a pas t effectue.

80A0

Une erreur d'accs a t dtecte lors de l'accs la priphrie.

14-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC et SFB de mise jour de la mmoire image et de traitement de champ de bits

14.2

Mise jour des sorties sur les modules de sorties avec


SFC27 "UPDAT_PO"

Description
La fonction SFC27 "UPDAT_PO" (update process outputs) sert transfrer aux modules
de sorties les tats de la mmoire image de l'OB1 (=mmoire image partielle 0) ou d'une
mmoire image partielle des sorties dfinie avec STEP 7.
Si vous avez dfini une plage de cohrence pour la mmoire image partielle
slectionne, les donnes correspondantes seront transmises de manire cohrente au
module de priphrie correspondant.
Nota
Toute adresse logique que vous avez affecte, au moyen de STEP 7, une mmoire
image partielle des sorties, ne fait plus partie de la mmoire image des sorties de l'OB1.

C'est indpendamment des appels de la SFC27 que le systme transfre aux modules
de sorties la mmoire image des sorties de l'OB1 ainsi que les mmoires images
partielles des sorties que vous avez associes un OB d'alarme.
Paramtre

Dclaration Type de
donnes

Zone de
mmoire

Description

PART

INPUT

BYTE

E, A, M, D, L,
constante

Numro de la mmoire image partielle des sorties


transfrer. Plage de valeurs maximale (plage
dpendant de la CPU) : 0 15
(0 signifie mmoire image de l'OB1, n avec 1 < n
< 15 mmoire image partielle n).

RET_VAL

OUTPUT

INT

E, A, M, D, L

Informations d'erreur

FLADDR

OUTPUT

WORD

E, A, M, D, L

Si une erreur d'accs s'est produite, adresse du


premier octet ayant caus l'erreur.

Informations d'erreur
Code d'erreur

Signification

(W#16#...)
0000

Pas d'erreur

8090

Valeur illicite pour le paramtre d'entre PART

8091

La mmoire image partielle indique n'a pas encore t dfinie ou ne se trouve pas dans
la zone de mmoire image autorise pour la CPU.
Une erreur d'accs a t dtecte lors de l'accs la priphrie.

80A0

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

14-3

SFC et SFB de mise jour de la mmoire image et de traitement de champ de bits

14.3

Mise jour synchronise d'une mmoire image partielle


des entres avec SFC126 "SYNC_PI"

Description
La fonction SFC126 "SYNC_PI" permet la mise jour synchronise d'une mmoire
image partielle des entres. Un programme utilisateur reli une cadence DP peut,
l'aide de cette SFC, mettre jour les donnes d'entre saisies dans une mmoire image
partielle, et ceci de manire synchrone et garantissant la cohrence des donnes.
SFC126 peut tre interrompue. Elle peut tre appele seulement dans les OB 61, 62, 63
et 64.
Les conditions suivantes sont ncessaires l'excution correcte de la SFC126
(pour S7-400 seulement) :

cadence DP > env. 5,0 ms

dure d'actualisation des esclaves < cadence DP 4,0 ms

Nota
L'appel de SFC126 "SYNC_PI" dans les OB 61 64 n'est autoris que si vous avez
associ la mmoire image partielle concerne l'OB dans HW Config.
Une mmoire image partielle que vous mettez jour avec SFC126 ne doit pas l'tre
simultanment avec SFC26 "UPDAT_PI".

14-4

Avertissement
Evitez les accs directs (p. ex. L PEB) aux zones de priphrie que vous traitez avec la
SFC126.
Si vous ne tenez pas compte de cette prescription, vous risquez de ne pas obtenir la
valeur en cours.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC et SFB de mise jour de la mmoire image et de traitement de champ de bits

Paramtres
Paramtre

Dclaration Type de
donnes

Valeurs
possibles

Valeur par
dfaut

Signification

PART

INPUT

BYTE

1 30

RET_VAL

OUTPUT

INT

Informations d'erreur

FLADDR

OUTPUT

WORD

Adresse du premier octet l'origine de


l'erreur en cas d'erreur d'accs.

N de la mmoire image partielle des


entres mettre jour de manire
synchrone

Informations d'erreur
Classe d'vnements
Code d'erreur

Signification

W#16#8090

Valeur illicite du paramtre PART ou bien la mmoire image partielle des entres
spcifie ne peut tre mise jour dans cet OB. La mise jour n'a pas eu lieu.

W#16#8091

La mmoire image partielle spcifie n'a pas encore t dfinie ou bien elle ne se
trouve pas dans la zone de mmoire image autorise de la CPU. La mise jour n'a
pas eu lieu.

W#16#80A0

Une erreur d'accs a t dtecte durant la mise jour. Les entres concernes ont
t mises "0".

W#16#80A1

Le moment de la mise jour est postrieur la fentre d'accs autorise. La mise


jour n'a pas eu lieu.

W#16#80C1

Le moment de la mise jour est antrieur la fentre d'accs autorise. La mise


jour n'a pas eu lieu.

W#16#8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Nota
Si vous mettez en uvre la SFC126 "SYNC_PI" pour des mmoires image partielles
d'esclaves DP norms pour lesquels vous avez dfini des plages de cohrences
suprieures 32 octets, les codes d'erreur de la SFC14 "DPRD_DAT" sont galement
possibles.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

14-5

SFC et SFB de mise jour de la mmoire image et de traitement de champ de bits

14.4

Mise jour synchronise d'une mmoire image partielle


des sorties avec SFC127 "SYNC_PO"

Description
La fonction SFC127 "SYNC_PO" permet la mise jour synchronise d'une mmoire
image partielle des sorties. Un programme utilisateur reli une cadence DP peut,
l'aide de cette SFC, transfrer la priphrie, de manire synchrone et cohrente, les
donnes de sortie calcules d'une mmoire image partielle des sorties.
SFC127 peut tre interrompue. Elle peut tre appele seulement dans les OB 61, 62, 63
et 64.
Les conditions suivantes sont ncessaires l'excution correcte de la SFC127
(pour S7-400 seulement) :

cadence DP > env. 5,0 ms

dure d'actualisation des esclaves < cadence DP 4,0 ms

Nota
L'appel de SFC127 "SYNC_PO" dans les OB 61 64 n'est autoris que si vous avez
associ la mmoire image partielle concerne l'OB dans HW Config.
Une mmoire image partielle que vous mettez jour avec SFC127 ne doit pas l'tre
simultanment avec SFC27 "UPDAT_PO".

Avertissement
Evitez les accs directs (p. ex. T PAB) aux zones de priphrie que vous traitez avec la
SFC127.
Si vous ne tenez pas compte de cette prescription, il est possible que votre opration
d'criture n'ait aucun effet.

Paramtres
Paramtre

Dclaration Type de
donnes

Valeurs
possibles

PART

INPUT

BYTE

1 30

RET_VAL

OUTPUT

INT

Si une erreur apparat durant l'excution


de la fonction, la valeur de retour contient
un code d'erreur.

FLADDR

OUTPUT

WORD

Adresse du premier octet l'origine de


l'erreur.

14-6

Valeur par
dfaut

Signification
N de la mmoire image partielle des
sorties mettre jour de manire
synchrone.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC et SFB de mise jour de la mmoire image et de traitement de champ de bits

Informations d'erreur
Classe d'vnement
Code d'erreur

Signification

W#16#0001

Avertissement de cohrence. La mise jour de la mmoire image partielle a t


rpartie sur deux cycles DP. Mais les donnes ont t transfres de manire
cohrente au sein d'un esclave.

W#16#8090

Valeur illicite du paramtre PART ou bien la mmoire image partielle des sorties
spcifie ne peut tre mise jour dans cet OB. Les sorties n'ont pas t transfres
aux modules de sorties. La mmoire image partielle des sorties reste inchange.

W#16#8091

La mmoire image partielle spcifie n'a pas encore t dfinie ou bien elle ne se
trouve pas dans la zone de mmoire image autorise de la CPU. Les sorties n'ont
pas t transfres la priphrie. La mmoire image partielle des sorties reste
inchange

W#16#80A0

Une erreur d'accs a t dtecte durant la mise jour. Les sorties n'ont pas t
transfres la priphrie. La mmoire image partielle des sorties reste inchange.

W#16#80A1

Le moment de la mise jour est postrieur la fentre d'accs autorise. Les


sorties n'ont pas t transfres la priphrie. La mmoire image partielle des
sorties reste inchange.

W#16#80C1

Le moment de la mise jour est antrieur la fentre d'accs autorise. Les sorties
n'ont pas t transfres la priphrie. La mmoire image des sorties reste
inchange.

W#16#8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Nota
Si vous mettez en uvre la SFC127 "SYNC_PO" pour des mmoires image partielles
d'esclaves DP norms pour lesquels vous avez dfini des plages de cohrences
suprieures 32 octets, les codes d'erreur de la SFC15 "DPWR_DAT" sont galement
possibles.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

14-7

SFC et SFB de mise jour de la mmoire image et de traitement de champ de bits

14.5

Mise 1 d'un champ de bits dans la zone de priphrie


avec SFC79 "SET"

Description
Un appel de la SFC79 "SET" (set range of outputs) a l'effet suivant :

mise 1 du champ de bits slectionn au moyen des paramtres N et SA dans la


zone de priphrie,

mise 1 galement des bits correspondants dans la mmoire image des sorties,
qu'ils se trouvent ou non dans une mmoire image partielle des sorties.

Le champ de bits doit se trouver dans la partie de la zone de priphrie laquelle une
mmoire image est affecte.
S'il n'y a pas de priphrie enfiche pour une partie du champ de bits slectionn, la
SFC79 tente pourtant de mettre 1 l'ensemble du champ. Aprs quoi, elle fournit dans
RET_VAL les informations d'erreur appropries.
Nota
Lors de l'excution de la SFC79, ce sont toujours des octets complets qui sont crits dans
la zone de priphrie.

Quand le dbut ou la fin du champ de bits slectionn au moyen des paramtres N et SA


ne correspond pas une limite d'octet, l'appel de la SFC79 a l'effet suivant :

Les bits du premier et du dernier octet transfrer la zone de priphrie qui ne font
pas partie du champ de bits slectionn reoivent la valeur des bits correspondants
dans la mmoire image des sorties. Ceci peut provoquer, par exemple, la mise en
route involontaire de moteurs ou la mise hors service de circuits de refroidissement.

Pour les bits faisant partie du champ de bits slectionn, tout se passe comme il est
dit ci-dessus.

Si vous donnez N la valeur 0, un appel de la SFC79 reste sans effet. Quand le relais de
masquage est 0, un appel de la SFC79 reste inoprant.
Paramtre Dclaration Type de
donnes
N

INPUT

Zone de mmoire

INT

E, A, M, D, L,
constante

RET_VAL

OUTPUT

INT

E, A, M, D, L

SA

OUTPUT

POINTER

Description
Nombre de bits mettre 1
Informations d'erreur
Pointeur sur le premier bit mettre 1

Informations d'erreur
L'valuation des codes d'erreur du paramtre RET_VAL est dcrite dans Evaluation
d'erreur avec le paramtre de sortie RET_VAL. Vous y trouverez aussi l'explication des
codes d'erreur gnraux des fonctions systme. Il n'y a pas de code d'erreur particulier
la SFC79.

14-8

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC et SFB de mise jour de la mmoire image et de traitement de champ de bits

14.6

Mise 0 d'un champ de bits dans la zone de priphrie


avec SFC80 "RSET"

Description
Un appel de la SFC80 "RSET" (reset range of outputs) a l'effet suivant :

mise 0 du champ de bits slectionn au moyen des paramtres N et SA dans la


zone de priphrie,

mise 1 galement des bits correspondants dans la mmoire image des sorties,
qu'ils se trouvent ou non dans une mmoire image partielle des sorties.

Le champ de bits doit se trouver dans la partie de la zone de priphrie laquelle une
mmoire image est affecte.
S'il n'y a pas de priphrie enfiche pour une partie du champ de bits slectionn, la
SFC80 tente pourtant de mettre 0 l'ensemble du champ. Aprs quoi, elle fournit dans
RET_VAL les informations d'erreur appropries.
Nota
Lors de l'excution de la SFC80, ce sont toujours des octets complets qui sont crits dans
la zone de priphrie.

Quand le dbut ou la fin du champ de bits slectionn au moyen des paramtres N et SA


ne correspond pas une limite d'octet, l'appel de la SFC80 a l'effet suivant :

Les bits du premier et du dernier octet transfrer la zone de priphrie qui ne font
pas partie du champ de bits slectionn reoivent la valeur des bits correspondants
dans la mmoire image des sorties. Ceci peut provoquer, par exemple, la mise en
route involontaire de moteurs ou la mise hors service de circuits de refroidissement.

Pour les bits faisant partie du champ de bits slectionn, tout se passe comme il est
dit ci-dessus.

Si vous donnez N la valeur 0, un appel de la SFC80 reste sans effet. Quand le relais de
masquage est 0, un appel de la SFC80 reste sans effet.
Paramtre

Dclaration

INPUT

Type de donnes Zone de


mmoire
INT

E, A, M, D, L,
constante

RET_VAL

OUTPUT

INT

E, A, M, D, L

SA

OUTPUT

POINTER

Description
Nombre de bits mettre 0
Informations d'erreur
Pointeur sur le premier bit mettre 0

Informations d'erreur
L'valuation des codes d'erreur du paramtre RET_VAL est dcrite au Evaluation
d'erreur avec le paramtre de sortie RET_VAL. Vous y trouverez aussi l'explication des
codes d'erreur gnraux des fonctions systme. Il n'y a pas de code d'erreur particulier
la SFC80.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

14-9

SFC et SFB de mise jour de la mmoire image et de traitement de champ de bits

14.7

Ralisation d'un mcanisme pas pas avec SFB32


"DRUM"

Description
Le bloc SFB32 "DRUM" ralise un mcanisme pas pas de 16 pas au plus. Vous entrez
le numro du premier pas au paramtre DSP, celui du dernier pas au paramtre
LST_STEP.
A chaque pas, une valeur est inscrite dans chacun des 16 bits de sortie OUT0 OUT15
ainsi que dans le paramtre de sortie OUT_WORD (qui regroupe les bits de sortie). Un
bit de sortie reoit la valeur soit du bit correspondant dans le tableau OUT_VAL que vous
indiquez, soit celle qu'il avait au pas prcdent, selon les valeurs des bits du paramtre
S_MASK.
Nota
Par dfaut, les bits du masque ont la valeur 0. Si vous souhaitez modifier la valeur en
cours d'un ou de plusieurs bits du masque, faites-le dans le DB d'instance.

Le SFB32 "DRUM" avance d'un pas quand l'entre JOG prsente un front positif par
rapport l'appel prcdent du SFB. Si le SFB est dj au dernier pas, un front positif de
JOG met les variables Q et EOD 1, donne la valeur 0 DCC, et le SFB reste ce
dernier pas jusqu' ce que vous donniez la valeur 1 l'entre RESET.
Vous pouvez aussi permettre une avance pas pas en fonction du temps. Pour cela, il
faut donner la valeur 1 au paramtre DRUM_EN. Le bloc avance alors d'un pas quand

le bit d'vnement du pas actuel est 1 et que

la dure indique pour le pas actuel est coule.


Cette dure rsulte du produit de la base de temps DTBP avec le facteur de temps
prcis pour le pas actuel (dans le tableau S_PRESET).

Nota
Le temps d'excution DCC restant dans le pas actuel n'est rduit que lorsque le bit
d'vnement correspondant EVENTi est 1.

Quand l'entre RESET est 1 l'appel du SFB, le mcanisme pas pas va au pas dont
vous avez indiqu le numro l'entre DSP.
Nota
Si vous avez mis DRUM_EN 1, vous obtenez le cas particulier

d'une avance pas pas en fonction du temps seulement, en mettant EVENTi = 1 pour
DSP i LST_STEP,

d'une avance pas pas en fonction de l'vnement seulement par les bits
d'vnement EVENTi, en mettant DTBP = 0.

En plus, vous pouvez faire avancer le mcanisme pas pas tout moment au moyen de
l'entre JOG (mme quand DRUM_EN=1).

14-10

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC et SFB de mise jour de la mmoire image et de traitement de champ de bits

Au premier appel du bloc, il faut donner la valeur 1 l'entre RESET.


Quand le mcanisme pas pas se trouve au dernier pas (DSC a alors la valeur
LST_STEP) et que le temps d'excution indiqu pour ce pas est coul, les sorties Q et
EOD sont mises 1 et le SFB reste dans ce dernier pas jusqu' ce que vous donniez la
valeur 1 l'entre RESET.
Une temporisation DRUM ne court que dans les tats de fonctionnement Mise en route et
Marche.
Le systme d'exploitation remet le SFB32 "DRUM" zro en cas de dmarrage froid,
mais pas en cas de dmarrage chaud. Pour qu'il soit initialis aprs un dmarrage
chaud, il faut l'appeler dans l'OB100 avec RESET = 1.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

RESET

INPUT

BOOL

E, A, M, D, L,
constante

Le niveau 1 provoque la remise zro du


mcanisme pas pas. Au premier appel du
bloc, RESET doit tre gal 1.

JOG

INPUT

BOOL

E, A, M, D, L,
constante

Un front montant (par rapport au dernier appel


du SFB) fait passer le mcanisme au pas
suivant s'il ne se trouve pas encore au dernier
pas. Ce passage a lieu, quelle que soit la valeur
donne DRUM_EN.

DRUM_EN

INPUT

BOOL

E, A, M, D, L,
constante

Paramtre de commande fixant la possibilit


d'une avance pas pas en fonction du temps (1
: possible)

LST_STEP

INPUT

BYTE

E, A, M, D, L,
constante

Numro du dernier pas


(valeurs possibles : 1 16)

EVENTi
(1 i 16)

INPUT

BOOL

E, A, M, D, L,
constante

Bit d'vnement numro i (correspondant au


pas i)

OUTj
(0 j 15)

OUTPUT

BOOL

E, A, M, D, L

Bit de sortie numro j (identique au bit n j de


OUT_WORD)

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat indiquant si le temps


d'excution que vous avez dfini pour le dernier
pas est coul

OUT_WORD

OUTPUT

WORD

E, A, M, D, L,
P

Bits de sortie regroups en une variable

ERR_CODE

OUTPUT

WORD

E, A, M, D, L,
P

Si une erreur apparat pendant l'excution du


SFB, ERR_CODE contient les informations
d'erreur.

JOG_HIS

VAR

BOOL

E, A, M, D, L,
constante

(Non destin l'utilisateur : paramtre d'entre


JOG de l'appel prcdent du SFB)

EOD

VAR

BOOL

E, A, M, D, L,
constante

Identique au paramtre de sortie Q

DSP

VAR

BYTE

E, A, M, D, L,
P, constante

Numro du premier pas


(valeurs possibles : 1 16)

DSC

VAR

BYTE

E, A, M, D, L,
P, constante

Numro du pas actuel

DCC

VAR

DWORD

E, A, M, D, L,
P, constante

Temps d'excution restant pour le pas actuel,


en ms (signifiant seulement si DRUM_EN = 1 et
le bit d'vnement du pas = 1)

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

14-11

SFC et SFB de mise jour de la mmoire image et de traitement de champ de bits

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

DTBP

VAR

WORD

E, A, M, D, L,
P, constante

Base de temps valant pour tous les pas, en ms

PREV_TIME

VAR

DWORD

E, A, M, D, L,
constante

(Non destin l'utilisateur : temps systme de


l'appel prcdent du SFB)

S_PRESET

VAR

ARRAY of
WORD

E, A, M, D, L,
constante

Tableau une dimension avec les facteurs de


temps pour chaque pas.
Indice conseill : [1 16]. Ainsi, S_PRESET [x]
contient le facteur de temps du pas x.

OUT_VAL

VAR

ARRAY of
BOOL

E, A, M, D, L,
constante

Tableau deux dimensions avec les valeurs


sortir chaque pas si vous ne les avez pas
masques au moyen de S_MASK.
Indice conseill : [1 16, 0 15]. Ainsi,
OUT_VAL [x, y] contient la valeur attribue au
bit de sortie OUTy au pas x.

S_MASK

VAR

ARRAY of
BOOL

E, A, M, D, L,
constante

Tableau deux dimensions avec les bits de


masque pour chaque pas.
Indice conseill : [1 16, 0 bis 15]. Ainsi,
S_MASK [x, y] contient le bit de masque pour la
yme valeur sortir au pas x.
Signification des bits de masque :

0 : c'est la valeur correspondante du


pas prcdent qui est attribue au bit de
sortie concern.

1 : c'est la valeur correspondante de


OUT_VAL qui est attribue au bit de sortie
concern.

Informations d'erreur
Quand l'une des erreurs suivantes apparat, le SFB32 "DRUM" reste l'tat en cours et
la sortie ERR_CODE est active en consquence.
ERR_CODE
(W#16#...)

14-12

Signification

0000

Pas d'erreur

8081

Valeur illicite de LST_STEP

8082

Valeur illicite de DSC

8083

Valeur illicite de DSP

8084

Le produit DCC = DTBP * S_PRESET[DSC] excde la valeur 2**31-1 (environ 24,86 jours).

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

15

SFC d'adressage de module

15.1

Recherche de l'adresse de base d'un module avec SFC5


"GADR_LGC"

Description
L'emplacement de la voie d'un module de signaux tant connu ainsi que le dcalage
dans l'espace d'adresse du module, la fonction SFC5 "GADR_LGC" (convert
geographical address to logical address) vous permet d'en dduire l'adresse de base
logique correspondante du module, c'est--dire la plus petite adresse d'entre ou de
sortie.
Paramtre

Dclaration

SUBNETID INPUT

RACK

INPUT

Type de
donnes

Zone de
mmoire

BYTE

E, A, M, D, L,
constante

WORD

E, A, M, D, L,
constante

Description
Identification de zone :

0 si l'emplacement se trouve dans l'un des


profils support/chssis 0 (appareil de base) ou
1 21 (appareil d'extension),

ID du rseau matre DP en question, si


l'emplacement se trouve dans un priphrique
dcentralis.

N de profil support/chssis si l'ID de zone est


0

N de station du priphrique dcentralis si


l'ID de zone est > 0

SLOT

INPUT

WORD

E, A, M, D, L,
constante

N d'emplacement

SUBSLOT

INPUT

BYTE

E, A, M, D, L,
constante

Emplacement du sous-module
(s'il n'est pas possible d'enficher un sous-module,
indiquer ici 0)

SUBADDR

INPUT

WORD

E, A, M, D, L,
constante

Dcalage dans l'espace d'adresse du module

RET_VAL

OUTPUT

INT

E, A, M, D, L

Informations d'erreur

IOID

OUTPUT

BYTE

E, A, M, D, L

Identification de zone :
B#16#54 : priphrie d'entre (PE)
B#16#55 : priphrie de sortie (PA)
Pour un module mixte, la fonction fournit l'ID de
zone de l'adresse la plus basse. Si les adresses
sont identiques, elle fournit le code B#16#54.

LADDR

OUTPUT

WORD

E, A, M, D, L

Adresse de base logique du module

Informations d'erreur

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

15-1

SFC d'adressage de module

Code d'erreur (W#16#...)

Signification

0000

Pas d'erreur

8094

Aucune zone n'a t configure avec la valeur AREA_ID indique.

8095

Valeur incorrecte au paramtre RACK

8096

Valeur incorrecte au paramtre SLOT

8097

Valeur incorrecte au paramtre SUBSLOT

8098

Valeur incorrecte au paramtre SUBADDR

8099

Cet emplacement n'est pas configur ou il est occup par un module avec
adresses comprimes (ET 200S).

809A

La sous-adresse pour l'emplacement choisi n'est pas configure.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

15-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC d'adressage de module

15.2

Recherche de l'emplacement correspondant une adresse


logique avec SFC49 "LGC_GADR"

Description
La fonction SFC49 "LGC_GADR" (convert logical address to geographical address) sert
dterminer l'emplacement correspondant une adresse logique ainsi que le dcalage
dans l'espace d'adresse du module.
Nota
Il n'est pas possible d'utiliser SFC49 "LGC_GADR" pour un module avec adresses
comprimes (ET 200S).

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

IOID

INPUT

BYTE

E, A, M, D, L, Identification de la zone d'adresse :


constante

B#16#00 = le bit 15 de LADDR indique si


l'adresse d'entre (bit 15=0) ou l'adresse de
sortie (bit 15=1) est donne.

B#16#54 = priphrie d'entre (PE)

B#16#55 = priphrie de sortie (PA)

S'il s'agit d'un module mixte, il faut indiquer l'ID de


zone de l'adresse la plus basse. Si les adresses sont
les mmes, il faut indiquer B#16#54.
LADDR

INPUT

WORD

E, A, M, D, L, Adresse logique du module


constante
Pour un module mixte, il faut indiquer l'adresse la
plus basse des deux.

RET_VAL

OUTPUT

INT

E, A, M, D, L Informations d'erreur

AREA

OUTPUT

BYTE

E, A, M, D, L ID de zone : elle indique comment interprter les


autres paramtres de sortie.

RACK

OUTPUT

WORD

E, A, M, D, L N de chssis pour S7-400, n de profil support pour


S7-300.

SLOT

OUTPUT

WORD

E, A, M, D, L N d'emplacement

SUBADDR

OUTPUT

WORD

E, A, M, D, L Dcalage dans l'espace d'adresse du module

Nota
Si vous exploitez un systme d'automatisation S7-400H en mode redondant et que vous
indiquez, dans le paramtre LADRR l'appel de SFC49, l'adresse logique d'un module
d'un esclave DP connect, l'octet de poids lourd du paramtre RACK fournira l'ID de
rseau matre DP de la voie active. En l'absence de voie active, c'est l'ID du rseau
matre DP correspondant de la CPU matre qui sera indique.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

15-3

SFC d'adressage de module

Paramtre de sortie AREA


Le paramtre de sortie AREA indique comment interprter les paramtres de sortie
RACK, SLOT et SUBADDR.
Le tableau suivant explique cette relation.
Valeur de
AREA

Systme

Signification de RACK, SLOT et SUBADDR

S7-400

RACK : n de chssis
SLOT : n d'emplacement
SUBADDR : diffrence entre adresse logique et adresse de base logique

S7-300

RACK : n de chssis
SLOT : n d'emplacement
SUBADDR : diffrence entre adresse logique et adresse de base logique

DP

RACK (octet de poids faible) : numro de station


RACK (octet de poids fort) : ID de rseau matre DP
SLOT : numro d'emplacement dans la station
SUBADDR : dcalage dans la plage d'adresses utiles du module correspondant

Zone P de S5

RACK : n de chssis
SLOT : n d'emplacement du botier d'adaptation
SUBADDR : adresse dans la zone S5-x

Zone Q de S5

RACK : n de chssis
SLOT : n d'emplacement du botier d'adaptation
SUBADDR : adresse dans la zone S5-x

Zone IM3 de
S5

RACK : n de chssis
SLOT : n d'emplacement du botier d'adaptation
SUBADDR : adresse dans la zone S5-x

Zone IM4 de
S5

RACK : n de chssis
SLOT : n d'emplacement du botier d'adaptation
SUBADDR : adresse dans la zone S5-x

Informations d'erreur
Code d'erreur (W#16#...)

Signification

0000

Pas d'erreur

8090

Adresse logique indique non valable ou valeur incorrecte au paramtre IOID

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

15-4

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC d'adressage de module

15.3

Recherche de toutes les adresses logiques d'un module


avec SFC50 "RD_LGADR"

Description
Partant d'une adresse logique d'un module, la fonction SFC50 "RD_LGADR" (read
module logical addresses) dtermine toutes les adresses logiques dclares de ce
module. Vous avez affect au pralable des adresses logiques aux modules l'aide de
STEP 7. La fonction SFC50 inscrit les adresses logiques trouves, par ordre croissant,
dans le tableau PEADDR ou PAADDR.
Paramtre

Dclaration

IOID

INPUT

Type de
donnes
BYTE

Zone de
mmoire
E, A, M, D, L,
constante

Description
Identification de zone :

LADDR

INPUT

WORD

RET_VAL
PEADDR

OUTPUT
OUTPUT

INT
ANY

E, A, M, D, L,
constante
E, A, M, D, L
E, A, M, D, L

PECOUNT
PAADDR

OUTPUT
OUTPUT

INT
ANY

E, A, M, D, L
E, A, M, D, L

PACOUNT

OUTPUT

INT

E, A, M, D, L

B#16#00 = le bit 15 de LADDR indique si


l'adresse d'entre (bit 15=0) ou l'adresse de
sortie (bit 15=1) est donne.
B#16#54 : priphrie d'entre (PE

B#16#55 : priphrie de sortie (PA)


Une adresse logique

Informations d'erreur
Tableau pour les adresses de PE; les lments
du tableau doivent tre du type de donnes
WORD.
Nombre d'adresses de PE fournies
Tableau pour les adresses de PA; les lments
du tableau doivent tre du type de donnes
WORD.
Nombre d'adresses de PA fournies

Informations d'erreur
Code d'erreur (W#16#...)
0000
8090
80A0
80A1
80A2
80A3
8xyy

Signification
Pas d'erreur
Adresse logique indique non valable ou valeur incorrecte au paramtre IOID
Erreur dans le paramtre de sortie PEADDR : le type de donnes des lments
du tableau n'est pas WORD.
Erreur dans le paramtre de sortie PAADDR : le type de donnes des lments
du tableau n'est pas WORD.
Erreur dans le paramtre de sortie PEADDR : le tableau indiqu n'a pu recueillir
toutes les adresses logiques.
Erreur dans le paramtre de sortie PAADDR : le tableau indiqu n'a pu recueillir
toutes les adresses logiques.
Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de
sortie RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

15-5

SFC d'adressage de module

15-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

16

SFC de priphrie dcentralise

16.1

Dclenchement d'une alarme de processus dans le matre


DP avec SFC7 "DP_PRAL"

Description
La fonction SFC7 "DP_PRAL" sert dclencher une alarme de processus dans le matre
DP depuis le programme utilisateur d'un esclave intelligent. Ceci provoque le dmarrage
de l'OB40 dans le matre DP.
Le paramtre d'entre AL_INFO vous permet de caractriser la cause de l'alarme de
processus souhaite. Cette marque d'alarme est transfre au matre DP et vous pouvez
l'valuer dans OB40 (variable OB40_POINT_ADDR).
L'alarme de processus demande est dfinie sans ambigut par les paramtres d'entre
IOID et LADDR. Vous pouvez dclencher une alarme de processus n'importe quel
moment pour chaque zone d'adresse configure dans la mmoire de transfert.

Fonctionnement
SFC7 "DP_PRAL" est une fonction systme asynchrone, c'est--dire que son excution
s'tend sur plusieurs appels de la SFC. Vous lancez la demande d'alarme de processus
en appelant SFC7 avec REQ=1.
Les paramtres de sortie RET_VAL et BUSY indiquent l'tat de la tche, voir aussi
Signification des paramtres REQ, RET_VAL et BUSY pour les SFC excution
asynchrone. Celle-ci est termine quand l'excution de l'OB40 est acheve dans le
matre DP.
Nota
Si vous exploitez l'esclave DP comme esclave norm, la tche sera termine ds que le
matre DP aura pris le tlgramme de diagnostic.

Identification d'une tche


Les paramtres d'entre IOID et LADDR dfinissent une tche sans ambigut.
Si vous avez appel SFC7 "DP_PRAL" dans un esclave DP et que vous l'appelez de
nouveau avant que le matre DP n'ait acquitt l'alarme de processus demande, il est
dcisif pour la SFC de savoir si le nouvel appel concerne la mme tche. Si les
paramtres IOID et LADDR sont ceux d'une tche qui n'est pas encore termine, l'appel
de la SFC sera interprt comme appel suivant, quel que soit le contenu du paramtre
AL_INFO, et la valeur W#16#7002 sera crite dans RET_VAL.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

16-1

SFC de priphrie dcentralise

Paramtre

Dclaration

Type de
donnes

REQ

INPUT

BOOL

IOID

INPUT

BYTE

Zone de
mmoire

Description

E, A, M, D, L, REQ=1 : dclencher une alarme de processus dans


constante
le matre DP correspondant
E, A, M, D, L, Identification de la zone d'adresse dans la mmoire
de transfert (du point de vue de l'esclave DP) :
constante
B#16#54= priphrie d'entre (PE)
B#16#55= priphrie de sortie (PA)
S'il s'agit d'un module mixte, il faut indiquer l'ID de
zone de la plus basse adresse. Si les adresses sont
les mmes, il faut indiquer B#16#54.

LADDR

INPUT

WORD

E, A, M, D, L, Adresse de dbut de la zone d'adresse dans la


constante
mmoire de transfert (du point de vue de l'esclave
DP). S'il s'agit d'une zone appartenant un module
mixte, il faut indiquer la plus basse des deux
adresses.

AL_INFO

INPUT

DWORD

E, A, M, D, L, Marque d'alarme.
constante
Elle est remise l'OB40 dclencher sur le matre
DP correspondant (variable OB40_POINT_ADDR).
Si vous exploitez l'esclave intelligent avec un matre
ne faisant pas partie de la gamme S7, il faut valuer
le tlgramme de diagnostic dans ce matre (voir
/70/).

RET_VAL

OUTPUT

INT

BUSY

OUTPUT

BOOL

16-2

E, A, M, D, L Quand une erreur est apparue durant l'excution de


la fonction, la valeur de retour contient un code
d'erreur.
E, A, M, D, L BUSY=1 : l'alarme de processus dclenche n'a pas
encore t acquitte par le matre DP.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de priphrie dcentralise

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

La tche a t excute sans erreur.

7000

Premier appel avec REQ=0; il n'y a pas de demande d'alarme de processus active;
BUSY a la valeur 0.

7001

Premier appel avec REQ=1; une demande d'alarme de processus a t adresse au


matre DP; BUSY a la valeur 1.

7002

Appel intermdiaire (REQ insignifiant) : l'alarme de processus dclenche n'a pas


encore t acquitte par le matre DP; BUSY a la valeur 1.

8090

Adresse de dbut errone pour la zone d'adresse dans la mmoire de transfert

8091

Alarme inhibe par configuration

8093

Le couple de paramtres IOID et LADDR renvoie un module depuis lequel une


demande d'alarme de processus n'est pas possible.

80B5

Appel non autoris dans le matre DP

80C3

Les ressources requises (mmoire, etc.) sont momentanment occupes.

80C5

La priphrie dcentralise n'est momentanment pas disponible (par ex. dfaillance


de station).

80C8

La fonction n'est pas autorise dans l'tat de fonctionnement actuel du matre DP.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

16-3

SFC de priphrie dcentralise

16.2

Synchronisation de groupes d'esclaves DP avec SFC11


"DPSYC_FR"

Description
La fonction SFC11 "DPSYC_FR" sert synchroniser un ou plusieurs groupes d'esclaves
DP.
Pour cela, vous envoyez aux groupes concerns l'une des commandes ci-aprs ou une
combinaison de ces commandes :

SYNC (pour sortir et geler simultanment les tats des sorties des esclaves DP),

UNSYNC (pour annuler la commande SYNC),

FREEZE (pour geler les tats des entres des esclaves DP),

UNFREEZE (pour annuler la commande FREEZE).

Nota
Sachez que les commandes SYNC et FREEZE restent en vigueur aprs un dmarrage
chaud ou froid.
Sachez galement qu' un instant donn, une seule tche SYNC/UNSYNC ou
FREEZE/UNFREEZE peut tre lance.

Conditions pralables
Avant d'envoyer les commandes cites ci-dessus, vous devez rpartir les esclaves DP en
groupes l'aide de STEP 7 (voir /231/). Vous devez noter quel esclave DP est affect
quel groupe avec quel numro ainsi que les proprits des diffrents groupes en ce qui
concerne le comportement SYNC/FREEZE.

Fonctionnement
SFC11 "DPSYC_FR" travaille de manire asynchrone, c'est--dire que son excution
s'tend sur plusieurs appels de la SFC. Vous lancez la tche en appelant SFC11 avec
REQ=1.
Les paramtres de sortie RET_VAL et BUSY indiquent l'tat de la tche, voir aussi
Signification des paramtres REQ, RET_VAL et BUSY pour les SFC excution
asynchrone.

Identification d'une tche


Si vous avez lanc une tche SYNC/FREEZE et que vous appelez de nouveau SFC11
avant que cette tche soit termine, le comportement ultrieur de la SFC diffrera de
faon dcisive selon que le nouvel appel s'applique la mme tche ou pas. Quand les
paramtres d'entre LADDR, GROUP et MODE concordent, le nouvel appel est trait
comme appel conscutif.

16-4

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de priphrie dcentralise

Ecriture sur les sorties de modules DP


L'criture des sorties de modules DP est dclenche par

des instructions de transfert,

l'criture de la mmoire image des sorties dans les modules (par le systme
d'exploitation la fin de l'OB1 ou par appel de SFC27 "UPDAT_PO"),

l'appel de SFC15 "DPWR_DAT".

Normalement, c'est le matre DP qui transfre cycliquement les donnes de sortie aux
sorties des esclaves DP (dans le cycle du bus PROFIBUS DP).
Si vous souhaitez une simultanit absolue pour le transfert aux sorties vers le processus
de certaines donnes, qui peuvent tre rparties sur plusieurs esclaves, vous envoyez la
commande SYNC au matre DP comptent l'aide de SFC11 "DPSYC_FR".

Effet de SYNC
La commande SYNC fait passer en mode SYNC les esclaves DP des groupes
slectionns, ce qui signifie que le matre DP pousse les esclaves concerns geler les
sorties aux dernires valeurs reues. Quand ils reoivent les tlgrammes de sortie
suivants, les esclaves DP mmorisent les donnes dans un tampon interne, mais ne
modifient pas l'tat des sorties.
Aprs chaque commande SYNC, les esclaves DP des groupes slectionns appliquent
les donnes de sortie de leur mmoire tampon interne sur les sorties vers le processus.
La mise jour cyclique des sorties ne reprend que lorsque vous envoyez la commande
UNSYNC l'aide de SFC11 "DPSYC_FR".
Nota
Si certains esclaves DP du ou des groupes slectionns ne sont pas en rseau ou sont
dfaillants au moment de l'envoi de la commande, ils ne passent pas en mode SYNC.
Cet tat de fait n'est pas signal par la valeur de retour de la SFC.

Lecture des entres de modules DP


Les donnes d'entre de modules DP sont lues

au moyen d'instructions de chargement,

lors de la mise jour de la mmoire image des entres (par le systme d'exploitation
au dbut de l'OB1 ou par appel de SFC26 "UPDAT_PI"),

par appel de SFC14 "DPRD_DAT".

Normalement, c'est le matre DP qui reoit cycliquement ces donnes de ses esclaves
(dans le cycle du bus PROFIBUS DP) et qui les met la disposition de la CPU.
Si vous souhaitez une simultanit absolue pour la lecture dans le processus de
certaines donnes d'entre, qui peuvent tre rpartir sur plusieurs esclaves, vous
envoyez la commande FREEZE au matre DP comptent l'aide de SFC11
"DPSYC_FR".

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

16-5

SFC de priphrie dcentralise

Effet de FREEZE
La commande FREEZE fait passer en mode FREEZE les esclaves DP des groupes
slectionns, ce qui signifie que le matre DP pousse les esclaves concerns geler
l'tat actuel des entres. C'est alors cet instantan que les esclaves DP lui remettent
dans le cadre du transfert cyclique.
Aprs chaque commande FREEZE, les esclaves DP glent de nouveau l'tat des
entres.
Le matre DP ne recevra nouveau l'tat actuel des entres que lorsque vous aurez
envoy la commande UNFREEZE l'aide de SFC11 "DPSYC_FR".
Nota
Si certains esclaves DP du ou des groupes slectionns ne sont pas en rseau ou sont
dfaillants au moment de l'envoi de la commande, ils ne passent pas en mode FREEZE.
Cet tat de fait n'est pas signal par la valeur de retour de la SFC.

Cohrence de donnes
Etant donn le fonctionnement asynchrone de SFC11 "DPSYC_FR" et son interruptibilit
par les classes de priorit suprieure, il faut garantir la cohrence des mmoires images
avec les entres et sorties de priphrie effectives.
Ceci sera le cas si vous appliquez l'une des rgles de cohrence ci-aprs :

Dfinissez des mmoires images partielles appropries pour les "sorties SYNC" et
les "entres FREEZE" (ce qui n'est possible qu'avec S7-400). Appelez SFC27
"UPDAT_PO" juste avant chaque premier appel d'une tche SYNC. Appelez SFC26
"UPDAT_PI" juste aprs chaque dernier appel d'une tche FREEZE.

Au lieu de cela, vous pouvez aussi n'employer que des accs directs la priphrie
pour les sorties faisant l'objet d'une tche SYNC et pour les entres faisant l'objet
d'une tche FREEZE. Il ne faut pas crire sur les sorties concernes tant qu'une
tche SYNC est active, ni lire les entres concernes tant qu'une tche FREEZE est
active.

Emploi de SFC15 et de SFC14


Si vous utilisez SFC15 "DPWR_DAT", vous devez attendre la fin de son excution avant
d'envoyer une tche SYNC s'appliquant aux mmes sorties.
Si vous utilisez SFC14 "DPRD_DAT", vous devez attendre la fin de son excution avant
d'envoyer une tche FREEZE s'appliquant aux mmes entres.

Mise en route et SFC11 "DPSYC_FR"


La programmation de commandes SYNC et FREEZE dans les OB de mise en route
engage la responsabilit exclusive de l'utilisateur.
Si vous voulez que les sorties d'un ou de plusieurs groupes travaillent en mode SYNC
ds le dmarrage du programme utilisateur, il faut initialiser ces sorties et excuter
intgralement SFC11 "DPSYC_FR" avec la commande SYNC pendant la mise en route.
Si vous voulez que les entres d'un ou de plusieurs groupes travaillent en mode FREEZE
ds le dmarrage du programme utilisateur, il faut excuter intgralement SFC11
"DPSYC_FR" avec la commande FREEZE pour ces entres pendant la mise en route.

16-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de priphrie dcentralise

Paramtre

Dclaration

REQ

INPUT

Type de
donnes
BOOL

LADDR

INPUT

WORD

GROUP

INPUT

BYTE

MODE

INPUT

BYTE

Zone de
mmoire
E, A, M, D,
L, constante
E, A, M, D,
L, constante
E, A, M, D,
L, constante

E, A, M, D,
L, constante

Description
Paramtre de commande dclench par niveau
REQ=1 : lancement de la tche SYNC/FREEZE
Adresse logique du matre DP
Slection de groupes
Bit 0 = 1 : groupe 1 slectionn
Bit 1 = 1 : groupe 2 slectionn
:
Bit 7 = 1 : groupe 8 slectionn
Vous pouvez slectionner plusieurs groupes par tche.
La valeur B#16#0 n'est pas autorise.
Identification de tche (codage selon EN 50 170,
volume 2, PROFIBUS)
Bit 0 : rserv (valeur 0)
Bit 1 : rserv (valeur 0)
Bit 2 :
-

= 1: excution de UNFREEZE

= 0 : sans signification

Bit 3 :
Bit 4 :
Bit 5 :
-

= 1: excution de FREEZE
= 0 : sans signification
= 1 : excution de UNSYNC
= 0 : sans signification
= 1 : excution de SYNC

= 0 : sans signification
Bit 6 : rserv (valeur 0)
Bit 7 : rserv (valeur 0)
Valeurs possibles :

RET_VAL

OUTPUT

INT

BUSY

OUTPUT

BOOL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

avec une identification par tche :


-

B#16#04 (UNFREEZE),

B#16#08 (FREEZE),

B#16#10 (UNSYNC),

B#16#20 (SYNC).

avec plusieurs identifications par tche :


-

B#16#14 (UNSYNC, UNFREEZE),

B#16#18 (UNSYNC, FREEZE),

B#16#24 (SYNC, UNFREEZE),

B#16#28 (SYNC, FREEZE).


E, A, M, D, L Si une erreur est apparue pendant l'excution de la
fonction, la valeur de retour contient un code d'erreur.
RET_VAL ne vaut que pour la dure d'un cycle, de la
premire instruction suivant l'appel de la SFC jusqu'
l'appel suivant de la SFC. Il s'ensuit que vous devez
valuer RET_VAL aprs chaque excution du bloc.
E, A, M, D, L BUSY=1 : la tche SYNC/FREEZE n'est pas encore
termine.

16-7

SFC de priphrie dcentralise

Informations d'erreur
Nota
Si vous accdez des esclaves DPV1, le matre DP peut transfrer la SFC les codes
d'erreur de ces esclaves. Ces codes d'erreur sont dcrits la rubrique Rception d'une
alarme d'un esclave DP avec SFB54 "RALRM", STATUS[3].

Code d'erreur
(W#16#...)

Signification

0000

La tche a t excute sans erreur.

7000

Premier appel avec REQ=0. La tche dfinie par LADDR, GROUP et MODE n'est
pas active; BUSY a la valeur 0.

7001

Premier appel avec REQ=1. La tche dfinie par LADDR, GROUP et MODE a t
lance; BUSY a la valeur 1.

7002

Appel intermdiaire (REQ sans signification). La tche SYNC/FREEZE active est


encore en cours; BUSY a la valeur 1.

8090

Le module slectionn au moyen de LADDR n'est pas un matre DP.

8093

Cette SFC n'est pas autorise pour le module slectionn au moyen de LADDR
(configuration ou version du matre DP).

8094

Paramtre GROUP erron

8095

Paramtre MODE erron

80B0

Le groupe slectionn au moyen de GROUP n'a pas t configur.

80B1

Le groupe slectionn au moyen de GROUP n'est pas affect cette CPU.

80B2

La tche SYNC spcifie par MODE n'est pas autorise pour le groupe slectionn
au moyen de GROUP.

80B3

La tche FREEZE spcifie par MODE n'est pas autorise pour le groupe
slectionn au moyen de GROUP.

80C2

Manque de ressources temporaire du matre DP : il traite momentanment le plus


grand nombre possible de tches pour une CPU.

80C3

La tche SYNC/UNSYC ne peut momentanment pas tre active, car une seule
tche SYNC/UNSYC peut tre lance la fois. Veuillez vrifier votre programme
utilisateur.

80C4

La tche FREEZE/UNFREEZE ne peut momentanment pas tre active, car une


seule tche FREEZE/UNFREEZE peut tre lance la fois. Veuillez vrifier votre
programme utilisateur.

80C5

Priphrie dcentralise non disponible : dfaillance de sous-systme DP

80C6

Annulation de la tche pour cause de vidage de la priphrie par la CPU

80C7

Annulation de la tche pour cause de dmarrage chaud ou froid du matre DP

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

16-8

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de priphrie dcentralise

16.3

Dsactivation et activation d'esclaves DP avec SFC12


"D_ACT_DP"

Description
La fonction SFC12 D_ACT_DP sert dsactiver quand il le faut des esclaves DP
configurs, puis les ractiver. De plus, elle permet de tester, pour chaque esclave
utilis, s'il est momentanment activ ou dsactiv.
La fonction SFC12 ne s'applique pas aux appareils de terrain PROFIBUS PA qui sont
connects un rseau matre DP via DP/PA Link.
Nota
Tant qu'une ou plusieurs tches SFC12 sont actives, vous ne pouvez pas charger de
configuration modifie de la PG dans la CPU (dans le cadre d'une procdure CiR).
Durant le chargement d'une configuration modifie de la PG dans la CPU (dans le cadre
d'une procdure CiR), la CPU refuse l'activation d'une tche SFC12.

Utilit
Lorsque vous configurez dans une CPU des esclaves DP qui n'existent pas rellement
ou dont vous n'avez pas besoin actuellement, la CPU accde pourtant rgulirement
ces esclaves. Si vous les dsactivez, la CPU cessera d'y accder, ce qui vous garantira
le cycle de bus DP le plus rapide possible et vous vitera les vnements d'erreur
correspondants.

Exemples d'application
Du point de vue de l'ingnieur mcanicien, la construction de machines en srie permet
un grand nombre d'options pour les machines. Cependant, chaque machine livre ne
reprsente qu'une combinaison individuelle d'options choisies.
Le constructeur conoit toutes les options ralisables pour les machines sous forme
d'esclaves DP, afin de pouvoir laborer un programme utilisateur commun, comportant
l'ensemble des options et dont la maintenance est facile assurer. A la mise en route
d'une machine particulire, la fonction SFC12 permet alors de dsactiver tous les
esclaves DP ne se trouvant pas sur cette machine.
On retrouve une situation similaire avec les machines-outils proposant de nombreux
outils, mais n'en utilisant que quelques-uns un moment donn. Dans ce cas, ce sont les
outils qui sont raliss sous forme d'esclaves DP. Le programme utilisateur a recours
SFC12 pour activer les outils momentanment requis et dsactiver ceux qui seront
employs dans une phase ultrieure.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

16-9

SFC de priphrie dcentralise

Fonctionnement
La fonction SFC12 D_ACT_DP est une fonction systme asynchrone, c'est--dire que
son excution s'tend sur plusieurs appels de la SFC. Vous lancez la tche en appelant
SFC12 avec REQ=1.
Les paramtres de sortie RET_VAL et BUSY indiquent l'tat de la tche (voir aussi
Signification des paramtres REQ, RET_VAL et BUSY pour les SFC excution
asynchrone).

Identification d'une tche


Si vous avez dj lanc une tche de dsactivation ou d'activation et que vous appelez
de nouveau SFC12 avant que la premire tche ne soit termine, il est dcisif pour la
SFC de savoir si le nouvel appel concerne la mme tche. Si le paramtre d'entre
LADDR est le mme, le nouvel appel est interprt comme continuant la tche active.

Dsactivation d'esclaves DP
Lorsque vous dsactivez un esclave DP avec SFC12, ses sorties vers le processus sont
forces aux valeurs de remplacement configures ou 0 (tat de scurit). Par la suite,
le matre DP correspondant ne s'adresse plus cet esclave. Les esclaves DP dsactivs
ne sont pas signals comme dfectueux ou manquants par les DEL d'erreur du matre
DP ou de la CPU.
La mmoire image des entres des esclaves DP dsactivs est mise jour avec la
valeur 0, c'est--dire qu'elle est traite comme pour les esclaves dfaillants.
Si votre programme comporte un accs direct aux donnes utiles d'un esclave DP
dsactiv auparavant, l'OB d'erreur d'accs la priphrie (OB122) est appel et
l'vnement dclencheur correspondant est crit dans la mmoire tampon de diagnostic.
Si vous accdez par SFC (par exemple SFC59 "RD_REC) un esclave DP dsactiv, le
paramtre RET_VAL fournit les mmes informations d'erreur que pour un esclave DP
non disponible.
La dsactivation d'un esclave DP ne dclenche pas l'OB d'erreur d'excution du
programme (OB85), mme si ses entres ou sorties font partie de la mmoire image
mise jour par le systme. Il n'y a pas non plus d'inscription dans la mmoire de
diagnostic.
La dsactivation d'un esclave DP ne dclenche pas l'OB de dfaillance d'unit (OB86) et
le systme d'exploitation ne demande pas d'inscription dans la mmoire de diagnostic.
La dfaillance d'une station DP survenant aprs sa dsactivation par SFC12 n'est pas
reconnue par le systme d'exploitation, qui ne dclenche pas l'OB86 et n'inscrit rien dans
la mmoire de diagnostic. Elle n'est constate qu' la ractivation de la station et vous est
alors signale par la valeur approprie dans RET_VAL.
Avant de dsactiver un esclave DP participant en tant qu'metteur l'change de
donnes direct, il est conseill de dsactiver d'abord les rcepteurs qui interceptent les
donnes d'entre envoyes par l'metteur son matre DP. Aprs quoi, vous pouvez
dsactiver l'metteur.

16-10

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de priphrie dcentralise

Activation d'esclaves DP
Lorsque vous ractivez un esclave DP avec SFC12, il est configur et paramtr par le
matre DP correspondant (comme en cas de retour d'une station DP dfaillante).
L'activation est termine quand l'esclave est en mesure de transfrer des donnes utiles.
L'activation d'un esclave DP ne dclenche pas l'OB d'erreur d'excution du programme
(OB85), mme si ses entres ou sorties font partie de la mmoire image mise jour par
le systme. Il n'y a pas non plus d'inscription dans la mmoire de diagnostic.
L'activation d'un esclave DP ne dclenche pas l'OB de dfaillance d'unit (OB86) et le
systme d'exploitation ne demande pas d'inscription dans la mmoire de diagnostic.
Si vous essayez d'activer, avec SFC12, un esclave dsactiv qui est dconnect
physiquement du bus DP, la DEL "DP-BUSF" clignote pendant une minute environ. Une
fois ce temps de surveillance coul, la SFC fournit le code d'erreur W#16#80A2, la DEL
en question s'teint et l'esclave reste dsactiv. Si sa liaison au bus DP est rtablie
ultrieurement, il faut le ractiver au moyen de SFC12.
Nota
L'activation d'un esclave DP peut durer longtemps. Si vous voulez arrter avant terme
une tche d'activation en cours, lancez SFC12 avec la mme valeur pour LADDR et
MODE = 2. Rptez l'appel de SFC12 avec MODE = 2 jusqu' ce que l'arrt de la
tche d'activation vous soit signal par RET_VAL = 0.

Si vous voulez activer des esclaves DP participant l'change de donnes direct, il est
conseill d'activer d'abord les metteurs, puis les rcepteurs.

Mise en route de la CPU


En ce qui concerne les esclaves DP, le systme d'exploitation de la CPU se comporte
diffremment selon la mise en route effectue.

Au dmarrage froid ou chaud, les esclaves dsactivs sont automatiquement


ractivs.

Au redmarrage, les esclaves conservent leur tat : ceux qui taient activs le
restent et ceux qui taient dsactivs de mme.

Une fois mise en route, la CPU tente cycliquement d'entrer en contact avec tous les
esclaves configurs et non dsactivs qui manquent ou qui ne sont pas accessibles.
Nota
Les CPU S7-300 ne permettent pas d'appeler SFC12 dans les OB de dmarrage.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

16-11

SFC de priphrie dcentralise

Paramtres
Paramtre

Dclaration Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L, Paramtre de commande dclench par niveau


constante
REQ=1 : excuter la dsactivation ou l'activation

MODE

INPUT

BYTE

E, A, M, D, L, Identification de tche
constante
Valeurs possibles :

0 : tester si l'esclave DP adress est activ ou


dsactiv

1 : activer l'esclave DP

2 : dsactiver l'esclave DP

LADDR

INPUT

WORD

E, A, M, D, L, Adresse logique quelconque de l'esclave DP.


constante

RET_VAL

OUTPUT

INT

E, A, M, D, L Si une erreur est apparue durant l'excution de la


fonction, la valeur de retour contient un code d'erreur.

BUSY

OUTPUT

BOOL

E, A, M, D, L

BUSY=1 : la tche est encore active.


BUSY=0 : la tche est termine.

Informations d'erreur
Code d'erreur (W#16#...) Signification
0000

La tche a t excute sans erreur.

0001

L'esclave DP est activ (ce code d'erreur n'est possible qu'avec MODE = 0.)

0002

L'esclave DP est dsactiv (ce code d'erreur n'est possible qu'avec MODE = 0.)

7000

Premier appel avec REQ=0. La tche dfinie par LADDR n'est pas active; BUSY a la
valeur 0.

7001

Premier appel avec REQ=1. La tche dfinie par LADDR a t lance; BUSY a la
valeur 1.

7002

Appel intermdiaire (REQ sans signification). La tche active est encore en cours;
BUSY a la valeur 1.

8090

Vous n'avez pas configur de module avec l'adresse indique dans LADDR.

Vous exploitez votre CPU en tant qu'esclave I et avez indiqu une adresse de cet
esclave I dans LADDR.

8092

La dsactivation en cours d'un esclave DP (MODE=2) ne peut tre arrte avant


terme par son activation (MODE=1). Activez l'esclave DP ultrieurement.

8093

Il n'y a pas d'esclave DP l'adresse indique dans LADDR (pas de configuration) ou


le paramtre MODE est inconnu.

80A1

Impossible de paramtrer l'esclave DP adress (ce code d'erreur n'est possible


qu'avec MODE = 1.)
Nota : la SFC ne fournit ce code d'erreur que si l'esclave actif est nouveau
dfaillant durant son paramtrage. Si seul le paramtrage d'un module unique n'a
pas russi, la SFC fournit le code d'erreur W#16#0000.

16-12

80A2

L'esclave DP adress ne rpond pas.

80A3

Le matre DP concern ne prend pas cette fonction en charge.

80A4

La CPU ne prend pas cette fonction en charge pour les matres DP externes.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de priphrie dcentralise

Code d'erreur (W#16#...) Signification


80A6

Erreur d'emplacement dans l'esclave DP ; impossible d'accder toutes les donnes


utiles (ce code d'erreur n'est possible qu'avec MODE = 1.)
Nota : la SFC ne fournit ce code d'erreur que si l'esclave actif est nouveau
dfaillant aprs son paramtrage et avant la fin de la SFC. Si un seul module n'est
pas disponible, la SFC fournit le code d'erreur W#16#0000.

80C1

SFC12 a t dmarre et continue avec une autre adresse logique (ce code d'erreur
n'est possible qu'avec MODE = 1.)

80C3

Erreur temporaire de ressources : la CPU traite momentanment le plus grand


nombre possible de tches d'activation ou de dsactivation (ce code d'erreur n'est
possible qu'avec MODE = 1 et MODE = 2.)

La CPU est en train de recevoir une configuration modifie. Il est donc


momentanment impossible de dsactiver ou d'activer des esclaves DP.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

16-13

SFC de priphrie dcentralise

16.4

Lecture des donnes de diagnostic d'un esclave DP


(diagnostic d'esclave) avec SFC13 "DPNRM_DG"

Diagnostic d'esclave
Chaque esclave de priphrie dcentralise a des donnes de diagnostic d'esclave qui
sont organises conformment la norme PROFIBUS, EN 50 170, 2e volume. Pour lire
ces donnes, vous avez besoin de la fonction systme SFC13 "DPNRM_DG".
Le tableau suivant indique l'organisation de principe du diagnostic d'esclave. Pour plus de
renseignements, consultez les manuels des esclaves DP.
Octet

Signification

Etat de station 1

Etat de station 2

Etat de station 3

Numro de station matre

Identification d'auteur (octet de poids fort)

Identification d'auteur (octet de poids faible)

6...

Autres donnes de diagnostic particulires l'esclave

Description
La fonction SFC13 "DPNRM_DG" (read diagnosis data of a DP-slave) sert lire les
donnes de diagnostic actuelles d'un esclave DP sous la forme dfinie par la norme
Profibus, EN 50 170, 2e volume. Aprs un transfert sans erreur, les donnes lues sont
transcrites dans la zone cible ouverte par RECORD.
Vous dclenchez la lecture en mettant 1 le paramtre d'entre REQ l'appel de
SFC13.

16-14

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de priphrie dcentralise

Fonctionnement
La lecture est effectue de faon asynchrone, c'est--dire qu'elle peut s'tendre sur
plusieurs appels de SFC13. Les paramtres de sortie RET_VAL et BUSY indiquent l'tat
de la tche (voir Signification des paramtres REQ, RET_VAL et BUSY pour les SFC
excution asynchrone.).
Paramtre

Dclaratio
n

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L, REQ = 1 : demande de lecture


constante

LADDR

INPUT

WORD

E, A, M, D, L, Adresse de diagnostic configure de l'esclave DP


constante
Nota :
Il faut indiquer l'adresse sous forme hexadcimale, par
ex. l'adresse de diagnostic 1022 signifie :
LADDR:=W#16#3FE.

RET_VAL

OUTPUT

INT

E, A, M, D, L Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code d'erreur.
S'il n'y a pas eu d'erreur, RET_VAL contient la longueur
des donnes rellement transfres.

RECORD

OUTPUT

ANY

E, A, M, D, L Zone cible pour les donnes de diagnostic lues. Seul le


type de donnes BYTE est autoris. La longueur
minimale de l'enregistrement lire ou de la zone cible
est 6. La longueur maximale de l'enregistrement lire
est 240; pour les esclaves norms dont le nombre de
donnes de diagnostic norm est compris entre 240 et
244 octets, les 240 premiers octets sont transfrs dans
la zone cible et le bit de dbordement appropri est mis
1 dans les donnes.

BUSY

OUTPUT

BOOL

E, A, M, D, L BUSY = 1 : la lecture n'est pas encore termine.

Paramtre d'entre RECORD


La CPU value la longueur relle des donnes de diagnostic lues.
Si la longueur indique par RECORD

est infrieure au nombre de donnes fournies, les donnes sont rejetes et le code
d'erreur correspondant est inscrit dans RET_VAL;

est suprieure ou gale au nombre de donnes fournies, les donnes sont prises en
charge dans la zone cible et la longueur relle est inscrite dans RET_VAL en tant que
valeur positive.

Nota
Ayez soin que les paramtres effectifs de RECORD concordent dans tous les appels
faisant partie d'une mme tche.
Une tche est dfinie clairement par le paramtre d'entre LADDR.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

16-15

SFC de priphrie dcentralise

Esclaves norms avec plus de 240 octets de donnes de diagnostic


Pour les esclaves norms dont le nombre des donnes de diagnostic est compris entre
241 et 244 octets, il faut tenir compte des points suivants.
Si la longueur indique pour RECORD

est infrieure 240 octets, les donnes sont rejetes et les informations d'erreur
appropries sont inscrites dans RET_VAL;

est suprieure ou gale 240 octets, les 240 premiers octets des donnes de
diagnostic normes sont transfres dans la zone cible et le bit de dbordement est
mis 1 dans les donnes.

Paramtre de sortie RET_VAL

Si une erreur est apparue durant l'excution de la fonction, la valeur de retour


contient un code d'erreur.

Si le transfert a t effectu sans erreur, RET_VAL contient la longueur en octets des


donnes lues, en tant que nombre positif.

Nota
Pour un esclave DP, le nombre de donnes lues dpend de son tat de diagnostic.

Informations d'erreur
Consultez la rubrique Evaluation d'erreur avec le paramtre de sortie RET_VAL.
Vous y trouverez aussi l'explication des codes d'erreur gnraux des fonctions systme.
Les codes d'erreur particuliers SFC13 sont une partie des codes d'erreur particuliers
SFC59 (RD_REC), consultez Lecture d'un enregistrement avec SFC59 "RD_REC".

Ressources du systme avec S7-400


Avec S7-400, un appel de SFC13 "DPNRM_DG" pour une tche qui n'est pas en
traitement momentanment occupe des ressources (de la mmoire) CPU. Vous pouvez
appeler SFC13 brefs intervalles pour plusieurs esclaves DP si vous ne dpassez pas
un nombre maximum de tches actives "simultanes" pour votre CPU. Ce nombre
maximum est indiqu dans /101/.
Si vous lancez plusieurs tches "simultanment", il est garanti que toutes les tches
seront excutes sans s'influencer rciproquement.
Quand vous atteignez la limite des ressources systme, un code d'erreur vous le signale
dans RET_VAL. Dans ce cas, dclenchez la tche de nouveau.

16-16

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de priphrie dcentralise

16.5

Lecture des donnes cohrentes d'un esclave DP norm


avec SFC14 "DPRD_DAT"

Cohrence de donnes
Consultez dans le livre "Communication de base S7" la rubrique Cohrence de donnes.

Utilit de la fonction SFC14


Vous avez besoin de la fonction SFC14 "DPRD_DAT" parce que les commandes de
chargement accdant la priphrie ou la mmoire image des entres permettent de
lire 4 octets contigus au plus.
Nota
Le cas chant, vous pouvez galement lire les donnes cohrentes via la mmoire
image des entres. Pour savoir si votre CPU S7-300 prend cette fonction en charge,
veuillez consulter le manuel Automate programmable S7-300 : Installation et
configuration Caractristiques des CPU.
Toutes les CPU de S7-400 matrisent cette fonction.

Avertissement
Lorsque vous utilisez SFC14 "DPRD_DAT", vitez d'accder des zones de la
priphrie auxquelles sont associes des mmoires images partielles lies un OB6x
(alarme de synchronisme d'horloge).

Description
La fonction SFC14 "DPRD_DAT" (read consistent data of a DP-normslave) sert lire les
donnes cohrentes d'un esclave DP norm. En ce qui concerne la longueur maximum :
pour les CPU de S7-300, vous la trouverez dans les manuels Automate programmable
S7-300 : Installation et configuration, ET 200S Module d'interface IM151-7 CPU ou
Module de base BM147CPU; pour les CPU de S7-400, la longueur maximale est de 32
octets. Si aucune erreur n'est apparue au cours du transfert, les donnes lues sont
transcrites dans la zone cible ouverte par RECORD.
La zone cible doit avoir la longueur que vous avez configure avec STEP 7 pour le
module slectionn.
Dans le cas d'un esclave DP norm construction modulaire ou plusieurs
identifications DP, chaque appel de SFC14 ne vous permet d'accder, l'adresse de
dbut configure, qu'aux donnes d'un seul module ou d'une seule identification DP.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

16-17

SFC de priphrie dcentralise

Paramtre Dclaration

Type de
donnes

Zone de
mmoire

Description

LADDR

WORD

E, A, M, D, L,
constante

Adresse de dbut, configure dans la zone E, du


module o effectuer la lecture

INPUT

Nota :
Il faut indiquer l'adresse sous forme hexadcimale,
par ex. l'adresse de dbut 100 signifie :
LADDR:=W#16#64.
RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code
d'erreur.

RECORD

OUTPUT

ANY

E, A, M, D, L

Zone cible pour les donnes utiles lues. Elle doit


avoir exactement la longueur que vous avez
configure avec STEP 7 pour le module slectionn.
Seul le type de donnes BYTE est autoris.

Informations d'erreur
Nota
Si vous accdez des esclaves DPV1, le matre DP peut transfrer la SFC les codes
d'erreur de ces esclaves. Ces codes d'erreur sont dcrits la rubrique Rception d'une
alarme d'un esclave DP avec SFB54 "RALRM", STATUS[3].

16-18

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de priphrie dcentralise

Code d'erreur W#16#...) Signification


0000

Pas d'erreur

8090

Vous n'avez pas configur de module pour l'adresse de base logique indique ou
bien

vous n'avez pas tenu compte de la restriction relative la longueur des donnes
cohrentes ou bien

vous n'avez pas indiqu sous forme hexadcimale l'adresse de dbut dans le
paramtre LADDR.

8092

Le type de donnes indiqu pour ANY n'est pas BYTE.

8093

A l'adresse logique indique par LADDR, il n'y a pas de module DP sur lequel lire
des donnes cohrentes.

80A0

Une erreur d'accs a t dtecte lors de l'accs la priphrie.

80B0

Esclave dfaillant sur coupleur DP externe

80B1

La longueur de la zone cible indique diffre de la longueur configure avec STEP 7


pour les donnes utiles.

80B2

Erreur systme sur coupleur DP externe

80B3

Erreur systme sur coupleur DP externe

80C0

Les donnes n'ont pas encore t lues sur le module.

80C2

Erreur systme sur coupleur DP externe

80Fx

Erreur systme sur coupleur DP externe

87xy

Erreur systme sur coupleur DP externe

808x

Erreur systme sur coupleur DP externe

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

16-19

SFC de priphrie dcentralise

16.6

Ecriture de donnes cohrentes dans un esclave DP norm


avec SFC15 "DPWR_DAT"

Cohrence de donnes
Consultez dans le livre "Communication de base S7" la rubrique Cohrence de donnes.

Utilit de la fonction SFC15


Vous avez besoin de la fonction SFC15 "DPWR_DAT" parce que les commandes de
transfert accdant la priphrie ou la mmoire image des entres permettent d'crire
4 octets contigus au plus.
Nota
Le cas chant, vous pouvez galement crire les donnes cohrentes via la mmoire
image des sorties. Pour savoir si votre CPU S7-300 prend cette fonction en charge,
veuillez consulter le manuel Automate programmable S7-300 : Installation et
configuration Caractristiques des CPU.
Toutes les CPU de S7-400 matrisent cette fonction.

16-20

Avertissement
Lorsque vous utilisez SFC15 "DPWR_DAT", vitez d'accder des zones de la
priphrie auxquelles sont associes des mmoires images partielles lies un OB6x
(alarme de synchronisme d'horloge).

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de priphrie dcentralise

Description
La fonction SFC15 "DPWR_DAT" (write consistent data to a DP-normslave) sert
transfrer avec cohrence les donnes se trouvant dans RECORD l'esclave DP norm
dont vous indiquez l'adresse et le cas chant dans la mmoire image (lorsque vous
avez configur la plage d'adresses correspondante de l'esclave DP norm comme plage
cohrente dans une mmoire image). En ce qui concerne la longueur maximum : pour les
CPU de S7-300, vous la trouverez dans les manuels Automate programmable S7-300 :
Installation et configuration, ET 200S Module d'interface IM151-7 CPU ou Module de
base BM147CPU; pour les CPU de S7-400, la longueur maximale est de 32 octets. Le
transfert de donnes est effectu de faon synchrone, c'est--dire que l'opration
d'criture est termine la fin de la fonction.
La zone source doit avoir la longueur que vous avez configure avec STEP 7 pour le
module slectionn.
Dans le cas d'un esclave DP norm construction modulaire, vous ne pouvez accder
qu' un seul module de l'esclave.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

LADDR

INPUT

WORD

E, A, M, D, L, Adresse de dbut du module configure dans la


constante
zone MIS, o effectuer l'criture
Nota :
Il faut indiquer l'adresse sous forme hexadcimale,
par ex. l'adresse de dbut 100 signifie :
LADDR:=W#16#64.

RECORD

INTPUT

ANY

E, A, M, D, L

Zone source pour les donnes utiles crire. Elle


doit avoir exactement la longueur que vous avez
configure avec STEP 7 pour le module slectionn.
Seul le type de donnes BYTE est autoris.

RET_VAL

OUTPUT

INT

E, A, M, D, L

Si une erreur est apparue pendant l'excution de la


fonction, la valeur de retour contient un code
d'erreur.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

16-21

SFC de priphrie dcentralise

Informations d'erreur
Nota
Si vous accdez des esclaves DPV1, le matre DP peut transfrer la SFC les codes
d'erreur de ces esclaves. Ces codes d'erreur sont dcrits la rubrique Rception d'une
alarme d'un esclave DP avec SFB54 "RALRM", STATUS[3].

Code d'erreur (W#16#...)

Signification

0000

Pas d'erreur

808x

Erreur systme sur coupleur DP externe

8090

Vous n'avez pas configur de module pour l'adresse de base logique indique
ou bien

vous n'avez pas tenu compte de la restriction relative la longueur des


donnes cohrentes ou bien

vous n'avez pas indiqu sous forme hexadcimale l'adresse de dbut dans le
paramtre LADDR.

8092

Le type de donnes indiqu pour ANY n'est pas BYTE.

8093

A l'adresse logique indique par LADDR, il n'y a pas de module DP sur lequel
crire des donnes cohrentes.

80A1

Une erreur d'accs a t dtecte lors de l'accs la priphrie.

80B0

Esclave dfaillant sur coupleur DP externe

80B1

La longueur de la zone source indique diffre de la longueur configure avec


STEP 7 pour les donnes utiles.

80B2

Erreur systme sur coupleur DP externe

80B3

Erreur systme sur coupleur DP externe

80C1

Le module n'a pas encore trait les donnes de la tche d'criture prcdente.

80C2

Erreur systme sur coupleur DP externe

80Fx

Erreur systme sur coupleur DP externe

85xy

Erreur systme sur coupleur DP externe

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

16-22

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

17

SFC de communication par donnes globales

17.1

Envoi programm d'un paquet GD avec SFC60 "GD_SND"

Description
La fonction SFC60 "GD_SND" (global data send) sert rassembler les donnes d'un
paquet GD (paquet de donnes globales) pour les acheminer ensuite sur la voie prcise
dans le paquet GD. Ce paquet GD doit avoir t configur auparavant avec STEP 7.
La SFC60 peut tre appele n'importe quel point du programme utilisateur.
Les appels de la fonction SFC60 n'ont pas d'influence sur le comptage de rduction ni sur
le rassemblage et l'acheminement des donnes au point de contrle de cycle.

Interruption
La fonction SFC60 peut tre interrompue par des OB de priorit suprieure. Dans ce cas,
il peut arriver que la SFC60 soit appele de nouveau pour le mme paquet GD dans le
niveau de priorit suprieur.
Si cela se produit, les donnes sont rassembles et achemines dans le niveau
suprieur. Lors du retour dans la SFC interrompue, cette dernire est annule aussitt et
les donnes dj rassembles dans ce niveau sont rejetes.
Cette faon de procder garantit la transmission cohrente des donnes (au sens du mot
"cohrent" dfini pour les donnes globales ) lors du traitement du niveau de priorit
maximum.

Cohrence de donnes globales


Pour les donnes rassembles dans les diffrentes zones de mmoire et donc
achemines, la cohrence est dfinie comme suit.
Sont cohrents :

les types de donnes simples (bit, octet, mot et double mot),

un tableau des types de donnes octet, mot et double-mot jusqu' une longueur
maximale particulire la CPU rceptrice.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

17-1

SFC de communication par donnes globales

Obtention de la cohrence pour l'ensemble du paquet GD


Supposons que la structure d'un paquet GD sur une CPU mettrice ne garantisse pas a
priori la cohrence des donnes rassembles. C'est le cas, par exemple, quand le paquet
se compose d'un tableau d'octets et que le nombre d'octets excde la longueur maximale
particulire la CPU.
Si vous souhaitez pourtant que l'ensemble du paquet GD soit cohrent, programmez
comme ceci :

Paramtre

inhibez ou ajournez l'apparition d'vnements d'alarme et d'erreur synchrone de


priorit suprieure en appelant la SFC39 "DIS_IRT" ou la SFC41 "DIS_AIRT",

appelez la SFC60 "GD_SND",

validez nouveau les vnements d'alarme et d'erreur synchrone en appelant la


SFC40 "EN_IRT" ou la SFC42 "EN_AIRT".

Dclaration

Type de
donnes

Zone de
mmoire

Description

CIRCLE_ID INPUT

BYTE

E, A, M, D, L, Numro du cercle GD dans lequel se trouve le paquet


constante
GD envoyer. Ce numro est attribu par STEP 7 lors
de la configuration des donnes globales.
Valeurs autorises : 1 16. Le nombre maximal de
cercles GD admis est prcis dans les caractristiques
techniques de votre CPU.

BLOCK_ID INPUT

BYTE

E, A, M, D, L, Dans le cercle GD choisi, numro du paquet GD


constante
envoyer. Ce numro est attribu par STEP 7 lors de la
configuration des donnes globales.
Valeurs autorises : 1 3. Le nombre maximal de
cercles GD admis est prcis dans les caractristiques
techniques de votre CPU.

RET_VAL

17-2

OUTPUT

INT

E, A, M, D, L Informations d'erreur

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de communication par donnes globales

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur

8081

Le paquet GD choisi au moyen des paramtres CIRCLE_ID et BLOCK_ID n'a pas


t configur.

8082

Valeur incorrecte au paramtre CIRCLE_ID ou BLOCK_ID ou aux deux paramtres.

8083

Une erreur est apparue lors de l'excution de la fonction. La nature de l'erreur est
stocke dans la variable configure pour les informations d'tat, que votre
programme peut valuer.

8084

L'excution de la fonction a t arrte prmaturment, car la SFC60 a t appele


nouveau pour le mme paquet GD dans une classe de priorit suprieure (voir
"Interruption").

8085

Une erreur est apparue lors de l'criture des informations d'tat dans la variable
configure cet effet.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Nota
Il convient d'valuer l'tat du paquet GD aprs chaque appel de la fonction SFC60 et de
le remettre zro si ncessaire.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

17-3

SFC de communication par donnes globales

17.2

Prise en charge programme d'un paquet GD reu, avec


SFC61 "GD_RCV"

Description
La fonction SFC61 "GD_RCV" (global data receive) sert aller prendre dans un
tlgramme GD reu les donnes destines un paquet GD exactement et les inscrire
dans le paquet GD de rception. Ce paquet GD doit avoir t configur auparavant avec
STEP 7.
La SFC61 peut tre appele n'importe quel point du programme utilisateur.
Les appels de la fonction SFC61 n'ont pas d'influence sur le comptage de rduction ni sur
le ramassage des donnes au point de contrle de cycle.

Interruption
La fonction SFC61 peut tre interrompue par des OB de priorit suprieure, mais
seulement de faon telle que la cohrence de donnes dfinie pour les donnes globales
soit garantie. Lors d'une telle interruption, il peut arriver que la SFC61 soit appele de
nouveau pour le mme paquet GD dans le niveau de priorit suprieur.
Si cela se produit, c'est au niveau suprieur que les donnes sont prises en charge dans
le paquet GD. Lors du retour dans la SFC interrompue, cette dernire est annule
aussitt.

Cohrence de donnes globales


La cohrence des donnes inscrites dans les diffrentes zones de mmoire est dfinie
comme suit.
Sont cohrents :

17-4

les types de donnes simples (bit, octet, mot et double mot),

un tableau des types de donnes octet, mot et double-mot jusqu' une longueur
maximale particulire la CPU rceptrice.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC de communication par donnes globales

Obtention de la cohrence pour l'ensemble du paquet GD


Supposons que la structure d'un paquet GD sur une CPU rceptrice ne garantisse pas a
priori que ses donnes proviennent d'un seul et mme tlgramme. C'est le cas, par
exemple, quand il se compose de trois lments GD.
Si vous souhaitez pourtant que l'ensemble du paquet GD de rception soit cohrent,
programmez comme ceci :

Paramtre

inhibez ou ajournez l'apparition d'vnements d'alarme et d'erreur synchrone de


priorit suprieure en appelant la SFC39 "DIS_IRT" ou la SFC41 "DIS_AIRT",

appelez la SFC61 "GD_RCV",

validez nouveau les vnements d'alarme et d'erreur synchrone en appelant la


SFC40 "EN_IRT" ou la SFC42 "EN_AIRT".

Dclaration

Type de
donnes

Zone de
mmoire

CIRCLE_ID INPUT

BYTE

BLOCK_ID INPUT

BYTE

E, A, M, D, L, Numro du cercle GD dans lequel inscrire le paquet


GD arrivant. Ce numro est attribu par STEP 7 lors
constante
de la configuration des donnes globales.
Valeurs autorises : 1 16. Le nombre maximal de
cercles GD admis est prcis dans les caractristiques
techniques de votre CPU.
E, A, M, D, L, Dans le cercle GD choisi, numro du paquet GD dans
lequel inscrire les donnes arrivant. Ce numro est
constante
attribu par STEP 7 lors de la configuration des
donnes globales.
Valeurs autorises : 1 3. Le nombre maximal de
cercles GD admis est prcis dans les caractristiques
techniques de votre CPU.

RET_VAL

INT

E, A, M, D, L Informations d'erreur

OUTPUT

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Description

17-5

SFC de communication par donnes globales

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur

8081

Le paquet GD choisi au moyen des paramtres CIRCLE_ID et BLOCK_ID n'a pas


t configur.

8082

Valeur incorrecte au paramtre CIRCLE_ID ou BLOCK_ID ou aux deux paramtres.

8083

Une erreur est apparue lors de l'excution de la fonction. La nature de l'erreur est
stocke dans la variable configure pour les informations d'tat, que votre
programme peut valuer.

8084

L'excution de la fonction a t arrte prmaturment, car la SFC61 a t appele


nouveau pour le mme paquet GD dans une classe de priorit suprieure (voir
"Interruption").

8085

Une erreur est apparue lors de l'criture des informations d'tat dans la variable
configure cet effet.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Nota
Il convient d'valuer l'tat du paquet GD aprs chaque appel de la fonction SFC61 et de
le remettre zro si ncessaire.

17-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

18

Gnralits sur la communication S7 et la


communication de base S7

18.1

Diffrences entre les blocs de la communication S7 et ceux


de la communication de base S7

Critres de choix
Pour l'change de donnes entre CPU ou FM des automates programmables
SIMATIC S7, vous disposez de deux mthodes, en plus de la communication par
donnes globales :

l'change de donnes par la communication de base S7,

l'change de donnes par la communication S7.

Vous opterez pour l'une ou pour l'autre, suivant l'automate programmable de la famille
SIMATIC S7 (S7-300, S7-400) utilis et en fonction des paramtres de l'change. Le
tableau ci-dessous numre les critres qui guideront votre choix.
Critre

Communication de base S7

Communication S7

Blocs
disponibles

S7-300 et S7-400 (en tant que


diagrammes SFC)

S7-300 : en tant que FB et FC


S7-400 : en tant que SFB SFC

Liaisons de
Une liaison n'est pas configure, mais elle
communication est tablie lors de l'excution de la SFC.
Une fois la transmission de donnes
termine, elle persiste ou elle est
suspendue, selon les paramtres. Quand
l'tablissement de la liaison n'est pas
possible temporairement, la tche
correspondante ne peut tre mise.

Une liaison est configure de faon ferme au


moyen de la configuration de liaisons.

Quand la CPU qui a dclench la


transmission de donnes passe l'tat de
fonctionnement Arrt, toutes les liaisons
qu'elle avait tablies sont suspendues.

A l'tat de fonctionnement Arrt, la liaison est


maintenue.

Passage
l'tat de
fonctionnement
Arrt

Il n'y a jamais qu'une liaison au plus un


Plusieurs
partenaire de comunication.
liaisons un
partenaire de
communication

Vous pouvez avoir tabli plusieurs liaisons un


seul et mme partenaire de communication.

Espace
d'adresse

Adressage de modules sur le rseau MPI,


PROFIBUS ou Industrial Ethernet

Adressage de modules dans la propre


station S7 ou sur le sous-rseau MPI

Nombre de
Le nombre de partenaires accessibles la
partenaires de suite l'un de l'autre n'est pas limit par le
communication nombre de ressources de liaison (voir /70/,
/101/). Les liaisons peuvent tre tablies
puis suspendues durant l'excution du
programme.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Le nombre de partenaires accessibles


simultanment est limit par le nombre de
ressources de liaison. Celui-ci dpend de la CPU
employe (voir /70/, /101/).

18-1

Gnralits sur la communication S7 et la communication de base S7

Critre

Communication de base S7

Taille maximale Une longueur de donnes utiles de 76


des donnes
octets est garantie.
utiles

Communication S7
La longueur maximale de donnes utiles pouvant
tre transmise dpend du type de bloc (USEND /
URCV, GET, etc.) et du partenaire de
communication (S7-300,
S7-400 ou M7).

Nombre de
variables
pouvant tre
transmises par
appel d'un bloc

Vous ne pouvez transmettre qu'une seule


variable.

S7-300 : une variable

S7-400 : max. quatre variables

Classification
des blocs

Les SFC de la communication de base S7


sont des fonctions systme qui ne
ncessitent donc pas de mmoire
utilisateur.

Les SFB/FB de la communication S7 sont des


blocs fonctionnels systme qui ncessitent donc
un DB d'instance pour les paramtres effectifs et
les donnes statiques.

Modification
dynamique des
paramtres
d'adressage

Une modification dynamique des


paramtres d'adressage est possible : une
fois la tche active termine, vous pouvez
adresser d'autres partenaires.

S7-300 : Vous pouvez modifier les paramtres


d'adressage durant l'excution du bloc. Les
nouveaux paramtres entrent en vigueur aprs la
fin de la tche prcdente.
S7-400 : Une modification dynamique des
paramtres d'adressage n'est pas
possible : La liaison au partenaire de
communication est crite au premier appel de
bloc et vaut jusqu'au prochain redmarrage
chaud ou froid.

Conformit la norme CEI 61131-5 pour S7-400


Les blocs suivants sont conformes la norme CEI 61131-5 :

USEND (SFB8) / URCV (SFB9)

BSEND (SFB12) / BRCV (SFB13)

PUT (SFB15) / GET (SFB14) qui correspondent READ / WRITE

STATUS (SFB22) / USTATUS (SFB23)

ALARM (SFB33)

NOTIFY (SFB36)

Les blocs START (SFB19), STOP (SFB20) et RESUME (SFB21) ralisent une interface
d'appel pour les fonctions de commande du programme.

Conformit la norme CEI 61131-5 pour S7-300


Les blocs suivants sont conformes la norme CEI 61131-5 :

18-2

USEND (FB8) / URCV (FB9)

BSEND (FB12) / BRCV (FB13)

PUT (FB15) / GET (FB14) qui correspondent READ / WRITE

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnralits sur la communication S7 et la communication de base S7

18.2

Cohrence de donnes

Dfinition
La zone de donnes cohrentes dfinit la taille de la zone de donnes qui ne peut pas
tre modifie simultanment par des processus concurrents. Ainsi, une zone de donnes
dont la taille dpasse la taille de cohrence peut tre fausse en tant qu'ensemble.
Autrement dit, une zone de donnes formant un tout mais dont la taille dpasse la zone
de donnes cohrentes peut comporter, un certain moment, une partie de donnes
cohrentes modifies ct d'ensembles cohrents non modifis.

Exemple
Une incohrence peut se produire, par exemple, lorsqu'un bloc de communication est
interrompu par un OB d'alarme de processus de priorit suprieure. Supposons que le
programme utilisateur modifie dans cet OB les donnes qui ont t dj traites en partie
par le bloc de communication. Les donnes transmises dateront alors :

pour une partie de la priode antrieure l'excution de l'alarme de processus,

et pour l'autre partie de la priode postrieure l'excution de l'alarme de processus.

Elles seront donc incohrentes (ne formeront plus un tout).

Consquence
La transmission cohrente de grandes quantits de donnes n'autorise pas d'interruption.
Ceci peut allonger le temps de raction de la CPU aux alarmes, par exemple.
En d'autres termes : plus la quantit de donnes transmettre avec une cohrence
garantie augmente, plus le temps de raction du systme aux alarmes s'allonge.

Cohrence de donnes avec SIMATIC


S'il y a dans le programme utilisateur une fonction de communication, BSEND/BRCV par
exemple, qui accde des donnes communes, il est possible de coordonner l'accs
cette zone de donnes, par exemple au moyen du paramtre DONE. La cohrence de
donnes des zones de communication qui est transmise localement avec un bloc de
communication peut donc tre assure dans le programme utilisateur .
Avec les fonctions de communication S7 comme PUT/GET ou en cas d'criture/lecture
via la communication OP, il faut tenir compte de la taille des zones de donnes
cohrentes ds la programmation ou la configuration, puisqu'aucun bloc de
communication synchronisant les donnes de communication avec le programme
utilisateur nest prsent dans le programme utilisateur de l'appareil cible (serveur).
Avec S7-300 et C7-600 (exception : CPU 318-2 DP), les donnes de communication sont
copies avec cohrence dans la mmoire utilisateur, en blocs de 32 octets, dans le point
de contrle du cycle du systme d'exploitation. Pour toutes les zones de donnes plus
importantes, la cohrence n'est pas garantie. Si une cohrence de donnes dfinie est
exige, les donnes de communication dans le programme utilisateur ne doivent pas
dpasser 8 ou 32 octets (selon la version).

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

18-3

Gnralits sur la communication S7 et la communication de base S7

Avec S7-400 par contre, les donnes de communication ne sont pas traites dans le
point de contrle du cycle, mais en tranches de temps fixes durant le cycle du
programme. Du ct systme, la cohrence dune variable est garantie.
Il est alors possible d'accder avec cohrence ces zones de communication, par
exemple depuis un pupitre oprateur (OP) ou depuis une station de contrle-commande
(OS), avec les fonctions PUT/GET ou lecture/criture de variables.

Conseil
Pour trouverez plus de dtails sur la cohrence de donnes dans la description des
divers blocs ainsi que dans le manuel Communication avec le SIMATIC.

18-4

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnralits sur la communication S7 et la communication de base S7

18.3

Prsentation des blocs de la communication S7

Classification
La communication S7 demande une configuration des liaisons. Les fonctions de
communication intgres sont appeles dans le programme utilisateur au moyen des
SFB/FB.
On peut classer ces SFB de la manire suivante :

SFB/FB pour change de donnes,

SFB pour modification d'tat de fonctionnement,

SFB pour interrogation d'tat de fonctionnement.

SFC/FC pour interrogation de la liaison

Disponibilit des blocs de communication S7-300/S7-400

Les blocs destins S7-400 se trouvent dans la bibliothque "Standard Library".

Les blocs quil est possible de charger dans S7-300 se trouvent dans la bibliothque
"SIMATIC_NET_CP".

Pour lexcution des blocs S7-300, vous devez utiliser un CP SIMATIC NET de la gamme
S7-300. De plus amples informations ce sujet sont donnes dans la documentation
correspondante.

SFB/FB pour change de donnes


Les SFB/FB pour change de donnes servent l'change de donnes entre deux
partenaires de communication. Selon qu'il y a un SFB sur le module local seulement ou
sur le module distant comme sur le module local, on distingue change de donnes
sens unique et change deux sens.
Blocs

Blocs

Description

Description brve

S7-400

S7-300

SFB8
SFB9

FB8

USEND/

FB9

URCV

Transmission de donnes rapide et sans acquittement,


indpendamment de l'excution chronologique de la fonction de
communication (URCV) chez le partenaire (par ex. messages de
fonctionnement et de maintenance). Cela signifie que les donnes
peuvent tre crases par des donnes plus rcentes chez le
partenaire.

SFB12

FB12

BSEND/

SFB13

FB13

BRCV

SFB14

FB14

GET

Lecture de variables dans le programme utilisateur du partenaire,


commande par le programme et sans fonction de communication
supplmentaire.

SFB15

FB15

PUT

Ecriture de variables dans le programme utilisateur du partenaire,


commande par le programme et sans fonction de communication
supplmentaire.

SFB16

PRINT

Envoi de donnes une imprimante (uniquement S7-400).

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Transmission sre d'un segment de donnes au partenaire de


communication. Cela signifie que la transmission n'est termine que
lorsque la fonction rceptrice du partenaire (BRCV) a pris les
donnes en charge.

18-5

Gnralits sur la communication S7 et la communication de base S7

SFB pour modification d'tat de fonctionnement


Les SFB pour modification d'tat de fonctionnement vous permettent de commander l'tat
de fonctionnement d'un appareil distant.
Avec les SFB pour modification d'tat de fonctionnement, l'change de donnes est
sens unique.
Bloc S7-400

Description brve

SFB19

START

Provoque le dmarrage chaud ou froid d'une CPU S7/M7-300/400 ou C7600 lorsqu'elle est l'tat de fonctionnement Arrt.

SFB20

STOP

Provoque l'arrt d'une CPU S7/M7-300/400 ou C7-600 lorsqu'elle est l'tat de


fonctionnement Marche, Attente ou Mise en route.

SFB21

RESUME

Provoque le redmarrage d'une CPU S7-400 lorsqu'elle est l'tat de


fonctionnement Arrt.

SFB pour interrogation d'tat de fonctionnement


Les SFB pour interrogation d'tat de fonctionnement vous permettent de recevoir des
informations sur l'tat de fonctionnement d'un appareil distant.
Avec SFB "STATUS", l'change de donnes est sens unique, avec SFB "USTATUS" il
est deux sens.
Bloc S7-400

Description brve

SFB22

STATUS

Fournit l'tat de fonctionnement d'un partenaire de communication (CPU S7400, M7- 300/400) sur demande de l'utilisateur.

SFB23

USTATUS

Reoit l'tat de fonctionnement d'une CPU S7- 400 en cas de changement si


l'attribut de liaison appropri (Emission de messages d'tat de fonctionnement)
est activ.

SFC/FC pour interrogation de liaison


Bloc S7-400

Bloc S7-300

Description brve

SFC62 CONTROL

Interrogation de l'tat d'une liaison appartenant une


instance d'un SFB

FC62 C_CNTRL

Interrogation de l'tat d'une liaison via lID de liaison

Conseil
L'tat de la liaison en cours peut tre galement diagnostiqu avec SFC87 C_DIAG
(uniquement dans S7-400).

Exemple de programme
Un exemple pour S7-400 montrant comment utiliser les SFB de la communication S7 est
fourni avec STEP 7. Le projet-exemple porte le nom step7\examples\com_sfb. Vous le
trouverez parmi les projets-exemples dans le rpertoire "...\STEP7\Examples\ZDT01_10".

18-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnralits sur la communication S7 et la communication de base S7

18.4

Prsentation des blocs de la communication de base S7

Classification des SFC de la communication de base S7


La communication de base S7 ne ncessite pas de configuration des liaisons. Les
fonctions de communication intgres sont appeles dans le programme utilisateur au
moyen de SFC.
On distingue deux classes de SFC :

les SFC pour change de donnes entre une CPU S7 et un autre module de
communication quand les partenaires font partie de la mme station S7
(reconnaissables au "I" pour Interne plac devant le nom).

les SFC pour change de donnes entre une CPU S7 et un autre module de
communication quand les partenaires sont connects au sous-rseau MPI commun
(reconnaissables au "X" pour Externe plac devant le nom).

Les SFC de la communication de base S7 ne permettent pas la communication au-del


des limites du sous-rseau.
Elles peuvent tre excutes sur toutes les CPU des gammes S7-300 et S7-400. Depuis
ces CPU, vous pouvez aussi crire et lire des variables dans les CPU de la gamme
S7-200.

SFC de communication externe


Bloc

Description brve

SFC65/

X_SEND/

SFC66

X_RCV

Transmission sre d'un bloc de donnes un partenaire de communication.


Cela signifie que la transmission n'est termine que lorsque la fonction
rceptrice du partenaire (X_RCV) a pris les donnes en charge.

SFC67

X_GET

Lecture d'une variable dans un partenaire de communication sans qu'il soit


ncessaire d'y placer une SFC. C'est le systme d'exploitation qui remplit cette
fonction dans le partenaire.

SFC68

X_PUT

Ecriture d'une variable dans un partenaire de communication sans qu'il soit


ncessaire d'y placer une SFC. C'est le systme d'exploitation qui remplit cette
fonction dans le partenaire.

SFC69

X_ABORT

Suspension d'une liaison existante sans transmission de donnes, ce qui libre


les ressources concernes des deux cts.

SFC de communication interne


Bloc

Description brve

SFC72

I_GET

Lecture d'une variable dans un partenaire de communication sans qu'il soit


ncessaire d'y placer une SFC. C'est le systme d'exploitation qui remplit cette
fonction dans le partenaire.

SFC73

I_PUT

Ecriture d'une variable dans un partenaire de communication sans qu'il soit


ncessaire d'y placer une SFC. C'est le systme d'exploitation qui remplit cette
fonction dans le partenaire.

SFC74

I_ABORT

Suspension d'une liaison existante sans transmission de donnes, ce qui libre


les ressources concernes des deux cts.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

18-7

Gnralits sur la communication S7 et la communication de base S7

Exemples de programme
Avec STEP 7, vous avez reu deux programmes-exemples montrant comment utiliser
les SFC de la communication de base S7. Vous les trouverez dans les rpertoires
step7\examples\com_sfc1 et step7\examples\com_sfc2.

Taille maximale des donnes utiles


Les SFC de la communication de base S7 sont intgres dans toutes les CPU des
gammes S7-300 et S7-400.
Le nombre garanti de donnes utiles transmissibles (paramtre SD ou RD) est de 76
octets pour toutes les SFC. Le nombre exact est indiqu dans le bloc respectif.

Liaison au partenaire de communication


Avec les SFC de la communication de base S7, la liaison est tablie durant l'excution de
la SFC; suivant la valeur que vous avez affecte au paramtre d'entre CONT, elle
persistera une fois la transmission de donnes acheve ou elle sera suspendue. Il en
rsulte les caractristiques suivantes de la communication :

Le nombre de partenaires accessibles la suite l'un de l'autre est suprieur au


nombre de partenaires accessibles simultanment (grandeur particulire la CPU,
voir /70/, /101/).

Quand il n'est pas possible momentanment d'tablir une liaison un partenaire de


communication, parce que les ressources de liaison (sur la propre CPU ou sur le
partenaire) sont toutes occupes, la valeur de retour RET_VAL vous en informe.
Vous devrez lancer la tche de nouveau ultrieurement, mais sachez que
l'tablissement de liaison n'est pas garanti. Le cas chant, il faudra revoir votre
programme quant l'utilisation commune de ressources de liaison et employer une
CPU disposant de ressources plus importantes.

Les SFC de la communication de base S7 ne peuvent pas utiliser les liaisons des SFB de
la communication S7 qui existeraient dj.
Quand vous avez lanc une tche, la liaison tablie dans ce but ne peut servir
momentanment qu' cette tche. Les autres tches destines au mme partenaire ne
pourront tre excutes qu'une fois cette tche active acheve. Tenez compte de la note
ci-aprs.
Nota
Quand votre programme contient plusieurs tches destines au mme partenaire, vous
devez prendre soin d'appeler de nouveau, ultrieurement, celles des SFC pour lesquelles
RET_VAL indique W#16#80C0.

Identification d'une tche


Si vous avez lanc une transmission de donnes ou une suspension de liaison avec l'une
des SFC de la communication de base S7, et que vous appelez cette SFC de nouveau
avant que la transmission active ne soit termine, il est dcisif pour la SFC de savoir si le
nouvel appel concerne la mme tche. Le tableau suivant numre les paramtres
d'entre qui prcisent une tche pour chaque SFC. Si les paramtres cits sont ceux
d'une tche pas encore acheve, l'appel de la SFC sera considr comme appel suivant.

18-8

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnralits sur la communication S7 et la communication de base S7

Bloc

La tche est identifie par

SFC65

X_SEND

DEST_ID, REQ_ID

SFC67

X_GET

DEST_ID, VAR_ADDR

SFC68

X_PUT

DEST_ID, VAR_ADDR

SFC69

X_ABORT

DEST_ID

SFC72

I_GET

IOID, LADDR, VAR_ADDR

SFC73

I_PUT

IOID, LADDR, VAR_ADDR

SFC74

I_ABORT

IOID, LADDR

Comportement d'interruption
Les SFC de la communication de base S7 peuvent tre interrompues par des OB de
priorit suprieure. Si la mme SFC est appele avec une tche identique dans le niveau
prioritaire, ce deuxime appel sera annul, ce qui vous est signal par RET_VAL. Aprs
quoi, l'excution de la SFC interrompue est reprise.

Accs la mmoire de travail de la CPU


Indpendamment du nombre en cours de donnes utiles transmettre, les fonctions de
communication du systme d'exploitation accdent la mmoire de travail de la CPU en
blocs de taille maximale, afin de ne pas allonger le temps de raction en cas d'alarme.
Selon la charge de cycle maximale configure avec STEP 7 pour la communication,
plusieurs accs la mmoire de travail peuvent avoir lieu durant l'excution d'une tche
par les fonctions de communication du systme d'exploitation.

Passage l'tat de fonctionnement Arrt du client


Quand la CPU qui a pris l'initiative d'une tche (et qui a donc tabli une liaison) passe
l'tat de fonctionnement Arrt durant une transmission de donnes, toutes les liaisons
qu'elle a tablies sont suspendues.

Modifications du programme
Vous ne pouvez modifier qu' l'tat de fonctionnement Arrt toutes les parties de votre
programme ayant un effet immdiat sur des appels de SFC de la communication de base
S7. Il s'agit particulirement de l'effacement de blocs FC, FB ou OB contenant des appels
de SFC de la communication de base S7.
Aprs une telle modification, il faut effectuer un dmarrage chaud ou froid.
Si vous ne respectez pas cette rgle, vous risquez que des ressources de liaison restent
occupes et que l'automate programmable se trouve dans un tat non dfini.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

18-9

Gnralits sur la communication S7 et la communication de base S7

18-10

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19

Communication S7

19.1

Paramtres communs aux SFB/FB et aux SFC/FC de la


communication S7

Classification
Suivant leurs fonctions, on distingue cinq classes de paramtres pour les SFB/FB de la
communication S7 :
1. les paramtres de commande servent activer un bloc,
2. les paramtres d'adressage servent adresser le partenaire de communication
distant,
3. les paramtres d'mission pointent sur les zones de donnes envoyer au
partenaire distant,
4. les paramtres de rception pointent sur les zones de donnes o crire les donnes
reues du partenaire distant,
5. les paramtres d'tat servent contrler si le travail a t termin sans erreur et
analyser les erreurs survenues.

Paramtres de commande
L'change de donnes est activ seulement si les paramtres de commande pertinents
ont une certaine valeur lors de l'appel du SFB/FB (sont 1, par exemple) ou si leur valeur
a chang d'une manire dfinie depuis le dernier appel du SFB/FB (front montant, par
exemple).
Nota concernant le S7-300
Vous devez choisir FALSE pour le paramtre REQ lors du premier appel.

Paramtres d'adressage
Paramtre Description
ID

Rfrence la description de liaison locale (est attribue par la configuration de liaisons STEP 7).

R_ID

Avec ce paramtre, vous tablissez l'appartenance entre un SFB/FB metteur et un SFB/FB


rcepteur. Il doit avoir la mme valeur pour chacun des deux SFB/FB.
Ceci permet la communication de plusieurs couples de SFB/FB via la mme liaison logique.

Il faut indiquer R_ID suivant la forme DW#16#wxyzWXYZ.

Les couples de blocs d'une liaison logique tablis au moyen de R_ID doivent tre univoques
pour cette liaison.

Le paramtre PI_NAME est dcrit seulement avec les SFB concerns.


Logiciel systme pour SIMATIC S7-300/400
A5E00261421-01

19-1

Communication S7

Nota
S7-300 : Vous pouvez modifier les paramtres d'adressage ID et R_ID durant
l'excution. Les nouveaux paramtres entrent en vigueur chaque nouvelle tche la fin
de la tche prcdente. Vous pouvez ainsi relier plusieurs paires de FB entre elles via
une instance.
S7-400 : Les paramtres d'adressage ID et R_ID ne sont valus qu'au premier appel du
bloc (les paramtres effectifs ou les valeurs prdfinies de l'instance). Ainsi, la liaison au
partenaire distant est enregistre au premier appel et jusqu'au dmarrage chaud ou
froid suivant.

Paramtres d'tat
Les paramtres d'tat vous permettent de contrler si le bloc a termin son travail
correctement ou s'il s'excute encore. Ils indiquent aussi les erreurs survenues.
Nota
Les paramtres d'tat ne sont valables que pendant un cycle, de la premire instruction
succdant l'appel du SFB jusqu' l'appel suivant du SFB. Par consquent, vous devez
valuer ces paramtres aprs chaque excution du bloc.

Paramtres d'mission et de rception


Si vous n'utilisez pas tous les paramtres d'mission ou de rception d'un SFB , il faut
que le premier paramtre inutilis soit dans chaque cas un pointeur NIL (voir /232/) et
que les paramtres utiliss se suivent sans discontinuer.
Nota
Au premier appel, la quantit maximale de donnes utiles pouvant tre transmise par
tche est dfinie par les pointeurs ANY; en effet, un tampon de communication assurant
la cohrence de donnes est cr dans la mmoire de travail de la CPU. Celui-ci
ncessite jusqu' 480 octets de mmoire utile. Il est conseill d'excuter ce premier
appel dans l'OB de dmarrage chaud ou froid, quand le bloc contenant l'appel du SFB
n'est pas charg aprs coup l'tat de fonctionnement Marche de la CPU.
Lors des appels suivants, vous pouvez envoyer ou recevoir un nombre de donnes au
choix, mais pas plus que lors du premier appel.
Les SFB de communication BSEND et BRCV sont une exception cette rgle. Ils
permettent de transmettre jusqu' 64 Ko par tche (voir Envoi de donnes par segments
avec SFB12 "BSEND" et Rception de donnes par segments avec SFB13 "BRCV").

19-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

Avec les SFB/FB de communication deux sens,

le nombre de paramtres SD_i et RD_i employs doit tre le mme du ct mission


et du ct rception,

les types de donnes des paramtres SD_i et RD_i correspondants doivent tre
identiques du ct mission et du ct rception,

le nombre de donnes envoyer au moyen d'un paramtre SD_i ne doit pas tre
suprieur la zone ouverte par le paramtre RD_i correspondant (ne vaut pas pour
BSEND/BRCV).

Un manquement aux rgles cites vous sera signal par ERROR = 1 et STATUS = 4.

Taille des donnes utiles


Avec les SFB/FB USEND, URCV, GET et PUT, le nombre de donnes transmettre ne
doit pas dpasser une certaine longueur des donnes utiles. Cette taille maximale
dpend :

du type de bloc employ et

du partenaire de communication.

Le tableau ci-dessous indique la taille minimum garantie des donnes utiles pour un
SFB/FB avec 1 4 variables.
Bloc

Partenaire : S7-300/C7-600

Partenaire : S7-400/M7
M7 vers M7

PUT / GET

160 octets

400 octets

USEND / URCV

160 octets

440 octets

BSEND / BRCV

32768 octets

65534 Ko

Pour plus d'informations sur la taille des donnes utiles, veuillez consulter les
caractristiques techniques de la CPU en question.

Taille exacte des donnes utiles


Si la taille de donnes utiles indique ci-avant ne suffit pas, vous pouvez procder
comme suit pour dterminer la longueur maximale des donnes utiles en octets.

Consultez d'abord le tableau ci-dessous pour savoir quelle est la taille de bloc utilise
dans la communication qui vous occupe.
CPU locale

CPU distante

Taille du bloc transmettre (octets)

S7-300

quelconque

240 (S7-300)

S7-400

S7-300 / C7-300

240 (S7-400)

S7-400

S7-400 ou CPU 318

480

S7-400

Module M7

480

Module M7

ModuleM7

960

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-3

Communication S7

Le tableau suivant vous donne alors la longueur maximale des donnes utiles en
octets. Elle est valable pour des longueurs paires des zones SD_i, RD_i, ADDR_i.
Nombre de paramtres SD_i, RD_i, ADDR_i utiliss

Tailles des blocs


de donnes

SFB/FB

240 (S7-300)

PUT/GET/
USEND

160

240 (S7-300 via


interface intgre)

PUT

212

GET

222

USEND

212

PUT

212

196

180

164

GET

222

218

214

210

240 (S7-400)

480

960

19-4

USEND

212

PUT

452

436

420

404

GET

462

458

454

450

USEND

452

448

444

440

PUT

932

916

900

884

GET

942

938

934

930

USEND

932

928

924

920

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

19.2

Comportement de mise en route des SFB de la


communication S7

Conditions requises
Dans S7-400, on suppose dans ce qui suit que

les descriptions de liaison (SDB) existent sur les modules,

les liaisons configures sont tablies,

pour chaque SFB, le paramtre effectif de ID est conforme l'ID de liaison


configure.

Comportement au dmarrage chaud ou froid


Au dmarrage chaud ou froid, tous les SFB sont mis l'tat NO_INIT. Les
paramtres effectifs mmoriss dans les DB d'instance ne changent pas.

Dmarrage chaud ou froid avec les SFB pour l'change deux sens
En gnral, avec les SFB pour l'change deux sens, les deux modules n'excutent pas
un dmarrage chaud ou froid simultanment. Le SFB concern effectue l'adaptation
implicitement selon les rgles suivantes.
Les blocs de rception (URCV, BRCV) se comportent comme suit :

Si le SFB a reu une tche, mais ne l'a pas encore acquitte au moment du
dmarrage chaud ou froid, il gnre un tlgramme d'annulation de squence
(SFB BRCV) et passe immdiatement l'tat NO_INIT.

Avec le SFB BRCV, il peut arriver qu'un segment de donnes arrive encore malgr
l'mission d'une annulation de squence. Ce segment de donnes est alors rejet au
niveau local.

Avec le SFB URCV, le passage l'tat NO_INIT a lieu immdiatement.

Les blocs d'mission (USEND, BSEND) se comportent comme suit :

Si le SFB BSEND a commenc une squence de tche qui n'est pas encore
termine, il met une annulation de squence au dmarrage chaud ou froid.
Aussitt aprs, il passe l'tat NO_INIT. Un acquittement arrivant aprs cela sera
rejet au niveau local.

Si le SFB BSEND a dj mis ou reu une annulation de squence au moment de la


demande de dmarrage chaud ou froid, il passe aussitt l'tat NO_INIT.

Dans tous les autres cas et quand le SFB ne fait qu'envoyer des messages (par
exemple SFB USEND), le traitement local est annul et le SFB passe immdiatement
l'tat NO_INIT.

Dmarrage chaud ou froid avec les SFB pour l'change sens unique
On suppose que, une fois les liaisons tablies, le serveur du partenaire de
communication est en tat de fonctionner, c'est--dire de traiter des tches ou d'envoyer
des messages tout moment.
Les SFB qui envoient des tches et en attendent l'acquittement se comportent comme
suit :
Logiciel systme pour SIMATIC S7-300/400
A5E00261421-01

19-5

Communication S7

Ils annulent le traitement momentan et passent aussitt l'tat NO_INIT. Un


acquittement arrivant aprs cela pour la tche envoye avant le dmarrage chaud ou
froid sera rejet au niveau local.
Il est possible d'envoyer une nouvelle tche avant que l'acquittement manquant soit
arriv.
Les SFB qui envoient des messages ou en reoivent se comportent comme suit :

Ils annulent le traitement momentan et passent aussitt l'tat NO_INIT.

Avec SFB USTATUS, les messages qui arrivent dans les tats NO_INIT et
DISABLED sont rejets au niveau local.

Comportement au redmarrage
Les SFB de la communication S7 sont mis l'tat NO_INIT au dmarrage chaud ou
froid seulement. Il en rsulte qu'ils se comportent au redmarrage comme des blocs
fonctionnels utilisateur dont l'excution peut tre reprise.

Comportement aprs effacement gnral


Un effacement gnral provoque toujours la suspension de toutes les liaisons. La seule
mise en route possible du programme aprs un effacement gnral tant un dmarrage
chaud ou froid, tous les SFB de la communication S7 (qui existent encore) sont mis
l'tat NO_INIT et initialiss. Par suite de la suspension de liaison, les blocs partenaires
dans un module qui n'a pas subi d'effacement gnral passent l'tat IDLE ou
ENABLED ou DISABLED.

19-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

19.3

Comportement d'anomalie des SFB de la communication


S7
Le comportement danomalie des blocs de la communication S7 est dcrit ci-aprs pour
S7-400.

Suspension de liaison
Les liaisons affectes aux instances de SFB sont surveilles pour dtecter une
suspension.
En cas de suspension de liaison, la raction d'un SFB dpend de son tat interne.
Si la suspension de liaison est dtecte depuis l'tat IDLE ou ENABLED, le SFB ragit
comme suit :

Il passe l'tat ERROR et met le code d'erreur "Problmes de communication" au


moyen des paramtres de sortie ERROR et STATUS.

A l'appel suivant, il reprend son tat d'origine et examine la liaison de nouveau.

Un SFB qui n'est pas l'tat IDLE ni DISABLED ragit comme suit :

Il arrte prmaturment son excution, passe l'tat ERROR aussitt ou l'appel


suivant et met le code d'erreur "Problmes de communication" au moyen des
paramtres de sortie ERROR et STATUS.

A son appel suivant, le bloc prend l'tat IDLE, DISABLED ou ENABLED. Dans les
tats IDLE et ENABLED, il examine de nouveau la liaison.

Cette faon de procder est utilise mme si la liaison a t rtablie entre temps.

Panne de secteur
Une panne de secteur sauvegarde avec redmarrage provoque la suspension de toutes
les liaisons tablies. Pour tous les blocs concerns, tout se passe comme il est dit cidessus.
En cas de panne de secteur sauvegarde avec dmarrage chaud ou froid
automatique, ce sont les explications relatives la suspension de liaison et celles
relatives au dmarrage chaud ou froid qui sont pertinentes.
Dans le cas spcial du dmarrage chaud ou froid automatique et non sauvegard,
pour lequel un effacement gnral est effectu automatiquement aprs retour du secteur,
les SFB de la communication S7 se comportent comme il est dit la rubrique
"Comportement de mise en route des SFB de la communication S7".

Comportement en cas de changement d'tat de fonctionnement


En cas de changement entre les tats de fonctionnement Arrt, Mise en route, Marche et
Attente, le SFB reste dans son tat en cours (exception : en cas de dmarrage chaud
ou froid, le SFB passe l'tat NO_INIT). Ceci est vrai pour les SFB d'change deux
sens comme pour ceux d'change sens unique.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-7

Communication S7

Interface d'erreur avec le programme utilisateur


Quand une erreur apparat au cours de l'excution d'un SFB, le bloc passe toujours
l'tat ERROR; en mme temps, le paramtre de sortie ERROR est mis 1 et le code
d'erreur appropri est inscrit dans le paramtre de sortie STATUS. Vous pouvez valuer
ces informations d'erreur dans votre programme.
Exemples d'erreurs possibles :

19-8

erreur lors du regroupement des donnes mettre,

erreur lors de la copie des donnes dans les zones de rception (par exemple accs
un DB inexistant),

la longueur de la zone de donnes envoye n'est pas conforme la longueur


mmorise pour la zone de rception sur le SFB partenaire.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

19.4

Envoi de donnes sans coordination avec SFB/FB8


"USEND"

Description
Le bloc fonctionnel SFB/FB8 "USEND" envoie des donnes un SFB/FB partenaire
distant de type "URCV". L'mission se droule sans coordination avec le SFB/FB
partenaire, c'est--dire que la transmission de donnes a lieu sans acquittement du
SFB/FB partenaire.
S7-300 : Elle est provoque par un front positif l'entre de commande REQ. Les
paramtres R_ID, ID et SD_1 sont pris en compte chaque front positif sur l'entre REQ.
A la fin dune tche, vous pouvez affecter de nouvelles valeurs aux paramtres R_ID, ID
et SD_1.
S7-400 : Elle est provoque par un front positif l'entre de commande REQ. Les
donnes envoyer sont dsignes par les paramtres SD_1 SD_4, ces quatre
paramtres d'mission n'tant pas obligatoirement tous occups.
Veillez cependant ce que les zones dfinies par les paramtres SD_1 SD_4/SD_1 et
RD_1 RD_4/RD_1 (du SFB/FB "URCV" partenaire) concordent en :

nombre,

longueur et

type de donnes.

Le paramtre R_ID doit tre identique dans les deux SFB/FB.


La fin correcte de l'mission est indique par un 1 logique au paramtre d'tat DONE.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L

Paramtre de commande request (demande); son


front montant active l'change de donnes.

ID

INPUT

WORD

M, D,
constante

Paramtre d'adressage ID, voir Paramtres communs


aux SFB/FB et aux SFC/FC de la communication S7

R_ID

INPUT

DWORD

E, A, M, D, L,
constante

Paramtre d'adressage R_ID, voir Paramtres


communs aux SFB/FB et aux SFC/FC de la
communication S7

DONE

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat DONE :


0:

la tche n'a pas encore t dmarre ou elle est


encore active

1 : la tche a t excute sans erreur.


ERROR

OUTPUT

BOOL

E, A, M, D, L

STATUS

OUTPUT

WORD

E, A, M, D, L

Paramtres d'tat ERROR et STATUS, indication


d'erreur :
ERROR=0
STATUS a la valeur :
0000H : ni avertissement ni erreur
<> 0000H : avertissement, STATUS donne des
dtails.
ERROR=1
Une erreur est apparue, STATUS donne des
renseignements dtaills sur le type de l'erreur.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-9

Communication S7

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

S7-300 :

IN_OUT

ANY

M, D, T, Z

Pointeur sur la i-me zone d'envoi.


Seuls les types de donnes suivants sont autoriss :
BOOL (pas le champ de bits), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME, COUNTER, TIMER.

SD_1
E, A, M, D, T,
Z

S7-400 :
SD_i
(1 i 4)

Nota :
Quand le pointeur ANY accde un DB, il faut
toujours spcifier ce DB
(par ex. : P# DB10.DBX5.0 Byte 10).

Informations d'erreur
ERROR

STATUS

Explication

(dcimal)
0

11

25

Avertissement :

La nouvelle tche est sans effet, car la prcdente n'est pas encore termine.

La tche est dj excute dans une classe de priorit plus basse.

La communication a t lance. La tche est en cours de traitement.


Problmes de communication, par exemple :

description de la liaison pas charge (locale ou distante),

liaison interrompue (cble, CPU hors tension, CP l'Arrt),

liaison au partenaire pas encore tablie

Erreur dans les pointeurs de zone d'envoi SD_i quant la longueur des donnes ou
au type de donnes.

10

Accs impossible la mmoire utilisateur locale (ex. : accs un DB effac).

12

L'appel du SFB/FB mentionne

un DB d'instance qui n'appartient pas au SFB "USEND ,

non pas un DB d'instance, mais un DB global,

un DB d'instance introuvable (chargement d'un nouveau DB d'instance de la PG).

18

R_ID existe dj dans la liaison ID.

20

S7-400 : mmoire de travail insuffisante; s'il y a encore assez de mmoire en


tout, comprimer la mmoire de travail.

Systme H : un premier appel du SFB durant lactualisation n'est pas possible,


puisque le tampon de communication est cr dans la mmoire de travail; or,
toute mesure modifiant la mmoire de travail est impossible durant l'actualisation.

S7-300 :
- nombre maximal de tches/instances parallles dpass
- instances charges en RUN de la CPU
- possible lors du premier appel

19-10

27

Il n'y a pas de code de fonction pour ce bloc dans la CPU.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

Cohrence de donnes
S7-300 : pour garantir la cohrence de donnes, vous n'tes autoris crire de
nouveau dans les zones d'mission SD_1 qu'une fois l'opration d'mission termine.
Ceci est le cas quand le paramtre d'tat DONE prend la valeur 1.
S7-400 et S7-300 via une interface intgre : lactivation dune tche dmission (front
montant sur REQ), les donnes mettre des zones dmission SD_i sont copies
depuis le programme utilisateur. Aprs lappel du bloc, vous pouvez nouveau crire
dans ces zones sans falsifier les donnes dmission actuelles.
Nota
La procdure dmission globale nest termine que lorsque le paramtre dtat DONE
prend la valeur 1.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-11

Communication S7

19.5

Rception de donnes sans coordination avec SFB/FB9


"URCV"

Description
Le bloc SFB/FB9 "URCV" reoit de manire asynchrone, des donnes d'un SFB/FB
partenaire distant de type "USEND" et les copie dans les zones de rception configures.
Le bloc est prt recevoir quand l'entre EN_R est l'tat logique 1. EN_R=0 permet
d'interrompre une tche en cours.
S7-300 : aprs chaque front positif sur EN_R, les paramtres R_ID, ID et RD_1 sont pris
en compte. A la fin dune tche, vous pouvez affecter de nouvelles valeurs aux
paramtres R_ID, ID et RD_1.
S7-400 : les zones de rception sont dsignes par les paramtres RD_1 RD_4.
veillez ce que les zones dfinies par les paramtres RD_i/RD_1 et SD_i/SD_1 (du
SFB/FB "USEND" partenaire) concordent en :

nombre,

longueur et

type de donnes.

La fin correcte de la copie est indique par un 1 logique du paramtre d'tat NDR.
Le paramtre R_ID doit tre identique dans les deux SFB/FB.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

EN_R

INPUT

BOOL

E, A, M, D, L, Paramtre de commande "Prt recevoir" (enabled to


constante
receive); son tat logique 1 indique que le bloc est prt
recevoir des donnes.

ID

INPUT

WORD

M, D,
constante

R_ID

INPUT

DWORD

E, A, M, D, L, Paramtre d'adressage R_ID, voir Paramtres communs


constante
aux SFB/FB et aux SFC/FC de la communication S7

NDR

OUTPUT

BOOL

E, A, M, D, L Paramtre d'tat NDR :

Paramtre d'adressage ID, voir Paramtres communs


aux SFB/FB et aux SFC/FC de la communication S7

0:

la tche n'a pas encore t dmarre ou elle est


encore active

1 : la tche a t excute sans erreur.


ERROR

OUTPUT

BOOL

STATUS

OUTPUT

WORD

E, A, M, D, L Paramtres d'tat ERROR et STATUS, indication


E, A, M, D, L d'erreur :
ERROR=0
STATUS a la valeur :
0000H : ni avertissement ni erreur
<> 0000H : avertissement, STATUS donne des
dtails.
ERROR=1
Une erreur est apparue, STATUS donne des
renseignements dtaills sur le type de l'erreur.

19-12

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

S7-300 :

IN_OUT

ANY

M, D, T, Z

Pointeur sur la i-me zone de rception.


Seuls les types de donnes suivants sont autoriss :
BOOL (pas le champ de bits), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME, COUNTER, TIMER.

RD_1
E, A, M, D,
T, Z

S7-400 :
RD_i
(1 i 4)

Nota :
Quand le pointeur ANY accde un DB, il faut toujours
spcifier ce DB
(par ex. : P# DB10.DBX5.0 Byte 10).

Informations d'erreur
ERROR

STATUS
(dcimal)

Explication

Avertissement de dpassement de capacit : d'anciennes donnes reues ont t


crases par de nouvelles donnes reues.

11

Avertissement : les donnes de rception sont dj excutes dans une classe de


priorit plus basse.

25

La communication a t lance. La tche est en cours de traitement.

Problmes de communication, par exemple :

description de la liaison pas charge (locale ou distante),

liaison interrompue (cble, CPU hors tension, CP l'Arrt),

la liaison au partenaire nest pas encore tablie.

Erreur dans les pointeurs de zone de rception RD_i quant la longueur des
donnes ou au type de donnes.

10

Accs impossible la mmoire utilisateur locale (ex. : accs un DB effac)

12

L'appel du SFB/FB mentionne

un DB d'instance qui n'appartient pas au SFB "URCV",

non pas un DB d'instance, mais un DB global,

un DB d'instance introuvable (chargement d'un nouveau DB d'instance de la PG).

18

R_ID existe dj dans la liaison ID.

19

Le bloc SFB "USEND" partenaire envoie des donnes plus vite que le bloc SFB/FB
"URCV" ne peut les copier dans les zones de rception.

20

S7-400 : mmoire de travail insuffisante; s'il y a encore assez de mmoire en


tout, comprimer la mmoire de travail.

Systme H : un premier appel du SFB durant lactualisation n'est pas possible,


puisque le tampon de communication est cr dans la mmoire de travail; or,
toute mesure modifiant la mmoire de travail est impossible durant l'actualisation.

S7-300 :
- nombre maximal de tches/instances parallles dpass
- instances charges en RUN de la CPU
- possible lors du premier appel

27

Il n'y a pas de code de fonction pour ce bloc dans la CPU.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-13

Communication S7

Cohrence de donnes
La rception des donnes s'effectuera avec cohrence si vous respectez les rgles
suivantes :
S7-300 : aprs que le paramtre d'tat NDR a pris la valeur 1, il faut appeler
immdiatement de nouveau la FB 9 "URCV" en donnant la valeur 0 EN_R. Ceci
garantit que la zone de rception ne sera pas crase avant que vous ne l'ayez value.
Effectuez l'valuation complte de la zone de rception RD_1 avant dappeler nouveau
le bloc en donnant la valeur 1 lentre de commande EN_R.
S7-400 : aprs que le paramtre dtat NDR a pris la valeur 1, de nouvelles donnes de
rception se trouvent dans vos zones de rception (RD_i). Lors dun nouvel appel de bloc
ces donnes risquent dtre crases par de nouvelles donnes de rception. Pour viter
ceci, vous devez appeler le SFB 9 "URCV" en donnant la valeur 0 EN_R jusqu ce que
vous ayez termin le traitement des donnes de rception (p. ex. par traitement cyclique
du bloc).

19-14

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

19.6

Envoi de donnes par segments avec SFB/FB12 "BSEND"

Description
Le bloc SFB/FB12 "BSEND" envoie des donnes un SFB/FB partenaire distant de type
"BRCV". Cette transmission de donnes permet d'changer entre les partenaires une
quantit de donnes plus importante que celle change avec tous les autres SFB/FB de
la communication S7, savoir jusqu' 32768 octets pour S7-300 ou 65534 octets pour
S7-400 ou le S7-300 via une interface intgre.
La zone de donnes envoyer est segmente. Chaque segment est envoy sparment
au partenaire. Le dernier segment est acquitt par le partenaire pratiquement ds son
arrive, quel que soit lappel correspondant du SFB/FB "BRCV".
S7-300 : L'envoi des donnes a lieu aprs chaque front positif sur l'entre REQ. Aprs
chaque front positif sur REQ les paramtres R_ID, ID, SD_1 et LEN sont pris en compte.
A la fin dune tche, vous pouvez affecter de nouvelles valeurs aux paramtres R_ID, ID,
SD_1 et LEN. Pour la transmission de donnes segmentes, le bloc doit tre appel de
manire cyclique dans le programme utilisateur.
Ladresse de dbut et la longueur maximale des donnes envoyer sont indiques par
SD_1. Vous dfinissez la longueur du bloc de donnes pour chaque tche avec LEN.
S7-400 et S7-300 via une interface intgre : le tche dmission est active aprs lappel
du bloc et par un front positif l'entre de commande REQ. L'envoi des donnes de la
mmoire utilisateur est asynchrone avec le traitement du programme utilisateur.
L'adresse de dbut des donnes envoyer est indiques par SD_1. Vous dfinissez la
longueur des donnes envoyer pour chaque tche avec LEN. LEN remplace alors la
partie relative la longueur dans SD_1.
Le paramtre R_ID doit tre identique dans les deux SFB/FB travaillant ensemble.
Un front positif l'entre de commande R provoque l'annulation d'une mission en cours.
La fin correcte de l'mission est indique par la valeur 1 du paramtre d'tat DONE.
Il faut qu'une mission soit termine pour qu'une nouvelle mission soit effectue si le
paramtre d'tat DONE ou ERROR a reu la valeur 1.
La transmission asynchrone des donnes implique qu'un nouvel envoi ne peut tre lanc
qu'aprs la prise en charge des donnes prcdentes par appel du SFB/FB partenaire.
Tant que ceci n'a pas t effectu, l'appel du SFB/FB "BSEND fournit la valeur d'tat 7
(voir ci-dessous).
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L

Paramtre de commande request (demande); son


front montant active l'change de donnes.

INPUT

BOOL

E, A, M, D, L,
constante

Paramtre de commande reset (rinitialisation); son


front montant active l'annulation d'un change de
donnes encore actif.

ID

INPUT

WORD

M, D,
constante

Paramtre d'adressage ID, voir Paramtres communs


aux SFB/FB et aux SFC/FC de la communication S7

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-15

Communication S7

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

R_ID

INPUT

DWORD

E, A, M, D, L,
constante

Paramtre d'adressage R_ID, voir Paramtres


communs aux SFB/FB et aux SFC/FC de la
communication S7
En cas de couplage via CP441 des appareils S5 ou
non Siemens, R_ID contient les informations d'adresse
de l'appareil distant. Reportez-vous la description du
CP441.

DONE

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat DONE :


0:

la tche n'a pas encore t dmarre ou elle est


encore active

1 : la tche a t excute sans erreur.


ERROR

OUTPUT

BOOL

E, A, M, D, L

STATUS

OUTPUT

WORD

E, A, M, D, L

Paramtres d'tat ERROR et STATUS, indication


d'erreur :
ERROR=0
STATUS a la valeur :
0000H : ni avertissement ni erreur
<> 0000H : avertissement, STATUS donne des
dtails.
ERROR=1
Une erreur est apparue, STATUS donne des
renseignements dtaills sur le type de l'erreur.

SD_1

IN_OUT

ANY

S7-300 : M, D
S7-400 : E, A,
M, D, T, Z

Pointeur sur la zone d'envoi. L'indication de longueur


n'est value qu'au premier appel de bloc suivant le
dmarrage chaud ou froid. Elle dtermine la
longueur maximale de la zone d'envoi.
Seuls les types de donnes suivants sont autoriss :
BOOL (pas le champ de bits), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME, COUNTER, TIMER.
Nota :
Quand le pointeur ANY accde un DB, il faut
toujours spcifier ce DB
(par ex. : P# DB10.DBX5.0 Byte 10).

LEN

19-16

IN_OUT

WORD

E, A, M, D, L

Longueur en octets du segment de donnes envoyer

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

Informations d'erreur
Le tableau suivant prsente toutes les informations d'erreur particulires au SFB/FB12
susceptibles d'tre communiques au moyen des paramtres ERROR et STATUS.
ERROR

STATUS
(dcimal)

Explication

11

Avertissement :

25

La nouvelle tche est sans effet, car la prcdente n'est pas encore termine.

La tche est dj excute dans une classe de priorit plus basse.

La communication a t lance. La tche est en cours de traitement.


Problmes de communication, par exemple :

description de la liaison pas charge (locale ou distante),

liaison interrompue (cble, CPU hors tension, CP l'Arrt),

la liaison au partenaire nest pas encore tablie.

Acquittement ngatif du SFB partenaire. La fonction ne peut tre excute.

R_ID est inconnu sur la liaison de communication indique par ID, ou le bloc
rcepteur n'a pas encore t appel.

Erreur dans le pointeur de zone de rception SD_1 quant la longueur des donnes
ou au type de donnes, ou la valeur 0 a t transmise au paramtre LEN.

Demande de rinitialisation excute

Le bloc partenaire est l'tat DISABLED (EN_R a la valeur 0). Vrifiez galement la
cohrence des paramtres dentre du bloc BRCV par rapport au bloc BSEND.

Le SFB partenaire n'est pas dans l'tat appropri.

Le bloc rcepteur n'a plus t appel aprs la dernire transmission de donnes.


Accs refus l'objet distant dans la mmoire utilisateur : la zone cible du SFB/FB13
"BRCV" correspondant est trop petite.
Le SFB/FB13 "BRCV" correspondant indique ERROR = 1, STATUS = 4 ou
ERROR = 1, STATUS = 10.
1

10

Accs impossible la mmoire utilisateur locale (ex. : accs un DB effac).

12

L'appel du SFB/FB mentionne

un DB d'instance qui n'appartient pas au SFB12,

non pas un DB d'instance, mais un DB global,

un DB d'instance introuvable (chargement d'un nouveau DB d'instance de la PG).

18

R_ID existe dj dans la liaison.

20

S7-400 : mmoire de travail insuffisante; s'il y a encore assez de mmoire en


tout, comprimer la mmoire de travail.

Systme H : un premier appel du SFB durant lactualisation n'est pas possible,


puisque le tampon de communication est cr dans la mmoire de travail; or,
toute mesure modifiant la mmoire de travail est impossible durant l'actualisation.

S7-300 :
- nombre maximal de tches/instances parallles dpass
- instances charges en RUN de la CPU
- possible lors du premier appel

27

Il n'y a pas de code de fonction pour ce bloc dans la CPU.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-17

Communication S7

Cohrence de donnes
Pour garantir la cohrence de donnes, vous n'tes autoris crire de nouveau dans la
partie actuellement utilise de la zone d'envoi SD_1 qu'une fois l'opration d'mission
termine. Ceci est le cas quand le paramtre d'tat DONE prend la valeur 1.

19-18

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

19.7

Rception de donnes par segments avec SFB/FB13


"BRCV"

Description
Le bloc SFB/FB13 "URCV" reoit des donnes d'un SFB/FB partenaire distant de type
"BSEND". Aprs rception de chaque segment de donnes, un acquittement est envoy
au SFB/FB partenaire et le paramtre LEN est mis jour.
Aprs l'appel, le bloc est prt recevoir quand l'entre de commande EN_R prend la
valeur 1. EN_R=0 permet d'interompre une tche en cours.
L'adresse de dbut de la zone de rception est donne par RD_1 et la longueur du
segment par LEN.
S7-300 : Aprs chaque front positif sur EN_R, les paramtres R_ID, ID et RD_1 sont pris
en compte. A la fin dune tche, vous pouvez affecter de nouvelles valeurs aux
paramtres R_ID, ID et RD_1. Pour la transmission de donnes segmentes, le bloc doit
tre appel de manire cyclique dans le programme utilisateur.
S7-400 et S7-300 via une interface intgre: La rception des donnes de la mmoire
utilisateur est asynchrone avec le traitement du programme utilisateur.
Le paramtre R_ID doit tre identique dans les deux SFB/FB travaillant ensemble.
Une valeur 1 au paramtre NDR indique la rception sans erreur de tous les segments
de donnes. Les donnes reues ne sont pas modifies jusqu' l'appel suivant du
SFB/FB13 avec EN_R=1.
Un nouvel appel du bloc pendant la rception asynchrone provoque la sortie d'un
avertissement dans le paramtre d'tat STATUS; si l'appel est accompagn d'une valeur
0 l'entre de commande EN_R, la rception est annule et le SFB/FB passe son tat
de base.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

EN_R

INPUT

BOOL

E, A, M, D, L,
constante

Paramtre de commande "Prt recevoir" (enabled


to receive); son tat logique 1 indique que le bloc est
prt recevoir.

ID

INPUT

WORD

M, D,
constante

Paramtre d'adressage ID, voir Paramtres


communs aux SFB/FB et aux SFC/FCde la
communication S7

R_ID

INPUT

DWORD

E, A, M, D, L,
constante

Paramtre d'adressage R_ID, voir Paramtres


communs aux SFB/FB et aux SFC/FC de la
communication S7
En cas de couplage via CP441 des appareils S5 ou
non Siemens, R_ID contient les informations
d'adresse de l'appareil distant. Reportez-vous la
description du CP441.

NDR

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat NDR :


0:

la tche n'a pas encore t dmarre ou elle est


encore active

1 : la tche a t excute sans erreur.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-19

Communication S7

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

ERROR

OUTPUT

BOOL

E, A, M, D, L

STATUS

OUTPUT

WORD

E, A, M, D, L

Paramtres d'tat ERROR et STATUS, indication


d'erreur :
ERROR=0
STATUS a la valeur :
0000H : ni avertissement ni erreur
<> 0000H : avertissement, STATUS donne
des dtails.
ERROR=1
Une erreur est apparue, STATUS donne des
renseignements dtaills sur le type de l'erreur.

RD_1

IN_OUT

ANY

S7-300 : M, D
S7-400 : E, A,
M, D, T, Z

Pointeur sur la zone de rception. L'indication de


longueur donne la longueur maximale du segment de
donnes recevoir.
Seuls les types de donnes suivants sont autoriss :
BOOL (pas le champ de bits), BYTE, CHAR WORD,
INT, DWORD, DINT, REAL ,DATE, TOD, TIME,
S5TIME, DATE_AND_TIME, COUNTER, TIMER
Nota :
Quand le pointeur ANY accde un DB, il faut
toujours spcifier ce DB
(par ex. : P# DB10.DBX5.0 Byte 10).

LEN

IN_OUT

WORD

E, A, M, D, L

Longueur en octets des donnes reues jusque-l.

Informations d'erreur
Le tableau suivant prsente toutes les informations d'erreur particulires au SFB/FB13
susceptibles d'tre communiques au moyen des paramtres ERROR et STATUS.
ERROR

STATUS
(dcimal)

Explication

11

Avertissement : les donnes de rception sont dj excutes dans une classe de


priorit plus basse.

17

Avertissement : le bloc reoit des donnes de manire asynchrone. Le paramtre


LEN indique, en octets, le nombre de donnes reues jusqu prsent.

Problmes de communication, par exemple :

description de la liaison pas charge (locale ou distante),

liaison interrompue (cble, CPU hors tension, CP l'Arrt),

la liaison au partenaire nest pas encore tablie.

Fonction impossible excuter (erreur de protocole)

Erreur dans le pointeur de zone de rception RD_1 quant la longueur des donnes
ou au type de donnes. Le segment de donnes envoy est plus long que la zone de
rception.

Demande de rinitialisation reue, transmission incomplte.

Erreur d'accs du SFB/FB12 "BSEND correspondant : aprs mission du dernier


segment de donnes valide, ERROR = 1 et STATUS = 4 sont signals, ou
ERROR = 1 et STATUS = 10.

19-20

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

ERROR

STATUS
(dcimal)

Explication

10

Accs impossible la mmoire utilisateur locale (ex. : accs un DB effac)

12

L'appel du SFB/FB mentionne

un DB d'instance qui n'appartient pas au SFB13,

non pas un DB d'instance, mais un DB global,

un DB d'instance introuvable (chargement d'un nouveau DB d'instance de la PG).

18

R_ID existe dj dans la liaison.

20

S7-400 : mmoire de travail insuffisante; s'il y a encore assez de mmoire en


tout, comprimer la mmoire de travail.

Systme H : un premier appel du SFB durant lactualisation n'est pas possible,


puisque le tampon de communication est cr dans la mmoire de travail; or,
toute mesure modifiant la mmoire de travail est impossible durant l'actualisation.

S7-300 :
- nombre maximal de tches/instances parallles dpass
- instances charges en RUN de la CPU
- possible lors du premier appel

27

Il n'y a pas de code de fonction pour ce bloc dans la CPU.

Cohrence de donnes
La rception des donnes s'effectuera avec cohrence si vous respectez les rgles
suivantes : effectuez l'exploitation complte de la partie actuellement utilise de la zone
de rception RD_1 avant dappeler nouveau le bloc en donnant la valeur 1 l'entre de
commande EN_R.

Cas particulier de rception de donnes (uniquement S7-400)


Voici ce qui se produit lorsque la CPU de rception passe l'tat d'arrt avec un bloc
BRCV prt recevoir (c'est--dire quand il y a dj eu un appel avec EN_R = 1) avant
que le bloc d'mission correspondant n'ait envoy le premier segment de donnes d'une
tche :

Les donnes de la premire tche suivant le passage de la CPU de rception l'arrt


sont crites intgralement dans la zone de rception;

Le SFB partenaire "BSEND" reoit ce sujet un acquittement positif;

La CPU de rception l'arrt n'est plus en mesure d'accepter d'autres tches


BSEND;

Tant qu'elle reste l'arrt, les paramtres NDR et LEN ont la valeur 0.

Pour ne pas perdre les informations relatives aux donnes reues, vous devez effectuer
un redmarrage de la CPU de rception et appeler le SFB13 "BRCV" avec EN_R = 1.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-21

Communication S7

19.8

Lecture de donnes dans une CPU distante avec SFB/FB14


"GET"

Description
Le bloc SFB/FB14 "GET" sert lire des donnes dans une CPU distante.
S7-300 : L'opration de lecture a lieu aprs un front montant sur l'entre REQ. Les
paramtres ID, ADDR_1 et RD_1 sont pris en compte chaque front montant de REQ.
Ala fin dune tche, vous pouvez affecter de nouvelles valeurs aux paramtres ID,
ADDR_1 et RD_1.
S7-400 : Le SFB est lanc sur front montant l'entre de commande REQ. Les pointeurs
requis indiquant les zones o lire les donnes (ADDR_i) sont envoys la CPU
partenaire.
Aprs lecture le partenaire distant renvoie le contenu des donnes.
Les donnes reues sont copies dans les zones de rception configures (RD_i) lors de
l'appel suivant du SFB/FB.
Veillez ce que les zones dfinies par les paramtres ADDR_i et RD_i concordent en
nombre, en longueur et en type de donnes.
Une valeur 1 au paramtre d'tat NDR indique la fin de cette opration.
Pour activer de nouveau une lecture, il faut attendre que la prcdente soit termine.
La CPU distante peut tre l'tat de marche ou d'arrt.
Si la lecture a rencontr des problmes d'accs aux donnes ou si le contrle du type de
donnes a rvl une erreur, les paramtres ERROR et STATUS affichent des erreurs et
des avertissements.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L

Paramtre de commande request (demande); son


front montant active l'change de donnes.

ID

INPUT

WORD

M, D,
constante

Paramtre d'adressage ID, voir Paramtres


communs aux SFB/FB et aux SFC/FC de la
communication S7

NDR

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat NDR :


0:

la tche n'a pas encore t dmarre ou elle


est encore active

1 : la tche a t excute sans erreur.


ERROR

OUTPUT

BOOL

E, A, M, D, L

STATUS

OUTPUT

WORD

E, A, M, D, L

Paramtres d'tat ERROR et STATUS, indication


d'erreur :
ERROR=0
STATUS a la valeur :
0000H : ni avertissement ni erreur
<> 0000H : avertissement, STATUS
donne des dtails.
ERROR=1
Une erreur est apparue, STATUS donne des
renseignements dtaills sur le type de l'erreur.

19-22

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

S7-300:

IN_OUT

ANY

S7-300 :

Pointeur sur les zones lire dans la CPU


partenaire

ADDR_1

M, D

S7-400:

S7-400 :

ADDR_i

E, A, M, D, T,
Z

(1 i 4)
S7-300:

IN_OUT

ANY

RD_1

S7-300 :
M, D

S7-400:

S7-400 :

RD_i

E, A, M, D, T,
Z

(1 i 4)

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Pointeur sur les zones de la propre CPU dans


lesquelles les donnes lues sont stockes.
Seuls les types de donnes suivants sont
autoriss : BOOL (pas le champ de bits), BYTE,
CHAR, WORD, INT, DWORD, DINT, REAL,
COUNTER, TIMER.
Nota :
Quand le pointeur ANY accde un DB, il faut
toujours spcifier ce DB
(par ex. : P# DB10.DBX5.0 Byte 10).

19-23

Communication S7

Informations d'erreur
Le tableau suivant prsente toutes les informations d'erreur particulires au SFB/FB14
susceptibles d'tre communiques au moyen des paramtres ERROR et STATUS.
ERROR

STATUS
(dcimal)

Explication

11

Avertissement :

25

La nouvelle tche est sans effet, car la prcdente n'est pas encore termine.

La tche est dj excute dans une classe de priorit plus basse.

La communication a t lance. La tche est en cours de traitement.


Problmes de communication, par exemple :

description de la liaison pas charge (locale ou distante),

liaison interrompue (cble, CPU hors tension, CP l'Arrt),

la liaison au partenaire nest pas encore tablie.

Acquittement ngatif du partenaire. La fonction ne peut tre excute.

Erreur dans les pointeurs de zone de rception RD_i quant la longueur des
donnes ou au type de donnes.

Erreur d'accs dans la CPU partenaire

10

Accs impossible la mmoire utilisateur locale (ex. : accs un DB effac)

12

20

27

L'appel du SFB/FB mentionne

un DB d'instance qui n'appartient pas au SFB14,

non pas un DB d'instance, mais un DB global,

un DB d'instance introuvable (chargement d'un nouveau DB d'instance de la


PG).

S7-400 : mmoire de travail insuffisante; s'il y a encore assez de mmoire en


tout, comprimer la mmoire de travail.

Systme H : un premier appel du SFB durant lactualisation n'est pas


possible, puisque le tampon de communication est cr dans la mmoire de
travail; or, toute mesure modifiant la mmoire de travail est impossible durant
l'actualisation.

S7-300 :
- nombre maximal de tches/instances parallles dpass
- instances charges en RUN de la CPU
- possible lors du premier appel

Il n'y a pas de code de fonction pour ce bloc dans la CPU.

Cohrence de donnes
Les donnes seront reues avec cohrence si vous tenez compte de la rgle suivante :
Exploitez compltement la partie actuellement utilise de la zone de rception RD_i avant
dactiver une nouvelle tche.

19-24

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

19.9

Ecriture de donnes dans une CPU distante avec SFB/FB15


"PUT"

Description
Le bloc SFB/FB15 "PUT" sert crire des donnes dans une CPU distante.
S7-300 : L'mission a lieu aprs un front montant sur l'entre REQ. Les paramtres ID,
ADDR_1 et SD_1 sont pris en compte chaque front montant de REQ. A la fin dune
tche, vous pouvez affecter de nouvelles valeurs aux paramtres ID, ADDR_1 et SD_1.
S7-400 : Le SFB est lanc sur front montant l'entre de commande REQ. Les pointeurs
indiquant les zones o crire les donnes (ADDR_i) et les donnes (SD_i) sont envoyes
la CPU partenaire.
Le partenaire distant stocke les donnes aux adresses envoyes et met en retour un
message d'acquittement.
Veillez ce que les zones dfinies par les paramtres ADDR_i et RD_i concordent en
nombre, en longueur et en type de donnes.
Si aucune erreur n'est apparue, une valeur 1 l'indique dans le paramtre d'tat DONE
lors de l'appel suivant du SFB/FB.
Pour activer de nouveau une opration d'criture, il faut attendre que la prcdente soit
termine.
La CPU distante peut tre l'tat de marche ou d'arrt.
Si l'criture a rencontr des problmes d'accs aux donnes ou si le contrle de
l'acquittement d'excution a rvl une erreur, les paramtres ERROR et STATUS
affichent des erreurs et des avertissements.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L Paramtre de commande request (demande); son


front montant active l'change de donnes.

ID

INPUT

WORD

M, D,
constante

DONE

OUTPUT

BOOL

E, A, M, D, L Paramtre d'tat DONE :

Paramtre d'adressage ID, voir Paramtres


communs aux SFB/FB et aux SFC/FC de la
communication S7
0:

la tche n'a pas encore t dmarre ou elle


est encore active

1 : la tche a t excute sans erreur.


ERROR

OUTPUT

BOOL

STATUS

OUTPUT

WORD

E, A, M, D, L Paramtres d'tat ERROR et STATUS, indication


E, A, M, D, L d'erreur :
ERROR=0
STATUS a la valeur :
0000H : ni avertissement ni erreur
<> 0000H : avertissement, STATUS donne
des dtails.
ERROR=1
Une erreur est apparue, STATUS donne des
renseignements dtaills sur le type de l'erreur.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-25

Communication S7

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

S7-300:

IN_OUT

ANY

M, D

Pointeur sur les zones de la CPU partenaire o


crire

ADDR_1
E, A, M, D,
T, Z

S7-400:
ADDR_i
(1 i 4)
S7-300:

S7-300 :

SD_1

M, D

Pointeur sur les zones de la propre CPU contenant


les donnes envoyer.

S7-400:

S7-400 :

Pointeur sur les zones de la propre CPU dans


lesquelles les donnes lues sont stockes.

SD_i

E, A, M, D,
T, Z

IN_OUT

ANY

(1 i 4)

Seuls les types de donnes suivants sont autoriss


: BOOL (pas le champ de bits), BYTE, CHAR,
WORD, INT, DWORD, DINT, REAL, COUNTER,
TIMER.
Nota :
Quand le pointeur ANY accde un DB, il faut
toujours spcifier ce DB
(par ex. : P# DB10.DBX5.0 Byte 10).

Informations d'erreur
Le tableau suivant prsente toutes les informations d'erreur particulires au SFB/FB15
susceptibles d'tre communiques au moyen des paramtres ERROR et STATUS.
ERROR

STATUS
(dcimal)

11

25

Explication
Avertissement :

La nouvelle tche est sans effet, car la prcdente n'est pas encore termine.

La tche est dj excute dans une classe de priorit plus basse.

La communication a t lance. La tche est en cours de traitement.


Problmes de communication, par exemple :

description de la liaison pas charge (locale ou distante),

liaison interrompue (cble, CPU hors tension, CP l'Arrt)

la liaison au partenaire nest pas encore tablie.

Acquittement ngatif du partenaire. La fonction ne peut tre excute.

Erreur dans les pointeurs de zone d'envoi SD_i quant la longueur des donnes
ou au type de donnes

Erreur d'accs dans la CPU partenaire

10

Accs impossible la mmoire utilisateur locale (ex. : accs un DB effac)

12

L'appel du SFB/FB mentionne

19-26

un DB d'instance qui n'appartient pas au SFB/FB15,

non pas un DB d'instance, mais un DB global,

un DB d'instance introuvable (chargement d'un nouveau DB d'instance de la


PG).

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

ERROR

STATUS
(dcimal)

Explication

20

S7-400 : mmoire de travail insuffisante; s'il y a encore assez de mmoire en


tout, comprimer la mmoire de travail.

Systme H : un premier appel du SFB durant lactualisation n'est pas


possible, puisque le tampon de communication est cr dans la mmoire de
travail; or, toute mesure modifiant la mmoire de travail est impossible durant
l'actualisation.

S7-300 :
- nombre maximal de tches/instances parallles dpass
- instances charges en RUN de la CPU
- possible lors du premier appel

27

Il n'y a pas de code de fonction pour ce bloc dans la CPU.

Cohrence de donnes pour S7-300


Pour garantir la cohrence de donnes, vous ne pouvez crire nouveau dans la zone
d'mission SD_1 que lorsque l'opration d'mission active est termine. Ceci est le cas
ds que le paramtre d'tat DONE prend la valeur 1.

Cohrence de donnes pour S7-400 et S7-300 via une interface intgre


A lactivation dune procdure dmission (front montant sur REQ), les donnes mettre
des zones dmission SD_i sont copies depuis le programme utilisateur. Aprs lappel
du bloc, vous pouvez nouveau crire dans ces zones sans falsifier les donnes
dmission actuelles.
Nota
La procdure dmission globale nest termine que lorsque le paramtre dtat DONE
prend la valeur 1.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-27

Communication S7

19.10

Envoi de donnes une imprimante avec SFB16 "PRINT"

Description
Le bloc SFB16 "PRINT" sert envoyer des donnes une imprimante distante, avec une
instruction de format, par exemple l'aide du CP441.
Un front montant l'entre de commande REQ provoque l'envoi de la description de
format (FORMAT) et des donnes (SD_i) l'imprimante qui a t slectionne au moyen
de ID et de PRN_NR.Si vous n'utilisez pas les quatre zones d'envoi, veillez ce que le
paramtre SD_1 s'applique la premire zone, SD_2 la deuxime (s'il y en a une) et
SD_3 la troisime (s'il y en a une).
L'excution correcte de la tche est indique par la valeur 1 du paramtre d'tat DONE,
les erreurs survenues sont signales par les paramtres d'tat ERROR et STATUS.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L

Paramtre de commande request (demande); son


front montant active l'change de donnes.

ID

INPUT

WORD

M, D,
constante

Paramtre d'adressage ID, voir Paramtres


communs aux SFB/FB et aux SFC/FC de la
communication S7

DONE

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat DONE :


0:

la tche n'a pas encore t dmarre ou elle


est encore active

1 : la tche a t excute sans erreur.


ERROR

OUTPUT

BOOL

E, A, M, D, L

STATUS

OUTPUT

WORD

E, A, M, D, L

Paramtres d'tat ERROR et STATUS, indication


d'erreur :
ERROR=0
STATUS a la valeur :
0000H : ni avertissement ni erreur
<> 0000H : avertissement, STATUS
donne des dtails.
ERROR=1
Une erreur est apparue, STATUS donne des
renseignements dtaills sur le type de l'erreur.

PRN_NR

IN_OUT

BYTE

E, A, M, D, L

Numro de l'imprimante

FORMAT

IN_OUT

STRING

E, A, M, D, L

Description de format

SD_i

IN_OUT

ANY

M, D, T, Z

Pointeur sur la i-me zone d'envoi.

(1 i 4)

Seuls les types de donnes suivants sont


autoriss : BOOL (pas le champ de bits), BYTE,
CHAR, WORD, INT, DWORD, DINT, REAL,
DATE, TOD, TIME, S5TIME, DATE_AND_TIME.
Nota :
Quand le pointeur ANY accde un DB, il faut
toujours spcifier ce DB
(par ex. : p# DB10.DBX5.0 Byte 10).

Paramtre d'entre/sortie FORMAT


La chane de caractres FORMAT contient des caractres imprimer et des lments de
format. En voici la composition :

19-28

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

Caractres

Instruction de conversion

Instruction de commande

FORMAT doit contenir exactement une instruction de conversion par zone d'envoi SD_1
SD_4 imprimer. Ces instructions de conversion seront appliques dans l'ordre aux
zones d'envoi SD_i. A part cela, les caractres et les instructions peuvent se succder
dans n'importe quel ordre.

Caractres :
Sont autoriss
tous les caractres imprimables,

$$ (dollar), $' (apostrophe), $L et $l (saut de ligne), $P et $p (page), $R et $r


(retour de chariot), $T et $t (tabulateur).

Instruction de conversion

Drapeaux

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Largeur

Prcision

Mode de reprs.

19-29

Communication S7

Elment d'une
instruction de
conversion

Signification

Drapeaux

sans : impression aligne droite

-:

sans : impression selon la reprsentation standard

n:

Largeur

Prcision

impression aligne gauche


impression de n caractres exactement;
pour l'alignement droite, des blancs sont placs devant s'il le faut, pour
l'alignement gauche, ils sont placs derrire.

La prcision n'a de sens que pour les modes de reprsentation A, D, F et R (voir tableau cidessous).

Mode de
reprsentation

sans : impression selon la reprsentation standard

0:

n:

pas d'impression du point dcimal ni des positions aprs le point dans les modes
de reprsentation F et R
-

pour F et R : impression du point dcimal et de n positions aprs ce


point;

pour A et D (date) : nombre de positions pour indiquer l'anne, valeurs


possibles 2 ou 4.

Le tableau ci-dessous prcise

les modes de reprsentation possibles,

les types de donnes possibles pour chaque mode de reprsentation,

la reprsentation standard pour chaque mode (celle qui est utilise quand vous n'indiquez
ni largeur ni prcision dans le paramtre FORMAT) et sa longueur maximale.

Le tableau suivant montre des modes de reprsentation possibles dans l'instruction de


conversion du paramtre FORMAT.
Mode de
reprsentation

Types de
donnes
possibles

Reprsentation standard

Exemple
A, a

DATE

25.07.1996

Remarques

Longueur
10

DWORD
C, c

CHAR

BYTE

WORD

KL

DWORD
ARRAY of
CHAR

KLMN

KLMNOP

Nombre de
caractres

1996-07-25

10

0.345678

Selon le type
de donnes

Selon le type
de donnes

Reprsentation hexadcimale

- 32 768

6 au max.

ARRAY of
BYTE
D, d

DATE

F, f

REAL

H, h

Tous les types


y compris
ARRAY of
BYTE

DWORD
DWORD

I, i

19-30

INT

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

Mode de
reprsentation

Types de
donnes
possibles

Reprsentation standard

Remarques

WORD

- 2 147 483
648

11 au max.

N, n

WORD

Impression de
texte

La zone d'envoi correspondante SD_i


contient un renvoi (numro) un texte
imprimer. Le texte se trouve sur le
module (ex. : CP 441) qui cre une
chane de caractres imprimable. S'il n'y
a pas de texte au numro indiqu, c'est
****** qui est imprim.

R, r

REAL

0.12E-04

DWORD
S, s

STRING

Impression de
texte

T, t

TIME

2d_3h_10m_
5s_250ms

21 au max.

En cas d'erreur, c'est ****** qui est


imprim.

U, u

BYTE

255

3 au max.

WORD

65 535

5 au max.

DWORD

DWORD
X, x

Z, z

4 294 967 295

10 au max.

BOOL

BYTE

101 ..

WORD

101 ..

16

DWORD

101 ..

32

15:38:59.874

12

TIME_OF_DAY
(TOD)

Quand le tableau indique une longueur maximale de la reprsentation standard,


l'impression effective peut tre aussi plus courte.
Nota
Pour les modes de reprsentation C et S, c'est l'imprimante utilise qui conditionne

les caractres pouvant tre imprims,

ce que l'imprimante sort pour les caractres impossibles imprimer, moins que le
pilote d'imprimante ne contienne une table de conversion pour ces caractres.

Instruction de commande
Les instructions de commande vous permettent
-

d'imprimer les caractres % et \,

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-31

Communication S7

Impression du caractre %

Impression du caractre \

Activ
er
Dsactive
r

caractres
gras
-

b
B

caractres
troits

c
CC

caractres larges

E
italiqu
e

I
petites
capitales

K
soulign

u
U
U

de modifier les options de l'imprimante.

S'il s'agit, par exemple, de dsactiver un type de caractres qui n'a pas t activ ou
d'excuter une fonction que l'imprimante ne connat pas, il n'est pas tenu compte de cette
instruction de commande.
Erreur

Sortie imprime

Instruction de conversion
impossible excuter

Des caractres * sont imprims conformment la longueur (maximale) de


la reprsentation standard ou conformment la largeur indique.

Largeur indique trop minime

Pour les modes de reprsentation A, C, D, N, S, T, Z, le nombre de


caractres exig par la largeur indique est imprim. Pour tous les autres
modes de reprsentation, des caractres * sont imprims conformment
la largeur indique.

Trop d'instructions de conversion

Il n'est pas tenu compte des instructions de conversion ne correspondant


aucun pointeur de zone d'envoi SD_i.

Pas assez d'instructions de


conversion

Les zones d'envoi pour lesquelles l'instruction de conversion manque ne


sont pas imprimes.

Instructions de conversion non


dfinies ou non compatibles

L'imprimante sort ******.

Instruction de conversion
incomplte

L'imprimante sort ******.

Instructions de commande non


dfinies ou non compatibles

Il n'est pas tenu compte des instructions de conversion ne respectant pas


la syntaxe de la figure ci-dessus.

19-32

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

Informations d'erreur
Le tableau suivant prsente toutes les informations d'erreur particulires au SFB16
"PRINT", susceptibles d'tre communiques au moyen des paramtres ERROR et
STATUS.
ERROR

STATUS(dcimal)

Explication

11

Avertissement :

25

La nouvelle tche est sans effet, car la prcdente n'est pas encore
termine.

La tche est dj excute dans une classe de priorit plus basse.

La communication a t lance. La tche est en cours de traitement.


Problmes de communication, par exemple :

description de la liaison pas charge (locale ou distante),

1
1
1

2
3
4

1
1

6
7

10

13

liaison interrompue (cble, CPU hors tension, CP l'Arrt).


Acquittement ngatif de l'imprimante. La fonction ne peut tre excute.
PRN_NR est inconnu sur la liaison de communication indique par ID.
Erreur dans le paramtre d'entre/sortie FORMAT ou dans les pointeurs
de zone d'envoi SD_i quant la longueur des donnes ou au type de
donnes.
L'imprimante distante est l'tat HORS LIGNE.
L'imprimante distante est dans un tat incorrect
(ex. : manque de papier)
Accs impossible la mmoire utilisateur locale
(ex. : accs un DB effac).
Erreur dans le paramtre d'entre/sortie FORMAT

20

S7-400 : mmoire de travail insuffisante; s'il y a encore assez de


mmoire en tout, comprimer la mmoire de travail.

Systme H : un premier appel du SFB durant lactualisation n'est pas


possible, puisque le tampon de communication est cr dans la
mmoire de travail; or, toute mesure modifiant la mmoire de travail
est impossible durant l'actualisation.

Nombre de donnes transmissibles


Le nombre de donnes transmettre une imprimante distante ne doit pas dpasser
une longueur maximale. Voici comment calculer cette longueur maximale des donnes :
maxleng = 420 - format
format tant la longueur en cours du paramtre FORMAT en octets.Que vous rpartissiez
les donnes imprimer sur une ou plusieurs zones d'mission est sans importance.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-33

Communication S7

19.11

Dmarrage chaud ou froid d'un appareil distant avec


SFB19 "START"

Description
Quand son entre de commande REQ a un front montant, le bloc SFB19 "START" active
un dmarrage chaud ou froid dans l'appareil distant dont l'adresse est donne par ID.
Lorsque l'appareil distant est un systme H, l'effet de la tche de dmarrage dpend du
paramtre PI_NAME : la tche de dmarrage concerne soit une CPU prcise, soit toutes
les CPU du systme H. Si l'appareil distant est une CPU, il y a deux conditions ce
dmarrage :

la CPU doit tre l'tat d'arrt (STOP),

le commutateur cl de la CPU doit tre sur "RUN" ou sur "RUN-P".

Aprs la procdure de dmarrage chaud ou froid, l'appareil passe l'tat de


fonctionnement Marche et envoie un acquittement d'excution positif. L'valuation de cet
acquittement positif met 1 le paramtre d'tat DONE. Les erreurs ventuelles sont
indiques au moyen des paramtres d'tat ERROR et STATUS.
Pour activer de nouveau un dmarrage chaud ou froid dans le mme appareil distant,
il faut attendre que le prcdent soit termin.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L

Paramtre de commande request (demande); son


front montant active le SFB.

ID

INPUT

WORD

M, D,
constante

Paramtre d'adressage ID, voir Paramtres


communs aux SFB/FB et aux SFC/FC de la
communication S7

DONE

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat DONE :


0:

la tche n'a pas encore t dmarre ou elle est


encore active

1 : la tche a t excute sans erreur.


ERROR

OUTPUT

BOOL

E, A, M, D, L

STATUS

OUTPUT

WORD

E, A, M, D, L

Paramtres d'tat ERROR et STATUS, indication


d'erreur :
ERROR=0
STATUS a la valeur :
0000H : ni avertissement ni erreur
<> 0000H : avertissement, STATUS donne
des dtails.
ERROR=1
Une erreur est apparue, STATUS donne des
renseignements dtaills sur le type de l'erreur.

19-34

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

PI_NAME

IN_OUT

ANY

E, A, M, D, T,
Z

Pointeur sur la zone de mmoire contenant le nom


du programme lancer (en code ASCII). Ce nom
peut comporter 32 caractres au plus.
Pour un systme standard de la famille S7, ce doit
tre P_PROGRAM.
Sur un systme H, les noms suivants sont possibles :

ARG

IO_STATE

IN_OUT

IN_OUT

ANY

BYTE

E, A, M, D, T,
Z

E, A, M, D, L

P_PROGRAM (la tche de dmarrage concerne


toutes les CPU du systme H),

P_PROG_0 (la tche de dmarrage concerne la


CPU dans le rack 0 du systme H),

P_PROG_1 (la tche de dmarrage concerne la


CPU dans le rack 1 du systme H).

Argument d'excution

Si vous ne donnez pas de valeur ce paramtre,


c'est un dmarrage chaud qui sera excut
dans l'appareil distant.

Si vous lui donnez la valeur "C", c'est un


dmarrage froid qui sera excut dans
l'appareil distant (s'il dispose de ce type de mise
en route).

Actuellement insignifiant.
Actuellement, il ne faut pas donner de valeur ce
paramtre si votre partenaire de communication est
un automate programmable de la famille S7.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-35

Communication S7

Informations d'erreur
Le tableau suivant prsente toutes les informations d'erreur particulires au SFB19
susceptibles d'tre communiques au moyen des paramtres ERROR et STATUS.
ERROR

STATUS
(dcimal)

Explication

11

Avertissement :

25

La nouvelle tche est sans effet, car la prcdente n'est pas encore termine.

La tche est dj excute dans une classe de priorit plus basse.

La communication a t lance. La tche est en cours de traitement.


Problmes de communication, par exemple :

description de la liaison pas charge (locale ou distante),

liaison interrompue (cble, CPU hors tension, CP l'Arrt).

Acquittement ngatif du partenaire. La fonction ne peut tre excute.

Le nom de programme rang dans PI_NAME est inconnu.

Erreur dans les pointeurs PI_NAME ou ARG quant la longueur des donnes ou au
type de donnes

Un dmarrage n'est pas possible dans l'appareil partenaire.

10

Accs impossible la mmoire utilisateur locale (ex. : accs un DB effac)

12

L'appel du SFB mentionne

19-36

20

un DB d'instance qui n'appartient pas au SFB19,

non pas un DB d'instance, mais un DB global,

un DB d'instance introuvable (chargement d'un nouveau DB d'instance de la PG).

S7-400 : mmoire de travail insuffisante; s'il y a encore assez de mmoire en


tout, comprimer la mmoire de travail.

Systme H : un premier appel du SFB durant lactualisation n'est pas possible,


puisque le tampon de communication est cr dans la mmoire de travail; or,
toute mesure modifiant la mmoire de travail est impossible durant l'actualisation.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

19.12

Arrt d'un appareil distant avec SFB20 "STOP"

Description
Quand son entre de commande REQ a un front montant, le bloc SFB20 "STOP" active
la mise l'arrt (STOP) de l'appareil distant dont l'adresse est donne par ID. Ce
changement d'tat de fonctionnement est possible quand l'appareil est l'un des tats
Marche, Attente ou Mise en Route.
Lorsque l'appareil distant est un systme H, l'effet de la tche de dmarrage dpend du
paramtre PI_NAME : la tche de dmarrage concerne soit exactement une CPU, soit
toutes les CPU du systme H.
L'excution correcte de la tche est indique par une valeur 1 dans le paramtre d'tat
DONE. Les erreurs ventuelles sont communiques au moyen des paramtres d'tat
ERROR et STATUS.
Pour activer de nouveau ce changement d'tat de fonctionnement dans le mme appareil
distant, il faut attendre que le prcdent soit termin.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L

Paramtre de commande request (demande); son


front montant active le SFB.

ID

INPUT

WORD

M, D,
constante

Paramtre d'adressage ID, voir Paramtres communs


aux SFB/FB et aux SFC/FC de la communication S7

DONE

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat DONE :


0:

la tche n'a pas encore t dmarre ou elle est


encore active

1 : la tche a t excute sans erreur.


ERROR

OUTPUT

BOOL

E, A, M, D, L

STATUS

OUTPUT

WORD

E, A, M, D, L

Paramtres d'tat ERROR et STATUS, indication


d'erreur :
ERROR=0
STATUS a la valeur :
0000H : ni avertissement ni erreur
<> 0000H : avertissement, STATUS donne des
dtails.
ERROR=1
Une erreur est apparue, STATUS donne des
renseignements dtaills sur le type de l'erreur.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-37

Communication S7

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

PI_NAME

IN_OUT

ANY

E, A, M, D

Pointeur sur la zone de mmoire contenant le nom du


programme arrter (en code ASCII). Ce nom peut
comporter 32 caractres au plus.
Pour un systme standard de la famille S7, ce doit tre
P_PROGRAM.
Sur un systme H, les noms suivants sont possibles :

IO_STATE

IN_OUT

BYTE

E, A, M, D, L

P_PROGRAM (la tche de dmarrage concerne


toutes les CPU du systme H),

P_PROG_0 (la tche de dmarrage concerne la


CPU dans le rack 0 du systme H),

P_PROG_1 (la tche de dmarrage concerne la


CPU dans le rack 1 du systme H).

Actuellement insignifiant.
Actuellement, il ne faut pas donner de valeur ce
paramtre si votre partenaire de communication est un
automate programmable de la famille S7.

19-38

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

Informations d'erreur
Le tableau suivant prsente toutes les informations d'erreur particulires au SFB20
susceptibles d'tre communiques au moyen des paramtres ERROR et STATUS.
ERROR

STATUS
(dcimal)

Explication

11

Avertissement :

25

La nouvelle tche est sans effet, car la prcdente n'est pas encore termine.

La tche est dj excute dans une classe de priorit plus basse.

La communication a t lance. La tche est en cours de traitement.


Problmes de communication, par exemple :

description de la liaison pas charge (locale ou distante),

liaison interrompue (cble, CPU hors tension, CP l'Arrt).

Acquittement ngatif du partenaire. La fonction ne peut tre excute.

Le nom de programme rang dans PI_NAME est inconnu.

Erreur dans le pointeur PI_NAME quant la longueur des donnes ou au type de


donnes.

L'appareil partenaire est dj l'tat d'arrt.

10

Accs impossible la mmoire utilisateur locale (ex. : accs un DB effac)

12

L'appel du SFB mentionne

20

un DB d'instance qui n'appartient pas au SFB20,

non pas un DB d'instance, mais un DB global,

un DB d'instance introuvable (chargement d'un nouveau DB d'instance de la PG).

S7-400 : mmoire de travail insuffisante; s'il y a encore assez de mmoire en


tout, comprimer la mmoire de travail.

Systme H : un premier appel du SFB durant lactualisation n'est pas possible,


puisque le tampon de communication est cr dans la mmoire de travail; or,
toute mesure modifiant la mmoire de travail est impossible durant l'actualisation.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-39

Communication S7

19.13

Redmarrage d'un appareil distant avec SFB21 "RESUME"

Description
Quand son entre de commande REQ a un front montant, le bloc SFB21 "RESUME"
active un redmarrage dans l'appareil distant dont l'adresse est donne par ID. Si cet
appareil distant est une CPU, il y a trois conditions ce redmarrage :

la CPU doit tre l'tat d'arrt (STOP),

le commutateur cl de la CPU doit tre sur "RUN" ou sur "RUN-P",

vous devez avoir autoris un redmarrage manuel lors de la configuration avec


STEP 7,

il ne doit pas y avoir d'obstacle au redmarrage.

Aprs la procdure de redmarrage, l'appareil passe l'tat de fonctionnement Marche


(RUN) et envoie un acquittement d'excution positif. L'valuation de cet acquittement
positif met 1 le paramtre d'tat DONE. Les erreurs ventuelles sont indiques au
moyen des paramtres d'tat ERROR et STATUS.
Pour activer de nouveau un redmarrage dans le mme appareil distant, il faut attendre
que le prcdent soit termin.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L

Paramtre de commande request (demande); son


front montant active le SFB.

ID

INPUT

WORD

M, D,
constante

Paramtre d'adressage ID, voir Paramtres communs


aux SFB/FB et aux SFC/FC de la communication S7

DONE

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat DONE :


0:

la tche n'a pas encore t dmarre ou elle est


encore active

1 : la tche a t excute sans erreur.


ERROR

OUTPUT

BOOL

E, A, M, D, L

STATUS

OUTPUT

WORD

E, A, M, D, L

Paramtres d'tat ERROR et STATUS, indication


d'erreur :
ERROR=0
STATUS a la valeur :
0000H : ni avertissement ni erreur
<> 0000H : avertissement, STATUS donne
des dtails.
ERROR=1
Une erreur est apparue, STATUS donne des
renseignements dtaills sur le type de l'erreur.

PI_NAME

IN_OUT

ANY

E, A, M, D

Pointeur sur la zone de mmoire contenant le nom du


programme lancer (en code ASCII). Ce nom peut
comporter 32 caractres au plus. Avec S7, il doit tre
P_PROGRAM.

ARG

IN_OUT

ANY

E, A, M, D, T,
Z

Argument d'excution, insignifiant actuellement.


Actuellement, il ne faut pas donner de valeur ce
paramtre si votre partenaire de communication est un
automate programmable de la famille S7.

19-40

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

IO_STATE

IN_OUT

BYTE

E, A, M, D, L

Actuellement insignifiant. Actuellement, il ne faut pas


donner de valeur ce paramtre si votre partenaire de
communication est un automate programmable de la
famille S7.

Informations d'erreur
Le tableau suivant prsente toutes les informations d'erreur particulires au SFB21
susceptibles d'tre communiques au moyen des paramtres ERROR et STATUS.
ERROR

STATUS
(dcimal)

11

Explication
Avertissement :

La nouvelle tche est sans effet, car la prcdente n'est pas encore termine.

La tche est dj excute dans une classe de priorit plus basse.

25

La communication a t lance. La tche est en cours de traitement.

Problmes de communication, par exemple :

description de la liaison pas charge (locale ou distante),

liaison interrompue (cble, CPU hors tension, CP l'Arrt).

Acquittement ngatif du partenaire. La fonction ne peut tre excute.

Le nom de programme rang dans PI_NAME est inconnu.

Erreur dans les pointeurs PI_NAME ou ARG quant la longueur des donnes ou au
type de donnes.

Un redmarrage n'est pas possible.

10

Accs impossible la mmoire utilisateur locale (ex. : accs un DB effac)

12

20

L'appel du SFB mentionne

un DB d'instance qui n'appartient pas au SFB21,

non pas un DB d'instance, mais un DB global,

un DB d'instance introuvable (chargement d'un nouveau DB d'instance de la PG).

S7-400 : mmoire de travail insuffisante; s'il y a encore assez de mmoire en


tout, comprimer la mmoire de travail.

Systme H : un premier appel du SFB durant lactualisation n'est pas possible,


puisque le tampon de communication est cr dans la mmoire de travail; or,
toute mesure modifiant la mmoire de travail est impossible durant l'actualisation.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-41

Communication S7

19.14

Interrogation de l'tat d'un appareil distant avec SFB22


"STATUS"

Description
Le bloc SFB22 "STATUS" sert interroger l'tat d'un appareil distant qui est partenaire
de communication.
Quand le paramtre de commande REQ a un front positif, une tche est envoye au
partenaire distant. La rponse est value pour savoir s'il y a eu des problmes. Si
aucune erreur n'est apparue, l'tat reu est copi dans les variables PHYS, LOG et
LOCAL l'appel suivant du SFB. Une valeur 1 au paramtre d'tat NDR indique la fin de
l'opration.
Pour interroger de nouveau l'tat du mme appareil distant, il faut attendre que
l'interrogation prcdente soit termine.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L

Paramtre de commande request (demande); son


front montant active le SFB.

ID

INPUT

WORD

M, D,
constante

Paramtre d'adressage ID, voir Paramtres communs


aux SFB/FB et aux SFC/FC de la communication S7

NDR

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat NDR :


0:

la tche n'a pas encore t dmarre ou elle est


encore active

1 : la tche a t excute sans erreur.


ERROR

OUTPUT

BOOL

E, A, M, D, L

STATUS

OUTPUT

WORD

E, A, M, D, L

Paramtres d'tat ERROR et STATUS, indication


d'erreur :
ERROR=0
STATUS a la valeur :
0000H : ni avertissement ni erreur
<> 0000H : avertissement, STATUS donne des
dtails.
ERROR=1
Une erreur est apparue, STATUS donne des
renseignements dtaills sur le type de l'erreur.

PHYS

LOG

IN_OUT

IN_OUT

ANY

ANY

E, A, M, D

E, A, M, D

Etat physique (longueur minimale : un octet)


Valeurs possibles :

10H utilisable 100 %

13H maintenance requise

Etat logique (longueur minimale : un octet)


Valeur possible :

LOCAL

IN_OUT

ANY

E, A, M, D

00H changement d'tat autoris

Etat de fonctionnement si le partenaire est une CPU


de S7 (longueur minimale : deux octets)

Paramtre d'entre/sortie LOCAL


Si le partenaire de communication est une CPU de S7, le paramtre d'entre/sortie
LOCAL en contient l'tat de fonctionnement en cours : le premier octet est rserv, le
second contient un code indiquant l'tat de fonctionnement.

19-42

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

Etat de fonctionnement

Code correspondant

Arrt

00H

Mise en route (dmarrage chaud)

01H

Marche

02H

Mise en route (redmarrage)

03H

Attente

04H

Mise en route (dmarrage froid)

06H

RUN (tat du systme H : redondant)

09H

Couplage

0BH

Actualisation

0CH

Informations d'erreur
Le tableau suivant prsente toutes les informations d'erreur particulires au SFB22
susceptibles d'tre communiques au moyen des paramtres ERROR et STATUS.
ERROR

STATUS
(dcimal)

11

Explication
Avertissement :

La nouvelle tche est sans effet, car la prcdente n'est pas encore termine.

La tche est dj excute dans une classe de priorit plus basse.

25

La communication a t lance. La tche est en cours de traitement.

Problmes de communication, par exemple :

description de la liaison pas charge (locale ou distante),

liaison interrompue (cble, CPU hors tension, CP l'Arrt).

Acquittement ngatif du partenaire. La fonction ne peut tre excute.

Erreur dans PHYS, LOG ou LOCAL quant la longueur des donnes ou au type de
donnes.

Accs refus l'objet distant

10

Accs impossible la mmoire utilisateur locale (ex. : accs un DB effac)

12

L'appel du SFB mentionne

20

un DB d'instance qui n'appartient pas au SFB22,

non pas un DB d'instance, mais un DB global,

un DB d'instance introuvable (chargement d'un nouveau DB d'instance de la PG).

S7-400 : mmoire de travail insuffisante; s'il y a encore assez de mmoire en


tout, comprimer la mmoire de travail.

Systme H : un premier appel du SFB durant lactualisation n'est pas possible,


puisque le tampon de communication est cr dans la mmoire de travail; or,
toute mesure modifiant la mmoire de travail est impossible durant l'actualisation.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-43

Communication S7

19.15

Rception du changement d'tat d'un appareil distant avec


SFB23 "USTATUS"

Description
Le bloc SFB23 "USTATUS" reoit le changement d'tat d'un appareil qui est partenaire
de communication distant; ce dernier envoie son tat chaque changement sans y tre
sollicit si vous en avez dcid ainsi en configurant avec STEP 7.
Si l'entre de commande est 1 lors de l'appel et qu'un tlgramme du partenaire a t
reu, les informations d'tat seront ranges dans les variables PHYS, LOG et LOCAL
l'appel suivant du SFB. Une valeur 1 au paramtre d'tat NDR indique la fin de
l'opration.
Il faut que l'envoi de messages d'tat de fonctionnement soit valid sur la liaison utilise
par USTATUS.
Nota
Vous ne pouvez placer qu'une instance du SFB23 par liaison.

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

EN_R

INPUT

BOOL

E, A, M, D, L, Paramtre de commande "Prt recevoir" (enabled to


constante
receive); l'tat logique 1 de l'entre indique que le SFB
est prt recevoir.

ID

INPUT

WORD

M, D,
constante

Paramtre d'adressage ID, voir Paramtres communs


aux SFB/FB et aux SFC/FC de la communication S7

NDR

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat NDR :


0:

la tche n'a pas encore t dmarre ou elle est


encore active

1 : la tche a t excute sans erreur.


ERROR

OUTPUT

BOOL

E, A, M, D, L

STATUS

OUTPUT

WORD

E, A, M, D, L

Paramtres d'tat ERROR et STATUS, indication


d'erreur :
ERROR=0
STATUS a la valeur :
0000H : ni avertissement ni erreur
<> 0000H : avertissement, STATUS donne des
dtails.
ERROR=1
Une erreur est apparue, STATUS donne des
renseignements dtaills sur le type de l'erreur.

PHYS

IN_OUT

ANY

E, A, M, D

LOG

IN_OUT

ANY

E, A, M, D

LOCAL

IN_OUT

ANY

E, A, M, D

Etat physique (longueur minimale : un octet)


Valeurs possibles :

10H utilisable 100 %

13H maintenance requise

Etat logique (longueur minimale : un octet)


Valeur possible :

19-44

00H changement d'tat autoris

Etat de fonctionnement si le partenaire est une CPU


de S7 (longueur minimale : deux octets)

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

Paramtre d'entre/sortie LOCAL


Si le partenaire de communication est une CPU de S7, le paramtre d'entre/sortie
LOCAL en contient l'tat de fonctionnement en cours : le premier octet est rserv, le
second contient un code indiquant l'tat de fonctionnement.
Etat de fonctionnement

Code correspondant

Arrt

00H

Mise en route (dmarrage chaud)

01H

Marche

02H

Mise en route (redmarrage)

03H

Attente

04H

Mise en route (dmarrage froid)

06H

RUN (tat du systme H : redondant)

09H

Couplage

0BH

Actualisation

0CH

Informations d'erreur
Le tableau suivant prsente toutes les informations d'erreur particulires au SFB23
susceptibles d'tre communiques au moyen des paramtres ERROR et STATUS.
ERROR

STATUS
(dcimal)

Explication

Avertissement de dpassement de capacit : un tat ancien de l'appareil a t


cras par un tat plus rcent.

11

Avertissement : les donnes de rception sont dj excutes dans une classe de


priorit plus basse.

25

La communication a t lance. La tche est en cours de traitement.

Problmes de communication, par exemple :

description de la liaison pas charge (locale ou distante),

liaison interrompue (cble, CPU hors tension, CP l'Arrt).

Erreur dans PHYS, LOG ou LOCAL quant la longueur des donnes ou au type de
donnes

10

Accs impossible la mmoire utilisateur locale (ex. : accs un DB effac)

12

L'appel du SFB mentionne

un DB d'instance qui n'appartient pas au SFB23,

non pas un DB d'instance, mais un DB global,

un DB d'instance introuvable (chargement d'un nouveau DB d'instance de la PG).

18

Il y a dj une instance du SFB23 "USTATUS" pour la liaison indique par ID.

19

La CPU distante envoie des donnes plus vite que le SFB ne peut les prendre en
charge dans le programme utilisateur.

20

S7-400 : mmoire de travail insuffisante; s'il y a encore assez de mmoire en


tout, comprimer la mmoire de travail.

Systme H : un premier appel du SFB durant lactualisation n'est pas possible,


puisque le tampon de communication est cr dans la mmoire de travail; or,
toute mesure modifiant la mmoire de travail est impossible durant l'actualisation.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-45

Communication S7

19.16

Interrogation de l'tat de la liaison appartenant une


instance de SFB, avec SFC62 "CONTROL"

Description
Dans S7-400, la fonction SFC62 "CONTROL" se renseigne sur l'tat de la liaison
appartenant une instance locale de SFB.
Appelez la fonction en donnant la valeur 1 l'entre de commande EN_R. L'tat
momentan de la liaison appartenant l'instance de SFB slectionne au moyen de
I_DB est alors dtermin.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

EN_R

INPUT

BOOL

E, A, M, D, L,
constante

Paramtre de commande "Prt recevoir"


(enabled to receive); l'tat logique 1 de l'entre
indique que la SFC est prte recevoir.

I_DB

INPUT

BLOCK_DB

E, A, M, D, L,
constante

Numro du DB d'instance

OFFSET

INPUT

WORD

E, A, M, D, L,
constante

Dcalage de l'enregistrement en octets dans le DB


de multi-instance (s'il n'y a pas de DB de multiinstance, indiquer ici 0).

RET_VAL

OUTPUT

INT

E, A, M, D, L

Informations d'erreur

ERROR

OUTPUT

BOOL

E, A, M, D, L

STATUS

OUTPUT

WORD

E, A, M, D, L

Paramtres d'tat ERROR et STATUS, indication


d'erreur :
ERROR=0
STATUS a la valeur :
0000H : ni avertissement ni erreur
<> 0000H : avertissement, STATUS donne
des dtails.
ERROR=1
Une erreur est apparue, STATUS donne des
renseignements dtaills sur le type de l'erreur.

I_TYP

OUTPUT

BYTE

E, A, M, D, L

Identification du type de bloc correspondant


l'instance slectionne

I_STATE

OUTPUT

BYTE

E, A, M, D, L

= 0 : l'instance de SFB correspondante n'a


encore jamais t appele depuis le dernier
dmarrage froid ou chaud, ni depuis le
dernier chargement.

<> 0 : l'instance de SFB correspondante a t


appele au moins une fois depuis le dernier
dmarrage froid ou chaud, ou depuis le
dernier chargement.

I_CONN

I_STATUS

19-46

OUTPUT

OUTPUT

BOOL

WORD

E, A, M, D, L

E, A, M, D, L

Etat de la liaison correspondante


Valeurs possibles :

0 : liaison interrompue ou pas tablie

1 : liaison existante

Paramtre d'tat STATUS de l'instance de SFB


interroge

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

Paramtre de sortie I_TYP


Le tableau suivant montre quelle identification dsigne quel type de SFB.
Type de SFB

Identification (W#16#...)

USEND

00

URCV

01

BSEND

04

BRCV

05

GET

06

PUT

07

PRINT

08

START

0B

STOP

0C

RESUME

0D

STATUS

0E

USTATUS

0F

ALARM

15

ALARM_8

16

ALARM_8P

17

NOTIFY

18

AR_SEND

19

NOTIFY_8P

1A

(pas de SFB; I_DB ou OFFSET incorrects)

FF

Informations d'erreur
Pour la SFC62 "CONTROL", le paramtre de sortie RET_VAL peut prendre les deux
valeurs suivantes :

0000H :

excution de la fonction sans erreur.

8000H :

excution de la fonction avec une erreur.

Nota
Mme quand le paramtre de sortie RET_VAL contient la valeur 0000H, il faut valuer les
paramtres de sortie ERROR et STATUS.

ERROR

STATUS
(dcimal)

Explication

10

Accs impossible la mmoire utilisateur locale (ex. : vous avez indiqu comme
paramtre effectif pour I_TYP un octet de mmento qui n'existe pas dans la CPU
utilise.)

12

Le numro indiqu I_DB

ne renvoie pas un DB d'instance, mais un DB global,

ne dsigne aucun DB ou alors l'instance est dtruite.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-47

Communication S7

19.17

Interrogation de l'tat d'une liaison avec FC62 "C_CNTRL"

Description
Dans S7-300, la fonction FC62 "C_CNTRL" se renseigne sur l'tat d'une liaison.
Appelez la fonction systme en donnant la valeur 1 l'entre de commande EN_R. L'tat
momentan de la liaison adresse par ID est alors dtermin.
Paramtre

Dclaration

Type de
donnes

Zone de mmoire

Description

EN_R

INPUT

BOOL

E, A, M, D, L,
Konst.

Paramtre de commande "Prt recevoir"


(enabled to receive); l'tat logique 1 de l'entre
indique que la FC est prte recevoir.

ID

INPUT

WORD

M, D, Konst.

ID de paramtre d'adressage, voir Paramtres


communs des SFB/FB et des SFC/FC de la
communication S7

RET_VAL

OUTPUT

INT

E, A, M, D, L

Informations d'erreur

ERROR

OUTPUT

BOOL

E, A, M, D, L

STATUS

OUTPUT

WORD

E, A, M, D, L

Paramtres d'tat ERROR et STATUS,


indication d'erreur :
ERROR=0 et STATUS a la valeur :
0000H : ni avertissement ni erreur
<> 0000H : avertissement, STATUS
donne des dtails.
ERROR=1
Il y a une erreur, STATUS donne des
renseignements dtaills sur la nature de
l'erreur.

C_CONN

OUTPUT

C_STATUS OUTPUT

19-48

BOOL

WORD

E, A, M, D, L

E, A, M, D, L

Etat de la liaison correspondante


Valeurs possibles :

0 : liaison interrompue ou pas tablie

1 : liaison existante

Etat de la liaison :

W#16#0000 : la liaison n'est pas tablie

W#16#0001 : la liaison est en cours


d'tablissement

W#16#0002 : la liaison est tablie

W#16#000F : aucune donne disponible


pour ltat de la liaison (p. ex. au dmarrage
du CP)

W#16#00FF : la liaison n'est pas configure

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication S7

Informations d'erreur
Pour la FC62 "C_CNTRL", le paramtre de sortie RET_VAL peut prendre les deux
valeurs suivantes :

0000H :

excution de la fonction sans erreur.

8000H :

excution de la fonction avec une erreur.

Nota
Mme quand le paramtre de sortie RET_VAL contient la valeur 0000H, il faut valuer les
paramtres de sortie ERROR et STATUS.

ERROR

STATUS (dcimal)

Explication

10

Erreur lors de l'accs au CP, car une autre tche est en cours dexcution.
La tche doit tre renouvele ultrieurement.

27

Il n'y a pas de code de fonction pour ce bloc dans la CPU.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

19-49

Communication S7

19-50

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

20

Communication de base S7

20.1

Paramtres communs aux SFC de la communication de


base S7

Paramtre d'entre REQ


Le paramtre d'entre REQ (request to activate) est un paramtre de commande
dclench par niveau. Il sert lancer la tche (transmission de donnes ou suspension
de liaison).

Quand vous appelez la SFC pour une tche qui n'est pas active momentanment,
vous lancez cette tche avec REQ=1. S'il n'y a pas encore de liaison au partenaire
lors du premier appel d'une SFC, elle sera tablie avant le dbut de la transmission
de donnes.

Quand vous avez dj lanc une tche qui n'est pas encore acheve et que vous
appelez la SFC de nouveau pour cette mme tche, REQ n'est pas valu par la
SFC.

Paramtre d'entre REQ_ID (seulement pour SFC65 et SFC66)


Le paramtre d'entre REQ_ID sert caractriser vos donnes d'mission. Il est
transmis par le systme d'exploitation de la CPU mettrice la SFC66 "X_RCV" de la
CPU du partenaire de communication.
Vous avez besoin du paramtre REQ_ID du ct metteur,

lorsque vous appelez sur une CPU mettrice plusieurs SFC65 "X_SEND" avec des
paramtres REQ_ID diffrents pour transmettre les donnes un mme partenaire;

lorsque vous utilisez la SFC65 "X_SEND" pour transfrer des donnes un mme
partenaire depuis plusieurs CPU mettrices.

L'exploitation de REQ_ID vous permet de ranger les donnes reues dans des zones de
mmoire diffrentes.

Paramtres de sortie RET_VAL et BUSY


Les SFC de la communication de base S7 sont des SFC excution asynchrone, c'est-dire que l'excution d'une tche s'tend sur plusieurs appels de la SFC. Les paramtres
de sortie RET_VAL et BUSY indiquent l'tat de la tche, voir aussi Signification des
paramtres REQ, RET_VAL et BUSY pour les SFC excution asynchrone.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

20-1

Communication de base S7

Paramtre d'entre CONT


Le paramtre d'entre CONT (continuer) est un paramtre de commande. Il sert
dcider si la liaison au partenaire sera conserve une fois la tche acheve.

Si vous indiquez CONT=0 lors du premier appel, la liaison sera suspendue une fois la
transmission de donnes termine. Elle redevient disponible pour un change de
donnes avec un nouveau partenaire.
Ce procd garantit que seules les ressources de liaison actuellement requises
seront occupes.

Si vous indiquez CONT=1 lors du premier appel, la liaison persistera une fois la
transmission de donnes termine.
Ce procd est avantageux quand vous changez des donnes entre deux stations
de faon cyclique, par exemple.

Nota
Une liaison tablie au moyen de CONT=1 peut tre aussi suspendue explicitement avec
SFC69 "X_ABORT" ou avec SFC74 "I_ABORT".

20-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication de base S7

20.2

Envoi de donnes un partenaire de communication situ


hors de la propre station S7, avec SFC65 "X_SEND"

Description
La fonction SFC65 "X_SEND" sert envoyer des donnes un partenaire de
communication situ hors de la propre station S7.
Le partenaire reoit les donnes au moyen de la SFC66 "X_RCV".
L'mission est lance par un appel de la SFC dans lequel REQ=1.
Veillez ce que la zone d'mission dfinie par le paramtre SD (dans la CPU mettrice)
soit plus petite que ou gale la zone de rception dfinie par le paramtre RD (dans le
partenaire). Si SD est du type de donnes BOOL, RD doit tre aussi du type de donnes
BOOL.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L, Paramtre de commande "request to activate"


constante
(demande d'activation), voir Paramtres communs aux
SFC de la communication de base S7

CONT

INPUT

BOOL

E, A, M, D, L, Paramtre de commande "continue", voir Paramtres


constante
communs aux SFC de la communication de base S7

DEST_ID

INPUT

WORD

E, A, M, D, L, Paramtre d'adressage "destination ID" : il contient


constante
l'adresse MPI du partenaire, que vous avez configure
avec STEP 7.

REQ_ID

INPUT

DWORD

E, A, M, D, L, ID de tche : elle permet au partenaire l'identification


constante
des donnes.

SD

INPUT

ANY

E, A, M, D

Rfrence la zone d'mission.


Types de donnes autoriss :
BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT,
REAL, DATE, TOD, TIME, S5_TIME,
DATE_AND_TIME ainsi que les tableaux des types de
donnes cits, sauf BOOL.
La taille maximale de la zone d'mission est de 76
octets.

RET_VAL

OUTPUT

INT

E, A, M, D, L

Quand une erreur est apparue durant l'excution de la


fonction, la valeur de retour contient un code d'erreur.

BUSY

OUTPUT

BOOL

E, A, M, D, L

BUSY=1 : l'mission n'est pas encore termine.


BUSY=0 : l'mission est termine ou il n'y a pas
d'mission active.

Cohrence de donnes
Les donnes seront mises avec cohrence.

Informations d'erreur
Voir les rubriques Informations d'erreur des SFC de la communication de base S7 et
Evaluation d'erreur avec le paramtre de sortie RET_VAL.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

20-3

Communication de base S7

20.3

Rception de donnes d'un partenaire de communication


situ hors de la propre station S7, avec SFC66 "X_RCV"

Description
La fonction SFC66 "X_RCV" sert recevoir des donnes mises avec SFC65 "X_SEND"
par un ou plusieurs partenaires situs hors de la propre station S7.
La fonction SFC66 "X_RCV" vous permet

de constater si des donnes mises sont disponibles actuellement; elles ont pu tre
places dans une file d'attente par le systme d'exploitation;

de copier dans une zone de rception que vous indiquez le groupe de donnes le
plus ancien de la file d'attente.

Le paramtre d'entre EN_DT (enable data transfer) sert choisir entre les deux
fonctions.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

EN_DT

INPUT

BOOL

E, A, M, D,
L,
constante

Paramtre de commande "enable data transfer". En lui


donnant la valeur 0, vous vrifiez s'il y a au moins un
groupe de donnes en attente. La valeur 1 provoque la
copie du groupe le plus ancien de la file dans la zone de
la mmoire de travail que vous avez indique au moyen
de RD.

RET_VAL

OUTPUT

INT

E, A, M, D,
L

Quand une erreur est apparue durant l'excution de la


fonction, la valeur de retour contient un code d'erreur.
En l'absence d'erreur, RET_VAL contient

si EN_DT=0/1 et NDA=0 : W#16#7000; dans ce cas,


il n'y a pas de donnes dans la file d'attente;

si EN_DT=0 et NDA=1 : la longueur en octets du


groupe le plus ancien dans la file, comme nombre
positif;

si EN_DT=1 et NDA=1 : la longueur en octets du


groupe de donnes copi dans la zone de rception
RD, comme nombre positif.

REQ_ID

OUTPUT

DWORD

E, A, M, D,
L

ID de tche de la SFC "X_SEND" dont les donnes


mises figurent en premire place dans la file d'attente,
c'est--dire sont les plus anciennes. Si la file d'attente
est vide, REQ_ID contient la valeur 0.

NDA

OUTPUT

BOOL

E, A, M, D,
L

Paramtre d'tat "new data arrived".


NDA=0 :

il n'y a pas de groupe de donnes dans la file


d'attente.

NDA=1:

20-4

il y a au moins un groupe de donnes dans la file


d'attente (appel de SFC66 avec EN_DT=0);

le groupe de donnes le plus ancien de la file


d'attente a t copi dans le programme utilisateur
(appel de SFC66 avec EN_DT=1).

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication de base S7

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

RD

OUTPUT

ANY

E, A, M, D

Rfrence la zone de rception (receive data area).


Les types de donnes autoriss sont : BOOL, BYTE,
CHAR, WORD, INT, DWORD, DINT, REAL, DATE,
TOD, TIME, S5_TIME, DATE_AND_TIME ainsi que les
tableaux des types de donnes cits, sauf BOOL.
Si vous voulez rejeter le groupe de donnes le plus
ancien figurant dans la file d'attente, donnez la valeur
NIL au paramtre RD.
La taille maximale de la zone de rception est de 76
octets.

Indication de la rception des donnes avec EN_DT=0


Ds l'arrive de donnes en provenance d'un partenaire, le systme d'exploitation les
place dans la file d'attente, dans l'ordre de rception.
Pour vrifier s'il y a au moins un groupe de donnes en attente, appelez SFC66 avec
EN_DT=0 et valuez le paramtre de sortie NDA :

NDA=0 signifie qu'il n'y a pas de donnes dans la file d'attente; REQ_ID est
insignifiant, RET_VAL contient W#16#7000;

NDA=1 signifie qu'il y a au moins un groupe de donnes en attente dans la file;


dans ce cas, valuez en plus les paramtres de sortie RET_VAL et REQ_ID le cas
chant : RET_VAL contient la longueur en octets du groupe de donnes, REQ_ID
contient l'ID de tche du bloc metteur; s'il y a plusieurs groupes de donnes en
attente dans la file, REQ_ID et RET_VAL s'appliquent au groupe le plus ancien.
X_RCV
0

Ressources
de rception

EN_DT

REQ_ID
NDA
RD

Rception de
donnes t2
File d'attente
Rception de
donnes t1

t1

t2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

20-5

Communication de base S7

Prise en charge des donnes dans la zone de rception avec EN_DT=1


Quand vous appelez SFC66 "X_RCV" avec EN_DT=1, le groupe de donnes le plus
ancien en attente dans la file est copi dans la zone de la mmoire de travail dsigne
par RD. RD doit tre plus grand que ou gal la zone d'mission dfinie par le paramtre
SD dans SFC65 "X_SEND" correspondante. Si ce paramtre d'entre SD est du type de
donnes BOOL, il faut que RD soit aussi du type BOOL. Si vous voulez stocker les
donnes reues dans diffrentes zones, vous pouvez dterminer REQ_ID (appel de la
SFC avec EN_DT=0), puis choisir un RD appropri dans l'appel suivant (avec
EN_DT=1).Quand la copie a t effectue sans erreur, RET_VAL contient la longueur en
octets du groupe de donnes copi et un acquittement positif est envoy l'metteur.

File d'attente

Transmission des donnes


X_RCV

EN_DT

REQ_ID
NDA
RD

Zone de
rception

Rejet des donnes


Si vous ne voulez pas prendre les donnes en charge, donnez la valeur NIL RD (voir
/232/). Dans ce cas, l'metteur reoit un acquittement ngatif (le paramtre RET_VAL de
la SFC65 "X_SEND" correspondante a la valeur W#1680B8) et RET_VAL de la SFC66
"X_RCV" contient la valeur 0.

Cohrence des donnes


Aprs un appel avec EN_DT=1 et RETVAL=W#16#00xy, la zone de rception RD
contient de nouvelles donnes. Un nouvel appel de la fonction pourrait les craser. Si
vous souhaitez viter cela, il ne faut plus appeler SFC66 "X_RCV" avec la mme zone de
rception RD tant que vous n'avez pas valu les donnes reues.

20-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication de base S7

Changement d'tat de fonctionnement aprs Arrt


En cas de passage l'tat de fonctionnement Arrt,

toutes les nouvelles tches arrivant reoivent un acquittement ngatif;

pour les tches dj arrives : toutes les tches inscrites dans la file d'attente de
rception reoivent un acquittement ngatif;
-

si l'arrt est suivi d'un dmarrage chaud ou froid, tous les groupes de
donnes sont rejets,

si l'arrt est suivi d'un redmarrage (impossible avec S7-300 et S7-400H), le


groupe de donnes appartenant la tche la plus ancienne est pris en charge
dans le programme utilisateur si vous en aviez constat l'existence avant le
passage l'tat d'Arrt (par un appel de la SFC66 "X_RCV" avec EN_DT=0);
sinon, il est rejet;

tous les autres groupes de donnes sont rejets.

Suspension de liaison
Quand une liaison est suspendue, une tche appartenant cette liaison et dj inscrite
dans la file d'attente est rejete.
Exception : si cette tche est la plus ancienne dans la file d'attente et que vous en aviez
dj constat l'existence par un appel de la SFC66 "X_RCV" avec EN_DT=0, vous
pouvez la prendre en charge dans la zone de rception avec EN_DT=1.

Informations d'erreur
Voir les rubriques Informations d'erreur des SFC de la communication de base S7 et
Evaluation d'erreur avec le paramtre de sortie RET_VAL.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

20-7

Communication de base S7

20.4

Lecture de donnes dans un partenaire de communication


situ hors de la propre station S7, avec SFC67 "X_GET"

Description
La fonction SFC67 "X_GET" sert lire des donnes dans un partenaire de
communication situ hors de la propre station S7. Il n'y a pas de SFC correspondante
dans le partenaire.
La lecture est active par un appel de la SFC avec REQ=1. Ensuite, vous appelez la SFC
jusqu' ce que BUSY=0 indique la rception des donnes. RET_VAL contient alors la
longueur en octets du groupe de donnes reu.
Ayez soin que la zone de rception dfinie par le paramtre RD (dans la CPU rceptrice)
soit au moins aussi longue que la zone de lecture dfinie par le paramtre VAR_ADDR
(dans le partenaire). De plus, les types de donnes de RD et de VAR_ADDR doivent
concorder.
Paramtre

Dclaration Type de
donnes

Zone de
mmoire

REQ

INPUT

BOOL

E, A, M, D, L, Paramtre de commande "request to activate", voir


constante
Paramtres communs aux SFC de la communication
de base S7

CONT

INPUT

BOOL

E, A, M, D, L, Paramtre de commande "continue", voir Paramtres


constante
communs aux SFC de la communication de base S7

DEST_ID

INPUT

WORD

E, A, M, D, L, Paramtre d'adressage "destination ID" : il contient


constante
l'adresse MPI du partenaire, que vous avez
configure avec STEP 7.

VAR_ADDR

INPUT

ANY

E, A, M, D

RET_VAL

OUTPUT

INT

E, A, M, D, L Quand une erreur est apparue durant l'excution de


la fonction, la valeur de retour contient un code
d'erreur.
En l'absence d'erreur, RET_VAL contient la longueur
en octets du groupe de donnes copi dans la zone
de rception, comme nombre positif.

BUSY

OUTPUT

BOOL

E, A, M, D, L BUSY=1 : la rception n'est pas encore termine.


BUSY=0 : la rception est termine, ou il n'y a pas de
rception active.

RD

OUTPUT

ANY

E, A, M, D

20-8

Description

Rfrence la zone dans laquelle lire dans la CPU


partenaire. Il faut choisir un type de donnes propos
par le partenaire.

Rfrence la zone de rception (receive data area).


Types de donnes autoriss : BOOL, BYTE, CHAR,
WORD, INT, DWORD, DINT, REAL, DATE, TOD,
TIME, S5_TIME, DATE_AND_TIME ainsi que les
tableaux des types de donnes cits, sauf BOOL.
La zone de rception RD doit tre au moins aussi
longue que la zone de lecture VAR_ADDR dans le
partenaire. De plus, les types de donnes de RD et
de VAR_ADDR doivent concorder.
La taille maximale de la zone de rception est de 76
octets.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication de base S7

Changement d'tat de fonctionnement aprs Arrt


Quand la CPU passe l'tat de fonctionnement Arrt, la liaison tablie par la SFC67
"X_GET" est suspendue. Les donnes dj reues, qui se trouvent dans une mmoire
temporaire du systme d'exploitation, sont perdues ou non selon le type de mise en route
effectue :

en cas de redmarrage (impossible avec S7-300 et S7-400H), les donnes sont


copies dans la zone dsigne par RD;

en cas de dmarrage chaud ou froid, les donnes sont rejetes.

Changement d'tat de fonctionnement du partenaire aprs Arrt


Un passage de la CPU du partenaire l'tat de fonctionnement Arrt n'a aucune
consquence pour la transmission de donnes au moyen de la SFC67 "X_GET" : les
donnes sont lues aussi bien l'Arrt.

Cohrence de donnes
Les donnes seront reues avec cohrence.

Informations d'erreur
Voir les rubriques Informations d'erreur des SFC de la communication de base S7 et
Evaluation d'erreur avec le paramtre de sortie RET_VAL.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

20-9

Communication de base S7

20.5

Ecriture de donnes dans un partenaire de communication


situ hors de la propre station S7, avec SFC68 "X_PUT"

Description
La fonction SFC68 "X_PUT" sert crire des donnes dans un partenaire situ hors de
la propre station S7. Il n'y a pas de SFC correspondante dans le partenaire.
L'criture est active par un appel de la SFC avec REQ=1. Ensuite, vous appelez la SFC
jusqu' ce que BUSY=0 indique la rception de l'acquittement.
Ayez soin que la zone d'mission dfinie par le paramtre SD (dans la CPU mettrice) ait
la mme longueur que la zone de rception dfinie par le paramtre VAR_ADDR (dans le
partenaire). De plus, les types de donnes de SD et de VAR_ADDR doivent concorder.
Paramtre

Dclaration Type de
donnes

Zone de
mmoire

REQ

INPUT

BOOL

E, A, M, D, L, Paramtre de commande "request to activate", voir


constante
Paramtres communs aux SFC de la communication
de base S7

CONT

INPUT

BOOL

E, A, M, D, L, Paramtre de commande "continue", voir Paramtres


constante
communs aux SFC de la communication de base S7

DEST_ID

INPUT

WORD

E, A, M, D, L, Paramtre d'adressage "destination ID : il contient


constante
l'adresse MPI du partenaire, que vous avez
configure avec STEP 7.

VAR_ADDR

INPUT

ANY

E, A, M, D

Rfrence la zone dans laquelle crire dans la


CPU partenaire. Il faut choisir un type de donnes
propos par le partenaire.

SD

INPUT

ANY

E, A, M, D

Rfrence la zone de la propre CPU contenant les


donnes envoyer. Types de donnes autoriss :
BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT,
REAL, DATE, TOD, TIME, S5_TIME,
DATE_AND_TIME ainsi que les tableaux des types
de donnes cits, sauf BOOL.
SD doit avoir la mme longueur que le paramtre
VAR_ADDR du partenaire. De plus, les types de
donnes de SD et de VAR_ADDR doivent concorder.
La taille maximale de la zone d'mission est de 76
octets.

RET_VAL

OUTPUT

INT

E, A, M, D, L Quand une erreur est apparue durant l'excution de


la fonction, la valeur de retour contient un code
d'erreur.

BUSY

OUTPUT

BOOL

E, A, M, D, L BUSY=1 : l'mission n'est pas encore termine.


BUSY=0 : l'mission est termine, ou il n'y a pas
d'mission active.

20-10

Description

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication de base S7

Changement d'tat de fonctionnement aprs Arrt


Quand la CPU passe l'tat de fonctionnement Arrt, la liaison tablie par la SFC68
"X_PUT" est suspendue. Il n'est plus possible d'mettre les donnes. Si elles taient dj
copies dans la mmoire tampon interne au moment du changement d'tat, ce contenu
du tampon est rejet.

Changement d'tat de fonctionnement du partenaire aprs Arrt


Un passage de la CPU du partenaire l'tat de fonctionnement Arrt est sans
consquence pour la transmission de donnes au moyen de la SFC68 "X_PUT". Il
n'empche pas l'criture des donnes mises.

Cohrence de donnes
Les donnes seront mises avec cohrence.

Informations d'erreur
Voir les rubriques Informations d'erreur des SFC de la communication de base S7 et
Evaluation d'erreur avec le paramtre de sortie RET_VAL.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

20-11

Communication de base S7

20.6

Suspension d'une liaison un partenaire de


communication situ hors de la propre station S7, avec
SFC69 "X_ABORT"

Description
La fonction SFC69 "X_ABORT" sert suspendre la liaison un partenaire situ hors de
la propre station S7, liaison qui avait t tablie avec l'une des SFC X_SEND, X_GET ou
X_PUT.
Si la tche inhrente X_SEND, X_GET ou X_PUT est termine (BUSY=0), les
ressources de liaison utilises cet effet sont libres des deux cts aprs l'appel de la
SFC69 "X_ABORT".
Si la tche inhrente X_SEND, X_GET ou X_PUT n'est pas termine (BUSY=1), vous
devez, une fois la suspension de liaison acheve, appeler de nouveau la SFC en
question avec REQ=0 et CONT=0 et attendre BUSY=0. C'est alors seulement que toutes
les ressources de liaison occupes sont libres.
Vous ne pouvez employer la fonction SFC69 "X_ABORT" que du ct o l'une des SFC
"X_SEND", "X_PUT" ou "X_GET" s'excute.
La suspension de la liaison est active par l'appel de la SFC avec REQ=1.
Paramtre

Dclaration

REQ

INPUT

Type de
donnes
BOOL

DEST_ID

INPUT

WORD

RET_VAL

OUTPUT

INT

BUSY

OUTPUT

BOOL

Zone de
Description
mmoire
E, A, M, D, L, Paramtre de commande "request to activate", voir
constante
Paramtres communs aux SFC de la communication de
base S7
E, A, M, D, L, Paramtre d'adressage "destination ID" : il contient
constante
l'adresse MPI du partenaire, que vous avez configure
avec STEP 7.
E, A, M, D, L Quand une erreur est apparue durant l'excution de la
fonction, la valeur de retour contient un code d'erreur.
E, A, M, D, L BUSY=1 : la suspension de liaison n'est pas encore
acheve.
BUSY=0 : la suspension de liaison est acheve.

Changement d'tat de fonctionnement aprs Arrt


Quand la CPU passe l'tat de fonctionnement Arrt, une suspension de liaison lance
au moyen de la SFC69 "X_ABORT" est mene terme.

Changement d'tat de fonctionnement du partenaire aprs Arrt


Un passage de la CPU du partenaire l'tat de fonctionnement Arrt est sans
consquence pour la suspension de liaison au moyen de la SFC69 "X_ABORT". La
liaison est suspendue.

Informations d'erreur
Voir les rubriques Informations d'erreur des SFC de la communication de base S7 et
Evaluation d'erreur avec le paramtre de sortie RET_VAL.

20-12

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication de base S7

20.7

Lecture de donnes dans un partenaire de communication


situ dans la propre station S7, avec SFC72 "I_GET"

Description
La fonction SFC72 "I_GET" sert lire des donnes dans un partenaire situ dans la
propre station S7. Ce partenaire peut se trouver dans le chssis de base, dans un
chssis d'extension ou en priphrie dcentralise. N'oubliez pas que vous avez affect
la propre CPU, avec STEP 7, des partenaires situs en priphrie dcentralise. Il n'y
a pas de SFC correspondante dans le partenaire.
La rception est active par l'appel de la SFC avec REQ=1. Ensuite, vous appelez la
SFC jusqu' ce que BUSY=0 indique la rception des donnes. RET_VAL contient alors
la longueur en octets du groupe de donnes reu.
Ayez soin que la zone de rception dfinie par le paramtre RD (dans la CPU rceptrice)
soit au moins aussi longue que la zone de lecture dfinie par le paramtre VAR_ADDR
(dans le partenaire). De plus, les types de donnes de RD et de VAR_ADDR doivent
concorder.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

REQ

INPUT

BOOL

E, A, M, D, L, Paramtre de commande "request to activate", voir


constante
Paramtres communs aux SFC de la communication
de base S7

CONT

INPUT

BOOL

E, A, M, D, L, Paramtre de commande "continue", voir Paramtres


constante
communs aux SFC de la communication de base S7

IOID

INPUT

BYTE

E, A, M, D, L, Identification de la zone d'adresse du module


constante
partenaire :
B#16#54 = priphrie d'entre (PE)
B#16#55 = priphrie de sortie (PA)
S'il s'agit d'un module mixte, il faut indiquer l'ID de
zone de l'adresse la plus basse. Si les adresses sont
les mmes, il faut indiquer B#16#54.

LADDR

INPUT

WORD

E, A, M, D, L, Rfrence la zone de la CPU partenaire o crire.


constante
Vous devez choisir un type de donnes propos par
le partenaire.

VAR_ADDR

INPUT

ANY

E, A, M, D

RET_VAL

OUTPUT

INT

E, A, M, D, L Quand une erreur est apparue durant l'excution de


la fonction, la valeur de retour contient un code
d'erreur.
En l'absence d'erreur, RET_VAL contient la longueur
en octets du groupe de donnes copi dans la zone
de rception, comme nombre positif.

BUSY

OUTPUT

BOOL

E, A, M, D, L BUSY=1 : la rception n'est pas encore termine.


BUSY=0 : la rception est termine, ou il n'y a pas
de rception active.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Description

Rfrence la zone de la CPU partenaire lire

20-13

Communication de base S7

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

RD

OUTPUT

ANY

E, A, M, D

Rfrence la zone de rception (receive data area).


Types de donnes autoriss : BOOL, BYTE, CHAR,
WORD, INT, DWORD, DINT, REAL, DATE, TOD,
TIME, S5_TIME, DATE_AND_TIME ainsi que les
tableaux des types de donnes cits, sauf BOOL.
La zone de rception RD doit tre au moins aussi
longue que la zone de lecture VAR_ADDR dans le
partenaire. De plus, les types de donnes de RD et
de VAR_ADDR doivent concorder.
La taille maximale de la zone de rception est de 94
octets.

Changement d'tat de fonctionnement aprs Arrt


Quand la CPU passe l'tat de fonctionnement Arrt, la liaison tablie par la SFC72
"I_GET" est suspendue. Les donnes dj reues, qui se trouvent dans une mmoire
temporaire du systme d'exploitation, sont perdues ou non selon le type de mise en route
effectue :

en cas de redmarrage (impossible avec S7-300 et S7-400H), les donnes sont


copies dans la zone dsigne par RD;

en cas de dmarrage chaud ou froid, les donnes sont rejetes.

Changement d'tat de fonctionnement du partenaire aprs Arrt


Un passage de la CPU du partenaire l'tat de fonctionnement Arrt n'a aucune
consquence pour la transmission de donnes au moyen de la SFC72 "I_GET" : les
donnes sont lues aussi bien l'Arrt.

Cohrence de donnes
Les donnes seront reues avec cohrence.

Informations d'erreur
Voir les rubriques Informations d'erreur des SFC de la communication de base S7 et
Evaluation d'erreur avec le paramtre de sortie RET_VAL.

20-14

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication de base S7

20.8

Ecriture de donnes dans un partenaire de communication


situ dans la propre station S7, avec SFC73 "I_PUT"

Description
La fonction SFC73 "I_PUT" sert crire des donnes dans un partenaire situ dans la
propre station S7. Ce partenaire peut se trouver dans le chssis de base, dans un
chssis d'extension ou en priphrie dcentralise. N'oubliez pas que vous avez affect
la propre CPU, avec STEP 7, des partenaires situs en priphrie dcentralise. Il n'y
a pas de SFC correspondante dans le partenaire.
L'mission est effectue aprs appel de la SFC avec un niveau 1 l'entre de
commande REQ.
Ayez soin que la zone d'mission dfinie par le paramtre SD (dans la CPU mettrice) ait
la mme longueur que la zone de rception dfinie par le paramtre VAR_ADDR (dans le
partenaire). De plus, les types de donnes de SD et de VAR_ADDR doivent concorder.
Paramtre

Dclaration Type de
donnes

Zone de
mmoire

REQ

INPUT

BOOL

E, A, M, D, L, Paramtre de commande "request to activate", voir


constante
Paramtres communs aux SFC de la communication
de base S7

CONT

INPUT

BOOL

E, A, M, D, L, Paramtre de commande "continue", voir Paramtres


constante
communs aux SFC de la communication de base S7

IOID

INPUT

BYTE

E, A, M, D, L, Identification de la zone d'adresse du module


constante
partenaire :
B#16#54 = priphrie d'entre (PE)
B#16#55 = priphrie de sortie (PA)
S'il s'agit d'un module mixte, il faut indiquer l'ID de
zone de l'adresse la plus basse. Si les adresses sont
les mmes, il faut indiquer B#16#54.

LADDR

INPUT

WORD

E, A, M, D, L, Adresse logique du module partenaire. Pour un


constante
module mixte, il faut indiquer l'adresse la plus basse
des deux.

VAR_ADDR

INPUT

ANY

E, A, M, D, L Rfrence la zone o crire dans la CPU


partenaire. Il faut choisir un type de donnes propos
par le partenaire.

SD

INPUT

ANY

E, A, M, D

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Description

Rfrence la zone de la propre CPU contenant les


donnes mettre. Types de donnes autoriss :
BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT,
REAL, DATE, TOD, TIME, S5_TIME,
DATE_AND_TIME ainsi que les tableaux des types
de donnes cits, sauf BOOL.
SD doit avoir la mme longueur que le paramtre
VAR_ADDR du partenaire. De plus, les types de
donnes de SD et de VAR_ADDR doivent concorder.
La taille maximale de la zone d'mission est de 84
octets.

20-15

Communication de base S7

Paramtre

Dclaration Type de
donnes

Zone de
mmoire

Description

RET_VAL

OUTPUT

INT

E, A, M, D, L Quand une erreur est apparue durant l'excution de


la fonction, la valeur de retour contient un code
d'erreur.

BUSY

OUTPUT

BOOL

E, A, M, D, L BUSY=1 : l'mission n'est pas encore termine.


BUSY=0 : l'mission est termine, ou il n'y a pas
d'mission active.

Changement d'tat de fonctionnement aprs Arrt


Quand la CPU passe l'tat de fonctionnement Arrt, la liaison tablie par la SFC73
"I_PUT" est suspendue. Il n'est plus possible d'mettre les donnes. Si elles taient dj
copies dans la mmoire tampon interne au moment du changement d'tat, ce contenu
du tampon est rejet.

Changement d'tat de fonctionnement du partenaire aprs Arrt


Un passage de la CPU du partenaire l'tat de fonctionnement Arrt est sans
consquence pour la transmission de donnes au moyen de la SFC73 "I_PUT". Il
n'empche pas l'criture des donnes mises.

Cohrence de donnes
Les donnes seront mises avec cohrence.

Informations d'erreur
Voir les rubriques Informations d'erreur des SFC de la communication de base S7 et
Evaluation d'erreur avec le paramtre de sortie RET_VAL.

20-16

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication de base S7

20.9

Suspension d'une liaison un partenaire de


communication situ dans la propre station S7, avec
SFC74 "I_ABORT"

Description
La fonction SFC74 "I_ABORT" sert suspendre la liaison un partenaire situ dans la
propre station S7, liaison qui avait t tablie avec l'une des SFC 72 I_GET ou 73 I_PUT.
Si la tche inhrente I_GET ou I_PUT est termine (BUSY=0), les ressources de
liaison utilises cet effet sont libres des deux cts aprs l'appel de la SFC74
"I_ABORT".
Si la tche inhrente I_GET ou I_PUT n'est pas termine (BUSY=1), vous devez, une
fois la suspension de liaison acheve, appeler de nouveau la SFC en question avec
REQ=0 et CONT=0 et attendre BUSY=0. C'est alors seulement que toutes les ressources
de liaison occupes sont libres.
Vous ne pouvez employer la fonction SFC74 "I_ABORT" que du ct o l'une des SFC
"I_PUT" ou "I_GET" s'excute (c'est--dire du ct du client).
La suspension de la liaison est active par l'appel de la SFC avec REQ=1.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

REQ

INPUT

BOOL

E, A, M, D, L, Paramtre de commande "request to activate", voir


constante
Paramtres communs aux SFC de la communication de
base S7

IOID

INPUT

BYTE

E, A, M, D, L, Identification de la zone d'adresse du module partenaire


constante
:
B#16#54 = priphrie d'entre (PE)
B#16#55 = priphrie de sortie (PA)
S'il s'agit d'un module mixte, il faut indiquer l'ID de zone
de l'adresse la plus basse. Si les adresses sont les
mmes, il faut indiquer B#16#54.

LADDR

INPUT

WORD

E, A, M, D, L, Adresse logique du module partenaire. Pour un module


constante
mixte, il faut indiquer l'adresse la plus basse des deux.

RET_VAL

OUTPUT

INT

E, A, M, D, L Quand une erreur est apparue durant l'excution de la


fonction, la valeur de retour contient un code d'erreur.

BUSY

OUTPUT

BOOL

E, A, M, D, L BUSY=1 : la suspension de liaison n'est pas encore


acheve.
BUSY=0 : la suspension de liaison est acheve.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Description

20-17

Communication de base S7

Changement d'tat de fonctionnement aprs Arrt


Quand la CPU passe l'tat de fonctionnement Arrt, une suspension de liaison lance
au moyen de la SFC74 "I_ABORT" est mene terme.

Changement d'tat de fonctionnement du partenaire aprs Arrt


Un passage de la CPU du partenaire l'tat de fonctionnement Arrt est sans
consquence pour la suspension de liaison au moyen de la SFC74 "I_ABORT". La liaison
est suspendue.

Informations d'erreur
Voir les rubriques Informations d'erreur des SFC de la communication de base S7 et
Evaluation d'erreur avec le paramtre de sortie RET_VAL.

20-18

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication de base S7

20.10

Informations d'erreur des SFC de la communication de


base S7

Informations d'erreur
Pour les informations d'erreur "authentiques" des fonctions SFC 65 74, on peut
distinguer les classes suivantes :
Code d'erreur Signification (gnrale)
(W#16#...)
809x

Erreur dans la CPU dans laquelle la SFC s'excute

80Ax

Erreur de communication permanente

80Bx

Erreur dans le partenaire de communication

80Cx

Erreur temporaire

Code d'erreur Signification (gnrale)


(W#16#)
0000

Excution termine sans erreur

Signification (particulire une SFC)


SFC69 X_ABORT et SFC74 I_ABORT : REQ=1, et
la liaison indique n'est pas tablie.
SFC66 X_RCV : EN_DT=1 et RD=NIL

00xy

SFC66 X_RCV si NDA=1 et RD<>NIL : RET_VAL


contient la longueur du bloc de donnes reu (si
EN_DT=0) ou copi dans RD (si EN_DT=1).
SFC67 X_GET : RET_VAL contient la longueur du
bloc de donnes reu.
SFC72 I_GET : RET_VAL contient la longueur du
bloc de donnes reu.

7000

SFC65 X_SEND, SFC67 X_GET, SFC68 X_PUT,


SFC69 X_ABORT, SFC72 I_GET, SFC73 I_PUT et
SFC74 I_ABORT : appel avec REQ=0 (appel sans
excution), BUSY a la valeur 0, aucune
transmission de donnes n'est active.
SFC66 X_RCV : EN_DT=0/1 et NDA=0
-

7001

Premier appel avec REQ=1 : la


transmission de donnes a t lance,
BUSY a la valeur 1.

7002

Appel intermdiaire (REQ insignifiant) : la SFC69 X_ABORT et SFC74 I_ABORT :


transmission de donnes est dj active, appel intermdiaire avec REQ=1.
BUSY a la valeur 1.

8090

L'adresse cible indique pour le


partenaire de communication est
incorrecte, par ex. :

8092

fausse IOID,

fausse adresse de base,

fausse adresse MPI (> 126).

Erreur dans SD ou RD, par exemple :


l'adressage de la zone des donnes
locales n'est pas autoris.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

SFC65 X_SEND, par exemple :

longueur non valable de SD,

SD=NIL n'est pas autoris.

20-19

Communication de base S7

Code d'erreur Signification (gnrale)


(W#16#)

Signification (particulire une SFC)


SFC66 X_RCV, par exemple :

la zone dfinie par RD ne peut pas contenir


toutes les donnes reues,

RD est du type de donnes BOOL, mais la


longueur des donnes reues est suprieure
un octet.

SFC67 X_GET et SFC72 I_GET, par ex. :

longueur illicite de RD,

la longueur ou le type de donnes de RD ne


concordent pas avec les donnes reues,

RD=NIL n'est pas autoris.

SFC68 X_PUT et SFC73 I_PUT, par ex. :

longueur illicite de SD,

SD=NIL n'est pas autoris.

8095

Le bloc est dj en cours d'excution


dans une classe de priorit de rang
infrieur.

80A0

Erreur dans l'acquittement reu

SFC68 X_PUT et SFC73 I_PUT : le type de


donnes indiqu dans le SD de la CPU mettrice
n'est pas pris en charge par le partenaire de
communication.

80A1

Problmes de communication : appel


d'une SFC aprs la suspension d'une
liaison existante.

80B0

L'objet n'est pas accessible, par exemple


DB non charg.

Possible avec SFC67 X_GET, SFC68 X_PUT,


SFC72 I_GET et SFC73 I_PUT

80B1

Erreur dans le pointeur ANY. La longueur de la zone de donnes transmettre est


fausse.

80B2

Erreur matrielle : module inexistant.

l'emplacement d'enfichage configur


n'est pas occup,

le type de module en place est


diffrent du type prvu,

la priphrie dcentralise n'est pas


disponible,

le SDB correspondant ne contient pas


d'entre pour ce module.

Possible avec SFC67 X_GET, SFC68 X_PUT,


SFC72 I_GET et SFC73 I_PUT

80B3

Les donnes sont en lecture seule ou en


criture seule, par exemple DB protg
en criture.

Possible avec SFC67 X_GET, SFC68 X_PUT,


SFC72 I_GET et SFC73 I_PUT

80B4

Erreur de type de donnes dans le


pointeur ANY, ou un tableau du type de
donnes indiqu n'est pas autoris.

SFC67 X_GET, SFC68 X_PUT, SFC72 I_GET et


SFC73 I_PUT : le type de donnes indiqu dans
VAR_ADDR n'est pas pris en charge par le
partenaire de communication.

80B5

Traitement refus pour cause d'tat de


fonctionnement illicite

Possible avec SFC65 X_SEND

80B6

L'acquittement reu contient un code


d'erreur inconnu.

20-20

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Communication de base S7

Code d'erreur Signification (gnrale)


(W#16#)

Signification (particulire une SFC)

80B7

Le type de donnes et (ou) la longueur


des donnes transmises ne vont pas
avec la zone de la CPU partenaire o il
faudrait crire.

Possible avec SFC68 X_PUT et SFC73 I_PUT

80B8

SFC65 X_SEND : la SFC66 X_RCV du partenaire


a refus la prise en charge des donnes (RD=NIL).

80B9

SFC65 X_SEND : le groupe de donnes a t


identifi par le partenaire de communication (appel
de la SFC66 X_RCV avec EN_DT=0), mais pas
encore pris dans le programme utilisateur cause
d'un tat de fonctionnement Arrt.

80BA

La rponse du partenaire ne tient pas


dans le tlgramme de communication.

80C0

La liaison indique est dj occupe par


une autre tche.

80C1

Manque de ressources dans la CPU dans laquelle la SFC s'excute, par ex. :

80C2

80C3

le module traite dj le nombre


maximum de tches d'mission
possibles,

la ressource de liaison est occupe


par une rception, par exemple.

Manque de ressources temporaire du


partenaire de communication, par ex. :

le partenaire traite momentanment le


nombre maximum de tches,

les lments requis (mmoire, etc.)


sont occups,

la mmoire de travail est insuffisante


(lancez une compression).

Erreur lors de l'tablissement de la


liaison, par exemple :

la propre station S7 n'est pas sur le


sous-rseau MPI,

vous avez adress la propre station


S7 sur le sous-rseau MPI,

le partenaire de communication n'est


plus accessible,

manque de ressources temporaire du


partenaire.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

20-21

Communication de base S7

20-22

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

21

PROFInet

21.1

Informations sur les SFC 112, 113 et 114


Nota
Par dfaut, le systme d'exploitation actualise l'interface PROFInet et les connexions DP
au point de contrle du cycle. Mais si vous avez dsactiv ces mises jour automatiques
lors de la configuration (par ex. pour contrler plus facilement le comportement de la CPU
dans le temps), vous devrez les effectuer vous-mme. Pour cela, vous appellerez les
SFC 112 114 aux moments adquats.
Lors de la configuration, les mises jour en question ne peuvent tre dsactives que
toutes ensemble.

Mmoire fantme
Le DB d'interface est l'interface programme utilisateur du composant PROFInet. Afin de
garantir la cohrence de ses entres et sorties pendant l'excution des parties
correspondantes du programme utilisateur, le systme d'exploitation gre, pour chaque
DB d'interface, une zone de mmoire de structure identique, appele mmoire fantme.
Dans votre programme, vous ne pouvez accder qu'au DB d'interface, tandis que les
autres composants PROFInet (externes) ne peuvent accder qu' la mmoire fantme.
Ceci exclut tout conflit d'accs aux entres et sorties du DB d'interface.

Mise jour de l'interface PROFInet


La cohrence des donnes tant assure, comme il est dcrit ci-dessus, par l'utilisation
d'une mmoire fantme, la mise jour de l'interface PROFInet comportera les deux
actions suivantes :

copie des entres de la mmoire fantme sur les entres du DB d'interface avant
l'excution de votre programme se rapportant au composant PROFInet;

copie des sorties du DB d'interface sur les sorties de la mmoire fantme aprs
l'excution de votre programme se rapportant au composant PROFInet.

Cette mise jour de l'interface PROFInet est effectue soit par le systme d'exploitation,
soit au moyen des SFC 112 et 113 (selon ce que vous avez configur dans SIMATIC
Manager en crant le composant PROFInet). La figure suivante reprsente la mise jour
l'aide des SFC 112 et 113.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

21-1

PROFInet

Le systme d'exploitation effectue toujours la mise jour au point de contrle du


systme.
Par contre, si vous avez recours aux SFC 112 et 113, vous devez appeler SFC112 au
dbut de l'OB contenant le programme qui se rapporte au composant PROFInet, et
SFC113 la fin de cet OB. La figure suivante illustre ces faits en prenant l'OB30 comme
exemple.

21-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

PROFInet

Mise jour des connexions DP


La mise jour des connexions DP est effectue soit par le systme d'exploitation, soit au
moyen de SFC114, selon ce que vous avez configur dans SIMATIC Manager en crant
le composant PROFInet.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

21-3

PROFInet

21.2

Mise jour des entres de l'interface programme utilisateur


du composant PROFInet, avec SFC112 "PN_IN"

Description
La fonction SFC112 "PN_IN" sert copier, de la mmoire fantme du composant
PROFInet dans le DB d'interface correspondant, les donnes d'entre reues sous
PROFInet. Quand l'excution de la SFC est termine, les donnes d'entre actuelles sont
la disposition de votre application.
Paramtre

Dclaratio
n

Type de
donnes

Zone de
mmoire

Description

DBNO

INPUT

WORD

E, A, M, D,
L, const.

N du DB d'interface

RET_VAL

OUTPUT

INT

E, A, M, D,
L

Informations d'erreur

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur.

8002

Le n de DB ne va pas avec la configuration du composant.

8004

Le n de DB va avec la configuration du composant, mais le DB n'est pas charg.

8006

Le DB d'interface est protg en criture dans la CPU.

80B1

Erreur de longueur la lecture ou l'criture. La configuration du composant ne va


pas avec le DB charg.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

21-4

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

PROFInet

21.3

Mise jour des sorties de l'interface PROFInet du


composant PROFInet, avec SFC113 "PN_OUT"

Description
La fonction SFC113 "PN_OUT" sert copier, du DB d'interface du composant PROFInet
dans la mmoire fantme correspondante, les donnes de sortie gnres dans votre
application. Quand l'excution de la SFC est termine, les donnes de sortie actuelles
sont la disposition des autres composants PROFInet.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

DBNO

INPUT

WORD

E, A, M, D,
L, const.

N du DB d'interface

RET_VAL

OUTPUT

INT

E, A, M, D,
L

Informations d'erreur

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Pas d'erreur.

8002

Le n de DB ne va pas avec la configuration du composant.

8004

Le n de DB va avec la configuration du composant, mais le DB n'est pas charg.

8006

Le DB d'interface est protg en criture dans la CPU.

80B1

Erreur de longueur la lecture ou l'criture. La configuration du composant ne va


pas avec le DB charg.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

21-5

PROFInet

21.4

Mise jour des connexions DP avec SFC114 "PN_DP"

Description
La fonction SFC114 "PN_DP" sert actualiser

toutes les connexions entre composants PROFInet sur le PROFIBUS local

et toutes les connexions transmission cyclique entre composants PROFInet sur le


PROFIBUS local et composants PROFInet externes; ces connexions vont d'un
rseau l'autre (entre Industrial Ethernet et PROFIBUS DP).

Fonctionnement
SFC114 "PN_DP" est excution asynchrone, c'est--dire que son excution peut tre
rpartie sur plusieurs appels. Vous lancez la mise jour des connexions DP en appelant
SFC114 avec REQ=1.
Les paramtres de sortie RET_VAL et BUSY indiquent l'tat de la tche, voir aussi
Signification des paramtres REQ, RET_VAL et BUSY pour les SFC excution
asynchrone.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D,
L, const.

REQ=1 : lancer la mise jour des connexions DP

RET_VAL

OUTPUT

INT

E, A, M, D, L Quand une erreur apparat durant l'excution de la


fonction, la valeur de retour contient un code d'erreur.

BUSY

OUTPUT

BOOL

E, A, M, D, L BUSY=1 :
La mise jour des connexions DP n'est pas encore
termine.

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

La tche a t excute sans erreur.

7000

Premier appel avec REQ=0. La mise jour des connexions DP n'est pas lance.
BUSY a la valeur 0.

7001

Premier appel avec REQ=1. BUSY a la valeur 1.

7002

Appel intermdiaire (REQ non significatif). La mise jour des connexions DP n'est
pas encore termine. BUSY a la valeur 1.

8095

Vous avez lanc une autre mise jour des connexions DP dans une classe de
priorit de niveau suprieur. Mais la mise jour (par le systme d'exploitation ou
l'aide d'une SFC114) est encore en cours dans la classe de priorit plus basse.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

21-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22

Gnration de messages sur bloc

22.1

Introduction la gnration de messages sur bloc l'aide


de SFB

SFB gnrant des messages sur bloc


Pour gnrer un message sur bloc, vous appelez un des blocs fonctionnels systme
suivants dans votre programme :

SFB36 "NOTIFY"

SFB31 "NOTIFY_8P"

SFB33 "ALARM"

SFB34 "ALARM_8"

SFB35 "ALARM_8P"

Ces SFB prsentent les caractristiques suivantes :

SFB36 "NOTIFY" et SFB31 "NOTIFY_8P" mettent un message chaque fois qu'ils


dtectent un changement de signal (0 - > 1 ou 1 - > 0) l'appel du bloc.

SFB33 "ALARM", SFB34 "ALARM_8" et SFB35 "ALARM_8P" agissent de mme


quand la fonction de signalisation est rgle par dfaut (option "Signalisation
dclenche par acquittement" non active).
Par contre, quand cette option est active, ils n'mettent pas un message chaque
changement de signal dtect (pour plus de dtails, voir ci-aprs).

Une fois le bloc excut, les variables additionnelles (entres SD_i) sont
intgralement saisies et affectes au message (voir Paramtres d'mission et de
rception dans Paramtres communs aux SFB/FB et aux SFC/FC de la
communication S7).
En ce qui concerne la cohrence des variables additionnelles par rapport aux classes
de priorit suprieure, chaque variable SD_i est cohrente en soi.

Les paramtres d'tat DONE, ERROR et STATUS vous permettent de surveiller


l'excution du bloc (voir "Paramtres d'tat" dans la rubrique Paramtres communs
aux SFB/FB et aux SFC/FC de la communication S7).

Nota
Les paramtres ID et EV_ID sont valus seulement au premier appel du bloc (les
paramtres effectifs ou les valeurs prdfinies de l'instance).

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-1

Gnration de messages sur bloc

Dclaration de visuels
Pour qu'un SFB gnrant des messages sur bloc mette un message quand il dtecte un
changement de signal, il faut qu'un visuel au moins (par ex. WinCC) se soit dclar pour
ce type de message. Si ce n'est pas le cas, le paramtre STATUS prend la valeur 1.

Saisie des changements de signal


Chaque instance d'un bloc de signalisation dispose d'une mmoire 2 positions.
Cette mmoire est d'abord vide. Ds que le SFB dtecte un changement de signal
l'entre SIG ou l'une des entres SIG_1 SIG_8, il l'crit dans la premire position de
mmoire. Cette dernire reste occupe jusqu' ce que le message correspondant soit
mis.
Le changement de signal suivant, dtect l'entre SIG ou l'une des entres SIG_1
SIG_8, est alors crit dans la deuxime position de mmoire. Si la premire position est
encore occupe et que d'autres changements de signal s'ensuivent, c'est toujours la
deuxime position de mmoire qui est crase.
Cette perte de messages vous est signale par les paramtres de sortie ERROR et
STATUS (ERROR=0, STATUS=11). Les visuels dclars reoivent en outre un avis ce
sujet avec le prochain message pouvant tre mis.
Quand la premire position de mmoire se libre, le contenu de la deuxime y est
transfr, ce qui libre la deuxime position.

Signalisation dclenche par acquittement


Si vous souhaitez restreindre la quantit de messages mis dans votre installation, vous
pouvez opter pour la signalisation dclenche par acquittement avec les SFB 33
"ALARM", 34 "ALARM_8" et 35 "ALARM_8P".
Le principe est le suivant : aprs qu'un message arrivant (passage de 0 1) a t gnr
pour un signal, il n'en est plus gnr d'autre pour ce mme signal tant que vous ne
l'avez pas acquitt sur un visuel. Le message suivant qui s'affiche sur le visuel aprs
l'acquittement est un message partant (passage de 1 0). Le cycle de signalisation
commence ensuite par un message arrivant (passage de 0 1) qui doit, nouveau tre
acquitt. Vous pouvez ainsi contrler la signalisation de changement de signaux sur le
visuel (jusqu'au message partant).
Vous dterminez la mthode de signalisation des SFB 33 35 ("Signalisation dclenche
par acquittement" active ou dsactive) pour toute la CPU lors de la configuration avec
STEP 7. Par dfaut, cette option est dsactive.
Pour garantir une valuation homogne des messages au sein de votre installation,
assurez-vous que tous les visuels matrisent cette mthode avant d'opter pour la
signalisation dclenche par acquittement.
Remarque concernant les visuels ne matrisant pas la signalisation dclenche par
acquittement
Quand vous activez cette option dans votre CPU, elle n'envoie les messages qu' ceux
des visuels qui matrisent cette mthode de signalisation. Si aucun d'eux ne la matrise, la
CPU n'enverra donc aucun message. Ceci vous est signal une seule fois par ERROR=1
et STATUS=1.

22-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

Acquittement de message pour les SFB 33 "ALARM", 34 "ALARM_8" et 35


"ALARM_8P"
L'acquittement est de type central : quand vous acquittez un message un visuel,
l'information d'acquittement est envoye d'abord la CPU qui a gnr le message. Elle
est alors distribue tous les participants dclars pour ce message.
Vous acquittez toujours un signal et non pas un message unique. Par exemple, quand
plusieurs fronts montants d'un signal ont t indiqus et que vous acquittez l'vnement
apparu, tous les vnements apparus prcdents portant le mme numro de message
s'en trouvent acquitts.

Indication d'acquittement
SFB36 "NOTIFY" et SFB31 "NOTIFY_8P" n'indiquent pas l'tat d'acquittement. Avec
SFB33 "ALARM", les paramtres de sortie ACK_UP et ACK_DN fournissent l'tat
d'acquittement, avec SFB35 "ALARM_8P" et SFB34 "ALARM_8", c'est le paramtre de
sortie ACK_STATE qu'il faut consulter. Ces sorties sont mises jour lors de l'appel du
bloc si le paramtre de commande EN_R a la valeur 1.

Inhibition et validation de message par SFC ou visuel (WinCC)


Il peut tre utile de rprimer des messages, par exemple en cas de travaux sur votre
installation. Vous pouvez donc inhiber, puis valider de nouveau des messages, depuis un
visuel ou depuis votre programme. Cette inhibition ou validation concerne tous les
participants dclars pour le message en question. Elle reste en vigueur jusqu' ce que
vous validiez le message de nouveau. Quand vous avez inhib des messages, les
paramtres de sortie ERROR et STATUS vous le signalent (ERROR = 1, STATUS = 21).

Place requise dans la mmoire de travail par les SFB gnrant des messages sur bloc
Pour fonctionner correctement, les SFB gnrant des messages sur bloc ncessitent,
dans la mmoire de travail de la CPU (zone de code), une mmoire tampon pour
donnes de communication dont la taille dpend des variables additionnelles. Le tableau
ci-aprs prcise la quantit de mmoire occupe.
Type de bloc Place requise dans la mmoire de travail de la CPU (en octets)
NOTIFY

200 + 2 x longueur des variables additionnelles indiques dans SD_1,...SD_10 lors du premier
appel

NOTIFY_8P

200 + 2 x longueur des variables additionnelles indiques dans SD_1,...SD_10 lors du premier
appel)

ALARM

200 + 2 x longueur des variables additionnelles indiques dans SD_1,...SD_10 lors du premier
appel)

ALARM_8

100

ALARM_8P

200 + 2 x longueur des variables additionnelles indiques dans SD_1,...SD_10 lors du premier
appel)

AR_SEND

54

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-3

Gnration de messages sur bloc

Nombre de donnes transmissibles


Le nombre de donnes transmettre au moyen des variables additionnelles SD_i des
SFB NOTIFY, NOTIFY_8P, ALARM et ALARM_8P ne doit pas dpasser une longueur
maximale. Voici comment calculer cette longueur maximale des donnes :
longmax =
min (pdu_local, pdu_distant) - diff -4 * nbre de paramtres SD_i utiliss
sachant que :

min (pdu_local, pdu_distant) est le plus petit des nombres pdu_lokal et pdu_remote,

pdu_local est la longueur maximale des groupes de donnes de la propre CPU (voir
les caractristiques techniques de votre CPU),

pdu_distant est la longueur maximale des groupes de donnes des visuels,

diff = 48 quand la signalisation dclenche par acquittement est active et 44 quand


elle est inactive.

Exemple :
Supposons une CPU 414-2 envoyant des messages WinCC via Industrial Ethernet. La
signalisation dclenche par acquittement n'est pas active.
On utilise les variables additionnelles SD_1, SD_2 et SD_3.
pdu_local = 480 octets, pdu_distant = 480 octets,
nombre de paramtres SD_i utiliss : 3
Ce qui donne :
longmax = min (480, 480) - 44 - 4 * 3 = 480 - 44 - 12 = 424
La longueur maximale de donnes transmissible est donc de 424 octets par SFB.

22-4

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

22.2

Gnration de messages sur bloc sans indication


d'acquittement, avec SFB36 "NOTIFY"

Description
Le bloc SFB36 "NOTIFY" surveille un signal. Il gnre un message pour le front montant
(vnement arrivant) comme pour le front descendant (vnement partant). Vous pouvez
joindre jusqu' dix variables additionnelles au message. Il est envoy tous les
participants dclars dans ce but. Lors du premier appel, un message avec l'tat logique
actuel est mis.
Les variables additionnelles sont saisies l'instant de l'valuation du front et affectes au
message. Chaque instance de SFB36 "NOTIFY" dispose d'une mmoire 2 positions.
Pour plus de dtails sur la mmorisation intermdiaire des changements de signal,
reportez-vous au paragraphe "Saisie des changements de signal" dans la rubrique
Introduction la gnration de messages sur bloc l'aide de SFB.
Le bloc SFB36 "NOTIFY" est conforme la norme CEI 1131-5.
Paramtre

Dclaration

Type de
donnes

SIG
ID

INPUT
INPUT

BOOL
WORD

EV_ID

INPUT

DWORD

SEVERITY

INPUT

WORD

DONE

OUTPUT

BOOL

ERROR

OUTPUT

BOOL

STATUS

OUTPUT

WORD

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Zone de
mmoire

Description

E, A, M, D, L
Constante
(E, A, M, D,
L)
Constante
(E, A, M, D,
L)

Signal surveiller
Voie de donnes pour messages : W#16#EEEE ID
est valu seulement lors du premier appel.

Numro de message (0 interdit)


EV_ID est valu seulement lors du premier appel.
Ensuite, c'est le n de message utilis au premier
appel qui sert pour chaque appel du SFB36 avec le
DB d'instance correspondant.
Les numros de message sont attribus
automatiquement par STEP 7, ce qui en garantit la
cohrence. Le numro de message doit tre
univoque dans votre programme utilisateur.
Constante
Gravit de l'vnement
(E, A, M, D, Valeurs possibles : 0 127 (0 indiquant la plus
L)
lourde gravit)
Ce paramtre n'est pas significatif pour le traitement
du message.
E, A, M, D, L Paramtre d'tat DONE :
gnration de message termine
E, A, M, D, L Paramtre d'tat ERROR
ERROR = TRUE signifie qu'une erreur est apparue
lors de l'excution. Voir paramtre STATUS pour
plus de dtails.
E, A, M, D, L Paramtre d'tat STATUS :
indication d'un code d'erreur

22-5

Gnration de messages sur bloc

Paramtre

Dclaration

SD_i
(1 i 10)

Type de
donnes

IN_OUT

ANY

Zone de
mmoire

Description

E, A, M, D,
T, Z

ime variable additionnelle.


Seuls les types de donnes suivants sont autoriss :
BOOL (le champ de bits n'est pas autoris), BYTE,
CHAR, WORD, INT, DWORD, DINT, REAL, DATE,
TOD, TIME, S5TIME, DATE_AND_TIME.
Nota:
Quand le pointeur ANY accde un DB, il faut
toujours spcifier ce DB
(ex. : P# DB10.DBX5.0 Byte 10)

Informations d'erreur
Le tableau suivant prsente toutes les informations d'erreur particulires au SFB36,
susceptibles d'tre communiques au moyen des paramtres ERROR et STATUS.
ERROR

STATUS
(dcimal)

Explication

11

Perte du message, le changement de signal/message n'a pas pu tre mis.

22

Erreur dans le pointeur sur les variables additionnelles SD_i :


-

quant la longueur ou au type des donnes;

variables additionnelles inaccessibles dans la mmoire utilisateur, par


ex. pour cause de DB effac ou d'erreur de longueur de zone

Le message activ est mis sans variable additionnelle ou avec le


nombre possible de variables.

Le paramtre effectif que vous avez choisi pour SEVERITY est au-dessus de
la plage autorise. Le message activ est alors mis avec SEVERITY=127.

25

La communication a t lance. Le message est en cours de traitement.

Problmes de communication : suspension de la liaison ou pas de participant


dclar.
Au premier appel

le numro indiqu par EV_ID se trouve hors de la plage autorise,

il y a une erreur formelle du pointeur ANY SD_i,

la zone de mmoire maximale pouvant tre mise pour cette CPU par
instance de SFB36 a t dpasse.

10

Accs impossible la mmoire utilisateur locale (ex. : accs un DB effac)

12

L'appel du SFB mentionne

un DB d'instance qui n'appartient pas au SFB36,

non pas un DB d'instance, mais un DB global.

18

EV_ID a dj t utilis par l'un des SFB 31 ou 33 36.

20

Mmoire de travail insuffisante


Systme H : appel du SFB durant l'actualisation

22-6

21

Le message dsign par EV_ID est inhib.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

22.3

Gnration de messages sur bloc sans indication


d'acquittement, avec SFB31 "NOTIFY_8P"

Description
SFB31 "NOTIFY_8P" est l'extension huit signaux de SFB36 "NOTIFY".
Le bloc gnre un message quand il a dtect le changement d'un signal au moins. Il en
gnre toujours un son premier appel. Il y a un numro de message commun pour les
huit signaux , il est divis en huit messages partiels sur le visuel.
Chaque instance de SFB31 "NOTIFY_8P" dispose d'une mmoire 2 positions. Pour
plus de dtails sur la mmorisation intermdiaire des changements de signal, reportezvous au paragraphe "Saisie des changements de signal" dans la rubrique Introduction
la gnration de messages sur bloc l'aide de SFB.
Nota
Malgr la perte de messages, les deux derniers changements de chaque signal sont
communiqus au visuel.

Attention
Avant d'appeler SFB31 "NOTIFY_8P" dans un systme d'automatisation, assurez-vous
que tous les visuels connects connaissent ce bloc. Ceci est le cas, lorsqu'une au moins
des versions suivantes est installe dans votre systme d'automatisation : STEP 7
partir de la version V5.1 Service Pack 3, WinCC partir de la version V5.1 Hot Fix 1,
PCS7 partir de la version V5.2 Service Pack 2, SIMATIC Device Driver partir de la
version V5.6.
Si ce n'est pas le cas, la communication entre le systme d'automatisation et les visuels
connects sera suspendue. Pour ne pourrez plus accder votre installation l'aide de
ces visuels.

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

SIG_i,
1i8

INPUT

BOOL

E, A, M, D, L.

i-nime signal surveiller

ID

INPUT

WORD

Constante (E,
A, M, D, L)

Voie de donnes pour messages : W#16#EEEE ID


est valu seulement lors du premier appel.

EV_ID

INPUT

DWORD

Constante (E,
A, M, D, L)

Numro de message (0 interdit)


EV_ID est valu seulement lors du premier appel.
Ensuite, c'est le n de message utilis au premier
appel qui sert pour chaque appel de SFB31 avec le
DB d'instance correspondant.
Les numros de message sont attribus
automatiquement par STEP 7, ce qui en garantit la
cohrence. Le numro de message doit tre
univoque dans votre programme utilisateur.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-7

Gnration de messages sur bloc

Paramtre

Type de
donnes

Zone de
mmoire

Description

SEVERITY INPUT

WORD

Constante (E,
A, M, D, L)

Gravit de l'vnement
Valeurs possibles : 0 127 (0 indiquant la plus
lourde gravit); valeur par dfaut : 64
Ce paramtre n'est pas significatif pour le traitement
du message.

DONE

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat DONE :


gnration de message termine

ERROR

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat ERROR


ERROR = TRUE signifie qu'une erreur est apparue
lors de l'excution. Voir paramtre STATUS pour
plus de dtails.

STATUS

OUTPUT

WORD

E, A, M, D, L

Paramtre d'tat STATUS :


indication d'un code d'erreur

SD_i,

IN_OUT

ANY

E, A, M, D, T,
Z

i-nime variable additionnelle

1 i 10

Dclaration

Seuls les types de donnes suivants sont autoriss :


BOOL (le champ de bits n'est pas autoris), BYTE,
CHAR, WORD, INT, DWORD, DINT, REAL, DATE,
TOD, TIME, S5TIME, DATE_AND_TIME.
Nota :
Quand le pointeur ANY accde un DB, il faut
toujours spcifier ce DB
(ex. : P# DB10.DBX5.0 Byte 10)

22-8

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

Informations d'erreur
Le tableau suivant prsente toutes les informations d'erreur particulires au SFB31,
susceptibles d'tre communiques au moyen des paramtres ERROR et STATUS.
ERROR

STATUS
(dcimal)

Explication

11

Perte du message, au moins un changement de signal/message n'a pas pu tre


mis.

22

Erreur dans le pointeur sur les variables additionnelles SD_i :


-

quant la longueur ou au type des donnes;

variables additionnelles inaccessibles dans la mmoire utilisateur, par ex.


pour cause de DB effac ou d'erreur de longueur de zone

Le message activ est mis sans variable additionnelle ou avec le nombre


possible de variables.

Le paramtre effectif que vous avez choisi pour SEVERITY est au-dessus de la
plage autorise. Le message activ est alors mis avec SEVERITY=127.

25

La communication a t lance. Le message est en cours de traitement.

Problmes de communication : suspension de la liaison ou pas de participant


dclar.

Au premier appel

le numro indiqu par EV_ID se trouve hors de la plage autorise,

il y a une erreur formelle du pointeur ANY SD_i,

la zone de mmoire maximale pouvant tre mise pour cette CPU par instance
de SFB31 a t dpasse.

10

Accs impossible la mmoire utilisateur locale (ex. : accs un DB effac)

12

L'appel du SFB mentionne

un DB d'instance qui n'appartient pas au SFB31,

non pas un DB d'instance, mais un DB global.

18

EV_ID a dj t utilis par l'un des SFB 31 ou 33 36.

20

Mmoire de travail insuffisante

21

Systme H : appel du SFB durant l'actualisation


Le message dsign par EV_ID est inhib.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-9

Gnration de messages sur bloc

22.4

Gnration de messages sur bloc avec indication


d'acquittement, avec SFB33 "ALARM"

Description
Le bloc SFB33 "ALARM" surveille un signal.

Fonctionnement par dfaut (c'est--dire quand la "signalisation dclenche par


acquittement" est dsactive) : le bloc gnre un message pour le front montant
(vnement arrivant) comme pour le front descendant (vnement partant). Vous
pouvez joindre jusqu' dix variables additionnelles ce message.

"Signalisation dclenche par acquittement" active : aprs avoir gnr un message


arrivant pour le signal, le bloc ne gnre plus aucun autre message tant que vous
n'avez pas acquitt ce message arrivant sur un visuel (voir aussi Introduction la
cration de messages sur bloc avec des SFB

Le message est envoy tous les participants dclars dans ce but.


Au premier appel, un message indiquant l'tat logique actuel est mis.
La sortie ACK_UP est mise 0 quand un front montant se prsente. Elle est mise 1
quand arrive, depuis un visuel dclar, l'acquittement de l'vnement apparu.
De mme, la sortie ACK_DN est mise 0 quand un front descendant se prsente. Elle
est mise 1 quand arrive, depuis un visuel dclar, l'acquittement de l'vnement
disparu. Quand vous avez acquitt depuis un visuel dclar, l'information d'acquittement
est remise tous les participants dclars pour ce message.
Chaque instance de SFB33 "ALARM" dispose d'une mmoire 2 positions. Pour plus de
dtails sur la mmorisation intermdiaire des changements de signal, reportez-vous au
paragraphe "Saisie des changements de signal" dans la rubrique Introduction la
gnration de messages sur bloc l'aide de SFB.
Le bloc SFB33 "ALARM" est conforme la norme CEI 1131-5.

22-10

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

Paramtre

Dclaration

EN_R

INPUT

Type de
donnes
BOOL

Zone de
mmoire

Description

E, A, M, D, L,
constante

Paramtre de commande enabled to receive (prt


recevoir) qui active (EN_R=1) ou pas (EN_R=0)
la mise jour des sorties ACK_UP et ACK_DN
l'appel du bloc. Quand EN_R=0, le
les paramtres de sortie ACK_UP et ACK_DN
restent inchangs.

SIG

INPUT

BOOL

E, A, M, D, L

Signal surveiller

ID

INPUT

WORD

Constante (E,
A, M, D, L)

Voie de donnes pour messages : W#16#EEEE


ID est valu seulement lors du premier appel.

EV_ID

INPUT

DWORD

Constante (E,
A, M, D, L)

Numro de message (0 interdit)


EV_ID est valu seulement lors du premier
appel. Ensuite, c'est le n de message utilis au
premier appel qui sert pour chaque appel du
SFB33 avec le DB d'instance correspondant.
Les numros de message sont attribus
automatiquement par STEP 7, ce qui en garantit
la cohrence. Le numro de message doit tre
univoque dans votre programme utilisateur.

SEVERITY

INPUT

WORD

Constante (E,
A, M, D, L)

Gravit de l'vnement
Valeurs possibles : 0 127 (0 indiquant la plus
lourde gravit)
Ce paramtre n'est pas significatif pour le
traitement du message.

DONE

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat DONE :


gnration de message termine.

ERROR

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat ERROR


ERROR = TRUE signifie qu'une erreur est
apparue lors de l'excution. Voir paramtre
STATUS pour plus de dtails.

STATUS

OUTPUT

WORD

E, A, M, D, L

Paramtre d'tat STATUS


indication d'un code d'erreur

ACK_DN

OUTPUT

BOOL

E, A, M, D, L

L'vnement disparu a t acquitt sur un visuel.


Etat d'initialisation : 1

ACK_UP

OUTPUT

BOOL

E, A, M, D, L

L'vnement apparu a t acquitt sur un visuel.


Etat d'initialisation : 1

SD_i

IN_OUT

ANY

(1 i
10)

E, A, M, D, T, Z ime variable additionnelle.


Seuls sont autoriss les types de donnes
suivants : BOOL (le champ de bits n'est pas
autoris), BYTE, CHAR, WORD, INT, DWORD,
DINT, REAL, DATE, TOD, TIME, S5TIME,
DATE_AND_TIME.
Nota:
Quand le pointeur ANY accde un DB, il faut
toujours spcifier ce DB
(ex. : P# DB10.DBX5.0 Byte 10)

Informations d'erreur
Le tableau suivant prsente toutes les informations d'erreur particulires au SFB33,
susceptibles d'tre communiques au moyen des paramtres ERROR et STATUS.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-11

Gnration de messages sur bloc

ERROR

STATUS
(dcimal)

Explication

11

Avertissement : perte du message, le changement de signal/le message n'a pas pu


tre mis.

22

Erreur dans le pointeur sur les variables additionnelles SD_i :


-

quant la longueur ou au type des donnes;

variables additionnelles inaccessibles dans la mmoire utilisateur, par ex.


pour cause de DB effac ou d'erreur de longueur de zone

Le message activ est mis sans variable additionnelle.

Le paramtre effectif que vous avez choisi pour SEVERITY est au-dessus de la
plage autorise. Le message activ est alors mis avec SEVERITY=127.

25

La communication a t lance. Le message est en cours de traitement.

Problmes de communication : suspension de la liaison ou pas de participant


dclar.

Quand la signalisation dclenche par acquittement est active : affichage


temporaire si aucun visuel ne supporte cette fonction.
Au premier appel

le numro indiqu par EV_ID se trouve hors de la plage autorise,

il y a une erreur formelle du pointeur ANY SD_i,

la zone de mmoire maximale pouvant tre mise pour cette CPU par instance
de SFB33 a t dpasse.

10

Accs impossible la mmoire utilisateur locale (ex. : accs un DB effac)

12

L'appel du SFB mentionne

un DB d'instance qui n'appartient pas au SFB33,

non pas un DB d'instance, mais un DB global.

18

EV_ID a dj t utilis par l'un des SFB 31 ou 33 36.

20

Mmoire de travail insuffisante


Systme H : appel du SFB durant l'actualisation

21

Le message dsign par EV_ID est inhib.

Nota
Aprs le premier appel du bloc, les sorties ACK_UP et ACK_DN ont la valeur 1 et la
valeur passe de l'entre SIG est suppose 0.

22-12

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

22.5

Gnration de messages sur bloc avec variables pour huit


signaux, avec SFB35 "ALARM_8P"

Description
Le bloc SFB35 "ALARM_8P" est l'extension huit signaux du SFB33 "ALARM".
Si vous n'avez pas activ la mthode de "signalisation dclenche par acquittement", il
gnre toujours un message quand il dtecte le changement d'un signal au moins
(exception : il met toujours un message au premier appel). Il y a un numro de message
commun aux huit signaux, qui est dcompos en huit messages partiels sur le visuel.
Vous pouvez acquitter chaque message partiel en particulier ou plusieurs la fois.
Le paramtre de sortie ACK_STATE permet le traitement ultrieur, dans votre
programme, de l'tat d'acquittement des messages partiels. Quand vous inhibez ou
validez un message d'un bloc ALARM_8P, tout le bloc s'en trouve concern. Il n'est pas
possible d'inhiber ou de valider des signaux particuliers.
Chaque instance de SFB35 "ALARM_8P" dispose d'une mmoire 2 positions. Pour
plus de dtails sur la mmorisation intermdiaire des changements de signal, reportezvous au paragraphe "Saisie des changements de signal" dans la rubrique Introduction
la gnration de messages sur bloc l'aide de SFB.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description
Paramtre de commande enabled to receive (prt
recevoir) qui active (EN_R=1) ou pas (EN_R=0) la
mise jour de la sortie ACK_STATE l'appel du
bloc
ime signal surveiller

EN_R

INPUT

BOOL

E, A, M, D, L,
constante

SIG_i
(1 i 8)
ID

INPUT

BOOL

E, A, M, D, L

INPUT

WORD

EV_ID

INPUT

DWORD

Constante (E,
A, M, D, L)
Constante (E,
A, M, D, L)

SEVERITY

INPUT

WORD

DONE

OUTPUT

BOOL

ERROR

OUTPUT

BOOL

STATUS

OUTPUT

WORD

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Voie de donnes pour messages : W#16#EEEE ID


est valu seulement lors du premier appel.
Numro de message (0 interdit)
EV_ID est valu seulement lors du premier appel.
Ensuite, c'est le n de message utilis au premier
appel qui sert pour chaque appel du SFB35 avec le
DB d'instance correspondant.
Les numros de message sont attribus
automatiquement par STEP 7, ce qui en garantit la
cohrence. Le numro de message doit tre
univoque dans votre programme utilisateur.
Constante (E, Gravit de l'vnement
A, M, D, L)
Valeurs possibles : 0 127 (0 indiquant la plus
lourde gravit)
Ce paramtre n'est pas significatif pour le
traitement du message.
E, A, M, D, L Paramtre d'tat DONE :
gnration de message termine.
E, A, M, D, L Paramtre d'tat ERROR
ERROR = TRUE signifie qu'une erreur est apparue
lors de l'excution. Voir paramtre STATUS pour
plus de dtails.
E, A, M, D, L Paramtre d'tat STATUS
indication d'un code d'erreur

22-13

Gnration de messages sur bloc

Paramtre
ACK_STATE

SD_j
(1 j 10)

22-14

Dclaration
OUTPUT

IN_OUT

Type de
donnes
WORD

ANY

Zone de
mmoire

Description

E, A, M, D, L

Champ de bits contenant l'tat d'acquittement


actuel de chacun des huit messages :
(1 : vnement acquitt, 0 : vnement non
acquitt) :

E, A, M, D, T,
Z

les bits 0 7 sont reproduits sur l'vnement


arrivant pour SIG_1 SIG_7

les bits 8 15 sont reproduits sur l'vnement


partant pour SIG_1 SIG_7

Etat d'initialisation : W#16#FFFF, c.--d. que tous


les vnements arrivant et partant ont t
acquitts.
jme variable additionnelle.
Les variables valent pour tous les messages. Seuls
types de donnes autoriss : BOOL (sauf le champ
de bits), BYTE, CHAR, WORD, INT, DWORD,
DINT, REAL, DATE, TOD, TIME, S5TIME,
DATE_AND_TIME.
Nota:
Quand le pointeur ANY accde un DB, il faut
toujours spcifier ce DB
(ex. : P# DB10.DBX5.0 Byte 10)

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

Informations d'erreur
Le tableau suivant prsente toutes les informations d'erreur particulires au SFB35,
susceptibles d'tre communiques au moyen des paramtres ERROR et STATUS.
ERROR

STATUS
(dcimal)

Explication

11

Avertissement : perte du message, au moins un changement de signal/message


n'a pas pu tre mis.

22

Erreur dans le pointeur sur les variables additionnelles SD_i :


-

quant la longueur ou au type des donnes;

variables additionnelles inaccessibles dans la mmoire utilisateur, par ex.


pour cause de DB effac ou d'erreur de longueur de zone

Le message activ est mis sans variable additionnelle.

Le paramtre effectif que vous avez choisi pour SEVERITY est au-dessus de la
plage autorise. Le message activ est alors mis avec SEVERITY=127.

25

La communication a t lance. Le message est en cours de traitement.

Problmes de communication : suspension de la liaison ou pas de participant


dclar.

Quand la signalisation dclenche par acquittement est active : affichage


temporaire si aucun visuel ne supporte cette fonction.
Au premier appel

le numro indiqu par EV_ID se trouve hors de la plage autorise,

il y a une erreur formelle du pointeur ANY SD_i,

1
1

10
12

1
1

18
20

21

la zone de mmoire maximale pouvant tre mise pour cette CPU par instance
de SFB35 a t dpasse.
Accs impossible la mmoire utilisateur locale (ex. : accs un DB effac)
L'appel du SFB mentionne

un DB d'instance qui n'appartient pas au SFB35,

non pas un DB d'instance, mais un DB global.

EV_ID a dj t utilis par l'un des SFB 31 ou 33 36.


Mmoire de travail insuffisante
Systme H : appel du SFB durant l'actualisation
Le message dsign par EV_ID est inhib.

Nota
Aprs le premier appel du bloc, tous les bits de la sortie ACK_STATE sont 1 et les
valeurs passes des entres SIG_i (1< i < 8) sont supposes 0.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-15

Gnration de messages sur bloc

22.6

Gnration de messages sur bloc sans variables pour huit


signaux, avec SFB34 "ALARM_8"

Description
Le bloc SFB34 "ALARM_8" est identique au bloc SFB35 "ALARM_8P", la diffrence
prs qu'il ne propose pas les variables additionnelles SD_1 SD_10.
Paramtre

Dclaration

Type de
donnes

EN_R

INPUT

BOOL

SIG_i
(1 i 8)
ID

INPUT

BOOL

INPUT

WORD

EV_ID

INPUT

DWORD

SEVERITY

INPUT

WORD

DONE

OUTPUT

BOOL

ERROR

OUTPUT

BOOL

STATUS

OUTPUT

WORD

ACK_STATE

OUTPUT

WORD

Zone de
mmoire

Description

E, A, M, D, L, Paramtre de commande enabled to receive (prt


constante
recevoir) qui active (EN_R=1) ou pas (EN_R=0)
la mise jour de la sortie ACK_STATE l'appel
du bloc
E, A, M, D, L, ime signal surveiller
constante
Constante
(E, A, M, D,
L)
Constante
(E, A, M, D,
L)

Voie de donnes pour messages : W#16#EEEE


ID est valu seulement lors du premier appel.

Numro de message (0 interdit)


EV_ID est valu seulement lors du premier
appel. Ensuite, c'est le n de message utilis au
premier appel qui sert pour chaque appel du
SFB34 avec le DB d'instance correspondant.
Les numros de message sont attribus
automatiquement par STEP 7, ce qui en garantit
la cohrence. Le numro de message doit tre
univoque dans votre programme utilisateur.
Constante
Gravit de l'vnement
(E, A, M, D, Valeurs possibles : 0 127 (0 indiquant la plus
L)
lourde gravit)
Ce paramtre n'est pas significatif pour le
traitement du message.
E, A, M, D, L Paramtre d'tat DONE :
gnration de message termine.
E, A, M, D, L Paramtre d'tat ERROR
ERROR = TRUE signifie qu'une erreur est
apparue lors de l'excution. Voir paramtre
STATUS pour plus de dtails.
E, A, M, D, L Paramtre d'tat STATUS
indication d'un code d'erreur
E, A, M, D, L Champ de bits contenant l'tat d'acquittement
actuel de chacun des huit messages
(1 : vnement acquitt, 0 : vnement non
acquitt) :

les bits 0 7 sont reproduits sur l'vnement


arrivant pour SIG_1 SIG_8

les bits 8 15 sont reproduits sur l'vnement


partant pour SIG_1 SIG_8

Etat d'initialisation : W#16#FFFF, c.--d. que tous


les vnements arrivant et partant ont t
acquitts.

22-16

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

Informations d'erreur
Le tableau suivant prsente toutes les informations d'erreur particulires au SFB34,
susceptibles d'tre communiques au moyen des paramtres ERROR et STATUS.
ERROR

STATUS
(dcimal)

Explication

11

Avertissement : perte du message, au moins un changement de signal/message


n'a pas pu tre mis.

22

Le paramtre effectif que vous avez choisi pour SEVERITY est au-dessus de la
plage autorise. Le message activ est mis avec SEVERITY=127.

25

La communication a t lance. Le message est en cours de traitement.

Problmes de communication : suspension de la liaison ou pas de participant


dclar.

10

12

Quand la signalisation dclenche par acquittement est active : affichage


temporaire si aucun visuel ne supporte cette fonction.
Au premier appel, le numro indiqu par EV_ID se trouve hors de la plage
autorise.
Accs impossible la mmoire utilisateur locale (ex. : accs un DB effac)
L'appel du SFB mentionne

un DB d'instance qui n'appartient pas au SFB34,

non pas un DB d'instance, mais un DB global.

18

EV_ID a dj t utilis par l'un des SFB 31 ou 33 36.

20

Mmoire de travail insuffisante

21

Systme H : appel du SFB durant l'actualisation


Le message dsign par EV_ID est inhib.

Nota
Aprs le premier appel du bloc, tous les bits de la sortie ACK_STATE sont 1 et les
valeurs passes des entres SIG_i (1< i < 8) sont supposes 0.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-17

Gnration de messages sur bloc

22.7

Envoi de donnes d'archives avec SFB37 "AR_SEND"

Description
Le bloc SFB37 "AR_SEND" envoie des donnes d'archives aux systmes de contrlecommande dclars dans ce but. Ces derniers communiquent le numro d'archives qui
les intresse la CPU dans leur tlgramme de dclaration. Selon la mmoire de travail
de la CPU et la zone d'oprandes utilise, la taille des donnes d'archives peut atteindre
65 534 octets. En composant les donnes d'archive, il faut tenir compte des valeurs
propres au systme de contrle-commande utilis.
L'envoi est activ aprs l'appel du bloc et un front positif l'entre de commande REQ.
L'adresse de dbut des donnes d'archives envoyer est indique par SD_1, la longueur
du segment de donnes par LEN. L'envoi des donnes est asynchrone l'excution du
programme utilisateur. La fin correcte de l'envoi est signale par une valeur 1 du
paramtre d'tat DONE. Un front positif de l'entre de commande R provoque
l'annulation de l'envoi en cours.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L

Paramtre de commande request (demande)

INPUT

BOOL

E, A, M, D, L,
constante

Paramtre de commande reset : annulation de la


tche active

ID

INPUT

WORD

E, A, M, D,
constante

Voie de donnes pour messages : W#16#EEEE ID


est valu seulement lors du premier appel.

AR_ID

INPUT

DWORD

Constante (E,
A, M, D, L)

Numro d'archives (0 interdit)


AR_ID est valu seulement lors du premier appel.
Ensuite, c'est le numro d'archives utilis au premier
appel qui sert pour chaque appel du SFB37 avec le
DB d'instance correspondant.
Les numros d'archives sont attribus
automatiquement par STEP 7, ce qui en garantit la
cohrence.

DONE

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat DONE :


envoi termin

ERROR

OUTPUT

BOOL

E, A, M, D, L

Paramtre d'tat ERROR


ERROR = TRUE signifie qu'une erreur est apparue
lors de l'excution. Voir paramtre STATUS pour
plus de dtails.

STATUS

OUTPUT

WORD

E, A, M, D, L

Paramtre d'tat STATUS :


indication d'un code d'erreur

22-18

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

SD_1

IN_OUT

ANY

E, A, M, D, T,
Z

Pointeur sur les donnes d'archives. Les


informations de longueur ne sont pas values.
Seuls les types de donnes suivants sont autoriss :
BOOL (sauf le champ de bits), BYTE, CHAR,
WORD, INT, DWORD, DINT, REAL, DATE, TOD,
TIME, S5TIME, DATE_AND_TIME.
Vous devez composer les donnes d'archive en
fonction du systme cible.
Nota:
Quand le pointeur ANY accde un DB, il faut
toujours spcifier ce DB
(ex. : P# DB10.DBX5.0 Byte 10)

LEN

IN_OUT

WORD

E, A, M, D, L

Longueur en octets du segment de donnes


envoyer

Informations d'erreur
Le tableau suivant prsente toutes les informations d'erreur particulires au SFB37,
susceptibles d'tre communiques au moyen des paramtres ERROR et STATUS.
ERROR

STATUS
(dcimal)

Explication

11

Avertissement : la nouvelle tche est sans effet, car la prcdente n'est pas encore
termine.

25

La communication a t lance. La tche est en cours de traitement.

Problmes de communication

Acquittement ngatif, fonction impossible excuter.

Aucun participant dclar pour l'archive dsigne par AR_ID

Erreur dans le pointeur de donnes d'archives SD_1 quant la longueur ou au


type des donnes.

Au premier appel, la valeur indique pour AR_ID se trouve hors de la plage


autorise.

La rinitialisation demande a t effectue.

Tche de rinitialisation sans signification, car la fonction courante est termine ou


n'a pas t active (bloc dans un tat incorrect)

10

Accs impossible la mmoire utilisateur locale(ex. : accs un DB effac)

12

18

20

L'appel du SFB mentionne

un DB d'instance qui n'appartient pas au SFB37,

non pas un DB d'instance, mais un DB global.

AR_ID a dj t utilis par un SFB37.


Mmoire de travail insuffisante
Systme H : appel du SFB durant l'actualisation

Cohrence des donnes


Pour garantir la cohrence des donnes, vous n'tes autoris craser de nouveau la
partie actuellement utilise de la zone d'envoi SD_1 qu'une fois l'envoi en cours termin.
Ceci est le cas quand le paramtre d'tat DONE prend la valeur 1.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-19

Gnration de messages sur bloc

22.8

Inhibition de messages sur bloc, sur mnmonique et


messages groups systme, avec SFC10 "DIS_MSG"

Description
La fonction SFC10 "DIS_MSG" (disable message) sert inhiber des messages sur bloc
que vous avez gnrs avec des SFB, des messages sur mnmonique (SCAN) et des
messages groups systme. Vous prcisez les messages inhiber au moyen des
paramtres d'entre MODE et MESGN. Une opration d'inhibition ne sera lance
correctement par la SFC10 "DIS_MSG" que si aucune autre opration d'inhibition de
SFC10 n'est en cours momentanment.
Les messages dj prpars pour l'mission, mais se trouvant encore dans une mmoire
tampon interne, ne sont plus affects par l'inhibition, c'est dire qu'ils sont encore mis.
Les sorties ERROR et STATUS des SFB "NOTIFY", "NOTIFY_8P", "ALARM",
"ALARM_8P" et "ALARM_8" vous indiquent quand la transmission d'un message est
inhibe.
Vous lancez l'opration d'inhibition en donnant la valeur 1 au paramtre d'entre REQ
lors de l'appel de la SFC10.

Fonctionnement
L'opration d'inhibition est effectue de manire asynchrone, c'est--dire qu'elle peut
s'tendre sur plusieurs appels de la SFC10 (voir aussi Signification des paramtres REQ,
RET_VAL et BUSY pour les SFC excution asynchrone) :

Au premier appel (REQ =1), la SFC10 examine les paramtres d'entre et essaie
d'occuper les ressources systme requises. Si elle y parvient, W#16#7001 est inscrit
dans RET_VAL, BUSY est mis 1 et l'inhibition est active.
Sinon, les informations d'erreur appropries sont inscrites dans RET_VAL et la tche
est termine. Dans ce cas, il ne faut pas valuer BUSY.

22-20

Lors des appels intermdiaires ventuels, W#16#7002 est inscrit dans RET_VAL
(Tche en cours d'excution par la CPU) et BUSY est mis 1. Un appel intermdiaire
n'a pas d'influence sur la tche active.

Au dernier appel, W#16#0000 est inscrit dans RET_VAL s'il n'y a pas eu d'erreur et 0
dans BUSY.En cas d'erreur, les informations appropries sont inscrites dans
RET_VAL et il ne faut pas valuer BUSY.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L REQ = 1 : activation de l'inhibition

MODE

INPUT

BYTE

E, A, M, D, L, Paramtre prcisant quels messages inhiber, voir


constante
tableau ci-dessous

MESGN

INPUT

DWORD

E, A, M, D, L, Numro de message
constante
Signifiant seulement pour MODE = 5, 6, 7. Permet
d'inhiber un seul message.

RET_VAL

OUTPUT

INT

BUSY

OUTPUT

BOOL

E, A, M, D, L Informations d'erreur, voir tableau ci-dessous


E, A, M, D, L BUSY = 1 : l'opration d'inhibition n'est pas encore
termine.

Paramtre d'entre MODE


Le tableau suivant prsente les valeurs autorises pour le paramtre MODE.
Valeur

Signification
0

Tous les messages sur bloc gnrs avec des SFB, tous les messages sur
mnmonique et tous les messages groups systme de la CPU

Tous les messages sur bloc de la CPU crs avec des SFB, c'est--dire tous les
messages des SFB "NOTIFY", "NOTIFY_8P", "ALARM", "ALARM_8P" et
"ALARM_8"

Tous les messages groups systme de la CPU

Tous les messages sur mnmonique de la CPU (SCAN)

Un seul message de la classe "Messages sur mnmonique"

Un seul message de la classe "Messages sur bloc gnrs l'aide de SFB"

Un seul message de la classe "Messages groups systme"

Informations d'erreur
Code d'erreur (W#16#...)

Signification

0000

Inhibition termine sans erreur

7000

Premier appel avec REQ = 0 : l'inhibition n'a pas t active.

7001

Premier appel avec REQ = 1 : l'inhibition a t active.

7002

Appel intermdiaire : l'inhibition est dj active.

8081

Erreur lors de l'accs un paramtre

8082

Valeur non autorise du paramtre MODE

8083

Numro de message hors de la plage de valeurs autorises

8084

Il n'y a pas de participant dclar pour le(s) message(s) spcifi(s) au moyen de


MODE et de MESGN.

80C3

Il est momentanment impossible d'activer l'inhibition du (des) message(s)


spcifi(s) au moyen de MODE et de MESGN, car une autre opration d'inhibition
de la SFC10 est justement active.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-21

Gnration de messages sur bloc

22.9

Validation de messages sur bloc, sur mnmonique et


messages groups systme, avec SFC9 "EN_MSG"

Description
La fonction SFC9 "ENS_MSG" (enable message) sert valider de nouveau des
messages sur bloc, des messages sur mnmonique et des messages groups systme
inhibs, l'inhibition ayant t effectue depuis un visuel ou avec SFC10 "DIS_MSG".
Vous prcisez les messages valider au moyen des paramtres d'entre MODE et
MESGN. Une opration de validation ne sera lance correctement par la SFC9
"EN_MSG" que si aucune autre opration de validation de la SFC9 n'est en cours
momentanment.
Vous lancez l'opration de validation en donnant la valeur 1 au paramtre d'entre REQ
lors de l'appel de la SFC9.

Fonctionnement
L'opration de validation est effectue de manire asynchrone, c'est--dire qu'elle peut
s'tendre sur plusieurs appels de la SFC9 (voir aussi Signification des paramtres REQ,
RET_VAL et BUSY pour les SFC excution asynchrone) :

Au premier appel (REQ =1), la SFC9 examine les paramtres d'entre et essaie
d'occuper les ressources systme requises. Si elle y parvient, W#16#7001 est inscrit
dans RET_VAL, BUSY est mis 1 et la validation est active.
Sinon, les informations d'erreur appropries sont inscrites dans RET_VAL et la tche
est termine. Dans ce cas, il ne faut pas valuer BUSY.

Lors des appels intermdiaires ventuels, W#16#7002 est inscrit dans RET_VAL
(Tche en cours d'excution par la CPU) et BUSY est mis 1. Un appel intermdiaire
n'a pas d'influence sur la tche active.

Au dernier appel, W#16#0000 est inscrit dans RET_VAL s'il n'y a pas eu d'erreur et 0
dans BUSY.En cas d'erreur, les informations appropries sont inscrites dans
RET_VAL et il ne faut pas valuer BUSY.

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

REQ

INPUT

BOOL

E, A, M, D, L

REQ = 1 : activation de la validation

MODE

INPUT

BYTE

E, A, M, D, L,
constante

Paramtre prcisant quels messages valider,


voir tableau ci-aprs

MESGN

INPUT

DWORD

E, A, M, D, L,
constante

Numro de message
Signifiant seulement pour MODE = 5, 6, 7. Permet de
valider un seul message.

RET_VAL

OUTPUT

INT

E, A, M, D, L

Informations d'erreur, voir tableau ci-aprs

BUSY

OUTPUT

BOOL

E, A, M, D, L

BUSY = 1 : l'opration de validation n'est pas encore


termine.

22-22

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

Paramtre d'entre MODE


Le tableau suivant prsente les valeurs autorises pour le paramtre d'entre MODE.
Valeur

Signification
0

Tous les messages sur bloc gnrs avec des SFB, tous les messages sur
mnmonique et tous les messages groups systme de la CPU

Tous les messages sur bloc de la CPU crs avec des SFB, c'est--dire tous les
messages des SFB "NOTIFY", "NOTIFY_8P", "ALARM", "ALARM_8P" et
"ALARM_8"

Tous les messages groups systme de la CPU

Tous les messages sur mnmonique de la CPU (SCAN)

Un seul message de la classe "Messages sur mnmonique"

Un seul message de la classe "Messages sur bloc gnrs l'aide de SFB"

Un seul message de la classe "Messages groups systme"

Informations d'erreur
Code d'erreur
(W#16#...)

Signification

0000

Validation termine sans erreur

7000

Premier appel avec REQ = 0 : la validation n'a pas t active.

7001

Premier appel avec REQ = 1 : la validation a t active.

7002

Appel intermdiaire : la validation est dj active.

8081

Erreur lors de l'accs un paramtre

8082

Valeur non autorise du paramtre MODE

8083

Numro de message hors de la plage de valeurs autorises

8084

Il n'y a pas de participant dclar pour le(s) message(s) spcifi(s) au moyen de


MODE et de MESGN.

80C3

Il est momentanment impossible d'activer l'inhibition du (des) message(s)


spcifi(s) au moyen de MODE et de MESGN, car une autre opration d'inhibition de
la SFC9 est justement active.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie


RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-23

Gnration de messages sur bloc

22.10

Comportement de mise en route des SFB gnrant des


messages sur bloc

Comportement au dmarrage chaud


Au dmarrage chaud, les DB d'instance des SFB gnrant des messages sur bloc sont
mis l'tat non initialis. Les paramtres effectifs mmoriss dans les DB d'instance
demeurent inchangs. Les paramtres ID et EV_ID sont valus l'appel suivant du
bloc.

Comportement au dmarrage froid


Au dmarrage froid, les contenus des DB d'instance des SFB gnrant des messages
sur bloc sont remis aux valeurs initiales.

Comportement au redmarrage
Au redmarrage, les SFB gnrant des messages sur bloc se comportent comme des
blocs fonctionnels utilisateur dont l'excution peut tre poursuivie. Ils sont repris au point
d'interruption.

Comportement aprs effacement gnral


Un effacement gnral provoque toujours l'annulation de toutes les liaisons, de sorte qu'il
n'y a plus de participant dclar pour des messages. Le programme utilisateur est effac.
Si vous avez enfich une carte flash, les parties de programme servant l'excution sont
recharges de cette carte dans la CPU et cette dernire effectue un dmarrage chaud
ou froid (implicitement, c'est toujours un dmarrage froid, puisque toutes les donnes
utilisateur sont initialises aprs un effacement gnral).

22-24

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

22.11

Comportement d'anomalie des SFB gnrant des


messages sur bloc

Annulation de liaison
Les liaisons affectes aux instances de SFB sont surveilles pour en constater
l'annulation. En cas d'annulation de liaison, le participant concern est supprim de la
liste qui se trouve dans la CPU et qui contient les participants dclars pour les
messages sur bloc. S'il y a encore des messages envoyer ce participant, ils sont
effacs. S'il reste des participants dclars aprs l'annulation de liaison, ils continuent
recevoir des messages. Les SFB ne cessent d'mettre que lorsque les liaisons tous les
participants dclars ont t annules. Ceci est indiqu par les paramtres de sortie
ERROR et STATUS (ERROR = 1, STATUS = 1).

Interface d'erreur avec le programme utilisateur


Quand une erreur apparat lors de l'excution d'un SFB gnrant des messages sur bloc,
le paramtre de sortie ERROR est mis 1 et le code d'erreur appropri est crit dans le
paramtre de sortie STATUS. Vous pouvez valuer ces informations d'erreur dans votre
programme.
Exemples d'erreur possible :

mission impossible pour cause de manque de ressources,

erreur d'accs l'un des signaux surveiller.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-25

Gnration de messages sur bloc

22.12

Introduction la gnration de messages sur bloc l'aide


de SFC

SFC gnrant des messages sur bloc


Les fonctions systme suivantes permettent de gnrer un message sur bloc :

SFC17 "ALARM_SQ",

SFC18 "ALARM_S",

SFC107 "ALARM_DQ",

SFC108 "ALARM_D".

Ces SFC prsentent les caractristiques suivantes :

Les messages mis par la SFC17 "ALARM_SQ" et la SFC107 "ALARM_DQ" ayant


l'tat 1 sont acquittables depuis un visuel dclar. Les messages de la SFC18
"ALARM_S" et de la SFC108 "ALARM_D" sont toujours acquitts implicitement.

Ce n'est pas un changement de signal, mais chaque appel de SFC qui gnre un
message. Ce dont il faut tenir compte est expliqu la rubrique Gnration de
messages sur bloc avec SFC17 "ALARM_SQ" et avec SFC18 "ALARM_S" ainsi qu'
la rubrique Gnration de messages sur bloc avec SFC107 "ALARM_DQ" et avec
SFC108 "ALARM_D".

Une fois le bloc excut, la variable additionnelle SD est saisie dans son entier et
affecte au message.
Pour cette variable additionnelle, la cohrence par rapport aux classes de priorit
suprieure est garantie pour :
-

les types de donnes simples (bit, octet, mot et double-mot),


un tableau du type de donnes octet jusqu' une longueur maximale propre
la CPU (voir /71/, /101/).

SFC19 "ALARM_SC"
La fonction SFC19 "ALARM_SC" vous permet de dterminer

l'tat d'acquittement du dernier message signalant un vnement apparu et l'tat du


signal au dernier appel de la SFC17/SFC107,

l'tat du signal au dernier appel de la SFC18/SFC108.

Dclaration de visuels
Pour qu'une SFC gnrant des messages sur bloc mette un message quand elle est
appele, il faut qu'un visuel au moins se soit dclar pour ces messages.

Mmorisation temporaire de messages


Afin d'viter la perte de messages quand le systme de communication est trs charg,
les SFC 17, 18, 107 et 108 sont en mesure d'en mmoriser temporairement deux
chacune. S'il arrive toutefois que des messages se perdent, RET_VAL vous le signale.
Les visuels dclars reoivent une information ce sujet en mme temps que le
message suivant mis.

22-26

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

Acquittement de message avec SFC17 "ALARM_SQ" et avec SFC107 "ALARM_DQ"


Quand vous acquittez, un visuel, un message signalant un vnement apparu,
l'information d'acquittement est envoye d'abord la CPU qui a caus le message. Elle
est alors distribue tous les participants dclars pour ce message.

Inhibition et validation de message


Vous ne pouvez pas inhiber, puis valider de nouveau les messages sur bloc que vous
avez gnrs avec SFC17 "ALARM_SQ", avec SFC18 "ALARM_S", avec SFC107
"ALARM_DQ" ou avec SFC108 "ALARM_D".

Modifications de votre programme contenant des appels de SFC17 / SFC18


Nota
Quand vous chargez un bloc se trouvant dj dans la CPU, au moyen d'appels des
SFC17 / SFC18, il peut arriver que le bloc prcdent ait signal l'apparition d'un
message, mais que le nouveau bloc n'en signale pas la disparition. Par suite, ce message
restera dans la mmoire de messages interne de la CPU. Ceci peut galement se
produire quand vous effacez des blocs au moyen d'appels de SFC17 / SFC18.
Vous pouvez effacer de tels messages de la mmoire de messages interne de la CPU,
en mettant cette dernire l'tat de fonctionnement Arrt, pour effectuer ensuite un
dmarrage chaud ou froid.

Modifications de votre programme contenant des appels de SFC107 / SFC108


Lorsque votre programme contient des appels de SFC107 et/ou de SFC108, des
messages peuvent galement rester dans la mmoire de messages interne et occuper
en permanence les ressources systme conscutivement aux modification de
programme dcrites ci-avant.
Contrairement aux ressources systme occupes par des appels de SFC17 / SFC18,
vous pouvez nouveau valider les ressources systme occupes par des appels de
SFC107 / SFC108 sans mettre votre CPU l'tat d'arrt. Ceci est ralis par la mise en
uvre de la SFC106 "DEL_SI", voir Validation des ressources systme occupes de
manire dynamique avec SFC106 "DEL_SI" . Avant de valider les ressources systme
occupes de manire dynamique par appel de la SFC106 "DEL_SI", il peut tre judicieux
de lire des informations sur les ressources systme de votre CPU actuellement occupes
de manire dynamique au moyen de la SFC105 "READ_SI", voir Lecture des ressources
systme occupes de manire dynamique avec SFC105 "READ_SI".

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-27

Gnration de messages sur bloc

Nombre de donnes transmissibles


Le nombre de donnes transmissibles au moyen de la variable additionnelle SD des SFC
ALARM_S, ALARM_SQ, ALARM_D et ALARM_DQ ne doit pas dpasser une longueur
maximale qui se calcule comme suit :
longmaxi = min (pdu_local, pdu_distant) - 48
sachant que :

pdu_local est la longueur maximale des segments de donnes de votre propre CPU
(SZL_ID W#16#0131, INDEX 1, variable pdu),

pdu_distant est la longueur maximale des segments de donnes des visuels.

Exemple :
Supposons qu'une CPU 414-2 envoie des messages une PG 760 (via MPI).
pdu_local = 480 octets, pdu_distant = 480 octets
Ce qui donne :
longmaxi = min (480, 480) - 48 = 480 - 48 = 432
La longueur maximale des donnes transmissibles est de 432 octets par SFC.

22-28

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

22.13

Gnration de messages sur bloc avec SFC17


"ALARM_SQ" et avec SFC18 "ALARM_S"
Nota
Dans les nouveaux programmes crer, vous avez tout intrt ne plus employer que
les SFC 107 et 108 qui permettent une meilleure gestion des ressources systme.

Description
La fonction SFC17 "ALARM_SQ" et la fonction SFC18 "ALARM_S" gnrent chaque
appel un message, auquel vous pouvez joindre une variable additionnelle. Ce message
est envoy tous les participants dclars pour cela. Les SFC17 et SFC18 mettent ainsi
votre disposition un mcanisme indicateur simple sans surveillance de signal. Vous
devez seulement faire attention n'appeler les SFC17/SFC18 que lorsque la valeur du
signal SIG causant le message s'est inverse depuis le dernier appel. Si ce n'est pas le
cas, RET_VAL vous en informe et aucun message n'est mis. Prenez soin que l'entre
SIG soit 1 lors du tout premier appel. Sinon, RET_VAL communiquera des informations
d'erreur et aucun message ne sera mis.
Nota
Appelez la SFC17 et la SFC18 depuis un FB auquel vous affectez auparavant les
attributs systme appropris ! Vous trouverez des renseignements dtaills sur
l'affectation d'attributs systme pour blocs dans /234/.

Occupation des ressources systme


Pour gnrer un message avec la SFC17 "ALARM_SQ" ou la SFC18 "ALARM_S", le
systme d'exploitation occupe une ressource systme pendant la dure d'un cycle de
signal.
Pour la SFC18 "ALARM_S", le cycle de signal dure de l'appel de la SFC avec SIG=1
jusqu'au nouvel appel avec SIG=0. Pour la SFC17 "ALARM_SQ", cette dure s'allonge
ventuellement du laps de temps qui s'coule jusqu' ce que l'un des visuels dclars
acquitte le signal arrivant.
Si le bloc gnrateur de message se trouve surcharg ou effac au cours du cycle de
signal, la ressource systme correspondante reste occupe jusqu'au prochain dmarrage
chaud.

Acquittement de message
Les messages mis par la SFC17 "ALARM_SQ" ayant l'tat 1 peuvent tre acquitts
depuis un visuel dclar. La SFC19 "ALARM_SC" vous permet de dterminer l'tat
d'acquittement du dernier message signalant un vnement apparu ainsi que l'tat du
signal au dernier appel de la SFC17.Les messages mis par la SFC18 "ALARM_S" sont
toujours acquitts implicitement. La SFC19 "ALARM_SC" vous permet de dterminer
l'tat du signal au dernier appel de la SFC18.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-29

Gnration de messages sur bloc

Mmorisation temporaire des tats du signal


La SFC17 "ALARM_SQ" et la SFC18 "ALARM_S" occupent des ressources systme
pour y stocker, entre autres, les deux derniers tats du signal avec horodatage et variable
additionnelle. Si les tats des deux derniers appels de SFC ne sont pas encore mis
quand advient le nouvel appel de la SFC17/ SFC18 (dbordement de signal), l'tat actuel
et le dernier tat sont rejets et un indicateur de dbordement est activ dans la mmoire
temporaire. Aussitt que possible, l'avant-dernier tat du signal est mis avec l'indicateur
de dbordement.
Exemple :

t
t0

t1

t2

t0, t1 et t2 dsignent les instants d'appel de la SFC17/SFC18. Si les tats de t0 et t1 ne


sont pas encore mis l'instant t2, les tats de t1 et t2 sont rejets et l'indicateur de
dbordement est activ pour l'tat de t0.

Dbordement d'instance
Si le nombre d'appels de la SFC17/SFC18 est suprieur au nombre maximal de
ressources systme de votre CPU, vous pouvez vous trouver devant un manque de
ressources (dbordement d'instance). Ceci vous est signal par des informations d'erreur
dans RET_VAL ainsi que sur les visuels dclars.
Le nombre maximal d'appels de la SFC17/SFC18 dpend de la CPU. Vous trouverez ces
renseignements dans /70/ et /101/.
Paramtre

Dclaration

SIG

INPUT

ID

Zone de
mmoire

Description

BOOL

E, A, M, D, L

Signal causant le message

INPUT

WORD

E, A, M, D, L,
constante

Voie de donnes pour messages : W#16#EEEE

EV_ID

INPUT

DWORD

Constante (E,
A, M, D, L)

Numro de message (0 interdit)

SD

INPUT

ANY

E, A, M, D, T,
Z

Variable additionnelle
Longueur maximale : 12 octets.
Seuls types de donnes autoriss : BOOL (sauf le
champ de bits), BYTE, CHAR, WORD, INT,
DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME.

RET_VAL

OUTPUT

INT

E, A, M, D, L

Informations d'erreur

22-30

Type de
donnes

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

Informations d'erreur
Code d'erreur (W#16#...)

Signification

0000

Pas d'erreur

0001

La longueur de la variable additionnelle excde la longueur maximale autorise


ou

l'accs la mmoire utilisateur locale est impossible (ex. : accs un DB


effac) ; le message est mis.

La variable additionnelle indique une valeur dans la zone des donnes locales;
le message est mis.

0002

Avertissement : la dernire mmoire libre pour acquittement de message vient


d'tre occupe.

8081

Le numro indiqu par EV_ID se trouve hors de la plage autorise.

8082

Perte de messages, car votre CPU n'a plus assez de ressources pour la gnration
de messages sur bloc au moyen de SFC.

8083

Perte de messages, car ce mme changement de signal n'a pu encore tre mis
(dbordement de signal).

8084

Le signal SIG causant le message n'a pas chang de valeur entre l'appel prcdent
et l'appel actif de la SFC17/SFC18.

8085

Aucun participant dclar pour le message dsign par EV_ID.

8086

Un appel de SFC pour ce mme numro EV_ID est dj en cours d'excution dans
une classe de priorit plus basse.

8087

Au premier appel de la SFC17/SFC18, le signal causant le message avait la valeur


0.

8088

Ce numro EV_ID est dj utilis par une autre ressource systme (concernant
SFC 17, 18, 107, 108).

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-31

Gnration de messages sur bloc

22.14

Recherche de l'tat d'acquittement du dernier message de


type ALARM_SQ/ALARM_DQ, avec SFC19 "ALARM_SC"

Description
La fonction SFC19 "ALARM_SC" sert dterminer

l'tat d'acquittement du dernier message de type ALARM_SQ/ALARM_DQ signalant


un vnement apparu et l'tat du signal causant le message au dernier appel de la
SFC17 "ALARM_SQ" / SFC107 "ALARM_DQ" ou

l'tat du signal causant le message au dernier appel de la SFC18 "ALARM_S" /


SFC108 "ALARM_D".

Le message ou le signal sont spcifis sans ambigut par le numro de message que
vous indiquez, condition que vous ayez attribu les numros de message l'aide de la
configuration des messages, ce qui garantit des numros sans ambigut pour
l'ensemble du projet.
La SFC19 "ALARM_SC" accde la mmoire occupe temporairement par les
SFC17/SFC18/SFC107/SFC108.
Paramtre

Dclaration

EV_ID

INPUT

RET_VAL
STATE
Q_STATE

Type de
donnes

Zone de
mmoire

Description

DWORD

E, A, M, D, L,
constante

N du message pour lequel vous souhaitez


dterminer l'tat du signal au dernier appel de la
SFC ou l'tat d'acquittement pour le dernier
vnement apparu (SFC17 et SFC107 seulement)

OUTPUT

INT

E, A, M, D, L

Informations d'erreur

OUTPUT

BOOL

E, A, M, D, L

Etat du signal causant le message au dernier appel


de la SFC

OUTPUT

BOOL

E, A, M, D, L

Si le paramtre EV_ID indiqu appartient un


appel de la SFC18/SFC108 : 1
Si le paramtre EV_ID indiqu appartient un
appel de la SFC17/SFC107 : tat d'acquittement
pour le dernier vnement apparu
0 : non acquitt 1 : acquitt

Informations d'erreur
Code d'erreur (W#16#...)

22-32

Signification

0000

Pas d'erreur

8081

Le numro indiqu par EV_ID se trouve hors de la plage autorise.

8082

Momentanment, il n'y a pas de place mmoire occupe pour ce numro EV_ID


(cause possible : le signal correspondant n'a encore jamais eu l'tat 1 ou il a dj
repris l'tat 0).

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

22.15

Gnration de messages sur blocs acquittables et toujours


acquitts avec SFC107 "ALARM_DQ" et SFC108
"ALARM_D"

Description
A chaque appel, les SFC 107 "ALARM_DQ" et 108 "ALARM_D" gnrent un message
auquel vous pouvez associer une variable additionnelle. En cela, ils correspondent aux
SFC 17 "ALARM_SQ" et 18 "ALARM_S".
Pour gnrer un message avec la SFC107 "ALARM_DQ" ou la SFC108 "ALARM_D", le
systme d'exploitation occupe une ressource systme pendant la dure d'un cycle de
signal.
Pour la SFC108 "ALARM_D", le cycle de signal dure de l'appel de la SFC avec SIG=1
jusqu'au nouvel appel avec SIG=0. Pour la SFC107 "ALARM_DQ", cette dure s'allonge
ventuellement du laps de temps qui s'coule jusqu' ce que l'un des visuels dclars
acquitte le signal arrivant.
Si le bloc gnrateur de message se trouve surcharg ou effac au cours du cycle de
signal, la ressource systme correspondante reste occupe jusqu'au prochain dmarrage
chaud.
La fonction supplmentaire offerte par les SFC 107 et 108 par rapport aux SFC 17 et 18,
c'est simplement que vous pouvez grer ces ressources systme occupes.

Avec la SFC105 "READ_SI", vous pouvez lire les informations sur les ressources
systme occupes.

Avec la SFC106 "DEL_SI", vous pouvez nouveau valider les ressources systme
occupes. Ceci s'avre particulirement utile pour les ressources systme occupes
en permanence. Une ressource systme actuellement occupe le reste par ex.
jusqu'au prochain dmarrage chaud lorsque vous supprimez un appel de FB lors
d'une modification du programme et que ce FB contient des appels de SFC107 ou de
SFC108. Si, lors d'une modification du programme, vous chargez une nouvelle fois
un FB contenant des appels de SFC107 ou SFC108, il est possible que les SFC107
et SFC108 ne gnrent plus de messages.

Les SFC107 et SFC108 possdent un paramtre de plus que les SFC17 et SFC18,
savoir l'entre CMP_ID. Ce paramtre vous permet d'affecter les messages gnrs par
les SFC107 et SFC108 des zones logiques, par ex. des installations partielles. Si vous
appelez les SFC107 / SFC108 dans un mme FB, il est judicieux d'affecter CMP_ID le
numro du DB d'instance correspondant.
Paramtre

Dclaration

Type de
donnes

SIG

INPUT

BOOL

E, A, M, D, L

Signal causant le message

ID

INPUT

WORD

E, A, M, D, L,
constante

Voie de donnes pour messages : W#16#EEEE

EV_ID

INPUT

DWORD

Constante (E,
A, M, D, L)

Numro de message (0 interdit)

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Zone de
mmoire

Description

22-33

Gnration de messages sur bloc

Paramtre

Dclaration

CMP_ID

INPUT

Type de
donnes
DWORD

Zone de
mmoire

Description

E, A, M, D, L,
constante

Identification du composant (0 interdit)


Identification du systme partiel auquel le message
correspondant est affect.
Valeurs recommandes :

Mot de poids faible : 1 65535

Mot de poids fort : 0

Si vous suivez ces recommandations, aucun conflit


n'apparatra avec les progiciels de SIEMENS.
SD

INPUT

ANY

E, A, M, D, T,
Z

Variable additionnelle
Longueur maximale : 12 octets.
Seuls types de donnes autoriss : BOOL (sauf le
champ de bits), BYTE, CHAR, WORD, INT,
DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME

RET_VAL

OUTPUT

INT

E, A, M, D, L

Informations d'erreur

Informations d'erreur
Code d'erreur (W#16#...)

22-34

Signification

0000

Pas d'erreur

0001

La longueur de la variable additionnelle excde la longueur maximale autorise


ou

l'accs la mmoire utilisateur locale est impossible (ex. : accs un DB


effac) ; le message est mis.

La variable additionnelle indique une valeur dans la zone des donnes locales;
le message est mis.

0002

Avertissement : la dernire mmoire libre pour acquittement de message vient


d'tre occupe.

8081

Le numro indiqu par EV_ID se trouve hors de la plage autorise.

8082

Perte de messages, car votre CPU n'a plus assez de ressources pour la gnration
de messages sur bloc au moyen de SFC.

8083

Perte de messages, car ce mme changement de signal n'a pu encore tre mis
(dbordement de signal).

8084

Le signal SIG causant le message n'a pas chang de valeur entre l'appel prcdent
et l'appel actif de la SFC107/SFC108.

8085

Aucun participant dclar pour le message dsign par EV_ID.

8086

Un appel de SFC pour ce mme numro EV_ID est dj en cours d'excution dans
une classe de priorit plus basse.

8087

Au premier appel de la SFC107/SFC108, le signal causant le message avait la


valeur 0.

8088

Ce numro EV_ID est dj utilis par une autre ressource systme (concernant
SFC 17, 18, 107, 108).

8089

Vous avez affect la valeur 0 CMP_ID.

808A

CMP_ID ne correspond pas EV_ID

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

22.16

Lecture des ressources systme occupes de manire


dynamique avec SFC105 "READ_SI"

Ressources systme occupes de manire dynamiques lors de la gnration de


messages avec les SFC107 et SFC108
Lors de la gnration des messages avec les SFC 107 "ALARM_DQ" et 108
"ALARM_D", le systme d'exploitation occupe temporairement de l'espace dans la
mmoire systme.
Si dans la CPU, vous supprimez par ex. un FB contenant des appels de SFC107 ou
SFC108, il est possible que les ressources systme correspondantes restent occupes
en permanence. Si vous chargez une nouvelle fois ce FB contenant des appels de
SFC107 ou SFC108, il est possible que les SFC107 et SFC108 ne soient plus traites
correctement.

Description
Avec la SFC105 "READ_SI", vous pouvez lire les ressources systme actuellement
occupes en raison de la gnration de messages avec les SFC107 et SFC108. La
lecture s'effectue au moyen des valeurs de EV_ID et CMP_ID qui sont transmises la
SFC105 "READ_SI" dans le paramtre SI_ID.
Les 4 modes de fonctionnement de la SFC105 "READ_SI" sont indiqus dans le tableau
suivant. Vous slectionnez le mode de fonctionnement souhait avec le paramtre
MODE.
MODE Quelles ressources systme occupes par les SFC107 / SFC108 sont lues ?
1

Toutes (appel de la SFC105 avec SI_ID:=0).

La ressource systme qui a t occupe avec EV_ID:=ev_id lors de l'appel de la SFC107/SFC108


(appel de la SFC105 avec SI_ID:=ev_id).

Toutes les ressources systme qui ont t occupes avec CMP_ID:=cmp_id lors de l'appel de la
SFC107/SFC108 (appel de la SFC105 avec SI_ID:=cmp_id).

Les autres ressources systme qui n'ont pas pu tre lues lors du prcdent appel avec MODE=1 ou
MODE=3, car vous aviez slectionn une zone cible SYS_INST trop petite.

Fonctionnement
Si lors de l'appel de la SFC105 avec MODE=1 ou MODE=3 vous avez slectionn une
zone cible SYS_INST suffisamment grande, celle-ci indiquera le contenu de toutes les
ressources actuellement occupes et slectionnes avec le paramtre MODE.
Si de nombreuses ressources sont actuellement occupes, la dure d'excution de la
SFC est relativement longue. En cas de sollicitation excessive de votre CPU, le temps de
surveillance du cycle risque d'tre dpass.
Pour viter ce problme de dure d'excution, procdez de la manire suivante :
slectionnez une zone cible SYS_INST relativement petite. Si la SFC ne peut pas y
inscrire toutes les ressources systme lire, le paramtre RET_VAL=W#16#0001 vous
en informe. Appelez alors la SFC105 avec MODE=0 et le mme SI_ID que lors de l'appel
prcdent autant de fois que ncessaire, jusqu' ce que RET_VAL prenne la valeur
W#16#0000.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-35

Gnration de messages sur bloc

Nota
Puisque le systme d'exploitation n'effectue pas de coordination des appels de SFC105
appartenant une tche de lecture, il est recommand de raliser tous les appels de
SFC105 avec la mme classe de priorit.

Structure de la zone cible SYS_INST


La zone cible pour les ressources systme occupes doit se trouver dans un DB. Il est
recommand de dfinir la zone cible comme champ d'une structure, celle-ci tant la
suivante :
Elment de
structure

Type de
donnes

Description

SFC_NO

WORD

Numro de la SFC qui a occup la ressource systme

LEN

BYTE

Longueur de la structure en octets, y compris SFC_NO et LEN : B#16#0C

SIG_STAT

BOOL

Etat du signal

ACK_STAT

BOOL

Etat d'acquittement de l'vnement arrivant (front montant)

EV_ID

DWORD

Numro de message

CMP_ID

DWORD

Identification du systme partiel

Paramtre

Dclaration

Type de
donnes

Zone de mmoire

Description

MODE

INPUT

INT

E, A, M, D, L,
constante.

Identification de la tche

SI_ID

INPUT

DWORD

E, A, M, D, L,
constante.

Valeurs possibles :

1 : lecture de toutes les ressources systme

2 : lecture de la ressource systme ayant t


occupe avec EV_ID = ev_id lors de l'appel
de la SFC107 / SFC108

3 : lecture des ressources systme ayant t


occupes avec CMP_ID = cmp_id lors de
l'appel de la SFC107 / SFC108

0 : appel suivant

Identification de la (des) ressource(s) systme


lire
Valeurs possibles :

0, si MODE=1

numro de message ev_id, si MODE=2

identification cmp_id du systme partiel, si


MODE=3

RET_VAL

OUTPUT

INT

E, A, M, D, L

Valeur en retour (information d'erreur ou tat de


la tche)

N_SI

OUTPUT

INT

E, A, M, D, L

Nombre de ressources systme indiques dans


SYS_INT

SYS_INST

OUTPUT

ANY

Zone cible des ressources systme lues

22-36

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

Informations d'erreur
Code d'erreur (W#16#...)

Signification

0000

Pas d'erreur

0001

8081

(uniquement si MODE=2 ou 3) Vous avez affect la valeur 0 SI_ID.

Toutes les ressources systme ne peuvent pas tre lues, car vous avez
slectionn une zone cible SYS_INST trop petite.

8082

(uniquement si MODE=1) Vous avez affect une valeur diffrente de 0 SI_ID.

8083

(uniquement si MODE=0) Vous avez affect une autre valeur SI_ID que lors de
l'appel de SFC prcdent avec MODE=1 ou 3.

8084

Vous avez affect une valeur non autorise MODE.

8085

La SFC105 est en cours de traitement dans un autre OB.

8086

La zone cible SYS_INST est trop petite pour une ressource systme.

8087

La zone cible SYS_INST ne se trouve pas dans un DB.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-37

Gnration de messages sur bloc

22.17

Validation des ressources systme occupes de manire


dynamique avec SFC106 "DEL_SI"

Ressources systme occupes de manire dynamiques lors de la gnration de


messages avec les SFC107 et SFC108
Lors de la gnration des messages avec les SFC 107 "ALARM_DQ" et 108
"ALARM_D", le systme d'exploitation occupe temporairement de l'espace dans la
mmoire systme.
Si dans la CPU, vous supprimez par ex. un FB contenant des appels de SFC107 ou
SFC108, il est possible que les ressources systme correspondantes restent occupes
en permanence. Si vous chargez une nouvelle fois ce FB contenant des appels de
SFC107 ou SFC108, il est possible que les SFC107 et SFC108 ne soient plus traites
correctement.

Description
Avec la SFC106 "DEL_SI", vous pouvez supprimer des ressources systme actuellement
utilises.
Les 3 modes de fonctionnement de la SFC106 "DEL_SI" sont indiqus dans le tableau
suivant. Vous slectionnez le mode de fonctionnement souhait avec le paramtre
MODE.
MODE Quelles ressources systme occupes par les SFC107 / SFC108 sont supprimes ?
1

Toutes (appel de la SFC106 avec SI_ID:=0).

La ressource systme qui a t occupe avec EV_ID:=ev_id lors de l'appel de la SFC107/SFC108


(appel de la SFC106 avec SI_ID:=ev_id).

Toutes les ressources systme qui ont t occupes avec CMP_ID:=cmp_id lors de l'appel de la
SFC107/SFC108 (appel de la SFC106 avec SI_ID:=cmp_id).

22-38

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Gnration de messages sur bloc

Paramtre

Dclaration

Type de
donnes

Zone de mmoire

Description

MODE

INPUT

INT

E, A, M, D, L,
constante.

Identification de la tche

SI_ID

INPUT

DWORD

E, A, M, D, L,
constante.

Valeurs possibles :

1 : suppression de toutes les ressources


systme

2 : suppression de la ressource systme


ayant t occupe avec EV_ID = ev_id lors
de l'appel de la SFC107 / SFC108

3 : suppression des ressources systme


ayant t occupes avec CMP_ID =
cmp_id lors de l'appel de la SFC107 /
SFC108

0 : appel suivant

Identification de la (des) ressource(s) systme


lire
Valeurs possibles :

RET_VAL

OUTPUT

INT

E, A, M, D, L

0, si MODE=1

numro de message ev_id, si MODE=2

identification cmp_id du systme partiel, si


MODE=3

Informations d'erreur

Informations d'erreur
Code d'erreur (W#16#...)

Signification

0000

Pas d'erreur

8081

(uniquement si MODE=2 ou 3) Vous avez affect la valeur 0 SI_ID.

8082

(uniquement si MODE=1) Vous avez affect une valeur diffrente de 0 SI_ID.

8084

Vous avez affect une valeur non autorise MODE.

8085

La SFC106 est dj en cours de traitement.

8086

Toutes les ressources systme slectionnes n'ont pas pu tre supprimes, car
l'une d'entre-elles au moins tait en cours de traitement au moment de l'appel de la
SFC106.

8xyy

Informations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de


sortie RET_VAL

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

22-39

Gnration de messages sur bloc

22-40

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

23

Temporisations et compteurs CEI

23.1

Gnration d'une impulsion avec SFB3 "TP"

Description
Le bloc SFB3 "TP" gnre une impulsion de longueur PT. La temporisation court
seulement dans les tats de fonctionnement Mise en route et Marche.
Un front montant l'entre IN provoque le dclenchement de l'impulsion.
La sortie Q reste 1 pendant la dure PT, indpendamment de la courbe ultrieure du
signal d'entre (c'est--dire aussi quand l'entre IN passe de nouveau de 0 1 avant que
le temps PT soit coul).
La sortie ET indique le temps pendant lequel la sortie Q a dj t 1. Elle peut prendre
au maximum la valeur de l'entre PT. Elle est remise zro quand l'entre IN passe 0,
mais au plus tt aprs coulement du temps PT.
Le bloc SFB3 "TP" est conforme la norme CEI 1131-3.
Le systme d'exploitation remet zro les instances du SFB3 "TP" en cas de dmarrage
froid. Pour que des instances de ce SFB soient initialises aprs un dmarrage
chaud, il faut les appeler avec PT = 0 ms dans l'OB100. Quand un autre bloc contient
des instances de ce SFB, vous obtiendrez leur remise zro en initialisant le bloc de
niveau suprieur.

Diagramme de temps
IN

Q
P

ET
PT

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

23-1

Temporisations et compteurs CEI

Paramtres
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

IN

INPUT

BOOL

E, A, M, D, L,
constante

Entre de dclenchement

PT

INPUT

TIME

E, A, M, D, L,
constante

Dure de l'impulsion
PT doit tre positif. (Nota : la plage de valeurs est
dtermine par le type de donnes TIME.)

OUTPUT

BOOL

E, A, M, D, L

Etat de la temporisation

ET

OUTPUT

TIME

E, A, M, D, L

Temps coul

23-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Temporisations et compteurs CEI

23.2

Gnration d'un retard la monte avec SFB4 "TON"

Description
Le bloc SFB4 "TON" retarde un front montant de la dure PT. La temporisation court
seulement dans les tats de fonctionnement Mise en route et Marche.
Un front montant l'entre IN provoque un front montant la sortie Q aprs expiration de
la dure PT. Q reste alors 1 jusqu' ce que l'entre IN passe 0. Si l'entre IN passe
0 avant que le temps PT soit coul, la sortie Q reste 0.
La sortie ET indique le temps coul depuis le dernier front montant l'entre IN, mais
au plus jusqu' la valeur de l'entre PT. ET est remise zro quand l'entre IN passe
0.
Le bloc SFB4 "TON" est conforme la norme CEI 1131-3.
Le systme d'exploitation remet zro les instances du SFB4 "TON" en cas de
dmarrage froid. Pour que des instances de ce SFB soient initialises aprs un
dmarrage chaud, il faut les appeler avec PT = 0 ms dans l'OB100. Quand un autre
bloc contient des instances de ce SFB, vous obtiendrez leur remise zro en initialisant
le bloc de niveau suprieur.

Diagramme de temps
IN

PT

PT

ET
PT

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

23-3

Temporisations et compteurs CEI

Paramtres
Paramtre

Dclaratio
n

Type de
donnes

Zone de
mmoire

Description

IN

INPUT

BOOL

E, A, M, D, L,
constante

Entre de dclenchement

PT

INPUT

TIME

E, A, M, D, L,
constante

Dure dont est retard le front montant l'entre


IN.
PT doit tre positif. (Nota : la plage de valeurs est
dtermine par le type de donnes TIME.)

OUTPUT

BOOL

E, A, M, D, L

Etat de la temporisation

ET

OUTPUT

TIME

E, A, M, D, L

Temps coul

23-4

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Temporisations et compteurs CEI

23.3

Gnration d'un retard la retombe avec SFB5 "TOF"

Description
Le bloc SFB5 "TOF" retarde un front retombant de la dure PT. La temporisation court
seulement dans les tats de fonctionnement Mise en route et Marche.
Un front montant l'entre IN provoque un front montant la sortie Q. Un front retombant
l'entre IN provoque un front retombant l'entre Q aprs expiration de la dure PT. Si
l'entre IN passe de nouveau 1 avant que le temps PT soit coul, la sortie Q reste 1.
La sortie ET indique le temps coul depuis le dernier front retombant l'entre IN, mais
au plus jusqu' la valeur de l'entre PT. ET est remise zro quand l'entre IN passe
1.
Le bloc SFB5 "TOF" est conforme la norme CEI 1131-3.
Le systme d'exploitation remet zro les instances du SFB5 "TOF" en cas de
dmarrage froid. Pour que des instances de ce SFB soient initialises aprs un
dmarrage chaud, il faut les appeler avec PT = 0 ms dans l'OB100. Quand un autre
bloc contient des instances de ce SFB, vous obtiendrez leur remise zro en initialisant
le bloc de niveau suprieur.

Diagramme de temps
IN

Q
PT

PT

ET
PT

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

23-5

Temporisations et compteurs CEI

Paramtres
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

IN

INPUT

BOOL

E, A, M, D, L,
constante

Entre de dclenchement

PT

INPUT

TIME

E, A, M, D, L,
constante

Dure dont est retard le front retombant l'entre


IN.
PT doit tre positif. (Nota : la plage de valeurs est
dtermine par le type de donnes TIME.)

OUTPUT

BOOL

E, A, M, D, L

Etat de la temporisation

ET

OUTPUT

TIME

E, A, M, D, L

Temps coul

23-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Temporisations et compteurs CEI

23.4

Comptage par incrments avec SFB0 "CTU"

Description
Le bloc SFB0 "CTU" sert compter par incrments. Quand il y a un front montant
l'entre CU, le compteur est incrment de 1 (par rapport au dernier appel du SFB).
Quand la valeur de comptage atteint la limite suprieure 32 767, il n'est plus incrment.
Chaque nouveau front montant l'entre CU reste alors sans effet.
Un niveau 1 l'entre R provoque la remise zro du compteur, quelle que soit la valeur
de l'entre CU.
La sortie Q indique si la valeur de comptage en cours est suprieure ou gale la valeur
par dfaut PV.
Le bloc SFB0 "CTU" est conforme la norme CEI 1131-3.
Le systme d'exploitation remet zro les instances du SFB0 "CTU" en cas de
dmarrage froid. Pour que des instances de ce SFB soient initialises aprs un
dmarrage chaud, il faut les appeler avec R = 1 dans l'OB100. Quand un autre bloc
contient des instances de ce SFB, vous obtiendrez leur remise zro en initialisant le
bloc de niveau suprieur.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

CU

INPUT

BOOL

E, A, M, D, L,
constante

Entre de comptage

INPUT

BOOL

E, A, M, D, L,
constante

Entre de remise zro


R la priorit sur CU.

PV

INPUT

INT

E, A, M, D, L,
constante

Valeur par dfaut


voir au paramtre Q pour son effet

OUTPUT

BOOL

E, A, M, D, L

Etat du compteur : Q a la valeur

CV

OUTPUT

INT

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

E, A, M, D, L

1 si CV PV,

0 sinon.

Valeur de comptage en cours


(valeurs possibles : 0 32 767)

23-7

Temporisations et compteurs CEI

23.5

Comptage par dcrments avec SFB1 "CTD"

Description
Le bloc SFB1 "CTD" sert compter par dcrments. Quand il y a un front montant
l'entre CD, le compteur est dcrment de 1 (par rapport au dernier appel du SFB).
Quand la valeur de comptage atteint la limite infrieure -32 768, il n'est plus dcrment.
Chaque nouveau front montant l'entre CD reste alors sans effet.
Un niveau 1 l'entre LOAD met le compteur la valeur par dfaut PV, quelle que soit la
valeur de l'entre CD.
La sortie Q indique si la valeur de comptage en cours est infrieure ou gale zro.
Le bloc SFB1 "CTD" est conforme la norme CEI 1131-3.
Le systme d'exploitation remet zro les instances du SFB1 "CTD" en cas de
dmarrage froid. Pour que des instances de ce SFB soient initialises aprs un
dmarrage chaud, il faut les appeler dans l'OB100 avec LOAD = 1 et PV = valeur
initiale souhaite pour CV. Quand un autre bloc contient des instances de ce SFB, vous
obtiendrez leur remise zro en initialisant le bloc de niveau suprieur.
Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

CD

INPUT

BOOL

E, A, M, D, L,
constante

Entre de comptage

LOAD

INPUT

BOOL

E, A, M, D, L,
constante

Entre de chargement
LOAD a la priorit sur CD.

PV

INPUT

INT

E, A, M, D, L,
constante

Valeur par dfaut


Le compteur prend la valeur PV quand l'entre
LOAD est 1.

OUTPUT

BOOL

E, A, M, D, L

Etat du compteur : Q a la valeur

CV

23-8

OUTPUT

INT

E, A, M, D, L

1 si CV 0,

0 sinon.

Valeur de comptage en cours


(valeurs possibles : -32 768 32 767)

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Temporisations et compteurs CEI

23.6

Comptage par incrments et dcrments avec SFB2


"CTUD"

Description
Le bloc SFB2 "CTUD" sert compter par incrments et dcrments. Quand il y a un front
montant

l'entre CU, le compteur est incrment de 1 par rapport au dernier appel du SFB,

l'entre CD, il est dcrment de 1 par rapport au dernier appel du SFB.

Quand la valeur de comptage atteint

la limite infrieure -32 768, il n'est plus dcrment ;

la limite suprieure 32 767, il n'est plus incrment.

Si un front montant se prsente l'entre CU comme l'entre CD dans un mme cycle,


le compteur garde sa valeur actuelle. Ce comportement s'carte de la norme CEI 11313, selon laquelle l'entre CU dominerait dans ce cas. Une modification dans ce sens a
t propose la CEI.
Un niveau 1 l'entre LOAD met le compteur la valeur par dfaut PV, quelles que
soient les valeurs des entres CU et CD.
Un niveau 1 l'entre R provoque la remise zro du compteur, quelles que soient les
valeurs des entres CU, CD et LOAD. La sortie QU indique si la valeur de comptage en
cours est suprieure ou gale la valeur par dfaut PV; la sortie QD indique si elle est
infrieure ou gale zro.
Le systme d'exploitation remet zro les instances du SFB2 "CTUD" en cas de
dmarrage froid. Pour que des instances de ce SFB soient initialises aprs un
dmarrage chaud, il faut les appeler dans l'OB100 de la manire suivante :

pour l'emploi comme compteur incrmental avec R = 1,

pour l'emploi comme compteur dcrmental avec R = 0 et LOAD = 1 ainsi que PV


= valeur initiale souhaite pour CV.

Quand un autre bloc contient des instances de ce SFB, vous obtiendrez leur remise
zro en initialisant le bloc de niveau suprieur.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

23-9

Temporisations et compteurs CEI

Paramtre

Dclaration

Type de
donnes

Zone de
mmoire

Description

CU

INPUT

BOOL

E, A, M, D, L,
constante

Entre de comptage par incrments

CD

INPUT

BOOL

E, A, M, D, L,
constante

Entre de comptage par dcrments

INPUT

BOOL

E, A, M, D, L,
constante

Entre de remise zro


R a la priorit sur LOAD.

LOAD

INPUT

BOOL

E, A, M, D, L,
constante

Entre de chargement
LOAD a la priorit sur CU et CD.

PV

INPUT

INT

E, A, M, D, L,
constante

Valeur par dfaut


Le compteur prend la valeur PV quand l'entre
LOAD est 1.

QU

OUTPUT

BOOL

E, A, M, D, L

QD

CV

23-10

OUTPUT

OUTPUT

BOOL

INT

E, A, M, D, L

E, A, M, D, L

Etat du compteur incrmental : QU a la valeur

1 si CV PV,

0 sinon.

Etat du compteur dcrmental : QD a la valeur

1 si CV 0,

0 sinon.

Valeur de comptage en cours


(valeurs possibles : -32 768 32 767)

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

24

Fonctions CEI

24.1

Vue d'ensemble
Vous pouvez copier dans le rpertoire de votre programme les fonctions CEI numres
ci-dessous aprs les avoir prleves dans la bibliothque STEP 7 "S7libs\Stdlib30"
(CEI : Commission Electrotechnique Internationale).

Nom

Famille de blocs CEI

Fonction

FC3 D_TOD_DT

Convert

Concatnation de la date et de l'heure du jour en type de


donnes complexe DATE_AND_TIME (DT)

FC6 DT_DATE

Convert

Extraction de la date du type de donnes complexe


DATE_AND_TIME (DT)

FC7 DT_DAY

Convert

Extraction du jour de la semaine du type de donnes complexe


DATE_AND_TIME (DT)

FC8 DT_TOD

Convert

Extraction de l'heure du jour du type de donnes complexe


DATE_AND_TIME (DT)

FC33 S5TI_TIM

Convert

Conversion du type de donnes S5TIME en TIME

FC40 TIM_S5TI

Convert

Conversion du type de donnes TIME en S5TIME

FC16 I_STRNG

Convert

Conversion du type de donnes INT en STRING

FC5 DI_STRNG

Convert

Conversion du type de donnes DINT en STRING

FC30 R_STRNG

Convert

Conversion du type de donnes REAL en STRING

FC38 STRNG_I

Convert

Conversion du type de donnes STRING en INT

FC37 STRNG_DI

Convert

Conversion du type de donnes STRING en DINT

FC39 STRNG_R

Convert

Conversion du type de donnes STRING en REAL

FC9 EQ_DT

DT

Comparaison de DT (gal )

FC12 GE_DT

DT

Comparaison de DT (suprieur ou gal )

FC14 GT_DT

DT

Comparaison de DT (suprieur )

FC18 LE_DT

DT

Comparaison de DT (infrieur ou gal )

FC23 LT_DT

DT

Comparaison de DT (infrieur )

FC28 NE_DT

DT

Comparaison de DT (diffrent de)

FC10 EQ_STRNG

String

Comparaison de STRING (gal )

FC13 GE_STRNG

String

Comparaison de STRING (suprieur ou gal )

FC15 GT_STRNG

String

Comparaison de STRING (suprieur )

FC19 LE_STRNG

String

Comparaison de STRING (infrieur ou gal )

FC24 LT_STRNG

String

Comparaison de STRING (infrieur )

FC29 NE_STRNG

String

Comparaison de STRING (diffrent de)

FC21 LEN

String

Longueur d'une variable STRING

FC20 LEFT

String

Partie gauche d'une variable STRING

FC32 RIGHT

String

Partie droite d'une variable STRING

FC26 MID

String

Partie centrale d'une variable STRING

FC2 CONCAT

String

Concatnation de deux variables STRING

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

24-1

Fonctions CEI

Nom

Famille de blocs CEI

Fonction

FC17 INSERT

String

Insertion dans une variable STRING

FC4 DELETE

String

Effacement dans une variable STRING

FC31 REPLACE

String

Remplacement dans une variable STRING

FC11 FIND

String

Recherche dans une variable STRING

FC1 AD_DT_TM

Floating Point Math

Addition d'une dure une date/heure

FC35 SB_DT_TM

Floating Point Math

Soustraction d'une dure d'une date/heure

FC34 SB_DT_DT

Floating Point Math

Soustraction de deux dates/heures l'une de l'autre

FC22 LIMIT

Floating Point Math

Limiteur

FC25 MAX

Floating Point Math

Choix du maximum

FC27 MIN

Floating Point Math

Choix du minimum

FC36 SEL

Floating Point Math

Choix binaire

Vous obtenez des informations sur les blocs de communication CEI dans l'aide
contextuelle sur les SFB/SFC (voir: Diffrences entre les blocs de la communication S7 et
ceux de la communication de base S7)

24-2

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions CEI

24.2

Caractristiques techniques des fonctions CEI

Mmoire requise
Le tableau suivant montre combien de mmoire de travail et combien de mmoire de
chargement sont requises pour chaque fonction CEI, ainsi que le nombre d'octets de
donnes locales ncessaires aux diffrentes fonctions CEI.

Numro

Nom

Place occupe (en octets) dans la


mmoire de travail

Donnes locales
(octets)

mmoire de chargement

FC3

D_TOD_DT

634

810

12

FC6

DT_DATE

340

466

10

FC7

DT_DAY

346

472

10

FC8

DT_TOD

114

210

FC33

S5TI_TIM

94

208

FC40

TIM_S5TI

104

208

FC16

I_STRNG

226

340

10

FC5

DI_STRNG

314

440

18

FC30

R_STRNG

528

684

28

FC38

STRNG_I

292

420

12

FC37

STRNG_DI

310

442

12

FC39

STRNG_R

828

1038

30

FC9

EQ_DT

96

194

FC12

GE_DT

174

288

FC14

GT_DT

192

310

FC18

LE_DT

168

280

FC23

LT_DT

192

310

FC28

NE_DT

96

194

FC10

EQ_STRNG

114

220

FC13

GE_STRNG

162

282

FC15

GT_STRNG

158

278

FC19

LE_STRNG

162

282

FC24

LT_STRNG

158

278

FC29

NE_STRNG

150

266

FC21

LEN

38

132

FC20

LEFT

200

320

FC32

RIGHT

230

350

FC26

MID

302

390

FC2

CONCAT

358

452

14

FC17

INSERT

488

644

20

FC4

DELETE

376

512

FC31

REPLACE

562

726

20

FC11

FIND

236

360

14

FC1

AD_DT_TM

1350

1590

22

FC35

SB_DT_TM

1356

1596

22

FC34

SB_DT_DT

992

1178

30

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

24-3

Fonctions CEI

Numro

Nom

Place occupe (en octets) dans la


mmoire de travail

Donnes locales
(octets)

mmoire de chargement

FC22

LIMIT

426

600

12

FC25

MAX

374

532

FC27

MIN

374

532

FC36

SEL

374

560

24-4

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions CEI

24.3

Type de donnes complexe DATE_AND_TIME

Paramtres effectifs pour DATE_AND_TIME


Le type de donnes DATE_AND_TIME est un type de donnes complexe tout comme
ARRAY, STRING et STRUCT. Les zones de mmoire autorises pour ces types de
donnes complexes sont le bloc de donnes (DB) et la zone de mmoire pour les
donnes locales (pile L).
Lorsque vous utilisez le type de donnes DATE_AND_TIME comme paramtre formel
dans une instruction, vous ne pouvez indiquer les paramtres effectifs que dans l'un des
formats suivants, puisqu'il s'agit d'un type compos :

comme mnmonique local de bloc issu de la table de dclaration des variables d'un
bloc prcis ;

comme nom symbolique d'un bloc de donnes, par exemple


"DB_sys_info.temps_sys", compos de deux parties :
-

un nom dfini dans la table des mnmoniques pour le numro du bloc de


donnes (par exemple "DB_sys_info" pour DB5),

un nom dfini dans le bloc de donnes pour l'lment DATE_AND_TIME (par


exemple "temps_sys" pour une variable du type de donnes DATE_AND_TIME
contenue dans le bloc DB5).

Vous ne pouvez pas utiliser de constantes comme paramtres effectifs pour les
paramtres formels de types de donnes complexes, y compris DATE_AND_TIME. Vous
ne pouvez pas transmettre DATE_AND_TIME d'adresses absolues comme paramtres
effectifs.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

24-5

Fonctions CEI

24.4

Fonctions d'horodatage

Description FC1 AD_DT_TM


La fonction FC1 additionne une dure (type TIME) et une date/heure (type DT) et fournit
comme rsultat une nouvelle date/heure (type DT). La date/heure (paramtre T) doit se
situer dans la plage de DT#1990-01-01-00:00:00.000 DT#2089-12-31-23:59:59.999. La
fonction n'effectue pas de vrification de l'entre. Si le rsultat de l'addition se situe hors
de la plage indique ci-dessus, il est rduit la valeur autorise et le bit de rsultat
binaire RB est mis "0".
Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

INPUT

DATE_AND_TIME

D, L

Date/heure de type DT

INPUT

TIME

E, A, M, D, L, constante

Dure de type TIME

RET_VAL

OUTPUT

DATE_AND_TIME

D, L

Somme de type DT

Le paramtre d'entre T et le paramtre de sortie ne peuvent tre que des variables


dfinies symboliquement.

Description FC3 D_TOD_DT


La fonction FC3 regroupe les types de donnes DATE et TIME_OF_DAY (TOD) et les
convertit en type DATE_AND_TIME (DT). La valeur d'entre IN1 doit tre comprise entre
les dates limite DATE#1990-01-01 et DATE#2089-12-31 (une vrification n'a pas lieu). La
fonction ne signale pas d'erreur.
Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

IN1

INPUT

DATE

E, A, M, D, L, constante

Variable d'entre de type DATE

IN2

INPUT

TIME_OF_DAY

E, A, M, D, L, constante

Variable d'entre de type TOD

RET_VAL

OUTPUT

DATE_AND_TIME

D, L

Valeur en retour de type DT

La valeur en retour ne peut tre qu'une variable dfinie symboliquement.

24-6

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions CEI

Description FC6 DT_DATE


La fonction FC6 extrait le type de donnes DATE du type DATE_AND_TIME. La date
(DATE) doit tre comprise entre les dates limites DATE#1990-1-1 et DATE#2089-12-31.
La fonction ne signale pas d'erreur.
Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

IN

INPUT

DATE_AND_TIME

D, L

Valeur d'entre de type DT

RET_VAL

OUTPUT

DATE

E, A, M, D, L

Valeur en retour de type DATE

La valeur d'entre ne peut tre qu'une variable dfinie symboliquement.

Description FC7 DT_DAY


La fonction FC7 extrait le jour de la semaine du type DATE_AND_TIME. Le jour de la
semaine a le type de donnes INT :

Dimanche

Lundi

Mardi

Mercredi

Jeudi

Vendredi

Samedi

La fonction ne signale pas d'erreur.

Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

IN

INPUT

DATE_AND_TIME

D, L

Variable d'entre de type DT

RET_VAL

OUTPUT

INT

E, A, M, D, L

Valeur en retour de type INT

La valeur d'entre ne peut tre qu'une variable dfinie symboliquement.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

24-7

Fonctions CEI

Description FC8 DT_TOD


La fonction FC8 extrait le type de donnes TIME_OF_DAY du type DATE_AND_TIME.
La fonction ne signale pas d'erreur.
Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

IN

INPUT

DATE_AND_TIME

D, L

Variable d'entre de type DT

RET_VAL

OUTPUT

TIME_OF_DAY

E, A, M, D, L

Valeur en retour de type TOD

La valeur d'entre ne peut tre qu'une variable dfinie symboliquement.

Description FC33 S5TI_TIM


La fonction FC33 convertit le type de donnes S5TIME en type TIME. Si le rsultat de la
conversion se situe hors de la plage des nombres TIME, il sera rduit la valeur
autorise et le bit de rsultat binaire RB mis "0".

Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

IN

INPUT

S5TIME

E, A, M, D, L, constante

Variable d'entre de type S5TIME

RET_VAL

OUTPUT

TIME

E, A, M, D, L

Valeur en retour de type TIME

Description FC34 SB_DT_DT


La fonction FC34 soustrait l'une de l'autre deux dates/heures (type DT) et fournit comme
rsultat une dure (type TIME).Les deux dates/heures doivent se situer dans la plage de
DT#1990-01-01-00:00:00.000 DT#2089-12-31-23:59:59.999. La fonction ne procde
aucune vrification. Si la premire date/heure (paramtre DT1) est suprieure la
seconde (paramtre DT2) c'est--dire plus rcente, le rsultat est positif. Si la premire
date est infrieure la seconde c'est--dire antrieure, le rsultat est ngatif. Si le
rsultat de la soustraction se situe hors de la plage des nombres TIME, il est ramen la
valeur autorise et le bit de rsultat binaire RB est mis "0".
Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

DT1

INPUT

DATE_AND_TIME

D, L

Premire date/heure de type DT

DT2

INPUT

DATE_AND_TIME

D, L

Seconde date/heure de type DT

RET_VAL

OUTPUT

TIME

E, A, M, D, L

Diffrence de type TIME

Les paramtres d'entre ne peuvent tre que des variables dfinies symboliquement.

24-8

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions CEI

Description FC35 SB_DT_TM


La fonction FC35 soustrait une dure (type TIME) d'une date/heure (type DT) et fournit
comme rsultat une nouvelle date/heure (type DT). La date/heure (paramtre T) doit se
situer dans la plage de DT#1990-01-01-00:00:00.000 DT#2089-12-31-23:59:59.999. La
fonction ne procde aucune vrification. Si le rsultat de la soustraction se situe hors
de cette plage, il sera ramen la valeur autorise et le bit de rsultat binaire RB est mis
"0".

Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

INPUT

DATE_AND_TIME

D, L

Date de type DT

INPUT

TIME

E, A, M, D, L, constante

Dure de type TIME

RET_VAL

OUTPUT

DATE_AND_TIME

D, L

Diffrence de type DT

Le paramtre d'entre T et le paramtre de sortie ne peuvent tre que des variables


dfinies symboliquement.

Description FC40 TIM_S5TI


La fonction FC40 convertit le type de donnes TIME en type S5TIME. Le rsultat de la
conversion est arrondi. Si le paramtre d'entre est suprieur au type S5TIME pouvant
tre reprsent (suprieur TIME#02:46:30.000), le rsultat affich est S5TIME#999.3 et
le bit de rsultat binaire RB est mis "0".
Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

IN

INPUT

TIME

E, A, M, D, L, constante

Variable d'entre de type TIME

RET_VAL

OUTPUT

S5TIME

E, A, M, D, L

Valeur en retour de type S5TIME

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

24-9

Fonctions CEI

24.5

Comparaison de variables de type DATE_AND_TIME

Description FC9 EQ_DT


La fonction FC9 compare les contenus de deux variables de type DATE_AND_TIME
(gal ) et met le rsultat comme valeur en retour. Cette valeur en retour est "1" si
DT1 gale DT2. La fonction ne signale pas d'erreur.

Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

DT1

INPUT

DATE_AND_TIME

D, L

Variable d'entre de type DT

DT2

INPUT

DATE_AND_TIME

D, L

Variable d'entre de type DT

RET_VAL

OUTPUT

BOOL

E, A, M, D, L

Rsultat de la comparaison

Les paramtres d'entre ne peuvent tre que des variables dfinies symboliquement.

Description FC12 GE_DT


La fonction FC12 compare les contenus de deux variables de type DATE_AND_TIME
(suprieur ou gal ) et met le rsultat de la comparaison comme valeur en retour.
Cette valeur en retour est "1" si DT1 est suprieure DT2 (c'est--dire plus rcente) ou
si les deux dates sont gales. La fonction ne signale pas d'erreur.
Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

DT1

INPUT

DATE_AND_TIME

D, L

Variable d'entre de type DT

DT2

INPUT

DATE_AND_TIME

D, L

Variable d'entre de type DT

RET_VAL

OUTPUT

BOOL

E, A, M, D, L

Rsultat de la comparaison

Les paramtres d'entre ne peuvent tre que des variables dfinies symboliquement.

Description FC14 GT_DT


La fonction FC14 compare les contenus de deux variables de type DATE_AND_TIME
(suprieur ) et met le rsultat de la comparaison comme valeur en retour. Cette valeur
en retour est "1" si DT1 est suprieure DT2 (c'est--dire plus rcente). La fonction ne
signale pas d'erreur.
Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

DT1

INPUT

DATE_AND_TIME

D, L

Variable d'entre de type DT

DT2

INPUT

DATE_AND_TIME

D, L

Variable d'entre de type DT

RET_VAL

OUTPUT

BOOL

E, A, M, D, L

Rsultat de la comparaison

Les paramtres d'entre ne peuvent tre que des variables dfinies symboliquement.

24-10

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions CEI

Description FC18 LE_DT


La fonction FC18 compare les contenus de deux variables de type DATE_AND_TIME
(infrieur ou gal ) et met le rsultat de la comparaison comme valeur en retour. Cette
valeur en retour est "1" si DT1 est infrieure DT2 (c'est--dire antrieure) ou si les
deux dates sont gales. La fonction ne signale pas d'erreur.
Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

DT1

INPUT

DATE_AND_TIME

D, L

Variable d'entre de type DT

DT2

INPUT

DATE_AND_TIME

D, L

Variable d'entre de type DT

RET_VAL

OUTPUT

BOOL

E, A, M, D, L

Rsultat de la comparaison

Les paramtres d'entre ne peuvent tre que des variables dfinies symboliquement.

Description FC23 LT_DT


La fonction FC23 compare les contenus de deux variables de type DATE_AND_TIME
(infrieur ) et met le rsultat de la comparaison comme valeur en retour. Cette valeur
en retour est "1" si DT1 est infrieure DT2 (c'est--dire antrieure). La fonction ne
signale pas d'erreur.
Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

DT1

INPUT

DATE_AND_TIME

D, L

Variable d'entre de type DT

DT2

INPUT

DATE_AND_TIME

D, L

Variable d'entre de type DT

RET_VAL

OUTPUT

BOOL

E, A, M, D, L

Rsultat de la comparaison

Les paramtres d'entre ne peuvent tre que des variables dfinies symboliquement.

Description FC28 NE_DT


La fonction FC28 compare les contenus de deux variables de type DATE_AND_TIME
(diffrent de) et met le rsultat de la comparaison comme valeur en retour. Cette valeur
en retour est "1" si DT1 est diffrente de DT2. La fonction ne signale pas d'erreur.
Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

DT1

INPUT

DATE_AND_TIME

D, L

Variable d'entre de type DT

DT2

INPUT

DATE_AND_TIME

D, L

Variable d'entre de type DT

RET_VAL

OUTPUT

BOOL

E, A, M, D, L

Rsultat de la comparaison

Les paramtres d'entre ne peuvent tre que des variables dfinies symboliquement.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

24-11

Fonctions CEI

24.6

Comparaison de variables de type STRING

Description FC10 EQ_STRNG


La fonction FC10 compare les contenus de deux variables de type STRING (gal ) et
met le rsultat de la comparaison comme valeur en retour. Cette valeur en retour est
"1" si la chane de caractres S1 gale la chane de caractres S2. La fonction ne signale
pas d'erreur.
Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

S1

INPUT

STRING

D, L

Variable d'entre de type STRING

S2

INPUT

STRING

D, L

Variable d'entre de type STRING

RET_VAL

OUTPUT

BOOL

E, A, M, D, L

Rsultat de la comparaison

Les paramtres d'entre ne peuvent tre que des variables dfinies symboliquement.

Description FC13 GE_STRNG


La fonction FC13 compare les contenus de deux variables de type STRING (suprieur ou
gal ) et met le rsultat de la comparaison comme valeur en retour. Cette valeur en
retour est "1" si la chane de caractres S1 est suprieure ou gale la chane de
caractres S2. La fonction compare les caractres en partant de la gauche, l'ordre de la
table ASCII l'emportant ("a" est par exemple suprieur "A"). Le premier caractre qui
diverge dtermine le rsultat de la comparaison. Si la chane plus courte est identique
la partie gauche de la chane plus longue, c'est cette dernire qui est suprieure. La
fonction ne signale pas d'erreur.
Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

S1

INPUT

STRING

D, L

Variable d'entre de type STRING

S2

INPUT

STRING

D, L

Variable d'entre de type STRING

RET_VAL

OUTPUT

BOOL

E, A, M, D, L

Rsultat de la comparaison

Les paramtres d'entre ne peuvent tre que des variables dfinies symboliquement.

24-12

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

Fonctions CEI

Description FC15 GT_STRNG


La fonction FC15 compare les contenus de deux variables de type STRING (suprieur )
et met le rsultat de la comparaison comme valeur en retour. Cette valeur en retour est
"1" si la chane de caractres S1 est suprieure la chane de caractres S2. La
fonction compare les caractres en partant de la gauche, l'ordre de la table ASCII
l'emportant ("a" est par exemple suprieur "A"). Le premier caractre qui diverge
dtermine le rsultat de la comparaison. Si la chane plus courte est identique la partie
gauche de la chane plus longue, c'est cette dernire qui est suprieure. La fonction ne
signale pas d'erreur.

Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

S1

INPUT

STRING

D, L

Variable d'entre de type STRING

S2

INPUT

STRING

D, L

Variable d'entre de type STRING

RET_VAL

OUTPUT

BOOL

E, A, M, D, L

Rsultat de la comparaison

Les paramtres d'entre ne peuvent tre que des variables dfinies symboliquement.

Description FC19 LE_STRNG


La fonction FC19 compare les contenus de deux variables de type STRING (infrieur ou
gal ) et met le rsultat de la comparaison comme valeur en retour. Cette valeur en
retour est "1" si la chane de caractres S1 est infrieure ou gale la chane de
caractres S2. La fonction compare les caractres en partant de la gauche, l'ordre de la
table ASCII l'emportant ("A" est par exemple infrieur "a"). Le premier caractre qui
diverge dtermine le rsultat de la comparaison. Si la partie gauche de la chane plus
longue est identique la chane plus courte, c'est cette dernire qui est infrieure. La
fonction ne signale pas d'erreur.
Paramtre

Dclaration

Type de donnes

Zone de mmoire

Description

S1

INPUT

STRING

D, L

Variable d'entre de type STRING

S2

INPUT

STRING

D, L

Variable d'entre de type STRING

RET_VAL

OUTPUT

BOOL

E, A, M, D, L

Rsultat de la comparaison

Les paramtres d'entre ne peuvent tre que des variables dfinies symboliquement.

Logiciel systme pour SIMATIC S7-300/400


A5E00261421-01

24-13

Fonctions CEI

Description FC24 LT_STRNG


La fonction FC24 compare les contenus de deux variables de type STRING (infrieur )
et met le rsultat de la comparaison comme valeur en retour. Cette valeur en retour est
"1" si la chane de caractres S1 est infrieure la chane de caractres S2. La
fonction compare les caractres en partant de la gauche, l'ordre de la table ASCII
l'emportant ("A" est par exemple infrieur "a"). Le premier caractre qui diverge
dtermine le rsultat de la comparaison. Si la partie gauche de la chane plus longue est
identique la chane plus courte, c'est cette dernire qui est infrieure. La fonction ne
signale pas d'erreur.

Paramtre

Dclaration

Type de
donnes

Zone de mmoire

Description

S1

INPUT

STRING

D, L

Variable d'entre de type STRING

S2

INPUT

STRING

D, L

Variable d'entre de type STRING

RET_VAL

OUTPUT

BOOL

E, A, M, D, L

Rsultat de la comparaison

Les paramtres d'entre ne peuvent tre que des variables dfinies symboliquement.

Description FC29 NE_STRNG


La fonction FC29 compare les contenus de deux variables de ty