Professional Documents
Culture Documents
CPU 928
Instructions de programmation
1
C79000-B8577-C633-01
CPU 928
Communication multiprocesseur
Instructions de Guide d'utilisation
2
programmation C79000-B8577-C468-05
11 ....................11-1
M i a i r e s de test: fonctions on-line
Index
Le chapitre 11 décrit quelques fonctions on-line que vous pouvez appeler sur
la console de programmation pour tester votre programme et attire l'atten-
tion sur les particularités en liaison avec la CPU 928.
Abréviations
ABAND Abandon
ACCU 1 (2,3,4)-L mot de poids faible (low word) dans l'accumulateur 1
(2,3,4), 16 bits
ACCU 1 (2,3,4)-H mot de poids fort (high word) dans l'accurmilateur 1
(2,3,4), 16 bits
ACCU 1 (2,3,4)-L;L octet de poids faible (low byte) du low word dans
l'accumulateur 1 (2,3,4), 8 bits
ACCU 1 (2,3,4)-IH octet de poids fort (high byte) du low word dans
l'accumulateur 1 (2,3,4), 8 bits
ACQ retard d'acquittement
ADF erreur d'adressage
AG automate programmable
BASP inhibition des sorties
BCD nombre décimal codé binaire
BCF erreur de code d'instruction
BLPILE pile des blocs
CAD compteur d'adresses STEP (dans le registre 15)
CONT schéma à contacts
CP processeur de communication
CYC dépassement du temps de cycle
D, DL/DR, DW,DD donnée (1 bit), donnée de gauche/de droite
(8 bits), mot-donnée (16 bits), mot-donnée double
(32 bits)
DB bloc de données
DBA adresse de début du bloc de données (dans le
registre 6)
DBL longueur du bloc de données (dans le registre 8)
DX bloc de données étendu
EPROM Erasable Programmable Read ûnly Memory
(mémoire morte effaçable et programmable)
ETAT état (indicateur bit)
FB bloc fonctionnel
FL O, FL 1 indicateurs de résultat mot
FX bloc fonctionnel étendu
IP carte périphérique intelligente
ITPILE pile des interruptions
KOR coordinateur
LIST liste d'instructions
LOG logigramme
LZF erreur de temps d'exécution
M, MB, MW, MD bit de mémento, octet de mémento, mot-mémento, mot-
mémento double
MIE mémoire image des entrées
MIS mémoire image des sorties
OB bloc d'organisation
OR OU (indicateur bit)
os merflow mémorisé (indicateur mot)
ov merflow (indicateur mot)
PB bloc de programme
PB,PW octet de périphérie (console de programmation PG 675),
mot de périphérie
PG console de programmation
l.? première scrutation (bit indicateur)
Proc . processeur
PY octet de périphérie (console de programmation PG 685)
QB, QW octet, mot de la zone 'périphérie étendue'
QVZ retard d'acquittement
Random Access Memory (mémoire à accès au libre choix)
résultat d ' équation logique
module séquentiel
fonction spéciale
temporisations
compteur (cellules de comptage)
Documents de référence
Structure de llins+iillatian
Dainaine d'application
2. Les valeurs contenues dans cette MIE sont traitées par le programme
d'application et les valeurs à sortir sont inscrites dans la mémoire
image des sorties (MIS).
3. Les valeurs contenues dans cette MIS sont transférées aux cartes de
sortie dépendant du processeur: phase d'émission des sorties.
a) les blocs d'instructions (ou blocs codes) qui contiennent les ins-
tructions STEP5;
Accésdirectà la~éri~hérie
!
Blocsde code
avec lespro-
grarnmesd'appli-
-El-
- MIS
~Gualisermé-
cation :
- cyclique
- d'horloge
- d'alarme
Blocsdedonnées
libre
i
I
1
1
I1
I
F I Processeur 1 I1
:-----------------------------------------------------------------1
autres
processeurs
!
La RAM DB est une zone de mémoire destinée aux blocs de données. Les
blocs de données dont le contenu devra être modifié par le programme
d'application doivent être copiés dans la RAM DB à partir de la cartouche
EPROM.
- Zone de mémentos M (256 octets)
- Mémoire image des entrées et des sorties MïE/MIS (128 octets chacune)
Le programme d'application peut accéder à la mémoire image de la même
manière qu'à la zone de mémentos. La mémoire image est actualisée à la
fin du cycle par le programme système.
Les compteurs sont chargés par le programme d'application avec une valeur
de présélection (999 m.) et sont ensuite incrémentés ou décrémentés.
Les instructions STEP5 peuvent accéder aux zones d'opérandes suivantes:
- zone de mémentos
- mémoire image des entrées et sorties
- zone de périphérie
- temporisations
- compteurs
- bloc de données actuel
Pour accéder à ces zones d'opérandes, les instructions STEP5 utilisent deux
mécanismes différents:
- 1 registre indicateur.
- 1 registre BR (registre de base) pour les instructions utilisant l'adres-
sage absolu.
1.1 Nouvelles propriétés et fonctions de l a CPU 928
(pour les utilisateurs du processeur S ou R)
Processeur S : Processeur R :
traitement rapide sur bits traitement rapide sur mots
--> Commande -> Régulation,calcul, communication
CPU 928:
tempsde cycle amélioré
pour programmationmixte
(traitementsur bits et sur mots)
-->Commande g t régulation, calcul,
communication
La CPU 928 étant une carte de 40 mm de large, elle occupe deux emplacements
d'enfichage sur le châssis de base 135U. Elle associe les avantages du
processeur S (traitement rapide sur bits, pour le séquentiel) et du proces-
seur R (traitement rapide sur mots pour la régulation). La CPU 928 se prête
en outre particulièrement bien à la surveillance et à la signalisation, à
la communication en fonctionnement rmiltiprocesseurs ainsi qu'à la conduite
et à 1' observation. La CPU 928 est par conséquent un processeur pouvant
être utilisé de manière universelle pour résoudre les problèmes d1automati-
sation .
Si vous êtes déjà familiarisé avec l'utilisation du processeur S ou R dans
l'automate S5-135U, vous accorderez une attention particulière à la des-
cription des nouvelles propriétés et fonctions de la CPU 928 qui sont
présentées aux chapitres suivants (les indications écrites en italique ne
concernent que la version 3UA12!) :
Des fonctions spéciales ont été intégrées dans la CPU 928, à savoir:
Dans la CPU 928, il est possible de programmer 256 compteurs et 256 tempo-
risations (processeur R: 128 compteurs, 128 temporisations).
Les paramètres pour le traitement déclenché par alarme process ont été
étendus.
Les zones accessibles par les instructions STEP5 Lm, TIR, TNB et TNW ont
été étendu dans la CPü 928 et contiennent moins de lacunes.
Il existe
- de nouvelles instructions permettant de charger le registre BR ou d'en
mdifier le contenu (cf.9.3.1), 1)
o~érationsde base:
opérations complémentaires:
Le code machine créé par les consoles de programmation (PG) est identique
pour les trois modes de représentation.
U t
ON t
- facilité de modification,
- simplicité de test du programme par parties,
- facilité de mise en service.
ün bloc est une partie du programme utilisateur ayant une fonction, une
structure et un emploi bien définis. Il faut distinguer les blocs qui con-
tiennent des instructions de traitement des informations (blocs d'organisa-
tion, blocs de programme, blocs fonctionnels, blocs séquentiels) et les
blocs qui contiennent des données (blocs de données).
Une instruction STEP5 est le plus petit élément du programme utilisateur.
Elle impose le traitement à effectuer par la CPU. üne instruction STEP5 se
compose d'un code opération et d'un opérande.
Exemple : :O M54.1
/ \
code opération opérande
(quoi faire?) (avec quoi?)
L'opérande peut être défini sous forme absolue ou symbolique (suivant une
liste d'assignation).
La plupart des opérations STEPS utilisent deux registres en tant que source
ou destination des opérandes et en tant que destination du résultat d'une
opération: l'accumulateur 1 (accu 1) et l'accuniulateur 2 (accu 2). Un accu-
mlateur a une largeur de 32 bits (1 double mot).
31 30
Les nombres à virgule fixe sont utilisés pour les opérations de calcul
simple et pour la comparaison de valeurs numériques. Etant donné que les
nombres à virgule fixe sont toujours des entiers, il faut tenir compte du
fait qu'aucun reste ne peut être formé lors de l'exécution de divisions!
Les nombres à virgule flottante sont des nombres décimaux positifs ou néga-
tifs. Ils occupent toujours.un double mot (32 bits). Un nombre à virgule
flottante est représenté sous forme de nombre exponentiel. La mantisse est
codée sur 24 bits et l'exposant sur 8 bits.
Lorsque le signe de la mantisse est "O", le nombre est positif; dans le cas
contraire, il s'agit d'un nombre négatif en représentation en complément à
deux.
Exposant Mantisse
La CPU 928 est préréglée pour effectuer les additions, soustractions, multi-
plications et divisions avec une mantisse de 16 bits (bit 8 à bit 23). Les
bits de poids faible (se trowant à droite) O à 7 ont dans ce cas toujours
la valeur "O"!
Si l'on désire effectuer les calculs en virgule flottante avec une précision
accrue (et si rien ne s'oppose à un léger allongement des temps d1exécu-
tion), il est possible de paramétrer le DX O pour une "arithmétique à
virgule flottante avec mantisse de 24 bits" (cf. chapitre 7).
Bit 15 à 12 11 à 8 7 à 4 3 à 0
signe centaines dizaines unités
S S S S
I
Les différents chiffres du nombre décimal sont représentés par des nombres
binaires à 4 bits entre 0000 et 1001 (O et 9).
Blocs STEP5
I
6
e code
B~OCS
I
Blocs de dorinées
(contenant des instructions (contenant des variables et
STEP5) constantes)
I
~locs onctionnels
(jeu d'instructions
1
Blocs "normaux"
(jeu dl instructions
complet; de base)
- --
paramétrables)
I 1 I I I I 1
FB FX OB SB PB DB DX
En-tête dans la
mémoire de programme : Indicatif de début
Indentif. PG Numéro de
bibliothèque
Pour les types de bloc DB, DX, FB et FX, la PG crée en plus un bloc
étiquette (DV, DXV, FV, FXV). Ces blocs étiquettes 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. C'est pourquoi les blocs étiquettes ne sont pas transfé-
rés dans la mémoire de l'automate programmable. L'utilisateur n'a pas
d'influence directe sur le contenu des blocs étiquettes.
ün bloc STEP5 peut occuper 4096 mots au naaximum dans la mémoire de pro-
gramme du processeur. Il faut tenir compte, lors de l'introduction ou du
transfert de blocs de la capacité de mémoire de la console utilisée!
J Cartouche RAM ou
EPROM
IMPDRTBNT!
Ies blocs effacés et corrigés occupent a j o u r s & la capacité de mémoire!
llPoKMa!
hrs de la progranmation de PB, de SB et d'OB, seules les opérations de
base SlEP5 peuvent être utilisées.
Terminer l'introduction du programme avec l'instruction "BE" (fin de
bloc).
3Hlmamr!
Un bloc STEP5 doit toujours contenir un pragpumue complet. Une suite de
combinaisons logiques doit être terminée au sein d'un bloc.
Vous pouvez écrire dans un bloc un maximum de 4096 mots (selon la console
de programmation utilisée).
En-tete
.Programme STEP 5
Ces appels de blocs pewent être programmés au sein d'un bloc d'organi-
sation, de programme, fonctionnel ou séquentiel. Ils sont comparables à des
branchements ou sauts vers un sous-programme. Chaque saut donne lieu à un
changement de bloc.
Le EüX est un état de signal dans le processeur qui est utilisé pour la
suite du traitement de signaux binaires. Le RLG peut par exemple être
combiné à l'état logique d'opérandes ou conditionner l'exécution d'opéra-
.
tions Les opérations "inconditionnellesl~ sont toujours exécutés, les
opérations "~onditionnelles~~ne le sont que lorsque RU= = 1.
A des fins de test, ces blocs d'organisation peuvent également être appelés
par le programme utilisateur (SPA/SPB OB-). Il n'est cependant pas pos-
sible de déclencher la mise en STOP par l'appel de l'OB 28 ou le redémar-
rage automatique en appelant l'OB 22!
lHmKwm!
Ies blocs dvorgadsation spéciaux sont programmés par llutilisateuret
appelés automatiquement par le p n w z systéme!
2.2.4 B ï o c s d'organisation a fonctions spéciales
Les OB suivants contiennent des fonctions spéciales. Ils ne peuvent pas
être programmés mais uniquement appelés par 1'utilisateur (ceci s'applique
à tous les OB ayant des numéros entre 40 et 255). Ils ne contiennent pas de
programme STEP5. Les OB à fonction spéciale peuvent être appelés au sein de
tous les blocs OB, PB, FB, FX, SB.
lHmwmT!
h s opérations complémentaires ainsi que les opérations système pewent
exclusivement être prograndes dans les blocs fcmctionnels.
5 mots
En-tête
Programme
utilisateurSTEP 5
llmxbwT!
Pour les blocs fonctionnels, il faut distinguer entre
b r s de l ' a ~ ~ ed'un
l bloc par un autre bloc (OB, P B , SB, FB, FX), les
opérandes formels sont remplacés par des opérandes actuels: le bloc fonc-
tionnel se trouve paramétré.
MH)nCBKII!
U s blocs fonctiarnels élaborés par llutilisateurdevraient être mmiéro-
tés & façon décroissante à partir üu FB 255 afin de ne pas se recatper
avec les blocs faictionnels standard portant les znmaéros de FB 1 à
FB 199.
E = paramètre d'entrée
A = paramètre de sortie
D = donnée
B = instruction
T = temporisation (TIMER)
Z= compteur
D KH pour un nombre
hexadécimal jusqulà
4 digits
KC pour 2 caractères
alphamériques
KF pour un nombre à
virgule fixe de -32768
à +32767
KG pour un nombre à
virgule flottante
lHmR!mm!
En cas de modification de l'ordre ou du nombre des opéraudes f d s
dans la liste des paramètres du bloc, il est nécessaire de modifier
également les ïnstruçtiais de substitution du programme SEP5 du bloc,
ainsi que la liste de paramétrage dans le bloc appelant!
llwamwr!
il est recannandé de toujours programmer e t modifier l e s blocs fcmctioa-
nels sur la disquette ou sur l e disque dur e t de l e s transférer ensuite
dans l'automate p.mggr-ble!
NOM: EXEWïi?
DESIG: ANNE E/A/D/B/T/Z: E BI/BY/W/D: BI
zT
DESIG: MARC E/A/D/B/T/Z: E BI/BY/W/D: BI Liste des paramètres
DESIG: JEAN E/A/D/B/T/Z: A BI/BY/W/D: BI de bloc
T - e STEP5
;.- =JEAN
t
Opérandes
formels
Type du
paramètre
Format de paramètre
2.3.3 Appel et paramétrage de blocs fcmctïormeïs
Chaque bloc fonctionnel peut être appelé autant de fois que vous le désirez
et à des endroits quelconques au sein du programme utilisateur STEP5:
Tandis que le programme STEP5 d'un bloc fonctionnel est toujours écrit sous
forme de liste d'instructions, les appels de blocs fonctionnels peuvent
également avoir lieu dans une représentation graphique ( U X ou CONT).
- Appel conditionnel (SPB FBn pour blocs fonctionnels ou BAB FXTi pour
blocs fonctionnels étendus) :
Les opéraides actuels peuvent être différents pour chaque appel: par
exemple, entrées et sorties lors du premier appel du FB200 et des mémen-
tos lors du deuxième appel.
NOM
ZU-E
RME
ESB
UEZ
ZEIT
ZU-A
B U
ZSL
Opérandes Opérandes
formels actuels
FB 201
NOM: EXEMPLE
DES: ANNE E/A/D/B/T/Z : E BI/BY/ü/D: BI
DES: MARC E/A/D/B/T/Z: E BI/BY/W/D: BI Liste des paramètres
DES: JEAN E/A/D/B/T/Z: A BI/BV/ü/D:BI de bloc
::
:= =JEAN
progrme smp5
t
Opérandes Type de
formels paramètre
Format de paramètre
PB25
: SPA FB 202
NOM : EXEMPLE
ANNE: E 13.5
MARC: M 17.7
JEAN: A 23.0
II
Opérandes Opérandes
formels actuels
ZIorsque vous achetez des blocs fonctionnels standard, veuillez tenir compte
des remarques particulières contenues dans la description afférente (zones
occupées, conventions, etc.).
Nombres limites:
Radical
Racine carrée
Fonction Y = )TA
Y = SQRT; A = RAD1
Amel du bloc fonctionnel FB 6
: SPA FB 6
NOM : RAD:GP
RAD1 : DD 5
J : D 15.0
SQRT : DD 10
DD = m t -donnée double
- B l o c fonctionnel FB O
lnJmmva!
Ie FB O ne devrait par conséquent être utilisé que pour prq,--r le
traitement cyclique! (Il ne doit pas ccmtenir de paramètres).
Etant donné qu'un bloc fonctionnel permet d'utiliser l'ensemble des opéra-
tions du langage STEP5, la programmation du FB O à la place de l'OB 1 se
prête plus particulièrement au cas où vous désireriez exécuter un pro-
gramme court, à temps critique.
- un en-tête de bloc
- un corps de bloc
lmoR!Mm!
En transférant un bloc de données sur la disquette à partir de l'atrtamate
ou de la c a r t m x h EPRCBI, le bloc étiquette correspodant est effacé. C'est
pourquoi il ne faut jamais modifier, dans l'automate un bloc de h é e s
contenant des formats de daniees différents et le retransférer ensuite sur
la disquette, sinni tous les mots de dannées de ce DB sont autunatiquement
pourvus du format de dormées que mxis asez sélection& dans le niasque de
préréglage.
- l'identification du bloc
- l'identification de la console de programnation
- le numéro du bloc
- le numéro de bibliothèque
- la longueur du bloc (y compris la longueur de l'en-tête).
I Mots de donnees
m-!
h s blocs de damées DB O, DB 1, DB 2 et DaL O sont r é s e h à des fonc-
tions déterminées et ne peuvent dom: pas être utilisés lib-t (cf.
chapitre 2.4.4.)!
KM configuration binaire
=
KH nombre hexadécimal
=
KY octet
=
KF = nombre à virgule fixe
KG = nombre à virtde flottante
KC = caractère
KT = valeur de temporisation
KZ = valeur de comptage
ZL = affectation suivant liste
d'assignation
(pas avec le logiciel S5DOS)
Im'Orn!
L1intrcductionde mots de donnees ne sera pas tenninée avec l'ins-
truction de fin de bloc -BEw!
2.4.3 Appel de blocs de damées
L'accès aux données enregistrées dans le bloc de données owert est réalisé
lors de l'exécution du programme au moyen d'instructions de chargement et
de transfert:
llnmmm!!
- Avant d'accéder à un mot & donnée, il faut appeler le bloc de damées
concerné dans le programne d'applicatiai, pour que le processeur puisse
retrouver le mot & donnée correct! Ie mot & donnée adressé doit être
contenu dans le bloc ouvert, sinai le progranme système décèle une erreur
de transfert dans le cas & l'instruction T k ou il charge des vaïeurs
aléatoires dans le cas & l'instruction L k.
brsqu'un autre bloc de données est alors appelé dans ce nouveau bloc code,
celui-ci est unimement valable dans le bloc code appelé (PB 20). Après le
retour dans le bloc code appelant, c'est de nokeau l'ancien bloc de don-
nées qui est valable.
llawmmr!
Un bloc de données owest conserve sa validité jusqu'à ce
/// validité du DB 10
\\\ validité du DB 11
Figure 2-11 : Validité d'un bloc de données appelé
2.4.4 B l o c s de h é e s spéciaux
Automat~sm Commande de la
réquenliel
séquenlielle
\
w
SPA PB 'C'
Exemple 3-2: Or~anisationdu Dronramme utilisateur suivant la structure de
l'installation
SPA PB '' Y -
llmmlwr!
n est possible d'imbriquer 62 blocs. Rans le cas où il ya plus de 62
niveaux d'imbrication, le processeur sipnale un défaut.
OB 1 PB 5 PB 20
A DB30
A 0820
SPA PB20
SPA PB5
,* SPA FB30
2291 *
BE BE 4 BE
9; Adresses de retour
Toutes ces données sont reportées dans la pile de blocs (BLPILE). Cette
pile est chargée par le bas: la première introduction correspond à l'élé-
ment 62 de la BLPILE, la deuxième introduction à l'élément 61, etc...
Lorsque le bloc appelé est totalement traité et que le retour dans le bloc
appelant a été effectué, toutes les introductions correspondantes sont
effacées.
Niveau de
traitement
programme 4
/
3
2 0813-PB131-FB131
/OB2 - FB21
/'
Profondeurd'imbrication 1 2 3 4 5 6 7 8 9
Elément de BLPILE 62 61 6O 59 58 57 56 55 54
Tous les blocs programmés sont mémorisés dans la cartouche RAM en ordre
quelconque. Dès qu'un bloc est modifié, l'ordre des blocs dans la mé-
moire se trouve également modifié :
PB1
Cartouche RAM ou
P02 EPROM
FB1
DBl
SBU
OB1
Temps de cycle
La mémoire image est une zone mémoire dont le contenu est acquis et émis,
qu'une fois par cycle.
RlKxDwr!
ïa mémoire image n'existe que pour les octets d'entrées et de sorties
adressés en périphérie P de O à 127!
Mémentos de coupLage
I1I i i
OB1 OU FBO
Armement du chien
degarde
Actualisation
mémentosde cou- PB 20
plaged'entrées
Acquisitiondes
entrées (MIE)
Appel du OBIIFBO
Appel du PB 20
BE
1
Emiçsiondessorties
(MIS)
Actualisation
mémentosde cou-
plagedesorties
\I
Programmesystème Programmed'application
La majorité des opérations STEP5 sur mot utilisent, comme source pour
les opérandes et comme destination pour les résultats, deux registres
(32 bits): l'accumulateur 1 (ACCU 1) et l'accumulateur 2 (ACCU 2).
Exemples:
- lors des opérations de changement, l'accu 1 est toujours utilisé corne
destination. L'ancien contenu de l'accu 1 est transféré dans l'accu 2
(empilage). Les accumulateurs 3 et 4 ne sont pas utilisés pour les
opérations de chargement.
- les instructions 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 con-
tenu de l'accu 3 dans l'accu 2 et celui de l'accu 4 dans l'accu 3
(dépilage).
- en additionnant une constante au contenu de l'accu 1 (ADD BF/KF), les
accus 2, 3 et 4 ne sont pas modifiés.
Indicateurs de résultat
Bit 7 6 5 4 3 2 1 O
ETAT Etat
Indique, dans le cas des instructions sur bits, l'état logique du
dernier bit testé ou commandé. "Etatl'est actualisé lors des opéra-
tions combinatoires sur bits - sauf U(, O(, ) , O - et des opérations
de mémorisation.
OR Ou
Indique au processeur que les combinaisons ET suivantes doivent être
traitées avant une combinaison OU (ET avant OU).
Indicateurs dvopératians sur mots:
OV Overflow (dépassement)
Signale le dépassement de capacité de format de données retenu pour
1 'opération arithmétique qui vient d' être exécutée.
OS Overflow mémorisé
Le bit de dépassement est mémorisé. Il signale qu'il y a eu dépassse-
ment de capacité dans une suite d'opérations arithmétiques.
FLl et FLO
Indicateurs codés de résultat:
Décalage:
dernier bit
décalé
Des opérations de saut sont disponibles pour une exploitation inmédiate des
indicateurs (voir chapitre 3.2.2).
3.2.1 opérations de base
(programmables dans tous les types de blocs)
1 Fermer la parenthèse
Il ( Opération ET d'expressions entre parenthèses
0 ( Opération OU d'expressions entre parenthèses
O Opération OU de fonctions ET
U Combinaison ET
O Combinaison OU
S Mise à 1 (SET)
R Mise à O (RESET)
-
- Assignation
L Charger
T Transférer
L Charger
T Transférer
L Charger
! = Comparaison: égalité
>< Comparaison: inégalité
> Comparaison: supérieur à
>= Comparaison: supérieur ou égal à
< Comparaison: inférieur à
<= Comparaison: inférieur ou égal à
Adresses -
croissantes i
31 23 15 7 O
O O 1 j j +1 ACCU 1
I f
31 23 15 7 O
Octet de
droite O O O i Accu 1
I l p
Octet de
gauche
I
i 1 31 15
I
O
O k Accu 1
1
I 1+1 Accu 1
I
1+ 1
Dans la mémoire, les mots ou double mots sont organisés dans le sens des
adresses croissantes en commençant par les octets ou mots de poids fort.
b r s du changement d'un octet ou d'un mot, les bits non utilisés de lrac-
cumulateur sont mis à zéro.
Les opérations de chargement n'ont aucune influence sur les indicateurs.
Les opérations de transfert effectuent une remise à zéro du bit OS. Le
résultat des instructions de comparaison est donné par le RLG et les indi-
cateurs FL1 et F U . La comparaison est toujours effectuée entre les con-
tenus des accus 1 et 2 (voir les exemples et la liste des opérations).
1. directement:
avec L/T PY, PW, QB, QW ou
Ia mémoire image est située dans une zone dont le contenu nrest.émisà la
périphérie (mémoire image des sorties MIS) et acquis de la périphérie
(mémoire image des entrées MIE) qu'une seule fois par cycle. On évite ainsi
que le changement d'état fréquent d'un bit pendant un cycle, provoque un
battement de la sortie correspondante.
- Il existe une mémoire image des entrées/sorties pour les 128 octets
d'entrées et les 128 octets de sortie (adresse de O à 127).
- -
Un même châssis d'extension ne peut renfermer que des cartes de la péri-
phérie P, ou que des cartes de la périphérie Q.
Bit no
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
\ A A A A /
1 1 I
1O2 10' 1O0
I l
Facteur en code BCD 0...999
1 temr;Sd:s
non uti-
Facteur 127
lisés
I L /
non uti- \ /
1
lisés
Valeur de comptage 127
Exem~les:
Facteur
r-------'-----"
/ .
I
L,,-------,-----
9 O Cellulede
0 temporisation T 10
r-"--'-----"-- V
I "O" 9 0 ACCU
L--,-,----------
Valeur de comptage
/ \
r---'-----------
I
L---------,-----
"O" 9 O Cellule de comptage Z 10
r----------""- 0
I
L-------------,,
"O" 9 0 ACCU
1 - - - - 1 2 - - - -
I
L---- ---- O Cellule de
n n
U'
I I
temporisation T 10
* BCD
r---- ACCU
1
L----
"O" 13 12 11 8 7 4 3 0
Valeur de comptage
I
/ \
I I
Binaire * BCD
r---------
0
I "O" 11 8 7 4 3 0 ACCU
L,-,,-----
I I
Opérations arithmétiques
après:
e Appels de blocs
-- -
BE Fin de bloc
BEB Fin de bloc conditionnelle (uniquement lorsque
RU: = 1)
BEA Fin de bloc absolue
e Opérations nuiles
1 Paramètre
-- ---
Opération Fonction
e Instruction d~arrêt
Combinaison ET
U E 1.1 ~ 3 ~ 1 . 7 MY
U E 1.3
u E 1.7 H H H
= A 3.5 A3.S
La sortie A 3.5 est à I'état " 1 " quand toutes les entrées sont simulta-
nément à I'état "1".
La sortie A 3.5 est à I'état "0" quand une des entrées au moins est A
I'état "0".
Le nombre des entrées e t l'ordre d e leur p r o g r a m m a t i o n est quel-
conque.
Combinaison W
O E1.2
E 1 2 1.7 1.5 O E 1.7
O E1.5
= A 3.2
A3 2
A3.2
La sortie A 3.2 est a " 1" quand une entrée au moins est à I'état " 1 ".
La sortie A 3.2 est b I'état "0" quand toutes les entrées sont simulta-
nément à l'état "0".
Le nombre des entrées e t l'ordre d e leur p r o g r a m m a t i o n est quel-
conque.
B8577633-01
Combinaison E 3 avant OU
El5 €16
AJI
€14 tlJ
U E 1.5
O
U
U
1.6
E 1.4
E
1.3
= A3.1
El4 ElJ
~ 1 ~ 1 6 r A J ~
:!:a
E l b
AJI
La sortie A 3.1 est à I'état " 1 " quand la sortie d'une combinaison ET au
moins est à I'état " 1 " .
La sortie A 3.1 est à I'état "0" quand aucune des sorties des cornbinai-
sons ET n'est à I'état " 1 ".
Combinaison ûü avant ET
€61 a-1
O €6.2
O E 6.3
I A?!
= .A 5.1
r21 AI 1
Ca sortie A 2.1 est a I'état " 1 " quand l'entrée E 6.0 ou l'entrée E 6.1 est
l'une des entrées E 6.1 ou E 6.3 sont à " 1 ".
La sortie A 2.1 est à I'état " 0 " quand I'entrée E 6.0 est à "O" e t que la
sortie de la combinaison ET est à I'état "0".
a Opérations ccmbïnatoires (suite)
Combinaison CU avant ET
-- .- -.- -. .- -..---- -- - --
Exemple Representation STEP 5
LIST CONT LOG
- --
tld 115 t l o t?l 1l4270r~31
O
UI E 1.4
O E 1.5 El5 €21
I
.VI € 2 0 8.1
€21 A30
O E 2.0
O €2.1
I
= A 3.0
A 30
La sortie A 3.0 est à I'état " 1" quand les sorties des deux combinaisons
OU sont à I'état " 1 . "
La sortie A 3.0 est à I'état "0" quand aucune des sorties des combinai-
sons OU n'est à I'état "1".
A30
La sortie A 3.0 est à I'etat " 1 " si, e t seulement si l'entrée E 1.5 est à " 1"
(contact fermeture actionné et quand l'entrée E 1.6 est a "O" (contact
à ouverture non actionné).
e Opérations de m é m > L i s a t i a i
U E 2.7
El4F2.1 S A 3.5
R A 3.5
AJS
L'état "1" sur I'entrée E 2.7 provoque la mise d " 1 " d e la mémoire (état
" 1 " sur la sortie A 3.5).
Si I'entrée E 2.7 passe d I'état "O", I'état de la sortie reste inchangé, c'est-
a-dire reste mémorisé.
L'état "1" sur I'entrée E 1.4 provoque la remise d zéro d e la mémoire
(état "0" sur la sortie A 3.5).
Si I'entrée E 1.4 passe d I'état "O", l a sortie reste inchangée.
Lorsque les deux entrées sont d " 1 " simultanément (E 2.7 e t E 1.4), alors
la derniére entrée prograrnée est prioritaire (ici E 1.4) e t ce, pendant le
traitement d u reste d u programme.
B8577633-01
U E 2.6 €1.6 M l 7
S M1.7
M 1.7
MI7
L'état " 1" sur I'entrée E 2.6 provoque la mise a " 1" de la mémoire.
Si I'entrée E 2.6 passe à I'état "O", I'état de la sortie reste inchangé, c'est-
a-dire reste mémorisé.
L'état "1" sur I'entrée E 1.3 provoque la remise à zéro de la mémoire.
Si I'entrée E 1.3 passe a I'état "O", la sortie reste inchangée.
Lorsque les deux entrées sont à "1" simultanément (E 2.6 e t E 1.3), alors
la derniére entrée programmée est prioritaire (ici E 1.3) e t ce, pendant le
traitement du reste du programme.
B8577633-O1
7- N O M2q
U.
UN
=
E 1.7
M4.0
M2.0 Hf+#
U M2.0
S M4.0
UN E 1.7
R M4.0
hi20
ri nnnnn
Ma0 nnnnn
M20 u
A chaque front montant sur l'entrée E 1.7, le résultat de la combinaison
ET (U E 1.7 et UN M 4.0) est " 1 " du fait de RLB = " 1 ", les mémentos M4.0
("mémento de front") et M 2.0 ("mémento d'impulsion") sont mis 8 "1".
Au cycle suivant, la combinaison ET n'est pas réalisée étant donné que le
mémento M 4.0 est3 " 1".
Le mémento M 2.0 est remis 8 zéro.
Le mémento M 2.0 est donc à l'état "1" pendant un seul cycle de pro-
gramme.
e Opérations de temporisation
Impttsw
U E 3.0
- - ) - - -T I AW 2 AW 2
A4.0
A4.0 A40
Al0
K T 10.2 :
La temporisation est chargée avec la valeur 10.2 (10 = facteur) le chiffre ES- n
. ,
se trouvant a droite du point indique la base de temps. r 4 n h
O=O.Ols 2 = l s -IrL
l=O,ls 3=10s
U E 3.1
A4.1
A4.1 A4.1
Le RLG des instruct1i:iris UT (ou OT) est " 1" durarit l'écoulement de la
temporisation
(€0 151 (€0 161
EW 1 5 :
M o t contenarit la valeur de temporisation codée BCD L'opérande peut
ëtre E. A, M ciu D (daris l'ensemble . mot d'entrée 15)
IncrCmsnt Valeur
da temps de temporisicion
Retard à La montée
.-
Exemple Representation STEP 5
LIST CONT LOG
u E 3.5
-4---
13
A4 2 A4 2 A42
Le RLG des instructions UT (GJ OT) est " 1 " quand la temporisation.est
écoulée e t aue l'entrée E 3.5 est encore a "1".
KT 9.2 :
La temporisation est chargée avec la valeur 9.2 (9 = facteur; le chiffre se
trouvant A droite d u point indique la base d e temps).
O=O.Ols 2 = l s
l=O,ls 3=10s
e Opérations de temporisation (suite)
I CONT
I LOG
I I I
La temy)cirisation est lancée lorsque l'instruction se présente pour la
premiere fuis après le passage B " 1 " du RLG de UE 3 3
Le RLG des iristructions UT (ou OT) est à " 1 " quarld le temps est écoulé. II
ne repasse à "0" que lorsque la temporisation a été remise B zéro par la
fonction R T (entrée E 3 2 B "1").
l CONT
l
La temporisation est lancée lorsque le RLG UE 3 4 passe de " 1" à "O". Elle
s'écoule pendarit le temps programmé
Lorsque I'eritrée E 3.4 repasse à " l " , la temporisatlori est remise à zéro.
Le RLG des instructions UT (ou OT) est " 1 " durant l'écoulement de la
temporisation- quand l'entrée E 3.4 est à " 1 "
B8577633-01
O Opérations de comptage
€4 1 EWM U E 4.1 21 Z1
L EWZO
ILI
DE
40
w binaire
16 b
A? 4 Er 2 A2 4
U E 4.0
ZR Z 1
E40@
binaire
ZA 16b
Opérations de conparaisun
-
Exemple Reprksentation STEP 5
LIST CONT LOG
Fi 4 EBN-J-I
L €819
I= = F A
L 3.0
€620
A30
L-191BEfB2O EBZO O -130
AS0
RLG = " 1 " : si l'égalité est verifiée : accu 2-L = accu 1-L
RLG = "0" : si l'égalité n'est pas vérifiée : accu 2 - L t accu 1-L.
y,
Exemple Représentation STEP 5
LIST CONT M C
4
L EB21
L OWS
>< F
EBZITL
= A3.1
A3.1
DW3 22 ow3
EBZ~]-~ ~3.1
A3.1
Les instructions étendues ne peuvent être utilisées que dans les blocs
fonctionnels (FB et EX). L'ensemble des opérations pour les blocs fonction-
nels comprend les opérations de base et les opérations étendues.
Dans ce qui suit, sont décrites les opérations étendues utilisables unique-
ment dans les blocs fonctionnels.
Opération Description
Opérations de mém,risatiai
Opération Description
Opération Description
RLG
pour SI T
RLG
pour F T
Structation
pour U T
Exemples
:SPb FB203
NOM : EXEMPLE.
ENT1 : E 10.3 :U =ENTl :U E 10.3
TEM1 : T 17 :L KT 010.2 :L KT 010.2
Son1 : n 18.4 :sSV =TEMI :Ss T 17
:U =TEMI T 17
:= =SORI .-
.:II nia.4
:spn ~ ~ 2 0 4
NOM : EXEMPLE
ENTZ : E 10.5 :U =ENT2 :U E 10.5
ENT3 : E 10.6 :SSV =COMP :ZV 2 15
ENTQ : E 10.7 :U =ENT3 :U E 10.6
COMP : Z 15 :SAR =COMP :ZR 2 15
MEMl: il 5 8 . 3 :U =ENT4 :U F 10.7
:L K2lOO :L KZ10o
:SVZ =COMP :S 215
:UN =COMP :UH 2 15
:= =MEMI := H 58.3
:sPn FBZOS
NOM : EXEMPLE.
€NT5 : E 10.4 :U =ENT5 :U E 10.4
TEMZ : T 18 .' :L =MENT :L EU20
MENT : EU20 :SVZ =TEM2 :SV T 18
MEMZ: t i 100.7 :U =TEM2 :U T 18
:= =MEM2 = HlU0.7
Opération Description
Opération système
Exem~le
L KF 30 30 a c d
L KF 3 3
€NT 3 30
L KF 4 4
'F 12
+F 42 c
L KF 6 6
IF 7
Opération système
ûpération Paramètre Description
Opération système
2, La progrananation dépend du type de console et de la version du logiciel
système
Opération Description
LEW2
Combinaison ET de EW 2 et EW 1
UW Résultat EW 1
a Opérations de saut
lmcm!mr!
U s instructions de saut et la destination du saut doivent se situer dans
un même segment. Une seule adresse symbolique de destiriatiai est airtorisée
par =gment.
Exceution : Ceci n'est pas valable pan l'instruction Sm,dont le para-
mètre correspond A la distance absolue de saut.
Opération Description
Opération système
Opération Description
SLW O à 15 Décalage d'un mot (16 bits) vers la gauche (à droite, les
positions libérées sont remplies avec des zéros).
SRW O à 15 Décalage d'un mot (16 bits) vers la droite (à gauche, les
positions libérées sont remplies avec des zéros).
SVW O à 15 Décalage d'un mot (16 bits) avec signe vers la droite
(à gauche, les positions libérées sont remplies avec le bit
15).
Exemples
KH = 14AF
KH = 4AFO
:L MM10
:SUJ 3
:T MM10 Attention: ne pas dépasser la li-
mite du domaine positif!
:A DB5
:L DWO
:SRW 2
:T DWO
B8577633-01
e Opérations de cormersiai
Opération Description
DEF Conversion BCD - binaire d'un nombre à virgule fixe (16 bits)
DUF Conversion binaire - BCD d'un nombre à virgule fixe (16 bits)
DED Conversion BCD - binaire d'un double mot (32 bits)
DEF:
La valeur contenue dans l'accu 1-L (bits O à 15) est interprétée comme
étant un nombre codé en BCD. Après la conversion, le contenu de l'accu 1-L
est un nombre de 16 bits à virgule fixe.
DOF:
La valeur contenue dans l'accu 1-L (bits O à 15) est interprétée comme
étant un nombre de 16 bits à virgule fixe. Après la conversion le contenu
de l'accu 1-L est un nombre codé en BCD.
A
DEF
S S S S
S = signe : O = positif
1 = négatif
DED :
La valeur contenue dans l'accu 1 (bits O à 31) est interprétée comme étant
un nombre codé en BCD. Après la conversion, le contenu de l'accu 1 est un
nombre de 32 bits à virgule fixe.
m:
La valeur contenue dans l'accu 1 (bits O à 31) est interprétée conmie étant
un nombre de 32 bits à virgule fixe. Après la conversion, le contenu de
l'accu 1 est un nombre codé en BCD.
A
DED
S S S S
S = signe : O = négatif
1 = positif
FDG:
La valeur contenue dans l'accu 1 (bits O à 31) est interprétée comme étant
un nombre de 32 bits à virgule fixe. Après la conversion, le contenu de
l'accu 1 est un nombre à virgule flottante (exposant et mantisse).
GFD:
La valeur contenue dans l'accu 1 (bits O à 31) est interprétée comme étant
un nombre à virgule flottante. Après la conversion, le contenu de l'accu 1
est un nombre de 32 bits à virgule fixe.
ûpération Description
D 1 à 255 Décrémentation
1 1 à 255 Incrémentation
ûpération Description
1nsc;ire
1'opérande
formel
Fonction syst&ne
2, La valeur qui se trouve dans la donnée système ou dans l'opérande formel
est interprétée en tant que code opération STEP5 qui est ensuite exécu-
té. Opérations admissibles tout comme pour B MW et B DW.
- toutes les instructions codées sur deux et trois mots, cf. également
annexe D (sont admises E DB, EX DX, SES, SEF, AX DX, BA FX et BAB FX),
Les contenus des mots de données DW 20 à DW 100 doivent être mis à "OW.
Le registre d'index pour le paramètre des mots de données est DW 1.
:B MW5
+ distance +:SPA =MO00 Mot de mémentos MW 5 :
de saut
+>:SPA
:SPA =MO01
:SPA =MO02
=MO03
:SPA =MO04
..
u Distance de saut
max. k127
..
MO00 :
..
:BEA
MOOl: . Avantage :
. O Tous les sous-programmes se
:BEA trouvent dans le même bloc.
M002: ,
..
:B U
Ces instructions peuvent par exemple être utilisées pour inhiber le traite-
ment d'alarmes pendant le traitement d'un programme déclenché par horloge.
Dans la partie du programme, se trouvant entre les instructions AS et Aï?,
le traitement des alarmes process n'est alors plus possible.
e Autres opérations
Opération réussie?
oui non
Accès à la mémoire
commune protégée
par le sémaphore
I
Libérer le sémaphore : SEF
I
( Fin ) < +
I
En utilisant les instructions SES et SEF, il est garanti à un processeur de
v o i r transférer vers/de une zone mémoire un ensemble cohérent d'informa-
tions, sans être interrompu par un autre processeur.
lmomAm!
processeins qui doivent accéder & façon ..
U s instzuctians SES xx e t SEF xx doivent être ut5lïsées par tais les
aimezonememoire
cammune (adresses > POOOH).
COR:
Coordinationde l'accès sur lazone 1O
ài'aide du sémaphore 10
I l
Zone 1O
(p. ex. QW6)
- +
SES 10
SEF 10
Demande du droit d'accès à la zone 10
Demande accordée par COR au processeur 3
Accès auxdonnées de la zone 1O
Restitutiondei'autorisation d'accès
Avant chaque positionnement ou libération d'un sémaphore donné, les ins-
tructions SES et SEF contrôlent l'état de ce sémaphore.
Les indicateurs FLO et FL1 sont alors influencés :
lHmKmm!
ïe processus & test d'un sémapbre (= processus & lecture) et le pro-
cessus & positiamenient ou & libération du si%uzpkrre (= processus d'écri-
ture) forment un m. Durant ces opérations, auam autre processeur ne
peut accéder à ce sémaphore et le kis S5 n'est pas disponible p m r un antre
processeur.
- Les instructions SES et SEF doivent être utilisées par tais les pro-
cesseurs dont l'accès à une zone mémoire commune doit être coordonné.
Le programme suivant peut être traité dans les quatre processeurs mais avec
une signalisation différente :
O POSITIONNER LE SEMAPHORE
Ï PROGRAMME PRINCIPAL
l SORTIR IA SIGNALISATION
LIBERER LE SENAPHORE
:UN E 0.0
:BEB
:BE
NOM :SIGNAL
:L KHOOOO
:T MB 10 Mettre à "O" tous les mémentos
:BE ainsi que le mot de signalisation
NOM :SPIASET
NOM : SORTSIGN
Transférer la signalisation
dans le mot de périphérie
NOM : SEMARESE
Etat STOP
Etat DEMARRAGE
Exemple:
STP
KF'lLE
DAD
lTPlLE
DCO
WlLE
CYC
. iTPlLE =
CYC imagesdes
niveaux
CYCLE
ALARMES D'HOrnES
ALARME REGULATEUR
ALARME PROCESS
- h niveau de traitement de défaut activé mais qui n'est pas encore entiè-
T
rement traité, ne peut pas être activé de noweau, même lorsqu'un autre
niveau de traitement de programme a été imbriqué. Dans ce cas, l'aiaamate
el-- passe directement à l'arrêt (état SIDP) en raison de l'appel
double d'un niveau de traitemmt de programme (dans la pile d'inter-
ruptions: WXIB"). L'indicatif 'WUB' et le niveau de traitement qui a
été activé une deuxième fois sont marqués d'une croix dans l'ITPILE,
'Prof.01'.
Exemple 1:
'STOP
.... Erreur d'adressage
Exemple 2:
STOP
.'.
'\
-..
".,,~rreurde code op6ration
DPT
DCO
CYC
- Le signal BASP (inhibition des sorties) est émis. Ainsi toutes les sor-
ties TOR sont verrouillées.
La LED STOP peut indiquer quelles sont les causes éventuelles de l'état
STOP actuel. Lorsqu'elle est allumée en feu fixe ou lorsqu'elle clignote,
ceci peut avoir une signification précise qui est expliquée dans ce qui
suit.
en fonctionnement nwnoprocesseur :
en fonctionnement ml tiprocesseur :
ïa IED SrOP clipnote lentement : (environ 1 fois toutes les deux secondes)
lmcmAJn!
Sillon renonce à llexécutionde l l e f f a m t général que l'on vient de
-der, on choisira -tenant un mode de 8' , ge-
llmmmn!!
Après avoir effectué un effacemnt général, la seule possibilité de mise en
marche est le dhamarze!
Pour quitter l'état STOP : - choisir un mode de démarrage (cf. chap. 4.3)
- effectuer un effacement général puis un
'démarrage'
- effectuer une marche de test en fonctionne-
ment multiprocesseur, voir chapitre 10.5)
4.3 Mode de fonctionnement DEMARRAGE
L'état de fonctionnement DEMARRAGE est caractérisé par les points sui-
vants :
- Le démarrage est le passage de l'état STOP à l'état RUN.
- Il y a trois modes différents de démarrage : le démarrage, le redémar-
rage manuel et le redémarrage automatique.
Après le démarrage, le traitement cyclique du progrme utilisateur est
repris au début. Après un redémarrage, le traitement de ce programme est
repris à l'endroit où a eu lieu l'interruption.
- Pour chacun des trois modes de démarrage, le programme système appelle
un bloc d'organisation spécifique dans lequel il est possible d*inclure
un programme de démarrage bien défini. La langueur du programme STEP 5
dans ces blocs est illimité. Il n'y a pas de surveillance du temps de
cycle. Il est possible d'appeler d'autres blocs à partir des blocs de
démarrage.
Remarque :
Les indications concernant le "comportement au démarrage en fonctionnement
multiprocesseur" sont données dans le chapitre 10.4.
IBFamm!
Un redémarrage manuel at autanatique n'est admissible que lorsque le pro-
gramiie d'application n'a pas été modifié au cours & l'arrêt.
4.3.1 Démarrage et redemglcge manuel
Ordre
-m&P
Commutateur à rappel automa- Commutateur à rappel autom.
ment : tique sur RESET et commutateur en posit. médiane et commuta-
de mode de STOP sur RüN teur de mode de STOP sur RüN
ou : ou:
Fonction console START AG Fonction console START AG
(démarrage) (redémarrage manuel)
ou:
Remise sous tension, si le
DX O est paramétré avec "dé-
marrage automatique" (avec
RFSET)
Opérations
effectuées
par le progr.
système :
1
- Appel de l'OB 20
(si disponible) I - Appel de l'OB 21
(si disponible)
- Synchronisation du démar- - Synchronisation du démar-
rage en fonctionnement rage en fonctionnement
multiprocesseur multiprocesseur
Dérrage : propumation du bloc d'organisation OB 20
OB 22 : STP (STOP)
: BE (fin de bloc)
Lorsque le démarrage interrompu doit être repris au moyen de l'un des trois
modes de démarrage, il faut tenir compte des points suivants.
STOP par cammtateur & mode en cours & démarrage et redémarrage manuel.
ultérieur
- Le signal BASP (verrouillage des sorties) est inactif. Les sorties TOR
sont validées.
llmmxrr!
brsque l e passage à l'état de fonctionnement RDH est précédé d'un redémar-
rage autanatique ou mainiel. la ZED BASP ne s'éteint que Lorsque l e cycle
restant est e x k u t é et que la mémoire image du processus est actualisée.
IHmRmm!
L'état de fmctiainement "NIN" ne peut être obtenu qu'en passant par l'état
de fonctionnement "DEZQWUGEw.
Déclenchement :
Opérations du programne s y s t h :
Interface utilisateur : OB 1 ou PB O
l3mxmm!
Pr- l'OB 1 l e FB O.
b r s q u e vous avez programné l'OB 1 et l e FB O, seul l'OB 1 est appelé par
le systéme. -que w u s utilisez l e FB O en tant qu'interface
utilisateur, celui-ci ne doit pas contenir de paramètres!
Points d'interruption
Remarque:
Les registres de calcul ACCU 1, 2, 3 et 4 peuvent être utilisés en tant que
mémoire de données, au-delà des limites du cycle, de la fin d'un cycle de
programme jusqu'au début du cycle suivant.
interfaces utilisateur: OB 10 à OB 18
L'OB 13, par exemple, contiendra le programme qui devra être inséré toutes
les 100 m s dans le programme cyclique.
CYCLE
A u R M F s D'HORLOGE
AlARME REGUIATEUR
AlARME PROCESS Priorité croissante
La priorité des différentes alarmes d'horloge est également fixée:
OB 11
OB 10 (période la plus courte) ' Priorité croissante
lHKwwm!
Ies OB correspondant aux périodes courtes sont plus pdodtaires et peuvent
interraqre les OB correspaidant aux périodes plus loogues!
Endroits d'interruption
L'OB 12 (appel toutes les 50 ms) est appelé durant l'exécution de l'OB 14
(appel toutes les 200 ms). L'OB 14 est interrompu à la prochaine fin de
bloc ou d'instruction pour le traitement de l'OB 12. Ce n'est qu'après le
traitement complet de l'OB 12 (éventuellement interrompu par une alarme
régulateur, une alarme process, un traitement d'erreur, un OB 10 ou 11) que
le traitement de l'OB 14 est poursuivi et mené à sa fin.
Nota:
- Veuillez noter les nouvelles fonctions spéciales OB 120, OB 121, OB 122
et OB 123 qui vous permettent d'inhiber ou d'ajourner le traitement
d'alarmes d'horloge pour une partie déterminée du programme.
(Ceci est possible pour toutes les alarmes d'horloge programmées ou pour
certaines d'entre elles seulement.)
- Le risque de collisions d'alarme est autant plus grand que la périodici-
té du traitement est plus courte. Le traitement des alarmes d'horloge à
période courte (p.ex. alarmes de 10 ms et 20 ms) devra, par conséquent,
être inséré aux limites d'instructions. Ceci implique que le traitement
des alarmes régulateur et des alarmes process devra également intervenir
aux limites d'instructions (cf. chapitre 7, paramétrage du DXO).
La CPU 928 permet d'exécuter non seulement un programme cyclique et des
programmes déclenchés par alarmes ou par horloge mais permet aussi le
traitement de régulateurs. A intervalles déterminés par l'utilisateur
(= période d'échantillonnage), l'exécution du programme cyclique ou du
programme déclenché par horloge est interrompue et le régulateur concerné
est traité. A la suite de cela, le processeur retourne à l'endroit de
l'interruption au sein du prograrmne cyclique ou déclenché par horloge pour
poursuivre l'exécution de celui-ci.
Déclenchement:
Points d'interruption
Déclenchement:
L'alarme process est déclenchée par l'état actif d'une ligne d'interruption
sur le bus S5. A chacune de cette ligne d'interruptions correspond un
processeur, l'attribution est en fonction de l'emplacement d'enfichage (cf.
instructions de la CPU 928).
Interface utilisateur: OB 2
Points d'interruption
llmxmrr!
L'exécution d'm programme d'alaxm ne ueut rtas être intermmple par mie
alarme d'horloge ou m e autre alarme process.
Conséquences:
- Les alarmes répétées ne sont pas prise en compte.
- Les alarmes qui apparaissent et disparaissent pendant le traitement de
l'OB 2 ne sont pas prise en compte.
- L'OB 2 est appelé même lorsque l'état du signal sur la ligne
d'interruption est redevenu passif à la limite de bloc (voir figure).
L'OB 2 appelé est exécuté complètement. Si, à la fin de l'OB 2, le signal
actif est encore présent, un bloc du programme cyclique est exécuté avant
que l'OB 2 soit de nouveau appelé. Si le niveau actif n'est plus présent,
l'OB 2 ne sera appelé qu'au changement d'état suivant (passage de l'état
inactif à l'état actif).
Signal
(Requête
I 1
mémorisée)
Alarme process
(auxlimites d e bloc)
Cycle 1I 1 T I
Signal
(Requête
I I 1
mémorisée)
Alarme process
(aux limites de bloc)
Inhibition du trai-t dvaïannes
'AS' et 'AF' ne peuvent être programmées que dans des blocs fonctionnels
(opérations complémentaires)!
' Traitement
par horloge
Important!
Pour cela, il faut tenir compte des points suivants lors de la programma-
tion :
- Vérifier que tous les blocs appelés soient effectivement dans la mé-
moire.
En cas d'arrêt intempestif, les LED en face avant donnent une première
indication quant à l'origine du défaut:
Les différents états de la LED STOP renseignent sur les causes d'in-
terruption ou de défaut.
.
ADR DB Adresse de début absolue de ce bloc de données (adresse du
mot de données DW O) dans la mémoire progranime.
NO.B U C .
ADR B U C .
ADR RETOUR . .
ADR REL NO.DB .
ADR DB
Dans l'exemple ci-dessus, l'arrêt s'est produit dans l'OB 23 lors de l'exé-
cution de l'instruction en STEP5 qui se trouve, dans la mémoire, sous
l'adresse absolue '0064 - 1 = 0063'.
En voici quelques-unes:
Dans tous les cas, il est possible de lire les bits de conmande; à
l'état STOP, la pile des internrptions ITPILE peut être affichée.
4. ACCU 1 et ACCU 2
Lors de l'appel des blocs d'organisation de défaut, le programme système
dépose des informations de défaut supplémentaires dans l'ACCU 1 et
ACCU 2.
Les fonctions on-line "INFO AG" puis "lecture ITPIZE" vous permettent
d'examiner l'état actuel ainsi que les propriétés âu processeur et du
programme utilisateur et d'analyser les causes des défauts et interruptions
éventuelles .
lHKRMm!
La visualisation des bits de c e est possible dans tais les modes
de fcmctiolmement, m a i s 1'lTPlïE n'est a£Eicbée aumenstop
lxeoKmn!
Ie texte affiché à l'écran & mtre console de programmation peut différer
quelque peu du texte ci-dessats. La description des différentes positions
sur l'écran, telle qu'elle est présentée i c i , reste valable!
BITS DE COMMANDE
DF-STP Stop di? à un défaut: la mise en stop a été occasionnée par MDT
(manque de tension), DPE (périphérie non disponible), BAT
(défaut batterie, BL.P > (débordement de la pile des blocs),
1T.P > (débordement de llITPILE), DOUB (double défaut) ou
défaut du processeur
llmxmwr!
Ie texte affiché à l'écrau de mtre console & prtqY-tim peut différer
quelque peu du texte ci-dessous. ïa desnlptiar des différentes positi<ms
sur l'écran, t e l l e qu'elle e s t présentée ici, reste a l e t
PROFONDEUR: 02
ACCU1: 0000 C464 ACCU2: 0000 OOFF ACCU3: 0000 0000 ACCU4: 0000 0000
ETAT DES
FIAGS: voir chapitre 3.2
STP ProfondeurO1
p Niveau:OO3C
l
VD
p l
Profondeur02
Niveau:O024
ALARME
PROCESS
\
\ Profondeur03
D'HOR-
LOGE
0Niveau:001O
\ Profondeur04
STP
T \
ITPILE
PROF.: 02
ACCU1 :
/ PROF.: 01 1
REG-US: Fd Cm: 1007 ADR-DB: ADR-BA: 0 10 6
:STP
:BE
Dans tous les autres cas de défauts, la CPU se met innnédiatement en STOP
si les blocs d'organisation correspondants n'ont pas été programmés par
l'utilisateur.
lHFmumm!
Ie bloc d'organisation OB 28 constitue me exception : dans ce cas, il y
a touiours passage à l'état Stop, in& t du fait que l'OB 28 ait
été programmé ou non et, s'il a été programmé, idéptz-mt de son
cultenu.
s!cP:
STOP par programme système (pour DF-STP) ou instruction STOP dans le
programme d'application
BL.I3:
Débordement de la pile des blocs (BLPILE)
Profondeur d'imbrication trop Yirportante
DOW:
Le niveau de traitement de progranmie de défaut est activé une deuxième fois
(double erreur; cf. page 4-4et pages suivantes)
DEF-RAH:
Défaut lors de l'initialisation: contenu de la RAM du système d'exploita-
tion ou de la RAM des DB incorrect
DE3.m:
Défaut lors de l'initialisation: contenu de la cartouche utilisateur (car-
touche RAM ou EPROM) incorrect
mm:
Erreur lors de la constitution de la liste des adresses de blocs (DB O)
DEFDBl:
Défaut lors de l'exploitation du DB 1 pour la constitution de la liste
d'adresses destinée à l'actualisation de la mémoire image
DEFDB2:
Défaut lors de l'exploitation du DB 2 de la structure de régulation R64
DEFDXD:
Erreur lors de l'exploitation du bloc de données DXO
(DEFDBO, DEFDB1, DEFDB2 et DEFDXO: voir pages suivantes!)
Erreur lors de la constitution de la liste d'adresses de blocs (bloc de
données DB O)
Codes d'erreur
BS 3 BS 4 1 Explication
m:
STOP par programme système (pour DF-STP) ou instruction STOP dans le
programme d'application
BBT:
Pile de sauvegarde en défaut dans le châssis de base
m:
Coupure de tension dans le châssis de base
DE:
Coupure de tension dans le châssis d'extension
IT.E3:
Débordement de la pile des interruptions (iTPILE)
BI,.-:
Débordement de la pile des blocs (BLPILE)
Profondeur d'imbrication trop importante
mm:
Le niveau de traitement de programme de défaut est ac5ivé une deuxième fois
(double erreur; cf.page 4-4 et suivantes)
DCO:
Code d'instruction erronée 1. erreur de substitution
2 . code opération erronée
3. paramètre erroné
DPT:
Dépassement de temps 1. appel d'un bloc non chargé OB 19
2 . erreur de transfert dans DB OB 32
3. autres dépassement de temps OB 31
MD:
Erreur d'adressage
BCQ:
Retard d'acquittement 1. dans le programme d'application
lors d'un accès à des cartes de
périphérie OB 23
2. lors de l'actualisation de la
mémoire image OB 24
mc :
Dépassement du temps de cycle
>Io0:
Collisions d ' alarmes d 'horloge
REG :
Erreur dans le programme de régulation
Abandon
Chacune de ces causes de défaut est décrite exactement dans les chapitres
suivants.
Lorsque, dans un bloc fonctionnel, une opération doit être exécutée avec un
opérande formel, le processeur remplace cet opérande formel, lors de l'exé-
cution du programme d'application, par l'opérande actuel se trouvant dans
l'appel du bloc fonctionnel.
c) DCO = P d t r e erroné
Lorsque l'appel d'un bloc non chargé est reconnu, le programme système
appelle le bloc d'organisation OB 19. C'est dans l'OB 19 que vous powez
déterminer le comportement ultérieur du processeur. Si l'OB 19 a été pro-
grarmné, celui-ci est appelé et exécuté; le traitement du programme STEP5
est ensuite repris à l'instruction qui suit celle qui a fait l'objet de
l'interruption. Si l'OB 19 n'a pas été programmé, le processeur se met à
l'état STOP dès qu'un bloc non chargé est appelé.
Lors du transfert de données dans des blocs de données (DB, DX), le proces-
seur compare la longueur du DB appelé au paramètre contenu dans l'ins-
truction de transfert. brsque le paramètre indiqué cause un dépassement de
la longueur du bloc de données, l'instruction de transfert n'est pas exécu-
tée afin d'exclure tout écrasement accidentel des données se trowant dans
la mémoire.
Il s'agit là de tous les défauts qui ne peuvent pas être attribués à l'un
des types de dépassement de temps décrits ci-dessus (erreur de transfert ou
appel d'un bloc non chargé).
brsque l'OB 25 n'a pas été programmé, le processeur passe à l'état STOP
dès qu'une erreur d'adressage est détectée à moins que vous n'ayez détermi-
né, dans le bloc de données DX O, la poursuite du programme dans le cas de
cette erreur.
Le temps de cycle est variable (1 à 6000 ms) et peut être prolongé (réarme-
ment du chien de garde) cf. ci-dessus. Indépendamment du temps de cycle
alloué, le signal BASP (inhibition des ordres de sortie) est émis 150 m s
après écoulement du temps de cycle, si, à ce moment, le traitement de
l'OB 26 n'est pas achevé.
Lorsque l'OB 26 n'a pas été programmé, le processeur se met en STOP dans la
mesure où le préréglage dans le DX O n'a pas été modifié par l'utilisateur.
Aucun code d'erreur n'est inscrit dans ACCU 1 ou ACCU 2 lors d'un dépasse-
ment du temps de cycle.
5.6.6 Collision dvnlarmé.ad'horloge el0)
Si un OB d'horloge déterminé est appelé une nowelle fois alors que son
dernier traitement n'est pas entièrement terminé, le programme système
détecte une collision d'alarmes d'horloge et appelle le bloc d'organisation
OB 33. Des renseignements complémentaires vous sont donnés au chapitre
4.4.2 "AIARMES D'HORUX;E1'!
1OOlH
0014H I Collision d'alarmes d'horloge pour l'OB 11 (20 rns)
lOOlH
OoLW I Collision d'alarmes d'horloge pour l'OB 12 (50 ms)
lOOlH
OOIOH I Collision d'alarmes d'horloge pour l'OB 13 (100 ms)
l0OlH
OOOW I Collision d'alarmes d'horloge pour l'OB 14 (200 ms)
lOOlH
O0OcH I Collision d'alarmes d'horloge pour l'OB 15 (500 m s )
lOOlH
OOOAH I Collision d'alarmes d'horloge pour l'OB 16 (1 sec)
lOOlH
lOOlH
ooo8H
0006H
I1 Collision d'alarmes d'horloge pour l'OB 17 (2 sec)
Si l'OB 33 n'a pas été programmé, le processeur se met en STOP. üne pro-
grammation adéquate du DXO permet de poursuivre le traitement: du programme
lors d'une collision d'alarmes d'horloge, même lorsque l'OB 33 n'a pas été
programmé.
MPOnCANT!
Alors qu'une collisim d ~ est détectée par le programme
l dlharioge
système lorsque le traitement d'un OB dlnixniuln'est pas cammencé et achevé
en l'espace de la base de temps (p. ex: 100 ms pan l'OB 131, m e erreur
dans le trai-t du programme de régdatian n'est détectk qu'à l'appel
du niveau de traitement REüUlTCM et indiquée à ce t- dans l1i?EUE.
Lorsqu'une erreur paraît dans le prograxue de régulation, le niveau de
traitement REGULATION est abandonné et le niveau ERREITR DANS REGULATION
(NIVEAU: 001CH) est appelé (bloc d'organisation OB 34).
Dans tous les 7 cas d'erreur, le bit de commande DEF-RE est marqué
d'une croix sur l'écran de la console de programmation. Si vous utilisez
une console sans système d'exploitation S5-DOS, l'avant dernière position
de la ligne inférieur du masque des bits de commande ne porte pas la
désignation DEF-REG mais est cependant marqué d'une croix. Dans le masque
ITPILE du niveau "REGULATIONW,BEG est marqué d'une croix (origine de
1'interruption).
Erreur & période dvéchantïîïamage
Ilmmmm!!
Ie passage à l1état SiDP est du fait qae llOB 28 ait été
p r m ai mni.
Ces fonctions sont désignées par fonctions spéciales intégrées étant donné
qu'elles font partie du programme système. L'utilisateur peut appeler ces
fonctions spéciales sans toutefois pouvoir les lire ou les modifier.
lBlmmmT!
L'inslxuction SPA OB > 39 n'occasionne pas un "vrai" changement de bloc.
Bucrnie nfnrmcl n'est traitée à la limite de bloc!
Les fonctions spéciales peuvent être divisées en deux groupes quant à leur
réaction aux erreurs:
Groupe 1:
Dans ce cas, vous pouvez évaluer le résultat logique (RLG) en tant que
signal pour "erreur" ou "pas d'erreur" et prévoir un programme de réaction
spécialement adapté au cas d'erreur.
Extension de signe
Réglage du temps de cycle
Réarmement du chien de garde
Comparaison des modes de démarrage en fonctionnement
multiprocesseur
Transfert des mémentos de couplage en bloc en fonction-
nement multiprocesseur
Lecture d'un ~notdu programme système
Lecture checksum du programme système
Lecture de l'information d'état concernant un niveau de
traitement de programme
-
1 FL1 1 1 OV 1 OS 1 OU 1 ETAT 1 RU: Il.?
Indicateurs
d'opérations sur MOTS 1 Indicateurs
sur BITS
d'opérations
Paramètres:
') Restriction: -
Les bits indicateurs OU, ETAT et l.? ne peuvent pas être lus car la
fonction spécialeB 110 influence toujours ces bits :
OU+, ETAT=l et l.?=O.
Erreurs mssibles :
- Indicatif de fonction dans l'accu 2-L différent de 1, 2 ou 3
- L'un des bits 28 à 231 est à "1" dans l'accu 1.
Sélecteur de sous-programes:
Suivant le contenu de l'octet de mémentos MBO, l'un des quatre sous-pro-
grammes sera appelé. Les bits MO.0 à M0.3 sont affectés aux quatre sous-
progranunes. Un seul de ces bits peut être à "1" à la fois.
:L Mi30
:SLW 4 ;Décaler MO.0 à M0.3 de quatre bits vers la gauche
:L KB1 ;Chargement de l'indicatif de fonction
:TAK
:SPA OB110
:SPS =MO00 ;Saut si OS = 1
:SPO =MO01 ;Saut si OV = 1
:SPM =MO02 ;Saut si FLO = 1
:SPP =MO03 ;Saut si FLl = 1
..
.. ;si aucun bit n'est à "1"
..
:BEA
Paramètres : néant
Paramètres: néant
31
,---
D é c---------
i
'
alage
O
I
Accu 4 p i c i 4 > 1
1
!
1
Accu 3 1 <Accy 3> /1
1
D é--------
,--- c a l a g_e-
Les instructions STEP 5 ENT (jeu d'opérations étendus) et TAK (opération
système) permettent également de décaler le contenu des accus.
Instruction ENT
Accu 2 pcu2>T,,,* <AîcuP>
Accu 1 / <Accu1 > 1
Instruction TAK
ACCU2 1 <Accu 2> kpe rmutationj
. <ACCU 1 >
I
6.2 Instructions de structure
6.2.1 Comptage de baicles (OB 160 à 163)
Les autres indicateurs d'opérations sur bits et sur mot sont toujours remis
à zéro!
Le contenu des accus n'est pas modifié ni exploité. De ce fait, ils sont
disponibles au début de la boucle suivante et ne doivent pas être reconsti-
tués.
Les quatre blocs d'organisation OB 160, 161, 162 et 163 permettent une
imbrication des boucles à quatre niveaux. Il est donc possible de définir
quatre compteurs de boucles différents dans les mots de données système
BS 60 à BS 63.
Paramètres:
lHmKum!
L'appel de l'OB 170 doit être précédé de l'mverture d'un bloc de données
OB ai DX) de lcmgueur suffisante. Il faut disposer de quatre m o t s de
données pour cbaque élément de la BLPïïE.
Paramètres:
1. ACCU 2-L: numéro du mot de données (DW n) à partir duquel sont inscrits
les éléments dans le DB appelé (=déplacement)
valeurs admises: 1 à 62
Erreur ~ossibles:
\
Dépla- -> DWn
cement
DWn+l CAD
> Dernier élément inscrit
dans la BLPILE (B=l)
Exemple:
Vous désirez transférer dans les bloc de données DX 10 les trois derniers
éléments inscrits dans la BLPILE. L'écriture dans le DX 10 doit s'effectuer
à partir du mot de données DW 16.
:AX DX 10 ;appel du DX 10
:L KY 16 ;écrire des éléments de la BLPILE à partir du DW 16
:L KY 3 ;nombre d'éléments désirés = 3
:SPA OB 170
La BLPïLE contient 6 blocs (éléments 62 à 57)
BLPILE
Elément 1
Elément 56
Elément 59
Elément 60
Elément 61
7
1
longueur
Profondeur 2
Rofondeur 3
ACCU 2-L: 16
ACCUl-L: 3
RLG = O
FLO = O
FL1 = 1
6.4 Manipulation des blocs
llmlKwm!
U s accès SiEP5 aux m o t s de données ne s m t admis que jusqulaumot DV 255!
~~!
Selon la capacité mémoire de la console de progcarmratïcm utilisée, l e
registre DBL peut m i r une longuetn l e de 4091 m o t s de dormées!
.
Adr (hex .)
1516
5 mots
En-tête du bloc
aaaa
bbbb
CCCC
dddd
eeee
ffff
gggg
hhhh
Le registre DBA contient l'adresse du mot-mémoire dans lequel est déposé le
DW O, dans l'exemple ci-dessus: DBA = 151B (hexadécimal).
Etant donné que l'accès aux mots de données au moyen des instructions STEP5
L DW, U D, B DW etc. est toujours réalisé de façon relative par rapport au
DBA; p.ex. pour accéder au DW 3, on additionne 3 à 151B. L'adresse 151E
contient le DW 3. Dans le cas des accès en écriture, le registre DBL permet
de contrôler s1il y a présence d'une erreur de transfert. Exemple: T DW 7
est admis alors que T DW 8 est incorrect.
LIOB 180 incrémente l'adresse de début du bloc de données d'un nombre défi-
ni de mots de données. Il est ainsi possible d'accéder, au moyen d1instruc-
tions STEP5, à des blocs de données qui ont une longueur supérieure à
256 mots de données.
Par un paramétrage adéquat suivi de l'appel de l'OB 180, il est possible de
déplacer à volonté la zone d'accès STEP5 (256 mots de données) au sein d'un
bloc de données.
mm!
A m t d'appeler l'OB 180, un bloc de damnées d'une longueur suffisante (DB
ai DX) doit avoir été appelé!
Paramètres:
Erreur possibles:
- aucun bloc de données n'est ouvert,
- contenu de l'ACCU 1-L 2 DBL
En cas d'erreur (contenu de l'ACCU 1 DBL), les registres DBA et DBL ne sont
pas influencés. Le RLG est mis à "1" ( R U = 1). Les autres indicateurs
d'opérations sur bits et sur mots sont mis à "O".
brsque le registre DBL contient la valeur "O", l'OB 180 reconna"l qu'aucun
bloc de données n'est ouvert. Le FUG est mis à "1" (RLG = 1) et signale
ainsi une erreur.
A DB 17
L KB 2
SPA OB 180
DB 17
Adr. (hex.)
1516
5 mots
En-tête
CCCC DW O \
dddd DW 1
eeee DW 2
> DBL
ffff DW 3
gggg DW 4
hhhh DW 5 /
- Accès dans le cas de DB d'une longueur de plus de 261 mots (5 mots pour
l'en-tête, DW O - DW 255), cf. ci-dessus.
(En ce qui concerne le registre DBA, cf. chapitre 9 "Accès à la mémoire par
adresses absolues", partie 6)
6.4.2 Test des blocs de dorniees DB/DC (OB 181)
C'est ainsi que vous pouvez par exemple appeler l'OB 181, avant de déclen-
cher le transfert d'un paquet de mots de données, afin de s'assurer que le
bloc de données de destination est valable et a une longueur suffisante
pour pouvoir recevoir tous les mots de données que vous désirez transférer.
Paramètres:
- les autres indicateurs d'opérations sur bits et sur mots sont mis à "0";
Erreurs possibles
RLG = O: DB existe
RLG = 1: DB n'existe pas ou erreur
EL0 = O: DB en RAM
EL0 = 1: DB en EPROM
0 1 0 SPM \ DB DB dans \
I> dans
cartouche
EPROM
(morte)
0 0 0 SPZ 1 DB
/ > existe
DB dans
O O 1 SPP DB dans > FM4 (lect.
RAM DB 1 + écriture)
/ /
1 1 1 SPB DB n'existe pas/erreur de mémoire/
paramétrage incorrect
Exemples, cf.
chapitre 8 . 2 . 2 "Listes d'adresses de blocs dans la RAM DB1'
chapitre 9.1 "LIR et TIR: accès aux registres"
chapitre 9.2 "TNW et TNB: transfert de blocs mémoire"
6.4.3 Rransfert & h t o s dans un bloc de damées (OB 190 et OB 192)
Ceci peut s'avérer utile avant l'appel d'un bloc, au sein de blocs d'orga-
nisation de réaction à un défaut ou lors de l'interruption du programme
cyclique par une alarme process ou d'horloge.
Les blocs 191 et 193 permettent, par la suite, de retransférer ces octets
de mémentos à partir du bloc de données.
MPOKl!Am!
Un bloc de d d e s DB ai DX doit être amert avant l'appel de l'un de ces
blocs dlorganisatian.
Après l'appel de l'OB 190/192, les octets de mémentos sont mis en mémoire
intermédiaire dans le bloc de données appelé, à partir du mot de données
indiqué. La zone des mémentos à transférer est définie dans l'accu.
Ceci est important lorsque les données transférées dans le bloc de données
doivent être traitées par la suite et que le bloc de données n'est pas
seulement utilisé en tant que simple mémoire intermédiaire.
ll!mmmn!
T e n i r compte des temps d'exécution suivants:
Définition de la source:
Définition de la destination:
valeurs possibles:
En cas d'erreur, le RLG est mis à "l", le contenu des accurmilateurs n'est
pas modifié.
Erreur possibles
L'OB 191 et l'OB 193 vous permettent de transférer des données dans la zone
de mémentos à partir d'un bloc de données. Il est ainsi possible de ré-
écrire dans la zone de mémentos les octets qui ont été "sauvegardés" au
préalable dans un bloc de données.
ll!mmmm!
Un bloc de damées ( D B m doit être ouvert avant l'appel de ces blocs
dlorgadsation.
DL DR - - -> Mémentos
15 ... 8 7 ... O 7 ... O
Données transférées par OB 193
DL DR - - -> Mémentos
15 ... 8 7 ... O 7 ... O
mm!
Tenir compte des temps dlexécution suivants (en
(n = nombre d'octets de mémentos) OB 193
Paramètres:
Définition de la source:
Définition de la destination:
En cas d'erreur, le RU= est mis à "l", le contenu des accumulateurs n'est
pas modifié.
Exemple :
Les mémentos utilisés par le programme cyclique ne peuvent pas aussi être
utilisés par un programme d'alarme ou d'horloge. ûn effectuera donc à
chaque niveau de traitement de programme une autre partie de la zone de
mémentos.
A DBlOO DWO
MB O...255 -> DW 0...127 Mémentos du
DW 128. . .255 -> MB 0...255 programme cyclique
:A DBlOO
:L KY0,255
:L KBO
:SPA OB190
:L KB128
:L KY 0,255
:SPA OB191
:A DBlOO
:L KY0,255
:L KB128
:SPA OB190
:L KBO
:L KY0,255
:SPA OB191
:BE
- Dans le cas de la CPU 928, les instructions sur bits (U, O, ON, UN, S,
R, =) ayant accès à la zone de mémentos sont exécutées beaucoup plus
rapidement que les instructions comparables ayant accès aux blocs de
données (comparer à titre d'exemple les instructions U Mn <-> "U D" ou "S
Mt'<-> "S D" !) .
- L'octet de poids faible (low byte) et l'octet de poids fort (high byte)
peuvent facilement être permutés dans le bloc de données en transférant
les mots de données dans la zone de mémentos et en les retransférant
ensuite dans le bloc de données au moyen des OB correspondants:
- Il est également possible de "déplacer1'des paquets de données au sein
d'un bloc de données en indiquant, lors du retransfert à partir de la
zone de mémentos, le même numéro DB, mais un autre mot de donnée.
Paramètres:
2. ACCU 1-H: O
Erreurs possibles :
Paramètres:
Erreurs possibles :
L'OB 203 détermine le nombre de blocs mémire libres dans la mémoire tampon
du coordinateur C.
OB 204: Réception
Des pages mémoire sont des zones de mémoire qui existent une ou plusieurs
fois sur un processeur de conununication, sur certaines cartes périphériques
intelligentes et sur certains coordinateurs destinés au fonctionnement
multiprocesseur .
Les pages mémoire sont organisées par octets, c.-à-d.que chaque octet peut
être adressé isolément.
Bit 7
FOOO
Périphérie P
FlOO
Périphérie Q
Mémentos de couplage
Coordinateur
1-
2-
- +I
FFFF
C'est lors du paramétrage des OB 216, 217 et 218 que vous indiquez laquelle
des 255 pages mémoire devra être utilisée. Le numéro de la page mémoire
"actuelle" est alors automatiquement inscrit dans une cellule portant
l'adresse FEFF (cf. schéma). Tous les adressages se rapportent ensuite à la
page mémoire dont le numéro a été inscrit.
IMPORTBEIT!
Ia cellule avec l'adresse FEFF ne peut pas être lue.
L'écriture (OB 216) et la lecture (OB 217) d'un octet/mot/double mot re-
posent sur la représentation suivante:
Bit 7 6 5 4 3 2 1 0
Adresse n
u Octet Représentation octet
1 R
Adresse n Octet H mot H
L = de poids faible
H = de poids fort
6.6.1 Ecriture dans une page *ire (OB 216)
Paramètres:
- les autres indicateurs d'opérations sur bits et sur mots sont mis à
"O" (cf. indicateurs de résultat).
- tous les autres indicateurs d'opérations sur bits et sur mots sont
également mis à "O".
B8577633-01
Indicateurs de résultat:
O: Erreur
1: Transfert
réussi
Erreurs possibles :
Octet H
Mot H
Octet L
- Octet H
Mot L
Octet L
-
ACCU 4 X x x x
X i - Données (8 bits) -
ACCU 11- X o
-innées (16 bits)
Données (32 bits) 1
31 2 4 23 16 15 8 7 O
6.6.2 Iecture à partir d'une page mémoire (OB 217)
Paramètres
- l'ACCU 1 (cadré à droite) contient la valeur lue (le reste éventuel des
32 bits est effacé),
- les autres indicateurs d'opérations sur bits et sur mots sont mis à
1'011
- tous les autres indicateurs d'opérations sur bits et sur mots sont
également mis à "O1'.
Erreurs ~ossibles:
- Mot H - Mot L -
Octet H Octet L Octet H Octet L
Accu 4 x x x x
Accu 3
1 lndicatif de long. No de .page
! mémoire
O : Octet (6 bits) i O B 255
1 : Mot (16 bits)
2 : Double mot (32 bits) i
-i Données (8 bits)
ACCU Il--
I
O
O
Données (16 bits)
Paramètres:
- les autres indicateurs d'opérations sur bits et sur mots sont mis à "O".
- tous les autres indicateurs d'opérations sur bits et sur mots sont mis à
"O".
Erreurs possibles:
- Mot H - Mot L -
r x
Octet H Octet L Octet H Octet L
i No de .page
Accu 1 x x i mémoire
i O à 255
mots-données 4 et 5 (= 4 octets)
transfert premier double mot
augmenter adresse de 4 (ACCü 2-L = 58)
TAK sauvegarder l'adresse de destination
L DD 6
SPA OB 216 transfert du deuxième double mot
TAK
L DD 8
SPA OB 216 transfert du troisième double mot
TAK
L DD 10
SPA OB 216 transfert du quatrième double mot
TAK
L KYO,255
L KB 53 adresse avec numéro d'emplacement d'enfichage
m
L KB O ACCU 1 = O
SPA OB 216 effacer numéro d'emplacement d'enfichage
--> libérer zone de transmission de données
L KB 255 numéro de page mémoire
L KB 53 cellule de coordination
SPA OB 218 réservation de la page mémoire par deuxième C W
SPB =MO02 si RU: = 1, saut sur repère
BEA
L KYO,255
L KB 53 adresse avec no d'emplacement d'enfichage
ENT
L KB O ACCU 1 = 0
SPA OB 216 effacer numéro d'emplacement d'enfichage
--> libérer zone de transmission de données
6.7 Extension du signe (OB 220)
Paramètres:
Erreurs m s s i b l e s : néant
6.8 Fonctions système
6.8.1 Activation/désactivatiun de "l'inhibition générale des alarnies "
(OB 120) et de wllajoumemntgénéral des ahrmesw (OB 122)
Il en découle:
Tant que le bit '2 = 1, toutes les alarmes d'horloge sont inhibées ou
ajournées.
Tant que le bit 22 = 1, toutes les alarmas process sont inhibées ou ajour-
nées.
Tant que les bits 2O et 22 = 1, toutes les alarmes d'horloge et toutes les
alarmes process sont inhibées ou ajournées.
Paramètres:
Erreurs mssibles :
- L'un des bits réservés (21,23 à 231) est à "1" dans l'accu 1.
En présence d'une erreur, l'OB 31 est appelé, et l'un des indicatifs d'er-
reur suivants est chargé dans l'accu 1.
- L'état du traitement des alarmes peut être déterminé par la lecture des
rnots de données système BS 131 et BS 132.
AS correspond à :L KB2
:L KM0000000000 00000100
:SPA OB120
AF correspond à :L KB3
:L KM0000000000 00000100
:SPA OB120
Tant qu'un bit est à "l", l'alarme d'horloge correspondante est inhibée ou
ajournée.
Paramètres:
Erreurs mssibles:
En présence d'une erreur, l'OB 31 est appelé, et l'un des indicatifs d'er-
reur suivants est chargé dans l'accu 1.
Nota :
Paramètres:
Erreur ~ossible:
Remarque :
Paramètres: néant
Si cela n'est pas le cas, le processeur au sein duquel l'OB 223 a été
appelé décèle une erreur de temps d'exécution. L'OB 31 est appelé; l'accu 1
contient le code d'erreur 1A3B (hexa). Si l'OB 31n'est pas programmé, le
processeur passe en STOP et génère le message d'erreur DPT. Sa LED STOP
clignote lentement. Les autres processeurs passent en STOP avec allumage
feu fixe de leur LED STOP.
Paramètres: néant
L'OB 224 assure ainsi la cohérence des mémentos de couplage. Il doit être
appelé dans le programme de démarrage, à savoir
a) dans tous les processeurs participant au transfert des mémentos de
couplage et
b) dans chaque type de démarrage utilisé.
Paramètres: néant
Paramètres:
Paramètres: néant
Utilisation :
NOM: CHECKSüM
:L KHOOOO
:T MW254 Effacement des mémentos du checksum
:T MW252 Effacement du compteur d'adresses
Exemple:
Un retard d'acquittement doit être ignoré au démarrage mais pas aux autres
niveaux de traitement.
ACCU 1 = O: DENMGAGE non actif -> ACQ n'est pas apparu au démarrage
-> le programme de réaction à ACQ doit
être traité
Les registres à décalage sont installés dans la RAM des DB. A chaque
registre est associé un bloc de données bien défini: ils portent tous deux
le même numéro (valeurs admises: 192 à 255). Si vous avez p. ex. installé
un registre à décalage portant le numéro 210, les données correspondantes
se trowent dans le bloc de données DB 210.
Mémento O
Mémento 1
Mémento 2
1 2 3 4 5 6 7 8 9 1 0 1 1 1 2
Avant d'appeler la fonction spéciale, les mémentos sont mis à "1" dans les
pointeurs :
Mémento O
Mémento 1
Mémento 2
Les paramètres requis par l'OB 240 pour l'installation d'un registre à
décalage sont contenus dans un bloc de dunnées portant le numéro du re-
gistre à décalage devant être initialisé. Les numéros entre 192 et 255
pewent donc être utilisés pour les DB.
Le bloc de données est structuré selon un principe déterminé qui doit im-
pérativement être respecté. Il peut avoir une longueur de 9 mots-données au
maximum (DU O à DU 8).
Distance n2
Distance n3
Distance ,n
Distance n5
Distance n6
Mots de donnée 3
jusuu'à 7 au max.: distances (en octets) des pointeurs au pointeur de base:
n2 =
distance entre le pointeur 2 et le pointeur de
base
n3 = distance entre le pointeur 3 et le pointeur de
base
n4 = distance entre le pointeur 4 et le pointeur de
base
etc.
(5 valeurs de distance au maximum)
Paramètres:
Erreurs ~ossibles:
Paramètres:
Avant l'appel de l'OB 241, certains mémentos sont normalement mis à l/remis
à O dans les pointeurs.
A chaque appel de l'OB 241, l'information est décalée, octet par octet,
d'une cellule mémoire dans la cellule immédiatement suivante, et les poin-
teurs sont chargés avec de nouveaux contenus. ~râceà l'appel réitéré de
l'OB 241, l'information peut être déplacée au travers du registre à déca-
lage complet, jusque dans la dernière cellule mémoire d'où elle est re-
transférée dans la cellule mémoire 1.
Cas d'erreurs :
Paramètres:
Erreurs w s sibles:
Dans la CPU 928 de l'AG 135U, vous pouvez appeler un ou plusieurs régula-
teurs PID.
I
I
1 1
I 1
I1
I !
I
I 1
t1 11
I
I
I
I
I
1
1 I
w ; 1
X
1
I
; Algorithme dY
,i1.-....
LS :j
1 .;
dYA (S3 sur 1)
.
PID *.-*
, S3 / YA(S3sur O)
O[ 'xw- Y
O
1
1 .\....
.*=- *
1
1 1
1
xz / I'**S1 . . 1
I
1 1 I
1
1
L------------------------------- .......................................... 1
CP GS CTI CTD
S2 O Mode manuel
bit STEü O 1 Mode automatique
S3 O Algorithme de position
bit STEü 3 1 Algorithme de vitesse
Le régulateur est basé sur un algorithme PID. Son signal de sortie peut
être émis soit en tant que grandeur de réglage (algorithme de position)
soit sous forme de variation de grandeur de réglage (algorithme de vi-
tesse).
PE
dIk CTUIWk CTI = -
TI
1 m
q = -(CTDxQUk + ak-l) CTD = -
2 PE
Remarque
Réserve
CTI = PE/TI ;
Nombres à virgule flottante
CTD = TD/PE ;
Nombres à virgule flottante
Mot de commande
Introduction de mesure si le
bit 7 STEU = O (-1 j Xk < 1)
Introduction de la mesure si le
bit 7 STEU = 1 (-1 j Xk < 1)
Introduction de la grandeur
perturbatrice dans ce mot si
bit 7 STEU = 1 (-1 j Zk < 1)
Terme différentiel
Réserve
Grandeur de sortie
~ -L
Format proposé
(KHI KM également admissible)
E = entrée, S = sortie
Affectation des bits àu mot de cammnde (mot & données DU ï ï dans
le DB de transfert)
DW 11 Nom Signification
No de bit
L'OB 250 permet d'initialiser l'algorithme Pi3 et il est appelé au sein des
OB de démarrage 20/21/22.
lMlmmmT!
Ie bloc & données & transfert doit être appelé avant l'appel de l'OB 250.
L'OB 250 utilise de façon interne l'OB 254 ou l'OB 255 (duplication de
blocs de données). En cas d'erreur, le processeur reconnaît une erreur de
temps d'exécution et appelle l'OB 31. Lorsque celui-cin'a pas été program-
mé, le processeur se met en STOP. Les codes d'erreurs contenus dans l'ACCU
1 s'appliquent alors à l'OB 250.
Entrées
Sortie
Ceci peut être évité en posant COMMUT = 1. Un signal d'écart est alors
rapidement annulé lors de la commtation manuel-automatique,peu importe si
CTI = O ou non. La variation de la grandeur de réglage correspond à la
valeur du signal d'écart et n'est donc pas arbitraire au sens d'un défaut
de régulation.
Les bits O et 1 de LIM peuvent, si cela est souhaité, être visualisés afin
de signaler que la grandeur de réglage (dans le cas de l'algorithme de
vitesse, l'incrément de la grandeur de réglage) se trouve en deçà de la
limite supérieure ou au-delà de la limite inférieure. Etant donné que ces
bits sont évalués par l'algorithme pour couper l'action 1, ils ne doivent
pas être écrasés.
Si, lors de la commutation sur mode manuel, le système réglé est séparé du
régulateur et si l'on intervient directement sur l'organe de réglage, la
nowelle grandeur de réglage doit être amenée au régulateur par l'entrée
manuelle. Ceci permet d'obtenir l'égalité entre la sortie du régulateur et
la grandeur de réglage en mode manuel lors de la reconmtutation du mode
manuel sur le mode automatique. Dans le cas de l'algorithme de vitesse, il
s'agit de la variation de grandeur de réglage.
Grandeurs caractéristiques des régulateurs
Rémilateur P
Rémilateur PI
Rémilateur PD
Les nombres à virgule à gauche (VG) peuvent être convertis dans les valeurs
représentées sur la console de programmation (KF) selon la formule sui-
vante :
IKK)-t
L1intr&tion ou la modification du RX O n'est validée qu'après un noweau
deniarrare .
Structure du bloc X O
Structure formelle:
No bit 15 87 O
, - -
Carat- MA
tères SK
ASCII: XO
Paramètre
Rubrique 1
Paramètre
Paramètre
- -
. 1 longueur de rubr. 2
Idendificat. de rubr. 2
te---------------------
.. I.
Paramètre i Rubrique 2
. .
- -
. 1 bngueur de rubr. n+ - - - - -
Idendificat. de rubr. n
t-----------------
Paramètre
Paramètre Rubrique n
Paramètre
E E E E
DU 7: KH= 0402
Paramètres (occupent 2 mots DU) DU 8: KH= 1000 rubrique 2
DU 9: KH- 4000
mm!
Bprés llintr&tion de la demière rubrique, il est impératif de clare le
DX O par llindicatifde fin EEHZ!
B8577633-01
DEMARRAGE et RUN
Les paramètres ci-dessus ne sont valables que pour la version de la CPU 928
qui ne permet que les alarmes d'horloge 100 ms. La nouvelle version de la
CPU 928 permet de programmer maintenant 9 OB d'alarmes d'horloge diffé-
rents. Pour ceci, il existe de nouveaux paramètres dans le DX O (voir ci-
après).
Alarme d'horloge
Ancien
paramètre
IOOC v
1OOA
1008
V = Préréglage
I l
I
Traitement des défauts:
I
Signal d'alarme process, déclenchement par front
1 1 1200
V Arrêt système si le défaut se produit, l'OB 34
n'étant pas chargé.
1 1 1O''
Pas d'arrêt système si le défaut se produit,
l'OB 34 n'étant pas chargé.
'
)V = Préréglage si le DX O n'est pas chargé ou si la rubrique manque.
2, ,= bngueur de rubrique (=nombre de mots de données occupés par les
paramètres)
Du fait que la CPU C effectue son programme indépendamment des autres CPU
et qu'elle traite un très court Pronramme de démarrape, il n'est pas néces-
saire de la synchroniser avec les deux autres. Par le paramétrage du DX O,
on obtient que la CPU C, dès que son démarrage est terminé, puisse exécuter
immédiatement son programme cyclique sans attendre la fin des programmes de
démarrage des CPU A et B.
Programmation de DX O:
*) Les paramètres qui occupent deux mots de données doivent être comptés
comme tels lors de la longueur de la rubrique.
2. RAM des DB
pour blocs de données et registres à décalage (16 bits)
4. - mémentos : M (8 bits)
- mémoire image des entrées/sorties : MIE, MIS (8 bits)
mm!
L'accès S K F 5 , à une cellule mémoire se tramant à l'intérieur d'une zone
d'opérande (par exemple : dnentos) ne doit jamais être effectué directe-
nient par les akesses absolues mais - t par les adresses relatives
par rapport à l'adresse de base de la zone opérande corresponchte. Les
adresses de base de toutes les zones opéramdes figurent dans la zone des
données système (cf. wdonnéessystèmew).
8.1 Topogramme de la mémoire de la CPU 928
Cartouches RAM ou
Mémoire utilisateur EPROM enfichables
*'2 mots max.
32 ' dans le processeur
Réserve
EEOO .
Mémentos
EFOO
Mémoire image
FOOO Périphérie
(TOR/analogique, Bus S5
FFFF CP/IP)
&
27 20
D B O
E400
Réserve
E500
Réserve
E600
Réserve
E700
Réserve RAM interne au
E800 processeur
BA: zone des données de couplage
E900
BB: zone étendue des données de coupl.
EAOO
BS: zone des données système
EBOO
BT: zone étendue des données système
ECO0
EDO0
1 Compteurs (256)
Temporisations (256)
EDFF I
=Oo 1 Mémentos
EFOO
Mémoire image
EFFF
2 2O
FOOO
F080 Périphérie P
Mémentos de couplage
F300
L EB/T EB 0 à 127
(mémoire image LEW/TEW 0 à 126
EF7F des entrées) L ED/T ED 0 à 124
U E/üN E/O E/ON E 0.0 à 127.7
S E/R E/= E
L AB/T AB 0 à 127
(mémoire image L AW/T AW 0 à 126
des sorties) LAD/TAD 0 à 124
U A/UN A/O A/ON A 0.0 à 127.7
S A/R A/= A
L PY/T PY 0 à 127
LPW/TPw 0 à 126
Périphérie P
avec mémoire image
Périphérie P
sans mémoire image
L QB/T QB O à 255
étendue, L Qw/T Qw O à 254
Périphérie Q
Accès direct à la périphérie : L/T PY, L/T FW, L/T QB, L/T QW
Accès à la périphérie var la mémoire image : L/!C EB, L/T EW, L/T ED,
L/T AB, L/T AW, L/T AD,
U/iJN/O/ON E, =A etc.
Chaque bloc en mémoire débute par un en-tête ayant une longueur de 5 mots.
-/ \ I-
V
01H Bloc de données DB
02H Bloc séquentiel SB
04H Bloc de programme PB
05H Bloc fonctionnel FX
08H Bloc fonctionnel FB
OCH Bloc de données DX
10H Bloc dlorganisation OB
O
O O Bloc non valable, n'est pas enregistré dans la table
des adresses (DB O)
O " 1 Le bloc dans la mémoire RAM est valable, enregistré
dans la table des adresses (DB O)
Les adresses de début pointent toujours sur le mot de données qui suit
immédiatement l'en-tête de bloc :
n Adresse PB O
Adresse PB 1
n+2 Adresse PB 2
Mémoire utilisateur:
15 7 O
0104
0105
0106
0107
0108
0109
OlOA
OlOB
OlOC
OlOD
OlOF
0110
NIVO: ......
:BEA
La zone BB d'une longueur de 256 mots est située dans la RAM système
interne au processeur. Elle couvre les adresses E900H à E9FFH.
La zone BS d'une longueur de 256 mots est située dans la RAM système
interne au processeur. Elle couvre les adresses EAOOH à EAFFH.
IKK)m!
L'accès en écriture n'est permis que pan les mots de données système
BS 1, BS 60 à BS 63 et BS 133:
IwoB3!ARl!!
Toutes les autres h é e s système ne sait accessibles qu'en lecture:
- Une écriture de ces données système peut avoir des conséquences sur le
fonctionnement de l'automate programmable et de la console raccordée.
La zone BT d'une longueur de 256 mots est située dans la RAM système
interne du processeur. Elle couvre les adresses EBOOH à EBFFH.
L'ensemble de la zone BT (BT O à BT 255) peut être employé par l'utilisa-
teur pour ses besoins propres.
BS Désignation Adr
O .
Mot indicateur d ' interruption (ORIG INTERRUP) EAOO
3 EA03
Indicateurs d'erreurs de démarrage
4 EA04
34
I I
Adresse de base de la liste d'adresses des DB
I
1
35 Adresse de base de la liste d'adresses des SB EA23
39 EA27
54 : : EA36
EA3C
réservé a l'utilisateur
EA3F
EA40
réservé au programme système
i EA7F
130 Indicatif r é h a tion
1
Désignath:
Mot d'effacement des
Bit 215 214 213 212
''2 ''2 '2 28 indicateurs d'interruption
I I I
t non affecté
- DAD
ACQ
non affecté
non affecté
non affecté
-non affecté
-non affecté
-
Donnée système: BS 1 Adresse: EAOl (octet de poids faible)
Désignation:
Bit '2 26 25 24 23 22 '2 '2 Mot d'efacement des
indicateurs d'interruption
I I 1
non affecté
- non affecté
-
-non affecté
-non affecté
-
-non affecté
-non affecté
-
--
non affecté
non affecté
FB 10
N0M:TESTPERI
DESIG:PADR E/A/D/B/T/Z: E BI/BY/W/D/: BY
DESIG:MASK E/A/D/Bfl/Z: D m/KHflC/KF/KTIr<z/KG: KM
:L BS1 Chargement
:T BS60 et sauvegarde du ME11
:LW =MASK Mise à un du BIT DAD ou ACQ
:OW
:T BS1 Réécrire le ME11
:L =PADR Accès sélectif à la périphérie ou accès à la
:L BS1 mémoire image
:LW =MASK Masquage du bit DAD ou ACQ
:UW
:L BS60 Réécriture de l'ancien ME11 afin que le prochain
:T BS1 défaut ACQ ou DAD soit détecté
:TAK
:BE
FBO
NOM :L
:SPA FBlO
NOM :TESTPERI Test si
PADR: PB128 une carte est accessible sous
MASK: KMOOOOOlOO 00000000 l'adresse de périphérie 128
: S m =MO01
... Cette partie de programme est
... exécutée si l'accès à la carte
a . . est impossible
MO01 :
:SPA FBlO
NOM :TESTPERI Test si
PADR: AB4 une carte dont l'adresse de
MASK: KMOOOOOOlO 00000000 périphérie est 4 est inscrit
:SPN =MO02 dans le DB 1
. S . Cette partie de programme est
... exécutée si l'adresse de périphérie
... n'est pas inscrite
MO02 :
:BE
Donnée système: BS 2 Adresse: EA02 (octet de poids fort)
Désignation:
Bit 27 26 25 24 23 22 '2 '2 Mot indicat. groupé
des interruptions
Dom
>IO0
IT.P>
- BL.P>
-REG
DPT
non affecté
-DCO
ikemple:
Si le processeur se met en stop à la suite d'une erreur d'adressage (DAD),
le bit 9 du MMII est mis à un. S'il se produit maintenant un défaut de
code d'opération (DCO) pendant le traitement du défaut DAD, le bit 7 du
MMII est aussi mis à un.
Désignation:
Indicateurs STOP
Bit 215 214 213 212 211 210 29 28
I I
KP-STP
INSSTP
.- m-STP
PGSTP
-- FINP/P
-
-- DF-STP
-- non affecté
FX.STP
I
-> lere ligne des bits de commande
Désignation:
Bit 27 26 25 24 23 22 2l '2 Indicateurs de
démarrage
I I
RED-ADM
DEM-ADM
non affecté
- REDAU
-REDMA
- DEMARR
- non affecté
---------- DEM
Désignation:
Indicateurs
Bit 215 214 213 212 211 2' 2' 2* d'effacement
' 't DE-ISTP
DE-DFPR
DEDSYS
DEDPG
-INT.DEM
-CAUSSTP
EFFACT
PR. EFF
I
ligne des bits de commande
Désignation:
Bit 127 126 125 b4 b3 122 12' 12' 1 Indicateurs de
défaut - Init.
DEFCOR
- DEFDB2
DEFDBl
DEFDBO
DEFRAM
-DEFCRT
non affecté
Désignation:
Indicateurs
Bit 215 214 213 212 2"' ' 2 '2 2% de défaut-t.
I
>lOOMS
DAD
ACQ
- CYC
DEFPILE
------ BAT
DPE
MDT
T w e de l'automate:
O 1 1 1 automate S5-135U
Donnée système: BS 130 Adresse: EX82 (octet de poids faible)
lbt indicateur "Inhibiticm des aïamnesu : cf. chapitre 6.8.1 (OB 120)
Mot indicateur "Ajarrnement des alarmesw : cf. chapitre 6.8.1 (OB 122)
Bit
Alarmes process
Désignation:
Bit 27 26 25 24 23 22 '2 '2 Actualisation
de la Mi
I
STOR
ETOR
MCPENT
- MCPSOR
non affecté
-non affecté
-non affecté
-non affecté
-
Bit '2 = O : la MIS suivante est émise
Désignation:
Bit Inhibition sélective
215 214 213 212
''2 21° '2 '2 d'alarmes d'horloge
Désignation:
Bit 27 26 25 24 23 22 '2 '2 Inhibition sélective
des alarmes d'horloge
I 1 1 I
I O
-Alarme d'horloge 10 ms (OB 10)
Alarme d'horloge 20 ms (OB 11)
-Alarme d'horloge 50 ms (OB 12)
-Alarme d'horloge 100 ms (OB 13)
IHmKrAm!
üne utilisath non conforme de ces ïmtmctiais peut en l'écrase-
ment de blocs -5 ainsi que & M e s système. Ceci peut avoir p u r
conséquence, des états de fonctronnement intempestifs.
C ' e s t pourquoi les instructiais systéne t m v a U h n t wec des adresses
absolues ne doivent être employées que par des txtiïisateurs ayant de t r è s
bonnes caniaissances du système.
&%mirelocale
On désigne par mémoire locale une zone mémoire prdsente sur chaque CPU
(cartouche utilisateur, zones BA, RAM DB, BB, BS, BT, compteurs, temporisa-
tions, mémentos, mémoire image).
Wém>ire commnie
Cette mémoire (également désignée parfois par mémoire globale) est
commune à toutes les CPU et est adressée par le bus S5.
a &mire
organisation de l
Les zones mémoires sont organisées par octets ou par m.
Organisation par octets: chaque adresse porte sur un octet.
Organisation par mots: chaque adresse porte sur un mot (2 octets).
EDFF
EFFF
FFFF r-
Registrede sélection
2 koctets/mots
e) à l a zone commune organisée par octets (zone des pages F400 à FBFF):
LB CB, LB CW, LB CD, TB CB, TB CW, TB CD, TSC
f ) à l a zone commune organisée par mots (zone des pages F400 à FBFF):
L
W CW, LW CD, TW CW, TW CD, TSC
Accès à des uxies de la &mire locale oa & la Emoire comgnie par
des adresses absolues
-
a) LIR, TIR, TNB, TNW b) LRW, TRW, LRD, TRD
La cellule mémoire se trouve soit dans la zone locale (0000 à EFFF) soit
dans la zone commune organisée par octets (F000 à F3FF, FCOO à FFFF).
Le tableau suivant indique le contenu des registres de la CPU 928. Sur les
processeurs R et S, le contenu des registres est différent!
1 5 O 15 O
ACCU 1-L
adresse la
cellule mémoire \
1-
I /
Registre 0...15
...1 5
F I
LIRO
r-7- adresse la
\ I
15
/
O
Registre 0...15
ACCU 1-L
15 O 15 7 O
adresse la
\ F F Registre 0...15
cellule mémoire /
ACCU 1-L
LIRO ...1 5
1 5 O 15 7 O
7 7 adressela
[ ,cellulemémoire Registre 0...15
ACCU 1-L
TIR0 ...15
- pour TIR, seul l'octet de poids faible du registre est transféré (l'octet
de poids fort est perdu);
- pour LIR, l'octet de poids fort du registre est écrit avec FFH.
R e g i s t r e s O à 3 e t 9 à12: accus 1, 2, 3, 4:
Le contenu de la cellule mémoire dont l'adresse est A000 est chargé dans le
mot de mémentos MW 100.
Le registre DBA est remis à "O" avant chaque appel de l'OB 1 ou du FBO.
Adr. (hex.)
-
5 mots
En-tête de bloc
aaaa
bbbb
Remarque : L'adresse inscrite dans le registre DBA est donnée sous "ADR-DB1'
dans llITPILE.
L'accès aux mots de données est effectué normalement à l'aide des ins-
tructions STEP5 : L/T DU, L/T DR, L/T DL, L/T DD, U/O/UN/ON/=/S/R Dx.y. Il
n'est cependant autorisé que jusqu'au mot DW 255. En manipulant le registre
DBA, il est possible d'accéder, par ces instructions, à des mots de données
> 255.
Exemple :
FB7
NOM: LIR/TïR6
Vous pouvez également décaler le contenu du registre DBA d'un nombre déter-
miné de mots de données en utilisant l'OB & faactiar spéciale, OB 180
"accès variable au bloc de donnéesn. L'OB 180 modifiant simultanément le
registre DBL, les erreurs de transfert restent surveillées.
FB7
NOM :OB180
En plus du registre DBA, le registre DBL est chargé à chaque appel de bloc
de données. Ce registre contient la longueur (en mots) du bloc de données
appelé, en-tête de bloc non compris.
Le registre DBL est remis à "O" avant chaque appel de l'OB 1 ou du FBO.
Exemple : AX DXl7
Adr. (hex.) DX 17
5 mots
en-tête de bloc
aaaa
bbbb
CCCC
dddd
eeee
ffff
aa
hhhh
Remarque : Le nombre inscrit dans le registre DBL est donné sous "REG-DBL"
dans 1' ITPILE .
Registre 15: ChD = compteur d'adresses $XKP
Exqle: Une constante est inscrite dans tais les iots de damées d'un
bloc & b é e s .
Accu 3 1 1
Accu 2 m
Accu i / constante 1
SPA OB181
L KY1,50 EkCT SPB =NIVO
ACCU 4 I Constante
ACCU1 (3- - - - - -9
1
-
.iT] r]\i-]
TAK ENT +F
Adresses (hexadécimal)
Les instructions STEP5 TNB et TNW ont un temps d'exécution long; elles
contiennent des "pseudo-limites d'instruction". En d'autres termes, les
données sont transférées en blocs partiels de longueurs différentes suivant
les zones source et destination. Si un défaut (p.ex. dépassement du temps
de cycle) ou une interruption (p.ex. alarmes process ou alarmes d'horloge)
apparaît pendant le transfert d'un bloc, le traitement du bloc d'organisa-
tion correspondant est inséré au niveau de la pseudo-limite d'instruction,
après le transfert du bloc partiel. Pour qu'un OB de traitement d'alarmes
process ou d'alarmes d'horloge puisse être appelé à une pseudo-limite
d'instruction, il faut que le paramétrage, dans le DXO, soit "interruption
aux limites d' instniction".
Adresses
croissantes
1 Adresses
croissantes
Adresse
source/destination
- Octet 5
Octet t
Adresse
Copie d'un bloc de 4095 mots de données au maximum, d'un bloc de données DB
ou DX dans un autre bloc de données DB ou DX. Le début du bloc est détermi-
né, au sein des blocs de données source et destination, par une valeur
offset entre O et 4095.
KY {type, no)
> QTNR FBlO
DB de source
KF (offset)
> QOFF
DB de source
KY (type, no1 BY
> ZTNR STAT >
DB de destination état
KF {offset)
> ZOFF
DB de destination
KF (longueur de bloc)
> W N
Avant que la copie soit réalisée, les paramètres d'entrée sont vérifiés. E n
cas d'erreur, le bit 27 est mis à 1 dans le pa amètre de sortie STAT et le
type d'erreur est indiqué dans les bits 2O à 2 : 5
1. Paramètres d'entrée
- Vérification que les blocs de données source et destination ne sont pas
du même type et n'ont pas le même numéro.
- Vérification que les paramètres d'entrée 'offset source', 'offset desti-
nation' et 'longueur de bloc' sont inférieurs à 4096.
2. Bloc de données source
- Vérification que le bloc de données source existe et est assez long.
- Calcul de l'adresse absolue du dernier mot de données dans le bloc
destination.
4. Transfert
- Réalisation de la copie à l'aide de l'instruction TNW.
Les blocs comportant plus de 255 mots sont transférés en blocs partiels
de 128 mots chacun (instruction TNW 128).
Un reste éventuel est transféré à l'aide d'une instruction TNW supplé-
mentaire.
5. Octet indicateur
FBlO
SEGMENT 1
NOM :DB-DB-TR TRANSFERT DB-DB
DES1G:QTNR E/A/D/B/T/Z:D m/KH/KY/Kc/KF/Kir/KZ/KG:KY
DESIG: QOEF E/A/D/B/T/Z :D KM/KH/KY/KC/KF/KT/KZ/KG:KF
DES1G:ZTNR E/A/D/B/T/Z:D ~/KH/KY/KC/KF/Kir/KZ/KG:KY
DESIG: ZûEF E / A / D / B p / Z :D KM/KH/KY/KC/KF/KT/KZ/KG: KF
DES1G:ïAE.N E/A/D/B/T/Z:D ~~/KHrn/Kc/KF/Kir/Kz/KG:m
DESIG:STAT E/A/D/B/T/Z:A BI/BY/U/D: BY
FONCTION "PARAMETRES D 'm l 1 -DEBUT
TYPE (DB/DX) ET NüMXO DU
BLOC DE WNNEES SOURCE
TYPE (DB/DX) ET NüMERO DU
BLOC DE WNNEES DESTINATION
DB SOURCE = DB DESTINATION ?
SAUT, SI OUI
Constantede20 bits
9- Constantede 16 bits
gbreivirgule
9.3.2 (&&rat- de transfert entre registres
Tl :FI
MAS. MBS
.............. x Accul, BR
CAD
MSA. MSB
O ...............O
Accul, BR
WD
MAB. MBA
31 15 O
Accul
9 . 3 . 3 Accès à la mémoire locale
L'adresse absolue doit être comprise entre O et EDFFH (pour IRW, TRW) ou O
et EDFM (pour LRD, TRD). Si ce n'est pas le cas, le processeur décèle une
erreur de dépassement de temps et appelle l'OB 31. L'ACCU 1 contient des
codes d'erreur qui expliquent de façon plus détaillée le défaut apparu (cf.
chapitre 5.6.2 "Autres dépassements de temps").
no FL1 Signification
ImamAwr!
L'instructian TSG doit être utilisée par tais les processeurs &nt
l'accès à une zone mémoire caumme doit être coardanié.
L'adresse absolue doit être comprise entre O et EF'E'FH (pour LW GW, TW GW)
et entre O et EFE'EH (pour W GD, TW GD). Si ce n'est pas le cas, le
processeur décèle un dépassement de temps et appelle l'OB 31. L'accu 1
contient des codes d'erreur qui expliquent de façon plus détaillée le
défaut apparu (cf. chapitre 5.6.2 "Autres dépassements de tempsw).
Tout accès (chargement/transfert) à une page doit être précédé par l'appel
de cette page. A cet effet, charger l'accu 1-L avec le numéro de la page à
appeler; ce numéro est transféré par l'instruction ACR dans le registre de
page. Avant l'accès à une page, toutes les opérations suivantes portant sur
la page écrivent le contenu du registre de page dans le registre de sélec-
tion.
Le contenu du registre de page reste conservé si
- l'exécution du programme est poursuivie dans un autre bloc, suite à
une instruction de saut (SPA/SPB), ou si
- un autre niveau de traitement de programme est imbriqué.
Le numéro de page doit être compris entre O et 255. Si ce n'est pas le cas,
le processeur décèle un dépassement de temps et appelle l'OB 31. L'accu 1
contient des codes d'erreur qui expliquent de façon plus détaillée le
défaut apparu (cf. chapitre 5.6.2 "Autres dépassements de tempsw).
Test et positiamenent d'une cellule & réserwstiai d'accès dans la zone &
pages
L'accès de plusieurs processeurs à une zone mémoire commune peut être géré
par le biais d'une cellule de réservation d'accès. Une telle cellule est
associée à chacune des zones de page et doit être testée par chacun des
processeurs désireux d'accéder à cette zone. La cellule de réservation
d'accès contient soit la valeur "O", soit le numéro d'emplacement du pro-
cesseur qui accède en ce moment à la zone mémoire et qui, après l'accès,
devra écrire la valeur "O" dans la cellule pour libérer l'accès à cette
zone mémoire.
n
o ni Signification
I I
lwoR!mm!
L'instruction TSG doit être utilisée par les processeurs Qnt
l'accès à une zone mémoire c<mmrne doit être coordatnié.
Voir aussi les explications concernant les instructions SES et SEF (posi-
tionnement/libération de sémaphores, chapitre 3.2.2) et l'OB de fonction
spéciale OB 218 (réservation d'accès à une page, chapitre 6.6.3).
LB CB -32768à Chargementdansllaccul-I;Ldelloctet
+32767 adressé par registre BR + constante dans
la page appelée
Suite:
L'adresse absolue doit être comprise entre FF400 et FFBFF (pour LW CW, TW
CW) ou entre FF400 et FFBFE (pour IXJ CD, TW CD). Si ce n'est pas le cas, le
processeur décèle un dépassement de temps et appelle l'OB 31. L'accu 1
contient des codes d'erreur qui expliquent de façon plus détaillée le
défaut apparu (cf. chapitre 5.6.2 "Autres dépassements de temps").
10 Configuration multiprocesseur/Exploitation avec
processeurs de communication
10.1 Avertissements
Pour résoudre des problèmes d'automatisme complexes et techniquement divi-
sibles, il est possible de faire fonctionner l'appareil de base S5-135U
avec 1 à 4 C W . Chaque processeur traite alors son programme indépendamment
des autres. b r s de l'exploitation en multiprocesseur, les processeurs
mentionnés ci-après peuvent être associés suivant différentes combinaisons:
l-lmxwm!
Ceci exige de régler sur l e comdïnateur l e Iiaibre de processeurs (voir
notice d'utilisation du comdïnateur) ! Iors de cette opératim, il faut
tenir compte de la largeur de chaque pmcesseur (p.ex. processeur R, siniple
largeur; CPü 928, double largeur).
Si, par exemple, le nombre "3" est réglé sur le COR, ce dernier gère les 3
premiers emplacements qui sont à sa droite (no 17, no 19 et no 27; voir
instructions d'utilisation de la CPU 928).
Dans ce cas, le quatrième emplacement (no 35) n'est Das néré par le COR. Un
processeur éventuellement enfiché à cet emplacement ne pourrait pas accéder
au bus.
lHPomAm!
Ie coordinateur et les processeurs doivent être enfichés sans laisser d'em-
placement vide !
Pour l'échange de gros volumes de données (par ex. des blocs de données
complets) entre les processeurs M et R et CPU 928, on pourra recourir aux
wfaictions spéciales pan la cammnicatim aiLtiprocesseur: OB 200 à OB
205" (cf. chapitre 10.2.2).
Pour communiquer avec les cartes périphériques intelligentes (IP) et avec
les processeurs de communication (CP), on dispose de "blocs & dialoguew
(voir chapitre 6.9).
Le programme système transfère les mémentos de couplage une seule fois par
cycle. Lors du transfert de données entre les processeurs, les mémentos de
couplage sont mémorisés de façon intermédiaire sur le coordinateur.
Les mémentos de couplage sont des octets mémentos qui sont transférés. Ils
sont définis , pour chaque processeur, dans le bloc DB 1 en tant que mémen-
tos d'entrée ou de sortie.
Si, par exemple, l'octet de mémentos 50 est défini sur le processeur 1
comme mémento de couplage de sortie, cet octet est transféré de manière
cyclique, par l'intermédiaire du coordinateur, vers le processeur pour
lequel l'octet de mémentos 50 est défini came mémento de couplage d'en-
trée.
Exemple :
Processeur 1 Coordinateur
1 t
Mémentos de couplage de sortie :
MB 96 à MB 119
Secteur validé :
Processeur 2 octets de mémentos de
couplage 96 à 127
1
ImORmm!!
- Il ne faut utiliser que les mémentos de couplage validés sur le wordi-
nateur!
- Si, sur un ou plusieurs processeurs, un octet de &mentos a été défiai
carnie mémentos de couplage d'entrée, il faut que cet octet soit défini
sur un autre processeur camme mémentos de conplage de sortie. De plus.
un octet de mémentos ne doit être défini ~finiip--tas de couplage de
sortie que sur ini seul processeur; par contre, cn peut définir cet octet
carnie mémentos de couplage d'entrée sur trois antres processeurs!
- Sur un processeur, les octets de &œntos qui ne sont pas définis came
étant des mémentos de couplage peuvent être utili.;és caame des d n m ~ t o s
nonIlam!
Exemple :
Processeur 1
1
4-
Dans ce cas également, un octet de mémentos ne peut être défini comme mé-
mentos de couplage de sorties que sur 'ol. seul processeur. Par contre, un
même octet de mémentos peut être défini comme mémentos de couplage d'entrée
sur plusieurs processeurs et/ou processeurs de communication.
Transfert de mémentos de couplage en f<nctïamement nultiprocesseur
L'OB 203 détermine le nombre de blocs mémoire encore libres dans le mémoire
tampon du coordinateur C.
nnmaATm!
Seules les entrées/sorties définies dans le bloc DB 1 sont prises en caupte
lors de l'actualisation de la mémoire image!
llmmmrr!
L'introduction ou la modification du bloc DB 1 n'est prise en compte par le
processeur qu'en effectuant un nameau w&krragew!
DB 1 (exemple) :
SORTIES TOR
MEMENTOS COUPL. SORTIE , 70, 72, 100, 9 3 > > > > s
lHKm!Am!
- L'ordre des intmductinis dans l e DB 1 est ïdEEérent. Amter que la
&ire image des entrées et sorties est actualisée dans l'ordre des
inscriptions dans l e DB 1.
- L'introduction répétée du même octet, par -le parr des tests, est
possible. A noter que la h i r e hage de l'octet sera durs actualisée
autant de fois que cet octet est défini dans l e DB 1.
O : KH = 4D41; DW 0-2 :
1 : KH = 534B; Indicatif de début
2 : KH = 3031; du DB 1
3 : KH = DEOO; Mot identificateur des entrées TOR
4 : KF = +00000; Octet d'entrée O
5 : KF = +00001; Octet d'entrée 1
6 : KF = +00002; Octet d'entrée 2
7 : KF = +00003; Octet d'entrée 3
8 : KF = +00007;
9 : KF = +00010;
10 : KH = DAOO; Mot identificateur des sorties TOR
11 : KF = +ooooo; Octet de sortie O
12 : KF = +00002; Octet de sortie 2
13 : KF = +00004;
14 : KF = +00012;
15 : KH = CEOO; Mot identif. des mémentos de couplage d'entrée
16 : KF = +00050; Octet mémento 50
17 : KF = +00051;
18 : KF = +00060;
19 : KH = CAOO; Mot identif. des mémentos de couplage de sortie
20 : KF = +00070; Octet mémento 70
21 : KF = +00072;
22 : KF = +00100; *
23 : KH = BBOO; Mot identif. pour longueur de bloc tempos.
24 : KF = +00128; Temporisations O à 127
25 : KH = EEEE; Indicatif de fin
* Le nombre de cellules de temporisation qui doivent être actualisées
cycliquement par le programme système est indiqué en inscrivant une
longueur de bloc de temporisations dans le DB 1. Ce comportement système
doit être paramétré dans le DXO, cf. chapitre "Bloc de données étendu
DX O".
Le DB 1 n'est pris en compte par le progrme système que lors d'un démar-
rage. Le programme système vérifie alors que les cartes correspondant aux
entrées/sorties et aux mémentos de couplage d'entrée/sortie indiqués dans
le DB 1 fournissent un signal d'acquittement. Eh cas de non-acquittement,
le processeur se met en STOP avec un défaut DB 1 et un clignotement lent de
la LED STOP. Le programme utilisateur n'est pas traité dans ce cas.
OU:
lmoR!mm!
Dans l e cas où l'autcmmte effectuait un t r a i e cyclique, au morpent &
la mise en STDP, les modes de démarrage différents peuvent damer lieu à la
transmission d'états & sigparrr incorrects d'un processeur à - '
1 par
les mémentos de couplage. Ceci peut être évité par une prr-.tim adé-
quate des blocs de démanage OB 20, W et 22.
mm!
En d e TEST, l e sigr& BBSP est hùïbé pour tas les processeurs. A l'ap-
parition d'un défaut, les sorties périphériques !KR ne s m t pas verrouil-
lées (exceptions: voir ci-dessus).
mRTAm!
Lorsque La mise en service est t d e , il est conseillé de rendre inactif
le mode de fcmctionn-t C ! enmanoeimrant l e camutateur de mode du
! ESC
coordinateur! Ainsi, une m i s e manLpiiatim ne risque pas d 1 q e n d r e r
des situations dangereuses pan l'installation!
Récapitulatif : m i s e en route de l'autmate nmïtiprocessern
e Charger les programes utilisateur dans les CPU ou enficher les car-
touches EPROM.
Les fonctions on-line sont exécutées en des points bien définis lors du
traitement des programmes par l'automate. Il existe des points au sein du
programme système (= points de contrôle système) et des points dans le
programme d'application (= points de contrôle utilisateur).
P o i n t s de contrôle utilisateur
Les points de contrôle utilisateur sont utilisés avec les fonctions de test
"VISUDYN" et "CONTROLE PAS-A-PAS1'.Un point de contrôle utilisateur est
appelé lorsqu'une instruction marquée par la PG est exécutée.
Vous connaissez déjà les modes STOP, DPIARRAGE, RUN. Lors de l'exécution de
la fonction on-line "CONTROLE PAS-A-PAS",le processeur se place dans un
autre 'mode: le mode ATTENTE. D'autres fonctions ONLINE peuvent être appe-
lées lorsque le processeur est en mode A'ïTENTE.
Propriétés du mode ATTmm!E
Si la fonction "ETAT VAR" se déroule en mode STOP, les états de signaux des
opérandes sont affichés, tels qu'ils existent au point de contrôle système
"mode STOP". Il est important que les entrées soient scrutées directement
sur la carte de périphérie puis affichées. Il est donc possible, par
exemple, de contrôler si un signal d'entrée parvient effectivement au pro-
cesseur. En mode multiprocesseur, vous pouvez aussi indiquer toutes les
entrées indépendment de l'affectation dans le DB1. L'état des sorties est
lu dans la mémoire image du processus.
Si le processeur passe d'un mode à l'autre (par exemple RüN -> STOP
-> REDEMARRAGE MANUEL), la fonction reste activée.
Pour quitter la fonction " ETAT VAR", il suffit d'actionner la touche
d'abandon, sur la console de programmation.
Après avoir appelé la fonction "VISUDYN" sur votre PG, déterminer le "point
d'arrêt" en introduisant le type et le numéro du bloc à tester (en préci-
sant éventuellement l'imbrication et le terme recherché).
La fonction "VISUDYN" peut aussi être appelée en mode STOP. Après quoi, un
démarrage ou un redémarrage mamiel est encore possible. Le processeur
traite alors le programme d'application jusqu'au point d'arrêt déterminé.
Les données correspondant à la suite d'instructions désirée sont affichées.
La fonction "VISUDYN" convient donc également pour le test du programme
d'application au démarrage ou pendant le premier cycle.
Imbrications et interruptions
Une suite d'instructions définie par un point d'arrêt est exécutée complè-
tement même si, entre temps, un autre niveau de traitement du programme est
imbriqué à une limite d'instructions puis traité (par exemple OB de défaut,
alarme process ou alarme d'horloge).
Nota: Si vous avez réglé le mode TEST sur le coordinateur, les ordres de
sortie ne sont pas inhibés (la LED BASP est éteinte). Si les
instructions modifiant la périphérie TOR sont traités ou si le
processeur actualise la mémoire image du processus, les cartes de
périphérie délivreront les signaux correspondants.
Vous définissez sur votre console une autre instruction dans le même
bloc ou dans un autre bloc. Le processeur poursuit le traitement du
programme jusqu'à ce qu'il atteigne le noweau point d'arrêt. L'ins-
truction est exécutée jusqu'à la limite d'instructions. Le processeur
passe ensuite en mode ATTENTE et fournit les données.
Nota: En mode ATTENTE, vous pouvez appeler d'autres fonctions telles que
"Lecture REP." , "ETAT VAR1' ou "FORCAGE VAR".
Dès que le processeur a quitté l'état d'attente, et que le traitement
du programme est poursuivi, les temporisations et les temps système
sont actualisés jusqu'à ce qu'un point d'arrêt soit atteint.
brsqu'un point d'arrêt défini n'a pas encore été atteint, vous avez la
possibilité de l'annuler en actionnant la touche d'abandon sur la console
de programmation. Le processeur passe alors au mode ATTENTE. Vous pouvez
ensuite définir un nouveau point d'arrêt ou appeler la fonction "FIN DE
CONTROLE PAS-A-PAS".
En mode ATTENTE et en mode STOP, vous powez interrompre la fonction en
appelant "FIN DE CONTROLE PAS-A-PAS".Le processeur se met en STOP (ou bien
reste dans ce mode). La ï.ED STOP clignote lentement. Le bit de commande
"FIN P/P" est marqué d'une croix. ün démarrage est ensuite nécessaire. La
fonction est interrompue comme indiqué ci-dessus lorsqulundéfaut d' inter-
face (interruption sur le câble PG) ou un défaut MDT apparaît pendant la
fonction "CONTROLE PAS-A-PAS".
Imbrications
lHlm!wm!
Ies données sont l u e s et affichées au niveau des limites d'instructions.
Toutes les imbrications y afférentes ne surt pas encure traitées.
Point
1<<<<<< Alarme process, alarme d'horloge
d'arrêt Exécution de OB de défaut
suivant l'instruction
+ lecture des
données
Interruptions
meoR!mm!
Si, en mode ATENTE, l e sélecteur est placé en position STOP, l e processeur
ne passera en mode STûP qu'après avoir quitté le mode M ' E R i Z .
lHKx!mm!
S i des causes d'interruption entraînent la mise en SrOP du processeur
pendant le "CûNiRûIE PM-A-PAS" , cette f a ~ ~ t i oreste
n active après l e
démarrage suivant. ï.e point d'arrêt qui avait été défini reste conservé.
11.4 Fonction on-line nFORCAGEn
La fonction "FORCAGE" vous permet de régler directement les octets de
sortie de votre automate sans passer par la mémoire image du processus.
Elle vous permet aussi de détecter les cartes de périphérie qui n'ac-
quittent pas (périphérie TOR O à 127; signalisation sur la PG). Vous avez
la possibilité de tester et de conmander directement les appareils raccor-
dés aux sorties (moteurs, valves).
MPORTBNIP!
Ia fanction "FCRCAGEw n'est admise qu'en iode SrOP!
Appel de la foncti<n
Le forçage est actif à un point de contrôle système. Il faut noter que les
valeurs forçées peuvent, par la suite, être écrasées (p.ex. par le pro-
gramme d'application ou lors de l'actualisation de la mémoire image).
NOTA: La console force les variables process E, A, M par octet et les mots
de données 3W, les temporisations T et les compteurs Z par mot.
lmtxwa!!
Si vous forcez plusieurs opérandes, la prise en caupte des octets forcés ou
des m o t s dans l e cas de oCT, T, 2) est répartie sur plusieurs points de
contrôle système successifs.
11.6 Fonction on-line nCOHPRESSION mémoiren
Cette fonction permet de disposer les blocs valables du programme d'appli-
cation les uns à la suite des autres dans la mémoire. Cette fonction est
exécutée séparément dans la cartouche RAM et dans la RAM des DB. Les
lacunes causées par l'effacement ou la correction de blocs disparaîssent. A
cet effet, un bloc complet est déplacé à chaque fois au début de la zone
mémoire libre. Cela peut être réalisé aux points de contrôle système
"cycle" et 'lstopll.
mm!
Les défauts suivants sont détectés par la fonction "
-I
O
N kireu:
- lorigueur de bloc e d
- code "7070" erroné dans l'en-tête de bloc
- type & bloc mm valable
(pour les OB: m d r o & bloc mm valable).
La fonction est interrapue. Un message est affiché sur la console. I l faut
alors procéder à un effacemnt général. Ia foncticm ne peut être appelée
qu'après effacement général et rechrgement du prr-? .
Dans le cas des zones mémoire adressables par octet (mémentos, mémoire
image), le contenu de l'octet de poids fort est représenté par "FF".
P)
5
C
c
.,- O
Fonctionson-line; activités
n -
0)
9
O :2
E E
p % Ig
c
.G P
.-
l- a3
Introductionadresse : écrituredonnées 1) *
Introductiond'un bloc :validation du bloc * + t
StartIStop t e
Effacementgénéral *
1 VAR 1) * *
Tableau: Activités exécutées aux points & cmtrôle système et arn points
de contrôle utilisateur.
ANNEXE A: Caractéristiques techniques de l'AG 135U
Exécution du p r o g r a m cyclique
(mode monoprocesseur)
- Temps de base pour L'appel
OBl/FBO:
- Supplément pour 1l a c t u a l i s a t i o n
de La mémoire image de processus
en fonction du nombre (n) d'oc-
t e t s d'entrée ou de s o r t i e , avec
O < n 5 256
- Supplément pour Le t r a n s f e r t
des mémentos de couplage, en
fonction du nombre de ceux-ci
(n), avec O < n 5 256
Chien de garde
Préréglage 100 ms 150 m 150 ms
Réglable entre - 1...4000 ms 1.. .6000 ms
réarmement oui oui oui
Capacité de La mémoire u t i l i s a t e u r
(en Kmots) -< 32 -< 32 -< 32
Capacité de La mémoire pour blocs
de données (RAM DB, en Kmots) 3,7 env. 11,l env. 23,3 env.
Nombre de temporisations e t de
conpteurs 128 de chaque 128 de chaque 256 de chaque
Données système 3 et 4
SD3 SD4 1
I
Constitution des, l i s t e s d'adresses des blocs:
8001H yyyyH longueur de bloc incorrecte yyyy=adr. du bloc de longueur incorrecte
8002H yyyyH adr. f i n de bloc calculée est fausse yyyy=adr. de bloc
8003H yyyyH i d e n t i f i c a t e u r de bloc erroné yyyy=adr. du bloc à i d e n t i f i c a t e u r erroné
8004H yyyyH no du bloc d'organis. t r o p grard (adnis:OBl à 39) yyyy=adr. du bloc
8005H yyyyH no de bloc de données O (admis: DBI à DB255) yyyy=adresse d u bloc portant l e
mauvais numéro
Evaluation du DB 2:
0421H DByyH bloc de non chargé yy = nunéro du bloc de données non chargé
0422H FByyH bloc fonctionnel non chargé yy = nunéro du bloc fonctionnel non chargé
0423H FByyH bloc fonctionnel inconnu yy = nunéro du bloc fonctionnel non reconnu
0424H FByyH bloc fonctionnel chargé par un yy = nunéro du bloc fonctionnel
l o g i c i e l PG incorrect
0425H DByyH Longueur du DB de régulation yy = nunéro du bloc de données
incorrect
0426H - l a place mémoire dans l a RAM
des DB ne s u f f i t pas
Evaluation du OX O:
0431H yyyyH i d e n t i f i c a t e u r ou code incorrect yyyy = i d e n t i f i c a t e u r ou code incorrect
0432H yyyyH paramètre incorrect yyyy = paramètre incorrect
0434H yyyyH nombre de temporisations non admis yyyy = nombre de temporisations
(admis: 256) incorrect
0435H WH t e p s de cycle non admis yyyy = temps de cycle incorrect
(acinis: 1 rns à 4 s)
ACCU 1 ACCU 2
I
Traitement de r-4gulateurs:
0801H 1
DByyH erreur de période dléchant. yy = no. du bloc de données appel OB 34
de rég. concerné
0802H DByyH bloc de données de régu- yy = no. du bloc de données appel OB 34
l a t e u r non chargé non chargé
bloc fonctionnel de régu- yy = no. du bloc fonctionnel appel OB 34
lateur non chargé non chargé
0804H FByyH bloc fonctionnel de régu- yy = no. du bloc fonctionnel appel OB 34
lateur non reconnu non reconu
0805H FByyH bloc fonctionnel de régu- yy = no. du bloc fonctionnel appel OB 34
l a t e u r chargé avec mauvais
Logiciel PG
0806H DByyH Longueur du bloc de données yy = nunéro de bloc de appel OB 34
de rég. incorrect données
0880H yyyyH r e t a r d d'acquittement (ACQ) au cours du
traitement de régulateur appel OB 34
Retard d'acquittement:
1E23H yyyyH r e t a r d d'acquittement (ACQ) dans Le programne dlapplic. appel OB 23
yyyy = adresse ACQ
1E25H ,WH r e t a r d d'acquit. l o r s de l ' a c t u a l i s a t i o n des s o r t i e s appel OB 24
TOR yyyy = adresse de L'octet de s o r t i e non a c q u i t t é
1E26H yyyyH r e t a r d d'acquit. Lors de L 1 a c t w l i s a t i o n des entrées appel OB 24
TOR yyyy = adresse de l ' o c t e t d'entrée non acquitté
1E27H yyyyH r e t a r d d'acquit. Lors de L1actualis. des mémentos de appel OB 24
couplage de s o r t i e
yyyy = adresse de L'octet de mémento non a c q u i t t é
1E28H yyyyH r e t a r d d'acquit. l o r s de L1actualis. des mémentos de appel OB 24
couplage d'entrée
yyyy = adresse de l ' o c t e t de mémento non a c q u i t t é appel OB 24
ANNEXE C: Jeu d10p8rations STEP5
Opérations de base
Opération Paramètre
Opération Paramètre
e Opérations de mémorisation :
.e Opérations combinatoires
sur bits : S E
S A
S M
S D
R E
R A
R M
R D
= E
= A
= M
= D
Opérations de chargement :
O à 127
O à 126
O à 124
O à 127
O à126
O à 124
O à 255
O à 254
O à 252
O à 255
O à 255
O à 255
O à 254
O à 255
O à 255
0 à 127
Opérations de comparaison : 128 à 255
0 à 126
!=F 128 à 254
X F O à 255
>F O à 254
>=F O à 255
<F O à 255
<=F O à 255
!=D 2 caract. alphanum.
X D profil binaire
>D (16 bits)
>=D O à FFFF
<D - 3 2 768 à
<=D +32 767
!=G O à 255 pour
X G chaque octet
>G 0 . 0 à 999.3
>=G
<G
<=G
') k0.1469368 x 1 0à ~ ~ ~
-
+0.1701412 x 103'
Opération Paramètre Opération 1 Paramètre
Opérations de transfert :
Opérations complémentaires
Opération Paramètre
Opérations combinatoires
sur mots :
xow
Opérati 1s de temporisation
et de c iptage
FR T O à 255
FR Z O à 255
Appels de blocs FR = Opérande formel
SI = Opérande formel
SPA PB SE = Opérande formel
SPA FB svz = Opérande formel
BA FX ssv = Opérande formel
SPA SB SAR = Opérande formel
SPA OB RD = ' Opérande formel
SPA OB ')
SPB PB Opérations de chargement :
SPB FB
BAB FX L - Opérande formel
SPB SB LC - Opérande formel
SPB OB LW = Opérande formel
SPB OB ') LD = Opérande formel
A DB L BS O à 255
AX DX L BT O à 255
BE L BA O à 255
BEB L BB O à 255
BEA LIR 2, O à 15
s
e Opérations de chargement e Fonctions de conversion :
(suite) : (suite) :
LRW
LRD
LB GB
LB GW GFD
LB GD
LW GW e Fonctionsi de décalage :
LW GD
LB CB O à 15
LB CW O à 15
LB CD O à 32
LW CW O à 32
LW CD RLD O à 32
RRD O à 32
e Opérations de transfert : SVW O à 15
Fonctions diverses :
(suite) :
B DW O à 255
B MW O à 255
BI 2 ,
B BS O à 255
TAK
BLD O à 255
E DB O à 255
EX DX O à 255
SES O à 31
SEF O à 31
e Opérations arithmétiques :
ADD BF - 1 2 8 à +127
ADD KF -32 768 à
+32 7 6 7
ADD DF 2 , -2147483648 à
+2147483647
+D 2 ,
-D 2 ,
2 , Opérations système
ANNEXE D: Vue d'ensemble (alphabétique) des instructions -5
1
Instruc- Groupe dl instructions Instruc- I Groupe dl instructions
tion
STEP5 kg5
!=D 1 opération de comparaison DED * opération de conversion
!=F
l 11
DEF * 11
!=G 11
DUD * 11
=E Il
L BA * II
=M L BB *
m opération de comparaison L BS *
XF Il
L BT *
X G UE *
k D LC T
k F
>=G
>D
>F
X:
A DB * appel de bloc L DW
ADD BF * opération arithmétique L EB
ADD DF * II
L ED
ADD KF * Il
L Ex
AF * autre opération LIR * opération système!
AS * 11
L KB opération de chargement
AX DX appel de bloc L KF 11
BA FX II
L KG II
BAB JX L KH
Be * autre opération LKM
B BS * opération système! L KT
B DW * autre opération L KY
BE fin de bloc LKZ
BEA 11
L MB
BEB 11
L MD
BI * opération système! LMW
BLD autre opération L PY
BMW * 11
L PW
décrémentation L QB
L QW
Instruc-
tion
Groupe d'instructions
1 Instruc-
Ition
Groupe d'instructions
RB = * opération de positionnem. T AD Il
R E opération de rnémorisation T BB II
RM opération de mémorisation T BT II
RT opération de temporisatior T DL II
RZ opération de comptage T DR Il
s= * opération de positionnem. T DW II
S A opération de mémorisation T ED II
SAR= * .
opération de tempor / T EW II
S E 11
T MW Il
SI = * T QB II
SI T T QW 11
S M opération de mémorisation UA II
UN E opération de chargement
UNM 11
UN T
UN Z
U T op. de combinaison binaire
UW * op. de combinaison binaire
uZ op. de combinaison binaire
XOW * op. de combinaison numérique
Z RZ opération de comptage
z VZ II
XF opération arithmétique
XG 11
ANNEXE E: inslzructiais Sï'EP5 de la CKJ 928, classées dans l'ordre des codes
insmuctiai
Explications:
Les positions qui ne sont pas décodées sont caractérisées par la lettre
IIX"
- Colonne "STEP5":
Contient le code STEP5 (mnémonique) utilisé pour la programmation en mode
LIST.
- Colonne "remarque":
Mot
---1 - - - 2 - - - 3
5 4 ~ ~ ZR2
5 5 ~ ~ SPBPB
5~ P P LD=
5~ P P LQW
5800 PPPP ADDKF
5900 -F
Profil binaire (mot 1)
5432 1.098 7654 3210
0101 1010 oppp pppp LED
0101 1010 lppp pppp LAD
0101 1011 Oppp pppp TED
0101 1011 lppp pppp TAD
Mot
- - - 1 - - - 2 ---3
~CPP sz
5 % ~ SPBSB
~FPP WB
6000 :F
6003 :G
6004 xF
6005 PPPP PPPP ADDDF
6007 xG
6008 Ern
6009 -D
600B -G
600C xxpp SPS=
600D +D
600F +G
6 1 ~ ~ sw
6 2 ~ ~ LBS
6 3 ~ ~ TBS
6 4 ~ ~ RLD
6500 BE
6501 BEA
6 6 ~ ~ T=
6~ P P TBB
6800 PPPP LRW
68pl SVW
6802 GFD
6803 pppp TRW
Code i n s t r u c t i o n Paramètre STEP5 Remarque
(Valeurs admises)
Mot
---1 ---2 ---3
6804 pppp -32768,+32767 LRD N
6805 PPPP -32768,+32767 TRD N
6806 FDG
6807 KZD
6808 Dm
680A DUD
680C DEF
680E DED
6819 MAS
6829 MAB
6849 MSA
6869 MSB
6889 MBA
6899 MBS
69PP SRW
~APP LBA
~BPP TBA
~CPP zm
~DPP SPAOB
~EPP BDW
~FPP TBT
7002 TAK
7003 STP
700B PPPP SPR
7 1 ~ ~ SVD
7 2 ~ ~ LPY
73PP TPY
7 4 ~ ~ RRD
75PP SPAPB
7~ P P B=
7 7 ~ ~ TQW
7801 xxpp BAFX
7802 xxpp BABFX
7803 xxpp AXDX
7804 xxpp EXDX
7805 xxpp EDB
7806 xxpp SES
7807 xxpp SEF
7 8 ~ 9 PPPP MBR
780A PPPP ABR
780D PPPP LBCB
780E PPPP LBGB
781D PPPP LBCW
781E PPPP LBGW
782D PPPP LBCD
782E PPPP LBGD
783D AGR
783F Oqpp UD
7831 lqpp OD
783F 2qpp UND
783F 3qpp OND
783F 4qpp SD
7833 5qpp RD
783F 6qpp =D
Code i n s t r u c t i o n Paramètre Remarque
(Valeurs admises)
Mot
- - -1 - - - 2 ---3
785D PPPP LWCW
7853 PPPP LWGW
786D PPPP LWCD
7863 PPPP LWGD
788D PPPP TBCB
788E PPPP TBGB
789D PPPP TBCW
7893 PPPP TBGW
78AD PPPP TBCD
78AE PPPP TBGD
78CD PPPP TSC
78CE PPPP TSG
78DD PPPP TWCW
78DE PPPP TWGW
78ED PPPP TWCD
78EE PPPP TWGD
7900 +F
7APP LPW
~BPP TPW
~CPP RZ
7Dpp SPASB
~EPP BI
7Fpp TQB
Profil binaire (mot 1)
5432 1098 7654 3210
1000 oqqq PPPP PPPP UM
1000 lqqq PPPP PPPP OM
1001 oqqq PPPP PPPP SM
1001 lqqq PPPP PPPP =M
1010 oqqq PPPP PPPP UNM
1010 lqqq PPPP PPPP ONM
1011 oqqq PPPP PPPP RM
Mot
---1 - - - 2 ---3
B~PP
B~PP
BAXX
BBxx
BCPP
BDpp
B h
validation du traitement
d ' alarmes
inhibition du traitement
d'alarmes
BNNFXE G: Codes des ni- de traitement & programne
Les codes indiqués ci-après sont ceux qui figurent dans llITPILEsous la
rubrique "NNEAU" (représentation hexadécimale) .
0002H - démarrage
0004H - cycle
0006H - alarme d'horloge 5 s
0008H - alarme d'horloge 2 s
OOOAH - alarme d'horloge 1s
OOOCH - alarme d'horloge 500 ms
OOOM - alarme d'horloge 200 ms
OOlOH - alarme d'horloge 100 ms
0012H - alarme d'horloge 50 m s
0014H - alarme d'horloge 20 ms
0016H - alarme d'horloge 10 ms
L'état actuel de la CPU est consigné dans les bits de commande (>>STP<<).
Certaines caractéristiques de l'état dans lequel se trouve la CPU sont
également notées (OB1 chargé, mode monoprocesseur, cartouche 16 Kmot etc.).
La cause du passage à l'état STOP est marquée d'une croix dans la ligne
supérieure: "INS-STP". N'ayant pas programmé d'instruction STP dans notre
programme d'application STEP5, nous déduisons que l'instruction STOP a été
exécutée par le programme système, un OB de défaut n'ayant pas été chargé.
Dans la ligne inférieure, le bit "DPT" est marqué d'une croix. Un défaut de
type "dépassement de temps" est apparu et le programme système a constaté
que l'OB de défaut correspondant n'avait pas été programmé. Il existe
cependant différents défauts "dépassement de temps" et les informations
fournies par les bits de commande ne nous permettent pas de conclure défi-
nitivement.
Nous procédons maintenant à la lecture de 1'ITPILE:
ITPILE
PROFONDEUR: 01
ORIGINE IXTERRUP: MDT DPE BAT MPSTP CYC ACQ DAD STP
X
DCO S-6 DPT REG BL.P IT.P> >IO0 DOUB
PROFONDEUR: 02
ORIGINE INTERXüP: MDT DPE BAT MPSTP CYC ACQ DAD STP
Le code "04"H (sous la rubrique NIVEAU) montre qu'il s'agit de la pile des
interruptions correspondant au niveau de traitement interrompu CYCLE. Le
compteur d'adresses STEP (CAD) pointe sur l'adresse "37"H. L'instruction
ayant causé l'erreur se trouve à cette adresse absolue, dans la mémoire
utilisateur. L'interruption a eu lieu dans le bloc d'organisation OB 1.
Dans l'OB 1, l'instruction ayant causé le défaut se trouve à l'adresse
relative "04"H (ADR-EL). Comme nous l'avons déjà constaté, cette instruc-
tion a provoqué un dépassement de temps (voir bit de commande MMII, bit 25 ,
et ORIGINE INTERRUPTION).
B
BASP (Inhibition des ordres de sortie), 5-36, 10-13
Bits de commande
abréviations, 5-8
exploitation, 5-7
Bloc, 2-3, 2-9
adresse de début, 3-4
erreur d'appel, 5-30
Bloc de données DB 0, 2-35
Bloc de données DB 1, 2-35, 10-2, 10-9
Bloc de données DB 2, 2-36
Bloc de données DX 0, 2-36, 7-1
Blocs de données, 1-4, 2-9, 2-10, 2-31
accès, 2-32, 6-16
décalage, 6-29
domaine de validité, 2-34
duplication, 6-30
élaboration, 3-52
modification, 2-31
ouverture, 2-33
programmation, 2-32
structure, 2-32
test, 6-20
transfert, 6-29
Bloc étiquette, 2-11
Index - 1
Blocs
correction, 2-12
effacement, 2-12
Blocs de code, 1-4, 2-9
Bloc fonctionnel FB 0, 2-30
Blocs de dialogue, 6-56
Blocs de programme, 2-9
appel, 2-13
programmation, 2-13
structure, 2-13
Blocs d'organisation, 2-9
appel, 2-14
fonctions spéciales, 2-18
OB spéciaux, 2-16
programmation, 2-13
structure, 2-13
Blocs fonctionnels, 2-10, 2-19
appel, 2-26
modification, 2-25
paramétrage, 2-26
programmation, 2-22
structure, 2-20
Blocs fonctionnels standard, 2-29
Blocs séquentiels, 2-10
appel, 2-14
programnation, 2-13
structure, 2-13
Boucles de comptage, 6-10
BS 3 et 4
exploitation, 5-3
Bus de périphérie, 10-7
C
CAD (pointeur d'adresses STEP), 9-11
Caractéristiques des régulateurs, 6-76
Caractéristiques techniques, 11-1
Caractéristiques techniques 135U, A-1
Cartes périphériques, 10-9, 10-11
Cartouche EPROM, 2-3, 3-6
Cartouche RAM, 3-5
Causes de défauts
recherche, 5-6
Causes d'interruption, 5-21, 5-26, 5-27
Code opération, E-1
Codes de défauts
vue d'ensemble, B-1
Collision d'alarmes d'horloge, 4-20, 4-21, 5-37
Communication multiprocesseur, 10-8
Complément, 3-46
COMPRESSION mémoire, 11-10
Compteur de boucles, 6-10
Contenu des données système, 8-13
Contenu des registres, 9-5
Contrôle pas-à-pas,11-5
Conversion du double-mot, 3-46
Conversion d'un nombre à virgule fixe, 3-46
Conversion virgule fixe / virgule flottante, 3-47
Index - 2
Coordinateur, 10-2, 10-5
démarrage, 10-12
Corps de bloc, 2-11
Cycle, 4-17
interruptions, 4-18
D
Décrémentation, 3-48
Défaut DBO, 5-20
Défaut DB1, 5-22, 10-11
Défaut DB2, 5-24
Défaut DXO, 5-25
Défaut de substitution, 5-28
Défaut de temps d'exécution
autres, 5-32
Défaut paramètres, 5-29
Défaut régulateur, 5-37
Défaut temps de cycle, 5-36
Démarrage, 4-12
lancement, 4-9
DEMARRAGE
défaut, 5-21, 5-26
interruptions, 4-14
lancement, 4-9
Diagnostic de défauts, 5-2
~oubleadressage, 10-6
Double-mot (représentation), 6-34
DXO (structure), 7-2
E
Effacement général
demande, 4-7
exécution, 4-8
Entrées des régulateurs, 6-73
Erreur d'adressage, 5-34
Erreur de code opération, 5-27, 5-28
Effacement général, 11-11
Emplacements, 10-2
En-tête de bloc, 2-10, 8-7
Entrées TOR, 10-10
Erreur de transfert, 5-31
ETAT (indicateur), 3-11
Etat d'attente
caractéristiques, 11-2
Etat stop, 4-6
sorties, 4-8
ETAT VAR, 11-3
Etats de fonctionnement
DEMARRAGE, 4-9
ETAT D'ATTENTE, 11-1
exposant, 2-6
RUN, 4-16
STOP, 4-6
vue d'ensemble, 4-2
Exemples de programmation, 3-24
Index - 3
F
F U et FLO, 3-12
Fonctions
fonctions nouvelles, 1-7
Fonctions on-line, 11-1
Fonctions spéciales, 6-1
défaut, 6-1
vue d'ensemble, 6-3
FORCAGE, 11- 9
FORCAGE VAR, 11-9
F o m t des données, 2-32
G
GRAPH 5, 2-2
1
Identification d'emplacement, 8-25
Imbrication des défauts, 5-12
Incrémentation, 3-48
Indicateurs d'opérations sur mots, 3-11, 3-12
accès, 6-5
Indicateurs de résultat, 3-11
accès, 6-5
châssis d'extension, 3-17
Indicatif de CPU, 8-26
Initialisation, 5-21
défaut, 5-21
Instruction stop, 3-23
Interface utilisateur, 3-9
ITPILE
abréviations, 5-12
exploitation, 5-12
exploitation (exemple), 5-16, H-1
J
Jeu d'opérations STEP 5, C-1
L
Lecture ADRESSE, 11-11
Lecture BLPILE, 5-4
Lecture ITPILE, 5-2
LED de défaut, 5-2
LED STOP
clignotement lent, 4-7
clignotement rapide, 4-7
feu fixe, 4-6
Ligne d'interruption, 4-24
Limites de blocs, 4-3
Limites d'instructions, 4-3
Liste d'adresses de blocs (DBO), 3-4
Liste d'instructions (LIST), 2-2
Logigramme (LOG), 2-2
Longueur bloc des temporisations, 10-10, 10-11
Index - 4
H
Manque de tension (MDT), 4-10, 4-13, 4-14, 10-12
au démarrage, 4-14
Mantisse, 2-6
Mémentos banalisés, 4-27
Mémentos intermédiaires, 4-27
Mémentos de couplage, 3-7, 10-4
transfert, 6-50, 10-7
Mémentos de couplage d'entrée, 3-8, 10-5, 10-10
Mémentos de couplage de sortie, 3-8, 10-5, 10-10
Mémoire Image, 3-17, 5-34, 5-35, 8-6
Mémoire image des entrées, 3-7
Mémoire image des sorties, 3-7
Mémoire utilisateur, 8-7
Mode multiprocesseur, 10-1, 10-9
démarrage, 10-12
Modes de démarrage
comparaison, 6-50
Mode test, 10-13
lancement, 10-13
particularités, 10-13
Mot (représentation), 6-34
Mot de données système BS 3 + 4
exploitation, 5-3
Mot d'effacement des indicateurs d'interruption (MEII), 8-18
Mot indicateur groupé des interruptions (MMII), 8-19, 8-20
N
Niveaux de traitement de programme
caractéristiques, 4-3
indicatifs, G-1
priorité, 4-3
vue d'ensemble, 4-2
Nombre à virgule à gauche, 6-74, 6-78
Nombre à virgule fixe 16 bits, 2-5
Nombre à virgule fixe 32 bits, 2-5, 2-6
Nombre à virgule flottante, 2-6
Nombres à virgule flottante, 2-6
introduction, 2-7
Nombres binaires, 2-5
Nombre codé BCD, 2-8
Nombres décimaux, 2-5
Numéros de blocs, 2-11
O
OB de défaut
interruptions, 5-20
Octet (représentation), 6-34
Octets de mémentos
restauration, 6-24
transfert, 6-22
Octets de sortie
forçage, 11-9
Opérandes, 2-4
Opérandes actuels, 2-23, 2-24, 2-26, 3-40
Opérandes formels,.2-22
Index - 5
Opérations, 2-4
Opérations arithmétiques, 3-22, 3-41
Opérations combinatoires
sur bits, 3-13, 3-37
sur mots, 3-42
Opérations complémentaires, 2-1, 3-37
Opérations de base, 2-1
Opérations de calcul, 3-22, 3-41
Opérations de chargement, 3-14, 3-39
Opérations de comparaison, 3-14
Opérations de comptage, 3-18, 3-38
Opérations de contact, 3-18, 3-38
Opérations de conversion, 3-46
Opérations de décalage, 3-44
Opérations de mémorisation, 3-14, 3-37
Opérations de saut, 3-43
Opérations de substitution, 3-50
Opérations de temporisation, 3-18, 3-38
Opérations de transfert, 3-14, 3-39
Opérations nulles, 3-23
Opérations STEP 5, 2-4
binaires, 3-10
d'organisation, 3-10
numériques, 3- 10
Opérations système, 2-1, 3-37
OR (ou), 3-11
Organisation de la mémoire
CPU 928, 8-2
&Il système,
i 8-3
Organisation du programme, 3-1
Organisation mémoire, 9-1, 11-11
OS (Overflow mémorisé), 3-12
OV (Overflow), 3-12
P
Pages, 6-32
Pages
accès, 9-24
Paramètres de blocs, 2-23, 2-24
Première interrogation, 3-11, 3-13
Période d'échantillonnage, 4-23
Période d'échantillonnage
erreur, 5-39
Périphérie, 3-17, 8-5
accès, 8-6
adresses, 6-33, 8-4
Périphérie P, 3-17
Périphérie Q, 3-17
Pile de blocs (BLPILE), 3-5
exploitation, 5-4
lecture, 6-12
Point d'arrêt, 11-4, 11-5
Point de contrôle système, 11-1
Point d'interruption, 5-7
Possibilités de configuration, 1-1
Points de contrôle utilisateur, 11-1
Processeur de c m i c a t i o n (CP), 10-6
Profondeur d'imbrication, 1-7, 3-4
Index - 6
Programme système, 1-4, 2-3
lecture du checksum, 6-52
Programme utilisateur, 1-4, 2-3
Pseudolimites d'instruction, 6-1, 9-14
R
RAM des DB, 6-57
Redémarrage
lancement, 4-10
Redémarrage automatique, 4-13
Redémarrage manuel, 4-12
Registre à décalage, 6-57
effacement, 6-64
initialisation, 6-60
traitement, 6-63
Registre de base, 9-19
chargement, 9-19
Registre DBA, 9-7
Registre DBL, 9-10
Registres, 1-6
accès, 9-5
décalage, 9-20
Régulateur P, 6-76
Régulateur PD, 6-76
Régulateur PI, 6-76
Régulateur PID, 6-65
abréviations, 6-77
DB de transfert, 6-69
Représentation des nombres, 2-5
Reste du cycle, 4-12, 4-14, 4-16
Retard d'acquittement, 5-35
Retour de tension secteur, 4-10, 4-13, 10-12
RLG (résultat logique), 2-14, 2-15, 3-11, 3-13
RUN
défaut, 5-26
S
Schéma à contacts (CONT) , 2-2
Sémaphores
exemple d'application, 3-56
positionnement, 3-53
validation, 3-53
Signe, 2-6, 2-8
extension, 6-43
Sorties régulateur, 6-73
Structure régulateur R64, 4-23
Sorties TOR, 10-10
Synchronisation de démarrage, 10-12
T
Temporisation
code de base de temps, 3-19
facteur, 3-19
Temps de cycle, 1-3, 3-7, 5-36
réarmement, 6-49
réglage, 6-49
Temps de cycle total, 3-7
Temps d'exécution, 3-7
Temps de réaction, 4-27
Index - 7
Traitement des défauts par des OB, 5-18
Traitement du programme
cyclique, 3-6, 4-17
déclenché par alarmes process, 4-24
déclenché par horloge, 4-18
influence sur le traitement, 3-9
régulateur, 4-23
Transfert de blocs mémoire, 9-13
Transfert de données, 10-4, 10-5, 10-6
transfert "protégé", 10-8
Transfert mémentos/données, 6-22, 6-24
Types de blocs, 2-9
v
Valeur de comptage, 3-19
z
Zone BA, 8-12
Zone BB, 8-12
Zone BS, 8-12
Zone BT, 8-12
Zones mémoire, 1-5
Index - 8
Vue d'ensemble des figures et synoptiques
Chapitre 1
Figure: Structure typique d'une installation AG 135U.................1-2
Chapitre 2
Figure: Modes de représentation du langage de programmation STEP5....2-2
Figure: Blocs dans la mémoire du programme ...........................
2-11
Figure: Structure d'un bloc d'organisation. de programme et
séquentiel ...................................................
2-13
Figure: Appels de blocs de programme .................................
2-14
Vue d'ensemble 2-5: Blocs d'organisation à fonction spéciale
dans la CPU 928 ....................................
2-18
Figure: Structure d'un bloc fonctionnel (FBW) ......................
2-20
Exemple: Programmation d'un bloc fonctionnel ..........................
2-25
Figure: Appel et paramétrage d'un bloc fonctionnel...................2-27
Figure: Structure d'un bloc de données ............................... 2-32
Figure: Owerture de blocs de données et accès aux mots de données 2-34 ...
Figure: Validité d'un bloc de données appelé .........................
2-35
Chapitre 3
Exemple: Organisation du programme utilisateur suivant
la structure du programme .................................... 3-2
Exemple: Organisation du programme utilisateur suivant
la structure de l'installation ...............................3-3
Exemple: imbrication de blocs et pile de blocs (BPILE) ................3-5
Figure: Rangement des blocs dans la mémoire de programme .............3-6
Figure: Exécution de programme cyclique..............................3-8
Chapitre 4
Figure: Vue d'ensemble des états de fonctionnement et
des niveaux de traitement de programme ........... .........
-4-2
Figure: Exécution d'un programme d' interruption
aux limites de blocs ......................................... 4-27
Chapitre 5
Figure: Exemple de constitution de 1'ITPIL.E ..........................5-16
Chapitre 6
Figure: Schéma de principe du registre à décalage comprenant
3 pointeurs et 12 cellules mémoire ...........................6-57
Figure: Schéma de principe du registre à décalage avec
3 pointeurs et 12 cellules mémoire avant le premier pas ......6-58
Figure: Schéma de principe du registre à décalage avec
3 pointeurs et 12 cellules mémoire à la suite
du premier pas de décalage ...................................
6-59
Figure: Structure du bloc de données dlinitialisationd'un registre
à décalage...................................................6-60
Figure: Schéma fonctionnel du régulateur PID .........................6-65
Chapitre 7
Figure: Structure du DX O .......................................... 7-2
Chapitre 8
Figure: Topogramme de la mémoire de la CPU 928.......................8-2
Figure: Topogramme de la RAM système (16 bits) .......................8.3
Figure: Champ d'adressage de la périphérie (8 bits) .................. 8-4
Figure: Zones d'adressage pour la périphérie/programmation ...........8-5
Chapitre 9
Figure: Mémoires locale et commune ...................................9-2
Figure: Contenu des accumulateurs au cours du traitement
du p r o g r m e .................................................9-12
Figure: Effacement de tous les octets de mémentos (MBO à MB255) ......9-12
@ Siemens AG 1988
SIEMENS
SIMATIC S5
Communication multiprocesseur
Automate S5-135U, CPU 922 (processeur R)
CPU 928 et CPU 928B
Automate S5-155U, CPU 9461947
Guide d'utilisation C79000-B8577-C468-05
Sommaire
Page
Introduction .............................................................................................................3
Configuration.............................................................................................................
4
Principe .....................................................................................................................
4
Zones occupées.....................................................................................................
11
Parametrage ....................................................................................................... 14
Exploitation des paramètres de sortie .....................................................................
14
Indicateurs de résultat .............................................................................................
15
Octet indicateur : conflit d'initialisation. erreur ou avertissement .........................16
Applications ......................................................................................................42
Appel des OB de fonctions spéciales par des blocs fonctionnels ..................... 42
lnitialisation (FB 200) ..............................................................................................
43
Emission d'un pa uet de données (FB 202) ......................................................... 45
1
Test de capacité 'émission (FB 203 .....................................................................
Réception d'un paqu? de &nnées bB 204) ......................................................
47
b
Test de capacite de reception (FB 2 5) .................... .
48
........................................50
Transfert de blocs de données................................................................................
51
Description de la fonction........................................................................................
51
Transfert d'un bloc de données (FB 110)................................................................ 51
Exemple d'application (pour S5-135U) ................................................................... 54
Extension de la zone des mémentos de couplage .................................................56
Description du problème ......................................................................................... 56
Solution ...................................................................................................................
57
Structure des données ........................................................................................... 57
St%cture du programme .................... . .................................................................
60
Emission de zones de mots de données (FB 100) ................................................ 62
Réception de zones de mots de données (FB 101) ............................................... 65
Exemple d'application (pour S5-135U) ................................................................... 68
lntroduction
1 lntroduction
Les automates programmables multiprocesseur S5-135U et S5-155U peuvent être équipés au
maximum de 4 CPU. L'échange de données entre les CPU se fait à I'aide des "outils" suivants
pouvant être utilisés seuls ou combinés.
Les mémentos M sont transférés lorsqu'ils sont définis dans une CPU comme mémentos
de couplage de sortie et dans une ou plusieurs CPU comme mémentos de couplage
d'entrée.
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 à I'aide des
fonctions suivantes :
L'utilisation de ces fonctions ne requiert que des connaissances de base sur le langage
de programmation STEP 5 et sur le fonctionnement des automates SIMATIC S5. Ces
connaissances sont dispensées dans les ouvrages cités au chapitre "Bibliographie".
Alors que les mémentos de couplage sont actualisés "automatiquement" par le programme sys-
tème, les fonctions INITIALISATION, EMISSION, TEST D'EMISSION, RECEPTION et TEST
DE RECEPTION doivent être appelées par les instructions SPA OB ou SPB OB comme blocs
d'organisation pour fonctions spéciales.
Introduction
1.1 Configuration
Cette carte contient quatre "pages" qui sont des zones mémoire de 1024 octets chacune.
Elles occupent toutes le même espace mémoire F400H à FïFFH. La sélection
(adressage) de la page en cours se fait par le "registre de sélection" (ou d'identification).
Les numéros de sélection 252, 253, 254 et 255 sont affectés de maniere permanente
aux quatre pages du coordinateur 923C ; elles servent à la communication
multiprocesseur présentée ici.
pour S5-135U : CPU 922 (processeurs R), CPU 928, CPU 928B ou CPU 920
(processeurs M)
pour S5-155U : CPU 9461947, CPU 922 (processeurs R), CPU 928, CPU 928B ou
CPU 920 (processeurs M)
Ces CPU peuvent échanger des données selon toute combinaison ; l'utilisation simul-
tanée de "blocs de dialogue" - utilisant eux aussi l'adressage par page - esi possible
sans restriction.
Les CPU 921 (processeurs S) enfichés dans le même châssis ne peuvent pas participer à
la communication multiprocesseur décrite ici. En effet, vous ne devez pas appeler les
blocs de dialogue du processeur S tant que les processeurs R et M et les CPU 928,928B
et 9461947 traitent leurs blocs de dialogue ou la comrnunication multiprocesseur. Cepen-
dant, une comrnunication entre CPU peut toujours être établie par l'intermédiaire des mé-
mentos de couplage.
1.2 Principe
Pour transmettre des données, il faut activer tout d'abord la fonction EMlSSlON dans la CPU
émettrice et, ensuite, la fonction RECEPTION dans la CPU réceptrice.
Les mots de données consécutifs d'un bloc de données DB ou DX se trouvant dans la CPU
émettrice sont transférés vers la CPU réceptrice, via le coordinateur 923C, dans un bloc de don-
nées DB ou DX ayant le même numéro et sous les mêmes adresses de mots de données. II s'a-
git donc d'une copie "1 :lu.
Introduction
Exemple
La quantité de données pouvant être traitée d'un seul tenant par les fonctions EMlSSlON et
RECEPTION est normalement de 32 mots.
Lorsque la longueur du bloc de données (hors en-tête) n'est pas un multiple de 32, on transfère
exceptionnellement moins de 32 mots dans le dernier paquet.
Le bloc de données dans la CPU réceptrice peut être plus long ou plus court que le bloc de don-
né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 er-
reur.
Exemple
S5-135U, S5-155U
Numéro = 1
Numéro = 2
Numéro = 3
De plus, le temps de cycle d'une CPU varie en fonction des appels conditionnels de bloc (SPB
PB xy), en fonction de l'apparition d'alarmes (traitement d'alarmes via OB 2), etc.
Cela signifie que, en fonctionnement multiprocesseur, le traitement cyclique du programme dans
chaque CPU est asynchrone par rapport aux traitements cycliques des programmes dans les
autres CPU.
Le numéro de la CPU traitant la fonction et le numéro d'une CPU réceptrice (fonction EMIS-
SION) ou d'une CPU émettrice (fonction RECEPTION) définissent la source et la destination.
Etape 1
7
1EMISSION, paramdtre CPU "dceptrice" = 2
1
C C C C
/.
O
R "
P P
U
P
U
C
P
C
P E E E
C 1 2 3
Introduction
Etape 2
Etape 1 : La mémoire intermédiaire travaille selon le principe FlFO (file d'attente, pre-
mier entré premier sorti). L'ordre des réceptions est ainsi identique à l'ordre
des émissions. Cela est valable pour chaque liaison -définie par la CPU émet-
trice et la CPU réceptrice - indépendamment des autres liaisons.
Etape 2 : La mémoire intermédiaire est sauvegardée par pile. Cela permet "le redémar-
rage automatique après coupure secteur" sans restriction. Ainsi, une coupure
secteur pendant une transmission de données n'entraîne pas de perte de
données dans l'automate programmable.
La capacité d'émission indique combien de blocs de mémoire réservés à une liaison sont dispo-
nibles à un instant déterminé.
La capacité de réception indique combien de blocs de mémoire réservés à une liaison sont oc-
cupés à un instant déterminé.
La somme des capacités d'émission et de réception est à tout moment égale au nombre de
blocs de mémoire attribués à une liaison.
Exemple
Sept blocs de mémoire ont été attribués à la liaison "CPU 3 vers CPU 2" à l'aide de la fonction
INITIALISATION.
5 2 Réception de 2 paquets
Emission de 2 paquets
de données (H,I)
de données (K,L)
5 8
2
1 NOTA 1
Cet exemple illustre également l'organisation à file d'attente de la mémoire intermédiaire : les
paquets de données émis les premiers (A, B, C...) sont également reçus les premiers (A, B,
C...).
Alors que la capacité de réception nulle représente l'état idéal (toutes les données émises ont
été lues par le récepteur), la capacité d'émission nulle signale une erreur de configuration :
Un mode de démarrage identique, au moins pour les CPU participant à la communication, est
obtenu en prenant les mesures suivantes (cf. chapitre 10) :
Dans le bloc d'organisation (OB 20) spécifique au démarrage, il faut que l'une des CPU orga-
nise la mémoire intermédiaire du coordinateur 923C à l'aide de la fonction INITIALISATION. Des
données éventuellement existantes sont alors détruites.
Puis, encore pendant le démarrage, vous pouvez appeler les fonctions EMISSION, TEST
D'EMISSION, RECEPTION, TEST DE RECEPTION. Une programmation adaptée doit garantir
que cela ne se fasse qu'après I'initialisationcorrecte de la mémoire intermédiaire du COR.
Lorsque le démarrage est terminé, donc en mode RUN, le programme d'application s'exécute à
partir du début, c'est-à-dire à la première instruction de l'OB 1 ou du FB O.
REDEMARRAGE
La fonction INlTlALlSATlON ne doit pas être utilisée dans les blocs d'organisation OB 21 (redé-
marrage manuel) et OB 22 (redémarrage automatique). L'appel des fonctions EMISSION, TEST
D'EMISSION, RECEPTION et TEST DE RECEPTION peut entraîner des difficultés ; il faut dans
ce cas respecter les recommandationsdu paragraphe suivant.
Lorsque le redémarrage est terminé, donc en mode RUN, l'exécution du programme d'applica-
tion ne recommence pas au début, mais à l'endroit de l'interruption. Cette interruption peut se
trouver, par exemple, dans la fonction EMISSION.
NOTA
Si l'on ne considère qu'une seule liaison (de la CPU "EM" vers la CPU "RE"), l'exécution simul-
tanée des fonctions EMlSSlON (CPU "EM") et RECEPTION (CPU "RE") est possible : la CPU
"RE" réceptionne des paquets de données déjà stockés en mémoire intermédiaire pendant que
la CPU "EM" envoie de nouveaux paquets de données au coordinateur C.
CPU 922, CPU 928, Le contenu des accumulateurs 1 à 4 ainsi que des registres n'est
CPU 928B pas modifié par les OB de fonctions spéciales.
OB 202 / Emission 806 p (294p 666 ps (250 p 762 p (426 CLÇ 696 ps (280 ps
Emission d'un de base de base de base de base
paquet de + 16@mot) ; + 13 CLs/mot) ; + 21pddouble + 13 pdrnot) ;
données 118 p si 115pssi mot);243ps 145pssi
(32 mots alarme alarme si alarme alarme
de
données)
OB 204 1 Réception 825 p (281 p 660 p (244 ps 772 p (421 p 690 p (274 CLÇ
Réception d'un de base de base de base de base
paquet de + 17 @mot) ; + 13 @mot) ; +22pddouble + 13 @mot) ;
données 115 ps si 98 p si mot) ; 243 ps 128 ps si
(32 mots alarme alarme si alarme alarme
de
données)
Le temps d'exécution est le temps 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 interrom-
pu par des activités prioritaires (par exemple, traitement de cellules de temporisation, traitement
de régulateurs, etc.).
Les temps d'exécution mentionnés ci-dessus ne sont valables que si, parmi les quatre CPU enfi-
chées, seule la CPU dont on mesure les temps d'exécution accède au bus S5. Si d'autres CPU
utilisent le bus de façon intensive, le temps d'exécution augmente ; c'est le cas particulièrement
pour l'émission et la réception.
Introduction
Une caractéristique importante d'une liaison (de la CPU "EM" vers la CPU "RE") est le temps de
transfert total. II se compose des trois temps partiels suivants :
Le laps de temps pendant lequel les données a transferer sont "en route" depend
essentiellement de la duree du stockage intermédiaire et donc de la structure du
programme d'application (cf. paragraphe "Stockage intermediaire des donnees").
Paramétrage
2 Paramétrage
Les "véritables" paramètres se trouvent dans un champ de données de 10 octets maximum
dans la zone des mémentos M. Le numéro du premier octet de mémentos dans le champ de
données (pointeur sur champ de données) doit être chargé dans le mot de faible poids de I'accu-
mulateur 1 (ACCU 1-L) et doit avoir une valeur comprise entre O et 246.
Ce champ se compose d'une partie réservée aux paramètres d'entrée et d'une partie réservée
aux paramètres de sortie.
0 Paramétres d'entrée
Les paramètres d'entrée sont lus et traités en totalité ou partiellement par les fonctions. II
n'y a pas d'accès en écriture.
Paramètres de sortie
Les paramètres de sortie sont écrits en totalité ou partiellement par les fonctions ; il n'y a
pas d'accès en lecture.
NOTA
Pour toutes les fonctions de communication, il est possible de prévoir une zone
de 10 octets de mementos. Les différentes fonctions exigent cependant un
nombre différent d'octets (voir les descriptions de fonctions, chapitres 3 à 7).
les bits OR, ETAT, -(relatifs au traitement de bits) sont toujours mis à " 0 .
Si la fonction a été traitée entièrement et de manière correcte, tous les bits sont à O et tous les
autres paramètres de sortie sont significatifs.
Lorsque la fonction est interrompue par un avertissement (bit 2' = 1)' seule l'indication de h
capacité d'émission et de réception reste significative ; les paramètres de sortie restants, le cas
échéant, ne sont pas modifiés.
Lorsque la fonction s'est terminée sur une erreur (bit 26 = 1) ou un conflit d'initialisation (bl
Z5 = l), aucun des autres paramètres de sortie n'est modifié.
I
Numéro d'un conflit d'initialisation
I I I d'un avertissement
d'une erreur
Indicatif
Conflit d'initialisation
I Erreur
1 Avertissement
Figure 1-2 Codage du premier octet
Exploitation des paramétres de sortie
Exploitation
Les indicatifs figurant aux bits 25 à 27 donnent, entre autres, la signification du numéro constitué
par les bits 2' à 2?
En plus de cette exploitation bit par bit, il est possible d'interpréter l'octet complet comme
nombre non signé à virgule fixe. Dans le cas d'une telle interprétation globale de l'octet indica-
teur, on obtient des groupes de numéros qui ont les significations suivantes :
Les valeurs des numéros ci-après correspondent aussi à l'ordre chronologique de détection
et d'affichage des défauts ou des conflits d'initialisation.
Exemple :
Supposons que la fonction EMlSSlON 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 er-
reur de numéro supérieur au précédent, cela veut dire qu'au moins une erreur a déjà été sup-
primée.
Conflit d'initialisation
(35) Le paramètre "Automatique / Manuel" est incorrect. On distingue les cas suivants :
(36) Le paramètre "nombre de CPU" est incorrect. On distingue les cas suivants :
(37) Le paramètre "indicatif de bloc" est incorrect. On distingue les cas suivants :
(38) Le paramètre "numéro de bloc" est incorrect ; il s'agit d'un bloc de données de signi-
fication particulière. On distingue les cas suivants :
si I'indicatif de bloc = 1 : DB O, DB 1, DB 2
si I'indicatif de bloc = 2 : DX O, DX 1, DX 2
(39) Le paramètre "numéro de bloc" est erroné : le bloc de données paramétré n'existe
pas.
(40) Le paramètre "adresse de début de la liste d'assignation" est trop grand ou le bloc
de données trop court.
(41) La liste d'assignation dans le bloc de données n'est pas organisée correctement.
Erreurs
(67) L'appel du bloc d'organisation de fonction spéciale est erroné (EMISSION, RECEP-
TION, TEST D'EMISSION, TEST DE RECEPTION). On distingue les cas suivants :
(68) Les données de gestion (gestion de la file d'attente) des liaisons choisies sont erro-
nées. La mémoire intermédiaire du coordinateur 923C doit être organisée à nouveau
à l'aide de la fonction INlTlALlSATlON (ce cas peut se produire lors des fonctions
EMISSION, RECEPTION, TEST D'EMISSION ou TEST DE RECEPTION).
(69) Le paramètre "indicatif de bloc" (EMISSION) ou l'indicatif de bloc transmis par I'émet-
teur (RECEPTION) est incorrect. On distingue les cas suivants :
indicatif de bloc = 1 : DB O, DB 1, DB 2
indicatif de bloc = 2 : DX O, DX 1, DX 2
(72) Le paramètre "numéro de paquet" (EMISSION) est erroné. Le bloc de données est
trop court ou le numéro de paquet trop grand.
0 (73) Le bloc de données est trop court et ne peut accepter le paquet de données transmis
par I'émetteur (RECEPTION).
Avertissement
La fonction n'a pu être exécutée. II faut l'appeler à nouveau, par exemple au cycle suivant.
1 1) C ~ données
P 1 Avant l'appel de l'OB 200, il faut mettre à disposition les paramètres d'entrée
en les écrivant dans le chamw de données.
L'OB 200 nécessite 8 octets de mémentos M dans le champ de données pour
les paramètres d'entrée et de sortie.
[ 2) ACCU 1-L / Numéro du le' octet de mémentos "x" dans le champ de données,
valeurs admises : ACCU 1-LH : O
ACCU 1-LL : O à 246
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 INlTlALlSATlON organise à cet effet la mémoire
intermédiaire du coordinateur COR 923C.
Cette capacité de mémoire est mesurée et exprimée en blocs de mémoire (d'une taille de 32
mots).
Chaque bloc de mémoire peut recevoir un paquet de données de longueur comprise entre 1 et
32 mots. Un paquet de données est écrit par la fonction EMISSION dans un bloc de mémoire et
en est extrait par la fonction RECEPTION.
Fonction lNITlALlSATlON (OB 200)
-
'
CPU 1 CPU 2
I
*
CPU1
t
- CPU3
CPU 2
CPU 2
CPU 3 CPU 4
Paramétres d'entrée
La fonction INlTlALlSATlON répartit les 48 blocs de mémoire disponibles entre les liaisons (12
liaisons au maximum).
En d'autres ternes, une certaine capacité de mémoire est attribuée à chaque liaison possible,
cette dernière étant caractérisée par les paramètres "CPU émettrice" et "CPU réceptrice".
NOTA
Si la fonction INlTlALlSATlON est appelée plusieurs fois de suite, la dernière liste d'assignation
paramétrée est valable. Lorsque la fonction INlTlALlSATlON est en cours de traitement sur l'une
des CPU, les autres fonctions et la fonction INlTlALlSATlON elle-même ne doivent pas être ap-
pelées sur les autres CPU.
Mode automatique
En mode automatique, les blocs de mémoire disponibles sont répartis de manière egale en
fonction du nombre de CPU.
Fonction INITIALISATlON (OB 200)
Mode manuel
En mode manuel, vous devez mettre à disposition, dans un bloc de données, une liste d'assi-
gnation dans laquelle les 48 (ou moins) blocs disponibles sont répartis entre les liaisons exis-
tantes (12 au maximum) suivant un schéma défini. Cette fonction est particulièrement utile
lorsque les CPU n'échangent pas entre elles des volumes de données identiques. Par exemple,
les CPU 921 (processeurs S) ne peuvent pas participer à la communication multiprocesseur
décrie ici ; l'attribution de blocs de mémoire aux liaisons correspondantes n'a pas de sens. Les
paramètres :
indicatif de bloc,
numéro de bloc et
définissent l'emplacement de la liste d'assignation. Ces trois paramètres ne sont donc signifi-
catifs qu'en mode manuel.
Comme numéro de bloc, indiquez le numéro du bloc de données DB ou DX qui contient la liste
d'assignation.
Elle donne, en liaison avec l'indicatif et le numéro de bloc, la zone - plus précisément l'adresse
de début de la zone - où se trouve la liste d'assignation.
Cette dernière contient d'autres paramètres d'entrée de la fonction INlTlALlSATlON ; on y
accède donc uniquement en lecture sans que le contenu soit modifié. Sa structure est présentée
à la page ci-après.
Paramétres d'entrée
Liste d'assignation
Emetteur = CPU 1
Récepteur = CPU 2
Récepteur = CPU 3
Récepteur = CPU 4
Emetteur = CPU 2
Récepteur = CPU 1
Récepteur = CPU 3
Récepteur = CPU 4
Emetteur = CPU 3
Récepteur = CPU 1
Récepteur = CPU 2
Récepteur = CPU 4
Emetteur = CPU 4
Récepteur = CPU 1
Récepteur = CPU 2
Récepteur = CPU 3
NOTA
Cette structure doit être respectée même lorsque moins de quatre CPU sont en-
fichées.
Les lettres minuscules a à m (imprimées ici en gras) doivent être remplacées par des chiffres
compris entre O et 48 ; leur somme ne doit pas depasser 48.
Un exemple est donné à la page suivante.
Fonction lNlTlALlSATlON (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, les signalisations en retour dans le
cadre d'un échange d'acquittements. Les CPU 1 et 3 n'échangent pas de données entre elles.
Liste d'assignation
Emetteur = CPU 1
Récepteur = CPU 2
Récepteur = CPU 3
Récepteur = CPU 4
Emetteur = CPU 2
Récepteur = CPU 1
Récepteur = CPU 3
Récepteur = CPU 4
Emetteur = CPU 3
Récepteur = CPU 1
Récepteur = CPU 2
Récepteur = CPU 4
Emetteur = CPU 4
Récepteur = CPU 1
Récepteur = CPU 2
Récepteur = CPU 3
Conflit d'initialisation
Les conflits d'initialisation apparus sont détectés et affichés par la fonction dans l'ordre croissant
de leurs numéros.
(36) Le paramètre "nombre de CPU" est incorrect. On distingue les cas suivants :
(37) Le paramètre "indicatif de bloc" est incorrect. On distingue les cas suivants :
(38) Le paramètre "numéro de bloc" est incorrect ; il s'agit d'un bloc de données de signi-
fication particulière. On distingue les cas suivants :
indicatif de bloc = 2 : DX O, DX 1, DX 2
(39) Le paramètre "numéro de bloc" est erroné : le bloc de données paramétré n'existe
pas.
(40) Le paramètre "adresse de début de la liste d'assignation" est trop grand ou le bloc
de données trop court.
(41) La liste d'assignation dans le bloc de données n'est pas organisée correctement.
Erreur
Un code d'erreur du groupe de numéros "erreurs" ne peut pas se présenter dans le cadre de la
fonction INITIALISATION.
Avertissement
7
1)
Avant l'appel de l'OB 202. il faut metAre à disposition les paramètres d'entrée
en les écrivant dans le champ de données.
L'OB 202 occupe 6 octets de mémentos M dans le champ de données pour
les paramètres d'entrée et de sortie.
1 2) ACCU 1-L / Numéro du le' octet de mémentos "x" dans le champ de données,
valeurs admises : ACCU 1-LH : O
ACCU 1-LL : O à 246
Numero de bloc
Le numéro de bloc détermine, en liaison avec l'indicatif de bloc (voir ci-avant) et le numéro de
paquet (voir ci-après), la zone dans laquelle les données à émettre doivent être lues (et dans
laquelle elles seront déposées dans la CPU réceptrice).
Notez que certains blocs de données ont des rôles spécifiques, par exemple DB O, DB 1 ou
DX O (voir les notices de programmation des différentes CPU).
Ils ne peuvent donc pas être utilisés pour le transfert de données décrit ici. S'ils le sont, un mes-
sage d'erreur est émis et la fonction est interrompue.
Numéro de paquet
Si le bloc de données est suffisamment long, on obtient une zone de 32 mots selon le ta-
bleau ci-dessus.
Lorsque la fin du bloc de données se trouve dans le paquet paramétré, une zone dont la
longueur est comprise entre 1 et 31 mots est transférée.
Exemple
Bloc de données d'une longueur de 80 mots : DW O à DW 74, plus 5 mots constituant l'en-tête
du bloc.
I
23 Paramétrage erroné
Erreur
(65) Le paramètre "CPU réceptrice" est incorrect. On distingue les cas suivants :
(68) Les données de gestion (gestion de la file d'attente) des liaisons choisies sont erro-
nées. La mémoire intermédiaire du coordinateur 923C doit être organisée à nouveau
à l'aide de la fonction INITIALISATION.
(69) Le paramètre "indicatif de bloc" est incorrect. On distingue les cas suivants :
(70) Le paramètre "numéro de bloc" est incorrect, car il s'agit d'un bloc de données de
signification particulière. On distingue les cas suivants :
indicatif de bloc = 1 : DB O, DB 1, DB 2
indicatif de bloc = 2 : DX O, DX 1, DX 2
(71) Le paramètre "numéro de bloc" est erroné. Le bloc de données paramétré n'existe
pas.
(72) Le paramètre "numéro de paquet" est erroné. Le bloc de données est trop court ou le
numéro de paquet trop élevé.
Fonction EMlSSlON (OB 202)
Avertissement
La fonction n'a pu être exécutée. II faut l'appeler à nouveau, par exemple au cycle suivant.
Conflit d'initialisation
1 1) Chp données 1 Avant l'appel de l'OB 203, il faut mettre à disposition les paramètres d'entrée
en les écrivant dans le champ de données.
L'OB 203 occupe 4 octets de mémentos M dans le champ de données pour
les paramètres d'entrée et de sortie.
1 2) ACCU 1-L 1 Numéro du ler octet de mémentos "x" dans le champ de données,
valeurs admises : ACCU 1-LH : O
ACCU 1-LL : O à 246
La fonction TEST D'EMISSION détermine le nombre de blocs de mémoire libres "m" dans la
mémoire intermédiaire du coordinateur COR 923C.
Selon ce nombre "m", la fonction EMlSSlON peut être appelée "mu fois pour transmettre "mu
paquets de données.
Erreur
(65) Le paramétre "CPU réceptrice" est incorrect. On distingue les cas suivants
(67) L'appel du bloc d'organisation de fonction spéciale est incorrect. On distingue les
cas suivants :
(68) Les données de gestion (gestion de la file d'attente) des liaisons choisies sont erro-
nées. La mémoire intermédiaire du coordinateur C doit être organisée à nouveau à
l'aide de la fonction INITIALISATION.
Avertissement
Conflit d'initialisation
1 1) Chp données / Avant l'appel de l'OB 204, il faut mettre à disposition les paramètres d'entrée
en les écrivant dans le champ de données.
LOB 204 occupe 10 octets de mémentos M dans le champ de données pour
les paramètres-d'entréeet de sortie.
1 2) ACCU 1-L 1 Numéro du ler octet de mémentos "x" dans le champ de données,
valeurs admises : ACCU 1-LH : O
ACCU 1-LL : O à 246
Erreur
(66) Le paramètre "CPU émettrice" est incorrect. On distingue les cas suivants :
(67) L'appel du bloc d'organisation de fonction spéciale est incorrect. On distingue les
cas suivants :
(68) Les données de gestion (gestion de la file d'attente) des liaisons choisies sont erro-
nées. La mémoire intermédiaire du coordinateur C doit être organisée à nouveau à
l'aide de la fonction INITIALISATION.
(69) Le paramètre "indicatif de bloc" est incorrect. On distingue les cas suivants :
(70) Le paramètre "numéro de bloc" est incorrect, car il s'agit d'un bloc de données de si-
gnification particulière. On distingue les cas suivants :
indicatif de bloc = 1 : DB O, DB 1, DB 2
indicatif de bloc = 2 : DX O, DX 1, DX 2
(71) Le paramètre "numéro de bloc" est erroné. Le bloc de données paramétré n'existe
pas.
(73) Le bloc de données est trop court pour accepter le paquet de données envoyé par I'émet-
teur.
Avertissement
La fonction n'a pu être exécutée. II faut l'appeler à nouveau, par exemple au cycle suivant.
Conflit d'initialisation
Numero de bloc
Le numéro de bloc détermine, en liaison avec l'indicatif de bloc (voir ci-avant) et les adresses du
premier et du dernier mot de données (voir ci-aprés), la zone dans laquelle les données de ré-
ception ont été rangées par la fonction RECEPTION (et depuis laquelle elles ont été lues dans la
CPU émettrice par la fonction EMISSION).
Notez que les blocs de données de réception doivent se trouver dans une mémoire vive (RAM).
L'utilisation de mémoires mortes (EPROM) ne se justifie que pour les blocs de données d'émis-
sion.
1)Chpl Avant l'appel de l'OB 205, il faut mettre à disposition les paramètres d'entrée
en les écrivant dans le champ de données.
L'OB 205 occupe 4 octets de mémentos M dans le champ de données pour
les paramètres d'entrée et de sortie.
1
2)
Numéro du le'
octet de mémentos "x" dans le champ de données,
valeur admises : ACCU 1-LH : O
ACCU 1-LL : O à 246
La fonction TEST DE RECEPTION détermine le nombre de blocs de mémoire "m" occupés dans
la mémoire intermédiaire du coordinateur COR 923C. Selon ce nombre "m", la fonction RECEP-
TlON peut être appelée "mufois pour lire "m" paquets de données.
Erreur
(66) Le paramètre "CPU réceptrice" est incorrect. On distingue les cas suivants :
(67) L'appel du bloc d'organisation de fonction spéciale est incorrect. On distingue les cas
suivants :
(68) Les données de gestion (gestion de la file d'attente) des liaisons choisies sont erro-
nées. La mémoire intermédiaire du coordinateur C doit être organisée à nouveau à
l'aide de la fonction INITIALISATION.
Avertissement
Conflit d'initialisation
8 Applications
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 I'inter-
ruption et à les restaurer à la fin.
Cela s'applique aussi à l'interruption aux limites de blocs, étant donné que I'appel
d'un bloc d'organisation de fonction spéciale constitue une limite de bloc.
La zone des mémentos comprise entre MB 246 et MB 255 maximum est utilisée par les blocs
fonctionnels comme champ de paramètres pour les OB de fonctions spéciales.
La signification exacte des paramètres d'entrée et de sortie est donnée dans la description des
OB de fonctions spéciales utilisés.
Les exemples donnés ci-après sont des applications exécutables que vous
pouvez reprendre dans vos programmes.
Applications
Nombre de CPU
INITIAL FB 200
INlK
GKAP
TNZU
ANFZ
Applications
AUTOMATIQUVMANUEL
NOMBRE DE CPU
OB DE FONCTION SPECIALE :
INlTlALlSATlON
CONFLIT D'INITIALISATION
CAPACITE TOTALE
-
TNDB i - SKAP
Applications
CPU RECEPTRICE
NUMERO DE PAQUET
OB DE FONCTION SPECIALE :
EMlSSlON D'UN PAQUET DE DONNEES
ERREUR /AVERTISSEMENT
CAPACITE D'EMISSION
8.1.3 Test d e capacité d'émission (FB 203)
ECPU 4
-
1 SEND-TST FB 203
FEHL
Erreur / avertissement
EMPFANG FB 204
- FEWA
EKAP
TNDB
ANFA
ENDA
Applications
CPU EMETTRICE
OB DE FONCTION SPECIALE :
RECEPTION D'UN PAQUET
DE DONNEES
ERREUWAVERTISSEMENT
CAPACITE DE RECEPTION
ADRESSE DE DEBUT
ADRESSE DE FIN
8.1.5 Test de capacité de réception (FB 205)
Le transfert est lancé par un front positif sur l'entrée de démarrage STAR. Si, après transfert, le
paramètre de sortie REST est égal à zéro, cela signifie que le bloc fonctionnel UEBT-DAT a pu
transférer tous les paquets de données (suivant le paramètre ANZB).
Si le paramètre de sortie REST contient une valeur supérieure à O, il faut encore appeler le bloc
UEBT-DAT, par exemple au cycle suivant. Dans ce cas, le programme d'application ne peut mo-
difier l'ensemble des paramètres que si, à l'appel suivant, le paramètre REST est nul, ce qui si-
gnifie que la zone de données a pu être transférée complètement.
Le bloc fonctionnel UEBT-DAT peut être appelé plusieurs fois avec des paramètres différents.
Des zones de données différentes sont ainsi transférées simultanément (imbrication). De plus, il
est possible d'utiliser "directement" les blocs d'organisation de fonctions spéciales OB 202 à
OB 205 pour la communication multiprocesseur, ce qui est fait dans l'exemple d'application.
Si la fonction d'émission (OB 202) n'a pu être exécutée correctement à l'intérieur du bloc fonc-
tionnel UEBT-DAT, le numéro d'erreur correspondant est transmis dans le paramètre de sortie
FEHL, le résultat logique RLG est mis à "1" et le paramètre de sortie REST à "0".
Le bloc fonctionnel UEBT-DAT utilise la zone des mémentos MB 246 à MB 251 comme zone de
mémentos banalisés. Par le mécanisme des paramètres formels et effectifs, des emplacements
de mémoire sont attribués à toutes les autres variables dont la valeur reste significative jusqu'à
ce que le paramètre de sortie REST soit nul, après plusieurs appels du bloc fonctionnel
UEBT-DAT. Cette procédure est nécessaire pour transférer simultanément plusieurs blocs de
données.
Applications
FEHL Erreur A BY
1 FEHL
REST
TNDB
Applications
FB 110 ABS
SEGMENT 1
NOM :UEBT-DAT
DESIG :STAR WA/D/BlTlZ: BIIBYIWID:
DESIG :ECPU VA/D/BTT/Z: BI/BY/WlD:
DESIG :TNDB VNDIBTTIZ: BI/BYlW/D:
DESlG :ANZB WA/D/B/T/Z: BIIBYIWID:
DESIG :ERSB EIA/D/BTT/Z: BIIBYIWID:
DESlG :FEHL UA/D/BTT/Z: BIIBYIWID:
DESlG :REST VA/D/BlT/Z: BI/BY/W/D:
DESIG :AKBN E/A/D/BlTlZ: BI/BYlWlD:
DESlG :FLAM WA/D/BTT/Z: BIIBYIWID:
TANTQUE REST>cO,
0038 SCHL :L KF+O POURSUIVRE EMlSSlON DE PAQUETS
0039 :!=F DE DONNEES
003A :SPB =GUT
003B UEBT :L =AKBN
003C :T MB 249
003D :L KB 246 OB DE FONCTION SPECIALE :
003E :SPA OB 202 EMlSSlON D'UN PAQUET DE DONNEES
003F :L MB 250
0040 :SPM =FEHL ARRET SUR ERREUR
0041 :SPP =GUT ARRET SI CAP. D'EMISSION NULLE
0042 :L =AKBN INCREMENTER LE NUMERO DE PAQUET
0043 :I 1
0044 :T =AKBN
0045 :L =REST DECREMENTER LE NOMBRE DE
0046 :D 1 PAQUETS RESTANTS
0047
0048
0049
004A GUT :U M 0.0 FIN DE PROGRAMME SANS ERREUR
004B :UN M 0.0
004C :L KBO RLG = O, FEHL = O
004D :T =FEHL
004E :B EA
004F
0050 FEHL FIN DE PROGRAMME AVEC ERREUR
0051
0052 RLG = 1, FEHL CONTIENT LE NUMERO
D'ERREUR
0053
:::>:+.:?:*::::::::::::::::::::::::::::::: ....................................................................................................................................
, , , . , . , . , , , , , , , , , , , , , , , , , , , . , , , , , , , , , , , , , , , , ,:::::::.:.:::.:.:::.:::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\::\::::::>::::?::>:::::$:.<:.::::
........................................................................................................................................
;k;::k;::?::::;v..:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:,:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:
......................................................................................... .................
.... ' ~ .....f ........l................................
:::: , ..........< <
DB d'émission DB3;DB4 -
DB de réception - DB3;DB4
1 Seul l'OB 1 est admis comme bloc de traitement cyclique dans la CPU 9461947.
L'OB 20 appelle la fonction d'initialisation (OB 200) et réserve les blocs de mémoire nécessaires
à la liaison de la CPU 1 vers la CPU 2.
0037
0038 HALT :
Ici se produit le traitement de l'erreur (par exemple, stop, impression du message, ...)
La fonction de réception (OB 204) appelée par FB O 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 don-
nées peut se répartir sur plusieurs cycles.
FB O LON=26 ABS
SEGMENT 1
NOM :EMPF-DAT
Ici se produit le traitement de l'erreur (par exemple, stop, impression du message, ...)
8.3.2 Solution
Dans un bloc de données DB ou DX, des mots de données consécutifs, à partir du DW O, 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.
Le programme cyclique (OB 1 pour la CPU 9461947, OB 1 ou FB O pour les CPU 92x) débute
par la réception des mots de données de couplage au moyen des blocs d'organisation pour la
communication multiprocesseur. Le programme cyclique "proprement dit" est ensuite exécuté : il
exploite les données reçues et génère les données à émettre. Ces dernières sont émises à la fin
du cycle à l'aide des blocs d'organisation pour la communication multiprocesseur. Elles peuvent
ainsi être reçues par les autres CPU au début de l'exécution de leur programme cyclique.
Les règles suivantes sont applicables pour les 12 liaisons possibles, indépendamment des au-
tres liaisons :
La CPU réceptrice n'est activée que si la CPU émettrice a terminé d'inscrire les "nouvelles
données" dans la mémoire intermédiaire du coordinateur 923C.
La CPU réceptrice dispose donc soit d'un nouvel enregistrement de données complet, soit de
l'ancien enregistrement de données inchangé. Les "anciennes" et les "nouvelles" donnees
ne sont pas mélangées.
Les zones de mots de données commencent toujours par le mot de données DW O ; leur lon-
gueur est indiquée en paquets. Notez que :
si le dernier paquet d'un bloc de données d'émission est tronqué, c'est-à-dire s'il
comprend moins de 32 mots de données, le nombre de mots de données transmis sera
moindre ;
si un bloc de données d'émission est plus long que le nombre de paquets indiqué dans la
liste de liaisons, les mots de données en surnombre peuvent être utilisés par la CPU
émettrice elle-même ;
si le bloc de données de réception est plus long que la zone de mots de données reçue,
les mots de données en surnombre peuvent être utilisés par la CPU réceptrice elle-même.
Applications
Liaison Type de
IDB
Numéro de
IDB l 1 Nombre de
Pacluets /
... CPU 2 DW 1 ... ... DW 17 2 ...
... CPU 3 DW 6 b c DW 22 3 a
... CPU 1
... CPU 2
DW9
DW 10
:: :: DW 25
DW 26
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 (SI, S2,
S3, S4), les liaisons sont déterminées par les trois rubriques suivantes :
Nombre de paquets
Type de DB
Ces rubriques peuvent être lues et complétées ligne par ligne dans la représentation ci-dessus.
Pour transférer, par exemple, les deux premiers paquets de données du bloc de données Di3 10
de la CPU 2 (S 2) vers la CPU 3, les rubriques suivantes sont nécessaires :
La liste partielle 2 est identique à la liste d'assignation utilisée pour la fonction d'initialisation
(OB 200) en mode manuel. A l'intérieur du bloc de données, la liste partielle 1 doit occuper les
mots de données O à 15 et la liste partielle 2 les mots de données 16 à 31. Les rubriques en ca-
ractères gras ne peuvent pas être modifiées.
Applications
Les deux blocs fonctionnels suivants sont utilisés sur chaque CPU pour l'émission et la récep-
tion des zones de mots de données :
Les numéros des blocs fonctionnels sont choisis arbitrairement et peuvent être modifiés.
Les blocs fonctionnels SEND-DAT et EMPF-DAT lisent dans la liste de liaisons quelles zones de
mots de données issues de quels blocs de données doivent être émises ou reçues. L'émission
ou la réception portent toujours sur la totalite de la zone de mots de données. Si cela n'est pas
possible en raison d'une capacité d'émission ou de réception insuffisante, l'émission ou la récep-
tion sont abandonnées.
Applications
BE
SPA FB 101
traité
par ...
1 L'OB 200 ne peut
Trois blocs d'entrée et trois dtre appel6 que
blocs de sortie au maximum dans une CPU.
Figure 12-3 Vue d'ensemble des blocs nécessaires dans chaque CPU
NOTA
FB 100 LON=90
SEGMENT 1 O000
NOM :SEND-DAT
DESlG :CPUN VA/D/BlT/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KF
DESlG :FEWA VA/D/B/T/Z: A BI/BY/W/D: BY
003B
003C UEBT :L KB 246 OB DE FONCTION SPECIALE :
003D :SPA OB 202 EMlSSlON D'UN PAQUET DE DONNEES
003E :L MB 250 ARRET SUR ERREUR /AVERTISSEMENT
003F :SPB =OBFE
0040
0041 :L MB249 No DE PAQUET = No DE PAQUET + 1
0042 :I 1
0043 :T MB 249 TOUS LES PAQUETS TRANSFERES ?
0044 :L MB 239
0045 :CF
0046 :SPB =UEBT
0047
0048 LEER :L MB 244 INCREMENTER LE COMPTEUR DE
0049 :I 1 LIAISONS
004A :T MB244
004B :L KB4 LES 3 LIAISONS ONT-ELLES ETE
004C :CF TRAITEES ?
004D :SPM =SCHL
004E :L KBO FIN DE PROGRAMME SANS ERREUR :
004F :T =FEWA RLG = O, FEWA = O
0050 :BEA
0051
0052 FEWA :L KB 16 FIN DE PROGRAMME SUR ERREUR :
0053 OBFE :T =FEWA RLG = 1, FEWA CONTIENT LE NUMERO
0054 :BE D'ERREUR / D'AVERTISSEMENT
8.3.6 Réception de zones de mots de données (FB 101)
L'appel du FB 101 doit être précédé de l'ouverture du bloc de données contenant la liste de liai-
sons. Pour traiter les informations contenues dans la liste de liaisons, le bloc fonctionnel EMPF-
DAT a besoin du numéro de la CPU sur laquelle il est appelé.
Lorsque la fonction de réception (OB 204) n'est pas traitée correctement dans le bloc fonction-
nel, le numéro d'erreur ou d'avertissement est porté dans le paramètre de sortie FEWA et le ré-
sultat logique (RLG) est mis à 1.
FEWA contient par ailleurs la valeur 16 (bit 24 = 1) lorsque la valeur du paramètre d'entrée
CPUN (numéro de CPU) est incorrecte.
Le bloc fonctionnel EMPF-DAT utilise les octets de mémentos MB 242 à MB 255 comme zone
de mémentos banalisés.
C U -1 EMPF-DAT FB 100
Ew,
Applications
FB 101 LON=88
SEGMENT 1 O000
NOM :EMPF-DAT
DESlG :CPUN VA/D/B/TlZ: D KMIKHIKYIKCIKFIKTIKUKG: KF
DESlG :FEWA VA/D/B/T/Z: A BIIBYIWID: BY
CPU 1 DX 4, 2 paquets
DB 3, DB 5,
4 paquets 3 paquets
1 4
DB 5, 3 paquets
CPU 2 CPU3
Le bloc fonctionnel FB O constitue dans les trois CPU l'interface avec le programme cyclique
d'application. La CPU 1 appelle la fonction d'initialisation (OB 200) lors du démarrage. La liste
des liaisons se trouve dans le bloc de données DB 100.
FB: EMPF-DAT
Liste des liaisons
DB 5 ; DX 4
DB de sortie DB 3 ; DX 4 DB 5 -
La liste des liaisons dont l'organisation est décrite au paragraphe "Structure des données" est
créée en premier et transcrite dans le DB 100.
LON=37 ABS
FOLIO 1
-Liste partielle 1 -
Emettre de la CPU 1 ..
.. le DB 3 vers la CPU 2
.. le DX 4 vers la CPU 3
Emettre de la CPU 2 ..
.. le DB 5 vers la CPU 1
.. le DB 5 vers la CPU 3
-Liste partielle 2-
De la CPU 1, émettre ..
.. 4 paquets de données vers la CPU 2
.. 2 paquets de données vers la CPU 3
De la CPU 2, émettre..
.. 3 paquets de données vers la CPU 1
.. 3 paquets de données vers la CPU 3
Applications
OB 20 LON=23 ABS
SEGMENT 1
Ici est inséré le traitement d'erreur en cas de conflit d'initialisation (par exemple, stop, impression
d'un message ...)
Le programme d'application de chaque CPU est augmenté de l'appel des blocs fonctionnels
EMPF-DAT et SEND-DAT. Le bloc fonctionnel FB O imprimé est destiné à la CPU 1. Pour I'exé-
cuter sur les autres CPU, il suffit de modifier le paramètre d'entrée CPUN.
Ici est inséré le traitement du programme cyclique qui lit les données des blocs de données
d'entrée et qui écrit des données dans les blocs de données de sortie.
OOOD
OOOE
OOOF
001O :A DB100 LISTE DE LIAISONS DB 100
O011 :SPA FB100 EMlSSlON DES BLOCS DE
DONNEES DE SORTIE
0012 NOM :SEND-DAT
0013 CPUN : KF+I
0014 FEWA : MBO
0015 :SPB =FEWA ARRET SUR ERREUR 1 AVERTISSEMENT
0016 :BEA
0017
0018 FEWA : APRES ERREUR 1 AVERTISSEMENT
0019 :BE EFFECTUER UN TRAITEMENT D'ERREUR
Ici est inséré le traitement de l'erreur (par exemple, stop, édition d'un message sur imprimante
ou écran...).
NOTA
Cet exemple - extension des mémentos de couplage à l'aide des blocs fonction-
nels SEND-DAT et EMPF-DAT - ne peut fonctionner correctement que si les OB
de fonctions spéciales pour communication multiprocesseur OB 202 à OB 205 ne
sont appelés dans aucune des CPU.