Télécharger Imprimer la page

Publicité

Liens rapides

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

Publicité

loading

Sommaire des Matières pour Siemens SIMATIC S5 AP S5-155U

  • Page 1 Sommaire Introduction Programme utilisateur SIMATIC S5 Traitement du programme Etats de fonctionnement et niveaux de traitement de programme AP S5-155U CPU 948 Traitement des interruptions et des erreurs Fonctions spéciales intégrées Guide de programmation Bloc de données étendu DX 0 Ce manuel a le numéro de référence : Contenu et organisation de la 6ES5 998-3PR31...
  • Page 2 Les autres désignations dans ce document peuvent être des marques dont l’utilisation par des tiers à leurs propres fins peut léser les droits des propriétaires desdites marques. Copyright Siemens AG 1998 Tous droits réservés Exclusion de responsabilité Toute communication ou reproduction de ce support d’information, Nous avons vérifié...
  • Page 3 Sommaire Introduction ..............1 - 3 Domaine d’application de l’AP S5-155U avec la CPU 948 .
  • Page 4 Sommaire Traitement du programme ........... . . 3 - 3 Principe du traitement du programme .
  • Page 5 Sommaire Traitement des erreurs à l’aide de blocs d’organisation ....... 5 - 20 Origine des erreurs et réactions aux erreurs de la CPU .
  • Page 6 Sommaire 6.18 OB 182 : Duplication d’une zone de données ........6 - 59 6.19 OB 200 et OB 202 à...
  • Page 7 Sommaire 10.1.3 Echange de données via des mémentos de couplage ......10 - 5 10.1.4 Echange de données via des blocs de dialogue....... 10 - 8 10.1.5 Programmation nécessaire pour le fonctionnement multiprocesseur .
  • Page 8 Sommaire Interfaces et fonctions en ligne de la PG ........11 - 3 11.1 Présentation .
  • Page 9 Introduction Sommaire du chapitre 1 Domaine d’application de l’AP S5-155U avec la CPU 948 ..... . . 1 - 4 Mode de fonctionnement caractéristique d’une CPU .
  • Page 10 Sommaire Programmation de la CPU 948 1 - 2 C79000-G8577-C848-04...
  • Page 11 STEP 5 (cf. biblio- graphie /3/) ou la participation à un stage dans l’un de nos centres de formation. SIEMENS propose un vaste programme de stages SIMATIC S5. Pour de plus amples informations, veuillez vous adres- ser à...
  • Page 12 Domaine d’application de l’AP S5-155U avec la CPU 948 Domaine d’application de l’AP S5-155U avec la CPU 948 Situation dans la L’automate programmable (AP) S5-155U fait partie de la gamme des gamme SIMATIC S5 automates programmables SIMATIC S5. Il représente, avec la CPU 948, l’automate multiprocesseur le plus performant destiné...
  • Page 13 Mode de fonctionnement caractéristique d’une CPU Mode de fonctionnement caractéristique d’une CPU Mode de fonctionnement Une CPU présente les modes de fonctionnement suivants : d’une CPU Traitement cyclique Traitement déclenché Traitement déclenché par horloge par alarme Traitement cyclique Il représente la partie principale des processus de la CPU. Comme son nom l’indique, la même séquence de traitement se répète cyclique- ment à...
  • Page 14 Mode de fonctionnement caractéristique d’une CPU Traitement déclenché par Dans le cas de processus requérant des signaux de commande à des horloge intervalles de temps constants, vous pouvez en plus du traitement cy- clique accomplir certaines tâches déclenchées par horloge, comme par exemple des fonctions de surveillance non critiques avec une péri- odicité...
  • Page 15 Programmes dans la CPU Programmes dans la CPU Le programme de chaque CPU comprend : • • le programme système • • le programme utilisateur. Programme système Le programme système gère toutes les fonctions et opérations de la CPU qui ne sont pas liées directement à une tâche spécifique d’auto- matisation (cf.
  • Page 16 Programmes dans la CPU Tâches Les tâches à accomplir par le programme système sont les suivantes • • démarrage et redémarrage, • • actualisation de la mémoire image des entrées, émission de la mémoire image des sorties, • • appel des programmes cycliques et des programmes déclenchés par horloge ou par alarme, •...
  • Page 17 Programmes dans la CPU Programme utilisateur Tâches Le programme utilisateur comporte toutes les fonctions nécessaires au traitement d’une tâche d’automatisation spécifique. Lors d’une attri- bution approximative des tâches, ces fonctions peuvent être affectées directement aux interfaces mises à disposition par le programme sy- stème pour les divers modes de fonctionnement.
  • Page 18 Programmes dans la CPU Structure Mémoire utilisateur Programme utilisateur Blocs de code Blocs Blocs Blocs de Blocs séquentiels d´organisation programme fonctionnels FB/FX Opérations Opérations Opérations Opérations STEP 5 STEP 5 STEP 5 STEP 5 E 1.5 & M 1.7 FB 8 M 50.1 E 2.6 E 1.6...
  • Page 19 Opérandes disponibles pour le programme utilisateur Opérandes disponibles pour le programme utilisateur Pour la programmation, la CPU 948 met à votre disposition les zones d’opérandes suivantes : • • mémoire image et périphérie, • • mémentos (mémentos M et mémentos S), •...
  • Page 20 Opérandes disponibles pour le programme utilisateur Zone de mémentos M Caractéristiques Capacité La zone de mémentos est une zone de mémoire à 2048 bits 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.
  • Page 21 Opérandes disponibles pour le programme utilisateur Temporisations T Caractéristiques Capacité Les cellules de temporisation sont chargées par le 256 cellules programme utilisateur avec une valeur de temps comprise entre 10 ms et 9990 s. Par une instruction de temporisation démarrage, elles sont ensuite décrémentées à partir de cette valeur définie selon la période sélectionnée jusqu’à...
  • Page 22 Capacité mémoire disponible pour le programme utilisateur Capacité mémoire disponible pour le programme utilisateur Pour mémoriser les blocs de code et les blocs de données, la CPU 948 dispose uniquement de la mémoire utilisateur dans la RAM interne. La CPU 948 existe en deux versions de mémoire utilisateur : •...
  • Page 23 Procédure de programmation Procédure de programmation Si vous êtes un programmeur expérimenté et disposez de votre propre méthode de programmation, vous pouvez passer directement au para- graphe suivant. Les utilisateurs moins expérimentés trouveront dans ce paragraphe quelques conseils sur la conception, la programmation, le test et la mise en service de leur programme STEP 5.
  • Page 24 Procédure de programmation ème séquence Conception du programme Etape Action 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. Divisez les modes de traitement en plusieurs unités technologiques ou fonctionnelles.
  • Page 25 Procédure de programmation ème séquence Ecriture, test et mise en service du programme Etape Action 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 être créés qu’en mode de représentation LIST. Procédez à...
  • Page 26 Outils de programmation Outils de programmation Consoles de Pour créer votre programme utilisateur, vous disposez des consoles de programmation programmation PG 685, PG 710, PG 730, PG 750 et PG 770. La ca- pacité et les caractéristiques de ces consoles de programmation sont décrites dans le catalogue ST 59 (cf.
  • Page 27 Conversion de programmes utilisateur de la CPU 928B pour la CPU 948 Conversion de programmes utilisateur de la CPU 928B pour la CPU 948 Ce paragraphe contient quelques remarques dont vous devez tenir compte lorsque vous voulez exécuter dans la CPU 948 des program- mes utilisateur conçus pour la CPU 928B.
  • Page 28 Conversion de programmes utilisateur de la CPU 928B pour la CPU 948 Traitement des cellules de temporisation CPU 928B CPU 948 Les cellules de temporisation Les cellules de temporisation ne sont actualisées dès la mise en sont actualisées qu’à l’état de route.
  • Page 29 Conversion de programmes utilisateur de la CPU 928B pour la CPU 948 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.
  • Page 30 Conversion de programmes utilisateur de la CPU 928B pour la CPU 948 Remarque OB 122 Son paramétrage diffère de celui de l’OB 122 pour la CPU 928B, et ce afin d’assurer la compatibilité avec la CPU 946/947. OB 180 Contrairement à ce qui se passe dans la CPU 928B, la fenêtre d’accès ne peut être décalée que par un multiple de 16 pour la CPU 948.
  • Page 31 Programme utilisateur Sommaire du chapitre 2 Langage de programmation STEP 5 ......... 2 - 4 2.1.1 Modes de représentation CONT, LOG et LIST.
  • Page 32 Sommaire Programmation de la CPU 948 2 - 2 C79000-G8577-C848-04...
  • Page 33 Programme 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 de structurer ce programme. Programmation de la CPU 948 2 - 3 C79000-G8577-C848-04...
  • Page 34 Langage de programmation STEP 5 Langage de programmation STEP 5 Le langage de programmation STEP 5 vous permet de transcrire votre tâche d’automatisation en un programme exécutable sur les automates programmables SIMATIC S5. STEP 5 convient à la programmation de fonctions binaires simples ainsi que de fonctions numériques com- plexes et d’opérations arithmétiques, y compris les opérations sur nombres à...
  • Page 35 Langage de programmation STEP 5 Schéma à contacts Liste d’instructions Logigramme Programmation avec Programmation avec Programmation avec des symboles graphiques des symboles des abréviations mnémotechniques des graphiques comme un désignations des fonctions schéma des circuits conforme à conforme à conforme à CEI 117-15 DIN 19239 DIN 19239...
  • Page 36 Langage de programmation STEP 5 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, •...
  • Page 37 Langage de programmation STEP 5 Opérandes absolus et L’opérande peut être défini sous forme absolue ou symbolique (sui- symboliques 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érer au manuel STEP 5.
  • Page 38 Langage de programmation STEP 5 2.1.4 Représentation des Afin que le processeur puisse combiner, modifier ou comparer des va- valeurs numériques 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 à...
  • Page 39 Langage de programmation STEP 5 Nombres à virgule fixe de Il s’agit de nombres binaires entiers pourvus d’un signe. 16 bits et 32 bits Codage des nombres à Ils ont une longueur de 16 bits (= 1 mot) ou de 32 bits (= 2 mots), virgule fixe le bit 15 ou 31 contenant le signe : •...
  • Page 40 Langage de programmation STEP 5 Utilisation des nombres à Il est recommandé d’utiliser des nombres à virgule flottante pour virgule flottante résoudre des problèmes de calcul plus complexes, plus particulière- ment pour des multiplications et divisions, ainsi que pour les calculs portant sur des nombres très grands ou très petits.
  • Page 41 Langage de programmation STEP 5 Affichage sur la PG après la validation : KG + 1234567 + 02 Mantisse avec signe Exposant (base 10) avec signe Valeur du nombre saisi : +0,1234567 x 10 = 12,34567 Dans un bloc de données On désire charger le nombre N = - 0,005 en tant que constante à...
  • Page 42 Langage de programmation STEP 5 2.1.5 Blocs STEP 5 et sauve- garde de ces blocs en mémoire Identification Un bloc est identifié par : • • son type (OB, PB, SB, FB, FX, DB, DX) • • son numéro (nombre entre 0 et 255). Types de blocs Le langage de programmation STEP 5 distingue les types de blocs sui- vants.
  • Page 43 Langage de programmation STEP 5 Blocs fonctionnels (FB/FX) Ils servent à programmer des fonctions complexes ou répétitives, par exemple fonctions numériques, commandes séquentielles, régulations, fonctions de signalisation. Un même bloc fonctionnel peut être appelé plusieurs fois par les blocs de rang supérieur avec, à chaque fois, d’autres opérandes (paramétra- ge de l’appel).
  • Page 44 Langage de programmation STEP 5 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 des informations relatives au format de données (pour DB et DX) ou aux repères de saut (pour FB et FX) qui ne peuvent être exploitées que par la console de programmation.
  • Page 45 Langage de programmation STEP 5 Stockage des blocs Tous les blocs programmables sont rangés par la PG dans la mémoire utilisateur dans l’ordre de leur transfert (cf. figure 2-2). Si vous sélectionnez la fonction PG de transfert de tous les blocs, les blocs de code puis les blocs de données sont transférés.
  • Page 46 Blocs d’organisation, de programme et séquentiels Blocs d’organisation, de programme et séquentiels 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 et LIST.
  • Page 47 Blocs d’organisation, de programme et séquentiels 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 inconditionnelles et n’exerce pas d’influence directe sur le RLG. Lors du saut, ce RLG est repris dans le nouveau bloc où...
  • Page 48 Blocs d’organisation, de programme et séquentiels Instruction BE Après l’instruction BE (fin de bloc), la CPU poursuit le programme utilisateur dans le bloc dans lequel l’appel de bloc a été programmé. L’exécution du programme est poursuivie par l’instruction STEP 5 qui suit l’appel de bloc.
  • Page 49 Blocs d’organisation, de programme et séquentiels Tableau 2-1 Vue d’ensemble des blocs d’organisation de la CPU 948 pour le traitement du programme 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’un démarrage, puis appel cyclique.
  • Page 50 Blocs d’organisation, de programme et séquentiels Tableau 2-2 Vue d’ensemble des blocs d’organisation de la CPU 948 pour la mise en route 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...
  • Page 51 Blocs d’organisation, de programme et séquentiels Blocs d’organisation pour la réaction aux erreurs matérielles ou de programmation 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...
  • Page 52 Blocs d’organisation, de programme et séquentiels 2.2.2 Blocs d’organisation de fon- Les OB suivants contiennent des fonctions spéciales du programme sy- ctions spéciales 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 les OB ayant des numéros entre 121 et 255).
  • Page 53 Chaque bloc fonctionnel représente une fonction complète au sein du programme utilisateur. Vous pouvez : • • commander des blocs fonctionnels auprès de SIEMENS en tant que produit logiciel (blocs fonctionnels standard – cf. biblio- graphie /11/) ; ces blocs fonctionnels standard permettent d’éla- borer rapidement des programmes utilisateur destinés à...
  • Page 54 Blocs fonctionnels 2.3.1 Structure des blocs L’en-tête (5 mots) d’un bloc fonctionnel présente la même structure fonctionnels que celui des autres blocs STEP 5. La structure d’un corps de bloc est différente de celle des autres types de blocs. En effet, le corps de bloc ne contient pas uniquement le pro- gramme utilisateur sous forme de liste d’instructions STEP 5, mais commence par le nom du bloc et par la liste des opérandes formels.
  • Page 55 Blocs fonctionnels 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 du paramétrage et de la programmation du bloc fonctionnel. Toute saisie erronée est refusée par la console de programmation.
  • Page 56 Blocs fonctionnels 2.3.2 Programmation de blocs Un bloc fonctionnel ne peut être programmé qu’en mode liste d’ins- fonctionnels tructions (LIST). Procédez comme suit pour saisir un bloc fonction- nel sur la PG. Etape Action Indiquez le type (FB/FX) et le numéro du bloc fonctionnel.
  • Page 57 Blocs fonctionnels Nota En cas de modification de l’ordre ou du nombre des opérandes formels dans la liste des paramètres du bloc, il est nécessaire de modifier également les instructions STEP 5 du bloc fonctionnel qui appellent un opérande formel ainsi que la liste de paramétrage dans le bloc appelant.
  • Page 58 Blocs fonctionnels 2.3.3 Appel et paramétrage de Vous pouvez appeler chaque bloc fonctionnel autant de fois que vous blocs fonctionnels le 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 et LOG qu’en LIST.
  • Page 59 Blocs fonctionnels Opérandes effectifs admis Le tableau suivant indique quels opérandes effectifs vous pouvez af- fecter à un bloc fonctionnel. Tableau 2-7 Opérandes effectifs admis dans les blocs fonctionnels Type de Format de paramètre Opérandes effectifs admis paramètre E, A si l’opérande est un bit entrée sortie...
  • Page 60 Blocs fonctionnels Type de Format de paramètre Opérandes effectifs admis paramètre Suite du tableau 2-7 pour un nombre à virgule constante (suite) fixe de -32768 à +32767 pour un nombre à virgule flottante pas d’indication de format bloc de données ; l’instruction A DB n est exécutée.
  • Page 61 Blocs fonctionnels 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 1 : EXEMPLE : ANNE E/A/D/B/T/Z: E BI/BY/W/D: BI Liste...
  • Page 62 Blocs fonctionnels 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 25 SEGMENT 1 : A DB 5 : SPA FB 201 : E-ANTR ZU-E : ZEIT : 010.1...
  • Page 63 Blocs fonctionnels 2.3.4 Blocs fonctionnels Outre les blocs fonctionnels programmés par l’utilisateur, il existe des spéciaux blocs fonctionnels standard pouvant être commandés en tant que pro- duit logiciel fini. Ils contiennent des fonctions standard d’emploi général (par exemple, fonctions de signalisation, commandes séquenti- elles, etc.).
  • Page 64 Blocs fonctionnels 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 17 ment SEGMENT 2 :*** : SPA FB 6 FB 6 Seg- NOM : RAD : GP ment RADI : DD 5 DD 5 RADI...
  • Page 65 Blocs de données 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 programme utilisateur. Aucune instruction STEP 5 n’est traitée dans les blocs de données. Les données d’un bloc de données peuvent être : •...
  • Page 66 Blocs de données 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, •...
  • Page 67 Blocs de données 2.4.1 Programmation de blocs Pour élaborer un bloc de données, procédez comme suit : de données Etape Action Indiquez un type (DB/DX) et un numéro de bloc de données entre 2 (ou 3) et 255. Saisissez les différents mots de données dans le format de données souhaité.
  • Page 68 Blocs de données 2.4.2 Appel 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 de données peut être appelé...
  • Page 69 Blocs de données Nota Avant d’accéder à un mot de données, il faut appeler le bloc de données concerné dans le programme utilisateur pour que la CPU puisse retrouver le mot de données correct. Le mot de données auquel vous voulez accéder doit être contenu dans le bloc ouvert, sinon le programme système décèle une erreur de transfert ou de chargement.
  • Page 70 Blocs de données 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 de données.
  • Page 71 Blocs de données 2.4.3 Blocs 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 le programme système et vous ne pouvez pas les utiliser librement. •...
  • Page 72 Blocs de données Programmation de la CPU 948 2 - 42 C79000-G8577-C848-04...
  • Page 73 Traitement du programme Sommaire du chapitre 3 Principe du traitement du programme ........3 - 4 Organisation du programme .
  • Page 74 Sommaire Programmation de la CPU 948 3 - 2 C79000-G8577-C848-04...
  • Page 75 Traitement 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 dans STEP 5, explicitant en détail – à l’appui d’exemples – les opérations STEP 5 de la CPU 948.
  • Page 76 Principe du traitement du programme 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 ;...
  • Page 77 Organisation du programme 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 de programme, fonctionnels et séquentiels dans un ordre quelconque (successivement ou de façon imbriquée).
  • Page 78 Organisation du programme OB 1 PB "A" Programme des Arrêt de modes de l´installation fonctionnement Arrêt d´urgence SPA PB "A" Initialisation PB "B" Commande du Commande Etape graphe séquentiel séquentielle SPA PB "B" Etape PB "C" Alimentation Niveau des Mémentos groupée commandes d´interface des...
  • Page 79 Organisation du programme PB "X" Pa r t ie Co m m a n d e d ´ in sta lla tio n "X" in d iv id u e lle SPA PB " X" Ré g u la t io n Sig n a lis a t io n PB "...
  • Page 80 Organisation du programme Imbrication des blocs La figure 3-4 montre le principe d’imbrication des blocs OB 1 PB 5 PB 20 ère ère instruction instruction STEP 5 STEP 5 DB 20 DB 30 PB 20 M 1.5 FB 30 SPA PB 5 NOM : KURV M 200.5 E 55.0...
  • Page 81 Organisation du programme Profondeur d’imbrication Il est possible d’imbriquer au maximum 40 blocs. S’il y a plus de 40 niveaux d’imbrication, la CPU signale une erreur et passe à l’état d’arrêt (STOP). Exemple du calcul de la profondeur d’imbrication Niveau de traitement du programme OB 25...
  • Page 82 Mémorisation de programmes et de blocs de données Mémorisation de programmes et de blocs de données La CPU 948 ne peut exécuter le programme utilisateur que dans la RAM interne. Le programme utilisateur doit donc être chargé – y com- pris les blocs de données existants –...
  • Page 83 Traitement du programme utilisateur Traitement du programme utilisateur Le logiciel (programme système et programme utilisateur STEP 5) de la CPU doit exécuter les tâches suivantes : • • mise en route de la CPU, • • commande d’un processus d’automatisation par la répétition permanente de séquences d’opérations (cycle), •...
  • Page 84 Traitement du programme utilisateur Réaction aux alarmes Afin de pouvoir réagir de façon ciblée aux différentes alarmes et er- et aux erreurs 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 pouvez mémoriser votre propre programme STEP 5.
  • Page 85 Traitement du programme utilisateur Surveillance du temps de La CPU surveille la durée maximale du cycle qui, par défaut, a une va- cycle leur de 200 ms. Vous pouvez définir cette valeur vous-même ou bien redémarrer la surveillance du temps de cycle (réarmement du chien de garde) pendant le traitement du programme utilisateur (cf.
  • Page 86 Traitement du programme utilisateur Points d’interruption Le traitement cyclique du programme peut être suspendu par : • • le traitement d’un programme déclenché par horloge (alarme de retardement, alarme d’horloge cyclique, alarme d’horloge à heure fixe), • • le traitement d’un programme déclenché par alarme (alarme de processus, interruption du système).
  • Page 87 Liste des opérations STEP 5 avec exemples de programmation 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 à...
  • Page 88 Liste des opérations STEP 5 avec exemples de programmation • • Les opérations arithmétiques opèrent avec les contenus de l’ACCU 1 et de l’ACCU 2, écrivent le résultat dans l’ACCU 1 et transfèrent le contenu de l’ACCU 3 dans l’ACCU 2 et celui de l’ACCU 4 dans l’ACCU 3 (dépilage).
  • Page 89 Liste des opérations STEP 5 avec exemples de programmation Exemple de 1e ? E 1.0 1e ? est mis à 1, le RLG est reconstitué par la combinaison ET (U) E 6.3 Le RLG est influencé par la combinaison OU. E 2.1 Le RLG est influencé...
  • Page 90 Liste des opérations STEP 5 avec exemples de programmation • • FL 1 et FL 0 Indicateurs codés de résultat. Pour leur interprétation, voir le table- au ci-dessous. Nota Des opérations de comparaison et de saut sont disponibles pour une exploitation immédiate des indicateurs (voir paragraphes 3.5.1 à...
  • Page 91 Opérations de base 3.5.1 Opé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 combinatoires sur bits Tableau 3-2 Opérations combinatoires sur bits Opération Opérande Fonction...
  • Page 92 Opérations de base Dans la séquence de combinaisons, l’état du RLG dépend du type de combinaison, de l’état antérieur du RLG et de l’état du signal testé. La sé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é...
  • Page 93 Opérations de base Opérations de chargement et de transfert ère Tableau 3-4 Opérations de chargement et de transfert, 1 partie Opération Opérande Fonction Charger Transférer 0 à 127 un octet d’entrée de/vers la MIE 0 à 126 un mot d’entrée de/vers la MIE 0 à...
  • Page 94 Opérations de base ème Tableau 3-5 Opérations de chargement et de transfert, 2 partie Opération Opérande Fonction Charger 0 à 255 une constante à 1 octet 2 caractères une constante à 2 caractères ASCII ASCII -32768 à une constante à virgule fixe +32767 une constante à...
  • Page 95 Opérations de base Exemples d’opérations de chargement 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 à...
  • Page 96 Opérations de base Exemple 2 La figure 3-7 montre le chargement/transfert d’un octet, d’un mot ou d’un double 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...
  • Page 97 Opérations de base 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 • • par la mémoire image : avec L../T..
  • Page 98 Opérations de base Opérations de Pour pouvoir charger une temporisation par une instruction de lance- temporisation et de ment ou un compteur par une instruction de positionnement, il faut comptage que la valeur de temporisation ou de comptage soit chargée dans l’ACCU 1.
  • Page 99 Opérations de base Valeur de temporisation L’opération L KT permet de charger une valeur de temporisation dans l’ACCU 1 soit directement, soit indirectement depuis un mot de données ou de mémentos. La valeur de temporisation doit présenter la structure suivante (le code de base de temps figure derrière le point dans l’opérande de L KT) : 15 14 13 valeur de temporisation...
  • Page 100 Opérations de base Valeur de comptage L’opération L KZ permet de charger une valeur de comptage dans l’ACCU 1 soit directement, soit indirectement depuis un mot de données ou de mémentos. La valeur de comptage doit présenter la structure suivante : 15 14 13 valeur de comptage DCB 0 à...
  • Page 101 Opérations de base Autres exemples de valeurs de temporisation et de comptage Chargement direct du facteur d’une valeur de temporisation valeur de temporisation cellule de temporisation T 10 ACCU 1 "0" "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.
  • Page 102 Opérations de base Chargement en code DCB d’une valeur de temporisation b a s e d e t e m p s v a l e u r d e t e m p o r i s a t i o n c e l l u l e d e t e m p o r i s a t i o n T 1 0 b i n a i r e D C B...
  • Page 103 Opérations de base Opérations arithmétiques Tableau 3-7 Opérations arithmétiques Opération Opérande Fonction – 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 à...
  • Page 104 Opérations de base Opérations de comparaison Tableau 3-8 Opérations de comparaison Opération Opérande Fonction – 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 à...
  • Page 105 Opérations de base 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 nulle n’est pas attribuée au bloc de données ; le contenu des mots de données est donc quelconque.
  • Page 106 Exemples de programmation pour les modes de représentation LIST, CONT, LOG 3.5.2 Exemples de program- mation pour les modes de représentation LIST, CONT, Opérations combinatoires Combinaison ET Représentation STEP 5 Problème posé LIST CONT E 1.1 E 1.1 E 1.3 E 1.7 A 3.5 E 1.1 1.3 1.7...
  • Page 107 Exemples de programmation pour les modes de représentation LIST, CONT, LOG Opérations combinatoires (suite) Combinaison OU Représentation STEP 5 Problème posé CONT LIST E 1.2 E 1.2 A 3.2 E 1.2 1.7 1.5 E 1.2 E 1.7 E 1.7 E 1.5 A 3.2 E 1.2 E 1.7...
  • Page 108 Exemples de programmation pour les modes de représentation LIST, CONT, LOG Opérations combinatoires (suite) Exemple 1 Combinaison OU avant ET Représentation STEP 5 Problème posé LIST CONT E 6.0 E 6.0 A 2.1 E 6.0 E 6.1 E 6.2 E 6.3 E 6.0 E 6.2 E 6.3...
  • Page 109 Exemples de programmation pour les modes de représentation LIST, CONT, LOG Opérations combinatoires (suite) Test d’un signal logique à "0" Représentation STEP 5 Problème posé LIST CONT E 1.5 E 1.6 A 3.0 E 1.5 E 1.5 E 1.6 & E 1.5 E 1.5 E 1.6...
  • Page 110 Exemples de programmation pour les modes de représentation LIST, CONT, LOG Opérations de mémorisation (suite) Mémoire RS mettant en o uvre un mémento Représentation STEP 5 Problème posé LIST CONT M 1.7 M 1.7 E 2.6 E 2.6 E 1.3 E 2.6 M 1.7 E 2.6...
  • Page 111 Exemples de programmation pour les modes de représentation LIST, CONT, LOG Opérations de mémorisation (suite) Fonction impulsionnelle (contact de passage) Représentation STEP 5 Problème posé LIST CONT E 1.7 E 1.7 E 1.7 E 1.7 M 4.0 M 2.0 & E 1.7 M 4.0 M4.0...
  • Page 112 Exemples de programmation pour les modes de représentation LIST, CONT, LOG Opérations de temporisation Impulsion Représentation STEP 5 Problème posé CONT LIST E 3.0 E 3.0 KT 10.2 E 3.0 E 3.0 10.2 10.2 AW 0 A4.0 AW 2 A4.0 A4.0 E 3.0 A4.0...
  • Page 113 Exemples de programmation pour les modes de représentation LIST, CONT, LOG Opérations de temporisation (suite) Impulsion prolongée (calibrage) Représentation STEP 5 Problème posé LIST CONT E 3.1 E 3.1 EW 15 E 3.1 E 3.1 EW15 EW15 A4.1 A4.1 A4.1 A4.1 La temporisation est lancée lorsque l’instruction se présente pour la première fois après le passage à...
  • Page 114 Exemples de programmation pour les modes de représentation LIST, CONT, LOG Opérations de temporisation (suite) Retard à la montée Représentation STEP 5 Problème posé LIST CONT E 3.5 E 3.5 E 3.5 E 3.5 KT9.2 KT9.2 9s 0 A4.2 E 3.5 A4.2 A4.2 A4.2...
  • Page 115 Exemples de programmation pour les modes de représentation LIST, CONT, LOG Opérations de temporisation (suite) Retard à la montée mémorisé Représentation STEP 5 Problème posé LIST CONT E 3.3 E 3.2 E 3.3 E 3.3 E 3.3 KT 20.2 20.2 20.2 SS T E 3.2...
  • Page 116 Exemples de programmation pour les modes de représentation LIST, CONT, LOG Opérations de comptage Positionnement d’un compteur Représentation STEP 5 Problème posé LIST CONT E 4.0 E 4.1 KZ 150 E 4.0 E 4.1 E 4.1 binaire KZ 150 KZ 150 16 bits Lorsque le RLG de l’entrée E 4.1 passe de "0"...
  • Page 117 Exemples de programmation pour les modes de représentation LIST, CONT, LOG Opérations de comptage (suite) Comptage Représentation STEP 5 Problème posé LIST CONT E 4.1 E 4.1 ZV Z E 4.1 binaire 16 bits 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"...
  • Page 118 Exemples de programmation pour les modes de représentation LIST, CONT, LOG Opérations de comptage (suite) Décomptage Représentation STEP 5 Problème posé CONT LIST E 4.0 E 4.0 ZR Z R S ZE E 4.0 binaire 16 bits La valeur du compteur adressé est décrémentée de 1, jusqu’à une valeur minimale de 0. La fonction n’est exécutée que pour le front montant ("0"...
  • Page 119 Exemples de programmation pour les modes de représentation LIST, CONT, LOG Opérations de comparaison Comparaison d’égalité Représentation STEP 5 Problème posé CONT LIST EB 19 EB 19 EB 20 EB 20 EB 19 EB 19 A 3.0 ! = F A 3.0 EB 20 EB 20...
  • Page 120 Exemples de programmation pour les modes de représentation LIST, CONT, LOG Opérations de comparaison (suite) Comparaison d’inégalité Représentation STEP 5 Problème posé LIST CONT EB 21 EB 21 DW 3 DW 3 EB 21 EB 21 > < > < A 3.1 >...
  • Page 121 Opérations complémentaires 3.5.3 Opérations Les opérations complémentaires (ou instructions étendues) ne peuvent complémentaires être utilisées sur la PG que dans les blocs fonctionnels (FB et FX). L’ensemble des opérations pour les blocs fonctionnels comprend les opé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 contenu d’une certaine zone de mémoire ou de modifier le contenu d’un regi-...
  • Page 122 Opérations complémentaires Opérations combinatoires sur bits Tableau 3-11 Opérations combinatoires sur bits avec des opérandes formels Opération Opérande Fonction 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 à...
  • Page 123 Opérations complémentaires Opérations de test de bits Tableau 3-13 Opérations de test de bits Opération Opérande Fonction Test de l’état d’un signal à "1" E 0.0 à 127.7 d’une entrée (MIE) A 0.0 à 127.7 d’une sortie (MIS) M 0.0 à 255.7 d’un mémento D 0.0 à...
  • Page 124 Opérations complémentaires Opérations de mémorisation Tableau 3-14 Opérations de mémorisation avec des opérandes formels Opération Opérande Fonction 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 à...
  • Page 125 Opérations complémentaires Opérations de temporisation et de comptage Tableau 3-16 Opérations de temporisation et de comptage Opération Opérande Fonction 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 à...
  • Page 126 Opérations complémentaires Exemples Appel du bloc fonctionnel Programme dans le bloc Programme exécuté fonctionnel :SPA FB 203 :EXEMPLE1 ANNE : E 10.3 =ANNE E 10.3 PAUL : T 17 010.2 KT 010.2 JEAN : A 18.4 :SSV =PAUL T 17 =PAUL T 17 =JEAN...
  • Page 127 Opérations complémentaires Opérations de chargement et de transfert Tableau 3-17 Opérations de chargement et de transfert avec des opérandes formels Opération Opérande Description Chargement d’un opérande formel La 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é...
  • Page 128 Opérations complémentaires Tableau 3-18 Opérations de chargement et de transfert avec des opérandes spéciaux Opération Opérande Fonction 0 à 255 Chargement d’un mot de la zone "données de couplage" (zone BA) dans l’ACCU 1 0 à 255 Chargement d’un mot de la zone étendue "données de couplage"...
  • Page 129 Opérations complémentaires Opérations de calcul Tableau 3-19 Opération de calcul ENT Opération Opérande Fonction – Il y a "empilage" dans les accumulateurs 3 et 4 : <ACCU 4> := <ACCU 3> <ACCU 3> := <ACCU 2> <ACCU 2> := <ACCU 2> <ACCU 1>...
  • Page 130 Opérations complémentaires Tableau 3-20 Opérations arithmétiques complémentaires Opération Opérande Fonction S ADD -128 à Addition d’une constante à 1 octet (virgule fixe) au contenu de +127 l’ACCU 1-L (extension du signe). Les indicateurs FL 0, FL 1, OVFL et OVFLMEM ne sont pas affectés. Les accumulateurs ACCU 1-H et ACCU 2 à...
  • Page 131 Opérations d’organisation 3.5.4 Opérations d’organisation Les opérations d’organisation comprennent aussi des opérations sy- stème. Attention Les opérations système ne doivent être employées que par des programmeurs 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.
  • Page 132 Opérations d’organisation Opération Opérande Fonction Suite du tableau 3-21 Condition de saut : résultat ≠ 0 SPN = Le saut n’est effectué que si FL 1 ≠ FL 0. Le résultat (adr = adresse logique RLG n’est pas modifié. symbolique avec au maximum Condition de saut : résultat >...
  • Page 133 Opérations d’organisation Opérations de décalage Tableau 3-22 Opérations de décalage Opération Opérande Fonction (opération avec ACCU 1) 0 à 15 Décalage vers la gauche (à droite sont insérés des zéros) 0 à 15 Décalage vers la droite (à gauche sont insérés des zéros) 0 à...
  • Page 134 Opérations d’organisation 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 DW 52 KH = 14AF :SLW 4 DW 53 KH = 4AF0 2.
  • Page 135 Opérations d’organisation Opérations de conversion Tableau 3-23 Opérations de conversion Opération Fonction 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 à...
  • Page 136 Opérations d’organisation 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 de l’ACCU 1 est un nombre de 32 bits à virgule fixe. La valeur contenue dans l’ACCU 1 (bits 0 à 31) est interprétée comme étant un nombre de 32 bits à...
  • Page 137 Opérations d’organisation Avec cet algorithme de conversion, on obtient les classes de résultat suivantes : • • 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 Nombre Nombre à...
  • Page 138 Opérations d’organisation Décrémentation/ incrémentation Tableau 3-24 Décrémentation/incrémentation Opération Opérande Fonction 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 à 255 Incrémentation de l’octet de poids faible (bits 0 à 7) de l’ACCU 1-L de la valeur de l’opérande 1 Le contenu de l’ACCU 1-L est diminué...
  • Page 139 Opérations d’organisation Opération Opérande Fonction Suite du tableau 3-25 S BI Traitement indirect d’un opérande formel Exé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. 60 à 63 Exécution d’une opération définie dans la zone des données système BS (données système libres : BS 60 à...
  • Page 140 Opérations d’organisation Exemples relatifs aux opé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é...
  • Page 141 Opérations d’organisation Suite des exemples relatifs à la substitution d’opérandes 3. Répartiteur de sauts pour l’emploi de sous-programmes MW 5 :SPA =M001 Contenu du mot de mémentos MW 5 :SPA =M002 distance :SPA =M003 Distance de saut ± 127) de saut :SPA =M004 (max.
  • Page 142 Opérations d’organisation Mot de paramètre pour mémentos 11 10 sans signification adresse de adresse d’octet de 0 à 255 bit de 0 à 7 Mot de paramètre pour mémentos S 15 14 12 11 0 adresse de adresse d’octet de 0 à 4095 bit de 0 à...
  • Page 143 Opérations d’organisation Exemple relatif à l’opération BI Le FB 1 exécute des instructions STEP 5 dont les codes d’opération sont transmis par un bloc appelant sous forme d’opérandes formels MW 10, MW 12 et MW 14. Le code d’opération qui doit être exécuté est défini comme numéro courant dans le mot de mémentos MW 16 par le bloc appelant.
  • Page 144 Opérations d’organisation Opérations sur périphérie Tableau 3-26 Opérations sur périphérie Opération Opérande Fonction 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...
  • Page 145 Opérations d’organisation SIM/LIM : positionnement et Comme son nom l’indique, le masque des interruptions "masque" les lecture du masque interruptions et alarmes dans le mot des indicateurs d’interruptions d’indication des interruptions jusqu’à la fin du cycle. Ainsi, bien que les interruptions et alarmes (UAMW) soient toujours présentes, elles n’interrompent pas le déroulement du programme.
  • Page 146 Opérations d’organisation Abréviation Signification Suite du tableau 3-28 Mot de poids faible BL INEX Un bloc appelé manque. DB INEX Un bloc de données appelé manque. Arrêt précis sur instruction Erreur de transfert ou de chargement Erreur de substitution P.BL> Débordement de la pile des blocs P.IT>...
  • Page 147 Opérations sur sémaphores 3.5.5 Opérations sur sémaphores Si, en fonctionnement multiprocesseur (voir chapitre 10), plusieurs CPU d’un automate programmable accèdent à une zone de mémoire commune (périphérie, processeurs de communication, périphérie in- telligente), le risque existe que les CPU écrasent mutuellement leurs données et lisent des données intermédiaires erronées.
  • Page 148 Opérations sur sémaphores Effet de SES/SEF L’opération SES xx (positionner le sémaphore) occupe, pour la CPU correspondante, un octet donné dans le coordinateur (sous réserve que celui-ci n’est pas déjà occupé par une autre CPU). Tant que la CPU y reste déclarée, les autres CPU ne peuvent pas accéder à...
  • Page 149 Opérations sur sémaphores Avant chaque positionnement ou libération d’un sémaphore donné, les instructions 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 Le sémaphore a été...
  • Page 150 Opérations sur sémaphores Exemple d’application pour les sémaphores Problème posé Un automate S5-155U comporte quatre CPU qui accèdent à une zone de mémoire commune de la périphérie Q (QW 6) pour y déposer des signalisations d’état qui sont transmises à un appareil de signalisation. Chaque signalisation doit persister pendant 10 secondes avant de pouvoir être remplacée par une nouvelle signalisation en provenance de la même ou d’une autre CPU.
  • Page 151 Opérations sur sémaphores Suite de l’exemple d’application pour les sémaphores FB 1 M 10.0 :SPB =M001 Si aucune signalisation n’est active :BEB KH 2222 Générer la signalisation et MW 12 M 10.0 M 10.0 mettre à "1" le mémento SIGNALISATION. M001 :SPA FB10 Appel du bloc FB SIGNAL :SIGNAL...
  • Page 152 Opérations sur sémaphores Suite de l’exemple d’application pour les sémaphores FB 100 :SEMASET :SES 10 Positionner le sémaphore nº 10. :SPZ =M001 M 10.1 Si le sémaphore est positionné avec succès, M 10.1 mettre à "1" le mémento SEMA-POSITIONNE. M001 :BE FB 110 NOM: SORTSIGN MW12...
  • Page 153 Etats de fonctionnement et niveaux de traitement de programme Sommaire du chapitre 4 Niveaux de traitement de programme ........4 - 4 Etat de fonctionnement ARRET (STOP).
  • Page 154 Sommaire Programmation de la CPU 948 4 - 2 C79000-G8577-C848-04...
  • Page 155 Etats de fonctionnement et niveaux de 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 informations dé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.
  • Page 156 Niveaux de traitement de programme Niveaux de traitement de programme La figure 4-2 présente les niveaux de traitement de programme existant dans les différents modes de fonctionnement. Vous trouverez des expli- cations sur les abréviations des niveaux d’erreur à la page suivante. Etat Niveaux d´erreur Niveaux de traitement de programme...
  • Page 157 Niveaux de traitement de programme Tableau 4-1 Niveaux de traitement de programme Niveau Signification Priorité Niveaux d’erreur COLAH/AHMAS Erreur de traitement d’alarmes d’horloge Chaque traitement Erreur de cycle d’erreur a la priorité Erreur de substitution la plus élevée. Erreur de transfert/chargement A l’apparition d’une Erreur d’adressage erreur, le niveau de...
  • Page 158 Niveaux de traitement de programme 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 le niveau à la priorité plus élevée est imbriqué. L’imbrication se fait : •...
  • Page 159 Niveaux de traitement de programme 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"...
  • Page 160 Niveaux de traitement de programme Exemple pour la pile des interruptions Commutateur d´arrêt Redémarrage STOP Prof. 1 Prof. 2 Cycle Mise en route Prof. 3 Cycle Cycle Prof. 4 ITPILE = Image des niveaux interrompus Figure 4-2 Principe de changement de niveau et de l’ITPILE 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 alarme...
  • Page 161 Etat de fonctionnement ARRET (STOP) 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.1 Arrêt partiel L’état de fonctionnement "Arrêt partiel" est caractérisé par les points suivants.
  • Page 162 Etat de fonctionnement ARRET (STOP) Surveillance de l’OB 39 Le programme système surveille si l’OB 39 dépasse le temps maximal admis. 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 de cycle, appelle l’OB 26 de traitement d’erreur, puis traite l’OB 39 à...
  • Page 163 Etat de fonctionnement ARRET (STOP) Appel des OB 38 et 39 Les figures 4-4 et 4-5 illustrent le principe d’appel des OB 38 et OB 39. Situation de départ : MARCHE Situation de départ : ARRET PARTIEL Hors tension/sous tension Hors tension/sous tension OB 38 OB 38...
  • Page 164 Etat de fonctionnement ARRET (STOP) DEL et arrêt partiel Vous pouvez reconnaître l’état d’arrêt partiel aux voyants figurant sur la face avant de l’appareil de base. Voyant Etat éteint STOP allumé (feu fixe ou clignotant) SYSFAULT éteint BASP allumé (excepté en mode de test du fonctionnement multiprocesseur ou pour la fonction PG de forçage des sorties) Le voyant STOP signale l’erreur qui est à...
  • Page 165 Etat de fonctionnement ARRET (STOP) 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.2 Arrê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 à...
  • Page 166 CPU ou du système. Une telle erreur se reconnaît au fait que la demande d’effacement général se présente de nouveau après une première exécution. Adressez-vous dans ce cas à l’agence Siemens la plus proche. Demande de la part de La demande d’effacement général s’effectue comme suit (voir la fi- l’utilisateur...
  • Page 167 Etat de fonctionnement ARRET (STOP) Exécution de l’effacement Indépendamment du fait que la demande d’effacement général pro- général vienne du système ou de l’utilisateur, il faut effectuer l’opération de la manière suivante (situation de départ : le voyant STOP clignote rapide- ment).
  • Page 168 Etat de fonctionnement MISE EN ROUTE 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).
  • Page 169 Etat de fonctionnement MISE EN ROUTE 4.3.1 Démarrages manuel et automatique Démarrage autorisé Un démarrage est toujours possible tant que le système ne demande pas 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 à...
  • Page 170 Etat de fonctionnement MISE EN ROUTE 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.2 Redémarrages manuel et automatique Redémarrage possible et Un redémarrage manuel n’est possible que si la cause de l’arrêt est...
  • Page 171 Etat de fonctionnement MISE EN ROUTE 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 position médiane, basculez le commutateur de mode de STOP sur RUN (voir la figure 4-1).
  • Page 172 Etat de fonctionnement MISE EN ROUTE Nota Lors 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 de l’alimentation, à un signal HALT, au basculement du commuta- teur sur STOP ou à...
  • Page 173 Etat de fonctionnement MISE EN ROUTE 4.3.3 Comparaison entre démarra- Le tableau suivant présente un comparatif des modes de démarrage et ge et redémarrage de redémarrage. Tableau 4-2 Comparaison des modes de démarrage et de redémarrage Démarrage Redémarrage Déclenche- Commutateur à rappel automatique sur Commutateur à...
  • Page 174 Etat de fonctionnement MISE EN ROUTE Démarrage Redémarrage Suite du tableau 4-3 Opérations Reprise des présélections système du DX 0 Pas d’exploitation du DX 0 effectuées par Appel de l’interface utilisateur OB 20 Appel de l’interface utilisateur OB 21/22 le programme (si elle existe) (si elle existe) système...
  • Page 175 Etat de fonctionnement MISE EN ROUTE 4.3.5 Comparaison entre démarra- Le tableau suivant présente un comparatif des modes de démarrage et ge et démarrage avec réma- de démarrage avec rémanence. nence Tableau 4-3 Comparaison des modes de démarrage et de démarrage avec rémanence Démarrage Démarrage avec rémanence Déclenche-...
  • Page 176 Etat de fonctionnement MISE EN ROUTE Démarrage Démarrage avec rémanence Opérations Suite du tableau 4-4 effectuées par Reprise des présélections système du DX 0 Pas d’exploitation du DX 0 le programme système Appel de l’interface utilisateur OB 20 Appel de l’interface utilisateur OB 21/22 (suite) (s’il existe) (s’il existe)
  • Page 177 Etat de fonctionnement MISE EN ROUTE OB 21 Le programme système appelle le bloc OB 21 une fois lorsque la CPU effectue 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.
  • Page 178 Etat de fonctionnement MISE EN ROUTE 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 une fois le bloc OB 22. Vous pouvez y écrire un programme STEP 5 qui prépare la reprise du traitement cyclique (généralement après une cou- pure secteur).
  • Page 179 Etat de fonctionnement MISE EN ROUTE 4.3.7 Redémarrage automatique Le mode de fonctionnement "redémarrage à chaud" (= redémarrage étendu avec la CPU 948 automatique é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 le contrôle d’une horloge externe, aux termes de CEI 1131.
  • Page 180 Etat de fonctionnement MISE EN ROUTE 4.3.8 Interruptions pendant la Un programme de mise en route peut être interrompu : mise en route • • en raison d’une coupure secteur sur l’appareil de base (MDT) ou sur le châssis d’extension (DPE), •...
  • Page 181 Etat de fonctionnement RUN (MARCHE) 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 programme Le programme utilisateur dans l’OB 1 est traité...
  • Page 182 Etat de fonctionnement RUN (MARCHE) 4.4.1 Traitement cyclique du pro- Le traitement cyclique est le mode de traitement normal dans les au- gramme 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é...
  • Page 183 Etat de fonctionnement RUN (MARCHE) 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 passant par tous les appels de bloc programmés.
  • Page 184 Etat de fonctionnement RUN (MARCHE) 4.4.2 Traitement déclenché par Il existe différents types de traitement de programme déclenché par alarme et par horloge alarme et par horloge qu’il n’est parfois pas possible de combiner. Vous précisez les types de traitement que vous voulez utiliser lors du paramétrage du bloc de données DX 0 (voir le chapitre 7).
  • Page 185 Etat de fonctionnement RUN (MARCHE) 4.4.3 Traitement déclenché par A ce type de traitement appartiennent l’alarme de retardement, l’alar- horloge me d’horloge à heure fixe et les alarmes d’horloge cycliques. Toutes ces alarmes ont ceci en commun qu’elles sont déclenchées par horloge.
  • Page 186 Etat de fonctionnement RUN (MARCHE) 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).
  • Page 187 Etat de fonctionnement RUN (MARCHE) • • La génération d’une nouvelle alarme de retardement − appel de l’OB 153 avec de nouveaux paramètres − provoque l’annulation d’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 à...
  • Page 188 Etat de fonctionnement RUN (MARCHE) Interruptions Le niveau "Alarmes d’horloge" a, par défaut, la priorité la plus élevée des 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 de retardement ou d’une alarme d’horloge cyclique.
  • Page 189 Etat de fonctionnement RUN (MARCHE) Alarmes d’horloge La CPU 948 permet de déclencher 9 programmes périodiques cycliques différents, chacun étant appelé cycliquement avec une autre période. Déclenchement La base de temps pour le traitement d’alarmes d’horloge est, par défaut, de 100 ms. Vous pouvez la modifier à l’aide d’un paramètre spécial dans le bloc DX 0 par paliers de 10 ms (base de temps = yy * 10 ms, avec 01H ≤...
  • Page 190 Etat de fonctionnement RUN (MARCHE) Interfaces utilisateur Lors de l’apparition d’une alarme d’horloge, le bloc d’organisation as- OB 10 à OB 18 socié est appelé comme interface utilisateur à la limite de bloc ou d’instruction suivante. L’OB 10 contiendra, par exemple, la partie de programme devant être insérée toutes les 100 ms (présélection) dans le traitement cyclique.
  • Page 191 Etat de fonctionnement RUN (MARCHE) Erreur de traitement La CPU 948 distingue deux types d’erreurs de traitement d’alarmes d’alarmes d’horloge d’horloge. Type d’erreur/cause Code dans l’ITPILE Réaction de la CPU Dépassement de la file d’attente lors du Lors de la lecture de la pile Le programme système traitement d’alarmes d’horloge des interruptions, le bit...
  • Page 192 Etat de fonctionnement RUN (MARCHE) Signification Dépassement de la file d’attente pour la période 6 (nouvel appel de l’OB 15 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 7 (nouvel appel de l’OB 16 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 8 (nouvel appel de l’OB 17 alors que le traitement de l’appel précédent n’est pas achevé)
  • Page 193 Etat de fonctionnement RUN (MARCHE) 4.4.4 Traitement déclenché par Suivant le mode de fonctionnement choisi, la CPU 948 permet deux alarme types de traitement déclenché par alarme : • • Alarmes de processus par l’octet d’entrée EB 0 (8 alarmes au maximum) •...
  • Page 194 Etat de fonctionnement RUN (MARCHE) Vous entrez dans les blocs d’organisation OB 2 à OB 9 la partie de votre programme STEP 5 qui doit être traitée lors de l’apparition de l’alarme de processus correspondante via l’octet d’entrée EB 0. Si l’OB concerné...
  • Page 195 Etat de fonctionnement RUN (MARCHE) Interruptions par les lignes Il y a traitement déclenché par interruption quand un signal du bus S5, 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 programme en cours et de traiter un programme spécifique.
  • Page 196 Etat de fonctionnement RUN (MARCHE) 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 de mise en oeuvre de la carte qui a déclenché l’interruption. Interfaces utilisateur OB 2 à...
  • Page 197 Etat de fonctionnement RUN (MARCHE) Si, à la fin du traitement d’un OB d’interruption, d’autres interruptions sont 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 lorsque tous les états actifs (niveau bas) d’une ligne d’interruption sur le bus S5 ont été...
  • Page 198 Etat de fonctionnement RUN (MARCHE) Interruption en fin d’instruction • • Ecrivez la partie de programme qui ne doit pas être interrompue dans un OB d’interruption en lui affectant la priorité la plus élevée. • • Utilisez l’OB 122 qui inhibe le traitement des interruptions et des alarmes d’horloge (voir le paragraphe 6.3).
  • Page 199 Traitement des interruptions et des erreurs Sommaire du chapitre 5 Erreurs fréquentes dans le programme utilisateur ....... 5 - 4 Informations d’erreur .
  • Page 200 Sommaire Programmation de la CPU 948 5 - 2 C79000-G8577-C848-04...
  • Page 201 Traitement des interruptions et des erreurs Le présent chapitre indique comment procéder pour éviter des erreurs de 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 vous pouvez programmer des réactions à...
  • Page 202 Erreurs fréquentes dans le programme utilisateur Erreurs fréquentes dans le programme utilisateur Le programme système peut constater un fonctionnement erroné de la CPU, une erreur dans le traitement du programme système ou les conséquences d’une programmation erronée. La liste suivante contient les erreurs qui apparaissent le plus souvent lors de la mise en service du programme utilisateur, celles-ci pouvant être facilement évitées lors de l’élaboration du programme.
  • Page 203 Informations d’erreur 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, •...
  • Page 204 Informations d’erreur Lecture de la pile des La fonction PG en ligne de lecture de l’ITPILE présente l’état des bits interruptions de 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 pile des interruptions toutes les informations nécessaires pour effectuer un redémarrage, à...
  • Page 205 Informations d’erreur Informations dans la pile La ligne la plus élevée donne les informations suivantes : des blocs 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...
  • Page 206 Marche à suivre pour la recherche d’erreur Marche à suivre pour la recherche d’erreur En cas d’arrêt intempestif de la CPU, utilisez lors de la recherche de la cause de l’erreur toutes les informations mises à votre disposition. Etape Action Vérifiez l’état des DEL STOP et SYSFAULT ainsi que des DEL d’erreur en face avant.
  • Page 207 Bits de commande et pile des interruptions 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 les causes éventuelles des erreurs et des interruptions.
  • Page 208 Bits de commande et pile des interruptions 5.4.1 Bits 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). Nota Le masque de la pile des interruptions (figure 5-1) est celui que vous obtenez avec les logiciels STEP 5/ST, V6.3, ou STEP 5/MT, V6.0, avec respectivement la "Disquette delta CPU 948".
  • Page 209 Bits de commande et pile des interruptions Les tableaux suivants donnent la signification de chaque bit. Tableau 5-1 Signification des bits de commande "description du système" Description du système Bit de Signification commande 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"...
  • Page 210 Bits de commande et pile des interruptions Cause de l’arrêt (voir BS 7) Bit de Signification commande 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û...
  • Page 211 Bits de commande et pile des interruptions Tableau 5-4 Signification des bits de commande "ID d’erreurs" Identificateurs d’erreurs Bits de Signification commande 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é...
  • Page 212 Bits de commande et pile des interruptions 5.4.2 Pile 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 la touche de validation, la pile des interruptions. Lors du passage en STOP, le programme système y reporte toutes les informations qui sont nécessaires à...
  • Page 213 Bits de commande et pile des interruptions Explication des affichages de la pile des interruptions Prof. Niveau d’information de la pile des interruptions en cas d’imbrication d’erreurs : Prof. 01 = dernière cause d’erreur, Prof. 02 = avant-dernière cause d’erreur ..
  • Page 214 Bits de commande et pile des interruptions 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 Type et numéro du dernier bloc appelant (selon le type OB, PB ...) Adr.rel Compteur d’adresse relative STEP :...
  • Page 215 Bits de commande et pile des interruptions 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. Tableau 5-6 Codes de l’ITPILE (origine de l’interruption) Origine de l’interruption Code Signification (OB appelé...
  • Page 216 Bits de commande et pile des interruptions Origine de l’interruption Code Signification (OB appelé en réaction à l’erreur) Suite du tableau 5-6 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).
  • Page 217 Bits de commande et pile des interruptions 5.4.3 Exemple de diagnostic d’er- reur au moyen de l’ITPILE La figure 5-3 illustre la structure de l’ITPILE avec les interruptions qui se sont produites. - Le niveau de traitement de programme "Cycle" (OB 1) est interrompu. - Le niveau de traitement de programme "Interruption"...
  • Page 218 Traitement des erreurs à l’aide de blocs d’organisation Traitement des erreurs à l’aide de blocs d’organisation Lorsque le programme système reconnaît une erreur donnée, il appelle le bloc d’organisation associé à cette erreur. Il est possible de définir le comportement de la CPU en programmant ce bloc d’organisation de manière appropriée.
  • Page 219 Traitement des erreurs à l’aide de blocs d’organisation Cause de l’erreur Appel de Réaction en cas d’OB non programmé Suite du tableau 5-7 Erreur lors de l’instruction E DB/EX DX de STEP 5 OB 34 Arrêt (bit de commande ER.EDBX) Erreur durant l’autotest (voir paragraphe 5.7) OB 36 aucune...
  • Page 220 Traitement des erreurs à l’aide de blocs d’organisation Interruptions lors du traite- Après l’appel d’un bloc d’organisation par le programme système, le ment des blocs d’organisation programme utilisateur qui s’y trouve est exécuté. de réaction aux erreurs L’apparition d’une nouvelle erreur pendant le traitement de ce bloc d’organisation provoque, comme lors du traitement cyclique, une in- terruption à...
  • Page 221 Origine des erreurs et réactions aux erreurs de la CPU 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é...
  • Page 222 Origine des erreurs et réactions aux erreurs de la CPU 5.6.1 OB 19 : appel d’un bloc de Le programme système reconnaît une erreur lorsque le programme uti- code non chargé (BL INEX) lisateur fait appel à un bloc non disponible. Cela est valable pour tous les blocs de code quel que soit le mode d’appel, conditionnel ou incon- ditionnel.
  • Page 223 Origine des erreurs et réactions aux erreurs de la CPU 5.6.3 OB 23/24, OB 28/29 : Il y a retard d’aquittement lorsque, après l’accès en lecture ou en écri- retard d’acquittement (ACQ) ture à une zone de mémoire adressable, cette dernière ne renvoie pas le signal d’acquittement (Ready) en l’espace d’un temps donné, sur- veillé...
  • Page 224 Origine des erreurs et réactions aux erreurs de la CPU OB 28 Cause de l’erreur Réaction à l’erreur Retard d’acquittement pour Si l’OB 28 n’est pas chargé, la l’octet d’entrée EB 0 (alarmes de CPU se met à l’arrêt. processus) OB 29 Cause de l’erreur Réaction à...
  • Page 225 Origine des erreurs et réactions aux erreurs de la CPU Lors de l’apparition d’une erreur d’adressage, le traitement du pro- gramme utilisateur est interrompu et le programme système appelle le bloc OB 25. Après le traitement du programme contenu dans l’OB 25, le programme interrompu est poursuivi à...
  • Page 226 Origine des erreurs et réactions aux erreurs de la CPU 5.6.6 OB 27 : erreur de Lorsque, dans un bloc fonctionnel, une opération avec opérandes for- substitution (SUB) mels doit être exécutée, la CPU remplace, pendant le traitement du programme utilisateur, ces opérandes formels par les opérandes ef- fectifs figurant dans l’appel du bloc fonctionnel.
  • Page 227 Origine des erreurs et réactions aux erreurs de la CPU Adresse d’erreur En cas d’erreur de parité ou de retard d’acquittement, le programme système inscrit l’adresse de l’erreur dans la zone des données système (voir chapitre 8) : Contenu Adresse Adresse d’erreur de poids fort E F046H Adresse d’erreur de poids faible...
  • Page 228 Origine des erreurs et réactions aux erreurs de la CPU 5.6.9 OB 33 : erreur de traitement Un traitement déclenché par horloge (alarmes d’horloge) est réalisé d’alarmes d’horloge par les blocs d’organisation OB 6, OB 9 et OB 10 à OB 18. (COLAH/AHMAS) La CPU 948 distingue les types d’erreurs de traitement d’alarmes d’horloge suivants.
  • Page 229 Origine des erreurs et réactions aux erreurs de la CPU 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- Affichage de la fonction "ITPILE"...
  • Page 230 Origine des erreurs et réactions aux erreurs de la CPU 5.6.10 OB 34 : erreur pour E DB/EX DX (ER.EDBX) Causes : • • Un numéro de bloc non autorisé a été indiqué dans l’instruction E DB/EX DX (numéro d’un bloc réservé, numéro supérieur à 255). •...
  • Page 231 Origine des erreurs et réactions aux erreurs de la CPU Structure des informations d’erreur dans l’ACCU 1 24 23 18 15 ACCU 1 code d’erreur code d’erreur code d’erreur Aucune erreur n’est inscrite dans la zone d’erreurs. Des erreurs sont inscrites dans la zone d’erreurs. Il n’y a pas de débordement d’erreur (trois inscriptions au maximum).
  • Page 232 Autotest Autotest 5.7.1 Gé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ème BS 137.
  • Page 233 Autotest 5.7.2 Description des fonctions de 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’effacement général. Il vérifie la mémoire utilisateur de même que les zones d’octets des mémentos et mémoires image.
  • Page 234 Autotest Test de la surveillance du Lors de la mise en route, sans tranche horaire temps de cycle Cette fonction de test permet de vérifier la surveillance du temps de cycle durant la phase de mise en route. Pour ce faire, le temps de cycle est réglé...
  • Page 235 Autotest 5.7.3 Sélections Calcul et définition du La durée de traitement des fonctions d’autotest est répartie en tranches nombre de tranches horaires appelées une fois par cycle et dont le nombre peut être choisi. horaires Vous pouvez ainsi accroître la durée requise par cycle pour le traite- ment des fonctions d’autotest.
  • Page 236 Autotest Structure du mot de données système BS 137 Fonction de test Vérification du code du programme système Vérification du code des blocs STEP 5 dans la mémoire utilisateur Vérification des lignes d’adresses Vérification de l’horloge Vérification du signal BASP Vérification de la surveillance du temps de cycle Test de la mémoire utilisateur Les bits qui ne sont pas mentionnés dans le tableau ne sont pas oc-...
  • Page 237 Autotest 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...
  • Page 238 Autotest 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 programme système Mot de données système Information d’erreur BS 75 Erreur n°...
  • Page 239 Fonctions spéciales intégrées Sommaire du chapitre 6 Introduction............. 6 - 4 OB 121 : Génération et lecture de l’horodateur interne .
  • Page 240 Sommaire 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 à...
  • Page 241 Fonctions spéciales intégrées Ce chapitre décrit les fonctions spéciales intégrées contenues dans le programme système, où les utiliser et comment appeler et paramétrer les blocs d’organisation (OB) de fonctions spéciales. Vous y apprenez, en outre, à reconnaître les erreurs survenues lors du traitement d’une fonction spéciale et, le cas échéant, à...
  • Page 242 Introduction Introduction Le système d’exploitation de la CPU 948 vous offre des fonctions spéciales que vous pouvez utiliser, si nécessaire, au moyen d’un appel de bloc conditionnel (SPB OB x) ou inconditionnel (SPA OB x). Ce sont les blocs d’organisation OB 100 à OB 255 qui sont réservés à ces fonctions spéciales.
  • Page 243 Introduction Interfaces Lors de la programmation, vous disposez des interfaces ci-après pour accéder aux fonctions spéciales. • • Appel par une instruction de saut conditionnel SPB... ou incondi- Appel de bloc tionnel SPA... • • Paramètres de prédéfinition transmis par le biais de l’accumulateur Paramètres 1 et, éventuellement, de l’accumulateur 2 ou par le biais de cellu- les de mémoire...
  • Page 244 Introduction Traitement des erreurs S’il se produit une erreur lors du traitement d’une fonction spéciale, le programme système réagit de façon particulière. Les fonctions spéciales peuvent être classées en deux groupes en ce qui concerne cette réaction du programme système. •...
  • Page 245 Introduction Nota L’appel d’un OB de fonction spéciale par l’opération SPA OB 131/132/133 ou SPB OB 131/132/133 n’agit pas comme un véritable changement de bloc, mais comme une opération STEP 5 sans opérande de type bloc. Si vous avez sélectionné "interruptions possibles en fin de bloc", aucune alarme n’est traitée.
  • Page 246 OB 121 : Génération et lecture de l’horodateur interne 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 et heure) 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 mots Pour la fonction de mise à...
  • Page 247 OB 121 : Génération et lecture de l’horodateur interne jour de la semaine : 0 à 6 pour lundi à dimanche jour (unités) : 0 à 9 jour (dizaines) : 0 à 3 mois (unités) : 0 à 9 mois (dizaines) : 0 à...
  • Page 248 OB 121 : Génération et lecture de l’horodateur interne 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. Les nouvelles valeurs sont rangées dans le bloc de données DB 10 (mots de données DW 0 à...
  • Page 249 OB 121 : Génération et lecture de l’horodateur interne Exemple de programmation pour la lecture de l’horodateur Le FB 14 est programmé pour la fonction de lecture de l’horodateur. Les valeurs en cours sont rangées dans le bloc de données DB 11 (mots de données DW 0 à...
  • Page 250 OB 122 : Activation / désactivation de l’inhibition des alarmes OB 122 : Activation / désactivation de l’inhibition des alarmes Un programme STEP 5 peut être interrompu en fin de bloc ou en fin d’instruction pour l’exécution de programmes de plus haute priorité. Aux niveaux de traitement de priorité...
  • Page 251 OB 122 : Activation / désactivation de l’inhibition des alarmes Résultat Après traitement correct et sans erreur, le programme système inscrit la valeur 0 dans l’ACCU 1-L. Nota Le résultat logique RLG (indéfini) est influencé par l’appel de l’OB 122. En revanche, le registre d’adresse de base BR n’est pas modifié.
  • Page 252 OB 124 : Suppression de blocs STEP 5 OB 124 : Suppression de blocs STEP 5 Fonction Le bloc OB 124 permet d’effacer des blocs STEP 5 (de code ou de données) dans la mémoire utilisateur. Le bloc effacé ne figure plus dans la liste d’adresses contenue dans le DB 0.
  • Page 253 OB 124 : Suppression de blocs STEP 5 Erreurs et avertissements En cas d’erreur ou d’avertissement, le programme système interrompt le traitement de l’OB 124 et poursuit le traitement du programme avec l’opération STEP 5 suivante. En outre, il met le RLG à 1 et inscrit un code d’erreur dans l’ACCU 1-LL (voir le tableau 6-5).
  • Page 254 OB 124 : Suppression de blocs STEP 5 Codes d’erreur dans Le programme système inscrit dans l’ACCU 1-LL des codes sur le l’ACCU 1-LL résultat du traitement, qui précisent pourquoi il y a eu avertissement ou erreur. Cause de l’avertissement ou de l’erreur Des indications collectives sont définies comme suit : Bit 7 (A) = 1 Avertissement...
  • Page 255 OB 125 : Génération de blocs STEP 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 de données) dans la mémoire utilisateur. Toutefois, la génération de blocs de code devrait être réservée aux spécialistes.
  • Page 256 OB 125 : Génération de blocs STEP 5 Erreurs et avertissements En cas d’erreur, le programme système interrompt le traitement de l’OB 125 et poursuit le traitement du programme avec l’opération STEP 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).
  • Page 257 OB 125 : Génération de blocs STEP 5 Codes d’erreur dans Le programme système inscrit dans l’ACCU 1-LL des codes sur le l’ACCU 1-LL résultat du traitement, qui précisent pourquoi il y a eu avertissement ou erreur. Cause de l’avertissement ou de l’erreur Des indications collectives sont définies comme suit : Bit 7 (A) = 1 Avertissement...
  • Page 258 OB 126 : Définition et transfert de mémoires image du processus OB 126 : Définition et transfert de mémoires image du processus A chaque cycle, le programme système actualise la mémoire image du processus pour les entrées et les sorties TOR et les mémentos de cou- plage.
  • Page 259 OB 126 : Définition et transfert de mémoires image du processus Numéro de la liste d’adresses Numéro de la liste d’adresses pour la mémoire image du processus définie en plus Valeurs admises : 1 à 4 Type de bloc Type du bloc de données contenant la liste d’adresses Valeurs admises : 1 = DB 2 = DX...
  • Page 260 OB 126 : Définition et transfert de mémoires image du processus Résultat Après traitement correct et sans erreur, le programme système met le RLG à 0 et écrit la valeur 1 dans l’ACCU 1-LL. Nota Les alarmes utilisateur sont inhibées pendant le traitement de l’OB 126 : aucune alarme ni interruption n’est prise en considération.
  • Page 261 OB 126 : Définition et transfert de mémoires image du processus 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 5 avec les paramètres suivants : Entrées TOR 1, 2,...
  • Page 262 OB 126 : Définition et transfert de mémoires image du processus Ecriture de la mémoire image des sorties (MIS) La suite d’instructions STEP 5 ci-après peut être programmée à tous les niveaux de traitement (dans l’OB 1, dans un OB d’alarme d’horloge ou dans un OB d’alarme de processus, etc.) et a pour résultat l’écriture de la mémoire image de processus de toutes les sorties dans la liste...
  • Page 263 OB 129 : Etat de la pile de sauvegarde OB 129 : Etat de la pile de sauvegarde Fonction L’OB 129 vous permet de vérifier par programme STEP 5 si la pile de sauvegarde est encore en bon état ou défaillante (l’OB 129 teste le si- gnal BAT).
  • Page 264 OB 131 : Effacement des accumulateurs 1, 2, 3 et 4 Exemple La suite d’instructions suivante permet de tester si la pile de sauvegarde est encore en bon état et d’activer un témoin lumineux si ce n’est pas le cas. :SPA OB 129 :SPB =LPIL RLG = 1 –>...
  • Page 265 OB 132 et OB 133 : Décalage du contenu des accumulateurs vers le haut ou vers le bas OB 132 et OB 133 : Décalage du contenu des accumulateurs vers le haut 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.
  • Page 266 OB 132 et OB 133 : Décalage du contenu des accumulateurs vers le haut ou vers le bas Décalage du contenu des accumulateurs <ACCU 4> ACCU 4 <ACCU 3> <ACCU 3> <ACCU 2> ACCU 3 OB 132 <ACCU 1> ACCU 2 <ACCU 2>...
  • Page 267 OB 141 : Activation/désactivation de l’inhibition sélective d’alarmes d’horloge cycliques 6.10 OB 141 : Activation/désactivation de l’inhibition sélective d’alarmes d’horloge cycliques Le bloc OB 141 permet d’éviter l’interruption du programme à la fin d’un ou de plusieurs blocs ou instructions successifs par certains OB d’alarmes d’horloge cycliques (alarmes d’horloge avec base de temps fixe).
  • Page 268 OB 141 : Activation/désactivation de l’inhibition sélective d’alarmes d’horloge cycliques Alarme (suite) 10 = "1" Période 8 (OB 17) 11 = "1" 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 fonction...
  • Page 269 OB 141 : Activation/désactivation de l’inhibition sélective d’alarmes d’horloge cycliques Erreurs possibles Le tableau suivant présente les erreurs pouvant se produire. En cas d’erreur, le programme système met le RLG à 1 et inscrit le code cor- respondant dans l’ACCU 1-L. Tableau 6-9 Codes d’erreur de l’OB 141 dans l’ACCU 1-L Code...
  • Page 270 OB 142 : Activation/désactivation du retardement général d’alarmes 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 fin d’instruction pour l’exécution de programmes de plus haute priorité. Aux niveaux de traitement de priorité...
  • Page 271 OB 142 : Activation/désactivation du retardement général d’alarmes Les bits de ce mot de commande ont la signification suivante : Alarme 0 = "1" Alarmes d’horloge cycliques avec base de temps fixe 1 = "1" Alarme d’horloge à heure fixe 2 = "1"...
  • Page 272 OB 142 : Activation/désactivation du retardement général d’alarmes Résultat Après traitement correct et sans erreur, le programme système met le RLG à 0. L’appel de l’OB 142 donne les résultats suivants : N° fonction Contenu de l’ACCU 1 dans ACCU 2-L Avant Après Mot de commande...
  • Page 273 OB 143 : Activation/désactivation du retardement sélectif d’alarmes d’horloge cycliques 6.12 OB 143 : Activation/désactivation du retardement sélectif d’alarmes d’horloge cycliques Le bloc OB 143 permet d’éviter l’interruption du programme à la fin d’un ou de plusieurs blocs ou instructions successifs par certains OB d’alarmes d’horloge cycliques (alarmes d’horloge avec base de temps fixe).
  • Page 274 OB 143 : Activation/désactivation du retardement sélectif d’alarmes d’horloge cycliques Alarme (suite) 9 = "1" Période 7 (OB 16) 10 = "1" Période 8 (OB 17) 11 = "1" Période 9 (OB 18) 12 à 15 réservés, ces bits doivent rester à 0. Tant qu’un bit est à...
  • Page 275 OB 143 : Activation/désactivation du retardement sélectif d’alarmes d’horloge cycliques Erreurs possibles Le tableau suivant présente les erreurs pouvant se produire. En cas d’erreur, le programme système met le RLG à 1 et inscrit le code cor- respondant dans l’ACCU 1-L. Tableau 6-11 Codes d’erreur de l’OB 143 dans l’ACCU 1-L Code...
  • Page 276 OB 150 : Génération et lecture de l’horodateur interne 6.13 OB 150 : Génération et lecture de l’horodateur interne • • L’horodateur est sauvegardé par la pile dans le châssis de l’automa- Propriétés de l’horodateur te. Une fois réglé, sa valeur en cours est conservée même en cas de coupure de la tension.
  • Page 277 OB 150 : Génération et lecture de l’horodateur interne b) Format du champ de données pour la lecture de l’horodateur Mot 1 Secondes Centièmes de seconde Mot 2 Format Heures Minutes Mot 3 Jour du mois Jour de la semaine Mot 4 Année Mois...
  • Page 278 OB 150 : Génération et lecture de l’horodateur interne 2) Accumulateurs a) ACCU 2-L L’ACCU 2-L contient des indications sur la fonction désirée et sur le champ de données utilisé. Il doit être structuré comme suit. N° de fonction Type zone d’adr. N°...
  • Page 279 OB 150 : Génération et lecture de l’horodateur interne Tableau 6-12 Codes d’erreur de l’OB 150 dans l’ACCU 1 Code Signification 9601H Bloc de données non chargé 960FH Appel multiple du bloc 9611H Numéro de fonction incorrect 9612H Type de zone d’adressage incorrect 9613H Numéro de bloc de données incorrect 9614H...
  • Page 280 OB 150 : Génération et lecture de l’horodateur interne Génération de l’horodateur (suite) Instructions STEP 5 dans l’OB 1 pour l’appel de l’OB 150 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"...
  • Page 281 OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe 6.14 OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe Fonction L’appel de l’OB 151 permet : •...
  • Page 282 OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe Les paramètres peuvent prendre les formats et valeurs ci-après. Paramètre Valeurs admises Représentation Type de contrat 0 à 7 Format DCB 0 : annuler le contrat ou aucun contrat en cours 1 : toutes les minutes 2 : toutes les heures...
  • Page 283 OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe 2) Accumulateurs a) ACCU 2-L L’ACCU 2-L contient des indications sur la fonction désirée et sur le champ de données utilisé. Il doit être structuré comme suit. Numéro de fonction Type de zone d’adr.
  • Page 284 OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe Nota Si, à la lecture du contrat à heure fixe, le champ de données contient le type de contrat 0 et les valeurs hexadécimales F ou FF pour tous les autres paramètres, vous pouvez en déduire qu’aucun contrat à...
  • Page 285 OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe 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 les différents paramètres d’horodatage dans des combinaisons bien défi- nies.
  • Page 286 OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe Exemples Exemples de contrat à heure fixe (en format de 24 heures) 1) Contrat à la 29 seconde de chaque minute (12:44:29, 12:45:29 etc.) Paramètres à...
  • Page 287 OB 151 : Génération et lecture de l’heure de déclenchement d’une alarme d’horloge à heure fixe suite Exemples de contrat à heure fixe (en format de 24 heures), 7) Contrat unique, le 31.12.1999 à 23:55:00 h Paramètres à indiquer Type de contrat (n°...
  • Page 288 OB 153 : Génération et lecture de l’heure de déclenchement d’une alarme de retardement 6.15 OB 153 : Génération et lecture de l’heure de déclenchement d’une alarme 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 à...
  • Page 289 OB 153 : Génération et lecture de l’heure de déclenchement d’une alarme de retardement Nota Si, lors de la définition d’une alarme de retardement, une alarme de retardement définie auparavant n’est pas encore arrivée à échéance, cette dernière est annulée et la nouvelle alarme est démarrée.
  • Page 290 OB 153 : Génération et lecture de l’heure de déclenchement d’une alarme de retardement Arrêter une alarme de retardement (annuler le contrat) Instructions STEP 5 pour l’appel de l’OB 153 KF +2 Valeur pour l’ACCU 1-L : numéro de fonction = 2 pour "annuler une alarme de retardement"...
  • Page 291 OB 180 : Accès variable à un bloc de données 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 longueur supérieure à 261 mots (en-tête de 5 mots inclus). En effet, cet OB vous permet de décaler la fenêtre d’accès à...
  • Page 292 OB 180 : Accès variable à un bloc de données 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 dans l’ACCU 1 le code d’erreur correspondant (cf. tableau). Les autres indi- cateurs sur bit et sur mot sont effacés.
  • Page 293 OB 180 : Accès variable à un bloc de données Exemple Il s’agit de décaler l’adresse de début (DBA = 4152H) du bloc de données DB 17 ayant une longueur de 256 mots de données de 32 mots vers la fin du bloc.
  • Page 294 OB 180 : Accès variable à un bloc de données Suite de l’exemple DB 17 Adresse 4 151BH En-tête de bloc 5 mots 4 151FH 4 1520H "00" a n c i e n (4152H) 4 1530H "16" a n c i e n DW 0 4 1540H "32"...
  • Page 295 OB 181 : Test de blocs de données DB/DX 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, •...
  • Page 296 OB 181 : Test de blocs de données DB/DX Résultat Si la fonction s’exécute sans erreur et que le bloc concerné existe dans la 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) –...
  • Page 297 OB 182 : Duplication d’une zone de données 6.18 OB 182 : Duplication d’une zone de données Fonction L’OB 182 réalise la duplication d’un ensemble (ou paquet) de données de longueur variable d’un bloc de données vers un autre. Les blocs de données source et destination peuvent être des DB et des DX.
  • Page 298 OB 182 : Duplication d’une zone de données Les paramètres peuvent admettre les valeurs ci-après : Paramètre Valeurs admises Type de bloc de données (source et destination) 1 = DB 2 = DX Numéro de bloc de données (source et destination) 3 à...
  • Page 299 OB 182 : Duplication d’une zone de données b) ACCU 1-L Numéro du premier mot du champ de données Valeurs admises (en fonction du type de zone d’adressage) DB, DX 0 à 2038 mémentos M 0 à 246 (= n octet de mémentos "x") mémentos S 0 à...
  • Page 300 OB 200 et OB 202 à OB 205 : Communication multiprocesseur 6.19 OB 200 et OB 202 à OB 205 : Communication multiprocesseur Une description détaillée de ces OB de fonctions spéciales figure dans le chapitre 10. Les blocs d’organisation de fonctions spéciales OB 200 et OB 202 à OB 205 permettent, en fonctionnement multiprocesseur, de transférer des données entre les différentes CPU à...
  • Page 301 OB 222 : Redémarrage de la surveillance du temps de cycle 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 du temps de cycle (réarmement du chien de garde) : le contrôle du temps de cycle reprend au début.
  • Page 302 OB 223 : Comparaison des types de mise en route 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.
  • Page 303 OB 254 et OB 255 : Copie et duplication de blocs de données 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 des blocs de données d’une carte à mémoire (memory card) dans la mémoire utilisateur ou de dupliquer des blocs de données à...
  • Page 304 OB 254 et OB 255 : Copie et duplication de blocs de données Paramètres 1) ACCU 1-LL Numéro du bloc à copier Valeurs admises Type de bloc Numéro de bloc DB (OB 255) 3 à 255 DX (OB 254) 3 à 255 2) ACCU 1-LH L’ACCU 1-LH doit contenir la valeur 0.
  • Page 305 OB 254 et OB 255 : Copie et duplication de blocs de données Résultat de la copie et de la Après traitement correct et sans erreur, le programme système met le duplication RLG à 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 à...
  • Page 306 OB 254 et OB 255 : Copie et duplication de blocs de données Codes d’erreur dans Le programme système inscrit dans l’ACCU 1-LL des codes sur le l’ACCU 1-LL résultat du traitement, qui précisent pourquoi il y a eu avertissement ou erreur.
  • Page 307 Bloc de données étendu DX 0 Sommaire du chapitre 7 Utilisation ............. . 7 - 4 Structure du bloc DX 0 .
  • Page 308 Sommaire Programmation de la CPU 948 7 - 2 C79000-G8577-C848-04...
  • Page 309 Bloc de données étendu DX 0 Ce chapitre vous informe sur l’utilisation et la structure du bloc de donné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 un bloc DX 0.
  • Page 310 Utilisation 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ées par P dans le tableau des paramètres) du bloc de données étendu DX 0. Les présélections du programme système (P) sont activées automati- quement à...
  • Page 311 Structure du bloc DX 0 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 de paramètres), •...
  • Page 312 Structure du bloc DX 0 Structure formelle Bi t Ca r a c t è r e s A S C I I I D r u b r i q u e 1 L o n g u e u r r u b r i q u e 1 Par a m è...
  • Page 313 Structure du bloc DX 0 7.2.1 Exemple de saisie du DX 0 Indicatif de début DW 0: KH = 4D41 DW 1: KH = 534B DW 2: KH = 5830 ID/longueur de rubrique DW 3: KH = 0101 Rubrique 1 Paramètre (occupe 1 DW) DW 4: KH = 1001 ID/longueur de rubrique...
  • Page 314 Paramètres pour le DX 0 Paramètres pour le DX 0 Tableau 7-1 Paramètres du DX 0 et leur signification ID/longueur de Paramètres Signification rubrique mot 1 / mot 2 Modes de fonctionnement 01xx 1000 P Interruptions possibles en fin de bloc (CPU 946/947 : mode 150U) 1001 Interruptions possibles en fin d’instruction...
  • Page 315 Paramètres pour le DX 0 ID/longueur de Paramètres Signification rubrique mot 1 / mot 2 Suite du tableau 7-1 05xx Traitement d’alarmes : alarmes d’horloge (suite) 2000 00yy Base de temps pour le traitement des alarmes d’horloge base de temps = (yy * 10 ms) Valeurs admises : 01H à...
  • Page 316 Paramètres pour le DX 0 • • Normalement, les temporisations T 0 à T 255 sont actualisées. Actualisation des temporisations • • 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 de message d’erreur.
  • Page 317 Paramètres pour le DX 0 Dans le DX 0, vous pouvez modifier sélectivement ces priorités pour les niveaux de traitement de programme suivants en indiquant une va- leur de 1 à 5 (1 = priorité la plus élevée) : • • alarmes d’horloge, •...
  • Page 318 Exemples de paramétrage Exemples de paramétrage 7.4.1 Programmation en STEP 5 Exemple A Vous désirez utiliser trois CPU (A, B et C) en fonctionnement multiprocesseur. Les CPU A et B travaillent étroitement ensemble, échangent souvent des données et traitent un important programme de mise en route. La CPU C traite un programme court, à...
  • Page 319 Exemples de paramétrage 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 - active l’interruption système INT E avec la priorité...
  • Page 320 Exemples de paramétrage 7.4.2 Paramétrage du DX 0 via le Avec le logiciel système de la PG, vous disposez de deux masques masque de la PG pour paramétrer le DX 0 pour la CPU 948. Le bloc de données DX 0 est alors généré...
  • Page 321 Exemples de paramétrage 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. DX 0 P a r a m é t r a g e (S5-155U CPU 948) Alarmes d´horloge...
  • Page 322 Exemples de paramétrage Organigramme pour com- pléter les masques du DX 0 Faut-il modifier des paramètres dans le masque 1 ? Répétez les opérations suivantes jusqu´à ce que toutes les modifications voulues figurent dans le masque. - Sélection d’un champ de saisie Placez le curseur devant le champ du paramètre.
  • Page 323 Exemples de paramétrage 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’aide de 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).
  • Page 324 Exemples de paramétrage Programmation de la CPU 948 7 - 18 C79000-G8577-C848-04...
  • Page 325 Contenu et organisation de la mémoire Sommaire du chapitre 8 Structure de l’espace mémoire ..........8 - 4 Espace d’adressage de la CPU 948 .
  • Page 326 Sommaire Programmation de la CPU 948 8 - 2 C79000-G8577-C848-04...
  • Page 327 Contenu et organisation de la mémoire Le présent chapitre décrit l’organisation de la mémoire de la CPU 948. Vous y trouverez également des indications sur les informa- tions importantes auxquelles vous avez accès dans certains mots de données système. Programmation de la CPU 948 8 - 3 C79000-G8577-C848-04...
  • Page 328 Structure de l’espace mémoire 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. Tableau 8-1 Structure de l’espace mémoire Espace mémoire Longueur Situation des données Mémoire utilisateur pour : OB, FB, FX, PB, SB, DB, DX 16 bits Zone de couplage : BA, BB...
  • Page 329 Espace d’adressage de la CPU 948 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 la situation des deux versions de mémoire utilisateur.
  • Page 330 Espace d’adressage de la CPU 948 8.2.1 Espace d’adressage de la RAM système Adresse D 0000H Programme système et données système E 9FFFH E A000H Mémentos S E AFFFH E B000H Données du programme système E DEAFH E DEB1H BLPILE (60 entrées) E DF6FH réservé...
  • Page 331 Espace d’adressage de la CPU 948 Adresse E F000H Zone BS (données système, 256 mots) réservé E F200H Zone BT (données système étendues, 256 mots) réservé E F400H Zone BA (données de couplage, 256 mots) réservé E F600H Zone BB (données de couplage étendues, 256 mots) réservé...
  • Page 332 Espace d’adressage de la CPU 948 8.2.2 Espace d’adressage de la périphérie Adresse F 0000H Zone libre d´adressage de la périphérie (52 kilo-mots) F D000H réservé F F000H Périphérie TOR (avec MI, 128 E/128 S) Périphérie P F F080H Périphérie analogique (sans MI, 128 E/128 S) F F100H Périphérie étendue...
  • Page 333 Espace d’adressage de la CPU 948 Zones d’adressage pour la périphérie et program- mation de ces zones Zone (adresse absolue) Accès par Paramètre L EB / T EB à 127 E FE00 L EW / T EW à 126 (mémoire image des L ED / T ED à...
  • Page 334 Organisation de la mémoire utilisateur dans la CPU 948 Organisation de la mémoire utilisateur dans la CPU 948 La mémoire utilisateur couvre – selon la version de la CPU 948 mise en oeuvre – l’espace d’adressage de 0 0000H à C FFFFH. Lors de leur chargement, les blocs du programme utilisateur sont mémorisés dans un ordre quelconque, par adresses croissantes.
  • Page 335 Organisation de la mémoire utilisateur dans la CPU 948 Exemple Liste de blocs DB 0 Mémoire En-tête 1 xxxx0H Adresse de début du bloc 1 Corps 1 Bloc de remplissage Adresses En-tête 2 croissantes xxxx0H Corps 2 Adresse de début du bloc n En-tête n xxxx0H Corps n...
  • Page 336 Organisation de la mémoire utilisateur dans la CPU 948 8.3.1 En-têtes de blocs dans la Chaque bloc en mémoire débute par un en-tête ayant une longueur de mémoire utilisateur 5 mots. mot : Indicatif de début de bloc : 7070H ème mot : Octet de poids fort : type de bloc...
  • Page 337 Organisation de la mémoire utilisateur dans la CPU 948 8.3.2 Listes d’adresses de Le bloc de données DB 0 se situe dans la RAM système de la CPU (à blocs dans le bloc de partir de l’adresse E E200H) et contient la liste des adresses de début de tous les blocs qui se trouvent dans la mémoire utilisateur de la données DB 0 CPU.
  • Page 338 Organisation de la mémoire utilisateur dans la CPU 948 Exemple de calcul de l’adresse d’un bloc Les adresses de début des blocs de programmation se trouvent dans le DB 0 à partir de l’adresse E E400H. L’accès à l’adresse E E416H (adresse de début des PB + 16 H) en mémoire permet ainsi de lire l’adresse de début du PB 22.
  • Page 339 Zones BS et BT 8.3.4 Zones 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.
  • Page 340 Zones BS et BT La fonction en ligne "Paramètres système" vous transmet les informa- tions de quelques données système, comme la structure interne de la CPU, la version du logiciel, l’identification de la CPU, etc. Occupation de la zone BS Tableau 8-2 Occupation de la zone BS Description...
  • Page 341 Zones BS et BT Description Adresse Suite du tableau 8-2 Message système, paramètre 1 E F04CH Message système, paramètre 2 E F04DH Message système, paramètre 3 E F04EH 79 à 95 Programme système Heure actuelle (secondes) E F060H Heure actuelle (heures) E F061H Heure actuelle (jours) E F062H...
  • Page 342 Affectation des bits des mots de données système 8.3.5 Affectation des bits des mots de données système Donnée système BS 0 Image de l’octet d’entrée EB 0 (alarmes de processus) Adresse : E F000H Tableau 8-3 Occupation de BS 0 (image de l’octet EB 0) Octet de poids fort Contenu Occupé...
  • Page 343 Affectation des bits des mots de données système Donnée système BS 1 Alarmes de processus en attente Adresse : E F001H Tableau 8-4 Occupation de BS 1 (alarmes de processus en attente) Octet de poids fort Contenu Tous les bits ont la valeur "0". Octet de poids faible Bit = "1"...
  • Page 344 Affectation des bits des mots de données système Donnée système BS 5 Temps de cycle nécessaire en vigueur Adresse : E F005H Tableau 8-5 Occupation de BS 5 (temps de cycle nécessaire en vigueur) Octet de poids fort et octet de poids faible Contenu Valeur binaire inscrite 10 ms = durée du...
  • Page 345 Affectation des bits des mots de données système Donnée système BS 7 Indicatifs de mise à l’arrêt de l’automate (voir ITPILE) Adresse : E F007H Tableau 8-6 Occupation de BS 7 (indicatifs de mise à l’arrêt de l’automate) Octet de poids fort Contenu réservé...
  • Page 346 Affectation des bits des mots de données système Donnée système BS 8 Indicatifs de mise en route et de démarrage (voir ITPILE) Adresse : E F008H Tableau 8-7 Occupation de BS 8 (indicatifs de mise en route et de démarrage) Octet de poids fort Contenu Présélection : démarrage/redémarrage manuel...
  • Page 347 Affectation des bits des mots de données système Données système Zones d’erreurs BS 16 à BS 47 BS xx Adresses Zone d’erreurs BS 16 E F010 Octets de sortie 0 à 15 BS 17 à E F011 à Octets de sortie 16 à 127 BS 23 E F017 BS 24 à...
  • Page 348 Affectation des bits des mots de données système Exemple pour BS 16 Le contenu de la donnée système BS 16 est : "8020" (hexadécimal) soit "1000 0000 0010 0000" (binaire). Cela signifie qu’une erreur s’est produite lors de l’actualisation de la mémoire image pour les octets de sortie 0 et 10.
  • Page 349 Affectation des bits des mots de données système Données système Message système BS 75 à BS 78 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 4 mots de données système et présente la structure suivante : BS 75 Numéro d’erreur...
  • Page 350 Affectation des bits des mots de données système Erreurs générales Tableau 8-9 BS 75 : Erreurs générales N° Type de Signification d’erreur paramètre Le bloc appelé n’est pas chargé. Erreur d’adressage Erreur de temps de cycle Erreur de substitution Retard d’acquittement de la périphérie décentralisée Retard d’acquittement de la mémoire utilisateur Erreur de chargement/transfert pour blocs de...
  • Page 351 Affectation des bits des mots de données système N° Type de Signification d’erreur paramètre Suite du tableau 8-9 Périphérie non disponible Retard d’acquittement/erreur de parité à l’initialisation Redémarrage automatique impossible : démarrage nécessaire Mode de mise en route incorrect Erreur de chargement/transfert lors d’une instruction de transfert par blocs (limites de zone erronées pour TNW, TXB, TXW) Longueur incorrecte lors de E DB/EX DX...
  • Page 352 Affectation des bits des mots de données système N° Type de Signification d’erreur paramètre Suite du tableau 8-10 En-tête de bloc DX 0 non valable Erreur dans l’indicatif de rubrique du DX 0 Paramètre erroné du bloc DX 0 Erreur dans DB 1 DB 1 manque en mode multiprocesseur.
  • Page 353 Affectation des bits des mots de données système Structure de la rubrique de paramètres (BS 76 à BS 78) Tableau 8-12 BS 76 à BS 78 : types de paramètres Type de Structure de la rubrique de paramètres paramètre Pas de paramètres ; paramètres 1, 2, 3 = 0 Paramètre 1 Type de bloc/numéro de bloc (indicatifs repris de l’en-tête) Paramètre 2 Instruction qui a engendré...
  • Page 354 Affectation des bits des mots de données système Type de Structure de la rubrique de paramètres paramètre Suite du tableau 8-12 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é...
  • Page 355 Affectation des bits des mots de données système Exemple d’un message système BS 75 E F04BH BS 76 7804H E F04CH BS 77 0064H E F04DH BS 78 0078H E F04EH BS 75, numéro d’erreur = 21H L’erreur est apparue dans le programme utili- sateur STEP 5 lors de la création d’un DB/DX BS 75, type de paramètre = 09H La rubrique de paramètres dans BS 76 à...
  • Page 356 Affectation des bits des mots de données système Données système Horloge temps réel BS 96 à BS 99 La zone des données système BS 96 à BS 99 contient la date et l’heure en cours. Vous pouvez les y lire si nécessaire. BS 96 Secondes 1/10, 1/100 seconde E F060H...
  • Page 357 Affectation des bits des mots de données système BS 97 Heures et minutes (adresse : E F061H) Tableau 8-14 Occupation de BS 97 (horloge temps réel : heures, minutes) Octet de poids fort Contenu 0 = format 12h, 1 = format 24h 0 = AM, 1= PM Heures, dizaines, valeurs admises : 00/01H pour format 12h, 00/02H pour format 24h...
  • Page 358 Affectation des bits des mots de données système BS 99 Année et mois (adresse : E F063H) Tableau 8-16 Occupation de BS 99 (horloge temps réel : année, mois) Octet de poids fort Contenu Année, dizaines valeurs admises : 00H à 09H Année, unités valeurs admises : 00H à...
  • Page 359 Affectation des bits des mots de données système 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.
  • Page 360 Affectation des bits des mots de données système Moments d’activation ou de Vous pouvez définir un mot de passe à tout moment. Toutefois, la désactivation de la protection protection du logiciel n’est alors activée qu’à des moments précis : du logiciel •...
  • Page 361 Affectation des bits des mots de données système 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 sur la réussite de ce contrat.
  • Page 362 Affectation des bits des mots de données système Codes renvoyés par le programme système Indication Signification 0000H Pas d’erreur 4x01H Le compteur des tentatives d’effacement a débordé. Un démarrage est nécessaire pour le remettre à 0. 4x02H Mot de passe interdit (0000H ou 3FFFH) 4x04H Vous avez tenté...
  • Page 363 Affectation des bits des mots de données système Exemples d’écriture et de lecture de BS 120 Activation de la protection du logiciel dans les OB de mise en route Il est recommandé d’activer la protection du logiciel par programme dans un des OB de mise en route (OB 20, OB 21, OB 22, OB 38).
  • Page 364 Affectation des bits des mots de données système Données système Pour la fonction d’autotest BS 136 à BS 137 Les mots de données système BS 136 et BS 137 sont utilisés pour la fonction 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-...
  • Page 365 Affectation des bits des mots de données système 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é depuis le 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 (si l’OB 222 est appelé...
  • Page 366 Zone de données système librement adressable 8.3.6 Zone de données système L’espace mémoire E 8200H à E DEF0H est utilisé par le programme librement adressable système comme zone de données système librement adressable. Rubrique d’identification de Au début de cette zone se trouve une rubrique d’information de l’automate 12 mots dans laquelle figure l’identification de l’automate : "A"...
  • Page 367 Zone de données système librement adressable Paramètres système A partir de l’adresse E 8210H figurent les paramètres système suivants : Adresse de début conformateur de signaux d’entrée E 8210H Adresse de début conformateur de signaux de sortie E 8211H Adresse de début de la mémoire image des entrées E 8212H Adresse de début de la mémoire image des sorties E 8213H Adresse de début des mémentos...
  • Page 368 Zone de données système librement adressable Mot 19 et mot 21 Structure des mots 19 et 21 Mot 19 Occupation de l’octet de poids fort Identificateur d’emplacement de la CPU 4 Identificateur d’emplacement de la CPU 3 Identificateur d’emplacement de la CPU 2 Identificateur d’emplacement de la CPU 1 Occupation de l’octet de poids faible Type de CPU :...
  • Page 369 Zone de données système librement adressable Mot 21 Occupation de l’octet de poids fort réservé Occupation de l’octet de poids faible Version du logiciel de couplage de la PG sous la forme "xyH" Exemple : 13H correspond à la version "V1.3". Programmation de la CPU 948 8 - 45 C79000-G8577-C848-04...
  • Page 370 Zone de données système librement adressable Programmation de la CPU 948 8 - 46 C79000-G8577-C848-04...
  • Page 371 Accès à la mémoire par les adresses absolues Sommaire du chapitre 9 Introduction............. 9 - 4 Accès à...
  • Page 372 Sommaire Programmation de la CPU 948 9 - 2 C79000-G8577-C848-04...
  • Page 373 Accès à la mémoire par les adresses absolues Le présent chapitre décrit comment vous pouvez accéder par des adresses absolues à des données se trouvant dans certaines zones de mémoire, en utilisant des instructions STEP 5 ainsi que des registres spéciaux de STEP 5.
  • Page 374 Introduction 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 de l’espace d’adressage. Les opérations décrites ci-après utilisent des adresses absolues sur 20 bits 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.
  • Page 375 Introduction interne, locale, multiple (suivant le nombre de CPU enfichées) 0 0000H externe, commune, unique, adressable par le bus S5 (une par automate) E FBFFH E FC00H F 0000H E FFFFH F EFFFH F F000H F F400H F FC00H pages F FE00H 1024 octets/mots F FEFFH...
  • Page 376 Introduction Accès à la mémoire Les instructions ci-après permettent d’accéder aux zones de mémoire locale et commune par des adresses absolues (voir aussi figure 9-2). Accès aux zones Vous pouvez accéder aussi bien à la zone locale qu’à la zone commu- locale et commune ne : •...
  • Page 377 Introduction Accès impossible Accès possible L´accès en fonctionnement multiprocesseur peut entraîner des erreurs. a) LIR, TIR, LDI, TDI, TNW, TXB, TXW b) LRW, TRW, LRD, TRD c) LB GB, LB GW, LB GD, d) LW GW, LW GD, TB GB, TB GW, TB GD, (TSG) TW GW, TW GD, (TSG) e) LB CB, LB CW, LB CD, f) LW CW, LW CD,...
  • Page 378 Accès à la mémoire par adressage dans l’ACCU 1 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 à...
  • Page 379 Accès à la mémoire par adressage dans l’ACCU 1 9.2.1 LIR et TIR : Chargement et Le tableau suivant indique quels registres de la CPU 948 vous pouvez transfert indirects de utiliser pour les opérations LIR et TIR, ainsi que leur contenu. registres de 16 bits Tableau 9-2 Registres de 16 bits pour LIR et TIR...
  • Page 380 Accès à la mémoire par adressage dans l’ACCU 1 Cellule mémoire Registre n adressée ACCU 1 LIR n Cellule mémoire Registre n adressée ACCU 1 TIR n Figure 9-3 LIR et TIR sur des zones de mémoire de 16 bits (organisées par mots) Cellule mémoire Registre n adressée...
  • Page 381 Accès à la mémoire par adressage dans l’ACCU 1 Registres 0 à 3 et 9 à 12 : Lors du traitement du programme, la CPU utilise les accumulateurs ACCUS 1, 2, 3 et 4 comme mémoire intermédiaire. A l’aide des instructions TIR et LIR, vous pouvez transférer le contenu des accumulateurs dans des cellules de mémoire à...
  • Page 382 Accès à la mémoire par adressage dans l’ACCU 1 Son contenu est modifié : • • quand un autre bloc de données est ouvert • • 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).
  • Page 383 Accès à la mémoire par adressage dans l’ACCU 1 Registre 8 : DBL (longueur du A chaque appel d’un bloc de données, le registre DBL est chargé en bloc de données) plus du registre DBA. Ce registre contient la longueur (en mots) du bloc de données appelé, en-tête de bloc non compris.
  • Page 384 Accès à la mémoire par adressage dans l’ACCU 1 Exemple Effet de l’opération "AX DX 17" sur le registre DBL D X 1 7 A d r e s s e s 4 1 5 1 B H E n - t ê t e d e b l o c 4 1 5 1 C H d e 5 m o t s 4 1 5 1 D H...
  • Page 385 Accès à la mémoire par adressage dans l’ACCU 1 9.2.2 Exemples d’accès à des DW supérieurs à 255 Exemple 1 Le contenu du mot de données DW 300 dans le DB 100 doit être lu, puis transféré dans le mot de mémentos MW 100. En modifiant les instructions STEP 5 imprimées en caractères gras, vous pouvez également utiliser ce segment pour la lecture d’autres blocs de données (DB ou DX).
  • Page 386 Accès à la mémoire par adressage dans l’ACCU 1 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)
  • Page 387 Accès à la mémoire par adressage dans l’ACCU 1 9.2.3 LDI et TDI : Chargement et Le tableau suivant indique quels noms de registre vous pouvez utiliser transfert indirects de avec la CPU 948 pour les opérations LDI et TDI, ainsi que leur registres de 32 bits contenu.
  • Page 388 Accès à la mémoire par adressage dans l’ACCU 1 Registre SA : CAD (compteur A la fin du traitement d’une opération, le registre SA contient les 20 d’adresse STEP) bits de l’adresse absolue de la prochaine instruction à traiter. Registre BA : Pendant le traitement du programme utilisateur STEP 5, le registre adresse de début de bloc BA contient les 20 bits de l’adresse absolue de la prochaine...
  • Page 389 Transfert de blocs de mémoire Transfert de blocs de mémoire Application Les opérations décrites dans ce paragraphe permettent de transférer des zones de données d’une longueur allant jusqu’à 255 mots se trou- vant dans certaines zones d’adressage. Opérations Tableau 9-4 Opérations pour le transfert de blocs de mémoire Opération Opérande Fonction 0 à...
  • Page 390 Transfert de blocs de mémoire Adresses Zone de mémoire Suite du tableau 9-5 RAM système : E 8000H à E 9FFFH Données système, 16 bits E B000H à E FBFFH Données système (BA/BS, temporisations, compteurs, etc.), 16 bits E A000H à E AFFFH Mémentos S, 8 bits, octet de poids faible dans le mot de 16 bits (octet de poids fort non défini)
  • Page 391 Transfert de blocs de mémoire DAD pendant l’exécution Si une erreur d’adressage (DAD) apparaît une ou plusieurs fois durant le transfert, tous les blocs partiels sont d’abord transférés, puis l’OB 25 est appelé une seule fois avant exécution de l’opération sui- vante.
  • Page 392 Opérations avec le registre d’adresse de base BR Opérations avec le registre d’adresse de base BR Application Le registre d’adresse de base (20 bits) permet le calcul d’adresses et les opérations indirectes de chargement et de transfert de registres sans utilisation des accumulateurs. L’accès se fait à...
  • Page 393 Opérations avec le registre d’adresse de base BR 9.4.1 Opérations de transfert entre 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’adresse STEP (CAD, 20 bits) et registre d’adresse de base BR (20 bits). Tableau 9-7 Opérations de registre à...
  • Page 394 Opérations avec le registre d’adresse de base BR 20 19 20 19 ... . ACCU 1 ACCU 1 MAS, MAB MSA, MBA Figure 9-8 Opérations de transfert de registre à registre 9.4.2 Accès à...
  • Page 395 Opérations avec le registre d’adresse de base BR Opération Opérande Fonction Suite du tableau 9-8 Constante Addition de la constante paramétrée au (-32768 à contenu du registre BR et transfert du +32767) contenu 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 entre 0 0000H et E FFFFH, la CPU décèle une erreur de transfert/charge-...
  • Page 396 Opérations avec le registre d’adresse de base BR Déroulement La cellule de réservation d’accès est constituée par l’octet de poids faible 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éro d’emplacement de la CPU.
  • Page 397 Opérations avec le registre d’adresse de base BR Opérations de chargement et de transfert pour la Tableau 9-9 Opérations pour l’accès à la mémoire commune organisée par mémoire commune octets organisée par octets Opération Opérande Fonction LB GB -32768 à Addition de la constante paramétrée au con- +32767 tenu du registre BR et chargement de...
  • Page 398 Opérations avec le registre d’adresse de base BR 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 CPU se met à l’arrêt en indiquant l’erreur DTC dans la pile des interrupti- ons.
  • Page 399 Opérations avec le registre d’adresse de base BR 9.4.4 Accès aux pages de mémoire Application Les opérations suivantes permettent d’accéder aux pages organisées par 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 de base (BR) et de la constante paramétrée dans l’instruction (-32768 à...
  • Page 400 Opérations avec le registre d’adresse de base BR Appel d’une page Opération Paramètre Fonction 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 le cas, la CPU décèle une erreur de substitution (SUB) et appelle l’OB 27.
  • Page 401 Opérations avec le registre d’adresse de base BR Résultat Le résultat de l’opération TSC est exploitable par l’intermédiaire des indicateurs FL 0 et FL 1. FL 1 FL 0 Signification Le contenu de la cellule de réservation d’accès est "0" ; la CPU y inscrit son numéro d’emplacement.
  • Page 402 Opérations avec le registre d’adresse de base BR Opération Opérande Fonction Suite du tableau 9-11 TB CB -32768 à Addition de la constante paramétrée au +32767 contenu du registre BR et transfert du contenu de l’ACCU 1-LL dans l’octet ainsi adressé dans la page appelée TB CW -32768 à...
  • Page 403 Opérations avec le registre d’adresse de base BR Opérations de chargement et de transfert pour les pages organisées par mots Tableau 9-12 Opérations pour l’accès aux pages organisées par mots Opération Opérande Fonction LW CW -32768 à Addition de la constante paramétrée au +32767 contenu du registre BR et chargement du mot ainsi adressé...
  • Page 404 Opérations avec le registre d’adresse de base BR Programmation de la CPU 948 9 - 34 C79000-G8577-C848-04...
  • Page 405 Fonctionnement et communication multiprocesseur dans l’AP S5-155U Sommaire du chapitre 10 10.1 Fonctionnement multiprocesseur ......... . . 10 - 4 10.1.1 Utilisation du fonctionnement multiprocesseur .
  • Page 406 Sommaire 10.5 Fonction "Emission" (OB 202) ......... . . 10 - 40 10.5.1 Fonction.
  • Page 407 Fonctionnement et communication multiprocesseur 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écise au programmeur ce dont il doit tenir compte et ce qu’il doit effectuer pour le fonctionnement multiprocesseur (cf.
  • Page 408 Fonctionnement multiprocesseur 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épendamment du nombre de CPU ou de CP ou IP enfichés. Il ne doit pas y avoir d’emplacement vide entre les CPU.
  • Page 409 Fonctionnement multiprocesseur 10.1.3 Echange de données via Pour l’échange cyclique de données binaires, vous disposez de mémentos des mémentos de couplage de couplage qui servent en premier lieu au transfert d’informations par octets. Ce transfert de données peut être effectué entre : processeurs de communication Le programme système transfère les mémentos de couplage une seule fois par cycle.
  • Page 410 Fonctionnement multiprocesseur Exemple CPU 1 Coordinateur Mémentos de couplage Ecriture de sortie : MB 96 à MB 119 Mémentos de couplage Secteur validé Lecture d´entrée : au moyen des MB 120 à MB 125 cavaliers : octets de mémentos de couplage MB 96 à...
  • Page 411 Fonctionnement multiprocesseur Echange de données entre Lorsque des données doivent être échangées entre une CPU et un CPU et processeurs de processeur de communication, il faut valider le nombre nécessaire de communication mé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.
  • Page 412 Fonctionnement multiprocesseur Transfert de mémentos de Les octets de mémentos de couplage indiqués dans le DB 1 sont trans- couplage en fonctionnement férés avec l’actualisation de la mémoire image à la fin de chaque cy- multiprocesseur cle du programme, lorsque la CPU a obtenu le signal d’accès au bus. Le coordinateur accorde successivement à...
  • Page 413 Fonctionnement multiprocesseur 10.1.5 • • Afin que le coordinateur puisse coordonner l’accès de chaque Programmation nécessaire pour le fonctionnement CPU à la zone de périphérie, vous devez programmer le bloc de multiprocesseur données DB 1. Même si la CPU n’utilise pas de périphérie ou de mémentos de couplage, un DB 1, même vide, doit exister (voir le paragraphe 10.1.6).
  • Page 414 Fonctionnement multiprocesseur 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. Nota L’indication de la longueur du bloc de temporisations n’est pas prise en compte.
  • Page 415 Fonctionnement multiprocesseur 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 = DE00 Mot d’identification des sorties TOR KH = DA00 Mot d’identification des mémentos de couplage d’entrée KH = CE00 Mot d’identification des mémentos de couplage de sortie KH = CA00...
  • Page 416 Fonctionnement multiprocesseur Validation du DB 1 Le programme système prend en compte le DB 1 lors d’un démarrage et vé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.
  • Page 417 Fonctionnement multiprocesseur 10.1.7 Particularités de la mise en En fonctionnement multiprocesseur, vous démarrez le coordinateur de route en fonctionnement la manière suivante. multiprocesseur 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.
  • Page 418 Fonctionnement multiprocesseur Coupure et rétablissement Lors du rétablissement de la tension suite à une coupure, le coordina- de la tension teur est démarré automatiquement. Dans ce cas, toutes les CPU ef- fectuent un redémarrage ou un démarrage automatique, suivant la présélection dans le DX 0 (voir chapitre 7).
  • Page 419 Communication multiprocesseur 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 coordinateur COR 923C. 10.2.1 Introduction 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 à...
  • Page 420 Communication multiprocesseur Le bloc de données dans la CPU réceptrice peut être plus long ou plus court que le bloc de données d’émission. L’important est que les mots transférés par la fonction d’émission existent dans le bloc de données de réception. Dans le cas contraire, la fonction de réception détecte une erreur.
  • Page 421 Communication multiprocesseur 10.2.3 Stockage intermédiaire De manière générale, le fonctionnement multiprocesseur permet de des données répartir les tâches à exécuter entre plusieurs CPU. Ces tâches étant différentes et les performances des diverses CPU étant variées, le trai- tement du programme dans chaque CPU est asynchrone. Cela signifie que les données émises par une CPU émettrice ne peuvent pas im- médiatement être reçues par une CPU réceptrice.
  • Page 422 Communication multiprocesseur 10.2.4 Fonctionnement et gestion de 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 −...
  • Page 423 Communication multiprocesseur 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 sont affectés dans la mémoire intermédiaire du coordinateur. Le transfert suivant pourrait ensuite être effectué. Capacité...
  • Page 424 Communication multiprocesseur Résumé Le stockage intermédiaire dans le coordinateur 923C compense l’asyn- chronisme des CPU émettrice et réceptrice ainsi que leur vitesse de traitement différente. La capacité de la mémoire intermédiaire étant limitée, le récepteur doit 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é...
  • Page 425 Communication multiprocesseur 10.2.5 Mesures à prendre pour le La communication multiprocesseur exige que toutes les CPU partici- démarrage du système 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 toutes un démarrage ou toutes un redémarrage.
  • Page 426 Communication multiprocesseur 10.2.6 Ce dont il faut tenir compte lors de l’appel des OB de communication 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"...
  • Page 427 Communication multiprocesseur Indicateurs de résultat Les indicateurs de résultat (FL 1/FL 0, RLG, etc.) sont influencés par les OB de communication. Pour des informations plus détaillées, re- portez-vous au paragraphe 10.2.8. • • CPU 922, CPU 928, Modification des Le contenu des accumulateurs 1 à 4 ainsi accumulateurs CPU 928B que des registres n’est pas modifié...
  • Page 428 Communication multiprocesseur Paramètres d’appel Le paramètre d’appel de chaque OB de communication est le numéro du 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 Champ de données avec paramètres de la fonction "Réception" (OB 204) MB x + 0: CPU d’émission Paramètre d’entrée MB x + 1:...
  • Page 429 Communication multiprocesseur Tableau 10-1 Indicateurs des OB de communication Indicateurs Exploitation Signification FL 1 FL 0 SPB= Fonction traitée entièrement et correctement SPB= Fonction interrompue, pointeur sur champ de données non autorisé (>246) Fonction interrompue suite à un conflit d’initialisation SPB= et Fonction interrompue suite SPM=...
  • Page 430 Communication multiprocesseur 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 et correctement. La cause d’une interruption de la fonction est indiquée de manière plus détaillée que dans les indicateurs de résultats. Cet octet est toujours significatif quand le pointeur du champ de données est correct.
  • Page 431 Communication multiprocesseur Exemple Supposons que la fonction "Emission" affiche une erreur et ne démarre pas. Si vous modifiez alors le programme ou les paramètres et que la fonction "Emission" signale à nouveau une erreur de numéro supérieur au précédent, cela veut dire que vous avez supprimé...
  • Page 432 Communication multiprocesseur Octet Signification indicateur Suite du tableau 10-3 La liste d’assignation dans le bloc de données n’est pas organisée correctement. La somme des blocs de mémoire attribués est supérieure à 48. Erreurs L’apparition d’une erreur nécessite une modification du programme ou du paramétrage.
  • Page 433 Communication multiprocesseur Octet Signification indicateur Suite du tableau 10-4 Les données de gestion (gestion de la file d’attente) des liaisons choisies sont erronées. La mémoire intermé- diaire du coordinateur 923C doit être organisée à nouveau à l’aide de la fonction "Initialisation" (ce cas peut se produire lors des fonctions "Emission", "Réception", "Test d’émission"...
  • Page 434 Communication multiprocesseur Avertissement La fonction n’a pas pu être exécutée. Il faut l’appeler à nouveau, par exemple au cycle suivant. Numéros d’avertissement (exploitation globale de l’octet indicateur) : Tableau 10-5 Octet indicateur : numéros d’avertissement Octet Signification indicateur La fonction "Emission" ne peut pas transmettre de données, la capacité...
  • Page 435 Temps d’exécution des OB de communication 10.3 Temps d’exécution des OB de communication Le temps d’exécution correspond à la durée de traitement des blocs d’organisation de fonctions spéciales. Le laps de temps entre l’appel d’un bloc et sa fin peut être bien supérieur si le bloc est interrompu par des activités prioritaires (par exemple, traitement de cellules de temporisation, etc.).
  • Page 436 Temps d’exécution des OB de communication Temps de transfert Une caractéristique importante d’une liaison (par exemple, de la CPU 1 vers la CPU 2) est le temps de transfert total. Il se compose des trois temps partiels suivants : • • durée d’émission (voir temps d’exécution), •...
  • Page 437 Fonction "Initialisation" (OB 200) 10.4 Fonction "Initialisation" (OB 200) 10.4.1 Fonction 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.
  • Page 438 Fonction "Initialisation" (OB 200) Quatre CPU enfichées définissent douze liaisons : CPU 1 CPU 2 CPU 4 CPU 3 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"...
  • Page 439 Fonction "Initialisation" (OB 200) 10.4.2 Paramètres d’appel Structure du champ de Avant l’appel de l’OB 200, il faut mettre à disposition les paramètres données des paramètres d’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.
  • Page 440 Fonction "Initialisation" (OB 200) Type de bloc, Ces paramètres ne sont significatifs qu’en mode manuel. Vous devez numéro de bloc, alors mettre à disposition, dans un bloc de données, une liste d’assi- adresse de la liste gnation dans laquelle les 48 (ou moins) blocs de mémoire disponibles d’assignation sont répartis entre les liaisons existantes (12 au maximum) suivant un schéma défini.
  • Page 441 Fonction "Initialisation" (OB 200) Liste d’assignation La liste d’assignation détermine le nombre de blocs de mémoire (sur les 48) à affecter aux différentes liaisons. La liste n’est pas modifiée par le programme système. Elle présente la structure suivante : Tableau 10-7 Liste d’assignation pour l’OB 200 (initialisation) Mot de Format...
  • Page 442 Fonction "Initialisation" (OB 200) Exemple Trois CPU sont enfichées. La CPU 2 doit envoyer beaucoup de données aux deux 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.
  • Page 443 Fonction "Initialisation" (OB 200) Erreurs Un code d’erreur du groupe de numéros "Erreur" ne peut pas se présenter dans le cadre de la fonction "Initialisation". Avertissements Un code d’erreur du groupe de numéros "Avertissement" ne peut pas se présenter dans le cadre de la fonction "Initialisation". Capacité...
  • Page 444 Fonction "Emission" (OB 202) 10.5 Fonction "Emission" (OB 202) 10.5.1 Fonction 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 en mémoire intermédiaire.
  • Page 445 Fonction "Emission" (OB 202) Type de bloc Type = 1 : Bloc de données DB Type = 2 : Bloc de données DX Type = 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 le numéro de paquet, la zone dans laquelle les données à...
  • Page 446 Fonction "Emission" (OB 202) 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 zone de 32 mots par paquet selon le tableau ci-avant. •...
  • Page 447 Fonction "Emission" (OB 202) 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 Signification indicateur 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 à...
  • Page 448 Fonction "Emission" (OB 202) Avertissements La fonction n’a pas pu être exécutée. Il faut l’appeler à nouveau, par exemple au cycle suivant. Le numéro d’avertissement suivant peut apparaître (exploitation globa- le de l’octet indicateur) : Octet Signification indicateur La fonction "Emission" ne peut pas transmettre de données, la capacité...
  • Page 449 Fonction "Test d’émission" (OB 203) 10.6 Fonction "Test d’émission" (OB 203) 10.6.1 Fonction La fonction "Test d’émission" détermine le nombre "m" de blocs de mémoire libres dans la mémoire intermédiaire du coordinateur COR 923C. Selon ce nombre "m", la fonction "Emission" peut être appelée "m"...
  • Page 450 Fonction "Test d’émission" (OB 203) 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 Signification indicateur...
  • Page 451 Fonction "Réception" (OB 204) 10.7 Fonction "Réception" (OB 204) 10.7.1 Fonction 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 combien de paquets de données sont encore stockés et peuvent encore être reçus.
  • Page 452 Fonction "Réception" (OB 204) 10.7.4 Paramè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 suivants peuvent apparaître (exploitation globale de l’octet indicateur) :...
  • Page 453 Fonction "Réception" (OB 204) Octet Signification indicateur Suite des numéros d’erreur 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 Le numéro de bloc envoyé...
  • Page 454 Fonction "Réception" (OB 204) Type de bloc Type = 1 : Bloc de données DB Type = 2 : Bloc de données DX Type = 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é...
  • Page 455 Fonction "Test de réception" (OB 205) 10.8 Fonction "Test de réception" (OB 205) 10.8.1 Fonction 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 coordinateur COR 923C. Selon ce nombre "m", la fonction "Réception" peut être appelée "m"...
  • Page 456 Fonction "Test de réception" (OB 205) 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 Signification indicateur Le paramètre "CPU émettrice" est incorrect. On distingue les cas suivants : - Le numéro de la CPU émettrice est supérieur à...
  • Page 457 Applications 10.9 Applications Ce paragraphe explique, à l’appui d’exemples, comment programmer la communication multiprocesseur. Nota Lorsque vous utilisez les blocs fonctionnels suivants et des OB de traitement d’alarmes (par exemple, OB 2), veillez à sauvegarder les mémentos banalisés au début du traitement de l’interruption et à les restaurer à...
  • Page 458 Applications Nota Les exemples donnés ci-après sont des applications exécutables que vous pouvez reprendre dans votre programme. Programmation des blocs fonctionnels FB 200 : Initialisation des liaisons FB 200 INITIAL AUMA INIK ANZC GKAP TNZU ANFZ Nom du Signification Type Format Champ de paramètre...
  • Page 459 Applications Suite du FB 200 FB 200 LON=45 SEGMENT 1 0000 NOM :INITIAL DESIG :AUMA E/A/D/B/T/Z: E BI/BY/W/D: BY DESIG :ANZC E/A/D/B/T/Z: E BI/BY/W/D: BY DESIG :TNZU E/A/D/B/T/Z: E BI/BY/W/D: W DESIG :ANFZ E/A/D/B/T/Z: E BI/BY/W/D: W DESIG :INIK E/A/D/B/T/Z: A BI/BY/W/D: BY DESIG :GKAP E/A/D/B/T/Z: A BI/BY/W/D: BY 0017...
  • Page 460 Applications FB 202 : Emission d’un paquet de données FB 202 SENDEN ECPU FEWA TNDB SKAP BLNR Nom du Signification Type Format Champ de paramètre paramètres ECPU CPU réceptrice MB 246 TNDB Type (octet de poids fort) et numéro MB 247 (octet de poids faible) du bloc de données source BLNR...
  • Page 461 Applications FB 203 : Test de capacité d’émission FB 203 SEND-TST ECPU FEHL SKAP Nom du Signification Type Format Champ de paramètre paramètres ECPU CPU réceptrice MB 246 FEHL Erreur MB 248 SKAP Capacité d’émission MB 249 FB 203 LON=30 SEGMENT 1 0000 NOM :SEND-TST...
  • Page 462 Applications FB 204 : Réception d’un paquet de données FB 204 EMPFANG SCPU FEWA EKAP TNDB ANFA ENDA Nom du Signification Type Format Champ de paramètre paramètres SCPU CPU émettrice MB 246 FEWA Erreur/avertissement MB 248 EKAP Capacité de réception MB 249 TNDB Type (octet de poids fort) et numéro...
  • Page 463 Applications Suite du FB 204 FB 204 LON=45 SEGMENT 1 0000 NOM : EMPFANG DESIG :SCPU E/A/D/B/T/Z: E BI/BY/W/D: BY DESIG :FEWA E/A/D/B/T/Z: A BI/BY/W/D: BY DESIG :EKAP E/A/D/B/T/Z: A BI/BY/W/D: BY DESIG :TNDB E/A/D/B/T/Z: A BI/BY/W/D: W DESIG :ANFA E/A/D/B/T/Z: A BI/BY/W/D: W DESIG :ENDA...
  • Page 464 Applications Suite du FB 205 FB 205 LON=30 SEGMENT 1 0000 NOM : EMPF-TST DESIG :SCPU E/A/D/B/T/Z: E BI/BY/W/D: BY DESIG :FEHL E/A/D/B/T/Z: A BI/BY/W/D: BY DESIG :EKAP E/A/D/B/T/Z: A BI/BY/W/D: BY 000E =SCPU CPU émettrice 000F MB 246 0010 0011 KB 246 OB de fonction spéciale :...
  • Page 465 Applications Suite 1 du FB 110 Si le paramètre de sortie REST contient une valeur supérieure à 0, il faut encore 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, à...
  • Page 466 Applications Suite 2 du FB 110 Nom du Signification Type Format paramètre STAR Démarrer le transfert du bloc de données sur front positif ECPU CPU réceptrice TNDB Type (octet de poids fort) et numéro (octet de poids faible) du bloc de données à transférer ANZB Nombre de paquets de données à...
  • Page 467 Applications Suite 3 du FB 110 0025 =REST Emission préalable éventuelle 0026 KB 0 de paquets encore présents 0027 :><F 0028 :SPB =UEBT 0029 002A =STAR Front positif sur l’entrée START 002B =FLAM 002C =STAR 002D =FLAM 002E :SPB =GUT 002F =FLAM 0030...
  • Page 468 Applications 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 le programme cyclique de la CPU 2.
  • Page 469 Applications Suite 1 de l’exemple d’application 0009 :SPA FB 110 000A NOM :UEBT-DAT 000B STAR : E 2.0 000C ECPU : MB 0 000D TNDB : MW 1 000E ANZB : MB 3 000F ERSB : MB 4 0010 FEHL : MB 5 0011 REST : MB 6...
  • Page 470 Applications 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ère chaque paquet de données émis dans le bloc de données correspondant. Le transfert complet d’un bloc de données peut se répartir sur plusieurs cycles. FB 2 LON=yy SEGMENT 1...
  • Page 471 Applications 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 de couplage". Un bloc de données est attribué à chaque liaison de sorte qu’une liaison est totalement indépendante des autres.
  • Page 472 Applications Structure de la liste des liaisons Tableau 10-8 Liste des liaisons pour l’extension de la zone des mémentos de couplage Liste partielle 1 Liste partielle 2 Liaison Type Numéro Nombre de DB de DB de paquets de la CPU 1 DW 0 DW 16 vers la ...
  • Page 473 Applications La liste de liaisons est constituée de deux listes partielles structurées de manière semblable et comprenant chacune 16 mots de données. Pour chacune des quatre CPU émettrices (S1, S2, S3, S4), les liaisons sont déterminées par les trois rubriques suivantes : •...
  • Page 474 Applications Structure du programme En appelant la fonction d’initialisation (OB 200), une CPU réserve au démarrage sur le coordinateur autant de blocs de mémoire par liaison qu’il y a de paquets de données à transférer sur cette liaison. Les deux blocs fonctionnels suivants sont utilisés sur chaque CPU pour l’émission et la réception des zones de mots de données : Numéro Fonction...
  • Page 475 Applications OB 20 OB de démarrage pour L´OB 200 ne peut l´organisation de la mémoire être appelé que intermédiaire dans le dans une CPU. OB 200 coordinateur 923C OB 1 Programme utilisateur cyclique augmenté des appels DB xxx F B 101 des blocs fonctionnels EMPF -DAT et SEND-DAT DB xxx...
  • Page 476 Applications 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ées contenant la liste de liaisons. Pour traiter les informations contenues dans la liste de liaisons, le bloc fonctionnel SEND-DAT a besoin du numéro de la CPU sur laquelle il est appelé.
  • Page 477 Applications Suite 1 du FB 100 0013 0014 :SLW CPUN = CPUN * 4 0015 MB 245 Adresse de base 0016 0017 KB 1 0018 MB 244 Compteur de liaisons 0019 001A SCHL :L MB 245 Adresse de base 001B MB 244 + compteur 001C...
  • Page 478 Applications Suite 2 du FB 100 0048 LEER :L MB 244 Incrémenter le compteur de 0049 liaisons 004A MB 244 004B KB 4 Les 3 liaisons ont-elles été 004C :<F traitées ? 004D :SPM =SCHL 004E KB 0 Fin de programme sans erreur : 004F =FEWA RLG = 0, FEWA = 0...
  • Page 479 Applications Suite 1 du FB 101 FB 101 LON=88 SEGMENT 1 0000 NOM :EMPF-DAT DESIG :CPUN E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KF DESIG :FEWA E/A/D/B/T/Z: A BI/BY/W/D: 000B =CPUN Erreur si : 000C KB 1 000D :<F 000E :SPB =FEWA Numéro de CPU < 1 000F =CPUN 0010...
  • Page 480 Applications Suite 2 du FB 101 0037 MB 249 Capacité de réception = nombre de 0038 MB 243 blocs de mémoire réservés ? 0039 :><F 003A :SPB =LEER 003B 003C EMPF :L KB 246 OB de fonction spéciale : 003D :SPA OB 204 "Réception d’un paquet de données"...
  • Page 481 Applications 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 à...
  • Page 482 Applications 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érentes CPU : Fonction CPU 1 CPU 2 CPU 3 OB de démarrage OB 20 — — Programme utilisateur FB : SEND-DAT FB 100 FB 100...
  • Page 483 Applications Suite 2 de l’exemple d’application – – Liste partielle 2 – – KC = ’S1’; Emettre de la CPU 1 .. KY = 002,004; .. 4 paquets de données vers la CPU 2 KY = 003,002; .. 2 paquets de données vers la CPU 3 KY = 004,000;...
  • Page 484 Applications 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 blocs fonctionnels EMPF-DAT et SEND-DAT. Le bloc fonctionnel FB 1 imprimé est destiné...
  • Page 485 Interfaces et fonctions en ligne de la PG Sommaire du chapitre 11 11.1 Présentation............11 - 4 11.2 Fonctions en ligne de la PG .
  • Page 486 Sommaire Programmation de la CPU 948 11 - 2 C79000-G8577-C848-04...
  • Page 487 Interfaces 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 dans le 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érie sur la PG), il est inutile de lire le paragraphe 11.4.
  • Page 488 Présentation 11.1 Présentation Les fonctions en ligne du logiciel STEP 5 vous permettent de charger et 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 : •...
  • Page 489 Fonctions en ligne de la PG 11.2 Fonctions en ligne de la PG Nota La terminologie utilisée dans ce chapitre pour décrire les fonctions en ligne peut légèrement différer de celle de votre logiciel. En cas de doute, reportez-vous à votre manuel STEP 5. Appel et utilisation Consultez le manuel STEP 5 pour savoir comment appeler et utiliser les différentes fonctions en ligne.
  • Page 490 Fonctions en ligne de la PG 11.2.1 Informations Etendue de la mémoire Il existe deux versions de mémoire pour la CPU 948. La fonction de test "Etendue de la mémoire" vous permet de connaître leur taille. La PG reçoit alors les informations suivantes sur la mémoire utilisateur de la CPU (à...
  • Page 491 Fonctions en ligne de la PG 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 sont visualisés pour la CPU 948. Cette fonction est autorisée en état de marche RUN, en arrêt partiel et en arrêt total.
  • Page 492 Fonctions en ligne de la PG Transfert de blocs La fonction "Blocs, Transférer" permet de transférer des blocs de code ou de données nouveaux ou existant déjà dans la mémoire utilisateur de la CPU. Si un bloc s’y trouve déjà, il est déclaré non valable au profit du nou- veau bloc transféré.
  • Page 493 Fonctions en ligne de la PG Etat d’un bloc La fonction "Etat d’un bloc" (visualisation dynamique) vous permet de tester une suite d’instructions (opérations STEP 5) quelconque dans un bloc du programme utilisateur. Pour chaque instruction exécutée, la valeur en cours des opérandes, le contenu des accumulateurs , le RLG, etc., sont affichés sur la console de programmation.
  • Page 494 Fonctions en ligne de la PG "Etat d’un bloc" avec les Dans les versions précédentes du logiciel PG, un déplacement rapide versions précédentes du du curseur pendant la visualisation dynamique d’un bloc entraîne des logiciel PG temps d’attente d’environ 3 à 5 secondes par ligne. Solution : Interrompez la visualisation dynamique à...
  • Page 495 Fonctions en ligne de la PG Appel de la fonction en Vous pouvez aussi appeler le contrôle pas à pas et définir un premier arrêt partiel point d’arrêt en STOP partiel. La CPU reste à l’arrêt. Vous pouvez alors aussi bien demander un démarrage qu’un redémarrage manuel. La CPU exécute le programme jusqu’à...
  • Page 496 Fonctions en ligne de la PG Imbrications en mode Lorsque le contrôle pas à pas est appelé, d’autres niveaux de traite- "Interruptions possibles ment de programme peuvent être imbriqués lorsque vous avez choisi en fin d’instruction" le mode "Interruptions possibles en fin d’instruction". Si l’instruction située au point d’arrêt est traitée et si un autre niveau de traitement de programme est appelé...
  • Page 497 Fonctions en ligne de la PG • • Traitement du programme → arrêt Interruptions Si une interruption se produit pendant le traitement du programme (par exemple, arrêt en fonctionnement multiprocesseur, périphérie non 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.
  • Page 498 Fonctions en ligne de la PG Etat de variables La fonction de test en ligne "Etat de variables" permet de visualiser l’état en cours de certains opérandes (variables de processus). Lorsqu’un point de contrôle est atteint, l’état en vigueur des variables de processus désirées est affiché.
  • Page 499 Fonctions en ligne de la PG Les sorties vers la périphérie sont forcées octet par octet. En fonctionnement multiprocesseur, il est possible de forcer toutes les sorties périphériques (indépendamment de l’affectation définie dans le DB 1). Les retards d’acquittement se produisant lors du forçage de sorties sont pris en compte (message de la PG "Module sortie manque").
  • Page 500 Couplage PG-AP via la première ou la seconde interface série 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 et l’automate programmable : • • liaison directe entre PG et CPU à l’aide du câble standard •...
  • Page 501 Utilisation en parallèle de deux interfaces série vers la PG 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 console 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-...
  • Page 502 Utilisation en parallèle de deux interfaces série vers la PG Exemples de configuration CP 143 CPU 948 Console PG reliée via SINEC H1 et COR C Console PG reliée directement "pont" SINEC H1 Figure 11-4 Premier exemple de configuration CPU 948 OP raccordé...
  • Page 503 Utilisation en parallèle de deux interfaces série vers la PG 11.4.1 Mise en service Pour mettre en service la seconde interface de la CPU 948 comme in- terface PG, procédez comme suit. Etape Action Mettez en place la cartouche PG dans la CPU 948. (reportez-vous aux instructions correspondantes dans l’annexe) Reliez la console de programmation à...
  • Page 504 Utilisation en parallèle de deux interfaces série vers la PG Le tableau ci-dessous indique les couples de fonctions que vous ne pouvez pas utiliser simultanément. Tableau 11-2 Fonctions non exécutables simultanément sur deux PG Fonction en cours sur la Fonction qui ne doit pas être première PG appelée sur la seconde PG Forçage...
  • Page 505 Utilisation en parallèle de deux interfaces série vers la PG 11.4.3 Déroulement pour des cas précis Utilisation parallèle de fon- Lorsque vous utilisez des consoles de programmation simultanément ctions à temps d’exécution sur les deux interfaces, ces deux PG tentent d’exécuter leurs fonctions court respectives indépendamment l’une de l’autre.
  • Page 506 Utilisation en parallèle de deux interfaces série vers la PG Utilisation parallèle de fon- Les fonctions à temps d’exécution long de forçage et de contrôle pas à ctions à temps d’exécution pas ne peuvent ni interrompre d’autres fonctions, ni être interrompues long par d’autres fonctions.
  • Page 507 Utilisation en parallèle de deux interfaces série vers la PG Pour donner à une deuxième PG la possibilité d’envoyer également un contrat à 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 son traitement, la puissance totale de la CPU doit être répartie sur les deux fonctions.
  • Page 508 Utilisation en parallèle de deux interfaces série vers la PG Utilisateur de la PG 2 CPU 948 Utilisateur de la PG 1 La PG 1 indique à la CPU quelles variables doivent être lues. La PG 1 demande les données actuelles. La PG 1 demande les données actuelles.
  • Page 509 Utilisation en parallèle de deux interfaces série vers la PG Cas particulier pour les Si la fonction causant l’interruption bloque la CPU 948 (visualisation fonctions cycliques sur les dynamique d’un bloc qui n’est pas exécuté), la fonction interrompue deux consoles ne peut pas être poursuivie.
  • Page 510 Utilisation en parallèle de deux interfaces série vers la PG 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 et que vous vouliez, sur la seconde interface, effectuer une compression de 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.
  • Page 511 Fonctions PG via le bus S5 11.5 Fonctions PG via le bus S5 11.5.1 Utilisation Les fonctions PG via le bus S5 permettent de charger et de piloter, à partir de PG 7xx, des automates programmables S5-155U avec CPU 948 mis en réseau via SINEC H1. Ces fonctions permettent de charger la CPU 948 jusqu’à...
  • Page 512 Fonctions PG via le bus S5 La figure 11-10 montre un exemple de configuration en mode multi- processeur. AP S5-155U PG 7xx Coupleur de bus SINEC H1 Coupleur de bus Figure 11-10 Fonctionnement multiprocesseur avec un CP 143 (deux CPU 948, un CP 143) Pas de paramétrage de Aucun paramétage dans la CPU 948 n’est nécessaire pour les foncti- la CPU...
  • Page 513 Fonctions PG via le bus S5 11.5.2 Principe de fonctionnement des fonctions PG via le bus Utilisation de pages Le CP 143 comporte quatre pages (interfaces) pour la communication avec les CPU. Si vous n’utilisez pas les fonctions PG via le bus S5, toutes ces pages sont disponibles pour la communication par le biais de blocs de dialogue.
  • Page 514 Fonctions PG via le bus S5 Paramétrage du CP 143 Consultez le manuel du CP 143 (bibliographie /6/) pour savoir com- ment paramétrer ce dernier. Avertissement Vous ne pouvez pas paramétrer les numéros d’interface 232 (et suivants) et 236 (et suivants) si vous utilisez le CP 143 avec d’autres CPU SIMATIC.
  • Page 515 Fonctions PG via le bus S5 11.5.3 Mise en service Vous devez considérer les cas suivants lors de la mise en service. CP 143 uniquement utilisé Si vous désirez utiliser le processeur de communication CP 143 exclu- pour les fonctions PG sivement pour les fonctions PG via le bus S5, aucun paramétrage autre que celui de SINEC H1 n’est nécessaire.
  • Page 516 Fonctions PG via le bus S5 Etape Action Chargez les paramètres dans le CP 143. Vous pouvez stocker les paramètres du CP 143 : dans une cartouche EPROM 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/.
  • Page 517 Fonctions PG via le bus S5 CP 143 utilisé pour les Si vous désirez utiliser le CP 143 non seulement pour les fonctions PG fonctions PG et la commu- via le bus S5 mais également pour la communication via SINEC H1, nication via SINEC H1 vous devez tenir compte des indications suivantes en plus du pa- ramétrage décrit sous "CP 143 uniquement utilisé...
  • Page 518 Fonctions PG via le bus S5 CP 143 CPU 1 SSNR Page pour blocs de dialogue utilisateur CPU 948 SSNR Page pour blocs de dialogue CPU 2 utilisateur SSNR Page pour fonctions CPU 948 SSNR Page pour fonctions CP 143 CPU 3 SSNR Page pour...
  • Page 519 Fonctions PG via le bus S5 11.5.4 Indication 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 et BT, des indicateurs quand des erreurs se produisent lors de l’utilisati- on de ces fonctions.
  • Page 520 Fonctions PG via le bus S5 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 du CP 143 : les numéros d’interface 232 (et suivants) ou 236 (et suivants) doivent être indiqués (cavalier et SYSID).
  • Page 521 Fonctions PG via le bus S5 Nota La 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 BT est occupée comme indiqué ci-avant et n’est donc plus disponible pour d’autres programmes (FB standard par exemple).
  • Page 522 Fonctions PG via le bus S5 Programmation de la CPU 948 11 - 38 C79000-G8577-C848-04...
  • Page 523 Annexes 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 .
  • Page 524 Sommaire Programmation de la CPU 948 12 - 2 C79000-G8577-C848-04...
  • Page 525 Annexes 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, comparaison des temps d’exécution des CPU 948, CPU 946/947 et CPU 928B, ainsi que codes d’erreur de certains OB de fonctions spéciales.
  • Page 526 Annexe 1 : positionnement des cavaliers pour les interruptions système 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.
  • Page 527 Annexe 2 : montage et démontage de la cartouche PG 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. Avertissement Avant de retirer la CPU, mettez l’automate programmable hors tension.
  • Page 528 Annexe 2 : montage et démontage de la cartouche PG Démontage Le démontage de la cartouche PG s’effectue de la manière suivante : Etape Manipulation Mettez l’AP hors tension. Retirez la CPU hors du châssis de base. Desserrez les deux vis de fixation de la cartouche, puis retirez la cartouche hors de son logement.
  • Page 529 Annexe 3 : caractéristiques techniques des CPU 948 et CPU 928B 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érandes 0,18 µ s 0,57 µ...
  • Page 530 Annexe 3 : caractéristiques techniques des CPU 948 et CPU 928B Opération /traitement CPU 948 CPU 928B Traitement déclenché par horloge 310 µ s pour le premier OB Prolongation du temps de cycle par imbrication 287 µ s d’un OB 13 vide (sans instructions STEP 5) à d’alarme d’horloge 170 µ...
  • Page 531 Annexe 4 : codes d’erreur de certains OB de fonctions spéciales dans l’ACCU 1 Annexe 4 : codes d’erreur de certains OB de fonctions spéciales dans l’ACCU 1 Codes d’erreur (octets) Ces codes d’erreur en octets sont en partie utilisés par plusieurs OB de dans l’ACCU 1-LL fonctions spéciales.
  • Page 532 Annexe 4 : codes d’erreur de certains OB de fonctions spéciales dans l’ACCU 1 OB de ACCU 1-LL Signification fonction spéciale OB 223 Types de mise en route identiques Erreur système interne Types de mise en route différents Mode monoprocesseur : comparaison des types de mise en route impossible OB 254/ La fonction a été...
  • Page 533 Annexe 4 : codes d’erreur de certains OB de fonctions spéciales dans l’ACCU 1 Codes d’erreur (mots) A une exception près, ces codes d’erreur en mots ne sont utilisés dans l’ACCU 1-L qu’une fois. Le tableau suivant est donc classé par codes d’erreur croissants.
  • Page 534 Annexe 4 : codes d’erreur de certains OB de fonctions spéciales dans l’ACCU 1 ACCU 1-L OB de Signification fonction spéciale 9701H OB 151 Bloc de données non chargé 970FH Appel multiple du bloc 9710H Mode de fonctionnement incorrect (Alarmes de processus via octet d’entrée EB 0 = OUI) 9711H Numéro de fonction incorrect...
  • Page 535 Annexe 4 : codes d’erreur de certains OB de fonctions spéciales dans l’ACCU 1 ACCU 1-L OB de Signification fonction spéciale B601H OB 182 Bloc de données non chargé B60FH Appel multiple du bloc B611H Définition incorrecte du champ de données B612H Type de zone d’adressage illicite B613H...
  • Page 536 Annexe 4 : codes d’erreur de certains OB de fonctions spéciales dans l’ACCU 1 Programmation de la CPU 948 12 - 14 C79000-G8577-C848-04...
  • Page 537 Listes Sommaire du chapitre 13 Liste des abréviations ........... . A - 1 Index .
  • Page 538 Sommaire Programmation de la CPU 948 13 - 2 C79000-G8577-C848-04...
  • Page 539 Liste des abréviations Liste des abréviations 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 bits ACCU 1 (2, 3, 4)-H Mot de poids fort dans l’accumulateur 1 (2, 3, 4), 16 bits ACCU 1 (2 ,3, 4)-LL...
  • Page 540 Liste des abréviations Bloc fonctionnel FL 0, FL 1 Indicateurs d’opérations sur mots ("flags") Bloc fonctionnel étendu Module d’interface (Interface Modul) Interruption système Carte périphérique intelligente ITPILE Pile des interruptions voir DEL LIST Liste d’instructions Logigramme Coupure secteur (Manque De Tension) Mémoire image Mémoire image des entrées Mémoire image des sorties...
  • Page 541 Index bloc étiquette 2-14, 2-35 Index corps de bloc 2-13, 2-24, 2-36 correction 2-15 d’identification de l’automate 8-42 1e ? (première interrogation) effacement 6-14 Voir Indicateurs de résultat en-tête de bloc 2-13, 2-24, 2-36, 8-12 généralités génération 6-17 imbrication de blocs 3-5, 3-8 liste d’adresses 3-8, 8-13...
  • Page 542 Index Blocs fonctionnels (FB/FX) niveau de traitement de programme 4-29 appel et paramétrage 2-25, 2-28 points d’interruption 4-31 généralités 2-13, 2-23 Voir Opérandes effectifs et formels programmation 2-25 standard 2-23, 2-33 structure 2-24 DAD (erreur d’adressage) 5-26 Blocs séquentiels (SB) 2-12, 2-16 DB 0 2-41, 3-8...
  • Page 543 Index Etats de fonctionnement ETAT 3-17, 3-20 arrêt FL 1 et FL 0 3-18, 3-61 marche 4-29 généralités 3-16 mise en route 4-16 3-17 Exemples de programmation 3-34 - 3-48 OVFL 3-17 Exposant OVFLMEM 3-17 Voir Nombres à virgule flottante 2-7, 3-17, 3-20 Indications par DEL 4-12 - 4-13, 5-5...
  • Page 544 Index Langage de programmation 1-18 STEP 5 1-18, 2-4 Niveaux de traitement LIST (liste d’instructions) de programme 4-4, 4-6, 6-32 Liste d’assignation 2-7, 2-24 LOG (logigramme) Nombres Logiciel PG 1-18 à virgule fixe à virgule flottante binaires décimaux décimaux codés binaire (DCB) 2-8, 2-11 Mantisse Numéro de bibliothèque 2-36...
  • Page 545 Index temps de réaction 4-46 Voir Indicateurs de résultat Redémarrage 4-21 Outils de programmation 1-18 Voir Mise en route OVFL (overflow : dépassement) Registre BR 9-22 Voir Indicateurs de résultat Représentation des valeurs numériques OVFLMEM (dépassement mémorisé) Résultat logique (RLG) Voir Indicateurs de résultat Voir Indicateurs de résultat Retardement d’alarmes...
  • Page 546 Index Valeur de comptage 3-28 de temporisation 3-27 Valeurs numériques représentation Validité d’un bloc de données ouvert 2-40 Zone des pages 9-29 - 9-30 Zones BA/BB 8-14 Zones BS/BT 8-15 - 8-17 occupation de la zone BS 8-16 Zones d’opérandes 1-11 Programmation de la CPU 948 Index - 6...
  • Page 547 Siemens AG A&D AS E 81 Oestliche Rheinbrueckenstr. 50 D-76181 Karlsruhe République Fédérale d’Allemagne Expéditeur : Nom : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _...
  • Page 548 Vos remarques et suggestions nous permettent d’améliorer la qualité générale de notre documentation. 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 bien et 5 pour très mauvais.

Ce manuel est également adapté pour:

Simatic s5 cpu 948