Télécharger Imprimer la page

Omron SYSMAC CQM1 Manuel De Programmation page 188

Masquer les pouces Voir aussi pour SYSMAC CQM1:

Publicité

Instructions de déplacement de données
00000
Ecrire "5" dans le DM 0000
Sens du décalage
Empilement en LIFO
00000
Ecrire "5" dans le DM 0000
DM 0001 : plafond de la pile
Pile de 5
dans IR 001. Le contenu du pointeur d'empilement (DM 0000) est alors décré-
menté de 1.
@COLL(81)
DM 0000
035
001
IR 035
9005
DM 0000
0005
DM 0001
AAAA
DM 0002
BBBB
Pile de 5
DM 0003
CCCC
DM 0004
DDDD
DM 0005
EEEE
La donnée de départ est
DM05
Lorsque les bits 12 à 15 de C=8, COLL(81) peut être utilisée en empilement
"LIFO" (dernier entré, premier sorti). Les 3 autres chiffres de C spécifient le
nombre de canaux de l'empilement (000 à 999). Le contenu de SBs représente
le pointeur d'empilement.
Lorsque la condition d'exécution est à ON, COLL(81) copie les données du
canal indiqué par le pointeur d'empilement (SBs + contenu de SBs) dans le
canal de destination D. Le contenu du pointeur d'empilement (SBs) est alors
décrémenté de 1. Le pointeur est le seul canal modifié de l'empilement.
Rem. : COLL(81) est exécutée à chaque tour de scrutation, sauf si la forme sur change-
ment d'état (@DIST(80)) ou DIST(80) et DIFU(13) ou DIFD(14) sont utilisées.
Exemple
L'exemple suivant illustre l'utilisation de COLL(81) pour créer un empilement
entre DM 0001 et DM 0005. DM 0000 représente le pointeur d'empilement.
Lorsque IR 00000 passe de OFF à ON, COLL(81) copie le contenu du DM 0005
(DM 0000 + 5) dans IR 001. Le contenu du pointeur d'empilement (DM 0000) est
alors décrémenté de 1.
@COLL(81)
DM 0000
035
001
IR 035
8005
DM 0000
0005
DM 0001
AAAA
DM 0002
BBBB
DM 0003
CCCC
DM 0004
DDDD
DM 0005
EEEE
Adresse
00000
SBs
00001
C
D
Pointeur
d'empilement
décrémenté
DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
Adresse
00000
SBs
00001
C
D
Pointeur
DM 0000
0004
d'empilement
décrémenté
DM 0001
AAAA
DM 0002
BBBB
DM 0003
CCCC
DM 0004
DDDD
DM 0005
EEEE
Chapitre 5-17
Instruction
Opérande
LD
@COLL(81)
DM
0004
IR 001
AAAA
BBBB
CCCC
DDDD
Sens du décalage
EEEE
EEEE
Premier entré, premier sorti
Instruction
Opérande
LD
@COLL(81)
DM
IR 001
EEEE
Dernier entré, premier sorti
00000
0000
035
001
00000
0000
035
001
185

Publicité

loading