AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à...

548
Sommaire Introduction 1 Programme utilisateur 2 Traitement du programme 3 Etats de fonctionnement et niveaux de traitement de programme 4 Traitement des interruptions et des erreurs 5 Fonctions spéciales intégrées 6 Bloc de données étendu DX 0 7 Contenu et organisation de la mémoire 8 Accès à la mémoire par les adresses absolues 9 Fonctionnement multiproces- seur et communication dans l’AP S5-155U 10 Interfaces et fonctions en ligne de la PG 11 Annexes 12 Listes 13 La liste des opérations, référence 6ES5 997-3UA32, est jointe au manuel. 10/98 C79000-G8577-C848 4 ème édition AP S5-155U CPU 948 Guide de programmation Ce manuel a le numéro de référence : 6ES5 998-3PR31 SIMATIC S5

Transcript of AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à...

Page 1: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire

Introduction1

Programme utilisateur2

Traitement du programme3

Etats de fonctionnement et niveaux de traitement de programme

4

Traitement des interruptions etdes erreurs

5

Fonctions spéciales intégrées6

Bloc de données étendu DX 07

Contenu et organisation de lamémoire

8

Accès à la mémoire par lesadresses absolues

9

Fonctionnement multiproces-seur et communication dansl’AP S5-155U

10

Interfaces et fonctions en lignede la PG

11

Annexes12

Listes13

La liste des opérations,référence 6ES5 997-3UA32, est jointe au manuel.

10/98C79000-G8577-C8484ème édition

AP S5-155UCPU 948

Guide de programmation

Ce manuel a le numéro de référence :

6ES5 998-3PR31

SIMATIC S5

Page 2: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Ce manuel donne des consignes que vous devez respecter pour votre propre sécurité ainsique pour éviter des dommages matériels. Elles sont mises en évidence par un triangle d’aver-tissement et sont présentées, selon le risque encouru, de la façon suivante :

!Attention

signifie que la non-application des mesures de sécurité appropriées peut conduire à la mort, àdes lésions corporelles graves ou à un dommage matériel important.

Nota

doit vous rendre tout particulièrement attentif à des informations importantes sur le produit,aux manipulations à effectuer avec le produit ou à la partie concernée de la documentation.

La mise en service et l’utilisation de l’équipement ne doivent être effectuées que conformé-ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventionssur l’équipement. Il s’agit de personnes qui ont l’autorisation de mettre en service, de mettre àla terre et de repérer des appareils, systèmes et circuits électriques conformément aux règlesde sécurité en vigueur.

Tenez compte des points suivants :

!Attention

L’équipement ne doit être utilisé que pour les applications spécifiées dans le catalogue oudans la description technique, et exclusivement avec des périphériques et composants recom-mandés par Siemens.

Le transport, le stockage, le montage, la mise en service ainsi que l’utilisation et la mainte-nance adéquats de l’équipement sont les conditions indispensables pour garantir un fonc-tionnement correct et sûr du produit.

!Attention

UL + CSA : Lithium Battery ReplacementDanger of explosion if battery is incorrectly replaced. Replace only with same or equivalenttype recommended by the manufacturer. Dispose of used batteries according to the manufac-turer’s instructions.

!Attention

FM-WARNING – DO NOT DISCONNECT WHILE CIRCUIT IS LIVEUNLESS LOCATION IS KNOWN TO BE NONHAZARDOUS

SIMATIC� , SIMATIC NET� et SIMATIC HMI� sont des marques déposées parSiemens AG.

Les autres désignations dans ce document peuvent être des marques dont l’utilisation par destiers à leurs propres fins peut léser les droits des propriétaires desdites marques.

Nous avons vérifié la conformité du contenu du présent manuel avecle matériel et le logiciel qui y sont décrits. Or des divergences n’étantpas exclues, nous ne pouvons pas nous porter garants pour laconformité intégrale. Si l’usage de ce manuel devait révéler deserreurs, nous en tiendrons compte et apporterons les correctionsnécessaires dès la prochaine édition. Veuillez nous faire part de vossuggestions.

Exclusion de responsabilitéCopyright �� Siemens AG 1998 Tous droits réservés

Toute communication ou reproduction de ce support d’information,toute exploitation ou communication de son contenu sont interdites,sauf autorisation expresse. Tout manquement à cette règle est illiciteet expose son auteur au versement de dommages et intérêts. Tousnos droits sont réservés, notamment pour le cas de la délivranced’un brevet ou celui de l’enregistrement d’un modèle d’utilité.

Siemens AGBereich Automatisierungs- und AntriebstechnikGeschaeftsgebiet Industrie-AutomatisierungssystemePostfach 4848, D-90327 Nuernberg

� Siemens AG 1998Sous réserve de modifications techniques

Siemens Aktiengesellschaft 6ES5 998-3PR31

Informations relati-ves à la sécurité

Personnel qualifié

Utilisation conformeaux dispositions

Marques

Page 3: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 3

1.1 Domaine d’application de l’AP S5-155U avec la CPU 948 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 4

1.2 Mode de fonctionnement caractéristique d’une CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 5

1.3 Programmes dans la CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 7

1.4 Opérandes disponibles pour le programme utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 11

1.5 Capacité mémoire disponible pour le programme utilisateur. . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 14

1.6 Procédure de programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 15

1.7 Outils de programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 18

1.8 Conversion de programmes utilisateur de la CPU 928B pour la CPU 948. . . . . . . . . . . . . . . . 1 - 19

2 Programme utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 3

2.1 Langage de programmation STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 4

2.1.1 Modes de représentation CONT, LOG et LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 42.1.2 Programmation structurée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 52.1.3 Opérations STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 62.1.4 Représentation des valeurs numériques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 82.1.5 Blocs STEP 5 et sauvegarde de ces blocs en mémoire . . . . . . . . . . . . . . . . . . . . . . . . 2 - 12

2.2 Blocs d’organisation, de programme et séquentiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 16

2.2.1 Blocs d’organisation d’interface utilisateur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 182.2.2 Blocs d’organisation de fonctions spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 22

2.3 Blocs fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 23

2.3.1 Structure des blocs fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 242.3.2 Programmation de blocs fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 262.3.3 Appel et paramétrage de blocs fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 282.3.4 Blocs fonctionnels spéciaux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 33

2.4 Blocs de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 35

2.4.1 Programmation de blocs de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 372.4.2 Appel de blocs de données. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 382.4.3 Blocs de données spéciaux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 41

Sommaire

Programmation de la CPU 948

C79000-G8577-C848-04 iii

Page 4: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

3 Traitement du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 3

3.1 Principe du traitement du programme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 4

3.2 Organisation du programme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 5

3.3 Mémorisation de programmes et de blocs de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 10

3.4 Traitement du programme utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 11

3.4.1 Définition des termes pour le traitement du programme . . . . . . . . . . . . . . . . . . . . . . . 3 - 12

3.5 Liste des opérations STEP 5 avec exemples de programmation . . . . . . . . . . . . . . . . . . . . . . . . 3 - 15

3.5.1 Opérations de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 193.5.2 Exemples de programmation pour les modes de représentation LIST, CONT, LOG . 3 - 343.5.3 Opérations complémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 493.5.4 Opérations d’organisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 593.5.5 Opérations sur sémaphores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 75

4 Etats de fonctionnement et niveaux de traitement de programme . . . . . . . . . . . . . . . . . . . . 4 - 3

4.1 Niveaux de traitement de programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 4

4.2 Etat de fonctionnement ARRET (STOP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 9

4.2.1 Arrêt partiel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 94.2.2 Arrêt total . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 134.2.3 Effacement général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 14

4.3 Etat de fonctionnement MISE EN ROUTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 16

4.3.1 Démarrages manuel et automatique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 174.3.2 Redémarrages manuel et automatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 184.3.3 Comparaison entre démarrage et redémarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 214.3.4 Démarrage avec rémanence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 224.3.5 Comparaison entre démarrage et démarrage avec rémanence . . . . . . . . . . . . . . . . . . . 4 - 234.3.6 Interfaces utilisateur pour la mise en route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 244.3.7 Redémarrage automatique étendu avec la CPU 948. . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 274.3.8 Interruptions pendant la mise en route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 28

4.4 Etat de fonctionnement RUN (MARCHE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 29

4.4.1 Traitement cyclique du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 304.4.2 Traitement déclenché par alarme et par horloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 324.4.3 Traitement déclenché par horloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 334.4.4 Traitement déclenché par alarme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 41

5 Traitement des interruptions et des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 3

5.1 Erreurs fréquentes dans le programme utilisateur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 4

5.2 Informations d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 5

5.3 Marche à suivre pour la recherche d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 8

5.4 Bits de commande et pile des interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 9

5.4.1 Bits de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 105.4.2 Pile des interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 145.4.3 Exemple de diagnostic d’erreur au moyen de l’ITPILE . . . . . . . . . . . . . . . . . . . . . . . . 5 - 19

Sommaire

Programmation de la CPU 948

iv C79000-G8577-C848-04

Page 5: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.5 Traitement des erreurs à l’aide de blocs d’organisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 20

5.6 Origine des erreurs et réactions aux erreurs de la CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 23

5.6.1 OB 19 : appel d’un bloc de code non chargé (BL INEX) . . . . . . . . . . . . . . . . . . . . . . 5 - 245.6.2 OB 19 : appel d’un bloc de données non chargé (DB INEX) . . . . . . . . . . . . . . . . . . . 5 - 245.6.3 OB 23/24, OB 28/29 : retard d’acquittement (ACQ) . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 255.6.4 OB 25 : erreur d’adressage (DAD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 265.6.5 OB 26 : erreur de temps de cycle (CYC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 275.6.6 OB 27 : erreur de substitution (SUB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 285.6.7 OB 30 : erreur de parité et ACQ pour la mémoire utilisateur (PARI) . . . . . . . . . . . . . 5 - 285.6.8 OB 32 : erreur de transfert et de chargement (DTC) . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 295.6.9 OB 33 : erreur de traitement d’alarmes d’horloge (COLAH/AHMAS) . . . . . . . . . . . 5 - 305.6.10 OB 34 : erreur pour E DB/EX DX (ER.EDBX). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 325.6.11 OB 35 : erreur de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 325.6.12 OB 36 : erreur lors de l’autotest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 33

5.7 Autotest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 34

5.7.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 345.7.2 Description des fonctions de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 355.7.3 Sélections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 375.7.4 Traitement des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 38

6 Fonctions spéciales intégrées. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 3

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 4

6.2 OB 121 : Génération et lecture de l’horodateur interne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 8

6.3 OB 122 : Activation / désactivation de l’inhibition des alarmes . . . . . . . . . . . . . . . . . . . . . . . . 6 - 12

6.4 OB 124 : Suppression de blocs STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 14

6.5 OB 125 : Génération de blocs STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 17

6.6 OB 126 : Définition et transfert de mémoires image du processus . . . . . . . . . . . . . . . . . . . . . . 6 - 20

6.7 OB 129 : Etat de la pile de sauvegarde. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 25

6.8 OB 131 : Effacement des accumulateurs 1, 2, 3 et 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 26

6.9 OB 132 et OB 133 : Décalage du contenu des accumulateurs vers le haut ou vers le bas . . . 6 - 27

6.10 OB 141 : Activation/désactivation de l’inhibition sélective d’alarmes d’horloge cycliques . . 6 - 29

6.11 OB 142 : Activation/désactivation du retardement général d’alarmes. . . . . . . . . . . . . . . . . . . . 6 - 32

6.12 OB 143 : Activation/désactivation du retardement sélectif d’alarmes d’horloge cycliques . . . 6 - 35

6.13 OB 150 : Génération et lecture de l’horodateur interne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 38

6.14 OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 43

6.15 OB 153 : Génération et lecture de l’heure de déclenchement d’une alarme de retardement . . 6 - 50

6.16 OB 180 : Accès variable à un bloc de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 53

6.17 OB 181 : Test de blocs de données DB/DX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 57

Sommaire

Programmation de la CPU 948

C79000-G8577-C848-04 v

Page 6: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.18 OB 182 : Duplication d’une zone de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 59

6.19 OB 200 et OB 202 à OB 205 : Communication multiprocesseur . . . . . . . . . . . . . . . . . . . . . . . 6 - 62

6.20 OB 222 : Redémarrage de la surveillance du temps de cycle . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 63

6.21 OB 223 : Comparaison des types de mise en route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 64

6.22 OB 254 et OB 255 : Copie et duplication de blocs de données . . . . . . . . . . . . . . . . . . . . . . . . 6 - 65

7 Bloc de données étendu DX 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 3

7.1 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 4

7.2 Structure du bloc DX 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 5

7.3 Paramètres pour le DX 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 8

7.4 Exemples de paramétrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 12

8 Contenu et organisation de la mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 3

8.1 Structure de l’espace mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 4

8.2 Espace d’adressage de la CPU 948 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 5

8.2.1 Espace d’adressage de la RAM système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 68.2.2 Espace d’adressage de la périphérie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 8

8.3 Organisation de la mémoire utilisateur dans la CPU 948. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 10

8.3.1 En-têtes de blocs dans la mémoire utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 128.3.2 Listes d’adresses de blocs dans le bloc de données DB 0 . . . . . . . . . . . . . . . . . . . . . . 8 - 138.3.3 Zones BA et BB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 148.3.4 Zones BS et BT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 158.3.5 Affectation des bits des mots de données système . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 188.3.6 Zone de données système librement adressable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 42

9 Accès à la mémoire par les adresses absolues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 3

9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 4

9.2 Accès à la mémoire par adressage dans l’ACCU 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 8

9.2.1 LIR et TIR : Chargement et transfert indirects de registres de 16 bits . . . . . . . . . . . . . 9 - 99.2.2 Exemples d’accès à des DW supérieurs à 255 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 159.2.3 LDI et TDI : Chargement et transfert indirects de registres de 32 bits . . . . . . . . . . . . 9 - 17

9.3 Transfert de blocs de mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 19

9.4 Opérations avec le registre d’adresse de base BR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 22

9.4.1 Opérations de transfert entre registres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 239.4.2 Accès à la mémoire locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 249.4.3 Accès à la mémoire commune. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 259.4.4 Accès aux pages de mémoire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 29

10 Fonctionnement et communication multiprocesseur dans l’AP S5-155U . . . . . . . . . . . . . 10 - 3

10.1 Fonctionnement multiprocesseur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4

10.1.1 Utilisation du fonctionnement multiprocesseur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 410.1.2 Mécanismes de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4

Sommaire

Programmation de la CPU 948

vi C79000-G8577-C848-04

Page 7: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.1.3 Echange de données via des mémentos de couplage . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 510.1.4 Echange de données via des blocs de dialogue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 810.1.5 Programmation nécessaire pour le fonctionnement multiprocesseur . . . . . . . . . . . . . . 10 - 910.1.6 Programmation du DB 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 910.1.7 Particularités de la mise en route en fonctionnement multiprocesseur . . . . . . . . . . . 10 - 1310.1.8 Mode de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 14

10.2 Communication multiprocesseur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 15

10.2.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 1510.2.2 Identification de l’émetteur et du récepteur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 1610.2.3 Stockage intermédiaire des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 1710.2.4 Fonctionnement et gestion de la mémoire intermédiaire . . . . . . . . . . . . . . . . . . . . . . 10 - 1810.2.5 Mesures à prendre pour le démarrage du système . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 2110.2.6 Ce dont il faut tenir compte lors de l’appel des OB de communication . . . . . . . . . . 10 - 2210.2.7 Paramétrage des OB de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 2310.2.8 Exploitation des paramètres de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 24

10.3 Temps d’exécution des OB de communication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 31

10.4 Fonction "Initialisation" (OB 200) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 33

10.4.1 Fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 3310.4.2 Paramètres d’appel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 3510.4.3 Paramètres d’entrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 3510.4.4 Paramètres de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 38

10.5 Fonction "Emission" (OB 202) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 40

10.5.1 Fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4010.5.2 Paramètres d’appel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4010.5.3 Paramètres d’entrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4010.5.4 Paramètres de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 42

10.6 Fonction "Test d’émission" (OB 203) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 45

10.6.1 Fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4510.6.2 Paramètres d’appel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4510.6.3 Paramètres d’entrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4510.6.4 Paramètres de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 45

10.7 Fonction "Réception" (OB 204) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 47

10.7.1 Fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4710.7.2 Paramètres d’appel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4710.7.3 Paramètres d’entrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4710.7.4 Paramètres de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 48

10.8 Fonction "Test de réception" (OB 205). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 51

10.8.1 Fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 5110.8.2 Paramètres d’appel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 5110.8.3 Paramètres d’entrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 5110.8.4 Paramètres de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 51

10.9 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 53

10.9.1 Appel des OB de fonctions spéciales par des blocs fonctionnels . . . . . . . . . . . . . . . 10 - 5310.9.2 Transfert de blocs de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 6010.9.3 Extension de la zone des mémentos de couplage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 66

Sommaire

Programmation de la CPU 948

C79000-G8577-C848-04 vii

Page 8: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

11 Interfaces et fonctions en ligne de la PG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 3

11.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 4

11.2 Fonctions en ligne de la PG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 5

11.2.1 Informations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 611.2.2 Fonctions de mémorisation et de transfert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 711.2.3 Test du programme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 8

11.3 Couplage PG-AP via la première ou la seconde interface série. . . . . . . . . . . . . . . . . . . . . . . . 11 - 16

11.4 Utilisation en parallèle de deux interfaces série vers la PG . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 17

11.4.1 Mise en service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 1911.4.2 Fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 1911.4.3 Déroulement pour des cas précis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 21

11.5 Fonctions PG via le bus S5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 27

11.5.1 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 2711.5.2 Principe de fonctionnement des fonctions PG via le bus S5 . . . . . . . . . . . . . . . . . . . 11 - 2911.5.3 Mise en service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 3111.5.4 Indication d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 35

12 Annexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 - 3

13 Listes

Sommaire

Programmation de la CPU 948

viii C79000-G8577-C848-04

Page 9: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire du chapitre 1

1.1 Domaine d’application de l’AP S5-155U avec la CPU 948. . . . . . . . . . . . . . . . . . . . . . . 1 - 4

1.2 Mode de fonctionnement caractéristique d’une CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 5

1.3 Programmes dans la CPU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 7

1.4 Opérandes disponibles pour le programme utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 11

1.5 Capacité mémoire disponible pour le programme utilisateur . . . . . . . . . . . . . . . . . . . . . 1 - 14

1.6 Procédure de programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 15

1.7 Outils de programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 18

1.8 Conversion de programmes utilisateur de la CPU 928B pour la CPU 948 . . . . . . . . . . 1 - 19

1Introduction

Programmation de la CPU 948C79000-G8577-C848-04 1 - 1

Page 10: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire

Programmation de la CPU 9481 - 2 C79000-G8577-C848-04

Page 11: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

1Introduction

Objectif du manuel Le présent manuel est destiné aux utilisateurs possédant des connais-sances de base dans la programmation d’automates et qui désirentmettre en oeuvre la CPU 948 dans l’automate programmable S5-155U.Il vous apporte les connaissances supplémentaires requises pour la pro-grammation de la CPU 948. Aux utilisateurs débutants, nous recommandons la lecture d’un ouvra-ge d’initiation au langage de programmation STEP 5 (cf. biblio-graphie /3/) ou la participation à un stage dans l’un de nos centres deformation. SIEMENS propose un vaste programme de stagesSIMATIC S5. Pour de plus amples informations, veuillez vous adres-ser à votre agence SIEMENS.

Contenu du chapitre 1 Le chapitre 1 contient des informations sur le domaine d’applicationde l’automate S5-155U avec la CPU 948 ainsi que sur sa structure in-terne.Il explique le mode de fonctionnement caractéristique d’une CPU et lastructure d’un programme de CPU.Vous y trouverez également des conseils de programmation ainsi queles données importantes pour la programmation de la CPU 948.Si vous avez déjà utilisé la CPU 946/947 et désirez connaître lesdifférences par rapport à la CPU 948, reportez-vous au paragraphe 1.8.

Ce chapitre vous informe en outre sur les différences entre la versionA01 et la version A02 de la CPU 948 et vous indique ce dont il fauttenir compte lors de la conversion de programmes de la CPU 928Bpour la CPU 948.

Programmation de la CPU 948C79000-G8577-C848-04 1 - 3

Page 12: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

1.1 Domaine d’application de l’AP S5-155U avec la CPU 948

Situation dans la gamme SIMATIC S5

L’automate programmable (AP) S5-155U fait partie de la gamme desautomates programmables SIMATIC S5. Il représente, avec laCPU 948, l’automate multiprocesseur le plus performant destiné àl’automatisation de processus (commande, signalisation, surveillance,régulation, consignation).En raison de sa modularité et de son degré de performance très élevé,il peut être utilisé tant pour des automatismes de commande de moyen-ne à très grande envergure que pour la résolution de tâches d’auto-matisation complexes au niveau de la conduite de processus et de ladisposition.

Fonction L’AP S5-155U avec CPU 948 est particulièrement approprié pourrésoudre les tâches suivantes :

•• Tâches exigeant un traitement très rapide sur bits et sur mots ainsique des temps de réaction brefs, comme dans le cas de tâches decommande et de régulation très rapidesLes processus très rapides dans le domaine de la construction demachines (installations de mise en bouteille, machines d’emballa-ge ou autres) et dans celui de l’industrie automobile en sont quel-ques exemples.

•• Tâches requérant un très grand volume de mémoire de même quedes temps d’accès très rapides, par exemple dans l’industrieautomobile, la technologie des procédés industriels et la constructi-on d’installations technologiques

•• Tâches nécessitant une communication rapide avec d’autres CPUenfichées dans l’automate en configuration multiprocesseur demême qu’avec des processeurs de communication CP (par ex-emple, pour le raccordement à des réseaux locaux, à des ordina-teurs pilotes, pour la visualisation, la commande et la surveillance)

•• Tâches complexes qui peuvent être résolues de façon efficace etclaire à l’aide des langages de programmation évolués C et SCL

Domaine d’application de l’AP S5-155U avec la CPU 948

Programmation de la CPU 9481 - 4 C79000-G8577-C848-04

Page 13: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

1.2 Mode de fonctionnement caractéristique d’une CPU

Mode de fonctionnementd’une CPU

Une CPU présente les modes de fonctionnement suivants :

Traitement cyclique Il représente la partie principale des processus de la CPU. Comme sonnom l’indique, la même séquence de traitement se répète cyclique-ment à l’infini.

Le traitement cyclique se divise en trois phases principales :

Phase Déroulement

1Le programme système interroge toutes les cartes d’entrées affectées à la CPU et les valeurs lues font l’objet d’une mémorisation temporaire dans la mémoire image des entrées (MIE).

2Les valeurs contenues dans la MIE sont traitées par le programme utili-sateur et les valeurs à transmettre sont inscrites dans la mémoire image des sorties (MIS).

3Les valeurs contenues dans la mémoire image des sorties sont émises par le programme système vers les cartes de sorties affectées à la CPU.

Traitement cyclique Traitement déclenchépar alarme

Traitement déclenchépar horloge

1. 2. 3.

Lecture de la mémoireimage des entrées (MIE)

Emission de la mémoireimage des sorties (MIS)

&

&

= 1

E 1.5

E 1.6

E 1.4

E 1.3 A 3.1

Exploitation des signaux d´entréeDéfinition des signaux de sortie

Entrée E 1.3

Entrée E 1.4

Entrée E 1.5

Sortie A 3.1

Sortie A 2.0

Sortie A 4.7

CPU Processus

Mode de fonctionnement caractéristique d’une CPU

Programmation de la CPU 948C79000-G8577-C848-04 1 - 5

Page 14: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Traitement déclenché parhorloge

Dans le cas de processus requérant des signaux de commande à desintervalles de temps constants, vous pouvez en plus du traitement cy-clique accomplir certaines tâches déclenchées par horloge, commepar exemple des fonctions de surveillance non critiques avec une péri-odicité de l’ordre de la seconde.

Traitement déclenché paralarme

A un signal de processus qui requiert une réaction extrêmement rapidevous affectez une séquence de traitement déclenchée par alarme.Une interruption du système déclenchée par l’intermédiaire d’une car-te émettrice d’alarme vous permet, par exemple, d’activer une séquen-ce de traitement spéciale dans votre programme.

Traitement prioritaire La CPU sélectionne les modes de traitement décrits ci-avant selon leurdegré d’importance ou priorité .

La CPU devant réagir rapidement à un événement déclenché par horlo-ge ou par alarme, elle interrompt le traitement cyclique pour traiter enpremier lieu un tel événement. Le traitement cyclique a en conséquen-ce le degré de priorité moindre.

Selon le problème posé, le traitement déclenché par horloge peut êtreprioritaire par rapport au traitement déclenché par alarme, ou inverse-ment. Vous pouvez donc définir quel est le traitement prioritaire sur laCPU 948.

Mode de fonctionnement caractéristique d’une CPU

Programmation de la CPU 9481 - 6 C79000-G8577-C848-04

Page 15: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

1.3 Programmes dans la CPU

Le programme de chaque CPU comprend :

•• le programme système

et

•• le programme utilisateur.

Programme système Le programme système gère toutes les fonctions et opérations de laCPU qui ne sont pas liées directement à une tâche spécifique d’auto-matisation (cf. figure 1-2).

Actualisation de la mémoireimage des entrées

Emission de la mémoireimage des sorties

Programme

système

Appel du

traitement

utilisateur

(interfaces)

Mise en route

Traitement des erreursCommunicationavec la PG

Gestion dela mémoire

Figure 1-1 Tâches du programme système

Programmes dans la CPU

Programmation de la CPU 948C79000-G8577-C848-04 1 - 7

Page 16: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Tâches Les tâches à accomplir par le programme système sont les suivantes1 :

•• démarrage et redémarrage,

•• actualisation de la mémoire image des entrées, émission de lamémoire image des sorties,

•• appel des programmes cycliques et des programmes déclenchéspar horloge ou par alarme,

•• détection et traitement d’erreurs,

•• gestion de la mémoire,

•• communication avec la console de programmation.

Interfaces utilisateur En tant qu’utilisateur, vous avez la possibilité d’intervenir – par l’inter-médiaire d’interfaces spéciales – sur le comportement de la CPU danscertains cas de fonctionnement et d’erreur.

Mémorisation du programmesystème

A la mise sous tension de l’automate, le programme système est char-gé de la mémoire EPROM dans la RAM interne du système d’exploi-tation.

Présélection ducomportement du système

Les chapitres suivants − à l’exception du chapitre 7 − décrivent lecomportement présélectionné du système dans le cas de réactionsaux événements de processus ou aux erreurs. C’est ainsi par exempleque, conformément à la présélection, la CPU se met en STOP si, dansle cas d’une erreur de code d’instruction, le bloc d’organisation corres-pondant de réaction aux erreurs n’est pas chargé.

Modification de la présélection Vous pouvez modifier ce comportement du système en paramétrant lebloc de données DX 0.Le comportement du système après une telle modification est décritau chapitre 7.

1 En cas de fonctionnement avec plusieurs CPU (fonctionnement multiprocesseur)des tâches supplémentaires s’y ajoutent.

Programmes dans la CPU

Programmation de la CPU 9481 - 8 C79000-G8577-C848-04

Page 17: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Programme utilisateur

Tâches Le programme utilisateur comporte toutes les fonctions nécessaires autraitement d’une tâche d’automatisation spécifique. Lors d’une attri-bution approximative des tâches, ces fonctions peuvent être affectéesdirectement aux interfaces mises à disposition par le programme sy-stème pour les divers modes de fonctionnement.

Mode de fonctionnement Tâche

Démarrage et redémarrage Réunion des conditions pour que, lors d’un démarrage ou après un redémar-rage du processus de commande, la tâche à exécuter puisse se baser sur un état défini (par ex. affecter une valeur précise à des signaux)

Traitement cyclique Traitement répétitif de signaux (par exemple, combinaison de signaux binaires, lecture et exploitation de valeurs analogiques, définition de signaux de sortie binaires, émission de valeurs analogiques)

Traitement déclenché par horloge

Traitements spéciaux, dépendant du temps, satisfaisant aux conditions de temporisation suivantes :

- rapidité supérieure au cycle moyen- périodicité supérieure au temps de cycle moyen- possibilité de définir l’instant d’exécution de la tâche

Traitement déclenché par alarme

Réactions spéciales, rapides à des signaux du processus

Réaction en cas d’erreur Traitement des erreurs survenant lors du déroulement normal du programme

Programmes dans la CPU

Programmation de la CPU 948C79000-G8577-C848-04 1 - 9

Page 18: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Structure

Mémorisation du programme utilisateur

Une fois la programmation terminée, vous devez charger le program-me utilisateur dans la mémoire utilisateur de la CPU 948. Vous pou-vez procéder directement à partir de la console de programmation oubien par l’intermédiaire d’une carte à mémoire, dont le contenu seracopié automatiquement dans la mémoire utilisateur lors d’un efface-ment général de la CPU.

Interfaces vers le programmesystème

Des blocs d’organisation servant d’interface avec le programme sy-stème sont disponibles pour les différents modes de fonctionnement.

Mémoire utilisateur

Blocs de code

Blocs de données

Blocsd´organisationOB

DB

DX

PB FB/FX SB

FB 8

SEGMENT 1NOM :TRANS

0005 :L EB 30006 :T MW 2000007 :A DB 50008 :B MW 2000009 :L DW 0000A :T AW 6000B :BE

1: KH = 0101;2: KF = +120;3: KC = xy;4: KY = 4.5;5: KG =6: KM =7:

1: KH = FFFF;2: KH = FFFF;3: KH = FFFF;4: KH = FFFF;5: KH = FFFF;6: KH = FFFF;7:

OpérationsSTEP 5

données statiques ou dynamiques(bits, octets, mots, doubles mots)

données statiques ou dynamiques(bits, octets, mots, doubles mots)

OpérationsSTEP 5

OpérationsSTEP 5

OpérationsSTEP 5

Blocs deprogramme

Blocsfonctionnels

Blocsséquentiels

&

&

= 1

E 1.5

E 1.6

E 1.4

E 1.3 A 3.1

= 1M 50.1

M 50.2

M 50.3 A 5.3

M 1.7

E 2.6 S

R QE 1.3

Programme utilisateur

Figure 1-2 Structure d’un programme utilisateur STEP 5

Programmes dans la CPU

Programmation de la CPU 9481 - 10 C79000-G8577-C848-04

Page 19: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

1.4 Opérandes disponibles pour le programme utilisateur

Pour la programmation, la CPU 948 met à votre disposition les zonesd’opérandes suivantes :

•• mémoire image et périphérie,

•• mémentos (mémentos M et mémentos S),

•• temporisations et compteurs,

•• blocs de données.

Mémoire image des entréeset des sorties (MIE et MIS)

Caractéristiques Capacité

Le programme utilisateur peut accéder très rapidement à la mémoire image, à savoir aux types de données suivants :

- bits individuels,- octets, - mots, - doubles mots.

respective-ment 128 octets pour les entrées et les sorties

Zone de périphérie(zone P)

Caractéristiques Capacité

Le programme utilisateur peut accéder directementaux cartes de périphérie via le bus S5.

Les types de données suivants sont possibles :- octets,- mots.

respective-ment 256 octets pour les entrées et les sorties

Zone de périphérie étendue (zone Q)

Caractéristiques Capacité

Le programme utilisateur peut accéder directement aux cartes de périphérie via le bus S5.

Les types de données suivants sont possibles :- octets,- mots.

respective-ment 256 octets pour les entrées et les sorties

Opérandes disponibles pour le programme utilisateur

Programmation de la CPU 948C79000-G8577-C848-04 1 - 11

Page 20: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Zone de mémentos M

Caractéristiques Capacité

La zone de mémentos est une zone de mémoire à laquelle le programme utilisateur peut accéder très rapidement avec des opérations correspondantes. Il est recommandé d’utiliser la zone de mémentos pour des données souvent requises.

On peut accéder aux types de données suivants :- bits individuels,- octets,- mots,- doubles mots.

Certains octets de mémentos peuvent être utilisés en tant que mémentos de couplage pour l’échange de données entre les CPU en fonctionnement multiproces-seur (voir chapitre 10).A la fin du cycle, le programme système actualise les mémentos de couplage à l’aide d’une mémoire intermédiaire dans le coordinateur ou d’une carte CPou IP.

2048 bits

Zone de mémentos S(zone de mémentos étendue)

Caractéristiques Capacité

La CPU 948 comporte une zone de mémentos supplé-mentaire, la zone de mémentos S. Comme dans le cas de la zone de mémentos M, le programme utilisateur peut y accéder très rapidement.

Cependant les mémentos S ne peuvent être utilisés ni comme opérandes effectifs lors de l’appel de blocs fonctionnels, ni comme mémentos de couplage pour l’échange de données entre les CPU. Les opérationsde test sur bit de la CPU 948 ne peuvent pas non plusêtre appliquées aux mémentos S.

Pour utiliser les mémentos S, vous devez disposer du logiciel système S5-DOS à partir de la version 3.0 ou S5-DOS/MT à partir de la version 1.0.

32 768 bits

Opérandes disponibles pour le programme utilisateur

Programmation de la CPU 9481 - 12 C79000-G8577-C848-04

Page 21: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Temporisations T

Caractéristiques Capacité

Les cellules de temporisation sont chargées par le programme utilisateur avec une valeur de temps comprise entre 10 ms et 9990 s. Par une instruction de démarrage, elles sont ensuite décrémentées à partir de cette valeur définie selon la période sélectionnée jusqu’à atteindre la valeur zéro.

256 cellules de

temporisation

Compteurs Z

Caractéristiques Capacité

Le programme utilisateur charge une valeur de départ (999 max.) dans les cellules de comptage, puis lesincrémente ou les décrémente.

256compteurs

Mots de données dans le blocde données actuel

Caractéristiques Capacité

Un bloc de données contient des constantes ou des variables de type octet, mot ou double mot. Les opérations STEP 5 permettent toujours l’accès au bloc de données "actuel" (cf. paragraphe 2.4.2).

On peut accéder aux types de données suivants :- bits individuels,- octets,- mots,- doubles mots.

256 mots 1

1 Dans le cas de blocs de données dont la longueur dépasse 256 mots, vous ne pouvez accéder aux mots de données de numéro supérieur à 255 qu’en recourant à des opérations destinées aux accès mémoire absolus (cf. chapitre 9).

Opérandes disponibles pour le programme utilisateur

Programmation de la CPU 948C79000-G8577-C848-04 1 - 13

Page 22: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

1.5 Capacité mémoire disponible pour le programme utilisateur

Pour mémoriser les blocs de code et les blocs de données, la CPU 948dispose uniquement de la mémoire utilisateur dans la RAM interne.

La CPU 948 existe en deux versions de mémoire utilisateur :

•• Version 1 : avec 640 kilo-octets,

•• Version 2 : avec 1 664 kilo-octets.

Capacité mémoire disponible pour le programme utilisateur

Programmation de la CPU 9481 - 14 C79000-G8577-C848-04

Page 23: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

1.6 Procédure de prog rammation

Si vous êtes un programmeur expérimenté et disposez de votre propreméthode de programmation, vous pouvez passer directement au para-graphe suivant.

Les utilisateurs moins expérimentés trouveront dans ce paragraphequelques conseils sur la conception, la programmation, le test et lamise en service de leur programme STEP 5.

Séquences de réalisation La réalisation d’un programme de commande STEP 5 se divise entrois séquences :

Séquence Action

1 définition de la tâche technologique à réaliser

2 conception du programme

3 écriture, test et mise en service du programme

Procédure récurrente Dans la pratique, il s’avère généralement nécessaire de répéter certai-nes étapes de la procédure ("procédure récurrente"). C’est par ex-emple le cas lorsque vous décidez d’augmenter le nombre de signauxlors de l’étude plus approfondie du problème posé.

1ère séquence Définition de la tâche technologique à réaliser

Etape Action

1 Etablissez un schéma fonctionnel des tâches de commande du processus à réaliser.

2 Etablissez la liste des signaux d’entrée et de sortienécessaires à la résolution de la tâche.

3 Complétez le schéma fonctionnel en affectant auxdifférents blocs les signaux et, le cas échéant, lesconditions de temps et les états des compteurs.

Procédure de programmation

Programmation de la CPU 948C79000-G8577-C848-04 1 - 15

Page 24: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2ème séquence Conception du programme

Etape Action

1 Développez à l’aide du schéma fonctionnel détaillé les modes de traitement nécessaires de votre programme (traitement cyclique, traitement déclenché par horloge etc.) et dénommez les blocs d’organisation utilisés.

2 Divisez les modes de traitement en plusieurs unitéstechnologiques ou fonctionnelles.

3 Vérifiez si vous pouvez affecter ces unités à un blocde programme ou fonctionnel et dénommez les blocs à utiliser (PB x, FB y, etc.).

4 Définissez les temporisations, compteurs, données et mémoires de résultat nécessaires.

5 Définissez les tâches pour chaque bloc de code prévu et, si nécessaire, les données pour les mémentos et blocs de données. Dessinez des schémas séquentiels pour les blocs de code.

Volume du traitementcyclique

Lors de la définition des modes de traitement, tenez compte des indica-tions suivantes :

•• Le traitement du cycle doit s’effectuer à une vitesse suffisante.Pour éviter une perte de contrôle sur le processus, les états duprocessus ne doivent pas changer plus rapidement que la CPU nepeut y réagir.

•• Comme temps de réaction maximal, il faut compter deux fois letemps de cycle.Le temps de cycle est déterminé par le traitement cyclique du pro-gramme système de même que par le type et le volume du pro-gramme utilisateur. Comme le programme utilisateur cycliquepeut être interrompu à une ou plusieurs reprises par l’appel de pro-grammes déclenchés par horloge ou par alarme, le temps de cyclen’est pas toujours constant.

Procédure de programmation

Programmation de la CPU 9481 - 16 C79000-G8577-C848-04

Page 25: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

3ème séquence Ecriture, test et mise en service du programme

Etape Action

1 Déterminez le mode de représentation des blocs de code (CONT, LOG ou LIST, cf. chapitre 2).Notez que les blocs fonctionnels ne peuvent êtrecréés qu’en mode de représentation LIST.

2 Procédez à la programmation de l’ensemble des blocsde code et de données (reportez-vous à cet effet aumanuel de STEP 5).

3 Mettez en service les blocs l’un après l’autre.Pour ce faire, il peut s’avérer nécessaire de program-mer à chaque fois un autre OB 1 appelant les blocs decode correspondants :1a : Chargement des blocs1b : Test des blocs

Reportez-vous à cet effet au manuel STEP 5 ainsiqu’au chapitre 11.

4 Après vous être assuré du bon déroulement de chaque bloc de code de même que du calcul et de la mémo-risation corrects des données, vous pouvez mettre en service votre programme complet.

Réalisation du test Le moment de la première mise en service de votre programme dansdes conditions réelles, c’est-à-dire avec des signaux d’entrée et surtoutde sortie réels, vous incombe à vous ou à une équipe de spécialistescompétents.Les mesures de précaution à prendre lors de la mise en service doiventêtre d’autant plus importantes que le processus est complexe et doncque les risques liés à la sécurité sont grands.

Procédure de programmation

Programmation de la CPU 948C79000-G8577-C848-04 1 - 17

Page 26: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

1.7 Outils de programmation

Consoles de programmation

Pour créer votre programme utilisateur, vous disposez des consoles deprogrammation PG 685, PG 710, PG 730, PG 750 et PG 770. La ca-pacité et les caractéristiques de ces consoles de programmation sontdécrites dans le catalogue ST 59 (cf. bibliographie /9/).

NotaPour pouvoir exploiter l’ensemble des fonctions de la CPU 948– en particulier, masque DX 0, masque de lecture de la pile desinterruptions, affichage pour la fonction PG d’étendue de lamémoire, ainsi que fonctions PG via le bus de fond de panier S5 –,vous devez disposer du logiciel système pour PG STEP 5/ST àpartir de la version 6.3 ou STEP 5/MT à partir de la version 6.0ainsi que de la "disquette delta CPU 948" et d’une console deprogrammation PG 7xx.

Logiciels utilisables Vous pouvez créer les programmes utilisateur pour les automatesprogrammables SIMATIC S5

•• en langage de programmation STEP 5

Vous utilisez alors le logiciel de programmation STEP 5 avec le lo-giciel système STEP 5/ST ou STEP 5/MT (pour la description, cf.bibliographie /3/).

ou

•• dans un langage de programmation évolué

Si vous avez l’habitude d’écrire vos programmes dans un langage deprogrammation évolué, vous pouvez également écrire votre program-me STEP 5 pour la CPU 948 à l’aide :

- de SCL (cf. bibliographie /12/ ; le compilateur SCL fait partiedu logiciel PG S5-DOS/MT à partir de la version 6)

ou

- de C avec compilateur C S5.

Quant aux programmes pour commandes séquentielles, vous pou-vez les créer graphiquement à l’aide du logiciel de programmationGRAPH 5 (cf. bibliographie /4/).

Selon la tâche à réaliser, vous pouvez également intégrer dans votreprogramme utilisateur des blocs fonctionnels standard dont les foncti-ons et les caractéristiques sont décrites dans le catalogue ST 57 (cf.bibliographie /11/).

Outils de programmation

Programmation de la CPU 9481 - 18 C79000-G8577-C848-04

Page 27: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

1.8 Conversion de programmes utilisateur de la CPU 928B pour laCPU 948

Ce paragraphe contient quelques remarques dont vous devez tenircompte lorsque vous voulez exécuter dans la CPU 948 des program-mes utilisateur conçus pour la CPU 928B.

Opérations Pour les opérations suivantes, vous devez tenir compte des différencesd’exécution et de mise en œuvre dues, entre autres, à une organisationdifférente de la mémoire.

Opérations CPU 928B CPU 948

AS/AF(inhibition/validationdes alarmes)

Inhibition ou validation de toutes lesalarmes de processus

Seules les alarmes de processus vial’octet d’entrée EB 0 sont inhibées ouvalidées. Utilisez les OB 122 et 142 aulieu de ces opérations.

LIR/TIR Utilisation d’adresses de 16 bits Utilisation d’adresses de 20 bitsUne adaptation est nécessaire.

Opération de transfertpar paquets TNB

Utilisation d’adresses de 16 bits Opération inexistanteUtilisez TNW pour le transfert parpaquets de la zone 8 bits dans la zone8 bits.

Opération de transfertpar paquets TNW

- Utilisation d’adresses de 16 bits

- Les transferts par paquets de la zone 8 bits dans la zone 16 bits, etinversement, sont possibles.

- Utilisation d’adresses de 20 bitsUne adaptation est nécessaire.

- TNW ne permet que des transferts par paquets de la zone 8 bits dans la zone 8 bits et de la zone 16 bits dans la zone 16 bits. Utilisez :- l’opération TXB pour le transfert

par paquets de la zone 8 bits dans la zone 16 bits et

- l’opération TXW pour le transfert par paquets de la zone 16 bits dans la zone 8 bits.

TXB et TXW n’existent pas dans la CPU 928B.

Toutes opérations avecle registre BR

Le registre BR a une longueur de20 bits.

Le registre BR a une longueur de32 bits.Une adaptation est nécessaire.

Conversion de programmes utilisateur de la CPU 928B pour la CPU 948

Programmation de la CPU 948C79000-G8577-C848-04 1 - 19

Page 28: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Traitement des cellules detemporisation

CPU 928B CPU 948

Les cellules de temporisationsont actualisées dès la mise enroute.

Les cellules de temporisation nesont actualisées qu’à l’état demarche RUN, et ce afin d’assurerla compatibilité avec laCPU 946/947.

FB 0 comme bloc de cycle

CPU 928B CPU 948

S’il n’existe pas de blocd’organisation cyclique OB 1, leprogramme système appellecycliquement le bloc FB 0 s’il estchargé.

Seul le bloc OB 1 peut être utilisépour le traitement cyclique. Sivous avez programmé le FB 0,créez un bloc OB 1 qui appelle lebloc FB 0.

Valeurs par défaut pour lespriorités

CPU 928B CPU 948

Les alarmes de processus sontprioritaires par rapport auxalarmes d’horloge.

Les alarmes d’horloge ontpriorité sur les alarmes deprocessus via l’octet d’entréeEB 0 et sur les interruptionssystème. Vous pouvez changer cela enparamétrant le DX 0 enconséquence.

Bloc de données DB 0 (listedes adresses de blocs)

CPU 928B CPU 948

La liste des adresses de blocscontient les adresses de débutdirectes des blocs.

La liste des adresses de blocscontient les adresses de segmentdes blocs. Pour obtenir l’adressede début d’un bloc, il faut décalerson adresse de segment de 4 bitsvers la gauche.

Conversion de programmes utilisateur de la CPU 928B pour la CPU 948

Programmation de la CPU 9481 - 20 C79000-G8577-C848-04

Page 29: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Bloc de données DX 0 Vous devez créer un nouveau bloc de données DX 0 (voir chapitre 7),car celui de la CPU 928B a une structure différente et d’autres possibi-lités de sélection.

Utilisation de la zone BT Dans la CPU 928B, le programme système n’utilise pas la zone BT ;dans la CPU 948, les blocs de dialogue l’utilisent en partie.Vous ne pouvez faire appel à la zone BT dans votre programme utili-sateur que si vous ne vous servez pas des FB standard et des fonctionsPG via SINEC H1 et le bus S5.

Blocs d’organisation Le nombre et la fonction des OB de fonctions spéciales et d’erreurdiffèrent dans la CPU 928B et dans la CPU 948.

OB d’erreur Les OB d’erreur suivants de la CPU 948 se comportent différemmentdes OB de même nom de la CPU 928B.

OB Fonction ID d’erreur

OB 19OB 26OB 27

identique à laCPU 928B

différente de laCPU 928B

OB 28OB 29OB 30OB 31

différente de laCPU 928B −

OB de fonctions spéciales

OB Remarque

OB 110OB 152

OB 160 à 163OB 170

OB 190 à 193OB 216 à 218OB 220 et 221

OB 224OB 226 à 228OB 240 à 242OB 250 et 251

Ces OB n’existent pas dans la CPU 948.

OB 111OB 112OB 113OB 120OB 121OB 122OB 123

Dans la CPU 948, ces OB sont remplacés par : OB 131 OB 132 OB 133 OB 122 OB 141 OB 142 OB 143

Conversion de programmes utilisateur de la CPU 928B pour la CPU 948

Programmation de la CPU 948C79000-G8577-C848-04 1 - 21

Page 30: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

OB Remarque

OB 122 Son paramétrage diffère de celui de l’OB 122pour la CPU 928B, et ce afin d’assurer lacompatibilité avec la CPU 946/947.

OB 180 Contrairement à ce qui se passe dans laCPU 928B, la fenêtre d’accès ne peut êtredécalée que par un multiple de 16 pour laCPU 948.

OB 200OB 202 à 205

(communicationmultiprocesseur)

Contrairement à ce qui se passe dans laCPU 928B, ces OB modifient l’accumu-lateur 4 dans la CPU 948.

Logiciel de régulation R64 Le logiciel de régulation R64 ne peut pas fonctionner sur la CPU 948.

FB standard Vous devez, en principe, remplacer les blocs fonctionnels standard(pour IP, par exemple) utilisés dans la CPU 928B par ceux de laCPU 948. Font exception les blocs de dialogue que vous pouvez re-prendre de la CPU 928B (voir paragraphe 1.8.1).

Conversion de programmes utilisateur de la CPU 928B pour la CPU 948

Programmation de la CPU 9481 - 22 C79000-G8577-C848-04

Page 31: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire du chapitre 2

2.1 Langage de programmation STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 4

2.1.1 Modes de représentation CONT, LOG et LIST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 42.1.2 Programmation structurée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 52.1.3 Opérations STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 62.1.4 Représentation des valeurs numériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 82.1.5 Blocs STEP 5 et sauvegarde de ces blocs en mémoire. . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 12

2.2 Blocs d’organisation, de programme et séquentiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 16

2.2.1 Blocs d’organisation d’interface utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 182.2.2 Blocs d’organisation de fonctions spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 22

2.3 Blocs fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 23

2.3.1 Structure des blocs fonctionnels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 242.3.2 Programmation de blocs fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 262.3.3 Appel et paramétrage de blocs fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 282.3.4 Blocs fonctionnels spéciaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 33

2.4 Blocs de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 35

2.4.1 Programmation de blocs de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 372.4.2 Appel de blocs de données. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 382.4.3 Blocs de données spéciaux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 41

2Programme utilisateur

Programmation de la CPU 948C79000-G8577-C848-04 2 - 1

Page 32: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire

Programmation de la CPU 9482 - 2 C79000-G8577-C848-04

Page 33: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2Programme utilisateur

Le présent chapitre décrit l’ensemble des composantes d’un program-me utilisateur STEP 5 pour la CPU 948 ainsi que la manière destructurer ce programme.

Programmation de la CPU 948C79000-G8577-C848-04 2 - 3

Page 34: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2.1 Langage de programmation STEP 5

Le langage de programmation STEP 5 vous permet de transcrire votretâche d’automatisation en un programme exécutable sur les automatesprogrammables SIMATIC S5. STEP 5 convient à la programmationde fonctions binaires simples ainsi que de fonctions numériques com-plexes et d’opérations arithmétiques, y compris les opérations surnombres à virgule flottante.

Types d’opérations Le jeu d’instructions du langage de programmation STEP 5 se com-pose :

d’opérations de base

•• utilisables dans tous les blocs de code,

•• dans les modes de représentation : schéma à contacts (CONT), lo-gigramme (LOG) et liste d’instructions (LIST),

d’opérations complémentaires et d’opérations système

•• uniquement utilisables dans des blocs fonctionnels,

•• seulement en mode de représentation : liste d’instructions (LIST),

•• les opérations système étant réservées aux utilisateurs expéri-mentés du système.

2.1.1Modes de représentationCONT, LOG et LIST

Lors de la programmation en langage STEP 5, vous avez la possibilité dechoisir pour chaque bloc de code entre trois modes de représentation :schéma à contacts (CONT), logigramme (LOG) et liste d’instructions(LIST). Cela vous permet d’adopter la méthode de programmation lamieux adaptée à chaque application.

Le code machine MC 5 créé par les consoles de programmation (PG)est identique pour les trois modes de représentation.

Si vous respectez certaines règles lors de la programmation avecSTEP 5 (cf. bibliographie /3/), la console peut assurer la conversiondu programme utilisateur d’un mode de représentation à un autre.

Représentation graphique ou liste d’instructions

Les modes CONT et LOG permettent de représenter graphiquementvotre programme STEP 5 alors que la liste d’instructions propose desabréviations mnémotechniques (allemandes) des différentes instructi-ons STEP 5.

Langage de programmation STEP 5

Programmation de la CPU 9482 - 4 C79000-G8577-C848-04

Page 35: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Représentation graphique decommandes séquentielles

GRAPH 5 (cf. bibliographie /4/) est un langage de programmationpour la représentation graphique de commandes séquentielles. Il se si-tue à un niveau supérieur à celui des modes de représentation CONT,LOG, LIST. Le programme saisi sous forme graphique avecGRAPH 5 est converti automatiquement par la console de programma-tion (PG) en un programme STEP 5.

2.1.2Programmation structurée STEP 5 permet de structurer le programme utilisateur qui peut être di-

visé en sections définies de programme (blocs). La division du pro-gramme utilisateur permet de se faire une idée rapide de la structuregénérale du programme et met en évidence au niveau de programmeles sous-ensembles de l’installation liés entre eux.

Schéma à contacts Liste d’instructions Logigramme

Programmation avecdes abréviations mnémotechniques desdésignations des fonctions

Programmation avecdes symbolesgraphiques comme un

Programmation avecdes symboles graphiques

conforme àCEI 117-15DIN 40700DIN 40719DIN 19239

conforme àDIN 19239

conforme àDIN 19239

LIST LOGCONTUUNUONO =

&

> = 1

EEEEEA

schéma des circuits

Figure 2-1 Modes de représentation du langage de programmation STEP 5

Langage de programmation STEP 5

Programmation de la CPU 948C79000-G8577-C848-04 2 - 5

Page 36: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Ce procédé de "programmation structurée" offre les avantages sui-vants :

•• élaboration simple et claire de programmes même importants,

•• possibilité de standardiser des parties du programme,

•• organisation simple du programme,

•• facilité de modification,

•• simplicité de test du programme par parties,

•• facilité de mise en service.

Qu’est-ce qu’un bloc ? Un bloc est une partie du programme utilisateur ayant une fonction,une structure et un emploi bien définis. Il faut distinguer les blocs quicontiennent des instructions (code) de traitement des informations(blocs d’organisation, blocs de programme, blocs fonctionnels, blocsséquentiels) et les blocs qui contiennent des données (bloc dedonnées).

2.1.3Opérations STEP 5 Une opération STEP 5 est le plus petit élément du programme utilisateur.

Elle impose le traitement à effectuer par la CPU. Une opération STEP 5se compose d’un code opération et d’un opérande.

Exemple type d´opérande

code opération opérande

paramètre

:O M 54.1

(que faire ?) (avec quoi ?)

Langage de programmation STEP 5

Programmation de la CPU 9482 - 6 C79000-G8577-C848-04

Page 37: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérandes absolus etsymboliques

L’opérande peut être défini sous forme absolue ou symbolique (sui-vant une liste d’assignation).

Exemple de représentation absolue :U E 1.4

Exemple de représentation symbolique :U -Moteur1

Pour la programmation absolue ou symbolique, veuillez vous référerau manuel STEP 5.

Application des opérations STEP 5

L’ensemble des opérations du langage STEP 5 permet de réaliser lesfonctions suivantes :

•• combinaison, mise à "1" ou remise à "0" de valeurs binaires,

•• chargement et transfert de valeurs,

•• comparaison et traitement arithmétique de valeurs,

•• définition de valeurs de présélection pour temporisations et comp-teurs,

•• conversion de représentations de valeurs numériques,

•• appel de blocs et exécution de sauts au sein d’un bloc

et

•• influence du traitement du programme.

Résultat logique RLG Le bit central de gestion du programme est le résultat logique RLG. Ilest formé par des combinaisons binaires et influencé par quelquesopérations.

Toutes les opérations STEP 5 ainsi que les précisions concernant leRLG sont décrites en détail au paragraphe 3.5, qui contient égalementdes exemples de programmation pour chaque instruction STEP 5.

Langage de programmation STEP 5

Programmation de la CPU 948C79000-G8577-C848-04 2 - 7

Page 38: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2.1.4Représentation desvaleurs numériques

Afin que le processeur puisse combiner, modifier ou comparer des va-leurs numériques, celles-ci doivent être chargées dans les accumula-teurs (registres de travail de la CPU) en code binaire.

En STEP 5, la représentation des nombres dépend des opérations à ef-fectuer.

Nombres binaires nombres à virgule fixe de 16 bits

nombres à virgule fixe de 32 bits

nombres à virgule flottante de 32 bits (avec mantisse de 24 bits)

Nombres décimaux nombres décimaux codés binaires (DCB)(signe et 3 chiffres)

Saisie de valeurs numériquessur la console

Lors de la saisie et de la lecture de valeurs numériques, vous sélection-nez sur la console de programmation le format de données (par ex-emple, KF pour virgule fixe) souhaité pour la saisie ou l’affichage dela valeur numérique. Ainsi, la PG se charge de la conversion de la re-présentation numérique interne en un mode de représentation permet-tant la lecture directe.

Opérations autorisées Les nombres à virgule fixe de 16 bits et les nombres à virgule flottantese prêtent à l’exécution de toutes les opérations arithmétiques, tellesque la comparaison, l’addition, la soustraction, la multiplication et ladivision.

NotaIl n’est pas possible d’effectuer des opérations arithmétiques sur lesnombres DCB, car cela conduirait à des résultats erronés.

Les nombres à virgule fixe de 32 bits servent à effectuer des opérati-ons de comparaison. Ils sont en outre nécessaires en tant qu’étape in-termédiaire lors du transcodage de nombres DCB en nombres àvirgule flottante. Les instructions +D et -D les rendent également uti-lisables pour les additions et les soustractions.

Le langage STEP 5 contient des opérations de conversion permettant deconvertir directement des nombres dans les représentations numériquesles plus importantes.

Langage de programmation STEP 5

Programmation de la CPU 9482 - 8 C79000-G8577-C848-04

Page 39: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Nombres à virgule fixe de16 bits et 32 bits

Il s’agit de nombres binaires entiers pourvus d’un signe.

Codage des nombres àvirgule fixe

Ils ont une longueur de 16 bits (= 1 mot) ou de 32 bits (= 2 mots),le bit 15 ou 31 contenant le signe :

•• "0" = nombre positif,

•• "1" = nombre négatif.

Les nombres négatifs sont représentés par leur complément à deux.

Saisie sur la PG Entrée du format de données pour les nombres à virgule fixe de16 bits sur la PG : KF

Entrée du format de données pour les nombres à virgule fixe de32 bits sur la PG : DH

Plage numérique admissible Nombres à virgule fixe de 16 bits-32768 à +32767

Nombres à virgule fixe de 32 bits-2147483648 à +2147483647 (8000 0000H à 7FFF FFFFH)

Utilisation des nombres àvirgule fixe

Les nombres à virgule fixe sont utilisés pour les opérations de calculsimple et pour la comparaison de valeurs numériques. Etant donnéque les nombres à virgule fixe sont toujours des entiers, il faut tenircompte du fait que le quotient de deux nombres à virgule fixe sera tou-jours un entier sans décimales.

Nombres à virgule flottante Les nombres à virgule flottante sont des nombres décimaux positifs ounégatifs. Ils occupent toujours un double mot (32 bits). Un nombre àvirgule flottante est représenté sous forme de nombre exponentiel. Lamantisse est codée sur 24 bits et l’exposant sur 8 bits.

La CPU 948 effectue les additions, soustractions, multiplications et di-visions avec une mantisse de 24 bits (bits 0 à 23).

L’exposant indique l’ordre de grandeur du nombre à virgule flottante. Lesigne de l’exposant indique si le nombre à virgule flottante est supérieurou inférieur à 0,1.

Langage de programmation STEP 5

Programmation de la CPU 948C79000-G8577-C848-04 2 - 9

Page 40: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Utilisation des nombres àvirgule flottante

Il est recommandé d’utiliser des nombres à virgule flottante pourrésoudre des problèmes de calcul plus complexes, plus particulière-ment pour des multiplications et divisions, ainsi que pour les calculsportant sur des nombres très grands ou très petits.

Précision La mantisse indique la précision du nombre à virgule flottante :

•• précision pour une mantisse de 24 bits

2-24 = 0,000000059604 (correspond à 7 chiffres après la virgule)

Lorsque le signe de la mantisse est "0", le nombre est positif. Si cenombre est "1", il s’agit d’un nombre négatif en représentation en com-plément à deux.

La valeur de virgule flottante "0" est représentée par la valeur binai-re naturelle 80000000H (32 bits, voir ci-dessous).

Codage des nombresà virgule flottante

Codage d’un nombre à virgule flottante

31 30 24 23 22 0

S 26 ... . ... 20 S 2-1 .... . . . . . ... 2-23

Exposant Mantisse

Indication du format de données pour nombres à virgule flottante surla PG : KG

Plage numérique admissible ± 0,1469368 x 10-38 à ± 0,1701412 x 1039

Saisie et affichagesur la console

a) Dans un bloc de code

On désire charger le nombre N = 12,34567 en tant que constante àvirgule flottante.

Saisie :

:LKG1234567+2

Langage de programmation STEP 5

Programmation de la CPU 9482 - 10 C79000-G8577-C848-04

Page 41: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

b) Dans un bloc de données

On désire charger le nombre N = - 0,005 en tant que constante à virgule flottante.

Saisie :

6: KG = - 5 - 2

Nombre décimal codébinaire (DCB)

Les nombres décimaux sont représentés en code binaire. Avec 3 chif-fres et le signe, ils occupent 16 bits (1 mot) dans l’accumulateur.

15 12 11 8 7 4 3 0

S S S S centaines dizaines unités

Les différents chiffres du nombre décimal sont représentés pardes nombres binaires à 4 bits entre 0000 et 1001 (0 et 9).

Les bits de gauche sont réservés au signe :

signe pour un nombre positif : 0000signe pour un nombre négatif : 1111

Plage numérique admissible -999 à +999

Affichage sur la PG après la validation :

:L KG + 1234567 + 02

Mantisse avec signe Exposant (base 10) avec signe

Valeur du nombre saisi : +0,1234567 x 10+2 = 12,34567

Affichage sur la PG après la validation :

6: KG =- 5000000 - 02

Mantisse avec signe Exposant (base 10) avec signe

Valeur du nombre saisi : - 0,5 x 10-2 = 0,005

Langage de programmation STEP 5

Programmation de la CPU 948C79000-G8577-C848-04 2 - 11

Page 42: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2.1.5Blocs STEP 5 et sauve-garde de ces blocs enmémoire

Identification Un bloc est identifié par :

•• son type (OB, PB, SB, FB, FX, DB, DX)

et

•• son numéro (nombre entre 0 et 255).

Types de blocs Le langage de programmation STEP 5 distingue les types de blocs sui-vants.

Blocs d’organisation (OB) Les blocs d’organisation constituent l’interface entre le programme sy-stème et le programme utilisateur. Ils peuvent être divisés en troisgroupes :

Vous programmez les OB 1 à 39, en fonction des tâches d’automat-isation à réaliser, pour commander l’exécution du programme et défi-nir le comportement de la CPU au démarrage et en cas d’erreur. CesOB sont appelés par le programme système.

Les OB 40 à 100 sont des blocs du système d’exploitation qui nedoivent pas être appelés.

Les OB 121 à 255 contiennent des fonctions spéciales du programmesystème. Vous pouvez les appeler dans le programme utilisateur encas de besoin.

Blocs de programme (PB) Les blocs de programme sont utilisés pour structurer le programme uti-lisateur et ils contiennent les sous-programmes scindés suivant des as-pects technologiques ou fonctionnels. En règle générale, les blocs deprogramme constituent la partie principale du programme utilisateur.

Blocs séquentiels (SB) Il s’agissait au départ de blocs de programme spéciaux utilisés pour letraitement étape par étape de graphes séquentiels. Entre temps,GRAPH 5 (cf. bibliographie /4/) s’est imposé pour la programmationde commandes séquentielles. De ce fait, les blocs SB n’ont plus leur signification initiale : ils consti-tuent aujourd’hui une extension quantitative des blocs de programmeet peuvent être utilisés comme ceux-ci.

Langage de programmation STEP 5

Programmation de la CPU 9482 - 12 C79000-G8577-C848-04

Page 43: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Blocs fonctionnels (FB/FX) Ils servent à programmer des fonctions complexes ou répétitives, parexemple fonctions numériques, commandes séquentielles, régulations,fonctions de signalisation.

Un même bloc fonctionnel peut être appelé plusieurs fois par les blocsde rang supérieur avec, à chaque fois, d’autres opérandes (paramétra-ge de l’appel).Les blocs FX ont été introduits pour doubler le nombre maximal deblocs fonctionnels disponibles.

Blocs de données (DB/DX) Les blocs de données contiennent les données (constantes ou varia-bles) qu’utilise le programme utilisateur. Ce type de bloc ne contientpas d’instructions STEP 5 et sa fonction est fondamentalementdifférente de celle des autres blocs. Les blocs DX ont été introduitspour doubler le nombre maximal de blocs de données disponibles.

Structure d’un bloc Tous les types de blocs comprennent

•• un en-tête de bloc

et

•• un corps de bloc.

En-tête de bloc L’ en-tête de bloc a toujours une longueur de 5 mots et contient des in-formations pour la gestion du bloc dans la console PG et des donnéespour le programme système.

Corps de bloc Suivant le type de bloc, le corps de bloc contient :

•• des instructions STEP 5 (pour OB, PB, SB, FB, FX),

•• des données constantes ou variables (pour DB, DX)

et

•• la liste des opérandes formels (pour FB, FX).

Langage de programmation STEP 5

Programmation de la CPU 948C79000-G8577-C848-04 2 - 13

Page 44: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Bloc étiquette Pour les types de blocs DB, DX, FB et FX, la PG crée en plus un blocétiquette (DV, DVX, FV, FVX). Ces blocs étiquette contiennent desinformations relatives au format de données (pour DB et DX) ou auxrepères de saut (pour FB et FX) qui ne peuvent être exploitées que parla console de programmation. C’est pourquoi les blocs étiquette nesont pas transférés dans la mémoire de l’automate programmable. Entant qu’utilisateur, vous n’avez pas d’influence directe sur le contenudes blocs étiquette.

Longueur maximale Un bloc STEP 5 peut occuper au maximum 32 767 mots (1 mot corres-pond à 16 bits) dans la mémoire de programme de la CPU.

Blocs disponibles Pour la programmation, vous disposez des types de blocs suivants :

Les blocs de données DB 0, DB 1, DX 0 et DX 1 contiennent des pa-ramètres. Ils sont réservés à certaines fonctions ; vous ne pouvez doncpas les utiliser à votre gré. Cela vaut également pour le bloc de données DX 2 qui est réservé à ladeuxième interface série et ne doit donc pas non plus être utilisé.

OB 1 à 39

FB 0 à 255 total 512

FX 0 à 255

PB 0 à 255

SB 0 à 255

DB 2 à 255 total 507

DX 3 à 255

Langage de programmation STEP 5

Programmation de la CPU 9482 - 14 C79000-G8577-C848-04

Page 45: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Stockage des blocs Tous les blocs programmables sont rangés par la PG dans la mémoireutilisateur dans l’ordre de leur transfert (cf. figure 2-2). Si voussélectionnez la fonction PG de transfert de tous les blocs, les blocs decode puis les blocs de données sont transférés.

Les adresses de début des blocs mémorisés sont consignées dans lebloc de données DB 0.

Correction et effacement de blocs

Lors de la correction de blocs, l’ancien bloc est déclaré non valable etun nouveau bloc est inscrit dans la mémoire. Il en est de même lors de l’effacement de blocs : les blocs ne sont pasvraiment effacés, mais ils sont simplement déclarés non valables.L’espace mémoire qu’ils occupent est cependant libéré et peut être uti-lisé par des blocs chargés ultérieurement.

NotaLa fonction en ligne de compression de la mémoire permet derécupérer de la place mémoire pour de nouveaux blocs. Elleoptimise l’occupation de la mémoire en effaçant les blocsdéclarés non valables et en rassemblant les blocs valables.

Situat ion des blocs dansla mémoire ut i l isateur

Adresse 0

FB1

OB1

SB10

DB1

PB1

PB2

Figure 2-2 Exemple de stockage de blocs dans la mémoire utilisateur

Langage de programmation STEP 5

Programmation de la CPU 948C79000-G8577-C848-04 2 - 15

Page 46: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2.2 Blocs d’organisation, de prog ramme et séquent iels

Ces trois types de blocs (OB, PB et SB) ne présentent aucune différen-ce quant à la programmation et à l’appel. Tous trois peuvent être pro-grammés au choix dans les modes de représentation CONT, LOG etLIST.

Programmation Voici comment procéder lors de la programmation de blocs d’organi-sation, de programme et séquentiels :

Etape Action

1 Indiquez d’abord le type de bloc et ensuite le numéro dubloc que vous désirez programmer.

Les numéros suivants sont disponibles : - blocs de programme 0 à 255,- blocs séquentiels 0 à 255,- blocs d’organisation 1 à 39.

2 Saisissez le programme utilisateur en langage STEP 5.

Lors de la programmation de PB, de SB et d’OB, vous ne pouvez utiliser que les opérations de base STEP 5.

Un bloc STEP 5 doit toujours contenir un programme complet. Une suite de combinaisons logiques doit être terminée au sein d’un bloc.

3 Terminez la saisie du programme avec l’instruction BE(fin de bloc).

Appel Un bloc (sauf les OB 1 à 39) doit être appelé avant de pouvoir êtretraité. Cela est réalisé par des instructions STEP 5 spéciales d’appel deblocs.Ces appels de blocs peuvent être programmés au sein d’un bloc d’or-ganisation, de programme, fonctionnel ou séquentiel. Ils sont compa-rables à des branchements ou sauts vers un sous-programme. Chaquesaut donne lieu à un changement de bloc. L’adresse de retour au blocappelant est conservée en mémoire.

Blocs d’organisation, de programme et séquentiels

Programmation de la CPU 9482 - 16 C79000-G8577-C848-04

Page 47: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Les sauts peuvent être exécutés de manière conditionnelle ou incondi-tionnelle.

Appel inconditionnel L’instruction de saut SPA fait partie des opérations inconditionnelleset n’exerce pas d’influence directe sur le RLG. Lors du saut, ce RLGest repris dans le nouveau bloc où il peut être exploité sans toutefoispouvoir être combiné avec d’autres instructions.

Le bloc appelé est traité indépendamment du résultat logique (RLG)précédent (cf. paragraphe 3.4).

Exemple : SPA PB 100

Appel conditionnel L’instruction de saut SPB fait partie des opérations conditionnelles : lebloc appelé n’est traité que si le résultat logique (RLG) précédent estégal à 1. Lorsque le RLG est égal à 0, l’instruction de saut n’est pasexécutée.

Exemple : SPB PB 100

NotaAprès l’exécution de l’opération de saut conditionnelle, le RLGest toujours mis à "1" , que le saut au bloc appelé ait été effectuéou non.

PB 1 PB 5 PB 10

PB 6

BE

BE

BE

BE

U U

O

E 1.0 E 2.0

E 3.0

SPA PB 5O E 5.3

U E 1.5SPB PB 6U E 3.2

SPB PB 10O M 1.5

Figure 2-3 Appels de blocs de programme à exécuter

Blocs d’organisation, de programme et séquentiels

Programmation de la CPU 948C79000-G8577-C848-04 2 - 17

Page 48: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Instruction BE Après l’instruction BE (fin de bloc), la CPU poursuit le programmeutilisateur dans le bloc dans lequel l’appel de bloc a été programmé.L’exécution du programme est poursuivie par l’instruction STEP 5qui suit l’appel de bloc.

L’instruction de fin de bloc BE est exécutée indépendamment du résul-tat logique RLG. Après l’instruction BE, le résultat logique ne peutplus être combiné. Le résultat logique ou de calcul existant immédiate-ment avant l’exécution de l’instruction BE est cependant transmis aubloc appelant où il peut être exploité. Lors du retour à partir du blocappelé, les contenus des accumulateurs ACCU 1, ACCU 2, ACCU 3et ACCU 4, les indicateurs FL 0 et FL 1 ainsi que le résultat logiqueRLG ne sont pas modifiés. Pour de plus amples renseignements con-cernant les accumulateurs, les indicateurs FL 0 et FL 1 et le RLG, re-portez-vous au paragraphe 3.5.

2.2.1Blocs d’organisationd’interface utilisateur

Les blocs d’organisation sont les interfaces entre le programme sy-stème et le programme utilisateur. Les blocs d’organisation OB 1 à 39font partie du programme utilisateur et se programment de la mêmemanière que les blocs de programme. La programmation de ces OBvous permet d’influencer le comportement de la CPU lors du démarra-ge, au cours de l’exécution du programme et en cas d’erreur. Lesblocs d’organisation sont actifs dès qu’ils sont chargés dans la mémoi-re de l’automate programmable, ce qui est également possible encours de fonctionnement.

Le programme utilisateur est traité après appel par le programme sy-stème du bloc d’organisation concerné.

NotaLes blocs d’organisation d’interface OB 1 à OB 39 sontprogrammés par l’utilisateur et sont appelés automatiquement parle programme système en réaction à certains événements.

A des fins de test, ces blocs d’organisation peuvent égalementêtre appelés par le programme utilisateur (SPA/SPB OB xxx). Iln’est cependant pas possible de déclencher un démarrage, parexemple, en appelant l’OB 20.

Les tableaux suivants donnent une vue d’ensemble des interfacesutilisateur (OB).

Blocs d’organisation, de programme et séquentiels

Programmation de la CPU 9482 - 18 C79000-G8577-C848-04

Page 49: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Blocs d’organisation gérant l’exécution du programme

Bloc Fonction et critère d’appel

OB 1 Organisation du traitement de programme cyclique : premier appel à la fin d’undémarrage, puis appel cyclique.

OB 2OB 3OB 4OB 5OB 6OB 7OB 8OB 9

Si "Alarmes de processus octet d’entrée 0 = oui" dans le DX 0(possibilité d’interruption en fin de bloc sélectionnable dans le DX 0)

Appel par modification de l’état des signaux dans l’octet d’entrée EB 0 par le bit :E 0.0E 0.1E 0.2E 0.3E 0.4E 0.5E 0.6E 0.7

OB 2OB 3OB 4OB 5

OB 6OB 9

Si "Alarmes de processus octet d’entrée 0 = non" dans le DX 0(possibilité d’interruption en fin d’instruction ou de bloc sélectionnable dans leDX 0)

Appel par les lignes d’interruption du bus S5 :Interruption système INT X (INT A, B, C ou D selon l’emplacement d’enfichage)Interruption système INT EInterruption système INT FInterruption système INT G

Alarme de retardementAlarme d’horloge

OB 10OB 11OB 12OB 13OB 14OB 15OB 16OB 17OB 18

Organisation du traitement de programme déclenché par horloge (alarme d’horloge) avec possibilité de définition de la fréquence d’horloge de base (définition par défaut T = 100 ms) et de l’échantillonneur (définition par défaut correspond à 150U) dans le bloc de données DX 0Appel par :

Définition par défaut Périodicité 150U Périodicité 2n

0,1 s0,2 s0,5 s1,0 s2,0 s5,0 s

10,0 s20,0 s50,0 s

T * 1T * 2T * 5T * 10T * 20T * 50T * 100T * 200T * 500

T * 1T * 2T * 4T * 8T * 16T * 32T * 64T * 128T * 256

Tableau 2-1 Vue d’ensemble des blocs d’organisation de la CPU 948 pour le traitement du programme

Blocs d’organisation, de programme et séquentiels

Programmation de la CPU 948C79000-G8577-C848-04 2 - 19

Page 50: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Blocs d’organisation gérant le comportement à la mise en route

Bloc Fonction et critère d’appel

OB 20 Appel au démarrage (manuel et automatique)

OB 21 Appel au redémarrage manuel/démarrage avec rémanence

OB 22 Appel au redémarrage automatique/démarrage avec rémanence

Blocs d’organisation gérant le comportement à la mise en route

Bloc Fonction et critère d’appel

OB 38 Organisation du comportement au démarrage pour la communication en arrêtpartiel

OB 39 Organisation du programme cyclique pour la communication en arrêt partiel

Blocs d’organisation pour la réaction aux erreurs matérielles ou de programmation 1

Bloc Fonction et critère d’appel

OB 19 Erreur de temps d’exécution (DPT) : appel d’un bloc non chargé (PB, SB, FB,FX) ou ouverture d’un bloc de données non chargé (DB, DX)

OB 23 Retard d’acquittement (ACQ) dans le programme utilisateur (lors d’un accès direct aux cartes périphériques)

OB 24 Retard d’acquittement (ACQ) lors de l’actualisation de la mémoire image et dutransfert de mémentos de couplage

OB 25 Erreur d’adressage (DAD)

OB 26 Dépassement du temps de cycle (CYC)

Tableau 2-2 Vue d’ensemble des blocs d’organisation de la CPU 948 pour la mise en route

Tableau 2-3 Vue d’ensemble des blocs d’organisation de la CPU 948 pour la mise en route en arrêt partiel

Tableau 2-4 Vue d’ensemble des blocs d’organisation de la CPU 948 pour le traitement des erreurs

Blocs d’organisation, de programme et séquentiels

Programmation de la CPU 9482 - 20 C79000-G8577-C848-04

Page 51: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Blocs d’organisation pour la réaction aux erreurs matérielles ou de programmation 1

Bloc Fonction et critère d’appel

Suite du tableau 2-4

OB 27 Erreur de substitution (SUB)

OB 28 Retard d’acquittement de l’octet d’entrée EB 0(alarmes de processus)

OB 29 Retard d’acquittement de la périphérie décentralisée, volume d’adresses étendu

OB 30 Retard d’acquittement et erreur de parité (PARI) lors de l’accès à la mémoire utilisateur

(OB 31) Définition du temps de cycle 2

OB 32 Erreur de chargement et de transfert lors de l’accès à des blocs de données (DTC)

OB 33 Erreur de traitement d’alarme d’horloge (COLAH/AHMAS)

OB 34 Erreur lors de la création d’un bloc de données (E DB/EX DX)

OB 36 Erreur lors de l’exécution d’une fonction d’autotest

1 Lorsque, en cas d’erreur, le bloc d’organisation n’est pas programmé, la CPU se met à l’arrêt (STOP). EXCEPTION : lorsque les OB 19 (bloc de code non chargé), OB 23, OB 24, OB 29 (retard d’acquittement) ou OB 33(erreur de traitement d’alarmes d’horloge) n’existent pas, aucune réaction n’a lieu.

2 Dans la CPU 948, l’OB 31 n’existe que pour des raisons de compatibilité. Pour définir le temps de cycle, utilisez le bloc de données DX 0 (cf. chapitre 7).S’il est chargé, l’OB 31 est appelé une fois à la mise en route. Vous pouvez aussi y définir le temps de cycle en y programmant les opérations STEP 5 suivantes :

:L KF +nnn:BE

nnn est un nombre décimal. Le temps de cycle résulte de l’opération "nnn * 10 ms".

Blocs d’organisation du système d’exploitation de la CPU 948

Bloc Fonction

OB 0 Bloc interne au système d’exploitation

Blocs d’organisation, de programme et séquentiels

Programmation de la CPU 948C79000-G8577-C848-04 2 - 21

Page 52: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2.2.2Blocs d’organisation de fon-ctions spéciales

Les OB suivants contiennent des fonctions spéciales du programme sy-stème. Vous ne pouvez pas les programmer, mais uniquement les ap-peler, et ce au sein de tous les blocs de code (cela s’applique à tous lesOB ayant des numéros entre 121 et 255). Ces OB ne contiennent pasde programme STEP 5.

Blocs d’organisation intégrés avec fonctions spéciales

Bloc Fonction

OB 121 Génération et lecture de l’horodateur (compatible avec la CPU 946/947)

OB 122 Activation/désactivation de l’inhibition des alarmes

OB 124 Effacement de blocs STEP 5

OB 125 Création de blocs STEP 5

OB 126 Définition et transfert de mémoires image

OB 129 Etat de la pile de sauvegarde

OB 131 Effacement des accumulateurs 1 à 4

OB 132 Décalage vers le haut dans l’accumulateur

OB 133 Décalage vers le bas dans l’accumulateur

OB 141 Activation/désactivation de l’inhibition sélective d’alarmes d’horloge

OB 142 Activation/désactivation du retardement général des alarmes

OB 143 Activation/désactivation du retardement sélectif d’alarmes d’horloge

OB 150 Génération et lecture de l’horodateur interne (compatible avec la CPU 928B)

OB 151 Génération et lecture de l’heure de déclenchement d’une alarme d’horloge àheure fixe

OB 153 Génération et lecture de l’heure de déclenchement d’une alarme de retardement

OB 180 Accès variable à un bloc de données

OB 181 Test de blocs de données DB/DX

OB 182 Duplication d’une zone de données

OB 200, 202 à 205 Fonctions pour la communication multiprocesseur

OB 222 Redémarrage de la surveillance du temps de cycle

OB 223 Comparaison du mode de démarrage des CPU en fonctionnement multiprocesseur

OB 254, 255 Déplacement ou duplication de blocs de données DB et DX de la carte àmémoire dans la mémoire utilisateur

La description exhaustive de ces fonctions spéciales figure au chapitre 6.

Tableau 2-5 Vue d’ensemble des blocs d’organisation de fonctions spéciales de la CPU 948

Blocs d’organisation, de programme et séquentiels

Programmation de la CPU 9482 - 22 C79000-G8577-C848-04

Page 53: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2.3 Blocs fonctionnels

Les blocs fonctionnels (FB/FX) sont des parties du programme utilisa-teur tout comme les blocs de programme. Les blocs fonctionnels FXont la même structure que les blocs fonctionnels FB et sont program-més de la même manière. Les blocs fonctionnels servent à réaliser des fonctions très complexesou répétitives. Chaque bloc fonctionnel représente une fonction complèteau sein du programme utilisateur. Vous pouvez :

•• commander des blocs fonctionnels auprès de SIEMENS en tantque produit logiciel (blocs fonctionnels standard – cf. biblio-graphie /11/) ; ces blocs fonctionnels standard permettent d’éla-borer rapidement des programmes utilisateur destinés à la comman-de, à la signalisation, à la régulation et à la consignation ;

ou

•• les programmer vous-même.

Par rapport aux blocs d’organisation, de programme et séquentiels, lesblocs fonctionnels présentent quatre différences essentielles :

OB, PB, SB FB/FX

1. Opérations

seulement opérations de base - opérations de base - opérations complémentaires- opérations système

2. Mode de représentation

Programmation et appel dansles modes de représentationCONT, LOG et LIST

Programmation seulement en mode de représentation LIST(liste d’instructions)

3. Noms

Attribution d’un nom impossible(uniquement numéro)

En plus du numéro peuventêtre pourvus d’un nom de 8caractères au maximum.

4. Opérandes

aucun Opérandes formels(paramètres du bloc)Lors de l’appel du bloc, lesopérandes formels sontremplacés par des opérandeseffectifs.

Blocs fonctionnels

Programmation de la CPU 948C79000-G8577-C848-04 2 - 23

Page 54: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2.3.1Structure des blocsfonctionnels

L’ en-tête (5 mots) d’un bloc fonctionnel présente la même structureque celui des autres blocs STEP 5.

La structure d’un corps de bloc est différente de celle des autres typesde blocs. En effet, le corps de bloc ne contient pas uniquement le pro-gramme utilisateur sous forme de liste d’instructions STEP 5, maiscommence par le nom du bloc et par la liste des opérandes formels.Cette liste ne contenant aucune instruction exécutable par la CPU, elleest franchie par un saut inconditionnel généré automatiquement par laconsole. Cette instruction de saut n’est pas visualisée à l’écran de laconsole lors de la lecture du bloc.

Lors de l’appel d’un bloc fonctionnel, seul le corps de bloc est traité.

Opérandes absolus ousymboliques

Les opérandes peuvent être indiqués de façon absolue (par exemple,M 2.5) ou symbolique (par exemple, -MOTEUR1). L’affectation desopérandes symboliques aux opérandes absolus doit être définie dansune liste d’assignation qui doit être créée au préalable (cf. biblio-graphie /3/).

Un bloc fonctionnel se trouvant dans la mémoire de l’automate seprésente de la manière suivante :

SPA

Nom du FB/FX

Opérande formel 1

Opérande formel 2

Opérande formel n

5 mots

1 mot

4 mots

3 mots

En-tête

Corpsde bloc

BE

3 mots

Saut par dessusla l is te desopérandes formels

1 è r e instruct ion STEP 5

3 mots

Liste desopérandesformels

Programmeut i l isateurSTEP 5

Figure 2-4 Structure d’un bloc fonctionnel (FB/FX)

Blocs fonctionnels

Programmation de la CPU 9482 - 24 C79000-G8577-C848-04

Page 55: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

La mémoire contient ainsi toutes les indications requises par la conso-le de programmation pour la représentation graphique du bloc fon-ctionnel lors de son appel et pour le contrôle des opérandes lors duparamétrage et de la programmation du bloc fonctionnel. Toute saisieerronée est refusée par la console de programmation.

Pour les blocs fonctionnels, il faut distinguer entre :

•• la programmation du FB/FX

et

•• l’ appel et le paramétrage du FB/FX.

Distinction entre"programmation" et "appel et paramétrage"

Vous déterminez la fonction du bloc lors de la programmation, aucours de laquelle vous sélectionnez les opérandes d’entrée requis parla fonction ainsi que les résultats transmis par la fonction au program-me appelant. Vous définissez alors tous les opérandes d’entrée et résul-tats en tant qu’opérandes formels exerçant une fonction de réservation.

Lors de l’appel d’un bloc par un bloc de rang supérieur (OB, PB, SB, FB,FX), les opérandes formels (paramètres du bloc) sont remplacés par desopérandes effectifs ; cela correspond au paramétrage du bloc fonction-nel.

Programmation

Pour alors

programmer "directement" unbloc fonctionnel, c’est-à-dire sansutiliser d’opérande formel,

procédez comme pour des blocs de programme ou séquentiels

utiliser des opérandes formels dans un bloc fonctionnel,

procédez comme décrit dans lespages suivantes tout en respectantl’ordre requis :1) Programmez le FB/FX avec

les opérandes formels et laissez-le dans la PG (hors ligne) ou dans la mémoire de la CPU (en ligne).

2) Programmez les blocs appelants avec les opérandes effectifs.

Blocs fonctionnels

Programmation de la CPU 948C79000-G8577-C848-04 2 - 25

Page 56: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2.3.2Programmation de blocsfonctionnels

Un bloc fonctionnel ne peut être programmé qu’en mode liste d’ins-tructions (LIST). Procédez comme suit pour saisir un bloc fonction-nel sur la PG.

Etape Action

1 Indiquez le type (FB/FX) et le numéro du blocfonctionnel.

Numérotez vos blocs fonctionnels de façon décrois-sante à partir du FB 255 afin qu’ils ne se recoupent pas avec les blocs fonctionnels standard FB 1 à FB 199.

2 Indiquez le nom du bloc fonctionnel.

Le nom peut contenir 8 caractères au maximum, le premier devant être une lettre.

3 Si le bloc fonctionnel doit comporter des opérandes formels :saisissez comme paramètres du bloc les opérandes formels utilisés dans le bloc.

Précisez pour chaque paramètre du bloc :

- son nom (maximum 4 caractères),- son type et, éventuellement, son format.

Il est possible de définir au maximum 40 opérandes formels.

4 Saisissez ensuite le programme STEP 5 en mode liste d’instructions . Les opérandes formels sont caractérisés par le signe d’égalité qui les précède (par exemple, U=X1). Ils peuvent intervenir plusieurs fois à différents endroits du bloc fonctionnel.

5 Terminez la saisie du programme par l’instruction BE (finde bloc).

Blocs fonctionnels

Programmation de la CPU 9482 - 26 C79000-G8577-C848-04

Page 57: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

NotaEn cas de modification de l’ordre ou du nombre des opérandesformels dans la liste des paramètres du bloc, il est nécessaire demodifier également les instructions STEP 5 du bloc fonctionnelqui appellent un opérande formel ainsi que la liste deparamétrage dans le bloc appelant.

Il est recommandé de toujours programmer et modifier les blocsfonctionnels sur la disquette ou sur le disque dur et de lestransférer ensuite dans la CPU.

Opérandes formels Vous pouvez utiliser les opérandes formels (également appelés pa-ramètres de bloc) de type et de format suivants dans un bloc fonction-nel.

Type du paramètre Format du paramètre

E = entréeA = sortie

BI/BY/W/D

D = donnée KM/KH/KY/KC/KF/KT/KZ/KG

B = instructionT = temporisationZ = compteur

aucun(indication du format impossible)

E, D, B, T ou Z sont des paramètres qui, lors de la représentation gra-phique de l’appel d’un bloc fonctionnel, apparaissent du côté gauchedu symbole de fonction, tandis que le paramètre A apparaît du côtédroit du symbole.

Pour les paramètres E et A, le format indique s’il s’agit de bits,d’octets, de mots ou de doubles mots et précise, pour les pa-ramètres D, le format de données (par exemple, configuration binaireou hexadécimale).

Tableau 2-6 Opérandes formels utilisables dans des blocs fonctionnels

Blocs fonctionnels

Programmation de la CPU 948C79000-G8577-C848-04 2 - 27

Page 58: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2.3.3Appel et paramétrage deblocs fonctionnels

Vous pouvez appeler chaque bloc fonctionnel autant de fois que vousle désirez et à des endroits quelconques au sein du programme utilisa-teur STEP 5. Les appels de FB peuvent se faire aussi bien en CONT etLOG qu’en LIST.

Pour appeler et paramétrer un bloc fonctionnel, procédez comme suit.

Etape Action Réaction à la PG

1 Assurez-vous que le bloc fonctionnel appelé setrouve soit dans la mémoire de la PG (hors ligne),soit dans celle de la CPU (en ligne).

aucune

2 Saisissez dans le bloc appelant l’instruction d’appeldu bloc fonctionnel.

L’appel d’un bloc fonctionnel peut être pro-grammé au sein d’un bloc d’organisation, de programme ou séquentiel ou au sein d’un autre bloc fonctionnel.

Une fois l’instruction d’appel saisie(par exemple, SPA FB 200), le nom etla liste des opérandes formels du blocfonctionnel en question s’affichentautomatiquement.

3 Affectez à chaque opérande formel l’opérande effectif valable pour cet appel (vous effectuez ainsi le paramétrage du bloc fonctionnel).

Les opérandes effectifs peuvent être différents pour chaque appel : par exemple, entrées et sorties lors du premier appel du FB 200 et mémentos lors du deuxième appel.La définition des opérandes effectifs doit s’effectuer conformément à la liste des opérandes formels,à chaque appel du bloc fonctionnel.

aucune

Appel inconditionnel ouconditionnel

Appel inconditionnel Appel conditionnel

SPA FBn pour blocs fonctionnels FB ou BA FXn pour blocs fonctionnels étendus FX

Le bloc fonctionnel appelé est traité indépendamment du résultat logique (RLG) précédent.

SPB FBn pour blocs fonctionnels FB ou BAB FXn pour blocs fonctionnels étendus FX

Le bloc fonctionnel appelé n’est traité que lorsque le résultat logique précédent égale 1. Lorsque leRLG égale 0, l’appel de bloc n’est pas exécuté. Le RLG est ensuite toujours mis à "1", que l’appel de bloc ait été effectué ou non.

Après l’appel inconditionnel ou conditionnel, le résultat logique ne peut plus être combiné. Lors du saut,il est cependant repris dans le bloc fonctionnel appelé où il peut être exploité.

Blocs fonctionnels

Programmation de la CPU 9482 - 28 C79000-G8577-C848-04

Page 59: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérandes effectifs admis Le tableau suivant indique quels opérandes effectifs vous pouvez af-fecter à un bloc fonctionnel.

Type deparamètre

Format de paramètre Opérandes effectifs admis

E, A BI si l’opérande est un bit

BY si l’opérande est un octet

W si l’opérande est un mot

D si l’opérande est un double mot

E n.m entréeA n.m sortieM n.m mémento

EB n octet d’entréeAB n octet de sortieMB n octet de mémentos DL n octet de gaucheDR n octet de droitePY n octet de périphérieQY n octet de la périphérie étendue

EW n mot d’entréeAW n mot de sortieMW n mot de mémentosDW n mot de donnéesPW n mot de périphérieQW n mot de la périphérie étendue

ED n double mot d’entréeAD n double mot de sortieMD n double mot de mémentosDD n double mot de données

D KM pour une configurationbinaire (16 bits)

KY pour deux nombres (2 octets) compris chacun entre 0 et 255

KH pour un nombre hexa-décimal jusqu’à 4 chiffres

KC pour 2 caractèresalphanumériques

KT pour une valeur de tempo-risation (décimal codé binaire) avec base de temps de .0 à .3 et facteur de temps de 0 à 999

KZ pour une valeur de compteur de 0 à 999

constante

Tableau 2-7 Opérandes effectifs admis dans les blocs fonctionnels

Blocs fonctionnels

Programmation de la CPU 948C79000-G8577-C848-04 2 - 29

Page 60: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Type deparamètre

Format de paramètre Opérandes effectifs admis

Suite du tableau 2-7

D(suite)

KF pour un nombre à virgule fixe de -32768 à +32767

KG pour un nombre à virguleflottante 1

constante

B pas d’indication de format DB n bloc de données ; l’instructionA DB n est exécutée.

FB n Les blocs fonctionnels (nécessairement sans paramètres) sont appelés de manière inconditionnelle (SPA ..n).

OB n Les blocs d’organisation sont appelés de manière inconditionnelle (SPA ..n).

PB n Les blocs de programme sont appelés de manière inconditionnelle (SPA ..n).

SB n Les blocs séquentiels sont appelés demanière inconditionnelle (SPA ..n).

T pas d’indication de format T 0 à 255 temporisation

Z pas d’indication de format Z 0 à 255 compteur

1 ±0,1469368 x 10-38 à ±0,1701412 x 1039

NotaLes mémentos S ne peuvent pas être utilisés comme opérandeseffectifs pour les blocs fonctionnels.

Après le saut dans le bloc fonctionnel, le traitement du programme dece bloc porte sur les opérandes effectifs précisés dans le bloc appelant.Du fait que les blocs fonctionnels peuvent être paramétrés, leur utilisationdans le programme utilisateur est variée.

Au sortir du bloc fonctionnel appelé, la liste des paramètres effectifsdans le bloc appelant est sautée via une opération de saut déposée im-plicitement par STEP 5 dans le code MC5.

Blocs fonctionnels

Programmation de la CPU 9482 - 30 C79000-G8577-C848-04

Page 61: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemples

Exemple 1 : L’exemple suivant illustre aussi bien la programmation que l’appel et le paramétrage d’un bloc fonctionnel. Il s’agit d’un exemple simple à comprendre.

Programmation du bloc fonctionnel FB 202

FB 202

SEGMENT 1NOM : EXEMPLEDES : ANNE E/A/D/B/T/Z: E BI/BY/W/D: BIDES : MARC E/A/D/B/T/Z: E BI/BY/W/D: BIDES : JEAN E/A/D/B/T/Z: A BI/BY/W/D: BI

:U = ANNE:U = MARC:= = JEAN

:: BE

Appel et paramétrage du bloc fonctionnel FB 202 dans le bloc de programmePB 25

Mode de représentation LIST Mode de représentation CONT/LOG

PB 25SEGMENT 1

: SPA FB 202 FB 202NOM : EXEMPLE EXEMPLEANNE : E 13.5 E 13.5 ANNE JEAN A 23.0MARC : M 17.7 M 17.7 MARC :BEJEAN : A 23.0

: BE

Le programme suivant est exécuté à la suite du saut dans le FB 202 :

: U E 13.5: U M 17.7: = A 23.0:BE

Liste des para-mètres

Instruc-

tions

STEP 5

Opérandesformels

Type de paramètre

Format deparamètre

Opérandesformels

Opérandeseffectifs

Blocs fonctionnels

Programmation de la CPU 948C79000-G8577-C848-04 2 - 31

Page 62: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple 2 : Appel et paramétrage d’un bloc fonctionnel en mode de représentation LIST et CONT/LOG dans un bloc de programme

Mode de représentation LIST

PB 25SEGMENT 1

:: A DB 5:: SPA FB 201

NOM : E-ANTRZU-E : DW 1RME : E 3.5ESB : M 2.5UEZ : T 2ZEIT : KT 010.1ZU-A : DW 2

BEA : A 2.3LSL : A 6.0

: BE

Modes de représentation CONT/LOG

PB 25SEGMENT 1

FB 201

E-ANTRDW 1 ZU-E ZU-A DW 2E 3.5 RME BEA A 2.3M 2.5 ESB LSL A 6.0T 2 UEZ :BEKT 010.1 ZEIT

Opérandesformels

Opérandeseffectifs

Blocs fonctionnels

Programmation de la CPU 9482 - 32 C79000-G8577-C848-04

Page 63: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2.3.4Blocs fonctionnels spéciaux

Outre les blocs fonctionnels programmés par l’utilisateur, il existe desblocs fonctionnels standard pouvant être commandés en tant que pro-duit logiciel fini. Ils contiennent des fonctions standard d’emploigénéral (par exemple, fonctions de signalisation, commandes séquenti-elles, etc.).Les blocs fonctionnels standard occupent les numéros FB 1 à FB 199.

Lorsque vous achetez des blocs fonctionnels standard, veuillez tenircompte des remarques particulières contenues dans la description join-te (zones occupées, conventions, etc.).

Les blocs fonctionnels standard destinés à l’AP S5-155U sont décritsdans le catalogue ST 57 (bibliographie /11/).

Exemple

Extracteur de la racine carrée d’un nombre à virgule flottante RAD:GP FB 6

Le bloc fonctionnel RAD:GP sert à l’extraction de la racine carrée d’unnombre à virgule flottante (exposant 8 bits et mantisse 24 bits). Lerésultat de cette opération est également un nombre à virgule flottante(exposant 8 bis et mantisse 24 bits), le bit de poids faible de lamantisse n’étant pas arrondi.

En cas d’impossibilité de calcul, le bloc fonctionnel met à "1" l’indicatif"radical négatif", permettant ainsi la poursuite du traitement.

Nombres limites

Radical - 0,1469368 exp. -38 à +0,1701412 exp. +39

Racine carrée +0,3833434 exp. -19 à +0,1304384 exp. +20

Fonction: Y = √AY = SQRT ; A = RADI

Appel du bloc fonctionnel FB 6

Dans l’exemple suivant, on extrait la racine carrée d’un nombre à virguleflottante pris dans le DD 5 du DB 17 (exposant de 8 bits et mantisse de 24bits). Le résultat - également un nombre à virgule flottante de 32 bits - esttransféré dans le DD 10 après que le bloc de données correspondant ait étéouvert. Le paramètre VZ (type de paramètre : A, format de paramètre : BI)indique le signe du radical : VZ = 1 pour un radical négatif.

Mots de mémentos occupés : MW 238 à 254

Suite à la page suivante

Blocs fonctionnels

Programmation de la CPU 948C79000-G8577-C848-04 2 - 33

Page 64: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite "Extracteur de la racine carrée d’un nombre à virgule flottante"

Mode de représentation LIST Mode de représentation CONT

Seg- : A DB 17ment : SEGMENT 21 :***

: SPA FB 6 FB 6Seg- NOM : RAD : GP RADment RADI : DD 5 DD 5 RADI VZ M 15.02* VZ : M 15.0 SQRT DD 10 SQRT : DD 10 :BE

DD= double mot de données

* Il faut prévoir des segments distincts, car l’instruction "A DB 17" du segment 1 n’est pas convertible en CONT/LOG.

Blocs fonctionnels

Programmation de la CPU 9482 - 34 C79000-G8577-C848-04

Page 65: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2.4 Blocs de données

Les blocs de données (DB) ou blocs de données étendus (DX) contien-nent les données constantes ou variables utilisées par le programmeutilisateur. Aucune instruction STEP 5 n’est traitée dans les blocs dedonnées.

Les données d’un bloc de données peuvent être :

•• des configurations binaires quelconques, par exemple les étatsd’une installation,

•• des nombres (hexadécimaux, binaires, décimaux) pour des valeursde temps, des résultats de calculs,

•• des caractères alphanumériques, par exemple pour des textes demessages.

Structure d’un bloc dedonnées

Un bloc de données (DB/DX) est constitué par les parties suivantes :

•• un bloc étiquette (DV, DVX),

•• un en-tête de bloc,

•• un corps de bloc.

Bloc étiquette Le bloc étiquette est créé automatiquement sur le disque dur ou la dis-quette de la PG et n’est pas transféré à la CPU. Il contient les formatsdes mots de données indiqués dans le corps de bloc. Vous ne pouvezpas influer sur la création du bloc étiquette.

NotaLorsque vous transférez un bloc de données sur la disquette ou ledisque dur à partir de l’automate programmable, le bloc étiquettecorrespondant peut être effacé. C’est pourquoi il ne faut jamaismodifier dans l’automate un bloc de données contenant différentsformats de données et le retransférer ensuite sur la disquette,sinon tous les mots de données de ce DB sont automatiquementpourvus du format de données que vous avez choisi dans lesprésélections.

Blocs de données

Programmation de la CPU 948C79000-G8577-C848-04 2 - 35

Page 66: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

En-tête de bloc L’ en-tête de bloc occupe 5 mots dans la mémoire et contient

•• l’indicatif de début du bloc,

•• l’identification de la console de programmation,

•• le type et le numéro du bloc,

•• le numéro de bibliothèque et

•• la longueur du bloc (y compris la longueur de l’en-tête).

Corps de bloc Le corps de bloc contient, en ordre croissant à partir du DW 0, lesmots de données qu’utilise le programme utilisateur. Chaque mot dedonnées occupe 1 mot (16 bits) en mémoire.

Longueur maximale Un bloc de données peut occuper jusqu’à 32 767 mots (y comprisl’en-tête) dans la mémoire de la CPU. Veuillez donc tenir compte dela capacité mémoire de votre CPU lorsque vous procédez à la saisie etau transfert de blocs de données au moyen de la PG.

Blocs de données

Programmation de la CPU 9482 - 36 C79000-G8577-C848-04

Page 67: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2.4.1Programmation de blocs de données

Pour élaborer un bloc de données, procédez comme suit :

Etape Action

1 Indiquez un type (DB/DX) et un numéro de bloc dedonnées entre 2 (ou 3) et 255.

2 Saisissez les différents mots de données dans le format dedonnées souhaité.

La saisie des mots de données ne se termine pas par une instruction de fin de bloc BE.

NotaLes blocs de données DB 0, DB 1, DX 0, DX 1 et DX 2 sontréservés à des fonctions déterminées et ne peuvent donc pas êtreutilisés librement (cf. paragraphe 2.4.3).

Désigna-tion

Format de données Exemple

KM configuration binaire 00100110 00111111

KH nombre hexadécimal 263F

KY deux octets 038,063

KF nombre à virgule fixe 09791

KG nombre à virgule flottante +1356123+12

KC caractère ?!ABCD123-+.,%

KT valeur de temporisation 055.2

KZ valeur de comptage 234

Tableau 2-8 Formats de données admissibles dans un bloc de données

Blocs de données

Programmation de la CPU 948C79000-G8577-C848-04 2 - 37

Page 68: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2.4.2Appel de blocs de données Un bloc de données (DB/DX) ne peut être appelé que de manière in-

conditionnelle. Cela peut être réalisé au sein d’un bloc d’organisati-on, de programme, séquentiel ou fonctionnel. Un même bloc dedonnées peut être appelé plusieurs fois dans un même programme.

L’appel d’un bloc de données s’effectue par les instructions suivantes :

Pour alors

appeler un bloc de données DB, utilisez l’instruction A DB.. deSTEP 5.

appeler un bloc de données DX, utilisez l’instruction AX DX.. deSTEP 5.

Zone de validité Lorsqu’un bloc de données a été appelé, toutes les instructions suivan-tes relatives à la zone d’opérande D se rapportent au bloc ouvert.

Le bloc de données ouvert conserve sa validité même si l’exécutiondu programme est poursuivie dans un autre bloc de code en raisond’un appel de bloc.

Lorsqu’un autre bloc de données est ouvert dans ce nouveau bloc,celui-ci est uniquement valable dans le bloc appelé à partir de la posi-tion d’appel. Au retour dans le bloc appelant, c’est de nouveau l’an-cien bloc de données qui est valable.

Accès L’ accès aux données enregistrées dans le bloc de données ouvert estréalisé lors de l’exécution du programme au moyen d’opérations com-binatoires sur bits, d’opérations de mémorisation et d’opérationsde chargement et de transfert (pour de plus amples informations,reportez-vous au chapitre 3).

Une opération combinatoire sur bits permet d’utiliser le bit du motde données adressé pour la création du RLG. Le contenu du mot dedonnées n’est pas modifié.

Une opération de mémorisation permet d’affecter la valeur du RLGau bit du mot de données adressé. Le contenu du mot de données peutêtre modifié.

Une opération de chargement permet de transférer dans l’accumula-teur 1 le contenu du mot de données adressé. Le contenu du mot dedonnées n’est pas modifié.

Une opération de transfert permet de transférer les données de l’ac-cumulateur 1 dans le mot de données adressé. L’ancien contenu dumot de données est remplacé.

Blocs de données

Programmation de la CPU 9482 - 38 C79000-G8577-C848-04

Page 69: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

NotaAvant d’accéder à un mot de données, il faut appeler le bloc dedonnées concerné dans le programme utilisateur pour que la CPUpuisse retrouver le mot de données correct. Le mot de donnéesauquel vous voulez accéder doit être contenu dans le bloc ouvert,sinon le programme système décèle une erreur de transfert ou dechargement.

Les opérations de chargement et de transfert permettent unique-ment d’accéder aux mots de données jusqu’au numéro 255.

Un bloc de données ouvert reste valable jusqu’à ce

a) qu’un autre bloc de données soit appelé

ou

b) que le bloc dans lequel il a été appelé soit terminé avec BE, BEB ou BEA.

Exemples

Exemple 1 : Transfert de mots de données

Il s’agit de transférer le contenu du mot dedonnées DW 1 du bloc de données DB 10 dans le motde données DW 1 du bloc de données DB 20.

Entrez à cet effet les instructions suivantes :

:A DB 10 (appel du DB 10):L DW 1 (transfert du DW 1 dans: l’accumulateur 1):A DB 20 (appel du DB 20):T DW 1 (transfert du contenu de : l’accumulateur 1 dans le DW 1) :

Blocs de données

Programmation de la CPU 948C79000-G8577-C848-04 2 - 39

Page 70: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple 2 : Validité des blocs de données (figure 2-5)

Le bloc de données DB 10 est appelé dans le bloc de programme PB 7 (A DB 10). La suite du traitement porte sur les données de ce bloc dedonnées.

A l’appel du bloc de programme PB 20 (SPA PB 20), le bloc de données DB 10conserve sa validité. Ce n’est qu’après l’appel du bloc de données DB 11 (ADB 11) qu’il y a changement de la zone de données. Le bloc de données DB 11reste valable jusqu’à la fin du bloc de programme PB 20 (BE).

Après le retour dans le bloc de programme PB 7, c’est de nouveau le blocde données DB 10 qui est valable.

PB 7

A DB 11

BE

PB 20

A DB 10

SPA PB 20

BE

Zone de val idi té du DB 10

Zone de val idi té du DB 11

Figure 2-5 Zone de validité d’un bloc de données ouvert

Blocs de données

Programmation de la CPU 9482 - 40 C79000-G8577-C848-04

Page 71: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2.4.3Blocs de données spéciaux Dans la CPU 948, les blocs de données DB 0, DB 1, DX 0, DX 1 et

DX 2 sont réservés à des fonctions particulières. Ils sont gérés par leprogramme système et vous ne pouvez pas les utiliser librement.

DB 0 •• Bloc de données DB 0 (cf. paragraphe 8.3.2)

Le bloc de données DB 0 contient la liste des adresses de début detous les blocs qui se trouvent dans la mémoire utilisateur de laCPU. Cette liste d’adresses est générée par le programme systèmelors de l’initialisation (à chaque mise sous tension et effacementgénéral) et elle est actualisée automatiquement lors de la saisie oude la modification de blocs au moyen de la PG.

DB 1 •• Bloc de données DB 1 (cf. paragraphe 10.1.6)

Le bloc de données DB 1 contient la liste des entrées et sortiesTOR (périphérie P avec adresses d’octets relatives de 0 à 127) ain-si que des mémentos de couplage d’entrée et de sortie ayant été at-tribués à la CPU et, le cas échéant, la longueur du bloc detemporisations.

Le DB 1 peut être paramétré et chargé :en fonctionnement monoprocesseur, afin de réduire le temps de cycle, car seules les entrées et sorties et les temporisations indiquées dans le DB 1 sont actualisées.

Le DB 1 doit être paramétré et chargé :a) en fonctionnement multiprocesseur,b) en présence de mémentos de couplage avec CP.

DX 0 •• Bloc de données DX 0 (cf. chapitre 7)

Le bloc de données DX 0 contient les présélections de certainesfonctions du programme système (par exemple, lors du traitementdu démarrage). Vous pouvez modifier les valeurs par défaut dansle DX 0 et ainsi adapter le programme système à vos besoins.

DX 1 •• Bloc de données DX 1

Réservé

DX 2 •• Bloc de données DX 2

Réservé à la deuxième interface série

Blocs de données

Programmation de la CPU 948C79000-G8577-C848-04 2 - 41

Page 72: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Blocs de données

Programmation de la CPU 9482 - 42 C79000-G8577-C848-04

Page 73: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire du chapitre 3

3.1 Principe du traitement du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 4

3.2 Organisation du programme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 5

3.3 Mémorisation de programmes et de blocs de données . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 10

3.4 Traitement du programme utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 11

3.4.1 Définition des termes pour le traitement du programme . . . . . . . . . . . . . . . . . . . . . . . . 3 - 12

3.5 Liste des opérations STEP 5 avec exemples de programmation . . . . . . . . . . . . . . . . . . 3 - 15

3.5.1 Opérations de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 193.5.2 Exemples de programmation pour les modes de représentation LIST, CONT, LOG . . 3 - 343.5.3 Opérations complémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 493.5.4 Opérations d’organisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 593.5.5 Opérations sur sémaphores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 75

3Traitement du programme

Programmation de la CPU 948C79000-G8577-C848-04 3 - 1

Page 74: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire

Programmation de la CPU 9483 - 2 C79000-G8577-C848-04

Page 75: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

3Traitement du programme

Le présent chapitre s’adresse aux lecteurs n’ayant pas encore de con-naissances approfondies dans l’utilisation du langage de programmati-on. Il introduit les principes de base de la programmation dansSTEP 5, explicitant en détail – à l’appui d’exemples – les opérationsSTEP 5 de la CPU 948.

Les lecteurs expérimentés, pour qui l’information relative à une opéra-tion STEP 5 décrite dans la liste des opérations est insuffisante, peu-vent utiliser le paragraphe 3.5 comme partie de référence.

Programmation de la CPU 948C79000-G8577-C848-04 3 - 3

Page 76: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

3.1 Principe du traitement du programme

Le programme utilisateur STEP 5 peut être traité de différentes ma-nières.

Le mode le plus fréquent dans les systèmes d’automatisation program-mables est le traitement cyclique : le programme système est exécutésuivant une boucle (le cycle ; cf. paragraphe 3.4) et appelle une foispar boucle le bloc d’organisation OB 1 (cf. figure 3-1).

Appel de l´OB 1 BE

Appel du PB 20

BE

PB 20

OB 1

Actual isat ion desmémentos decouplage de sort ie

Emission de lamémoire imagedes sort ies (MIS)

Démarrage de lasurvei l lance du tempsde cycle (armementdu chien de garde)

Actual isat ion desmémentos decouplage d´entrée

Acquis i t ion de lamémoire imagedes entrées (MIE)

Démarrage

Programme système Programme uti l isateur

Figure 3-1 Principe de l’exécution cyclique du programme

Principe du traitement du programme

Programmation de la CPU 9483 - 4 C79000-G8577-C848-04

Page 77: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

3.2 Organisation du programme

L’organisation du programme sert à définir l’ordre et le niveau de trai-tement des blocs élaborés. Vous programmez, dans les blocs d’organi-sation, des appels conditionnels ou inconditionnels des blocs souhaités.

Dans le programme de chaque bloc d’organisation, de programme,fonctionnel et séquentiel, il est possible d’appeler d’autres blocs deprogramme, fonctionnels et séquentiels dans un ordre quelconque(successivement ou de façon imbriquée).

Le programme utilisateur doit être organisé de manière à faire ressor-tir les structures principales du programme ou les interdépendancesentre les différentes parties de l’installation.

Les figures 3-2 et 3-3 montrent deux exemples de structure d’un pro-gramme.

Organisation du programme

Programmation de la CPU 948C79000-G8577-C848-04 3 - 5

Page 78: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

PB "B"

OB 1 PB "A" FB

FB

Ini t ia l isat ion

Arrêt del´ insta l la t ionArrêt d´urgence

PB "D"

Sort ie dessignal isat ions

FB

Sort ie designal isat ionssur pér iphér iestandard

FB

Sort ie designal isat ionssur pér iphér iestandard

DXTextes desmessages

PB "C"

Niveau descommandesindiv iduel les

FB

Al imentat iongroupée

DB

Mémentosd´ inter face desorganes decommandeindiv iduel leFX

Al imentat ionindiv iduel le

FX

Al imentat ionindiv iduel le

Commandeséquent ie l le

Commande dugraphe séquent ie l

FB SB

Etape

SB

Etape

SPA PB "A"

SPA PB "B"

SPA PB "C"

SPA PB "D"

BE

Programme desmodes defonct ionnement

Figure 3-2 Exemple d’organisation du programme utilisateur suivant la structure du programme

Organisation du programme

Programmation de la CPU 9483 - 6 C79000-G8577-C848-04

Page 79: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

OB 1

SPA PB "X"

SPA PB "Y"

BE

Part ied´ instal lat ion "Z"

PB "X"

Part ied´ insta l la t ion "X"

FB

Commandeindiv iduel le

FB

Régulat ion

FX

Signal isat ion

Par t ied´ instal lat ion "Y"

PB "Y" FB

Commandeséquent iel le

FX

Signal isat ion

FB

Régulat ion

FB

Ari thmét iqueSPA PB "Z"

FB

Edit ion dejournauxde marche

FB "Z"

Figure 3-3 Exemple d’organisation du programme utilisateur suivant la structure de l’installation

Organisation du programme

Programmation de la CPU 948C79000-G8577-C848-04 3 - 7

Page 80: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Imbrication des blocs La figure 3-4 montre le principe d’imbrication des blocs

Adresses de blocs La localisation d’un bloc dans la mémoire utilisateur est déterminéepar l’adresse de début du bloc. Pour les blocs de code, c’est l’adressede la cellule de mémoire qui renferme la première instruction STEP 5du bloc (pour les FB/FX, l’instruction SPA précédant la liste desopérandes formels). Pour les blocs de données, il s’agit de l’adresse dupremier mot de données.

Pour permettre à la CPU de retrouver dans la mémoire le bloc re-cherché lors d’un appel, toutes les adresses de début des blocs valab-les se trouvent dans une liste d’adresses située dans le bloc de donnéesDB 0. Le bloc DB 0 est géré par le programme système, vous n’y avezpas accès.

Pour retrouver le bloc appelant après avoir effectué le traitement dansle bloc appelé, la CPU mémorise, lors de chaque appel d’un nouveaubloc, l’adresse de retour ; cette adresse de retour est l’adresse de lacellule de mémoire contenant l’instruction STEP 5 qui suit l’appel debloc réalisé précédemment. En plus de cela, la CPU mémorise aussil’adresse de début et la longueur du bloc de données valable à cetendroit.

OB 1

BE

PB 20

BE

PB 5

AA

DB 20DB 30

BE

SPA PB 5M 200.5

*

SPASPA

PB 20FB 30O M 1.5 *

NOM : KURVU E 55.0 *

* Opérat ion correspondant à l´adresse de retour

U

1ère instructionSTEP 5

1ère instructionSTEP 5

Figure 3-4 Imbrication des appels de blocs de code

Organisation du programme

Programmation de la CPU 9483 - 8 C79000-G8577-C848-04

Page 81: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Profondeur d’imbrication Il est possible d’imbriquer au maximum 40 blocs. S’il y a plus de40 niveaux d’imbrication, la CPU signale une erreur et passe à l’étatd’arrêt (STOP).

Exemple du calcul de laprofondeur d’imbrication

Procédure de calcul de la profondeur d’imbrication du programme :

- Additionnez tous les blocs d’organisation que vous avez programmés (4 pour l’exemple considéré).

- Additionnez la profondeur d’imbrication de chaque bloc d’organisation de votre programme STEP 5 (dans l’exemple : 2 + 2 + 1 + 0 = 5).

- L’addition des deux résultats précédents donne la profondeur d’imbrication du programme (dans l’exemple : 4 + 5 = profondeur d’imbrication 9). Cette valeur ne doit pas dépasser 40.

OB 25

Profondeur d´imbricat ion

Niveau detraitement duprogramme

1 2 3 4 5 6 7 8 9

OB 1 PB 1 FB 1

OB 13 PB 131 FB 131

OB 2 FB 21

Figure 3-5 Exemple du calcul de la profondeur d’imbrication

Organisation du programme

Programmation de la CPU 948C79000-G8577-C848-04 3 - 9

Page 82: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

3.3 Mémorisation de programmes et de blocs de données

La CPU 948 ne peut exécuter le programme utilisateur que dans laRAM interne. Le programme utilisateur doit donc être chargé – y com-pris les blocs de données existants – dans la mémoire utilisateur de laCPU 948.

Chargement de programmeset de blocs de données dans la RAM interne

Pour ce faire, utilisez l’une des méthodes suivantes.

•• Chargez les différents blocs de code et de données dans la RAMdepuis la PG.

•• Enfichez dans le logement de la CPU prévu à cet effet une carte àmémoire (EPROM flash) où vous avez préalablement chargé votreprogramme utilisateur complet, y compris les blocs de données. Lors de l’effacement général de la CPU (cf. chapitre 4), tout le con-tenu de la carte à mémoire est chargé "un à un" dans la RAM inter-ne.

•• Vous avez chargé votre programme dans la RAM interne à partirde la PG ou de la carte à mémoire par effacement général. Vouspouvez à présent charger des blocs supplémentaires dans la RAMinterne ou y modifier des blocs existants.

NotaVous ne pouvez programmer la carte à mémoire qu’à la PG.Utilisez, à cet effet, le logiciel STEP 5 à partir de la version 6.Lors de la programmation, vous devez sélectionner le mode"MOT/BLOC" sur la PG (cf. manuel STEP 5, bibliographie 3).

AvertissementSi vous avez modifié ou ajouté des blocs avec votre PG aprèsavoir chargé votre programme de la carte à mémoire, cesmodifications seront perdues lors du prochain effacementgénéral, le contenu de la carte à mémoire écrasant à nouveau lamémoire utilisateur.

Mémorisation de programmes et de blocs de données

Programmation de la CPU 9483 - 10 C79000-G8577-C848-04

Page 83: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

3.4 Traitement du programme utilisateur

Le logiciel (programme système et programme utilisateur STEP 5) dela CPU doit exécuter les tâches suivantes :

•• mise en route de la CPU,

•• commande d’un processus d’automatisation par la répétitionpermanente de séquences d’opérations (cycle),

•• commande d’un processus d’automatisation par réaction à desévénements de caractère sporadique ou périodique (alarmes),ainsi que par réaction à des erreurs.

Pour chaque type de tâches, vous avez la possibilité d’exécuter sur laCPU, par l’intermédiaire des blocs d’organisation OB 1 à OB 35 (cf.paragraphe 2.2.1), des parties spéciales de votre programme utilisateur.

Mise en route Avant de pouvoir passer au fonctionnement cyclique, il est nécessairede procéder à une initialisation afin d’établir un état de départ définipour le traitement cyclique et, par exemple, pour définir la base detemps pour l’exécution de certaines fonctions. Le type d’initialisationdépend de l’événement qui a conduit au démarrage ainsi que dessélections opérées sur la CPU. Vous trouverez de plus amples explica-tions au chapitre 4.

Le comportement de la CPU à la mise en route peut être influencé enprogrammant les blocs d’organisation OB 20, OB 21 et OB 22 ou enparamétrant le bloc de données DX 0 (cf. chapitre 7).

Cycle Après avoir exécuté le démarrage, le programme système passe au trai-tement cyclique. Dans ce contexte, il assume des fonctionsd’arrière-plan qui sont nécessaires pour la tâche d’automatisation (cf. figure 3-1 au début du présent chapitre).Après l’exécution des fonctions système au début d’un cycle, leprogramme système appelle le bloc d’organisation OB 1 à titre deprogramme utilisateur cyclique. C’est dans ce bloc que vous pro-grammez les opérations STEP 5 pour le traitement cyclique.

Traitement du programme utilisateur

Programmation de la CPU 948C79000-G8577-C848-04 3 - 11

Page 84: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Réaction aux alarmes et aux erreurs

Afin de pouvoir réagir de façon ciblée aux différentes alarmes et er-reurs, vous disposez sur la CPU 948 de blocs d’organisation spéciaux(OB 2 à OB 18 pour le traitement d’alarmes, OB 19 et OB 23 àOB 34 pour la réaction aux erreurs) dans lesquels vous pouvezmémoriser votre propre programme STEP 5.

A l’apparition de l’alarme ou de l’erreur, le programme systèmeinsère le bloc d’organisation correspondant dans le traitement cycli-que : le traitement cyclique est donc interrompu pour la durée du trai-tement de l’alarme ou de l’erreur. Cette imbrication des blocsd’organisation s’effectue suivant un schéma de priorité bien défini(pour de plus amples informations, reportez-vous aux chapitres 4 et 5).

En plus des blocs d’organisation susmentionnés, vous pouvez recourirau paramétrage du bloc de données DX 0 pour déterminer le compor-tement de la CPU face à une alarme.

Les blocs d’organisation OB 1 à OB 39 peuvent être appelés par leprogramme système dès qu’ils ont été chargés dans la mémoire de pro-gramme (même pendant le déroulement du programme). Si ces blocs ne sont pas chargés, cela se traduit soit par l’absence deréaction de la CPU, soit – ce qui est le cas le plus fréquent – par lamise en STOP de la CPU (cf. paragraphe 5.4).

De même que les blocs d’organisation, le DX 0 peut être chargé enmémoire de programme durant le fonctionnement cyclique. Mais il nesera activé que lors du démarrage suivant. Si le DX 0 n’est paschargé, les présélections sont valables (cf. chapitre 7).

3.4.1Définition des termes pourle traitement du programme

Temps de cycle Le cycle débute au moment où le programme système déclenche lasurveillance du temps de cycle (armement du chien de garde) et se ter-mine lors de l’armement suivant du chien de garde. Le temps que metla CPU pour traiter le programme entre ces deux instants est appelétemps de cycle. Il se compose du temps d’exécution du programme sy-stème et du temps d’exécution du programme utilisateur.

Le temps de cycle inclut par conséquent :

•• le temps de traitement du programme cyclique (programme sy-stème et programme utilisateur),

•• le temps de traitement des alarmes (par exemple, alarme d’horlogeà heure fixe),

•• le temps de traitement des interruptions (erreurs).

Traitement du programme utilisateur

Programmation de la CPU 9483 - 12 C79000-G8577-C848-04

Page 85: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Surveillance du temps decycle

La CPU surveille la durée maximale du cycle qui, par défaut, a une va-leur de 200 ms. Vous pouvez définir cette valeur vous-même ou bienredémarrer la surveillance du temps de cycle (réarmement du chien degarde) pendant le traitement du programme utilisateur (cf. DX 0 auchapitre 7 et bloc d’organisation de fonction spéciale OB 222 au para-graphe 6.20).

Mémoire image des entréeset sorties (MIE et MIS)

La mémoire image des entrées et des sorties est une zone de mémoirede la RAM interne.Avant d’exécuter le programme utilisateur cyclique, le programme sy-stème lit les états des signaux des cartes de périphérie d’entrée dans lamémoire image des entrées MIE (acquisition des entrées). Le program-me utilisateur exploite cette MIE et inscrit alors les états des signauxpour les sorties dans la MIS. Après traitement du programme utilisa-teur, le programme système transfère le contenu de la MIS aux cartesde périphérie de sortie (émission des sorties).

La sauvegarde intermédiaire des signaux de périphérie dans la mémoi-re image des entrées et des sorties permet d’éviter le "battement" de lasortie de la périphérie correspondante qui résulterait du changementde l’état logique d’un bit pendant un cycle du programme.

La mémoire image est donc une zone de mémoire dont le contenu n’estacquis et émis qu’une fois par cycle.

NotaLa mémoire image n’existe que pour les octets d’entrées et desorties de la périphérie P ayant une adresse de 0 à 127.Outre la mémoire image intégrée au système, vous pouvez définiret transmettre d’autres mémoires image à l’aide de l’OB 126 (cf.paragraphe 6.6).

Mémentos de couplage Les mémentos de couplage servent à l’échange de données entre lesdifférentes CPU en fonctionnement multiprocesseur ou entre la CPUet certains processeurs de communication.

Avant le démarrage du traitement cyclique du programme utilisateur,le programme système lit les mémentos de couplage d’entrée de laCPU. Après le traitement du programme utilisateur, il transfère lesmémentos de couplage de sortie au coordinateur ou aux processeursde communication.

Les mémentos de couplage d’entrée et de sortie sont définis par pa-ramétrage du bloc de données DB 1 (cf. paragraphe 10.1.6).

Traitement du programme utilisateur

Programmation de la CPU 948C79000-G8577-C848-04 3 - 13

Page 86: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Points d’interruption Le traitement cyclique du programme peut être suspendu par :

•• le traitement d’un programme déclenché par horloge (alarme deretardement, alarme d’horloge cyclique, alarme d’horloge à heurefixe),

•• le traitement d’un programme déclenché par alarme (alarme deprocessus, interruption du système).

Le traitement peut être interrompu ou être totalement arrêté par :

•• l’apparition d’une erreur dans l’équipement ou dans le programme,

•• une intervention externe (fonction console, commutateur RUN-STOP, STOP multiprocesseur MPSTP),

•• une instruction d’arrêt.

Traitement du programme utilisateur

Programmation de la CPU 9483 - 14 C79000-G8577-C848-04

Page 87: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

3.5 Liste des opérations STEP 5 avec exemples de programmation

Une opération STEP 5 se compose d’un code opération et d’un opéran-de. Le code opération détermine ce que la CPU doit faire et l’opéran-de indique à quel élément s’applique l’opération.

Les opérations STEP 5 peuvent être classées en différents groupes :

•• les opérations de base (utilisables dans tous les blocs de code),

•• les opérations complémentaires,

•• les opérations d’organisation (utilisables uniquement dans lesblocs fonctionnels FB/FX),

•• les opérations sur sémaphores (utilisables uniquement dans lesblocs fonctionnels FB/FX).

Utilisation des accumulateurscomme registres auxiliaires

La CPU 948 comporte quatre accumulateurs : ACCU 1 à ACCU 4.La majorité des opérations STEP 5 utilisent, comme source pourles opérandes et comme destination pour les résultats, deux regi-stres (32 bits) : l’accumulateur 1 (ACCU 1) et l’accumulateur 2(ACCU 2).

L’utilisation des accumulateurs dépend de l’instruction STEP 5 àexécuter, par exemple :

•• Lors des opérations de chargement, l’ACCU 1 est toujours utilisécomme destination. L’ancien contenu de l’ACCU 1 est transférédans l’ACCU 2 (empilage). Pour toutes les opérations de charge-ment, les accumulateurs 3 et 4 ne sont pas modifiés.

1 identique pour les ACCU 2 à ACCU 4

ACCU 1-H

Octet de poids fort

Octet de poids faible

Octet de poids fort

Octet de poids faibleACCU 1 1

Mot de poids fort

Mot de poids faible

31 24 23 16 15 8 7 0ACCU 1-HL ACCU 1-LH ACCU 1-LL

ACCU 1-L

ACCU 1-HH

Liste des opérations STEP 5 avec exemples de programmation

Programmation de la CPU 948C79000-G8577-C848-04 3 - 15

Page 88: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

•• Les opérations arithmétiques opèrent avec les contenus del’ACCU 1 et de l’ACCU 2, écrivent le résultat dans l’ACCU 1 ettransfèrent le contenu de l’ACCU 3 dans l’ACCU 2 et celui del’ACCU 4 dans l’ACCU 3 (dépilage). Dans le cas des opérationsarithmétiques sur nombres de 16 bits à virgule fixe, seul le mot depoids faible de l’ACCU 3 est transféré dans le mot de poids faiblede l’ACCU 2, et le mot de poids faible de l’ACCU 4 dans le motde poids faible de l’ACCU 3.

•• Lors de l’addition d’une constante (ADD BF/KF/DH) au contenude l’ACCU 1, les accumulateurs 2, 3 et 4 ne sont pas modifiés.

Indicateurs de résultat Parmi les opérations STEP 5, on distingue les opérations de position-nement des indicateurs et les opérations de traitement des indicateurs.Les indicateurs sont consignés dans un "octet indicateur". Les indica-teurs sont de deux types : les indicateurs d’opérations TOR (indicateursur mots − bits 4 à 7 dans l’octet indicateur) et les indicateurs d’opérati-ons sur bits (indicateur sur bits − bits 0 à 3 dans l’octet indicateur). L’in-fluence des opérations STEP 5 sur ces indicateurs et l’exploitation de cesindicateurs sont décrites dans la liste d’opérations (cf. bibliographie /1/).

La fonction PG en ligne d’état de bloc (visualisation dynamique ; cf.paragraphe 11.2.3) permet d’afficher l’octet indicateur qui se présentede la manière suivante :

Indicateurs d’opérations sur mots Indicateurs d’opérations sur bits

FL 1 FL 0 OVFL OVFLMEM OU ETAT RLG 1e ?

Bit 7 6 5 4 3 2 1 0

Indicateurs d’opérations sur bits

•• 1e ? Première interrogation

Une séquence de combinaisons binaires commence toujours parune première interrogation qui a pour effet de reconstituer leRLG. Cette première interrogation met le bit indicateur 1e ? à 1.Au cours des combinaisons logiques successives, 1e ? reste à 1 tan-dis que le RLG peut changer.

La séquence d’opérations combinatoires est terminée par uneopération de mémorisation (par exemple, S A 5.0), qui met 1e ? à0. Le RLG peut alors être exploité (par exemple, par des instructi-ons dépendant du RLG), mais il ne peut pas être repris pour lacombinaison suivante. La combinaison binaire suivant une opérati-on de mémorisation binaire est à nouveau une première interrogati-on.

Liste des opérations STEP 5 avec exemples de programmation

Programmation de la CPU 9483 - 16 C79000-G8577-C848-04

Page 89: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple de 1e ?

Autres indicateursd’opérations sur bits

•• RLG Résultat d’une combinaison logique

Résultat de combinaisons de bits. Bit de vérité lors de comparai-sons (voir liste des opérations , opérations combinatoires sur bitsou opérations de comparaison).

•• ETAT

Indique, dans le cas des instructions sur bits, l’état logique du der-nier bit testé ou commandé. L’état est actualisé lors d’opérationscombinatoires sur bits − sauf U(, O(, ), O – et d’opérations demémorisation.

•• OU

Indication interne de la CPU pour le traitement de combinaisonsET avant OU.

Indicateurs d’opérations sur mots

•• OVFL Dépassement (overflow)

Signale le dépassement du domaine autorisé pour l’opérationarithmétique qui vient d’être exécutée.

•• OVFLMEM Dépassement mémorisé

Le bit de dépassement est mémorisé. OVFLMEM signale le dépas-sement de capacité dans une suite d’opérations arithmétiques.

:U E 1.0 1e ? est mis à 1, : le RLG est reconstitué par: la combinaison ET (U):O E 6.3 Le RLG est influencé par la : combinaison OU.:UN E 2.1 Le RLG est influencé par la : combinaison ET-NON (UN).:S A 2.4 1e ? est remis à 0, : la séquence de combinaisons: est terminée.:SPB FB 150 Appel du bloc fonctionnel: en fonction du RLG::

Liste des opérations STEP 5 avec exemples de programmation

Programmation de la CPU 948C79000-G8577-C848-04 3 - 17

Page 90: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

•• FL 1 et FL 0

Indicateurs codés de résultat. Pour leur interprétation, voir le table-au ci-dessous.

NotaDes opérations de comparaison et de saut sont disponibles pourune exploitation immédiate des indicateurs (voir paragraphes3.5.1 à 3.5.4).

Indicateurssur mots

Opérationsarithmé-

tiques

Opérationscombina-toires sur

bits

Opérationsde

compa-raison

Opérationsde

décalage

PourSES,SEF

Opérationsde saut

exécutées

FL 1 FL 0

0 0 Résultat= 0

Résultat= 0

ACCU 2=

ACCU 1

Bitdécalé

= 0

Sémaphoreest

à "1"SPZ

0 1 Résultat< 0 –

ACCU 2<

ACCU 1– –

SPMSPN

1 0 Résultat> 0

Résultat≠ 0

ACCU 2>

ACCU 1

Bit décalé

= 1

Sémaphoreest

mis à "1"ou à "0"

SPPSPN

1 1 Divisionpar zéro – – – – –

NotaDans le cas d’un changement de niveau, par exemple lors du trai-tement d’une alarme d’horloge, tous les accumulateurs, de mêmeque les indicateurs sur bits et sur mots (RLG, etc.) sont sauve-gardés, puis à nouveau rechargés lors de la reprise du niveauinterrompu.

Tableau 3-1 Indicateurs de résultat des opérations STEP 5

Liste des opérations STEP 5 avec exemples de programmation

Programmation de la CPU 9483 - 18 C79000-G8577-C848-04

Page 91: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

3.5.1Opérations de base Vous pouvez exécuter les opérations de base dans tous les blocs de

code et dans tous les modes de représentation (CONT, LOG et LIST).

Opérations combinatoiressur bits

Opération Opérande Fonction

U

O

E 0.0 à 127.7A 0.0 à 127.7M 0.0 à 255.7S 0.0 à 4095.7D 0.0 à 255.15T 0 à 255Z 0 à 255

Combinaison ET avec test à 1

Combinaison OU avec test à 1

d’une entrée dans la MIEd’une sortie dans la MISd’un mémentod’un mémento Sd’un bit d’un mot de donnéesd’une temporisationd’un compteur

UN

ON

E 0.0 à 127.7A 0.0 à 127.7M 0.0 à 255.7S 0.0 à 4095.7D 0.0 à 255.15T 0 à 255Z 0 à 255

Combinaison ET avec test à 0

Combinaison OU avec test à 0

d’une entrée dans la MIEd’une sortie dans la MISd’un mémentod’un mémento Sd’un bit d’un mot de donnéesd’une temporisationd’un compteur

O – Combinaison OU de fonctions ET

U(O()

– Combinaison ET d’expressions entre parenthèsesCombinaison OU d’expressions entre parenthèsesFermer la parenthèse (à la fin d’une expression)

8 niveaux au maximum sont autorisés, c’est-à-direl’ouverture de 7 parenthèses.

Génération du RLG Les opérations combinatoires sur bits fournissent le résultat logique(RLG).Au début d’une séquence de combinaisons (première interrogation), leRLG ne dépend que de l’état du signal testé et non de la fonction com-binatoire (O – ou –, U – et –).

Tableau 3-2 Opérations combinatoires sur bits

Opérations de base

Programmation de la CPU 948C79000-G8577-C848-04 3 - 19

Page 92: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Dans la séquence de combinaisons, l’état du RLG dépend du type decombinaison, de l’état antérieur du RLG et de l’état du signal testé. Laséquence se termine par une instruction assurant l’inhibition du RLG(1e ? = 0), par exemple une opération de mémorisation. Le RLG peutêtre exploité mais ne peut être repris dans la combinaison suivante.

Exemple

Opérations demémorisation

Opération Opérande Fonction

SR

E 0.0 à 127.7A 0.0 à 127.7M 0.0 à 255.7S 0.0 à 4095.7D 0.0 à 255.15

Pour état 1 du RLG : mise à 1 (SET)Pour état 1 du RLG : mise à 0 (RESET)

d’une entrée dans la MIEd’une sortie dans la MISd’un mémentod’un mémento Sd’un bit du mot de données

=

E 0.0 à 127.7A 0.0 à 127.7M 0.0 à 255.7S 0.0 à 4095.7D 0.0 à 255.15

Assignation de la valeur du RLG à

une entrée dans la MIEune sortie dans la MISun mémentoun mémento Sun bit du mot de données

Programme ETAT RLG 1e ?

:= A 0.0U E 1.0U E 1.1U E 1.2= A 0.1

01100

01100

0 RLG inhibé1 Première interrogation110 RLG inhibé, fin de la

séquence de combinaisons

Tableau 3-3 Opérations de mémorisation

Opérations de base

Programmation de la CPU 9483 - 20 C79000-G8577-C848-04

Page 93: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de chargementet de transfert

Opération Opérande Fonction

LT

EB 0 à 127EW 0 à 126ED 0 à 124

AB 0 à 127AW 0 à 126AD 0 à 124

MB 0 à 255MW 0 à 254MD 0 à 252

SY 0 à 4095SW 0 à 4094SD 0 à 4092

DR 0 à 255DL 0 à 255DW 0 à 255DD 0 à 254

PY 0 à 127 PY 128 à 255

PW 0 à 126PW 128 à 254

QB 0 à 255QW 0 à 254

ChargerTransférer

un octet d’entrée de/vers la MIEun mot d’entrée de/vers la MIEun double mot d’entrée de/vers la MIE

un octet de sortie de/vers la MISun mot de sortie de/vers la MISun double mot de sortie de/vers la MIS

un octet de mémentosun mot de mémentosun double mot de mémentos

un octet de mémentos Sun mot de mémentos Sun double mot de mémentos S

l’octet de droite d’un mot de données depuis/dans un DB, DXl’octet de gauche d’un mot de données depuis/dans un DB, DXun mot de données depuis/dans un DB, DXun double mot de données depuis/dans un DB, DX

un octet d’entrée/sortie TOR de la périphérie Pun octet d’entrée/sortie analogique ou TOR de la périphérie P

un mot d’entrée/sortie TOR de la périphérie Pun mot d’entrée/sortie analogique ou TOR de la périphérie P

un octet de la périphérie étendue Qun mot de la périphérie étendue Q

Tableau 3-4 Opérations de chargement et de transfert, 1ère partie

Opérations de base

Programmation de la CPU 948C79000-G8577-C848-04 3 - 21

Page 94: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opération Opérande Fonction

L

KB 0 à 255KC 2 caractères

ASCII

KF -32768 à+32767

KG 1

KH 0 à FFFFDH 0 à FFFF FFFFKM structure 16 bitsKY 0 à 255 pour

chaque octet

KT 0.0 à 999.3KZ 0 à 999

T 0 à 255Z 0 à 255

Charger

une constante à 1 octetune constante à 2 caractères ASCII

une constante à virgule fixe

une constante à virgule flottanteune constante hexadécimaleune constante hexadécimale codée sur 2 motsune constante binaireune constante à 2 octets

une valeur de temporisation (constante décimale codée binaire)une valeur de comptage (constante)

une valeur de temporisation codée binaireune valeur de comptage codée binaire

LC

T 0 à 255Z 0 à 255

Charger

une valeur de temporisation décimale codée binaire (DCB)une valeur de comptage décimale codée binaire (DCB)

1 ±0,1469368 x 10-38 à ±0,1701412 x 1039

Opérations de chargement Les opérations de chargement inscrivent la valeur adressée dansl’ACCU 1 dont le contenu précédent est transféré dans l’ACCU 2(empilage).

Opérations de transfert Les opérations de transfert inscrivent le contenu de l’ACCU 1 dans lacellule de mémoire adressée.

Tableau 3-5 Opérations de chargement et de transfert, 2ème partie

Opérations de base

Programmation de la CPU 9483 - 22 C79000-G8577-C848-04

Page 95: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemples d’opérations dechargement et de transfert

Exemple 1

La figure 3-6 montre le chargement/transfert d’un octet, mot ou double mot depuis/vers une zone de mémoire organisée par octets (MIE, MIS, mémentos, périphérie).

:L EB i Chargement de l’octet i de la MIE dans l’ACCU 1-LL:L EW j Chargement des octets j et j+1 de la MIE dans l’ACCU 1-L:L MD k Chargement des octets de mémentos k à k+3 dans l’ACCU 1

ACCU 1

ACCU 1

ACCU 1

jj + 1

i

kk + 1k + 2k + 3

31 23 15 7 0

31 23 15 7 0

31 23 15 7 0k+1 k+2 k+3

0 0 j j+1

0 0 0 i

7 0

Adressescroissantes

k

1 1

1 1 1

L EB iT EB i

T EW jL EW j

T MD kL MD k

1 seulement pour opérat ions de chargement

Figure 3-6 Opérations de chargement et de transfert depuis/vers une zone de mémoire organisée par octets

Opérations de base

Programmation de la CPU 948C79000-G8577-C848-04 3 - 23

Page 96: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

NotaLes opérations de chargement n’ont aucune influence sur lesindicateurs. Les opérations de transfert effectuent une remise à zéro dubit OVFLMEM.

Lors du chargement d’un octet ou d’un mot, les octets de poids fortde l’ACCU 1 sont mis à zéro.

Exemple 2

La figure 3-7 montre le chargement/transfert d’un octet, d’un mot ou d’undouble mot depuis/vers une zone de mémoire organisée par mots .

:L DR i Chargement de l’octet de droite du mot de données i dans l’ACCU 1-LL :L DL j Chargement de l’octet de gauche du mot de données j dans l’ACCU 1-LL :L DW k Chargement du mot de données k dans l’ACCU 1-L :L DD l Chargement des mots de données l et l+1 dans l’ACCU 1

ll + 1

k

31 23 15 7 0

31 23 15 7 0

31 15 0

31 15 0

ACCU 1

ACCU 1

ACCU 1

ACCU 1

15 0

l l+1

k

j

0 0 0 i

0 0 0

1 1 1

0

1 1 1

1

Octet gauche

Mot de données j

L DR iT DR i

L DL jT DL j

L DW kT DW k

L DD lT DD l

Octet droi t

Mot de données iAdressescroissantes

1 seulement pour opérat ions de chargement

Figure 3-7 Opérations de chargement et de transfert depuis/vers une zone de mémoire organisée par mots

Opérations de base

Programmation de la CPU 9483 - 24 C79000-G8577-C848-04

Page 97: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Accès à la périphérie Il est possible d’accéder à la périphérie par les opérations de charge-ment et de transfert

•• directement :

avec L../T.. ..PY, ..PW, ..QB, ..QW

ou

•• par la mémoire image :

avec L../T.. ..EB, ..EW, ..ED, .AB, ..AW, ..AD

et par les opérations combinatoires et de mémorisation.

NotaLes opérations de transfert T PY 0 à 127 et T PW 0 à 126s’accompagnent d’une actualisation de la mémoire image dessorties. Exception : les sorties ont été verrouillées par l’opérationBAS de STEP 5 (voir paragraphe 3.5.4).

En ce qui concerne la périphérie, tenez compte des points suivants :

•• Il existe une mémoire image des entrées et des sorties pour les128 octets d’entrée et les 128 octets de sortie de la périphérie P(adresses de 0 à 127).

•• Pour l’ensemble de la zone de périphérie étendue Q et pour la péri-phérie P avec les adresses relatives d’octets de 128 à 255, il n’exi-ste pas de mémoire image (pour le partage de l’espace d’adressagede la périphérie, reportez-vous au paragraphe 8.2.2).

•• Les cartes ayant des adresses en périphérie Q peuvent exclusive-ment être embrochées dans des châssis d’extension (et non dansl’appareil de base).

•• Un même châssis d’extension ne peut renfermer que des cartes dela périphérie P ou bien que des cartes de la périphérie Q.

AvertissementSi un châssis d’extension renferme des adresses relatives de lapériphérie Q, ces adresses ne sont plus disponibles pour des cartesde périphérie utilisées dans l’appareil de base (double adressage).

Opérations de base

Programmation de la CPU 948C79000-G8577-C848-04 3 - 25

Page 98: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations detemporisation et decomptage

Pour pouvoir charger une temporisation par une instruction de lance-ment ou un compteur par une instruction de positionnement, il fautque la valeur de temporisation ou de comptage soit chargée dansl’ACCU 1.

De préférence, utilisez les opérations de chargement suivantes :

Pour les temporisations L KT, L EW, L AW, L MW, L DW, L SW.Pour les compteurs L KZ, L EW, L AW, L MW, L DW, L SW.

Pour pouvoir démarrer une temporisation avec la valeur prédéfinie,une inversion de front du RLG est requise.

Le compteur est mis à 1 avec la valeur prédéfinie ou incrémenté pour unfront positif du RLG.

Les inversions de front sont représentées par des flèches dans la colon-ne RLG du tableau suivant.

Opération Opérande RLG 1 Fonction

SISVSESS

SAR

T 0 à 255T 0 à 255T 0 à 255T 0 à 255

T 0 à 255T 0 à 255

↑↑↑↑

↓1

Début de temporisation sous forme d’impulsionDébut de temporisation sous forme d’impulsion prolongéeDébut de temporisation sous forme de retard à la montéeDébut de temporisation sous forme de retard à la montée mémoriséDébut de temporisation sous forme de retard à la retombéeRemise à zéro d’une temporisation

SRZVZR

Z 0 à 255Z 0 à 255Z 0 à 255Z 0 à 255

↑1↑↑

Positionnement d’un compteur (valeur DCB entre 0 et 999)Remise à zéro d’un compteurIncrémentation d’un compteurDécrémentation d’un compteur

1 Front montant ( ↑ ) : Modification de l’état du signal de 0 à 1Front descendant ( ↓ ) : Modification de l’état du signal de 1 à 0

Lors de l’exécution des opérations de temporisation ou de comptageSI T, SE T, SV T, SS T, SA T et S Z, la valeur figurant dansl’ACCU 1 est inscrite dans la cellule de temporisation ou de comptage(par l’intermédiaire de l’instruction de transfert correspondante) etl’opération correspondante est exécutée.

Tableau 3-6 Opérations de temporisation et de comptage

Opérations de base

Programmation de la CPU 9483 - 26 C79000-G8577-C848-04

Page 99: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Valeur de temporisation L’opération L KT permet de charger une valeur de temporisationdans l’ACCU 1 soit directement, soit indirectement depuis un mot dedonnées ou de mémentos. La valeur de temporisation doit présenter lastructure suivante (le code de base de temps figure derrière le pointdans l’opérande de L KT) :

Exemple

NotaChaque démarrage de temporisation est effectué avec l’impréci-sion d’une unité de base de temps. Il faut donc choisir, de préfé-rence, des temporisations avec la base de temps la plus faiblepossible (base de temps < durée).

Exemple :durée 4 s ne pas prendre : 1 s x 4 Imprécision : 1 s

mais : 0,01 s x 400 Imprécision : 0,01 s

On désire une durée de 127 s pour la temporisation.

Affectation des bits :

valeur de temporisation 127

0 11 10 0 0 0 0 0 0x x 1 1 1

1 722

non utilisés

base de temps 1s

Bit

valeur de temporisationdécimale codée binaire 0 à 999

012345678910111215 14 13

210 100101

bits non significatifs(non utilisés)

base de temps décimale codée binaire0: 0,01 s1: 0,1 s2: 1 s3: 10 s

Opérations de base

Programmation de la CPU 948C79000-G8577-C848-04 3 - 27

Page 100: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Valeur de comptage L’opération L KZ permet de charger une valeur de comptage dansl’ACCU 1 soit directement, soit indirectement depuis un mot dedonnées ou de mémentos. La valeur de comptage doit présenter lastructure suivante :

Exemple

Les valeurs de temporisation ou de comptage contenues dans les cellu-les de temporisation ou de comptage sont codées en binaire naturel.Pour tester une temporisation ou un compteur, leur contenu respectifpeut être chargé dans l’ACCU 1, soit directement, soit en valeurDCB.

La valeur de comptage à présélectionner est 127.

Affectation des bits :

valeur de comptage 127

0 11 10 0 0 0 0 0x x x x 1 1

1 72

non utilisés

Bit

valeur de comptage DCB 0 à 999

012345678910111215 14 13

10 2 100101

bits non significatifs(non utilisés)

Opérations de base

Programmation de la CPU 9483 - 28 C79000-G8577-C848-04

Page 101: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Autres exemples de valeurs detemporisation et de comptage

Chargement direct du facteur d’une valeur de temporisation

"L T 10" : Chargement direct dans l’ACCU 1 de la valeur de temporisation en code binaire naturel de la temporisation T 10

La base du temps n’est pas chargée.

Chargement direct d’une valeur de comptage

"L Z 10" : Chargement direct dans l’ACCU 1 de la valeur de comptage en code binaire naturel du compteur Z 10

9 0

9 0

valeur de temporisat ion

cel lu le de temporisat ion T 10

ACCU 1"0"

valeur de comptage

cel lu le de comptage Z 10

ACCU 19 0"0"

9 0

Opérations de base

Programmation de la CPU 948C79000-G8577-C848-04 3 - 29

Page 102: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Lors du chargement en code DCB, les états des bits 14 et 15 pour lestemporisations ou des bits 12 à 15 pour les compteurs ne sont pas char-gés. Les bits correspondants de l’ACCU 1 sont à zéro. Ainsi la valeursituée dans l’accumulateur peut être traitée par ailleurs.

Chargement en code DCB d’une valeur de temporisation

"LC T 10" : Chargement dans l’ACCU 1 de la valeur de temporisation codée DCB et de la base de temps de la temporisation T 10

La base de temps est également chargée.

Chargement en code DCB d’une valeur de comptage

"LC Z 10" : Chargement dans l’ACCU 1 de la valeur de comptage codée DCB du compteur Z 10

valeur de temporisat ion

cel lu le de temporisat ion T 10

ACCU 1

10 2 100101

9 01213

1213 0347811"0"

base de temps valeur de temporisat ion

base de temps

binaire DCB

valeur de comptage

cel lu le de comptage Z 10

ACCU 1

10 2 100101

valeur de comptage codée DCB

binaire DCB

9 0

0347811"0"

Opérations de base

Programmation de la CPU 9483 - 30 C79000-G8577-C848-04

Page 103: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations arithmétiques

Opération Opérande Fonction

+ F- Fx F: F

+ G- Gx G: G

– Addition de deux nombres à virgule fixe (16 bits)Soustraction de deux nombres à virgule fixe (16 bits)Multiplication de deux nombres à virgule fixe (16 bits)Division de deux nombres à virgule fixe (16 bits) :

quotient dans l’ACCU 1-L, reste dans l’ACCU 1-H

Addition de deux nombres à virgule flottante (32 bits)Soustraction de deux nombres à virgule flottante (32 bits)Multiplication de deux nombres à virgule flottante (32 bits)Division de deux nombres à virgule flottante (32 bits)

Les opérations arithmétiques réalisent la combinaison entre les conte-nus des accumulateurs 1 et 2 (par exemple, "ACCU 2 - ACCU 1"). Lerésultat est ensuite stocké dans l’ACCU 1. Une opération arithmétiquemodifie les registres de calcul comme suit (exclusivement le mot depoids faible dans le cas d’opérations sur nombres à virgule fixe).

NotaLes opérations complémentaires renferment des instructionsd’addition et de soustraction de nombres à virgule fixe codéssur deux mots.

Tableau 3-7 Opérations arithmétiques

ACCU 1 ACCU 2 ACCU 3 ACCU 4

avant : <ACCU 1> <ACCU 2> <ACCU 3> <ACCU 4>

après : <Résultat> <ACCU 3> <ACCU 4> <ACCU 4>

Opérations de base

Programmation de la CPU 948C79000-G8577-C848-04 3 - 31

Page 104: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de comparaison

Opération Opérande Fonction

! =>< F> D> = G<<=

– Comparaison d’égalitéComparaison d’inégalitéComparaison supérieur àComparaison supérieur ou égal àComparaison inférieur àComparaison inférieur ou égal à

...F de deux nombres à virgule fixe (16 bits)

...D de deux nombres à virgule fixe (32 bits)

...G de deux nombres à virgule flottante (32 bits)

Appel de blocs

Opération Opérande Fonction

SPASPB

OB 1 à 39 1

OB 121 à 255PB 0 à 255FB 0 à 255SB 0 à 255

Saut inconditionnelSaut conditionnel (uniquement lorsque RLG = 1)

vers un bloc d’organisationvers une fonction spéciale du programme systèmevers un bloc de programmevers un bloc fonctionnel FBvers un bloc séquentiel

BABAB

FX 0 à 255

Saut inconditionnelSaut conditionnel (uniquement lorsque RLG = 1)

vers un bloc fonctionnel FX

BEBEBBEA

– Fin de blocFin de bloc conditionnelle (uniquement lorsque RLG = 1)Fin de bloc absolue

AAX

DB 2 à 255DX 3 à 255

Appel d’un bloc de données DB Appel d’un bloc de données DX

EEX

DB 2 à 255 DX 3 à 255

Génération d’un bloc de données DB Génération d’un bloc de données DX

(l’ACCU 1 doit contenir le nombre de mots de données − max. 4091 − que doit avoir le nouveau bloc)

1 uniquement à des fins de test

Tableau 3-8 Opérations de comparaison

Tableau 3-9 Appel de blocs

Opérations de base

Programmation de la CPU 9483 - 32 C79000-G8577-C848-04

Page 105: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

E DB/EX DX Création de blocs de données

L’opération E DBx crée un bloc de données DB avec le numéro x (2 ≤ x ≤ 255) dans la mémoire utilisateur de la CPU. La valeur nullen’est pas attribuée au bloc de données ; le contenu des mots dedonnées est donc quelconque.Avant de programmer cette opération, il faut indiquer dansl’ACCU 1-L le nombre de mots de données que le nouveau bloc DBdoit contenir. L’en-tête de bloc correspondant est alors élaboré parl’opération "E DB" ou "EX DX". La longueur d’un tel bloc dedonnées doit être au maximum de 4091 mots (sans l’en-tête). Pourcréer des blocs de données plus longs, utilisez l’OB 125 (cf. para-graphe 6.5).

S’il existe déjà un bloc de données portant le même numéro, si la lon-gueur du bloc est incorrecte ou si l’espace dans la mémoire utilisateurn’est pas suffisant, le programme système appelle l’OB 34. Si celui-cin’est pas chargé, la CPU se met en STOP.

L’opération EX DX crée dans la mémoire utilisateur un bloc dedonnées DX et fonctionne comme E DB.

Opérations nulles, decomposition d’image, d’arrêt

Opération Opérande Fonction

NOP 0NOP 1

– Opération nulle Opération nulle

BLD 0 à 255

130131/131/133255

Opération de composition d’image pour la PG (est traitée par la CPU comme une opération nulle)

Création d’une ligne vide par retour chariotCommutation en mode LIST/LOG/CONTFin du segment

STP – A la fin du cycle ou de l’OB 1, la CPU se met en arrêt partiel.

NotaL’opération STP n’opérant qu’à la fin du cycle, il n’y a pasd’indication dans l’ITPILE. De ce fait, les outils de diagnosticpermettent difficilement de déterminer la cause du passage àl’arrêt.Afin de faciliter le diagnostic, nous vous recommandons dedéfinir un indicateur avant d’appeler l’opération STP – il peuts’agir d’un profil binaire spécial dans un DB de diagnostic – oud’utiliser l’opération STS de STEP 5 (cf. paragraphe 3.5.4).

Tableau 3-10 Opérations nulles, de composition d’image, d’arrêt

Opérations de base

Programmation de la CPU 948C79000-G8577-C848-04 3 - 33

Page 106: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

3.5.2Exemples de program-mation pour les modes dereprésentation LIST, CONT,LOG

Opérations combinatoires

E 1.7

E 1.3

E 1.1

A 3.5

Problème poséReprésentation STEP 5

CONT LOG

U E 1.1

U

U

E 1.3

E 1.7

= A3.5

E 1.1 E 1.3 E 1.7 A 3.5E 1.1 1.3 1.7

A 3.5

&

Le nombre des entrées et l’ordre de leur programmation est quelconque.

La sortie A 3.5 est à l’état "1" quand toutes les entrées sont simultanément à l’état "1".

La sortie A 3.5 est à l’état "0" quand une des entrées au moins est à l’état "0".

E 1.1

E 1.3

E 1.7 A 3.5

&

LIST

Combinaison ET

Exemples de programmation pour les modes de représentation LIST, CONT, LOG

Programmation de la CPU 9483 - 34 C79000-G8577-C848-04

Page 107: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations combinatoires(suite)

O E 1.2

O

O

E 1.7

E 1.5

= A3.2

E 1.2

E 1.7

E 1.5

A 3.2

La sortie A 3.2 est à "1" quand une entrée au moins est à l’état "1".

La sortie A 3.2 est à l’état "0" quand toutes les entrées sont simultanément à l’état "0".

E 1.5E 1.7E 1.2

A 3.2

E 1.2 1.7 1.5

A 3.2

E 1.2

E 1.7

E 1.5 A 3.2

1

1

Problème poséReprésentation STEP 5

CONT LOG

Combinaison OU

LIST

Le nombre des entrées et l’ordre de leur programmation est quelconque.

E 1.5 E 1.6

E 1.4

A 3.1

La sortie A 3.1 est à l’état "1" quand la sortie d’une combinaison ET au moins est à l’état "1".

La sortie A 3.1 est à l’état "0" quand aucune des combinaisons ET n’est à l’état "1".

E 1.5

E 1.6

A 3.1

&

E 1.6

E 1.5

A 3.1

E 1.3

E 1.4

E 1.5 E 1.6

A 3.1

&

E 1.4 E 1.3

&

U E 1.5

U

U

E 1.6

E 1.3

= A3.1

O

U E 1.4

E 1.3E 1.4

E 1.3

&

1

1

Problème poséReprésentation STEP 5

CONT LOGLIST

Combinaison ET avant OU

Exemples de programmation pour les modes de représentation LIST, CONT, LOG

Programmation de la CPU 948C79000-G8577-C848-04 3 - 35

Page 108: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations combinatoires(suite)

E 6.0

E 6.3

E 6.2

A 2.1

La sortie A 2.1 est à l’état "1" quand l’entrée E 6.0 ou l’entrée E 6.1 et l’une des entrées E 6.2 ou E 6.3sont à "1".

La sortie A 2.1 est à l’état "0" quand l’entrée E 6.0 est à "0" et que la sortie de la combinaison ET est à l’état "0".

E 6.1

&

E 6.0 E 6.1 E 6.2 E 6.3

A 2.1

E 6.0 E 6.2 E 6.3

E 6.1

A 2.1

U E 6.0

O

O E 6.2

= A2.1

U E 6.1

O E 6.3

)

E 6.0

E 6.1

E 6.2

E 6.3

A 2.1

&1

1

1

1

U (

Problème poséReprésentation STEP 5

CONT LOG

Combinaison OU avant ET Exemple 1

LIST

Combinaison OU avant ET

E 1.4 E 2.0

E 1.5

A 3.0

La sortie A 3.0 est à l’état "1" quand les sorties des deux combinaisons OU sont à l’état "1".

La sortie A 3.0 est à l’état "0" quand aucune des sorties des combinaisons OU n’est à l’état "1".

E 1.4

E 1.5

A 3.0

E 2.1E 2.0

E 2.1

E 1.4 E 1.5

A 3.0

E 2.0 E 2.1

&

E 2.0

E 1.4

A 3.0

E 2.1

E 1.5

O E 1.4

O

O

E 1.5

E 2.1

= A3.0

)

O E 2.0

)

&

1

1 1

U (

1

U (

Problème poséReprésentation STEP 5

CONT LOG

Exemple 2

LIST

Exemples de programmation pour les modes de représentation LIST, CONT, LOG

Programmation de la CPU 9483 - 36 C79000-G8577-C848-04

Page 109: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations combinatoires(suite)

Opérations de mémorisation

E 1.5 A 3.0E 1.5 E 1.6

A 3.0

&E 1.6

E 1.5

A 3.0

U E 1.5

UN E 1.6

= A3.0

E 1.6 E 1.5

E 1.6 A 3.0

&

La sortie A 3.0 est à l’état "1" si et seulement si l’entrée E 1.5 est à "1" (contact à fermeture actionné)et l’entrée E 1.6 est à "0" (contact à ouverture non actionné).

Problème poséReprésentation STEP 5

CONT LOG

Test d’un signal logique à "0"

LIST

E 1.4 E 2.7

E 2.7

A3.5

E 1.4

A 3.5

E 2.7 A3.5

E 1.4

S

R Q

U E 2.7

E 1.4

A 3.5

S

R

A 3.5

U

E 2.7

E 1.4

A3.5

R

S

Q R S

1 1

1 0

L’état "1" sur l’entrée E 2.7 provoque la mise à "1" de la mémoire (état "1" sur la sortie A 3.5).

Si l’entrée E 2.7 passe à l’état "0", l’état de la sortie reste inchangé, c’est-à-dire reste mémorisé.

Si l’entrée E 1.4 passe à l’état "0", la sortie reste inchangée.

L’état "1" sur l’entrée E 1.4 provoque la remise à zéro de la mémoire (état "0" sur la sortie A 3.5).

Problème poséReprésentation STEP 5

CONT LOG

Mémoire RS pour la mémorisation d’une sortie

LIST

Lorsque les deux entrées sont à "1" simultanément (E 2.7 et E 1.4), alors le dernier test programméest prioritaire (ici U E 1.4), et ce pendant le traitement du reste du programme.

Exemples de programmation pour les modes de représentation LIST, CONT, LOG

Programmation de la CPU 948C79000-G8577-C848-04 3 - 37

Page 110: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de mémorisation(suite)

E 1.3 E 2.6

E 2.6

M1.7

E 1.3

M 1.7

E 2.6 M 1.7

E 1.3

S

R Q

U E 2.6

E 1.3

M 1.7

S

R

M 1.7

U

E 2.6

E 1.3

M 1.7

S

R S

1 1

1 0

L’état "1" sur l’entrée E 2.6 provoque la mise à "1" de la mémoire.

Lorsque les deux entrées sont à "1" simultanément (E 2.6 et E 1.3), alors le dernier test programmé

L’état "1" sur l’entrée E 1.3 provoque la remise à zéro de la mémoire.

R Q

Problème poséReprésentation STEP 5

CONT LOGLIST

Si l’entrée E 2.6 passe à l’état "0", l’état de la sortie reste inchangé, c’est-à-dire reste mémorisé.

Si l’entrée E 1.3 passe à l’état "0", la sortie reste inchangée.

est prioritaire (ici U E 1.3), et ce pendant le traitement du reste du programme.

Mémoire RS mettant en o uvre un mémentoe

Exemples de programmation pour les modes de représentation LIST, CONT, LOG

Programmation de la CPU 9483 - 38 C79000-G8577-C848-04

Page 111: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de mémorisation(suite)

A chaque front montant sur l’entrée E 1.7, le résultat de la combinaison ET (U E 1.7 et UN M 4.0)est "1" et, comme RLG = "1", les mémentos M 4.0 ("mémento de front") et M 2.0 ("mémento d’im- pulsion") sont mis à "1".

E 1.7

M 4.0

M 2.0

E 1.7

M2.0

M4.0

E 1.7 M 4.0 M 2.0E 1.7

/ M2.0

U

UN

=

U

S

UN

R

E 1.7

M 4.0

M 2.0

M 2.0

M 4.0

E 1.7

M 4.0

E 1.7

M 2.0

E 1.7

M 4.0

Problème poséCONT LOG

Fonction impulsionnelle (contact de passage)

LIST

Représentation STEP 5

Au cycle suivant, la combinaison ET n’est pas réalisée étant donné que le mémento M 4.0 est à "1".

Le mémento M 2.0 est remis à zéro.

Le mémento M 2.0 est donc à l’état "1" pendant un seul cycle de programme.

E 1.7

M 2.0 M 4.0

S

R Q

M 4.0

S

R Q

&

M 2.0

E 1.0

E 1.0

U E 1.0

A3.0

E 1.0

M1.0M1.1

M 2.0A 3.0

UN M 1.0= M 1.1

M 1.1UM 1.0SE 1.0UNM 1.0R

U M 1.1U A 3.0= M 2.0U M 1.1UN A 3.0

A 3.0SUN M 2.0

U M 2.0R A 3.0

Le diviseur binaire (sortie A 3.0) change d’état à chaque transition de "0" à "1" de l’état de l’entrée

signal d’entrée.E 1.0 (front montant). La fréquence du signal de sortie de la mémoire est donc la moitié de celle du

M1.1 A3.0 M 2.0

S

R Q

M1.1

E1.0

M1.0

E1.0 M1.0 M1.1

S

R Q

M1.1 A3.0 M2.0 A3.0

M2.0

&

E1.0

M1.0

&

M1.1

M1.1

E1.0

SM1.0

R Q

M1.1

A3.0M2.0

M2.0

A3.0

S

R Q

M1.1

A3.0

&

M2.0

A 3.0

Problème poséReprésentation STEP 5

CONT LOG

Diviseur binaire (bascule T)

LIST

Exemples de programmation pour les modes de représentation LIST, CONT, LOG

Programmation de la CPU 948C79000-G8577-C848-04 3 - 39

Page 112: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de temporisation

"1" du RLG de E 3.0. Elle s’écoule jusqu’à sa fin tant que le RLG de E 3.0 reste à "1".

Lorsque le RLG de E 3.0 retombe à "0", la temporisation est remise à zéro.

KT 10.2 :

La temporisation est chargée avec la valeur 10.2 (10 = facteur), le chiffre se trou-vant à droite du point indique la base de temps.

DU et DE sont des sorties numériques de la cellule de temporisation. Sur la sortie DU, on récupère lavaleur de temporisation codée en binaire et, sur la sortie DE, la valeur de temporisation avec la basede temps codée DCB.

E 3.0

Le RLG des instructions U T ou O T est "1" durant l’écoulement de la temporisation.

A4.0

La temporisation est lancée lorsque l’instruction se présente pour la première fois après le passage à

E 3.0

T 1

R S10s

1

E 3.0

T 1

A4.0

E 3.0

Q

10.2

T1

DU

A4.0

AW0

DE AW2

E 3.0

Q

10.2

T1

1

TW DU

A4.0

AW0

DE AW2

R

Problème poséReprésentation STEP 5

CONT LOG

Impulsion

=

SI T 1L KT 10.2U E 3.0

UN E 3.0R T 1L T 1T AW 0LC T 1T AW 2U T 1= A 4.0

1

LIST

0 = 0.01s 2 = 1s1 = 0.1s 3 = 10s

A4.0

T

KT KT

E 3.0

R

TW

E 3.0

Exemples de programmation pour les modes de représentation LIST, CONT, LOG

Programmation de la CPU 9483 - 40 C79000-G8577-C848-04

Page 113: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de temporisation(suite)

La temporisation est lancée lorsque l’instruction se présente pour la première fois après le passageà "1" du RLG de E 3.1.

U E 3.1L EW 15SV T 2

T 2UA 4.1=

E 3.1

Q

EW15

T2

1

TW DU

A4.1

DE

E 3.1

Q

EW15

T2

1

TW DU

A4.1

DE

R

A4.1

V

R

V

A4.1

E 3.1

T 2

R S

1

T2

E 3.1

T 2

La retombée à "0" du RLG de E 3.1 n’a aucune influence sur la tempori-sation.

Le RLG des instructions U T (ou O T) est "1" durant l’écoulement de la temporisation.

EW 15 :Mot contenant la valeur de temporisation codée DCB. L’opérande peutêtre E, A, M ou D (dans l’exemple, mot d’entrée 15)

Problème poséReprésentation STEP 5

CONT LOG

Impulsion prolongée (calibrage)

Valeur deBasede temps

(EB 15) (EB 16)

5 43 0 7 4 3 0

01010 110 2

E3.1

A4.1T T

LIST

temporisation

Exemples de programmation pour les modes de représentation LIST, CONT, LOG

Programmation de la CPU 948C79000-G8577-C848-04 3 - 41

Page 114: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de temporisation(suite)

La temporisation est lancée lorsque l’instruction se présente pour la première fois après le passage à"1" du RLG de E 3.5. Elle s’écoule jusqu’à sa fin tant que le RLG de E 3.5 reste à "1".

Q

KT9.2

T3

TW DU

A4.2

DE

E 3.5

Q

KT9.2

T3

TW

A4.2

DE

RA4.2

R

E 3.5

T 3

R S

E 3.5

T 3

9s 0

A4.2

DU

T O T O

Lorsque le RLG de E 3.5 retombe à "0", la temporisation est remise à zéro.

KT 9.2 :La temporisation est chargée avec la valeur 9.2 (9 = facteur), le chiffre setrouvant à droite du point indique la base de temps.

0 = 0.01s1 = 0.1s

2 = 1s3 = 10s

E 3.5A4.2

T

Le RLG des instructions U T (ou O T) est "1" quand la temporisation est écoulée et que l’entrée E 3.5 est encore à "1".

Problème poséReprésentation STEP 5

CONT LOG

Retard à la montée

EKTTETTA

3.59.233.5334.2

ULSEUNRU=

E 3.5

E 3.5

=

LIST

Exemples de programmation pour les modes de représentation LIST, CONT, LOG

Programmation de la CPU 9483 - 42 C79000-G8577-C848-04

Page 115: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de temporisation(suite)

T S

TW DU

DE

R Q

E 3.3

A 4.3

E 3.2 E 3.3

A 4.3 T4

A 4.3

R S

20s 0

E 3.3

T4

E 3.2 E 3.2

T S

DU

DE

R Q

E 3.3

E 3.2

T4 T4

E 3.3

A 4.3

T Ttemporisation.

Le RLG des instructions U T (ou O T) est à "1" quand le temps estécoulé. Il ne repasse à "0" que lorsque la temporisation a été

La temporisation est lancée lorsque l’instruction se présente pour la première fois après le passage à "1" du RLG de E 3.3.

T4

= A 4.3

U E 3.3

L KT 20.2

SS T 4

U E 3.2

R T 4

U T 4

E

La retombée à "0" du RLG de E 3.3 n’a aucune influence sur la

Problème poséReprésentation STEP 5

CONT LOG

Retard à la montée mémorisé

20.2 TW

A 4.3=

20.2

LIST

remise à zéro par la fonction RT (entrée E 3.2 à "1").

KT KT

E 3.4

A 4.4

E 3.4

A 4.4 T5

A 4.4

R S

0 1 E 3.4T5

O T

TWDU

DE

R Q

O T

DU

DE

R Q

E 3.4

T5 T5

T5

U E

= A

3.4

L KT 10.1

SA T 5

U T 5

4.3

E 3.4

A 4.4

T TT

La temporisation est lancée lorsque le RLG de E 3.4 passe de"1" à "0". Elle s’écoule pendant le temps programmé.

Problème poséReprésentation STEP 5

CONT LOG

Retard à la retombée (transition 1 ----> 0)

10.1 TW 10.1

A 4.4=

LIST

Lorsque l’entrée E 3.4 repasse à "1", la temporisation est remise

Le RLG des instructions U T (ou O T) est "1" durant l’écoulement

à zéro.

de la temporisation ou quand l’entrée E 3.4 est à "1".

KT KT

Exemples de programmation pour les modes de représentation LIST, CONT, LOG

Programmation de la CPU 948C79000-G8577-C848-04 3 - 43

Page 116: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de comptage

Lorsque le RLG de l’entrée E 4.1 passe de "0" à "1", la valeur indiquée (150) est chargée dansle compteur.

E 4.1

R S

ZA

ZE

+

binaire

KZ 150

KZ 150

ZR

DU

DE

R Q

Z1

ZV

S

ZW

E 4.1

KZ 150

ZR

DU

DE

R Q

Z1

ZV

S

ZW

Problème poséReprésentation STEP 5

CONT LOG

Positionnement d’un compteur

E 4.1

E 4.0

E 4.0

UZVULS

E ZEKZZ

4.014.11501

LIST

16 bits

Le mémento nécessaire à l’exploitation du front sur l’entrée de positionnement (entrée E 4.1) estcompris dans le mot de comptage. DU et DE sont des sorties numériques du compteur. La sortieDU indique la valeur de comptage codée en binaire naturel, la sortie DE indique cette valeurcodée en DCB.

E 4.2

R S ZE

binaire16 bits

ZV

DU

DE

R Q

Z2

ZR

S

ZW

Si le RLG de E 4.2 est à "1", le compteur est remis à zéro.

A 2.4

A 2.4ZAE 4.2

ZV

DU

DE

R Q

Z2

ZR

S

ZWA 2.4=0 /

Problème poséReprésentation STEP 5

CONT LOG

Remise à zéro d’un compteur

UZRURU=

E ZEZZA

4.024.2222.4

E 4.2

E 4.0

E 4.0

=

LIST

Si le RLG de E 4.2 est à "0", le compteur n’est pas influencé.

Exemples de programmation pour les modes de représentation LIST, CONT, LOG

Programmation de la CPU 9483 - 44 C79000-G8577-C848-04

Page 117: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de comptage(suite)

E 4.1

R S

ZA

ZE

+

binaire16 bits

ZR

DU

DE

R Q

Z1

ZV

S

ZW

La valeur du compteur adressé est incrémentée de 1, jusqu’à une valeur maximale de 999. La fonc-tion n’est exécutée que pour le front montant ("0" vers "1") du RLG de l’instruction précédant l’instruc-tion ZV (ici RLG de E 4.1). Les mémentos nécessaires à l’exploitation des fronts sur les entrées decomptage sont compris dans le mot de comptage.

E 4.1

U E 4.1

ZV Z 1ZR

DU

DE

R Q

Z1

ZV

S

ZW

E 4.1

Problème poséReprésentation STEP 5

CONT LOG

Comptage

LIST

deux entrées différentes pour effectuer un comptage-décomptage.L’existence de deux mémentos de front distincts, pour ZV et ZR, permet d’utiliser le compteur avec

Exemples de programmation pour les modes de représentation LIST, CONT, LOG

Programmation de la CPU 948C79000-G8577-C848-04 3 - 45

Page 118: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de comptage(suite)

E 4.0

R S ZE

-

binaire16 bits

ZV

DU

DE

R Q

Z1

ZR

S

ZW

deux entrées différentes pour effectuer un comptage-décomptage.

La valeur du compteur adressé est décrémentée de 1, jusqu’à une valeur minimale de 0. La fonctionn’est exécutée que pour le front montant ("0" vers "1") du RLG de l’instruction précédant l’instructionZR. Les mémentos nécessaires à l’exploitation des fronts sur les entrées de comptage sont comprisdans le mot de comptage.

E 4.0

U E 4.0

ZR Z 1ZV

DU

DE

R Q

Z1

ZR

S

ZW

E 4.0

ZA

Problème poséReprésentation STEP 5

CONT LOG

Décomptage

LIST

L’existence de deux mémentos de front distincts, pour ZV et ZR, permet d’utiliser le compteur avec

Exemples de programmation pour les modes de représentation LIST, CONT, LOG

Programmation de la CPU 9483 - 46 C79000-G8577-C848-04

Page 119: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de comparaison

Z1

Z2

! =F

Q

A 3.0

L EB 19

L EB 20

! = F

= A 3.0

EB 19

EB 20 A 3.0

EB 19

EB 20

Z1

Z2

! =F

Q

Lors d’opérations de comparaison de nombres de 16 bits à virgule fixe, l’ACCU 1-H et l’ACCU 2-H nesont pas concernés.

La totalité des contenus des accumulateurs 1 et 2 (32 bits) sont comparés entre eux lors d’opérationsde comparaison de nombres à virgule fixe (! = D) ou à virgule flottante (! = G).

Le premier opérande indiqué est comparé à l’opérande suivant.

Le résultat de la comparaison est une valeur binaire.

A 3.0

=

Z1 Z2

=

EB 19 EB 20

Les indicateurs FL 1 et FL 0 sont positionnés comme indiqué dans la liste des opérations.

Problème poséReprésentation STEP 5

CONT LOGLIST

Comparaison d’égalité

RLG = "1" : la comparaison est vérifiée si ACCU 1-L = ACCU 2-L

Lors de la comparaison, il est tenu compte de la représentation numérique des opérandes. Ici par exemple (! = F), les contenus de l’ACCU 1-L et de l’ACCU 2-L sont interprétés comme étant desnombres à virgule fixe.

RLG = "0" : la comparaison n’est pas vérifiée si ACCU 1-L = ACCU 2-L.

Exemples de programmation pour les modes de représentation LIST, CONT, LOG

Programmation de la CPU 948C79000-G8577-C848-04 3 - 47

Page 120: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de comparaison(suite)

A 3.1

L EB 21

L DW 3

> < F

= A 3.1

EB 21

DW 3

Z1

Z2

> <F

Q A 3.1

EB 21

DW 3

Z1

Z2

> <F

Q

Les indicateurs FL 1 et FL 0 sont positionnés comme indiqué au début du paragraphe 3.5.

Lors de la comparaison, il est tenu compte de la représentation numérique des opérandes. Ici par

Le premier opérande indiqué est comparé à l’opérande suivant.Le résultat de la comparaison est une valeur binaire.

A 3.1

Z1 Z2

EB 21 DW 3

RLG = "0" : la comparaison n’est pas vérifiée si ACCU 1-L = ACCU 2-L

Problème poséReprésentation STEP 5

CONT LOGLIST

Comparaison d’inégalité

exemple, les contenus de l’ACCU 1-L et de l’ACCU 2-L sont interprétés comme étant des

nombres à virgule fixe.

L’ACCU 1-H et l’ACCU 2-H ne sont pas concernés lors d’opérations de comparaison de nombres de16 bits à virgule fixe.

RLG = "1" : la comparaison est vérifiée si ACCU 1-L = ACCU 2-L

d’infériorité, d’infériorité et d’égalité (voir la liste des opérations).Les mêmes indications sont valables pour les comparaisons de supériorité, de supériorité et d’égalité,

flottante, les ACCU 1-H et ACCU 2-H sont également concernés.Lors d’opérations de comparaison de nombres de 32 bits à virgule fixe et de nombres à virgule

Exemples de programmation pour les modes de représentation LIST, CONT, LOG

Programmation de la CPU 9483 - 48 C79000-G8577-C848-04

Page 121: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

3.5.3Opérationscomplémentaires

Les opérations complémentaires (ou instructions étendues) ne peuventêtre utilisées sur la PG que dans les blocs fonctionnels (FB et FX).L’ensemble des opérations pour les blocs fonctionnels comprend lesopérations de base et les opérations complémentaires.

Les opérations système appartiennent aux opérations complémentai-res : avec elles, il est possible, par exemple, de remplacer le contenud’une certaine zone de mémoire ou de modifier le contenu d’un regi-stre de travail de la CPU. Les opérations système ne peuvent être pro-grammées que si elles ont été validées dans les présélections (celan’est plus nécessaire depuis la version 2.0 de S5-DOS).

Consultez à ce sujet le chapitre 9, "Accès à la mémoire par lesadresses absolues".

AttentionLes opérations système ne doivent être employées que par desprogrammeurs avertis, et ce avec la plus grande prudence.

Dans les blocs fonctionnels, les opérations ne peuvent être re-présentées que sous forme de liste d’instructions. Les programmes desblocs fonctionnels ne peuvent donc pas être saisis de façon graphique(CONT ou LOG).Dans ce qui suit sont décrites les opérations complémentaires. Deplus, les possibilités de combinaison des opérations de substitutionavec les opérandes effectifs sont indiquées.

Opérations système Les opérations système sont repérées par dans la première colon-ne des tableaux.

S

Opérations complémentaires

Programmation de la CPU 948C79000-G8577-C848-04 3 - 49

Page 122: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations combinatoiressur bits

Opération Opérande Fonction

U =

UN =

O =

ON =

Fonction ET, test à "1" de l’état d’un opérande formel

Fonction ET, test à "0" de l’état d’un opérande formel

Fonction OU, test à "1" de l’état d’un opérande formel

Fonction OU, test à "0" de l’état d’un opérande formel

Inscrire l’opérande formel

Les opérandes effectifs possibles sont des entrées, des sorties,des données et des mémentos binaires (type de paramètre : E, A ; format de paramètre BI), ainsi que des temporisations et des compteurs (type de paramètre : T, Z).

Opérations combinatoiressur mots

Opération Opérande Fonction

UW

OW

XOW

Combinaison ET de l’ACCU 1-L et de l’ACCU 2-L

Combinaison OU de l’ACCU 1-L et de l’ACCU 2-L

Combinaison OU exclusive de l’ACCU 1-L et de l’ACCU 2-L

Ces opérations influencent les indicateurs FL 1 et FL 0, mais pas lecontenu des accumulateurs 2, 3 et 4 (voir indicateurs d’opérations surmots).

Tableau 3-11 Opérations combinatoires sur bits avec des opérandes formels

Tableau 3-12 Opérations combinatoires sur mots

Opérations complémentaires

Programmation de la CPU 9483 - 50 C79000-G8577-C848-04

Page 123: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de test de bits

Opération Opérande Fonction

P

E 0.0 à 127.7A 0.0 à 127.7M 0.0 à 255.7D 0.0 à 255.15T 0.0 à 255.15Z 0.0 à 255.15BA 0.0 à 255.15BB 0.0 à 255.15BS 0.0 à 255.15BT 0.0 à 255.15

Test de l’état d’un signal à "1"

d’une entrée (MIE)d’une sortie (MIS)d’un mémentod’un bit de mot de donnéesd’un bit de mot de temporisationd’un bit de mot de compteurd’un bit dans la zone BAd’un bit dans la zone BBd’un bit dans la zone BSd’un bit dans la zone BT

PN

E 0.0 à 127.7A 0.0 à 127.7M 0.0 à 255.7D 0.0 à 255.15T 0.0 à 255.15Z 0.0 à 255.15BA 0.0 à 255.15BB 0.0 à 255.15BS 0.0 à 255.15BT 0.0 à 255.15

Test de l’état d’un signal à "0"

d’une entrée (MIE)d’une sortie (MIS)d’un mémentod’un bit de mot de donnéesd’un bit de mot de temporisationd’un bit de mot de compteurd’un bit dans la zone BAd’un bit dans la zone BBd’un bit dans la zone BSd’un bit dans la zone BT

Les opérations de test de bits interrogent l’état du bit et l’indiquentdans le RLG.

Tableau 3-13 Opérations de test de bits

Opérations complémentaires

Programmation de la CPU 948C79000-G8577-C848-04 3 - 51

Page 124: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations demémorisation

Opération Opérande Fonction

S =

RB =

RD =

= =

Mise à "1" d’un opérande formel (binaire)

Remise à "0" d’un opérande formel (binaire)

Remise à "0" d’un opérande formel (numérique) pour temporisations et compteurs

Assignation de la valeur du RLG à un opérande formel

Inscrire l’opérande formel

Les opérandes effectifs possibles sont des entrées, des sorties etdes mémentos binaires (type de paramètre : E, A ; format deparamètre BI).

Opération Opérande Fonction

SUE 0.0 à 127.7A 0.0 à 127.7M 0.0 à 255.7D 0.0 à 255.15T 0.0 à 255.15Z 0.0 à 255.15BA 0.0 à 255.15BB 0.0 à 255.15BS 60.0 à 63.15BT 0.0 à 255.15

Mise à "1" inconditionnelled’une entrée (MIE)d’une sortie (MIS)d’un mémentod’un bit de mot de donnéesd’un bit de mot de temporisationd’un bit de mot de compteurd’un bit dans la zone BAd’un bit dans la zone BBd’un bit dans la zone BSd’un bit dans la zone BT

RUE 0.0 à 127.7A 0.0 à 127.7M 0.0 à 255.7D 0.0 à 255.15T 0.0 à 255.15Z 0.0 à 255.15BA 0.0 à 255.15BB 0.0 à 255.15BS 60.0 à 63.15BT 0.0 à 255.15

Remise à zéro inconditionnelled’une entrée (MIE)d’une sortie (MIS)d’un mémentod’un bit de mot de donnéesd’un bit de mot de temporisationd’un bit de mot de compteurd’un bit dans la zone BAd’un bit dans la zone BBd’un bit dans la zone BSd’un bit dans la zone BT

Tableau 3-14 Opérations de mémorisation avec des opérandes formels

Tableau 3-15 Opérations de mise à "1" et de remise à "0"

Opérations complémentaires

Programmation de la CPU 9483 - 52 C79000-G8577-C848-04

Page 125: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de temporisationet de comptage

Opération Opérande Fonction

SI =

SE =

SVZ =

SSV =

SAR =

FR =

Lancement d’une temporisation (impulsion) définie par un opérande formel ; la valeur de temporisation est contenue dans l’ACCU 1-L (type de paramètre : T)

Lancement d’une temporisation (retard à la montée) définie par un opérande formel ; la valeur de temporisation est contenue dans l’ACCU 1-L (type de paramètre : T)

Lancement d’une temporisation (impulsion prolongée) définie par un opérande formel (valeur de temporisation contenue dansl’ACCU 1-L) ou positionnement d’un compteur défini par unopérande formel (valeur de comptage contenue dans l’ACCU 1-L)(type de paramètre : T, Z)

Lancement d’une temporisation (retard à la montée mémorisé) définie par un opérande formel (valeur contenue dans l’ACCU 1-L) ou incrémentation d’un compteur défini par un opérande formel (type de paramètre T, Z) Lancement d’une temporisation (retard à la retombée) définie par un opérande formel (valeur contenue dans l’ACCU 1-L) ou décrémenta-tion d’un compteur définie par un opérande formel (type de para-mètre T, Z)

Opérande formel (temporisation/comptage) pour démarrage (cf. "FR T", "FR Z") (type de paramètre T, Z)

Inscrire l’opérande formel

FR T 0 à 255

Z 0 à 255

Validation du réarmement d’une temporisationL’opération n’est exécutée que pour le front montant du RLG(passage de "0" à "1" ). Elle déclenche un réarmement de la tempori-sation lorsque le RLG de l’instruction précédant l’instruction delancement est "1" (voir croquis).

Validation du positionnement ou de l’incrémentation d’un compteurL’opération n’est exécutée que pour le front montant du résultat logique (passage de "0" à "1"). Elle déclenche un positionnement du compteur lorsque le RLG de l’instruction précédant l’instruction de lancement est 1.

Tableau 3-16 Opérations de temporisation et de comptage

tt

RLGpour SI T

RLGpour FR T

Testpar U T

Opérations complémentaires

Programmation de la CPU 948C79000-G8577-C848-04 3 - 53

Page 126: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemples

Appel du bloc fonctionnel Programme dans le bloc fonctionnel

Programme exécuté

a)

:SPA FB 203NOM :EXEMPLE1ANNE : E 10.3PAUL : T 17JEAN : A 18.4

:U =ANNE:L KT 010.2:SSV =PAUL:U =PAUL:= =JEAN

:U E 10.3:L KT 010.2:SS T 17:U T 17:= A 18.4

b)

:SPA FB 204NOM :EXEMPLE2MAXI : E 10.5IRMA : E 10.6EVE : E 10.7MARC : Z 15EMMA : M 58.3

:U =MAXI:SSV =MARC:U =IRMA:SAR =MARC:U =EVE:L KZ 100:SVZ =MARC:UN =MARC:= =EMMA

:U E 10.5:ZV Z 15:U E 10.6:ZR Z 15:U E 10.7:L KZ 100:S Z 15:UN Z 15:= M 58.3

c)

:SPA FB 205NOM :EXEMPLE3LUC : E 10.4NOEL : T 18MAUD : EW 20LAURE : M 100.7

:U =LUC:L =MAUD:SVZ =NOEL:U =NOEL:= =LAURE

:U E 10.4:L EW 20:SV T 18:U T 18:= M 100.7

Opérations complémentaires

Programmation de la CPU 9483 - 54 C79000-G8577-C848-04

Page 127: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de chargementet de transfert

Opération Opérande Description

L =

LC =

LW =

LD =

T =

Chargement d’un opérande formelLa valeur de l’opérande défini comme opérande formel est chargée dans l’ACCU (type de paramètre : E, T, Z, A ; format de paramètre : BY, W, D)

Chargement codé d’un opérande formelLa valeur d’une temporisation ou d’un compteur définis comme opérandes formels est chargée en code DCB dans l’ACCU (format de paramètre : T, Z).

Chargement de la configuration binaire d’un opérande formelLa configuration binaire de l’opérande formel est chargée dans l’ACCU (type de paramètre : D ; format de paramètre : KF, KH,KM, KY, KC, KT, KZ).

Chargement de la configuration binaire d’un opérande formelLa configuration binaire de l’opérande formel est chargée dans l’ACCU (type de paramètre : D ; format de paramètre : KG).

Transfert vers un opérande formelLe contenu de l’accumulateur est transféré vers un opérande définicomme opérande formel (type de paramètre : E, A ; format deparamètre : BY, W, D).

Inscrire l’opérande formel

Excepté les mémentos S, les opérandes correspondant aux opérationsde base peuvent être utilisés comme opérandes effectifs. Pour l’ins-truction "LW=", on peut utiliser une donnée sous forme de configurati-on binaire (KM), de configuration hexadécimale (KH), de nombre àdeux octets (KY), de caractère (KC), de nombre à virgule fixe (KF),de valeur de temporisation (KT) ou de comptage (KZ). Pour l’in-struction "LD=", une donnée sous forme de nombre à virgule flottanteest autorisée.

Tableau 3-17 Opérations de chargement et de transfert avec des opérandes formels

Opérations complémentaires

Programmation de la CPU 948C79000-G8577-C848-04 3 - 55

Page 128: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opération Opérande Fonction

L BA 0 à 255

BB 0 à 255

Chargement d’un mot de la zone "données de couplage"(zone BA) dans l’ACCU 1

Chargement d’un mot de la zone étendue "données decouplage" (zone BB) dans l’ACCU 1

L BS 0 à 255

BT 0 à 255

Chargement d’un mot de la zone "données système" (zone BS)dans l’ACCU 1

Chargement d’un mot de la zone étendue "données système" (zone BT) dans l’ACCU 1

T BA 0 à 255

BB 0 à 255

Transfert du contenu de l’ACCU 1 vers un mot de la zone"données de couplage" (zone BA)

Transfert du contenu de l’ACCU 1 vers un mot de la zoneétendue "données de couplage" (zone BB)

T BS 60 à 63

BT 0 à 255

Transfert du contenu de l’ACCU 1 vers un mot de la zone"données système" (zone BS)

Transfert du contenu de l’ACCU 1 vers un mot de la zoneétendue "données système" (zone BT)

Contrairement aux zones BA, BB et BT, vous ne pouvez utiliser libre-ment que les mots BS 60 à BS 63 de la zone BS. A ce sujet, reportez-vous au paragraphe 8.3.4, "Zone BS/BT".

A condition de ne pas utiliser de blocs fonctionnels standard, vouspouvez utiliser l’ensemble de la zone BT (BT 0 à BT 255).

Tableau 3-18 Opérations de chargement et de transfert avec des opérandes spéciaux

Opérations complémentaires

Programmation de la CPU 9483 - 56 C79000-G8577-C848-04

Page 129: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de calcul

Opération Opérande Fonction

ENT – Il y a "empilage" dans les accumulateurs 3 et 4 :

<ACCU 4> := <ACCU 3>

<ACCU 3> := <ACCU 2>

<ACCU 2> := <ACCU 2>

<ACCU 1> := <ACCU 1>

Les contenus des accumulateurs 1 et 2 ne sont pas modifiés. L’ancien contenu de l’ACCU 4 est perdu.

Exemple

ACCU 1 ACCU 2 ACCU 3 ACCU 4

L KF +30 d30 ca

L KF +3 d3 c30

aContenu des ACCUS avantl´enchaînement des opéra-t ions ari thmétiques

b c d

x F c12 c30

+ F c42 cc

L KF +4 c4 303

ENT 3 30 30 c

c7 cc

L KF +6 c6 c42

: F

Tableau 3-19 Opération de calcul ENT

Calcul du quotient : (30 + 3 * 4) / 6 = 7

Opérations complémentaires

Programmation de la CPU 948C79000-G8577-C848-04 3 - 57

Page 130: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opération Opérande Fonction

S ADD BF -128 à+127

Addition d’une constante à 1 octet (virgule fixe) au contenu de l’ACCU 1-L (extension du signe). Les indicateurs FL 0, FL 1,OVFL et OVFLMEM ne sont pas affectés. Les accumulateursACCU 1-H et ACCU 2 à ACCU 4 restent inchangés.

S ADD KF -32 768 à+32 767

Addition d’une constante à virgule fixe (mot) au contenu de l’ACCU 1-L. Les indicateurs FL 0, FL 1, OVFL etOVFLMEM ne sont pas affectés. Les accumulateurs ACCU1-H et ACCU 2 à ACCU 4 restent inchangés.

S ADD 1 DH 0000 0000àFFFF FFFF

Addition d’une constante à virgule fixe (double mot) au contenu de l’ACCU 1. Les indicateurs FL 0, FL 1, OVFL et OVFLMEMne sont pas affectés. Les ACCU 2 à ACCU 4 restent inchangés.

S +D 1 Addition de deux constantes à virgule fixe (double mot) : ACCU 2 + ACCU 1. Le résultat peut être évalué via FL 0/FL 1. 2

S -D 1 Soustraction de deux constantes à virgule fixe (double mot) : ACCU 2 - ACCU 1. Le résultat peut être évalué via FL 0/FL 1. 2

S TAK Permutation des contenus des accumulateurs 1 et 2

1 La programmation dépend du type de console et de la version du logiciel système.

2 Modification du contenu de ACCU 2 et ACCU 3 : cf. paragraphe 3.5.1 "Opérations de base, opérations arithmétiques".

Tableau 3-20 Opérations arithmétiques complémentaires

Opérations complémentaires

Programmation de la CPU 9483 - 58 C79000-G8577-C848-04

Page 131: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

3.5.4Opérations d’organisation Les opérations d’organisation comprennent aussi des opérations sy-

stème.

AttentionLes opérations système ne doivent être employées que par desprogrammeurs avertis, et ce avec la plus grande prudence.

Les opérations système sont repérées par dans la première colon-ne des tableaux.

Opérations de saut La destination pour les sauts conditionnels et inconditionnels est indi-quée de manière symbolique (maximum 4 caractères, débutant par unelettre). Ainsi le paramètre symbolique de l’instruction de saut est iden-tique à l’adresse symbolique de l’instruction de destination. Il fauttenir compte, lors de la programmation, du fait que la distance absoluede saut ne doit pas être supérieure à 127 mots et qu’une instructionSTEP 5 peut être codée sur plus d’un mot. Les sauts ne doivent être ef-fectués qu’à l’intérieur d’un bloc ; les sauts au-delà des limites de seg-ments sont interdits (un segment est une subdivision d’un bloc PB,SB, FB, FX et OB ; voir manuel STEP 5).

NotaLes instructions de saut et la destination du saut (adresse sym-bolique) doivent se situer dans un même segment. Une mêmeadresse symbolique de destination ne peut être attribuée qu’uneseule fois par segment.Exception : ceci n’est pas valable pour l’instruction SPR dont leparamètre correspond à la distance absolue de saut.

Opération Opérande Fonction

SPA =

SPB =

SPZ =

adr

( adr = adressesymbolique avecau maximum4 caractères)

Saut inconditionnel Le saut inconditionnel est effectué indépendamment d’une condition.

Saut conditionnel Le saut conditionnel est effectué quand RLG = 1. Lorsque RLG = 0, cette instruction n’est pas exécutée et le résultat logique RLG est mis à 1.

Condition de saut : résultat "0" Le saut n’est effectué que si FL 1 = 0 et FL 0 = 0. Le résultat logique RLG n’est pas modifié.

S

Tableau 3-21 Opérations de saut

Opérations d’organisation

Programmation de la CPU 948C79000-G8577-C848-04 3 - 59

Page 132: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opération Opérande Fonction

Suite du tableau 3-21

SPN =

SPP =

SPM =

SPO =

SPS =

adr

(adr = adressesymbolique avecau maximum4 caractères)

Condition de saut : résultat ≠ 0 Le saut n’est effectué que si FL 1 ≠ FL 0. Le résultat logique RLG n’est pas modifié.

Condition de saut : résultat > 0Le saut n’est effectué que si FL 1 = 1 et FL 0 = 0. Le RLG n’est pas modifié.

Condition de saut : résultat < 0Le saut n’est effectué que si FL 1 = 0 et FL 0 = 1. Le RLG n’est pas modifié.

Saut conditionné au dépassement (overflow) :Le saut est effectué si l’indicateur OVFL = 1.S’il n’y a pas de dépassement (OVFL = 0), le saut n’est paseffectué. Le RLG n’est pas modifié.Il y a dépassement lorsque pour une représentation donnée, ledomaine permis est dépassé par l’opération arithmétique.

Saut si l’indicateur OVFLMEM = 1 (dépassement mémorisé)Le saut est effectué si l’indicateur OVFLMEM = 1.S’il n’y a pas de dépassement (OVFLMEM = 0), le saut n’estpas effectué. Le résultat logique RLG n’est pas modifié.Il y a dépassement lorsque, pour une représentation donnée, ledomaine permis est dépassé par l’exécution de plusieursopérations arithmétiques.

S SPR -32 768 à +32 767 Saut relatif à l’intérieur de la mémoire utilisateur ou d’un bloc fonctionnel (par exemple, pour parvenir à un autre segment). L’opération est toujours réalisée indépendamment de conditions.L’opérande est la différence d’adresse "destination du saut -instruction actuelle" (nombre de mots). Le saut peut aller versl’avant (opérande positif) ou vers l’arrière (opérande négatif).

AttentionL’utilisation non conforme de l’opération SPR peut conduire àdes états indéfinis dans le processus. Cette opération ne doit doncêtre utilisée que par des programmeurs très expérimentés et desutilisateurs connaissant très bien le système.

Opérations d’organisation

Programmation de la CPU 9483 - 60 C79000-G8577-C848-04

Page 133: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de décalage

Opération Opérande Fonction (opération avec ACCU 1)

SLW

SRW

SLD

SVW

SVD

RLD

RRD

0 à 15

0 à 15

0 à 32

0 à 15

0 à 32

0 à 32

0 à 32

Décalage vers la gauche (à droite sont insérés des zéros)

Décalage vers la droite (à gauche sont insérés des zéros)

Décalage d’un double mot vers la gauche (à droite sont insérés des zéros)

Décalage d’un mot avec bit de signe vers la droite (à gauche est inséré le bit 15)

Décalage d’un double mot avec bit de signe vers la droite (à gauche est inséré le bit 31)

Rotation vers la gauche

Rotation vers la droite

Seul l’ACCU 1 intervient dans les opérations de décalage. Le paramètrede ces opérations indique de combien de positions le contenu de l’ACCUest décalé. Pour SLW, SRW et SVW, seul le mot de poids faible(ACCU 1-L) est affecté par le décalage et, pour SLD, SVD, RLD etRRD, la totalité du contenu de l’ACCU 1 (32 bits) est concernée.

Les opérations de décalage sont effectuées indépendamment d’unequelconque condition.

La valeur du dernier bit décalé hors de l’ACCU peut être testée dansles indicateurs FL 0 et FL 1 à l’aide de fonctions de saut.

Décalage : dernier bit décalé

FL 1 FL 0 Opération desaut

0 0 0 SPZ=

1 1 0 SPN=SPP=

Tableau 3-22 Opérations de décalage

Opérations d’organisation

Programmation de la CPU 948C79000-G8577-C848-04 3 - 61

Page 134: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemples

1. Lecture du mot de données DW 52, décalage de 4 bits vers la gauche, puis réécriture dans le mot DW 53

Programme STEP 5 Contenu des mots de données

:L DW 52 KH = 14AF:SLW 4:T DW 53 KH = 4AF0

2. Lecture du double mot d’entrée ED 0, puis décalage du contenu de l’ACCU 1 de manière que les positions de bits imprimées en gras (en partie décalées) restent conservées et que les autres positions de bits admettent des valeurs définies (0 H ou 0F H).

Programme STEP 5 Contenu de l’ACCU 1 (hexadécimal)

ACCU 1-H : ACCU 1-L :

:L ED 0 2 348 ABCD:SLW 4 2348 BCD0:SRW 4 2348 0BCD:SLD 4 3480 BCD0:SVW 4 3480 FBCD:SVD 4 0348 0FBC:RLD 4 3480 FBC0:RRD 4 0 348 0FBC

3. Application : Multiplication par des puissances de 2 Exemple : nouvelle valeur = ancienne valeur x 8

:L MW 10:SLW 3:T MW 10 Attention : Ne pas dépasser la limite

du domaine positif

4. Application : Division par des puissances de 2 Exemple : nouvelle valeur = ancienne valeur : 4

:A DB 5:L DW 0:SRW 2:T DW 0

Opérations d’organisation

Programmation de la CPU 9483 - 62 C79000-G8577-C848-04

Page 135: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de conversion

Opération Fonction

KEW

KZW

KZD

DEF

DUF

DED

DUD

FDG

GFD

Formation du complément à 1 de l’ACCU 1-L (16 bits)

Formation du complément à 2 de l’ACCU 1-L (16 bits)

Formation du complément à 2 de l’ACCU 1 (32 bits)

Conversion DCB - binaire d’un nombre à virgule fixe (16 bits)

Conversion binaire - DCB d’un nombre à virgule fixe (16 bits)

Conversion DCB - binaire d’un double mot (32 bits)

Conversion binaire - DCB d’un double mot (32 bits)

Conversion d’un nombre à virgule fixe (32 bits) en un nombre à virgule flottante (32 bits)

Conversion d’un nombre à virgule flottante (32 bits) en un nombre à virgule fixe (32 bits)

DEF La valeur contenue dans l’ACCU 1-L (bits 0 à 15) est interprétée com-me étant un nombre codé DCB. Après la conversion, le contenu del’ACCU 1-L est un nombre de 16 bits à virgule fixe.

DUF La valeur contenue dans l’ACCU 1-L (bits 0 à 15) est interprétée com-me étant un nombre de 16 bits à virgule fixe. Après la conversion, lecontenu de l’ACCU 1-L est un nombre codé DCB.

15 14 0

S 2 14 . . . . . . . . . . . . . . . 2 0

DUF ↓ DEF ↑15 0

S S S S 10 2 10 1 10 0

S (signe) : 0 = positif1 = négatif

Tableau 3-23 Opérations de conversion

Opérations d’organisation

Programmation de la CPU 948C79000-G8577-C848-04 3 - 63

Page 136: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

DED La valeur contenue dans l’ACCU 1 (bits 0 à 31) est interprétée commeétant un nombre codé DCB. Après la conversion, le contenu del’ACCU 1 est un nombre de 32 bits à virgule fixe.

DUD La valeur contenue dans l’ACCU 1 (bits 0 à 31) est interprétée commeétant un nombre de 32 bits à virgule fixe. Après la conversion, le con-tenu de l’ACCU 1 est un nombre codé DCB.

31 30 0

S 2 30 . . . . . . . . . 2 0

DUD ↓ DED ↑31 0

S S S S 10 6 10 5 10 4 10 3 10 2 10 1 10 0

S (signe) : 0 = positif1 = négatif

FDG La valeur contenue dans l’ACCU 1 (bits 0 à 31) est interprétée commeétant un nombre de 32 bits à virgule fixe. Après la conversion, le con-tenu de l’ACCU 1 est un nombre à virgule flottante (exposant et man-tisse).

GFD La valeur contenue dans l’ACCU 1 (bits 0 à 31) est interprétée commeétant un nombre à virgule flottante. Après la conversion, le contenu del’ACCU 1 est un nombre de 32 bits à virgule fixe.

31 30 0

S 2 30 . . . . . . . . . 2 0

FDG ↓ GFD ↑

31 30 ... ... 24 23 0

S 2 6 . . . . . . . . . . . . . . 2 0 S 2 -1 . . . . . . . . . . 2 -23

Exposant Mantisse

La conversion consiste en la multiplication de la mantisse (binaire)avec la valeur de l’exposant (binaire). Pour ce faire, la valeur de lamantisse est décalée de la valeur de l’exposant (base 2) à des positionsbinaires de poids plus fort, et ce par rapport à une virgule décimaleimaginaire. Après la multiplication, les restes de la mantisse d’originese trouvent à droite de la virgule décimale imaginaire. Ces bits sontôtés du résultat entier.

Opérations d’organisation

Programmation de la CPU 9483 - 64 C79000-G8577-C848-04

Page 137: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Avec cet algorithme de conversion, on obtient les classes de résultatsuivantes :

•• Les nombres à virgule flottante ≥ 0 ou ≤ -1 donnent la valeur en-tière inférieure la plus proche.

•• Les nombres à virgule flottante < 0 et > -1 donnent 0.

Exemples de conversion

Exemple pour KEW, KZW

Nombre Nombre à virgule fixeà virgule flottante 32 bits

GFD

+5,7 → 5-2,3 → -3-0,6 → 0+0,9 → 0

1. Le contenu du mot de données DW 64 doit être complémenté bit à bit ("inversé") et transféré dans le mot de données DW 78.

Programme STEP 5 Contenu des mots de données

:L DW 64 KM = 0011111001011011:KEW:T DW 78 KM = 1100000110100100

2. Le contenu du mot de données DW 207 doit être interprété comme étant un nombre à virgule fixe et transféré, en changeant le signe, dans le mot de données DW 51.

Programme STEP 5 Contenu des mots de données

:L DW 207 KF = +51:KZW:T DW 51 KF = -51

Opérations d’organisation

Programmation de la CPU 948C79000-G8577-C848-04 3 - 65

Page 138: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Décrémentation/incrémen tation

Opération Opérande Fonction

D

I

1 à 255

1 à 255

Décrémentation de l’octet de poids faible (bits 0 à 7)de l’ACCU 1-L de la valeur de l’opérande 1

Incrémentation de l’octet de poids faible (bits 0 à 7)de l’ACCU 1-L de la valeur de l’opérande 1

1 Le contenu de l’ACCU 1-L est diminué ou augmenté du nombre indiqué en opérande. L’exécution de l’opération est indépendante d’une quelconque condition.

Exemple

Opérations de substitution

Opération Opérande Fonction

B

B =

DW 0 à 255

MW 0 à 254

Substitution par un mot de donnéesLe paramètre de l’instruction suivante est remplacé par la valeur contenue dans le mot de données défini par le paramètre de BDW.

Substitution par un mot de mémentosLe paramètre de l’instruction suivante est remplacé par la valeur contenue dans le mot de mémentos défini par le paramètre de BMW.

Appel d’un bloc défini par un opérande formel (type de paramètre B) : seuls A DB, SPA PB, SPA OB, SPA FB, SPA SB peuvent être substitués.

Inscrire l’opérande formel

Programme STEP 5 Contenu des mots de données

:L DW 7 KH = 1010:I 16:T DW 8 KH = 1020:D 33:T DW 9 KH = 10FF

Tableau 3-24 Décrémentation/incrémentation

Tableau 3-25 Opérations de substitution

Opérations d’organisation

Programmation de la CPU 9483 - 66 C79000-G8577-C848-04

Page 139: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opération Opérande Fonction

Suite du tableau 3-25

S BI 1 Traitement indirect d’un opérande formelExécution d’une opération dont le code est contenu dans un opérande formel. Le numéro de l’opérande à exécuter est contenu dans l’ACCU 1.

B BS 60 à 63 1 Exécution d’une opération définie dans la zone des données système BS (données système libres : BS 60 à 63)Dans le cas d’instructions à double mot, le 2ème mot doit êtrechargé après BS n+1.

1 La valeur qui se trouve dans la donnée système ou dans l’opérande formel est interprétée en tant que code opération d’une opération STEP 5 qui est ensuite exécutée.

NotaSeules les opérations suivantes peuvent être combinées avec B DW, B MW , BI ou B BS :

- U.. , UN.. , O.. , ON.. , S.. , R.. , =.. avec les zones E, A, M, S,

- FR T, R T, SA T, SE T, SI T, SS T, SV T,

- FR Z, R Z, S Z, ZR Z, ZV Z,

- L.., T.. avec les zones P, Q, E, A, M, S, D, BA, BB, BS, BT,

- L T, L Z,

- LC T, LC Z,

- SPA=, SPB=, SPZ=, SPN=, SPP=, SPM=, SPO=,

- SLW, SRW,

- D, I, SES, SEF,

- A DB, SPA.. , SPB.., E DB, EX DX, AX DX, BAB FX, BA FX.

La console de programmation ne vérifie pas si les combinaisonssont admissibles ou pas.

Opérations d’organisation

Programmation de la CPU 948C79000-G8577-C848-04 3 - 67

Page 140: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemples relatifs auxopérations de substitution

B DW/B MW Substitution d’opérandes

Les instructions B DW et B MW permettent, dans une boucle de pro-gramme par exemple, d’accéder à des données de substitution :l’opérande de l’opération n’est pas déterminé à la programmation,mais fixé seulement au cours du déroulement du programme STEP 5.Cet accès avec substitution se compose de l’instruction B DW ou BMW et de l’opération STEP 5 suivant immédiatement. Les opérationsSTEP 5 autorisées sont présentées dans le tableau ci-avant.

Vous devez choisir lors de la programmation le type d’opérande parmiceux autorisés pour l’opération, par exemple PB pour "SPA PB nn".

C’est avant l’accès avec substitution via B DW ou B MW que vousdevez charger dans un mot de données ou de mémentos la valeur del’opérande (nn dans l’exemple "SPA PB nn").

1. Principe de la substitution

:L KF +120:T MW 14 Le mot de données MW 14 contient la valeur "KF +120":B MW 14:L EB 0

Avant l’exécution de l’instruction L EB, l’opérande0 est remplacé par la valeur 120 ; l’instruction

L EB 120 est exécutée.

2. Mot de données comme registre d’index

Les contenus des mots de données DW 20 à DW 100 doivent être mis à "0". Leregistre d’index pour le paramètre des mots de données est DW 1.

:L KF +20 Initialisation du registre d’index:T DW 1

M001 :L KF +0 Mise à 0:B DW 1:T DW 0:L DW 1 Incrémentation du registre d’index:L KF +1:+F:T DW 1:L KF +100:<=F:SPB =M001 Saut quand l’index se trouve dans la zone ... Suite du programme STEP 5

Suite à la page suivante

Opérations d’organisation

Programmation de la CPU 9483 - 68 C79000-G8577-C848-04

Page 141: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Substitution d’opérandes pour des opérations binaires

Pour la substitution d’opérandes avec des opérations binaires, vouspouvez utiliser les types d’opérandes suivants : entrées, sorties,mémentos, mémentos S, temporisations et compteurs. La structure du mot de données ou de mémentos (mot de paramètre)dépend pour cette substitution du type d’opérande que vous utilisez.

Mot de paramètre pour entrées et sorties

Bit 15 11 10 8 7 6 0

sans signification adresse debit de 0 à 7

0 adresse d’octet de 0 à 127

Suite des exemples relatifs à la substitution d’opérandes

3. Répartiteur de sauts pour l’emploi de sous-programmes

:B MW 5:SPA =M001 Contenu du mot de mémentos MW 5

+ :SPA =M002distance :SPA =M003 Distance de sautde saut :SPA =M004 (max. ± 127)

:SPA =M005 : .: .

M001 : .: .:BEA

M002 : . Avantage : : . Tous les sous-programmes se:BEA trouvent dans le même bloc.

M003 : .: .:BEA

4. Répartiteur de sauts pour des appels de blocs

:B MW 10 Contenu du mot de mémentos MW 10:SPA PB 0 PB 0

PB 1 Bloc n° x PB 2 PB 3 . . PB x

Opérations d’organisation

Programmation de la CPU 948C79000-G8577-C848-04 3 - 69

Page 142: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Mot de paramètre pour mémentos

Bit 15 11 10 8 7 0

sans signification adresse debit de 0 à 7

adresse d’octet de 0 à 255

Mot de paramètre pour mémentos S

Bit 15 14 12 11 0

0 adresse debit de 0 à 7

adresse d’octet de 0 à 4095

Mot de paramètre pour compteurs et temporisations

Bit 15 8 7 0

sans signification Numéro de la cellule de temporisation ou de comptage

de 0 à 255

Principe de la substitutionpour une opération binaire

15 8 7 011 10

0 DW 27

B DW

U E 0.0

27

304

U E 4.30

Instruct ion exécutée

Opérations d’organisation

Programmation de la CPU 9483 - 70 C79000-G8577-C848-04

Page 143: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple relatif à l’opération BI

Le FB 1 exécute des instructions STEP 5 dont les codes d’opération sonttransmis par un bloc appelant sous forme d’opérandes formels MW 10, MW 12et MW 14.Le code d’opération qui doit être exécuté est défini comme numéro courantdans le mot de mémentos MW 16 par le bloc appelant.Le résultat de l’opération se trouve ensuite dans l’ACCU 1, puis esttransféré dans le mot de mémentos MW 18.

FB 1

NOM :TEST

DESIG:MW10 E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KHDESIG:MW12 E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KHDESIG:MW14 E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KH

:L MW 16 Numéro courant de l’opérande formel avec le: code d’opération à utiliser:BI Le code d’opération transmis est exécuté.:T MW 16 Résultat de l’ACCU 1:BE

FB 2

::L KF +1:T MW 16 Numéro courant de l’opérande formel avec : code d’opération:SPA =APPEL::

APPEL::SPA FB 1 Appel du FB TEST

NOM :TESTMW10 : KH 4A5A Code d’opération "L EB 90", opérande formel 1MW12 : KH xxxx autre code d’opération, opérande formel 2MW14 : KH yyyy autre code d’opération, opérande formel 3

:T MW 18 ACCU 1 → MW 18 :BE

MW 10 4A5AH

:L EB 90

0001H

0001H

Liste des opérandes effectifs dans le FB 2 Principe de traitement dans le FB 1

xxxxHyyyyH

Opération exécutée par "BI"

(N˚ courant de l´opérande effectif)

MW 12

MW 14

MW 16

ACCU 1

:L MW 16

:BI

Opérations d’organisation

Programmation de la CPU 948C79000-G8577-C848-04 3 - 71

Page 144: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations sur périphérie

Opération Opérande Fonction

AS

AF

AFS

AFF

BAS

BAF

Inhibition du traitement des alarmes de processus (avec EB 0) (pas pour les interruptions du système)

Libération du traitement des alarmes de processus (avec EB 0) (pas pour les interruptions du système)

Inhibition des erreurs d’adressage

Libération des erreurs d’adressage

Verrouillage des sorties : la MIS n’est plus influencée par les opérations S A, R A, = A, T PY et T PW.

Libération des sorties

L’inhibition et la libération des alarmes de processus peuvent, par ex-emple, être utilisées pour inhiber le traitement d’alarmes pendant letraitement d’un programme déclenché par horloge. Le traitement desalarmes du processus n’est alors plus possible dans la partie du pro-gramme se trouvant entre les instructions AS et AF.Veuillez aussi vous référer à la fonction spéciale OB 122, "Activation/désactivation de l’inhibition des alarmes", au paragraphe 6.3.

Autres opérations

Opération Opérande Fonction

S STS

STW

SIM

LIM

Instruction de mise en arrêt partiel

Instruction de mise en arrêt général(quitter uniquement avec le commutateur OFF/ON)

Positionnement du masque des interruptions (UAMW) (32 bits) :avant d’appeler l’opération, le profil binaire du masque doit êtrechargé dans l’ACCU 1 (32 bits).

Lecture du masque des interruptions (UAMW) : le profil binairedu masque des interruptions (32 bits) est chargé dans l’ACCU 1.

Tableau 3-26 Opérations sur périphérie

Tableau 3-27 Autres opérations

Opérations d’organisation

Programmation de la CPU 9483 - 72 C79000-G8577-C848-04

Page 145: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

SIM/LIM : positionnement etlecture du masqued’indication des interruptions(UAMW)

Comme son nom l’indique, le masque des interruptions "masque" lesinterruptions et alarmes dans le mot des indicateurs d’interruptionsjusqu’à la fin du cycle. Ainsi, bien que les interruptions et alarmessoient toujours présentes, elles n’interrompent pas le déroulement duprogramme.

Bit = 0 dans le masque d’indication des interruptions : inhibition desinterruptionsBit = 1 dans le masque d’indication des interruptions : validation desinterruptions

Signification des bits dans l’UAMW-H ou l’ACCU 1-H :

15 8 7 0

INTX INTE INTF INTG COLAM AH AP BULE DPE HALT P/P CA INTAS OFH DARY PPA

Signification des bits dans l’UAMW-L ou l’ACCU 1-L :

15 8 7 0

–BL

INEXDB

INEXSTS DTC SUB P.BL> P.IT> MDT ZA ACQ DAD PARI CYC STOPHOLD

Abréviation Signification

Mot de poids fort

INTX

INTEINTFINTGCOLAMAHAPBULEDPEHALT

P/PCAINTASOFH

DARYPPA

Interruption système/bus S5 A, B, C ou D(suivant l’emplacement d’enfichage)Interruption système/bus S5 EInterruption système/bus S5 FInterruption système/bus S5 GCollision d’alarmesAlarme d’horlogeAlarme de processusErreur de verrouillage de busPériphérie défaillanteInstruction de mise en STOP provenant du coordinateurFonctionnement pas à pasComparateur d’adresses actifInterruption du processeur SPUDéfaillance de la fréquence d’horloge du processeur SPUPrêt continu (accès à une mémoire erronée)Débordement du compteur des parenthèses

Tableau 3-28 Signification des abréviations dans l’UAMW

Opérations d’organisation

Programmation de la CPU 948C79000-G8577-C848-04 3 - 73

Page 146: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Abréviation Signification

Suite du tableau 3-28

Mot de poids faible

BL INEXDB INEXSTSDTCSUBP.BL>P.IT>MDTZA

ACQDADPARICYCSTOPHOLD

Un bloc appelé manque.Un bloc de données appelé manque.Arrêt précis sur instructionErreur de transfert ou de chargementErreur de substitutionDébordement de la pile des blocsDébordement de la pile des interruptionsCoupure secteurAlarme d’horloge (alarme de retardement, alarme d’horloge à heure fixe)Retard d’acquittementErreur d’adressageErreur de paritéDépassement du temps de cycleCommutateur de mode sur STOPDemande DMA du processeur SPU

Opérations d’organisation

Programmation de la CPU 9483 - 74 C79000-G8577-C848-04

Page 147: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

3.5.5Opérations sur sémaphores Si, en fonctionnement multiprocesseur (voir chapitre 10), plusieurs

CPU d’un automate programmable accèdent à une zone de mémoirecommune (périphérie, processeurs de communication, périphérie in-telligente), le risque existe que les CPU écrasent mutuellement leursdonnées et lisent des données intermédiaires erronées. Il est doncnécessaire de coordonner l’accès des CPU à la zone de mémoire com-mune.

La coordination des accès est possible à l’aide de sémaphores et desinstructions SES et SEF. On peut, par exemple, programmer la coordi-nation suivante. Dans une configuration multiprocesseur, une CPU nepourra accéder à la zone de mémoire commune qu’après avoir posi-tionné le sémaphore concerné (SES), un sémaphore xx ne pouvantêtre positionné que par une seule CPU. Si une CPU n’arrive pas à posi-tionner le sémaphore, elle doit renoncer à accéder à la mémoire.De la même manière, une CPU doit renoncer à un nouvel accès à lamémoire après avoir libéré le sémaphore (SEF).

SES/SEF : positionnementet libération de sémaphores

Il ne s’agit pas d’opérations système.

Opération Opérande Fonction

SES

SEF

0 à 31

0 à 31

Positionnement d’un sémaphore

Libération d’un sémaphore

Evaluation des résultats de l’opération par FL 0/FL 1

NotaLes instructions SES xx et SEF xx doivent être programmées dans toutes les CPU qui doivent accéder de façon concertée à une zone de mémoire commune.

Les FB standard, les blocs de dialogue et les blocs pour communication multiprocesseur gèrent la coordination d’accès de façon interne. Vous n’avez pas besoin de programmer les opérations SES xx et SEF xx pour ces blocs.

Tableau 3-29 Positionnement et libération de sémaphores

Opérations sur sémaphores

Programmation de la CPU 948C79000-G8577-C848-04 3 - 75

Page 148: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Effet de SES/SEF L’opération SES xx (positionner le sémaphore) occupe, pour la CPUcorrespondante, un octet donné dans le coordinateur (sous réserve quecelui-ci n’est pas déjà occupé par une autre CPU). Tant que la CPU yreste déclarée, les autres CPU ne peuvent pas accéder à la zonemémoire protégée par le sémaphore (numéro 0 à 31). Cette zone estdonc verrouillée pour les autres CPU.Pour que la coordination fonctionne correctement, il faut que toutesles CPU accédant à la même zone de la mémoire commune utilisent lemême sémaphore.

L’instruction SEF xx (libération du sémaphore) libère l’octet dans lecoordinateur. Ainsi la zone de mémoire précédemment protégée peutà nouveau être lue ou écrite par les autres CPU. Un sémaphore ne peutêtre libéré que par la CPU qui l’a positionné.

Utilisation de SES/SEF La figure 3-8 représente le principe de déroulement d’une coordinati-on d’accès au moyen d’un sémaphore.

DEBUT

Opérat ionréussie ?

Posi t ionner sémaphore :

Accès à la mémoirecommune protégéepar le sémaphore

Libérer le sémaphore :

Non

Oui

Fin

SES

SEF

Figure 3-8 Coordination de l’accès à la mémoire commune

Opérations sur sémaphores

Programmation de la CPU 9483 - 76 C79000-G8577-C848-04

Page 149: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Avant chaque positionnement ou libération d’un sémaphore donné, lesinstructions SES et SEF contrôlent l’état de ce sémaphore. Les indica-teurs FL 0 et FL 1 sont alors influencés comme indiqué ci-après.

FL 1 FL 0 Exploitation Signification

0 0 SPZ Le sémaphore a été positionné par une autre CPU et ne peut pas être positionné, ni libéré.

1 0 SPN, SPP Le sémaphore a été positionné ou libéré.

NotaLe processus de test d’un sémaphore (lecture) et le processus depositionnement ou de libération du sémaphore (écriture) formentun tout. Durant ces opérations, aucune autre CPU ne peut accéderà ce sémaphore.

Lors de l’utilisation des sémaphores, il est nécessaire de respecter lespoints suivants :

•• Un sémaphore est une variable globale, c’est-à-dire que le séma-phore ayant par exemple le numéro 16 n’est disponible qu’une seu-le fois, même lors de l’utilisation de trois CPU.

•• Les instructions SES et SEF doivent être utilisées par toutes lesCPU dont l’accès à une zone de mémoire commune doit être coor-donné.

•• Toutes les CPU concernées doivent avoir le même mode de démar-rage. Lors d’un nouveau démarrage, tous les sémaphores sont ef-facés par le programme système ; lors d’un redémarrage manuelou automatique, l’état des sémaphores est conservé.

•• En fonctionnement multiprocesseur, le démarrage doit être syn-chronisé. De ce fait, le mode de test n’est pas autorisé.

Opérations sur sémaphores

Programmation de la CPU 948C79000-G8577-C848-04 3 - 77

Page 150: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple d’application pourles sémaphores

Problème posé

Un automate S5-155U comporte quatre CPU qui accèdent à une zone de mémoirecommune de la périphérie Q (QW 6) pour y déposer des signalisations d’étatqui sont transmises à un appareil de signalisation. Chaque signalisationdoit persister pendant 10 secondes avant de pouvoir être remplacée par unenouvelle signalisation en provenance de la même ou d’une autre CPU.L’accès au mot périphérique QW 6 (périphérie étendue, pas de mémoire image)est géré par un sémaphore. Seule la CPU ayant positionné avec succès lesémaphore correspondant à cette zone peut écrire sa signalisation sur QW 6.Ce sémaphore reste positionné pendant une durée de 10 secondes (temporisati-on T 10). Ce n’est qu’après l’écoulement de cette temporisation que la CPUlibère le sémaphore et la zone de mémoire, permettant ainsi aux autres CPUd’y accéder. QW 6 peut alors recevoir une autre signalisation. Si le sémaphore a déjà été positionné par une autre CPU au moment où la CPUtente de le positionner, la CPU ajourne sa tentative de positionnementjusqu’au cycle suivant.

Réalisation

Le programme suivant peut être traité dans les quatre CPU, avec à chaquefois une signalisation différente.

5 mémentos sont utilisés :

M 10.0 = 1 Une signalisation est demandée ou en cours de traitement.

M 10.1 = 1 Le sémaphore a été positionné avec succès.

M 10.2 = 1 La temporisation est lancée.

M 10.3 = 1 La signalisation est transférée.

M 10.4 = 1 Le sémaphore est libéré.

Suite à la page suivante

FB 1 :PROGRAMME PRINCIPAL

FB 10 :SIGNAL

FB 100 :POSITIONNER LE SEMAPHORE

FB 110 :SORTIR LA SIGNALISATION

FB 101 :LIBERER LE SEMAPHORE

Opérations sur sémaphores

Programmation de la CPU 9483 - 78 C79000-G8577-C848-04

Page 151: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite de l’exemple d’application pour les sémaphores

FB 1

:U M 10.0:SPB =M001 Si aucune signalisation n’est active::UN E 0.0:BEB::L KH 2222 Générer la signalisation et:T MW 12:UN M 10.0:S M 10.0 mettre à "1" le mémento SIGNALISATION.:

M001 :SPA FB10 Appel du bloc FB SIGNAL NOM :SIGNAL

::BE

FB 10

NOM :SIGNAL

:UN M 10.1 Si le sémaphore n’est pas positionné, :SPB FB 100 appeler le bloc FB "positionner sémaphore".

NOM :SEMASET::U M 10.1 Si le sémaphore est positionné et :UN M 10.2 si la temporisation n’est pas lancée,:S M 10.2:L KT010.2 lancer la temporisation.:SV T 10::U M 10.2 Si la temporisation est lancée et:UN M 10.3 si aucune signalisation n’est transférée,:SPB FB 110 appeler le bloc FB "sortir signalisation".

NOM :SORTSIGN::U M 10.2 Si la temporisation est lancée,:UN M 10.4 que le sémaphore n’est pas libéré:UN T 10 et que la temporisation est écoulée, :SPB FB 101 appeler le FB "libérer sémaphore".

NOM :SEMARESE::UN M 10.4 Si le sémaphore est libéré, :BEB::L KH0000:T MB10 mettre à "0" tous les mémentos.:BE

Suite à la page suivante

Opérations sur sémaphores

Programmation de la CPU 948C79000-G8577-C848-04 3 - 79

Page 152: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite de l’exemple d’application pour les sémaphores

FB 100

NOM :SEMASET

:SES 10 Positionner le sémaphore nº 10. :SPZ =M001:UN M 10.1 Si le sémaphore est positionné avec succès,:S M 10.1 mettre à "1" le mémento SEMA-POSITIONNE.

M001 :BE

FB 110

NOM: SORTSIGN

:L MW12 Transférer la signalisation :T QW 6 dans le mot de périphérie.:UN M 10.3:S M 10.3 Mettre à "1" le mémento: TRANS-SIGNAL. :BE

FB 101

NOM :SEMARESE

:SEF 10 Libérer le sémaphore nº 10.:SPZ =M001:UN M 10.4:S M 10.4 Positionner le mémento: SEMAPHORE LIBERE.

M001 :BE

Opérations sur sémaphores

Programmation de la CPU 9483 - 80 C79000-G8577-C848-04

Page 153: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire du chapitre 4

4.1 Niveaux de traitement de programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 4

4.2 Etat de fonctionnement ARRET (STOP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 9

4.2.1 Arrêt partiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 94.2.2 Arrêt total . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 134.2.3 Effacement général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 14

4.3 Etat de fonctionnement MISE EN ROUTE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 16

4.3.1 Démarrages manuel et automatique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 174.3.2 Redémarrages manuel et automatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 184.3.3 Comparaison entre démarrage et redémarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 214.3.4 Démarrage avec rémanence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 224.3.5 Comparaison entre démarrage et démarrage avec rémanence . . . . . . . . . . . . . . . . . . . . 4 - 234.3.6 Interfaces utilisateur pour la mise en route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 244.3.7 Redémarrage automatique étendu avec la CPU 948 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 274.3.8 Interruptions pendant la mise en route. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 28

4.4 Etat de fonctionnement RUN (MARCHE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 29

4.4.1 Traitement cyclique du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 304.4.2 Traitement déclenché par alarme et par horloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 324.4.3 Traitement déclenché par horloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 334.4.4 Traitement déclenché par alarme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 41

4Etats de fonctionnement et niveauxde traitement de programme

Programmation de la CPU 948C79000-G8577-C848-04 4 - 1

Page 154: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire

Programmation de la CPU 9484 - 2 C79000-G8577-C848-04

Page 155: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

4Etats de fonctionnement et niveauxde traitement de programme

Ce chapitre présente les états de fonctionnement et les niveaux de trai-tement de programme de la CPU 948. Il vous donne des informationsdétaillées sur les différents modes de mise en route et les blocs d’orga-nisation associés dans lesquels vous pouvez écrire votre propre pro-gramme pour les différents types de mise en route.

Vous y apprenez en outre en quoi les niveaux "traitement cyclique","traitement déclenché par horloge" et "traitement déclenché par alar-me" se distinguent et de quels blocs vous disposez pour votre program-me utilisateur.

Programmation de la CPU 948C79000-G8577-C848-04 4 - 3

Page 156: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

4.1 Niveaux de traitement de prog ramme

La figure 4-2 présente les niveaux de traitement de programme existantdans les différents modes de fonctionnement. Vous trouverez des expli-cations sur les abréviations des niveaux d’erreur à la page suivante.

Niveaux d´erreurNiveaux de traitement de programmeEtat

Arrêtpartiel

Mise en route

RUN(marche)

DB INEXER.EDBX

BL INEXPARIACQDADDTCSUBCYC

COLAH/AHMAS

ER.EDBXDB INEXBL INEX

PARIACQDADDTCSUB

Communication

Traitement cycliquede la communication

Démarrage de la communication

Préparation à lacommunication

Mise en route

RedémarrageDémarrage

Alarmes de processus/interruptions

Traitement déclenchépar alarme

Cycle

Traitement cyclique

Alarmes d´horloge

Traitement déclenchépar horloge

ER.EDBXDB INEXBL INEX

PARIACQDADDTCSUB

CYC

Figure 4-1 Niveaux de traitement de programme

Niveaux de traitement de programme

Programmation de la CPU 9484 - 4 C79000-G8577-C848-04

Page 157: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Niveau Signification Priorité

Niveaux d’erreur

COLAH/AHMASCYCSUBDTCDADACQPARIBL INEXDB INEXER.EDBX

Erreur de traitement d’alarmes d’horlogeErreur de cycleErreur de substitutionErreur de transfert/chargementErreur d’adressageRetard d’acquittementErreur de paritéBloc de code appelé inexistantBloc de données appelé inexistantErreur lors de la génération d’un bloc dedonnées DB ou DX

Chaque traitement d’erreur a la priorité la plus élevée. A l’apparition d’une erreur, le niveau de traitement correspon-dant est immédiate-ment appelé.

Niveaux de traitement de programme en arrêt partiel

Démarrage de la communicationCommunication

Préparation de la communicationTraitement cyclique de la communication

Niveaux de traitement de programme à la mise en route

Démarrage

Redémarrage

Lancement défini du programme utilisateur

Poursuite du programme utilisateur au pointd’interruption

Niveaux de traitement de programme en mode de marche RUN

Alarmes d’horlogeAlarmes de processus/interruptionsCycle

Traitement déclenché par horlogeTraitement déclenché par alarmeTraitement cyclique

Priorité croissante (présé-lection 1)

1 Vous pouvez modifier cette présélection dans le DX 0 (voir le chapitre 7).

Traitement par le programmesystème

Chaque niveau possède son programme système spécifique.

Pile des interruptions (ITPILE) En cas d’interruption, le programme système inscrit pour chaque ni-veau un bloc d’information dans la pile des interruptions afin de pour-suivre le traitement au niveau interrompu une fois l’interruptiontraitée.

Tableau 4-1 Niveaux de traitement de programme

Niveaux de traitement de programme

Programmation de la CPU 948C79000-G8577-C848-04 4 - 5

Page 158: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Imbrication d’autres niveaux En présence d’un événement exigeant un traitement de priorité plusélevée, le niveau en cours du programme système est interrompu et leniveau à la priorité plus élevée est imbriqué.

L’imbrication se fait :

•• pour les niveaux d’erreur aux limites d’instructions,

•• pour tous les autres niveaux aux limites de blocs ou d’instruc-tions (selon le paramétrage du DX 0 ; voir le chapitre 7).

NotaIl n’est pas possible d’imbriquer plus de 5 OB d’erreur.L’activation simultanée de 5 niveaux d’erreur entraîne un débor-dement de la pile des interruptions et la CPU passe en arrêt total .

Un niveau de traitement de programme précis est affecté à un OBou à un groupe d’OB appelés par le programme système après unévénement. Si, par exemple, l’OB 9 est appelé pour le traitementd’une alarme d’horloge à heure fixe, le niveau de traitement de pro-gramme "Alarmes d’horloge" est activé.

Suite à un appel de bloc d’organisation, la CPU exécute le programmeSTEP 5 qui y est contenu. Ce faisant, elle sauvegarde le jeu de regi-stres en cours dans la pile des interruptions et crée un nouveau jeu deregistres (registres : accumulateurs 1 à 4, pointeur de la pile desblocs, registre d’adresse de bloc, adresse de début du bloc de données,longueur du bloc de données, compteur d’adresse STEP, registred’adresse de base et mots de masquage et d’effacement des indica-teurs d’interruption MMII et MEII).Si le traitement "normal" du programme est interrompu par un événe-ment, la CPU reprend, après exécution de l’OB et de tous les blocs quiy sont appelés, le traitement du programme à l’endroit où a eu lieul’interruption, dans la mesure où l’OB ne contient pas d’instruction demise à l’arrêt.

Niveaux de traitement de programme

Programmation de la CPU 9484 - 6 C79000-G8577-C848-04

Page 159: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Niveaux inférieurs Le niveau "Alarmes d’horloge" contient des niveaux inférieurs àchacun desquels un programme spécifique (OB) est affecté. Ces sous-niveaux obéissent, au sein du niveau d’alarmes d’horloge, à leur pro-pre ordre de priorité (voir le tableau suivant).

Niveau "Alarmes d’horloge"

Sous-niveau Priorité

Alarme de retardementAlarme d’horloge cyclique, période la plus courte......Alarme d’horloge cyclique, période la plus longueAlarme d’horloge à heure fixe

Priorité croissante (présélection)

Exemples

Exemple de traitement par le programme système

Au niveau "Cycle", le programme système actualise la mémoire image des en-trées et des sorties, redémarre la surveillance du temps de cycle et appel-le la gestion de l’interface vers la PG (point de contrôle système).

Niveaux de traitement de programme

Programmation de la CPU 948C79000-G8577-C848-04 4 - 7

Page 160: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple pour la pile des interruptions

Exemple d’interruption d’un niveau de base par une interruption en fin de

bloc

Il se présente une alarme d’horloge pendant le traitement d’une alarmede processus. Comme l’alarme d’horloge est prioritaire, le traitementde l’alarme de processus est interrompu en fin de bloc pour permettrele traitement de l’alarme d’horloge. Si, lors du traitement de l’alar-me d’horloge, une erreur d’adressage apparaît par exemple, le traite-ment de l’alarme d’horloge est interrompu dès la prochaine limited’instruction et le niveau DAD est imbriqué.

Cycle Mise en route

Cycle

SUB SUB

DADDAD

DAD

STOP

SUB

Cycle

Prof. 3

Prof. 4

Prof. 2

Prof. 1

ITPILE = Image des niveauxinterrompus

Commutateur d´arrêt Redémarrage

Figure 4-2 Principe de changement de niveau et de l’ITPILE

Niveaux de traitement de programme

Programmation de la CPU 9484 - 8 C79000-G8577-C848-04

Page 161: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

4.2 Etat de fonctionnement ARRET (STOP)

La CPU 948 a deux états d’arrêt différents, l’arrêt total et l’arrêt par-tiel dans lequel la communication reste possible.

4.2.1Arrêt partiel L’état de fonctionnement "Arrêt partiel" est caractérisé par les points

suivants.

La CPU peut encore communiquer : après la mise sous tension, le pro-gramme système appelle une seule fois le bloc d’organisation OB 38(niveau de démarrage de la communication en arrêt partiel) puis, demanière cyclique, l’OB 39 (niveau de communication en arrêt partiel).

Initialisation de lacommunication (OB 38)

Le programme système appelle l’OB 38 comme interface utilisateurpour initialiser la communication.

Le bloc OB 38 n’est appelé qu’après la mise sous tension, etce indépendamment du mode de mise en route paramétré dansle DX 0 (démarrage ou redémarrage automatique).

Surveillance de l’OB 38 Le programme système ne vérifie pas si un dépassement de temps seproduit pendant le déroulement de l’OB 38. Vous pouvez toutefois in-terrompre l’exécution de cet OB en basculant le commutateur demode sur STOP.

Si une erreur se produit dans l’OB 38, son traitement est interrompu etle bloc OB 39 est appelé s’il existe.

Communication cyclique(OB 39)

L’ OB 39 est appelé comme interface utilisateur en cas d’interruptiondu programme cyclique qui mène à l’état d’arrêt partiel.

Si, lors de l’interruption du programme cyclique, le traitement d’unbloc de dialogue (communication) n’est pas achevé, il est possible derappeler le même bloc ou le même type de bloc (par exemple, SEND)dans l’OB 39.

Etat de fonctionnement ARRET (STOP)

Programmation de la CPU 948C79000-G8577-C848-04 4 - 9

Page 162: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Surveillance de l’OB 39 Le programme système surveille si l’OB 39 dépasse le temps maximaladmis. Si le temps d’exécution de celui-ci dépasse 2,55 secondes (va-leur fixe), le programme système en déduit l’existence d’une erreur decycle, appelle l’OB 26 de traitement d’erreur, puis traite l’OB 39 ànouveau depuis le début. Si l’erreur de cycle survient à nouveau etque la profondeur de la pile des interruptions (ITPILE) deviennesupérieure à 5, il se produit un débordement de cette dernière (réacti-on, voir le paragraphe suivant).

Réaction aux erreursd’exécution de l’OB 39

Quand une erreur, par exemple ACQ, apparaît dans le bloc OB 39 oudans un bloc qu’il appelle, le programme système appelle le bloc d’or-ganisation de réaction correspondant. Après son traitement, il poursuitle traitement dans l’OB 39. S’il n’existe pas d’OB de réaction à l’er-reur, l’OB 39 est repris depuis le début. Les erreurs ACQ, BL INEX età l’autotest constituent une exception, car aucune réaction n’estdéclenchée.Si d’autres erreurs surgissent et que la profondeur de la pile des inter-ruptions devienne supérieure à 5, il se produit un débordement decette dernière. Le programme système interrompt le traitement(l’OB 39 n’est alors plus appelé), mais la CPU reste en arrêt partiel.

Conservation des données Si un traitement cyclique du programme a été effectué en mode demarche (RUN), les valeurs des compteurs, temporisations, mémentoset mémoires image du processus sont conservées lors du passage àl’arrêt.

Horloge temps réel L’horloge temps réel continue à fonctionner avec actualisation de lazone BS toutes les 10 ms.

Signal BASP Le signal BASP (verrouillage des sorties) est activé ce qui inhibe tou-tes les sorties TOR.Exception : en mode de test du fonctionnement multiprocesseur etpour la fonction PG en ligne de forçage des sorties, le signal BASPn’est pas activé (voir le paragraphe 10.1.8).

Pile des interruptions (ITPILE) Si un programme utilisateur était traité avant le passage à l’arrêt, uneentrée précisant la cause de l’interruption figure dans l’ITPILE à l’étatd’arrêt.

Traitement destemporisations et compteursdans les OB 38 et 39

Le traitement des temporisations et des compteurs est arrêté pendantle déroulement de l’OB 38 et de l’OB 39. En cas de besoin, il faut trai-ter les informations temporelles dans la zone de données système BS96 à BS 99 ou avec l’OB 121 ou l’OB 150.

Etat de fonctionnement ARRET (STOP)

Programmation de la CPU 9484 - 10 C79000-G8577-C848-04

Page 163: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Appel des OB 38 et 39 Les figures 4-4 et 4-5 illustrent le principe d’appel des OB 38 etOB 39.

OB 38OB 38

OB 39

OB 22

MARCHE

OB 39

Démarrage dela communication

Démarrage dela communication

Situation de départ : MARCHE Situation de départ : ARRET PARTIEL

Hors tension/sous tensionHors tension/sous tension

Traitement uniquede la communication

Redémarrageautomatique

Traitement cycliquede la communication

Figure 4-3 Exécution du programme après mise sous tension

OB 1

OB 39

Interruption, par exemplevia une instruction STS

Traitement cycliquede la communication

Figure 4-4 Exécution du programme après une interruption du cycle

Etat de fonctionnement ARRET (STOP)

Programmation de la CPU 948C79000-G8577-C848-04 4 - 11

Page 164: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

DEL et arrêt partiel Vous pouvez reconnaître l’état d’arrêt partiel aux voyants figurant surla face avant de l’appareil de base.

Voyant Etat

RUN éteint

STOP allumé (feu fixe ou clignotant)

SYSFAULT éteint

BASP allumé (excepté en mode de test dufonctionnement multiprocesseur ou pour la

fonction PG de forçage des sorties)

Le voyant STOP signale l’erreur qui est à l’origine de l’arrêt actuel.

Feu fixe du voyant STOP L’arrêt partiel a été provoqué

en fonctionnement monoprocesseur :- en basculant le commutateur de mode de RUN sur STOP,- par la fonction PG d’arrêt de l’automate,- par une défaillance matérielle (DPE),- par un effacement général ;

en fonctionnement multiprocesseur :- en basculant le commutateur de mode du coordinateur sur STOP,- par une autre CPU mise à l’arrêt suite à une erreur (les CPU sans

erreur affichent un feu fixe) ou via le commutateur STOP,- par la fonction PG d’arrêt de l’automate,- par la fonction PG de fin de contrôle pas à pas sur une autre CPU.

Clignotement lent du voyantSTOP (env. 1 fois toutes lesdeux secondes)

L’arrêt partiel a été provoqué par :

- une instruction STP ou STS dans le programme utilisateur,- une erreur de manipulation (DB 1/DX 0 erroné, sélection d’un

mode de démarrage non autorisé, etc.),- le débordement de la pile des blocs (P.BL>) ou de la pile des

parenthèses (PPA),- une erreur de programmation ou une défaillance matérielle,

Les voyants suivants renseignent alors sur la cause de l’erreur :- Voyant ADF (DAD)- Voyant QVZ (ACQ)- Voyant ZYK (CYC)

- la fonction PG de fin de contrôle pas à pas sur cette CPU.

Etat de fonctionnement ARRET (STOP)

Programmation de la CPU 9484 - 12 C79000-G8577-C848-04

Page 165: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Pour quitter l’arrêt partiel, vous pouvez :

•• choisir un mode de démarrage (voir le paragraphe 4.4),

•• effectuer un effacement général suivi d’un démarrage.

4.2.2Arrêt total Lorsque le déroulement sans erreur du programme système n’est plus

assuré, la CPU se met en arrêt total de manière à garantir dans ce casun état de sécurité.

L’arrêt total est provoqué par les causes suivantes :

•• instruction d’arrêt (STW) pour le programme système,

•• débordement de la pile des interruptions (P.IT>),

•• retard d’acquittement (ACQ) ou erreur de parité (PARI) dans lamémoire RAM/EPROM du système,

•• erreur dans le programme système.

NotaComme la CPU est à l’arrêt, vous ne pouvez quitter l’état d’arrêttotal qu’en coupant puis en rétablissant l’alimentation del’automate.

DEL et arrêt total Vous pouvez reconnaître l’état d’arrêt total aux voyants figurant sur laface avant de l’appareil de base.

Voyant Etat

RUN éteint

STOP éteint

SYSFAULT allumé

BASP allumé

Etat de fonctionnement ARRET (STOP)

Programmation de la CPU 948C79000-G8577-C848-04 4 - 13

Page 166: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

4.2.3Effacement général L’effacement général efface la totalité de la mémoire utilisateur et tou-

tes les zones d’opérandes (mémentos, images mémoire du processus,etc.).

Demande d’effacementgénéral

Un effacement général ne peut être exécuté que s’il est demandé cequi se traduit par le clignotement rapide du voyant STOP.

Demande de la part duprogramme système

Après chaque mise sous tension, la CPU effectue une routine d’initiali-sation. Si une erreur est détectée lors de cette initialisation (par ex-emple, coupure de la tension de sauvegarde pendant la mise horstension), le programme système demande un effacement général.

Il faut remédier à la cause de l’erreur (par exemple, en changeant lapile de sauvegarde), puis l’effacement général de la CPU est effectué.

Un effacement général est également demandé lors de l’apparitiond’une erreur de la CPU ou du système. Une telle erreur se reconnaît aufait que la demande d’effacement général se présente de nouveauaprès une première exécution. Adressez-vous dans ce cas à l’agenceSiemens la plus proche.

Demande de la part del’utilisateur

La demande d’effacement général s’effectue comme suit (voir la fi-gure 4-1 pour les éléments de commande de la CPU) :

Etape Action Résultat

1 Basculez le commutateur de mode de RUN sur STOP.

La CPU passe à l’arrêt (STOP). Le voyant STOP est en feu fixe.

2 Maintenez le commutateur à rappel automatique en position OVERALL RESET et basculez le commutateur de mode de STOP sur RUN et à nouveau sur STOP.

L’effacement général est demandé et le voyant STOP clignote rapidement.

NotaSi vous renoncez à l’exécution de l’effacement général demandé,effectuez maintenant un démarrage ou un redémarrage manuel.

Etat de fonctionnement ARRET (STOP)

Programmation de la CPU 9484 - 14 C79000-G8577-C848-04

Page 167: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exécution de l’effacementgénéral

Indépendamment du fait que la demande d’effacement général pro-vienne du système ou de l’utilisateur, il faut effectuer l’opération de lamanière suivante (situation de départ : le voyant STOP clignote rapide-ment).

Effacement général par leséléments de commande de laCPU

Action Résultat

Maintenez le commutateur à rappel automatique en position OVERALL RESET et basculez le commutateur de mode de STOP sur RUN et à nouveau sur STOP (voir la figure 4-1).

L’effacement général est effectué.Le voyant STOP passe en feu fixe.

Effacement général à partir dela PG

Action Résultat

Exécutez la fonction PG d’effacement des blocs.

L’effacement général est effectué.Le voyant STOP passe en feu fixe.

NotaContrairement à la CPU 946/947, vous pouvez sur la CPU 948demander l’effacement général à partir de la PG également enmode de marche (RUN). Dans ce cas, la CPU est automatique-ment mise à l’arrêt et l’effacement général effectué.

Pendant l’effacement général, tous les voyants sont éteints hormisINIT et BASP.

Une fois l’effacement général effectué, la seule possibilité demise en marche est le démarrage.

Chargement de la carte àmémoire et appel de l’OB 39

Une fois l’effacement général effectué, la carte à mémoire (memorycard) est chargée − si elle est enfichée −, puis l’OB 39 est appelé.

Etat de fonctionnement ARRET (STOP)

Programmation de la CPU 948C79000-G8577-C848-04 4 - 15

Page 168: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

4.3 Etat de fonctionnement MISE EN ROUTE

L’état de fonctionnement "mise en route" (anciennement, démarrage)est caractérisé par les points suivants.

Changement d’état La mise en route est le passage de l’état d’arrêt à l’état de marche(RUN).

Modes de mise en route Il existe les modes de mise en route suivants :

- démarrage (manuel ou automatique),- redémarrage (manuel ou automatique).Vous activez le mode de mise en route choisi via les éléments decommande sur la CPU ou par paramétrage du DX 0.

Démarrage Le traitement du programme utilisateur cyclique est repris au début.

Le programme système appelle le bloc OB 20 comme interface utilisa-teur.

Redémarrage Le traitement du programme utilisateur cyclique est repris au pointd’interruption.

Le programme système appelle :

- pour le redémarrage manuel l’OB 21,- pour le redémarrage automatique l’OB 22comme interface utilisateur.

Surveillance des OB de miseen route

Il n’y a pas de surveillance du temps de cycle pour le traitement desOB de mise en route à partir desquels vous pouvez appeler d’autresblocs. Vous devez toutefois absolument éviter les boucles sans fin.

Compteurs, temporisations,mémentos, mémoires imagedu processus

Les valeurs des compteurs, temporisations, mémentos et mémoiresimage du processus sont traitées différemment selon les modes demise en route (voir le paragraphe 4.4.3).

Signal BASP Le signal BASP (verrouillage des sorties) est activé ce qui inhibe tou-tes les sorties TOR.Exception : en mode de test du fonctionnement multiprocesseur, le si-gnal BASP est inactif (voir le paragraphe 10.1.8).

Alarmes Les alarmes (interruptions, alarmes de processus, alarmes d’horloge)sont inhibées.

Mise en route en modemultiprocesseur

Vous trouverez des informations sur le mode de mise en route en fon-ctionnement multiprocesseur au paragraphe 10.1.7.

Etat de fonctionnement MISE EN ROUTE

Programmation de la CPU 9484 - 16 C79000-G8577-C848-04

Page 169: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

4.3.1Démarrages manuel etautomatique

Démarrage autorisé Un démarrage est toujours possible tant que le système ne demandepas un effacement général.

Démarrage nécessaire Un démarrage est nécessaire après :

- un effacement général,- le chargement du programme utilisateur dans la mémoire utilisateur

lorsque la CPU est à l’arrêt,- un débordement de la pile des interruptions ou de la pile des blocs,- un abandon du démarrage (par mise hors tension ou basculement du

commutateur de mode sur STOP),- un arrêt suite à la fonction PG de fin de contrôle pas à pas.

Démarrage manuel Vous déclenchez un démarrage manuel :

•• par les éléments de commande de la CPU

Maintenez le commutateur à rappel automatique en positionRESET et basculez simultanément le commutateur de mode deSTOP sur RUN (voir la figure 4-1).

•• par la PG

Activez la fonction PG de démarrage de l’AP.

Démarrage automatique Un démarrage automatique est déclenché lorsque, lors de la mise soustension :

- la présélection "Redémarrage automatique à la mise sous tension" dans le DX 0 a été changée en "Démarrage automatique à la mise sous tension" ;

- les commutateurs de mode sur toutes les CPU et sur le coordinateur restent en position RUNetque la CPU n’était pas à l’arrêt lors de la mise hors tension.

NotaSi la CPU était à l’état d’arrêt lors de sa mise hors tension (parexemple, suite à une erreur d’adressage), un démarrage automa-tique n’est pas possible. Dans ce cas, vous ne pouvez quitter l’étatd’arrêt qu’avec un démarrage manuel.

Etat de fonctionnement MISE EN ROUTE

Programmation de la CPU 948C79000-G8577-C848-04 4 - 17

Page 170: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Interruption d’un démarrage Vous pouvez interrompre un démarrage en cours en basculant le com-mutateur de mode sur STOP ou en coupant la tension d’alimentation.Vous devez alors effectuer un nouveau démarrage.

4.3.2Redémarrages manuel etautomatique

Redémarrage possible etautorisé

Un redémarrage manuel n’est possible que si la cause de l’arrêt estl’une des suivantes :

•• commutateur de mode basculé de RUN sur STOP,

•• arrêt en fonctionnement multiprocesseur dû au signal HALT ducoordinateur,

•• coupure de la tension avec paramétrage correspondant dans leDX 0,

•• fonction PG d’arrêt de l’automate.

NotaSi le passage à l’arrêt est provoqué par un autre motif, il n’est paspossible d’effectuer un redémarrage. Le programme systèmen’autorise qu’un démarrage.

Un redémarrage manuel ou automatique n’est autorisé que :

•• si le programme utilisateur n’a pas été modifié pendant l’arrêt

et

•• si un démarrage n’est pas nécessaire pour d’autres raisons (voir leparagraphe 4.4.1).

Etat de fonctionnement MISE EN ROUTE

Programmation de la CPU 9484 - 18 C79000-G8577-C848-04

Page 171: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Redémarrage manuel Vous déclenchez un redémarrage manuel :

•• par les éléments de commande de la CPU

Le commutateur à rappel automatique se trouvant en positionmédiane, basculez le commutateur de mode de STOP sur RUN(voir la figure 4-1).

•• par la PG

Activez la fonction PG de redémarrage de l’AP.

Redémarrage automatique Un redémarrage automatique est déclenché lorsque, lors de la misesous tension :

- la présélection "Redémarrage automatique à la mise sous tension"figure dans le DX 0 ou qu’il n’existe pas de DX 0 ;

- les commutateurs de mode sur toutes les CPU et sur le coordina-teur restent en position RUNetque la CPU n’était pas à l’arrêt lors de la mise hors tension ;

- aucune autre erreur n’est apparue lors de l’initialisation et avant lacoupure de la tension ;

- un démarrage n’est pas nécessaire pour les raisons énoncées ci-avant.

Au rétablissement de la tension ou à la remise sous tension suite à unecoupure secteur ou à une mise hors tension en état RUN, la CPUexécute une routine d’initialisation et tente d’effectuer un redémarrage.

En cas de coupure de tension dans un châssis d’extension (signalDPE), la CPU se met à l’arrêt. Elle y reste tant que le signal DPE n’estpas désactivé, puis effectue un redémarrage ou un démarrage automa-tique.

Etat de fonctionnement MISE EN ROUTE

Programmation de la CPU 948C79000-G8577-C848-04 4 - 19

Page 172: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

NotaLors d’un redémarrage, tenez compte du cas particulier suivant.

Au cours de l’exécution d’un OB d’erreur (par exemple, suite àDAD), la CPU passe en mode d’arrêt suite à une coupure del’alimentation, à un signal HALT, au basculement du commuta-teur sur STOP ou à PGSTP. Un redémarrage automatique oumanuel est ensuite effectué.

Réaction de la CPU :

- La CPU poursuit l’exécution de l’OB d’erreur interrompu jusqu’à la fin avant d’appeler l’OB 21/22.

- Si l’OB d’erreur n’exécute pas d’instruction d’arrêt, un redémarrage se produit une fois le reste de l’OB d’erreur traité.

- Si l’OB d’erreur met la CPU à l’arrêt, seul un démarrage est possible.

Interruption du redémarrage Vous ne pouvez interrompre un redémarrage en cours qu’en basculantle commutateur de mode sur STOP ou en coupant la tension d’alimen-tation. Après une telle interruption, il est possible d’effectuer undémarrage ou un redémarrage.

Etat de fonctionnement MISE EN ROUTE

Programmation de la CPU 9484 - 20 C79000-G8577-C848-04

Page 173: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

4.3.3Comparaison entre démarra-ge et redémarrage

Le tableau suivant présente un comparatif des modes de démarrage etde redémarrage.

Démarrage Redémarrage

Déclenche-ment manuel

Commutateur à rappel automatique sur RESET et commutateur de mode de STOP sur RUNouFonction PG de démarrage de l’AP

Commutateur à rappel automatique en position médiane et commutateur de mode de STOP sur RUNouFonction PG de redémarrage de l’AP

Déclen-chement automatique

Remise sous tension si le DX 0 contient "Démarrage automatique à la mise sous tension"

Remise sous tension si le DX 0 contient laprésélection ou s’il n’y a pas de DX 0

Opérations effectuées par le programme système

Créer la liste des adresses de blocs dans le DB 0

Effacer la mémoire image des entrées

Effacer la mémoire image des sorties

Conserver la liste des adresses de blocs dans le DB 0

Conserver la mémoire image des entrées

Conserver la mémoire image des sorties

Effacer les mémentos, compteurs et temporisations

Effacer la périphérie TOR/analogique (128 octets chacune)

Effacer les mémentos de couplage (256 octets)

Effacer les alarmes de retardement et les contrats à heure fixe

Effacer la pile des interruptions et la piledes blocs

Effacer les sémaphores

Conserver les mémentos, compteurs et temporisations

Conserver les mémentos de couplage (256 octets)

Effacer les alarmes de retardement, conserver les contrats à heure fixe

Conserver la pile des interruptions et la pile des blocs

Conserver les sémaphores

DB 1 disponible :reprise dans la liste des MI des E/S TOR et des mémentos de couplage s’y trouvant

DB 1 non disponible :reprise dans la liste des MI des cartes existant réellement (uniquement E/S TOR). Les mémentos de couplage ne sont pas pris en compte.

Pas de reprise des valeurs du DB 1

Tableau 4-2 Comparaison des modes de démarrage et de redémarrage

Etat de fonctionnement MISE EN ROUTE

Programmation de la CPU 948C79000-G8577-C848-04 4 - 21

Page 174: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Démarrage Redémarrage

Suite du tableau 4-3

Opérations effectuées par le programme système (suite)

Reprise des présélections système du DX 0 Pas d’exploitation du DX 0

Appel de l’interface utilisateur OB 20 (si elle existe)1

Appel de l’interface utilisateur OB 21/22 (si elle existe)1

Synchronisation du démarrage en mode multiprocesseur

Synchronisation du redémarrage en mode multiprocesseur

Passage en fonctionnement cyclique

- Inactiver le signal BASP- Appeler l’OB 1

Passage en fonctionnement cyclique- Le signal BASP reste actif.- Effacer la mémoire image des sorties- Traiter le reste du cycle- Inactiver le signal BASP- Appeler l’OB 1

1 Au démarrage après mise sous tension, les interfaces utilisateur sont appelées dans l’ordre suivant : OB 38, OB 39, OB 20/OB 22.

4.3.4Démarrage avec rémanence Si le mode "Démarrage avec rémanence" est paramétré dans le DX 0,

le programme système exécute un démarrage présentant, par rapportau démarrage "normal", les caractéristiques décrites dans le para-graphe suivant.

Etat de fonctionnement MISE EN ROUTE

Programmation de la CPU 9484 - 22 C79000-G8577-C848-04

Page 175: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

4.3.5Comparaison entre démarra-ge et démarrage avec réma-nence

Le tableau suivant présente un comparatif des modes de démarrage etde démarrage avec rémanence.

Démarrage Démarrage avec rémanence

Déclenche-ment manuel

Commutateur à rappel automatique sur RESET et commutateur de mode de STOP sur RUNouFonction PG de démarrage de l’AP

Commutateur de mode de STOP sur RUN

ouFonction PG de redémarrage de l’AP

Déclen-chementautomatique

Remise sous tension si le DX 0 contient "Démarrage automatique à la mise sous tension"

Remise sous tension si le DX 0 contient "Redémarrage automatique à la mise sous tension" et "Démarrage avec rémanence"

Opérations effectuées par le programme système

Créer la liste des adresses de blocs dans le DB 0

Effacer la mémoire image des entrées

Effacer la mémoire image des sorties

Effacer les alarmes de retardement et les contrats à heure fixe

Effacer les mémentos, compteurs et temporisations

Effacer la périphérie TOR/analogique (128 octets chacune)

Conserver la liste des adresses de blocs dans le DB 0

Conserver la mémoire image des entrées

Conserver la mémoire image des sorties

Effacer les alarmes de retardement et les contrats à heure fixe

Conserver les mémentos, compteurs et temporisations

Effacer la périphérie TOR (128 octets), conserver la périphérie analogique (128 octets)

Effacer les mémentos de couplage (256 octets)

Effacer la pile des interruptions et la pile des blocs

Effacer les sémaphores

Conserver les mémentos de couplage (256 octets)

Effacer la pile des interruptions et la pile des blocs

Conserver les sémaphores

DB 1 disponible :reprise dans la liste des MI des E/S TOR et des mémentos de couplage s’y trouvant

DB 1 non disponible :reprise dans la liste des MI des cartes existant réellement (uniquement E/S TOR). Les mémentos de couplage ne sont pas pris en compte.

Pas de reprise des valeurs du DB 1

Tableau 4-3 Comparaison des modes de démarrage et de démarrage avec rémanence

Etat de fonctionnement MISE EN ROUTE

Programmation de la CPU 948C79000-G8577-C848-04 4 - 23

Page 176: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Démarrage Démarrage avec rémanence

Opérations effectuées par le programme système(suite)

Suite du tableau 4-4

Reprise des présélections système du DX 0 Pas d’exploitation du DX 0

Appel de l’interface utilisateur OB 20 (s’il existe)1

Appel de l’interface utilisateur OB 21/22 (s’il existe)1

Synchronisation du démarrage en mode multiprocesseur

Synchronisation du démarrage en mode multiprocesseur

Passage en fonctionnement cyclique

- Inactiver le signal BASP- Appeler l’OB 1

Passage en fonctionnement cyclique

- Inactiver le signal BASP- Appeler l’OB 1

1 Au démarrage après mise sous tension, les interfaces utilisateur sont appelées dans l’ordre suivant : OB 38, OB 39, OB 20/OB 22.

4.3.6Interfaces utilisateur pourla mise en route

Les blocs d’organisation OB 20, OB 21 et OB 22 servent d’interfacesutilisateur pour les différents modes de mise en route. Vous pouvez yécrire le programme STEP 5 correspondant au mode désiré.

OB 20 Le programme système appelle le bloc OB 20 une fois lorsque la CPUeffectue un démarrage manuel ou automatique. Vous pouvez y écrireun programme STEP 5 qui prépare un recommencement du traite-ment cyclique.

Vous pouvez par exemple :

•• positionner des mémentos,

•• déclencher des temporisations (le programme système ne les lan-cera qu’au passage en mode de marche RUN),

•• prédéfinir des données qui seront transmises aux cartes de péri-phérie,

•• effectuer la synchronisation de processeurs de communication CP.

Après le traitement du bloc OB 20, débute le traitement cyclique parl’appel de l’OB 1.Si le bloc OB 20 n’est pas chargé, la CPU entame le traitement cycli-que immédiatement à la fin de la procédure de démarrage (après lesopérations effectuées par le système).

Etat de fonctionnement MISE EN ROUTE

Programmation de la CPU 9484 - 24 C79000-G8577-C848-04

Page 177: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

OB 21 Le programme système appelle le bloc OB 21 une fois lorsque la CPUeffectue un redémarrage manuel ou un démarrage manuel avec réma-nence. Vous pouvez y écrire un programme STEP 5 qui prépare la re-prise du traitement cyclique.

Redémarrage manuel Après le traitement du bloc OB 21 en mode de redémarrage manuel,le traitement cyclique reprend à l’endroit de l’interruption, par l’ins-truction suivante. Ce faisant :

•• Le signal BASP (verrouillage des sorties) reste actif jusqu’à la findu cycle restant et n’est désactivé qu’au début du cycle suivant.

•• La mémoire image des sorties est remise à zéro à la fin du cyclerestant.

•• Si le bloc OB 21 n’est pas chargé, la CPU reprend le traitement duprogramme au point d’interruption dès la fin de la procédure de re-démarrage.

Démarrage manuel avecrémanence

Si le mode "Démarrage avec rémanence" est paramétré dans le DX 0,le programme système exécute, après le traitement de l’OB 21, undémarrage (la CPU reprend l’exécution du programme à la premièreinstruction STEP 5 dans l’OB 1). L’état des mémentos, mémentosde couplage et sémaphores et la liste des adresses de blocs (DB 0)sont conservés.

Etat de fonctionnement MISE EN ROUTE

Programmation de la CPU 948C79000-G8577-C848-04 4 - 25

Page 178: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

OB 22 Lorsque la CPU exécute un redémarrage automatique ou un démarra-ge automatique avec rémanence, le programme système appelle unefois le bloc OB 22. Vous pouvez y écrire un programme STEP 5 quiprépare la reprise du traitement cyclique (généralement après une cou-pure secteur).

Redémarrage automatique Au retour de la tension d’alimentation, la CPU exécute les opérationssystème énumérées au paragraphe 4.4.3 pour le redémarrage et tentede poursuivre le traitement du programme au point d’interruption.

Le bloc OB 22 est appelé à cet effet.

Une fois celui-ci traité, le traitement reprend au point d’interruption,par l’instruction suivante.

Au retour de la tension après une coupure secteur, le traitement a lieucomme suit :

•• Le signal BASP (verrouillage des sorties) reste actif jusqu’à la findu cycle restant et n’est désactivé qu’au début du cycle suivant.

•• La mémoire image des sorties est remise à zéro à la fin du cyclerestant.

•• Si le bloc OB 22 n’est pas chargé, la CPU reprend le traitement duprogramme au point d’interruption dès la fin de la procédure de re-démarrage automatique.

Démarrage automatique avecrémanence

Si le mode "Démarrage avec rémanence" est paramétré dans le DX 0,le programme système exécute, après le traitement de l’OB 22, undémarrage (la CPU reprend l’exécution du programme à la premièreinstruction STEP 5 dans l’OB 1). L’état des mémentos, mémentosde couplage et sémaphores et la liste des adresses de blocs (DB 0)sont conservés.

Etat de fonctionnement MISE EN ROUTE

Programmation de la CPU 9484 - 26 C79000-G8577-C848-04

Page 179: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

4.3.7Redémarrage automatiqueétendu avec la CPU 948

Le mode de fonctionnement "redémarrage à chaud" (= redémarrageautomatique étendu) indiqué dans la norme CEI 1131, partie 1, est éga-lement possible avec la CPU 948. Il s’agit d’un redémarrage sous lecontrôle d’une horloge externe, aux termes de CEI 1131. Cette horlo-ge permet de surveiller le temps écoulé entre la mise hors tension et laremise sous tension de la CPU. Suivant la valeur de ce temps, un re-démarrage est autorisé ou non.

Le redémarrage automatique étendu de la CPU 948 n’est pas directe-ment intégré dans le programme système. Vous devez donc le pro-grammer vous-même.Les fonctions de base disponibles sont le redémarrage automatique(OB 22) et l’horloge temps réel interne mais sauvegardée par pile.

Programmez le redémarrage automatique étendu de la manièreci-après.

Etat de fonctionne-

ment

Opération / bloc

Marche RUN Sauvegarder régulièrement l’horodateur (date et heure) de l’horloge externe dans descellules de mémoire réservées à cet effet (par exemple, dans des mots de données) :

- à chaque fin de cycle dans l’OB 1

ou

- périodiquement par alarme d’horloge (par exemple, OB 10) si une plus grande précision est nécessaire.

Redémarrageautomatique

OB 22

Calculer la durée de l’interruption :Tinterr = première valeur d’horodatage après retour de tension - dernière valeur d’horo-datage sauvegardée avant coupure de la tension

SI ... ALORS ...

durée d’interruption > valeur maximaleautorisée

- interrompre le redémarrage (instruction STP)

ou

- exécuter un redémarrage modifié

durée d’interruption ≤ valeur maximaleautorisée

poursuivre le redémarrage

Etat de fonctionnement MISE EN ROUTE

Programmation de la CPU 948C79000-G8577-C848-04 4 - 27

Page 180: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

4.3.8Interruptions pendant lamise en route

Un programme de mise en route peut être interrompu :

•• en raison d’une coupure secteur sur l’appareil de base (MDT) ousur le châssis d’extension (DPE),

•• par le basculement sur STOP du commutateur de mode, par uneinstruction STOP, par HALT ou PGSTP

•• ou en raison d’une erreur du programme ou d’une défaillance del’équipement (voir le paragraphe 5.5).

Comportement lors d’unemise en route interrompue

Le comportement au démarrage de la CPU 948 obéit aux règles sui-vantes.

En cas d’interruption, le démarrage ou le redémarrage est toujours repris au début.

Le dernier mode de mise en route choisi est toujours valable.Exemple : 1) Coupure secteur (MDT) lors du fonctionnement cyclique

2) Commutateur en position STOP3) Rétablissement de la tension4) Commutateur en position RUNRéaction : la CPU exécute un redémarrage manuel.

Un démarrage interrompu ne peut pas être repris par un redémarrage, mais uniquement par un nouveau démarrage.

Un redémarrage interrompu peut être repris par un démarrage ou un redémarrage.

Comportement de la CPUaprès coupure secteur ousignal DPE

Si un démarrage ou redémarrage est interrompu par une coupuresecteur ou un signal DPE, le comportement de la CPU au retour de latension dépend des modes paramétré et interrompu . Le tableau sui-vant vous donne plus d’informations.

Mode paramétré dans le DX 0

Mode lors de l’interruption

OB dedémarrageinterrompu

Réaction de la CPU

Démarrageautomatique

Démarrage manuel OB 20 La CPU exécute un démarrageautomatique indépendamment desantécédents ; elle appelle l’OB 20 et letraite depuis le début. Le démarrage ouredémarrage commencé, c’est-à-direl’OB 20 ou 21, n’est pas poursuivi.

Redémarrage manuel OB 21

Démarrageautomatique

OB 20

Redémarrage automatique

Démarrage manuel OB 20 Arrêt

Redémarrage manuel OB 21 La CPU exécute un redémarrageautomatique ; elle appelle l’OB 22 et letraite depuis le début. Le redémarragecommencé, c’est-à-dire l’OB 21 ou 22,n’est pas poursuivi.

Redémarrageautomatique

OB 22

Etat de fonctionnement MISE EN ROUTE

Programmation de la CPU 9484 - 28 C79000-G8577-C848-04

Page 181: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

4.4 Etat de fonctionnement RUN (MARCHE)

Une fois la mise en route achevée, la CPU passe à l’état de fonctionne-ment RUN ou état de marche. Cet état est caractérisé par les pro-priétés ci-après.

Traitement du programmeutilisateur

Le programme utilisateur dans l’OB 1 est traité de façon cyclique, desparties de programme déclenchées par alarme pouvant toutefois êtreimbriquées.

Temporisations, compteurs,mémoires image du processus

Tous les compteurs et temporisations démarrés dans le programmesont validés. La mémoire image du processus est actualisée cycli-quement.

BASP Le signal BASP (verrouillage des sorties) est désactivé ce qui validetoutes les sorties TOR.

Mémentos de couplage Les mémentos de couplage éventuellement programmés dans le DB 1sont actualisés de manière cyclique.

En mode de marche, il existe les niveaux de traitement de programmesuivants.

Cycle Le programme utilisateur dans l’OB 1 est traité cycliquement.

Alarmes de processus/interruptions

Le traitement du programme utilisateur est déclenché par des alarmes(4 niveaux d’interruption ou 1 niveau d’alarme de processus avec8 sous-niveaux).

Alarmes d’horloge Le traitement du programme utilisateur est déclenché par horloge(9 alarmes d’horloge cycliques, 1 alarme de retardement et 1 alarmed’horloge à heure fixe).

Ces niveaux de traitement se différencient par les points suivants :

•• Ils sont déclenchés par des événements différents.

•• Pour chaque niveau de traitement de programme, il existe un ouplusieurs blocs d’organisation faisant office d’interface utilisateur.

Dans la CPU 948, il est possible de programmer tous les niveaux detraitement simultanément. Le programme système appelle lesdifférents niveaux selon les événements qui se produisent et la prioritédonnée (voir le paragraphe 4.2).

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 948C79000-G8577-C848-04 4 - 29

Page 182: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

4.4.1Traitement cyclique du pro-gramme

Le traitement cyclique est le mode de traitement normal dans les au-tomates programmables.

Déclenchement Lorsque la CPU a terminé sans erreur le programme de démarrage,elle entame le programme cyclique.

Principe Principe du traitement cyclique (opérations du programme système)

Démarrage

Démarrer la survei l lance du tempsde cycle (armer le chien de garde)

Actual iser les mémentosde couplage d´entrée

Actual iser la mémoire imagedes entrées (MIE)

Appeler le programme ut i l isateurcycl ique (OB 1)

Programme ut i l isateur

autres niveaux de trai tement

de programme

y compris imbr icat ion des

Emettre la mémoire imagedes sort ies (MIS)

Actual iser les mémentos de couplagede sort ie

Opérat ions système, tel les quecharger, suppr imer ou comprimerdes blocs

Figure 4-6 Traitement cyclique du programme

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 9484 - 30 C79000-G8577-C848-04

Page 183: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Interface utilisateur OB 1 Lors du traitement cyclique, le bloc d’organisation OB 1 est appelérégulièrement en tant qu’interface utilisateur. Le programme utilisa-teur STEP 5 dans l’OB 1 est traité du début jusqu’à la fin en passantpar tous les appels de bloc programmés. Après exécution des opérati-ons du programme système, la CPU reprend le traitement au débutavec la première instruction STEP 5 dans le bloc OB 1.

Dans le bloc OB 1, vous programmez les appels des blocs de program-me, fonctionnels et séquentiels qui doivent être traités dans le pro-gramme cyclique.

Points d’interruption Le programme cyclique peut être interrompu par :

•• une alarme d’horloge en fin de bloc ou d’instruction,

•• une alarme de processus via l’octet d’entrée EB 0 en fin de bloc,

•• une demande d’interruption (INT A/B/C/D, E, F, G) en fin de blocou d’instruction.

Vous paramétrez le mode d’interruption − aux limites de blocs oud’instructions − dans le bloc de données DX 0 (voir le chapitre 7).

Le programme cyclique peut être interrompu ou complètement aban-donné indépendamment du paramétrage du DX 0 :

•• à l’apparition d’une erreur du programme ou d’une défaillanced’équipement (en fin d’instruction),

•• par action de l’opérateur :- commutateur sur STOP, HALT (en fin d’instruction),- fonction PG en ligne (aux points de contrôle, voir le chapitre 11),

•• par une instruction d’arrêt STS (en fin d’instruction),

•• par une coupure de l’alimentation de l’appareil de base ou duchâssis d’extension (en fin d’instruction).

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 948C79000-G8577-C848-04 4 - 31

Page 184: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

4.4.2Traitement déclenché paralarme et par horloge

Il existe différents types de traitement de programme déclenché paralarme et par horloge qu’il n’est parfois pas possible de combiner.Vous précisez les types de traitement que vous voulez utiliser lors duparamétrage du bloc de données DX 0 (voir le chapitre 7).

Alarmes de processus viaEB 0

Le mode "Alarmes de processus via l’octet d’entrée EB 0" se caractéri-se par les points suivants :

•• Seul le fonctionnement monoprocesseur est possible.

•• L’imbrication de niveaux de programme prioritaires ne se faitqu’aux limites de blocs.

•• Vous ne pouvez pas utiliser l’alarme de retardement (traitementpar l’OB 6).

•• Vous ne pouvez pas utiliser l’alarme d’horloge à heure fixe (trai-tement par l’OB 9).

Interruptions système Le mode "Interruptions système" se caractérise par les points suivants :

•• Les fonctionnements monoprocesseur et multiprocesseur sontpossibles.

•• L’imbrication de niveaux de programme prioritaires se fait aux li-mites de blocs ou d’instructions.

•• Les alarmes de retardement sont traitées par l’OB 6.

•• Les alarmes d’horloge à heure fixe sont traitées par l’OB 9.

Interruptions du traitementdéclenché par horloge et par alarme

Le traitement de programme déclenché par alarme et par horloge peutêtre interrompu ou complètement abandonné indépendamment duparamétrage du DX 0 :

•• à l’apparition d’une erreur du programme ou d’une défaillanced’équipement (en fin d’instruction),

•• par action de l’opérateur :- commutateur sur STOP, HALT (en fin d’instruction),- fonction PG en ligne (aux points de contrôle, voir le chapitre 11),

•• par une instruction d’arrêt STS (en fin d’instruction),

•• par une coupure de l’alimentation de l’appareil de base ou duchâssis d’extension (en fin d’instruction).

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 9484 - 32 C79000-G8577-C848-04

Page 185: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

4.4.3Traitement déclenché parhorloge

A ce type de traitement appartiennent l’alarme de retardement, l’alar-me d’horloge à heure fixe et les alarmes d’horloge cycliques.

Toutes ces alarmes ont ceci en commun qu’elles sont déclenchées parhorloge.

Ce traitement de programme s’exécute au niveau "Alarmes d’horloge".

Alarme de retardement Cette alarme est déclenchée une fois selon un temps de retard choisi li-brement de l’ordre des millisecondes. Elle appelle le bloc d’organisati-on OB 6.

Alarme d’horloge à heure fixe Le déclenchement de cette alarme est à caractère unique à une heurefixe ou bien périodique toujours à la même heure. Le bloc d’organisa-tion OB 9 est alors appelé.

Alarmes d’horloge cycliques Ces alarmes sont déclenchées à intervalles fixes (durée fixe entre deuxdémarrages du programme), avec 9 périodes différentes possibles. Achaque alarme d’horloge cyclique est associé un bloc d’organisation(OB 10 à OB 18).

Priorités Le niveau de traitement déclenché par horloge comporte les prioritéssuivantes.

Alarme de retardementAlarme d’horloge cyclique, période 1

Alarme d’horloge cyclique, période 2Alarme d’horloge cyclique, période 3Alarme d’horloge cyclique, période 4Alarme d’horloge cyclique, période 5Alarme d’horloge cyclique, période 6Alarme d’horloge cyclique, période 7Alarme d’horloge cyclique, période 8Alarme d’horloge cyclique, période 9

Alarme d’horloge à heure fixe

OB 6OB 10, période la

plus courteOB 11OB 12OB 13 PrioritéOB 14 croissanteOB 15OB 16OB 17OB 18, période la

plus longueOB 9

NotaLe traitement d’alarme déclenché par horloge dans les OB 6 et 9ne s’exécute que lorsque le paramètre "Alarmes de processus vial’octet d’entrée EB 0" est désactivé (NON) dans le DX 0.Lorsqu’il est activé (valeur par défaut), les alarmes de processuscorrespondantes de l’octet EB 0 sont traitées via l’OB 6 et l’OB 9(voir le paragraphe 4.5.4).

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 948C79000-G8577-C848-04 4 - 33

Page 186: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Alarme de retardement L’alarme de retardement de la CPU 948 permet de définir de courts in-tervalles de temps avec une précision de 1 ms. Une fois le temps indi-qué écoulé, le programme système appelle l’OB 6 une fois.

Déclenchement Une alarme de retardement est générée par l’appel du bloc d’organisa-tion de fonction spéciale OB 153 (voir le paragraphe 6.14). Aprèsécoulement du temps de retard paramétré dans l’OB 153, le program-me système interrompt le niveau de traitement en cours et appellel’OB 6 (niveau de traitement de programme "Alarmes d’horloge"). En-suite, le traitement du programme reprend au point d’interruption.

L’alarme de retardement n’est toutefois traitée que si le paramètre"Alarmes de processus via l’octet d’entrée EB 0" est désactivé (NON)dans le bloc de données DX 0.

Interface utilisateur OB 6 L’OB 6 fait office d’interface utilisateur pour une alarme de retarde-ment. Vous y écrivez le programme STEP 5 qui doit être exécuté dansce cas. Si cet OB n’est pas chargé, le traitement du programme n’estpas interrompu.

Interruptions Le niveau "Alarmes d’horloge" a, par défaut, la priorité la plus élevéedes niveaux de base (modifiable dans le DX 0).

Au sein du traitement de programme déclenché par horloge, le traite-ment de l’alarme de retardement est prioritaire.

Ainsi, aucun autre programme utilisateur ne peut interrompre le traite-ment de l’alarme de retardement.

Particularités •• Une alarme de retardement n’est traitée qu’en état de marche(RUN). Les alarmes de retardement se présentant à l’arrêt (STOP),lors d’une coupure secteur ou au démarrage sont rejetées.

•• Une alarme de retardement générée une fois (appel de l’OB 153traité) n’est pas conservée lors du passage à l’arrêt ou de coupurede l’alimentation.

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 9484 - 34 C79000-G8577-C848-04

Page 187: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

•• La génération d’une nouvelle alarme de retardement − appel del’OB 153 avec de nouveaux paramètres − provoque l’annulationd’une alarme de retardement définie précédemment. En revanche,le traitement d’une alarme de retardement en cours se poursuit.Une seule alarme de retardement est donc valable à un momentdonné.

•• Si une alarme de retardement se présente alors que la précédenten’est pas complètement traitée, la nouvelle alarme est rejetée.L’alarme de retardement ne fait pas l’objet d’un contrôle dutype "erreur de traitement d’alarmes d’horloge".

•• Les blocs d’organisation de fonctions spéciales OB 122 et OB 142permettent d’inhiber ou de retarder le traitement d’alarmes de retar-dement.

Alarme d’horloge à heurefixe

La CPU 948 comporte un horodateur sauvegardé (sauvegarde par lapile du tiroir d’alimentation de l’appareil de base) que vous pouvezgénérer et lire par le biais d’un programme STEP 5. Cet horodateurpermet le traitement temporel d’une partie de programme.

Alors que l’alarme de retardement est adaptée aux phénomènes ra-pides, l’alarme d’horloge à heure fixe convient particulièrement autraitement d’événements uniques ou d’événements se présentantcycliquement à intervalles de temps importants, par exemple toutesles heures, tous les jours ou tous les mois. Lorsque le moment fixé estatteint, le programme système appelle l’OB 9.

Déclenchement Une alarme d’horloge à heure fixe (contrat à heure fixe) est généréepar l’appel du bloc d’organisation de fonction spéciale OB 151 (voirle paragraphe 6.13). Le contrat est traité lorsque le moment définidans l’OB 151 (heure, date) est atteint. Le programme système inter-rompt le traitement de programme en cours et appelle l’OB 9 (niveaude traitement de programme "Alarmes d’horloge"). Ensuite, le traite-ment du programme reprend au point d’interruption.

L’alarme d’horloge à heure fixe n’est toutefois traitée que si le pa-ramètre "Alarmes de processus via l’octet d’entrée EB 0" est désactivé(NON) dans le bloc de données DX 0.

Interface utilisateur OB 9 L’OB 9 fait office d’interface utilisateur pour une alarme d’horloge àheure fixe. Vous y écrivez le programme STEP 5 qui doit être exécutédans ce cas. Si cet OB n’est pas chargé, le traitement du programmen’est pas interrompu.

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 948C79000-G8577-C848-04 4 - 35

Page 188: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Interruptions Le niveau "Alarmes d’horloge" a, par défaut, la priorité la plus élevéedes niveaux de base (modifiable dans le DX 0).

Au sein du traitement de programme déclenché par horloge, le traite-ment de l’alarme d’horloge à heure fixe a la priorité la plus basse. Ain-si, il peut être interrompu par le traitement d’une alarme deretardement ou d’une alarme d’horloge cyclique.

Particularités •• Une alarme d’horloge à heure fixe n’est traitée qu’en mode de mar-che (RUN). Les alarmes d’horloge à heure fixe se présentant à l’ar-rêt (STOP), lors d’une coupure secteur ou au démarrage sontrejetées.

•• Une alarme d’horloge à heure fixe générée une fois (appel del’OB 151 traité) est conservée lors d’un redémarrage ou lors d’unecoupure suivie d’un rétablissement de la tension. En revanche, elleest effacée lors d’un démarrage.

•• La génération d’une nouvelle alarme d’horloge à heure fixe − ap-pel de l’OB 151 avec de nouveaux paramètres − provoque l’annu-lation d’une alarme d’horloge à heure fixe définie précédemment.En revanche, le traitement d’une alarme d’horloge à heure fixe encours se poursuit. Une seule alarme d’horloge à heure fixe estdonc valable à un moment donné.

•• Si une alarme d’horloge à heure fixe se présente alors que laprécédente n’est pas complètement traitée, la nouvelle alarme estrejetée. L’alarme d’horloge à heure fixe ne fait pas l’objet d’uncontrôle du type "erreur de traitement d’alarmes d’horloge".

•• Les blocs d’organisation de fonctions spéciales OB 122 et OB 142permettent d’inhiber ou de retarder le traitement d’alarmes d’horlo-ge à heure fixe.

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 9484 - 36 C79000-G8577-C848-04

Page 189: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Alarmes d’horlogecycliques

La CPU 948 permet de déclencher 9 programmes périodiquesdifférents, chacun étant appelé cycliquement avec une autre période.

Déclenchement La base de temps pour le traitement d’alarmes d’horloge est, pardéfaut, de 100 ms. Vous pouvez la modifier à l’aide d’un paramètrespécial dans le bloc DX 0 par paliers de 10 ms (base de temps = yy *10 ms, avec 01H ≤ yy ≤ FFH).

Pour la définition de la base de temps, orientez-vous à la durée la pluscourte nécessaire à votre application pour le traitement cyclique.

Grille de périodicité Les alarmes d’horloge cycliques sont traitées selon des grilles de péri-odicité données avec 9 périodes différentes. A chaque période est af-fecté un bloc d’organisation précis. Vous pouvez choisir l’une desdeux grilles de périodicité possibles à l’aide d’un paramètre spécialdans le bloc DX 0.Le tableau suivant présente les deux grilles de périodicité et les blocsde données correspondant aux différentes périodes.

Grille 1 (présélection) Grille 2 Appel de

1 x base de temps 2 x base de temps 5 x base de temps 10 x base de temps 20 x base de temps 50 x base de temps 100 x base de temps 200 x base de temps 500 x base de temps

1 x base de temps 2 x base de temps 4 x base de temps 8 x base de temps 16 x base de temps 32 x base de temps 64 x base de temps 128 x base de temps 256 x base de temps

OB 10OB 11OB 12OB 13OB 14OB 15OB 16OB 17OB 18

NotaLe premier appel d’un OB d’alarme d’horloge après la mise enroute intervient pendant le temps alloué à l’OB considéré.

Si, par exemple, vous avez choisi pour l’OB 18 une périoded’appel de 500 secondes (base de temps choisie dans le DX 0 = 1et grille de périodicité = 1), le premier appel de l’OB 18 après undémarrage intervient après environ 20 secondes. Les appelssuivants auront cependant lieu toutes les 500 secondesexactement.

Tableau 4-5 Grilles de périodicité et périodes des alarmes d’horloge

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 948C79000-G8577-C848-04 4 - 37

Page 190: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Interfaces utilisateur OB 10 à OB 18

Lors de l’apparition d’une alarme d’horloge, le bloc d’organisation as-socié est appelé comme interface utilisateur à la limite de bloc oud’instruction suivante.

L’OB 10 contiendra, par exemple, la partie de programme devant êtreinsérée toutes les 100 ms (présélection) dans le traitement cyclique.

Seule l’alarme d’horloge dont le bloc d’organisation est chargé esttraitée. Si aucun des OB 10 à OB 18 n’est chargé, il n’y a pas de traite-ment de programme déclenché par horloge et le traitement cycliquedu programme n’est donc pas interrompu.

D’autre part, un paramètre dans le bloc DX 0 vous permet de désacti-ver le traitement des alarmes d’horloge, pour le test du programme parexemple.

Interruptions Le niveau "Alarmes d’horloge" a, par défaut, la priorité la plus élevéedes niveaux de base (modifiable dans le DX 0).

En raison des priorités au sein du traitement déclenché par horloge, lesinterruptions suivantes peuvent se produire lors du traitement d’unealarme d’horloge cyclique.

•• Le traitement d’une alarme d’horloge cyclique peut être interrom-pu par le traitement d’une alarme de retardement.

•• Les périodes courtes sont prioritaires et peuvent interrompre lespériodes plus longues. Par exemple, l’OB 12 interrompt le traite-ment de l’OB 17.

NotaUn traitement séquentiel sans interruption est possible pour lestrois périodes les plus courtes (OB 10 à OB 12). Si, parexemple, pendant le traitement d’un OB 10, une autre alarmed’horloge pour l’OB 10 apparaît, le traitement en cours del’OB 10 est d’abord mené à bien, puis l’OB 10 est à nouveauappelé. La présence simultanée de plus de trois alarmesd’horloge pour ces trois OB entraîne toutefois une erreur detraitement d’alarmes d’horloge.

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 9484 - 38 C79000-G8577-C848-04

Page 191: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Erreur de traitementd’alarmes d’horloge

La CPU 948 distingue deux types d’erreurs de traitement d’alarmesd’horloge.

Type d’erreur/cause Code dans l’ITPILE Réaction de la CPU

Dépassement de la file d’attente lors du traitement d’alarmes d’horloge(collision d’alarmes d’horloge)

- Présence de plus de trois alarmes d’horloge pour les périodes les plus courtes (OB 10 à OB 12)

- Nouvel appel de l’un des autres OB (OB 13 à OB 18) alors que son traitement n’est pas entière-ment achevé

Lors de la lecture de la pile des interruptions, le bit COLAH est marqué d’une croix dans le masque des bits de commande.

Le programme système appelle l’OB 33. Si ce dernier n’est pas chargé, la CPU passe à l’état d’arrêt(STOP).

Dans le mode d’interruption en fin de bloc, le traitement est bloqué par la durée d’exécution d’un bloc dans le programme utilisateur cyclique ; l’exécution de ce bloc dure plus long-temps que la base de temps sélectionnée dans le DX 0.

Lors de la lecture de la pile des interruptions, le bit AHMAS est marqué d’une croix dans le masque des bits de commande.

Le programme système appelle l’OB 33. Si ce dernier n’est pas chargé, il poursuit le traitement.

OB 33 de réaction à l’erreur Vous pouvez programmer dans l’OB 33 la réaction désirée à l’erreurde traitement d’alarmes d’horloge. A l’appel de ce bloc, le programmesystème inscrit un code d’erreur dans l’accumulateur 1-L (bits 0 à 9).Vous trouverez dans le tableau suivant la signification de ces bits(bit = 1).

Bit Signification

0

1

2

Dépassement de la file d’attente pour la période 1 (plus de trois alarmes d’horloge attendent d’être traitées pour l’OB 10)Dépassement de la file d’attente pour la période 2 (plus de trois alarmes d’horloge attendent d’être traitées pour l’OB 11)Dépassement de la file d’attente pour la période 3 (plus de trois alarmes d’horloge attendent d’être traitées pour l’OB 12)

3

4

Dépassement de la file d’attente pour la période 4 (nouvel appel de l’OB 13 alors que le traitement de l’appel précédent n’est pas achevé)Dépassement de la file d’attente pour la période 5 (nouvel appel de l’OB 14 alors que le traitement de l’appel précédent n’est pas achevé)

Tableau 4-6 Code d’erreur de traitement d’alarmes d’horloge : bits dans l’ACCU 1-L

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 948C79000-G8577-C848-04 4 - 39

Page 192: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Bit Signification

5

6

7

8

Dépassement de la file d’attente pour la période 6 (nouvel appel de l’OB 15 alors quele traitement de l’appel précédent n’est pas achevé)Dépassement de la file d’attente pour la période 7 (nouvel appel de l’OB 16 alors quele traitement de l’appel précédent n’est pas achevé)Dépassement de la file d’attente pour la période 8 (nouvel appel de l’OB 17 alors quele traitement de l’appel précédent n’est pas achevé)Dépassement de la file d’attente pour la période 9 (nouvel appel de l’OB 18 alors quele traitement de l’appel précédent n’est pas achevé)

9 Alarme d’horloge masquée trop longtemps

A la fin du traitement de l’OB 33, le programme reprend dans l’OBd’alarme d’horloge interrompu.

NotaEn cas d’erreur de traitement d’alarmes d’horloge dans le moded’interruption en fin de bloc, le compteur d’adresse STEP, CAD,ne pointe pas sur le bloc à la fin duquel (instruction BE) l’erreurs’est produite, mais sur le bloc qui a appelé le bloc à l’origine del’erreur (adresse de retour).

Les possibilités de paramétrage du bloc de données DX 0 sont lessuivantes pour le traitement déclenché par horloge (voir lechapitre 7) :- sélection de la base de temps,- sélection de la grille de périodicité,- sélection de la priorité par rapport au traitement de programme déclenché par alarme,- activation/désactivation du traitement d’alarmes d’horloge.

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 9484 - 40 C79000-G8577-C848-04

Page 193: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

4.4.4Traitement déclenché paralarme

Suivant le mode de fonctionnement choisi, la CPU 948 permet deuxtypes de traitement déclenché par alarme :

•• Alarmes de processuspar l’octet d’entrée EB 0 (8 alarmes au maximum)

•• Interruptionspar les lignes du bus S5 (4 interruptions au maximum)

Alarmes de processus parl’octet d’entrée EB 0

Le traitement des alarmes de processus n’a lieu que si vous n’avez pasmodifié la présélection "Alarmes de processus via l’octet d’entréeEB 0 = OUI" dans le bloc de données DX 0.

Il y a traitement déclenché par alarme de processus quand un change-ment d’état dans l’octet d’entrée EB 0 demande à la CPU d’interrom-pre le traitement de programme en cours et de traiter un programmespécifique.

NotaSi vous avez activé le traitement des alarmes de processus vial’octet EB 0, vous ne disposez pas de l’alarme de retardement, del’alarme d’horloge à heure fixe ni des interruptions système.

Déclenchement Le changement d’état d’un bit dans l’octet d’entrée EB 0 déclenchel’alarme de processus.

Interfaces utilisateur OB 2 à OB 9

A l’apparition d’une alarme de processus, les blocs d’organisation sui-vants sont appelés en tant qu’interfaces utilisateur.

Changement d’état du bit dans l’EB 0 Appel de

E 0.0E 0.1E 0.2E 0.3E 0.4E 0.5E 0.6E 0.7

OB 2OB 3OB 4OB 5OB 6OB 7OB 8OB 9

Tableau 4-7 Interfaces utilisateur pour les alarmes de processus

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 948C79000-G8577-C848-04 4 - 41

Page 194: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Vous entrez dans les blocs d’organisation OB 2 à OB 9 la partie devotre programme STEP 5 qui doit être traitée lors de l’apparition del’alarme de processus correspondante via l’octet d’entrée EB 0.Si l’OB concerné n’est pas chargé, le traitement en cours n’est pas in-terrompu et il n’y a pas de traitement d’alarme.

NotaSi, lors de l’accès de la CPU à l’octet EB 0 en fonctionnementnormal, la carte de périphérie n’émet pas de signal d’acquitte-ment, le programme système constate un retard d’acquittement(ACQ) et appelle l’interface utilisateur OB 28. Si ce dernier n’estpas chargé, la CPU se met en état d’arrêt.

Priorité des alarmes deprocessus

Par défaut, le niveau "Alarmes de processus" a une priorité moins éle-vée que le niveau "Alarmes d’horloge". Vous pouvez toutefois chan-ger cet état de choses par un paramètre dans le bloc de données DX 0.

Au sein du niveau de traitement des alarmes de processus, les prioritéssont organisées comme suit :

E 0.0E 0.1E 0.2E 0.3E 0.4E 0.5E 0.6E 0.7

OB 2OB 3OB 4 PrioritéOB 5 croissanteOB 6OB 7OB 8OB 9

Aucun traitement imbriqué n’est possible pour les alarmes de proces-sus. Si, à la fin du traitement d’un OB d’alarme de processus, d’autresalarmes de processus sont en instance, le programme système appelleet traite l’OB correspondant à l’alarme prioritaire suivante parmi cel-les présentes.Le niveau de traitement des alarmes de processus n’est abandonné quelorsque l’ensemble des changements d’état dans l’octet EB 0 a été prisen compte et que les blocs d’organisation correspondants ont été en-tièrement traités.

NotaUn traitement d’alarme de processus ne peut pas être inter-rompu par un autre traitement d’alarme de processus.

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 9484 - 42 C79000-G8577-C848-04

Page 195: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Interruptions par les lignesdu bus S5

Il y a traitement déclenché par interruption quand un signal du bus S5,issu d’une carte de périphérie interruptive (par exemple, entrées TOR,IP, CP), demande à la CPU d’interrompre le traitement de programmeen cours et de traiter un programme spécifique.

NotaSi vous désirez recourir au traitement des interruptions par leslignes du bus S5 dans votre CPU, vous devez sélectionner"Alarmes de processus via l’octet d’entrée EB 0 = NON" dans lebloc DX 0 et activer les différentes interruptions par unparamétrage du DX 0.Vous devez en outre valider les interruptions par les cavaliers surla carte (cf. annexe et bibliographie /2/).Sur la CPU 948, vous pouvez, contrairement à la CPU 946/947,activer au choix le mode d’interruption aux limites de blocs ouaux limites d’instructions dans le DX 0.

Réglage des cavaliers pourles interruptions système

Vous disposez de 4 interruptions système pour le traitement de pro-gramme commandé par interruption de la CPU 948 :

- INT A/B/C/D (selon l’emplacement d’enfichage de la CPU ; voir manuel système, bibliographie /2/),

- INT E,- INT F

et- INT G.

Vous devez valider les interruptions que vous désirez utiliser à l’aidedes cavaliers joints. Le socle des cavaliers se situe sur la carte mère,au-dessus de la fente pour la carte à mémoire (cf. annexe 1).

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 948C79000-G8577-C848-04 4 - 43

Page 196: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Déclenchement L’état actif sur une ligne d’interruption du bus S5 déclenche l’interrup-tion. Le déclenchement est effectué sur le niveau bas du signal d’inter-ruption. Pour acquitter l’interruption, reportez-vous à la notice demise en oeuvre de la carte qui a déclenché l’interruption.

Interfaces utilisateur OB 2 àOB 5

A l’apparition d’une interruption, les blocs d’organisation suivantssont appelés en tant qu’interfaces utilisateur.

Interruption déclenchée par Appel de

signal d’interruption X (A, B, C ou D, suivant l’emplacement)signal d’interruption Esignal d’interruption Fsignal d’interruption G

OB 2

OB 3OB 4OB 5

Par exemple, pour le signal d’interruption F, le programme systèmeappelle l’OB 4.

Si l’OB concerné n’est pas chargé, le traitement en cours n’est pas in-terrompu et il n’y a pas de traitement d’interruption.

Priorité des interruptions Par défaut, le niveau "Alarmes de processus" a une priorité moins éle-vée que le niveau "Alarmes d’horloge". Vous pouvez toutefois chan-ger cet état de choses par un paramètre dans le bloc de données DX 0.

Au sein du niveau de traitement des interruptions, les priorités sont or-ganisées comme suit.

•• En présence de plusieurs interruptions, les blocs d’organisationcorrespondants sont appelés dans l’ordre de priorité que vous avezparamétré dans le bloc DX 0 (priorité élémentaire).

Les priorités des quatre interruptions peuvent s’échelonner entre 1 et 5.

Tableau 4-8 Interfaces utilisateur pour les interruptions

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 9484 - 44 C79000-G8577-C848-04

Page 197: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Si, à la fin du traitement d’un OB d’interruption, d’autres interruptionssont en instance, le programme système appelle et traite l’OB corres-pondant à l’interruption prioritaire suivante parmi celles présentes.Le niveau de traitement des interruptions n’est abandonné que lorsquetous les états actifs (niveau bas) d’une ligne d’interruption sur le busS5 ont été pris en compte et que les blocs d’organisation correspon-dants ont été entièrement traités.

NotaUn traitement déclenché par interruption ne peut pas êtreinterrompu par une nouvelle apparition de la même interruption.

Inhibition du traitementd’alarmes

Un programme déclenché par alarme est inséré dans le programme cy-clique en fin de bloc ou en fin d’instruction STEP 5. Cette interruptionpeut avoir un effet négatif quand une partie du programme cycliquedoit être traitée dans un intervalle de temps donné (par exemple, pouratteindre un temps de réaction déterminé) ou quand une suited’instructions ne doit pas être interrompue (par exemple, lors de lalecture ou de l’écriture d’un ensemble de valeurs).

Lorsqu’une partie de programme ne doit pas être interrompue par untraitement d’alarme, vous disposez des possibilités de programmationsuivantes.

Interruption en fin de bloc •• Programmez la partie de programme concernée de manière à cequ’elle ne contienne pas de changement de bloc ; elle ne peut alorspas être interrompue.

•• Utilisez l’OB 122 qui permet d’inhiber le traitement des alarmesde processus qui se présentent sur une certaine partie du pro-gramme. Notez cependant que les alarmes d’horloge sont égale-ment inhibées (voir le paragraphe 6.3).

•• Utilisez l’instruction AS de STEP 5 (inhibition des alarmes deprocessus). L’instruction AF (validation des alarmes de processus)permet de réactiver le traitement d’alarme.

Entre ces deux instructions, aucun traitement d’alarme de proces-sus n’est effectué et la partie de programme ainsi délimitée nepeut pas être interrompue par d’éventuelles alarmes de processus.

Vous ne pouvez utiliser les instructions AS et AF que dans desblocs fonctionnels (jeu d’opérations étendu, voir le paragraphe3.5.4). En outre, elles ne valent que pour les alarmes de processusvia l’octet d’entrée EB 0.

NotaL’instruction AF reste sans effet lorsque les alarmes de processussont inhibées par le bloc OB 122 ou retardées par le bloc OB 142.

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 948C79000-G8577-C848-04 4 - 45

Page 198: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Interruption en fin d’instruction •• Ecrivez la partie de programme qui ne doit pas être interrompuedans un OB d’interruption en lui affectant la priorité la plus élevée.

•• Utilisez l’OB 122 qui inhibe le traitement des interruptions et desalarmes d’horloge (voir le paragraphe 6.3).

•• Avec les instructions LIM et SIM (opérations système, voir le para-graphe 3.5.4), vous pouvez lire ou définir les 32 bits du mot demasquage des interruptions.

Dans le bloc DX 0, vous pouvez également inhiber globalement le trai-tement des alarmes ou désactiver chaque interruption de manièresélective. Cela n’est toutefois possible qu’après un démarrage, car leDX 0 n’est exploité que dans ce cas (voir le chapitre 7).

Temps de réaction Le temps de réaction à une alarme de processus ou à une interruptiondépend du temps de traitement d’un bloc (en cas d’interruption aux li-mites de blocs) ou du temps d’exécution d’une instruction STEP 5 (encas d’interruption aux limites d’instructions). Toutefois, si des alarmesd’horloge prioritaires sont présentes au moment de l’interruption duprogramme cyclique, le programme déclenché par alarme ne seratraité que lorsque le traitement de toutes les alarmes d’horloge en at-tente sera terminé.

Le temps maximal de réaction entre l’apparition et le traitement d’unealarme de processus ou d’une interruption s’accroît alors de la duréede traitement des alarmes d’horloge prioritaires.

Niveaux de traitement deprogramme et mémentos

Lorsque votre programme utilisateur comporte non seulement une par-tie cyclique, mais également un traitement déclenché par alarme oupar horloge, vos mémentos risquent d’être écrasés.C’est le cas si les différents niveaux de traitement de programme ac-cèdent aux mêmes zones de mémentos.

Pour cette raison, vous devez soit affecter explicitement les mémentosaux différents niveaux de traitement de programme, soit sauvegarder,au début d’un traitement déclenché par horloge ou par alarme, lesétats des mémentos dans un bloc de données et les restaurer à la fin dece traitement. Il en est de même pour le redémarrage.

Afin d’éviter que des mémentos ne soient écrasés, vous pouvez dansla plupart des cas faire appel aux mémentos S, disponibles en nombresuffisamment important. Il est alors inutile de sauvegarder les mémen-tos à condition de les affecter explicitement aux différents niveaux detraitement de programme.

Etat de fonctionnement RUN (MARCHE)

Programmation de la CPU 9484 - 46 C79000-G8577-C848-04

Page 199: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire du chapitre 5

5.1 Erreurs fréquentes dans le programme utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 4

5.2 Informations d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 5

5.3 Marche à suivre pour la recherche d’erreur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 8

5.4 Bits de commande et pile des interruptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 9

5.4.1 Bits de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 105.4.2 Pile des interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 145.4.3 Exemple de diagnostic d’erreur au moyen de l’ITPILE . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 19

5.5 Traitement des erreurs à l’aide de blocs d’organisation . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 20

5.6 Origine des erreurs et réactions aux erreurs de la CPU . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 23

5.6.1 OB 19 : appel d’un bloc de code non chargé (BL INEX) . . . . . . . . . . . . . . . . . . . . . . . 5 - 245.6.2 OB 19 : appel d’un bloc de données non chargé (DB INEX) . . . . . . . . . . . . . . . . . . . . 5 - 245.6.3 OB 23/24, OB 28/29 : retard d’acquittement (ACQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 255.6.4 OB 25 : erreur d’adressage (DAD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 265.6.5 OB 26 : erreur de temps de cycle (CYC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 275.6.6 OB 27 : erreur de substitution (SUB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 285.6.7 OB 30 : erreur de parité et ACQ pour la mémoire utilisateur (PARI) . . . . . . . . . . . . . . 5 - 285.6.8 OB 32 : erreur de transfert et de chargement (DTC) . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 295.6.9 OB 33 : erreur de traitement d’alarmes d’horloge (COLAH/AHMAS). . . . . . . . . . . . . 5 - 305.6.10 OB 34 : erreur pour E DB/EX DX (ER.EDBX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 325.6.11 OB 35 : erreur de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 325.6.12 OB 36 : erreur lors de l’autotest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 33

5.7 Autotest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 34

5.7.1 Généralités. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 345.7.2 Description des fonctions de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 355.7.3 Sélections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 375.7.4 Traitement des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 38

5Traitement des interruptionset des erreurs

Programmation de la CPU 948C79000-G8577-C848-04 5 - 1

Page 200: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire

Programmation de la CPU 9485 - 2 C79000-G8577-C848-04

Page 201: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5Traitement des interruptions et des erreurs

Le présent chapitre indique comment procéder pour éviter des erreursde conception et de programmation dans STEP 5.Vous y trouverez des renseignements sur les moyens que le program-me système met à votre disposition pour le diagnostic et une éventuel-le réaction aux erreurs ainsi que sur les blocs dans lesquels vouspouvez programmer des réactions à des erreurs déterminées.Vous apprendrez également comment activer les fonctions systèmeintégrées pour effectuer un autotest de la CPU 948.

Programmation de la CPU 948C79000-G8577-C848-04 5 - 3

Page 202: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.1 Erreurs fréquentes dans le programme utilisateur

Le programme système peut constater un fonctionnement erroné de laCPU, une erreur dans le traitement du programme système ou lesconséquences d’une programmation erronée.

La liste suivante contient les erreurs qui apparaissent le plus souventlors de la mise en service du programme utilisateur, celles-ci pouvantêtre facilement évitées lors de l’élaboration du programme.Pour cela, il faut tenir compte des points suivants lors de la concepti-on, de l’écriture et de la mise en service de votre programme STEP 5.

•• Lors de la déclaration des adresses d’octets d’entrées et de sorties,il faut que les cartes correspondant à ces adresses soient enfichéesdans l’appareil de base ou dans le châssis d’extension.

•• Assurez-vous que les opérandes sont munis des paramètres cor-rects.

•• Procédez avec précaution lors de la modification ultérieure deblocs fonctionnels. Assurez-vous que les blocs fonctionnelsFB/FX sont paramétrés avec les opérandes corrects et que tous lesopérandes effectifs sont déclarés.

•• Les sorties, les mémentos, les temporisations et les compteurs nedoivent pas être traités à plusieurs endroits du programme par desopérations contradictoires.

•• Les temporisations ne devraient être interrogées qu’une seule fois parcycle (par exemple, U T1).

•• Veillez à ce que tous les blocs de données appelés soient disponi-bles et de longueur suffisante.

•• Vérifiez que tous les blocs appelés sont effectivement dans lamémoire.

•• Les mémentos banalisés doivent être sauvegardés par les program-mes déclenchés par alarme ou horloge, puis à nouveau chargés à lafin du traitement lorsqu’ils sont utilisés dans d’autres blocs (par ex-emple, FB standard).

Erreurs fréquentes dans le programme utilisateur

Programmation de la CPU 9485 - 4 C79000-G8577-C848-04

Page 203: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.2 Informations d’erreur

Si une erreur apparaît à la mise en route ou pendant le traitement cycli-que du programme utilisateur, différentes sources d’informations sont dis-ponibles pour identifier celle-ci, à savoir :

•• diodes électroluminescentes (DEL) en face avant de la CPU,

•• pile des interruptions ITPILE et bits de commande,

•• pile des blocs BLPILE.

Les paragraphes suivants indiquent les moyens disponibles pour ex-ploiter ces diverses sources d’information et comment utiliser l’infor-mation d’erreur en vue de l’analyse d’une erreur.

DEL en face avant de la CPU

En cas d’arrêt intempestif, les DEL en face avant donnent une pre-mière indication quant à l’origine de l’erreur :

Indication de la DEL Signification

La DEL STOP est en feu fixe. Les différents types d’indicationde la DEL STOP renseignent surles causes d’interruption oud’erreur.Reportez-vous à ce sujet aux explications du paragraphe 4.1.

La DEL STOP clignote lentement.

La DEL STOP clignote rapidement.

La DEL SYS FAULT est en feu fixe.

La DEL ADF est en feu fixe. Erreur d’adressage (DAD)

La DEL QVZ est en feu fixe. Retard d’acquittement (ACQ)

La DEL ZYK est en feu fixe. Dépassement du temps de cycle (CYC)

Informations d’erreur

Programmation de la CPU 948C79000-G8577-C848-04 5 - 5

Page 204: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Lecture de la pile desinterruptions

La fonction PG en ligne de lecture de l’ITPILE présente l’état des bitsde commande de la CPU et le contenu de la pile des interruptions(ITPILE).

Lors du passage en STOP, le programme système inscrit dans la piledes interruptions toutes les informations nécessaires pour effectuer unredémarrage, à savoir :

•• le contenu des registres,

•• le contenu des accumulateurs,

•• les compteurs d’adresse STEP (CAD)

et

•• les indicateurs de résultat.

Selon la localisation de l’interruption ayant provoqué le passage enSTOP, les informations affichées concernent des blocs utilisateur oudes blocs du programme système (OB 0).

Les informations contenues dans l’ITPILE constituent une aideprécieuse pour le diagnostic d’erreur.

Avant l’affichage du contenu de la pile des interruptions, les états desbits de commande sont visualisés. Ceux-ci indiquent l’état de fon-ctionnement actuel, certaines caractéristiques de la CPU et du pro-gramme utilisateur et donnent des indications supplémentaires sur lacause de l’erreur.

La fonction de lecture de l’ITPILE peut être utilisée à l’arrêt, à la miseen route et à l’état de marche (RUN). Dans les états de fonctionne-ment "mise en route" et RUN, vous n’obtenez cependant que des infor-mations sur les bits de commande ; le contenu de la pile des interrupti-ons n’est pas affiché.

Vous trouverez une description détaillée de la signification des bits decommande ainsi que de la structure de la pile des interruptions au para-graphe 5.4.

Lecture de la pile des blocs Par la fonction PG en ligne de lecture de la BLPILE, il est possibled’obtenir à l’état STOP le contenu de la pile des blocs (BLPILE ; voir"Imbrication des blocs" au paragraphe 3.2).

Dans la pile des blocs se trouvent tous les blocs (blocs du programmeutilisateur et bloc d’organisation OB 0 du programme système) quiont été appelés les uns après les autres jusqu’au passage à l’arrêt etdont l’exécution n’est pas terminée au moment du passage en STOP.Etant donné le mode de remplissage de la pile des blocs, la ligne laplus élevée contient le bloc qui a appelé le bloc erroné.

Informations d’erreur

Programmation de la CPU 9485 - 6 C79000-G8577-C848-04

Page 205: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Informations dans la piledes blocs

La ligne la plus élevée donne les informations suivantes :

Information Signification

No de bloc Type et numéro du bloc qui a appelé le bloc erroné

Adr. bloc Adresse absolue de début de ce bloc dans la mémoire utilisateur

Adresse retour Adresse absolue de la première opération STEP 5 de ce bloc dans la mémoire utilisateur

Adr. rel. Adresse relative (= différence "Adresse retour -Adr. bloc") de l’instruction suivante à exécuterdans ce bloc Les adresses relatives peuvent être visualisées àla console, en mode de fonctionnement"verrouillage de la saisie"/interrupteur à clé etavec S5-DOS à partir de la version IV par latouche de fonction "Adresses".

No DB Numéro du dernier bloc de données ouvert dans ce bloc

Adr. DB Adresse absolue de début de ce bloc de données (adresse du mot de données DW 0) dans la mémoire de programme

Exemple

Exploitation de la pile des blocs

No de bloc Adr. bloc Adresse retour Adr. rel. No DB Adr. DB

PB 3PB 2PB 1OB 1OB 66 1

OB 63OB 62OB 61

00090000500004000010E2B10E0FC0E0490E0010

98514111E2C40E12FAE0CBEE0273

00008000010000100001001300033A0082E00263

00000000

1 Les blocs appelés avant l’OB 1 sont des blocs internes au programme système (la pile des blocs est organisée de façon chronologique).

Dans cet exemple, le bloc PB 3 a appelé le bloc erroné à l’adresse relative"00008 - 1 = 00007".Lors du saut dans le bloc erroné, aucun bloc de données n’était ouvert.

Informations d’erreur

Programmation de la CPU 948C79000-G8577-C848-04 5 - 7

Page 206: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.3 Marche à suivre pour la recherche d’erreur

En cas d’arrêt intempestif de la CPU, utilisez lors de la recherche de lacause de l’erreur toutes les informations mises à votre disposition.

Etape Action

1 Vérifiez l’état des DEL STOP et SYSFAULT ainsique des DEL d’erreur en face avant. Vous pourrezen déduire certaines causes d’erreur et d’inter-ruption.

2 A l’aide de la fonction PG en ligne de lecture de lapile des interruptions, analysez l’état des bits decommande et du contenu de l’ITPILE. Vousobtiendrez de nouvelles informations sur lalocalisation et la cause de l’erreur.

3 Sélectionnez la fonction PG en ligne de lecture dela pile des blocs : la première ligne de cette pilecontient des informations sur le bloc ayant appeléle bloc à l’origine de l’erreur.

4 Vous pouvez lire la donnée système BS 75(cf. paragraphe 8.3.4) pour en tirer des informa-tions détaillées concernant l’erreur.

Marche à suivre pour la recherche d’erreur

Programmation de la CPU 9485 - 8 C79000-G8577-C848-04

Page 207: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.4 Bits de commande et pile des interruptions

Par les fonctions en ligne "Informations AP" et "ITPILE", il est possi-ble d’analyser, à l’aide de la PG, l’état de fonctionnement, les ca-ractéristiques de la CPU et du programme utilisateur de même que lescauses éventuelles des erreurs et des interruptions.

NotaL’affichage des bits de commande s’obtient dans tous les étatsde fonctionnement. L’affichage de la pile des interruptions n’estpossible qu’à l’arrêt.

•• Les bits de commande indiquent l’état de fonctionnement encours ou précédent ainsi que la cause d’erreur.Si plusieurs erreurs se sont produites, toutes les erreurs sontrepérées dans les bits de commande.

•• La pile des interruptions (ITPILE) précise les adresses d’interrupti-on, l’état des indicateurs et les contenus des accumulateurs à l’en-droit de l’interruption, ainsi que les causes d’erreur.Si plusieurs interruptions se sont produites, une pile des interrupti-ons à plusieurs niveaux (5 au maximum) est constituée :

Profondeur 01 = dernière cause d’interruption

Profondeur 02 = avant-dernière cause d’interruption, etc.

Un débordement de la pile des interruptions provoque le passageimmédiat en arrêt total. Un démarrage par coupure et rétablisse-ment de la tension secteur est alors nécessaire pour la remise enroute.

La signification des abréviations des bits de commande et de la piledes interruptions est indiquée plus loin.

NotaLe texte affiché à l’écran de votre console de programmationdépend du logiciel PG utilisé et peut, par conséquent, différer dela représentation donnée ci-après.Toutefois, la description des informations d’écran de ce guidereste valable.

Bits de commande et pile des interruptions

Programmation de la CPU 948C79000-G8577-C848-04 5 - 9

Page 208: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.4.1Bits de commande Lors de l’affichage de la pile des interruptions sur l’écran de la conso-

le, l’état des bits de commande est visualisé en première page (voir fig-ure 5-1).

NotaLe masque de la pile des interruptions (figure 5-1) est celui quevous obtenez avec les logiciels STEP 5/ST, V6.3, ou STEP 5/MT,V6.0, avec respectivement la "Disquette delta CPU 948". Dansles versions antérieures du logiciel, la désignation de certains bitsde commande est différente. Leur signification correspondtoutefois à la description faite dans le tableau de la page suivante.

Vous pouvez afficher les bits de commande dans tous les états de fon-ctionnement. Ils renseignent sur l’état en cours ou précédent de la CPU,ainsi que sur certaines caractéristiques de la CPU et du programme utilisa-teur STEP 5.

Les bits de commande se trouvant dans la rubrique "ID d’erreurs" serapportent à des erreurs pouvant apparaître à la mise en route (par ex-emple, lors du premier démarrage) et en état de marche RUN (par ex-emple, lors du traitement de programme déclenché par horloge). Siplusieurs erreurs se sont produites, toutes les erreurs apparues sont si-gnalées dans les bits de commande.

Bits de commande

Descript. système :

Cause arrêt :

ID de démarrage :

ID d’erreurs :

OCT.ENT

TEST

PGSTP

INTPROG

X

DEM EFFX

XREDASEL

ACQ INI

ERR.I2

ERR.DX0

SECX

INT.BLC

HALT

INT.SYS

RED EFF

DEMASEL

PAR INI

ER.RAMS

ER.MODE

BATT

INT.INSX

STP

DEMINAD

RAZ EFF

DEMMSEL

IDBL ER

ERRMIND

ER.EDBX

MONO

CM ENF

STS

ERR.DEM

DEM ADM

IDFBLER

DB1INEX

ACQ INC

MULTI

ISTOP

ERR.SYS

RED ADM

ERR.CM

DX0INEX

COLAH

SYNCHR

FIN P/P

RAZNEC

CTR.MOD

ERR.DB1

DB0 MOD

Figure 5-1 Exemple de la 1ère page d’écran de l’affichage de l’ITPILE : bits de commande

Bits de commande et pile des interruptions

Programmation de la CPU 9485 - 10 C79000-G8577-C848-04

Page 209: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Les tableaux suivants donnent la signification de chaque bit.

Description du système

Bit de commande

Signification

OCT.ENT L’octet d’entrée EB 0 (alarmes de processus) est dispo-nible : la carte d’entrées TOR ayant l’adresse "0" étaitenfichée lors du dernier démarrage et avait émis sonacquittement.

SEC L’automate comporte une pile de sauvegarde centrale.

BATT Pile de sauvegarde non prête dans l’appareil de base(BAT)

MONO Fonctionnement monoprocesseur

MULTI Fonctionnement multiprocesseur

SYNCHR En fonctionnement multiprocesseur, le démarrage des CPU est synchronisé.

TEST Mode de test

INT.BLC Sélection "Interruptions possibles en fin de bloc" dans leDX 0

INT.INS Sélection "Interruptions possibles en fin d’instruction"dans le DX 0

CM ENF Carte à mémoire enfichée

Cause de l’arrêt (voir BS 7)

Bit de commande

Signification

PGSTP Arrêt dû à une opération à la PG

HALT Arrêt en multiprocesseura) commutateur du coordinateur sur STOP

oub) arrêt dû à l’instruction de mise à l’arrêt du pro-

gramme système si, lors d’une erreur, le bloc d’organisation de réaction à l’erreur correspon-dant n’est pas chargé.

STS Arrêt dû à l’instruction STS de STEP 5 (après exécution de l’instruction)

ISTOP Arrêt car commutateur de mode en position STOP

Tableau 5-1 Signification des bits de commande "description du système"

Tableau 5-2 Signification des bits de commande "cause de l’arrêt"

Bits de commande et pile des interruptions

Programmation de la CPU 948C79000-G8577-C848-04 5 - 11

Page 210: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Cause de l’arrêt (voir BS 7)

Bit de commande

Signification

Suite du tableau 5-2

FIN P/P Arrêt dû à la fonction console de fin de contrôle pas à pas

INTPROG Arrêt dû au programme utilisateur

INT.SYS Arrêt dû au programme système (redémarrage possible)

DEMINAD Arrêt dû à un mode de mise en route inadmissible

ERR. DEM Arrêt dû à une erreur dans le bloc de mise en route

ERR.SYS Arrêt dû à une erreur système (éventuellement due à uneerreur utilisateur, par exemple écrasement de la RAMsystème lors d’un transfert par blocs, etc.) Lorsqu’une erreur système est signalée, un code d’er-reur hexadécimal à 4 chiffres apparaît en plus au bas del’écran.Reportez-vous au chapitre 8, zone BS 75.

Identificateurs de mise en route (voir BS 8)

Bit de commande

Signification

DEM EFF Un démarrage a été effectué en dernier.

RED EFF Un redémarrage a été effectué en dernier.

RAZ EFF Un effacement général a été effectué ou est en cours(actif).

DEM ADM Un démarrage peut être effectué.

RED ADM Un redémarrage peut être effectué.

RAZ NEC Un effacement général est nécessaire.

REDASEL Un redémarrage automatique est sélectionné.

DEMASEL Un démarrage automatique est sélectionné.

DEMMSEL Le démarrage manuel est sélectionné.

Tableau 5-3 Signification des bits de commande "ID de mise en route"

Bits de commande et pile des interruptions

Programmation de la CPU 9485 - 12 C79000-G8577-C848-04

Page 211: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Identificateurs d’erreurs

Bits de commande

Signification

ACQ INI Retard d’acquittement à l’initialisation

PAR INI Erreur de parité à l’initialisation

IDBL ER Indicatif de bloc erroné

IDFBLER Indicatif de fin de bloc erroné

ERR.CM Carte à mémoire enfichée incorrecte

CTR.MOD La mémoire utilisateur interne est plus petite que le contenu de la carte à mémoire.

ERR.I2 Erreur sur la seconde interface

ER.RAMS Erreur dans la RAM système

ERRMIND Erreur dans le mot indicateur d’interruptions

DB1INEX Il manque le DB 1 en fonctionnement multiprocesseur.

DX0INEX Il manque le DB 0 en fonctionnement multiprocesseur.

ERR.DB1 Erreur dans le DB 1

ERR.DX0 Erreur dans le DX 0

ER.MODE Alarmes de processus EB 0 non autorisées en fonction-nement multiprocesseur

ER.EDBX Erreur dans les instructions E DB, EX DX de STEP 5

ACQ INC Test de retard d’acquittement incorrect

COLAH Erreur de traitement d’alarmes d’horloge : dépassementde la file d’attente (collision d’alarmes d’horloge)

DB0 MOD DB 0 modifié depuis le dernier démarrage d’oùredémarrage impossible.

Tableau 5-4 Signification des bits de commande "ID d’erreurs"

Bits de commande et pile des interruptions

Programmation de la CPU 948C79000-G8577-C848-04 5 - 13

Page 212: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.4.2Pile des interruptions Lorsque la CPU se trouve en STOP, l’écran de la console affiche

d’abord les bits de commande puis, lorsque vous avez appuyé sur latouche de validation, la pile des interruptions. Lors du passage enSTOP, le programme système y reporte toutes les informations quisont nécessaires à un redémarrage.

Lors du diagnostic d’erreur, la pile des interruptions renseigne sur lanature de l’erreur et l’endroit du programme où elle s’est produite.

Si une seule erreur est à l’origine de l’arrêt, l’écran n’affiche qu’un ni-veau d’information ITPILE. Si plusieurs erreurs sont apparues, il y aautant de niveaux ITPILE que d’erreurs (Prof. : 01, Prof. : 02,etc.). Dans la rubrique "Origine interrup", une seule erreur est cochéepar niveau.

En présence de plusieurs erreurs, l’erreur apparue immédiatementavant le passage à l’état STOP est indiquée au niveau "Prof. : 01".

La figure 5-2 montre un exemple d’affichage de la pile des interruptions.

Pile des interruptions

Prof. : 01

Reg.ins :Ptr PBL :

de page :Numéro

Parenth. :ACCU1 : 0000 31BA

1205EDEFF

00FDNP1 000

ACCU2 :

CAD (nou) :PB no :Adr.rel :CAD (anc) :NP2 000 NP3 000

0000 0005

000B39

00013000B2

ACCU3 :

Adr.DB :DB no :Reg.DBL :

MMII :NP4 000 NP5 000 NP6 000

0004 0005

00000

09DF3FBF

0000

ACCU4 :

Adr.BA :OB no :Reg.BS :MEII :

0004 0005

00108

00000FFFFFFFF

1

Affich. résultat :

Origine interrup : BL INEX

MDT

STS

DB INEX

ACQ

AHMAS

DTC

OVFL

DAD

DPE

SUB

PARI

HALT

OVFLMEM

P.BL>

CYC

OU

P.IT>

STOP

RLG

FL 0

ETATX X

X

FL 1 1e ?

Figure 5-2 Exemple d’une page d’écran de l’affichage de la pile des interruptions

Bits de commande et pile des interruptions

Programmation de la CPU 9485 - 14 C79000-G8577-C848-04

Page 213: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Explication des affichagesde la pile des interruptions

Prof. Niveau d’information de la pile des interruptions en cas d’imbricationd’erreurs :

Prof. 01 = dernière cause d’erreur,Prof. 02 = avant-dernière cause d’erreur......Prof. 05 = ...... (profondeur maximale)

Informations sur lalocalisation des erreurs

Le tableau suivant explique les indications de l’ITPILE relatives à lalocalisation de l’erreur. Elles permettent de déterminer l’instruction duprogramme utilisateur ayant provoqué la mise à l’arrêt de la CPU.

Informations sur la localisation de l’erreur

Indication Signification

Reg.ins Registre d’instruction :Il contient le code machine (premier mot) de la dernière instruction traitée avant l’interruption du traitement de ce niveaude programme.

CAD (nou) Compteur d’adresse STEP (nouveau) :Il contient l’adresse absolue en mémoire de programme de la prochaine instruction à traiter. En cas de redémarrage, le traite-ment est poursuivi à cette instruction.

Adr.DB Adresse de début absolue (DW 0) du dernier bloc de données ouvert dans la mémoire du programme (0000 quand aucun bloc de données n’a été ouvert).

Adr.BA Adresse absolue en mémoire de programmede la prochaine instruction à traiter dans ledernier bloc appelé.

Ptr PBL Pointeur de la pile des blocs :Il contient l’adresse relative de 20 bits de la dernière entrée dans la pile des blocs (toujours Exxxx).

PB no(selon le typePB, OB ...)

Type et numéro du dernier bloc traité

Tableau 5-5 Signification des indications de l’ITPILE pour la localisationde l’erreur

Bits de commande et pile des interruptions

Programmation de la CPU 948C79000-G8577-C848-04 5 - 15

Page 214: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Informations sur la localisation de l’erreur

Indication Signification

Suite du tableau 5-5

DB no Numéro du dernier bloc de données ouvert

OB no(selon le typeOB, PB ...)

Type et numéro du dernier bloc appelant

Adr.rel Compteur d’adresse relative STEP :Il contient l’adresse relative (par référence à l’adresse de début du bloc) de la pro-chaine instruction à exécuter dans le dernier bloc traité.

Reg.DBL Longueur du dernier bloc de données ouvert

Reg.BS Contenu du registre d’adresse de base avant lepassage à l’arrêt

Numéro de page Numéro de la dernière page sélectionnée(les accès au pages se rapportent à celle-ci − pour plus d’informations sur l’accès aux pages, reportez-vous au chapitre 9)

CAD (anc) Compteur d’adresse STEP (ancien) :Il contient l’adresse absolue en mémoire de programme de la dernière instruction traitée avant l’interruption du traitement à ce niveau de programme ; en cas d’erreur, CAD (anc) indique exactement l’instruc-tion ayant occasionné celle-ci.

MMII Mot de masquage des indicateurs d’interruption :

Le MMII indique toutes les causes d’interruption survenues dont le traitement n’est pas encore terminé.

MEII Mot d’effacement des indicateursd’interruption

Parenth. Nombre de niveaux : "NPx abc" avec x = 1 à 7 niveauxa = OU (voir indicateurs d’opérations

sur bits)b = RLG (résultat logique ; voir indicateurs

d’opérations sur bits)c = 1 : U(c = 0 : O(

ACCU1 àACCU4

Contenu des registres de calcul au moment de l’interruption

Bits de commande et pile des interruptions

Programmation de la CPU 9485 - 16 C79000-G8577-C848-04

Page 215: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Affich. résultat Reportez-vous au paragraphe 3.5.

Origine interrup Les abréviations suivantes (codes de la pile des interruptions) correspon-dent aux principales origines d’interruption.

Origine de l’interruption

Code Signification (OB appelé en réaction à l’erreur)

BL INEX Un bloc appelé est inexistant (OB 19).

DB INEX Un bloc de données appelé est inexistant (OB 19).

DTC Erreur de chargement ou de transfert (OB 32)

SUB Erreur de substitution (OB 27) :Une instruction STEP 5 traitée ne peut pas être substituée.

P.BL> Débordement de la pile des blocs :Profondeur d’imbrication trop grande ; démarrage nécessaire

P.IT> Débordement de la pile des interruptions :Profondeur d’imbrication trop grande ; mise hors/sous tension puis démarrage nécessaires

MDT Manque de tension d’alimentation dans l’appareil de base

ACQ Retard d’acquittement (OB 23/OB 24/OB 28/OB 29)

DAD Erreur d’adressage des entrées/sorties TOR avec mémoire image (OB 25)

PARI Erreur de parité (OB 30)

CYC Dépassement du temps de cycle (OB 26)

STOP Mise à l’arrêt par basculement du commutateur demode de fonctionnement sur STOP

STS Mise à l’arrêt par l’opération STS de STEP 5 (aprèsexécution de l’instruction)

AHMAS Erreur de traitement d’alarmes d’horloge/matériel(OB 33) :

Alarme d’horloge masquée trop longtemps

Tableau 5-6 Codes de l’ITPILE (origine de l’interruption)

Bits de commande et pile des interruptions

Programmation de la CPU 948C79000-G8577-C848-04 5 - 17

Page 216: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Origine de l’interruption

Code Signification (OB appelé en réaction à l’erreur)

Suite du tableau 5-6

DPE Périphérie non disponible = coupure de tension dans le châssis d’extension

La suppression d’un signal DPE statique est toujours suivie de l’appel de l’OB 22 (redémarrage automatique).

HALT Arrêt en fonctionnement multiprocesseur :a) commutateur du coordinateur sur STOPb) Une autre CPU est en STOP.

Bits de commande et pile des interruptions

Programmation de la CPU 9485 - 18 C79000-G8577-C848-04

Page 217: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.4.3Exemple de diagnostic d’er-reur au moyen de l’ITPILE

La figure 5-3 illustre la structure de l’ITPILE avec les interruptions quise sont produites.

- Le niveau de traitement de programme "Cycle" ( OB 1) est interrompu. - Le niveau de traitement de programme "Interruption" est ensuite activé et l’ OB 3 traité.- En réponse à une alarme d’horloge, le niveau "Interruption" est abandonné, le niveau "Alarme d’horloge" activé et l’ OB 13 traité. - Une erreur d’adressage conduit à l’activation du niveau DAD et au traite- ment de l’ OB 25 . Dans le programme de traitement des erreurs, l’utilisa- teur a programmé une instruction de mise en STOP (STS) : la CPU interrompt le traitement du programme.

Quatre niveaux de traitement de programme différents ont été interrompusavant la mise en STOP complète de la CPU. L’ITPILE éditée sur la PG présentedonc quatre niveaux de profondeur , dont le premier (niveau de profondeur 01)contient l’identification du dernier niveau de traitement de programme inter-rompu (DAD). Vous pouvez ensuite passer aux autres niveaux jusqu’au niveau04 de l’ITPILE. Ce dernier représente le niveau de traitement de programme"Cycle" qui a été interrompu en premier .

STS

DAD

STS

X

X

Profondeur 04

Niveaux de traitement de programme Pile des interruptions

Profondeur 03

Profondeur 02

Profondeur 01

Cycle

Alarmed’horloge

Interruption

DAD

OB 1

OB 3

OB 13

OB 25

Figure 5-3 Exemple d’exploitation de l’ITPILE

Bits de commande et pile des interruptions

Programmation de la CPU 948C79000-G8577-C848-04 5 - 19

Page 218: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.5 Traitement des erreurs à l’aide de blocs d’organisation

Lorsque le programme système reconnaît une erreur donnée, il appellele bloc d’organisation associé à cette erreur. Il est possible de définirle comportement de la CPU en programmant ce bloc d’organisationde manière appropriée.Suivant la programmation de ce bloc d’organisation, vous pouvez :

•• poursuivre le traitement normal,

•• mettre la CPU en STOP

et

•• exécuter un programme d’erreur spécifique.

Il existe des blocs d’organisation pour les erreurs suivantes.

Cause de l’erreur Appel de Réaction en cas d’OBnon programmé

Appel d’un bloc non chargé (BL INEX) OB 19 aucune

Ouverture d’un bloc de données DB/DX non chargé (DB INEX) OB 19 Arrêt

Retard d’acquittement dans le programme utilisateur lors de l’accès à des cartes de périphérie (ACQ)

OB 23 aucune

Retard d’acquittement lors de l’actualisation de la mémoire imageet du transfert de mémentos de couplage (ACQ)

OB 24 aucune

Erreur d’adressage (DAD) OB 25 Arrêt 1

Dépassement de temps de cycle (CYC) OB 26 Arrêt

Erreur de substitution (SUB) OB 27 Arrêt

Retard d’acquittement pour l’octet d’entrée EB 0 (alarmes de processus ; ACQ)

OB 28 Arrêt

Retard d’acquittement pour la périphérie décentralisée (zoned’adressage étendue ; ACQ)

OB 29 aucune

Erreur de parité et retard d’acquittement pour la mémoireutilisateur (PARI)

OB 30 Arrêt

Erreur de chargement ou de transfert (DTC) OB 32 Arrêt

Erreur de traitement d’alarmes d’horloge :a) collision d’alarmes d’horloge (bit de commande COLAH)b) alarme d’horloge masquée trop longtemps (AHMAS)

OB 33Arrêt

aucune

1 Ceci n’est valable que si l’erreur d’adressage n’est pas inhibée par l’instruction AFS de STEP 5.

Tableau 5-7 Blocs d’organisation appelés lors de l’apparition d’erreurs

Traitement des erreurs à l’aide de blocs d’organisation

Programmation de la CPU 9485 - 20 C79000-G8577-C848-04

Page 219: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Cause de l’erreur Appel de Réaction en cas d’OBnon programmé

Suite du tableau 5-7

Erreur lors de l’instruction E DB/EX DX de STEP 5(bit de commande ER.EDBX)

OB 34 Arrêt

Erreur durant l’autotest (voir paragraphe 5.7) OB 36 aucune

Réaction lorsque le blocd’organisation n’est paschargé

a) Aucune réaction ; pas d’interruption du traitement cyclique

Si un retard d’acquittement survient et que ni l’OB 23 ni l’OB 24 ne sont chargés, le traitement cyclique n’est pas interrompu comme décrit dans le tableau précédent. Il n’y a pas de réaction de la CPU.Si la CPU doit se mettre à l’arrêt dans le cas d’un retard d’acquittement, le bloc d’organisation correspondant (par exemple, OB 23 pour ACQ) doit contenir une instruction d’arrêt (STP pour arrêt en fin de cycle) et se terminer par l’instruction BE.

Exemple pour l’OB 23: Un retard d’acquittement (ACQ) a eu lieu.::STP Le traitement cyclique est interrompu.:BE La CPU se met à l’arrêt.

b) Réaction : la CPU se met à l’arrêt .

A l’apparition d’une erreur correspondante – par exemple, une erreur de durée de cycle ou une erreurde chargement/transfert – la CPU se met immédiatement à l’arrêt si les blocs d’organisation correspon-dants ne sont pas chargés.

Si, exceptionnellement – par exemple, lors de la mise en service – l’une ou l’autre erreur ne doit pasinterrompre le traitement cyclique, il suffit d’une instruction de fin de bloc dans le bloc d’organisationcorrespondant.

Exemple pour l’OB 25: Une erreur d’adressage (DAD) a eu lieu.::BE Le traitement cyclique est poursuivi, la CPU ne se met pas à l’arrêt.

Traitement des erreurs à l’aide de blocs d’organisation

Programmation de la CPU 948C79000-G8577-C848-04 5 - 21

Page 220: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Interruptions lors du traite-ment des blocs d’organisationde réaction aux erreurs

Après l’appel d’un bloc d’organisation par le programme système, leprogramme utilisateur qui s’y trouve est exécuté.L’apparition d’une nouvelle erreur pendant le traitement de ce blocd’organisation provoque, comme lors du traitement cyclique, une in-terruption à la limite d’instruction suivante et l’appel du bloc d’organi-sation correspondant.

Les blocs d’organisation sont traités dans l’ordre de leur appel.

NotaOn peut imbriquer au maximum 5 blocs d’organisation deréaction aux erreurs. S’il y a plus de 5 erreurs, la pile desinterruptions déborde et la CPU se met en arrêt total.

Traitement des erreurs à l’aide de blocs d’organisation

Programmation de la CPU 9485 - 22 C79000-G8577-C848-04

Page 221: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.6 Origine des erreurs et réactions aux erreurs de la CPU

En état de marche RUN, certaines erreurs peuvent provoquer l’inter-ruption aux limites d’instructions du programme cyclique ou d’un pro-gramme déclenché par horloge ou alarme.

Lors de l’initialisation et pendant la mise en route, l’apparition d’uneerreur provoque également l’interruption du programme de mise enroute et la mise à l’arrêt de la CPU ou l’appel du bloc d’organisationprévu dans ce cas. L’apparition d’une erreur pendant la mise en routeest traitée de la même manière que pendant le traitement cyclique.

La réaction diffère selon la cause de l’interruption :

•• Passage en STOP immédiat de la CPU, sans appel du bloc d’orga-nisation de réaction à l’erreur (par exemple, MDT → arrêt total,P.IT> → arrêt total, DPE → arrêt partiel)

•• Avant le passage en STOP, le programme système appelle un OBde réaction aux erreurs que vous pouvez programmer pourempêcher – selon le type d’erreur – la mise à l’arrêt de la CPU(par exemple, ACQ/EB 0 → OB 28, DAD → OB 25).

En cas d’erreur, tenez compte des identificateurs d’erreurs dans lesbits de commande de même que de l’origine de l’interruption dans lapile des interruptions.

Les causes d’erreur possibles sont traitées plus en détail dans les para-graphes suivants.

Origine des erreurs et réactions aux erreurs de la CPU

Programmation de la CPU 948C79000-G8577-C848-04 5 - 23

Page 222: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.6.1OB 19 : appel d’un bloc decode non chargé (BL INEX)

Le programme système reconnaît une erreur lorsque le programme uti-lisateur fait appel à un bloc non disponible. Cela est valable pour tousles blocs de code quel que soit le mode d’appel, conditionnel ou incon-ditionnel.

Lors de l’appel d’un bloc de code non chargé dans le programme utili-sateur, le programme système appelle le bloc d’organisation OB 19 sicelui-ci est chargé. Dans ce bloc, il est possible de définir le comporte-ment qu’aura alors la CPU.

Si, lors de l’appel d’un bloc non chargé, le bloc OB 19 n’est pasprogrammé, le programme système poursuit le traitement du pro-gramme STEP 5 interrompu par l’opération suivante.

5.6.2OB 19 : appel d’un blocde données non chargé(DB INEX)

Si le programme utilisateur fait appel à un bloc de données DB ou DXnon disponible en mémoire ou non valable, le programme système re-connaît une erreur et appelle le bloc OB 19. Si ce dernier n’est paschargé, la CPU se met à l’arrêt. La valeur "0" est inscrite dans les regi-stres DBA et DBL.

NotaL’OB 19 est appelé aussi bien lorsqu’un bloc de code que lorsqu’un bloc de données n’est pas chargé.La lecture de la donnée système BS 75 par le programme STEP 5 permet d’identifier le type du bloc manquant :- contenu de BS 75 pour BL INEX : 0101H,- contenu de BS 75 pour DB INEX : 0904H.

Origine des erreurs et réactions aux erreurs de la CPU

Programmation de la CPU 9485 - 24 C79000-G8577-C848-04

Page 223: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.6.3OB 23/24, OB 28/29 :retard d’acquittement (ACQ)

Il y a retard d’aquittement lorsque, après l’accès en lecture ou en écri-ture à une zone de mémoire adressable, cette dernière ne renvoie pasle signal d’acquittement (Ready) en l’espace d’un temps donné, sur-veillé par le matériel. Un retard d’acquittement peut être dû, par ex-emple, à une défaillance sur la carte ou au retrait de celle-ci durant lefonctionnement.

Les retards d’acquittement suivants provoquent l’interruption du pro-gramme utilisateur, le passage au traitement d’erreur par le program-me système et l’appel du bloc d’organisation correspondant (s’il estchargé).

OB 23 ACQ lors de l’accès direct à la périphérie

Cause de l’erreur Réaction à l’erreur

Retard d’acquittement dans le programme utilisateur lors de l’accès direct par le bus S5 à une IP, au COR ou à une carte de périphérie (par exemple avec instructions de chargement et de transfert "L/T P..." ou "L/T Q...")

Si l’OB 23 n’est pas chargé, le programme système poursuit le traitement du programme utilisa-teur.

OB 24

Cause de l’erreur Réaction à l’erreur

Retard d’acquittement lors de l’actualisation de la mémoire image des entrées/sorties ou lors du transfert des mémentos de couplage

Si l’OB 24 n’est pas chargé, le programme système poursuit le traitement du programme utilisa-teur.

Augmentation du tempsd’exécution

Lors de l’appel de l’OB 23 ou de l’OB 24, le retard d’acquittementaugmente, en cas de poursuite de traitement, le temps nécessaire àl’exécution de l’instruction STEP 5 qui est à l’origine de l’erreur :

augmentation du temps = temps de surveillance d’acquittement +temps de traitement d’erreur + éventuellement temps de traitement dubloc d’organisation correspondant.

Origine des erreurs et réactions aux erreurs de la CPU

Programmation de la CPU 948C79000-G8577-C848-04 5 - 25

Page 224: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

OB 28

Cause de l’erreur Réaction à l’erreur

Retard d’acquittement pourl’octet d’entrée EB 0 (alarmes de processus)

Si l’OB 28 n’est pas chargé, la CPU se met à l’arrêt.

OB 29

Cause de l’erreur Réaction à l’erreur

Retard d’acquittement pour la périphérie décentralisée dans les zones d’adressage

- F 0000H à F EFFFH - F F200H à F FFFFH

Si l’OB 29 n’est pas chargé, le programme système poursuit le traitement du programme utilisa-teur.

Adresse de l’erreur Lorsqu’il y a retard d’acquittement, le programme système inscritl’adresse de l’erreur dans la zone des données système (voir chapit-re 8).

BS Contenu Adresse

68 Adresse d’erreur de poids fort E F044H

69 Adresse d’erreur de poids faible E F045H

5.6.4OB 25 : erreur d’adressage(DAD)

Il y a erreur d’adressage lorsqu’une opération STEP 5 sollicite une en-trée/sortie de la mémoire image alors que, au moment du dernierdémarrage, aucune carte de périphérie n’était affectée à cette entrée ousortie (carte non enfichée, défectueuse ou non déclarée dans le bloc dedonnées DB 1 de la CPU).

L’opération STEP 5 ayant occasionné l’erreur d’adressage est traitéeen totalité : pour une instruction d’opération sur bits, le bit de lamémoire image est appelé et combiné ou mis à "1" ou à "0". Demême, les opérations de chargement et de transfert sont exécutées.Une poursuite du traitement peut cependant conduire à des réactionserronées ou non désirées.

Origine des erreurs et réactions aux erreurs de la CPU

Programmation de la CPU 9485 - 26 C79000-G8577-C848-04

Page 225: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Lors de l’apparition d’une erreur d’adressage, le traitement du pro-gramme utilisateur est interrompu et le programme système appelle lebloc OB 25. Après le traitement du programme contenu dans l’OB 25,le programme interrompu est poursuivi à l’opération suivante.Si le bloc OB 25 n’est pas chargé, la CPU se met en STOP lors del’apparition d’une erreur d’adressage.

La surveillance de l’erreur d’adressage peut être inhibée pour certai-nes parties ou pour la totalité du programme au moyen de l’instructionAFS de STEP 5 et revalidée par AFF (voir paragraphe 3.5.4 ou la listedes opérations).

5.6.5OB 26 : erreur de temps decycle (CYC)

Le temps de cycle correspond à la durée de traitement entre deuxOB 1. Il comprend la durée totale de traitement du programme cy-clique, interruptions, traitement des alarmes et opérations du program-me système comprises. Un dépassement du temps de cycle réglé dansla CPU peut, par exemple, provenir d’une programmation erronée(boucle de programme).

NotaIl est extrêmement rare qu’une erreur matérielle soit la caused’une erreur de temps de cycle. Les erreurs se situent générale-ment dans le programme utilisateur ou surviennent lorsqu’il n’y apas concordance entre les programmes et la surveillance du tempsde cycle.

Quand le temps de cycle est dépassé, le programme système inter-rompt le traitement du programme utilisateur et appelle le bloc d’orga-nisation OB 26, si ce dernier est chargé. La surveillance du temps decycle repart de zéro (réarmement du chien de garde). Si le temps decycle expire à nouveau avant la fin du traitement de l’OB 26, la CPUse met à l’arrêt.

Si le bloc OB 26 n’est pas chargé, la CPU se met en STOP.

Le temps de cycle est variable (10 à 2550 ms) et peut être prolongépar redémarrage de sa surveillance (voir ci-dessus). Vous pouvez déterminer individuellement la surveillance du temps decycle par un paramétrage dans le bloc DX 0 (voir chapitre 7) ou par laprogrammation du bloc OB 31. Par défaut, cette valeur est de 200 ms.

Dans le programme cyclique, la surveillance du temps de cycle peutêtre prolongée à l’aide de la fonction spéciale OB 222.

Origine des erreurs et réactions aux erreurs de la CPU

Programmation de la CPU 948C79000-G8577-C848-04 5 - 27

Page 226: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.6.6OB 27 : erreur desubstitution (SUB)

Lorsque, dans un bloc fonctionnel, une opération avec opérandes for-mels doit être exécutée, la CPU remplace, pendant le traitement duprogramme utilisateur, ces opérandes formels par les opérandes ef-fectifs figurant dans l’appel du bloc fonctionnel.

Si la CPU détecte une substitution non autorisée, le programme sy-stème interrompt le traitement du programme utilisateur et appelle lebloc d’organisation OB 27, si ce dernier est chargé. Si l’OB 27 n’estpas chargé, la CPU se met à l’arrêt.

Outre les substitutions non autorisées, une erreur de substitution(SUB) est signalée dans les cas suivants :

•• Code d’opération non autorisé

•• Particularité :L’utilisateur ne doit pas ouvrir les blocs de données DB 0 etDB 1. Une instruction A DB 0 ou A DB 1 est considérée par laCPU comme une erreur de substitution. La valeur "0" est inscritedans les registres DBA et DBL.

5.6.7OB 30 : erreur de parité etACQ pour la mémoire utili-sateur (PARI)

La mémoire utilisateur est pourvue d’un bit de parité dont l’état estvérifié par le programme système à chaque accès à cette mémoire.Une erreur d’état du bit de parité conduit à une erreur de parité.

Le programme système appelle le bloc d’organisation OB 30. Si cedernier n’est pas chargé, la CPU se met en STOP.

La réaction est identique lors d’un retard d’acquittement dans lamémoire utilisateur.

PARI lors de l’accès à la RAMdu système d’exploitation

Si une erreur de parité apparaît lors de l’accès à la RAM du systèmed’exploitation, le programme système n’appelle pas l’OB 30 et laCPU passe en arrêt total .

Origine des erreurs et réactions aux erreurs de la CPU

Programmation de la CPU 9485 - 28 C79000-G8577-C848-04

Page 227: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Adresse d’erreur En cas d’erreur de parité ou de retard d’acquittement, le programmesystème inscrit l’adresse de l’erreur dans la zone des données système(voir chapitre 8) :

BS Contenu Adresse

70 Adresse d’erreur de poids fort E F046H

71 Adresse d’erreur de poids faible E F047H

5.6.8OB 32 : erreur de transfertet de chargement (DTC)

Une erreur de chargement et de transfert est signalée dans les cas sui-vants.

•• Lors de l’accès à des données dans des blocs DB ou DX, la CPUcompare la longueur du bloc de données ouvert avec celle inscritedans le paramètre de l’instruction de chargement ou de transfert. Si ce paramètre provoque un dépassement de la longueur du blocde données, l’instruction de chargement ou de transfert n’est pasexécutée. De cette manière, on évite l’écrasement accidentel dedonnées dans la mémoire par des instructions de transfert. Enprésence d’erreurs de chargement, le contenu des accumulateurs re-ste conservé.

•• Il y a également erreur de transfert ou de chargement lors de l’ac-cès à un mot de données non disponible pour le test ou la modifica-tion d’un bit.

•• Une erreur de transfert est également détectée lorsque vous ac-cédez à un mot de données avant qu’un bloc de données ne soit ou-vert (avec A DBn ou AX DXn).

•• Par ailleurs, une erreur de chargement ou de transfert peut être oc-casionnée par un accès à la mémoire en adressage absolu via le re-gistre de base BR ou par un dépassement de limites dans le cas desinstructions TNW, TXW et TXB de STEP 5.

Lorsqu’il reconnaît une erreur de transfert ou de chargement, le pro-gramme système appelle le bloc d’organisation OB 32, si ce dernierest chargé. L’instruction ayant occasionné l’erreur n’est pas exécutée.Si le bloc OB 32 n’est pas chargé, la CPU passe à l’arrêt.

Origine des erreurs et réactions aux erreurs de la CPU

Programmation de la CPU 948C79000-G8577-C848-04 5 - 29

Page 228: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.6.9OB 33 : erreur de traitementd’alarmes d’horloge(COLAH/AHMAS)

Un traitement déclenché par horloge (alarmes d’horloge) est réalisépar les blocs d’organisation OB 6, OB 9 et OB 10 à OB 18.

La CPU 948 distingue les types d’erreurs de traitement d’alarmesd’horloge suivants.

Collision d’alarmes d’horloge Cause :

Dépassement de la file d’attente des alarmes d’horloge :

•• Plus de 3 alarmes d’horloge doivent être traitées pour l’une destrois périodes les plus courtes (OB 10 à 12).

ou

•• L’un des OB 13 à 18 est de nouveau appelé alors que le traitementde l’appel précédent n’est pas encore terminé.

Réaction :

Le programme système appelle comme interface utilisateur l’OB 33,si celui-ci est chargé.Vous pouvez y programmer la réaction à une telle erreur.

Si l’OB 33 n’est pas chargé, la CPU se met en STOP.

Affichage de la fonction ITPILE sur la PG :

Dans le masque des bits de commande, le bit COLAH est marquéd’une croix.

Alarme d’horloge masquéetrop longtemps

Cause :

L’alarme d’horloge est masquée trop longtemps (si interruptions enfin de bloc/alarmes de processus).

Cette erreur se rapporte à la base de temps des alarmes d’horloge et àla durée d’exécution d’un bloc du programme cyclique : il y a erreurde traitement d’alarmes d’horloge dès que l’exécution d’un bloc deprogramme cyclique dure plus longtemps que la fréquence réglée.

Origine des erreurs et réactions aux erreurs de la CPU

Programmation de la CPU 9485 - 30 C79000-G8577-C848-04

Page 229: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Réaction :

Le programme système appelle comme interface utilisateur l’OB 33,si celui-ci est chargé.Vous pouvez y programmer la réaction à une telle erreur.

Si l’OB 33 n’est pas chargé, la CPU poursuit le traitement du program-me.

Affichage de la fonction "ITPILE" sur la PG :

Dans le masque des bits de commande, le bit "AHMAS" est marquéd’une croix.

Lors de l’appel du bloc OB 33, le programme système inscrit le codede l’erreur d’alarme d’horloge dans l’ACCU 1-L (voir paragra-phe 4.5.3).

NotaEn mode "Alarmes de processus octet d’entrée 0" et "Interrup-tions possibles en fin de bloc", le compteur d’adresse STEP(CAD) ne pointe pas sur le bloc à la fin duquel (instruction BE)s’est produite l’erreur d’horloge, mais sur le bloc qui a appeléle bloc à l’origine de l’erreur (adresse de retour).

Tant que la cause d’une erreur n’a pas été supprimée, c’est-à-diretant que l’erreur subsiste ou réapparaît en cas de nouveau traite-ment de l’instruction STEP 5 correspondante, par exemple àchaque cycle, l’appel du bloc d’organisation correspondant estréitéré.

La durée du traitement des erreurs par le programme système et letemps d’exécution des blocs d’organisation de réaction auxerreurs peuvent entraîner un allongement non négligeable dutemps de cycle.

Origine des erreurs et réactions aux erreurs de la CPU

Programmation de la CPU 948C79000-G8577-C848-04 5 - 31

Page 230: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.6.10OB 34 : erreur pour E DB/EX DX(ER.EDBX) Causes :

•• Un numéro de bloc non autorisé a été indiqué dans l’instructionE DB/EX DX (numéro d’un bloc réservé, numéro supérieur à 255).

•• Une longueur de bloc incorrecte a été indiquée dans l’instructionE DB/EX DX (longueur > 4091).

•• Lors de l’appel de l’instruction E DB/EX DX, la place disponibledans la mémoire utilisateur est insuffisante.

Réaction :

Le programme système appelle l’OB 34, si celui-ci est chargé.Si l’OB 34 n’est pas chargé, la CPU se met à l’arrêt.

5.6.11OB 35 : erreur decommunication

Si des perturbations apparaissent sur la deuxième interface série pourle couplage calculateur RK 512 ou la transmission de données avecles procédures 3964/3964R, le driver ouvert ou SINEC L1, le pro-gramme système appelle le bloc d’organisation OB 35 et dépose desinformations plus détaillées sur les erreurs apparues dans l’accumula-teur 1.

Réaction si OB 35 non chargé Si vous n’avez pas programmé d’OB 35, le programme système neréagit pas et la CPU ne se met pas à l’arrêt.

Informations d’erreur dansl’ACCU 1

Le programme système vérifie toutes les 100 ms si des erreurs de com-munication sont survenues sur la deuxième interface série. Si c’est lecas, il dépose des informations d’erreur dans l’accumulateur 1.

On peut transmettre les codes d’erreur pour trois causes de perturbati-on au maximum lors de l’appel de l’OB 35. Un code de débordementspécial signale s’il y a plus de trois causes d’erreur.

Origine des erreurs et réactions aux erreurs de la CPU

Programmation de la CPU 9485 - 32 C79000-G8577-C848-04

Page 231: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Structure des informationsd’erreur dans l’ACCU 1

31 24 23 18 15 8 7 0

ACCU 1 0 0 0 0 E D B 0 code d’erreur1

code d’erreur2

code d’erreur3

E = 0 Aucune erreur n’est inscrite dans la zone d’erreurs.= 1 Des erreurs sont inscrites dans la zone d’erreurs.

D = 0 Il n’y a pas de débordement d’erreur (trois inscriptions au maximum).

= 1 Il y a débordement d’erreur (plus de trois inscriptions).

B = 0 Pas d’interruption BREAK sur l’interface= 1 Interruption BREAK sur l’interface

Interruption BREAK En cas d’interruption BREAK sur l’interface, l’OB 35 n’est appeléqu’au début de l’état BREAK.

Codes d’erreur 1 à 3 Trois codes d’erreur relatifs aux perturbations détectées sur l’interfacesont inscrits ici, dans l’ordre de leur reconnaissance par le système.

Signification des codesd’erreur

Vous trouverez la signification des codes d’erreur ainsi que des infor-mations plus détaillées sur le traitement des erreurs d’interface dans lemanuel "Communication" (bibliographie /13/).

5.6.12OB 36 : erreur lors del’autotest

L’OB 36 est appelé lorsque l’un des sous-programmes d’autotestdécèle une erreur. De plus amples renseignements sont donnés au para-graphe 5.7.

Origine des erreurs et réactions aux erreurs de la CPU

Programmation de la CPU 948C79000-G8577-C848-04 5 - 33

Page 232: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.7 Autotest

5.7.1Généralités Le programme système de la CPU 948 contient des sous-programmes

d’autotest intégrés.

Activation et désactivation Le programme utilisateur permet l’activation et la désactivation indivi-duelles des fonctions de l’autotest via les bits de la donnée systèmeBS 137.

Tranche horaire Pour réduire la charge que représente l’autotest en état de marcheRUN, seule une partie de l’autotest est exécutée dans le cycle (tranchehoraire). La durée impartie à cet effet est définissable dans la donnéesystème BS 136 (cf. également le paragraphe 5.7.3).

Objet des tests Les sous-programmes d’autotest permettent l’exécution des tests sui-vants :

Tester Quand ?

la mémoire utilisateur lors de l’effacement général

le signal BASP(verrouillage des sorties)

à l’arrêt

l’horloge matérielle lors d’un démarrage

la surveillance du temps de cycle lors de la mise en route

les lignes d’adresses cycliquement en état de marcheRUN

le code du programme système(total de contrôle)

cycliquement en état de marcheRUN

le code des blocs de code STEP 5 dans la mémoire utilisateur(total de contrôle)

cycliquement en état de marcheRUN

Autotest

Programmation de la CPU 9485 - 34 C79000-G8577-C848-04

Page 233: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.7.2Description des fonctionsde test

Test de la mémoire utilisateur Lors de l’effacement général, sans tranche horaire

Un test de la mémoire utilisateur est exécuté lors de l’effacementgénéral. Il vérifie la mémoire utilisateur de même que les zonesd’octets des mémentos et mémoires image.

Lors du test, l’ensemble de la zone (y compris la zone des octets) estd’abord initialisé avec un profil binaire de test, puis la concordance enest vérifiée. A la fin du test, des zéros sont inscrits dans cette zone.

NotaLa durée du test de la mémoire utilisateur est relativementimportante :

- 5 s environ pour la CPU 948-1 (640 Ko),- 22 s environ pour la CPU 948-2 (1 664 Ko).

Test du signal BASP A l’arrêt, sans tranche horaire

Ce test permet de vérifier si un signal BASP est émis par la CPU. Cet-te fonction de test se déroule durant la boucle d’arrêt. Le signal BASPest donc lu cycliquement.En cas d’erreur, une entrée est déposée dans la mémoire tampon deserreurs. Lors de la mise en route suivante, l’OB 36 (erreur lors de l’au-totest) est appelé. Si l’OB 36 est chargé et si une instruction STP demise à l’arrêt y a été programmée, la mise en route est interrompue.Dans le cas contraire, la CPU passe en mode de fonctionnement cycli-que.

Test de l’horloge matérielle A la mise en route, mais uniquement lors d’un démarrage de laCPU ; sans tranche horaire

Ce test d’une durée de 1 seconde est effectué avant appel de l’OB 20.

L’heure définie reste inchangée ; les contrats à heure fixe (alarmesd’horloge à heure fixe, OB 9) sont par contre effacés.

Autotest

Programmation de la CPU 948C79000-G8577-C848-04 5 - 35

Page 234: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Test de la surveillance dutemps de cycle

Lors de la mise en route, sans tranche horaire

Cette fonction de test permet de vérifier la surveillance du temps decycle durant la phase de mise en route. Pour ce faire, le temps de cycleest réglé à la valeur la plus petite (20 ms). Il faut ensuite attendre quel’erreur de cycle apparaisse dans une boucle de programme.

Test des lignes d’adresses Cycliquement en état de marche RUN, avec tranche horaire

Ce test permet de constater des interruptions de même que des courts-circuits dans les lignes d’adresses. Des profils binaires sont envoyéscycliquement sur les lignes d’adresses, puis à nouveau lus et comparés.

Test du code du programmesystème

Cycliquement en état de marche RUN, avec tranche horaire

Ce test vérifie le contenu du système d’exploitation de la CPU dans laRAM interne (zone de vérification D 0000H à E 7FFDH).

La vérification s’effectue par addition du contenu de la zone de vérifi-cation et comparaison avec le total de contrôle dans l’EPROM.

Test du code des blocs decode STEP 5

Cycliquement en état de marche RUN, avec tranche horaire

Le total de contrôle de chaque bloc de code STEP 5 valable est vérifié.Lorsqu’une carte à mémoire est enfichée, le total de contrôle des blocsde code de la CPU 948 est créé après l’effacement général et après lacopie du contenu de la carte à mémoire dans la mémoire utilisateur in-terne. Les blocs de code chargés ultérieurement sont également véri-fiés.

NotaLe test du code des blocs STEP 5 décèle toujours une erreurlorsqu’un ou plusieurs blocs de code ont été modifiés de façondynamique.La modification est possible sur la PG. Ce faisant, le total decontrôle du programme système de la CPU 948 est créé.

Autotest

Programmation de la CPU 9485 - 36 C79000-G8577-C848-04

Page 235: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

5.7.3Sélections

Calcul et définition dunombre de trancheshoraires

La durée de traitement des fonctions d’autotest est répartie en trancheshoraires appelées une fois par cycle et dont le nombre peut être choisi.Vous pouvez ainsi accroître la durée requise par cycle pour le traite-ment des fonctions d’autotest.

Calcul Vous devez tout d’abord estimer le temps que vous pouvez réserver àl’autotest durant le cycle : la durée d’une tranche horaire étant d’envi-ron 500 µs, l’autotest nécessite 500 µs par cycle.

Après avoir estimé le temps disponible, vous pouvez en déduire lenombre de tranches horaires de 500 µs.

Définition Vous pouvez régler le nombre de tranches horaires dans le mot dedonnées système BS 136 (16 bits). La valeur présélectionnée est 1tranche horaire (valeur minimale). Vous pouvez choisir au maximum10 tranches horaires (ce qui correspond à une charge de 5 ms par cy-cle).

La valeur indiquée dans le mot de données système BS 136 corres-pond au nombre suivant de tranches horaires :

BS 136 = 0 ou 1 1 tranche horaireBS 136 = 2 2 tranches horairesBS 136 = 3 3 tranches horairesetc.

Activation et désactivationdes tests

Vous pouvez activer – ou désactiver – les différents tests, dans un blocde mise en route par exemple, en mettant les bits correspondants à "1"– ou à "0" – dans la donnée système BS 137.

NotaAprès l’effacement général d’une CPU nouvellement enfichée,toutes les fonctions de test sont désactivées.Lors de l’effacement général suivant, seules les fonctions de testdevant être effectuées lors de l’effacement général sont activées.Toutes les autres sont désactivées. Cela signifie que vous ne pouvez vérifier la mémoire utilisateurd’une CPU nouvellement enfichée qu’en activant la fonction detest dans la donnée système BS 137 après l’effacement général,puis en effectuant à nouveau un effacement général.

Autotest

Programmation de la CPU 948C79000-G8577-C848-04 5 - 37

Page 236: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Structure du mot de donnéessystème BS 137

Fonction de test Bit

Vérification du code du programme système 2

Vérification du code des blocs STEP 5 dans la mémoire utilisateur

5

Vérification des lignes d’adresses 7

Vérification de l’horloge 10

Vérification du signal BASP 11

Vérification de la surveillance du temps de cycle 13

Test de la mémoire utilisateur 15

Les bits qui ne sont pas mentionnés dans le tableau ne sont pas oc-cupés.

5.7.4Traitement des erreurs Si une fonction de test qui ne s’effectue pas durant l’effacement

général décèle une erreur, elle appelle l’OB 36 de réaction aux erreurs(cf. paragraphe 5.6.11) et transfère le contenu de BS 137 avec les bitsdes sous-programmes de test activés dans l’accumulateur 1.

De plus, tous les sous-programmes de test inscrivent des informationssur la nature du test et l’erreur décelée dans les mots de données sy-stème BS 75 à BS 78.

Pour les tests qui se déroulent uniquement durant l’effacementgénéral, la cause d’erreur est indiquée dans le mot BS 75. La DELSTOP clignote alors rapidement lorsque les tests durant l’efface-ment général se sont terminés avec erreurs.

Les erreurs détectées par l’autotest "Signal BASP" à l’arrêt sont égale-ment indiquées dans la donnée système BS 75. La mise en route sui-vante ne débouche au fonctionnement cyclique que lorqu’aucuneinstruction STP n’est programmée dans l’OB 36.

Autotest

Programmation de la CPU 9485 - 38 C79000-G8577-C848-04

Page 237: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Informations d’erreur

Test de la mémoire utilisateur

Mot de données système Information d’erreur

BS 75 Erreur n° 640CH lors de la vérification de la mémoire des mots

Erreur n° 650CH lors de la vérification de la mémoire des octets

BS 76 Profil de test pour lequel est apparue une erreur

BS 77 Adresse erronée de poids fort

BS 78 Adresse erronée de poids faible

Test du signal BASP

Mot de données système Information d’erreur

BS 75 Erreur n° 6700H

BS 76 FFFFH

BS 77 FFFFH

BS 78 FFFFH

Test de l’horloge matérielle

Mot de données système Information d’erreur

BS 75 Erreur n° 6800H

BS 76 FFFFH

BS 77 FFFFH

BS 78 FFFFH

Test de la surveillance dutemps de cycle

Mot de données système Information d’erreur

BS 75 Erreur n° 6600H

BS 76 FFFFH

BS 77 FFFFH

BS 78 FFFFH

Autotest

Programmation de la CPU 948C79000-G8577-C848-04 5 - 39

Page 238: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Test des lignes d’adresses

Mot de données système Information d’erreur

BS 75 Erreur n° 630BH

BS 76 FFFFH

BS 77 Adresse erronée de poids fort

BS 78 Adresse erronée de poids faible

Test du code du programmesystème

Mot de données système Information d’erreur

BS 75 Erreur n° 610BH

BS 76 FFFFH

BS 77 Total de contrôle effectif, poids fort

BS 78 Total de contrôle effectif, poids faible

Test du code des blocs decode STEP 5

Mot de données système Information d’erreur

BS 75 Erreur n° 620AH

BS 76 Type/numéro de bloc(indications de l’en-tête de bloc)

BS 77 Total de contrôle nominal

BS 78 Total de contrôle effectif

Autotest

Programmation de la CPU 9485 - 40 C79000-G8577-C848-04

Page 239: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire du chapitre 6

6.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 4

6.2 OB 121 : Génération et lecture de l’horodateur interne . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 8

6.3 OB 122 : Activation / désactivation de l’inhibition des alarmes . . . . . . . . . . . . . . . . . . 6 - 12

6.4 OB 124 : Suppression de blocs STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 14

6.5 OB 125 : Génération de blocs STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 17

6.6 OB 126 : Définition et transfert de mémoires image du processus . . . . . . . . . . . . . . . . 6 - 20

6.7 OB 129 : Etat de la pile de sauvegarde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 25

6.8 OB 131 : Effacement des accumulateurs 1, 2, 3 et 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 26

6.9 OB 132 et OB 133 : Décalage du contenu des accumulateurs vers le haut ou vers le bas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 27

6.10 OB 141 : Activation/désactivation de l’inhibition sélective d’alarmes d’horloge cycliques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 29

6.11 OB 142 : Activation/désactivation du retardement général d’alarmes . . . . . . . . . . . . . . 6 - 32

6.12 OB 143 : Activation/désactivation du retardement sélectif d’alarmes d’horloge cycliques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 35

6.13 OB 150 : Génération et lecture de l’horodateur interne . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 38

6.14 OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 43

6Fonctions spéciales intégrées

Programmation de la CPU 948C79000-G8577-C848-04 6 - 1

Page 240: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.15 OB 153 : Génération et lecture de l’heure de déclenchement d’une alarme de retardement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 50

6.16 OB 180 : Accès variable à un bloc de données. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 53

6.17 OB 181 : Test de blocs de données DB/DX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 57

6.18 OB 182 : Duplication d’une zone de données. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 59

6.19 OB 200 et OB 202 à OB 205 : Communication multiprocesseur . . . . . . . . . . . . . . . . . 6 - 62

6.20 OB 222 : Redémarrage de la surveillance du temps de cycle . . . . . . . . . . . . . . . . . . . . 6 - 63

6.21 OB 223 : Comparaison des types de mise en route . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 64

6.22 OB 254 et OB 255 : Copie et duplication de blocs de données. . . . . . . . . . . . . . . . . . . 6 - 65

Sommaire

Programmation de la CPU 9486 - 2 C79000-G8577-C848-04

Page 241: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6Fonctions spéciales intégrées

Ce chapitre décrit les fonctions spéciales intégrées contenues dans leprogramme système, où les utiliser et comment appeler et paramétrerles blocs d’organisation (OB) de fonctions spéciales.Vous y apprenez, en outre, à reconnaître les erreurs survenues lors dutraitement d’une fonction spéciale et, le cas échéant, à les traiter parprogramme.

Programmation de la CPU 948C79000-G8577-C848-04 6 - 3

Page 242: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.1 Introduction

Le système d’exploitation de la CPU 948 vous offre des fonctionsspéciales que vous pouvez utiliser, si nécessaire, au moyen d’un appelde bloc conditionnel (SPB OB x) ou inconditionnel (SPA OB x). Cesont les blocs d’organisation OB 100 à OB 255 qui sont réservés à cesfonctions spéciales.

Ces fonctions sont désignées par fonctions spéciales intégrées, car el-les font partie du programme système. Vous pouvez les appeler, maispas les lire ni les modifier.

Le tableau suivant présente une vue d’ensemble des fonctions spécia-les disponibles.

Bloc Fonction cf. par./page

OB 121 Générer et lire l’horodateur interne (compatible avec la CPU 946/947)

6.2/6 - 8

OB 122 Activer/désactiver l’inhibition des alarmes 6.3/6 - 12

OB 124OB 125

Effacer des blocs STEP 5Générer des blocs STEP 5

6.4/6 - 146.5/6 - 17

OB 126 Définir et transférer des mémoires image du processus 6.6/6 - 20

OB 129 Constater l’état de la pile de sauvegarde 6.7/6 - 25

OB 131 Effacer les accumulateurs 1, 2, 3 et 4 6.8/6 - 26

OB 132OB 133

Décaler le contenu d’un accumulateur vers le hautDécaler le contenu d’un accumulateur vers le bas

6.9/6- 276.9/6- 27

OB 141

OB 142OB 143

Activer/désactiver l’inhibition sélective d’alarmes d’horloge cycliquesActiver/désactiver le retardement général d’alarmesActiver/désactiver le retardement sélectif d’alarmes d’horloge cycliques

6.10/6 - 29

6.11/6 - 326.12/6 - 35

OB 150OB 151

OB 153

Générer et lire l’horodateur interneGénérer et lire l’heure de déclenchement d’une alarme d’horloge à heure fixeGénérer et lire l’heure de déclenchement d’une alarme deretardement

6.13/6 - 386.14/6 - 43

6.15/6 - 50

OB 180 Accès variable à un bloc de données 6.16/6 - 53

OB 181 Tester des blocs de données DB/DX 6.17/6 - 57

OB 182 Dupliquer une zone de données 6.18/6 - 59

OB 200, 202203, 204, 205

Fonctions pour la communication multiprocesseur 6.19/6 - 62

OB 222 Redémarrer la surveillance du temps de cycle (réarmer lechien de garde)

6.20/6 - 63

OB 223 Comparer les types de démarrage en mode multipro-cesseur

6.21/6 - 64

OB 254, 255 Copier ou dupliquer des blocs de données DB et DX 6.22/6 - 65

Tableau 6-1 Vue d’ensemble des fonctions spéciales intégrées de la CPU 948

Introduction

Programmation de la CPU 9486 - 4 C79000-G8577-C848-04

Page 243: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Interfaces Lors de la programmation, vous disposez des interfaces ci-après pouraccéder aux fonctions spéciales.

Appel de bloc •• Appel par une instruction de saut conditionnel SPB... ou incondi-tionnel SPA...

Paramètres •• Paramètres de prédéfinition transmis par le biais de l’accumulateur1 et, éventuellement, de l’accumulateur 2 ou par le biais de cellu-les de mémoire

Dans la suite de la description des différentes fonctions spéciales,le terme paramètre désigne toutes les données nécessaires à laCPU pour l’exécution correcte de la fonction spéciale. L’appeld’une fonction spéciale dans le programme STEP 5 doit êtreprécédé du chargement de ces données dans les accumulateurs oudans les cellules de mémoire indiquées.

Ecriture dans l’accumulateur Pour le paramétrage des blocs d’organisation de fonctions spéciales,l’accumulateur 1 est organisé de la manière suivante :

ACCU 1 ACCU 1 32 bits

ACCU 1-L ACCU 1, mot de poids faible 16 bits

ACCU 1-LL ACCU 1, mot de poids faible 8 bits octet de poids faible

ACCU 1-LH ACCU 1, mot de poids faible 8 bits octet de poids fort

Mot de poids fort Mot de poids faible

Octet de poids fort

Octet de poids faible

Octet de poids fort

Octet de poids faible

31 24 23 16 15 8 7 0

Introduction

Programmation de la CPU 948C79000-G8577-C848-04 6 - 5

Page 244: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Traitement des erreurs S’il se produit une erreur lors du traitement d’une fonction spéciale, leprogramme système réagit de façon particulière.

Les fonctions spéciales peuvent être classées en deux groupes en cequi concerne cette réaction du programme système.

•• Groupe 1

Codes dans l’accumulateur Font partie du groupe 1 toutes les fonctions spéciales pourlesquelles l’accumulateur 1 reçoit en cas d’erreur des codes quidécrivent plus précisément l’erreur survenue.

•• Groupe 2

RLG, FL 0/FL 1 Pour le second groupe de fonctions spéciales, les erreurs quiaffectent certaines fonctions exercent une influence sur le RLG etles indicateurs FL 0/FL 1.Les erreurs qui se produisent lors de l’exécution de ces fonctionsspéciales provoquent, dans la plupart des cas, la mise à 1 du RLG.Dans votre programme STEP 5, vous pouvez par conséquentexploiter le RLG par une opération de saut conditionnel SPB afinde réagir à une erreur.

Certaines autres fonctions spéciales exercent une influence sur lesindicateurs FL 0 et FL 1. Vous pouvez tester ces indicateurs dansvotre programme STEP 5 à l’aide d’opérations de comparaison etdéclencher ainsi la réaction à une erreur.

La réaction exécutée en cas d’erreur pour les différents OB de foncti-ons spéciales est précisée dans les paragraphes ci-après décrivant cesOB.

Introduction

Programmation de la CPU 9486 - 6 C79000-G8577-C848-04

Page 245: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

NotaL’appel d’un OB de fonction spéciale par l’opérationSPA OB 131/132/133 ou SPB OB 131/132/133 n’agit pas commeun véritable changement de bloc, mais comme une opérationSTEP 5 sans opérande de type bloc. Si vous avez sélectionné"interruptions possibles en fin de bloc", aucune alarme n’esttraitée.

Introduction

Programmation de la CPU 948C79000-G8577-C848-04 6 - 7

Page 246: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.2 OB 121 : Génération et lecture de l’horodateur interne

Fonction L’OB 121 permet de générer et de lire l’horodateur interne (date etheure) de façon compatible avec la CPU 946/947.

Paramètres 1) Champ de données

4 mots dans la zone de mémoire organisée par motsPour la fonction de mise à l’heure, inscrivez avant l’appel del’OB 121 les valeurs pour l’horodateur. Le programme système vérifiesi ces valeurs sont correctes logiquement.Pour la fonction de lecture de l’heure, l’OB 121 inscrit les valeurs encours de l’horodateur dans cette zone.

Structure du champ de données

Bit 15 12 11 9 8 4 3 0

1er mot s (dizaines) s (unités) s (dizièmes) s (centièmes)

2e mot h (dizaines)

h (unités)

min(dizaines)

min (unités)

3e mot jour(dizaines)

jour (unités)

jour de la semaine

0

4e mot année (dizaines)

année (unités)

mois (dizaines)

mois (unités)

NotaLa structure de ce champ de données correspond à celui desdonnées système BS 96 à BS 99 (heure en cours).

Valeurs possibles

secondes (centièmes) : 0 à 9secondes (dizièmes) : 0 à 9

secondes (unités) : 0 à 9secondes (dizaines) : 0 à 5

minutes (unités) : 0 à 9minutes (dizaines) : 0 à 5

heures (unités) : 0 à 9heures (dizaines) :

bit 12/13 0 à 1 pour le format de 12 h0 à 2 pour le format de 24 h

bit 14 0 = AM pour le format de 12 h1 = PM pour le format de 12 h0 pour le format de 24 h

bit 15 0 = format de 12 heures1 = format de 24 heures

OB 121 : Génération et lecture de l’horodateur interne

Programmation de la CPU 9486 - 8 C79000-G8577-C848-04

Page 247: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

jour de la semaine : 0 à 6 pour lundi à dimanche

jour (unités) : 0 à 9jour (dizaines) : 0 à 3

mois (unités) : 0 à 9mois (dizaines) : 0 à 1

année (unités) : 0 à 9année (dizaines) : 0 à 9

2) Registre BR (registre d’adresse de base)

Adresse initiale d’un champ de données dans une zone de mémoire or-ganisée en mots où les nouvelles valeurs doivent être lues ou bien oùles valeurs en cours doivent être mémorisées. L’appel de l’OB 121doit être précédé du chargement de l’adresse dans le registre de base.

3) ACCU 1-L

Numéro de fonctionValeurs admises 1 = Génération de l’horodateur

2 = Lecture de l’horodateur

Résultat Après traitement correct et sans erreur, le programme système trans-met la valeur 0 à l’ACCU 1. Pour la fonction de génération, l’horoda-teur prend les valeurs figurant dans le champ de données. Pour lalecture, le champ de données contient les valeurs en cours de l’horoda-teur.

Erreurs possibles Le tableau suivant présente les erreurs pouvant se produire. En casd’erreur, le programme système écrit le code correspondant dansl’ACCU 1-L.

Code Signification

F001HF00FHF101HF102HF103HF104HF105HF106HF107HF108H

F109H

Numéro de fonction incorrectAppel multiple du blocIndication incorrecte de l’année Indication incorrecte du mois Indication incorrecte du jour Indication incorrecte du jour de la semaine Indication incorrecte des heuresIndication incorrecte des minutes Indication incorrecte des secondesIndication incorrecte des centièmes et dixièmes de secondeEntrez à la mise à l’heure des zéros pour les centièmes etdixièmes de seconde.Format de l’heure différent de celui spécifié dans l’OB 151

Tableau 6-2 Codes d’erreur de l’OB 121 dans l’ACCU 1-L

OB 121 : Génération et lecture de l’horodateur interne

Programmation de la CPU 948C79000-G8577-C848-04 6 - 9

Page 248: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemples

Exemple de programmation pour la génération de l’horodateur

Le FB 13 est programmé pour la fonction de génération de l’horodateur. Lesnouvelles valeurs sont rangées dans le bloc de données DB 10 (mots dedonnées DW 0 à DW 3).

Programme STEP 5

FB13NOM :GENHOR

:A DB 10 Ouvrir le DB 10:L KH 1500 15 secondes (1/10 ... 1/100 s = 0) :T DW 0:L KH 9555 Format de 24 heures, 15 h 55 :T DW 1:L KH 1010 le 10, mardi:T DW 2:L KH 9308 1993, août:T DW 3:MBR EEC00 Charger dans le registre de base l’adresse : de début de la liste de DB:LRW +10 Charger dans l’ACCU 1 l’adresse de début du : DB 10 en mémoire (adresse de paragraphe):SLD 4 Adresse absolue du DB 10 (DW 0):MAB Charger le contenu de l’ACCU 1 dans le : registre BR:L KB 1 Charger le numéro de fonction 1 dans l’ACCU 1-L:SPA OB 121 Générer l’horodateur:L KB 0:><F Tester les codes d’erreur:SPB =ERR Sauter au traitement d’erreurs:BEA:

ERR : Traitement d’erreurs::BE

Le bloc DB 10 contient les informations suivantes lors de l’appel de l’OB 121.

0: KH = 1500;1: KH = 9555;2: KH = 1010;3: KH = 9308;4:

L’OB 121 transfère les valeurs désirées du DB 10 dans la zone de donnéessystème BS 96 à BS 99.

OB 121 : Génération et lecture de l’horodateur interne

Programmation de la CPU 9486 - 10 C79000-G8577-C848-04

Page 249: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple de programmation pour la lecture de l’horodateur

Le FB 14 est programmé pour la fonction de lecture de l’horodateur. Lesvaleurs en cours sont rangées dans le bloc de données DB 11 (mots dedonnées DW 0 à DW 3).

Programme STEP 5

FB14NOM :LIRHOR

:MBR EEC00 Charger dans le registre de base l’adresse : de début de la liste de DB:LRW +11 Charger dans l’ACCU 1 l’adresse de début du : DB 11 en mémoire (adresse de paragraphe):L KB 0:!=F Vérifier si le DB 11 est chargé:SPB =NIVO Sauter au traitement d’erreurs si: adresse de début de DB égale à 0:TAK:SLD 4 Adresse absolue du DB 11 (DW 0):MAB Charger le contenu de l’ACCU 1 dans le registre BR:L KB 2 Charger le numéro de fonction 2 dans l’ACCU 1-L:SPA OB 121 Lire l’horodateur:BEA:

NIVO : Traitement d’erreurs::BE

Le bloc DB 11 contient, par exemple, les informations suivantes aprèsl’appel de l’OB 121 :

0: KH = 2994; 29 s, 940 millisecondes1: KH = 9555; format de 24 heures, 15 heures, 55 min2: KH = 1010; 10 jours, jour de semaine 1 (mardi), 03: KH = 9308; année : 93, mois : 84:

On est le mardi 10 août 1993 ; il est 15 heures, 55 minutes, 29 secondes et940 millisecondes (9 dixièmes de seconde et 4 centièmes de seconde).

OB 121 : Génération et lecture de l’horodateur interne

Programmation de la CPU 948C79000-G8577-C848-04 6 - 11

Page 250: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.3 OB 122 : Activation / désactivation de l’inhibition des alarmes

Un programme STEP 5 peut être interrompu en fin de bloc ou en find’instruction pour l’exécution de programmes de plus haute priorité.Aux niveaux de traitement de priorité élevée, on trouve :

•• les alarmes d’horloge

et

•• les alarmes de processus ou les interruptions.

Le temps d’exécution du programme interrompu est alors augmentédu temps d’exécution des programmes imbriqués.

Fonction Le bloc d’organisation de fonction spéciale OB 122 permet d’éviterl’interruption du programme à la fin d’un ou de plusieurs blocs ouinstructions successifs par les alarmes de processus ou d’horloge.

L’OB 122 exerce une influence sur la réaction aux alarmes.

•• "Activation de l’inhibition des alarmes" signifie que, dorénavant,aucune alarme n’est plus enregistrée.

•• "Désactivation de l’inhibition des alarmes" signifie que, doréna-vant, toutes les alarmes qui se présentent sont enregistrées et queles blocs de traitement correspondants seront insérés et traités à lalimite de bloc ou d’instruction suivante (selon le mode précisédans le DX 0).

Les alarmes déjà enregistrées ne sont plus traitées lorsque le mode "In-terruptions possibles en fin de bloc" est activé dans le DX 0.

Paramètres ACCU 1-L

Numéro de fonctionValeurs admises 1 = Inhiber toutes les alarmes

2 = Valider toutes les alarmes

OB 122 : Activation / désactivation de l’inhibition des alarmes

Programmation de la CPU 9486 - 12 C79000-G8577-C848-04

Page 251: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Résultat Après traitement correct et sans erreur, le programme système inscritla valeur 0 dans l’ACCU 1-L.

NotaLe résultat logique RLG (indéfini) est influencé par l’appel del’OB 122. En revanche, le registre d’adresse de base BR n’est pasmodifié.L’inhibition et la validation des alarmes de processus peuventégalement s’effectuer par les opérations AS et AF de STEP 5 aulieu de l’OB 122. L’inhibition des alarmes est annulée au point decontrôle système suivant (voir le chapitre 11).

Erreurs possibles Le tableau suivant présente les erreurs pouvant se produire. En casd’erreur, le programme système écrit le code correspondant dansl’ACCU 1-L.

Code Signification

F001H Numéro de fonction incorrect

Exemple

Tableau 6-3 Codes d’erreur de l’OB 122 dans l’ACCU 1-L

Extrait d’un programme STEP 5 dans lequel toutesles alarmes sont inhibées puis validées à l’aidede l’OB 122 avant une partie de programme critique

:L KB 1 Charger le numéro de fonction : dans l’ACCU 1-L:SPA OB 122 Inhiber toutes les alarmes: ): ): ): } Partie de programme critique: ): ):L KB 2 Charger le numéro de fonction : dans l’ACCU 1-L:SPA OB 122 Valider toutes les alarmes::

OB 122 : Activation / désactivation de l’inhibition des alarmes

Programmation de la CPU 948C79000-G8577-C848-04 6 - 13

Page 252: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.4 OB 124 : Suppression de blocs STEP 5

Fonction Le bloc OB 124 permet d’effacer des blocs STEP 5 (de code ou dedonnées) dans la mémoire utilisateur. Le bloc effacé ne figure plusdans la liste d’adresses contenue dans le DB 0. La place libérée enmémoire par l’effacement est utilisée lors du chargement de nouveauxblocs.

Paramètres 1) ACCU 1-LH

Type du bloc à effacer

2) ACCU 1-LL

Numéro du bloc à effacer

Les types et numéros de blocs suivants sont admis :

ACCU 1-LH (type de bloc) ACCU 1-LL (numéro de bloc)

1 = PB2 = SB3 = FB4 = FX5 = DB6 = DX7 = OB

0 à 2550 à 2550 à 2550 à 2553 à 2553 à 2551 à 39

Résultat Après traitement correct et sans erreur, le programme système met leRLG à 0 et efface les indicateurs FL 1 et FL 0.

NotaLes alarmes utilisateur sont inhibées pendant la procédured’effacement proprement dite : aucune alarme ni interruptionn’est prise en considération.

L’appel de l’OB 124 modifie le contenu des accumulateurs 1 à 4.Le registre BR reste inchangé.

OB 124 : Suppression de blocs STEP 5

Programmation de la CPU 9486 - 14 C79000-G8577-C848-04

Page 253: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Erreurs et avertissements En cas d’erreur ou d’avertissement, le programme système interromptle traitement de l’OB 124 et poursuit le traitement du programme avecl’opération STEP 5 suivante. En outre, il met le RLG à 1 et inscrit uncode d’erreur dans l’ACCU 1-LL (voir le tableau 6-5).

En cas d’interruption de la fonction avec avertissement, un nouvel ap-pel de la fonction spéciale (éventuellement un appel répété) permetnormalement d’aboutir à l’exécution correcte de l’OB 124.

Dans le cas suivant, l’exécution de l’OB 124 est interrompue avecgénération d’un avertissement :

Appel réitéré d’un OB 124, OB 125, OB 254 ou OB 255 alors que mo-ins de 10 ms se sont écoulées dpuis le dernier appelEn effet, en l’espace de 10 ms, un seul appel de ces fonctionsspéciales est autorisé. On évite ainsi que l’interface vers la console deprogrammation ne soit totalement bloquée par l’appel répété de cesOB de fonctions spéciales.

Indicateurs Après appel de l’OB 124, vous pouvez déterminer à l’aide du RLG etdes indicateurs FL 1 et FL 0 si la fonction spéciale a été traitée cor-rectement ou si elle a été interrompue avec erreur ou avertissement.Vous pouvez exploiter le résultat par des instructions de saut condi-tionnel.

Indicateurs de résultat

RLG FL 1 FL 0 Signification Test

0 0 0 La fonction spéciale a été traitée correctement.

SPBSPZ

1 1 0 La fonction spéciale a été interrompue avec avertisse-ment.

SPBSPPSPN

1 0 1 La fonction spéciale a été interrompue avec erreur.

SPBSPMSPN

Tableau 6-4 Indicateurs de résultat de l’OB 124

OB 124 : Suppression de blocs STEP 5

Programmation de la CPU 948C79000-G8577-C848-04 6 - 15

Page 254: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Codes d’erreur dansl’ACCU 1-LL

Le programme système inscrit dans l’ACCU 1-LL des codes sur lerésultat du traitement, qui précisent pourquoi il y a eu avertissementou erreur.

Bit 7 6 5 0

A E Cause de l’avertissement ou de l’erreur

Des indications collectives sont définies comme suit :

Bit 7 (A) = 1 AvertissementBit 6 (E) = 1 Erreur

Code Signification

01H La fonction a été exécutée correctement.

45H47H4DH

ErreurType de bloc incorrectBloc inexistantFonction en ligne de compression de la mémoire encours

8DH

8EH

AvertissementConflit avec une fonction en ligne (autre que cellede compression de la mémoire)Délai de 10 ms non encore écoulé

Exemple

Tableau 6-5 Codes d’erreur de l’OB 124 dans l’ACCU 1-LL

:L KY 6,100 Cette suite d’instructions:SPA OB 124 efface le bloc DX 100 dans la : mémoire de travail.

OB 124 : Suppression de blocs STEP 5

Programmation de la CPU 9486 - 16 C79000-G8577-C848-04

Page 255: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.5 OB 125 : Génération de blocs STEP 5

Fonction Le bloc OB 125 permet de créer des blocs STEP 5 (de code ou dedonnées) dans la mémoire utilisateur. Toutefois, la génération deblocs de code devrait être réservée aux spécialistes.

Le bloc précisé est créé dans la mémoire vive (RAM) interne avec en-tête et corps de bloc ; il est repris dans le DB 0. Le corps de bloc conti-ent des données aléatoires. Pour cette raison, il faut d’abord écrire desdonnées dans un bloc nouvellement créé avant de pouvoir y lire desdonnées significatives.

Paramètres 1) ACCU 1-LH

Type du bloc à générer

2) ACCU 1-LL

Numéro du bloc à générer

Les types et numéros de blocs suivants sont admis :

ACCU 1-LH (type de bloc) ACCU 1-LL (numéro de bloc)

1 = PB2 = SB3 = FB4 = FX5 = DB6 = DX7 = OB

0 à 2550 à 2550 à 2550 à 2553 à 2553 à 2551 à 39

3) ACCU 2-L

Nombre de mots de données (longueur de bloc désirée sans en-tête)La longueur maximale admissible pour un bloc est de 32 762 mots dedonnées. Actuellement, il est possible d’éditer environ 2 kilo-motsavec une PG.

Résultat Après traitement correct et sans erreur, le programme système met leRLG à 0 et efface les indicateurs FL 1 et FL 0.

NotaLes alarmes utilisateur sont inhibées pendant la procédure degénération proprement dite : aucune alarme ni interruption n’estprise en considération.

L’appel de l’OB 125 modifie le contenu des accumulateurs 1 à 4.Le registre BR reste inchangé.

OB 125 : Génération de blocs STEP 5

Programmation de la CPU 948C79000-G8577-C848-04 6 - 17

Page 256: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Erreurs et avertissements En cas d’erreur, le programme système interrompt le traitement del’OB 125 et poursuit le traitement du programme avec l’opérationSTEP 5 suivante. En outre, il met le RLG à 1 et inscrit un code d’er-reur dans l’ACCU 1-LL (voir le tableau 6-7).

En cas d’interruption de la fonction avec avertissement, un nouvel ap-pel de la fonction spéciale (éventuellement un appel répété) permetnormalement d’aboutir à l’exécution correcte de l’OB 125.

Dans le cas suivant, l’exécution de l’OB 125 est interrompue avecgénération d’un avertissement :

Appel réitéré d’un OB 124, OB 125, OB 254 ou OB 255 alors que mo-ins de 10 ms se sont écoulées depuis le dernier appelEn effet, en l’espace de 10 ms, un seul appel de ces fonctionsspéciales est autorisé. On évite ainsi que l’interface vers la console deprogrammation ne soit totalement bloquée par l’appel répété de cesOB de fonctions spéciales.

Indicateurs Après appel de l’OB 125, vous pouvez déterminer à l’aide du RLG etdes indicateurs FL 1 et FL 0 si la fonction spéciale a été traitée cor-rectement ou si elle a été interrompue avec erreur ou avertissement.Vous pouvez exploiter le résultat par des instructions de saut condi-tionnel.

Indicateurs de résultat

RLG FL 1 FL 0 Signification Test

0 0 0 La fonction spéciale a été traitée correctement.

SPBSPZ

1 1 0 La fonction spéciale a été interrompue avec avertisse-ment.

SPBSPPSPN

1 0 1 La fonction spéciale a été interrompue avec erreur.

SPBSPMSPN

Tableau 6-6 Indicateurs de résultat de l’OB 125

OB 125 : Génération de blocs STEP 5

Programmation de la CPU 9486 - 18 C79000-G8577-C848-04

Page 257: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Codes d’erreur dansl’ACCU 1-LL

Le programme système inscrit dans l’ACCU 1-LL des codes sur lerésultat du traitement, qui précisent pourquoi il y a eu avertissementou erreur.

Bit 7 6 5 0

A E Cause de l’avertissement ou de l’erreur

Des indications collectives sont définies comme suit :

Bit 7 (A) = 1 AvertissementBit 6 (E) = 1 Erreur

Code Signification

01H La fonction a été exécutée correctement.

42H43H44H45H4DH

ErreurLe bloc existe déjà.Espace mémoire insuffisantLongueur de bloc incorrecteType de bloc incorrectFonction en ligne de compression de la mémoire encours

8DH

8EH

AvertissementConflit avec une fonction en ligne (autre que cellede compression de la mémoire)Délai de 10 ms non encore écoulé

Exemple

Tableau 6-7 Codes d’erreur de l’OB 125 dans l’ACCU 1-LL

:L KF +2000 Cette suite d’instructions crée :L KY 5,24 le bloc DB 24 avec une longueur:SPA OB 125 de 2000 mots de données: (longueur totale avec en-tête : : 2005 mots)

OB 125 : Génération de blocs STEP 5

Programmation de la CPU 948C79000-G8577-C848-04 6 - 19

Page 258: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.6 OB 126 : Définition et transfert de mémoires image du processus

A chaque cycle, le programme système actualise la mémoire image duprocessus pour les entrées et les sorties TOR et les mémentos de cou-plage. C’est dans le bloc de données système DB 1 qu’est précisé les-quels de ces éléments figurent dans la mémoire image (voir lechapitre 10).L’OB 126 vous permet d’utiliser d’autres mémoires image.

Fonction En mode de démarrage, l’OB 126 permet de définir jusqu’à quatremémoires image, en plus de la mémoire image du processus définiedans le DB 1.Vous pouvez lire et écrire ces mémoires image supplémentaires àl’aide du programme STEP 5 à tous les niveaux de traitement deprogramme.

Paramètres 1) Champ de données

6 octets de mémentos présentant la structure suivante :

Bit 7 0

MB n Numéro de fonction

MB n+1 Numéro de la liste d’adresses

MB n+2 Type de bloc

MB n+3 Numéro de bloc

MB n+4 Numéro du premier mot d’identification

MB n+5 dans la liste d’adresses

Paramètres du champ de données

Numéro de fonction Ce numéro définit la fonction qui sera exécutée par l’OB 126 (voir letableau).

Valeurs admises : 1 à 5

Numéro Fonction

1234

Lire la mémoire image des entrées TOREcrire la mémoire image des sorties TORLire la mémoire image des mémentos de couplage d’entréeEcrire la mémoire image des mémentos de couplage de sortie

5 Générer la liste d’adresses interne (par analogie au DB 1)(autorisé uniquement avec OB 20 de démarrage)

OB 126 : Définition et transfert de mémoires image du processus

Programmation de la CPU 9486 - 20 C79000-G8577-C848-04

Page 259: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Numéro de la liste d’adresses Numéro de la liste d’adresses pour la mémoire image du processusdéfinie en plus

Valeurs admises : 1 à 4

Type de bloc Type du bloc de données contenant la liste d’adresses

Valeurs admises : 1 = DB2 = DX

Numéro de bloc Numéro du bloc de données contenant la liste d’adresses

Valeurs admises : 3 à 255

N° de DW du premier motd’identification

Indiquez ici le numéro du mot de données dans lequel figure le pre-mier mot d’identification de la liste d’adresses (cf. structure du DB 1,paragraphe 10.1.6).Les mots d’identification possibles sont :

KH = DE00 (entrées TOR)KH = DA00 (sorties TOR)KH = CE00 (mémentos de couplage d’entrée)KH = CA00 (mémentos de couplage de sortie)

Ce paramètre occupe deux octets de mémentos.

NotaVous ne devez définir le champ de données dans sa totalité que si l’OB 126 doit générer la liste d’adresses au démarrage(fonction 5). Pour l’exécution des fonctions 1 à 4, il suffit depréciser le numéro de fonction et le numéro de la liste d’adressesdans le champ de données. Les autres paramètres sont inutiles.

Vous devez organiser le bloc de données avec lequel vous voulezconstituer la liste d’adresses pour une mémoire imagesupplémentaire (fonction 5) de la même façon que le DB 1.Dans ce bloc, vous pouvez ranger pour chaque mémoire imagesupplémentaire les informations de liste d’adresses si vousaffectez à chaque bloc d’information la même identification de finque dans le DB 1.Toutefois, pour constituer la liste d’adresses, vous devez appelerl’OB 126 avec le numéro de fonction 5 pour chaque mémoireimage du processus supplémentaire (uniquement au démarrage).

2) ACCU 1-L

Numéro de l’octet de mémentos MB n par lequel commence lechamp de données

Valeurs admises : 0 à 250

OB 126 : Définition et transfert de mémoires image du processus

Programmation de la CPU 948C79000-G8577-C848-04 6 - 21

Page 260: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Résultat Après traitement correct et sans erreur, le programme système met leRLG à 0 et écrit la valeur 1 dans l’ACCU 1-LL.

NotaLes alarmes utilisateur sont inhibées pendant le traitement del’OB 126 : aucune alarme ni interruption n’est prise enconsidération.

L’appel de l’OB 126 modifie le contenu des accumulateurs 1 à 4.Le registre BR reste inchangé.

Au redémarrage, la partie restante du cycle est traitée avec lesignal BASP actif : toutes les sorties TOR sont verrouillées. A lafin du cycle, toutes les sorties (également celles indiquées dansles listes d’adresses 1 à 4) sont remises à 0.

Erreurs possibles Si la fonction spéciale ne peut pas être exécutée, le programme systèmeinterrompt le traitement de l’OB 126 et poursuit le traitement du pro-gramme avec l’opération STEP 5 suivante. En outre, il met le RLG à 1et inscrit un code d’erreur dans l’ACCU 1-LL (voir le tableau suivant).

Exception dans le traitement d’erreurs

Si l’OB 126 est appelé à exécuter la fonction 5 (constitution de la listed’adresses interne), le programme système vérifie si la structure de laliste est correcte. En outre, il s’assure que les entrées, les sorties et lesmémentos de couplage y figurant délivrent le signal d’acquittementsur les cartes correspondantes.Si la liste d’adresses est erronée, la CPU présente le même compor-tement que lors d’un DB 1 erroné : elle se met en arrêt partiel avecclignotement lent du voyant STOP. La cause de l’erreur signalée estune "erreur de DB 1".

Codes d’erreur dans l’ACCU 1-LL

Code Signification

01H02H03H

04H

05H

06H07H

La fonction a été exécutée correctement.Numéro de fonction incorrectPointeur dans l’ACCU 1-L (numéro de mémento) incorrectType ou numéro de bloc incorrect ou bloc DB/DXinexistantLe mot de données indiqué du bloc de données ne contient pas le premier mot d’identification (numéro de DW erroné) ou la liste d’adresses contient un mot d’identification erroné.Numéro de la liste d’adresses incorrectL’appel de la fonction à ce niveau de traitement de programme n’est pas autorisé.

Tableau 6-8 Codes d’erreur de l’OB 126 dans l’ACCU 1-LL

OB 126 : Définition et transfert de mémoires image du processus

Programmation de la CPU 9486 - 22 C79000-G8577-C848-04

Page 261: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemples

Constitution de la liste d’adresses dans le DB 5

A l’aide de la fonction d’édition de masques DB,vous programmez à la PG le bloc de données DB 5avec les paramètres suivants :

Entrées TOR 1, 2, Sorties TOR 3,Mémentos couplage entrées 5, 6, 7,Mémentos couplage sorties 20, 22,

Si vous créez le DB 5 manuellement, il doitprésenter la même structure que le DB 1 (avecindicatif de début, mots d’identification des zonesd’opérandes, indicatif de fin ; cf. paragraphe10.1.6).

Reprise de la liste d’adresses dans l’OB 20 de

démarrage

Vous devez d’abord définir le champ de donnéesdans la zone de mémentos. Il occupe les octets demémentos MB 20 à MB 25.

:L KB 5 Charger le numéro de fonction 5:T MB 20 et le transférer dans le MB 20:L KB 1 Charger le numéro de liste : d’adresses 1:T MB 21 et le transférer dans le MB 21:L KH 0105 Charger le type de bloc DB (1) : et le numéro de bloc (5) et les:T MW 22 transférer dans les MB 22 et 23:L KB 3 Charger le n° de DW "3" (DW 3 du:T MW 24 DB 5 contient 1 er mot d’ident.) et: les transférer dans les MB 24 et 25

Une fois le champ de données défini correctement,il faut charger dans l’ACCU 1-L le numéro dupremier octet de mémentos du champ de données.Appelez ensuite l’OB 126 qui générera la listed’adresses.

:L KB 20 Début du champ de données au MB 20:SPA OB 126 Appeler la génération de la liste : d’adresses. Exploiter éventuelle-: ment les indicateurs: ...

NotaLes listes d’adresses de numéro 1 à 4 ne sontreprises par la CPU que par un appel de l’OB 126dans l’OB 20 (démarrage). Il faut donc quel’OB 126 soit appelé avec le numéro de fonction 5dans l’OB 20.

OB 126 : Définition et transfert de mémoires image du processus

Programmation de la CPU 948C79000-G8577-C848-04 6 - 23

Page 262: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Ecriture de la mémoire image des sorties (MIS)

La suite d’instructions STEP 5 ci-après peut êtreprogrammée à tous les niveaux de traitement (dansl’OB 1, dans un OB d’alarme d’horloge ou dans unOB d’alarme de processus, etc.) et a pourrésultat l’écriture de la mémoire image deprocessus de toutes les sorties dans la listed’adresses 1.

:L KB 2 Charger le numéro de fonction 2:T MB 50 et le transférer dans le MB 50:L KB 1 Charger le numéro de liste : d’adresses 1:T MB 51 et le transférer dans le MB 51:L KB 50 Début du champ de données au MB 50:SPA OB 126 Appeler l’écriture de la MIS: Exploiter éventuellement les : indicateurs: ...

OB 126 : Définition et transfert de mémoires image du processus

Programmation de la CPU 9486 - 24 C79000-G8577-C848-04

Page 263: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.7 OB 129 : Etat de la pile de sauvegarde

Fonction L’OB 129 vous permet de vérifier par programme STEP 5 si la pile desauvegarde est encore en bon état ou défaillante (l’OB 129 teste le si-gnal BAT). Selon le résultat de ce contrôle, vous pouvez positionnerune indication de perturbation (lampe) par exemple.

Formation du signal BAT L’unité d’alimentation comporte deux piles de sauvegarde, une pile aulithium (MB, pile principale) ainsi qu’un accumulateur (RB) commepile de réserve. Le signal BAT est généré par combinaison ET desdeux signaux de surveillance de pile.

Réglage des cavaliers dansl’unité d’alimentation

Dans l’unité d’alimentation de l’AP se trouvent deux cavaliers pou-vant influer sur la surveillance des piles. Le cavalier MB-NB détermi-ne l’instant de génération du signal BAT. S’il n’est pas enfiché, BATest formé une seule fois après la mise sous tension. S’il l’est, la surveil-lance se fait cycliquement pendant le fonctionnement. Le cavalierMA-NA permet de désactiver le signal de surveillance de l’accumula-teur.Les différents réglages des cavaliers donnent les possibilités de sur-veillance de pile par l’OB 129 présentées dans le tableau ci-dessous.

Cavalier MB-NB Cavalier MA-NA Instant de génération dusignal BAT

Signal BAT formé à partirdu signal de surveillance

ouvert ouvert après la mise sous tension de la pile au lithium

ouvert fermé après la mise sous tension de la pile au lithium et del’accumulateur

fermé ouvert cycliquement de la pile au lithium

fermé fermé cycliquement de la pile au lithium et del’accumulateur

Paramètres Néant

Résultat RLG = 0 La pile est en bon état.

RLG = 1 La pile est défaillante.

OB 129 : Etat de la pile de sauvegarde

Programmation de la CPU 948C79000-G8577-C848-04 6 - 25

Page 264: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple

6.8 OB 131 : Effacement des accumulateurs 1, 2, 3 et 4

Fonction Un simple appel du bloc d’organisation de fonction spéciale OB 131suffit pour effacer le contenu des accumulateurs 1 à 4. L’OB 131 sub-stitue des 0 au contenu de ces quatre accumulateurs.

Paramètres Néant

Résultat Les accumulateurs 1 à 4, 32 bits chacun, sont effacés (par des 0).

Erreurs possibles Néant

La suite d’instructions suivante permet de testersi la pile de sauvegarde est encore en bon étatet d’activer un témoin lumineux si ce n’est pasle cas.

::SPA OB 129:SPB =LPIL RLG = 1 –> défaillance de: la pile:::BEA

LPIL :SU A 22.5 Activer le témoin lumineux,: bit 5 de l’octet de sortie 22:BE

OB 131 : Effacement des accumulateurs 1, 2, 3 et 4

Programmation de la CPU 9486 - 26 C79000-G8577-C848-04

Page 265: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.9 OB 132 et OB 133 : Décalage du contenu des accumulateurs vers lehaut ou vers le bas

Fonction Les OB 132 et 133 provoquent, respectivement, un décalage du conte-nu des accumulateurs vers le haut et vers le bas.

•• L’OB 132 décale le contenu de l’ACCU 4 dans l’ACCU 1, celuide l’ACCU 1 dans l’ACCU 2, celui de l’ACCU 2 dans l’ACCU 3,etc.

•• L’OB 133 décale le contenu de l’ACCU 1 dans l’ACCU 4, celuide l’ACCU 4 dans l’ACCU 3, etc.

Paramètres Néant

Résultat Les figures 6-1 et 6-2 montrent le contenu des accumulateurs avant etaprès l’appel des OB 132 et 133.

NotaLes instructions ENT (jeu d’opérations étendu) et TAK (opérationsystème) de STEP 5 permettent également de décaler le contenudes accumulateurs (voir le paragraphe 3.4.3).

Erreurs possibles Néant

OB 132 et OB 133 : Décalage du contenu des accumulateurs vers le haut ou vers le bas

Programmation de la CPU 948C79000-G8577-C848-04 6 - 27

Page 266: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

ACCU 4

ACCU 2

ACCU 3

ACCU 1

31 0 31 0

<ACCU 4>

<ACCU 2>

<ACCU 3>

<ACCU 1>

<ACCU 4>

<ACCU 2>

<ACCU 3>

<ACCU 1>

OB 132

avant après

Décalage du contenudes accumulateurs

Figure 6-1 Effet du décalage vers le haut

ACCU 4

ACCU 2

ACCU 3

ACCU 1

31 0 31 0

<ACCU 2>

<ACCU 4>

<ACCU 1>

<ACCU 3>

<ACCU 4>

<ACCU 2>

<ACCU 3>

<ACCU 1>

OB 133

après

Décalage du contenudes accumulateurs

avant

Figure 6-2 Effet du décalage vers le bas

OB 132 et OB 133 : Décalage du contenu des accumulateurs vers le haut ou vers le bas

Programmation de la CPU 9486 - 28 C79000-G8577-C848-04

Page 267: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.10 OB 141 : Activation/désactivation de l’inhibition sélective d’alarmesd’horloge cycliques

Le bloc OB 141 permet d’éviter l’interruption du programme à la find’un ou de plusieurs blocs ou instructions successifs par certains OBd’alarmes d’horloge cycliques (alarmes d’horloge avec base de tempsfixe). Cette fonction vous permet, par exemple, d’empêcher l’interrup-tion d’une certaine partie du programme par un OB 10 (période 1) ouun OB 11 (période 2), les autres alarmes d’horloge programmées étanttraitées comme d’habitude.

Fonction L’OB 141 exerce une influence sur la réaction aux alarmes d’horloge.

"Activation de l’inhibition sélective d’alarmes d’horloge cycliques"signifie que, dorénavant, aucune alarme d’horloge cyclique indiquéene sera plus enregistrée et que les alarmes déjà enregistrées − par ex-emple, celles qui attendent que le programme soit parvenu à une limi-te de bloc − sont effacées. Seul un OB d’alarme d’horloge (pour letraitement d’une alarme d’horloge avec base de temps fixe) déjà encours d’exécution est traité dans sa totalité.

"Désactivation de l’inhibition sélective d’alarmes d’horloge cycliqu-es" signifie que, dorénavant, toutes les alarmes d’horloge cycliquesqui se présentent sont enregistrées et traitées à la limite de bloc oud’instruction suivante (selon le paramétrage du DX 0).

Paramètres 1) Mot de commande

L’OB 141 inscrit les alarmes d’horloge à inhiber dans un mot de com-mande interne.

Bit 15 0

Mot de commande

Les bits de ce mot de commande ont la signification suivante :

Bit Alarme

0 à 2 réservés, ces bits doivent rester à 0.

3 = "1"4 = "1"5 = "1"6 = "1"7 = "1"8 = "1"9 = "1"

Alarmes d’horloge cycliques avec base de temps fixePériode 1 (OB 10)Période 2 (OB 11)Période 3 (OB 12)Période 4 (OB 13)Période 5 (OB 14)Période 6 (OB 15)Période 7 (OB 16)

OB 141 : Activation/désactivation de l’inhibition sélective d’alarmes d’horloge cycliques

Programmation de la CPU 948C79000-G8577-C848-04 6 - 29

Page 268: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Bit Alarme

(suite)10 = "1"11 = "1"

Période 8 (OB 17)Période 9 (OB 18)

12 à 15 réservés, ces bits doivent rester à 0.

Tant qu’un bit est à 1, l’alarme correspondante est inhibée.

2) Accumulateurs

a) ACCU 2-L

Numéro de fonctionValeurs admises 1, 2 ou 3

1 : Le contenu de l’ACCU 1 est transféré dans le mot de commande.

2 : Tous les bits à 1 dans le masque se trou-vant dans l’ACCU 1 sont mis à 1 dans le mot de commande. Le nouveau mot de commande est chargé dans l’ACCU 1.

3 : Tous les bits à 1 dans le masque se trou-vant dans l’ACCU 1 sont mis à 0 dans le mot de commande. Le nouveau mot de commande est chargé dans l’ACCU 1.

b) ACCU 1

Nouveau mot de commande ou masque selon la fonction désirée

Résultat Après traitement correct et sans erreur, le programme système met leRLG à 0.L’appel de l’OB 141 donne les résultats suivants :

N° fonction dans

ACCU 2-L

Contenu de l’ACCU 1

Avant Après

1

2

3

Mot de commande

Masque

Masque

Mot de commande

Nouveau mot de commande

Nouveau mot de commande

OB 141 : Activation/désactivation de l’inhibition sélective d’alarmes d’horloge cycliques

Programmation de la CPU 9486 - 30 C79000-G8577-C848-04

Page 269: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Erreurs possibles Le tableau suivant présente les erreurs pouvant se produire. En casd’erreur, le programme système met le RLG à 1 et inscrit le code cor-respondant dans l’ACCU 1-L.

Code Signification

8D01H8D02H

Numéro de fonction incorrect dans l’ACCU 2-L 1

Un des bits réservés dans l’ACCU 1 est à 1 1.

1 La valeur erronée se trouve dans l’ACCU 2-L.

Test du mot de commande •• Vous pouvez lire l’état du mot de commande par la séquence deprogramme suivante :

1) Charger le numéro de fonction 2 ou 3 dans l’ACCU 2-L

2) Charger la valeur 0 dans l’ACCU 1

3) Appeler le bloc OB 141

4) Lire le contenu de l’ACCU 1

Tableau 6-9 Codes d’erreur de l’OB 141 dans l’ACCU 1-L

OB 141 : Activation/désactivation de l’inhibition sélective d’alarmes d’horloge cycliques

Programmation de la CPU 948C79000-G8577-C848-04 6 - 31

Page 270: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.11 OB 142 : Activation/désactivation du retardement général d’alarmes

Un programme STEP 5 peut être interrompu en fin de bloc ou en find’instruction pour l’exécution de programmes de plus haute priorité.Aux niveaux de traitement de priorité élevée, on trouve les alarmes deprocessus et toutes les alarmes d’horloge. Le temps d’exécution duprogramme interrompu s’allonge alors du temps d’exécution des pro-grammes imbriqués. L’OB 142 permet d’éviter l’interruption du pro-gramme à la fin d’un ou de plusieurs blocs ou instructions successifs(selon le paramétrage du DX 0) par des niveaux de traitement de pro-gramme prioritaires.

Fonction L’OB 142 exerce une influence sur la réaction aux alarmes.

"Activation du retardement général d’alarmes" signifie que, doréna-vant, toutes les alarmes qui se présentent continuent d’être enregi-strées et que les alarmes déjà existantes restent enregistrées. Lesalarmes enregistrées ne sont toutefois pas traitées dans un premiertemps. En d’autres termes, les fins de bloc et d’instruction sont mas-quées pour le traitement des alarmes. Seuls les OB de traitementd’alarmes de processus ou d’horloge déjà en cours d’exécution sonttraités dans leur totalité.

"Désactivation du retardement général d’alarmes" signifie que toutesles alarmes enregistrées seront traitées à la limite de bloc ou d’in-struction suivante.

NotaLa durée de retardement des alarmes doit être inférieure à troisfois la période d’alarme d’horloge la plus courte. Sinon, il seproduit une erreur de traitement d’alarmes d’horloge.

Paramètres 1) Mot de commande

L’OB 142 inscrit les alarmes à retarder dans un mot de commande in-terne.

Bit 15 0

Mot de commande

OB 142 : Activation/désactivation du retardement général d’alarmes

Programmation de la CPU 9486 - 32 C79000-G8577-C848-04

Page 271: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Les bits de ce mot de commande ont la signification suivante :

Bit Alarme

0 = "1" Alarmes d’horloge cycliques avec base de temps fixe

1 = "1" Alarme d’horloge à heure fixe

2 = "1" Alarmes de processus

3 = "1" Alarme de retardement

4 à 15 réservés, ces bits doivent rester à 0.

Tant qu’un bit est à 1, l’alarme correspondante est inhibée.

2) Accumulateurs

a) ACCU 2-L

Numéro de fonctionValeurs admises 1, 2 ou 3

1 : Le contenu de l’ACCU 1 est transféré dans le mot de commande.

2 : Tous les bits à 1 dans le masque se trou-vant dans l’ACCU 1 sont mis à 1 dans le mot de commande. Le nouveau mot de commande est chargé dans l’ACCU 1.

3 : Tous les bits à 1 dans le masque se trou-vant dans l’ACCU 1 sont mis à 0 dans le mot de commande. Le nouveau mot de commande est chargé dans l’ACCU 1.

b) ACCU 1

Nouveau mot de commande ou masque selon la fonction désirée

OB 142 : Activation/désactivation du retardement général d’alarmes

Programmation de la CPU 948C79000-G8577-C848-04 6 - 33

Page 272: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Résultat Après traitement correct et sans erreur, le programme système met leRLG à 0.L’appel de l’OB 142 donne les résultats suivants :

N° fonction dans

ACCU 2-L

Contenu de l’ACCU 1

Avant Après

1

2

3

Mot de commande

Masque

Masque

Mot de commande

Nouveaumot de commande

Nouveaumot de commande

Erreurs possibles Le tableau suivant présente les erreurs pouvant se produire. En casd’erreur, le programme système met le RLG à 1 et inscrit le code cor-respondant dans l’ACCU 1-L.

Code Signification

8E01H8E02H

8EFFH

Numéro de fonction incorrect dans l’ACCU 2-L 1

Un des bits réservés (numéros 4 à 15) dans l’ACCU 1 est à 1 1.Mode erroné (par exemple, lorsque l’alarme de retardement doit être inhibée et que le DX 0 contient le paramètre "Alarmes de processus via l’octet d’entrée EB 0 = OUI")

1 La valeur erronée se trouve dans l’ACCU 2-L.

Test du mot de commande Vous pouvez lire l’état du mot de commande par la séquence de pro-gramme suivante :

1) Charger le numéro de fonction 2 ou 3 dans l’ACCU 2-L

2) Charger la valeur 0 dans l’ACCU 1

3) Appeler le bloc OB 142

4) Lire le contenu de l’ACCU 1

Tableau 6-10 Codes d’erreur de l’OB 142 dans l’ACCU 1-L

OB 142 : Activation/désactivation du retardement général d’alarmes

Programmation de la CPU 9486 - 34 C79000-G8577-C848-04

Page 273: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.12 OB 143 : Activation/désactivation du retardement sélectif d’alarmesd’horloge cycliques

Le bloc OB 143 permet d’éviter l’interruption du programme à la find’un ou de plusieurs blocs ou instructions successifs par certains OBd’alarmes d’horloge cycliques (alarmes d’horloge avec base de tempsfixe). Cette fonction vous permet, par exemple, d’empêcher l’interrup-tion d’une certaine partie du programme par un OB 10 (période 1) ouun OB 11 (période 2), les autres alarmes d’horloge programmées étanttraitées comme d’habitude.

Fonction L’OB 143 exerce une influence sur la réaction aux alarmes d’horloge. "Activation du retardement sélectif d’alarmes d’horloge cycliques" si-gnifie que toutes les alarmes qui se présentent continuent d’être enregi-strées et que les alarmes d’horloge existant déjà restent enregistrées.Les alarmes d’horloge indiquées dans le mot de commande ne sonttoutefois pas traitées dans un premier temps. En d’autres termes, lesfins de bloc et d’instruction sont masquées pour le traitement de cesalarmes d’horloge. Seul un OB d’alarme d’horloge (pour le traitementd’une alarme d’horloge avec base de temps fixe) déjà en coursd’exécution est traité dans sa totalité.

"Désactivation du retardement sélectif d’alarmes d’horloge cycliqu-es" signifie que toutes les alarmes enregistrées sont traitées à la limitede bloc ou d’instruction suivante (selon le paramétrage du DX 0).

Paramètres 1) Mot de commande

L’OB 143 inscrit les alarmes d’horloge à retarder dans un mot de com-mande interne.

Bit 15 0

Mot de commande

Les bits de ce mot de commande ont la signification suivante :

Bit Alarme

0 à 2 réservés, ces bits doivent rester à 0.

3 = "1"4 = "1"5 = "1"6 = "1"7 = "1"8 = "1"

Alarmes d’horloge cycliques avec base de temps fixePériode 1 (OB 10)Période 2 (OB 11)Période 3 (OB 12)Période 4 (OB 13)Période 5 (OB 14)Période 6 (OB 15)

OB 143 : Activation/désactivation du retardement sélectif d’alarmes d’horloge cycliques

Programmation de la CPU 948C79000-G8577-C848-04 6 - 35

Page 274: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Bit Alarme

(suite) 9 = "1"10 = "1"11 = "1"

Période 7 (OB 16)Période 8 (OB 17)Période 9 (OB 18)

12 à 15 réservés, ces bits doivent rester à 0.

Tant qu’un bit est à 1, l’alarme correspondante est inhibée.

2) Accumulateurs

a) ACCU 2-L

Numéro de fonctionValeurs admises 1, 2 ou 3

1 : Le contenu de l’ACCU 1 est transféré dans le mot de commande.

2 : Tous les bits à 1 dans le masque se trou-vant dans l’ACCU 1 sont mis à 1 dans le mot de commande. Le nouveau mot de commande est chargé dans l’ACCU 1.

3 : Tous les bits à 1 dans le masque se trou-vant dans l’ACCU 1 sont mis à 0 dans le mot de commande. Le nouveau mot de commande est chargé dans l’ACCU 1.

b) ACCU 1

Nouveau mot de commande ou masque selon la fonction désirée

Résultat Après traitement correct et sans erreur, le programme système met leRLG à 0.L’appel de l’OB 143 donne les résultats suivants :

N° fonction dans

ACCU 2-L

Contenu de l’ACCU 1

Avant Après

1

2

3

Mot de commande

Masque

Masque

Mot de commande

Nouveaumot de commande

Nouveaumot de commande

OB 143 : Activation/désactivation du retardement sélectif d’alarmes d’horloge cycliques

Programmation de la CPU 9486 - 36 C79000-G8577-C848-04

Page 275: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Erreurs possibles Le tableau suivant présente les erreurs pouvant se produire. En casd’erreur, le programme système met le RLG à 1 et inscrit le code cor-respondant dans l’ACCU 1-L.

Code Signification

8F01H8F02H

Numéro de fonction incorrect dans l’ACCU 2-L 1

Un des bits réservés dans l’ACCU 1 est à 1 1.

1 La valeur erronée se trouve dans l’ACCU 2-L.

Test du mot de commande •• Vous pouvez lire l’état du mot de commande par la séquence deprogramme suivante :

1) Charger le numéro de fonction 2 ou 3 dans l’ACCU 2-L

2) Charger la valeur 0 dans l’ACCU 1

3) Appeler le bloc OB 143

4) Lire le contenu de l’ACCU 1

Tableau 6-11 Codes d’erreur de l’OB 143 dans l’ACCU 1-L

OB 143 : Activation/désactivation du retardement sélectif d’alarmes d’horloge cycliques

Programmation de la CPU 948C79000-G8577-C848-04 6 - 37

Page 276: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.13 OB 150 : Génération et lecture de l’horodateur interne

Propriétés de l’horodateur •• L’horodateur est sauvegardé par la pile dans le châssis de l’automa-te. Une fois réglé, sa valeur en cours est conservée même en cas decoupure de la tension.

•• L’horodateur présente une précision de 10 ms à la lecture et de 1seconde au réglage.

•• Les années bissextiles sont prises en considération.

•• Pour la représentation de l’heure, vous pouvez choisir entre le for-mat de 24 heures et celui de 12 heures "am" (matin) et "pm" (après-midi).

•• Indication du jour de la semaine

•• Les entrées et sorties se font en code DCB.

Fonction L’OB 150 permet de lire ou de générer dans votre programme utilisa-teur la date et l’heure de la CPU 948, c’est-à-dire l’horodateur interne.

NotaL’horodateur est démarré − sur une valeur prédéfinie − aprèsenfichage de la CPU.

Paramètres 1) Champ de données pour les paramètres de l’horodateur

A la génération de l’horodateur, l’OB 150 reprend les valeurs inscri-tes dans le champ de données ; à la lecture de l’horodateur, il inscritles valeurs en cours dans le champ de données. Ce champ de donnéespeut figurer dans un bloc de données ou dans une zone de mémentos(mémentos M ou S).

Le champ de données se compose de 4 mots.

a) Format du champ de données pour la génération de l’horodateur

Bit 15 12 11 8 7 4 3 0

Mot 1 Secondes 0

Mot 2 Format Heures Minutes

Mot 3 Jour du mois Jour de la semaine 0

Mot 4 Année Mois

OB 150 : Génération et lecture de l’horodateur interne

Programmation de la CPU 9486 - 38 C79000-G8577-C848-04

Page 277: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

b) Format du champ de données pour la lecture de l’horodateur

Bit 15 12 11 8 7 4 3 0

Mot 1 Secondes Centièmes de seconde

Mot 2 Format Heures Minutes

Mot 3 Jour du mois Jour de la semaine 0

Mot 4 Année Mois

Les paramètres peuvent prendre les formats et valeurs ci-après.

Paramètre Valeurs admises Représentation

SecondesCentièmes desecondeMinutesHeures

Jour de la semaineJour du mois1

MoisAnnée

0 à 590 à 99 (0 pour la génération

de l’horodateur)0 à 590 à 23 ou 1 à 12, selon le format de l’heure0 à 6 pour lundi à dimanche1 à 31 1 à 120 à 99

Format DCB

Format HeureBit 15 = 0 : Format de 12 h

(choix "am" ou "pm" dans bit 14)

Bit 15 = 1 : Format de 24 h (bit 14 = 0)

Bit 14 = 0 : "am"Bit 14 = 1 : "pm"

1 La valeur indiquée fait l’objet d’un contrôle de plausibilité compte tenu des années bissextiles.

Champ de données dans lazone des mémentos

Si le champ de données se trouve dans une zone de mémentos, vousdevez tenir compte de la correspondance présentée dans le tableau ci-après entre les mots du champ de données et les octets de mémentos."x" représente le paramètre "numéro du premier mot du champ dedonnées" que vous devez spécifier dans l’ACCU 1-L lors de l’appelde l’OB 150.

Bit 15 8 7 0

1er mot du champ Octet de mémentos x Octet de mémentos x+1

2e mot du champ Octet de mémentos x+2 Octet de mémentos x+3

3e mot du champ Octet de mémentos x+4 Octet de mémentos x+5

4e mot du champ Octet de mémentos x+6 Octet de mémentos x+7

OB 150 : Génération et lecture de l’horodateur interne

Programmation de la CPU 948C79000-G8577-C848-04 6 - 39

Page 278: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2) Accumulateurs

a) ACCU 2-L

L’ACCU 2-L contient des indications sur la fonction désirée et sur lechamp de données utilisé. Il doit être structuré comme suit.

Bit 15 12 11 8 7 4 3 0

N° de fonction Type zone d’adr. N° du bloc de données

Paramètres dans l’ACCU 2-L

Numéro de fonctionValeurs admises 1 = génération de l’horodateur

2 = lecture de l’horodateur

Type de zone d’adressageValeurs admises 1 = bloc de données DB

2 = bloc de données DX3 = zone de mémentos M4 = zone de mémentos S

Numéro du bloc de donnéesValeurs admises 3 à 255 (uniquement pour le type de zone d’adres-

sage 1 ou 2 ; sans objet pour les types 3 et 4)

b) ACCU 1-L

Numéro du premier mot du champ de donnéesValeurs admises (en fonction du type de zone d’adressage)

DB, DX 0 à 2039Mémentos M 0 à 248

(n° d’octet de mémentos x)Mémentos S 0 à 4088

(n° d’octet de mémentos x)

Résultat Après traitement correct de l’OB 150, le RLG et les indicateurs OU,1e ? et OVFLMEM sont égaux à zéro.

Erreurs possibles Le tableau suivant présente les erreurs pouvant se produire. En casd’erreur, le programme système met le RLG à 1 et inscrit le code cor-respondant dans l’ACCU 1.

OB 150 : Génération et lecture de l’horodateur interne

Programmation de la CPU 9486 - 40 C79000-G8577-C848-04

Page 279: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Code Signification

9601H960FH9611H9612H9613H9614H9615H9621H9622H9623H9624H

9625H9626H9627H9628H

9629H

Bloc de données non chargéAppel multiple du blocNuméro de fonction incorrectType de zone d’adressage incorrectNuméro de bloc de données incorrectNuméro du premier mot du champ de données incorrectLongueur du bloc de données inférieure à 4 motsIndication de l’année incorrecte dans le champ de donnéesIndication du mois incorrecte dans le champ de donnéesIndication du jour incorrecte dans le champ de donnéesIndication du jour de la semaine incorrecte dans le champde donnéesIndication des heures incorrecte dans le champ de donnéesIndication des minutes incorrecte dans le champ de donnéesIndication des secondes incorrecte dans le champ de donnéesCentièmes de seconde dans le champ de données différents de 0Format de l’heure différent de celui spécifié dans l’OB 151

NotaS’il se produit une erreur de paramétrage pour la fonction degénération de l’heure alors que l’horodateur a déjà été réglécorrectement au moins une fois auparavant, vous obtenez certesles codes d’erreur décrits ci-dessus, mais l’horodateur continue àfonctionner avec les valeurs du paramétrage précédent.

Exemples

Tableau 6-12 Codes d’erreur de l’OB 150 dans l’ACCU 1

Génération de l’horodateur

Il s’agit de régler l’horodateur comme suit :

Je, 21.10.1993, 11 heures 30 minutes 0 seconde, format de 24 heures

Les paramètres figurent dans le DB 10 à partir du mot de données DW 0.

DB 100: KH = 0 0 0 0 Octet de gauche = secondes (DCB), octet de droite = 0

1: KH = 9 1 3 0 91 = format (= 80H) + heure (= 11 DCB)30 = minutes (DCB)

2: KH = 2 1 3 0 21 = jour du mois (DCB)30 = jour de la semaine (3 = jeudi) + bits 0 à 3 = 0

3: KH = 9 3 1 0 93 = année (DCB)10 = mois (DCB)

Suite à la page suivante

OB 150 : Génération et lecture de l’horodateur interne

Programmation de la CPU 948C79000-G8577-C848-04 6 - 41

Page 280: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Génération de l’horodateur (suite)

Instructions STEP 5 dans l’OB 1 pour l’appel de l’OB 150

: ::L KH 1 1 0 A Valeurs pour l’ACCU 2-L :: Numéro du DB = 10: Type de zone d’adressage = 1 pour : "champ de données dans DB": Numéro de fonction = 1 pour "génération":L KF +0 ACCU 1-L : : Numéro du premier mot du champ de données = 0:SPA OB 150 Appel de l’OB 150:

Lecture de l’horodateur

Il s’agit d’écrire la valeur en cours de l’horodateur dans le bloc de donnéesDB 10 à partir du mot de données DW 4. A cet effet, vous devez appelerl’OB 150 avec les paramètres suivants :

::L KH 2 1 0 A Valeurs pour l’ACCU 2-L :: Numéro du DB = 10: Type de zone d’adressage = 1 pour : "champ de données dans DB": Numéro de fonction = 2 pour "lecture":L KF +4 ACCU 1-L :: Numéro du premier mot du champ de données = 4:SPA OB 150 Appel de l’OB 150:A DB 10 Ouverture du DB 10: Exploitation du DB 10

Après l’appel de l’OB 150, la valeur en cours de l’horodateur est inscritesous la forme ci-après dans le bloc de données DB 10 (Je, 21.10.93, 11heures 30 minutes 20 secondes, 13 centièmes de seconde, format de 24heures).

DW 4: KH = 2 0 1 3 Secondes = 20 (DCB)Centièmes de seconde = 13 (DCB)

DW 5: KH = 9 1 3 0 Format = 24 heures (bit 15 = 1, bit 14 = 0)Heures = 11 (DCB), minutes = 30 (DCB)

DW 6: KH = 2 1 3 0 Jour du mois = 21 (DCB)Jour de la semaine = 3 = jeudi

DW 7: KH = 9 3 1 0 Année = 93 (DCB)Mois = 10 (DCB)

OB 150 : Génération et lecture de l’horodateur interne

Programmation de la CPU 9486 - 42 C79000-G8577-C848-04

Page 281: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.14 OB 151 : Génération et lecture de l’heure de déclenchement d’unealarme d’horloge à heure fixe

Fonction L’appel de l’OB 151 permet :

•• de commander à la CPU 948 d’activer à une heure prédéfiniel’alarme d’horloge à heure fixe (contrat à heure fixe, OB 9 ; voir leparagraphe 4.5.3) :

- toutes les minutes,- toutes les heures,- tous les jours,- toutes les semaines,- tous les mois,- tous les ans,- une seule fois ;

•• de lire l’état momentané d’un contrat à heure fixe ;

•• d’annuler un contrat à heure fixe déjà généré.

Vous pouvez appeler l’OB 151 à la mise en route ou en état de marche(RUN). Une alarme d’horloge à heure fixe générée est conservée lorsd’un redémarrage automatique ou manuel. En revanche, un démarrageefface un contrat à heure fixe existant.

La génération d’un nouveau contrat à heure fixe annule automatique-ment celui en cours. On ne peut donc activer qu’une seule alarmed’horloge à heure fixe à la fois.

Paramètres 1) Champ de données pour les paramètres du contrat

Lors de la génération ou de l’annulation d’un contrat à heure fixe,l’OB 151 prélève les paramètres nécessaires dans le champ dedonnées. Lors de la lecture de l’état en cours des contrats gérés, il in-scrit les paramètres de contrat en vigueur dans le champ de données.

Vous pouvez placer ce champ de données dans un bloc de données oudans l’une des deux zones de mémentos (mémentos M ou S).

Le champ de données se compose de quatre mots et présente le formatsuivant pour la génération et la lecture d’un contrat à heure fixe.

Bit 15 12 11 8 7 4 3 0

Mot 1 Secondes 0

Mot 2 Format Heures Minutes

Mot 3 Jour du mois Jour de la semaine Type de contrat

Mot 4 Année Mois

OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe

Programmation de la CPU 948C79000-G8577-C848-04 6 - 43

Page 282: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Les paramètres peuvent prendre les formats et valeurs ci-après.

Paramètre Valeurs admises Représentation

Type de contrat 0 à 70 : annuler le contrat ou

aucun contrat en cours1 : toutes les minutes2 : toutes les heures3 : tous les jours4 : toutes les semaines5 : tous les mois6 : tous les ans7 : une seule fois

Format DCB

SecondesCentièmes desecondeMinutesHeures

Jour de lasemaineJour du mois 1

MoisAnnée

0 à 590

0 à 590 à 23 ou 1 à 12, selon le format de l’heure0 à 6 pour lundi à dimanche

1 à 31 1 à 120 à 99

Format DCB

Format 2 HeureBit 15 = 0 : Format de 12 hBit 15 = 1 : Format de 24 h

(bit 14 = 0)Bit 14 = 0 : "am"Bit 14 = 1 : "pm"

1 La valeur indiquée fait l’objet d’un contrôle de plausibilité compte tenu des années bissextiles.

2 Pour la signification de "am" et "pm", voir la description de l’OB 150. Le format doit coïncider avec celui spécifié dans l’OB 150 lors de la génération de l’horodateur.

Champ de données dans lazone des mémentos

Si le champ de données se trouve dans une zone de mémentos, vousdevez tenir compte de la correspondance présentée dans le tableau ci-après entre les mots du champ de données et les octets de mémentos."x" représente le paramètre "numéro du premier mot du champ dedonnées" que vous devez spécifier dans l’ACCU 1-L lors de l’appelde l’OB 151.

Bit 15 8 7 0

1er mot du champ Octet de mémentos x Octet de mémentos x+1

2e mot du champ Octet de mémentos x+2 Octet de mémentos x+3

3e mot du champ Octet de mémentos x+4 Octet de mémentos x+5

4e mot du champ Octet de mémentos x+6 Octet de mémentos x+7

OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe

Programmation de la CPU 9486 - 44 C79000-G8577-C848-04

Page 283: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2) Accumulateurs

a) ACCU 2-L

L’ACCU 2-L contient des indications sur la fonction désirée et sur lechamp de données utilisé. Il doit être structuré comme suit.

Bit 15 12 11 8 7 4 3 0

Numéro de fonction Type de zone d’adr. Numéro du bloc de données

Paramètres dans l’ACCU 2-L

Numéro de fonctionValeurs admises 1 = générer le contrat

2 = lire l’état du contrat

Type de zone d’adressageValeurs admises 1 = bloc de données DB

2 = bloc de données DX3 = zone de mémentos M4 = zone de mémentos S

Numéro du bloc de donnéesValeurs admises 3 à 255 (uniquement pour le type de zone

d’adressage 1 ou 2 ; sans objet pour les types 3 et 4)

b) ACCU 1-L

Numéro du premier mot du champ de donnéesValeurs admises (en fonction du type de zone d’adressage)

DB, DX 0 à 2039Mémentos M 0 à 248

(n° d’octet de mémentos x)Mémentos S 0 à 4088

(n° d’octet de mémentos x)

NotaGénérer cycliquement un contrat à heure fixe − par exemple, parun appel absolu dans l’OB 1 de l’OB 151 avec numéro defonction 1 − n’a pas de sens.

Résultat Après traitement correct de l’OB 151, le RLG et les indicateurs OU,1e ? et OVFLMEM sont égaux à zéro.

OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe

Programmation de la CPU 948C79000-G8577-C848-04 6 - 45

Page 284: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

NotaSi, à la lecture du contrat à heure fixe, le champ de donnéescontient le type de contrat 0 et les valeurs hexadécimales F ouFF pour tous les autres paramètres, vous pouvez en déduirequ’aucun contrat à heure fixe n’est actif. Cela peut se présenter :

a) si vous avez exécuté un démarrage sans générer de contrat à heure fixe,

b) si un contrat à heure fixe unique est arrivé à échéance

c) ou si vous avez annulé un contrat.

Erreurs possibles Le tableau suivant présente les erreurs pouvant se produire. En casd’erreur, le programme système met le RLG à 1 et inscrit le code cor-respondant dans l’ACCU 1.

Code Signification

9701H970FH9710H

9711H9712H9713H9714H9715H9721H9722H9723H9724H

9725H9726H9727H

9728H

9729H

972AH

Bloc de données non chargéAppel multiple du blocMode de fonctionnement incorrect (Alarmes de processus via octet d’entrée EB 0 = OUI)Numéro de fonction incorrectType de zone d’adressage incorrectNuméro de bloc de données incorrectNuméro du premier mot du champ de données incorrectLongueur du bloc de données inférieure à 4 motsIndication de l’année incorrecte dans le champ de donnéesIndication du mois incorrecte dans le champ de donnéesIndication du jour incorrecte dans le champ de donnéesIndication du jour de la semaine incorrecte dans le champ de donnéesIndication des heures incorrecte dans le champ de donnéesIndication des minutes incorrecte dans le champ de donnéesIndication des secondes incorrecte dans le champ dedonnéesCentièmes de seconde dans le champ de données différents de 0Format de l’heure différent de celui spécifié dans l’OB 121/OB 150Type de contrat incorrect

NotaS’il se produit une erreur de paramétrage alors qu’un contrat àheure fixe valable a déjà été généré auparavant, vous obtenezcertes les codes d’erreur décrits ci-dessus, mais le contrat àheure fixe généré précédemment reste actif.

Tableau 6-13 Codes d’erreur de l’OB 151 dans l’ACCU 1

OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe

Programmation de la CPU 9486 - 46 C79000-G8577-C848-04

Page 285: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Paramètres d’horodatage Selon la périodicité voulue pour le déclenchement d’une alarme d’hor-loge à heure fixe (contrat à heure fixe), vous devez spécifier lesdifférents paramètres d’horodatage dans des combinaisons bien défi-nies. L’indication de certains paramètres est impérative suivant la dateet l’heure choisies pour l’alarme alors que d’autres paramètres ne sontpas exploités par le programme système.

Le tableau ci-après précise quels sont les paramètres d’horodatage ob-ligatoires pour les différents types de contrat à heure fixe (XXX = indi-cation impérative, --- = non significatif).

Contrat à heure fixe

Secondes Minutes Heures Jour de la

semaine

Jour du mois

Mois Année

Toutes les minutesToutes les heuresTous les joursToutes les semainesTous les moisTous les ansUne seule fois

XXXXXXXXXXXXXXXXXXXXX

---XXXXXXXXXXXXXXXXXX

------

XXXXXXXXXXXXXXX

---------

XXX---------

------------

XXXXXXXXX

---------------

XXXXXX

------------------

XXX

Lors de la lecture des paramètres d’horodatage, les paramètres non si-gnificatifs reçoivent la valeur hexadécimale FF.

Particularités •• Si, pour le type de contrat annuel (6), vous choisissez le 29 février,l’OB 9 ne sera appelé que toutes les années bissextiles.

•• Si, pour le type de contrat mensuel (5), vous choisissez la valeur29, 30 ou 31 pour le jour du mois, l’OB 9 ne sera appelé que lesmois ayant ce nombre de jours.

Tableau 6-14 Combinaisons entre contrats à heure fixe et paramètres d’horodatage

OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe

Programmation de la CPU 948C79000-G8577-C848-04 6 - 47

Page 286: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemples

Exemples de contrat à heure fixe (en format de 24 heures)

1) Contrat à la 29 e seconde de chaque minute (12:44:29, 12:45:29 etc.)

Paramètres à indiquerType de contrat = 1 (n° de fonction dans l’ACCU 2-L = 1)Secondes = 29

2) Contrat toutes les heures à xx:14:15 h

Paramètres à indiquerType de contrat = 2 (n° de fonction dans l’ACCU 2-L = 1)Secondes = 15Minutes = 14

3) Contrat tous les jours à 5:32:47 h

Paramètres à indiquerType de contrat = 3 (n° de fonction dans l’ACCU 2-L = 1)Secondes = 47Minutes = 32Format/heures = 85

4) Contrat toutes les semaines, le mardi à 10:50:00 h

Paramètres à indiquerType de contrat = 4 (n° de fonction dans l’ACCU 2-L = 1)Secondes = 00Minutes = 50Format/heures = 90Jour de la semaine = 01

5) Contrat tous les mois, le 14 à 7:30:15 h

Paramètres à indiquerType de contrat = 5 (n° de fonction dans l’ACCU 2-L = 1)Secondes = 15Minutes = 30Format/heures = 87Jour du mois = 14

6) Contrat tous les ans, le 1 er mai à 00:01:45 h

Paramètres à indiquerType de contrat = 6 (n° de fonction dans l’ACCU 2-L = 1)Secondes = 45Minutes = 01Format/heures = 80Jour du mois = 01Mois = 05

Suite à la page suivante

OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe

Programmation de la CPU 9486 - 48 C79000-G8577-C848-04

Page 287: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemples de contrat à heure fixe (en format de 24 heures), suite

7) Contrat unique, le 31.12.1999 à 23:55:00 h

Paramètres à indiquerType de contrat = 7 (n° de fonction dans l’ACCU 2-L = 1)Secondes = 00Minutes = 55Format/heures = A3Jour du mois = 31Mois = 12Année = 99

8) Annulation du contrat

Paramètres à indiquerType de contrat = 0 (n° de fonction dans l’ACCU 2-L = 1)

9) Lecture du contrat

Paramètres à indiquerNuméro de fonction dans l’ACCU 2-L = 2

Si aucun contrat n’est actif, vous obtenez les valeurs suivantes dans le champ de données.

Mot 0 du champ de données : FFFF HMot 1 du champ de données : FFFF HMot 2 du champ de données : FFF0 HMot 3 du champ de données : FFFF H

OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe

Programmation de la CPU 948C79000-G8577-C848-04 6 - 49

Page 288: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.15 OB 153 : Génération et lecture de l’heure de déclenchement d’unealarme de retardement

Avec l’OB 153, vous pouvez transmettre des "contrats de retarde-ment" au programme système afin que des "alarmes de retardement"soient traitées à l’écoulement d’un temps de retard donné (voir l’OB 6au paragraphe 4.5.3).

Fonction L’appel de l’OB 153 permet :

•• de définir et de lancer une alarme de retardement,

•• d’arrêter une alarme de retardement activée (annulation d’un con-trat de retardement),

•• de lire le temps restant avant échéance d’une alarme de retarde-ment.

Vous pouvez émettre un contrat de retardement via l’OB 153 dans lesétats de fonctionnement "mise en route" et "marche" (RUN).

Durée de vie d’un contrat deretardement

Toutefois, le programme système n’active l’alarme de retardementdéclenchée par un contrat de retardement qu’en état de marche RUN(appel de l’OB 6).Il refuse sans émettre de message les contrats arrivant à échéance endehors de l’état RUN.Il rejette également un contrat en cours mais non encore à échéancelors du passage à l’arrêt (STOP) ou en cas de coupure de l’alimentati-on.

Paramètres Accumulateurs

a) ACCU 2-L

L’ACCU 2-L ne doit contenir de valeur que si vous appelez l’OB 153avec le numéro de fonction 1 (définition d’une alarme de retardement).

Temps de retard en millisecondes (65 535 au maximum)

Valeurs admises : 0001H à FFFFH

b) ACCU 1-L

Numéro de fonctionValeurs admises 1 = Définir et lancer une alarme de retardement

2 = Arrêter une alarme de retardement (annuler le contrat)3 = Lire le temps restant avant échéance

OB 153 : Génération et lecture de l’heure de déclenchement d’une alarme de retardement

Programmation de la CPU 9486 - 50 C79000-G8577-C848-04

Page 289: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

NotaSi, lors de la définition d’une alarme de retardement, une alarmede retardement définie auparavant n’est pas encore arrivée àéchéance, cette dernière est annulée et la nouvelle alarme estdémarrée.

Résultat Après traitement correct de l’OB 153, le RLG et les indicateurs OU,1e ? et OVFLMEM sont égaux à zéro.

Lors de l’appel de l’OB 153 avec le numéro de fonction 2 ou 3,l’ACCU 1-L contient le temps restant avant échéance en milli-secondes.

Si, à l’appel de l’OB 153 avec le numéro de fonction 2 ou 3, aucuncontrat de retardement n’est actif, l’ACCU 1-L contient la valeur 0.

Erreurs possibles Le tableau suivant présente les erreurs pouvant se produire. En casd’erreur, le programme système met le RLG à 1 et inscrit le code cor-respondant dans l’ACCU 1.

Code Signification

990FH9910H

9911H9921H

Appel multiple du blocMode de fonctionnement incorrect (Alarmes de processus via octet d’entrée EB 0 = OUI)Numéro de fonction incorrectTemps de retard incorrect

Exemples

Tableau 6-15 Codes d’erreur de l’OB 153

Définir et lancer une alarme de retardement

Il s’agit d’exécuter une fois une suite donnée d’instructions STEP 5 après5 secondes lors d’un redémarrage automatique. A cet effet, une alarme deretardement est définie et lancée dans le bloc d’organisation de démarrageOB 22.

Instructions STEP 5 dans l’OB 22 pour l’appel de l’OB 153

: ::L KF +5000 Valeur pour l’ACCU 2-L : 5000 ms:L KF +1 Valeur pour l’ACCU 1-L : numéro de fonction = 1 pour : "définir et lancer une alarme de retardement":SPA OB 153 Appel de l’OB 153:

OB 153 : Génération et lecture de l’heure de déclenchement d’une alarme de retardement

Programmation de la CPU 948C79000-G8577-C848-04 6 - 51

Page 290: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Lire le temps restant avant échéance d’une alarme de retardement

Instructions STEP 5 pour l’appel de l’OB 153

: ::L KF +3 Valeur pour l’ACCU 1-L : numéro de fonction = 3 pour : "lire le temps restant avant échéance":SPA OB 153 Appel de l’OB 153:: L’ACCU 1-L contient le temps restant avant que le : contrat de retardement ne soit déclenché.:

Arrêter une alarme de retardement (annuler le contrat)

Instructions STEP 5 pour l’appel de l’OB 153

: ::L KF +2 Valeur pour l’ACCU 1-L : numéro de fonction = 2 pour: "annuler une alarme de retardement":SPA OB 153 Appel de l’OB 153::

OB 153 : Génération et lecture de l’heure de déclenchement d’une alarme de retardement

Programmation de la CPU 9486 - 52 C79000-G8577-C848-04

Page 291: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.16 OB 180 : Accès variable à un bloc de données

Utilisation de l’OB 180 L’OB 180 s’avère utile pour les blocs de données ayant une longueursupérieure à 261 mots (en-tête de 5 mots inclus). En effet, cet OBvous permet de décaler la fenêtre d’accès à un bloc de données de256 mots de données par pas de 16 mots (adresses de paragraphe).L’appel renouvelé de l’OB 180 permet de poursuivre le décalage de lafenêtre d’accès.

Contrairement à ce qui est possible dans la CPU 928B, vous ne pou-vez pas, dans la CPU 948, décaler la fenêtre d’accès de manière conti-nue, mais uniquement par des multiples de 16.

Fonction L’OB 180 décale de la valeur précisée l’adresse de début du bloc dedonnées en cours vers la fin du bloc. Ce faisant, le système tient comp-te du fait que la longueur du bloc de données diminue (chargementdes registres DBA et DBL correspondant au décalage ; voir para-graphes 8.3 et 9.2.1).

NotaUn bloc de données DB ou DX suffisamment long doit êtrechargé avant l’appel de l’OB 180.

Paramètres ACCU 1-L

Décalage D Nombre de mots de données duquel l’adresse de début du bloc de données doit être décalée

Valeurs admises 0 ≤ D < DBL, D = n * 16(16, 32, 48, etc.)

Résultat Si l’appel de l’OB 180 s’exécute sans erreur :

•• L’adresse relative du DW 0 est décalée de la valeur figurant dansl’ACCU 1-L (les registres DBA et DBL sont modifiés enconséquence) ;

•• Le résultat logique RLG est mis à 0 ;

•• tous les autres indicateurs sur bit et sur mot sont effacés ;

•• le contenu de l’ACCU 1-L est égal à 0.

OB 180 : Accès variable à un bloc de données

Programmation de la CPU 948C79000-G8577-C848-04 6 - 53

Page 292: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Erreurs possibles Il peut se produire les erreurs présentées dans le tableau suivant. En cas d’erreur, le programme système met le RLG à 1 et dépose dansl’ACCU 1 le code d’erreur correspondant (cf. tableau). Les autres indi-cateurs sur bit et sur mot sont effacés. Les valeurs de DBA et de DBL restent inchangées.

Code Signification

B401HB410HB411H

Aucun bloc de données n’est ouvert.La valeur de décalage D n’est pas un multiple de 16.a) La valeur de décalage D est trop grande : la nouvelle

position de la fenêtre va au-delà de la fin de bloc.b) La valeur de décalage D est négative.

Restauration de l’état initial Il suffit de rouvrir le bloc de données avec l’opération A DB ouAX DX pour restaurer l’état initial.

Comportement en casd’imbrication de blocs

Si la fenêtre d’accès est décalée par l’appel de l’OB 180 dans un blocde code et qu’un autre bloc de code soit ensuite appelé, la position dela fenêtre d’accès est conservée dans le bloc de code appelé – les va-leurs de DBA et DBL ne sont pas modifiées – jusqu’à nouvel appel del’OB 180.

En revanche, si la fenêtre d’accès est décalée par l’intermédiaire del’OB 180 dans un bloc de code appelé, la position de la fenêtre rede-vient, au retour dans le bloc appelant (opération de fin de bloc), cequ’elle était à l’appel du bloc de code imbriqué.

Tableau 6-16 Codes d’erreur de l’OB 180

OB 180 : Accès variable à un bloc de données

Programmation de la CPU 9486 - 54 C79000-G8577-C848-04

Page 293: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple

Il s’agit de décaler l’adresse de début (DBA = 4152H) du bloc de donnéesDB 17 ayant une longueur de 256 mots de données de 32 mots vers la fin dubloc.

:A DB 17 Ouvrir DB 17:L KB 32 Valeur de décalage comme constante:SPA OB 180 Appeler OB 180 pour décaler la fenêtre d’accès

Après l’appel de l’OB 180, il est possible d’accéder, par exemple, au motde données figurant à l’adresse 4 1543H par l’intermédiaire de DW 3 au lieude DW 35 (voir figure 6-3).

Comme le registre DBL est modifié simultanément, la surveillance deserreurs est toujours garantie : l’opération T DW 223 est autorisée alorsque T DW 224/L DW 224 ne l’est pas.

D’autres appels de l’OB 180 entraînent l’augmentation de la valeur de DBAet la diminution simultanée de DBL. L’opération A DB 17 restaure l’étatinitial (DBA = 4152H, longueur = 256 DW).Si le DB 17 avait une longueur de 258 mots par exemple, vous ne pourriezpas accéder aux mots de données DW 256 et DW 257 à l’aide d’opérationsSTEP 5. Un décalage de 16 du registre DBA permet d’accéder à ces mots dedonnées en tant que DW 240 et DW 241.

Suite à la page suivante

OB 180 : Accès variable à un bloc de données

Programmation de la CPU 948C79000-G8577-C848-04 6 - 55

Page 294: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite de l’exemple

4 1520H

4 1530H

4 1540H

4 1541H

4 1542H

4 1543H

4 1544H

4 1545H

4 1545H

4 151FH

4 151BH

DW 0

DW 1

DW 2

DW 3

DW 4

DW 5

DW 6

Adresse DB 17

DBA nouveau

En-tête de bloc5 mots

DBL ancien

DBA ancien

DBL nouveau

15 0

"32"

"16"

"00"

"33"

"34"

"35"

"36"

"37"

"38"

(4152H)

(4154H)

Figure 6-3 Décalage de l’adresse de début du DB 17

OB 180 : Accès variable à un bloc de données

Programmation de la CPU 9486 - 56 C79000-G8577-C848-04

Page 295: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.17 OB 181 : Test de blocs de données DB/DX

Le bloc d’organisation de fonction spéciale OB 181 permet de con-trôler :

•• si un certain bloc de données DB ou DX existe,

•• l’adresse du premier mot de données de ce bloc de données,

•• le nombre de mots de données contenus dans ce bloc de données.

Utilisation de l’OB 181 L’emploi de l’OB 181 s’avère utile avant l’exécution des instructionsTNB/TNW, E DB/EX DX et avant l’appel des blocs d’organisation defonctions spéciales OB 182, OB 254 et OB 255.

C’est ainsi que vous pouvez, par exemple, appeler l’OB 181 avant dedéclencher le transfert d’un ensemble de mots de données, afin devous assurer que le DB de destination est valable et a une longueursuffisante pour pouvoir recevoir tous les mots de données que vousdésirez transférer.

Fonction Après avoir vérifié que le bloc de données existe, l’OB 181 transmeten retour les paramètres caractéristiques de ce bloc.

Paramètres ACCU 1-L

a) ACCU 1-LL

Numéro du bloc de donnéesValeurs admises 1 à 255

b) ACCU 1-LH

Type du bloc de donnéesValeurs admises 1 = DB

2 = DX

OB 181 : Test de blocs de données DB/DX

Programmation de la CPU 948C79000-G8577-C848-04 6 - 57

Page 296: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Résultat Si la fonction s’exécute sans erreur et que le bloc concerné existe dansla CPU, le programme système transmet les résultats suivants :

– ACCU 1-L Adresse de 20 bits du premier mot de données (DW 0)

– ACCU 2-L Longueur du bloc de données exprimée en mots (en-tête non compris),Exemple : l’ACCU 2-L contient la valeur "7" : le bloc de données comprend les DW 0 à DW 6.

– RLG Mis à "0"

Erreurs possibles Le tableau suivant présente les erreurs pouvant se produire. En casd’erreur, le programme système met le RLG et certains des indica-teurs figurant dans le tableau à 1 et inscrit le code d’erreur correspon-dant dans l’ACCU 1.

RLG FL 1 FL 0 ACCU 1-L Signification Test

1 0 1 B501H Bloc inexistant SPBSPMSPN

1 1 0 B502H Numéro de bloc incorrect SPBSPPSPN

1 1 0 B503H Type de bloc incorrect SPBSPPSPN

Tableau 6-17 Codes d’erreur de l’OB 181 et test de ces codes

OB 181 : Test de blocs de données DB/DX

Programmation de la CPU 9486 - 58 C79000-G8577-C848-04

Page 297: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.18 OB 182 : Duplication d’une zone de données

Fonction L’OB 182 réalise la duplication d’un ensemble (ou paquet) dedonnées de longueur variable d’un bloc de données vers un autre. Lesblocs de données source et destination peuvent être des DB et des DX.Vous pouvez choisir librement le début des données dans le blocsource et le bloc de destination. L’OB 182 peut dupliquer 4091 motsde données au maximum.

NotaLe bloc de destination peut être le même bloc que le bloc source.Les zones de données source et destination peuvent se recouper.Même en cas de chevauchement, les données de la zone sourcesont reproduites sans changement dans la zone de destination ; le domaine de chevauchement de la zone source ne contiendraplus les données d’origine après la duplication. Cette propriétépeut être mise à profit de façon ciblée, par exemple pour décalerun ensemble de mots de données à l’intérieur d’un bloc.

Paramètres 1) Champ de données avec paramètres de duplication

Avant d’appeler l’OB 182, vous devez compléter un champ dedonnées avec les paramètres requis pour la duplication envisagée. Cechamp de données peut se situer dans un bloc DB ou DX ou dans lazone des mémentos M ou S.

Dans le champ de données sont précisés le bloc de données source, lebloc de données de destination, l’adresse de début des données à co-pier dans chacun des deux blocs, ainsi que le nombre de mots dedonnées à transférer. Le champ de données a une longueur de 5 mots.

Bit 15 8 7 0

Mot 1 Type de DB source Numéro du DB source

Mot 2 Numéro du premier DW (dans DB source) à transférer

Mot 3 Type de DB de destination Numéro du DB de destination

Mot 4 Numéro du premier DW transféré dans le DB de destination

Mot 5 Nombre de mots de données

OB 182 : Duplication d’une zone de données

Programmation de la CPU 948C79000-G8577-C848-04 6 - 59

Page 298: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Les paramètres peuvent admettre les valeurs ci-après :

Paramètre Valeurs admises

Type de bloc de données (source et destination) 1 = DB2 = DX

Numéro de bloc de données (source et destination) 3 à 255

Numéro du premier mot de données (source etdestination)

0 à 4090

Nombre de mots de données 1 à 4091

Champ de données dans lazone des mémentos

Lorsque vous créez le champ de données dans une zone de mémentos,vous devez tenir compte de la correspondance suivante entre les motsdu champ de données et les octets de mémentos. Dans le tableauci-après, "x" représente le paramètre "numéro du premier mot duchamp de données" que vous spécifiez dans l’ACCU 1-L lors del’appel de l’OB 182.

Bit 15 8 7 0

1er mot du champ Octet de mémentos x Octet de mémentos x+1

2e mot du champ Octet de mémentos x+2 Octet de mémentos x+3

3e mot du champ Octet de mémentos x+4 Octet de mémentos x+5

4e mot du champ Octet de mémentos x+6 Octet de mémentos x+7

5e mot du champ Octet de mémentos x+8 Octet de mémentos x+9

2) Accumulateurs

a) ACCU 2-L

L’ACCU 2-L contient des indications sur le champ de données utilisé.Il doit présenter la structure suivante.

Bit 15 8 7 0

Type de zone d’adressage Numéro du bloc de données

Paramètres dans l’ACCU 2-L

Type de zone d’adressageValeurs admises 1 = bloc DB

2 = bloc DX3 = zone de mémentos M4 = zone de mémentos S

Numéro du bloc de donnéesValeurs admises 3 à 255 (pour types de zone d’adressage 1

et 2 ; non significatif pour types de zone d’adressage 3 et 4)

OB 182 : Duplication d’une zone de données

Programmation de la CPU 9486 - 60 C79000-G8577-C848-04

Page 299: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

b) ACCU 1-L

Numéro du premier mot du champ de donnéesValeurs admises (en fonction du type de zone d’adressage)

DB, DX 0 à 2038mémentos M 0 à 246

(= no octet de mémentos "x")mémentos S 0 à 4086

(= no octet de mémentos "x")

Résultat Après le traitement correct de l’OB 182, le RLG et les bits indicateursOU, 1e ? et OVFLMEM égalent 0.

Erreurs possibles A l’apparition d’une erreur, l’ACCU 1-L contient des codes d’erreur(cf. le tableau ci-après).

ACCU 1-L Signification

B601HB60FHB611HB612HB613HB621HB622HB623HB624H

B625H

B626HB627HB628H

B629H

B62AH

B62BHB62CH

Bloc de données non chargéAppel multiple du blocDéfinition incorrecte du champ de donnéesType de zone d’adressage illiciteNuméro de bloc de données illiciteNuméro du premier mot du champ de données illiciteType du bloc de données source illiciteNuméro du bloc de données source illiciteNuméro du premier DW (du DB source) à transférer

illiciteLongueur du bloc de données source dans l’en-tête

inférieure à 5 motsType du bloc de données de destination illiciteNuméro du bloc de données de destination illiciteNuméro du premier DW à écrire dans le DB de

destination illiciteLongueur du bloc de données de destination dans

l’en-tête inférieure à 5 motsNombre de mots de données à transférer illicite

(= 0 ou > 4091)Bloc de données source trop courtBloc de données de destination trop court

Tableau 6-18 Codes d’erreur de l’OB 182 dans l’ACCU 1-L

OB 182 : Duplication d’une zone de données

Programmation de la CPU 948C79000-G8577-C848-04 6 - 61

Page 300: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.19 OB 200 et OB 202 à OB 205 : Communication multiprocesseur

Une description détaillée de ces OB de fonctions spéciales figure dansle chapitre 10.

Les blocs d’organisation de fonctions spéciales OB 200 et OB 202 àOB 205 permettent, en fonctionnement multiprocesseur, de transférerdes données entre les différentes CPU à l’aide du coordinateur COR C.

•• OB 200 : Initialisation

Ce bloc d’organisation organise dans le coordinateur C la mémoiredans laquelle les ensembles (ou paquets) de données à transférerseront mémorisés temporairement.

•• OB 202 : Emission

Cette fonction transmet un ensemble de données dans la mémoiretampon du coordinateur C et indique le nombre d’ensembles dedonnées pouvant encore être émis.

•• OB 203 : Test d’émission

L’OB 203 calcule le nombre de blocs de mémoire libres dans lamémoire tampon du coordinateur C.

•• OB 204 : Réception

Cette fonction reçoit un ensemble de données de la mémoiretampon du coordinateur C et indique le nombre d’ensembles dedonnées pouvant encore être reçus.

•• OB 205 : Test de réception

L’OB 205 calcule le nombre de blocs de mémoire occupés dans lamémoire tampon du coordinateur C.

OB 200 et OB 202 à OB 205 : Communication multiprocesseur

Programmation de la CPU 9486 - 62 C79000-G8577-C848-04

Page 301: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.20 OB 222 : Redémarrage de la surveillance du temps de cycle

Fonction La fonction spéciale OB 222 permet de redémarrer la surveillance dutemps de cycle (réarmement du chien de garde) : le contrôle du tempsde cycle reprend au début. Grâce à l’appel de cette fonction, la duréemaximale autorisée pour le cycle en cours s’allonge, à partir du mo-ment de l’appel, du temps de cycle défini.

Paramètres Néant

Erreurs possibles Néant

OB 222 : Redémarrage de la surveillance du temps de cycle

Programmation de la CPU 948C79000-G8577-C848-04 6 - 63

Page 302: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.21 OB 223 : Comparaison des types de mise en route

Fonction L’appel de l’OB 223 permet de vérifier si, en mode multiprocesseur,les types de mise en route de toutes les CPU concernées sont identiqu-es et de réagir par programme en cas d’erreur.

Paramètres Néant

Résultat Après l’appel de l’OB 223, le programme système met le RLG à 0 etinscrit la valeur 01H dans l’ACCU 1-LL si les types de démarragesont identiques.

Erreurs possibles •• Les types de mise en route sont différents.

•• Pour les autres erreurs, voir les indicateurs.

Indicateurs En cas d’erreur, le programme système met le RLG à 1 et inscrit lecode correspondant dans l’ACCU 1-LL.

Code Signification

01H02H03H04H

Types de mise en route identiquesErreur système interneTypes de mise en route différentsMode monoprocesseur : comparaison des types de mise en route impossible

Tableau 6-19 Codes d’erreur de l’OB 223 dans l’ACCU 1-LL

OB 223 : Comparaison des types de mise en route

Programmation de la CPU 9486 - 64 C79000-G8577-C848-04

Page 303: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

6.22 OB 254 et OB 255 : Copie et duplication de blocs de données

Les fonctions spéciales OB 254 et OB 255 permettent de copier desblocs de données d’une carte à mémoire (memory card) dans lamémoire utilisateur ou de dupliquer des blocs de données à l’intérieurde la mémoire utilisateur.Elles se déroulent de façon identique, l’OB 254 se chargeant exclusi-vement des blocs de données DX et l’OB 255 des blocs de donnéesDB.

NotaLes alarmes utilisateur sont inhibées pendant la copie ou laduplication : aucune alarme d’horloge ou de processus niinterruption n’est prise en considération.

Utilisation Vous pouvez copier des blocs de données de la carte à mémoire ou du-pliquer des blocs de données dans la mémoire utilisateur en leur af-fectant un nouveau numéro de bloc.

Copie

Conditions requises Lors de la copie à l’aide des blocs OB 254 ou OB 255, il faut tenircompte des remarques suivantes.

•• La carte à mémoire doit être enfichée avant l’effacementgénéral et ne doit pas être retirée ensuite.

•• Le bloc de données cible ne doit pas encore exister.

•• La fonction en ligne de compression de la mémoire ne doit pasêtre active.

Fonction Un bloc de données est transféré de la carte à mémoire dans la mémoi-re utilisateur tout en conservant son numéro. L’adresse de début debloc est inscrite dans la liste d’adresses figurant dans le DB 0.

OB 254 et OB 255 : Copie et duplication de blocs de données

Programmation de la CPU 948C79000-G8577-C848-04 6 - 65

Page 304: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Paramètres 1) ACCU 1-LL

Numéro du bloc à copier

Valeurs admises

Type de bloc Numéro de bloc

DB (OB 255)DX (OB 254)

3 à 2553 à 255

2) ACCU 1-LH

L’ACCU 1-LH doit contenir la valeur 0.

Duplication

Fonction Un bloc de données est dupliqué à l’intérieur de la mémoire utilisateuret reçoit un autre numéro. L’adresse de début du nouveau bloc est in-scrite dans la liste d’adresses figurant dans le DB 0. L’adresse dedébut de l’ancien bloc dans le DB 0 est conservée ; le bloc de donnéesinitial est donc toujours valable.

L’inscription de l’adresse de début dans le DB 0 n’a lieu que lorsquele transfert est entièrement achevé et que tous les indicatifs dans l’en-tête de bloc ont été inscrits correctement. Le programme système neconsidère donc le bloc dupliqué comme valable et existant qu’après letransfert complet.

Paramètres 1) ACCU 1-LL

Numéro du bloc de données à dupliquer (source)

2) ACCU 1-LH

Numéro du nouveau bloc de données (cible)

Valeurs admises

Type de bloc Numéro de bloc

DB (OB 255)DX (OB 254)

3 à 2553 à 255

OB 254 et OB 255 : Copie et duplication de blocs de données

Programmation de la CPU 9486 - 66 C79000-G8577-C848-04

Page 305: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Résultat de la copie et de laduplication

Après traitement correct et sans erreur, le programme système met leRLG à 0 et efface les indicateurs FL 1 et FL 0.

L’appel des blocs OB 254 et OB 255 modifie le contenu des accumu-lateurs 1 à 4. Le registre BR reste inchangé.

Erreurs et avertissementslors de la copie et de laduplication

En cas d’erreur ou d’avertissement, le programme système interromptle traitement de l’OB 254 ou 255 et poursuit le traitement du program-me avec l’opération STEP 5 suivante. En outre, il met le RLG à 1 etinscrit un code d’erreur dans l’ACCU 1-LL (voir le tableau 6-19).

En cas d’interruption de la fonction avec avertissement, un nouvel ap-pel de la fonction spéciale (éventuellement un appel répété) permetnormalement d’aboutir à l’exécution correcte de l’OB 254/255.

Dans le cas suivant, l’exécution de l’OB 254 ou de l’OB 255 est inter-rompue avec génération d’un avertissement :

Appel réitéré d’un OB 124, OB 125, OB 254 ou OB 255 alors que mo-ins de 10 ms se sont écoulées depuis le dernier appelEn effet, en l’espace de 10 ms, un seul appel de ces fonctionsspéciales est autorisé. On évite ainsi que l’interface vers la console deprogrammation ne soit totalement bloquée par l’appel répété de cesOB de fonctions spéciales.

Indicateurs après la copie etla duplication

Après appel de l’OB 254 ou 255, vous pouvez déterminer à l’aide duRLG et des indicateurs FL 1 et FL 0 si la fonction spéciale a été traitéecorrectement ou si elle a été interrompue avec erreur ou avertisse-ment. Vous pouvez exploiter le résultat par des instructions de sautconditionnel.

Indicateurs de résultat

RLG FL 1 FL 0 Signification Test

0 0 0 La fonction spéciale a été traitée correctement.

SPBSPZ

1 1 0 La fonction spéciale a été interrompue avec avertissement.

SPBSPPSPN

1 0 1 La fonction spéciale a été interrompue avec erreur.

SPBSPMSPN

Tableau 6-20 Indicateurs de résultat des OB 254 et 255

OB 254 et OB 255 : Copie et duplication de blocs de données

Programmation de la CPU 948C79000-G8577-C848-04 6 - 67

Page 306: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Codes d’erreur dansl’ACCU 1-LL

Le programme système inscrit dans l’ACCU 1-LL des codes sur lerésultat du traitement, qui précisent pourquoi il y a eu avertissementou erreur.

Bit 7 6 5 0

A E Cause de l’avertissement ou de l’erreur

Des indications collectives sont définies comme suit :

Bit 7 (A) = 1 AvertissementBit 6 (E) = 1 Erreur

Code Signification

01H La fonction a été exécutée correctement.

41H43H48H4AH4BH4CH4DH4EH

ErreurEn-tête de bloc sur la carte à mémoire incorrectEspace mémoire insuffisantBloc de données source inexistantType ou numéro du bloc de données source incorrectType ou numéro du bloc de données cible incorrectBloc de données cible déjà dans la mémoire utilisateurFonction en ligne de compression de la mémoire en coursAucune carte à mémoire enfichée

8DH

8EH

AvertissementConflit avec une fonction en ligne (autre que celle decompression de la mémoire)Délai de 10 ms non encore écoulé

Exemples

Tableau 6-21 Codes d’erreur des OB 254 et 255 dans l’ACCU 1-LL

1) Copie

:L KY 0,120 Cette suite d’instructions copie :SPA OB 254 le bloc de données DX 120 de la : carte à mémoire dans la mémoire : utilisateur.:

2) Duplication

:L KY 80,85 Cette suite d’instructions duplique:SPA OB 255 le bloc de données DB 85 et affecte : le numéro 80 au nouveau bloc de : données. Le contenu des DB 85 et : DB 80 est identique.:

OB 254 et OB 255 : Copie et duplication de blocs de données

Programmation de la CPU 9486 - 68 C79000-G8577-C848-04

Page 307: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire du chapitre 7

7.1 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 4

7.2 Structure du bloc DX 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 5

7.2.1 Exemple de saisie du DX 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 7

7.3 Paramètres pour le DX 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 8

7.4 Exemples de paramétrage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 12

7.4.1 Programmation en STEP 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 127.4.2 Paramétrage du DX 0 via le masque de la PG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 14

7Bloc de données étendu DX 0

Programmation de la CPU 948C79000-G8577-C848-04 7 - 1

Page 308: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire

Programmation de la CPU 9487 - 2 C79000-G8577-C848-04

Page 309: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

7Bloc de données étendu DX 0

Ce chapitre vous informe sur l’utilisation et la structure du bloc dedonnées DX 0. Vous y apprenez ce que signifient les différents pa-ramètres du DX 0 et comment créer ou paramétrer via un masque unbloc DX 0.

Programmation de la CPU 948C79000-G8577-C848-04 7 - 3

Page 310: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

7.1 Utilisation

En tant qu’utilisateur, vous pouvez adapter à vos besoins certaines fon-ctions du programme système en modifiant les présélections (repéréespar P dans le tableau des paramètres) du bloc de données étenduDX 0.

Les présélections du programme système (P) sont activées automati-quement à chaque démarrage. Puis, le bloc DX 0 est exploité. Si vousn’avez pas paramétré ni chargé le DX 0, les présélections standard re-stent donc valables. Dans le cas contraire, les définitions que vousavez indiquées dans le DX 0 sont validées.

Vous pouvez, pour paramétrer le DX 0, programmer les valeursdésirées comme pour les autres blocs de données (cf. paragraphes 7.2à 7.4.1) ou bien entrer, à partir de la version 3.0 du logiciel S5-DOS,ces valeurs dans un masque spécial à la PG (cf. paragraphe 7.4.2).

Vous pouvez utiliser toutes les fonctions du masque DX 0 si vousavez installé le logiciel STEP 5/ST, version 6.3, ou STEP 5/MT, versi-on 6.0, ainsi que la "disquette delta de la CPU 948", sur votre consolede programmation.

NotaLa saisie ou la modification du DX 0 ne prend effet qu’après unnouveau démarrage.Si le démarrage s’effectue avec un DX 0 modifié, les anciensparamètres non modifiés sont conservés.

Différences par rapport à laCPU 946/947

Le paramétrage du DX 0 pour la CPU 946/947 et celui pour laCPU 948 présentent les différences suivantes.

•• Modes de fonctionnementIl n’existe plus les modes 150U ou 155U, mais les modes "Inter-ruptions possibles en fin de bloc" ou "Interruptions possiblesen fin d’instruction" .

•• Traitement des interruptions systèmeSur la CPU 948, il est possible de combiner "Alarmes de processusvia l’octet d’entrée EB 0 = NON" (traitement des interruptions sy-stème) et "Interruptions possibles en fin de bloc".Les interruptions en fin de bloc sont donc maintenant égalementpossibles en fonctionnement multiprocesseur.

•• Alarmes d’horloge supplémentairesSi vous avez désactivé les alarmes de processus via l’octet d’en-trée EB 0, vous disposez maintenant de l’alarme de retardement(OB 6) et de l’alarme d’horloge à heure fixe (OB 9) comme alar-mes d’horloge supplémentaires.

Utilisation

Programmation de la CPU 9487 - 4 C79000-G8577-C848-04

Page 311: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

7.2 Structure du bloc DX 0

Le bloc DX 0 se compose de trois parties :

•• l’indicatif de début du DX 0 (DW 0, 1 et 2),

•• plusieurs rubriques de longueur différente (selon le nombre deparamètres),

•• l’indicatif de fin.

Indicatif de début Signes ASCII MASKX0 dans les mots de données DW 0 à DW 2

Rubrique Une rubrique du DX 0 est composée de 1 à n mots de données quicontiennent :

•• l’identificateur (ID) de rubrique,

•• la longueur de la rubrique,

et

•• les paramètres de la rubrique.

Identificateur de rubrique L’ identificateur (ID) de la rubrique indique quelle est la significati-on des paramètres qui suivent. Chaque rubrique est affectée à une par-tie définie du programme système ou à une fonction système définie(par exemple, identificateur de rubrique 04 pour le traitement cycli-que).

Longueur de rubrique La longueur de rubrique indique le nombre de mots de données uti-lisés par les paramètres qui suivent.

Paramètres Les paramètres possibles sont indiqués au paragraphe 7.3. Les va-leurs numériques indiquées sont en format hexadécimal (KH).

Indicatif de fin Cet indicatif signale la fin du bloc DX 0 à l’aide des caractères EEEEdans le dernier mot de données.

Structure du bloc DX 0

Programmation de la CPU 948C79000-G8577-C848-04 7 - 5

Page 312: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Structure formelle

1B0

443

D38

455

ID rubr ique 1 Longueur rubr ique 1

ID rubr ique 2

ID rubr ique n Longueur rubr ique n

Longueur rubr ique 2

Paramètre

Paramètre

Paramètre

Paramètre

Paramètre

Paramètre

CaractèresASCII

Rubr ique 1

Rubr ique 2

Rubr ique n

Indicat i f de f in

15 8 7 0Bit

012

3

DW

DW m E E E E

Paramètre

M AS KX 0

Figure 7-1 Structure du DX 0

Structure du bloc DX 0

Programmation de la CPU 9487 - 6 C79000-G8577-C848-04

Page 313: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

7.2.1Exemple de saisie du DX 0

Lors du paramétrage du DX 0, tenez compte des points suivants.

•• Il est inutile de préciser les rubriques non utilisées.

•• Respectez l’ordre des rubriques. Indiquez, par exemple, la rubri-que ayant 02 comme identificateur avant la rubrique 05.

•• Une rubrique donnée ne doit figurer qu’une fois dans le DX 0.

•• Le nombre de paramètres doit correspondre à la longueur de rubri-que indiquée en début de rubrique.

•• Respectez l’ordre des paramètres. Pour ce faire, vous devez indi-quer la valeur par défaut des paramètres non utilisés d’une rubri-que si vous utilisez les paramètres suivants.

•• Une fois la dernière rubrique saisie, vous devez absolument clorele bloc DX 0 avec l’indicatif de fin KH=EEEE.

Indicatif de début DW 0:KH = 4D41DW 1:KH = 534B DW 2:KH = 5830

ID/longueur de rubrique DW 3:KH = 0101Paramètre (occupe 1 DW) DW 4:KH = 1001

ID/longueur de rubrique DW 5:KH = 0402 Paramètre (occupe 2 DW) DW 6:KH = 1000

DW 7:KH = 0040

Indicatif de fin DW10:KH = EEEE

Rubrique 1

Rubrique 2

Structure du bloc DX 0

Programmation de la CPU 948C79000-G8577-C848-04 7 - 7

Page 314: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

7.3 Paramètres pour le DX 0

ID/longueur derubrique

Paramètresmot 1 / mot 2

Signification1

Modes de fonctionnement

01xx 2 1000

1001

P Interruptions possibles en fin de bloc3

(CPU 946/947 : mode 150U)Interruptions possibles en fin d’instruction4

(CPU 946/947 : mode 155U)

Traitement du programme de mise en route

02xx 100010011002

P Redémarrage automatique à la mise sous tensionDémarrage automatique à la mise sous tensionDémarrage/redémarrage manuel à la mise sous tension

20002001

P Synchronisation du démarrage en fonctionnement multiprocesseurPas de synchronisation du démarrage en fonctionnement multiprocesseur

BB00 00yy 5 Nombre de temporisations à actualiser yy6

Valeurs admises : 00H à FFHP yy = FF (temporisations T 0 à T 255)

40004001

P Mode au retour de tension = redémarrageMode au retour de tension = démarrage avec rémanence

Traitement du programme cyclique

04xx 1000 00yy Sélection du temps de cycle7

temps de cycle = (yy * 10 ms) Valeurs admises : 01H à FFH

P yy = 14H (200 ms)

4000

4001

P Actualisation de la mémoire image du processus et des mémentos de couplage sans protection par sémaphoreActualisation de la mémoire image du processus et desmémentos de couplage avec protection par sémaphore (dans la rubrique ; voir le paragraphe 10.1.3)

Traitement d’alarmes : alarmes d’horloge

05xx 1000 000c1001 0000

P Traitement des alarmes d’horloge activéTraitement des alarmes d’horloge désactivéc = priorité de niveau ; valeurs admises : 1 à 5

P c = 1 (priorité la plus élevée)

Tableau 7-1 Paramètres du DX 0 et leur signification

Paramètres pour le DX 0

Programmation de la CPU 9487 - 8 C79000-G8577-C848-04

Page 315: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

ID/longueur derubrique

Paramètresmot 1 / mot 2

Signification1

Suite du tableau 7-1

05xx Traitement d’alarmes : alarmes d’horloge (suite)

2000 00yy Base de temps pour le traitement des alarmes d’horlogebase de temps = (yy * 10 ms)Valeurs admises : 01H à FFH

P yy = 0A (100 ms)

30003001

P Grille de périodicité 1 (1, 2, 5, 10 ...)Grille de périodicité 2 (2n)(voir le paragraphe 4.5.2)

Traitement d’alarmes : alarmes de processus / interruptions système

4000 000c4001 0002

Interruption système X activéeP Interruption système X désactivée

c = priorité de niveauValeurs admises : 1 à 5X = A, B, C ou D

P c = 2 (priorité de niveau 2)

Dans la CPU 948, le traite-ment des interruptions système peut être combiné avec "Interruptions possibles en fin de bloc".

5000 000c5001 0002

Interruption système E activéeP Interruption système E désactivée

6000 000c6001 0002

Interruption système F activéeP Interruption système F désactivée

7000 000c7001 0002

Interruption système G activéeP Interruption système G désactivée

8000 000c8001 0000

P Alarmes de processus via l’octet d’entrée EB 0 = OUIAlarmes de processus via l’octet d’entrée EB 0 = NONc = priorité de niveauValeurs admises : 1 à 2

P c = 2 (priorité de niveau 2)"Alarmes de processus via l’octet d’entrée EB 0 = OUI" ne permet que :- fonctionnement monoprocesseur- interruptions en fin de bloc

EEEE Indicatif de fin

1 P = présélection si DX 0 non chargé ou rubrique manquante

2 xx = longueur de rubrique (nombre de mots de données occupés par les paramètres)

3 Peut être combiné avec les interruptions système dans la CPU 948.

4 Ne peut pas être combiné avec alarmes de processus via EB 0.

5 Les paramètres qui occupent deux mots de données doivent être comptés "2" dans la longueur de rubrique.

6 En ce qui concerne les temporisations, voyez les explications à la page suivante.

7 Surveillance du temps de cycle avec l’OB 31 ou le DX 0Si le temps de cycle est défini à la fois dans l’OB 31 et dans le DX 0, le programme système tient compte de la valeur figurant dans l’OB 31, car il a exploité le DX 0 auparavant. Aussi est-il préférable de ne pas utiliser ces deux possibilités simultanément. Nous vous conseillons de définir le temps de cycle uniquement dans le bloc DX 0.

Paramètres pour le DX 0

Programmation de la CPU 948C79000-G8577-C848-04 7 - 9

Page 316: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Actualisation destemporisations

•• Normalement, les temporisations T 0 à T 255 sont actualisées.

•• Si vous indiquez 0 dans le DX 0, aucune temporisation n’est actua-lisée même si le programme en contient. Il n’y a pas non plus demessage d’erreur.

•• L’actualisation s’effectue comme suit :

Nombre indiqué 0 1 2 3 4 ....

Actualisation aucune T0 à T1

T0 à T2

T0 à T3

T0 à T4

....

Priorités de niveau Les priorités peuvent être différentes pour les niveaux de traitement deprogramme. Elles sont soit prises par défaut, soit paramétrées dans lebloc DX 0.

Priorités pour "Alarmes de processus via l’octet d’entrée EB 0 =OUI" (niveau des alarmes de processus)

Ces priorités sont définies comme suit dans le DX 0.

•• Alarmes d’horloge priorité de niveau 1 (la plus élevée)

•• Alarmes de processus via l’octet d’entrée EB 0 priorité de niveau 2 (la plus faible)

Vous pouvez permuter ces priorités dans le DX 0.

Priorités pour "Alarmes de processus via l’octet d’entrée EB 0 =NON" (traitement des interruptions système, niveau des interrup-tions)

Les priorités sont définies comme suit dans ce mode.

•• Alarmes d’horloge priorité de niveau 1 (la plus élevée)

•• Interruptions système priorité de niveau 2 (la plus faible)

Paramètres pour le DX 0

Programmation de la CPU 9487 - 10 C79000-G8577-C848-04

Page 317: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Dans le DX 0, vous pouvez modifier sélectivement ces priorités pourles niveaux de traitement de programme suivants en indiquant une va-leur de 1 à 5 (1 = priorité la plus élevée) :

•• alarmes d’horloge,

•• interruption système INT X (X = A, B, C ou D),

•• interruption système INT E,

•• interruption système INT F,

•• interruption système INT G.

Exemple

Définition des priorités pour le traitement déclenché par alarme"Interruptions système"

Interruption système INT A/B/C/D Priorité de niveau 1

Alarmes d’horloge Priorité de niveau 2 Priorité

Interruption système INT E Priorité de niveau 3 décroissante

Interruption système INT F Priorité de niveau 4

Interruption système INT G Priorité de niveau 5

Paramètres pour le DX 0

Programmation de la CPU 948C79000-G8577-C848-04 7 - 11

Page 318: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

7.4 Exemples de paramétrage

7.4.1Programmation en STEP 5

Exemple A

Vous désirez utiliser trois CPU (A, B et C) en fonctionnementmultiprocesseur. Les CPU A et B travaillent étroitement ensemble, échangentsouvent des données et traitent un important programme de mise en route.

La CPU C traite un programme court, à temps critique, indépendamment desdeux autres CPU.

Normalement, en fonctionnement multiprocesseur, toutes les CPU démarrentsimultanément leur traitement cyclique ; elles attendent la fin de leurmise en route respective avant de passer simultanément au traitementcyclique.

Comme la CPU C exécute son programme indépendamment des autres CPU etqu’elle traite un programme de mise en route très court , il n’est pasnécessaire de la synchroniser avec les deux autres. Par le paramétrage duDX 0, vous obtenez que la CPU C passe, dès la fin de sa mise en route, autraitement de programme cyclique sans attendre les CPU A et B.

Le paramètre de synchronisation des CPU en fonctionnement multiprocesseurest le second dans la première rubrique. Pour respecter l’ordre desparamètres, vous devez donc en outre indiquer la valeur par défaut pour lepremier paramètre de comportement à la mise en route (redémarrageautomatique à la mise sous tension).

Programmez le DX 0 pour la CPU C comme suit :

DX 0 Indicatif de début MASKX0 DW 0: KH = 4D41DW 1: KH = 534B DW 2: KH = 5830

ID/longueur de rubrique 1 DW 3: KH = 0202Paramètre 1 DW 4: KH = 1000Paramètre 2 DW 4: KH = 2001Indicatif de fin DW 5: KH = EEEE

Une fois le DX 0 chargé dans la mémoire de programme, il est validé audémarrage suivant. Comme la CPU C traite un très court programme de mise enroute et qu’elle n’attend pas les CPU A et B, son voyant RUN vert s’allumeimmédiatement après la mise en route. Le signal BASP (inhibition dessorties) n’est toutefois désactivé que lorsque les trois CPU ont terminéleur mise en route. Cela signifie que la CPU C ne doit pas accéder à lapériphérie TOR.

Exemples de paramétrage

Programmation de la CPU 9487 - 12 C79000-G8577-C848-04

Page 319: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple B

Le paramétrage ci-après du DX 0 :

- sélectionne le mode "Interruptions possibles en fin d’instruction",

- désactive l’actualisation des temporisations,

- règle le temps de cycle à 2,5 s,

- affecte la priorité "2" au niveau des alarmes d’horloge

et

- active l’interruption système INT E avec la priorité "1".

DX 0 Indicatif de début MASKX0 DW 0: KH = 4D41 DW 1: KH = 534B DW 2: KH = 5830

ID/longueur de rubrique 1 DW 3: KH = 0101Paramètre DW 4: KH = 1001ID/longueur de rubrique 2 DW 5: KH = 0202Paramètre 1 DW 6: KH = BB00

DW 7: KH = 0000ID/longueur de rubrique 3 DW 8: KH = 0402Paramètre 1 DW 9: KH = 1000

DW10: KH = 00FA ID/longueur de rubrique 4 DW11: KH = 0504Paramètre 1 DW12: KH = 1000

DW13: KH = 0002Paramètre 1 DW14: KH = 5000

DW15: KH = 0001 Indicatif de fin DW16: KH = EEEE

Ce paramétrage du DX 0 exerce les effets suivants sur l’exécution duprogramme.

L’interruption du traitement du programme par des niveaux prioritaires sefait aux limites d’instructions et non aux limites de blocs.

La durée d’exécution du programme système diminue légèrement, car lestemporisations ne sont pas actualisées.

Un dépassement du temps de cycle n’est détecté que lorsque la duréed’exécution du programme utilisateur et du programme système dépasse 2,5 s.

Il n’a pas de traitement d’alarmes de processus par l’octet d’entrée EB 0,mais l’interruption système INT E est activée. En raison de sa prioritéplus élevée, cette dernière interrompt le traitement des alarmes d’horloge,de l’alarme de retardement et des contrats à heure fixe.

1 Comme longueur de rubrique, vous indiquez le nombre de mots de données occupés par un paramètre.

Exemples de paramétrage

Programmation de la CPU 948C79000-G8577-C848-04 7 - 13

Page 320: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

7.4.2Paramétrage du DX 0 via lemasque de la PG

Avec le logiciel système de la PG, vous disposez de deux masquespour paramétrer le DX 0 pour la CPU 948. Le bloc de données DX 0est alors généré automatiquement à partir des valeurs par défaut (figu-rant en gras) et des valeurs que vous avez indiquées.Vous trouverez les renseignements nécessaires pour choisir et com-pléter les masques de la PG dans le manuel STEP 5.

Structure des masques Le paramétrage du DX 0 s’effectue dans deux masques de saisie.

Le premier masque (figure 7-2) contient les paramètres suivants

- type d’interruptions,- mode de mise en route à la mise sous tension,- comportement au retour de tension,- nombre de temporisations,- surveillance du temps de cycle,- synchronisation du démarrage en fonctionnement multipro-

cesseur,- transfert par blocs des mémentos de couplage.

P a r a m é t r a g e d u D X 0 (S5-155U CPU 948)

A la mise sous tension

Interruptions possibles en

(1 = redémarrage

(1 = redémarrage

2 = démarrage

2 = démarrage avec rémanence)

(0 - 256)

1

1

Interruptions possibles en fin d´instruction :Interruptions possibles en fin de bloc :

Mode 155UMode 150U

Dans les versions précédentes du logiciel figure pour

(1 - 255)

3 = démarrage manuel)

Au retour de tension

Nombre de temporisations

Temps de cycle maximal (X 10 ms)

Synchro. démarrage multiprocesseur

Transfert mémentos coupl. par bloc

F1 F2 F3 F4 F5 F6SuiteChoisir

F7 F8

1

fin de bloc

1

256

20

OUI

NON

DX 0

Figure 7-2 Premier masque de saisie pour le paramétrage du DX 0

Exemples de paramétrage

Programmation de la CPU 9487 - 14 C79000-G8577-C848-04

Page 321: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Les autres paramètres figurent dans le second masque de saisie(figure 7-3) :

- alarmes déclenchées par horloge,- alarmes de processus matérielles,- alarmes de processus via l’octet d’entrée EB 0.

Marche à suivre L’organigramme présenté en page suivante vous explique commentcompléter les champs dans ces masques, sauvegarder les paramètres etcharger le bloc de données DX 0 généré.

P a r a m é t r a g e d u D X 0 (S5-155U CPU 948)

F1 F2 F3Choisir

F4 F5 F6Suite

F7 F8

OUI

OUI 1

22

22

2

NON

NON

NONNON

Alarmes processus

Alarmes processus octet d´entrée 0 (seult si interruption en fin de bloc)

Alarmes de processus matérielles

Interrupt. système G

Interrupt. système F

Interrupt. système EInterrupt. système A/B

Alarmes d´horloge

Traitement

Priorité

Priorité

Priorité

PrioritéPriorité

Priorité

(1...255)

2

2 CPU 948 : Les interruptions système sont possibles aussi bien dans le mode "Interruptionspossibles en fin de bloc" que dans le mode "Interruptions possibles en fin d´instruction".

1

1 Pour pouvoir activer l´alarme de retardement et l´alarme d´horloge à heure fixe, il fauten outre désactiver les alarmes de processus (en activant le traitement des interruptions).

(1 = base X 1, 2, 5, 10 ...2 = base X 1, 2, 4, 8 ...)

Base de temps (X 10 ms)

Grille de périodicité 110

DX 0

Figure 7-3 Second masque de saisie pour le paramétrage du DX 0

Exemples de paramétrage

Programmation de la CPU 948C79000-G8577-C848-04 7 - 15

Page 322: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Organigramme pour com-pléter les masques du DX 0

Exemple

Faut- i l modi f ier des paramètres dans le masque 1 ?NON OUI

Répétez les opérat ions suivantes jusqu´à ce que toutes les modif icat ionsvoulues f igurent dans le masque.

Placez le curseur devant le champ du paramètre. Le l ibel lé de latouche F3 au bas de l´écran indique si vous pouvez chois i r entreplusieurs possib i l i tés (Chois i r ) ou si vous pouvez modi f ier la valeurdu paramètre (Sais ie) .

NON OUI

Appuyez sur F6 (Sui te) pour appeler le second masque.

- Sélect ion d’un champ de sais ie

Faut- i l modi f ier les paramètres dans le masque 2 ?

- Chois irAppuyez sur F3 jusqu’à ce que l ’opt ion désirée apparaisse.

- Sais ieAppuyez une fo is sur F3 ; le curseur saute au débutdu champ. Vous pouvez remplacer la valeur aff ichéepar une valeur autor isée.

Pour modif ier des paramètres, procédez comme dans le masque 1.

Appuyez maintenant sur la touche de val idat ion : le logic ie l prend en compte toutesles sélect ions effectuées dans les deux masques et en génère le bloc de données DX 0.

Le DX 0 est mémor isé dans la console de programmat ion. Vous pouvez le charger dansl´AP à l´a ide de la fonct ion de transfer t de la PG.

Vous désirez paramétrer le DX 0 pour obtenir le comportement suivant duprogramme système (différent de celui obtenu par les présélections) :

- interruptions en fin d’instruction,

- pas d’actualisation des temporisations,

- temps de surveillance du cycle = 2,5 s,

- priorité pour les alarmes d’horloge = 2,

- interruption système INT E avec la priorité 1.

Suite à la page suivante

Exemples de paramétrage

Programmation de la CPU 9487 - 16 C79000-G8577-C848-04

Page 323: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple (suite)

Pour ce faire, complétez les masques ainsi.

Premier masque pour le DX 0

•• Activez le mode "Interruptions possibles en fin d’instruction" à l’aidede la touche F3.

•• Pour le paramètre "Nombre de temporisations", appuyez une fois sur F3,puis entrez le nombre 0 (pas d’actualisation des temporisations).

•• Pour le paramètre "Temps de cycle maximal", appuyez sur F3 et entrez 250(= 2,5 s).

•• Appuyez sur la touche F6 (Suite) pour accéder au second masque du DX 0.

Second masque pour le DX 0

•• Pour la priorité des alarmes d’horloge, appuyez sur F3 et entrez lavaleur 2.

•• Pour le paramètre "Interrupt. système E", sélectionnez l’option OUI àl’aide de la touche F3.

•• Pour la priorité de cette interruption, appuyez sur F3 et entrez lavaleur 1.

•• A l’aide de la touche F3, activez l’option NON pour le paramètre "Alarmesprocessus".

•• Confirmez vos entrées avec la touche de validation. Le logiciel systèmegénère alors le bloc DX 0.

Exemples de paramétrage

Programmation de la CPU 948C79000-G8577-C848-04 7 - 17

Page 324: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemples de paramétrage

Programmation de la CPU 9487 - 18 C79000-G8577-C848-04

Page 325: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire du chapitre 8

8.1 Structure de l’espace mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 4

8.2 Espace d’adressage de la CPU 948 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 5

8.2.1 Espace d’adressage de la RAM système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 68.2.2 Espace d’adressage de la périphérie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 8

8.3 Organisation de la mémoire utilisateur dans la CPU 948. . . . . . . . . . . . . . . . . . . . . . . . 8 - 10

8.3.1 En-têtes de blocs dans la mémoire utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 128.3.2 Listes d’adresses de blocs dans le bloc de données DB 0 . . . . . . . . . . . . . . . . . . . . . . . 8 - 138.3.3 Zones BA et BB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 148.3.4 Zones BS et BT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 158.3.5 Affectation des bits des mots de données système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 188.3.6 Zone de données système librement adressable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 42

8Contenu et organisation de la mémoire

Programmation de la CPU 948C79000-G8577-C848-04 8 - 1

Page 326: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire

Programmation de la CPU 9488 - 2 C79000-G8577-C848-04

Page 327: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

8Contenu et organisation de la mémoire

Le présent chapitre décrit l’organisation de la mémoire de laCPU 948. Vous y trouverez également des indications sur les informa-tions importantes auxquelles vous avez accès dans certains mots dedonnées système.

Programmation de la CPU 948C79000-G8577-C848-04 8 - 3

Page 328: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

8.1 Structure de l’espace mémoire

L’ensemble de l’espace mémoire de la CPU 948 se divise, pour l’es-sentiel, suivant les zones ci-après.

Espace mémoire Longueurdes données

Situation

Mémoire utilisateur pour : OB, FB, FX, PB, SB, DB, DX 16 bits

internes à

l’unité

centrale

Zone de couplage : BA, BBZone système : BS, BTCompteurs : ZTemporisations : TMémentos : MMémentos : S Mémoire image (MI) desentrées/sorties : MIE, MIS

16 bits16 bits16 bits16 bits8 bits8 bits 1

8 bits

Zone de la périphérie divisée en :

Périphérie PPériphérie QMémentos de couplageCoordinateur COR (sémaphore ...)Pages (CP, IP, COR 923C)Périphérie décentraliséeRegistres matériels

8 bits8 bits8 bits8 bits8/16 bits8 bits8/16 bits

sur le

bus S5

1 Bien que la longueur de données des mémentos S soit de 8 bits, ceux-ci se trouvent dans la zone de longueur de données 16 bits. L’octet de poids fort n’est pas défini.

Les adresses exactes de ces zones sont indiquées dans le schéma d’oc-cupation de la mémoire donné au paragraphe suivant.

NotaL’accès par STEP 5 à une cellule de mémoire se trouvant àl’intérieur d’une zone d’opérande (par exemple, mémento) ne doitjamais être effectué directement par l’adresse absolue, maisuniquement par l’adresse relative par rapport à l’adresse de basede la zone d’opérande correspondante.

Lors d’accès directs aux zones d’entrées, de sorties et demémentos, l’octet de poids fort contient FFH et l’octet de poidsfaible la donnée. Lors d’accès directs à des mémentos S, l’octetde poids fort n’est pas défini.

Tableau 8-1 Structure de l’espace mémoire

Structure de l’espace mémoire

Programmation de la CPU 9488 - 4 C79000-G8577-C848-04

Page 329: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

8.2 Espace d’adressage de la CPU 948

La CPU 948 propose deux versions de mémoire utilisateur (RAM) :

•• la CPU 948-1 avec une mémoire utilisateur de 640 Ko,

•• la CPU 948-2 avec une mémoire utilisateur de 1664 Ko.

La figure 8-1 représente l’espace d’adressage de la CPU 948 avec lasituation des deux versions de mémoire utilisateur.

Zone de la périphérie (bus S5)

1 Les 20 derniers mots de la mémoire utilisateur ne sont pasutilisables.

RAM système

Mémoire utilisateur 640 Ko1

(CPU 948-1)

Mémoire utilisateur 1664 Ko1

(CPU 948-2)

Bit

Adresse0 0000H

1 0000H

2 0000H

3 0000H

4 0000H

5 0000H

6 0000H

7 0000H

8 0000H

9 0000H

A 0000H

B 0000H

C 0000H

D 0000H

E 0000H

F 0000H

F FFFFH

15 0

Figure 8-1 Espace d’adressage de la CPU 948, vue d’ensemble

Espace d’adressage de la CPU 948

Programmation de la CPU 948C79000-G8577-C848-04 8 - 5

Page 330: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

8.2.1Espace d’adressage de laRAM système

BitAdresse

D 0000HE 9FFFH

E A000H

E AFFFH

E B000H

E DEAFH

E DEB1H

E DF6FH

E DF7CH

E DFA1H

E E1F0H

E E1FBH

E E200H

E E400H

E E600H

E E800H

E EA00H

E EC00H

E EE00H

réservé

réservé

réservé

réservé

réservé

réservé

réservé

réservé

réservé

En-tête du DB 0

DB 0(contient les adresses deparagraphes de tous lesblocs, c´est-à-dire les bitsd´adresse 4 à 19)

Liste d´adresses OB 0 à OB 255

Liste d´adresses PB 0 à PB 255

Liste d´adresses SB 0 à SB 255

Liste d´adresses FB 0 à FB 255

Liste d´adresses FX 0 à FX 255

Liste d´adresses DB 0 à DB 255

Liste d´adresses DX 0 à DX 255

ITPILE - entrée 1

ITPILE (16 entrées)

BLPILE (60 entrées)

Mémentos S

Programme système et données système

Données du programme système

15 8 7 0

Figure 8-2 Espace d’adressage de la RAM système, 1ère partie

Espace d’adressage de la CPU 948

Programmation de la CPU 9488 - 6 C79000-G8577-C848-04

Page 331: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

BitAdresseE F000H

E F200H

E F400H

E F600H

E F800H

E FA00H

E FC00H

E FD00H

E FE00H

E FE80H

E FF00H

E FFFFH

réservé

réservé

réservé

réservé

réservé

réservé

réservé

réservé

MIE

MIS

Mémentos M

Compteurs (256)

Temporisations (256)

Zone BT (données système étendues, 256 mots)

Zone BB (données de couplage étendues, 256 mots)

Zone BA (données de couplage, 256 mots)

Zone BS (données système, 256 mots)

15 8 7 0

Figure 8-3 Espace d’adressage de la RAM système, 2ème partie

Espace d’adressage de la CPU 948

Programmation de la CPU 948C79000-G8577-C848-04 8 - 7

Page 332: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

8.2.2Espace d’adressage de lapériphérie

BitAdresseF 0000H

F D000H

F F000H

F F080H

F F100H

F F200H

F F300H

F F400H

F F800H

F FC00H

Registres matérielsF FE00H

F FFFFH

réservé

Zone de transfert de données pour CP

Zone supplémentaire de données pour CP

Périphérie décentraliséevolume d´adresses étenduavec IM 304, IM 307et IM 308

(pages) 1 Ko ou Kmot

1 Ko ou Kmot(extension de page)

(avec MI, 128 E/128 S)Périphérie TOR

Périphérie P

Périphérie Q

(sans MI, 128 E/128 S)Périphérie analogique

Périphérie étendue

Mémentos de couplage

Sémaphores (32)sur COR

sur COR et/ou CP

(uniquement danschâssis d´extension)

Zone libre d´adressage de la périphérie (52 kilo-mots)

15 8 7 0

Figure 8-4 Espace d’adressage de la périphérie (8 bits) sur le bus S5

Espace d’adressage de la CPU 948

Programmation de la CPU 9488 - 8 C79000-G8577-C848-04

Page 333: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Zones d’adressage pourla périphérie et program-mation de ces zones

A l’aide des instructions STEP 5, vous pouvez accéder à la périphériesoit directement, soit par l’intermédiaire de la mémoire image. Tenezcompte du fait que la mémoire image n’existe que pour les octets d’en-trée et de sortie de la périphérie P ayant des adresses de 0 à 127.

NotaAvec les coupleurs IM 304, IM 307 et IM 308, votre programmepeut accéder à des zones d’adresses décentralisées. Vous gagnezainsi deux nouvelles zones d’adresses équivalentes à la zone Q.Contrairement à la zone Q, vous ne pouvez toutefois y accéderque par adressage absolu ou par l’intermédiaire du FB 196 qui faitpartie du progiciel "Fonctions de base" (voir catalogue ST 57,bibliographie /11/).

Zone (adresse absolue) Accès par Paramètre

Périphérie P avec mémoire image

L EB / T EB 0 à 127L EW / T EW 0 à 126L ED / T ED 0 à 124U E / UN E / O E / ON E 0.0 à 127.7S E/ R E / = E

L AB / T AB 0 à 127L AW / T AW 0 à 126L AD / T AD 0 à 124U A / UN A / O A / ON A 0.0 à 127.7S A / R A / = A

Au moment du traitement de l’opération, seule lamémoire image est modifiée. Ce n’est qu’à la findu cycle que l’ensemble des états de la mémoireimage est transmis à la périphérie.

Périphérie P

L PY / T PY 0 à 127L PW / T PW 0 à 126

L PY / T PY 128 à 255L PW / T PW 128 à 254

L’accès aux entrées et sorties se fait directement par mots ou par octets.

Périphérie Q

L QB / T QB 0 à 255L QW / T QW 0 à 254

L’accès aux entrées et sorties se fait directement par mots ou par octets.

MIE(mémoire image desentrées)

MIS(mémoire image dessorties)

Périphérie TOR entrées/sorties

Périphérie TOR ou analogiqueentrées/sorties

Périphérie étendueentrées/sorties

E FE00

E FEFF

E FE80

E FE7F

F F000

F F07F

F F080

F F0FF

F F100

F F1FF

Espace d’adressage de la CPU 948

Programmation de la CPU 948C79000-G8577-C848-04 8 - 9

Page 334: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

8.3 Organisation de la mémoire utilisateur dans la CPU 948

La mémoire utilisateur couvre – selon la version de la CPU 948 miseen oeuvre – l’espace d’adressage de 0 0000H à C FFFFH. Lors de leurchargement, les blocs du programme utilisateur sont mémorisés dansun ordre quelconque, par adresses croissantes.

Gestion des blocs Lors de la modification de blocs, l’ancien bloc est déclaré non valableet le nouveau bloc est inscrit en mémoire et dans la liste d’adresses.De même, lors de l’effacement de blocs, ceux-ci ne sont pas réelle-ment effacés, mais déclarés non valables. L’effacement de blocs don-ne naissance à des lacunes qui sont gérées comme des emplacementsde mémoire libres et qui seront à nouveau utilisées lors du chargementde nouveaux blocs.

Compression de la mémoire La fonction PG en ligne de compression de la mémoire regroupe tous lesblocs valables se trouvant en mémoire. A l’arrêt , elle provoque le décala-ge de tous les blocs qui ne sont pas accolés. Par contre, en état de marcheRUN, les blocs de données DB/DX importants (supérieurs à 512 motsde données) ne sont pas décalés pour des raisons de cohérence desdonnées. La compression de la mémoire permet d’obtenir de grandes zo-nes de mémoire libres qui peuvent être utilisées lors du chargement d’au-tres blocs.

Si la fonction en ligne de compression de la mémoire est interrompue(par exemple, par une mise hors tension), la compression est arrêtée etn’est pas reprise lors de la remise sous tension.

Situation des blocs dans la mémoire utilisateur

Dans la CPU 948, les blocs sont stockés en mémoire de manière telleque le mot de données DW 0 ou la première instruction STEP 5 dechaque bloc se trouve sur une adresse de paragraphe. Les adressesde paragraphe sont des limites de groupes de 16 mots. Tous lesen-têtes de bloc débutent ainsi dans la mémoire à l’adresse xxxxBH(bits 0 à 3 = BH) et tous les corps de bloc à l’adresse yyyy0H (bits 0 à3 = 0H). Chaque espace libre entre la fin d’un bloc et le début du blocsuivant est occupé par un bloc de données non valable de manière à ceque tous les blocs soient consécutifs dans la mémoire.

Blocs de remplissage Ces blocs de données non valables sont appelés "blocs de remplissa-ge". Ils sont régis par la gestion de mémoire de la même façon que lesblocs valables et ont la structure suivante :

Indicatif de début : 7070H ;Type/numéro de bloc : 01FBH ;DB 251 non valableIndicatif de la console : 00FFH ;sans objetNuméro de bibliotèque : FFFFH ;sans objetLongueur du bloc : 00XXH ;longueur 5 à 20 motsDonnées : FFFFH ;suivant la

: ;longueur: ;libreFFFFH ;facultatif

Organisation de la mémoire utilisateur dans la CPU 948

Programmation de la CPU 9488 - 10 C79000-G8577-C848-04

Page 335: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple

La longueur de chaque bloc de remplissage est égale à la différenceentre l’adresse de fin du dernier bloc mémorisé et la prochaine adressede paragraphe.

Différence Longueur du bloc de remplissage (en-tête inclus)

0 à 5 Différence + 10

6 Pas de bloc de remplissage

7 à 10 Différence + 10

11 à 15 Différence - 6

Bit BitListe de blocs DB 0 Mémoire

En-tête 1

En-tête 2

En-tête n

Corps 1

Bloc de remplissage

xxxx0H

xxxx0H

Adressescroissantes

xxxx0H

Corps 2

Corps n

= adresses de paragraphes (limites de groupes de 16 mots)

Adresse de début du bloc 1

Adresse de début du bloc n

15 150 0

P

P

P

P

x

x

x

x

x

x

x

x

x

x

x

Figure 8-5 Exemple de sauvegarde des blocs en mémoire

Organisation de la mémoire utilisateur dans la CPU 948

Programmation de la CPU 948C79000-G8577-C848-04 8 - 11

Page 336: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

8.3.1En-têtes de blocs dans lamémoire utilisateur

Chaque bloc en mémoire débute par un en-tête ayant une longueur de5 mots.

1er mot : Indicatif de début de bloc : 7070H

2ème mot : Octet de poids fort : type de bloc

Octet de poids faible : numéro de blocLe numéro de bloc (0 à 255) est situé dans l’octet de poids faible du 2ème mot de l’en-tête et est codé binaire : 00 à FFH.

3ème mot : L’octet de poids fort du troisième mot contient l’indicatifde la console ; l’octet de poids faible contient une partie du numéro de bibliothèque.

4ème mot : Le quatrième mot contient le reste du numéro de bibliothèque.

5ème mot : Le cinquième mot (octets de poids faible et fort) contient la longueur du bloc, en-tête de bloc compris. Cette lon- gueur est donnée en mots.

01H Bloc de données DB02H Bloc séquent ie l SB

Bloc de programme PBBloc fonct ionnel FXBloc fonct ionnel FBBloc de données DXBloc d´organisat ion OB

04H05H08H0CH10H

0 0la l is te d’adresses DB 0.

enregistré dans la l is te d’adresses DB 0.0 1

Bloc non valable, n´est pas enregistré dans

Le bloc dans la mémoire est valable, i l est

Bi t 15 14 13 12 11 10 9 8

Organisation de la mémoire utilisateur dans la CPU 948

Programmation de la CPU 9488 - 12 C79000-G8577-C848-04

Page 337: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

8.3.2Listes d’adresses deblocs dans le bloc dedonnées DB 0

Le bloc de données DB 0 se situe dans la RAM système de la CPU (àpartir de l’adresse E E200H) et contient la liste des adresses de débutde tous les blocs qui se trouvent dans la mémoire utilisateur de laCPU. Cette liste d’adresses est élaborée par le programme systèmeaprès la mise sous tension lors d’un démarrage, vérifiée lors d’un re-démarrage et actualisée automatiquement lors de la saisie ou de la mo-dification de blocs à l’aide de la console de programmation.

Adresses de début deslistes d’adresses

Le bloc DB 0 contient, pour chaque type de bloc, une liste d’adressescomprenant 256 mots. Les blocs non chargés ou effacés ont "0" pouradresse de début.Les adresses de début de chaque liste d’adresses de blocs sont définies(voir paragraphe 8.2.1).

Adresses de début de bloc Les adresses de début de bloc dans les listes d’adresses pointent tou-jours sur le premier mot suivant l’en-tête de bloc :

•• pour les blocs de données : sur le mot de données DW 0,

•• pour les blocs de code : sur la première instruction STEP 5 (dansle cas de FB, sur l’instruction SPA avant le nom et la liste de para-mètres).

Comme chaque bloc se situe sur une adresse de paragraphe (tous les16 mots), l’adresse inscrite dans le DB 0 se limite à un mot avec lesbits 4 à 20 de l’adresse.

Situation des adresses deblocs dans le DB 0

n = E E400H (adresse de début de la liste d’adresses des blocs de pro-gramme)

Adresse PB 0

Adresse PB 1

Adresse PB 2

Adresse PB 178

Adresse PB 179

Si l ´adresse indiquéeest la valeur "0", lebloc n´est pas chargé.

DB 0

n

n+1

n+2

n+178

n+179

15 0

Figure 8-6 Adresses de blocs dans le DB 0

Organisation de la mémoire utilisateur dans la CPU 948

Programmation de la CPU 948C79000-G8577-C848-04 8 - 13

Page 338: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple de calcul del’adresse d’un bloc

8.3.3Zones BA et BB La zone BA d’une longueur de 256 mots est située dans la RAM sy-

stème interne de la CPU. Elle couvre les adresses E F400H à EF4FFH.

La zone BB d’une longueur de 256 mots est située dans la RAM sy-stème interne de la CPU. Elle couvre les adresses E F600H à EF6FFH.

Vous pouvez utiliser l’ensemble des zones BA (BA 0 à BA 255) etBB (BB 0 à BB 255) pour vos besoins propres.

Les zones BA et BB ne sont réinitialisées – par des zéros – que lorsd’un effacement général.

Les adresses de début des blocs de programmationse trouvent dans le DB 0 à partir de l’adresseE E400H.L’accès à l’adresse E E416H (adresse de début desPB + 16 H) en mémoire permet ainsi de lirel’adresse de début du PB 22.

Organisation de la mémoire utilisateur dans la CPU 948

Programmation de la CPU 9488 - 14 C79000-G8577-C848-04

Page 339: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

8.3.4Zones BS et BT Les zones BS et BT contiennent, d’une part, des informations pour le

programmeur du système et, d’autre part, des données système inter-nes.

La zone BS d’une longueur de 256 mots est située dans la RAM sy-stème interne de la CPU. Elle couvre les adresses E F000H à EF0FFH.

AttentionL’accès en écriture n’est permis que pour les mots de donnéessystème BS 60 à BS 63.

Toutes les autres données système ne sont accessibles qu’enlectur e.

Un accès en écriture à ces données système peut avoir desconséquences sur le fonctionnement de l’automate programmableet de la console de programmation raccordée.Il peut en résulter de graves dommages mettant en danger à la foisl’homme et la machine.

La zone BT d’une longueur de 256 mots est située dans la RAM sy-stème interne de la CPU. Elle couvre les adresses E F200H àE F2FFH.

Vous pouvez utiliser l’ensemble de la zone BT (BT 0 à BT 255) pourvos besoins propres à condition :

1) de ne pas vous servir de blocs fonctionnels standard

et

2) de ne pas utiliser de fonctions PG via SINEC H1 et le bus S5 parallèle.

Les zones BS et BT ne sont effacées que par un effacement général.

Zones BS et BT

Programmation de la CPU 948C79000-G8577-C848-04 8 - 15

Page 340: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

La fonction en ligne "Paramètres système" vous transmet les informa-tions de quelques données système, comme la structure interne de laCPU, la version du logiciel, l’ identification de la CPU, etc.

Occupation de la zone BS

BS Descr iption Adresse

0 Image de l’octet d’entrée EB 0(alarmes de processus)

E F000H

1 Alarmes de processus en attente (EB 0) E F001H

2 à 4 Programme système

5 Temps de cycle nécessaire en vigueur E F005H

6 Programme système

7 Indicatifs de mise à l’arrêt (ITPILE) E F007H

8 Indicatifs de mise en route et de démarrage(ITPILE)

E F008H

9 à 15 Programme système

16 Zone d’erreurs : sorties 0 à 15 E F010H

17 à 23 Zone d’erreurs : sorties 16 à 127E F011H

àE F017H

24 à 31 Zone d’erreurs : entrées 0 à 127E F018H

àE F01FH

32 à 47 Zone d’erreurs : mémentos de couplage 0 à 255

E F020Hà

E F02FH

48 à 49 Programme système

50 Octet PAFE pour les fonctions de bus de fond de panier

E F032H

51 à 59 Programme système

60 à 63 A votre dispositionE F03CH

àE F03FH

64 à 67 Programme système

68 à 71 Adresse pour les erreurs ACQ et PARIE F044H

àE F047H

72 à 74 Programme système

75 Message système, numéro de fonction E F04BH

Tableau 8-2 Occupation de la zone BS

Zones BS et BT

Programmation de la CPU 9488 - 16 C79000-G8577-C848-04

Page 341: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

BS Descr iption Adresse

Suite du tableau 8-2

76 Message système, paramètre 1 E F04CH

77 Message système, paramètre 2 E F04DH

78 Message système, paramètre 3 E F04EH

79 à 95 Programme système

96 Heure actuelle (secondes) E F060H

97 Heure actuelle (heures) E F061H

98 Heure actuelle (jours) E F062H

99 Heure actuelle (année/mois) E F063H

100 à 119 Programme système

120 Protection du logiciel, mot de passe E F078H

121 à 135 Programme système

136 à 137 Cellules réservées à la fonction d’autotestE F088H

àE F089H

138 Programme système

139 Temps de cycle écoulé lors duredémarrage de la surveillance

E F08BH

140 à 252 Programme système

253 Libre pour la périphérie décentralisée E F0FDH

254 à 255 Programme système

En complément au tableau ci-avant, les pages suivantes donnent l’af-fectation des bits de certaines données système que vous pouvez ex-ploiter soit par des opérations STEP 5, soit à l’aide de la console deprogrammation (les abréviations utilisées sont explicitées au para-graphe 5.4).

Zones BS et BT

Programmation de la CPU 948C79000-G8577-C848-04 8 - 17

Page 342: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

8.3.5Affecta tion des bits desmots de donnée s système

Donnée système BS 0 Image de l’octet d’entrée EB 0 (alarmes de processus)

Adresse : E F000H

Octet de poids fort

Bit Contenu

15

Occupé par le programme système

14

13

12

11

10

9

8

Octet de poids faible

7 Image de E 0.7

6 Image de E 0.6

5 Image de E 0.5

4 Image de E 0.4

3 Image de E 0.3

2 Image de E 0.2

1 Image de E 0.1

0 Image de E 0.0

Tableau 8-3 Occupation de BS 0 (image de l’octet EB 0)

Affectation des bits des mots de données système

Programmation de la CPU 9488 - 18 C79000-G8577-C848-04

Page 343: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Donnée système BS 1 Alarmes de processus en attente

Adresse : E F001H

Octet de poids fort

Bit Contenu

15

Tous les bits ont la valeur "0".

14

13

12

11

10

9

8

Octet de poids faible

7 Bit = "1" : front E 0.7

6 Bit = "1" : front E 0.6

5 Bit = "1" : front E 0.5

4 Bit = "1" : front E 0.4

3 Bit = "1" : front E 0.3

2 Bit = "1" : front E 0.2

1 Bit = "1" : front E 0.1

0 Bit = "1" : front E 0.0

Tableau 8-4 Occupation de BS 1 (alarmes de processus en attente)

Affectation des bits des mots de données système

Programmation de la CPU 948C79000-G8577-C848-04 8 - 19

Page 344: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Donnée système BS 5 Temps de cycle nécessaire en vigueur

Adresse : E F005H

Octet de poids fort et octet de poids faible

Bit Contenu

15

Valeur binaire inscrite * 10 ms = durée du dernier cycle traité

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Exemple

Tableau 8-5 Occupation de BS 5 (temps de cycle nécessaire en vigueur)

Bit 15 14 13 12 11 10 9 8 7 5 4 3 2 1 0

Valeur 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0

La dur ée du der ni er cycl e est de :

(2 4 + 2 3) * 10 ms = ( 16 + 8) * 10 ms = 240 ms.

Affectation des bits des mots de données système

Programmation de la CPU 9488 - 20 C79000-G8577-C848-04

Page 345: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Donnée système BS 7 Indicatifs de mise à l’arrêt de l’automate (voir ITPILE)

Adresse : E F007H

Octet de poids fort

Bit Contenu

15réservé

14

13

12 Niveau d’erreur de l’I TPILE

11 Mode de mise en route incorrect (DEMINAD)

10 Interruption dans la boucle d’arrêt

9 Appel incorrect du bloc système (ERR.SYS)

8 Erreur dans le bloc de mise en route (ERR.DEM)

Octet de poids faible

7 Interruption due au système (INT.SYS ; redémarrage possible)

6 Interruption due à une erreur de programmation(INTPROG ; démarrage nécessaire)

5 Fin du contrôle pas à pas (FIN P/P)

4 Commutateur de mode sur STOP (ISTOP)

3 Arrêt après fin d’instruction (STS)

2 Arrêt en fin de cycle (STP)

1 Arrêt en fonctionnement multiprocesseur (HALT)

0 Arrêt par la console (PGSTP)

Tableau 8-6 Occupation de BS 7 (indicatifs de mise à l’ arrêt de l’ automate)

Affectation des bits des mots de données système

Programmation de la CPU 948C79000-G8577-C848-04 8 - 21

Page 346: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Donnée système BS 8 Indicatifs de mise en route et de démarrage (voir ITPILE)

Adresse : E F008H

Octet de poids fort

Bit Contenu

15 Présélection : démarrage/redémarrage manuel(DEMMSEL)

14 Présélection : démarrage automatique(DEMASEL)

13 Présélection : redémarrage automatique(REDASEL)

12 Effacement général nécessaire (RAZ NEC)

11 Redémarrage autorisé (RED ADM)

10 Démarrage autorisé (DEM ADM)

9 Effacement général effectué (RAZ EFF)

8 Redémarrage effectué (RED EFF)

Octet de poids faible

7 Démarrage effectué (DEM EFF)

6 Démarrage automatique après coupure secteur(MDT)

5 Démarrage manuel

4 Démarrage avec rémanence

3 Effacement général par la console

2 Démarrage système par la console

1 Redémarrage par la console

0 Démarrage par la console

Tableau 8-7 Occupation de BS 8 (indicatifs de mise en route et dedémarrage)

Affectation des bits des mots de données système

Programmation de la CPU 9488 - 22 C79000-G8577-C848-04

Page 347: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Données systèmeBS 16 à BS 47

Zones d’er reurs

BS xx Adresses Zone d’erreurs

BS 16 E F010 Octets de sortie 0 à 15

BS 17 àBS 23

E F011 àE F017

Octets de sortie 16 à 127

BS 24 àBS 31

E F018 àE F01F

Octets d’entrée 0 à 127

BS 32 àBS 47

E F020 àE F02F

Octets de mémentos de couplage0 à 255

BS 16 Adresse : E F010H

Octet de poids fort

Bit Contenu

15 Octet de sortie 0

14 Octet de sortie 1

13 Octet de sortie 2

12 Octet de sortie 3

11 Octet de sortie 4

10 Octet de sortie 5

9 Octet de sortie 6

8 Octet de sortie 7

Octet de poids faible

7 Octet de sortie 8

6 Octet de sortie 9

5 Octet de sortie 10

4 Octet de sortie 11

3 Octet de sortie 12

2 Octet de sortie 13

1 Octet de sortie 14

0 Octet de sortie 15

S’il se produit des erreurs au moment de l’actualisation de la mémoireimage des sorties (il en est de même pour les entrées et les mémentosde couplage), les bits correspondants sont mis à "1". La structure desmots de données système BS 17 à BS 47 correspond à celle de BS 16.

Tableau 8-8 Occupation de BS 16 (zone d’erreurs, octets de sortie 0 à 15)

Affectation des bits des mots de données système

Programmation de la CPU 948C79000-G8577-C848-04 8 - 23

Page 348: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple pour BS 16

Donnée système BS 50 Octet PAFE pour les fonctions de bus de fond de panier

L’octet d’erreur de paramétrage pour les fonctions de bus de fond depanier d’une CPU est inscrit dans le mot de données système BS 50.

15 8 7 0

BS 50 PAFE – E F032H

Données systèmeBS 68 à BS 71

Adresses pour les erreurs ACQ et PARI

L’adresse d’une erreur ACQ ou PARI y est indiquée.

15 0

BS 68 Adresse d’erreur ACQ de poids fort E F044H

BS 69 Adresse d’erreur ACQ de poids faible E F045H

BS 70 Adresse d’erreur PARI de poids fort E F046H

BS 71 Adresse d’erreur PARI de poids faible E F047H

Le cont enu de l a donnée syst ème BS 16 est :

" 8020" ( hexadéci mal ) soi t " 1000 0000 0010 0000" ( bi nai r e).

Cela s i gni f i e qu’ une er r eur s’ est pr odui te l or sde l ’ act ual i sat i on de l a mémoi r e i mage pour l esoct ets de sor t ie 0 et 10.

Affectation des bits des mots de données système

Programmation de la CPU 9488 - 24 C79000-G8577-C848-04

Page 349: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Données systèmeBS 75 à BS 78

Message système

Les informations dans les données système BS 75 à BS 78 se rap-portent à la dernière erreur apparue. Le message se compose des 4mots de données système et présente la structure suivante :

15 0

BS 75 Numéro d’erreur Type de paramètre E F04BH

BS 76 Paramètre 1 E F04CH

BS 77 Paramètre 2 E F04DH

BS 78 Paramètre 3 E F04EH

BS 75 L’ octet de poids fort contient le numéro d’erreur qui permet de clas-ser l’ erreur dans une des trois catégories suivantes :

Catégories d’erreurs •• 01H à 2FH erreur générale,

•• 30H à 3FH erreur dans DX 0 ou DB 1,

•• 40H erreur système.

Type de paramètre L’ octet de poids faible contient le type de paramètre qui décrit lastructure de la rubrique de paramètres qui suit dans les BS 76 à BS 78.Il existe les types de paramètres 00H à 10H. La structure de la rubri-que de paramètres est décrite plus loin.

Les deux tableaux ci-après présentent les erreurs de la catégorie"erreur générale", de même que celles de la catégorie "erreur dansDX 0 ou DB 1".

Affectation des bits des mots de données système

Programmation de la CPU 948C79000-G8577-C848-04 8 - 25

Page 350: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Erreurs générales

N° d’erreur

Type deparamètre

Signifi cation

01H 01H Le bloc appelé n’est pas chargé.

02H 01H Erreur d’adressage

03H 01H Erreur de temps de cycle

04H 01H Erreur de substitution

05H 02H Retard d’acquittement de la périphérie décentralisée

06H 03H Retard d’acquittement de la mémoire utilisateur

07H 01H Erreur de chargement/transfert pour blocs dedonnées DB/DX

08H 01H Débordement du compteur de parenthèses

09H 04H Bloc de données à ouvrir non disponible

0AH 05H Erreur lors d’alarmes d’horloge ou d’interruptions

0BH 03H Retard d’acquittement d’une page

0CH 03H Retard d’acquittement de la zone decommunication commune

0DH 07H Retard d’acquittement lors de l’actualisation de la mémoire image du processus

0EH 03H Retard d’acquittement de la zone de synchronisation des mémentos de couplage

0FH 03H Retard d’acquittement de la périphérie P/Q

10H 03H Retard d’acquittement : coupleur décentralisé non disponible (IM 3/IM 4)

11H 03H Erreur de parité dans la mémoire utilisateur

12H 01H Retard d’acquittement lors du transfert de la mémoire image du processus

13H 01H Retard d’acquittement de l’octet d’entrée EB 0

14H 01H Débordement de la pile des blocs (BLPILE)

15H 01H Instruction STS

16H 01H Commutateur de mode sur STOP

17H 01H Signal HALT du coordinateur

18H 01H libre

19H 01H Erreur de chargement/transfert lors del’actualisation de la mémoire image

1AH 01H Erreur de chargement/transfert lors del’adressage indirect par le registre BR

Tableau 8-9 BS 75 : Erreurs générales

Affectation des bits des mots de données système

Programmation de la CPU 9488 - 26 C79000-G8577-C848-04

Page 351: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

N° d’erreur

Type deparamètre

Signifi cation

Suite du tableau 8-9

1BH 01H Périphérie non disponible

1CH 08H Retard d’acquittement/erreur de paritéà l’i nitialisation

1DH 08H Redémarrage automatique impossible :démarrage nécessaire

1EH 00H Mode de mise en route incorrect

1FH 01H Erreur de chargement/transfert lors d’une instruction de transfert par blocs (limites dezone erronées pour TNW, TXB, TXW)

20H 09H Longueur incorrecte lors de E DB/EX DX

21H 09H DB/DX existe déjà lors de E DB/EX DX.

22H 09H Espace mémoire insuffisant lors de E DB/EX DX

23H 05H L’i nterruption système masquée passe.

24H 00H Fonction de bloc (compression, transfert,saisie) à l’arrêt ; démarrage nécessaire

25H 00H Défaillance de la pile de sauvegarde ; miseen route impossible

26H 00H Le passage du fonctionnement monopro-cesseur en fonctionnement multiprocesseurinterdit le redémarrage.

27H 01H Arrêt suite à l’ instruction STP

28H 01H Signal prêt permanent (carte de périphérie défectueuse)

29H 08H Erreur dans la structure du DB 0 après uneffacement général

Erreur dans DX 0 ou DB 1

N° d’erreur

Type deparamètre

Signifi cation

Erreur dans DX 0

30H 00H DX 0 manque en mode multiprocesseur.

32H 00H Alarme de processus et interruption système sélectionnées simultanément

33H 00H Alarmes et mode de fonctionnement de l’automate incompatibles

Tableau 8-10 BS 75 : Erreur dans DX 0 ou DB 1

Affectation des bits des mots de données système

Programmation de la CPU 948C79000-G8577-C848-04 8 - 27

Page 352: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

N° d’erreur

Type deparamètre

Signifi cation

Suite du tableau 8-10

34H 06H En-tête de bloc DX 0 non valable

35H 07H Erreur dans l’indicatif de rubrique du DX 0

36H 07H Paramètre erroné du bloc DX 0

Erreur dans DB 1

38H 06H DB 1 manque en mode multiprocesseur.

39H 06H En-tête du bloc DB 1 non valable

3AH 07H Déclaration multiple de l’ indicatif du DB 1

3BH 07H Décalage (offset) octet DB 1 sans indicatif

3CH 07H La périphérie indiquée dans le DB 1 n’est pas enfichée.

3DH 07H Décalage trop grand (erreur de paramétrage)

3EH 07H Décalages trop nombreux

Indicatifs d’erreur desfonctions d’autotest

N°d’erreur

Type deparamètre

Signifi cation

61H 0BH Erreur de total de contrôle dans le code du programme système

62H 0AH Erreur de total de contrôle dans le code des blocs de code STEP 5

63H 0BH Erreur du décodeur d’adresses

64H 0CH Erreur lors du test de la mémoire utilisateur organisée par mots

65H 0CH Erreur lors du test de la mémoire utilisateur organisée par octets

66H 00H Erreur lors du test de la surveillance du temps de cycle

67H 00H Erreur lors du test du signal BASP

68H 00H Erreur lors du test de l’ horloge matérielle

Tableau 8-11 BS 75 : Indicatifs d’erreur des fonctions d’autotest

Affectation des bits des mots de données système

Programmation de la CPU 9488 - 28 C79000-G8577-C848-04

Page 353: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Structure de la rubrique deparamètres (BS 76 à BS 78)

Type de paramètre

Structure de la rubrique de paramètres

00H Pas de paramètres ; paramètres 1, 2, 3 = 0

01H Paramètre 1 Type de bloc/numéro de bloc (indicatifs repris de l’en-tête)

Paramètre 2 Instruction qui a engendré l’ interruption

02H Paramètre 1 Numéro du coupleur (périphérie décentralisée)

Paramètre 2 Numéro de l’ interface défectueuse

Paramètre 3 Décalage (offset) d’octet erroné

03H Paramètre 1 libre

Paramètre 2 Adresse d’erreur, poids fort

Paramètre 3 Adresse d’erreur, poids faible

04H Paramètre 1 Type de bloc/numéro de bloc (indicatifs repris de l’en-tête)

Paramètre 2 Instruction qui a engendré l’ interruption

Paramètre 3 Type/numéro du bloc DB/DX à ouvrir

05H Paramètre 1 Les bits ci-après sont mis à "1" suivant l’erreur.

Bit 0 = 1 : Alarme d’horloge, période 1

Bit 1 = 1 : Alarme d’horloge, période 2

: : : :

Bit 7 = 1 : Alarme d’horloge, période 8

Bit 8 = 1 : Alarme d’horloge, période 9

Bit 9 = 1 : Alarme d’horloge masquée trop longtemps= 0 : Dépassement de la file d’attente

Bit 10 réservé

Bit 11 réservé

Bit 12 = 1 : Interruption G

Bit 13 = 1 : Interruption F

Bit 14 = 1 : Interruption E

Bit 15 = 1 : Interruption X

06H Paramètre 1 Valeur de consigne du mot de données dans l’en-tête du DX 0 ou DB 1

Paramètre 2 Valeur effective du mot de données dans l’en-tête du DX 0 ou DB 1

07H Paramètre 1 Indicatif de rubrique ou mot indicateur dans DX 0 ou DB 1

Paramètre 2 Paramètre 1 erroné dans DX 0 ou DB 1(FFFFH : paramètre non signifi catif)

Paramètre 3 Paramètre 2 erroné dans DX 0 ou DB 1(FFFFH : paramètre non signifi catif)

Tableau 8-12 BS 76 à BS 78 : types de paramètres

Affectation des bits des mots de données système

Programmation de la CPU 948C79000-G8577-C848-04 8 - 29

Page 354: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Type de paramètre

Structure de la rubr ique de paramètres

Suite du tableau 8-12

08H Paramètre 1 Les bits ci-après sont mis à "1" suivant l’erreur.

Bit 0 = 1 : Retard d’acquittement à l’ initialisation (ACQ)

Bit 1 = 1 : Erreur de parité à l’ initialisation (PARI)

Bit 2 = 1 : Le contenu de la carte à mémoire est trop important.

Bit 3 = 1 : Erreur du système d’exploitation

Bit 4 = 1 : Indicatif du bloc erroné

Bit 5 = 1 : Indicatif de fin de bloc erroné

Bit 6 réservé

Bit 7 réservé

Bit 8 = 1 : DB 0 modifié depuis le dernier démarrage

Bits 9à 15

réservés

Paramètre 2 Adresse d’erreur, poids fort (si bit 2, 4 ou 5 du paramètre 1 = "1")

Paramètre 3 Adresse d’erreur, poids faible (si bit 2, 4 ou 5 du paramètre 1 = "1")

09H Paramètre 1 Code opération EX DX ou E DB (d’où résulte le type de bloc)

Paramètre 2 Numéro de bloc

Paramètre 3 Longueur du bloc de données

10H Numéro d’erreur interne au système

0AH Paramètre 1 Type de bloc/numéro de bloc (indicatifs repris de l’en-tête)

Paramètre 2 Total de contrôle de consigne

Paramètre 3 Total de contrôle effectif

0BH Paramètre 1 FFFFH

Paramètre 2 Adresse d’erreur de poids fort lors d’une erreur de code d’adressageTotal de contrôle effectif de poids fort lors du test du code du programme système

Paramètre 3 Adresse d’erreur de poids faible lors d’une erreur de code d’adressageTotal de contrôle effectif de poids faible lors du test du code du programme système

0CH Paramètre 1 Profil de contrôle pour le test de la mémoire utilisateur

Paramètre 2 Adresse d’erreur, poids fort

Paramètre 3 Adresse d’erreur, poids faible

Affectation des bits des mots de données système

Programmation de la CPU 9488 - 30 C79000-G8577-C848-04

Page 355: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple d’un message système

BS 75 21H 09H E F04BH

BS 76 7804H E F04CH

BS 77 0064H E F04DH

BS 78 0078H E F04EH

BS 75, numér o d’ er r eur = 21H L’ er r eur est appar ue dans l e pr ogr amme ut i l i-sat eur STEP 5 l or s de l a cr éat i on d’ un DB/ DX

BS 75, t ype de par amèt r e = 09H La r ubr i que de par amèt r es dans BS 76 à BS 78cont i ent 3 p ar amèt r es.

BS 76, par amèt r e 1 = 7804H Code opér at i on = EX DX, d’ où r ésul t e l e t ype de bl oc DX.

BS 77, par amèt r e 2 = 0064H Numér o de bl oc = 100 ( déci mal )BS 78, par amèt r e 3 = 0078H Longueur du bl oc de données = 120 mot s de

données

Si gni f i cat i on du message : Le bl oc de données DX 100 d’ une l ongueur de 120 mots de données devait êt r ecr éé dans l e pr ogr amme ut i l i sat eur STEP 5, mai s i l exi st e déj à.

Affectation des bits des mots de données système

Programmation de la CPU 948C79000-G8577-C848-04 8 - 31

Page 356: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Données systèmeBS 96 à BS 99

Horloge temps réel

La zone des données système BS 96 à BS 99 contient la date etl’heure en cours. Vous pouvez les y lire si nécessaire.

15 0

BS 96 Secondes 1/10, 1/100 seconde E F060H

BS 97 Heures Minutes E F061H

BS 98 Jour Jour de la semaine E F062H

BS 99 Année Mois E F063H

L’horloge est actualisée toutes les 10 ms.

BS 96 Secondes et centièmes de seconde (adresse : E F060H)

Octet de poids fort

Bit Contenu

15Secondes, dizainesvaleurs admises : 00H à 05H

14

13

12

11Secondes, unitésvaleurs admises : 00H à 09H

10

9

8

Octet de poids faible

7Dizièmes de secondevaleurs admises : 00H à 09H

6

5

4

3Centièmes de secondevaleurs admises : 00H à 09H

2

1

0

Tableau 8-13 Occupation de BS 96 (horloge temps réel : secondes, centièmes de seconde)

Affectation des bits des mots de données système

Programmation de la CPU 9488 - 32 C79000-G8577-C848-04

Page 357: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

BS 97 Heures et minutes (adresse : E F061H)

Octet de poids fort

Bit Contenu15 0 = format 12h, 1 = format 24h14 0 = AM, 1= PM13 Heures, dizaines, valeurs admises : 00/01H pour

format 12h, 00/02H pour format 24h1211

Heures, unitésvaleurs admises : 00H à 09H

1098

Octet de poids faible

7Minutes, dizainesvaleurs admises : 00H à 05H

6543

Minutes, unitésValeurs admises : 00H à 09H

210

BS 98 Jour et jour de la semaine (adresse : E F062H)

Octet de poids fort

Bit Contenu15

Jour, dizainesvaleurs admises : 00H à 03H

14131211

Jour, unitésvaleurs admises : 00H à 09H

1098

Octet de poids faible

7Jour de la semainevaleurs admises : 00H à 06H pour Lu à Di

6543

0210

Tableau 8-14 Occupation de BS 97 (horloge temps réel : heures, minutes)

Tableau 8-15 Occupation de BS 98 (horloge temps réel : jour, jour de la semaine)

Affectation des bits des mots de données système

Programmation de la CPU 948C79000-G8577-C848-04 8 - 33

Page 358: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

BS 99 Année et mois (adresse : E F063H)

Octet de poids fort

Bit Contenu

15Année, dizainesvaleurs admises : 00H à 09H

14

13

12

11Année, unitésvaleurs admises : 00H à 09H

10

9

8

Octet de poids faible

7Mois, dizainesvaleurs admises : 00/01H

6

5

4

3Mois, unitésvaleurs admises : 00 à 09H

2

1

0

Tableau 8-16 Occupation de BS 99 (horloge temps réel : année, mois)

Affectation des bits des mots de données système

Programmation de la CPU 9488 - 34 C79000-G8577-C848-04

Page 359: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Donnée système BS 120 Protection du logiciel

La donnée système BS 120 commande la fonction système de protecti-on du logiciel qui empêche, au moyen d’un mot de passe, qu’un utili-sateur non autorisé, par exemple, lise, modifie ou efface des blocs àl’aide de la console de programmation.

Mot de passe La protection du logiciel est liée à un mot de passe transmis au pro-gramme système via le mot BS 120.

Activation de la protection dulogiciel

La définition d’un mot de passe dans le mot BS 120 active automati-quement la protection du logiciel. Vous ne pouvez définir un nouveau mot de passe qu’après effacementdu précédent.

Désactivation de la protectiondu logiciel

L’effacement du mot de passe désactive automatiquement la protecti-on du logiciel.Pour effacer un mot de passe, vous devez communiquer ce dernier auprogramme système via BS 120.

5 tentatives d’effacement aumaximum

Le programme système refuse et comptabilise les tentatives d’efface-ment du mot de passe si vous indiquez un mot de passe erroné. Aprèscinq tentatives au maximum, il suspend le traitement du mot de passe.L’effacement du mot de passe n’est alors à nouveau possible qu’aprèsun démarrage.Le compteur de tentatives infructueuses est remis à zéro lors de l’ef-facement réussi du mot de passe ou lors d’un démarrage.

Procédures de définition etd’effacement du mot de passe

Vous définissez ou effacez le mot de passe – et activez ou désactivezainsi la protection du logiciel – en écrivant un profil binaire déterminé(voir plus loin "Ecriture de BS 120") dans le mot de données systèmeBS 120 :

•• à l’aide du programme STEP 5

•• ou à l’ aide d’un contrat de lecture d’adresse de la PG.

NotaA la livraison de la CPU et après un effacement général, le mot depasse est effacé et la protection du logiciel désactivée.

Affectation des bits des mots de données système

Programmation de la CPU 948C79000-G8577-C848-04 8 - 35

Page 360: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Moments d’activation ou dedésactivation de la protectiondu logiciel

Vous pouvez définir un mot de passe à tout moment. Toutefois, laprotection du logiciel n’est alors activée qu’à des moments précis :

•• en arrêt partiel :une fois après l’ appel de l’OB 38 1,cycliquement avant l’appel de l’OB 39 1 ;

•• pendant la mise en route :une fois après l’appel des OB 20, 21 et 22 de mise en route ;

•• en état de marche RUN :cycliquement avant l’appel de l’OB 1.

Ecriture de BS 120 Pour activer la protection du logiciel, vous écrivez le profil binaire cor-respondant à la fonction à exécuter dans le mot de données systèmeBS 120. Le tableau suivant décrit comment constituer ce profil binaire.

Adresse : E F078H

Octet de poids fort

Bit Contenu

15 Bit d’action : 1 = exécution de la fonction

14 Bit de fonction : 1 = définition d’un mot de passe0 = effacement du mot de passe

13

Bits 8 à 13 du mot de passe de 14 bits

12

11

10

9

8

Octet de poids faible

7

Bits 0 à 7 du mot de passe de 14 bits

6

5

4

3

2

1

0

1 La demande est traitée, que l’OB 38 ou 39 soit chargé ou non. Il est ainsi possible d’activer la protection du logiciel à l’arrêt.

Tableau 8-17 Occupation de BS 120 (protection du logiciel) pour l’ écriture

Affectation des bits des mots de données système

Programmation de la CPU 9488 - 36 C79000-G8577-C848-04

Page 361: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Lecture de BS 120 Le programme système renvoie un code dans le mot de données sy-stème BS 120 lorsqu’il a exécuté un contrat de protection du logiciel.

L’exploitation de ce code vous permet d’obtenir des informations surla réussite de ce contrat.

Adresse : E F078H

Octet de poids fort

Bit Contenu

15 0

14 Bit d’erreur : 0 = pas d’erreur, 1 = erreur

13 0

12 0

11 0

10 Compteur binairedestentatives d’effacement

9

8

Octet de poids faible

7 0

6 0

5 0

4 1 = Aucun mot de passe actif

3 1 = Effacement interdit car mot de passe erroné

2 1 = Protection du logiciel par mot de passe déjà activée

1 1 = Mot de passe interdit

0 1 = Débordement du compteur de tentatives

Tableau 8-18 Occupation de BS 120 (protection du logiciel) pour la lecture

Affectation des bits des mots de données système

Programmation de la CPU 948C79000-G8577-C848-04 8 - 37

Page 362: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Codes renvoyés par leprogramme système

Ind ication Signif ication

0000H Pas d’erreur

4x01H Le compteur des tentatives d’effacement a débordé. Un démarrage est nécessaire pour leremettre à 0.

4x02H Mot de passe interdit (0000H ou 3FFFH)

4x04H Vous avez tenté d’activer un nouveau mot de passe alors que la protection du logiciel étaitdéjà activée (x = nombre de tentatives d’effacement).

4x08H Vous avez essayé d’effacer le mot de passe défini – et donc de désactiver la protection dulogiciel – à l’ aide d’un mot de passe erroné. Le compteur des tentatives d’effacement a étéincrémenté. La valeur "x" du compteur est renvoyée avec le code (nombre binaire dans lesbits 8 à 10).

4010H Vous avez essayé d’effacer un mot de passe inexistant.

Meilleur moment d’activationde la protection du logiciel

La protection est la plus effi cace lorsque vous activez la protection dulogiciel dans l’OB 38 ou 39 (arrêt partiel). Ainsi, la protection est im-médiatement active après l’effacement général même avec une carte àmémoire enfichée.

Réactions en cas d’atteinte àla protection du logiciel

Une fois la protection du logiciel activée, le programme système réa-git comme décrit dans le tableau suivant si des contrats de la PG por-tent atteinte à cette protection.

Fonction PG Réaction à la PG

Effacement de blocs Message : "Type/numéro de bloc ill icite"

Lecture de blocs Lecture d’un bloc fictifFB/FX :

Numéro de FBNOM :DUMMY

:BE

DB/DX : DW0 6500

OB/PB/SB ::BE

Ecriture de blocs (bloc inexistant)

Le bloc est écrit.

Substitution de blocs (bloc existant)

Message : "Bloc existe déjà"Si vous acquittez avec la touche de validation, le message "Type/numéro debloc illicite" est émis.

Affectation des bits des mots de données système

Programmation de la CPU 9488 - 38 C79000-G8577-C848-04

Page 363: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemples d’écriture et delecture de BS 120

Act i vat i on de l a pr ot ect i on du l ogi c i el dans l es OB de mi se en r out e

I l est r ecommandé d’ act i ver l a pr ot ect i on du l ogi c i el par pr ogr amme dans undes OB de mi se en r out e ( OB 20, OB 21, OB 22, OB 38) .

:: L KH C0AF KH = pr of i l bi nai r e " déf i ni t i on de mot de passe": ( mot de passe = 00AFH):T BS 120:

Expl oi t at i on du code r envoyé dans BS 120

La séquence d’ i nst r uct i ons STEP 5 ci - apr ès dans l ’ OB 1 ou l ’ OB 39 v ousper met de r éagir à une er r eur sur venue l or s de l a déf i ni t i on du mot de passeen expl oi t ant l e code r envoyé par l e pr ogr amme syst ème.N’ oubl i ez p as q ue ce code ne peut ê t re expl oi t é q u’ apr ès cer t ai nes act i onsdu pr ogr amme syst ème ( voi r pl us haut ) .

::L BS 120:L KB 0: ><F: SPB FB yyy Appel er l e bl oc f onct i onnel de t r ai t ement d’ er r eur

NOM : ERREUR MP:

Ef f acement et modi f i cat i on du mot de passe à l a PG par l a f onct i on del ect ur e d ’ adr esse

Si t uat i on de dépar t : la CPU se t r ouve en ét at de mar che RUN ou à l ’ ar r êt.

Exécut ez l es opér at i ons sui vant es à la PG :

1) Demandez l a l ect ur e du cont enu de l ’ adr esse E F078H.

2) Ef f acez l ’ anc i en mot de passe en subst i t uant à ce cont enu l e nombr e hexadéci mal 80AFH ( 00AFH = anci en mot de passe).

3) At t endez au moi ns aussi l ongt emps que l e t emps de cyc l e de l ’ OB 39 ou de l ’ OB 1.

4) Demandez à nouveau l a l ect ur e du cont enu de l ’ adr esse E F078H.

5) Ent r ez l e nouveau mot de passe 1234H en y i nscr i vant l e nombr e hexadéci mal D 234H.

Affectation des bits des mots de données système

Programmation de la CPU 948C79000-G8577-C848-04 8 - 39

Page 364: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Données systèmeBS 136 à BS 137

Pour la fonction d’autotest

Les mots de données système BS 136 et BS 137 sont utilisés pour lafonction d’autotest.

BS 136 Nombre de tranches horaires (adresse : E F088H)

BS 137 Bits de commande (adresse : E F089H)

Les bits de commande permettent d’activer ou de désactiver les foncti-ons d’autotest (cf. paragraphe 5.7).Bit = "1" : fonction d’autotest activéeBit = "0" : fonction d’autotest désactivée

Octet de poids fort

Bit Contenu

15 Test de la mémoire

14 libre

13 Test de la surveillance du temps de cycle

12 libre

11 Test du signal BASP

10 Test d’horloge

9 libre

8 libre

Octet de poids faible

7 Test des lignes d’adresses

6 libre

5 Test du code des blocs de code STEP 5 dans la mémoire utilisateur

4 libre

3 libre

2 Test du code du programme système

1 libre

0 libre

Tableau 8-19 Occupation de BS 137 (bits de commande pour fonctionsd’autotest)

Affectation des bits des mots de données système

Programmation de la CPU 9488 - 40 C79000-G8577-C848-04

Page 365: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Donnée système BS 139 Temps de cycle écoulé lors du redémarrage de la surveillance

Adresse : E F08BH

Ce mot de données système contient le temps de cycle écoulé depuisle dernier point de contrôle système (début de l’OB 1) jusqu’au re-démarrage de la surveillance du temps de cycle via l’OB 222 (sil’OB 222 est appelé plusieurs fois dans le cycle, jusqu’au dernier re-démarrage de la surveillance du temps de cycle).

La valeur de temps est de : contenu de BS 139 * 10 ms.

Donnée système BS 253 Liste des coupleurs enfichés

Adr esse : E F0FDH

Octet de poids fort

Bit Contenu

15

réservé14

13

12

11 Coupleur numéro 11

10 Coupleur numéro 10

9 Coupleur numéro 9

8 Coupleur numéro 8

Octet de poids faible

7 réservé (coupleur numéro 8)

6 réservé (coupleur numéro 7)

5 réservé (coupleur numéro 6)

4 réservé (coupleur numéro 5)

3 réservé (coupleur numéro 4)

2 réservé (coupleur numéro 3)

1 réservé (coupleur numéro 2)

0 réservé (coupleur numéro 1)

Tableau 8-20 Occupation de BS 253 (liste des coupleurs enfichés)

Affectation des bits des mots de données système

Programmation de la CPU 948C79000-G8577-C848-04 8 - 41

Page 366: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

8.3.6Zone de données systèmelibreme nt adressab le

L’espace mémoire E 8200H à E DEF0H est utilisé par le programmesystème comme zone de données système librement adressable.

Rubrique d’identification del’automate

Au début de cette zone se trouve une rubrique d’information de12 mots dans laquelle figure l’ identification de l’automate :

Mot

0 "A" "G" E 8200H

1 "1" "5" E 8201H

2 "5" "U" E 8202H

3 "C" "P" E 8203H

4 "U" "9" E 8204H

5 "4" "8" E 8205H

6 "V" "x" E 8206H

7 "." "y" E 8207H

8 0

9 0

10 0

11 0 E 820BH

"x" et "y" correspondent à la version en cours.

Zone de données système librement adressable

Programmation de la CPU 9488 - 42 C79000-G8577-C848-04

Page 367: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Paramètres système A partir de l’adresse E 8210H figurent les paramètres système suivants :

Mot

0 Adresse de début conformateur de signaux d’entrée E 8210H

1 Adresse de début conformateur de signaux de sortie E 8211H

2 Adresse de début de la mémoire image des entrées E 8212H

3 Adresse de début de la mémoire image des sorties E 8213H

4 Adresse de début des mémentos E 8214H

5 Adresse de début des temporisateurs E 8215H

6 Adresse de début des compteurs E 8216H

7 Adresse de début des données système E 8217H

8 Indicatif d’état Version du logicielde l’ automate

E 8218H

9 Adresse de fin de la mémoire utilisateur E 8219H

10 Mémoire du programme système E 821AH

11 Longueur de la liste des blocs DB E 821BH

12 Longueur de la liste des blocs SB E 821CH

13 Longueur de la liste des blocs PB E 821DH

14 Longueur de la liste des blocs FB E 821EH

15 Longueur de la liste des blocs OB E 821FH

16 Longueur de la liste des blocs FX E 8220H

17 Longueur de la liste des blocs DX E 8221H

18 Longueur de la liste d’adresses (DB 0) E 8222H

19 ID d’emplacement (voir ci-après)

Identificateur de CPU 2(voir ci-après)

E 8223H

20 Longueur de l’en-tête de bloc E 8224H

21 Identif icateur de CPU 1(voir ci-après)

Version du logicielde couplage PG

E 8225H

Vous pouvez également obtenir les informations concernant certainesdonnées système (structure interne de la CPU, version du logiciel,identifi cateur de la CPU, etc.) à l’aide de la fonction PG en ligne"Paramètres système".

Zone de données système librement adressable

Programmation de la CPU 948C79000-G8577-C848-04 8 - 43

Page 368: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Mot 19 et mot 21 Structure des mots 19 et 21

Mot 19

Bit Occupation de l’ octet de poids fort

15 0

14 0

13 0

12 0

11 Identificateur d’emplacement de la CPU 4

10 Identificateur d’emplacement de la CPU 3

9 Identificateur d’emplacement de la CPU 2

8 Identificateur d’emplacement de la CPU 1

Occupation de l’ octet de poids faible

7 Type de CPU :0010 = CPU 948(valable exclusivement en liaison avec l’ identifi-cateur de CPU)

6

5

4

3 Identificateur de CPU 2 :1000 = S5-155U

2

1

0

Zone de données système librement adressable

Programmation de la CPU 9488 - 44 C79000-G8577-C848-04

Page 369: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Mot 21

Bit Occupation de l’ octet de poids fort

15 réservé

14

13

12

11

10

9

8

Bit Occupation de l’ octet de poids faible

7

Version du logiciel de couplage de la PGsous la forme "xyH"

Exemple :13H correspond à la version "V1.3".

6

5

4

3

2

1

0

Zone de données système librement adressable

Programmation de la CPU 948C79000-G8577-C848-04 8 - 45

Page 370: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Zone de données système librement adressable

Programmation de la CPU 9488 - 46 C79000-G8577-C848-04

Page 371: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire du chapitre 9

9.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 4

9.2 Accès à la mémoire par adressage dans l’ACCU 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 8

9.2.1 LIR et TIR : Chargement et transfert indirects de registres de 16 bits . . . . . . . . . . . . . . 9 - 99.2.2 Exemples d’accès à des DW supérieurs à 255 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 159.2.3 LDI et TDI : Chargement et transfert indirects de registres de 32 bits . . . . . . . . . . . . . 9 - 17

9.3 Transfert de blocs de mémoire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 19

9.4 Opérations avec le registre d’adresse de base BR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 22

9.4.1 Opérations de transfert entre registres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 239.4.2 Accès à la mémoire locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 249.4.3 Accès à la mémoire commune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 259.4.4 Accès aux pages de mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 29

9Accès à la mémoire par les adresses absolues

Programmation de la CPU 948C79000-G8577-C848-04 9 - 1

Page 372: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire

Programmation de la CPU 9489 - 2 C79000-G8577-C848-04

Page 373: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

9Accès à la mémoire par les adresses absolues

Le présent chapitre décrit comment vous pouvez accéder par desadresses absolues à des données se trouvant dans certaines zones demémoire, en utilisant des instructions STEP 5 ainsi que des registresspéciaux de STEP 5.

Programmation de la CPU 948C79000-G8577-C848-04 9 - 3

Page 374: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

9.1 Introduction

Le langage de programmation STEP 5 comprend des opérations sy-stème à l’aide desquelles il est possible d’accéder à l’ensemble del’espace d’adressage.

Les opérations décrites ci-après utilisent des adresses absolues sur 20bits et dépendent donc de la taille de la mémoire, du type de mémoire,de la périphérie, ainsi que des processeurs de communication, des car-tes périphériques intelligentes, etc., utilisés dans l’automate program-mable.

AttentionUne utilisation non conforme de ces opérations peut entraînerl’altération de blocs STEP 5 ainsi que de données système. Celapeut avoir pour conséquence des états de fonctionnementintempestifs. C’est pourquoi les opérations système utilisant des adressesabsolues ne doivent être employées que par des utilisateurs ayantde très bonnes connaissances du système.

Mémoire locale On désigne par mémoire locale la zone de mémoire présente surchaque CPU (mémoire utilisateur, zones BA, BB, BS, BT, compteurs,temporisations, mémentos, mémoire image).

Mémoire commune Cette mémoire – également désignée par mémoire globale – est com-mune à toutes les CPU ; on y accède par le bus S5.

Organisation de la mémoire Les zones de mémoire sont organisées par octets ou par mots.

•• Organisation par octets : chaque adresse porte sur un octet.

•• Organisation par mots : chaque adresse porte sur un mot de 16 bits(2 octets).

L’organisation de la mémoire locale est prédéfinie (voir chapitre 8).

L’organisation de la mémoire commune dépend du type des cartes en-fichées.

Introduction

Programmation de la CPU 9489 - 4 C79000-G8577-C848-04

Page 375: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

015

pages

7

1024 octets/mots2048 octets/mots

F 0000H

F F000H

F F400H

F FC00H

F FE00H

F FFFFHF FEFFH

F EFFFH

Registre d´adresse de page(registre de sélect ion)

externe, commune, unique,adressable par le bus S5(une par automate)

interne, locale,mul t ip le(suivant le nombrede CPU enf ichées)

715 00 0000H

E FBFFHE FC00H

E FFFFHFFH

0715 0

255

2

10

Figure 9-1 Mémoires locale et commune

Introduction

Programmation de la CPU 948C79000-G8577-C848-04 9 - 5

Page 376: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Accès à la mémoire Les instructions ci-après permettent d’accéder aux zones de mémoirelocale et commune par des adresses absolues (voir aussi figure 9-2).

Accès aux zones locale et commune

Vous pouvez accéder aussi bien à la zone locale qu’à la zone commu-ne :

•• à la zone locale (adresses 0 0000H à E FFFFH) et à la zone com-mune (adresses F 0000H à F FFFFH) par :

LIR, TIR, LDI, TDI, TNW, TXB, TXW,

•• à la partie organisée par mots (adresses 0 0000H à E FBFFH) ou àcelle organisée par octets (adresses E FC000 à E FFFF) de la zonelocale par :

LRW, TRW, LRD, TRD.

Accès uniquement à la zone commune

Vous pouvez accéder aux parties suivantes de la zone commune :

•• à la partie de la zone commune organisée par octets (adressesF 0000H à F FFFFH) par :

LB GB, LB GW, LB GD, TB GB, TB GW, TB GD, TSG,

•• à la partie de la zone commune organisée par mots (adressesF 0000H à F FFFFH) par :

LW GW, LW GD, TW GW, TW GD, TSG .

Accès à la zone des pages Vous pouvez accéder aux parties suivantes de la zone des pages :

•• à la partie de la zone commune organisée par octets (adressesF F400H à F FBFFH = zone des pages) :

LB CB, LB CW, LB CD, TB CB, TB CW, TB CD, TSC,

•• à la partie de la zone commune organisée par mots (adressesF F400H à F FBFFH = zone des pages) :

LW CW, LW CD, TW CW, TW CD, TSC.

Introduction

Programmation de la CPU 9489 - 6 C79000-G8577-C848-04

Page 377: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Accès impossible Accès possible

c) LB GB, LB GW, LB GD,

e) LB CB, LB CW, LB CD,TB CB, TB CW, TB CD, (TSC)

f) LW CW, LW CD,TW CW, TW CD, (TSC)

TB GB, TB GW, TB GD, (TSG)d) LW GW, LW GD,

TW GW, TW GD, (TSG)

b) LRW, TRW, LRD, TRDa) LIR, TIR, LDI, TDI, TNW, TXB, TXW

L´accès en fonctionnementmultiprocesseur peutentraîner des erreurs.

Figure 9-2 Accès aux zones de mémoire locale ou commune par des adresses absolues

Introduction

Programmation de la CPU 948C79000-G8577-C848-04 9 - 7

Page 378: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

9.2 Accès à la mémoire par adressage dans l’ACCU 1

Application Les opérations décrites dans ce paragraphe conviennent tout particu-lièrement à l’accès aux blocs de données et autres zones d’opérandes.Il est cependant recommandé de ne pas utiliser ces opérations pour ac-céder à des blocs contenant des programmes STEP 5 (OB, FB, PB etSB).

Pour l’accès à la mémoire, vous pouvez utiliser divers registres de 16ou 32 bits. Parmi ces registres, on a les accumulateurs 1 à 4 ainsi qued’autres registres spéciaux utilisés par la CPU comme ressources.

Opérations

Opération Opérande Fonction

LIR Registre

0 à 15

Chargement du contenu d’un mot demémoire adressé (20 bits) par l’ACCU 1dans le registre de 16 bits

TIR Registre

0 à 15

Chargement du contenu du registre de16 bits dans un mot de mémoire adressé(20 bits) par l’ACCU 1

LDI Nom du

registre

Chargement du contenu des mots de mémoire "n" et "n+1" adressés (20 bits)par l’ACCU 1 dans le registre de 32 bits

TDI Nom du

registre

Chargement du contenu du registre de32 bits dans les mots de mémoire "n" et"n+1" adressés (20 bits) par l’ACCU 1

L’adresse absolue du mot de mémoire ou du premier des deux mots demémoire est toujours indiquée de la façon suivante dans l’ACCU 1 :

Les pages suivantes contiennent des explications sur les registres quevous pouvez utiliser pour ces opérations.

Vous trouverez ensuite quelques exemples vous expliquant commentappliquer ces opérations.

Tableau 9-1 Opérations pour l’accès indirect à la mémoire par registres

BitACCU 1-H ACCU 1-L

31 20 19 16 15 0

0 Bits d´adresse Bits d´adresse 0 à 1516 à 19

Accès à la mémoire par adressage dans l’ACCU 1

Programmation de la CPU 9489 - 8 C79000-G8577-C848-04

Page 379: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

9.2.1LIR et TIR : Chargement ettransfert indirects deregistres de 16 bits

Le tableau suivant indique quels registres de la CPU 948 vous pouvezutiliser pour les opérations LIR et TIR, ainsi que leur contenu.

Registre Contenu du registre (16 bits)

0 ACCU 1-H (mot de gauche de l’ACCU 1, bits 16 à 31)1

1 ACCU 1-L (mot de droite de l’ACCU 1, bits 0 à 15)1

2 ACCU 2-H

3 ACCU 2-L

5 Pointeur de la pile des blocs (offset)

6 DBA (adresse de début du bloc de données)

8 DBL (longueur du bloc de données)

9 ACCU 3-H

10 ACCU 3-L

11 ACCU 4-H

12 ACCU 4-L

1 Si le contenu de la cellule de mémoire adressée doit être chargé dans le registre 0 ou 1, l’adresse figurant dans l’ACCU 1 est écrasée.

Les registres 4, 7, 13, 14 et 15 n’existent pas pour la CPU 948. Il nefaut donc pas utiliser d’opérations LIR et TIR avec ces numéros de re-gistre.

LIR et TIR sur des zones demémoire de 8 bits

Lorsque vous accédez à l’aide de LIR ou TIR à des zones de mémoireorganisées par octets, sachez :

•• que, pour LIR, l’octet de poids fort du registre prend des valeursnon définies (excepté les mémentos, MIE et MIS où les octets depoids fort reçoivent la valeur FFH)

et

•• que, pour TIR, seul l’octet de poids faible du registre est transféré(l’octet de poids fort est perdu).

Les figures 9-3 et 9-4 mettent en évidence les différences lors des ac-cès par LIR et TIR à des zones de mémoire organisées par mots et paroctets.

Tableau 9-2 Registres de 16 bits pour LIR et TIR

Accès à la mémoire par adressage dans l’ACCU 1

Programmation de la CPU 948C79000-G8577-C848-04 9 - 9

Page 380: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

15 0

Registre n

Registre n

19 0

19 0

ACCU 1

ACCU 1

Cel lu le mémoireadressée

Cel lu le mémoireadressée

15 0

LIR n

TIR n

15 0

Figure 9-3 LIR et TIR sur des zones de mémoire de 16 bits (organisées par mots)

15 0

Registre n

Registre n19 0

19 0

ACCU 1

ACCU 1

Cel lu le mémoireadressée

Cel lu le mémoireadressée

15 0

LIR n

x x

x x

TIR n

7 0

Figure 9-4 LIR et TIR sur des zones de mémoire de 8 bits (organisées par octets)

Accès à la mémoire par adressage dans l’ACCU 1

Programmation de la CPU 9489 - 10 C79000-G8577-C848-04

Page 381: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Registres 0 à 3 et 9 à 12 :ACCUS 1, 2, 3 et 4

Lors du traitement du programme, la CPU utilise les accumulateurscomme mémoire intermédiaire. A l’aide des instructions TIR et LIR,vous pouvez transférer le contenu des accumulateurs dans des cellulesde mémoire à adressage absolu ou charger dans les accumulateurs lecontenu de telles cellules. L’adresse absolue de la cellule de mémoirefigure dans les bits 0 à 19 de l’ACCU 1.

Exemples

Registre 6 : DBA (adresse dedébut du bloc de données)

Lors de l’appel d’un bloc de données par les instructions A DB etAX DX, l’adresse du DW 0 du bloc de données ouvert est chargéedans le registre 6. Cette adresse se trouve dans la liste des adresses deblocs dans le DB 0. Le registre DBA est mis à "0" avant chaque appel de l’OB 1.

Le contenu du registre DBA est conservé :

•• si, par une instruction de saut (SPA ou SPB), le traitement du pro-gramme est poursuivi dans un autre bloc

ou

•• si un autre niveau de traitement de programme est appelé.

Le contenu de la cellule de mémoire d’adresse E F800 est chargé dans le motde mémentos MW 100.

:L DH 000E F800 Charger l’adresse E F800 de la cellule de mémoire dans : l’ACCU 1:LIR 1 Charger le contenu de la cellule de mémoire adressée : par l’ACCU 1 dans le registre 1 = ACCU 1-L:T MW 100 Inscrire le contenu de l’adresse E F800 dans le mot de : mémentos MW 100:BE

Le contenu du mot de mémentos MW 200 est transféré dans la cellule demémoire d’adresse E F800.

:L MW 200 Charger le mot de mémentos MW 200 dans l’ACCU 1:L DH 000E F800 Charger dans l’ACCU 1 l’adresse E F800 vers laquelle: doit s’effectuer le transfert (mot de mémentos MW 200 : vers ACCU 2):TIR 3 Transférer le contenu du registre 3 = ACCU 2-L dans : la cellule de mémoire adressée par l’ACCU 1.:BE

Accès à la mémoire par adressage dans l’ACCU 1

Programmation de la CPU 948C79000-G8577-C848-04 9 - 11

Page 382: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Son contenu est modifié :

•• quand un autre bloc de données est ouvert

ou

•• lorsqu’il y a retour à un bloc de niveau supérieur alors qu’un nou-veau bloc de données avait été ouvert dans le bloc appelé (voir aus-si paragraphe 2.4.2).

Exemple

Effet de l’opération "AX DX 17" sur le registre DBA

Lors de l’appel du DX 17, l’adresse du mot de mémoire dans lequel se trouveDW 0 est inscrite dans le registre DBA. Dans l’exemple, DBA = 4152H.

Nota : L’adresse inscrite dans le registre DBA est indiquée sous "Adr.DB" dans la pile des interruptions.

En-tête de bloc

de 5 mots

KH = 0000

KH = 0001

4 151BH

4 151CH

4 151DH

4 151EH

4 151FH

4 1520H

4 1521H

4 1522H

DW 0 (sur adresse de paragraphe)

DW 1

DW 2

DBA

AdressesDX 17

.

.

.

Figure 9-5 Utilisation du registre DBA

Accès à la mémoire par adressage dans l’ACCU 1

Programmation de la CPU 9489 - 12 C79000-G8577-C848-04

Page 383: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Registre 8 : DBL (longueur dubloc de données)

A chaque appel d’un bloc de données, le registre DBL est chargé enplus du registre DBA. Ce registre contient la longueur (en mots) dubloc de données appelé, en-tête de bloc non compris. Le registre DBL est mis à "0" avant chaque appel de l’OB 1.

Le contenu du registre DBL est conservé :

•• si, par une instruction de saut (SPA ou SPB), le traitement du pro-gramme est poursuivi dans un autre bloc

ou

•• si un autre niveau de traitement de programme est appelé.

Il est modifié :

•• quand un autre bloc de données est ouvert

ou

•• lorsqu’il y a retour à un bloc de niveau supérieur alors qu’un nou-veau bloc de données avait été ouvert dans le bloc appelé (voir aus-si paragraphe 2.4.2).

NotaPour accéder à des adresses de blocs de données supérieures à255, vous pouvez modifier les registres DBA et DBL avec desopérations LIR. Le registre DBA contient des adresses deparagraphe. Une modification du registre DBA n’entraînecependant pas la modification automatique du registre DBL etréciproquement. La détection des erreurs de transfert n’est dece fait plus garantie.

Dans la CPU 948, les modifications effectuées sur le registreDBA ou DBL sont annulées dès que le traitement du bloc encours est terminé (entrées dans la pile des blocs). Ainsi, lesmodifications des registres DBA et DBL n’ont d’effet que dans lebloc dans lequel elles ont été exécutées.

Accès à la mémoire par adressage dans l’ACCU 1

Programmation de la CPU 948C79000-G8577-C848-04 9 - 13

Page 384: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple

Effet de l’opération "AX DX 17" sur le registre DBL

A l’appel du DX 17, le nombre des mots de données disponibles est inscritdans le registre DBL. Dans cet exemple, DBL = 8 (DW 0 à DW 7).

Nota : Le nombre inscrit dans le registre DBL est indiqué sous "Reg.DBL"dans la pile des interruptions.

de 5 mots

En-tête de bloc

eeee

ffff

gggg

aaaa

bbbb

cccc

dddd

hhhh

4 151BH

4 151CH

4 151DH

4 151EH

4 151FH

4 1520H

4 1521H

4 1522H

4 1523H

4 1524H

4 1525H

4 1526H

4 1527H

DW 0

DW 1

DW 2

DW 3

DW 4

DW 5

DW 6

DW 7

DBA

DBL

AdressesDX 17

Figure 9-6 Utilisation du registre DBL

Accès à la mémoire par adressage dans l’ACCU 1

Programmation de la CPU 9489 - 14 C79000-G8577-C848-04

Page 385: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

9.2.2Exemples d’accès à desDW supérieurs à 255

Exemple 1

Le contenu du mot de données DW 300 dans le DB 100 doit être lu, puistransféré dans le mot de mémentos MW 100. En modifiant les instructions STEP 5imprimées en caractères gras, vous pouvez également utiliser ce segment pourla lecture d’autres blocs de données (DB ou DX).

FB 5

SEGMENT 1 0000 Lecture du DW 300 du DB 100NOM :LIR DW

0005 :L DH 000E EC00 Adresse de début de la liste des DB0008 :L KF +100 ainsi que du numéro de DB000A :+D = entrée du DB 100 dans la liste000B : d’adresses (bits 4 à 19)000C :LIR 1 Adresse de début du DB 100 vers l’ACCU 1000D :SLD 4 Conversion de l’adresse en adresse physique000E :L KF +300 Le DW 300 doit être lu.0010 :+D Adr. = adresse de début du DB + adr. du DW0011 :LIR 1 Contenu du DW 300 vers l’ACCU 10012 :T MW 100 Sauvegarde dans MW 1000013 :BE

Exemple 2

Une constante doit être affectée à chaque mot de données d’un bloc de données.

Le programme ci-dessous affecte la constante KH = A5A5 à chaque mot dedonnées du DB 100. En modifiant les instructions STEP 5 imprimées encaractères gras, vous pouvez également utiliser ce programme pour affecterdes valeurs quelconques à d’autres blocs de données (DB ou DX). Les blocsde données manquants sont décelés et provoquent un saut à la marque NIVO.

Le programme utilise trois accumulateurs dont le contenu ne change pasdurant la boucle. L’ACCU 1 contient d’abord l’adresse du premier mot de données, puis estincrémenté de "1" à chaque nouveau passage de la boucle.L’ACCU 2 contient l’adresse du dernier mot de données + 1. La boucle estinterrompue dès que le contenu de l’ACCU 1 est égal à celui de l’ACCU 2.

Pour l’opération d’écriture dans les mots de données, on utilisel’instruction TIR 10 qui sauvegarde le contenu de l’ACCU 3-L (la constante)sous l’adresse se trouvant dans l’ACCU 1.

Contenu des ACCUS durant la boucle

ACCU 1 : adresse du mot de données actuel où écrire ACCU 2 : adresse du dernier mot de données où écrire + 1ACCU 3 : constante

Suite à la page suivante

Accès à la mémoire par adressage dans l’ACCU 1

Programmation de la CPU 948C79000-G8577-C848-04 9 - 15

Page 386: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite de l’exemple 2

Contenu des mémentos

MW 10 : bits 4 à 19 de l’adresse de début du DB/DX (pointe sur le DW 0)MW 12 : longueur du DB/DX (nombre de mots de données)MD 14 : adresse du dernier mot de données présent dans le DB/DX + 1

(adresse physique)

FB 6

SEGMENT 1 0000 Inscription d’une constante dans un DBNOM :INSCR DB0005 : ! mémentos requis : MB 10 à MB 17 !0006 :L DH 000E EC00 Adresse de début de la liste des DB0009 :L KF +100 ainsi que du numéro de DB000B :+D = entrée du DB 100 dans la liste d’adresses000C : (bits 4 à 19)000D :LIR 1 Adresse de début du DB 100 vers l’ACCU 1000E :T MW 10 Mémorisation intermédiaire de l’adresse de début000F :L KB 0 (adresse de paragraphe)0010 :!=F Lorsque l’adresse de début = 0, le DB est0011 :SPB =NIVO inexistant0012 :0013 :L MW 10 Adresse de début du DB (1 er DW)0014 :SLD 4 Convertir l’adresse en adresse physique0015 :L KB 1 Indication de la longueur de DB par0016 :-D le 5 ème mot de l’en-tête de bloc0017 :LIR 1 Nombre, en-tête compris, vers l’ACCU 10018 :ADD BF -5 Longueur DW = longueur totale - 5 mots0019 : (en-tête de bloc)001A :T MW 12 Sauvegarde intermédiaire de la longueur001B :001C :L MW 12 Nombre de mots de données +001D :L MW 10 adresse de début (DW 0 – convertie en001E :SLD 4 adresse physique –) 001F :+D donne0020 :T MD 14 adresse du dernier DW + 10021 :

0022 :L KH A5A5 Constante à attribuer à chaque mot de données0024 : 0025 :L MD 14 Adresse du dernier DW + 10026 :ENT Décaler la constante dans l’ACCU 3-L0027 : (= registre 10)0028 :L MW 10 Adresse du 1 er mot de données (DW 0)0029 :SLD 4 La convertir en adresse physique002A :002B BOUCL : Boucle :002C : ACCU 1 : adresse du DW où écrire002D : ACCU 2 : adresse du dernier DW + 1002E : ACCU 3 : constante002F :TIR 10 Sauvegarder la valeur de l’ACCU 3-L dans le DW0030 : avec l’adresse se trouvant dans l’ACCU 10031 :0032 :ADD DH 0000 0001 Incrémenter l’adresse de "1"0035 :0036 :><D Interrogation si le dernier DW est atteint0037 :SPB =SCHL (si ce n’est pas le cas, retour dans la boucle)0038 :0039 SUITE : Suite du programme ...003A : après écriture dans tous les DW ...003B :003C :BEA003D :003E NIVO : Si le DB 100 n’existe pas003F :BE

Accès à la mémoire par adressage dans l’ACCU 1

Programmation de la CPU 9489 - 16 C79000-G8577-C848-04

Page 387: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

9.2.3LDI et TDI : Chargement ettransfert indirects deregistres de 32 bits

Le tableau suivant indique quels noms de registre vous pouvez utiliseravec la CPU 948 pour les opérations LDI et TDI, ainsi que leurcontenu.

Nom du registre

Contenu du registre (32 bits)

A1 ACCU 1 (ACCU1, bits 0 à 31) 1

A2 ACCU 2 (ACCU1, bits 0 à 31)

SA Compteur d’adresse STEP (bits 0 à 19)

BA Registre BA (adresse de début de bloc, bits 0 à 19)

BR Registre BR (registre d’adresses de base, bits 0 à 19)

1 Si le contenu de la cellule de mémoire adressée doit être chargé dans le registre A1, l’adresse figurant dans l’accumulateur 1 est écrasée.

Adresses d’octets Si les opérations LDI et TDI accèdent à des zones de mémoireorganisées par octets, sachez :

•• que, pour LDI, les octets de poids fort du registre adressé prennentdes valeurs non définies (excepté les mémentos, MIE et MIS oùles octets de poids fort reçoivent la valeur FFH)

et

•• que, pour TDI, seuls les octets de poids faible du registre adressésont transférés (les octets de poids fort sont perdus ; voir l’exempleà la page suivante).

Stockage des données pourLDI et TDI

Tableau 9-3 Registres de 32 bits pour LDI et TDI

Registre depoids fort

Registre depoids faible

31 16 15

15

DW n

Adresse

DW n+1

0

0

aaaa

aaaa

bbbb

bbbb

Accès à la mémoire par adressage dans l’ACCU 1

Programmation de la CPU 948C79000-G8577-C848-04 9 - 17

Page 388: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Registre SA : CAD (compteurd’adresse STEP)

A la fin du traitement d’une opération, le registre SA contient les 20bits de l’adresse absolue de la prochaine instruction à traiter.

Registre BA :adresse de début de bloc

Pendant le traitement du programme utilisateur STEP 5, le registreBA contient les 20 bits de l’adresse absolue de la prochaineinstruction à traiter dans le bloc immédiatement supérieur dans lahiérarchie d’appel (correspond à l’adresse de retour au bloc appelant).

Registre BR :registre d’adresse de base

Le registre d’adresse de base (20 bits) permet le calcul d’adresses etles opérations indirectes de chargement et de transfert de registressans utilisation des accumulateurs. Vous pouvez l’utiliser librementpendant le traitement du programme STEP 5.

Exemple pour l’opération TDIdans la zone d’octets

:L DH 1234 5678 Charger la donnée:L DH 000E FC00 Charger l’adresse de: l’octet de mémentos MB 0:TDI A2 Sauvegarder le contenu de: l’ACCU 2

E FC00 = 34 Les valeurs "12H" et "56H" deE FC01 = 78 l’ACCU 2 sont perdues.

Accès à la mémoire par adressage dans l’ACCU 1

Programmation de la CPU 9489 - 18 C79000-G8577-C848-04

Page 389: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

9.3 Transfert de blocs de mémoire

Application Les opérations décrites dans ce paragraphe permettent de transférerdes zones de données d’une longueur allant jusqu’à 255 mots se trou-vant dans certaines zones d’adressage.

Opérations

Opération Opérande Fonction

TNW 0 à 255 Transfert d’un bloc de mémoire de 0 à255 mots 1 (dans la zone de mémoire de16 bits)

TXB -- Transfert d’un bloc de mémoire de la zonede mémoire de 8 bits dans la zone demémoire de 16 bits

TXW -- Transfert d’un bloc de mémoire de la zone de mémoire de 16 bits dans la zone demémoire de 8 bits

1 Peut également être utilisée pour des transferts de zone d’octets dans zone d’octets.

Paramètres Longueur de bloc de mémoire

Pour TNW Opérande = nombre de mots (0 à 255)

Pour TXB/TXW ACCU 3 = nombre de mots (0 à 127)

Adresse de fin de la zone source

ACCU 2 = Adresse de fin de la zone source (20 bits)

Adresse de fin de la zone de destination

ACCU 1 = Adresse de fin de la zone de destination (20 bits)

La zone source et la zone de destination ne doivent pas dépasser leslimites des zones de mémoire indiquées dans le tableau 9-5 et nedoivent pas se recouper.

Zones de mémoire autorisées

Adresses Zone de mémoire

0 0000H à C FFFFHMémoire utilisateur :Zone de 16 bits (dépend de l’extension mémoire)

Tableau 9-4 Opérations pour le transfert de blocs de mémoire

Tableau 9-5 Zones de mémoire autorisées pour TNW, TXB et TXW

Transfert de blocs de mémoire

Programmation de la CPU 948C79000-G8577-C848-04 9 - 19

Page 390: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Adresses Zone de mémoire

Suite du tableau 9-5

E 8000H à E 9FFFH

E B000H à E FBFFH

E A000H à E AFFFH

E FC00H à E FFFFH

F 0000H à F FFFFH

RAM système :Données système, 16 bits

Données système (BA/BS, temporisations, compteurs, etc.), 16 bits

Mémentos S, 8 bits, octet de poids faible dans le mot de 16 bits (octet de poids fort non défini)

Mémentos, mémoire image, 8 bits(octet de poids fort = FFH)

Périphérie, 8/16 bits

Reportez-vous également au chapitre 8.

Déroulement Le transfert de blocs de mémoire est effectué de manière décroissan-te : il débute par l’adresse la plus élevée de la zone source (adresse defin) et se termine par l’adresse la plus basse.

TNW, TXB et TXW Les opération TNW, TXB et TXW sont des opérations STEP 5 delongue durée qui ne peuvent être interrompues que par une coupuresecteur (MDT) ou un retard d’acquittement (ACQ).

Particularités

Interruption par coupure secteur

Si l’exécution d’une instruction est interrompue par une coupuresecteur (MDT) et si le système procède ensuite à un redémarrage,l’exécution de l’instruction n’est pas poursuivie au point d’interrupti-on mais est reprise à son début.

Interruption par retardd’acquittement

Si un retard d’acquittement (ACQ) se produit pendant le transfert,l’opération est interrompue et l’OB de réaction aux erreurs correspon-dant est appelé.L’adresse d’erreur indiquée est toujours celle à laquelle a eu lieul’erreur (voir paragraphe 5.6.3).

Transfert de blocs de mémoire

Programmation de la CPU 9489 - 20 C79000-G8577-C848-04

Page 391: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

DAD pendant l’exécution Si une erreur d’adressage (DAD) apparaît une ou plusieurs fois durantle transfert, tous les blocs partiels sont d’abord transférés, puisl’OB 25 est appelé une seule fois avant exécution de l’opération sui-vante.

Exemple

7 0

Adressescroissantes

Octet 5

Octet 6 TXB

TXW

Octet 4Octet 3Octet 2Octet 1

Adresse source/dest inat ion

15 7 0

Adressescroissantes

Adresse source/dest inat ion

Octet 4

Octet 2

Octet 5Octet 6Octet 3Octet 1

8

Figure 9-7 Transfert de blocs de mémoire

TXB et TXW entre zones de mémoire de 8 et 16 bits

Transfert des octets 1 à 6 de la zone de 8 bits dans la zone de 16 bits

:L <longueur du bloc en mots> Ex. :L KH 0003:L <adresse source> :L DH EFC10:ENT :ENT:L <adresse destination> :L DH EF208:TXB :TXB

Transfert des octets 1 à 6 de la zone de 16 bits dans la zone de 8 bits

:L <longueur du bloc en mots> Ex. :L KH 0003:L <adresse source> :L DH EF008:ENT :ENT:L <adresse destination> :L DH EFC10:TXW :TXW

Transfert de blocs de mémoire

Programmation de la CPU 948C79000-G8577-C848-04 9 - 21

Page 392: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

9.4 Opérations avec le registre d’adresse de base BR

Application Le registre d’adresse de base (20 bits) permet le calcul d’adresses etles opérations indirectes de chargement et de transfert de registressans utilisation des accumulateurs.L’accès se fait à la cellule de mémoire dont l’adresse absolue résultede la somme du contenu du registre BR et d’une constante :

adresse absolue = contenu du registre BR + constante

Opérations

Opération Opérande Fonction

MBR

ABR

Constante(0H à F FFFFH)

Constante(-32 768 à+32 767)

Chargement dans le registre BR d’uneconstante de 20 bits

Addition d’une constante de 16 bits aucontenu du registre BR

Modification du registre BR •• Le contenu du registre BR est conservé si, par une instruction desaut (SPA FB ou SPB FB), le traitement du programme est pour-suivi dans un autre bloc du même niveau de traitement de pro-gramme.

•• Le registre BR est conservé si un autre niveau de traitement duprogramme est imbriqué.

•• Le registre BR est mis à "0" à l’appel d’un autre niveau de traite-ment de programme par le programme système.

Tableau 9-6 Opérations de chargement et de calcul avec le registre BR

Opérations avec le registre d’adresse de base BR

Programmation de la CPU 9489 - 22 C79000-G8577-C848-04

Page 393: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

9.4.1Opérations de transfertentre registres

Application Les opérations décrites dans ce paragraphe permettent l’échange rapi-de de valeurs entre les registres ACCU 1 (32 bits), compteur d’adresseSTEP (CAD, 20 bits) et registre d’adresse de base BR (20 bits).

Opérations

Opération Opérande Fonction

MAS

MAB

MSA

MSB

MBA

MBS

--

--

--

--

--

--

Transfert du contenu de l’ACCU 1 dans le compteur d’adresse STEP (20 bits)

Transfert du contenu de l’ACCU 1 dans le registre d’adresse de base (20 bits)

Transfert du contenu du compteurd’adresse STEP (20 bits) dans l’ACCU 1 1

Transfert du contenu du compteur d’adresse STEP (20 bits) dans le registre d’adresse de base (20 bits)

Transfert du contenu du registre d’adressede base (20 bits) dans l’ACCU 1 1

Transfert du contenu du registre d’adresse de base (20 bits) dans le compteur d’adresse STEP (20 bits)

1 Les bits 220 à 231 sont mis à "0".

La figure de la page suivante illustre comment sont modifiés les regi-stres durant l’exécution de ces opérations.

Tableau 9-7 Opérations de registre à registre

Opérations avec le registre d’adresse de base BR

Programmation de la CPU 948C79000-G8577-C848-04 9 - 23

Page 394: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

9.4.2Accès à la mémoire locale

Application Les opérations suivantes permettent d’accéder à la mémoire locale or-ganisée par mots par l’intermédiaire d’une adresse de mémoire abso-lue. L’adresse absolue correspond à la somme du contenu du registred’adresse de base BR et de la constante de 16 bits paramétrée dansl’instruction (-32768 à +32767).

Opérations

Opération Opérande Fonction

LRW

LRD

Constante(-32768 à+32767)

Constante(-32768 à+32767)

Addition de la constante paramétrée au contenu du registre BR et chargement du mot ainsi adressé dans l’ACCU 1-L 1

Addition de la constante paramétrée au contenu du registre BR et chargement du double mot ainsi adressé dans l’ACCU 1 1

TRW Constante(-32768 à+32767)

Addition de la constante paramétrée au contenu du registre BR et transfert ducontenu de l’ACCU 1-L dans le mot ainsi adressé

1 ACCU 2 nouveau = ACCU 1ancien

31

xx 00 00. . . . . . . . . . . .xx

20 19 0

ACCU 1

MAS, MAB MSA, MBA

BR,CAD

BR,CAD

ACCU 1

31 20 19 0

19 0 19 0

MSB MBS

CAD

BR BR

CAD

19 0

19 0 19 0

19 0

Figure 9-8 Opérations de transfert de registre à registre

Tableau 9-8 Opérations pour l’accès à la mémoire locale

Opérations avec le registre d’adresse de base BR

Programmation de la CPU 9489 - 24 C79000-G8577-C848-04

Page 395: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opération Opérande Fonction

Suite du tableau 9-8

TRD Constante(-32768 à+32767)

Addition de la constante paramétrée au contenu du registre BR et transfert ducontenu de l’ACCU 1 dans le double mot ainsi adressé

Réaction aux erreurs Si l’adresse calculée de la cellule de mémoire n’est pas comprise entre0 0000H et E FFFFH, la CPU décèle une erreur de transfert/charge-ment (DTC) et appelle l’OB 32. Si l’OB 32 n’est pas chargé, la CPUse met à l’arrêt en indiquant l’erreur DTC dans la pile des interrupti-ons.

9.4.3Accès à la mémoire commune

Application Les opérations suivantes permettent d’accéder à la mémoire communeorganisée par octets ou par mots par l’intermédiaire d’une adresse demémoire absolue. L’adresse absolue correspond à la somme du conte-nu du registre d’adresse de base BR et de la constante paramétrée dansl’instruction (-32768 à 32767).

Test et positionnementd’une cellule de réser-vation d’accès dans la zone commune

L’accès de plusieurs CPU à une même zone de mémoire peut être gérépar le biais d’une cellule de réservation d’accès. Une telle cellule est as-sociée à chacune des zones de mémoire utilisées ensemble et doit êtretestée par chacune des CPU avant l’accès à une telle zone. La cellule deréservation d’accès contient soit la valeur "0", soit le numéro d’emplace-ment de la CPU qui accède en ce moment à la zone de mémoire et qui,après l’accès, devra écrire la valeur "0" dans la cellule pour libérerl’accès à cette zone de mémoire. A ce sujet, consultez également lesopérations SES/SEF (positionnement et libération de sémaphores) auparagraphe 3.5.5.

L’opération TSG permet de tester et de positionner une cellule de réserva-tion d’accès.

Opération Opérande Fonction

TSG -32768 à+32767

Addition de la constante paramétrée aucontenu du registre BR, puis test et posi-tionnement de la cellule de réservation d’accès ainsi adressée

Opérations avec le registre d’adresse de base BR

Programmation de la CPU 948C79000-G8577-C848-04 9 - 25

Page 396: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Déroulement La cellule de réservation d’accès est constituée par l’octet de poidsfaible du mot adressé par le contenu du registre BR + constante. Si le contenu de cet octet est "0", l’instruction TSG y inscrit le numérod’emplacement de la CPU.

Le test (lecture) et l’éventuelle réservation (écriture) constituent uneunité de programme qui ne peut pas être interrompue.

Résultat Le résultat du test est exploitable par l’intermédiaire des indicateursFL 0 et FL 1.

FL 1 FL 0 Signification

0

1

0

0

0

1

Le contenu de la cellule de réservation d’accès est "0" ; la CPU y inscrit son numéro d’emplacement.

La cellule de réservation d’accès contient le numéro d’emplacement de cette CPU.

La cellule de réservation d’accès contient le numéro d’emplacement d’une autre CPU.

NotaL’opération TSG doit être utilisée par toutes les CPU dont l’accèsà une même zone de mémoire commune doit être coordonné.

Réaction aux erreurs Si l’adresse absolue n’est pas comprise entre F 0000H et F FFFFH, laCPU décèle une erreur de transfert/chargement (DTC) et appellel’ OB 32. Si l’OB 32 n’est pas chargé, la CPU se met à l’arrêt en indi-quant l’erreur DTC dans la pile des interruptions.

Opérations avec le registre d’adresse de base BR

Programmation de la CPU 9489 - 26 C79000-G8577-C848-04

Page 397: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de chargementet de transfert pour lamémoire communeorganisée par octets

Opération Opérande Fonction

LB GB

LB GW

LB GD

TB GB

TB GW

TB GD

-32768 à+32767

-32768 à+32767

-32768 à+32767

-32768 à+32767

-32768 à+32767

-32768 à+32767

Addition de la constante paramétrée au con-tenu du registre BR et chargement de l’octet ainsi adressé dans l’ACCU 1-LL 1 3

Addition de la constante paramétrée au contenu du registre BR et chargement du mot ainsi adressé dans l’ACCU 1-L 2 3

Addition de la constante paramétrée au contenu du registre BR et chargement du double mot ainsi adressé dans l’ACCU 1 3

Addition de la constante paramétrée au contenu du registre BR et transfert du contenu de l’ACCU 1-LL dans l’octet ainsi adressé

Addition de la constante paramétrée au contenu du registre BR et transfert du contenu de l’ACCU 1-L dans le mot ainsi adressé

Addition de la constante paramétrée au contenu du registre BR et transfert du contenu de l’ACCU 1 dans le double mot ainsi adressé

1 L’ACCU 1-LH et l’ACCU 1-H sont mis à "0".

2 L’ACCU 1-H est mis à "0".

3 ACCU 2 nouveau : = ACCU 1ancien

Adresses autorisées L’adresse absolue doit être comprise :

•• entre F 0000H et F FFFFH pour LB GB et TB GB,

•• entre F 0000H et F FFFEH pour LB GW et TB GW

et

•• entre F 0000H et F FFFCH pour LB GD et TB GD.

Tableau 9-9 Opérations pour l’accès à la mémoire commune organisée paroctets

Opérations avec le registre d’adresse de base BR

Programmation de la CPU 948C79000-G8577-C848-04 9 - 27

Page 398: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Réaction aux erreurs Si ce n’est pas le cas, la CPU décèle une erreur de transfert/charge-ment (DTC) et appelle l’OB 32. Si l’OB 32 n’est pas chargé, la CPUse met à l’arrêt en indiquant l’erreur DTC dans la pile des interrupti-ons.

Opérations de chargementet de transfert pour lamémoire communeorganisée par mots

Opération Opérande Fonction

LW GW

LW GD

TW GW

TW GD

-32768 à+32767

-32768 à+32767

-32768 à+32767

-32768 à+32767

Addition de la constante paramétrée au contenu du registre BR et chargement du mot ainsi adressé dans l’ACCU 1-L 1 2

Addition de la constante paramétrée au contenu du registre BR et chargement du double mot ainsi adressé dans l’ACCU 1 2

Addition de la constante paramétrée au contenu du registre BR et transfert du contenu de l’ACCU 1-L dans le mot ainsi adressé

Addition de la constante paramétrée au contenu du registre BR et transfert du contenu de l’ACCU 1 dans le double mot ainsi adressé

1 L’ACCU 1-H est mis à "0".

2 ACCU 2 nouveau : = ACCU 1ancien

Adresses autorisées L’adresse absolue doit être comprise :

•• entre F 0000H et F FFFFH pour LW GW et TW GW

et

•• entre F 0000H et F FFFEH pour LW GD et TW GD.

Réaction aux erreurs Si ce n’est pas le cas, la CPU décèle une erreur de transfert/charge-ment (DTC) et appelle l’OB 32. L’accumulateur 1 contient le coded’erreur 1A01H. Si l’OB 32 n’est pas chargé, la CPU se met à l’arrêten indiquant l’erreur DTC dans la pile des interruptions.

Tableau 9-10 Opérations pour l’accès à la mémoire commune organiséepar mots

Opérations avec le registre d’adresse de base BR

Programmation de la CPU 9489 - 28 C79000-G8577-C848-04

Page 399: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

9.4.4Accès aux pages de mémoire

Application Les opérations suivantes permettent d’accéder aux pages organiséespar octets ou par mots au moyen d’adresses absolues. L’adresse ab-solue est donnée par la somme du contenu du registre d’adresse debase (BR) et de la constante paramétrée dans l’instruction (-32768 à32767).

Principe du déroulement del’accès aux pages de mémoire

Dans la zone des adresses F F400H à F FBFFH, la mémoire communecomporte une "fenêtre" pour l’insertion de l’une des 256 zones demémoire (pages). Une page occupe une plage d’adresses de 2 Ko aumaximum et peut être organisée par octets ou par mots. Avant chaqueaccès à une page, son numéro est inscrit dans le registre de sélection.L’écriture d’un numéro dans le registre de sélection et l’accès à lapage correspondante constituent un tout qui ne peut pas être interrom-pu.

Tout accès (chargement ou transfert) à une des 256 pages doit êtreprécédé par l’appel de cette page. A cet effet, chargez dans l’accumu-lateur 1-L le numéro de la page à appeler ; ce numéro est transféré parl’instruction ACR dans le registre de page interne de la CPU. Avantl’accès à une page, toutes les opérations suivantes portant sur la pageécrivent le contenu du registre de page dans le registre de sélection dela carte correspondante sur le bus S5.

Modification du registre de page

•• Le contenu du registre de page est conservé lorsqu’un autre blocest appelé.

•• Lorsqu’un registre de page est modifié dans un bloc, sa valeurreste conservée si, à la fin du bloc, il y a retour au bloc appelant.

•• Le registre de page est conservé après l’appel d’un autre niveaude traitement de programme.

Opérations avec le registre d’adresse de base BR

Programmation de la CPU 948C79000-G8577-C848-04 9 - 29

Page 400: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Appel d’une page

Opération Paramètre Fonction

ACR Ouverture de la page dont le numéro est contenu dans l’ACCU 1-L Valeurs admises : 0 à 255

Le numéro de page doit être compris entre 0 et 255. Si ce n’est pas lecas, la CPU décèle une erreur de substitution (SUB) et appellel’ OB 27. Si l’OB 27 n’est pas chargé, la CPU se met à l’arrêt.

Test et positionnementd’une cellule de réservationd’accès dans la zone depages

L’accès de plusieurs CPU à une même zone de mémoire peut être gérépar le biais d’une cellule de réservation d’accès. Une telle cellule estassociée à chacune des zones de mémoire utilisées ensemble et doit êtretestée par chacunes des CPU avant l’accès à une telle zone. La cellule deréservation d’accès contient soit la valeur "0", soit le numéro d’emplace-ment de la CPU qui accède en ce moment à la zone de mémoire et qui,après l’accès, devra écrire la valeur "0" dans la cellule pour libérerl’accès à cette zone de mémoire. A ce sujet, consultez également lesopérations SES/SEF (positionnement et libération de sémaphores) auparagraphe 3.5.5.

L’instruction TSC permet de tester et de positionner une cellule deréservation d’accès dans la page appelée.

Opération Opérande Fonction

TSC -32 768 à+32 767

Addition de la constante paramétrée aucontenu du registre BR, puis test et positionnement dans la page appelée dela cellule de réservation d’accès ainsiadressée

Déroulement La cellule de réservation d’accès est constituée par l’octet de poids fai-ble du mot adressé par le contenu du registre BR + constante. Si lecontenu de cet octet est "0", l’instruction TSC y inscrit le numérod’emplacement de la CPU.

Le test (lecture) et l’éventuelle réservation (écriture) constituent uneunité de programme qui ne peut pas être interrompue.

Opérations avec le registre d’adresse de base BR

Programmation de la CPU 9489 - 30 C79000-G8577-C848-04

Page 401: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Résultat Le résultat de l’opération TSC est exploitable par l’intermédiaire desindicateurs FL 0 et FL 1.

FL 1 FL 0 Signification

0

1

0

0

0

1

Le contenu de la cellule de réservation d’accès est "0" ; la CPU y inscrit son numéro d’emplacement.

La cellule de réservation d’accès contient le numéro d’emplacement de cette CPU.

La cellule de réservation d’accès contient le numéro d’emplacement d’une autre CPU.

NotaL’opération TSC doit être utilisée par toutes les CPU dont l’accèsà une même zone de mémoire commune (zone des pages) doitêtre coordonné.

Réaction aux erreurs La cellule de réservation d’accès doit se trouver sur la carte correspon-dante et dans la page d’utilisation commune entre F F400H etF FBFFH. Si ce n’est pas le cas, la CPU décèle une erreur de transfert/chargement (DTC) et appelle l’OB 32. Si l’OB 32 n’est pas chargé, laCPU se met à l’arrêt en indiquant l’erreur DTC dans la pile des inter-ruptions.

Opérations de chargementet de transfert pour lespages organisées par octets

Opération Opérande Fonction

LB CB

LB CW

LB CD

-32768 à+32767

-32768 à+32767

-32768 à+32767

Addition de la constante paramétrée aucontenu du registre BR et chargement de l’octet ainsi adressé dans la page appelée dans l’ACCU 1-LL 1 3

Addition de la constante paramétrée aucontenu du registre BR et chargement du mot ainsi adressé dans la page appelée dans l’ACCU 1-L 2 3

Addition de la constante paramétrée aucontenu du registre BR et chargement du double mot ainsi adressé dans la page appelée dans l’ACCU 1 3

1 L’ACCU 1-LH et l’ ACCU 1-H sont mis à "0".

2 L’ACCU 1-H est mis à "0".

3 ACCU 2 nouveau : = ACCU 1ancien

Tableau 9-11 Opérations pour l’accès aux pages organisées par octets

Opérations avec le registre d’adresse de base BR

Programmation de la CPU 948C79000-G8577-C848-04 9 - 31

Page 402: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opération Opérande Fonction

Suite du tableau 9-11

TB CB

TB CW

TB CD

-32768 à+32767

-32768 à+32767

-32768 à+32767

Addition de la constante paramétrée au contenu du registre BR et transfert du contenu de l’ACCU 1-LL dans l’octet ainsi adressé dans la page appelée

Addition de la constante paramétrée au contenu du registre BR et transfert du contenu de l’ACCU 1-L dans le mot ainsi adressé dans la page appelée

Addition de la constante paramétrée au contenu du registre BR et transfert du contenu de l’ACCU 1 dans le double mot ainsi adressé dans la page appelée

Adresses autorisées L’adresse absolue doit être comprise :

•• entre F F400H et F FBFFH pour LB CB et TB CB,

•• entre F F400H et F FBFEH pour LB CW et TB CW

et

•• entre F F400H et F FBFCH pour LB CD et TB CD.

Réaction aux erreurs Si ce n’est pas le cas, la CPU décèle une erreur de transfert/charge-ment (DTC) et appelle l’OB 32. Si l’OB 32 n’est pas chargé, la CPUse met à l’arrêt en indiquant l’erreur DTC dans la pile des interrupti-ons.

Opérations avec le registre d’adresse de base BR

Programmation de la CPU 9489 - 32 C79000-G8577-C848-04

Page 403: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations de chargementet de transfert pour lespages organisées par mots

Opération Opérande Fonction

LW CW

LW CD

TW CW

TW CD

-32768 à+32767

-32768 à+32767

-32768 à+32767

-32768 à+32767

Addition de la constante paramétrée au contenu du registre BR et chargement du mot ainsi adressé dans la page appelée dans l’ACCU 1-L 1

Addition de la constante paramétrée au contenu du registre BR et chargement du double mot ainsi adressé dans la page appelée dans l’ACCU 1 2

Addition de la constante paramétrée au contenu du registre BR et transfert du contenu de l’ACCU 1-L dans le mot ainsi adressé dans la page appelée

Addition de la constante paramétrée au contenu du registre BR et transfert du contenu de l’ACCU 1 dans le double mot ainsi adressé dans la page appelée

1 L’ACCU 1-H est mis à "0".

2 ACCU 2 nouveau : = ACCU 1ancien

Adresses autorisées L’adresse absolue doit être comprise :

•• entre F F400H et F FBFFH pour LW CW et TW CW

et

•• entre F F400H et F FBFEH pour LW CD et TW CD.

Réaction aux erreurs Si ce n’est pas le cas, la CPU décèle une erreur de transfert/charge-ment (DTC) et appelle l’OB 32. Si l’OB 32 n’est pas chargé, la CPUse met à l’arrêt en indiquant l’erreur DTC dans la pile des interrupti-ons.

Tableau 9-12 Opérations pour l’accès aux pages organisées par mots

Opérations avec le registre d’adresse de base BR

Programmation de la CPU 948C79000-G8577-C848-04 9 - 33

Page 404: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opérations avec le registre d’adresse de base BR

Programmation de la CPU 9489 - 34 C79000-G8577-C848-04

Page 405: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire du chapitre 10

10.1 Fonctionnement multiprocesseur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4

10.1.1 Utilisation du fonctionnement multiprocesseur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 410.1.2 Mécanismes de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 410.1.3 Echange de données via des mémentos de couplage . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 510.1.4 Echange de données via des blocs de dialogue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 810.1.5 Programmation nécessaire pour le fonctionnement multiprocesseur . . . . . . . . . . . . . . . 10 - 910.1.6 Programmation du DB 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 910.1.7 Particularités de la mise en route en fonctionnement multiprocesseur. . . . . . . . . . . . . 10 - 1310.1.8 Mode de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 14

10.2 Communication multiprocesseur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 15

10.2.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 1510.2.2 Identification de l’émetteur et du récepteur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 1610.2.3 Stockage intermédiaire des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 1710.2.4 Fonctionnement et gestion de la mémoire intermédiaire . . . . . . . . . . . . . . . . . . . . . . . 10 - 1810.2.5 Mesures à prendre pour le démarrage du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 2110.2.6 Ce dont il faut tenir compte lors de l’appel des OB de communication . . . . . . . . . . . 10 - 2210.2.7 Paramétrage des OB de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 2310.2.8 Exploitation des paramètres de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 24

10.3 Temps d’exécution des OB de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 31

10.4 Fonction "Initialisation" (OB 200). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 33

10.4.1 Fonction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 3310.4.2 Paramètres d’appel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 3510.4.3 Paramètres d’entrée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 3510.4.4 Paramètres de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 38

10Fonctionnement et communicationmultiprocesseur dans l’AP S5-155U

Programmation de la CPU 948C79000-G8577-C848-04 10 - 1

Page 406: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.5 Fonction "Emission" (OB 202) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 40

10.5.1 Fonction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4010.5.2 Paramètres d’appel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4010.5.3 Paramètres d’entrée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4010.5.4 Paramètres de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 42

10.6 Fonction "Test d’émission" (OB 203) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 45

10.6.1 Fonction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4510.6.2 Paramètres d’appel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4510.6.3 Paramètres d’entrée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4510.6.4 Paramètres de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 45

10.7 Fonction "Réception" (OB 204). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 47

10.7.1 Fonction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4710.7.2 Paramètres d’appel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4710.7.3 Paramètres d’entrée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4710.7.4 Paramètres de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 48

10.8 Fonction "Test de réception" (OB 205) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 51

10.8.1 Fonction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 5110.8.2 Paramètres d’appel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 5110.8.3 Paramètres d’entrée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 5110.8.4 Paramètres de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 51

10.9 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 53

10.9.1 Appel des OB de fonctions spéciales par des blocs fonctionnels. . . . . . . . . . . . . . . . . 10 - 5310.9.2 Transfert de blocs de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 6010.9.3 Extension de la zone des mémentos de couplage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 66

Sommaire

Programmation de la CPU 94810 - 2 C79000-G8577-C848-04

Page 407: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10Fonctionnement et communicationmultiprocesseur dans l’AP S5-155U

Le présent chapitre indique quand vous pouvez utiliser le fonctionne-ment multiprocesseur et quel échange de données il permet. Il préciseau programmeur ce dont il doit tenir compte et ce qu’il doit effectuerpour le fonctionnement multiprocesseur (cf. paragraphe 10.1).Enfin, ce chapitre contient des instructions détaillées et des exemplesd’application relatifs à l’échange de grandes quantités de données enmode multiprocesseur (cf. paragraphes 10.2 à 10.9).

Programmation de la CPU 948C79000-G8577-C848-04 10 - 3

Page 408: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.1 Fonctionnement multiprocesseur

Définition Vous vous trouvez en fonctionnement multiprocesseur dès qu’un coor-dinateur (COR) est enfiché dans l’appareil de base, indépendammentdu nombre de CPU ou de CP ou IP enfichés. Il ne doit pas y avoird’emplacement vide entre les CPU.

10.1.1Utilisation du fonctionne-ment multiprocesseur

•• Lorsque votre programme utilisateur est trop important pour êtretraité par une CPU et lorsque l’espace mémoire devient insuf-fisant, vous répartissez votre programme entre plusieurs CPU.

•• Quand une partie précise de votre installation doit être traitée trèsrapidement, vous pouvez l’isoler du reste du programme et confierson traitement à une CPU "rapide".

•• Si votre installation est constituée de plusieurs parties pouvant êtrefacilement délimitées et commandées ou régulées de façon relati-vement indépendante, il est possible d’affecter la partie 1 à laCPU 1, la partie 2 à la CPU 2 et ainsi de suite.

Pour le fonctionnement multiprocesseur, il est essentiel que vousteniez compte des informations correspondantes dans le manuel sy-stème. Elles constitueront une aide précieuse lors du choix des CPU àmettre en oeuvre pour la résolution de votre tâche d’automatisation.

10.1.2Mécanismes decommunication

•• Pour l’échange cyclique de données binaires entre les CPU(CPU 948, CPU 946/947, CPU 928B, CPU 928 et CPU 922) ou en-tre CPU et processeurs de communication, vous disposez de"mémentos de couplage".

•• Pour l’échange de gros volumes de données (par exemple, desblocs de données complets) entre les CPU 948, CPU 946/947,CPU 928B, CPU 928 et CPU 922, vous pouvez recourir aux "fon-ctions spéciales pour la communication multiprocesseur",OB 200 et OB 202 à OB 205 (pour plus d’information, reportez-vous au paragraphe 10.2).

•• Pour communiquer avec les cartes périphériques intelligentes (IP)et avec les processeurs de communication (CP), vous disposez de"blocs de dialogue" qu’il faut commander séparément.

Fonctionnement multiprocesseur

Programmation de la CPU 94810 - 4 C79000-G8577-C848-04

Page 409: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.1.3Echange de données viades mémentos de couplage

Pour l’échange cyclique de données binaires, vous disposez de mémentosde couplage qui servent en premier lieu au transfert d’informations paroctets.

Ce transfert de données peut être effectué entre :

CPU et CPU

CPU et processeurs de communication

Le programme système transfère les mémentos de couplage une seulefois par cycle. Lors du transfert de données entre plusieurs CPU, lesmémentos de couplage sont mémorisés de façon intermédiaire sur lecoordinateur.

Les mémentos de couplage sont des octets de mémentos qui sont trans-férés. Ils sont définis, pour chaque CPU, dans le bloc DB 1 en tant quemémentos de couplage d’entrée ou de sortie. Si, par exemple, vousavez défini l’octet de mémentos 50 comme mémento de couplage desortie sur l’unité centrale 1, l’état de cet octet est transféré de manièrecyclique, par l’intermédiaire du coordinateur, vers la CPU pour laquel-le l’octet de mémentos 50 est défini comme mémento de couplaged’entrée.

NotaAucun message d’erreur n’est émis si un octet de mémentos decouplage présent physiquement fait uniquement l’objet d’écriturepar une CPU et n’est jamais lu, ou inversement.

Zone de mémoire Pour la CPU 948, la zone de mémoire réservée aux mémentos de cou-plage sur le coordinateur et sur les processeurs de communication(CP) se trouve entre les adresses F F200H et F F2FFH. Sur une CPUou sur un processeur de communication, vous disposez de 256 octetsde mémentos de couplage.

Positionnement des cavaliers Afin d’éviter une double occupation, vous devez sélectionner lesoctets de mémentos de couplage – parmi les 256 disponibles – sur lescartes COR ou CP. Vous avez la possibilité d’activer ou de désactiverdes blocs de 32 octets chacun. Le positionnement des cavaliers estdécrit dans le manuel système.

Fonctionnement multiprocesseur

Programmation de la CPU 948C79000-G8577-C848-04 10 - 5

Page 410: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple

NotaN’utilisez que les mémentos de couplage validés sur lecoordinateur ou les processeurs de communicationcorrespondants. Vous ne pouvez pas utiliser les mémentos Scomme mémentos de couplage.

Si vous avez défini un octet de mémentos comme mémento decouplage d’entrée sur une ou plusieurs CPU, il faut le définir commemémento de couplage de sortie sur une autre CPU ou un autreprocesseur de communication. De plus, un octet de mémentos nedoit être défini comme mémento de couplage de sortie que sur uneseule CPU ; par contre, vous pouvez le définir comme mémento decouplage d’entrée sur trois autres CPU, par exemple.

Les octets de mémentos qui ne sont pas définis comme mémentos decouplage sur une CPU peuvent être utilisés comme des mémentos"normaux".

N’indiquez dans le bloc DB 1 que le nombre réellement nécessaired’octets de mémentos de couplage : plus ce nombre est petit, plus letemps de transfert est faible.

CPU 1

Mémentos de couplagede sort ie :MB 96 à MB 119

Mémentos de couplaged´entrée :MB 120 à MB 125

CPU 2

Coordinateur

Mémentos de couplagede sort ie :MB 120 à MB 125

Mémentos de couplaged´entrée :MB 96 à MB 119

Ecr i ture

Lecture

Ecr i ture

Lecture

Secteur val idéau moyen descaval iers :

octets de mémentosde couplageMB 96 à MB 127

Figure 10-1 Transfert de mémentos de couplage en fonctionnement multiprocesseur

Fonctionnement multiprocesseur

Programmation de la CPU 94810 - 6 C79000-G8577-C848-04

Page 411: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Echange de données entreCPU et processeurs decommunication

Lorsque des données doivent être échangées entre une CPU et unprocesseur de communication, il faut valider le nombre nécessaire demémentos de couplage sur le processeur de communication (CP). Làaussi, vous disposez de 256 octets de mémentos de couplage, divisi-bles en secteurs de 32 octets.

Lorsque le transfert doit être effectué d’une CPU vers plusieursprocesseurs de communication, il ne doit pas y avoir de recouvre-ment entre les secteurs validés sur les différents processeurs de com-munication et le coordinateur afin que les adresses ne soient pas utili-sées deux fois.

Si vous voulez utiliser des mémentos de couplage simultanément surle coordinateur et sur un ou plusieurs processeurs de communication,vous devez également éviter un double adressage. Divisez les mémentos de couplage en secteurs de 32 octets sur le coor-dinateur et sur les processeurs de communication, puis masquez sur lecoordinateur les octets de mémentos utilisés sur le processeur de com-munication en retirant les cavaliers correspondants (voir le manuel sy-stème).

Dans ce cas également, un octet de mémentos ne peut être défini com-me mémento de couplage de sortie que sur une seule CPU. Par contre,un même octet de mémentos peut être défini comme mémento de cou-plage d’entrée sur plusieurs CPU.

Exemple

CPU 1

Secteur val idé :

octets de mémentosde couplageMB 96 à MB 127

Secteur val idé :

octets de mémentosde couplageMB 192 à MB 223

CP 1

CP 2

CP 1

CP 2

CP 1

CP 2

Mémentos de couplagede sort ie :CP 1 : MB 96 à MB 119CP 2 : MB 201 à MB 205

Mémentos de couplaged´entrée :CP 1 : MB 120 à MB 125CP 2 : MB 195 à MB 200

Figure 10-2 Exemple de zones de mémentos de couplage sur des processeurs de communication

Fonctionnement multiprocesseur

Programmation de la CPU 948C79000-G8577-C848-04 10 - 7

Page 412: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Transfert de mémentos decouplage en fonctionnementmultiprocesseur

Les octets de mémentos de couplage indiqués dans le DB 1 sont trans-férés avec l’actualisation de la mémoire image à la fin de chaque cy-cle du programme, lorsque la CPU a obtenu le signal d’accès au bus.

Le coordinateur accorde successivement à chaque CPU le signal d’ac-cès au bus. A cette occasion, chaque CPU n’a le droit de transférerqu’un seul octet. Cette transmission fractionnée peut entraîner uneperte de cohérence des informations transmises par un groupe demémentos de couplage et, donc, l’utilisation de données incohérentes.

Si les informations à transférer portent sur plusieurs octets, le pa-ramétrage du bloc DX 0 permet de réaliser un transfert par blocs detous les mémentos de couplage définis dans le DB 1 (cf. chapitre 7).Tant qu’une CPU est en train de transférer des mémentos de couplage,elle ne peut pas être interrompue par une autre CPU. Cette dernièredoit donc ajourner son opération de transfert, ce qui se traduit par unesuspension du traitement cyclique pendant ce temps d’attente. Un tel paramétrage du DX 0 peut donc entraîner un allongementsensible du temps de cycle.

Communicationmultiprocesseur

Les fonctions spéciales suivantes − intégrées à la CPU − permettent letransfert de blocs de données ou, plus précisément, de paquets ou en-sembles de données de 64 octets au maximum (= 32 mots dedonnées) :

•• OB 200 : initialisation Préparation

•• OB 202 : émission Emission d’un paquet de données

•• OB 203 : test d’émission Test de la possibilité d’émission

•• OB 204 : réception Réception d’un paquet de données

•• OB 205 : test de réception Test de la possibilité de réception

10.1.4Echange de données viades blocs de dialogue

Vous pouvez utiliser les blocs de dialogue en fonctionnement multi-processeur sans qu’un paramétrage spécial soit nécessaire. De plus am-ples renseignements sur les blocs de dialogue figurent dans le manuelcorrespondant.

Fonctionnement multiprocesseur

Programmation de la CPU 94810 - 8 C79000-G8577-C848-04

Page 413: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.1.5Programmation nécessairepour le fonctionnementmultiprocesseur

•• Afin que le coordinateur puisse coordonner l’accès de chaqueCPU à la zone de périphérie, vous devez programmer le bloc dedonnées DB 1. Même si la CPU n’utilise pas de périphérie ou demémentos de couplage, un DB 1, même vide, doit exister (voir leparagraphe 10.1.6).

•• Le DX 0 doit également être programmé. Effectuez le paramétragede sorte que les alarmes de processus via l’octet d’entrée EB 0soient désactivées et que les interruptions système soient acti-vées.

10.1.6Programmation du DB 1 En fonctionnement multiprocesseur, vous devez programmer le bloc

de données DB 1 pour chaque CPU. Vous définissez ainsi les entrées/sorties (adresses d’octet de 0 à 127) et les mémentos de couplaged’entrée et de sortie que la CPU en question va utiliser.

NotaSeuls les octets d’entrée et de sortie définis dans le bloc DB 1sont pris en compte lors de l’actualisation de la mémoire imagedu processus.

Saisie et modification du DB 1 •• Programmation ou modification du masque DB 1 à la PG

ou

•• Edition à la PG du DB 1 comme bloc de données, puis transfertdans la CPU

NotaLa saisie ou la modification du bloc DB 1 n’est prise en comptepar la CPU qu’à l’exécution d’un nouveau démarrage.

Saisie du masque DB 1 1. Sur la PG, sélectionnez l’éditeur pour le masque DB 1 (cf. figure 10-3).

2. Indiquez les valeurs requises pour les "entrées TOR", etc., sous forme de valeurs décimales.

Fonctionnement multiprocesseur

Programmation de la CPU 948C79000-G8577-C848-04 10 - 9

Page 414: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

3. Validez les entrées effectuées en appuyant sur la touche de validation de la PG. La PG génère alors le DB 1.

4. Transférez le DB 1 dans la CPU.

NotaL’indication de la longueur du bloc de temporisations n’est pasprise en compte. Vous devez définir ce paramètre dans le DX 0(voir chapitre 7).

Exemple de masque DB 1

Edition du DB 1 comme bloc de données

1. Les mots de données 0, 1, et 2 doivent contenir l’indicatif de début du DB 1 :

DW 0 : KH = 4D41 (’M’ ’A’)DW 1 : KH = 534B (’S’ ’K’)DW 2 : KH = 3031 (’0’ ’1’)

DB 1

0, 1, 2, 3, 7, 10,

2, 4, 12,0,

50, 51, 60,

70, 72,100,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

Entrées TOR

Sorties TOR

Mémentos couplage entrées

Mémentos couplage sorties

Longueur bloc des tempos

:

:

:

:

:

Affectation périph.

Figure 10-3 Masque PG pour la génération du DB 1

Fonctionnement multiprocesseur

Programmation de la CPU 94810 - 10 C79000-G8577-C848-04

Page 415: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2. A partir du mot de données DW 3, indiquez les différentes zones d’opérandes en précisant, avant chacune d’entre elles, l’un des mots d’identification suivants :

Mot d’identification des entrées TOR KH = DE00Mot d’identification des sorties TOR KH = DA00Mot d’identification des mémentos de couplage d’entrée KH = CE00Mot d’identification des mémentos de couplage de sortie KH = CA00

Saisissez, suite au mot d’identification, la liste des numéros (en virgule fixe) des entrées/sorties utilisées.

3. Terminez la saisie avec l’indicatif de fin DB 1 "KH = EEEE" et transférez le DB 1 dans la CPU.

NotaL’ordre de saisie est indifférent. La mémoire image des entrées etcelle des sorties sont actualisées dans l’ordre inverse de leuradressage dans le DB 1 (la dernière entrée est donc actualisée enpremier).L’indication répétée du même octet, par exemple pour des tests,est possible. Notez que la mémoire image de cet octet est alorsactualisée autant de fois que celui-ci est défini dans le DB 1.

Exemple d’édition du DB 1

DB1 FD: CPU948ST.S5D

0: KH = 4D41; DW 0 à 2 : 1: KH = 534B; indicatif de début 2: KH = 3031; du DB 1 3: KH = DE00; Mot identificateur des entrées TOR 4: KF = +00000; Octet d’entrée 0 5: KF = +00001; Octet d’entrée 1 6: KF = +00002; Octet d’entrée 2 7: KF = +00003; Octet d’entrée 3 8: KF = +00007; . 9: KF = +00010; Octet d’entrée 1010: KH = DA00; Mot identificateur des sorties TOR11: KF = +00000; Octet de sortie 012: KF = +00002; Octet de sortie 213: KF = +00004; .14: KF = +00012; Octet de sortie 1215: KH = CE00; Mot identificateur des mémentos de couplage d’entrée16: KF = +00050; Octet de mémentos 5017: KF = +00051; .18: KF = +00060; Octet de mémentos 6019: KH = CA00; Mot identificateur des mémentos de couplage de sortie20: KF = +00070; Octet de mémentos 7021: KF = +00072; .22: KF = +00100; Octet de mémentos 10023: KH = EEEE; Indicatif de fin24:

Fonctionnement multiprocesseur

Programmation de la CPU 948C79000-G8577-C848-04 10 - 11

Page 416: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Validation du DB 1 Le programme système prend en compte le DB 1 lors d’un démarrage etvérifie alors que les entrées et sorties et les mémentos de couplage indi-qués dans le DB 1 fournissent un signal d’acquittement. En cas de non-acquittement, la CPU se met en STOP avec une erreur DB 1 et un cligno-tement lent de la DEL STOP. Dans ce cas, le programme utilisateur n’estpas traité.

Dès que le DB 1 a été programmé et pris en compte par la CPU via undémarrage, les règles sont les suivantes :

•• L’accès aux cartes de périphérie par l’intermédiaire de la mémoireimage n’est possible que pour les entrées et sorties définies dans lebloc DB 1 (opérations L.../T... ...EB, ...EW, ...ED, ...AB, ...AW,...AD et opérations combinatoires avec entrées et sorties). L’accèsà des adresses de mémoire image qui ne sont pas indiquées dans leDB 1 conduit à une erreur d’adressage.

•• Le chargement direct d’octets périphériques par les opérationsL PB/L PY, L PW, L QB, L QW sans passer par la mémoireimage, est possible pour toutes les entrées fournissant un signald’acquittement, qu’elles figurent ou non dans le DB 1.

•• Le transfert direct (T PB/T PY, T PW) aux octets 0 à 127 n’estpossible que pour les sorties définies dans le DB 1, étant donnéque le transfert direct s’accompagne de l’actualisation de lamémoire image. L’accès en écriture à des adresses de périphériene figurant pas dans le DB 1 entraîne une erreur d’adressage.

•• Transfert sans mémoire image Le transfert direct à des octets d’adresses supérieures à 127 estpossible indépendamment des valeurs entrées dans le blocDB 1. Le transfert direct à des adresses d’octets dans la zone de péri-phérie étendue (T QB, T QW) est également indépendant des indi-cations dans le DB 1.

Fonctionnement multiprocesseur

Programmation de la CPU 94810 - 12 C79000-G8577-C848-04

Page 417: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.1.7Particularités de la mise enroute en fonctionnementmultiprocesseur

En fonctionnement multiprocesseur, vous démarrez le coordinateur dela manière suivante.

Situation initiale Les commutateurs de mode de toutes les CPU enfi-chées sont en position RUN. Le commutateur de mode du coordinateur est en position STOP.

Mise en route Basculez le commutateur de mode du coordina-teur de STOP sur RUN : en fonctionnement multiprocesseur, il n’est possible de mettre en route l’automate en démarrant uniquement lecoordinateur que si ce dernier est à l’origine de l’arrêt.

ou

Situation initiale Les commutateurs de mode de toutes les CPU en-fichées et du coordinateur sont en position RUN.

Mise en route Par la fonction PG de démarrage de l’AP, démar- rez la CPU qui est à l’origine de l’arrêt dans le mode de mise en route choisi.

Mise en route de chaque CPU Le mode de mise en route de chaque CPU dépend des éventuelles mo-difications apportées lors de l’arrêt. Il est ainsi possible que certainesCPU effectuent un redémarrage manuel et d’autres un démarrage.

Si les CPU n’ont pas été modifiées entre-temps, elles effectuent unredémarrage manuel.

NotaSi l’automate était en traitement cyclique avant l’arrêt, des modes demise en route différents peuvent donner lieu à la transmission par lesmémentos de couplage d’états de signaux incorrects d’une CPU àl’autre. Vous pouvez éviter cela en programmant les blocs d’organi-sation de mise en route OB 20, 21 et 22 de manière adéquate.

L’appel de la fonction spéciale OB 223 permet de vérifier si le modede mise en route est le même pour toutes les CPU participant au fon-ctionnement multiprocesseur (voir chapitre 6).

Fonctionnement multiprocesseur

Programmation de la CPU 948C79000-G8577-C848-04 10 - 13

Page 418: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Coupure et rétablissementde la tension

Lors du rétablissement de la tension suite à une coupure, le coordina-teur est démarré automatiquement. Dans ce cas, toutes les CPU ef-fectuent un redémarrage ou un démarrage automatique, suivant laprésélection dans le DX 0 (voir chapitre 7).

La mise en route de chaque CPU est synchronisée en fonctionnementmultiprocesseur : chaque CPU attend que toutes les autres aient ter-miné leur mise en route afin de débuter simultanément leur traitementcyclique. Vous pouvez toutefois supprimer cette synchronisation dedémarrage en paramétrant le bloc DX 0 en conséquence.

10.1.8Mode de test Pour activer le mode de test, procédez de la manière suivante.

1. Assurez-vous que la fonction de test est autorisée sur le coordina-teur.

2. Basculez le commutateur de mode du coordinateur de STOP sur TEST. Le voyant BASP s’éteint.

3. Sur les CPU qui doivent passer en état de marche RUN, choisissez le mode de mise en route (démarrage ou redémarrage).

Particularités du mode de test En mode de test, vous pouvez mettre en service chaque CPUisolément ou les combiner de manière quelconque. Les CPU à l’arrêtne peuvent donc plus bloquer l’ensemble de l’automate.

Le démarrage des CPU n’est pas synchronisé en mode de test. Sui-vant la longueur des blocs d’organisation de mise en route OB 20, 21et 22, les CPU démarrent leur traitement cyclique à des momentsdifférents.

Si une erreur apparaît sur une CPU pendant le mode de test, seule cet-te CPU se met à l’arrêt. Les autres CPU ne sont pas perturbées par cet-te erreur.

AttentionComme le signal BASP est inhibé pour toutes les CPU enmode de test, ce dernier doit impérativement être inactivélorsque la mise en service est terminée pour éviter unesituation critique ou dangereuse pour l’installation.

Fonctionnement multiprocesseur

Programmation de la CPU 94810 - 14 C79000-G8577-C848-04

Page 419: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.2 Communication multiprocesseur

Définition La communication multiprocesseur consiste en l’échange d’importan-tes quantités de données (blocs de données) entre des CPU fon-ctionnant en mode multiprocesseur. Il faut pour cela le coordinateurCOR 923C.

10.2.1Introduction Les blocs de données, plus précisément les ensembles ou paquets de

données d’une taille maximale de 32 mots de données (64 octets), peuvent être transférés à l’aide des fonctions spéciales – intégrées à laCPU – suivantes :

•• initialisation (OB 200) : préparation

•• émission (OB 202) : émission d’un paquet de données

•• test d’émission (OB 203) : test de la possibilité d’émission

•• réception (OB 204) : réception d’un paquet de données

•• test de réception (OB 205) : test de la possibilité de réception

Par mesure de simplification, les blocs d’organisation pour fonctionsspéciales OB 200 et OB 202 à OB 205 seront appelés OB de commu-nication dans les paragraphes suivants.

Connaissances requises L’utilisation de ces fonctions ne requiert que des connaissances debase sur le langage de programmation STEP 5 et sur le fonctionne-ment des automates SIMATIC S5. Ces connaissances sont dispenséesdans les ouvrages cités dans la bibliographie.

Principe Pour transmettre des données, il faut tout d’abord activer la fonction"Emission" dans la CPU émettrice et, ensuite, la fonction "Réception"dans la CPU réceptrice. Les mots de données consécutifs d’un bloc de données DB ou DX setrouvant dans la CPU émettrice sont transférés vers la CPU réceptrice,via le coordinateur 923C, dans un bloc de données DB ou DX ayant lemême numéro et sous les mêmes adresses de mots de données. Ils’agit donc d’une copie "un à un".

Unité de transfert La quantité de données pouvant être traitée d’un seul tenant par lesfonctions "Emission" et "Réception" est normalement de 32 mots.Lorsque la longueur du bloc de données (hors en-tête) n’est pas unmultiple de 32, le dernier paquet de données compte moins de 32 mots.

Communication multiprocesseur

Programmation de la CPU 948C79000-G8577-C848-04 10 - 15

Page 420: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Le bloc de données dans la CPU réceptrice peut être plus long ou pluscourt que le bloc de données d’émission. L’important est que les motstransférés par la fonction d’émission existent dans le bloc de donnéesde réception. Dans le cas contraire, la fonction de réception détecteune erreur.

Exemple

10.2.2Identification de l’émetteuret du récepteur

Chaque paquet de données échangé entre les CPU est caractérisé parle numéro de la CPU émettrice et le numéro de la CPU réceptrice.Les CPU sont numérotées de manière à ce que la CPU enfichée laplus à gauche reçoive le numéro 1 ; les CPU sont ensuite numérotéesdans l’ordre, de la gauche vers la droite.

Exemple

Donnéesd’émissiondans la CPUémettrice :

Données deréception dansla CPUréceptrice :

Bloc de données : DB 17 DB 17

Adresse de mot dedonnées: DW 32 à DW 63 DW 32 à DW 63

AP S5-135U/155U

COR

C

CPU

1

CPU

2

CPU

3

CP

CP

IM

. .

. .

E SE E S

Figure 10-4 Identification des émetteurs et récepteurs

Communication multiprocesseur

Programmation de la CPU 94810 - 16 C79000-G8577-C848-04

Page 421: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.2.3Stockage intermédiairedes données

De manière générale, le fonctionnement multiprocesseur permet derépartir les tâches à exécuter entre plusieurs CPU. Ces tâches étantdifférentes et les performances des diverses CPU étant variées, le trai-tement du programme dans chaque CPU est asynchrone. Cela signifieque les données émises par une CPU émettrice ne peuvent pas im-médiatement être reçues par une CPU réceptrice.

Il est donc nécessaire d’effectuer un stockage intermédiaire desdonnées à transférer dans le coordinateur 923 C. Le numéro de laCPU "traitant" la fonction de même que le numéro de la CPU récep-trice lors de l’émission ou le numéro de la CPU émettrice lors de laréception définissent la source ou la destination d’un paquet dedonnées.

Exemple

Transfert de données de la CPU 3 vers la CPU 2

Etape 1

La CPU 3 stocke ses données dans la mémoire intermédiaire du coordinateur.

Etape 2

Lorsque la CPU 2 est prête à recevoir, elle copie les données de la mémoireintermédiaire du coordinateur dans le bloc de données cible.

COR

C

CPU

1

CPU

2

CPU

3

CP

CP I

M

. .

. .

E

Emission, paramètre "CPU réceptr ice" = 2

SE E S

COR

C

CPU

1

CPU

2

CPU

3

CP

CP I

M

. .

. .

E

Récept ion, paramètre "CPU émettr ice" = 3

SE E S

Communication multiprocesseur

Programmation de la CPU 948C79000-G8577-C848-04 10 - 17

Page 422: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.2.4Fonctionnement et gestionde la mémoire intermédiaire

Fonctionnement La mémoire intermédiaire travaille selon le principe FIFO (file d’atten-te, premier entré premier sorti). L’ordre des réceptions est ainsi iden-tique à l’ordre des émissions. Cela est valable pour chaque liaison− définie par la CPU émettrice et la CPU réceptrice − indépendam-ment des autres liaisons.

Sauvegarde des données La mémoire intermédiaire est sauvegardée par pile. Cela permet "le re-démarrage automatique après coupure secteur" sans restriction. Ainsi,une coupure secteur pendant une transmission de données n’entraînepas de perte de données dans l’automate programmable.

Gestion La capacité de mémoire maximale du coordinateur 923C est de 48blocs de mémoire de 32 mots chacun. La fonction d’initialisation attri-bue ces blocs de mémoire aux différentes liaisons.Chaque bloc de mémoire peut recevoir exactement un paquet dedonnées de 1 à 32 mots de données. Un paquet de données est inscritdans un bloc de mémoire par une fonction d’émission et est lu à partirde ce bloc de mémoire par une fonction de réception.Le nombre de blocs de mémoire attribués à une liaison est en rapportdirect avec les paramètres de capacité d’émission (fonctions "Emissi-on", "Test d’émission") et de capacité de réception (fonctions "Récep-tion", "Test de réception").

La capacité d’émission indique combien de blocs de mémoire réser-vés à une liaison sont disponibles à un instant déterminé.

La capacité de réception indique combien de blocs de mémoire réser-vés à une liaison sont occupés à un instant déterminé.

La somme des capacités d’émission et de réception est à tout momentégale au nombre de blocs de mémoire attribués à une liaison.

Communication multiprocesseur

Programmation de la CPU 94810 - 18 C79000-G8577-C848-04

Page 423: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple

Occupation de la mémoire intermédiaire par une liaison

La liaison "CPU 3 vers CPU 2" est initialisée. 7 blocs de mémoire lui sontaffectés dans la mémoire intermédiaire du coordinateur. Le transfertsuivant pourrait ensuite être effectué.

Emission ou réception de n paquets de données signifie que la fonctioncorrespondante est appelée n fois de suite.

Pour simplifier la représentation, cet exemple se limite, au début, soit àdes émissions, soit à des réceptions.L’émission (CPU 3) et la réception (CPU 2) simultanées sont toutefoispossibles et recommandées ("traitement parallèle dans l’automate program-mable multiprocesseur"). Dans l’exemple ci-dessus, la réception des paquetsde données H et I a lieu pendant l’émission des paquets de données K et L.

Cet exemple illustre également l’organisation en file d’attente de lamémoire intermédiaire : les paquets de données émis les premiers (A, B, C ...) sont également reçus les premiers (A, B, C ...).

7

7

6

6

5

5

4

4

3

3

2

2

1

1

0

Initiali-sation

0

0

Emissiondupaquet A

Emission de4 paquetsB, C, D, E

Emission de4 paquetsF, G, H, I

Emission de2 paquetsK, L

temps

Réceptiondes paquetsA, B

Réceptiondes paquetsC, D, E,F, G

Réceptiondes paquetsH, I

Réceptiondes paquetsK, L

Capacité d´émission(nombre de blocs demémoire réservés)

Capacité de réception(nombre de blocs demémoire occupés)

6 2

5

7 7

1

4

3 7 2 2

5 5

Emetteur : CPU 3

Récepteur : CPU 2

Figure 10-5 Exemple d’occupation de la mémoire intermédiaire du coordinateur COR

Communication multiprocesseur

Programmation de la CPU 948C79000-G8577-C848-04 10 - 19

Page 424: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Résumé Le stockage intermédiaire dans le coordinateur 923C compense l’asyn-chronisme des CPU émettrice et réceptrice ainsi que leur vitesse detraitement différente.

La capacité de la mémoire intermédiaire étant limitée, le récepteurdoit contrôler fréquemment et régulièrement si des données ont été mi-ses en mémoire (fonction "Test de réception", capacité de réception> 0) ou essayer de lire des données mémorisées (fonction "Récepti-on"). Il est judicieux d’appeler la fonction de réception autant de foisqu’il est nécessaire pour que la capacité de réception redevienne nulle.Ainsi, les données émises ne restent pas longtemps en mémoire inter-médiaire, mais sont rapidement mises à la disposition du récepteur. Deplus, cela libère des blocs de mémoire − la capacité d’émission croît −et évite un blocage de l’émetteur − capacité d’émission "épuisée", nul-le.

NotaAlors que la capacité de réception nulle représente l’état idéal(toutes les données émises ont été lues par le récepteur), lacapacité d’émission nulle signale une erreur de configuration :

- la fonction "Emission" est appelée trop fréquemment,

- la fonction "Réception" n’est pas appelée assez souvent

ou

- un nombre insuffisant de blocs de mémoire est attribué à la liaison. La capacité de la mémoire intermédiaire ne suffit pas pour compenser un déséquilibre momentané entre fréquence d’émission et fréquence de réception.

Communication multiprocesseur

Programmation de la CPU 94810 - 20 C79000-G8577-C848-04

Page 425: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.2.5Mesures à prendre pour ledémarrage du système

La communication multiprocesseur exige que toutes les CPU partici-pantes exécutent de la même manière le passage de l’état d’arrêt àl’état de marche RUN (mise en route), c’est-à-dire effectuent toutesun démarrage ou toutes un redémarrage.

Vous obtenez un mode de mise en route identique, au moins pour lesCPU participant à la communication, en prenant les mesures suivantes(voir paragraphe 10.1.7) :

•• manipulations (par le commutateur en face avant ou la console deprogrammation),

•• paramétrage (DX 0)

et

•• programmation (à l’aide du bloc d’organisation de fonction spécia-le OB 223, arrêt en cas de modes de mise en route différents enfonctionnement multiprocesseur).

Démarrage Dans le bloc d’organisation OB 20 spécifique au démarrage, une seu-le des CPU doit organiser la mémoire intermédiaire du coordinateur923C à l’aide de la fonction d’initialisation. Des données éventuelle-ment existantes sont alors détruites.Puis, encore pendant la mise en route, vous pouvez appeler lesfonctions "Emission", "Test d’émission", "Réception" et "Test deréception". Une programmation adaptée doit garantir que cela ne sefasse qu’après l’initialisation correcte de la mémoire intermédiaire duCOR. Lorsque le démarrage est terminé, donc en état de marche RUN,le programme utilisateur s’exécute à partir du début, c’est-à-dire à lapremière instruction de l’OB 1.

Redémarrage La fonction d’initialisation ne doit pas être utilisée dans les blocs d’or-ganisation OB 21 (redémarrage manuel) et OB 22 (redémarrage auto-matique). L’appel des fonctions "Emission", "Test d’émission","Réception" et "Test de réception" peut entraîner des difficultés ; re-spectez à ce sujet les recommandations des paragraphes suivants.

Lorsque le redémarrage est terminé, donc en état de marche RUN,l’exécution du programme utilisateur ne recommence pas au début,mais à l’endroit de l’interruption . Cette interruption peut se trouver,par exemple, dans la fonction d’émission.

Communication multiprocesseur

Programmation de la CPU 948C79000-G8577-C848-04 10 - 21

Page 426: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.2.6Ce dont il faut tenir comptelors de l’appel des OB decommunication Procédez de la manière suivante :

1. Appelez la fonction d’initialisation sur une CPU uniquement dans le bloc d’organisation de démarrage OB 20.

2. Appelez les fonctions "Emission", "Test d’émission", "Réception" et "Test de réception" soit uniquement dans le programme cyclique, soit uniquement dans le programme d’horloge.

Double appel Selon le paramétrage du DX 0 (interruption aux limites d’instructions)et le mode de traitement du programme (redémarrage, gestion des in-terruptions, par exemple OB 26 en cas de dépassement du temps decycle), il est possible qu’une des fonctions "Initialisation", "Emissi-on", "Test d’émission", "Réception" et "Test de réception" soit inter-rompue. Si une interface utilisateur appelée au moment de l’interruption conti-ent elle aussi une des fonctions "Emission", "Test d’émission","Réception" et "Test de réception", la fonction appelée détecte ledouble appel et le signale dans l’octet d’erreur (code d’erreur 67, cf.paragraphe 10.2.8).

Traitement parallèle Après organisation de la mémoire intermédiaire (fonction "Initialisati-on"), vous pouvez exécuter les fonctions "Emission", "Test d’émissi-on", "Réception" et "Test de réception" parallèlement et simul-tanément dans toutes les CPU, quels que soient la combinaison et leparamétrage.

Si l’on ne considère qu’une seule liaison (de la CPU 2 vers la CPU 3par exemple), l’exécution simultanée des fonctions "Emission"(CPU 2) et "Réception" (CPU 3) est possible : pendant que la CPU 2envoie de nouveaux paquets de données au coordinateur, la CPU 3réceptionne des paquets de données déjà stockés en mémoire inter-médiaire.

Zones occupées Les OB de communication ne nécessitent pas de zone de travail (parexemple, pour mémoriser des variables) et n’appellent pas de blocs dedonnées. Ils accèdent bien sûr aux zones contenant des paramètres,mais seuls les paramètres de sortie peuvent être modifiés.

Communication multiprocesseur

Programmation de la CPU 94810 - 22 C79000-G8577-C848-04

Page 427: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Indicateurs de résultat Les indicateurs de résultat (FL 1/FL 0, RLG, etc.) sont influencés parles OB de communication. Pour des informations plus détaillées, re-portez-vous au paragraphe 10.2.8.

Modification desaccumulateurs

•• CPU 922, CPU 928, Le contenu des accumulateurs 1 à 4 ainsi CPU 928B que des registres n’est pas modifié par les

OB de communication.

•• CPU 946/947, Seul est modifié le contenu de l’accumula-CPU 948 teur 4 ; les accumulateurs 1, 2, et 3 ainsi

que les registres restent inchangés.

10.2.7Paramétrage des OB decommunication Les OB de communication possèdent les types de paramètres suivants :

•• paramètres d’entrée,

•• paramètres de sortie

et

•• paramètres d’appel.

Les paramètres d’entrée et de sortie se trouvent dans un champ dedonnées de 10 octets au maximum dans la zone des mémentos M. Cechamp se compose d’une partie réservée aux paramètres d’entrée etd’une partie réservée aux paramètres de sortie.

Paramètres d’entrée Les paramètres d’entrée définissent comment une fonction doit êtreexécutée. Ils sont lus et traités en totalité ou partiellement par les OBde communication ; il n’y a pas d’accès en écriture.

Paramètres de sortie Les paramètres de sortie contiennent toutes les informations que leprogramme appelant doit connaître sur le résultat d’un contrat, par ex-emple les indications d’erreur.Ils sont écrits en totalité ou partiellement par les OB decommunication ; il n’y a pas d’accès en lecture.

NotaVous pouvez prévoir pour toutes les fonctions de communicationune zone de 10 octets de mémentos. Les différentes fonctionsexigent cependant un nombre différent d’octets (voir la descrip-tion des fonctions à partir du paragraphe 10.4).

Communication multiprocesseur

Programmation de la CPU 948C79000-G8577-C848-04 10 - 23

Page 428: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Paramètres d’appel Le paramètre d’appel de chaque OB de communication est le numérodu premier octet de mémentos (0 à 246) dans le champ de données(pointeur sur le champ de données) de l’ACCU 1-L.

Exemple

10.2.8Exploitation des paramètres de sortie

Les paramètres de sortie indiquent, entre autres, si une fonction a puêtre traitée ; dans la négative, ils donnent la raison de l’interruption dela fonction.

Indicateurs de résultat Les fonctions "Initialisation", "Emission", "Test d’émission", "Récepti-on" et "Test de réception" influent sur les indicateurs de résultat (voirles remarques générales sur les opérations STEP 5).

•• Les bits OVFL et OVFLMEM (relatifs au traitement de mots) sonttoujours mis à "0".

•• Les bits OU, ETAT, 1e ? (relatifs au traitement de bits) sont tou-jours mis à "0".

•• RLG, FL 1 et FL 0 signalent si une fonction a été traitée entière-ment et de manière correcte.

Champ de données avec paramètres de la fonction "Réception" (OB 204)

MB x + 0: CPU d’émission Paramètre d’entréeMB x + 1: — non utilisé

MB x + 2: Octet indicateur Paramètre de sortieMB x + 3: Capacité de réception Paramètre de sortie

MB x + 4: Type de bloc Paramètre de sortieMB x + 5: Numéro de bloc Paramètre de sortie

MB x + 6: Adresse du premier Paramètre de sortieMB x + 7: mot de données reçu

MB x + 8: Adresse du dernier Paramètre de sortieMB x + 9: mot de données reçu

Cet exemple montre que le numéro du premier octet de mémentos M dans lechamp de données ne doit pas être supérieur à MB 246. S’il l’était, le champde données pouvant atteindre une longueur de 10 octets dépasserait leslimites de la zone des mémentos (MB 255).

Communication multiprocesseur

Programmation de la CPU 94810 - 24 C79000-G8577-C848-04

Page 429: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

IndicateursExploitation Signification

RLG FL 1 FL 0

0 0 0 SPB= Fonction traitée entièrement et correctement

1 0 0 SPB= Fonction interrompue, pointeur sur champ de données non autorisé (>246)

Fonction interrompue suite à un conflit d’initialisation

1 0 1 SPB= etSPM=

Fonction interrompue suiteà une erreur(N° d’erreur 1 à 9)

1 1 0 SPB= etSPP=

Fonction interrompue suiteà un avertissement(N° d’avertissement 1 ou 2)

Dans les paragraphes suivants, on suppose que le pointeur sur lechamp de données contient une valeur correcte. Le premier octetdes paramètres de sortie indique alors de manière détaillée la cause del’interruption.

Octet indicateur Bit 7 6 5 4 3 2 1 0

A E I 0 Numéro

A = 1 : Avertissement

E = 1 : Erreur

I = 1 : Conflit d’initialisation

Numéro : - d’un avertissement- d’une erreur- d’un conflit d’initialisation

Tableau 10-1 Indicateurs des OB de communication

Communication multiprocesseur

Programmation de la CPU 948C79000-G8577-C848-04 10 - 25

Page 430: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Le premier octet dans la zone des paramètres de sortie (octet indica-teur) indique également si une fonction a été réalisée entièrement etcorrectement. La cause d’une interruption de la fonction est indiquéede manière plus détaillée que dans les indicateurs de résultats.Cet octet est toujours significatif quand le pointeur du champ dedonnées est correct.

Si la fonction a été traitée entièrement et de manière correcte, tous lesbits sont à 0 et tous les autres paramètres de sortie sont significatifs.

Lorsque la fonction est interrompue par un avertissement (bit 7 = 1),seule l’indication de la capacité d’émission et de réception reste signi-ficative ; les paramètres de sortie restants, le cas échéant, ne sont pasmodifiés.

Lorsque la fonction s’est terminée sur une erreur (bit 6 = 1) ou un con-flit d’initialisation (bit 5 = 1), aucun des autres paramètres de sortien’est modifié.

Exploitation de l’octetindicateur

Les indicatifs "A", "E" et "I" donnent, entre autres, la signification dunuméro.En plus de cette exploitation bit par bit, il est possible d’interpréterl’octet complet comme nombre non signé à virgule fixe. Dans le casd’une telle interprétation globale de l’octet indicateur, on obtient desgroupes de numéros qui ont les significations suivantes.

Groupes de numéros Signification

0

33 à 42

65 à 73

129 à 130

Fonction exécutée correctement et complètement

Fonction interrompue suite à un conflit d’initialisation

Fonction interrompue suite à une erreur

Fonction interrompue suite à un avertissement

Les erreurs sont détectées et affichées dans l’ordre des numéros d’er-reur. Cela signifie que plusieurs erreurs peuvent avoir eu lieu bienqu’une seule erreur soit signalée à un moment donné. Les autres er-reurs seront alors indiquées lors d’appels ultérieurs.

Tableau 10-2 Octet indicateur des OB de communication : groupes de numéros

Communication multiprocesseur

Programmation de la CPU 94810 - 26 C79000-G8577-C848-04

Page 431: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple

Conflit d’initialisation Un conflit d’initialisation ne peut se produire que pour la fonction"Initialisation". Il nécessite une modification du programme ou du pa-ramétrage.

Numéros des conflits d’initialisation (exploitation globale de l’octetindicateur) :

Octet indicateur

Signification

33 Les pages nécessaires à la communication multi-processeur (n° 252 à n° 255) n’existent pas ou sont incomplètes.

34 Les pages nécessaires à la communication multi-processeur (n° 252 à n° 255) présentent une erreur.

35 Le paramètre "Automatique/Manuel" est incorrect. On distingue les cas suivants :

- indicatif "Automatique/Manuel" inférieur à 1,- indicatif "Automatique/Manuel" supérieur à 2.

36 Le paramètre "nombre de CPU" est incorrect. On distingue les cas suivants :

- nombre de CPU inférieur à 2,- nombre de CPU supérieur à 4.

37 Le paramètre "type de bloc" est incorrect. On distingue les cas suivants :

- type de bloc inférieur à 1,- type de bloc supérieur à 2.

38 Le paramètre "numéro de bloc" est incorrect ; il s’agit d’un bloc de données de signification particulière. On distingue les cas suivants :

- si le type de bloc = 1 : DB 0, DB 1,- si le type de bloc = 2 : DX 0

39 Le paramètre "numéro de bloc" est erroné : le bloc de données paramétré n’existe pas.

40 Le paramètre "adresse de début de la liste d’assignation" est trop grand ou le bloc de données trop court.

Supposons que la fonction "Emission" affiche uneerreur et ne démarre pas. Si vous modifiez alorsle programme ou les paramètres et que la fonction"Emission" signale à nouveau une erreur de numérosupérieur au précédent, cela veut dire que vousavez supprimé une erreur parmi plusieurs.

Tableau 10-3 Octet indicateur : numéros des conflits d’initialisation

Communication multiprocesseur

Programmation de la CPU 948C79000-G8577-C848-04 10 - 27

Page 432: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Octet indicateur

Signification

Suite du tableau 10-3

41 La liste d’assignation dans le bloc de données n’est pas organisée correctement.

42 La somme des blocs de mémoire attribués est supérieure à 48.

Erreurs L’apparition d’une erreur nécessite une modification du programmeou du paramétrage.

Numéros d’erreur (exploitation globale de l’octet indicateur) :

Octet indicateur

Signification

65 Le paramètre "CPU réceptrice" ("Emission", "Test d’émission") est incorrect. On distingue les cas suivants :

- Le numéro de la CPU réceptrice est supérieur à 4.- Le numéro de la CPU réceptrice est inférieur à 1.- Le numéro de la CPU réceptrice est celui de la CPU

émettrice.

66 Le paramètre "CPU émettrice" ("Réception", "Test de réception") est incorrect. On distingue les cas suivants :

- Le numéro de la CPU émettrice est supérieur à 4.- Le numéro de la CPU émettrice est inférieur à 1.- Le numéro de la CPU émettrice est celui de la CPU

réceptrice.

67 L’appel du bloc d’organisation de fonction spéciale est erroné ("Emission", "Réception", "Test d’émission","Test de réception"). On distingue les cas suivants :

- Erreur redondante : la fonction "Initialisation" n’a pas été appelée ou a été terminée avec conflit d’initialisation.

- Double appel : l’appel de cette fonction "Emission", "Test d’émission", "Réception" ou "Test de récep-tion" est incorrect, car une des fonctions "Initialisa-tion", "Emission", "Test d’émission", "Réception" ou "Test de réception" a déjà été appelée dans cette CPU à un niveau de traitement subordonné (par exemple, traitement cyclique du programme).

- Le numéro de la CPU traitant la fonction est erroné (données système détruites). Le numéro de CPU est généré à nouveau par le programme système après coupure et rétablissement de la tension secteur.

Tableau 10-4 Octet indicateur : numéros d’erreur

Communication multiprocesseur

Programmation de la CPU 94810 - 28 C79000-G8577-C848-04

Page 433: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Octet indicateur

Signification

Suite du tableau 10-4

68 Les données de gestion (gestion de la file d’attente) desliaisons choisies sont erronées. La mémoire intermé-diaire du coordinateur 923C doit être organisée ànouveau à l’aide de la fonction "Initialisation" (ce caspeut se produire lors des fonctions "Emission","Réception", "Test d’émission" ou "Test de réception").

69 Le paramètre "type de bloc" ("Emission") ou le type debloc transmis par l’émetteur ("Réception") est incorrect. On distingue les cas suivants :

- Le type de bloc est inférieur à 1.- Le type de bloc est supérieur à 2.

70 Le paramètre "numéro de bloc" ("Emission") ou lenuméro de bloc transmis par l’émetteur ("Réception") est incorrect, car il s’agit d’un bloc de données de signi-fication particulière. On distingue les cas suivants :

- Si le type de bloc = 1 : DB 0, DB 1- Si le type de bloc = 2 : DX 0

71 Le paramètre "numéro de bloc" ("Emission") ou lenuméro de bloc transmis par l’émetteur ("Réception") esterroné. Le bloc de données paramétré n’existe pas.

72 Le paramètre "numéro de paquet" ("Emission") esterroné. Le bloc de données est trop court ou le numérode paquet trop grand.

73 Le bloc de données est trop court et ne peut pas accepterle paquet de données transmis par l’émetteur ("Récep-tion").

Communication multiprocesseur

Programmation de la CPU 948C79000-G8577-C848-04 10 - 29

Page 434: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Avertissement La fonction n’a pas pu être exécutée. Il faut l’appeler à nouveau, parexemple au cycle suivant.

Numéros d’avertissement (exploitation globale de l’octet indicateur) :

Octet indicateur

Signification

129 La fonction "Emission" ne peut pas transmettre de données, la capacité d’émission étant déjà nulle lors de l’appel de la fonction.

130 La fonction "Réception" ne peut pas recevoir dedonnées, la capacité de réception étant déjà nulle lors del’appel de la fonction.

Tableau 10-5 Octet indicateur : numéros d’avertissement

Communication multiprocesseur

Programmation de la CPU 94810 - 30 C79000-G8577-C848-04

Page 435: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.3 Temps d’exécution des OB de communication

Le temps d’exécution correspond à la durée de traitement des blocsd’organisation de fonctions spéciales. Le laps de temps entre l’appeld’un bloc et sa fin peut être bien supérieur si le bloc est interrompupar des activités prioritaires (par exemple, traitement de cellules detemporisation, etc.).

OB de fonctions spéciales

Nom du bloc CPU 922 CPU 928 CPU 928B CPU 946/947

CPU 948

OB 200/Initialisation

230 ms 130 ms 130 ms 128 ms 90 ms

OB 202/Emission

806 µs (294 µsde base

+ 16 µs/mot) ;118 µs sialarme

666 µs (250 µs de base

+ 13 µs/mot) ;115 µs sialarme

696 µs (280 µs de base

+ 13 µs/mot) ;145 µs sialarme

762 µs (426 µs de base

+ 21 µs/doublemot) ;

243 µs sialarme

542 µs (220 µs de base

+ 19 µs/doublemot) ;

110 µs sialarme

OB 203/ Test d’émission

72 µs 50 µs 80 µs 207µs 115 µs

OB 204/ Réception

825 µs (281 µsde base

+ 17 µs/mot) ;115 µs sialarme

660 µs (244 µsde base

+ 13 µs/mot) ;98 µs sialarme

690 µs (274 µsde base

+ 13 µs/mot) ;128 µs sialarme

772 µs (421 µsde base

+ 22 µs/doublemot) ;

243 µs sialarme

506 µs (218 µs de base

+ 18 µs/doublemot) ;

132 µs sialarme

OB 205/Test de réception

70 µs 48 µs 78 µs 223 µs 120 µs

Les temps d’exécution mentionnés dans le tableau 10-6 ne sont valab-les que si, parmi les quatre CPU enfichées, seule la CPU dont onmesure les temps d’exécution accède au bus S5. Si d’autres CPU utili-sent le bus de façon intensive, le temps d’exécution augmente ; c’estle cas particulièrement pour l’émission et la réception.

Tableau 10-6 Temps d’exécution des OB de communication

Temps d’exécution des OB de communication

Programmation de la CPU 948C79000-G8577-C848-04 10 - 31

Page 436: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Temps de transfert Une caractéristique importante d’une liaison (par exemple, de laCPU 1 vers la CPU 2) est le temps de transfert total. Il se compose destrois temps partiels suivants :

•• durée d’émission (voir temps d’exécution),

•• durée du stockage intermédiaire (dans le coordinateur COR 923C)

et

•• durée de réception (voir temps d’exécution).

Le laps de temps pendant lequel les données à transférer sont "en route" dépend essentiellement de la durée du stockage inter-médiaire et donc de la structure du programme utilisateur (cf. paragraphe 10.2.3, "Stockage intermédiaire des données").

Temps d’exécution des OB de communication

Programmation de la CPU 94810 - 32 C79000-G8577-C848-04

Page 437: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.4 Fonction "Initialisation" (OB 200)

10.4.1Fonction Pour pouvoir transférer des données d’une CPU émettrice à une CPU

réceptrice, il faut tout d’abord les stocker provisoirement. La fonction"Initialisation" organise à cet effet la mémoire intermédiaire du coordi-nateur COR 923C.La capacité de mémoire est installée (initialisée) en blocs de mémoired’une taille fixe de 32 mots.

Chaque bloc de mémoire peut recevoir un paquet de données de longu-eur comprise entre 1 et 32 mots de données. Un paquet de données estinscrit par la fonction "Emission" dans un bloc de mémoire et en estextrait par la fonction "Réception".

Deux CPU enfichées définissent deux liaisons (sens de transfert,"voies") :

Trois CPU enfichées définissent six liaisons :

CPU 1 CPU 2

CPU 2

CPU 3

CPU 1

Fonction "Initialisation" (OB 200)

Programmation de la CPU 948C79000-G8577-C848-04 10 - 33

Page 438: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Quatre CPU enfichées définissent douze liaisons :

La fonction "Initialisation" répartit les 48 blocs de mémoire entre les liai-sons (12 liaisons au maximum).En d’autres termes, une certaine capacité de mémoire est attribuée àchaque liaison possible, cette dernière étant caractérisée par les pa-ramètres "CPU émettrice" et "CPU réceptrice".

NotaAvant que les fonctions "Emission", "Réception", "Test d’émission"et "Test de réception" puissent être appelées sur les CPU, la fonction"Initialisation" doit avoir été appelée et exécutée totalement et sanserreur sur une des CPU.

Si la fonction "Initialisation" est appelée plusieurs fois de suite, l’orga-nisation (liste d’assignation) paramétrée en dernier est valable.Lorsque la fonction "Initialisation" est en cours de traitement sur l’unedes CPU, les autres fonctions de la communication multiprocesseur etla fonction "Initialisation" elle-même ne doivent pas être appelées surles autres CPU.

CPU 3 CPU 4

CPU 1 CPU 2

Fonction "Initialisation" (OB 200)

Programmation de la CPU 94810 - 34 C79000-G8577-C848-04

Page 439: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.4.2Paramètres d’appel

Structure du champ dedonnées des paramètres

Avant l’appel de l’OB 200, il faut mettre à disposition les paramètresd’entrée en les écrivant dans le champ de données. L’OB 200 nécessi-te 8 octets de mémentos M dans le champ de données pour les pa-ramètres d’entrée et de sortie.

MB x + 0 : Mode automatique/manuel Paramètre d’entréeMB x + 1 : Nombre de CPU Paramètre d’entréeMB x + 2 : Type de bloc Paramètre d’entréeMB x + 3 : Numéro de bloc Paramètre d’entréeMB x + 4 : Adresse de début Paramètre d’entréeMB x + 5 : de la liste d’assignation

MB x + 6 : Octet indicateur Paramètre de sortieMB x + 7 : Capacité totale Paramètre de sortie

ACCU 1-L Lors de l’appel de l’OB 200, vous indiquez dans l’ACCU 1-L lenuméro de l’octet de mémentos où commence le champ de données deparamétrage : ACCU 1-LH : 0ACCU 1-LL : 0 à 246

10.4.3Paramètres d’entrée

Mode automatique oumanuel

Mode = 1 : Automatique Mode = 2 : ManuelMode = 0 ou 3 à 255 : Non autorisé, provoque un

conflit d’initialisation.

Nombre de CPU Ce paramètre n’est significatif qu’en mode automatique pour lequelles blocs de mémoire disponibles sont répartis de manière égale enfonction du nombre de CPU.

Nombre de CPU

Nombre de liaisons Nombre de blocs demémoire par liaison

2

3

4

2

6

12

24

8

4

0 ; 1 ; 5 à 255 non autorisé, provoque un conflit d’initialisation

Fonction "Initialisation" (OB 200)

Programmation de la CPU 948C79000-G8577-C848-04 10 - 35

Page 440: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Type de bloc, numéro de bloc,adresse de la listed’assignation

Ces paramètres ne sont significatifs qu’en mode manuel. Vous devezalors mettre à disposition, dans un bloc de données, une liste d’assi-gnation dans laquelle les 48 (ou moins) blocs de mémoire disponiblessont répartis entre les liaisons existantes (12 au maximum) suivant unschéma défini. Cette fonction est particulièrement utile lorsque lesCPU n’échangent pas entre elles des volumes de données identiques.L’attribution de blocs de mémoire aux CPU qui ne participent pas à lacommunication multiprocesseur n’a pas de sens. Les paramètres :

•• type de bloc,

•• numéro de bloc

et

•• adresse de début de la liste d’assignation

définissent l’emplacement de la liste d’assignation.

Type de bloc Type = 1 : bloc de données DBType = 2 : bloc de données DXType = 0 ou 3 à 255 : non autorisé, provoque

un conflit d’initialisation

Numéro de bloc Comme numéro de bloc, indiquez le numéro du bloc de données DBou DX qui contient la liste d’assignation.

Adresse de début dela liste d’assignation

Elle donne, en liaison avec le type et le numéro de bloc, la zone − plusprécisément l’adresse de début de la zone − dans le bloc de donnéesoù se trouve la liste d’assignation.Comme adresse de la liste d’assignation, indiquez dans les octets demémentos MB x+4 (octet de poids fort) et MB x+5 (octet de poids fai-ble), les numéros de mots de données à partir desquels débute la listed’assignation.

Fonction "Initialisation" (OB 200)

Programmation de la CPU 94810 - 36 C79000-G8577-C848-04

Page 441: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Liste d’assignation La liste d’assignation détermine le nombre de blocs de mémoire (surles 48) à affecter aux différentes liaisons.

La liste n’est pas modifiée par le programme système. Elle présentela structure suivante :

Mot dedonnées

Format Valeur Signification

DW n + 0DW n + 1DW n + 2DW n + 3

KCKYKYKY

S12 , a3 , b4 , c

Emetteur = CPU 1Récepteur = CPU 2Récepteur = CPU 3Récepteur = CPU 4

DW n + 4DW n + 5DW n + 6DW n + 7

KCKYKYKY

S21 , d3 , e4 , f

Emetteur = CPU 2Récepteur = CPU 1Récepteur = CPU 3Récepteur = CPU 4

DW n + 8DW n + 9DW n + 10DW n + 11

KCKYKYKY

S31 , g2 , h4 , i

Emetteur = CPU 3Récepteur = CPU 1Récepteur = CPU 2Récepteur = CPU 4

DW n + 12DW n + 13DW n + 14DW n + 15

KCKYKYKY

S41 , k2 , l3 , m

Emetteur = CPU 4Récepteur = CPU 1Récepteur = CPU 2Récepteur = CPU 3

Les lettres minuscules a à m (imprimées ici en gras) doivent être rem-placées par des chiffres compris entre 0 et 48, selon l’affectation desblocs de mémoire ; leur somme ne doit pas dépasser 48.

NotaLa structure indiquée dans le tableau 10-7 doit être respectée mêmelorsque moins de quatre CPU sont enfichées.

Tableau 10-7 Liste d’assignation pour l’OB 200 (initialisation)

Fonction "Initialisation" (OB 200)

Programmation de la CPU 948C79000-G8577-C848-04 10 - 37

Page 442: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple

10.4.4Paramètres de sortie

Octet indicateur Cet octet indique si la fonction "Initialisation" a été exécutée entière-ment et de façon correcte.

Conflit d’initialisation Les conflits d’initialisation apparus sont détectés et affichés par la fon-ction dans l’ordre croissant de leurs numéros.

L’apparition d’un conflit d’initialisation nécessite une modification duprogramme ou du paramétrage.

Tous les numéros qui figurent dans le tableau 10-3 peuvent apparaîtredans l’octet indicateur.

Trois CPU sont enfichées. La CPU 2 doit envoyer beaucoup de données auxdeux autres qui, par contre, ne renvoient à la CPU 2 que peu de données, àsavoir les signalisations en retour dans le cadre d’un échange d’acquitte-ments. Les CPU 1 et 3 n’échangent pas de données entre elles.

La liste d’assignation figure dans le bloc de données DB 40 à partir duDW 0 avec les paramètres suivants :

DB40 FD: CPU948ST.S5D

0: KC = S1; Emetteur : CPU 1 1: KY = 2, 2; Récepteur : CPU 2, 2 blocs 2: KY = 3, 0; Récepteur : CPU 3, pas de bloc

3: KY = 4, 0; Récepteur : CPU 4 (n’existe pas), pas de bloc 4: KC = S2; Emetteur : CPU 2 5: KY = 1, 22 ; Récepteur : CPU 1, 22 blocs 6: KY = 3, 22; Récepteur : CPU 3, 22 blocs 7: KY = 4, 0; Récepteur : CPU 4 (n’existe pas), pas de bloc 8: KC = S3; Emetteur : CPU 3 9: KY = 1, 0; Récepteur : CPU 1, pas de bloc10: KY = 2, 2; Récepteur : CPU 2, 2 blocs

11: KY = 4, 0; Récepteur : CPU 4 (n’existe pas), pas de bloc12: KC = S4; Emetteur : CPU 4 (n’existe pas)13: KY = 1, 0; Récepteur : CPU 1, pas de bloc14: KY = 2, 0; Récepteur : CPU 2, pas de bloc15: KY = 3,0; Récepteur : CPU 3, pas de bloc16:

Fonction "Initialisation" (OB 200)

Programmation de la CPU 94810 - 38 C79000-G8577-C848-04

Page 443: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Erreurs Un code d’erreur du groupe de numéros "Erreur" ne peut pas seprésenter dans le cadre de la fonction "Initialisation".

Avertissements Un code d’erreur du groupe de numéros "Avertissement" ne peut passe présenter dans le cadre de la fonction "Initialisation".

Capacité totale Ce paramètre donne le nombre de blocs de mémoire qui, parmi les 48disponibles, sont attribués aux liaisons. En mode automatique, ce pa-ramètre contient toujours la valeur 48. En mode manuel, cette valeurpeut être inférieure à 48 ; dans ce cas, la capacité de mémoire disponi-ble n’est pas totalement utilisée.

Fonction "Initialisation" (OB 200)

Programmation de la CPU 948C79000-G8577-C848-04 10 - 39

Page 444: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.5 Fonction "Emission" (OB 202)

10.5.1Fonction La fonction "Emission" transfère un paquet de données dans la mémoi-

re intermédiaire du coordinateur COR 923C. Elle indique de plus com-bien de paquets de données peuvent encore être émis et stockés enmémoire intermédiaire.

10.5.2Paramètres d’appel

Structure du champ dedonnées des paramètres

Avant l’appel de l’OB 202, il faut mettre à disposition les paramètresd’entrée en les écrivant dans le champ de données. L’OB 202 occupe6 octets de mémentos M dans le champ de données pour les paramètresd’entrée et de sortie.

MB x + 0 : CPU réceptrice Paramètre d’entréeMB x + 1 : Type de bloc Paramètre d’entréeMB x + 2 : Numéro de bloc Paramètre d’entréeMB x + 3 : Numéro de paquet Paramètre d’entrée

MB x + 4 : Octet indicateur Paramètre de sortieMB x + 5 : Capacité d’émission Paramètre de sortie

ACCU 1-L Lors de l’appel de l’OB 202, vous indiquez dans l’ACCU 1-L lenuméro de l’octet de mémentos où commence le champ de données deparamétrage :

ACCU 1-LH : 0ACCU 1-LL : 0 à 246

10.5.3Paramètres d’entrée

CPU réceptrice Numéro de CPU du récepteur (destination)La valeur admise est comprise entre 1 et 4, mais doit être différente dunuméro de l’émetteur.

Fonction "Emission" (OB 202)

Programmation de la CPU 94810 - 40 C79000-G8577-C848-04

Page 445: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Type de bloc Type = 1 : Bloc de données DBType = 2 : Bloc de données DXType = 0 ou 3 à 255 : Non autorisé, génère un

message d’erreur

Numéro de bloc Le numéro de bloc détermine, en liaison avec le type de bloc et lenuméro de paquet, la zone dans laquelle les données à émettre doiventêtre lues (et dans laquelle elles seront déposées dans la CPU réceptrice).

Notez que certains blocs de données ont une signification particulière,par exemple DB 0, DB 1 ou DX 0 (voir les chapitres correspondants).Ils ne peuvent donc pas être utilisés pour le transfert de données décritici.En cas d’utilisation de ces blocs de données, la fonction est interrom-pue et un message d’erreur est émis.

Numéro de paquet Le numéro de paquet définit la zone de données à émettre.

Numéro de paquet

Zone de données

premier mot de données dernier mot de données

01

23

45

67

89::

DW 0DW 32

DW 64DW 96

DW 128DW 160

DW 192DW 224

DW 256DW 288

::

DW 31DW 63

DW 95DW 127

DW 159DW 191

DW 223DW 255

DW 287DW 319

::

Fonction "Emission" (OB 202)

Programmation de la CPU 948C79000-G8577-C848-04 10 - 41

Page 446: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

On distingue les cas suivants :

•• Le DB est plus long que la zone source :Si le bloc de données est suffisamment long, on obtient une zonede 32 mots par paquet selon le tableau ci-avant.

•• Le DB est trop court : Lorsque la fin du bloc de données se trouve dans le paquet pa-ramétré, une zone dont la longueur est comprise entre 1 et 31 motsest transférée dans le dernier paquet.

•• Le paquet se trouve en dehors du DB :Si la première adresse de mot de données déterminée pour unpaquet se trouve au-delà de la longueur du bloc de données, la fon-ction "Emission" détecte et signale une erreur.

Exemple

10.5.4Paramètres de sortie

Octet indicateur Cet octet indique si la fonction "Emission" a été exécutée entièrementet de manière correcte.

Conflit d’initialisation Il ne peut pas se produire de conflit d’initialisation pendant l’exécuti-on de la fonction "Emission".

Bloc de données d’une longueur de 80 mots : DW 0à DW 74, 5 mots constituant l’en-tête du bloc.

Numéro de Premier mot Dernier motpaquet de données de données Longueur

0 DW 0 DW 31 32 mots1 DW 32 DW 63 32 mots

2 DW 64 DW 74 11 mots

≥ 3 Paramétrage erroné

Fonction "Emission" (OB 202)

Programmation de la CPU 94810 - 42 C79000-G8577-C848-04

Page 447: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Erreurs A l’appel de la fonction "Emission" les numéros d’erreur suivants peu-vent apparaître (exploitation globale de l’octet indicateur) :

Octet indicateur

Signification

65 Le paramètre "CPU réceptrice" est incorrect.On distingue les cas suivants :

- Le numéro de la CPU réceptrice est supérieur à 4.- Le numéro de la CPU réceptrice est inférieur à 1.- Le numéro de la CPU réceptrice est celui de la

CPU traitant la fonction.

67 L’appel du bloc d’organisation de fonction spéciale estincorrect. On distingue les cas suivants :

- Erreur redondante ; la fonction "Initialisation" n’a pas été appelée ou s’est terminée par un conflit d’initialisation.

- Double appel : l’appel de cette fonction "Emis-sion", "Test d’émission", "Réception" ou "Test de réception" est incorrect, car une des fonctions "Initialisation", "Emission", "Réception", "Test d’émission" ou "Test de réception" a déjà été appelée dans cette CPU à un niveau de traitement subordonné (par exemple, traitement cyclique du programme).

- Le numéro de la CPU traitant la fonction est erroné (données système détruites). Le numéro de la CPU est généré à nouveau par le programme système après coupure et rétablissement de la tension secteur.

68 Les données de gestion (gestion de la file d’attente) des liaisons choisies sont erronées. La mémoire inter-médiaire du coordinateur 923C doit être organisée à nouveau à l’aide de la fonction "Initialisation".

69 Le paramètre "type de bloc" est incorrect. On distingue les cas suivants :

- Le type de bloc est inférieur à 1.- Le type de bloc est supérieur à 2.

70 Le paramètre "numéro de bloc" est incorrect car ils’agit d’un bloc de données de signification particu-lière. On distingue les cas suivants :

- Si le type de bloc = 1 : DB 0, DB 1- Si le type de bloc = 2 : DX 0

71 Le paramètre "numéro de bloc" est erroné. Le bloc de données paramétré n’existe pas.

72 Le paramètre "numéro de paquet" est erroné. Le blocde données est trop court ou le numéro de paquet tropélevé.

Fonction "Emission" (OB 202)

Programmation de la CPU 948C79000-G8577-C848-04 10 - 43

Page 448: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Avertissements La fonction n’a pas pu être exécutée. Il faut l’appeler à nouveau, parexemple au cycle suivant.

Le numéro d’avertissement suivant peut apparaître (exploitation globa-le de l’octet indicateur) :

Octet indicateur

Signification

129 La fonction "Emission" ne peut pas transmettre de données, la capacité d’émission (voir plus bas) étant déjà nulle lors de l’appel de la fonction.

Capacité d’émission Le paramètre "capacité d’émission" indique le nombre de paquets dedonnées pouvant être émis et stockés en mémoire intermédiaire.

Fonction "Emission" (OB 202)

Programmation de la CPU 94810 - 44 C79000-G8577-C848-04

Page 449: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.6 Fonction "Test d’émission" (OB 203)

10.6.1Fonction La fonction "Test d’émission" détermine le nombre "m" de blocs de

mémoire libres dans la mémoire intermédiaire du coordinateur COR923C. Selon ce nombre "m", la fonction "Emission" peut être appelée"m" fois pour transmettre "m" paquets de données.

10.6.2Paramètres d’appel

Structure du champ dedonnées des paramètres

Avant l’appel de l’OB 203, il faut mettre à disposition les paramètresd’entrée en les écrivant dans le champ de données. L’OB 203 occupe4 octets de mémentos M dans le champ de données pour les pa-ramètres d’entrée et de sortie.

MB x + 0 : CPU réceptrice Paramètre d’entréeMB x + 1 : — non affecté

MB x + 2 : Octet indicateur Paramètre de sortieMB x + 3 : Capacité d’émission Paramètre de sortie

ACCU 1-L Lors de l’appel de l’OB 203, vous indiquez dans l’ACCU 1-L lenuméro de l’octet de mémentos où commence le champ de données deparamétrage :

ACCU 1-LH : 0ACCU 1-LL : 0 à 246

10.6.3Paramètres d’entrée

CPU réceptrice Le numéro de la CPU traitant la fonction ainsi que le numéro de laCPU réceptrice définissent la liaison pour laquelle la capacité d’émis-sion est déterminée.

10.6.4Paramètres de sortie

Octet indicateur Cet octet indique si la fonction "Test d’émission" a été traitée entièrementet de manière correcte.

Fonction "Test d’émission" (OB 203)

Programmation de la CPU 948C79000-G8577-C848-04 10 - 45

Page 450: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Confit d’initialisation Il ne peut pas se produire de conflit d’initialisation pendant l’exécuti-on de la fonction "Test d’émission".

Erreurs A l’appel de la fonction "Test d’émission", les numéros d’erreur sui-vants peuvent apparaître (exploitation globale de l’octet indicateur) :

Octet indicateur

Signification

65 Le paramètre "CPU réceptrice" est incorrect.On distingue les cas suivants :

- Le numéro de la CPU réceptrice est supérieur à 4.- Le numéro de la CPU réceptrice est inférieur à 1.- Le numéro de la CPU réceptrice est celui de la

CPU traitant la fonction.

67 L’appel du bloc d’organisation de fonction spéciale est incorrect. On distingue les cas suivants :

- Erreur redondante ; la fonction "Initialisation" n’a pas été appelée ou s’est terminée par un conflit d’initialisation.

- Double appel : l’appel de cette fonction "Emis-sion", "Test d’émission", "Réception" ou "Test de réception" est incorrect, car une des fonctions "Initialisation", "Emission", "Réception", "Test d’émission" ou "Test de réception" a déjà été appelée dans cette CPU à un niveau de traitement subordonné (par exemple, traitement cyclique du programme).

- Le numéro de la CPU traitant la fonction est erroné (données système détruites). Le numéro de la CPU est généré à nouveau par le programme système après coupure et rétablissement de la tension secteur.

68 Les données de gestion (gestion de la file d’attente) des liaisons choisies sont erronées. La mémoire inter-médiaire du coordinateur 923C doit être organisée à nouveau à l’aide de la fonction "Initialisation".

Avertissements La fonction "Test d’émission" n’entraîne pas l’émission d’avertissements.

Capacité d’émission Le paramètre "capacité d’émission" indique le nombre de paquets dedonnées pouvant être émis et stockés en mémoire intermédiaire.

Fonction "Test d’émission" (OB 203)

Programmation de la CPU 94810 - 46 C79000-G8577-C848-04

Page 451: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.7 Fonction "Réception" (OB 204)

10.7.1Fonction La fonction "Réception" lit un paquet de données dans la mémoire in-

termédiaire du coordinateur COR 923C. Elle indique de plus combiende paquets de données sont encore stockés et peuvent encore êtrereçus. La fonction "Réception" doit être appelée dans une boucle de program-me autant de fois qu’il est nécessaire pour que tous les paquets dedonnées mémorisés soient lus.

10.7.2Paramètres d’appel

Structure du champ dedonnées des paramètres

Avant l’appel de l’OB 204, il faut mettre à disposition les paramètresd’entrée en les écrivant dans le champ de données. L’OB 204 occupe10 octets de mémentos M dans le champ de données pour les pa-ramètres d’entrée et de sortie.

MB x + 0 : CPU émettrice Paramètre d’entréeMB x + 1 : — non utilisé

MB x + 2 : Octet indicateur Paramètre de sortieMB x + 3 : Capacité de réception Paramètre de sortieMB x + 4 : Type de bloc Paramètre de sortieMB x + 5 : Numéro de bloc Paramètre de sortieMB x + 6 : Adresse du premier Paramètre de sortieMB x + 7 : mot de données reçuMB x + 8 : Adresse du dernier Paramètre de sortieMB x + 9 : mot de données reçu

ACCU 1-L Lors de l’appel de l’OB 204, vous indiquez dans l’ACCU 1-L lenuméro de l’octet de mémentos où commence le champ de données deparamétrage :

ACCU 1-LH : 0ACCU 1-LL : 0 à 246

10.7.3Paramètres d’entrée

CPU réceptrice Le bloc de réception reçoit les données fournies par la CPU émettrice. Lenuméro de cette CPU peut être compris entre 1 et 4, mais doit êtredifférent du numéro de la CPU réceptrice.

Fonction "Réception" (OB 204)

Programmation de la CPU 948C79000-G8577-C848-04 10 - 47

Page 452: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.7.4Paramètres de sortie

Octet indicateur Cet octet indique si la fonction "Réception" a été exécutée entière-ment et de manière correcte.

Conflit d’initialisation Il ne peut pas se produire de conflit d’initialisation pendant l’exécuti-on de la fonction "Réception".

Erreurs A l’appel de la fonction "Réception", les numéros d’erreur suivantspeuvent apparaître (exploitation globale de l’octet indicateur) :

Octet indicateur

Signification

66 Le paramètre "CPU émettrice" est incorrect.On distingue les cas suivants :

- Le numéro de la CPU émettrice est supérieur à 4.- Le numéro de la CPU émettrice est inférieur à 1.- Le numéro de la CPU émettrice est celui de la

CPU traitant la fonction.

67 L’appel du bloc d’organisation de fonction spéciale est incorrect. On distingue les cas suivants :

- Erreur redondante ; la fonction "Initialisation" n’a pas été appelée ou s’est terminée par un conflit d’initialisation.

- Double appel : l’appel de cette fonction "Emis-sion", "Test d’émission", "Réception" ou "Test de réception" est incorrect, car une des fonctions "Initialisation", "Emission", "Réception", "Test d’émission" ou "Test de réception" a déjà été appelée dans cette CPU à un niveau de traitement subordonné (par exemple, traitement cyclique du programme).

- Le numéro de la CPU traitant la fonction est erroné (données système détruites). Le numéro de la CPU est généré à nouveau par le programme système après coupure et rétablissement de la tension secteur.

68 Les données de gestion (gestion de la file d’attente) des liaisons choisies sont erronées. La mémoire inter-médiaire du coordinateur 923C doit être organisée à nouveau à l’aide de la fonction "Initialisation".

69 Le type de bloc envoyé par l’émetteur est incorrect. On distingue les cas suivants :

- Le type de bloc est inférieur à 1.- Le type de bloc est supérieur à 2.

Fonction "Réception" (OB 204)

Programmation de la CPU 94810 - 48 C79000-G8577-C848-04

Page 453: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Octet indicateur

Signification

Suite des numéros d’erreur

70 Le numéro de bloc envoyé par l’émetteur est incorrect, car il s’agit d’un bloc de données de signification particulière. On distingue les cas suivants :

- Si le type de bloc = 1 : DB 0, DB 1- Si le type de bloc = 2 : DX 0

71 Le numéro de bloc envoyé par l’émetteur est erroné. Le bloc de données paramétré n’existe pas.

73 Le bloc de données est trop court pour accepter lepaquet de données envoyé par l’émetteur.

Avertissements La fonction n’a pas pu être exécutée. Il faut l’appeler à nouveau, parexemple au cycle suivant.

Le numéro d’avertissement suivant peut apparaître (exploitation globa-le de l’octet indicateur) :

Octetindicateur

Signification

130 La fonction "Réception" ne peut pas prendre en compte de données, la capacité de réception étant déjà nulle lors de l’appel de la fonction.

Capacité de réception Le paramètre "capacité de réception" indique le nombre de paquets dedonnées encore stockés en mémoire intermédiaire et pouvant être luspar la fonction "Réception".

Fonction "Réception" (OB 204)

Programmation de la CPU 948C79000-G8577-C848-04 10 - 49

Page 454: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Type de bloc Type = 1 : Bloc de données DBType = 2 : Bloc de données DXType = 0 ou 3 à 255 : non autorisé, génère un

message d’erreur

Numéro de bloc Numéro du bloc DB/DX dans lequel ont été reçues et stockées lesdonnées (et d’où elles ont été prises dans la CPU émettrice par la fon-ction "Emission").

Notez que les blocs de données de réception doivent se trouver dansune mémoire vive (RAM). L’utilisation de mémoires mortes(EPROM) ne se justifie que pour les blocs de données d’émission.

Adresse du premier mot de données reçu

Numéro de mot de données dans le DB/DX dans lequel a été stocké lepremier mot de données émis ou reçu.

Adresse du dernier motde données reçu

Numéro de mot de données dans le DB/DX dans lequel a été stocké ledernier mot de données émis ou reçu.

NotaLa différence entre les adresses du premier et du dernier mot dedonnées transmis est 31 au maximum. En effet, 32 mots au pluspeuvent être transférés à chaque appel de la fonction.

Fonction "Réception" (OB 204)

Programmation de la CPU 94810 - 50 C79000-G8577-C848-04

Page 455: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.8 Fonction "Test de réception" (OB 205)

10.8.1Fonction La fonction "Test de réception" détermine le nombre "m" de blocs de

mémoire occupés dans la mémoire intermédiaire du coordinateurCOR 923C. Selon ce nombre "m", la fonction "Réception" peut êtreappelée "m" fois pour lire "m" paquets de données.

10.8.2Paramètres d’appel

Structure du champ dedonnées des paramètres

Avant l’appel de l’OB 205, il faut mettre à disposition les paramètresd’entrée en les écrivant dans le champ de données. L’OB 205 occupe4 octets de mémentos M dans le champ de données pour les pa-ramètres d’entrée et de sortie.

MB x + 0 : CPU émettrice Paramètre d’entréeMB x + 1 : — non utilisé

MB x + 2 : Octet indicateur Paramètre de sortieMB x + 3 : Capacité de réception Paramètre de sortie

ACCU 1-L Lors de l’appel de l’OB 205, vous indiquez dans l’ACCU 1-L lenuméro de l’octet de mémentos où commence le champ de données deparamétrage :

ACCU 1-LH : 0ACCU 1-LL : 0 à 246

10.8.3Paramètres d’entrée

CPU émettrice Le numéro de la CPU traitant la fonction et le numéro de la CPUémettrice définissent la liaison pour laquelle la capacité de réceptionest calculée.

10.8.4Paramètres de sortie

Octet indicateur Cet octet indique si la fonction "Test de réception" a été traitée entière-ment et de manière correcte.

Conflit d’initialisation Il ne peut pas se produire de conflit d’initialisation pendant l’exécuti-on de la fonction "Test de réception".

Fonction "Test de réception" (OB 205)

Programmation de la CPU 948C79000-G8577-C848-04 10 - 51

Page 456: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Erreurs A l’appel de la fonction "Test de réception", les numéros d’erreur sui-vants peuvent apparaître (exploitation globale de l’octet indicateur) :

Octet indicateur

Signification

66 Le paramètre "CPU émettrice" est incorrect.On distingue les cas suivants :

- Le numéro de la CPU émettrice est supérieur à 4.- Le numéro de la CPU émettrice est inférieur à 1.- Le numéro de la CPU émettrice est celui de la

CPU traitant la fonction.

67 L’appel du bloc d’organisation de fonction spéciale est incorrect. On distingue les cas suivants :

- Erreur redondante ; la fonction "Initialisation" n’a pas été appelée ou s’est terminée par un conflit d’initialisation.

- Double appel : l’appel de cette fonction "Emis-sion", "Test d’émission", "Réception" ou "Test de réception" est incorrect, car une des fonctions "Initialisation", "Emission", "Réception", "Test d’émission" ou "Test de réception" a déjà été appelée dans cette CPU à un niveau de traitement subordonné (par exemple, traitement cyclique du programme).

- Le numéro de la CPU traitant la fonction est erroné (données système détruites). Le numéro de la CPU est généré à nouveau par le programme système après coupure et rétablissement de la tension secteur.

68 Les données de gestion (gestion de la file d’attente) des liaisons choisies sont erronées. La mémoire inter-médiaire du coordinateur 923C doit être organisée à nouveau à l’aide de la fonction "Initialisation".

Avertissements La fonction "Test de réception" n’entraîne pas l’émission d’avertisse-ments.

Capacité de réception Le paramètre "capacité de réception" indique le nombre de paquets dedonnées stockés en mémoire intermédiaire et pouvant être lus par lafonction "Réception".

Fonction "Test de réception" (OB 205)

Programmation de la CPU 94810 - 52 C79000-G8577-C848-04

Page 457: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.9 Applications

Ce paragraphe explique, à l’appui d’exemples, comment programmerla communication multiprocesseur.

NotaLorsque vous utilisez les blocs fonctionnels suivants et des OB detraitement d’alarmes (par exemple, OB 2), veillez à sauvegarder lesmémentos banalisés au début du traitement de l’interruption et à lesrestaurer à la fin.Cela s’applique aussi lorsque l’interruption aux limites de blocsest activée, étant donné que l’appel d’un bloc d’organisation defonction spéciale constitue une limite de bloc.

10.9.1Appel des OB de fonctionsspéciales par des blocs fon-ctionnels

Les cinq blocs fonctionnels décrits ci-après (FB 200 et FB 202 àFB 205) contiennent l’appel de l’OB de fonction spéciale correspon-dant pour la communication multiprocesseur (OB 200 et OB 202 àOB 205). Les numéros des blocs fonctionnels ont été choisis librement et peu-vent être modifiés. Les paramètres des OB de fonctions spéciales sonttransmis comme paramètres effectifs lors de l’appel des blocs fon-ctionnels. Bien que l’appel direct des OB de fonctions spéciales rédui-se le temps d’exécution, il est plus difficilement lisible du fait del’absence de paramètres formels.

Numéro de FB Nom de FB Fonction

FB 200

FB 202

FB 203

FB 204

FB 205

INITIAL

SENDEN

SEND-TST

EMPFANG

EMPF-TST

Initialisation

Emission d’un paquet de données

Test de capacité d’émission

Réception d’un paquet de données

Test de capacité de réception

Les blocs fonctionnels utilisent la zone de mémentos comprise entreMB 246 et MB 255 au maximum comme champ de paramètres pourles OB de fonctions spéciales.

La signification exacte des paramètres d’entrée et de sortie est donnéedans la description des OB de fonctions spéciales utilisés.

Applications

Programmation de la CPU 948C79000-G8577-C848-04 10 - 53

Page 458: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

NotaLes exemples donnés ci-après sont des applications exécutablesque vous pouvez reprendre dans votre programme.

Programmation des blocsfonctionnels

FB 200 : Initialisation des liaisons

FB 200

INITIAL

(1) AUMA INIK (5)

(2) ANZC GKAP (6)

(3) TNZU

(4) ANFZ

Nom duparamètre

Signification Type Format Champ deparamètres

AUMA

ANZC

TNZU

ANFZ

INIK

GKAP

Automatique/manuel

Nombre de CPU

Type (octet de poids fort) et numéro (octet de poids faible) du bloc de données contenant la liste d’assignation

Adresse de début de la liste d’assignation

Conflit d’initialisation

Capacité totale

E

E

E

E

A

A

BY

BY

W

W

BY

BY

MB 246

MB 247

MW 248

MW 250

MB 252

MB 253

Suite à la page suivante

Applications

Programmation de la CPU 94810 - 54 C79000-G8577-C848-04

Page 459: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite du FB 200

FB 200 LON=45SEGMENT 1 0000NOM :INITIALDESIG :AUMA E/A/D/B/T/Z: E BI/BY/W/D: BYDESIG :ANZC E/A/D/B/T/Z: E BI/BY/W/D: BYDESIG :TNZU E/A/D/B/T/Z: E BI/BY/W/D: WDESIG :ANFZ E/A/D/B/T/Z: E BI/BY/W/D: WDESIG :INIK E/A/D/B/T/Z: A BI/BY/W/D: BYDESIG :GKAP E/A/D/B/T/Z: A BI/BY/W/D: BY

0017 :L =AUMA Automatique/manuel0018 :T MB 2460019 :L =ANZC Nombre de CPU001A :T MB 247001B :L =TNZU Type de DB, numéro de DB001C :T MW 248001D :L =ANFZ Adresse de début de la liste d’assignation001E :T MW 250001F :0020 :L KB 246 OB de fonction spéciale :

0021 : SPA OB 200 "Initialisation"0022 :0023 :L MB 252 Conflit d’initialisation0024 :T =INIK0025 :L MB 253 Capacité totale0026 :T =GKAP0027 :BE

Applications

Programmation de la CPU 948C79000-G8577-C848-04 10 - 55

Page 460: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

FB 202 : Emission d’un paquet de données

FB 202

SENDEN

(1) ECPU FEWA (4)

(2) TNDB SKAP (5)

(3) BLNR

Nom du paramètre

Signification Type Format Champ de paramètres

ECPU

TNDB

BLNR

FEWA

SKAP

CPU réceptrice

Type (octet de poids fort) et numéro(octet de poids faible) du bloc dedonnées source

Numéro de paquet

Erreur/avertissement

Capacité d’émission

E

E

E

A

A

BY

W

BY

BY

BY

MB 246

MB 247

MW 249

MW 250

MB 251

FB 202 LON=40

SEGMENT 1 0000NOM :SENDEN DESIG:ECPU E/A/D/B/T/Z: E BI/BY/W/D: BYDESIG:TNDB E/A/D/B/T/Z: E BI/BY/W/D: WDESIG:BLNR E/A/D/B/T/Z: E BI/BY/W/D: BYDESIG:FEWA E/A/D/B/T/Z: A BI/BY/W/D: BYDESIG:SKAP E/A/D/B/T/Z: A BI/BY/W/D: BY

0014 :L =ECPU CPU réceptrice0015 :T MB 2460016 :L =TNDB Type de DB, numéro de DB0017 :T MW 2470018 :L =BLNR Numéro de paquet0019 :T MB 249001A :001B :L KB 246 OB de fonction spéciale :

001C : SPA OB 202 "Emission d’un paquet de données"001D :001E :L MB 250 Erreur ou avertissement001F :T =FEWA0020 :L MB 251 Capacité d’émission

Applications

Programmation de la CPU 94810 - 56 C79000-G8577-C848-04

Page 461: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

FB 203 : Test de capacité d’émission

FB 203

SEND-TST

(1) ECPU FEHL (2)

SKAP (3)

Nom duparamètre

Signification Type Format Champ deparamètres

ECPU

FEHL

SKAP

CPU réceptrice

Erreur

Capacité d’émission

E

A

A

BY

BY

BY

MB 246

MB 248

MB 249

FB 203 LON=30

SEGMENT 1 0000NOM :SEND-TSTDESIG:ECPU E/A/D/B/T/Z: E BI/BY/W/D: BYDESIG:FEHL E/A/D/B/T/Z: A BI/BY/W/D: BYDESIG:SKAP E/A/D/B/T/Z: A BI/BY/W/D: BY

000E :L =ECPU CPU réceptrice000F :T MB 2460010 :0011 :L KB 246 OB de fonction spéciale :0012 :SPA OB 203 "Test de capacité d’émission"0013 :0014 :L MB 248 Erreur0015 :T =FEHL0016 :L MB 249 Capacité d’émission0017 :T =SKAP0018 :BE

Applications

Programmation de la CPU 948C79000-G8577-C848-04 10 - 57

Page 462: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

FB 204 : Réception d’un paquet de données

FB 204

EMPFANG

(1) SCPU FEWA (2)

EKAP (3)

TNDB (4)

ANFA (5)

ENDA (6)

Nom du paramètre

Signification Type Format Champ deparamètres

SCPU

FEWA

EKAP

TNDB

ANFA

ENDA

CPU émettrice

Erreur/avertissement

Capacité de réception

Type (octet de poids fort) et numéro (octet de poids faible) du bloc de données destination

Adresse du premier mot de données reçu (adresse de début)

Adresse du dernier mot de données reçu (adresse de fin)

E

A

A

A

A

A

BY

BY

BY

W

W

W

MB 246

MB 248

MB 249

MW 250

MW 252

MW 254

Suite à la page suivante

Applications

Programmation de la CPU 94810 - 58 C79000-G8577-C848-04

Page 463: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite du FB 204

FB 204 LON=45

SEGMENT 1 0000NOM : EMPFANGDESIG:SCPU E/A/D/B/T/Z: E BI/BY/W/D: BYDESIG:FEWA E/A/D/B/T/Z: A BI/BY/W/D: BYDESIG:EKAP E/A/D/B/T/Z: A BI/BY/W/D: BYDESIG:TNDB E/A/D/B/T/Z: A BI/BY/W/D: WDESIG:ANFA E/A/D/B/T/Z: A BI/BY/W/D: WDESIG:ENDA E/A/D/B/T/Z: A BI/BY/W/D: W

0017 :L =SCPU CPU émettrice0018 :T MB 2460019 :001A :L KB 246 OB de fonction spéciale :001B :SPA OB 204 "Réception d’un paquet de données"001C :001D :L MB 248 Erreur ou avertissement001E :T =FEWA001F :L MB 249 Capacité de réception0020 :T =EKAP0021 :L MW 250 Type de DB, numéro de DB0022 :T =TNDB0023 :L MW 252 Adresse de début0024 :T =ANFA0025 :L MW 254 Adresse de fin0026 :T =ENDA0027 :BE

FB 205 : Test de capacité de réception

FB 205

EMPF-TST

(1) SCPU FEHL (2)

EKAP (3)

Nom duparamètre

Signification Type Format Champ deparamètres

SCPU

FEHL

EKAP

CPU émettrice

Erreur

Capacité de réception

E

A

A

BY

BY

BY

MB 246

MB 248

MB 249

Suite à la page suivante

Applications

Programmation de la CPU 948C79000-G8577-C848-04 10 - 59

Page 464: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.9.2Transfert de blocsde données

Dans l’exemple, le bloc fonctionnel UEBT-DAT (FB 110) transfèreun nombre paramétrable d’ensembles ou paquets de données apparten-ant à un bloc de données d’une CPU vers le bloc de données de mêmetype et de même numéro d’une autre CPU.Le numéro de FB (FB 110) a été choisi arbitrairement et peut être mo-difié.

Le présent paragraphe décrit d’abord la programmation du FB 110,puis son application.

Programmation du FB 110

Suite du FB 205

FB 205 LON=30

SEGMENT 1 0000NOM : EMPF-TSTDESIG:SCPU E/A/D/B/T/Z: E BI/BY/W/D: BYDESIG:FEHL E/A/D/B/T/Z: A BI/BY/W/D: BYDESIG:EKAP E/A/D/B/T/Z: A BI/BY/W/D: BY

000E :L =SCPU CPU émettrice000F :T MB 2460010 :0011 :L KB 246 OB de fonction spéciale :0012 :SPA OB 205 "Test de capacité de réception"0013 :0014 :L MB 248 Erreur0015 :T =FEHL0016 :L MB 249 Capacité de réception0017 :T =EKAP0018 :BE

FB 110 : Transfert d’un bloc de données

Enoncé du problème

La zone de données à transférer est déterminée par les paramètres d’entréeERSB (numéro du premier paquet de données à transférer) et ANZB (nombre depaquets de données à transférer). Un paquet de données comprend normalement32 mots de données. Suivant la longueur du bloc de données, le dernier paquetde données transféré contient éventuellement moins de 32 mots de données.

Le transfert est lancé par un front positif sur l’entrée de démarrage STAR.Si, après transfert, le paramètre de sortie REST est égal à zéro, celasignifie que le bloc fonctionnel UEBT-DAT a pu transférer tous les paquets dedonnées (suivant le paramètre ANZB).

Suite à la page suivante

Applications

Programmation de la CPU 94810 - 60 C79000-G8577-C848-04

Page 465: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite 1 du FB 110

Si le paramètre de sortie REST contient une valeur supérieure à 0, il fautencore appeler le bloc UEBT-DAT, par exemple au cycle suivant. Dans ce cas,le programme utilisateur ne peut modifier l’ensemble des paramètres que si,à l’appel suivant, le paramètre REST est nul, ce qui signifie que la zonede données a pu être transférée complètement.

Le bloc fonctionnel UEBT-DAT peut être appelé plusieurs fois avec desparamètres différents. Des zones de données différentes sont ainsitransférées simultanément (imbrication). De plus, il est possibled’utiliser "directement" les blocs d’organisation de fonctions spécialesOB 202 à OB 205 pour la communication multiprocesseur, ce qui est fait dansl’exemple d’application.

Si la fonction d’émission (OB 202) n’a pas pu être exécutée correctement àl’intérieur du bloc fonctionnel UEBT-DAT, le numéro d’erreur correspondant esttransmis dans le paramètre de sortie FEHL, le résultat logique RLG est mis à"1" et le paramètre de sortie REST à "0".

Le bloc fonctionnel UEBT-DAT utilise la zone des mémentos MB 246 à MB 251comme zone de mémentos banalisés. Par le mécanisme des paramètres formelset effectifs, des emplacements de mémoire sont attribués à toutes lesautres variables dont la valeur reste significative jusqu’à ce que leparamètre de sortie REST soit nul, après plusieurs appels du blocfonctionnel UEBT-DAT. Cette procédure est nécessaire pour transférersimultanément plusieurs blocs de données.

Réalisation

FB 110

UEBT-DAT

(1) STAR FEHL (6)

(2) ECPU REST (7)

(3) TNDB AKBN (8)

(4) ANZB FLAM (9)

(5) ERSB

Suite à la page suivante

Applications

Programmation de la CPU 948C79000-G8577-C848-04 10 - 61

Page 466: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite 2 du FB 110

Nom du paramètre

Signification Type Format

STAR

ECPU

TNDB

ANZB

ERSB

FEHL

REST

AKBN 1

FLAM 1

Démarrer le transfert du bloc de données sur front positif

CPU réceptrice

Type (octet de poids fort) et numéro (octet de poids faible) du bloc de données à transférer

Nombre de paquets de données à transférer

Numéro du premier paquet à émettre

Erreur

Nombre de paquets restant à transférer

Numéro du paquet de données en cours

Mémentos de front

E

E

E

E

E

A

A

A

A

BI

BY

W

BY

BY

BY

BY

BY

BI

1 Mémentos intermédiaires internes qui ne sont pas évalués.

FB 110 LON=89

SEGMENT 1 0000NOM :UEBT-DATDESIG:STAR E/A/D/B/T/Z: E BI/BY/W/D: BIDESIG:ECPU E/A/D/B/T/Z: E BI/BY/W/D: BYDESIG:TNDB E/A/D/B/T/Z: E BI/BY/W/D: WDESIG:ANZB E/A/D/B/T/Z: E BI/BY/W/D: BYDESIG:ERSB E/A/D/B/T/Z: E BI/BY/W/D: BYDESIG:FEHL E/A/D/B/T/Z: A BI/BY/W/D: BYDESIG:REST E/A/D/B/T/Z: A BI/BY/W/D: BYDESIG:AKBN E/A/D/B/T/Z: A BI/BY/W/D: BYDESIG:FLAM E/A/D/B/T/Z: A BI/BY/W/D: BI

0020 :L =ECPU Paramétrage du champ de para-0021 :T MB 246 mètres pour OB 2020022 :L =TNDB0023 :T MW 2470024 :

Suite à la page suivante

Applications

Programmation de la CPU 94810 - 62 C79000-G8577-C848-04

Page 467: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite 3 du FB 110

0025 :L =REST Emission préalable éventuelle0026 :L KB 0 de paquets encore présents0027 :><F0028 :SPB =UEBT0029 :002A :UN =STAR Front positif sur l’entrée START002B :RB =FLAM002C :ON =STAR002D :O =FLAM002E :SPB =GUT002F :S =FLAM0030 :0031 :L =ANZB Initialisation des mémentos0032 :T =REST globaux après un front positif0033 :L =ERSB sur l’entrée START0034 :T =AKBN0035 :0036 :L =REST Tant que REST ><0, 0038 SCHL:L KF+0 poursuivre l’émission de paquets0039 :!=F de données003A :SPB =GUT003B UEBT:L =AKBN003C :T MB 249003D :L KB 246 OB de fonction spéciale :003E :SPA OB 202 "Emission d’un paquet de données"003F :L MB 2500040 :SPM =FEHL Arrêt sur erreur0041 :SPP =GUT Arrêt si capacité d’émission nulle0042 :L =AKBN Incrémenter le numéro de paquet0043 :I 10044 :T =AKBN0045 :L =REST Décrémenter le nombre de0046 :D 1 paquets restants0047 :T =REST0048 :SPA =SCHL 0049 : 004A GUT :U M 0.0 Fin de programme sans erreur004B :UN M 0.0004C :L KB 0 RLG = 0, FEHL = 0004D :T =FEHL004E :BEA004F :0050 FEHL:T =FEHL Fin de programme avec erreur0051 :L KB 00052 :T =REST RLG = 1, FEHL contient le numéro

: d’erreur0053 :BE

Applications

Programmation de la CPU 948C79000-G8577-C848-04 10 - 63

Page 468: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Application du FB 110

Application du FB 110 pour S5-155U

Enoncé du problème

Dans le programme cyclique, la CPU 1 doit émettre les blocs de données DB 3(paquets de données 2 à 5) et DB 4 (paquets de données 1 à 3) vers la CPU 2.La fonction de réception (OB 204) doit également être appelée dans leprogramme cyclique de la CPU 2.

Réalisation

Fonction CPU 1 CPU 2

appelée dans : appelée dans :

Initialisation (OB 200)

Organisation de l’émission (FB 1)

Organisation de la réception (FB 2)

OB 20

OB 1

OB 1

existe : existe :

DB d’émission

DB de réception

DB 3, DB 4

DB 3, DB 4

Le programme utilisateur dans le bloc fonctionnel FB 1 de la CPU 1 contientdeux appels du bloc fonctionnel UEBT-DAT. Les jeux de paramètres associés àchacun de ces appels sont différents.La transmission du premier bloc de données DB 3 commence après un frontpositif sur l’entrée 2.0. Un front positif sur l’entrée 2.1 débute latransmission du deuxième bloc de données DB 4.

FB 1 LON=yy

SEGMENT 1 0000NOM :S-ORG0000 :L KB 2 Emettre vers la CPU 2 ..0001 :T MB 00002 :L KY 1,3 .. du bloc de données DB 30003 :T MW 10004 :L KB 4 .. 4 paquets de données0005 :T MB 30006 :L KB 2 .. à partir du paquet de données 20007 :T MB 40008 :

Suite à la page suivante

Applications

Programmation de la CPU 94810 - 64 C79000-G8577-C848-04

Page 469: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite 1 de l’exemple d’application

0009 :SPA FB 110000A NOM :UEBT-DAT000B STAR : E 2.0000C ECPU : MB 0000D TNDB : MW 1000E ANZB : MB 3000F ERSB : MB 40010 FEHL : MB 50011 REST : MB 60012 AKBN : MB 70013 FLAM : M 8.00014 :0015 :0016 :SPB =HALT Arrêt après erreur0017 :0018 :L KB 2 Emettre vers la CPU 2 ..0019 :T MB 10001A :L KY 1,4 .. du bloc de données DB 4001B :T MW 11001C :L KB 3 .. 3 paquets de données001D :T MB 13001E :L KB 1 .. à partir du paquet de données 1001F :T MB 140020 :0021 :SPA FB 1100023 NOM :UEBT-DAT0024 STAR : E 2.10025 ECPU : MB 100026 TNDB : MW 110027 ANZB : MB 130028 ERSB : MB 140029 FEHL : MB 5002A REST : MB16002B AKBN : MB17002C FLAM : M 8.1002D :002E :002F :SPB =HALT Arrêt après erreur0030 :BEA0031 :0032 HALT :0033 : Ici se produit le traitement de0034 : l’erreur (par exemple, arrêt, 0035 : impression du message, ...).0036 :

00xx :BE

Suite à la page suivante

Applications

Programmation de la CPU 948C79000-G8577-C848-04 10 - 65

Page 470: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

10.9.3Extension de la zone desmémentos de couplage

Description du problème Dans l’automate programmable S5-135U/155U, il est possibled’inscrire dans le bloc de données DB 1 chacun des 256 octets demémentos d’une CPU et d’obtenir ainsi des mémentos de couplaged’entrée ou de sortie. Cela réduit cependant le nombre d’octets demémentos utilisables "normalement". De plus, le transfert d’un enregi-strement de données de plusieurs octets nécessite des mesuressupplémentaires (sémaphores ou paramétrage du DX 0 pour le trans-fert par blocs des mémentos de couplage) afin d’éviter que la CPUréceptrice n’exploite un enregistrement de données qui n’a été trans-féré que partiellement.

Suite 2 de l’exemple d’application

La fonction de réception (OB 204) appelée par le FB 2 dans la CPU 2 transfèrechaque paquet de données émis dans le bloc de données correspondant. Letransfert complet d’un bloc de données peut se répartir sur plusieurs cycles.

FB 2 LON=yy

SEGMENT 1 0000NOM :E-ORG0000 :L KB 1 Recevoir des données de la CPU 10001 :T MB 2460002 :0003 SCHL :L KB 246 OB de fonction spéciale :0004 :SPA OB 204 "Réception"0005 :SPM =FEHL Arrêt sur erreur0006 :L MB 249 La fonction "Réception" est appelée 0007 :L KB 0 jusqu’à ce que la mémoire inter- 0008 :><F médiaire ne contienne plus de pa- 0009 :SPB =SCHL quets de données ; la capacité de000A : réception est alors nulle.000B :BEA000C FEHL :000D : Ici se produit le traitement de000E : l’erreur (par exemple, arrêt, 000F : impression du message, ...).

00xx :BE

Applications

Programmation de la CPU 94810 - 66 C79000-G8577-C848-04

Page 471: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Solution Dans un bloc de données DB ou DX, des mots de données consécu-tifs, à partir du DW 0, sont définis comme des "mots de données decouplage". Un bloc de données est attribué à chaque liaison de sortequ’une liaison est totalement indépendante des autres.

Le programme cyclique débute par la réception des mots de donnéesde couplage au moyen des blocs d’organisation pour la communicati-on multiprocesseur. Le programme cyclique "proprement dit" est en-suite exécuté : il exploite les données reçues et génère les données àémettre. Ces dernières sont émises à la fin du cycle à l’aide des blocsd’organisation de fonctions spéciales pour la communication multi-processeur. Elles peuvent ainsi être reçues par les autres CPU au débutde l’exécution de leur programme cyclique.

Les règles suivantes sont applicables pour les 12 liaisons possibles, in-dépendamment des autres liaisons :

•• La CPU émettrice n’est activée que si la CPU réceptrice a retirétoutes les "anciennes données" dans la mémoire intermédiaire ducoordinateur 923C.

•• La CPU réceptrice n’est activée que si la CPU émettrice a terminéd’inscrire toutes les "nouvelles données" dans la mémoire inter-médiaire du coordinateur 923C.

La CPU réceptrice dispose donc soit d’un nouvel enregistrement dedonnées complet, soit de l’ancien enregistrement de données in-changé. Les "anciennes" et les "nouvelles" données ne sont pasmélangées.

Structure des données L’ensemble des mots de données (appelé par la suite "zone de mots dedonnées") qui doit être transféré d’une CPU à l’autre est décrit dans laliste des liaisons (voir tableau ci-après). Cette liste de liaisons est défi-nie dans un bloc de données supplémentaire qui doit être présent danschaque CPU concernée.

Les zones de mots de données commencent toujours par le mot dedonnées DW 0 ; leur longueur est indiquée en paquets. Notez que :

•• Un paquet complet comprend 32 mots de données.

•• Si le dernier paquet d’un bloc de données d’émission est tronqué,c’est-à-dire s’il comprend moins de 32 mots de données, le nom-bre de mots de données transmis sera moindre.

•• Si un bloc de données d’émission est plus long que le nombre depaquets indiqué dans la liste de liaisons, les mots de données ensurnombre peuvent être utilisés par la CPU émettrice elle-même.

•• Si le bloc de données de réception est plus long que la zone demots de données reçue, les mots de données en surnombre peuventêtre utilisés par la CPU réceptrice elle-même.

Applications

Programmation de la CPU 948C79000-G8577-C848-04 10 - 67

Page 472: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Structure de la liste desliaisons

Liste partielle 1 Liste partielle 2

Liaison Type de DB

Numéro de DB

Nombrede paquets

de la CPU 1 vers la ...

DW 0 S 1 DW 16 S 1

... CPU 2 DW 1 ... ... DW 17 2 ...

... CPU 3 DW 2 ... ... DW 18 3 ...

...CPU 4 DW 3 ... ... DW 19 4 ...

de la CPU 2vers la ...

DW 4 S 2 DW 20 S 2

... CPU 1 DW 5 ... ... DW 21 1 ...

... CPU 3 DW 6 1 1 10 1 DW 22 3 2 1

... CPU 4 DW 7 ... ... DW 23 4 ...

de la CPU 3vers la ...

DW 8 S 3 DW 24 S 3

... CPU 1 DW 9 ... ... DW 25 1 ...

... CPU 2 DW 10 ... ... DW 26 2 ...

... CPU 4 DW 11 ... ... DW 27 4 ...

de la CPU 4vers la ...

DW 12 S 4 DW 28 S 4

... CPU 1 DW 13 ... ... DW 29 1 ...

... CPU 2 DW 14 ... ... DW 30 2 ...

... CPU 3 DW 15 ... ... DW 31 3 ...

2 15 2 0 2 15 2 0

1 Voir l’exemple à la page suivante

Tableau 10-8 Liste des liaisons pour l’extension de la zone des mémentos de couplage

Applications

Programmation de la CPU 94810 - 68 C79000-G8577-C848-04

Page 473: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

La liste de liaisons est constituée de deux listes partielles structuréesde manière semblable et comprenant chacune 16 mots de données.Pour chacune des quatre CPU émettrices (S1, S2, S3, S4), les liaisonssont déterminées par les trois rubriques suivantes :

•• Nombre de paquets

Le nombre de paquets détermine la longueur (nombre de mots dedonnées) de la zone de mots de données à transférer. Des liaisonsinexistantes ou non utilisées sont caractérisées par un nombre depaquets égal à 0 ; il en est alors de même pour "type de DB" et"numéro de DB".

•• Type de DB

Type du bloc de données qui contient la zone de mots de donnéesà émettre

•• Numéro de DB

Numéro du bloc de données qui contient la zone de mots dedonnées à émettre

Ces rubriques peuvent être lues et complétées ligne par ligne dans lareprésentation ci-dessus. Pour transférer, par exemple, les deux pre-miers paquets de données du bloc de données DB 10 de la CPU 2(S 2) vers la CPU 3, les rubriques suivantes sont nécessaires :

la CPU 2 (S 2) émet ..

La liste partielle 2 est identique à la liste d’assignation utilisée pour lafonction d’initialisation (OB 200) en mode manuel. A l’intérieur dubloc de données, la liste partielle 1 doit occuper les mots de données 0à 15 et la liste partielle 2 les mots de données 16 à 31. Les rubriquesen caractères gras ne peuvent pas être modifiées.

DW 22 3 2 DW 6 1 10

..vers la CPU 3 2 paquets de données du DB 10

Applications

Programmation de la CPU 948C79000-G8577-C848-04 10 - 69

Page 474: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Structure du prog ramme En appelant la fonction d’initialisation (OB 200), une CPU réserve audémarrage sur le coordinateur autant de blocs de mémoire par liaisonqu’il y a de paquets de données à transférer sur cette liaison.

Les deux blocs fonctionnels suivants sont utilisés sur chaque CPUpour l’émission et la réception des zones de mots de données :

Numéro de FB

Nom Fonction

FB 100

FB 101

SEND-DAT

EMPF-DAT

Emission de zones de mots de données vers les autres CPU

Réception de zones de mots de données venant des autres CPU

Les numéros des blocs fonctionnels sont choisis arbitrairement et peuvent être modifiés.

Les blocs fonctionnels SEND-DAT et EMPF-DAT lisent dans la listede liaisons quelles zones de mots de données issues de quels blocs dedonnées doivent être émises ou reçues. L’émission ou la réception por-tent toujours sur la totalité de la zone de mots de données. Si celan’est pas possible en raison d’une capacité d’émission ou de réceptioninsuffisante, l’émission ou la réception sont abandonnées.

NotaCet exemple – extension des mémentos de couplage à l’aide desblocs fonctionnels SEND-DAT et EMPF-DAT – ne peut fonc-tionner correctement que si les OB de fonctions spéciales pourcommunication multiprocesseur OB 202 à OB 205 ne sontappelés dans aucune des CPU.

Les blocs fonctionnels SEND-DAT et EMPF-DAT contiennentles blocs d’organisation de fonctions spéciales OB 202 à OB 205pour communication multiprocesseur. L’appel de ces blocsd’organisation à l’extérieur de SEND-DAT et EMPF-DAT n’estpas autorisé.

Applications

Programmation de la CPU 94810 - 70 C79000-G8577-C848-04

Page 475: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

OB 20

SPA OB 200

BE

Programme ut i l isateurcycl ique augmenté des appelsdes blocs fonct ionnelsEMPF-DAT et SEND-DAT

OB 1

ASPA

DB xxxFB 101

ASPA

DB xxxFB 100

BE

FB 100

FB 101

Bloc fonct ionnel : SEND-DATEmission de blocs de données

Bloc fonct ionnel : EMF-DATRécept ion de blocs de données

Bloc de données contenantla l is te des l ia isons

Trois blocs d´entrée et tro isblocs de sort ie au maximum

DB xxx

BE

BE

KC = S1KY = 1,. . . exploi té

par . . .

DB yyyou/etDX zzz

.

.

.

.

.

.

.

.

.

.

.

.

L´OB 200 ne peutêtre appelé quedans une CPU.

1

1

OB de démarrage pourl ´organisat ion de la mémoireintermédiai re dans lecoordinateur 923C

Figure 10-6 Vue d’ensemble des blocs nécessaires dans chaque CPU

Applications

Programmation de la CPU 948C79000-G8577-C848-04 10 - 71

Page 476: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Programmation des blocs fonctionnels

FB 100 : Emission de zones de mots de données

L’appel du FB 100 doit être précédé de l’ouverture du bloc de donnéescontenant la liste de liaisons. Pour traiter les informations contenuesdans la liste de liaisons, le bloc fonctionnel SEND-DAT a besoin du numérode la CPU sur laquelle il est appelé.Lorsque la fonction d’émission (OB 202) n’est pas traitée correctement dansle bloc fonctionnel, le numéro d’erreur ou d’avertissement est porté dansle paramètre de sortie FEWA et le résultat logique (RLG) est mis à 1.FEWA contient par ailleurs la valeur 16 (bit 4 = 1) lorsque la valeur duparamètre d’entrée CPUN (numéro de CPU) est incorrecte.Le bloc fonctionnel SEND-DAT utilise les octets de mémentos MB 239 à MB 251comme zone de mémentos banalisés.

FB 100

SEND-DAT

(1) CPUN FEWA (2)

Nom du paramètre

Signification Type Format

CPUN

FEWA

Numéro de la CPU traitant l’appel de FB 100Les valeurs 1 à 4 sont autorisées.

Erreur ou avertissement (voir fonction d’émission OB 202)

D

A

KF

BY

FB 100 LON=90

SEGMENT 1 0000NOM :SEND-DATDESIG:CPUN E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG:KFDESIG:FEWA E/A/D/B/T/Z: A BI/BY/W/D: BY

000B :LW =CPUN CPUN = CPUN - 1000C :L KB 1 Erreur si :000D :-F000E :SPM =FEWA Numéro de CPU < 1000F :L KB 30010 :>F0011 :SPB =FEWA Numéro de CPU > 40012 :TAK

Suite à la page suivante

Applications

Programmation de la CPU 94810 - 72 C79000-G8577-C848-04

Page 477: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite 1 du FB 100

0013 :0014 :SLW 2 CPUN = CPUN * 40015 :T MB 245 Adresse de base0016 :0017 :L KB 10018 :T MB 244 Compteur de liaisons0019 :001A SCHL:L MB 245 Adresse de base001B :L MB 244 + compteur001C :+F001D :T MW 240001E :ADD BF+16 + décalage001F :T MW 2420020 :0021 :B MW 2420022 :L DR 0 Nombre de blocs de mémoire0023 :T MB 239 réservés nul ?0024 :L KB 00025 :!=F0026 :SPB =LEER0027 :0028 :B MW 2420029 :L DL 0 Numéro de la CPU réceptrice002A :T MB 246002B :L KB 246 OB de fonction spéciale :002C :SPA OB 203 "Test de capacité d’émission"002D :L MB 248 Abandon si erreur002E :SPB =OBFE002F :0030 :L MB 249 Capacité d’émission >< nombre de0031 :L MB 239 blocs de mémoire réservés ?0032 :><F0033 :SPB =LEER0034 :0035 :L KB 0 Compteur de paquets0036 :T MB 2490037 :0038 :B MW 2400039 :L DW 0 Type et numéro du DB source003A :T MW 247003B :003C UEBT:L KB 246 OB de fonction spéciale :003D :SPA OB 202 " Emission d’un paquet de données"003E :L MB 250 Arrêt sur erreur ou avertissement003F :SPB =OBFE0040 :0041 :L MB 249 N° de paquet = n° de paquet + 10042 :I 10043 :T MB 249 Tous les paquets transférés ?0044 :L MB 2390045 :<F0046 :SPB =UEBT0047 :

Suite à la page suivante

Applications

Programmation de la CPU 948C79000-G8577-C848-04 10 - 73

Page 478: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite 2 du FB 100

0048 LEER:L MB 244 Incrémenter le compteur de0049 :I 1 liaisons004A :T MB 244004B :L KB 4 Les 3 liaisons ont-elles été004C :<F traitées ?004D :SPM =SCHL004E :L KB 0 Fin de programme sans erreur :004F :T =FEWA RLG = 0, FEWA = 00050 :BEA0051 :0052 FEWA:L KB 16 Fin de programme sur erreur :0053 OBFE:T =FEWA RLG = 1, FEWA contient le numéro0054 :BE d’erreur ou d’avertissement

FB 101 : Réception de zones de mots de données

L’appel du FB 101 doit être précédé de l’ouverture du bloc de donnéescontenant la liste de liaisons. Pour traiter les informations contenuesdans la liste de liaisons, le bloc fonctionnel EMPF-DAT a besoin du numérode la CPU sur laquelle il est appelé.

Lorsque la fonction de réception (OB 204) n’est pas traitée correctement dansle bloc fonctionnel, le numéro d’erreur ou d’avertissement est transmis auparamètre de sortie FEWA et le résultat logique (RLG) est mis à 1. FEWAcontient par ailleurs la valeur 16 (bit 4 = 1) lorsque la valeur du paramètred’entrée CPUN (numéro de CPU) est incorrecte.

Le bloc fonctionnel EMPF-DAT utilise les octets de mémentos MB 242 à MB 255comme zone de mémentos banalisés.

FB 101

EMPF-DAT

(1) CPUN FEWA (2)

Nom du paramètre

Signification Type Format

CPUN

FEWA

Numéro de la CPU sur laquelle FB 101 est appeléLes valeurs 1 à 4 sont autorisées.

Erreur ou avertissement (voir fonction de réception OB 204)

D

A

KF

BY

Suite à la page suivante

Applications

Programmation de la CPU 94810 - 74 C79000-G8577-C848-04

Page 479: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite 1 du FB 101

FB 101 LON=88

SEGMENT 1 0000NOM :EMPF-DATDESIG :CPUN E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KFDESIG :FEWA E/A/D/B/T/Z: A BI/BY/W/D: BY

000B :LW =CPUN Erreur si :000C :L KB 1000D :<F000E :SPB =FEWA Numéro de CPU < 1000F :LW =CPUN0010 :L KB 40011 :>F0012 :SPB =FEWA Numéro de CPU > 40013 :0014 :L KB 1 Compteur de liaisons0015 :T MB 2420016 :0017 :L KB 160018 :T MW 244 Pointeur sur liste partielle 20019 :001A SUCH:L MW 244 Parcourir la liste partielle 2001B :I 1 jusqu’à trouver la rubrique001C :T MW 244 correspondant à la CPU récep-001D :B MW 244 trice de numéro CPUN001E :L DL 0001F :LW =CPUN0020 :><F0021 :SPB =SUCH0022 :0023 :B MW 2440024 :L DR 0 Nombre de blocs de mémoire0025 :T MB 243 réservés nul ?0026 :L KB 00027 :!=F0028 :SPB =LEER0029 :002A :L MW 244 Déterminer la CPU émettrice002B :L KM 00000000 00001100 à l’aide du pointeur de liste002D :UW partielle 2002E :SRW2002F :I 10030 :T MB 2460031 :0032 :L KB 246 OB de fonction spéciale :0033 :SPA OB 205 "Test de capacité de réception" 0034 :L MB 2480035 :SPB = OBFE Abandon si erreur0036 :

Suite à la page suivante

Applications

Programmation de la CPU 948C79000-G8577-C848-04 10 - 75

Page 480: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite 2 du FB 101

0037 :L MB 249 Capacité de réception = nombre de 0038 :L MB 243 blocs de mémoire réservés ?0039 :><F003A :SPB =LEER003B :003C EMPF:L KB 246 OB de fonction spéciale :003D :SPA OB 204 "Réception d’un paquet de données"003E :L MB 248003F :SPM =OBFE Arrêt sur erreur ou avertissement0040 :L MB 249 Si capacité de réception = 0,0041 :L KB 0 traiter la liaison suivante0042 :><F0043 :SPB =EMPF0044 :0045 LEER :L MB 242 Incrémenter le compteur de0046 :I 1 liaisons0047 :T MB 2420048 :L KB 4 Toutes les liaisons ont-elles été0049 :<F traitées ?004A :SPM= SUCH004B :L KB 0 Fin de programme sans erreur :004C :T =FEWA RLG = 0, FEWA = 0004D :BEA004E :004F FEWA :L KB 16 Fin de programme sur erreur :0050 OBFE :T =FEWA RLG = 1, FEWA contient le0051 :BE numéro d’erreur ou d’avertissement

Applications

Programmation de la CPU 94810 - 76 C79000-G8577-C848-04

Page 481: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemple d’application

Application du FB 100/101 pour l’AP S5-155U

Enoncé du problème

Des données doivent être échangées entre trois CPU :

- de la CPU 1 vers la CPU 2 : bloc de données DB 3, DW 0 à DW 127 (= 4 paquets)

- de la CPU 1 vers la CPU 3 : bloc de données DX 4, DW 0 à DW 63 (= 2 paquets)

- de la CPU 2 vers les CPU 1 et CPU 3 : bloc de données DB 5, DW 0 à DW 95 (= 3 paquets)

Le bloc fonctionnel FB 1 constitue, dans les trois CPU, l’interface avec leprogramme utilisateur cyclique. La CPU 1 appelle la fonction d’initiali-sation (OB 200) lors du démarrage. La liste des liaisons se trouve dans lebloc de données DB 100.

Suite à la page suivante

DB 5, 3 paquets

DB 3,4 paquets

DB 5,3 paquets

DX 4, 2 paquets

CPU 2 CPU 3

CPU 1

Figure 10-7 Echange de données entre trois CPU

Applications

Programmation de la CPU 948C79000-G8577-C848-04 10 - 77

Page 482: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite 1 de l’exemple d’application

Réalisation

1. Chargement des blocs

Outre l’OB 1, les blocs suivants doivent être chargés dans les différentesCPU :

Fonction CPU 1 CPU 2 CPU 3

OB de démarrage

Programme utilisateurFB : SEND-DATFB : EMPF-DATListe des liaisons

DB d’entréeDB de sortie

OB 20

FB 1FB 100FB 101DB 100

DB 5DB 3 ; DX 4

FB 1FB 100FB 101DB 100

DB 3DB 5

FB 1FB 100FB 101DB 100

DB 5 ; DX 4—

2. Création de la liste des liaisons

La liste des liaisons est créée et transcrite dans le DB 100 :

DB100 LON=37FOLIO 1

– – Liste partielle 1 – –

0: KC = ’S1’; Emettre de la CPU 1 .. 1: KY = 001,003; .. le DB 3 vers la CPU 2 2: KY = 002,004; .. le DX 4 vers la CPU 3 3: KY = 000,000; 4: KC = ’S2’ ; Emettre de la CPU 2 .. 5: KY = 001,005; .. le DB 5 vers la CPU 1 6: KY = 001,005; .. le DB 5 vers la CPU 3 7: KY = 000,000; 8: KC = ’S3’; 9: KY = 000,000;10: KY = 000,000;11: KY = 000,000;12: KC = ’S4’;13: KY = 000,000;14: KY = 000,000;15: KY = 000,000;

Suite à la page suivante

Applications

Programmation de la CPU 94810 - 78 C79000-G8577-C848-04

Page 483: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite 2 de l’exemple d’application

– – Liste partielle 2 – –

16: KC = ’S1’; Emettre de la CPU 1 ..17: KY = 002,004; .. 4 paquets de données vers la CPU 218: KY = 003,002; .. 2 paquets de données vers la CPU 319: KY = 004,000;20: KC = ’S2’; Emettre de la CPU 2 ..21: KY = 001,003; .. 3 paquets de données vers la CPU 122: KY = 003,003; .. 3 paquets de données vers la CPU 323: KY = 004,000;24: KC = ’S3’;25: KY = 001,000;26: KY = 002,000;27: KY = 004,000;28: KC = ’S4’;29: KY = 001,000;30: KY = 002,000;31: KY = 003,000;

Les mots de données DW 16 à DW 31 contiennent la liste d’assignationnécessaire à la fonction d’initialisation manuelle (OB 200).

3. Programmation de l’appel de l’OB 200 dans le bloc de démarrage de l’OB 20 pour la CPU 1

L’OB 200 est appelé lors du démarrage de la CPU 1 par l’OB 20 présentéci-dessous.

OB 20 LON=yyABS

SEGMENT 10000 :L KB 2 Initialisation manuelle des pages0001 :T MB 246 de mémoire0002 :0003 :L KY 1,100 La liste d’assignation se trouve0005 :T MW 248 dans DB 100 à partir du mot de données0006 :L KF+16 DW 16.0008 :T MW 2500009 :000A :L KB 246 OB de fonction spéciale :000B :SPA OB 200 "Initialisation"000C :000D :UN M 252.5 Fin de bloc si pas de000E :BEB conflit d’initialisation000F :0010 : Ici est inséré le traitement 0011 : d’erreur en cas de conflit0012 : d’initialisation (par exemple, arrêt, 0013 : impression d’un message ...).0014 :

00xx :BE

Suite à la page suivante

Applications

Programmation de la CPU 948C79000-G8577-C848-04 10 - 79

Page 484: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Suite 3 de l’exemple d’application

4. Programmation des appels de blocs fonctionnels dans le FB 1

Le programme utilisateur de chaque CPU est augmenté de l’appel des blocsfonctionnels EMPF-DAT et SEND-DAT. Le bloc fonctionnel FB 1 imprimé estdestiné à la CPU 1. Pour l’exécuter sur les autres CPU, il suffit demodifier le paramètre d’entrée CPUN.

FB 1 LON=yy

SEGMENT 1 0000NOM :EM-SE00000000 :A DB100 Liste de liaisons DB 1000001 :SPA FB101 Réception des blocs de 0002 : données d’entrée0003 NOM :EMPF-DAT0004 CPUN : KF+10005 FEWA : MB00006 :SPB =FEWA Arrêt sur erreur ou avertissement0007 :0008 :0009 : Ici est inséré le traitement du pro-000A : gramme utilisateur cyclique qui lit000B : les données des blocs de données 000C : d’entrée et qui écrit les données 000D : dans les blocs de données de sortie.000E :000F :0010 :A DB 100 Liste de liaisons DB 1000011 :SPA FB100 Emission des blocs de0012 : données de sortie0012 NOM :SEND-DAT0013 CPUN : KF+10014 FEWA : MB00015 :SPB =FEWA Arrêt sur erreur ou avertissement0016 :BEA0017 :0018 FEWA : Traitement de l’erreur après arrêt 0019 : sur erreur ou avertissement (par001A : exemple, arrêt, édition d’un message001B : d’erreur sur imprimante ou écran ...)001C :

00xx :BE

Applications

Programmation de la CPU 94810 - 80 C79000-G8577-C848-04

Page 485: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire du chapitre 11

11.1 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 4

11.2 Fonctions en ligne de la PG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 5

11.2.1 Informations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 611.2.2 Fonctions de mémorisation et de transfert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 711.2.3 Test du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 8

11.3 Couplage PG-AP via la première ou la seconde interface série . . . . . . . . . . . . . . . . . . 11 - 16

11.4 Utilisation en parallèle de deux interfaces série vers la PG . . . . . . . . . . . . . . . . . . . . . 11 - 17

11.4.1 Mise en service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 1911.4.2 Fonctionnement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 1911.4.3 Déroulement pour des cas précis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 21

11.5 Fonctions PG via le bus S5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 27

11.5.1 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 2711.5.2 Principe de fonctionnement des fonctions PG via le bus S5 . . . . . . . . . . . . . . . . . . . . 11 - 2911.5.3 Mise en service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 3111.5.4 Indication d’erreurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 35

11Interfaces et fonctions en ligne de la PG

Programmation de la CPU 948C79000-G8577-C848-04 11 - 1

Page 486: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire

Programmation de la CPU 94811 - 2 C79000-G8577-C848-04

Page 487: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

11Interfaces et fonctions en ligne de la PG

Ce chapitre vous apprend comment coupler votre console de program-mation à une CPU 948 et vous informe sur les outils disponibles dansle logiciel de la PG pour le test de votre programme STEP 5.Si vous n’utilisez que l’interface PG standard (première interface sériesur la PG), il est inutile de lire le paragraphe 11.4. Ce dernier contientdes renseignements sur les autres interfaces permettant de coupler laPG et la CPU et précise les points à respecter lors de l’utilisation desfonctions en ligne de la PG sur les deux interfaces.

Programmation de la CPU 948C79000-G8577-C848-04 11 - 3

Page 488: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

11.1 Présentation

Les fonctions en ligne du logiciel STEP 5 vous permettent de chargeret de tester votre programme utilisateur.

A cet effet, vous devez coupler votre CPU à la console de programma-tion à l’aide d’une des interfaces suivantes :

•• couplage par l’interface série standard PG-AP,

•• couplage par la seconde interface série de la CPU 948,

•• couplage par le bus S5 avec SINEC H1.

Les fonctions en ligne de la PG s’exécutent en parallèle sur les deuxinterfaces série. En revanche, elles ne peuvent s’exécuter simul-tanément pour le couplage via SINEC H1 et pour les interfaces série.Elles vous fournissent une aide pour la mise en service et le test de vot-re programme STEP 5.

Fonction Paragraphe

Informations

Taille de la mémoire vive (RAM) interne et de la mémoire utilisa-teur libre

Etendue de la mémoire

Liste des blocs chargés Répertoire

Afficher le contenu de mots ou octets de mémoire et d’octets de périphérie

Contenu de la mémoire

Gestion de la mémoire

Effacer toute la mémoire Effacement général

Comprimer la mémoire libre Comprimer la mémoire

Gérer des blocs Transfert/suppression de blocs

Test du programme

Démarrer ou arrêter la CPU Démarrage et arrêt de l’AP

Tester une suite d’instructions dans un bloc

Etat d’un bloc (visualisationdynamique)

Tester différentes étapes du pro-gramme

Contrôle pas à pas

Visualiser l’état de variables du processus

Etat de variables (visualisationdynamique)

Affecter un signal aux sorties (à l’arrêt)

Forçage de sorties

Visualiser ou modifier des varia-bles du processus

Forçage de variables

Tableau 11-1 Fonctions pour la mise en service et le test

Présentation

Programmation de la CPU 94811 - 4 C79000-G8577-C848-04

Page 489: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

11.2 Fonctions en ligne de la PG

NotaLa terminologie utilisée dans ce chapitre pour décrire lesfonctions en ligne peut légèrement différer de celle de votrelogiciel.En cas de doute, reportez-vous à votre manuel STEP 5.

Appel et utilisation Consultez le manuel STEP 5 pour savoir comment appeler et utiliserles différentes fonctions en ligne.

Points de contrôle Dans la CPU, les fonctions en ligne sont exécutées à des points de con-trôle définis. Il existe quatre points de contrôle différents dans laCPU 948. A chacun de ces points sont associées des fonctions en lig-ne bien précises.

Point de contrôle "Arrêt"

A ce point de contrôle ne peuvent être appelées que les fonctions enligne autorisées à l’arrêt (STOP), par exemple démarrage de l’AP, ef-facement général, compression de la mémoire à l’arrêt. Ce point decontrôle se trouve avant l’appel de l’OB 39 (bloc pour le traitementcyclique en arrêt partiel).

Point de contrôle "Cycle"

A ce point de contrôle sont appelées les fonctions en ligne exécutablesau cours du traitement cyclique du programme (par exemple, compres-sion de la mémoire en état de marche RUN, arrêt de l’AP, état − visua-lisation dynamique −). Ce point de contrôle se situe avant l’actualisati-on de la mémoire image des entrées (MIE).

Point de contrôle "Test"

Ce point marque l’appel des fonctions qui doivent être exécutées dèsque le point d’arrêt suivant, défini par l’utilisateur, est atteint (contrôlepas à pas, voir paragraphe 11.2.3).

Point de contrôle "Fonctions générales"

Ce point de contrôle existe aussi bien à l’arrêt (STOP) qu’en marche(RUN). Il est possible d’y appeler les fonctions en ligne exécutablesdans tous les états de l’automate (par exemple, transfert de blocs, ef-facement de blocs, état de variables). En STOP, ce point de contrôlese situe avant l’OB 39 (bloc pour le traitement cyclique en arrêt par-tiel) et, en fonctionnement cyclique, entre la mémoire image des en-trées (MIE déjà actualisée) et l’OB 1 (bloc gérant l’exécution cycliquedu programme en RUN).

Fonctions en ligne de la PG

Programmation de la CPU 948C79000-G8577-C848-04 11 - 5

Page 490: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

11.2.1Informations

Etendue de la mémoire Il existe deux versions de mémoire pour la CPU 948. La fonction detest "Etendue de la mémoire" vous permet de connaître leur taille. LaPG reçoit alors les informations suivantes sur la mémoire utilisateurde la CPU (à partir de la version V6.0 du logiciel de la PG avec "dis-quette delta" pour la CPU 948) :

•• taille de la mémoire (640 Ko/1664 Ko),

•• plus grand bloc de mémoire utilisateur libre,

•• somme de tous les blocs de mémoire utilisateur libres.

A partir de la version V6.3 du logiciel PG avec la "disquette delta"pour la CPU 948, l’organisation de la mémoire est visualisée exacte-ment.Pour les versions antérieures du logiciel (par exemple, V3.0 ouMT1.0), l’organisation de la mémoire est représentée comme pour laCPU 946/947 (figure 11-1). Aussi devez-vous calculer la mémoire to-tale de la CPU 948 en faisant la somme des valeurs des différentes car-touches.

I N F O R M A T I O N A G SIMATIC S5 / OFS0C

O R G A N I S A T I O N D E L A M E M O I R E S 5 - 1 5 5 U

CARTE CTCHE TYPE ADR. DEBUT ADR. FIN LONG.

0 1

1

2

2

2

2

2

3

3

PLUS GRAND BLOC MEMOIRE RAM LIBRE

TOTAL DE TOUS BLOCS MEMOIRE RAM LIBRES

1

1

1

1

RAM

RAM

RAM

00000

10000

30000

CARTCHE NON ENFICHEE

CARTCHE NON ENFICHEE

CARTCHE NON ENFICHEE

CARTCHE NON ENFICHEE

0FFFF

2FFFF

4FFFF

64 KM

1

1 correspond à la taille de mémoire de la CPU 948-1 : 320 kilo-mots = 640 Ko

128 KM

128 KM

: 314800 MOTS

: 315664 MOTS

F1 F2 F3 F4 F5 F6LECT.ADR ORG.MEM PAR.SYS BLPILE ITPILE RETOUR

F7 F8

Figure 11-1 Visualisation de l’organisation de la mémoire à la PG

Fonctions en ligne de la PG

Programmation de la CPU 94811 - 6 C79000-G8577-C848-04

Page 491: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Répertoire Lorsque vous demandez l’affichage de la liste de tous les blocs pro-grammés à la PG, l’OB 0 et non les blocs de programme système sontvisualisés pour la CPU 948.

Cette fonction est autorisée en état de marche RUN, en arrêt partiel eten arrêt total. Vous pouvez également l’appeler pendant le contrôlepas à pas.

Contenu de la mémoire La fonction "Contenu de la mémoire" permet d’afficher à la PG le con-tenu des adresses de mémoire et de périphérie en hexadécimal. Toutesles adresses sont accessibles (RAM, bus S5, zones non implantées).Aucune erreur d’adressage (DAD) n’est déclenchée dans la zone de lamémoire image du processus et aucun retard d’acquittement (ACQ)n’apparaît dans la zone de périphérie.

Dans la zone organisée en octets (mémentos, mémoire image duprocessus), l’octet de poids fort est représenté par FF.

11.2.2Fonctions de mémorisationet de transfert

Effacement général Vous pouvez procéder à un effacement général de la CPU à partir dela console à l’aide de la fonction "Blocs, Effacer, Tous les blocs".L’effacement général est alors exécuté dans tous les cas (voir para-graphe 4.3.3).

Comprimer la mémoire Cette fonction décale tous les blocs valables en mémoire utilisateurvers le début de la mémoire utilisateur. Les lacunes dues à l’efface-ment ou à la correction de blocs disparaissent. Le décalage porte tou-jours sur des blocs complets. Dans le cas idéal, les nombreuses petiteslacunes sont concaténées pour former une grande lacune dans laquellepourront être chargés de nouveaux blocs.

Vous pouvez appeler cette fonction en état de marche RUN et en arrêtpartiel. En mode de marche, les blocs DB et DX de longueur supérieu-re à 512 mots de données ne sont pas décalés. A l’arrêt, tous les blocssont décalés.

Afin d’éviter la perte de données lors d’une coupure secteur pendantla compression, le décalage des blocs s’effectue par l’intermédiaired’une mémoire tampon. Si la capacité de cette mémoire tampon nesuffit pas pour un certain décalage, la compression de la mémoire estpoursuivie à la lacune suivante. De ce fait, il peut subsister des lacu-nes après une compression.

Reportez-vous également au paragraphe 8.3.

Fonctions en ligne de la PG

Programmation de la CPU 948C79000-G8577-C848-04 11 - 7

Page 492: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Transfert de blocs La fonction "Blocs, Transférer" permet de transférer des blocs de codeou de données nouveaux ou existant déjà dans la mémoire utilisateurde la CPU.

Si un bloc s’y trouve déjà, il est déclaré non valable au profit du nou-veau bloc transféré.

Suppression de blocs La fonction "Blocs, Effacer" déclare non valables les blocs de code etde données indiqués dans la mémoire utilisateur de la CPU.

L’emplacement auquel se trouvaient ces blocs est donc libéré et peutêtre réutilisé.

11.2.3Test du programme

Démarrage et arrêt de l’AP Ces fonctions ont le même effet que le démarrage et l’arrêt manuels.

L’appel de la fonction "Arrêter AP" en mode de marche (RUN) per-met d’amener l’automate en état STOP.

Dans les bits de commande, une croix figure sous PGSTP. En fon-ctionnement multiprocesseur, le bit de commande HALT est mis à 1dans les autres CPU.

Vous pouvez quitter l’arrêt partiel par démarrage ou redémarrage. Enconfiguration monoprocesseur, la CPU quitte l’état STOP. En configu-ration multiprocesseur, le mode de remise en route est consigné (bit decommande DEM EFF ou RED EFF à 1), mais la CPU reste encore àl’arrêt. Pour remettre l’automate en route, vous devez encore appelerla fonction "Démarrer AP". Cela correspond à la manipulation sur lecoordinateur (commutateur sur RUN).

En configuration multiprocesseur, la fonction "Démarrer AP" vouspermet d’exécuter successivement sur toutes les CPU le mode de miseen route voulu (démarrage ou redémarrage) et de ne déclencher la re-mise en route de l’automate qu’après le réglage de la dernière CPU.

Fonctions en ligne de la PG

Programmation de la CPU 94811 - 8 C79000-G8577-C848-04

Page 493: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Etat d’un bloc La fonction "Etat d’un bloc" (visualisation dynamique) vous permetde tester une suite d’instructions (opérations STEP 5) quelconque dansun bloc du programme utilisateur.Pour chaque instruction exécutée, la valeur en cours des opérandes, lecontenu des accumulateurs , le RLG, etc., sont affichés sur la consolede programmation. Cette fonction permet aussi de tester le paramétra-ge de blocs fonctionnels : la valeur en cours des opérandes effectifsest affichée.

Appel de la fonction etdéfinition du point d’arrêt

Après avoir appelé la fonction "Etat d’un bloc" sur votre PG, vousdéterminez le "point d’arrêt" en indiquant le type et le numéro du blocà tester (en précisant éventuellement l’imbrication et le terme re-cherché).

Si la fonction est appelée en état de marche RUN, le traitement du pro-gramme est poursuivi jusqu’à ce que l’instruction correspondant au po-int d’arrêt ait été atteinte, l’imbrication étant respectée. Lesinstructions surveillées sont ensuite exécutées jusqu’aux limites d’in-structions et les résultats sont affichés sur la console.

NotaLes résultats du traitement des instructions ne sont pas affichéspour chaque cycle.

Imbrications et interruptions Une suite d’instructions définie par un point d’arrêt est exécutée com-plètement même si, entre-temps, un autre niveau de traitement du pro-gramme (par exemple, OB d’erreur ou d’alarme) est imbriqué à unelimite d’instruction puis traité. Vous pouvez ainsi savoir si desdonnées ont été modifiées par un traitement imbriqué.

Si, dans un niveau de traitement de programme imbriqué, la CPU semet à l’arrêt à la suite d’une interruption, les données sont affichées àl’arrêt jusqu’à la dernière instruction exécutée avant l’imbrication. Lesdonnées des instructions restantes sont remplacées par des zéros(CAD est également égal à 0).

La visualisation dynamique est possible en état de marche RUN, à lamise en route (OB 20, 21 et 22) et en arrêt partiel (seulement OB 39).

Instructions B MW et B DW Si, alors que la fonction "Etat d’un bloc" est en cours, vous position-nez le curseur sur l’instruction située immédiatement après l’instructi-on B MW ou B DW, la PG affiche le message "Instruction nontraitée".

Solution :Evitez de positionner le curseur sur l’instruction consécutive à B MWou B DW pendant la visualisation dynamique d’un bloc.

Fonctions en ligne de la PG

Programmation de la CPU 948C79000-G8577-C848-04 11 - 9

Page 494: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

"Etat d’un bloc" avec lesversions précédentes dulogiciel PG

Dans les versions précédentes du logiciel PG, un déplacement rapidedu curseur pendant la visualisation dynamique d’un bloc entraîne destemps d’attente d’environ 3 à 5 secondes par ligne.

Solution :Interrompez la visualisation dynamique à l’aide de la touche d’aban-don, repositionnez le curseur, puis reprenez la visualisation dynami-que. Vous éviterez ainsi les temps d’attente.

Contrôle pas à pas La fonction de contrôle pas à pas permet de tester des étapes quelcon-ques dans le programme utilisateur. Pour ce faire, vous arrêtez le trai-tement du programme et vous faites exécuter les instructions, les unesaprès les autres, par la CPU. Pour chaque instruction exécutée, l’étaten cours des opérandes, le contenu des accumulateurs, le RLG, etc.,sont affichés sur la console de programmation.

Appel de la fonction etdéfinition du premier pointd’arrêt

Vous pouvez appeler le contrôle pas à pas en état de marche RUN eten arrêt partiel. Pour ce faire, indiquez le type et le numéro du bloc àtester (en précisant éventuellement l’imbrication), puis marquez sur laPG la première instruction dont les données doivent être affichées.Vous définissez ainsi le premier point d’arrêt.

Si vous définissez le premier point d’arrêt pendant le traitement duprogramme, la CPU poursuit le traitement jusqu’à ce que l’instructi-on marquée par le point d’arrêt soit atteinte. Cette instruction est alorsexécutée jusqu’à sa limite (pour BMW et BDW, l’instruction substi-tuée est également traitée). La CPU peut maintenant vérifier si l’ordred’imbrication actuel des blocs correspond à celui que vous avez indi-qué. S’il y a divergence, elle poursuit l’exécution du programme.

Si le point d’arrêt défini n’est pas atteint (par exemple, en raison del’arrêt de la CPU ou d’une boucle sans fin dans le programme utilisa-teur), la PG affiche le message "Instruction non traitée". Le contrôlepas à pas et le point d’arrêt défini restent cependant activés.

Par contre, si le niveau d’imbrication est correct, les sorties sont ver-rouillées (voyant BASP allumé) et les données de l’instruction traitéesont affichées à la console. La CPU attend alors votre prochain ordre.

Instructions B MW et B DW Lorsque le contrôle pas à pas est activé, vous ne pouvez pas placer lecurseur sur l’instruction suivant immédiatement B MW ou B DW.

Solution :Interrompez le contrôle pas à pas et positionnez le nouveau point d’ar-rêt après l’instruction consécutive à B MW ou B DW.

Fonctions en ligne de la PG

Programmation de la CPU 94811 - 10 C79000-G8577-C848-04

Page 495: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Appel de la fonction en arrêt partiel

Vous pouvez aussi appeler le contrôle pas à pas et définir un premierpoint d’arrêt en STOP partiel. La CPU reste à l’arrêt. Vous pouvezalors aussi bien demander un démarrage qu’un redémarrage manuel.La CPU exécute le programme jusqu’à l’instruction marquée et secomporte ensuite comme indiqué ci-dessus.

Poursuite de la fonction etdéfinition d’un autre pointd’arrêt

Conditions préalables : La CPU a traité le premier point d’arrêt.

Deux possibilités vous sont offertes pour poursuivre la fonction.

1) Vous déterminez un point d’arrêt suivant.

Le point d’arrêt défini est déplacé d’une instruction. La CPU pour- suit le traitement du programme par cette instruction. Une fois celle-ci traitée jusqu’à sa limite, la CPU affiche les données et se remet en attente. Toutefois, si l’instruction suivante est atteinte dans un niveau de traitement de programme imbriqué, la CPU pour-suit l’exécution. Le point d’arrêt suivant reste défini.

NotaEn STOP, vous pouvez définir un premier point d’arrêt, mais pasde point d’arrêt suivant.

2) Vous définissez un nouveau point d’arrêt.

Vous indiquez à la PG une autre instruction dans le même bloc ou dans un autre bloc. La CPU poursuit le traitement du pro-gramme jusqu’à ce qu’elle atteigne le nouveau point d’arrêt. L’instruction est exécutée jusqu’à sa limite et la CPU affiche les données correspondantes.

Suppression d’un point d’arrêt Lorsqu’un point d’arrêt n’a pas encore été atteint, vous pouvez lesupprimer en appuyant sur la touche d’abandon de la console de pro-grammation. Vous pouvez ensuite définir un nouveau point d’arrêt ouappeler la fonction "Arrêter le contrôle pas à pas".

Abandon de la fonction Vous pouvez interrompre la fonction en sélectionnant "Arrêter lecontrôle pas à pas" pendant le traitement du programme ou à l’arrêt.La CPU se met en arrêt partiel (ou bien reste à l’arrêt). La DEL STOPclignote lentement. Le bit de commande FIN P/P est marqué d’unecroix. Un démarrage est ensuite nécessaire. Le contrôle pas à pas estinterrompu comme indiqué ci-dessus lorsqu’une erreur d’interface(interruption sur le câble PG) apparaît pendant son exécution.

Fonctions en ligne de la PG

Programmation de la CPU 948C79000-G8577-C848-04 11 - 11

Page 496: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Imbrications en mode"Interruptions possibles en fin d’instruction"

Lorsque le contrôle pas à pas est appelé, d’autres niveaux de traite-ment de programme peuvent être imbriqués lorsque vous avez choisile mode "Interruptions possibles en fin d’instruction".

Si l’instruction située au point d’arrêt est traitée et si un autre niveaude traitement de programme est appelé à cet endroit (par exemple, unOB d’erreur ou d’alarme), ce niveau est d’abord imbriqué et traitécomplètement. Le traitement au point d’arrêt suivant n’est poursuiviqu’ensuite.

NotaLes données sont lues et affichées à la limite d’instruction. Lesimbrications éventuelles suivantes ne sont pas encore traitées.

La figure 11-2 illustre le principe de la fonction de contrôle pas à pas.

NotaSi une imbrication est demandée lors du traitement del’instruction au point d’arrêt, vous pouvez définir un point d’arrêtsur une instruction du programme imbriqué. Si, par exemple, uneinstruction a déclenché un retard d’acquittement ACQ, vouspouvez observer aussitôt après l’OB d’erreur correspondant.

Exécut ion del´ instruct ion etlecture desdonnées

Exécut ion del´ instruct ionet lecture desdonnées

< <<<<<

< <<<<<

1e r pointd´arrêt

Etat d´at tente (aff ichage des données)

Etat d´at tente (aff ichage des données)

Alarme de processus,alarme d´hor loge,OB d´erreur

Alarme de processus,alarme d´hor loge,OB d´erreur

Point d´arrêtsuivant

Figure 11-2 Déroulement du contrôle pas à pas

Fonctions en ligne de la PG

Programmation de la CPU 94811 - 12 C79000-G8577-C848-04

Page 497: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Interruptions •• Traitement du programme → arrêt

Si une interruption se produit pendant le traitement du programme(par exemple, arrêt en fonctionnement multiprocesseur, périphérienon prête, commutateur sur STOP, OB d’erreur non programmé,etc.) et si le point d’arrêt n’est pas encore atteint, la CPU passe im-médiatement en STOP. Si un démarrage ou un redémarrage manu-el est alors exécuté, la fonction de contrôle pas à pas reste activéeet le point d’arrêt défini est conservé.

•• Traitement de l’instruction au point d’arrêt → arrêt

Si des conditions d’arrêt (commutateur sur STOP, instruction STSde STEP 5, OB d’erreur non programmé) surviennent lors du trai-tement de l’instruction au point d’arrêt ou au point d’arrêt suivant,la CPU passe directement en arrêt partiel et fournit les données. Siaucun autre point d’arrêt n’est défini en STOP, le contrôle pas àpas reste activé après une mise en route.

Durant l’exécution de la fonction de contrôle pas à pas, il est possibled’appeler d’autres fonctions à la PG, à savoir :

- lecture de la pile des interruptions,

- lecture de la pile des blocs,

- chargement d’un bloc,

- lecture d’un bloc,

- effacement d’un bloc,

- affichage de la liste des blocs,

- forçage de variables,

- forçage de sorties.

Dans de rares cas, il peut alors arriver que le contrôle pas à pass’achève et que la CPU se retrouve à l’arrêt.

Fonctions en ligne de la PG

Programmation de la CPU 948C79000-G8577-C848-04 11 - 13

Page 498: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Etat de variables La fonction de test en ligne "Etat de variables" permet de visualiserl’état en cours de certains opérandes (variables de processus).

Lorsqu’un point de contrôle est atteint, l’état en vigueur des variablesde processus désirées est affiché. Vous pouvez indiquer toutes les va-riables de processus : entrées, sorties, mémentos, temporisations,compteurs et mots de données. Aucune erreur d’adressage DAD n’estdéclenchée lorsque la variable appartient à la mémoire image duprocessus.

Déroulement de la fonction enétat de marche RUN

Si la fonction est exécutée alors que l’automate est en état de marcheRUN, l’état des opérandes est examiné et affiché lorsque le point decontrôle est atteint. L’état des entrées est lu dans la mémoire imagedu processus. Tant que la fonction n’est pas interrompue, les états designaux sont actualisés cycliquement.

NotaSi le point de contrôle système n’est pas atteint (par exemple, s’ilexiste une boucle trop longue dans le programme d’application),les états de signaux ne sont pas affichés.

Déroulement de la fonction en arrêt partiel

Lorsque la fonction s’exécute en arrêt partiel, l’état des opérandes estvisualisé tel qu’il se présente au point de contrôle système. Ce faisant,il est important que les entrées soient examinées et lues directement àpartir de la carte de périphérie.

Forçage de sorties La fonction "Forcer des sorties" permet de donner un état défini auxoctets de sortie de l’automate programmable.

NotaCette fonction n’est admise qu’en arrêt partiel ou au cours de lafonction de contrôle pas à pas.

Déroulement de la fonction L’inhibition des sorties est levée à l’appel de la fonction à l’arrêt(voyant BASP éteint). L’ensemble de la périphérie TOR est effacé ;la valeur "0" est inscrite à chaque adresse. La fonction ne peut pas êtreinterrompue pendant l’effacement de la périphérie. Les éventuels re-tards d’acquittement (ACQ) ne sont pas pris en compte.

Fonctions en ligne de la PG

Programmation de la CPU 94811 - 14 C79000-G8577-C848-04

Page 499: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Les sorties vers la périphérie sont forcées octet par octet.

En fonctionnement multiprocesseur, il est possible de forcer toutes lessorties périphériques (indépendamment de l’affectation définie dans leDB 1).

Les retards d’acquittement se produisant lors du forçage de sortiessont pris en compte (message de la PG "Module sortie manque").

Fin de la fonction Pour quitter la fonction, il suffit d’appuyer sur la touche d’abandon dela PG. Les sorties sont de nouveau inhibées (voyant BASP allumé).Par ailleurs, la fonction se termine également si la CPU passe en étatde marche RUN entre le moment de l’appel de la fonction et celui duforçage proprement dit.

Forçage de variables La fonction de test en ligne "Forcer des variables" permet de visuali-ser et de modifier les valeurs d’opérandes (variables du processus)dans la mémoire image du processus. Cela est possible en état de mar-che RUN, en arrêt partiel et au cours de la fonction de contrôle pas àpas. Vous pouvez forcer toutes les variables du processus : entrées,sorties, mémentos, temporisations, compteurs et mots de données.

Particularités La modification entre en vigueur au point de contrôle suivant,indépendamment du point de contrôle système (début ou fin de cycle).

Notez que les valeurs forcées peuvent, par la suite, être écrasées (parexemple, par le programme utilisateur ou lors de l’actualisation de lamémoire image du processus).

NotaLes variables du processus sont forcées octet par octet.

Si vous forcez plusieurs opérandes, la prise en compte enmémoire des octets forcés est répartie sur plusieurs cyclessuccessifs.

Fonctions en ligne de la PG

Programmation de la CPU 948C79000-G8577-C848-04 11 - 15

Page 500: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

11.3 Couplage PG-AP via la première ou la seconde interface série

Il existe les possibilités suivantes pour le couplage série entre la PG etl’automate programmable :

•• liaison directe entre PG et CPU à l’aide du câble standard

•• liaison à la PG via le coordinateur COR CLa PG est reliée par câble au coordinateur. La première interfacesérie n’est donc plus disponible.

•• liaison à la PG via un multiplexeur de PG 757Vous trouverez des informations sur les câbles de liaison autorisésdans le manuel système S5-135U/155U (cf. bibliographie /2/).

•• liaison à la PG via SINEC H1/L2/L1 et "pont"Le coordinateur COR C ou le multiplexeur PG peuvent alors êtreintercalés.

Couplage PG-AP via la première ou la seconde interface série

Programmation de la CPU 94811 - 16 C79000-G8577-C848-04

Page 501: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

11.4 Utilisation en parallèle de deux interfaces série vers la PG

Il est possible d’utiliser la deuxième interface de la CPU 948 (SI 2),tout comme la première interface, comme interface vers la consolePG.

Pour pouvoir coupler votre PG par l’intermédiaire de cette interface,vous devez commander en plus de la CPU 948 la cartouche d’inter-face PG (référence dans le manuel système S5-135U/155U, biblio-graphie /2/).

Toutes les fonctions PG disponibles grâce à la première interface lesont également par la deuxième. Les paragraphes suivants donnentuniquement les informations requises pour l’utilisation simultanée dela première et de la deuxième interface avec des consoles deprogrammation ou des terminaux de dialogue (OP).

PG

SI1

SI2PG

Cartouched´ inter face

Figure 11-3 Utilisation de la deuxième interface comme interface vers la PG

Utilisation en parallèle de deux interfaces série vers la PG

Programmation de la CPU 948C79000-G8577-C848-04 11 - 17

Page 502: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Exemples de configuration

CPU 948 CP 143

SINEC H1

SI1 Console PG rel iée via SINEC H1 et COR C

SI2

"pont"

Console PG rel iée directement

Figure 11-4 Premier exemple de configuration

CPU 948

OP PG

SI2 Console PG rel iée directement(pour programmation)

SI1 OP raccordé directement(pour contrôle-commande)

Figure 11-5 Deuxième exemple de configuration

Utilisation en parallèle de deux interfaces série vers la PG

Programmation de la CPU 94811 - 18 C79000-G8577-C848-04

Page 503: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

11.4.1Mise en service Pour mettre en service la seconde interface de la CPU 948 comme in-

terface PG, procédez comme suit.

Etape Action

1 Mettez en place la cartouche PG dans la CPU 948.

(reportez-vous aux instructions correspondantes dans l’annexe)

2 Reliez la console de programmation à l’interface série SI2.

11.4.2Fonctionnement Si vous utilisez la seconde interface série comme interface vers la PG,

vous disposez sur chaque interface de la totalité des fonctions de l’in-terface standard vers la PG. Cela reste valable tant que les différentesfonctions n’exercent pas d’influences réciproques, c’est-à-dire tantqu’elles peuvent faire l’objet d’un appel séquentiel consécutif.

Pour une meilleure compréhension des exceptions, il est judicieux desubdiviser les fonctions PG en trois groupes.

Groupe Caractéristiques

Fonctions à temps d’exécution court

Fonctions qui exécutent un contrat et sont ensuite terminées (par exemple les fonctions de transfert, d’effacement, etc.)

Fonctions à tempsd’exécution long

Fonctions qui ont un nombre fixe de contrats à traiter :

- forçage de sorties,- contrôle pas à pas.

Fonctions cycliques Fonctions qui répètent l’exécution d’un contrat jusqu’à ce que vous y mettiez un terme :

- état d’un bloc, - état de variables,- forçage de variables.

AvertissementDans le cas des fonctions à temps d’exécution long ou cycliques,l’appel de ces fonctions doit être coordonné sur les deux consolesde programmation.

Utilisation en parallèle de deux interfaces série vers la PG

Programmation de la CPU 948C79000-G8577-C848-04 11 - 19

Page 504: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Le tableau ci-dessous indique les couples de fonctions que vous nepouvez pas utiliser simultanément.

Fonction en cours sur la première PG

Fonction qui ne doit pas être appelée sur la seconde PG

Forçage Toutes les fonctions

Contrôle pas à pas Toutes les fonctions

Fonction d’état (visualisation dynamique)

Forçage

Fonction d’état (visualisation dynamique)

Contrôle pas à pas

Fonction d’état (visualisation dynamique)

Effacement général

Etat de blocs non traités ou à temps d’exécution long

Toutes les fonctions

En cas de non-respect, la seconde PG émet un message d’erreur, parexemple "Fonction coupleur inhibée : fonction en cours".

Le même message d’erreur ou le message "Dépassement lorsd’échange de données avec PG" apparaît lorsque la CPU 948 est entrain de traiter des fonctions de l’autre PG qui empêchent l’accès devotre PG durant l’intervalle de temps correspondant à la surveillancedu temps de cycle. Votre entrée est alors refusée. Répétez l’entrée unefois les fonctions de l’autre PG effectuées.

NotaLes temps de surveillance et messages d’erreur ne sont pasidentiques pour tous les PG et OP, leurs fonctions et capacitén’étant pas les mêmes.

L’activation simultanée de la fonction "Etendue de la mémoire"sur les deux PG peut entraîner des indications erronées.

AvertissementLorsque vous travaillez simultanément en ligne sur les deuxconsoles de programmation pour saisir, corriger ou effacer desblocs, n’oubliez pas que ces blocs ne sont pas protégés des accèsdemandés par l’une ou l’autre PG.La visualisation dynamique d’un bloc non utilisé ou à l’arrêtbloque l’autre interface pour toutes les fonctions.

Tableau 11-2 Fonctions non exécutables simultanément sur deux PG

Utilisation en parallèle de deux interfaces série vers la PG

Programmation de la CPU 94811 - 20 C79000-G8577-C848-04

Page 505: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

11.4.3Déroulement pour des casprécis

Utilisation parallèle de fon-ctions à temps d’exécutioncourt

Lorsque vous utilisez des consoles de programmation simultanémentsur les deux interfaces, ces deux PG tentent d’exécuter leurs fonctionsrespectives indépendamment l’une de l’autre. Tant que vous transmet-tez vos contrats à la CPU avec décalage dans le temps, ces dernierssont traités les uns après les autres, dans leur ordre d’arrivée.

Toutefois, il peut arriver que la CPU 948 reçoive soit simultanémentdeux contrats, soit un contrat de la deuxième console tandis qu’un con-trat de la première console est encore en cours d’exécution. Etantdonné que le traitement simultané n’est pas possible, ces deux contratssont traités l’un après l’autre ; les temps d’attente pour le deuxièmecontrat sont toutefois si courts que vous ne les remarquez pratique-ment pas.

Les contrats simultanés se déroulent donc de la manière suivante :

Sur ce schéma d’exécution, vous voyez que vous pouvez certes travail-ler sur les deux consoles de programmation indépendamment l’une del’autre, mais qu’il existe une influence réciproque. Il peut donc arriver que les deux consoles traitent simultanément lemême bloc ou qu’un bloc en cours de traitement par une console soiteffacé par l’autre.A chaque traitement, il faut donc considérer dans quelle mesure vousinfluencez le comportement de l’autre console.

Entrée au clavier de la PG 1Préparat ion entrée 1 dans PG 1

Transfert contrat 1 à la CPU

Trai tement contrat 1 dans la CPU

Transfert du résul tat 1 à PG 1

Préparat ion du résul tat 1 dans PG 1

Aff ichage résul tat 1 sur PG 1

CPU 948Uti l isateur de la PG 1

Transfert contrat 2 à la CPU

Trai tement contrat 2 dans la CPU

Transfert du résul tat 2 à PG 2

Préparat ion du résul tat 2 dans PG 2

Aff ichage résul tat 2 sur PG 2

Entrée au clavier de la PG 2

Préparat ion entrée 2 dans PG 2

****

Util isateur de la PG 2

Ici , la PG 2 doit attendre que laCPU ait terminé le traitementdu contrat 1.

Figure 11-6 Procédure en cas de contrats simultanés

Utilisation en parallèle de deux interfaces série vers la PG

Programmation de la CPU 948C79000-G8577-C848-04 11 - 21

Page 506: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Utilisation parallèle de fon-ctions à temps d’exécutionlong

Les fonctions à temps d’exécution long de forçage et de contrôle pas àpas ne peuvent ni interrompre d’autres fonctions, ni être interrompuespar d’autres fonctions. Elles ne doivent par conséquent pas êtreexécutées en parallèle ; elles sont traitées en un bloc comme un con-trat standard.

Utilisation parallèle de fon-ctions cycliques

Les fonctions cycliques peuvent être exécutées parallèlement à desfonctions cycliques et à des fonctions à temps d’exécution court.L’exemple présenté ici est celui de la fonction "Etat de variables".

La PG 1 indique à laCPU quel les var iablesdoivent être lues.

La PG 1 demande lesdonnées actuel les.

La PG 1 demande lesdonnées actuel les.

La PG 1 demande lesdonnées actuel les

La PG 1 demande lesdonnées actuel les.

La PG 1 doit at tendreque la CPU soi t l ibre.

Le contrat de la PG 2 est tra i té.

La PG 2 doit at tendreque la CPU soi t l ibre.

La PG 2 émet le contrat .

Le contrat de la PG 2 est terminé.

CPU 948Uti l isateur de la PG 1 Uti l isateur de la PG 2

Figure 11-7 Exécution type d’une fonction cyclique, parallèlement à celle d’une fonction à temps d’exécution court

Utilisation en parallèle de deux interfaces série vers la PG

Programmation de la CPU 94811 - 22 C79000-G8577-C848-04

Page 507: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Pour donner à une deuxième PG la possibilité d’envoyer également uncontrat à la CPU, la fonction d’état (visualisation dynamique) est inter-rompue entre deux demandes et reprise après le contrat intercalé. Com-me la fonction causant l’interruption sollicite la CPU pour sontraitement, la puissance totale de la CPU doit être répartie sur les deuxfonctions. Ainsi, par exemple, pour la fonction "Etat de variables", lesdonnées affichées sont actualisées un peu plus lentement.

Le déroulement dans le cas de l’utilisation simultanée des deux PG estreprésenté dans la figure 11.8.

Cela vaut également pour le cas où des fonctions cycliques sontexécutées sur les deux PG, qui accèdent alors alternativement à laCPU.

Utilisation en parallèle de deux interfaces série vers la PG

Programmation de la CPU 948C79000-G8577-C848-04 11 - 23

Page 508: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

La PG 1 indique à laCPU quel les var iablesdoivent être lues.

La PG 1 demande lesdonnées actuel les.

La PG 1 demande lesdonnées actuel les.

La PG 1 demande lesdonnées actuel les.

La PG 1 demande lesdonnées actuel les.

Le 1e r contrat de la PG 2 est tra i té.

Le 2è m e contrat de la PG 2 est tra i té.

La PG 2 émet le 1e r contrat .

La PG 2 émet le 2 è m e contrat .

Le 1e r contrat de la PG 2 est terminé.

Le 2è m e contrat de la PG 2 est terminé.

La PG 1 doit at tendreque la CPU soi t l ibre.

La PG 2 doit at tendreque la CPU soi t l ibre.

La PG 1 doit at tendreque la CPU soi t l ibre.

CPU 948Uti l isateur de la PG 1 Uti l isateur de la PG 2

Figure 11-8 Exécution de deux fonctions cycliques en parallèle

Utilisation en parallèle de deux interfaces série vers la PG

Programmation de la CPU 94811 - 24 C79000-G8577-C848-04

Page 509: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Cas particulier pour lesfonctions cycliques sur lesdeux consoles

Si la fonction causant l’interruption bloque la CPU 948 (visualisationdynamique d’un bloc qui n’est pas exécuté), la fonction interrompuene peut pas être poursuivie. Elle ne sera reprise que lorsque la fonctioncausant l’interruption est terminée.

Lorsque l’on travaille simultanément sur les deux consoles, le déroule-ment est le suivant.

La PG 1 indique à laCPU quel les var iablesdoivent être lues.

La PG 1 demande lesdonnées actuel les(el le signale que lavisual isat ion dynamiqueest en cours).

La PG 1 demande lesdonnées actuel les.

La PG 1 demande lesdonnées actuel les.

La PG 1 doit at tendreque la CPU soi t l ibre.

La PG 2 doit at tendreque la CPU soi t l ibre.

Le contrat de la PG 2 est tra i té.

(La PG signale que la visual isat iondynamique est en cours.)

(La PG signale que l´ instruct ionn´est pas trai tée.)

La PG 2 émet le contrat(p. ex. "Etat d´un bloc, PB 9") .

Le contrat de la PG 2 est terminé.

La PG 1 reçoi t denouvel les données.

La PG 2 interrompt lavisual isat ion dynamique ;la CPU trai te la demande d´abandon.

CPU 948Uti l isateur de la PG 1 Uti l isateur de la PG 2

Figure 11-9 Déroulement lorsqu’une fonction bloque la CPU 948

Utilisation en parallèle de deux interfaces série vers la PG

Programmation de la CPU 948C79000-G8577-C848-04 11 - 25

Page 510: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Remarques générales Si, sur l’une des interfaces, les fonctions d’état de variables, de força-ge de variables ou d’état (visualisation dynamique) sont en cours etque vous vouliez, sur la seconde interface, effectuer une compressionde la mémoire ou bien effacer ou transférer un bloc, les résultats af-fichés pour la visualisation d’état peuvent s’avérer erronés.

Utilisation en parallèle de deux interfaces série vers la PG

Programmation de la CPU 94811 - 26 C79000-G8577-C848-04

Page 511: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

11.5 Fonctions PG via le bus S5

11.5.1Utilisation Les fonctions PG via le bus S5 permettent de charger et de piloter, à

partir de PG 7xx, des automates programmables S5-155U avecCPU 948 mis en réseau via SINEC H1. Ces fonctions permettent decharger la CPU 948 jusqu’à huit fois plus vite que par l’interface PG(la vitesse dépend de la longueur des blocs à transférer).

Vous pouvez utiliser les fonctions PG via le bus S5 également enmode multiprocesseur.

Ces fonctions font partie du programme système de la CPU 948.

AvertissementVous ne pouvez vous servir des fonctions PG via le bus S5 qu’àl’exclusion des fonctions PG via la première ou la deuxièmeinterface série. Un déroulement simultané ou imbriqué decertaines fonctions peut entraîner l’altération de blocs ou dedonnées.

Dans la CPU 948, les numéros d’interface supérieurs ou égaux à232 sont réservés aux fonctions PG via le bus S5. Vous ne pouvezdonc pas les utiliser à votre gré pour les blocs de dialogue.

Fonctions PG via le bus S5

Programmation de la CPU 948C79000-G8577-C848-04 11 - 27

Page 512: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

La figure 11-10 montre un exemple de configuration en mode multi-processeur.

Pas de paramétrage dela CPU

Aucun paramétage dans la CPU 948 n’est nécessaire pour les foncti-ons PG via le bus S5.

Configuration requise Les fonctions PG via le bus S5 avec la CPU 948 nécessitent une in-terconnexion de la PG et de l’AP via le réseau SINEC H1.

A cet effet, vous avez besoin :

•• d’une PG 7xx avec connexion SINEC H1 et version 6.3 (ST) ou6.0 (MT) installée de STEP 5 + disquette delta CPU 948,

•• d’un processeur de communication CP 143 à partir de la version06 (version 3.0 du microprogramme) dans l’automate programma-ble avec numéro d’interface de base 232 (vous réglez ce numérovia des cavaliers dans le matériel et à l’aide du logiciel COM 143dans SYSID).

Coupleur de busCoupleur de busSINEC H1

CP143

COR923C PG 7xxAP S5-155U

Figure 11-10 Fonctionnement multiprocesseur avec un CP 143(deux CPU 948, un CP 143)

Fonctions PG via le bus S5

Programmation de la CPU 94811 - 28 C79000-G8577-C848-04

Page 513: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

11.5.2Principe de fonctionnementdes fonctions PG via le busS5

Utilisation de pages Le CP 143 comporte quatre pages (interfaces) pour la communicationavec les CPU. Si vous n’utilisez pas les fonctions PG via le bus S5,toutes ces pages sont disponibles pour la communication par le biaisde blocs de dialogue.

Les pages de mémoire du CP sont réparties lors de l’utilisation desfonctions du bus S5 : deux pages pour les blocs de dialogue utilisateuret deux pages pour les fonctions PG.Vous pouvez utiliser ces deux premières pages comme jusqu’à main-tenant pour des applications SINEC H1. Consultez toutefois à ce pro-pos les restrictions présentées au paragraphe 11.5.3.Quant aux pages pour les fonctions PG, le CP 143 et la CPU 948 lesutilisent pour les fonctions PG via le bus S5. Elles ne sont donc plusdisponibles pour la communication aves les blocs de dialogue.

Numéros d’interface SSNR Les fonctions PG via le bus S5 sont automatiquement activées dans leprocesseur de communication CP 143 si vous indiquez 232 ou 236comme numéro d’interface de base (cavaliers et SYSID) lors du pa-ramétrage du CP. Vous occupez ainsi les numéros d’interface 232 à239. Les numéros d’interface 240 à 247 sont réservés à des extensionsultérieures (par exemple, CP avec 8 pages ou interfaces).

SINEC H1

CP 1

CP 2

SINEC H1

SINEC H1

SINEC H1

232

233

234

235

236

237

238

239

.

.

Fonctions PG

Fonctions PG

Fonctions PG

Fonctions PG

réservé (8 pages)

Figure 11-11 Numéros d’interface pour les fonctions PG via le bus S5

Fonctions PG via le bus S5

Programmation de la CPU 948C79000-G8577-C848-04 11 - 29

Page 514: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Paramétrage du CP 143 Consultez le manuel du CP 143 (bibliographie /6/) pour savoir com-ment paramétrer ce dernier.

AvertissementVous ne pouvez pas paramétrer les numéros d’interface 232 (etsuivants) et 236 (et suivants) si vous utilisez le CP 143 avecd’autres CPU SIMATIC. Si la CPU 948 fonctionne avec d’autresCP, les numéros d’interface 232 à 247 ne peuvent pas être utilisésà volonté.

Mode multiprocesseur Vous pouvez utiliser les fonctions PG via le bus S5 avec la CPU 948également en mode multiprocesseur.

Avec un CP 143, deux CPU (948) peuvent faire appel aux fonctionsen ligne dans l’automate S5-155U.Vous pouvez également utiliser le processeur de communicationCP 143 dans le châssis d’extension (EG 185). En mode multiprocesseur, la CPU 1 accède à la page de mémoire denuméro d’interface SSNR 234 et la CPU 2 à la page de numéroSSNR 235.

Si vous enfichez un second CP 143 et le paramétrez en conséquence,il est réservé aux fonctions en ligne via le bus S5 avec les CPU 3 et 4(numéros d’interface 238 et 239).

Fonctions PG via le bus S5

Programmation de la CPU 94811 - 30 C79000-G8577-C848-04

Page 515: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

11.5.3Mise en service Vous devez considérer les cas suivants lors de la mise en service.

CP 143 uniquement utilisépour les fonctions PG

Si vous désirez utiliser le processeur de communication CP 143 exclu-sivement pour les fonctions PG via le bus S5, aucun paramétrage autreque celui de SINEC H1 n’est nécessaire.

Après la mise sous tension, les fonctions PG via le bus S5 sont tou-jours disponibles sur la CPU 948 sans qu’il soit nécessaire de d’abordsynchroniser le CP 143 avec le bloc de dialogue SYNCHRON(FB 125). Le commutateur de mode de la CPU doit toutefois se trou-ver en position RUN.Il est possible de mettre en service une CPU 948 "vide" via le busS5 sans effacement général.

Après la mise sous tension, la CPU 948 synchronise automatiquementles pages qui lui sont affectées sur le CP 143 pour les fonctions PG viale bus S5.

La mise en service nécessite les étapes suivantes.

Etape Action

1 Réglez le numéro d’interface (SSNR) sur le CP 143 (cavaliers).Choisissez à cet effet le numéro d’interface correspondant à la configuration matérielle existante (voir ci-après). Tenez également compte des indications dans bibliographie /6/.

configuration matérielle possible n° d’interface correspondant des CP 143

1 x CPU 948, 1 x CP 143

1 x CPU 948, 2 x CP 143

2 x CPU 948, 1 x CP 143

3 x CPU 948, 2 x CP 143

4 x CPU 948, 2 x CP 143

232

232 sur le 1er CP, 236 sur le 2nd CP

232

232 sur le 1er CP, 236 sur le 2nd CP

232 sur le 1er CP, 236 sur le 2nd CP

2 Enfichez le CP 143 dans l’automate S5-155U (l’AP doit être hors tension).

3 Reliez la PG à l’interface PG du CP 143 et chargez le logiciel COM.

4 A l’aide du logiciel COM 143, indiquez dans le SYSID du CP 143 le numéro d’interfacechoisi à l’étape 1 et l’adresse Ethernet.

Fonctions PG via le bus S5

Programmation de la CPU 948C79000-G8577-C848-04 11 - 31

Page 516: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Etape Action

5 Chargez les paramètres dans le CP 143.Vous pouvez stocker les paramètres du CP 143 :- dans une cartouche EPROM

ou- dans la mémoire vive du CP 143.

Vous pouvez transférer les paramètres par le biais de l’interface série de la PG 7xx. Le chargement des paramètres du CP 143 est décrit en détails dans bibliographie /6/.

6 Effectuez un effacement général de la CPU, mettez l’AP hors tension puis à nouveausous tension.

7 Editez la liaison vers la CPU 948 dans le masque correspondant de STEP 5.

8 Sélectionnez dans les présélections de STEP 5 la liaison à la CPU 948 via SINEC H1/CP 143.

Vous pouvez maintenant vous servir des fonctions PG via le bus S5.Vous pouvez charger votre programme utilisateur et l’exécuter ou letester.

Interface PG série La CPU 948 ne traite qu’une fonction PG à un moment donné. Si voustentez, alors qu’une fonction PG est en cours de traitement, d’activerune autre fonction PG à partir d’une deuxième PG via l’interface PGsérie, cette PG émet un message, par exemple "Fonction coupleur inhi-bée : fonction en cours".

Remarques L’interruption d’une fonction PG par commutation du commutateurde mode de la CPU de RUN sur STOP ou suite à une erreur entraînedes temps d’attente (dus au système) supérieurs à 15 s pour la commu-nication avec SINEC H1.

En cas de manipulation erronée à la PG (par exemple, mise hors tensi-on de la PG alors qu’une fonction est en cours), il peut s’avérer néces-saire de resélectionner la liaison avant de pouvoir l’établir.

Fonctions PG via le bus S5

Programmation de la CPU 94811 - 32 C79000-G8577-C848-04

Page 517: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

CP 143 utilisé pour lesfonctions PG et la commu-nication via SINEC H1

Si vous désirez utiliser le CP 143 non seulement pour les fonctions PGvia le bus S5 mais également pour la communication via SINEC H1,vous devez tenir compte des indications suivantes en plus du pa-ramétrage décrit sous "CP 143 uniquement utilisé pour les fonctionsPG".

Procédez comme suit pour la mise en service.

Etape Action

1 à 8 Identique au tableau présenté sous "CP 143 uniquement utilisé pour les fonctions PG"

9 Programmez l’appel du bloc de dialogue SYNCHRON (FB 125) dans les blocsd’organisation de mise en route OB 20 et OB 22 afin que le CP 143 soit synchronisé pourla communication SINEC H1 en cas de démarrage manuel ou automatique ou deredémarrage automatique.Le bloc de dialogue SYNCHRON ne doit être appelé que lorsque l’interface est effectivementutilisée, car cet appel provoque la désactivation de la liaison vers la PG, qu’il faut doncensuite rétablir "à la main" à partir de la PG.

Utilisation des pages pour lacommunication via des blocsde dialogue

Le schéma de la page suivante montre comment les fonctions PG viale bus S5 occupent les pages du CP 143. La CPU 1 à 4 peut utiliser lespages libres prévues pour les blocs de dialogue utilisateur pour com-muniquer via SINEC H1.

Fonctions PG via le bus S5

Programmation de la CPU 948C79000-G8577-C848-04 11 - 33

Page 518: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Particularités en cas decommunication via les pagespour blocs de dialogueutilisateur

Le CP 143 désactive les liaisons existantes lorsqu’il est synchronisé àdes fins de communication (appel du FB 125 avec numéros d’inter-face 232 et 233 ou 236 et 237). Il faut donc réactiver ces liaisons − cequi entraîne des temps d’attente dans la PG (également pour la touched’abandon) −, puis les sélectionner à nouveau à la PG.

De ce fait, vous ne pouvez pas appeler la fonction d’état de blocsvia le bus S5 pour les OB de démarrage lorsque vous utilisez pour lacommunication les pages prévues pour les blocs de dialogue utilisa-teur. Il est donc conseillé de n’appeler le FB 125 (bloc de dialogueSYNCHRON) qu’en cas de démarrage ou de mise en route après misesous tension (démarrage ou redémarrage).

Point extrêmede liaison

Il n´est pas possible de communiqueravec les CPU 3 et 4 via les blocsde dialogue utilisateur.

1

SSNR

SSNR

SSNR

SSNR

CPU 948

233

237

235

239

234

238

SSNR232

SSNR236

Page pourblocs dedialogueutilisateur

Page pourblocs dedialogueutilisateur1

Page pourblocs dedialogueutilisateur

Page pourblocs dedialogueutilisateur1

Page pourfonctionsPG

Page pourfonctionsPG

Page pourfonctionsPG

Page pourfonctionsPG

PG

1er CP 143

2e CP 143

CPU 1

CPU 948

CPU 2

CPU 948

CPU 3

CPU 948

CPU 4

SSNR

SSNR

Figure 11-12 Liaisons entre PG et CPU 948 et affectation des pages du CP 143

Fonctions PG via le bus S5

Programmation de la CPU 94811 - 34 C79000-G8577-C848-04

Page 519: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

11.5.4Indication d’erreurs Chacune des quatre CPU 948 (au maximum) pour lesquelles les foncti-

ons PG via le bus S5 sont activées mémorise, dans ses zones BS etBT, des indicateurs quand des erreurs se produisent lors de l’utilisati-on de ces fonctions.

Ces indicateurs comportent un octet d’erreur de paramétrage (PAFE)pour chaque liaison possible et un mot indicateur (ANZW) précisantle déroulement en cours des blocs d’émission et de réception. Ces indi-cateurs correspondent dans une large mesure à ceux des blocs de dia-logue.

BS 50 Le mot de données système BS 50 (adresse E F032H) contient les indi-cateurs d’erreur de paramétrage (PAFE) qui sont apparus lors de lasynchronisation des fonctions PG.

Exploitation de PAFE dansBS 50

L’octet PAFE se trouve toujours dans l’octet de poids fort de BS 50.

N° CPU BS 50octet de poids fort

BS 50octet de poids faible

1 PAFESSNR 234

-

2 PAFESSNR 235

-

3 PAFESSNR 238

-

4 PAFESSNR 239

-

Signification des indicateursPAFE

Sont indiquées toutes les erreurs qui surviennent en relation avec leCP 143. Les indicateurs PAFE possibles sont les suivants :

Valeur PAFE Signification

00H Pas d’erreur

71H Interface (page) inexistante

81H Interface non prête

91H Interface surchargée

A1H Interface occupée par une autre CPU

B1H Numéro de contrat ou longueur de rubriqueincorrecte (FB SYNCHRON)

C1H L’interface ne réagit pas ou pas à temps.

D1H Autre erreur d’interface, également indicationd’erreur pour le CP

Fonctions PG via le bus S5

Programmation de la CPU 948C79000-G8577-C848-04 11 - 35

Page 520: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Signification de l’indicateur 71H

L’indicateur 71H signifie que la page n’existe pas. Il n’est pas possi-ble de mettre en oeuvre les fonctions PG via le bus S5 lorsque cet indi-cateur est apparu. Vérifiez, dans ce cas, l’affectation des interfaces duCP 143 : les numéros d’interface 232 (et suivants) ou 236 (et suivants)doivent être indiqués (cavalier et SYSID).

Zone BT Lorsque les pages pour les fonctions PG existent et que la liaison auCP 143 est établie, un bloc d’information de 16 mots est généré dansla zone BT de la CPU 948. Sa structure est décrite ci-après.

NotaTant qu’aucune liaison au CP 143 n’est établie (PAFE = 71), parexemple parce qu’aucune page de numéro d’interface 232 (etsuivants) ou 236 (et suivants) n’existe, aucune informationsupplémentaire n’est mémorisée dans la zone BT.

Adresse

E F2E8H Sens de données de CPU vers PG pour n° d’interface 234 ou 238

BT 232

E F2E9H Sens de données de CPU vers PG pour n° d’interface 235 ou 239

BT 233

E F2EAH réservé BT 234

E F2EBH réservé BT 235

E F2ECH Sens de données de PG vers CPU pour n° d’interface 234 ou 238

BT 236

E F2EDH Sens de données de PG vers CPU pour n° d’interface 235 ou 239

BT 237

E F2EEH réservé BT 238

E F2EFH réservé BT 239

E F2F0H réservé PAFE 234 BT 240

E F2F1H réservé réservé BT 241

E F2F2H réservé PAFE 235 BT 242

E F2F3H réservé réservé BT 243

E F2F4H réservé PAFE 238 BT 244

E F2F5H réservé réservé BT 245

E F2F6H réservé PAFE 239 BT 246

E F2F7H réservé réservé BT 247

Fonctions PG via le bus S5

Programmation de la CPU 94811 - 36 C79000-G8577-C848-04

Page 521: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

NotaLa zone BT est remise à zéro lors d’un effacement général.

Lorsque vous utilisez les fonctions PG via le bus S5, la zone BTest occupée comme indiqué ci-avant et n’est donc plus disponiblepour d’autres programmes (FB standard par exemple). Tenezcompte de ce fait lors de la configuration de votre installation.

ANZW Le mot indicateur ANZW contient l’état en cours des blocs d’émissi-on et de réception. Ses différents bits ont la signification suivante.

Octet de poids fort

Bit Affectation

15

libre

14

13

12

11

10

9

8

Octet de poids faible

7 libre

6 Réception de données achevée

5 Emission de données achevée

4 1 : Erreur

3 Contrat achevé avec erreur

2 Contrat achevé sans erreur

1 0 : SEND validé 1

1 : SEND inhibé

0 0 : RECEIVE inhibé 1

1 : RECEIVE validé

1 propre aux fonctions PG via le bus S5

Fonctions PG via le bus S5

Programmation de la CPU 948C79000-G8577-C848-04 11 - 37

Page 522: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Fonctions PG via le bus S5

Programmation de la CPU 94811 - 38 C79000-G8577-C848-04

Page 523: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire du chapitre 12

Annexe 1 : positionnement des cavaliers pour les interruptions système . . . . . . . . . . . . . . . . . . . . . 12 - 4

Annexe 2 : montage et démontage de la cartouche PG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 - 5

Annexe 3 : caractéristiques techniques des CPU 948 et CPU 928B . . . . . . . . . . . . . . . . . . . . . . . . . 12 - 7

Annexe 4 : codes d’erreur de certains OB de fonctions spéciales dans l’ACCU 1 . . . . . . . . . . . . 12 - 10

12Annexes

Programmation de la CPU 948C79000-G8577-C848-04 12 - 1

Page 524: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire

Programmation de la CPU 94812 - 2 C79000-G8577-C848-04

Page 525: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

12Annexes

Ce chapitre fournit des informations supplémentaires sur la CPU 948 :positionnement des cavaliers pour les interruptions système, recomman-dations pour le montage et le démontage de la cartouche PG, comparaisondes temps d’exécution des CPU 948, CPU 946/947 et CPU 928B, ainsique codes d’erreur de certains OB de fonctions spéciales.

Programmation de la CPU 948C79000-G8577-C848-04 12 - 3

Page 526: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Annexe 1 : positionnement des cavaliers pour les interruptions système

La CPU 948 dispose de 4 interruptions système destinées au traite-ment du programme par interruptions :

- INT A/B/C/D (selon l’emplacement où est enfichée la CPU, cf. manuel système, bibliographie /2/),

- INT E,- INT F

et- INT G.

Vous devez valider les interruptions que vous voulez utiliser en en-fichant les cavaliers livrés sur le support correspondant. Celui-ci est si-tué sur la carte mère, au-dessus du logement de la carte à mémoire. Lepositionnement précis des cavaliers est illustré sur la figure suivante :

INTFINTG

INTEINTA/B/C/D

Figure 12-1 Positionnement des cavaliers

Annexe 1 : positionnement des cavaliers pour les interruptions système

Programmation de la CPU 94812 - 4 C79000-G8577-C848-04

Page 527: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Annexe 2 : montage et démontage de la cartouche PG

Pour utiliser une cartouche PG, vous devez au préalable la monter(hors du châssis de base) dans la CPU.

AvertissementAvant de retirer la CPU, mettez l’automate programmable horstension.

MontageNotaA la livraison, les cavaliers sont déjà correctement positionnés. Encas d’erreur de fonctionnement après montage de la cartouche,comparez le positionnement des cavaliers avec la représentationdu manuel système (bibliographie /2/).

Effectuez le montage de la cartouche PG de la manière suivante :

Etape Manipulation

1 Mettez l’AP hors tension.

2 Retirez la CPU hors du châssis de base.

3 Desserrez les deux vis de fixation du volet de protectiondu logement de la cartouche sur la CPU, puis retirez cevolet de protection.

4 Enfichez la cartouche PG dans le connecteur en face avant(composants dans le même sens que pour la CPU).

5 Fixez la cartouche avec les deux vis de fixation du voletde protection.

6 Enfichez la CPU dans le châssis de base.

7 Mettez à nouveau l’AP sous tension.

Annexe 2 : montage et démontage de la cartouche PG

Programmation de la CPU 948C79000-G8577-C848-04 12 - 5

Page 528: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Démontage Le démontage de la cartouche PG s’effectue de la manière suivante :

Etape Manipulation

1 Mettez l’AP hors tension.

2 Retirez la CPU hors du châssis de base.

3 Desserrez les deux vis de fixation de la cartouche, puisretirez la cartouche hors de son logement.

4 Introduisez une autre cartouche dans le logement (commedécrit précédemment) ou mettez en place le couvercle quevous fixez avec les vis utilisées pour la cartouche.

5 Enfichez la CPU dans le châssis de base.

6 Mettez à nouveau l’AP sous tension.

NotaDu fait que le module d’interface est vissé à la CPU, lesimpulsions perturbatrices sont dérivées par la masse de la CPU.La CPU ne doit fonctionner qu’avec le logement fermé (volet deprotection ou cartouche).

Annexe 2 : montage et démontage de la cartouche PG

Programmation de la CPU 94812 - 6 C79000-G8577-C848-04

Page 529: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Annexe 3 : caractéristiques techniques des CPU 948 et CPU 928B

Opération /traitement CPU 948 CPU 928B

Temps d’exécution typique des instructions sur bits

avec opérandesM, E, A

Dformels

0,18 µs 0,7 µs 0,91 µs

0,57 µs 3,4 µs 2,4 µs

Temps d’exécution typique des instructions sur mots

- Opérations de chargement L MB (octet) L MW (mot) L MD (double mot)

0,18 µs0,5 µs0,71 µs

0,81 µs0,9 µs1,6 µs

- Arithmétique en virgule fixe- Arithmétique en virgule flottante

0,55 à 3,8 µs 3,3 à 6,3 µs

0,9 à 10,4 µs 9,1 à 15,6 µs

Exécution du programme cyclique (fonctionnement monoprocesseur)

Temps de base pour l’appel de l’OB 1/du FB 0 65 µs/– 104/106 µs

Supplément pour l’actualisation de la mémoireimage du processus en fonction du nombre (n)d’octets d’E/S

avec 0 < n ≤128

n ≤ 64 :64 µs + n * 2,3 µs

n > 64 :92 µs + n * 2,3 µs

E : 14 µs + n * 1,1 µs

A : 5 µs + n * 4,1 µs

Supplément pour le transfert des mémentos decouplage en fonction de leur nombre (n)

avec 0 < n ≤ 256

n ≤ 64 :64 µs + n * 2,1 µs

n > 64 :92 µs + n * 2,1 µs

E : 14 µs + n * 1,4 µs

A : 5 µs + n * 4,3 µs

Supplément pour le traitement destemporisations en fonction de la longueur dubloc des temporisations (ZBL)

ZBL = 0toutes les 10 ms

11,6 µstoutes les 10 ms

10 µs

ZBL ≠ 0n = nombre de temporisations en cours(temps de base : 10 ms)

11,6 µs + ZBL * 0,32 µs 16 µs + ZBL * 0,2 µs(aucune différence entre

les temporisations encours ou non)

Traitement déclenché par alarme

Prolongation du temps de cycle par imbricationd’un OB 2 vide (sans instructions STEP 5) àune limite de bloc

262 µs 300 µs

Temps de réaction 175 µs 270 µs

Annexe 3 : caractéristiques techniques des CPU 948 et CPU 928B

Programmation de la CPU 948C79000-G8577-C848-04 12 - 7

Page 530: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Opération /traitement CPU 948 CPU 928B

Traitement déclenché par horloge

Prolongation du temps de cycle par imbricationd’un OB 13 vide (sans instructions STEP 5) àune limite d’instruction

287 µs 310 µs pour le premier OB

d’alarme d’horloge170 µs pour chaque autreOB d’alarme d’horlogearrivant à échéance au

même instant

Période d’appel du programme déclenché parhorloge (alarmes d’horloge OB 10 à OB 18)

Base de temps variable de1 à 255 ms ;

indication pour 10 ms :10, 20, 50, 100, 200, 500 ms,

1, 2, 5 sou

10, 20, 40, 80, 160,320, 640 ms,1,28, 2,56 s

10, 20, 50, 100, 200, 500 ms,

1, 2, 5 s

Temps de résolution pour alarme d’horloge àheure fixe (OB 9)

toutes les minutestoutes les heures

tous les jourstoutes les semaines

tous les moistous les ans

une fois seulement

Temps de résolution pour alarme deretardement (OB 6) 1 ms –

Surveillance du temps de cycle

PrésélectionValeurs possibles Redémarrage

200 ms1 à 2550 ms

oui

200 ms1 à 2550 ms

non

Capacité mémoire

Capacité de la cartouche mémoire utilisateur enkilo-octets

640 ou 1664 64

Capacité de la mémoire pour blocs de données(RAM DB, en kilo-octets)

– environ 46,6

Temporisations, compteurs, mémentos

Nombre de temporisationscompteurs

256256

256256

Nombre de mémentos 2048 mémentos+ 32768 mémentos S

2048 mémentos+ 8192 mémentos S

Annexe 3 : caractéristiques techniques des CPU 948 et CPU 928B

Programmation de la CPU 94812 - 8 C79000-G8577-C848-04

Page 531: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Annexe 4 : codes d’erreur de certains OB de fonctions spéciales dansl’ACCU 1

Codes d’erreur (octets)dans l’ACCU 1-LL

Ces codes d’erreur en octets sont en partie utilisés par plusieurs OB defonctions spéciales. Leur signification dépend donc de l’OB appelé.

OB defonctionspéciale

ACCU 1-LL Signification

OB 124 01H La fonction a été exécutée correctement.

45H47H4DH

ErreurType de bloc incorrectBloc inexistantFonction en ligne de compression de lamémoire en cours

8DH

8EH

AvertissementConflit avec une fonction en ligne (autreque celle de compression de la mémoire)Délai de 10 ms non encore écoulé

OB 125 01H La fonction a été exécutée correctement.

42H43H44H45H4DH

ErreurLe bloc existe déjà.Espace mémoire insuffisantLongueur de bloc incorrecteType de bloc incorrectFonction en ligne de compression de lamémoire en cours.

8DH

8EH

AvertissementConflit avec une fonction en ligne (autreque celle de compression de la mémoire)Délai de 10 ms non encore écoulé

OB 126 01H La fonction a été exécutée correctement.

02H03H

04H

05H

06H07H

ErreurNuméro de fonction incorrectPointeur dans l’ACCU 1-L (numéro demémento) inexistantType ou numéro de bloc incorrect ou blocDB/DX inexistantLe mot de données indiqué du bloc dedonnées ne contient pas le premier motd’identification (numéro de DW erroné)ou la liste d’adresses contient un motd’identification erroné.Numéro de la liste d’adresses incorrectL’appel de la fonction à ce niveau detraitement de programme n’est pasautorisé.

Annexe 4 : codes d’erreur de certains OB de fonctions spéciales dans l’ACCU 1

Programmation de la CPU 948C79000-G8577-C848-04 12 - 9

Page 532: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

OB defonctionspéciale

ACCU 1-LL Signification

OB 223 01H02H03H04H

Types de mise en route identiquesErreur système interneTypes de mise en route différentsMode monoprocesseur : comparaison destypes de mise en route impossible

OB 254/255

01H La fonction a été exécutée correctement.

41H

43H48H4AH

4BH

4CH

4DH

4EH

ErreurEn-tête de bloc sur la carte à mémoireincorrectEspace mémoire insuffisantBloc de données source inexistantType ou numéro du bloc de donnéessource incorrectType ou numéro du bloc de données cibleincorrectBloc de données cible déjà dans lamémoire utilisateurFonction en ligne de compression de lamémoire en coursAucune carte à mémoire enfichée

8DH

8EH

AvertissementConflit avec une fonction en ligne (autreque celle de compression de la mémoire)Délai de 10 ms non encore écoulé

Annexe 4 : codes d’erreur de certains OB de fonctions spéciales dans l’ACCU 1

Programmation de la CPU 94812 - 10 C79000-G8577-C848-04

Page 533: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Codes d’erreur (mots)dans l’ACCU 1-L

A une exception près, ces codes d’erreur en mots ne sont utilisésqu’une fois. Le tableau suivant est donc classé par codes d’erreur croissants.

ACCU 1-L OB defonctionspéciale

Signification

8D01H

8D02H

OB 141 Numéro de fonction incorrect dansl’ACCU 2-L 1

Un des bits réservés dans l’ACCU 1 est à 1 1.

8E01H

8E02H

8EFFH

OB 142 Numéro de fonction incorrect dansl’ACCU 2-L 1

Un des bits réservés (numéros 4 à 15) dansl’ACCU 1 est à 1 1.Mode erroné (par exemple, lorsque l’alarmede retardement doit être inhibée et que leDX 0 contient le paramètre "Alarmes deprocessus via l’octet d’entrée EB 0 = OUI")

8F01H

8F02H

OB 143 Numéro de fonction incorrect dansl’ACCU 2-L 1

Un des bits réservés dans l’ACCU 1 est à 1 1.

9601H960FH9611H9612H9613H9614H

9615H

9621H

9622H

9623H

9624H

9625H

9626H

9627H

9628H

9629H

OB 150 Bloc de données non chargéAppel multiple du blocNuméro de fonction incorrectType de zone d’adressage incorrectNuméro de bloc de données incorrectNuméro du premier mot du champ dedonnées incorrectLongueur du bloc de données inférieure à4 motsIndication de l’année incorrecte dans lechamp de donnéesIndication du mois incorrecte dans le champde donnéesIndication du jour incorrecte dans le champde donnéesIndication du jour de la semaine incorrectedans le champ de donnéesIndication des heures incorrecte dans lechamp de donnéesIndication des minutes incorrecte dans lechamp de donnéesIndication des secondes incorrecte dans lechamp de donnéesCentièmes de secondes dans le champ dedonnées différents de 0Format de l’heure différent de celui spécifiédans l’OB 151

1 La valeur erronée se trouve dans l’ACCU 2-L.

Annexe 4 : codes d’erreur de certains OB de fonctions spéciales dans l’ACCU 1

Programmation de la CPU 948C79000-G8577-C848-04 12 - 11

Page 534: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

ACCU 1-L OB defonctionspéciale

Signification

9701H970FH9710H

9711H9712H9713H9714H

9715H

9721H

9722H

9723H

9724H

9725H

9726H

9727H

9728H

9729H

972AH

OB 151 Bloc de données non chargéAppel multiple du blocMode de fonctionnement incorrect (Alarmesde processus via octet d’entrée EB 0 = OUI)Numéro de fonction incorrectType de zone d’adressage incorrectNuméro de bloc de données incorrectNuméro du premier mot du champ dedonnées incorrectLongueur du bloc de données inférieure à4 motsIndication de l’année incorrecte dans lechamp de donnéesIndication du mois incorrecte dans le champde donnéesIndication du jour incorrecte dans le champde donnéesIndication du jour de la semaine incorrectedans le champ de donnéesIndication des heures incorrecte dans lechamp de donnéesIndication des minutes incorrecte dans le champde donnéesIndication des secondes incorrecte dans lechamp de donnéesCentièmes de seconde dans le champ dedonnées différents de 0Format de l’heure différent de celui spécifiédans l’OB 121/OB 150Type de contrat incorrect

990FH9910H

9911H9921H

OB 153 Appel multiple du blocMode de fonctionnement incorrect (Alarmesde processus via octet d’entrée EB 0 = OUI)Numéro de fonction incorrectTemps de retard incorrect

B401HB410HB411H

OB 180 Aucun bloc de données n’est ouvert.La valeur de décalage D n’est pas un multiplede 16.a) La valeur de décalage D est trop grande :

la nouvelle position de la fenêtre va au-delà de la fin de bloc.

b) La valeur de décalage D est négative.

B501HB502HB503H

OB 181 Bloc inexistantNuméro de bloc incorrectType de bloc incorrect

Annexe 4 : codes d’erreur de certains OB de fonctions spéciales dans l’ACCU 1

Programmation de la CPU 94812 - 12 C79000-G8577-C848-04

Page 535: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

ACCU 1-L OB defonctionspéciale

Signification

B601HB60FHB611HB612HB613HB621H

B622HB623HB624H

B625H

B626HB627H

B628H

B629H

B62AH

B62BHB62CH

OB 182 Bloc de données non chargéAppel multiple du blocDéfinition incorrecte du champ de donnéesType de zone d’adressage illiciteNuméro de bloc de données illiciteNuméro du premier mot du champ dedonnées illiciteType du bloc de données source illiciteNuméro du bloc de données source illiciteNuméro du premier DW (du DB source) àtransférer illiciteLongueur du bloc de données source dans l’en-tête inférieure à 5 motsType du bloc de données de destination illiciteNuméro du bloc de données de destinationilliciteNuméro du premier DW à écrire dans le DBde destination illiciteLongueur du bloc de données de destinationdans l’en-tête inférieure à 5 motsNombre de mots de données à transférerillicite (= 0 ou > 4091)Bloc de données source trop courtBloc de données de destination trop court

F001HF00FHF101HF102HF103HF104HF105HF106HF107HF108H

F109H

OB 121 Numéro de fonction incorrectAppel multiple du blocIndication incorrecte de l’année Indication incorrecte du mois Indication incorrecte du jour Indication incorrecte du jour de la semaine Indication incorrecte des heuresIndication incorrecte des minutes Indication incorrecte des secondesIndication incorrecte des centièmes etdizièmes de secondeFormat de l’heure différent de celui spécifiédans l’OB 151

F001H OB 122 Numéro de fonction incorrect

Annexe 4 : codes d’erreur de certains OB de fonctions spéciales dans l’ACCU 1

Programmation de la CPU 948C79000-G8577-C848-04 12 - 13

Page 536: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Annexe 4 : codes d’erreur de certains OB de fonctions spéciales dans l’ACCU 1

Programmation de la CPU 94812 - 14 C79000-G8577-C848-04

Page 537: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire du chapitre 13

Liste des abréviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A - 1

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index - 1

13Listes

Programmation de la CPU 948C79000-G8577-C848-04 13 - 1

Page 538: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Sommaire

Programmation de la CPU 94813 - 2 C79000-G8577-C848-04

Page 539: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

L’explication des abréviations spéciales utilisées dans l’ITPILE est donnée au paragraphe 5.4.

1e ? Première interrogation (indicateur d’opérations sur bits)

ACCU 1 (2, 3, 4)-L Mot de poids faible dans l’accumulateur 1 (2, 3, 4), 16 bitsACCU 1 (2, 3, 4)-H Mot de poids fort dans l’accumulateur 1 (2, 3, 4), 16 bitsACCU 1 (2 ,3, 4)-LL Octet de poids faible du mot de poids faible dans l’accumulateur 1 (2, 3, 4), 8 bitsACCU 1 (2, 3, 4)-LH Octet de poids fort du mot de poids faible dans l’accumulateur 1 (2, 3, 4), 8 bitsACQ Retard d’acquittementANZW Mot indicateurAP Automate programmable

BASP Verrouillage des sortiesBCD voir DCBBL INEX Appel d’un bloc de code non chargéBLPILE Pile des blocsBR Registre d’adresse de base

CAD Compteur d’adresse STEPCONT Schéma à contactsCOR CoordinateurCP Processeur de communicationCPU Unité centrale (central processing unit)CYC Dépassement du temps de cycle

DAD Erreur d’adressageDB Bloc de donnéesDB INEX Appel d’un bloc de données DB/DX non chargéDBA Adresse de début du bloc de données (dans le registre 6)DBL Longueur du bloc de données (dans le registre 8)DCB Décimal codé binaireDEL Diode électroluminescenteDPE Coupure de tension sur le châssis d’extensionDTC Erreur de transfert/chargementDX Bloc de données étendu

EG Châssis d’extensionEPROM Mémoire morte programmable effaçable par UV

(Erasable Programmable Read Only Memory)ETAT Indicateur d’opérations sur bits

Liste des abréviations

Liste des abréviations

Programmation de la CPU 948C79000-G8577-C848-04 A - 1

Page 540: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

FB Bloc fonctionnelFL 0, FL 1 Indicateurs d’opérations sur mots ("flags")FX Bloc fonctionnel étendu

IM Module d’interface (Interface Modul)INT Interruption systèmeIP Carte périphérique intelligenteITPILE Pile des interruptions

LED voir DELLIST Liste d’instructionsLOG Logigramme

MDT Coupure secteur (Manque De Tension)MI Mémoire imageMIE Mémoire image des entréesMIS Mémoire image des sorties

OB Bloc d’organisationOU Indicateur d’opération sur bitsOVFL Dépassement (overflow ; indicateur d’opérations sur mots)OVFLMEM Dépassement mémorisé (indicateur d’opérations sur mots)

P.BL> Débordement de la pile des blocsP.IT> Débordement de la pile des interruptionsPAFE Octet d’erreur de paramétragePARI Erreur de paritéPB Bloc de programmePG Console de programmationPPA Débordement de la pile des parenthèsesProc. Processeur

RAM Mémoire vive (Random Access Memory)RLG Résultat logique

SB Bloc séquentielSTS Arrêt précis sur instructionSUB Erreur de substitution

ZG Châssis de base

Liste des abréviations

Programmation de la CPU 948A - 2 C79000-G8577-C848-04

Page 541: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Index

1e ? (première interrogation)Voir Indicateurs de résultat

A

Accès à la mémoiregénéralités 9-4par adressage dans l’ACCU 1 9-8par le registre BR 9-22

Accès au DW 255 9-15Accumulateurs 3-15, 6-26

organisation 6-5ACQ (retard d’acquittement) 5-25Alarme de retardement 4-29, 4-33 - 4-34, 6-50Alarmes

inhibition 6-12inhibition sélective 6-29retardement général 6-32retardement sélectif 6-35

Alarmes d’horloge 4-29, 7-8à heure fixe 4-29, 4-33, 4-35, 6-43cycliques 4-29, 4-33, 4-37

Alarmes de processusinhibition 3-72libération 3-72, 4-45

Alarmes de processus via EB 0 4-31Alarmes de processus via EB 0

généralités 4-41interfaces utilisateur 4-41

Analyse d’erreurs 5-8Arrêt

état de fonctionnement 4-9Autotest 5-34

activation/désactivation de parties de test 5-37bits de commande 8-40information d’erreur 5-39traitement d’erreurs 5-38

B

BASPsignal 4-26, 4-29

Bits de commande 5-5, 5-9 - 5-10BL INEX (appel d’un bloc de code

non chargé) 5-24Bloc

appel de blocs 2-16, 3-8, 3-32

bloc étiquette 2-14, 2-35corps de bloc 2-13, 2-24, 2-36correction 2-15d’identification de l’automate 8-42effacement 6-14en-tête de bloc 2-13, 2-24, 2-36, 8-12généralités 2-6génération 6-17imbrication de blocs 3-5, 3-8liste d’adresses 3-8, 8-13numéro de bloc 2-12, 2-26, 3-33opérandes formels (paramètres du bloc) 2-27opérations de traitement 3-67profondeur d’imbrication 3-9types de blocs 2-12, 2-26

Bloc de données (DB/DX)DX 0 7-8

Blocs d’organisation (OB)de fonctions spéciales 2-22, 6-4généralités 2-12, 2-16gérant l’exécution du programme 2-19gérant le comportement à la mise en route 2-20pour interfaces utilisateur 2-18pour la communication en arrêt partiel 2-20pour la réaction aux erreurs 2-20pour le traitement d’erreurs 2-20

Blocs d’organisation de communication 10-22octet indicateur 10-25paramètres 10-23temps de cycle 10-31

Blocs de données (DB/DX)accès variable 6-53appel 2-38copie à partir d’une carte à mémoire 6-65copie ou duplication 6-65création 3-33DB 0 2-41, 3-8DB 1 2-41DB 1, création 10-9duplication d’une zone de données 6-59DX 0 2-41, 7-4 - 7-5DX 1 2-41DX 2 2-41généralités 1-13, 2-13, 2-35programmation 2-37structure 2-35test 6-57zone de validité 2-38

Blocs de programme (PB) 2-12, 2-16

Index

Programmation de la CPU 948C79000-G8577-C848-04 Index - 1

Page 542: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Blocs fonctionnels (FB/FX)appel et paramétrage 2-25, 2-28généralités 2-13, 2-23Voir Opérandes effectifs et formelsprogrammation 2-25standard 2-23, 2-33structure 2-24

Blocs séquentiels (SB) 2-12, 2-16BLPILE (pile des blocs) 5-5

affichage 5-6exploitation 5-7

C

Carte à mémoire 3-10Cartouche PG 11-17

démontage 12-6montage 12-5

Chien de gardeVoir Surveillance du temps de cycle

Code opération 2-6COLAH/AHMAS (erreur de traitement d’alarmes) 5-30Combinaisons sur bits 3-19, 3-50Communication cyclique 4-9Communication multiprocesseur 6-62

déroulement 10-15émission de données 10-40exemples d’application 10-53identification émetteur/récepteur 10-16initialisation 10-33liste d’assignation 10-37modes de fonctionnement 10-35réception de données 10-47stockage intermédiaire de données 10-17traitement parallèle 10-22unité de transfert 10-15

Compression de la mémoire 2-15Compteur 1-13, 3-28CONT (schéma à contacts) 2-4Contrat à heure fixe 4-35, 6-43

Voir Alarmes d’horloge à heure fixeCorrection de blocs 2-15Couplage série PG-AP 11-16CP 143 11-28

paramétrage 11-30CPU

type et identification 8-44CYC (dépassement du temps de cycle) 5-27Cycle 3-11, 4-30

interface utilisateur OB 1 4-31

niveau de traitement de programme 4-29points d’interruption 4-31

D

DAD (erreur d’adressage) 5-26DB 0 2-41, 3-8DB 1 2-41

création 10-9DB INEX (appel d’un DB/DX non chargé) 5-24DBA (adresse de début du bloc

de données) 9-11DBL (longueur du bloc de données) 9-13DCB (Décimal Codé Binaire) 2-11Décrémentation 3-66DEL (diode électroluminescente) 5-5

indications 4-12 - 4-13, 5-5Démarrage

déclenchement 4-17, 4-19Voir Mise en route

Démarrage à chaudredémarrage automatique étendu 4-27

Diagnostic d’erreur 5-8Données système 8-15DPE (périphérie défaillante) 4-19, 4-28DTC (erreur de transfert et de chargement) 5-29DX 0 2-41, 7-4

Voir Bloc de données DX 0paramètres 7-8structure 7-5

DX 1 2-41DX 2 2-41

E

Effacementde blocs 6-14général 4-14

ER.EDBX (erreur pour E DB/EX DX) 5-32Erreur d’adressage (DAD) 5-26Erreur de traitement d’alarmes d’horloge 4-39Erreurs

analyse 5-8empêcher 5-4information 5-5lors de l’autotest 5-33origine 5-23traitement avec blocs d’organisation 5-20

ETATVoir Indicateurs de résultat

Index

Programmation de la CPU 948Index - 2 C79000-G8577-C848-04

Page 543: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Etats de fonctionnementarrêt 4-9marche 4-29mise en route 4-16

Exemples de programmation 3-34 - 3-48Exposant

Voir Nombres à virgule flottante

F

FL 1 et FL 0Voir Indicateurs de résultat

Fonction cyclique 11-25Fonctionnement multiprocesseur

démarrage 10-13échange de données 10-4échange de données entre CPU et CP 10-7échange de données via blocs de dialogue 10-8lors du test 10-14mécanismes de communication 10-4programmation 10-9

Fonctions en ligne de la PG 11-4Fonctions spéciales

appel 6-5erreur pendant leur traitement 6-6généralités 6-4interfaces 6-5

G

Génération de blocs 6-17GRAPH 5 2-5

H

Horloge temps réel 8-32Horodateur interne 6-8, 6-38

I

Imbrication de blocs 3-5, 3-8profondeur d’imbrication 3-9

Imbrication de niveaux de traitement de programme 4-6Incrémentation 3-66Indicateurs de résultat

1e ? (première interrogation) 3-16, 3-20

ETAT 3-17, 3-20FL 1 et FL 0 3-18, 3-61généralités 3-16OU 3-17OVFL 3-17OVFLMEM 3-17RLG 2-7, 3-17, 3-20

Indications par DEL 4-12 - 4-13, 5-5Information d’erreur 5-5Inhibition d’alarmes 6-12, 6-29Interface

blocs séquentiels (SB) 2-12, 2-16du programme système 1-8, 1-10, 2-18

Interfaces série PG (utilisation parallèle) 11-17

fonctions à temps d’exécution court 11-19, 11-21fonctions à temps d’exécution long 11-19, 11-22fonctions cycliques 11-19, 11-22

Interfaces utilisateurpour l’alarme d’horloge à heure fixe 4-35pour l’alarme de retardement 4-34pour le démarrage 4-24pour le traitement de programme cyclique 4-31pour les alarmes d’horloge cycliques 4-38pour les alarmes de processus 4-41pour les interruptions 4-44

Interruptions 4-29généralités 4-43positionnement des cavaliers 12-4possibles en fin d’instruction 7-4possibles en fin de bloc 7-4système 4-32, 7-4, 7-9, 12-4

ITPILE (pile des interruptions) 4-5affichage 5-6, 5-9contenu 5-14indication 5-15information d’erreur 5-5informations 5-15

J

Jeu d’instructions 2-4

L

Langage de programmationC avec compilateur C S5 1-18GRAPH 5 1-18

Index

Programmation de la CPU 948C79000-G8577-C848-04 Index - 3

Page 544: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

Langage de programmationSCL 1-18STEP 5 1-18, 2-4

LIST (liste d’instructions) 2-4Liste d’assignation 2-7, 2-24LOG (logigramme) 2-4Logiciel PG 1-18

M

MantisseVoir Nombres à virgule flottante

Masque PGpour génération du DB 1 10-10pour génération du DX 0 7-14

MDT (coupure secteur) 4-28Mémento

banalisé 10-53M 1-12, 10-23S 1-12utilisation multiple 4-46

Mémentos de couplageéchange de données 10-5généralités 3-13, 10-5positionnement des cavaliers 10-5transfert 10-8

Mémoire communeaccès 9-25généralités 9-4

Mémoire imageactualisation 4-29définition/transfert 6-20des entrées (MIE) 1-5, 1-11des sorties (MIS) 1-5, 1-11généralités 1-11, 3-13

Mémoire localeaccès 9-24généralités 9-4

Mémoire utilisateur 1-14, 3-10organisation 8-10

Mise en route, état de fonctionnement 4-21comparaison 6-64généralités 3-11, 4-16interruptions 4-28

Mode de fonctionnement de la CPU 1-5Mot de données 1-13, 2-35, 2-39Mots de données système

affectation des bits 8-18

N

Niveaux de traitement de programme 4-4, 4-6, 6-32

Nombresà virgule fixe 2-9à virgule flottante 2-9binaires 2-8décimaux 2-8décimaux codés binaire (DCB) 2-8, 2-11

Numéro de bibliothèque 2-36

O

Opérande 2-6Opérandes effectifs

de blocs fonctionnels 2-25, 2-29 - 2-30, 3-52, 3-55

Opérandes formelsde blocs fonctionnels 2-25, 3-52

Opérations 2-6arithmétiques 3-31complémentaires 2-4, 3-49d’arrêt 3-33d’organisation 3-59de base 2-4, 3-19de calcul 3-57de chargement 3-21, 3-55de comparaison 3-32, 3-47 - 3-48de composition d’image 3-33de comptage 3-44 - 3-46de conversion 3-63de décalage 3-61de mémorisation 3-20, 3-37 - 3-39, 3-52de saut 3-59de substitution 3-66de temporisation 3-40de temporisation et de comptage 3-26, 3-53de transfert 3-21, 3-55nulles 3-33STEP 5 3-15sur sémaphores 3-75 - 3-80système 2-4, 3-59, 9-4

Opérations combinatoires 3-34 - 3-37, 3-50sur bits 3-50sur mots 3-50

Organisation de la mémoire 9-4

Index

Programmation de la CPU 948Index - 4 C79000-G8577-C848-04

Page 545: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

OUVoir Indicateurs de résultat

Outils de programmation 1-18OVFL (overflow : dépassement)

Voir Indicateurs de résultatOVFLMEM (dépassement mémorisé)

Voir Indicateurs de résultat

P

Pages de mémoire 9-29accès aux pages 9-29cellule de réservation d’accès 9-30

Paramétrage du DX 0 1-8Paramètres 2-6PARI (erreur de parité) 5-28Périphérie

cartes 1-11champ d’adressage 8-8zone P 1-11zone Q 1-11

Pile des interruptionsVoir ITPILE

Pointsd’interruption 3-14de contrôle 11-5

Présélectionsdu programme système 1-8modification 1-8, 7-4

Priorité 1-6, 4-5, 4-7, 4-33, 4-42, 4-44, 7-10Processeurs de communication (CP) 10-7Profondeur d’imbrication 3-9Programmation 1-15

structurée 2-5Programme

mémorisation 3-10organisation 3-5

Programme système 1-7Programme utilisateur 1-7, 1-9

sauvegarde 1-10tâches 1-9traitement 3-4, 3-11

R

RAM système 8-6Réaction

à l’appel d’un OB non chargé 5-21aux alarmes 3-12aux erreurs 2-20, 3-12, 5-23de la CPU aux erreurs 5-23 - 5-33

temps de réaction 4-46Redémarrage 4-21

Voir Mise en routeRegistre BR 9-22Représentation des valeurs numériques 2-8Résultat logique (RLG)

Voir Indicateurs de résultatRetardement d’alarmes 6-32, 6-35RLG (résultat logique)

Voir Indicateurs de résultatRUN

Voir Marche, état de fonctionnement

S

Schéma à contacts (CONT) 2-4Sémaphores 3-75 - 3-80Sous-niveau 4-7STOP

Voir ArrêtStructure de l’espace mémoire 8-4, 8-7SUB (erreur de substitution) 5-28Substitution d’opérandes 3-68Surveillance du temps de cycle 3-13, 5-27, 6-63

T

Temporisation T 1-13Temps de cycle 3-12, 5-27, 7-8

nécessaire en vigueur 8-20Temps de réaction 4-46Test

de l’horloge matérielle 5-35de la mémoire utilisateur 5-35de la surveillance du temps de cycle 5-36des lignes d’adresses 5-36du code des blocs de code 5-36du code du programme système 5-36du signal BASP 5-35

Traitement de programmecyclique 1-5, 1-16, 3-4, 3-11, 4-30déclenché par alarme 1-6, 4-32, 4-41déclenché par horloge 1-6

Traitement des erreursà l’aide des blocs d’organisation 5-20

Tranche horaire 5-34calcul 5-37définition 5-37

Transfert de blocs de mémoire 9-19Type et identification de CPU 8-44

Index

Programmation de la CPU 948C79000-G8577-C848-04 Index - 5

Page 546: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

V

Valeurde comptage 3-28de temporisation 3-27

Valeurs numériquesreprésentation 2-8

Validité d’un bloc de données ouvert 2-40

Z

Zone des pages 9-29 - 9-30Zones BA/BB 8-14Zones BS/BT 8-15 - 8-17

occupation de la zone BS 8-16Zones d’opérandes 1-11

Index

Programmation de la CPU 948Index - 6 C79000-G8577-C848-04

Page 547: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

1S5-155U CPU 948C79000-G8577-C848-04

Expéditeur :

Vos Nom : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _.

Fonction : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Entreprise : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Rue : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Code postal :_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Ville : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Pays : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Téléphone : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Indiquez votre secteur industriel :

� Industrie automobile

� Industrie chimique

� Industrie électrique

� Industrie alimentaire

� Contrôle/commande

� Construction mécanique

� Pétrochimie

� Industrie pharmaceutique

� Traitement des matières plastiques

� Industrie du papier

� Industrie textile

� Transports

� Autres _ _ _ _ _ _ _ _ _ _ _

Siemens AG

A&D AS E 81

Oestliche Rheinbrueckenstr. 50

D-76181 Karlsruhe

République Fédérale d’Allemagne

Page 548: AP S5-155U, CPU 948 - Siemens...ment au manuel. Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’équipement. Il s’agit de personnes qui ont

2S5-155U CPU 948

C79000-G8577-C848-04

Vos remarques et suggestions:

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Remarques / suggestions

Vos remarques et suggestions nous permettent d’améliorer la qualité générale de notredocumentation. C’est pourquoi nous vous serions reconnaissants de compléter et de ren-voyer ces formulaires à Siemens.

Répondez aux questions suivantes en attribuant une note comprise entre 1 pour très bienet 5 pour très mauvais.

1. Le contenu du manuel répond-il à votre attente ?

2. Les informations requises peuvent-elles facilement être trouvées ?

3. Le texte est-il compréhensible ?

4. Le niveau des détails techniques répond-il à votre attente ?

5. Quelle évaluation attribuez-vous aux figures et tableaux ?