SFC_f

772
s Avant-propos Sommaire Blocs d'organisation 1 Paramètres généraux des fonctions système 2 Fonctions de copie et fonctions sur bloc 3 SFC de contrôle du programme 4 SFC de gestion de l'horloge 5 SFC de gestion de compteur d'heures de fonctionnement 6 SFC/SFB de transfert d'enregistrements 7 SFB DPV1 selon PNO AK 1131 8 SFC de gestion des alarmes horaires 9 SFC de gestion des alarmes temporisées 10 SFC de gestion des événements d'erreur synchrone 11 SFC de gestion des événements d'alarme et d'erreur asynchrone 12 SFC de diagnostic 13 SFC et SFB de mise à jour de la mémoire image et de traitement de champ de bits 14 SFC d'adressage de module 15 SFC de périphérie décentralisée ou PROFINET IO 16 PROFInet 17 FB pour l'accès cyclique aux données utiles selon PNO 18 SIMATIC Logiciel système pour SIMATIC S7-300/400 - Fonctions standard et fonctions système Volume 1/2 Manuel de référence Ce manuel est livré avec la documentation référencée : 6ES7810-4CA08-8CW1 Edition 03/2006 A5E00709333-01

Transcript of SFC_f

s Avant-propos Sommaire Blocs d'organisation 1 Paramtres gnraux des fonctions systme 2 Fonctions de copie et fonctions sur bloc 3 SFC de contrle du programme 4 SFC de gestion de l'horloge 5 SFC de gestion de compteur d'heures de fonctionnement 6 SFC/SFB de transfert d'enregistrements 7 SFB DPV1 selon PNO AK 1131 8 SFC de gestion des alarmes horaires 9 SFC de gestion des alarmes temporises 10SFC de gestion des vnements d'erreur synchrone 11SFC de gestion des vnements d'alarme et d'erreur asynchrone 12SFC de diagnostic 13SFC et SFB de mise jour de la mmoire image et de traitement de champ de bits 14SFC d'adressage de module 15SFC de priphrie dcentralise ou PROFINET IO 16PROFInet 17FB pour l'accs cyclique aux donnes utiles selon PNO 18SIMATIC Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme Volume 1/2 Manuel de rfrence Ce manuel est livr avec la documentation rfrence :6ES7810-4CA08-8CW1 Edition 03/2006 A5E00709333-01 Siemens AG Automation and DrivesPostfach 4848 90437 NRNBERG ALLEMAGNE A5E00709333-01 03/2006 Copyright Siemens AG 2006 Sous rserve de modifications techniques Consignes de scurit Ce manuel donne des consignes que vous devez respecter pour votre propre scurit et pour viter des dommages matriels. Les avertissements servant votre scurit personnelle sont accompagns d'un triangle de danger, les avertissements concernant uniquement des dommages matriels sont dpourvus de ce triangle. Les avertissements sont reprsents ci-aprs par ordre dcroissant de niveau de risque. ! Danger signifie que la non-application des mesures de scurit appropries entrane la mort ou des blessures graves. ! Attention signifie que la non-application des mesures de scurit appropries peut entraner la mort ou des blessures graves. ! Prudence signifie que la non-application des mesures de scurit appropries peut entraner des blessures lgres. Prudence signifie que la non-application des mesures de scurit appropries peut entraner un dommage matriel. Important signifie que le non-respect de l'avertissement correspondant peut entraner l'apparition d'un vnement ou d'un tat indsirable. En prsence de plusieurs niveaux de risque, c'est toujours l'avertissement correspondant au niveau le plus lev qui est reproduit. Si un avertissement avec triangle de danger prvient des risques de dommages corporels, le mme avertissement peut aussi contenir un avis de mise en garde contre des dommages matriels. Personnel qualifi L'installation et l'exploitation de l'appareil/du systme concern ne sont autorises qu'en liaison avec la prsente documentation. La mise en service et l'exploitation d'un appareil/systme ne doivent tre effectues que par des personnes qualifies. Au sens des consignes de scurit figurant dans cette documentation, les personnes qualifies sont des personnes qui sont habilites mettre en service, mettre la terre et identifier des appareils, systmes et circuits en conformit avec les normes de scurit. Utilisation conforme la destination Tenez compte des points suivants : ! Attention L'appareil/le systme ne doit tre utilis que pour les applications spcifies dans le catalogue ou dans la description technique, et uniquement en liaison avec des appareils et composants recommands ou agrs par Siemens s'ils ne sont pas de Siemens. Le transport, le stockage, le montage, la mise en service ainsi que l'utilisation et la maintenance Le fonctionnement correct et sr du produit implique son transport, stockage, montage et mise en service selon les rgles de l'art ainsi qu'une utilisation et maintenance soigneuses. Marque de fabrique Toutes les dsignations repres par sont des marques dposes de Siemens AG. Les autres dsignations dans ce document peuvent tre des marques dont l'utilisation par des tiers leurs propres fins peut enfreindre les droits de leurs propritaires respectifs. Exclusion de responsabilit Nous avons vrifi la conformit du contenu du prsent document avec le matriel et le logiciel qui y sont dcrits. Ne pouvant toutefois exclure toute divergence, nous ne pouvons pas nous porter garants de la conformit intgrale. Si l'usage de ce manuel devait rvler des erreurs, nous en tiendrons compte et apporterons les corrections ncessaires ds la prochaine dition. Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-01iii Avant-propos Objet du manuel Ce manuel vous donne un aperu exhaustif des blocs dorganisation (OB), fonctions systme (SFC), blocs fonctionnels systme et standard (SFB), fonctions CEI, donnes de diagnostic ainsi que de la liste dtat systme (SZL) et des vnements contenus dans les systmes dexploitation des CPU des automates programmables S7-300 et S7-400. 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.Avant-propos Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 ivA5E00709333-01 Documentation de STEP 7 Le tableau suivant prsente la documentation de STEP 7 : ManuelObjetNumro de rfrence STEP 7 Connaissances fondamentales avec STEP 7 Getting Started Programmer avec STEP 7Confguration matrielle et com- munication dans STEP 7STEP 7 Pour une transition facile de S5 S7 Connaissances fondamentales pour le personnel technique. Dcrit la marche suivre pour raliser des tches dautomatisation avec STEP 7 et S7-300/400. 6ES7810-4CA08-8CW0 STEP 7 Connaissances de rfrence avec Langages CONT/LOG/LIST pour SIMATIC S7-300/400 Logiciel systme pour SIMATIC S7-300/400 Fonctions standard et fonctions systmeVolume 1 et Volume 2 Connaissances de rfrence. Dcrit les langages de programmation CONT, LOG et LIST de mme que les fonctions standard et les fonctions systme en complment des connaissances fondamentales de STEP 7.6ES7810-4CA08-8CW1 Aides en ligneObjetNumro de rfrence Aide de STEP 7Connaissances 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 Avant-propos Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-01v 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 dcritspour 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/ . Avant-propos Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 viA5E00709333-01 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 29 dcrivent les fonctions systme SFC, les blocs fonctionnels systme SFB et les fonctions CEI. Les chapitres 30 34 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 interloculeur sous : http://www.siemens.com/automation/partner Vous trouvez un fil rouge pour la recherche de documentations techniques sur les produits et systmes SIMATIC ladresse suivante sur Internet : http://www.siemens.com/simatic-tech-doku-portalLe catalogue en ligne et le systme de commande en ligne se trouvent l'adresse : http://mall.automation.siemens.com/ Centre de formation SIMATICNous 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 Avant-propos Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-01vii Technical Support Vous pouvez joindre le support technique pour tous les produits A&D Via le formulaire Web de demande dassistance (Support Request) http://www.siemens.com/automation/support-request Tlphone : + 49 180 5050 222 Tlcopie :+ 49 180 5050 223 Vous trouvez plus dinformations concernant notre Technical Support sur Internet ladresse suivante : http://www.siemens.com/automation/service 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 : 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"Avant-propos Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 viiiA5E00709333-01 Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-01ix Sommaire 1Blocs d'organisation................................................................................................................ 1-1 1.1Prsentation................................................................................................................ 1-1 1.2Programme cyclique (OB1) ........................................................................................ 1-5 1.3OB d'alarme horaire (OB10 OB17).......................................................................... 1-7 1.4OB d'alarme temporise (OB20 OB23) ................................................................. 1-11 1.5OB d'alarme cyclique (OB30 OB38) ...................................................................... 1-13 1.6OB d'alarme de processus (OB40 OB47).............................................................. 1-15 1.7OB d'alarme d'tat (OB55)........................................................................................ 1-17 1.8OB d'alarme de mise jour (OB56).......................................................................... 1-18 1.9OB pour alarmes spcifiques au fabricant (OB57) ................................................... 1-19 1.10OB d'alarme multiprocesseur (OB60)....................................................................... 1-20 1.11OB d'alarme de synchronisme (OB61 OB64)........................................................ 1-22 1.12OB d'alarme de synchronisme de technologie (OB 65) ........................................... 1-23 1.13OB d'erreur de redondance dans la priphrie (OB70)............................................ 1-24 1.14OB d'erreur de redondance dans la CPU (OB72) .................................................... 1-26 1.15OB d'erreur de redondance de communication (OB73) ........................................... 1-29 1.16OB d'erreur de temps (OB80) ................................................................................... 1-30 1.17OB d'erreur d'alimentation (OB81)............................................................................ 1-33 1.18OB d'alarme de diagnostic (OB82) ........................................................................... 1-35 1.19OB de dbrochage/enfichage (OB83) ...................................................................... 1-37 1.20OB d'erreur matrielle sur CPU (OB84) ................................................................... 1-41 1.21OB d'erreur d'excution du programme (OB85) ....................................................... 1-42 1.22OB de dfaillance d'unit (OB86) ............................................................................. 1-45 1.23OB d'erreur de communication (OB87) .................................................................... 1-50 1.24OB d'annulation du traitement (OB88)...................................................................... 1-52 1.25OB d'arrire-plan (OB90) .......................................................................................... 1-54 1.26OB de mise en route (OB100, OB101 et OB102)..................................................... 1-56 1.27OB d'erreur de programmation (OB121) .................................................................. 1-61 1.28OB d'erreur d'accs la priphrie (OB122)............................................................ 1-64 2Paramtres gnraux des fonctions systme....................................................................... 2-1 2.1Evaluation d'erreur avec le paramtre de sortie RET_VAL........................................ 2-1 2.2Signification des paramtres REQ, RET_VAL et BUSYpour les SFC excution asynchrone........................................................................ 2-6 Sommaire Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 xA5E00709333-01 3Fonctions de copie et fonctions sur bloc.............................................................................. 3-1 3.1Copie d'une zone de mmoire avec SFC20 "BLKMOV" ............................................ 3-1 3.2Copie d'une variable sans interruption avec SFC81 "UBLKMOV" ............................. 3-4 3.3Initialisation d'un champ avec SFC21 "FILL".............................................................. 3-6 3.4Cration d'un bloc de donnes avec SFC22 "CREAT_DB" ....................................... 3-8 3.5Effacement d'un bloc de donnes avec SFC23 "DEL_DB"...................................... 3-10 3.6Test d'un bloc de donnes avec SFC24 "TEST_DB"............................................... 3-12 3.7Compression de la mmoire utilisateur avec SFC25 "COMPRESS" ....................... 3-13 3.8Transfert de la valeur de remplacement dans l'ACCU 1 avecSFC44 "REPL_VAL" ................................................................................................. 3-15 3.9Cration d'un bloc de donnes dans la mmoire de chargement avecSFC82 "CREA_DBL" ................................................................................................ 3-16 3.10Lecture depuis un bloc de donnes dans la mmoire de chargement avecSFC83 "READ_DBL" ................................................................................................ 3-19 3.11Ecriture dans un bloc de donnes dans la mmoire de chargement avecSFC84 "WRIT_DBL" ................................................................................................. 3-21 3.12Cration d'un bloc de donnes avec SFC 85 "CREA_DB" ...................................... 3-24 4SFC de contrle du programme ............................................................................................. 4-1 4.1Rarmement du chien de garde avec SFC43 "RE_TRIGR" ...................................... 4-1 4.2Mise l'arrt de la CPU avec SFC46 "STP" .............................................................. 4-1 4.3Retardement du traitement du programme utilisateur avec SFC47 "WAIT" .............. 4-2 4.4Dclenchement d'une alarme multiprocesseur avec SFC35 "MP_ALM" ................... 4-3 4.5Commande de la procdure CiR avec SFC104 "CiR"................................................ 4-4 5SFC de gestion de l'horloge.................................................................................................... 5-1 5.1Mise l'heure avec SFC0 "SET_CLK" ....................................................................... 5-1 5.2Lecture de l'heure et de la date avec SFC1 "READ_CLK"......................................... 5-2 5.3Synchronisation d'esclaves d'horloge avec SFC48 "SNC_RTCB"............................. 5-3 5.4Mise l'heure et initialisation de l'tat d'horloge avec SFC100 "SET_CLKS" ........... 5-4 6SFC de gestion de compteur d'heures de fonctionnement ................................................. 6-1 6.1Compteur d'heures de fonctionnement....................................................................... 6-1 6.2Gestion d'un compteur d'heures de fonctionnement avec SFC101 "RTM"................ 6-2 6.3Initialisation d'un compteur d'heures de fonctionnement avec SFC2 "SET_RTM" .... 6-4 6.4Dmarrage et arrt du compteur d'heures de fonctionnement avec SFC3 "CTRL_RTM" .............................................................................................................. 6-5 6.5Lecture du compteur d'heures de fonctionnement avec SFC4 "READ_RTM"........... 6-6 6.6Lecture du temps systme avec SFC64 "TIME_TCK" ............................................... 6-7 7SFC/SFB de transfert d'enregistrements............................................................................... 7-1 7.1Ecriture et lecture d'enregistrements.......................................................................... 7-1 7.2Lecture de paramtres prdfinis avec SFC54 "RD_DPARM" .................................. 7-3 7.3Lecture de paramtres prdfinis avec SFC102 "RD_DPARA"................................. 7-4 7.4Ecriture de paramtres dynamiques avec SFC55 "WR_PARM"................................ 7-5 7.5Ecriture de paramtres prdfinis avec SFC56 "WR_DPARM"................................. 7-7 7.6Paramtrage d'un module avec SFC57 "PARM_MOD" ............................................. 7-8 7.7Ecriture d'un enregistrement avec SFC58 "WR_REC" ............................................ 7-11 7.8Lecture d'un enregistrement avec SFC59 "RD_REC".............................................. 7-13 7.9Autres informations d'erreur des SFC 55 59 ......................................................... 7-17 7.10Lecture de paramtres prdfinis avec le SFB 81 "RD_DPAR"............................... 7-18 Sommaire Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-01xi 8SFB DPV1 selon PNO AK 1131 ............................................................................................... 8-1 8.1Lecture d'un enregistrement avec SFB 52 "RDREC" ................................................. 8-1 8.2Ecriture d'un enregistrement avec SFB53 "WRREC"................................................. 8-3 8.3Rception d'une alarme avec SFB54 "RALRM" ......................................................... 8-5 8.4Envoi d'une alarme au matre DP avec SFB75 "SALRM" ........................................ 8-22 9SFC de gestion des alarmes horaires.................................................................................... 9-1 9.1Gestion des alarmes horaires..................................................................................... 9-1 9.2Proprits des SFC 28 31 ....................................................................................... 9-3 9.3Fixation d'une alarme horaire avec SFC28 "SET_TINT"............................................ 9-5 9.4Annulation d'une alarme horaire avec SFC29 "CAN_TINT"....................................... 9-6 9.5Activation d'une alarme horaire avec SFC30 "ACT_TINT" ........................................ 9-7 9.6Interrogation d'une alarme horaire avec SFC31 "QRY_TINT" ................................... 9-8 10SFC de gestion des alarmes temporises........................................................................... 10-1 10.1Gestion des alarmes temporises ............................................................................ 10-1 10.2Dclenchement d'une alarme temporise avec SFC32 "SRT_DINT" ...................... 10-3 10.3Interrogation de l'tat d'une alarme temporise avec SFC34 "QRY_DINT"............. 10-4 10.4Annulation d'une alarme temporise avec SFC33 "CAN_DINT".............................. 10-5 11SFC de gestion des vnements d'erreur synchrone........................................................ 11-1 11.1Masquage des vnements d'erreur synchrone....................................................... 11-1 11.2Masquage d'erreurs synchrones avec SFC36 "MSK_FLT"...................................... 11-8 11.3Dmasquage d'erreurs synchrones avec SFC37 "DMSK_FLT" .............................. 11-9 11.4Lecture du registre d'tat des vnements avec SFC38 "READ_ERR" ................ 11-10 12SFC de gestion des vnements d'alarme et d'erreur asynchrone.................................. 12-1 12.1Ajournement et inhibition d'vnements d'alarme et d'erreur asynchrone............... 12-1 12.2Inhibition du traitement de nouveaux vnements d'alarmeet d'erreur asynchrone avec SFC39 "DIS_IRT"........................................................ 12-3 12.3Validation du traitement de nouveaux vnements d'alarmeet d'erreur asynchrone avec SFC40 "EN_IRT"......................................................... 12-5 12.4Ajournement du traitement d'vnements d'alarme et d'erreur asynchronede priorit suprieure avec SFC41 "DIS_AIRT" ....................................................... 12-7 12.5Validation du traitement d'vnements d'alarme et d'erreur asynchronede priorit suprieure avec SFC42 "EN_AIRT" ........................................................ 12-8 13SFC de diagnostic.................................................................................................................. 13-1 13.1Diagnostic systme................................................................................................... 13-1 13.2Lecture des informations de dclenchement de l'OB actifavec SFC6 "RD_SINFO" .......................................................................................... 13-1 13.3Lecture d'une liste d'tat systme (liste SZL) partielle ou d'un extraitde liste SZL partielle avec SFC51 "RDSYSST"........................................................ 13-4 13.4Ecriture d'un vnement de diagnostic personnalis dans le tamponde diagnostic avec SFC52 "WR_USMSG" ............................................................. 13-11 13.5Calcul du temps d'excution des OB avec SFC78 "OB_RT" ................................. 13-15 13.6Recherche de l'tat de liaison actuel avec SFC87 "C_DIAG" ................................ 13-18 13.7Calcul de la topologie en bus dans un rseau matre DPavec SFC 103 "DP_TOPOL" .................................................................................. 13-23 Sommaire Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 xiiA5E00709333-01 14SFC et SFB de mise jour de la mmoire image et de traitement de champ de bits..... 14-1 14.1Mise jour de la mmoire image des entres avec SFC26 "UPDAT_PI" ............... 14-1 14.2Mise jour des sorties sur les modules de sorties avec SFC27 "UPDAT_PO"....... 14-3 14.3Mise jour synchronise d'une mmoire image partielle des entresavec SFC126 "SYNC_PI" ......................................................................................... 14-5 14.4Mise jour synchronise d'une mmoire image partielle des sortiesavec SFC127 "SYNC_PO" ....................................................................................... 14-7 14.5Mise 1 d'un champ de bits dans la zone de priphrie avec SFC79 "SET".......... 14-9 14.6Mise 0 d'un champ de bits dans la zone de priphrie avec SFC80 "RSET" ..... 14-10 14.7Ralisation d'un mcanisme pas pas avec SFB32 "DRUM" ............................... 14-11 15SFC d'adressage de module ................................................................................................. 15-1 15.1Recherche de l'adresse de base d'un module avec SFC5 "GADR_LGC" ............... 15-1 15.2Recherche de l'emplacement correspondant une adresse logiqueavec SFC49 "LGC_GADR"....................................................................................... 15-3 15.3Recherche de toutes les adresses logiques d'un moduleavec SFC50 "RD_LGADR"....................................................................................... 15-5 15.4Dtermination de l'adresse de dbut d'un module avec la SFC 70 "GEO_LOG" .... 15-6 15.5Dtermination de l'emplacement correspondant une adresse logiqueavec la SFC 71 "LOG_GEO" .................................................................................... 15-8 16SFC de priphrie dcentralise ou PROFINET IO............................................................. 16-1 16.1Dclenchement d'une alarme de processus dans le matre DPavec SFC7 "DP_PRAL" ............................................................................................ 16-1 16.2Synchronisation de groupes d'esclaves DP avec SFC11 "DPSYC_FR".................. 16-4 16.3Dsactivation et activation d'esclaves DP/IO Device PROFINETavec SFC12 "D_ACT_DP"...................................................................................... 16-10 16.4Lecture des donnes de diagnostic d'un esclave DP (diagnostic d'esclave)avec SFC13 "DPNRM_DG".................................................................................... 16-15 16.5Lecture des donnes cohrentes d'un esclave DP norm/IO Device PROFINETavec SFC 14 "DPRD_DAT" .................................................................................... 16-18 16.6Ecriture de donnes cohrentes dans un esclave DP norm/IO Device PROFINET avec SFC 15 "DPWR_DAT" ................................................................................... 16-21 17PROFInet ................................................................................................................................. 17-1 17.1Informations sur les SFC 112, 113 et 114................................................................ 17-1 17.2Mise jour des entres de l'interface programme utilisateurdu composant PROFInet, avec SFC112 "PN_IN" .................................................... 17-4 17.3Mise jour des sorties de l'interface PROFInet du composant PROFInet,avec SFC113 "PN_OUT".......................................................................................... 17-5 17.4Mise jour des connexions DP avec SFC114 "PN_DP".......................................... 17-6 18FB pour l'accs cyclique aux donnes utiles selon PNO.................................................. 18-1 18.1Introduction aux FB pour l'accs cyclique aux donnes utiles selon PNO............... 18-1 18.2Lecture de toutes les entres d'un esclave DP norm/IO Device PROFINETavec FB 20 "GETIO" ................................................................................................. 18-2 18.3Ecriture de toutes les sorties d'un esclave DP norm/IO Device PROFINETavec FB 21 "SETIO" ................................................................................................. 18-3 18.4Lecture d'une partie des entres d'un esclave DP norm/IO Device PROFINETavec FB 22 "GETIO_PART" ..................................................................................... 18-4 18.5Ecriture d'une partie des sorties d'un esclave DP norm/IO Device PROFINETavec FB 23 "SETIO_PART"...................................................................................... 18-6 Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-011-1 1Blocs d'organisation 1.1Prsentation 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. Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 1-2A5E00709333-01 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. OBEvnement dclencheurClasse de priorit par dfaut Explication OB1Fin de la mise en route ou fin de l'OB11Cycle 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 dfautOB20 OB21 OB22 OB23 Alarme temporise 0 Alarme temporise 1 Alarme temporise 2 Alarme temporise 3 3 4 5 6 Pas d'indication horaire par dfautOB30 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 Alarmes cycliquesOB40 OB41 OB42 OB43 OB44 OB45 OB46 OB47 Alarme de processus 0Alarme de processus 1Alarme de processus 2Alarme de processus 3Alarme de processus 4Alarme de processus 5Alarme de processus 6Alarme de processus 716 17 18 19 20 21 22 23 Alarmes de processus OB55 OB56 OB57 Alarme d'tat Alarme de mise jourAlarme spcifique au fabricant 2 2 2 Alarme DPV1 OB60Appel de la SFC35 "MP_ALM"25Alarme multiprocesseur 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 Alarmes de synchronisation Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-011-3 OB 65Alarme de synchronisme de technologie 25Alarme de synchronisme de technologieOB70 OB72 OB73 Erreur de redondance dans la priphrie(seulmt dans CPU H) Erreur de redondance dans la CPU(seulmt dans les CPU H) Erreur de redondance dans la communication(seulmt CPU H) 25 28 25 Alarmes d'erreur de redondance OB80 Erreur de temps 26, 28 1) Alarmes d'erreur asynchrone OB81Erreur d'alimentation26, 28 1) pour S7-300, 25, 28 1) pour S7-400 et CPU 318 OB82Alarme de diagnostic26, 28 1) pour S7-300, 25, 28 1) pour S7-400 et CPU 318 OB83Alarme de dbrochage/enfichage26, 28 1) pour S7-300, 25, 28 1) pour S7-400 et CPU 318 OB84Erreur matrielle sur CPU26, 28 1) pour S7-300, 25, 28 1) pour S7-400 et CPU 318 OB85Erreur d'excution du programme26, 28 1) pour S7-300, 25, 28 1) pour S7-400 et CPU 318 OB86Dfaillance d'un appareil d'extension, d'un rseau matre DP ou d'une station DP 26, 28 1) pour S7-300, 25, 28 1) pour S7-400 et CPU 318 OB87 Erreur de communication26, 28 1) pour S7-300, 25, 28 1) pour S7-400 et CPU 318 OB88 Annulation du traitement28 OB90Dmarrage 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) Cycle d'arrire-plan Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 1-4A5E00709333-01 OB100 OB101 OB102 Dmarrage chaud Redmarrage Dmarrage froid 27 1) 27 1) 27 1) Mise en route OB121 OB122 Erreur de programmation Erreur d'accs la priphrie Priorit de l'OB responsable de l'erreur Alarmes d'erreur synchrone 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. Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-011-5 1.2Programme 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. Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 1-6A5E00709333-01 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. VariableType de donnesDescription OB1_EV_CLASSBYTE Classe et code d'vnement : B#16#11 : OB1 est actif OB1_SCAN_1BYTEB#16#01 : fin du dmarrage chaud B#16#02 : fin du redmarrage B#16#03 : fin du cycle libreB#16#04 : fin du dmarrage froidB#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_PRIORITYBYTEClasse de priorit : 1OB1_OB_NUMBRBYTENumro de l'OB (01) OB1_RESERVED_1BYTERserv OB1_RESERVED_2BYTERserv OB1_PREV_CYCLEINT Dure du cycle prcdent en ms OB1_MIN_CYCLEINTTemps de cycle minimal en ms depuis la dernire mise en route OB1_MAX_CYCLEINTTemps de cycle maximal en ms depuis la dernire mise en route OB1_DATE_TIMEDATE_AND_TIMEDate et heure de demande de l'OB Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-011-7 1.3OB 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". IntervalleDescription Non activL'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 systmeSFC30. Activ une foisL'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 priodiquementAu 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. Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 1-8A5E00709333-01 Le comportement des alarmes horaires quand vous avancez ou retardez l'horloge est dcrit dans /234/.

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 dclenchementconfigureHeure actuelleIntervalle configurInstant de la premire excution de l'OB d'alarme horaire Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-011-9 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. SituationConsquence Votre programme appelle la SFC29 "CAN_TINT" et annule une alarme horaire. Le systme d'exploitation efface l'vnement dclencheur (date et heure) del'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. 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'OBd'alarme horaire a t saut pour la premire fois. 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 dateou 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. Avec les CPU S7-300 : l'OB d'alarme horaire est excut. 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. Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 1-10A5E00709333-01 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. VariableType de donnesDescription OB10_EV_CLASSBYTEClasse et code d'vnement : B#16#11 : alarme active OB10_STRT_INFOBYTEB#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_PRIORITYBYTEClasse de priorit paramtre ; par dfaut : 2 OB10_OB_NUMBRBYTEN de l'OB (10 17) OB10_RESERVED_1BYTERserv OB10_RESERVED_2BYTERserv OB10_PERIOD_EXEWORDL'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_3INTRserv OB10_RESERVED_4INTRserv OB10_DATE_TIMEDATE_AND_TIME Date et heure de demande de l'OB Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-011-11 1.4OB 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 1ms. 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.Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 1-12A5E00709333-01 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. VariableType de donnesDclaration Description OB20_EV_CLASSBYTETEMP Classe et code d'vnement : B#16#11 : alarme active OB20_STRT_INFBYTETEMPB#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_PRIORITYBYTETEMPClasse de priorit paramtre ;par dfaut : 3 (OB20) 6 (OB23) OB20_OB_NUMBRBYTETEMPN de l'OB (20 23) OB20_RESERVED_1BYTETEMPRserv OB20_RESERVED_2BYTETEMPRserv OB20_SIGNWORDTEMPIdentification utilisateur : paramtre d'entre SIGN dans l'appelde la SFC32 "SRT_DINT" OB20_DTIMETIMETEMPRetard paramtr (en ms) OB20_DATE_TIMEDATE_AND_TIMETEMPDate et heure de demande de l'OB Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-011-13 1.5OB 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 cycliquePriode par dfautClasse de priorit par dfaut OB305 s7 OB312 s8 OB321 s9 OB33500 ms10 OB34200 ms11 OB35100 ms12 OB3650 ms13 OB3720 ms14 OB3810 ms15 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. Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 1-14A5E00709333-01 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. VariableType de donnesDescription OB35_EV_CLASSBYTEClasse et code d'vnement : B#16#11 : alarme active OB35_STRT_INFBYTE 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 B#16#39 : demande de dclenchement de l'OB38 B#16#3A : demande de dclenchement de l'OB d'alarme cyclique avec traitement spcial (uniquement pour S7-300 et si explicitement configur) B#16#3A :demande de dclenchement de l'OB d'alarme cyclique avec traitement spcial (uniquement pour les S7-300 et si explicitement configur) OB_35_PRIORITYBYTEClasse de priorit paramtre ;par dfaut : 7 (OB30) 15 (OB38)OB35_OB_NUMBRBYTENumro de l'OB (30 38) OB35_RESERVED_1BYTERserv OB35_RESERVED_2BYTERserv OB35_PHASE_OFFSETWORD Si OB35_STRT_INF=B#16#3A : dcalage de phases en s Dans tous les autres cas : dcalage de phases en ms OB35_RESERVED_3INTRserv OB35_EXC_FREQINT Si OB35_STRT_INF=B#16#3A : priode d'excution en s Dans tous les autres cas : priode d'excution en ms OB35_DATE_TIMEDATE_AND_TIME Date et heure de demande de l'OB Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-011-15 1.6OB 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. Signal du processusOB40Excution de l'OB40Alarmes de processus non dtectes 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.Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 1-16A5E00709333-01 Les fonctions systme SFC39 42 vous permettent d'inhiber, d'ajourner et de valider de nouveau les alarmes de processus. 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. VariableType de donnesDescription OB40_EV_CLASSBYTEClasse et code d'vnement : B#16#11 : alarme active OB40_STRT_INFBYTEB#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 PCOB40_PRIORITYBYTEClasse de priorit paramtre ;par dfaut : 16 (OB40) 23 (OB47) OB40_OB_NUMBRBYTENumro de l'OB (40 47) OB40_RESERVED_1BYTERserv OB40_IO_FLAGBYTEModule d'entres : B#16#54 Module de sorties : B#16#55 OB40_MDL_ADDRWORDAdresse de base logique du module dclenchant l'alarme OB40_POINT_ADDRDWORDPour 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 des alarmes du module (non destin l'utilisateur) OB40_DATE_TIMEDATE_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. Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-011-17 1.7OB 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. VariableType de donnesDescription OB55_EV_CLASSBYTEClasse et code d'vnement : B#16#11 : vnement apparaissant OB55_STRT_INFBYTEB#16#55 : alarme d'tat pour DP B#16#58 : alarme d'tat pour PN IO OB55_PRIORITYBYTEClasse de priorit paramtre ; par dfaut : 2 OB55_OB_NUMBRBYTENumro de l'OB (55) OB55_RESERVED_1BYTERserv OB55_IO_FLAGBYTEModule d'entres : B#16#54 Module de sorties : B#16#55 OB55_MDL_ADDRWORDAdresse de base logique du composant (module ou sous-module) dclenchant l'alarme OB55_LENBYTELongueur du bloc de donnes fourni par l'alarme OB55_TYPEBYTEIdentification du type d'alarme "Alarme d'tat" OB55_SLOTBYTENumro de l'emplacement du composant (module ou sous-module) dclenchant l'alarme OB55_SPECBYTESpecifier : Bits 0 1: Alarm-Specifier Bit 2 : Add_Ack Bits 3 7 : Seq-Nr. OB55_DATE_TIMEDATE_AND_TIMEDate 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. Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 1-18A5E00709333-01 1.8OB 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. VariableType de donnesDescription OB56_EV_CLASSBYTEClasse et code d'vnement : B#16#11 : vnement apparaissant OB56_STRT_INFBYTEB#16#56 : alarme de mise jour pour DP B#16#59 : alarme de mise jour pour PN IO OB56_PRIORITYBYTEClasse de priorit paramtre ; par dfaut : 2 OB56_OB_NUMBRBYTENumro de l'OB (56) OB56_RESERVED_1BYTERserv OB56_IO_FLAGBYTEModule d'entres : B#16#54 Module de sorties : B#16#55 OB56_MDL_ADDRWORDAdresse de base logique du composant (module ou sous-module) dclenchant l'alarme OB56_LENBYTELongueur du bloc de donnes fourni par l'alarme OB56_TYPEBYTEIdentification du type d'alarme "Alarme de mise jour" OB56_SLOTBYTENumro de l'emplacement du composant (module ou sous-module) dclenchant l'alarme OB56_SPECBYTESpecifier : Bits 0 1: Alarm-Specifier Bit 2 : Add_Ack Bits 3 7 : Seq-Nr. OB56_DATE_TIMEDATE_AND_TIMEDate 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. Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-011-19 1.9OB 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. VariableType de donnesDescription OB57_EV_CLASSBYTEClasse et code d'vnement : B#16#11 : vnement apparaissant OB57_STRT_INFBYTEB#16#57 : Manufacture Alarm pour DP B#16#5A : Manufacture Alarm pour PN IO B#16#5B : IO : Profile Specific Alarm OB57_PRIORITYBYTEClasse de priorit paramtre ; par dfaut : 2 OB57_OB_NUMBRBYTENumro de l'OB (57) OB57_RESERVED_1BYTERserv OB57_IO_FLAGBYTEModule d'entres : B#16#54 Module de sorties : B#16#55 OB57_MDL_ADDRWORDAdresse de base logique du composant (module ou sous-module) dclenchant l'alarme OB57_LENBYTELongueur du bloc de donnes fourni par l'alarme OB57_TYPEBYTEIdentification du type d'alarme "Alarme spcifique au fabricant"OB57_SLOTBYTENumro de l'emplacement du composant (module ou sous-module) dclenchant l'alarme OB57_SPECBYTESpecifier : Bits 0 1 : Alarm-Specifier Bit 2 : Add_Ack Bits 3 7 : Seq-Nr. OB57_DATE_TIMEDATE_AND_TIMEDate 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. Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 1-20A5E00709333-01 1.10OB 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 :CPU 2 :CycleExcution d'OB60Excution d'OB60 Excution d'OB60CycleExcution d'OB60CycleCycle"CALL SFC35""CALL SFC35" "CALL SFC35" Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-011-21 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. VariableType de donnesDescription OB60_EV_CLASSBYTEClasse et code d'vnement : B#16#11: l'alarme est active OB60_STRT_INFBYTE B#16#61 : alarme multiprocesseur dclenche par la propre CPU B#16#62 : alarme multiprocesseur dclenche par une autre CPU OB60_PRIORITYBYTEClasse de priorit paramtre ; par dfaut : 25OB60_OB_NUMBRBYTENumro de l'OB (60) OB60_RESERVED_1BYTERserv OB60_RESERVED_2BYTERserv OB60_JOBINTID de tche : variable d'entre JOB de la SFC35 "MP_ALM" OB60_RESERVED_3INTRserv OB60_RESERVED_4INTRserv OB60_DATE_TIMEDATE_AND_TIME Date et heure de demande de l'OB Blocs d'organisation Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 1-22A5E00709333-01 1.11OB 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 0, il s'agit d'uncode d'erreur gnral d'une SFC. Dans ce cas, x est lenumro du paramtre de la SFC qui a provoqu l'erreur. Les codes d'erreurgnraux sont numrs dans le tableau suivant.Bit de signe = 1 indique qu'une erreur est apparue.15 8 7 01XNumro d'vnement ou classe d'erreurs et erreur Paramtres gnraux des fonctions systme Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-012-3 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 : 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. Le tableau suivant numre les codes d'erreur gnraux et explique les erreurs. 0 7 8 15 BitsSigneN d'vnement N de paramtre 1

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. 0 7 8 15 BitsSigneNo d'erreur Classe d'erreurs13 401 Paramtres gnraux des fonctions systme Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 2-4A5E00709333-01 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#...)Signification 8x7FErreur 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. 8x01Identificateur de syntaxe illicite pour un paramtre ANY 8x22 8x23 Erreur de longueur de zone la lecture d'un paramtre 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. 8x24 8x25 Erreur de zone la lecture d'un paramtre 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. Ladescription de chaque fonction prcise leszones illicites pour cette fonction. 8x26Le 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. 8x27Le 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 8x29 Erreur d'alignement la lecture d'un paramtre 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 blocde donnes a t ouvert par la fonction systme elle-mme, elle sort toujours la valeur W#16#8x30. 8x32 8x34 8x35 Le paramtre contient un numro de DB trop grand (numro de DB erron). Le paramtre contient un numro de FC trop grand (numro de FC erron). 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 8x3C 8x3E Le paramtre contient le numro d'un DB qui n'est pas charg. Le paramtre contient le numro d'une FC qui n'est pas charge. Le paramtre contient le numro d'un FB qui n'est pas charg. Paramtres gnraux des fonctions systme Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-012-5 Code d'erreur (W#16#...)Signification 8x42 8x43 Erreur d'accs lors d'une tentative de lecture d'un paramtre dans la zone de priphrie des entres Erreur d'accs lors d'une tentative d'criture d'un paramtre dans la zone de priphrie des sorties 8x44 8x45 Erreur lors du n-ime (n > 1) accs en lecture aprs l'apparition d'une erreur 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. Paramtres gnraux des fonctions systme Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 2-6A5E00709333-01 2.2Signification 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" Paramtres gnraux des fonctions systme Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-012-7 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.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. SFCTche identifie par7 "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. 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). Paramtres gnraux des fonctions systme Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 2-8A5E00709333-01 Paramtres de sortie RET_VAL et BUSYLes 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. Paramtres gnraux des fonctions systme Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-012-9 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 REQRET_VALBUSY 1Premier appel1W#16#70011 Code d'erreur 0 2 (n - 1)Appel intermdiaire insignifiantW#16#70021 nDernier appelinsignifiantW#16#0000 si aucune erreur n'est apparue (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"). 0 Code d'erreur si une erreur est apparue0 Paramtres gnraux des fonctions systme Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 2-10A5E00709333-01 Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-013-1 3Fonctions de copie et fonctions sur bloc 3.1Copie 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. La copie alieu dans l'ordrecroissant desadressesZone de mmoireCopieDB10. DBW4 DB10. DBW6 DB10. DBW8 DB10. DBW10 MW 10MW 12MW 14MW 16ABCDEFGHABCDEFGHFonctions de copie et fonctions sur bloc Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 3-2A5E00709333-01 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. ParamtreDclarationType de donnes Zone de mmoire Description SRCBLKINPUTANYE, A, M, D, LZone de mmoire copier (champ source).Les tableaux du type de donnes STRING ne sont pas autoriss. RET_VALOUTPUTINTE, A, M, D, LSi une erreur est apparue pendant l'excution de la fonction, la valeur de retour contient un code d'erreur. DSTBLKOUTPUTANYE, A, M, D, LZone 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 (paramtre DSTBLK) indiqu est plus petit que le champ source (paramtre SRCBLK), la fonction copie seulement la quantit de donnes que le champ cible peut contenir. Si le champ cible ou source existant rellement sont plus petits que la taille de la zone de mmoire paramtre pour le champ source ou cible (paramtres SRCBLK, DSTBLK), aucune donne n'est transmise. 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 source et la cible sont respectivement une chane de caractres, la longueur en cours est adapte au nombre de caractres copis. Si vous souhaitez copier une chane de caractres, y compris sa longueur maximale et effective, procdez de la manire suivante : construisez vous-mme les pointeurs ANY que vous indiquez dans les paramtres SRCBLK et DSTBLK. Utilisez BYTE 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. Fonctions de copie et fonctions sur bloc Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-013-3 Informations d'erreur Code d'erreur (W#16#...)Signification 0000Pas d'erreur 8091Profondeur d'imbrication dpasse. 8092La SFC20 "BLKMO" ne peut pas tre excute, car un accs un bloc de donnes non excutable a t effectu. Utilisez cet effet la SFC83. 8xyyInformations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie RET_VAL Fonctions de copie et fonctions sur bloc Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 3-4A5E00709333-01 3.2Copie 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 512octets. 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. ParamtreDclaration Type de donnes Zone de mmoire Description SRCBLKINPUTANYE, A, M, D, LZone de mmoire copier (champ source). Les tableaux du type de donnes STRING ne sont pas autoriss. RET_VALOUTPUTINTE, A, M, D, LSi une erreur est apparue pendant l'excution de la fonction, la valeur de retour contient un code d'erreur.DSTBLKOUTPUTANYE, A, M, D, LZone de mmoire o placer la copie (champ cible). Les tableaux du type de donnes STRING ne sont pas autoriss. Fonctions de copie et fonctions sur bloc Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-013-5

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 champ cible ou source existant rellement sont plus petits que la taille de la zone de mmoire paramtre pour le champ source ou cible (paramtres SRCBLK, DSTBLK), aucune donne n'est transmise. 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. Si le pointeur ANY est de type STRING, la longueur indique doit tre 1. Informations d'erreur Code d'erreur (W#16#...)Signification 0000Pas d'erreur 8091La profondeur d'imbrication est dpasse. La zone source ne se trouve pas dans le bloc de donnes intressant l'excution. 8xyyInformations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie RET_VAL Fonctions de copie et fonctions sur bloc Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 3-6A5E00709333-01 3.3Initialisation 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 champ cible ou source existant rellement sont plus petits que la taille de la zone de mmoire paramtre pour le champ source ou cible (paramtres BVAL, BLK), aucune donne n'est transmise. 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. A BC DE FG HA BC DE FG HA BC DE FG HA BC DMW 14MW 16MW 18MW 20MW 100MW 102MW 104MW 106MW 108MW 110MW 112MW 114MW 116MW 118BVALBLKFILLExemple : 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. Fonctions de copie et fonctions sur bloc Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-013-7 Exceptions Ne sont pas admissibles comme champ source : les compteurs, les temporisations. La fonction SFC21 ne peut pas crire de valeurs dans les blocs FB, SFB, FC, SFC, SDB, les compteurs, les temporisations, la zone de priphrie. ParamtreDclaration Type de donnes Zone de mmoire Description BVALINPUTANYE, A, M, D, LLe 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_VALOUTPUTINTE, A, M, D, LSi une erreur est apparue pendant l'excution de la fonction, la valeur de retour contient un code d'erreur.BLKOUTPUTANYE, A, M, D, LLe 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 6octets 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. Fonctions de copie et fonctions sur bloc Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 3-8A5E00709333-01 3.4Cration 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 par dfaut. 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. ParamtreDclarationType de donnes Zone de mmoire Description LOW_LIMITINPUTWORDE, 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_LIMITINPUTWORDE, 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. COUNTINPUTWORDE, 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_VALOUTPUTINTE, A, M, D, LSi une erreur est apparue pendant l'excution de la fonction, la valeur de retour contient un code d'erreur. DB_NUMBEROUTPUTWORDE, A, M, D, LLe numro du bloc de donnes est celui du bloc de donnes cr. En cas d'erreur (bit15 de RET_VAL 1), la valeur 0 est crite dans DB_NUMBER. Fonctions de copie et fonctions sur bloc Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 A5E00709333-013-9 Informations d'erreur Code d'erreur (W#16#...)Signification 0000Pas d'erreur 8091L'appel de la SFC22 est imbriqu. 8092La fonction "Gnrer un DB" ne peut tremomentanment excute, car la fonction "Comprimer la mmoire utilisateur" est active, le nombre de DB existant dans la CPU a dj atteint le nombre maximum possible, 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. 80A1Numro de DB erron : le numro est 0, le numro est suprieur au nombre de DB autoriss pour la CPU, limite infrieure > limite suprieure. 80A2Longueur 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. 80B1Aucun numro de DB n'est libre. 80B2La mmoire disponible n'est pas suffisante. 80B3La mmoire continue disponible n'est pas suffisante (comprimer la mmoire !). 8xyyInformations d'erreur gnrales, voir Evaluation d'erreur avec le paramtre de sortie RET_VAL Fonctions de copie et fonctions sur bloc Logiciel systme pour SIMATIC S7-300/400 - Fonctions standard et fonctions systme - Volume 1/2 3-10A5E00709333-01 3.5Effacement 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 ; pour S7-300 (exception : CPU 318), la suppression du DB s'effectue sans appel de l'OB121.

Nota Effacer des DB d'instance avec la fonction SFC23 "DEL_DB" n'est pas recommand 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