Manuel du propriétaire | Omron CS Manuel utilisateur

Ajouter à Mes manuels
1329 Des pages
Manuel du propriétaire | Omron CS Manuel utilisateur | Fixfr
Cat. No. W340-FR2-11
Variablen: Vor Druckbeginn bitte entfernen!!!
Automates programmables
Série SYSMAC CS
Série SYSMAC CJ
FRANCE
Omron Electronics S.A.S.
14, rue de Lisbonne
93110 ROSNY SOUS BOIS
BELGIQUE
Omron Electronics N.V./S.A.
Stationsstraat 24, B-1702 Groot-Bijgaarden
Tél: +32 (0) 2 466 24 80
Fax: +32 (0) 2 466 06 87
www.omron.be
316 853 332 R. C. S. BOBIGNY
Tél. : + 33 1 56 63 70 00
Fax : + 33 1 48 55 90 86
www.omron.fr
SUISSE
Omron Electronics AG
Sennweidstrasse 44, CH-6312 Steinhausen
Tél. : +41 (0) 41 748 13 13
Fax : +41 (0) 41 748 13 45
www.omron.ch
Romanel Tél. : +41 (0) 21 643 75 75
316 853 332 R.C.S BOBIGNY Tél. : +33 1 56 63 70 00
Bien que nous nous efforcions d’atteindre la perfection, Omron Europe BV et/ou ses filiales et partenaires n’offrent
aucune garantie et n’assument aucune responsabilité pour ce qui est de l’exactitude ou de l’exhaustivité des information
fournies dans ce document. Nous nous réservons le droit de modifier son contenu à tout moment et sans préavis.
MANUEL DE REFERENCE DES INSTRUCTIONS
Sommaire
1 Introduction
15 Résumé des instructions
141 Instructions
1219 Temps d’exécution des
instructions et nombre de pas
Advanced Industrial Automation
Remarque : le produit étant sans cesse amélioré, ces caractéristiques peuvent être modifiées sans préavis.
Cat. No. W340-FR2-11
Série SYSMAC CS
CS1G/H-CPU@@-EV1
CS1G/H-CPU@@H
CS1D-CPU@@H
CS1D-CPU@@S
Série SYSMAC CJ
CJ1G-CPU@@
CJ1G/H-CPU@@H
CJ1G-CPU@@P
CJ1M-CPU@@
Automates programmables
Manuel de référence des instructions
Révisé en juillet 2004
iv
Remarque :
Les produits OMRON sont conçus pour être utilisés par un utilisateur qualifié,
en respectant les procédures appropriées et uniquement aux fins précisées
dans le présent document.
Les conventions suivantes sont utilisées dans ce manuel pour indiquer et
catégoriser les consignes de sécurité. Respectez toujours les informations
fournies. Le non-respect de ces consignes peut entraîner des blessures ou
des dégâts matériels.
!DANGER
Indique une situation dangereuse qui, si elle n'est pas évitée, peut entraîner des blessures
graves ou mortelles.
!AVERTISSEMENT Indique une situation potentiellement dangereuse qui, si elle n'est pas évitée, peut
provoquer des blessures graves ou mortelles.
!Attention
Indique une situation potentiellement dangereuse qui, si elle n'est pas évitée, risque
d'entraîner des blessures mineures ou modérées, ou des dégâts matériels.
Références des produits OMRON
Tous les produits OMRON sont écrits en majuscules dans le présent manuel.
Le mot "Carte" porte également une majuscule lorsqu'il fait référence à un
produit OMRON, sous forme de nom propre ou de nom commun.
L'abréviation "Ch" qui apparaît sur certains affichages et sur certains produits
OMRON signifie souvent "mot" (abréviation "Wd" dans la documentation).
L'abréviation "API" signifie Automate programmable. "PC" est toutefois utilisé
dans certains affichages de périphérique de programmation et signifie Programmable Controller.
Aide visuelle
Les intitulés suivants apparaissent dans la colonne de gauche du manuel
pour vous aider à localiser différents types d'informations.
Remarque Désigne des informations particulièrement intéressantes en vue d'une utilisation pratique et efficace du produit.
1,2,3...
1. Indique la présence d'une liste telle que des procédures ou des listes de
contrôles, etc.
 OMRON, 1999
Tous droits réservés. Aucune partie de cette publication ne peut être reproduite, stockée dans un système de mémoire ou
transmise, sous quelque forme ou par quelque moyen mécanique, électronique, photocopie, enregistrement que ce soit, sans
l'accord écrit préalable d'OMRON.
L'utilisation des informations contenues ci-après n'entraîne aucunement la responsabilité d’OMRON. De plus, dans un souci
d'améliorer la qualité de ses produits, OMRON se réserve le droit de modifier toute information contenue dans le présent
manuel sans avis préalable. Toutes les précautions ont été prises lors de l'élaboration de ce manuel. Toutefois, OMRON ne
peut être tenu responsable des erreurs ou omissions. Les dommages résultant de l'utilisation des informations contenues dans
cette publication n'entraînent aucune responsabilité.
v
Versions des UC série CS/CJ
Version des UC
Afin de gérer les UC de la série CS/CJ en fonction de leurs différences de
fonctionnalités dues à leurs mises à niveau, nous avons introduit la notion de
"version d’UC". Elle s'applique aux UC CS1-H, CJ1-H, CJ1M et CS1D.
Notation des versions sur
les produits
Le numéro de version apparaît à droite du numéro de lot sur la plaque signalétique des produits concernés par ce mode de gestion des versions, comme
illustré ci-dessous.
Plaque signalétique du produit
UC série CS/CJ
CS1H-CPU67H
CPU UNIT
Lot No.
Version de l'UC
Exemple pour la version 3.0
Lot No. 040715 0000 Ver.3.0
OMRON Corporation
MADE IN JAPAN
• La version des UC CS1-H, CJ1-H et CJ1M (à l'exception des modèles
économiques) fabriquées avant le 4 Novembre 2003 n'est pas indiquée
sur l'UC (l'emplacement réservé à ce numéro, illustré ci-dessus, est vide).
• Les UC CS1-H, CJ1-H et CJ1M, ainsi que les UC CS1D pour systèmes
d'UC unique, commencent à la version 2.0.
• Les UC CS1D des systèmes d'UC en duplex commencent à la
version 1.1.
• Les UC pour lesquelles aucun numéro de version n'est fourni sont
appelées UC pré-ver. @.@, telles que UC pré-ver. 2.0 et UC pré-ver. 1.1.
Vérification des versions
de carte avec un logiciel
de prise en charge
Vous pouvez utiliser CX-Programmer version 4.0 pour contrôler la version de
l’UC en appliquant l'une des deux méthodes suivantes.
• En utilisant les informations API
• A l'aide des informations sur la fabrication de la carte (cette méthode
peut aussi être utilisée pour les cartes E/S spéciales et les cartes
réseaux.)
Remarque CX-Programmer version 3.3 ou antérieure ne permet pas de vérifier les versions de carte.
Informations API
• Si vous connaissez le type de périphérique et le type d'UC, sélectionnezles dans la boîte de dialogue Modification API, connectez-vous en ligne,
puis sélectionnez API - Edition - Information dans les menus.
• Si vous ne connaissez pas le type de périphérique ni le type d'UC, mais
que vous êtes connecté directement à l'UC sur une ligne série,
sélectionnez API - Auto Online pour passer en ligne, puis sélectionnez
API - Edition - Information dans les menus.
Dans les deux cas, la boîte de dialogue Information API s'affiche.
vi
Version de l'UC
Utilisez l'affichage ci-dessus pour vérifier la version de l'UC.
Informations de fabrication de la carte
Dans la fenêtre Table E/S, faites un clic droit et sélectionnez Informations de
fabrication de carte - UC.
La boîte de dialogue Informations de fabrication de carte s’affiche.
vii
Version de l'UC
Utilisez l'affichage ci-dessus pour vérifier la version de l'UC connectée en
ligne.
Utilisation des étiquettes
de version d’UC
Les étiquettes de version suivantes sont fournies avec l'UC.
Ver. 3.0
Ver.
Ver. 3.0
Ver.
These Labels can be used
to manage differencies in
the available functions
among the Units.
Place the appropriate label
on the front of the Unit to
show what Unit version is
actually being used.
Ces étiquettes peuvent être attachées à l'avant des UC antérieures afin de
différencier les versions d'UC.
viii
Notation des versions
de carte
Plaque signalétique du
produit
Dans ce manuel, la version d'une UC est indiquée comme dans le tableau cidessous.
UC sans numéro de version
UC avec numéro de version
(ver. @.@)
Lot No. XXXXXX XXXX
OMRON Corporation
Signification
Désignation UC individuelle (CS1H-CPU67H
par ex.)
Désignation de groupes
d'UC (par exemple,
UC CS1H)
Désignation d'une série
d'UC (par exemple, les
UC série CS)
MADE IN JAPAN
Lot No. XXXXXX XXXX
Ver. @ .@
UC CS1-H pré-ver. 2.0
UC CS1H-CPU67H ver. @.@
UC CS1-H pré-ver. 2.0
UC CS1-H ver. @.@
UC série CS pré-ver. 2.0
UC série CS ver. @.@
ix
Versions d’UC et numéros de lot
Série
Modèle
Date de fabrication
Antérieure
Série
CS
UC CS1
CS1@CPU@@
UC CS1-V1 s
UC CS1-H
CS1@CPU@@-V1
Sept. 2003
Oct. 2003
UC pour
système
d'UC en
duplex
UC CJ1
UC CJ1-H
CS1@CPU@@H
UC ver. 2.0
(N° lot : 031105 indiqué)
CS1DCPU@@H
CJ1GCPU@@
UC CJ1M, modèles économiques
CJ1MCPU11/21
UC pré-ver. 2.0
UC pré-ver. 2.0
UC ver. 2.0
(N° lot : 031105 indiqué)
UC pré-ver. 2.0
UC ver. 2.0
(N° lot : 031105 indiqué)
x
Ver. 3.2
Ver. 3.3
UC ver. 3.0
(N° lot : 040623
indiqué)
UC ver. 3.0
(N° lot : 040624
indiqué)
UC ver. 3.0
(N° lot : 040629
indiqué)
UC ver. 2.0
(N° lot : 031002 indiqué)
WS02CXPC1EV@
UC ver. 3.0
(N° lot : 040622
indiqué)
UC ver. 2.0
(N° lot : 031215 indiqué)
CJ1@CPU@@H
CJ1MCPU@@
Ultérieure
UC ver. 1.1
(N° lot : 031120 indiqué)
UC pré-ver. 1.1
UC CJ1M
excepté modèles
économiques
LogiCX-Programmer
ciel de
prise
en
charge
Juin 2004
Pas de n° de version
UC pour CS1Dsystème CPU@@S
d'UC unique
Série
CJ
Déc. 2003
Pas de n° de version
UC pré-ver. 2.0
UC
CS1D
Nov. 2003
Ver. 4.0
Ver. 5.0
Fonction prise en charge par la version
UC CS1-H (CS1@-CPU@@H)
Fonction
Téléchargement de tâches individuelles
Protection de lecture améliorée grâce aux mots de passe
Protection en écriture à partir de commandes FINS envoyées aux
UC via le réseau
Connexions au réseau en ligne sans table d'E/S
Communications via 8 niveaux de réseau maximum
Connexion en ligne aux API via les IHM série NS
Paramétrage des mots du premier emplacement
Transferts automatiques à la mise sous tension sans fichier de
paramètres
Détection automatique de la méthode d'affectation d'E/S pour le
transfert automatique à la mise sous tension
Heures de début/fin de fonctionnement
MILH, MILR, MILC
Instructions
nouvelle appli- =DT, <>DT, <DT, <=DT, >DT, >=DT
cation
BCMP2
GRY
TPO
DSW, TKY, HKY, MTR, 7SEG
EXPLT, EGATR, ESATR, ECHRD, ECHWR
Lecture/écriture de cartes réseaux avec
IORD/IOWR
PRV2
Version UC
UC pré-ver. 2.0
UC ver. 2.0
--OK
--OK
---
OK
----OK à partir du numéro
de lot 030201
OK jusqu'à 8 groupes
---
OK
OK
OK
OK jusqu'à 64 groupes
OK
---
---
--------OK à partir du numéro
de lot 030201
------OK à partir du numéro
de lot 030418
---
OK
OK
OK
OK
OK
OK
OK
OK
OK
---
xi
UC CS1D
Fonction
UC CS1D pour systèmes d'UC en duplex
(CS1D-CPU@@H)
OK
OK
OK
OK
UC CS1D pour systèmes d'UC unique
(CS1D-CPU@@S)
UC ver. 2.0
--OK
OK
OK
-------
OK
OK
OK
-----
OK
OK
OK
OK
OK
---
---
OK
---
---
OK
---
---
OK
---
---
OK
---
---
Transferts automatiques à la mise sous tension sans fichier de paramètres
---
---
OK jusqu'à 64
groupes
OK
Détection automatique de la méthode d'affectation d'E/S pour le transfert automatique à la
mise sous tension
Heures de début/fin de fonctionnement
Instructions
MILH, MILR, MILC
nouvelle
=DT, <>DT, <DT, <=DT, >DT,
application
>=DT
BCMP2
GRY
TPO
DSW, TKY, HKY, MTR, 7SEG
EXPLT, EGATR, ESATR,
ECHRD, ECHWR
Lecture/écriture de cartes
réseaux avec IORD/IOWR
PRV2
---
---
---
-------
OK
-----
OK
OK
OK
-----------
-----------
OK
OK
OK
OK
OK
---
---
OK
---
---
---
UC pré-ver. 1.1
Fonctions sur UC en duplex
les UC CS1D Remplacement de la carte en
uniquement
ligne
Cartes d'alimentation duplex
Carte Controller Link duplex
Carte Ethernet duplex
Téléchargement de tâches individuelles
Protection de lecture améliorée grâce aux
mots de passe
Protection en écriture à partir de commandes
FINS envoyées aux UC via le réseau
Connexions au réseau en ligne sans table
d'E/S
Communications via 8 niveaux de réseau
maximum
Connexion en ligne aux API via les IHM série
NS
Paramétrage des mots du premier emplacement
xii
UC ver. 1.1
UC CJ1-H/CJ1M
Fonction
Téléchargement de tâches
individuelles
Protection de lecture améliorée grâce aux mots de passe
Protection en écriture à partir
de commandes FINS envoyées
aux UC via le réseau
Connexions au réseau en ligne
sans table d'E/S
UC CJ1-H
(CJ1@-CPU@@H)
UC pré-ver. 2.0
UC ver. 2.0
--OK
UC pré-ver. 2.0
UC ver. 2.0
--OK
UC CJ1M,
modèles
économiques
(CJ1MCPU11/21)
UC ver. 2.0
OK
---
OK
---
OK
OK
---
OK
---
OK
OK
OK
OK
OK
OK jusqu'à 64
groupes
OK
OK jusqu'à 64
groupes
OK
OK
OK, mais uniquement si
l'affectation de
tables d'E/S est
activée à la
mise sous tension
OK jusqu'à 8
groupes
OK à partir du
numéro de lot
030201
---
OK
OK
OK
---
OK
OK
OK
---
OK
OK
OK
---
OK
OK
OK
OK
-----
OK
OK
OK
OK
OK, mais uniquement si
l'affectation de
tables d'E/S est
activée à la
mise sous tension
Communications via 8 niveaux OK jusqu'à 8
de réseau maximum
groupes
Connexion en ligne aux API via OK à partir du
les IHM série NS
numéro de lot
030201
Paramétrage des mots du
--premier emplacement
Transferts automatiques à la
--mise sous tension sans fichier
de paramètres
Détection automatique de la
--méthode d'affectation d'E/S
pour le transfert automatique à
la mise sous tension
Heures de début/fin de
--fonctionnement
MILH, MILR, MILC --Instructions nou- =DT, <>DT, <DT,
--velle
<=DT, >DT, >=DT
applicaBCMP2
--tion
GRY
OK à partir du
numéro de lot
030201
TPO
--DSW, TKY, HKY,
--MTR, 7SEG
EXPLT, EGATR,
--ESATR, ECHRD,
ECHWR
Lecture/écriture de --cartes réseaux
avec IORD/IOWR
PRV2
---
OK jusqu'à 64
groupes
OK
UC CJ1M,
excepté les modèles
économiques
(CJ1M-CPU@@)
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK à partir du
numéro de lot
030201
-----
OK
OK
OK
OK
OK
---
OK
OK
OK
---
OK
OK
---
---
OK, mais uniquement pour
les modèles
avec E/S intégrées
OK, mais uniquement pour
les modèles
avec E/S intégrées
xiii
Fonctions prises en charge par l’UC Ver.3.0 ou supérieure
UC CS1-H (CS1@-CPU@@H)
Fonction
Blocs fonction (pris en charge pour CX-Programmer ver. 5.0 ou
supérieure)
Passerelle série (conversion des commandes FINS en commandes
CompoWay/F au port série intégré)
Mémoire des commentaires (dans la mémoire flash interne)
Données de sauvegarde simple étendues
Instructions
TXDU(256), RXDU(255) (prennent en charge les
nouvelle appli- communications sans protocole pour les cartes
de communication série avec la version 1.2 ou
cation
supérieure)
Instructions de conversion des modèles :
XFERC(565), DISTC(566), COLLC(567),
MOVBC(568), BCNTC(621)
Instructions spéciales des blocs fonction :
GETID(286)
Fonctions des
Instructions TXD(235) et RXD(236) (prennent en
autres instruc- charge les communications sans protocole avec
tions
les cartes de communication série, avec la
version 1.2 ou supérieure)
UC CS1D
Version de l’UC
Pré-ver. 2.0, Ver. 2.0
Ver. 3.0
--OK
---
OK
-------
OK
OK
OK
---
OK
---
OK
---
OK
La version 3.0 n’est pas prise en charge.
UC CJ1-H/CJ1M (CJ1@-CPU@@H, CJ1G-CPU@@P, CJ1M-CPU@@)
Fonction
Blocs de fonction (pris en charge pour CX-Programmer ver. 5.0 ou
supérieure)
Passerelle série (conversion des commandes FINS en commandes
CompoWay/F au port série intégré)
Mémoire des commentaires (dans la mémoire flash interne)
Données de sauvegarde simple étendues
TXDU(256), RXDU(255) (prennent en charge les
Instructions
communications sans protocole pour les cartes
nouvelle
de communication série avec la version 1.2 ou
application
supérieure)
Instructions de conversion des modèles :
XFERC(565), DISTC(566), COLLC(567),
MOVBC(568), BCNTC(621)
Instructions spéciales des blocs de fonction :
GETID(286)
Fonctions des
Instructions PRV(881) et PRV2(883) : Ajout de
autres
méthodes de calcul à haute fréquence pour
instructions
calculer la fréquence d'impulsion. (UC CJ1M
uniquement)
xiv
Version d’UC
Pré-ver. 2.0, Ver. 2.0
Ver. 3.0
--OK
---
OK
-------
OK
OK
OK
---
OK
---
OK
---
OK
Version des UC et périphériques de programmation
Vous devez utiliser CX-Programmer version 4.0 ou supérieure pour pouvoir
bénéficier des fonctions ajoutées à l'UC ver.2.0.
L’utilisation des blocs de fonction ajoutés pour l’UC version 3.0 nécessite CXProgrammer version 5.0 ou supérieure.
Les tableaux suivants montrent la relation entre les versions de l’UC et les
versions de CX-Programmer.
Version UC et périphériques de programmation
UC
Fonctions
UC CJ1M, modèles économiques,
UC ver. 2.0
Fonctions ajoutées pour la version 2.0 de l’UC
UC CS1-H, CJ1-H
et CJ1M, excepté
les modèles économiques, UC
ver. 2.0
UC CS1D pour
systèmes à UC
unique, UC
ver. 2.0
Fonctions ajoutées pour la version 2.0 de l’UC
Fonctions ajoutées pour la version 2.0 de l’UC
Fonctions ajouUC CS1D pour
systèmes d'UC en tées pour la verduplex, UC ver. 1. sion 1.1 de l’UC
UC série CS/CJ
ver. 3.0
Blocs fonction
ajoutés pour la
version UC 3.0
CX-Programmer
Ver. 3.3 Ver. 4.0
Utilisation des nouvelles
fonctions
Sans utilisation des
nouvelles fonctions
Utilisation des nouvelles
fonctions
Sans utilisation des
nouvelles fonctions
Utilisation des nouvelles
fonctions
Sans utilisation des
nouvelles fonctions
Utilisation des nouvelles
fonctions
Sans utilisation des
nouvelles fonctions
Blocs fonction utilisés
Blocs fonction non
utilisés
Console
de programmation
Ver. 3.2
ou antérieure
-----
OK
---
OK
OK
Ver. 5.0
ou supérieure
OK
Pas de
restriction
OK
---
---
OK
OK
OK
OK
OK
OK
---
---
OK
OK
OK
---
---
OK
OK
OK
OK
OK
OK
--OK
--OK
--OK
OK
OK
Remarque Comme indiqué ci-dessus, il n'est pas nécessaire d'effectuer une mise à
niveau vers CX-Programmer 4.0 tant que les fonctions ajoutées pour les UC
version 2.0 ou 1.1 ne sont pas utilisées.
Réglage du type de
périphérique
Série
La version de l’UC n'affecte pas le réglage effectué pour le type de périphérique sur CX-Programmer. Sélectionnez le type de périphérique comme illustré
dans le tableau suivant sans tenir compte de la version de l'UC.
Groupe d'UC
Modèle d'UC
Série CS
UC CS1-H
CS1G-CPU@@H
CS1D-CPU@@H
Série CJ
UC CS1D pour systèmes d'UC en duplex
UC CS1D pour systèmes d'UC unique
UC CJ1-H
CS1H-CPU@@H
UC CJ1M
CS1D-CPU@@S
CJ1G-CPU@@H
CJ1H-CPU@@H
CJ1M-CPU@@
Réglage du type de périphérique
dans CX-Programmer ver. 4.0 ou
supérieure
CS1G-H
CS1H-H
CS1D-H (ou CS1H-H)
CS1D-S
CJ1G-H
CJ1H-H
CJ1M
xv
Résolution des problèmes dus aux versions des cartes dans CX-Programmer
Problème
Après l'affichage du message ci-dessus, une erreur de
compilation apparaît dans l'onglet Compile de la
fenêtre Sortie.
“????” apparaît dans un programme transféré d'un
API vers CX-Programmer.
xvi
Cause
Vous avez essayé d'utiliser CXProgrammer version 4.0 ou
supérieure pour télécharger un
programme contenant des
instructions prises en charge
uniquement par des UC version
2.0 ou ultérieure.
Solution
Vérifiez le programme ou
remplacez l'UC téléchargée
par une UC version 2.0 ou
supérieure.
Vous avez essayé d'utiliser CXProgrammer version 4.0 ou
supérieure pour télécharger vers
des UC pré-ver. 2.0 une
configuration de l'API contenant
des paramètres pris en charge
uniquement par des UC version
2.0 ou ultérieure (c.-à-d. non
définies sur leurs valeurs par
défaut).
Vous avez utilisé CX-Programmer
version 3.3 ou inférieure pour
télécharger un programme
contenant des instructions prises
en charge uniquement par les UC
version 2.0 ou supérieure à partir
d'une UC version 2.0 ou
supérieure.
Vérifiez les paramètres dans la
configuration de l'API ou
remplacez l'UC téléchargée
par une UC version 2.0 ou
supérieure.
Il est impossible de
télécharger les nouvelles
instructions à l'aide de CXProgrammer version 3.3 ou
inférieure. Utilisez CXProgrammer version 4.0 ou
supérieure.
SOMMAIRE
PRECAUTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
1
Public visé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxiv
2
Précautions générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxiv
3
Précautions de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxiv
4
Précautions liées à l'environnement d'utilisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxvi
5
Précautions d'application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxvi
6
Conformité aux directives CE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxx
CHAPITRE 1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1-1
Caractéristiques générales des instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1-2
Contrôle d'exécution de l'instruction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
CHAPITRE 2
Résumé des instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2-1
Classement des instructions par fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2-2
Fonction des instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
2-3
Liste alphabétique des instructions par mnémonique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
108
2-4
Liste des instructions par code fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
125
CHAPITRE 3
Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
3-1
Notation et présentation des descriptions d'instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . .
148
3-2
Mises à niveau des instructions et nouvelles instructions . . . . . . . . . . . . . . . . . . . . . . . . . . .
151
3-3
Instructions d'entrée de séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
153
3-4
Instructions de sortie de séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
177
3-5
Instructions de contrôle de séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
197
3-6
Instructions de temporisateur et compteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
233
3-7
Instructions de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
275
3-8
Instructions de déplacement de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
315
3-9
Instructions de décalage de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
344
3-10 Instructions d'incrémentation/décrémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
393
3-11 Instructions mathématiques à symboles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
409
3-12 Instructions de conversion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
465
3-13 Instructions logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
517
3-14 Instructions mathématiques spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
534
3-15 Instructions mathématiques à virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
558
3-16 Instructions à virgule flottante double précision
(CS1-H, CJ1-H, CJ1M ou CS1D uniquement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
613
3-17 Instructions de traitement des données de tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
660
3-18 Instructions de contrôle des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
720
3-19 Sous-programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
773
xvii
SOMMAIRE
3-20 Instructions de contrôle des interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
798
3-21 Instructions de compteur à grande vitesse et de sortie d'impulsions . . . . . . . . . . . . . . . . . . .
823
3-22 Instructions de pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
867
3-23 Instructions des cartes E/S standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
885
3-24 Instructions de communication série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
926
3-25 Instructions réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
973
3-26 Instructions de mémoire de fichiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1042
3-27 Instructions d'affichage : DISPLAY MESSAGE : MSG(046) . . . . . . . . . . . . . . . . . . . . . . .
1058
3-28 Instructions d'horloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1061
3-29 Instructions de débogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1075
3-30 Instructions de diagnostic d'erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1079
3-31 Autres instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1104
3-32 Instructions de programmation de bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1124
3-33 Instructions de traitement de chaînes de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1158
3-34 Instructions de contrôle des tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1192
3-35 Instructions de conversion des modèles (UC version 3.0 ou supérieure) . . . . . . . . . . . . . . .
1199
CHAPITRE 4
Temps d'exécution des instructions et nombre de pas . . . . 1219
4-1
Temps d'exécution des instructions série CS et nombre de pas. . . . . . . . . . . . . . . . . . . . . . .
1221
4-2
Temps d'exécution des instructions série CJ et nombre de pas . . . . . . . . . . . . . . . . . . . . . . .
1250
Appendices
A
Table des codes ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1285
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1287
Historique des révisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295
xviii
A propos de ce manuel :
Ce manuel décrit les instructions de programmation en schéma contact des UC pour les automates
programmables (API) série CS/CJ. Les séries CS et CJ sont subdivisées comme indiqué dans le
tableau ci-dessous.
Unité
UC
UC CS1-H :
UC CS1 :
Série CS
CS1H-CPU@@H
CS1G-CPU@@H
CS1H-CPU@@-EV1
CS1G-CPU@@-EV1
UC CS1D :
UC CS1D pour systèmes d'UC en duplex :
CS1D-CPU@@H
UC CS1D pour systèmes d'UC unique :
CS1D-CPU@@S
UC de process CS1D :
CS1D-CPU@@P
Cartes E/S standard Cartes E/S standard série CS
Cartes E/S spéciales Cartes E/S spéciales série CS
Cartes réseaux
Cartes réseaux série CS
Cartes
Cartes d'alimentation série CS
d'alimentation
UC CJ1-H :
UC CJ1 :
UC CJ1M :
Série CJ
CJ1H-CPU@@H
CJ1G-CPU@@H
CJ1G-CPU@@P
CJ1G-CPU@@-EV1
CJ1M-CPU@@
Cartes E/S standard série CJ
Cartes E/S spéciales série CJ
Cartes réseaux série CJ
Cartes d'alimentation série CJ
Veuillez lire ce manuel et tous les manuels répertoriés dans le tableau suivant et vous assurer d'avoir
bien compris les informations qu'ils contiennent avant d'essayer de programmer ou d'utiliser des UC
série CS/CJ dans un système API.
Chapitre 1 introduit les API série CS/CJ en termes de jeux d'instructions qu'ils prennent en charge.
Chapitre 2 fournit plusieurs listes d'instructions à titre de référence.
Chapitre 3 décrit chacune des instructions des jeux d'instructions série CS/CJ.
Chapitre 4 indique les temps d'exécution des instructions et le nombre de pas pour chaque instruction
série CS/CJ.
xix
A propos de ce manuel, suite
Nom
Série SYSMAC CS/CJ
CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H, CS1DCPU@@H, CS1D-CPU@@S, CJ1G-CPU@@, CJ1MCPU@@, CJ1G-CPU@@P, CJ1G/H-CPU@@H
Manuel de référence des instructions des automates
programmables
Série SYSMAC CS/CJ
CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H, CS1DCPU@@H, CS1D-CPU@@S, CJ1G-CPU@@, CJ1MCPU@@, CJ1G-CPU@@P, CJ1G/H-CPU@@H
Manuel de programmation des automates programmables
Série SYSMAC CS
CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H
Manuel d'utilisation des automates programmables
Série SYSMAC CJ
CJ1G-CPU@@, CJ1M-CPU@@, CJ1G-CPU@@P, CJ1G/HCPU@@H
Manuel d'utilisation des automates programmables
Série SYSMAC CJ
CJ1M-CPU21/22/23
Manuel d'utilisation des fonctions E/S intégrées
Série SYSMAC CS
UC CS1D-CPU@@H
UC CS1D-CPU@@S
Carte duplex CS1D-DPL1
Carte d’alimentation CS1D-PA207R
Manuel d'utilisation du système duplex
Série SYSMAC CS/CJ
CQM1H-PRO01-E, C200H-PRO27-E, CQM1-PRO01-E
Manuel d'utilisation des consoles de programmation
Série SYSMAC CS/CJ
CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H,
CS1D-CPU@@H, CS1D-CPU@@S, CJ1M-CPU@@,
CJ1G-CPU@@, CJ1G-CPU@@P, CJ1G/H-CPU@@H,
CS1W-SCB21-V1/41-V1, CS1W-SCU21-V1,
CJ1W-SCU21-V1/41-V1
Manuel de référence des commandes de communication
SYSMAC WS02-CXP@@-E
Manuel d'utilisation de CX-Programmer version 3.@
SYSMAC WS02-CXP@@-E
Manuel d'utilisation de CX-Programmer version 4.@
SYSMAC WS02-CXP@@-E
Manuel d'utilisation de CX-Programmer version 5.@
SYSMAC WS02-CXP@@-E
Manuel d'utilisation de CX-Programmer – Blocs fonction
xx
Cat. No.
Sommaire
W340
Décrit les instructions de programmation en
schéma contact pris en charge par les API série
CS/CJ. (Ce manuel)
W394
Ce manuel décrit la programmation et les autres
modes d'utilisation des fonctions des API série
CS/CJ.
W339
Présente les grandes lignes et décrit la
conception, l'installation, la maintenance et autres
opérations de base des API série CS.
Présente les grandes lignes et décrit la
conception, l'installation, la maintenance et autres
opérations de base des API série CJ.
W393
W395
Décrit les fonctions des E/S intégrées des UC
CJ1M.
W405
Présente les grandes lignes et décrit la
conception, l'installation, la maintenance et autres
opérations standard d'un système duplex basé
sur les UC CS1D.
W341
Fournit des informations sur la programmation et
l'utilisation des API série CS/CJ à l'aide d'une
console de programmation.
Décrit la série C (Host Link) et les commandes de
communication FINS utilisées avec les API série
CS/CJ.
W342
W414
W425
Fournit des informations sur l'utilisation de CXProgrammer, un périphérique de programmation
qui prend en charge les API série CS/CJ, et de
CX-Net contenu dans CX-Programmer.
W437
W438
Décrit les spécifications et les méthodes d’utilisation relatives aux blocs fonction. Ces informations
sont requises uniquement lorsque vous utilisez
des blocs fonction avec la combinaison de CXProgrammer ver. 5.0 et UC CS1-H/CJ1-H/CJ1M
ver. 3.0. Reportez-vous au Manuel d'utilisation de
CX-Programmer version 5.@ (W437) pour des
informations détaillées sur les autres fonctions de
CX-Programmer ver. 5.0.
Nom
Série SYSMAC CS/CJ
CS1W-SCB21-V1/41-V1, CS1W-SCU21-V1,
CJ1W-SCU21-V1/41-V1
Manuel d'utilisation des cartes de communication série
SYSMAC WS02-PSTC1-E
Manuel d'utilisation de CX-Protocol
Cat. No.
Sommaire
W336
Décrit l'utilisation des cartes de communications
série en vue d'effectuer des communications
série avec des périphériques externes, y compris
l'utilisation des protocoles système standard des
produits OMRON.
W344
Décrit l'utilisation de CX-Protocol pour créer des
macros protocole en tant que séquences de
communication pour communiquer avec des
périphériques externes.
!AVERTISSEMENT Une lecture partielle ou une mauvaise compréhension des informations contenues dans ce manuel peut provoquer des dysfonctionnements ou endommager
les appareils, et présente des risques de blessures corporelles, voire un danger
de mort. Veuillez lire attentivement chaque chapitre dans son intégralité. Il est
essentiel de bien comprendre les informations de chaque chapitre et des chapitres qui lui sont associés avant d'entamer toute procédure ou opération.
xxi
xxii
PRECAUTIONS
Ce chapitre présente les précautions générales à prendre lors de l'utilisation des automates programmables (API) séries CS/
CJ et des périphériques associés.
Les informations contenues dans ce chapitre sont importantes pour garantir une utilisation fiable et sans danger des
automates programmables. Avant d'essayer de configurer ou de faire fonctionner un système d'API, vous devez lire
ce chapitre et comprendre les informations qu'il renferme.
1
Public visé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxiv
2
Précautions générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxiv
3
Précautions de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxiv
4
Précautions liées à l'environnement d'utilisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxvi
5
Précautions d'application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxvi
6
Conformité aux directives CE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxx
6-1
Directives applicables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxx
6-2
Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxx
6-3
Conformité aux directives CE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxxi
6-4
Méthodes de réduction des parasites des sorties relais. . . . . . . . . . . . . . . . . . . . . . . . . . .
xxxi
xxiii
1
Public visé
1
Public visé
Ce manuel est destiné au personnel suivant, qui doit également avoir une
connaissance des systèmes électriques (ingénieur électricien ou équivalent).
• Personnel chargé d'installer des systèmes d'automatisme.
• Personnel chargé de concevoir des systèmes d'automatisme.
• Personnel chargé de la gestion de sites et de systèmes d'automatisme.
2
Précautions générales
L'utilisateur doit se servir du produit conformément aux spécifications de performances décrites dans les manuels d'utilisation.
Avant d'utiliser ce produit dans des conditions non décrites dans ce manuel
ou d'appliquer le produit à des systèmes de contrôle nucléaire, des systèmes
ferroviaires, des systèmes aéronautiques, des véhicules, des systèmes de
combustion, des équipements médicaux, des machines de jeu, des équipements de sécurité et d'autres systèmes, machines et équipements susceptibles d'avoir des conséquences graves sur la vie et la propriété d'autrui en cas
d'utilisation inadéquate, veuillez consulter votre revendeur OMRON.
Assurez-vous que les valeurs nominales et les caractéristiques de performances du produit sont suffisantes pour les systèmes, machines et équipements,
et veillez à ce que ceux-ci soient munis de doubles dispositifs de sécurité.
Ce manuel fournit des informations sur la programmation et l'utilisation de
l’unité. Vous devez absolument lire ce manuel avant d'essayer d'utiliser l’unité
et le conserver à portée de main pour toute référence ultérieure pendant le
fonctionnement du système.
!AVERTISSEMENT Il est extrêmement important qu'un API et toutes les cartes API soient utilisés aux
fins prévues et dans les conditions spécifiées, en particulier lorsqu'il s'agit d'applications susceptibles d'affecter directement ou indirectement la vie de l'homme.
Avant d'utiliser un système d'API dans le cadre des applications mentionnées cidessus, vous devez impérativement consulter votre représentant OMRON.
3
Précautions de sécurité
!AVERTISSEMENT L'UC met à jour les E/S même lorsque le programme est à l'arrêt (c'est-à-dire,
même en mode PROGRAM). Contrôlez les conditions de sécurité avant de
modifier l'état de toute partie de mémoire réservée aux cartes E/S, aux cartes
E/S spéciales ou aux cartes réseaux. Tout changement des données affectées à une carte risque de provoquer un fonctionnement inattendu des charges connectées à la carte. Chacune des opérations suivantes peut provoquer
un changement de l'état de la mémoire.
• Transfert de données de la mémoire E/S vers l'UC depuis un périphérique
de programmation.
• Modification des valeurs actuelles de la mémoire depuis un périphérique
de programmation.
• Mise à 0/1 forcée de bits depuis un périphérique de programmation.
• Transfert de fichiers de la mémoire E/S à partir d'une carte mémoire ou
de la mémoire de fichiers EM vers l'UC.
• Transfert de la mémoire E/S depuis un ordinateur hôte ou un autre API
sur un réseau.
!AVERTISSEMENT N'essayez jamais de démonter une carte alors qu'elle est sous tension. Vous
pourriez en effet recevoir une décharge électrique.
!AVERTISSEMENT Ne touchez jamais les bornes ou borniers pendant que le système est sous
tension. Vous pourriez en effet recevoir une décharge électrique.
xxiv
Précautions de sécurité
3
!AVERTISSEMENT N'essayez jamais de démonter, de réparer ou de modifier une unité quelconque sous peine de provoquer un dysfonctionnement, un incendie ou une
décharge électrique.
!AVERTISSEMENT Prévoyez des mesures de sécurité pour les circuits externes (extérieurs à
l'automate programmable), y compris les mesures suivantes, afin de garantir la
sécurité du système si une anomalie intervient à la suite d'un dysfonctionnement de l'API ou un autre facteur externe affectant le fonctionnement de l'API.
Le non-respect de cet avertissement pourrait provoquer des accidents graves.
• Des circuits d'arrêt d'urgence, des circuits à verrouillage, des interrupteurs de fin de course et autres mesures de sécurité similaires doivent
être utilisés avec tous les circuits de contrôle externes.
• L'API désactive toutes les sorties lorsque sa fonction de diagnostic automatique détecte une erreur ou qu'une instruction d'alarme de défaillance
grave (FALS) est exécutée. Pour éviter de telles erreurs, des mesures de
sécurité externes doivent être prises pour assurer la sécurité du système.
• Les sorties de l'API peuvent rester sur ON ou sur OFF en raison de
l'encrassement ou de la surchauffe des relais de sortie ou de la destruction des transistors de sortie. Pour se prémunir contre ce type de problèmes, des mesures de sécurité externes doivent être prises pour assurer
la sécurité du système.
• Lorsque la sortie de 24 Vc.c. (alimentation électrique de service de l'API)
est surchargée ou court-circuitée, il peut y avoir une baisse de tension
entraînant une désactivation des sorties. Pour se prémunir contre ce type
de problèmes, des mesures de sécurité externes doivent être prises pour
assurer la sécurité du système.
!Attention Vérifiez la sécurité avant de transférer des fichiers de données stockés dans
la mémoire de fichiers (carte mémoire ou mémoire de fichiers EM) vers la
zone E/S (CIO) de l'UC à l'aide d'un outil périphérique. Les périphériques
connectés à la carte de sortie risquent sinon de connaître des dysfonctionnements indépendamment du mode de fonctionnement de l'UC.
!Attention Des mesures de sécurité doivent être prises par le client pour garantir la
sécurité dans le cas de signaux incorrects, manquants ou anormaux dus à
une rupture des lignes de signaux, à des interruptions momentanées de l'alimentation ou à d'autres causes. Des accidents graves peuvent survenir suite
à un fonctionnement anormal si des mesures appropriées ne sont pas prises.
!Attention N'exécutez une édition en ligne qu'après vous être assuré que cette opération
n'aura pas d'effets néfastes par suite de l'allongement du temps de cycle. Les
signaux d'entrée risquent sinon d'être illisibles.
!Attention Les UC CS1-H, CJ1-H, CJ1M et CS1D enregistrent automatiquement le programme utilisateur ainsi que les données des paramètres dans la mémoire
flash lorsque ces données sont écrites sur l'UC. Cependant, la mémoire E/S
(y compris les zones DM, EM et HR) n'est pas sauvegardée dans la mémoire
flash. Il est possible de conserver les zones DM, EM et HR en cas d'interruption d'alimentation grâce à une batterie. En cas d'erreur de batterie, il est possible que le contenu de ces zones ne soit pas exact après une interruption
d'alimentation. Si le contenu des zones DM, EM et HR sert à contrôler les sorties externes, évitez des sorties inadéquates chaque fois que le drapeau
d'erreur de batterie (A40204) est activé (ON).
!Attention Assurez-vous de la sécurité du nœud de destination avant de transférer un
programme vers un autre nœud ou de modifier le contenu de la zone de
mémoire E/S. Exécuter l'une de ces opérations sans vérifier la sécurité risque
de provoquer des blessures.
xxv
Précautions liées à l'environnement d'utilisation
4
!Attention Serrez les vis du bornier de la carte d'alimentation c.a. en respectant le couple spécifié dans le manuel d'utilisation. Des vis mal serrées risquent de provoquer une surchauffe ou un dysfonctionnement.
!Attention Ne touchez pas la carte d'alimentation alors qu'elle est sous tension ou juste
après la mise hors tension. Elle risque d'être chaude et de vous brûler.
!Attention Faites attention lorsque vous connectez des ordinateurs ou d'autres périphériques à un API sur lequel est montée une unité non isolée (CS1W-CLK12/52(V1) ou CS1W-ETN01) connectée à une alimentation externe. Si le côté 24 V
de l'alimentation externe est raccordé à la terre et que le côté 0 V de l'appareil
périphérique l'est aussi, vous produirez un court-circuit. Lorsque vous connectez un appareil périphérique à ce type d'API, vous pouvez soit raccorder à
la terre le côté 0 V de l'alimentation externe, soit ne pas raccorder du tout à la
terre l'alimentation externe.
4
Précautions liées à l'environnement d'utilisation
!Attention N'utilisez pas le système de contrôle dans les endroits suivants :
• Endroits exposés à la lumière directe du soleil.
• Endroits soumis à des températures ou des taux d'humidité en dehors
des valeurs indiquées dans les spécifications.
• Endroits soumis à la condensation due à des variations importantes de
température.
• Endroits en contact avec des gaz corrosifs ou inflammables.
• Endroits soumis à la poussière (en particulier, la limaille de fer) ou au contact de sels.
• Endroits où l'on utilise de l'eau, de l'huile ou des produits chimiques.
• Endroits soumis à des chocs ou des vibrations importantes.
!Attention Prenez des mesures de protection appropriées et suffisantes lorsque vous
installez des systèmes dans les endroits suivants :
•
•
•
•
Endroits soumis à l'électricité statique ou à d'autres formes de parasites.
Endroits soumis à des champs électromagnétiques intenses.
Endroits susceptibles d'être exposés à la radioactivité.
Endroits proches de sources d'alimentation.
!Attention L'environnement d'utilisation du système d'API peut affecter fortement sa longévité et sa fiabilité. Un environnement d'utilisation hostile peut provoquer des
dysfonctionnements, des défaillances et d'autres problèmes imprévisibles au
niveau du système API. Vérifiez bien qu'au moment de l'installation, l'environnement d'utilisation est conforme aux conditions spécifiées et qu'il présente
toujours les mêmes conditions tout au long de la durée de vie du système.
5
Précautions d'application
Observez les précautions suivantes lorsque vous utilisez le système API.
• Vous devez utiliser CX-Programmer (logiciel de programmation qui fonctionne sous Windows) si vous devez programmer plusieurs tâches. La
console de programmation peut uniquement être utilisée pour programmer une seule tâche cyclique et des tâches d'interruption. Elle peut toutefois être utilisée pour éditer des programmes multitâches créés
initialement avec CX-Programmer.
xxvi
5
Précautions d'application
!AVERTISSEMENT Suivez toujours ces précautions. Le non-respect des précautions suivantes
pourrait entraîner des blessures graves, voire mortelles.
• Effectuez toujours une mise à la terre de 100 Ω ou moins lors de l'installation des cartes. L'absence d'une mise à la terre de 100 Ω ou moins risque
de provoquer des décharges électriques.
• Une mise à la terre de 100 Ω ou moins doit être installée lors du court-circuitage des bornes GR et LG sur la carte d'alimentation.
• Mettez toujours l'API hors tension avant de tenter d'effectuer l'une des
opérations suivantes. Si vous ne le faites pas, vous risquez de provoquer
un dysfonctionnement ou de recevoir une décharge électrique.
• Montage ou démontage des cartes d'alimentation, des cartes E/S, des
UC ou des autres cartes.
• Assemblage des cartes.
• Réglage des interrupteurs DIP et autres commutateurs rotatifs.
• Connexion des câbles ou câblage du système.
• Connexion ou déconnexion des connecteurs.
!Attention Le non-respect des précautions suivantes peut provoquer un dysfonctionnement de l'API ou du système, ou endommager l'API ou les cartes API. Suivez
toujours ces précautions.
• Les données du programme utilisateur et de la zone de paramètre des
UC CS1-H, CS1D, CJ1-H et CJ1M sont sauvegardées dans la mémoire
flash intégrée. Le voyant BKUP s'allume sur le devant de l'UC pendant
que la sauvegarde est en cours. Ne pas mettre l'UC hors tension lorsque
le voyant BKUP est allumé. Les données ne seront pas sauvegardées si
l'alimentation est coupée.
• Lorsque vous utilisez une UC CS1 série CS la première fois, installez la
batterie CS1W-BAT1 fournie avec la carte et effacez toutes les zones de
mémoire à partir d'un périphérique de programmation avant de commencer
à programmer. Lorsque vous utilisez l'horloge interne, mettez le système
sous tension après avoir installé la batterie et réglez l'horloge à partir d'un
périphérique de programmation ou à l'aide de l'instruction DATE(735).
L'horloge ne démarrera pas tant que l'heure n'aura pas été réglée.
• Lorsque l'UC sort de l'usine, l'API est configuré de manière à ce que l'UC
démarre dans le mode de fonctionnement réglé sur le commutateur de
mode de la console de programmation. Lorsqu'aucune console de programmation n'est connectée, une UC CS1 série CS démarrera en mode PROGRAM mais une UC CS1-H, CS1D, CJ1, CJ1-H ou CJ1M démarrera en
mode RUN et commencera à fonctionner immédiatement. Evitez de lancer,
intentionnellement ou non, le fonctionnement sans être sûr de sa sécurité.
• Lorsque vous créez un fichier AUTOEXEC.IOM depuis un périphérique de
programmation (console de programmation ou CX-Programmer) pour transférer automatiquement des données au démarrage, configurez la première
adresse en écriture sur D20000 et assurez-vous que la taille des données
écrites ne dépasse pas la taille de la zone DM. Lorsque le fichier de données est lu depuis la carte mémoire au démarrage, les données sont écrites
sur l'UC en commençant par l'adresse D20000 et ce, même si une autre
adresse a été configurée lors de la création du fichier AUTOEXEC.IOM. De
plus, si la zone DM est dépassée (ce qui est possible lorsque CX-Programmer est utilisé), les données restantes sont écrites sur la zone EM.
• Mettez toujours l'API sous tension avant de brancher le système de contrôle. Si l'API est mis sous tension après le système de contrôle, des erreurs
temporaires risquent de se produire au niveau des signaux du système de
contrôle car les bornes de sortie des cartes de sorties c.c. et des autres cartes sont momentanément activées lors de la mise sous tension de l'API.
xxvii
Précautions d'application
5
• Des mesures de sécurité doivent être prises par le client pour garantir la
sécurité dans le cas où les sorties de cartes de sorties restent sur ON à la
suite d'un dysfonctionnement interne qui peut survenir au niveau des
relais, des transistors et des autres éléments.
• Des mesures de sécurité doivent être prises par le client pour garantir la
sécurité dans le cas de signaux incorrects, manquants ou anormaux dus
à une rupture des lignes de signaux, à des interruptions momentanées de
l'alimentation ou à d'autres causes.
• Des circuits à verrouillage, des interrupteurs de fin de course et des
mesures de sécurité similaires dans les circuits externes (c'est-à-dire,
extérieurs à l'automate programmable) doivent être fournis par le client.
• Ne débranchez pas l'API pendant le transfert de données. Plus particulièrement, ne débranchez pas l'alimentation lors de la lecture ou de l'écriture
d'une carte mémoire. De même, ne retirez pas la carte mémoire lorsque
le voyant BUSY est allumé. Pour retirer une carte mémoire, appuyez
d'abord sur le commutateur d'alimentation de la carte mémoire et attendez que le voyant BUSY s'éteigne avant de la retirer.
• Si le bit de maintien E/S est sur ON, les sorties de l'API ne sont pas désactivées et conservent leur état précédent lorsque l'API passe du mode RUN ou
MONITOR au mode PROGRAM. Assurez-vous que les charges externes
ne produisent pas de situations dangereuses lorsque cette situation se présente. (Lorsque le fonctionnement s'arrête à la suite d'une erreur fatale, y
compris celles dues à l'instruction FALS(007), toutes les sorties de la carte
de sortie passent à OFF et seul l'état interne des sorties est conservé.)
• Le contenu des zones DM, EM et HR de l'UC est sauvegardé grâce à une
batterie. Si la tension de la batterie diminue, ces données risquent d'être perdues. Utilisez des contre-mesures dans le programme en utilisant le drapeau
d'erreur de batterie (A40204) pour réinitialiser les données ou pour prendre
d'autres dispositions en cas de diminution de la tension de la batterie.
• Si la tension d'alimentation est de 200 à 240 Vc.a. avec un API série CS,
enlevez toujours le cavalier métallique des bornes de sélection de tension
sur la carte d'alimentation (excepté pour les cartes d'alimentation à caractéristiques techniques étendues). Si le cavalier métallique n'est pas
enlevé et que l'alimentation est de 200 à 240 Vc.a., le produit sera détruit.
• Utilisez toujours la tension d'alimentation spécifiée dans les manuels
d'utilisation. Une tension incorrecte peut provoquer un dysfonctionnement
ou une surchauffe.
• Prenez les mesures appropriées pour vous assurer que l'alimentation
indiquée est conforme à la tension et à la fréquence nominales. Etre particulièrement prudent aux endroitse où l'alimentation électrique est instable. Une alimentation incorrecte peut provoquer un dysfonctionnement.
• Installez des disjoncteurs externes et prenez d'autres mesures de sécurité contre d'éventuels courts-circuits au niveau du câblage externe. Des
mesures de sécurité insuffisantes contre les courts-circuits peuvent provoquer une surchauffe.
• N'appliquez jamais une tension supérieure à la tension nominale d'entrée
aux cartes d'entrées. Une tension excessive peut provoquer une surchauffe.
• N'appliquez pas de tension et ne connectez pas de charges aux cartes de
sorties qui dépassent la capacité maximale de commutation. Une tension
excessive peut provoquer une surchauffe.
• Séparez la borne de terre des lignes (LG) de la borne de terre fonctionnelle (GR) sur la carte d’alimentation avant de réaliser les essais de tension de maintien ou de résistance d’isolement. Le non-respect de cette
consigne peut provoquer une surchauffe.
• Installez la carte correctement, comme indiqué dans les manuels d'utilisation. Une installation incorrecte de la carte peut provoquer un dysfonctionnement.
• Dans le cas des API série CS, assurez-vous que toutes les vis de montage de la carte et du panneau arrière sont serrées au couple spécifié
xxviii
5
Précautions d'application
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
dans les manuels correspondants. Un serrage à un couple incorrect peut
provoquer un dysfonctionnement.
Assurez-vous que toutes les vis des bornes et des connecteurs de câble
sont serrées au couple spécifié dans les manuels correspondants. Un
serrage à un couple incorrect peut provoquer un dysfonctionnement.
Laissez l'étiquette sur la carte pendant le câblage. Le retrait de l'étiquette
peut provoquer un dysfonctionnement si des corps étrangers pénètrent
dans la carte.
Lorsque le câblage est terminé, enlevez l'étiquette pour assurer une
bonne dissipation de la chaleur. Laisser l'étiquette peut provoquer un dysfonctionnement.
Utilisez des bornes serties pour effectuer le câblage. Ne pas raccorder
directement des fils toronnés nus à des bornes. Le raccordement de fils
multibrins nus peut provoquer une surchauffe.
Câblez correctement toutes les connexions.
Vérifiez deux fois le câblage et les paramètres d'interrupteur avant de mettre l'API sous tension. Un câblage incorrect peut provoquer une surchauffe.
Installez les cartes uniquement après avoir complètement vérifié les borniers et les connecteurs.
Vérifiez que les borniers, les cartes mémoire, les câbles d'extension et
autres éléments avec périphériques de verrouillage sont bien connectés
Un verrouillage incorrect peut provoquer un dysfonctionnement.
Vérifiez les paramètres des interrupteurs, le contenu de la zone DM et
d'autres préparatifs avant de commencer à utiliser la carte. Commencer à
utiliser la carte sans les réglages ou les données appropriés peut provoquer un fonctionnement inattendu.
Vérifiez le fonctionnement correct du programme utilisateur avant de
l'exécuter sur la carte. Ne pas vérifier le programme peut provoquer un
fonctionnement inattendu.
Assurez-vous que le système ne sera pas perturbé avant de lancer l'une
des opérations suivantes. Le système risque sinon de fonctionner de
façon imprévisible.
• Modification du mode de fonctionnement de l'API (y compris la configuration du mode de fonctionnement au démarrage).
• Mise à 1/0 forcée d'un bit en mémoire.
• Modification de la valeur actuelle d'un mot ou d'une valeur dans la mémoire.
Ne tirez pas sur les câbles et ne les pliez pas au-delà des limites qu'ils
peuvent normalement supporter. Vous risquez sinon de casser les
câbles.
Ne posez aucun objet sur les câbles ou les lignes électriques. Vous pourriez en effet casser les câbles.
Ne pas utiliser les câbles RS-232C pour ordinateurs disponibles dans le
commerce. Toujours utiliser les câbles répertoriés dans ce manuel ou
assembler un câble en respectant les caractéristiques techniques du
manuel. L'utilisation de câbles disponibles dans le commerce risque
d'endommager les périphériques externes ou l'UC.
Ne connectez jamais la broche 6 (alimentation 5 V) du port RS-232C de
l'UC à un autre périphérique qu'un adaptateur NT-AL001 ou CJ1W-CIF11.
Le périphérique externe ou l'UC risquent d'être endommagés.
Lorsque vous remplacez des pièces, vérifiez que les caractéristiques
nominales des pièces neuves sont correctes. Une différence risque de
provoquer un dysfonctionnement ou une surchauffe.
Avant de toucher une carte, touchez d'abord un objet métallique relié à la
terre afin de vous décharger de toute électricité statique qui aurait pu
s'accumuler. Le non-respect de cette consigne peut provoquer un dysfonctionnement ou des dommages.
xxix
6
Conformité aux directives CE
• Lors du transport ou du stockage des cartes, couvrez-les d'un matériau
antistatique pour les protéger contre l'électricité statique et maintenez la
température de stockage appropriée.
• Ne touchez pas les cartes circuit ou les composants montés avec vos
mains nues. Des fils pointus et d'autres parties des cartes peuvent causer
des blessures en cas de manipulation incorrecte.
• Ne court-circuitez pas les bornes de la batterie et prenez garde de ne pas
charger, démonter, chauffer ou incinérer la batterie. Ne soumettez pas la
batterie à des chocs importants. Le non-respect de ces consignes peut
provoquer une fuite, une rupture, une génération de chaleur ou l'ignition
de la batterie. Débarrassez-vous des batteries qui sont tombées sur le sol
ou qui ont été soumises à des chocs excessifs. Le liquide des batteries
qui ont été soumises à des chocs risque de s'écouler lors de l'utilisation
de la batterie.
• Les normes UL exigent que les batteries soient remplacées seulement
par des techniciens expérimentés. Ne permettez pas à des personnes
non qualifiées de les remplacer.
• Sur une UC série CJ, les cliquets du haut et du bas de la carte d'alimentation, de l'UC, des cartes E/S, des cartes E/S spéciales et des cartes
réseaux doivent être complètement verrouillés (jusqu'à ce qu'ils soient
bien en place). L'unité ne fonctionnera pas correctement si les cliquets ne
sont pas bien en place.
• Dans le cas d'un API série CJ, connectez toujours la plaque d'extrémité à
l'unité la plus à droite de l'API. Sans cette plaque, l'API ne fonctionnera
pas correctement.
• Un fonctionnement inattendu peut survenir si des tables de liaison de
données ou des paramètres inappropriés sont configurés. Même si les
tables de liaison des données et les paramètres corrects ont été définis,
assurez-vous que le système de contrôle ne risque pas d'être endommagé avant de lancer ou d'interrompre les liaisons de données.
• Les cartes réseaux redémarrent lorsque les tables de routage sont transférées depuis un périphérique de programmation vers l'UC. Le redémarrage de ces cartes est nécessaire pour lire et activer les nouvelles tables
de routage. Assurez-vous que le système ne risque pas d'être endommagé avant de permettre la réinitialisation des cartes réseaux.
6
6-1
Conformité aux directives CE
Directives applicables
• Directives CEM
• Directive basses tensions
6-2
Concepts
Directives CEM
Les dispositifs OMRON en conformité avec les directives CE respectent également les normes CEM correspondantes, ce qui facilite leur intégration dans
d'autres dispositifs ou dans une machine. Les produits commercialisés ont fait
l'objet d'un contrôle de conformité avec les normes CEM (voir la remarque
suivante). C'est au client qu'il appartient de s'assurer que les produits sont en
conformité avec les normes du système qu'il utilise.
Les performances liées à la CEM des dispositifs OMRON en conformité avec
les directives CE varient selon la configuration, le câblage et d'autres particularités de l'équipement et du tableau de commande sur lesquels ces dispositifs
sont installés. Le client doit dès lors effectuer le contrôle final pour s'assurer que
les dispositifs et l'ensemble de la machine sont conformes aux normes CEM.
xxx
6
Conformité aux directives CE
Remarque Les normes CEM (Compatibilité électromagnétique) d'application sont les suivantes :
EMS (Electromagnetic Susceptibility,
susceptibilité électromagnétique) :
EN61131-2 (série CS)/
EN61000-6-2 (série CJ)
EMI (Electromagnetic Interference,
interférence électromagnétique) :
EN61000-6-4
(Emission de radiations : réglementation 10 m)
Directive Basse tension
Vérifier toujours que les appareils fonctionnant à des tensions de 50 à
1 000 Vc.a. et de 75 à 1 500 Vc.c. répondent aux normes de sécurité requises pour l'API (EN 61131-2).
6-3
Conformité aux directives CE
Les API série CS/CJ sont conformes aux directives CE. Pour garantir que la
machine ou le dispositif sur lequel est utilisé l'API série CS/CJ respecte les
directives CE, l'API doit être installé comme suit :
1,2,3...
6-4
1. L'API série CS/CJ doit être installé dans un tableau de commande.
2. Pour les alimentations c.c. utilisées pour l'alimentation des communications et des E/S, utilisez une isolation renforcée ou double.
3. Les API série CJ conformes aux directives CE respectent également la
norme d'émission commune (EN61000-6-4). Les caractéristiques d'émission de radiations (réglementations 10-m) peuvent varier en fonction de la
configuration du tableau de commande utilisé, des périphériques connectés au tableau de commande, du câblage et d'autres facteurs. Il convient
donc de s'assurer que l'ensemble de la machine ou de l'équipement est
conforme aux directives CE.
Méthodes de réduction des parasites des sorties relais
Les API série CS/CJ sont conformes aux normes relatives aux émissions
communes (EN61000-6-4) des directives sur la CEM. Cependant, il est possible que les parasites générés par la commutation de la sortie relais ne respectent pas ces normes. Dans ce cas, vous devez connecter un filtre
antiparasite au côté charge ou prendre d'autres mesures spécifiques à l'extérieur de l'API
Les contre-mesures prises pour être en conformité avec les normes varient
en fonction des périphériques qui sont du côté charge, du câblage, de la configuration des machines, etc. Les exemples suivants décrivent des contremesures permettant de réduire les parasites générés.
Contre-mesures
(Pour plus de détails, reportez-vous à la norme EN61000-6-4.)
Les contre-mesures sont inutiles si la fréquence de commutation de la charge
de l'ensemble du système - API inclus - est inférieure à 5 fois par minute.
Des contre-mesures sont obligatoires si la fréquence de commutation de la
charge pour l'ensemble du système - API inclus - est supérieure à 5 fois par
minute.
xxxi
6
Conformité aux directives CE
Exemples de contre-mesures
En cas de commutation d'une charge inductive, connectez un limiteur de tension, des diodes, etc. en parallèle avec la charge ou le contact, comme illustré
ci-dessous.
Circuit
Courant
c.a.
c.c.
Oui
Oui
Alimentation
Charge
inductive
Méthode CR
Alimentation
Alimentation
Charge
inductive
Méthode à varistor
Elément requis
Si la charge est un relais ou un solénoïde, il y a un décalage entre l'ouverture du circuit et la réinitialisation de la
charge.
Si la tension d'alimentation est de 24
ou 48 V, placez le limiteur de surtension en parallèle avec la charge. Si la
tension d'alimentation est comprise
entre 100 et 200 V, placez le limiteur
entre les contacts.
La capacité du condensateur doit être de
1 à 0,5 µF pour un courant de contact de
1 A et la résistance du condensateur doit
être de 0,5 à 1 Ω pour une tension de
contact de 1 V. Toutefois, ces valeurs
peuvent varier en fonction de la charge et
des caractéristiques du relais. Ces
valeurs doivent être choisies à partir
d'expérimentations en tenant compte du
fait que la capacité supprime la décharge
d’étincelles lorsque les contacts sont
séparés et que la résistance limite le
courant qui circule dans la charge lorsque le circuit est à nouveau fermé.
La rigidité diélectrique du condensateur doit être comprise entre 200 et
300 V. S'il s'agit d'un circuit c.a., utilisez
un condensateur sans polarité.
La valeur de la rigidité diélectrique
inverse de la diode doit être au moins
10 fois plus grande que la valeur de la
tension du circuit. Le courant direct de
la diode doit être supérieur ou égal au
courant de la charge.
La valeur de la rigidité diélectrique
inverse de la diode peut être deux ou
trois fois plus grande que la tension d'alimentation si le limiteur de surtension est
appliqué à des circuits électroniques
présentant de faibles tensions de circuit.
---
Non
Oui
La diode connectée en parallèle avec
la charge transforme l'énergie accumulée par la bobine en courant, qui circule
alors dans la bobine afin d'être converti
en chaleur par la résistance de la
charge inductive.
Le décalage entre l'ouverture du circuit
et la réinitialisation de la charge, qui est
provoqué par cette méthode, est plus
long que celui obtenu par la méthode
CR.
Oui
Oui
La méthode du varistor empêche
d'appliquer une tension élevée entre
les contacts grâce à la caractéristique
de tension constante du varistor. Il y a
un décalage entre l'ouverture du circuit
et la réinitialisation de la charge.
Si la tension d'alimentation est de 24
ou 48 V, placez le varistor en parallèle
avec la charge. Si la tension d'alimentation est comprise entre 100 et 200 V,
placez-le entre les contacts.
Charge
inductive
Méthode avec diode
Caractéristique
Lorsque vous commutez une charge avec un courant élevé induit tel qu'une
lampe à incandescence, supprimez le courant induit comme illustré ci-dessous.
Contre-mesure 1
Contre-mesure 2
R
SORTIE
SORTIE
R
COM
Fourniture d'un courant
d'obscurité d'environ un tiers
de la valeur nominale via une
lampe à incandescence.
xxxii
COM
Fourniture d'une
résistance de limitation
CHAPITRE 1
Introduction
Ce chapitre fournit des informations sur les caractéristiques générales des instructions ainsi que sur les erreurs susceptibles
de se produire lors de l'exécution d'une instruction.
1-1
1-2
Caractéristiques générales des instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1-1-1
Capacité de programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1-1-2
Instructions différenciées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1-1-3
Variations d'instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1-1-4
Emplacement de l'instruction et conditions d'exécution. . . . . . . . . . . . . . . . . . . . . . . . . .
5
1-1-5
Entrée des données dans les opérandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1-1-6
Formats de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
Contrôle d'exécution de l'instruction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
1-2-1
Erreurs lors de l'exécution d'une instruction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
1-2-2
Erreurs fatales (erreurs de programme) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
1
Chapitre 1-1
Caractéristiques générales des instructions
1-1
1-1-1
Caractéristiques générales des instructions
Capacité de programme
La capacité de programme indique la taille de la zone du programme utilisateur dans l'UC et s'exprime par le nombre de pas de programme. Le nombre
de pas nécessaires dans la zone du programme utilisateur pour chaque instruction de la série CS/CJ varie de 1 à 7 en fonction de l'instruction et de
l'opérande utilisé.
Série CS
Les tableaux ci-dessous indiquent le nombre maximum de pas pouvant être
programmés dans chaque UC série CS.
• UC CS1-H
Modèle
CS1H-CPU67H
CS1H-CPU66H
CS1H-CPU65H
CS1H-CPU64H
CS1H-CPU63H
CS1G-CPU45H
CS1G-CPU44H
CS1G-CPU43H
CS1G-CPU42H
Capacité de programme
Points E/S
250K pas
5 120
120K pas
60K pas
30K pas
20K pas
60K pas
30K pas
1 280
20K pas
960
10K pas
• UC CS1
Modèle
CS1H-CPU67-E
CS1H-CPU66-E
CS1H-CPU65-E
CS1H-CPU64-E
CS1H-CPU63-E
CS1G-CPU45-E
CS1G-CPU44-E
CS1G-CPU43-E
CS1G-CPU42-E
Capacité de programme
Points E/S
250K pas
5 120
120K pas
60K pas
30K pas
20K pas
60K pas
30K pas
1 280
20K pas
960
10K pas
• UC CS1D pour système à UC uniques
Modèle
CS1D-CPU67H
CS1D-CPU65H
Capacité de programme
Points E/S
250K pas
5 120
60K pas
UC CS1D pour systèmes à UC en duplex
Modèle
CS1D-CPU42S
CS1D-CPU44S
CS1D-CPU65S
CS1D-CPU67S
Capacité de programme
Points E/S
10K pas
960
30K pas
1 280
60K pas
5 120
250K pas
Série CJ
Les tableaux ci-dessous indiquent le nombre maximum de pas pouvant être
programmés dans chaque UC série CJ.
2
Chapitre 1-1
Caractéristiques générales des instructions
• UC CJ1-H
Modèle
CJ1H-CPU67H
CJ1H-CPU66H
CJ1H-CPU65H
CJ1G-CPU45H
CJ1G-CPU44H
CJ1G-CPU43H
CJ1G-CPU42H
Capacité de programme
Points E/S
250K pas
2 560
120K pas
60K pas
60K pas
1 280
30K pas
20K pas
960
10K pas
• UC CJ1
Modèle
CJ1G-CPU45
CJ1G-CPU44
Capacité de programme
Points E/S
60K pas
1 280
30K pas
• UC CJ1M
Modèle
CJ1M-CPU23
Capacité de programme
Points E/S
20K pas
640
CJ1M-CPU22
CJ1M-CPU21
CJ1M-CPU13
CJ1M-CPU12
CJ1M-CPU11
10K pas
5K pas
20K pas
10K pas
5K pas
320
160
640
320
160
Remarque La capacité du programme pour les API série CS/CJ est mesurée en pas tandis que la capacité du programme des anciens API d'OMRON, tels que ceux
de la série C et de la série CV, était mesurée en mots. Fondamentalement, 1
pas est équivalent à 1 mot. Toutefois, la quantité de mémoire nécessaire pour
chaque instruction est différente pour certaines instructions de la série CS/CJ
et des inexactitudes apparaissent si la capacité d'un programme utilisateur
d'un autre API est convertie pour un API série CS/CJ en supposant qu'un mot
égale un pas. Consultez les informations décrites à la fin du CHAPITRE 4
Temps d'exécution des instructions et nombre de pas pour les directives sur
la conversion des capacités des programmes des anciens API d'OMRON.
Le nombre de pas d'un programme est différent du nombre d'instructions. Par
exemple, les instructions LD et OUT requièrent un pas chacune, alors que l'instruction MOV(021) en a besoin de 3. D'autres instructions requièrent jusque 7
pas chacune. Le nombre de pas requis par une instruction est également augmenté d'un pas pour chaque opérande de longueur double utilisé dans celle-ci.
Par exemple, l'instruction MOVL(498) nécessite en général 3 pas, mais 4 pas
seront requis si une constante est spécifiée pour l'opérande mot source, S.
Consultez le CHAPITRE 4 Temps d'exécution des instructions et nombre de
pas pour connaître le nombre de pas requis pour chaque instruction.
1-1-2
Instructions différenciées
La plupart des instructions des API série CS/CJ sont fournies avec des variations non différenciées et différenciées sur front montant, et certaines sont
également accompagnées d'une variation différenciée sur front descendant.
• Une instruction non différenciée est exécutée chaque fois qu'elle est passée.
• Une instruction différenciée sur front montant n'est exécutée qu'après que
sa condition d'exécution passe de OFF à ON.
3
Chapitre 1-1
Caractéristiques générales des instructions
• Une instruction différenciée sur front descendant n'est exécutée qu'après
que sa condition d'exécution passe de ON à OFF.
Variation
Non
différenciée
Type d'instruction
Instructions de sortie
(instructions requérant une condition
d'exécution)
Instructions d'entrée
(instructions utilisées
comme conditions
d'exécution)
Différentiation Instructions de sortie
sur front
montant (avec
préfixe @)
Instructions d'entrée
(instructions utilisées
comme conditions
d'exécution)
Différentiation
sur front descendant
(avec préfixe
%)
Instructions de sortie
Instructions d'entrée
(instructions utilisées
comme conditions
d'exécution)
Fonctionnement
L'instruction est exécutée
à chaque cycle lorsque la
condition d'exécution est
vraie (ON).
Le traitement de bit (tel
que lecture, comparaison ou test) est effectué à
chaque cycle. La condition d'exécution est vraie
lorsque le résultat est
ON.
L'instruction est exécutée une seule fois lorsque
la condition d'exécution
passe de OFF à ON.
Format
Instruction de sortie
exécutée à chaque cycle
Exemple
MOV
Instruction d'entrée
exécutée à chaque cycle
Instruction exécutée une
fois pour la différentiation
sur front montant
Le traitement de bit (tel
que lecture, comparaison ou test) est effectué à
chaque cycle. La condition d'exécution est vraie
pour un cycle lorsque le
résultat passe de OFF à
ON.
L'instruction est exécutée une seule fois lorsque
la condition d'exécution
passe de ON à OFF.
Instruction d'entrée
différenciée sur front montant
Le traitement de bit (tel
que lecture, comparaison ou test) est effectué à
chaque cycle. La condition d'exécution est vraie
pour un cycle lorsque le
résultat passe de ON à
OFF.
Instruction d'entrée
différenciée sur front
descendant
@ MOV
MOV(021) exécutée une fois
pour chaque transition de OFF
à ON dans CIO 000102.
Condition d'exécution ON créée pour
un cycle uniquement pour chaque transition de OFFà ON dans CIO 000103.
Instruction % exécutée une fois pour
la différentiation sur
front descendant
0001
02
%SET
SET exécutée une fois pour
chaque transition de ON à
OFF dans CIO 000102.
0001
03
Condition d'exécution ON créée
pour un cycle uniquement pour
chaque transition de ON à OFF
dans CIO 000103.
Remarque L'option de différentiation sur front descendant (%) n'est disponible que pour
les instructions LD, AND, OR et RSET. Pour créer des variations différenciées
sur front descendant d'autres instructions, contrôlez l'exécution de l'instruction avec des bits de travail contrôlés par DIFD(014) ou DOWN(522).
1-1-3
Variations d'instruction
Les préfixes de variation (@, % et !) peuvent être ajoutés à une instruction
pour créer une instruction différenciée ou pour effectuer une mise à jour
immédiate.
Variation
Différentiation Différentiation sur front
montant
Différentiation sur front
descendant
Rafraîchissement immédiat
4
Préfixe
Fonctionnement
@
Crée une instruction différenciée sur front
montant.
%
Crée une instruction différenciée sur front
descendant.
!
Les données d'opérande de l'instruction
dans la zone E/S sont mises à jour à l'exécution de l'instruction.
Chapitre 1-1
Caractéristiques générales des instructions
! @ MOV
Instruction (mnémonique)
Variation de différentiation sur front montant
Variation de rafraîchissement immédiat
1-1-4
Emplacement de l'instruction et conditions d'exécution
Le tableau ci-dessous indique les emplacements dans lesquels les instructions peuvent être programmées. Le tableau mentionne également si une instruction requiert ou non une condition d'exécution. Reportez-vous au
CHAPITRE 2 Résumé des instructions pour de plus amples informations sur
des instructions spécifiques.
Type d'instruction
Entrée
Sortie
Emplacement
Condition
d’exécution
Instructions
Au bus gauche ou au Non obligatoire
qui lancent
début d'un bloc
des conditions d'instruction
logiques
Instructions
Entre une instruction Obligatoire
de connexion de démarrage et une
instruction de sortie
Au bus de droite
Format
Exemples
LD, LD TST et instructions de
comparaison d'entrées telles
que LD >
AND, OR, AND TST, instructions de comparaison
d'entrées telles que AND >,
UP, DOWN, NOT
La majorité des instructions
(telles que OUT et MOV)
Obligatoire
Non
obligatoire
Instructions telles que END,
JME, FOR et ILC
Outre ces instructions, les API série CS/CJ sont pourvus d'instructions de
programmation de bloc. Consultez les descriptions des instructions de programmation de bloc pour plus de détails.
Remarque Si une condition d'exécution ne précède pas une instruction qui en requiert
une, une erreur de programme se produit lorsque le programme est contrôlé
par un périphérique.
1-1-5
Entrée des données dans les opérandes
Les opérandes sont des paramètres définis à l'avance avec les adresses
mémoire E/S ou constantes à utiliser lorsque l'instruction est exécutée. Il existe
trois grands types d'opérandes : des opérandes source, des opérandes destination et des numéros.
MOV
#0000
D00000
JMP
S (Source)
&3
N (Numéro)
D (Destination)
Opérande
Code
habituel
Source
Adresse contenant
S
Opéles données ou les
rande
données proprement
source
dites
C
Données
de contrôle
Destina- Adresse où les don- D
--tion
nées sont stockées
Numéro Contient un numéro N
--tel un numéro de
saut ou un numéro
de sous-programme.
Contenu
Données sources autres que
les données de contrôle
Données de contrôle avec un
ou plusieurs bits contrôlant
l'exécution de l'instruction
5
Chapitre 1-1
Caractéristiques générales des instructions
Remarque On peut également se référer aux opérandes d'une instruction par leur position dans l'instruction (premier opérande, deuxième opérande, ...). Les codes
utilisés pour l'opérande varient selon la fonction spécifique de l'opérande.
MOV
#0000
D00000
Premier opérande
Deuxième opérande
Spécification des adresses de bit
Description
Exemple
Pour spécifier une adresse de bit, définissez
directement l'adresse de mot et l'adresse de bit.
@@@@
0001 02
Exemple d'instruction
0001
02
Bit 02
@@
Mot CIO 0001
Numéro de bit
Adresse de mot
Remarque Le format adresse de mot + numéro de bit n'est
pas utilisé pour les drapeaux de fin de temporisateur/compteur ni pour les drapeaux de tâches.
Spécification des adresses de mot
Description
Exemple
Pour spécifier une adresse de mot,
définissez directement l'adresse de mot.
@@@@
Exemple d'instruction
MOV 0003 D00200
0003
Mot CIO 0003
D00200
Adresse de mot
Mot D00200
Spécification des adresses DM/EM indirectes en mode binaire
Description
Exemple
Lorsque le préfixe @ est utilisé devant une
adresse DM ou EM, le contenu de ce mot
spécifie un autre mot utilisé comme opérande.
Le contenu peut être 0000 à 7FFF (0 à 32 767),
correspondant à l'adresse de mot souhaitée dans
la zone DM ou EM.
Exemple d'instruction
---
---
@D00300
MOV #0001
@D00300
@D@@@@@
Contenu
00000 à 32767
(0000 à 7FFF)
D
Lorsque le contenu de @D@@@@@ est compris
entre 0000 et 7FFF (00000 à 32 767), le mot correspondant entre D00000 et D32767 est spécifié.
0 1 0 0
Décimal : 256
Spécifie D00256.
Ajouter le préfixe @.
Lorsque le contenu de @D@@@@@ est compris @D00300
entre 8000 et FFFF (32 768 à 65 535), le mot correspondant entre E0_00000 et E0_32767 dans la
8 0 0 1
banque EM 0 est spécifié.
Décimal : 32,769
Spécifie E0_00001.
6
---
Chapitre 1-1
Caractéristiques générales des instructions
Description
Exemple
Exemple d'instruction
Lorsque le contenu de @En@_@@@@@ est com- @E1_00200
pris entre 0000 et 7FFF (00000 à 32 767), le mot
correspondant entre En@_00000 et En@_32767
0 1 0 1
est spécifié.
MOV #0001
@E1_00200
Décimal : 257
Spécifie E1_00257.
Lorsque le contenu de @En@_@@@@@ est com- @E1_00200
pris entre 8000 et FFFF (32 768 à 65 535), le mot
correspondant entre E (@+1) _00000 et E (@+1)
8 0 0 2
_32767 (dans la banque EM suivante) est spéciDécimal : 32770
fié.
Spécifie E2_00002.
Remarque Lorsque le mode binaire est sélectionné dans la configuration de l'API, la zone
DM et les adresses de banque EM courantes (banque 0 à C) sont traitées
comme adresses mémoire consécutives. Un mot dans la banque EM 0 sera
spécifié si un mot DM indirectement adressé contient une valeur supérieure à
32 767. Par exemple, E00000 dans la banque 0 sera spécifié lorsque le mot
DM d'adressage indirect contient une valeur hexadécimale de 8000 (32 768).
Un mot dans la banque EM suivante sera spécifié si un mot EM indirectement
adressé contient une valeur supérieure à 32 767. Par exemple, E3_00000
sera spécifié lorsque le mot EM d'adressage indirect dans la banque 2 contient une valeur hexadécimale de 8000 (32 768).
Spécification des adresses DM/EM indirectes en mode BCD
Méthode
Description
Adressage DM/EM Lorsque le préfixe * est utilisé devant
indirect
une adresse DM ou EM, le contenu
(mode BCD)
BCD de ce mot spécifie un autre mot
utilisé comme opérande. Le contenu
peut être 0000 à 9999, correspondant
à l'adresse de mot souhaitée dans la
zone DM ou EM.
*D@@@@@
Contenu
Exemple
*D00200
Exemple d'instruction
MOV #0001 *D00200
0 1 0 0
Spécifie D00100.
Ajouter le préfixe *.
De 0000 à 9999
(BCD)
D
7
Chapitre 1-1
Caractéristiques générales des instructions
Adressage des registres d'index
Méthode
Adressage
direct des
registres
d'index
Description
MOVR(560) déplace l'adresse mémoire de l'API
d'un mot ou bit vers un registre d'index (IR0 à
IR15).
(MOVRW(561) déplace l'adresse mémoire de l'API
d'une PV de temporisateur/compteur vers un registre d'index.)
Adressage indi- FonctionneLe mot ou bit à l'adresse mémoire
rect à l’aide de ment de base
E/S contenue dans @ est utilisé
registres
(pas de décacomme opérande. Ajoutez une
d’index
lage)
virgule devant le registre d'index
pour indiquer l'adressage indirect.
(La désignation bit/mot peut être
déterminée par l'instruction ou
l'opérande.)
Décalage
La valeur de décalage (–2 048 à
constant
+2 047) est ajouté à l'adresse
mémoire E/S contenue dans IR@
et l'adresse résultante est utilisée
comme opérande.
(Le décalage est converti en données binaires lors de l'exécution
de l'instruction.)
Décalage DR
Exemple
Exemple d'instruction
IR0
MOVR 0010 IR0
Sauvegarde l'adresse mémoire
IR2
de l'API de CIO 0010 dans IR0.
MOVR 000102 IR2
Sauvegarde l'adresse mémoire
de l'API de CIO 000102 dans IR2.
,IR0
LD ,IR0
Charge l'état du bit à l'adresse
,IR1
mémoire E/S contenue dans IR0.
MOV #0001, IR1
Déplace #0001 au mot à
l'adresse mémoire E/S contenue
dans IR1.
+5 ,IR0
+31 ,IR1
Le contenu binaire signé du regis- DR0 ,IR0
tre de données est ajouté à
DR0 ,IR1
l'adresse mémoire E/S contenue
dans IR@ et l'adresse résultante
est utilisée comme opérande.
Auto-incrémen- Après lecture de l'adresse
tation
mémoire E/S de IR@, le contenu
du registre d'index est incrémenté
de 1 ou 2.
Incrément de 1: ,R@+
Incrément de 2: ,IR@++
Remarque Les registres d'index
sont
incrémentés
lorsque l'instruction
est exécutée même
si une erreur se produit et que le drapeau d'erreur se met
sur ON.
Auto-décréLe contenu de IR@ est décrémentation
menté de un ou deux et l'adresse
mémoire E/S du registre est utilisée comme opérande.
Décrément de 1 : ,–IR@
Décrément de 2 : ,– –IR@
Remarque Les registres d'index
sont
décrémentés
lorsque l'instruction
est exécutée même
si une erreur se produit et que le drapeau d'erreur passe
ON.
LD +5 ,IR0
Ajoute 5 à l'adresse mémoire E/S
contenue dans IR0 et charge
l'état du bit à cette adresse.
MOV #0001 +31 ,IR1
Ajoute 31 à l'adresse mémoire
E/S contenue dans IR1 et déplace
#0001 au mot à cette adresse.
LD DR0,IR0
Ajoute le contenu de DR0 à
l'adresse mémoire E/S contenue
dans IR0 et charge l'état du bit à
cette adresse.
MOV #0001 DR0 ,IR1
Ajoute le contenu de DR0 à
l'adresse mémoire E/S contenue
dans IR1 et déplace #0001 au
mot à cette adresse.
,IR0 + +
,IR1+
LD , IR0++
Charge l'état du bit à l'adresse
mémoire E/S contenue dans IR0
et incrémente ensuite le registre
de deux.
MOV #0001 ,IR1 +
Déplace #0001 au mot à
l'adresse mémoire E/S contenue
dans IR1 et incrémente ensuite le
registre de un.
, – – IR0
, – IR1
LD , – –IR0
Décrémente le contenu de IR0 de
deux et charge ensuite l'état du
bit à cette adresse mémoire E/S.
MOV #0001 , – IR1
Décrémente le contenu de IR0
de un et déplace ensuite #0001
au mot à cette adresse mémoire
E/S.
Remarque Assurez-vous que le contenu des registres d'index indique des adresses
mémoire E/S valides.
8
Chapitre 1-1
Caractéristiques générales des instructions
Spécification de constantes
Méthode
Constante
(données
16 bits)
Constante
(données
32 bits)
Opérandes
applicables
Toutes les données binaires et
les données
binaires dans
une plage
Toutes les données BCD et les
données BCD
dans une plage
Toutes les données binaires et
les données
binaires dans
une plage
Toutes les données BCD et les
données BCD
dans une plage
Format de
données
Binaire non
signé
Décimal
signé
Décimal
non signé
BCD
Binaire non
signé
Décimal
signé
Décimal
non signé
BCD
Code
Plage
Exemple
#
#0000 à #FFFF
---
±
–32 768 à +32 767
---
&
&0 à &66 535
---
#
#0000 à #9999
---
#
#0000 0000 à
#FFFF FFFF
–2 147 483 648 à
+2 147 483 647
&0 à &4 294 967 295
---
+
–
&
#
#0000 0000 à
#9999 9999
-------
Spécification de chaînes de texte
Méthode
Chaînes de
texte
Description
Le texte est enregistré en
ASCII (1 octet/caractère à
l'exclusion des caractères
spéciaux) en commençant par
l'octet le plus petit du mot le
plus bas dans la plage.
Si le nombre de caractères est
impair, 00 (NULL) est enregistré dans l'octet le plus élevé du
dernier mot de la plage.
Si le nombre de caractères est
pair, 0000 (deux NULL) sont
enregistrés dans le mot après
le dernier de la plage.
Code
Exemples
"ABCDE"
"A"
"B"
"C"
"D"
"E" NUL
41
43
45
42
44
00
"ABCD"
"A"
"B"
"C"
"D"
NUL NUL
41
43
00
Exemple d'instruction
MOV$ D00100 D00200
D00100
D00101
D00102
41
43
45
42
44
00
D00200
D00201
D00202
41
43
45
42
44
00
42
44
00
9
Chapitre 1-1
Caractéristiques générales des instructions
Le schéma ci-dessous indique les caractères pouvant être exprimés en ASCII.
Bit le plus à gauche
Bit le plus à droite
SP
Remarque Les instructions suivantes sont exécutées même lorsque les conditions
d'entrée sont OFF. Aussi, lorsque des adresses mémoire indirectes sont spécifiées à l'aide de l'auto-incrémention ou de l'auto-décrémentation (,IR+ ou
,IR-) dans un opérande de l'une de ces instructions, la valeur du registre
d'index (IR) est mise à jour à chaque cycle indépendamment de la condition
d'entrée (augmente ou diminue d'un à chaque cycle). Il faut en tenir compte
lors de l'écriture d'un programme.
Catégorie
Instructions d'entrée
de séquences
Instructions
LD, LD NOT, AND, AND NOT, OR, OR NOT, LD TST(350),
LD TSTN(351), AND TST(350), AND TSTN(351), OR
TST(350), OR TSTN(351)
OUT, OUT NOT, DIFU(013), DIFD(014)
Instructions de sortie
de séquences
Instructions de contrôle JMP(004), FOR(512)
de séquences
Instructions de tempo- TIM/TIMX(550), TIMH(015)/TIMHX(551), TMHH(540)/
risateur/compteur
TMHHX(552), TTIM(087)/TTIMX(555), TIML(542)/
TIMLX(553), MTIM(533)/MTIMX(554), CNT/CNTX(546),
CNTR(012)/CNTRX(548)
Instructions de
Instructions de comparaison de symboles (LD, AND, OR =,
comparaison
etc.(codes fonction : 300, 305, 310, 320 et 325))
Instructions mathéma- Comparaison des données à virgule flottante simple
tiques à virgule flotprécision (LD, AND, OR = F, etc.(codes fonction : 329 à 334)).
tante simple précision
Instructions mathéma- Comparaison des données à virgule flottante double précision (LD, AND, OR = D, etc.(codes fonction : 335 à 340)).
tiques à virgule flottante double précision
Instructions de
BPPS(811), BPRS(812), EXIT(806), EXIT(806) NOT,
programmation de bloc IF(802), IF(802) NOT, WAIT(805), WAIT(805) NOT,
TIMW(813)/TIMWX(816), CNTW(814)/CNTWX(818),
TMHW(815)/TMHWX(817), LEND(810), LEND(810) NOT
Instructions de traiteCOMPARAISON DE CHAINES (LD, AND, OR =, etc. (codes
ment de chaîne de
fonction : 670 à 675)).
texte
10
Chapitre 1-1
Caractéristiques générales des instructions
Les exemples suivants de programmation contact indiquent la façon dont les
registres d'index sont traités.
Exemple 1
Programme contact :
LD P_Off
OUT, IR0+
Fonctionnement : Lorsque l'adresse mémoire 000013 de l'API est enregistrée
dans IR0.
La condition d'entrée est OFF (P_Off correspond au drapeau Toujours OFF),
de sorte que l'instruction OUT définit 000013, indirectement adressé par IR0,
sur OFF. L'instruction OUT est exécutée et IR0 est incrémenté. En conséquence, l'adresse mémoire 000014 de l'API, incrémentée de +1 dans IR0, est
enregistrée. Aussi, au cours du cycle suivant, l'instruction OUT se met sur
OFF 000014.
Exemple 2
Programme contact :
LD P_Off
SET, IR0+
Fonctionnement : Lorsque l'adresse mémoire 000013 de l'API est enregistrée
dans IR0.
La condition d'entrée est OFF (P_Off correspond au drapeau Toujours OFF),
de sorte que l'instruction SET n'est pas exécutée. Dès lors, IR0 n'est pas
incrémenté et la valeur enregistrée dans IR0 demeure l'adresse mémoire
000013 de l'API.
1-1-6
Formats de données
Le tableau ci-dessous reprend les formats de donnés pouvant être utilisés
avec les API série CS/CJ.
Nom
Données
binaires
non
signées
Format
15 14 13 12 11 10
Binaire
9
8
215 214 213 212 211 210 29 28
7
6
5
27 26
Décimal 32768 16384 8192 4096 2048 1024 512 256 128 64
Hexadécimal
Données
binaires
signées
23 22 21 20
23 22 21 20
15 14 13 12 11 10 9
Binaire
8
215 214 213 212 211 210 29 28
7
6
Données
BCD
23 22 21 20
23 22 21 20
2
1
0
2 3 22 21 20
32
8
5
27 26
3
25 2 4
16
23 22 21 20
Décimal -32768 16384 8192 4096 2048 1024 512 256 128 64
Hexadécimal
4
4
4
2
1
23 22 21 20
3
2
1
0
25 24
23 22 21 20
32
8
16
23 22 21 20
Plage
Plage hexadécimale
décimale
0à
0000 à FFFF
65 535
4
2
–32 768 à 8000 à 7FFF
+32 767
1
23 22 21 20
Bit de signe
0: Positif
1: Négatif
15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
BCD
23 22 21 20
23 22 21 20
23 22 21 20
23 22 21 20
Décimal
0à9
0à9
0à9
0à9
0 à 9 999
0000 à 9999
11
Chapitre 1-1
Caractéristiques générales des instructions
Nom
Décimale
à virgule
flottante
Format
31 30 29
Signe de
mantisse
23
Exposant
22
21
20 19 18 17
Binaire
3
2
1
0
Plage
décimale
Plage hexadécimale
---
---
---
---
Mantisse
Valeur = (−1)Signe x 1.[Mantisse] x 2Exposant
Signe (bit 31)
1: négatif ou 0 : positif
Mantisse
La mantisse inclut 23 bits du bit 00 au bit 22 et
indique la portion sous la décimale en 1.@@@.....
en binaire.
L'exposant inclut 8 bits du bit 23 au bit 30 et
indique n plus 127 en 2n en binaire.
Exposant
Remarque
Décimale
à virgule
flottante
double
précision
Ce format est conforme aux normes IEEE754 relatives aux données à virgule
flottante simple précision et est utilisé uniquement avec les instructions qui
convertissent ou calculent les données à virgule flottante. Il peut être utilisé
pour configurer ou surveiller à partir de l'écran de surveillance et de modification de mémoire E/S de CX-Programmer (pas pris en charge par les consoles
de programmation). Les utilisateurs ne doivent dès lors pas connaître ce format
mais ils doivent cependant savoir que le formatage prend jusqu'à deux mots.
63 62 61
Signe de
mantisse
52
Exposant
51 50 49 48 47 46
Binaire
3
2
1
0
Mantisse
Valeur = (−1)Signe x 1.[Mantisse] x 2Exposant
Signe (bit 63)
1: négatif ou 0 : positif
Mantisse
Les 52 bits du bit 00 au bit 51 contiennent la
mantisse, à savoir la portion sous la décimale en
1.@@@..... en binaire.
Les 11 bits du bit 52 à bit 62 contiennent l'exposant.
L'exposant s'exprime en binaire par 1023 plus n en 2n.
Exposant
Remarque Ce format est conforme aux normes IEEE754 relatives aux données à virgule
flottante double précision et est utilisé uniquement avec les instructions qui
convertissent ou calculent les données à virgule flottante. Il peut être utilisé
pour configurer ou surveiller à partir de l'écran de surveillance et modification
de mémoire E/S de CX-Programmer (pas pris en charge par les consoles de
programmation). Les utilisateurs ne doivent dès lors pas connaître ce format
mais ils doivent cependant savoir que le formatage prend jusqu'à quatre mots.
Nombres binaires signés
Les nombres binaires négatifs signés sont exprimés comme complément à 2
de la valeur hexadécimale absolue. Pour une valeur décimale de –12 345, la
valeur absolue est équivalente à 3039 hexadécimal. Le complément à 2 égale
10000 – 3039 (tous deux hexadécimaux) ou CFC7.
Pour convertir un nombre binaire signé négatif (CFC7) en nombre décimal,
prenez le complément à 2 de ce nombre (10000 – CFC7 = 3039), convertissez en nombre décimal (3039 hexadécimal = 12 345 décimal) et ajoutez un
signe négatif (–12 345).
12
Chapitre 1-2
Contrôle d'exécution de l'instruction
1-2
1-2-1
Contrôle d'exécution de l'instruction
Erreurs lors de l'exécution d'une instruction
Les opérandes d'une instruction et l'emplacement sont vérifiés lorsqu'une instruction est lancée à partir d'un périphérique ou lorsqu'un contrôle de programme est effectué à partir d'un périphérique (autre qu'une console de
programmation), mais il ne s'agit pas de contrôles finaux. Les quatre erreurs
suivantes peuvent se produire lors de l'exécution d'une instruction.
Erreur de traitement d'instruction (Drapeau ER ON)
En général, les erreurs de traitement d'instruction ne sont pas des erreurs
fatales, mais l'API peut être configuré de manière à les traiter comme telles. Si
cette configuration a été réalisée, le drapeau d'erreur de traitement d'instruction (A29508) est mis sur ON et l'exécution du programme est arrêtée si une
erreur de traitement d'instruction se produit.
Erreur d’accès (Drapeau AER ON)
En général, les erreurs d'accès ne sont pas des erreurs fatales, mais l'API
peut être configuré de manière à les traiter comme telles. Si cette configuration a été réalisée, le drapeau d'erreur d'accès illégal (A29510) et le drapeau
d'erreur BCD de DM/EM indirecte (A29509) passent ON et l'exécution du programme est arrêtée si une erreur d'accès se produit.
Erreur d'instruction illégale
Le drapeau d'erreur d'instruction illégale (A29514) passe ON et l'exécution du
programme est arrêtée si ce type d'erreur se produit.
Erreur de dépassement UM (mémoire de programme utilisateur)
Le drapeau d'erreur de dépassement UM (A29515) est sur ON et l'exécution
du programme est arrêtée si ce type d'erreur se produit.
1-2-2
Erreurs fatales (erreurs de programme)
L'exécution du programme sera arrêtée si l'une des erreurs de programme
suivantes se produit. Si une erreur de programme s'est produite, le numéro de
tâche de la tâche exécutée au moment de l'arrêt est enregistré en A294 et
l'adresse du programme est enregistré en A298 et A299.
Ces informations permettent de localiser l'erreur de programme et d'y remédier de manière appropriée.
Adresse
A294
A298 et
A299
Description
Le numéro de tâche de la tâche en cours est enregistré dans ce mot
en cas d'arrêt d'exécution du programme suite à une erreur de programme.
Les tâches cycliques ont les numéros de tâche de 0000 à 001F
(tâches cycliques de 0 à 31). Les tâches d'interruption ont les numéros de 8000 à 80FF (tâches d'interruption de 0 à 255).
L'adresse du programme en cours est enregistrée dans ces mots en
cas d'arrêt de l'exécution du programme à la suite d'une erreur de programme.
A299 contient les chiffres les plus à gauche de l'adresse du programme et A298 contient les chiffres les plus à droite de l'adresse du
programme.
13
Contrôle d'exécution de l'instruction
Chapitre 1-2
Toutes les erreurs à la suite desquelles le drapeau d'erreur ou le drapeau
d'erreur d'accès passent ON, sont traitées comme erreurs de programme. Le
tableau ci-dessous énumère les erreurs de programme. L'API peut être configuré de manière à arrêter l'exécution du programme si l'une de ces erreurs se
produit.
Type d'erreur
Pas d'instruction END
Description
Absence d'instruction END(001) dans le programme.
Drapeaux associés
Drapeau d'erreur : pas
d'instruction END (A29511)
Erreur de tâche
Il existe trois causes possibles d'erreur de tâche :
1) Il n'existe pas de tâche cyclique exécutable.
2) Aucun programme n'est affecté à la tâche.
3) Une interruption a été générée mais il n'existe pas de
tâche d'interruption correspondante.
L'UC a tenté d'exécuter une instruction mais les données
fournies dans l'opérande de l'instruction sont incorrectes.
*Si l'API a été configuré pour traiter les erreurs d'instruction
comme erreurs fatales (erreurs de programme), le drapeau
d'erreur de traitement d'instruction (A29508) passe ON et
l'exécution du programme est arrêtée.
Il existe cinq causes possibles d'erreur d'accès :
1) Lecture/écriture dans la zone de paramètre.
2) Ecriture sur une mémoire non installée.
3) Lecture/écriture dans une banque EM qui est une mémoire
du fichier EM.
4) Ecriture sur une zone en lecture seule.
5) Le contenu d'un mot DM/EM ne consiste pas en données
BCD alors que l'API est configuré pour l'adressage indirect
BCD.
*Si l'API a été configuré pour traiter les erreurs d'instruction
comme erreurs fatales (erreurs de programme), le drapeau
d'erreur d'accès illégal (A29510) passe ON et l'exécution du
programme est arrêtée.
Le contenu d'un mot DM/EM ne consiste pas en données
BCD alors que l'API est configuré pour l'adressage indirect
BCD.
*Si l'API a été configuré pour traiter les erreurs d'instruction
comme erreurs fatales (erreurs de programme), le drapeau
d'erreur BCD de DM/EM indirecte (A29509) passe ON et
l'exécution du programme est arrêtée.
Drapeau d'erreur de tâche
(A29512)
Erreur de traitement
d'instruction*
Erreur d'accès*
Erreur BCD de DM/EM
indirecte*
Erreur de dépassement
de différentiation
Erreur de dépassement
UM
Erreur d'instruction
illégale
14
Des instructions différenciées ont été continuellement insérées et supprimées au cours de l'édition en ligne (plus de
31 072 fois).
La dernière adresse de UM (mémoire du programme
utilisateur) a été dépassée.
Le programme contient une instruction non exécutable.
Drapeau d'erreur (ER),
Drapeau d'erreur de traitement d'instruction
(A29508)
Drapeau d'erreur d'accès
(AER),
Drapeau d'erreur d'accès
illégal (A29510)
Drapeau d'erreur d'accès
(AER),
Drapeau d'erreur BCD de
DM/EM indirecte (A29509)
Drapeau d'erreur de
dépassement de
différentiation (A29513)
Drapeau d'erreur de
dépassement UM
(A29515)
Drapeau d'erreur
d'instruction illégale
(A29514)
CHAPITRE 2
Résumé des instructions
Ce chapitre vous donne un résumé des instructions utilisées avec les API série CS/CJ.
2-1
Classement des instructions par fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2-2
Fonction des instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
2-2-1
Instructions d'entrée de séquences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
2-2-2
Instructions de sortie de séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
2-2-3
Instructions de contrôle de séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
2-2-4
Instructions de temporisateur et compteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
2-2-5
Instructions de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
2-2-6
Instructions de déplacement de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
2-2-7
Instructions de décalage de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
2-2-8
Instructions d'incrémentation/décrémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
2-2-9
Instructions mathématiques à symboles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
2-2-10 Instructions de conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
2-2-11 Instructions logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
2-2-12 Instructions mathématiques spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
2-2-13 Instructions mathématiques à virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
2-2-14 Instructions à virgule flottante double précision. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
2-2-15 Instructions de traitement des données de tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
2-2-16 Instructions de contrôle de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
2-2-17 Instructions de sous-programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
2-2-18 Instructions de contrôle des interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
2-2-19 Instructions de compteur à grande vitesse et de sortie d'impulsions
(CJ1M-CPU21/22/23 uniquement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
2-2-20 Instructions de pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
2-2-21 Instructions des cartes d’E/S standard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
2-2-22 Instructions de communication série. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
87
2-2-23 Instructions réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88
2-2-24 Instructions de mémoire de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
2-2-25 Instructions d'affichage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
92
2-2-26 Instructions d'horloge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
92
2-2-27 Instructions de débogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
2-2-28 Instructions de diagnostic d'erreur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
94
2-2-29 Autres instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
95
2-2-30 Instructions de programmation de bloc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
96
2-2-31 Instructions de traitement de chaînes de texte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
102
2-2-32 Instructions de contrôle des tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
105
2-2-33 Instructions de conversion des modèles (UC ver. 3.0 ou supérieure uniquement). . . . . . . .
106
2-2-34 Instructions spéciales des blocs fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
107
2-3
Liste alphabétique des instructions par mnémonique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
108
2-4
Liste des instructions par code fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
125
15
Chapitre 2-1
Classement des instructions par fonction
2-1
Classement des instructions par fonction
Le tableau ci-dessous énumère les instructions par fonction pour la série CS/
CJ. (Les instructions apparaissent par ordre de leur fonction repris au
Chapitre 3 Instructions.)
*Les instructions ou groupes d'instructions suivis d'un seul astérisque sont
pris en charge uniquement par les UC CS1-H, CJ1-H, CJ1M et CS1D.
**Les instructions ou groupes d'instructions suivis de deux astérisques sont
pris en charge uniquement par les UC CJ1M.
***Les instructions ou groupes d'instructions suivis de trois astérisques ne
sont pas pris en charge par les UC CS1D pour systèmes d'UC en duplex.
Remarque
1. UC série CS/CJ ver. 2.0 ou supérieure uniquement
2. UC CJ1M-CPU21/22/23 ver. 2.0 ou supérieure uniquement
3. UC série CS/CJ ver. 2.0 ou supérieure uniquement
UC CJ1M (Pré-ver. 2.0 ou ver. 2.0 ou supérieure)
Catégorie
Instructions
de base
Instructions
d'entrée de
séquences
Instructions
de sortie de
séquences
Sous-catégorie
Entrée
Sortie
---
Mnémonique
LD
AND NOT
AND LD
OUT
NOT
Instruction
LOAD
AND NOT
AND LOAD
OUTPUT
NOT
Mnémonique
LD NOT
OR
OR LD
OUT NOT
UP
Test de bit
LD TST
LD BIT TEST
LD TSTN
AND TSTN
AND BIT TEST
NOT
KEEP
OR TST
---
Instruction
LOAD NOT
OR
OR LOAD
OUTPUT NOT
CONDITION
ON
LD BIT TEST
NOT
OR BIT TEST
Mnémonique
AND
OR NOT
----DOWN
DIFD
---
DIFFERENTIATE UP
---
---
RSET
RESET
SETA
SETB*
IL
INTERLOCK
ILC
SINGLE BIT
SET
NO OPERATION
INTERLOCK
CLEAR
RSTB*
END
MULTIPLE BIT
RESET
END
MILR
(Voir remarque
1.)
MULTI-INTERLOCK DIFFERENTIATION
RELEASE
JUMP
MILC
(Voir remarque
1.)
MULTI-INTERLOCK CLEAR
---
JME
JUMP END
CJP
CONDITIONAL
JUMP
FOR-NEXT
LOOPS
JMP0
MULTIPLE
JUMP
BREAK LOOP
JME0
KEEP
OUTB*
Mise à 1/0
SET
RSTA
Instructions
--de contrôle de
séquences
Interverrouillage
Saut
JMP
CJPN
Répétition
16
FOR
SINGLE BIT
OUTPUT
SET
DIFU
NOP
BREAK
AND TST
OR TSTN
--MILH
NEXT
Instruction
AND
OR NOT
----CONDITION
OFF
AND BIT TEST
NOT
OR BIT TEST
NOT
DIFFERENTIATE DOWN
--MULTIPLE BIT
SET
SINGLE BIT
RESET
--MULTI-INTERLOCK DIFFERENTIATION
HOLD
---
CONDITIONAL
JUMP
MULTIPLE
JUMP END
FOR-NEXT
LOOPS
Chapitre 2-1
Classement des instructions par fonction
Catégorie
Sous-catégorie
Instructions
BCD
Temporide temporisasateur
teur et comp(avec
teur
numéros
de temporisateur)
Temporisateur
(sans
numéro
de temporisateur)
Compteur
(avec
numéros
de compteur)
Binaire* Temporisateur
(avec
numéros
de temporisateur)
Temporisateur
(sans
numéro
de temporisateur)
Compteur
(avec
numéros
de compteur)
Instructions
Comparaison
de comparai- de symboles
son
Instructions
de déplacement de données
Mnémonique
Instruction
TIM
TIMER
Mnémonique
Instruction
TIMH
HIGH-SPEED
TIMER
-----
Mnémonique
Instruction
TMHH
ONE-MS
TIMER
-----
TTIM
ACCUMULATIVE TIMER
TIML
LONG TIMER
MTIM
MULTI-OUTPUT TIMER
---
---
CNT
COUNTER
CNTR
REVERSIBLE
TIMER
CNR
RESET TIMER/
COUNTER
TIMX
TIMER
TIMHX
TMHHX
TTIMX
ACCUMULATIVE TIMER
---
HIGH-SPEED
TIMER
---
---
ONE-MS
TIMER
---
TIMLX
LONG TIMER
MTIMX
MULTI-OUTPUT TIMER
---
---
CNTX
COUNTER
CNTRX
REVERSIBLE
TIMER
CNRX
RESET TIMER/
COUNTER
LD, AND, OR
+
=, <>, <, <=, >,
>=
LD, AND, OR
+
=, <>, <, <=, >,
>= + SL
Comparaison de LD, AND, OR
symboles (non +
=, <>, <, <=, >,
signé)
>= + L
Comparaison de LD, AND, OR
symboles (mot +
double, signé)
= DT, <> DT, <
DT, <= DT, > DT,
>= DT
(Voir remarque
1.)
UNSIGNED
CMPL
COMPARE
Comparaison de
symboles (mot
double, non
signé)
Comparaison de
temps
LD, AND, OR
+
=, <>, <, <=, >,
>= +S
---
Comparaison
de symboles
(signé)
Comparaison
de données
(Drapeaux de condition)
CMP
Comparaison
de tableaux
MCMP
CPSL
Mot
simple/double
BCMP2
(Voir
remarque 3.)
MOV
MVNL
Bit/chiffre
Echange
MOVB
XCHG
Transfert bloc/bit
XFRB
Distribution /
récupération
Registre d’index
DIST
MOVR
DOUBLE
SIGNED
BINARY COMPARE
MULTIPLE
COMPARE
EXPANDED
BLOCK COMPARE
MOVE
DOUBLE MOVE
NOT
MOVE BIT
DATA
EXCHANGE
MULTIPLE BIT
TRANSFER
SINGLE WORD
DISTRIBUTE
MOVE TO
REGISTER
---
DOUBLE UNSI- CPS
GNED COMPARE
AREA RANGE ZCPL*
COMPARE
SIGNED
BINARY
COMPARE
DOUBLE AREA
RANGE COMPARE
TCMP
TABLE COMPARE
BCMP
---
---
---
UNSIGNED
BLOCK COMPARE
---
MOVL
---
DOUBLE MOVE MVN
-----
MOVE NOT
---
MOVD
XCGL
MOVE DIGIT
DOUBLE DATA
EXCHANGE
BLOCK
TRANSFER
DATA COLLECT
-----
-----
BSET
BLOCK SET
---
---
MOVE TIMER/
COUNTER PV
TO REGISTER
---
---
ZCP*
XFER
COLL
MOVRW
17
Chapitre 2-1
Classement des instructions par fonction
Catégorie
Instructions
de décalage
de données
Sous-catégorie
Décalage 1 bit
Mnémonique
Instruction
SFT
SHIFT REGISTER
ASL
0000 hex asynchrone
ASFT
Décalage de mot
Décalage 1 bit
WSFT
ROL
RLNL
RRNC
Décalage 1 chiffre
SLD
Décalage de données NSFL
n bits
Décalage de n bits
NASL
NSRL
Instructions
BCD
d'incrémentation/décrémentation
Binaire
++B
– –BL
++
– –L
18
ARITHMETIC
SHIFT LEFT
ASYNCHRONOUS SHIFT
REGISTER
WORD SHIFT
ROTATE LEFT
Mnémonique
Instruction
SFTR
REVERSIBLE
SHIFT REGISTER
ASR
ARITHMETIC
SHIFT RIGHT
-----
---
--ROLL
--RLNC
DOUBLE
ROR
ROTATE LEFT
WITHOUT
CARRY
ROTATE RIGHT RRNL
WITHOUT
CARRY
ONE DIGIT
SHIFT LEFT
SHIFT N-BIT
DATA LEFT
SHIFT N-BITS
LEFT
DOUBLE SHIFT
N-BITS RIGHT
INCREMENT
BCD
SRD
DOUBLE
DECREMENT
BCD
INCREMENT
BINARY
---
DOUBLE
DECREMENT
BINARY
NSFR
NSLL
--++BL
++L
---
--DOUBLE
ROTATE LEFT
Mnémonique
Instruction
ASLL
DOUBLE SHIFT
LEFT
ASRL
ROTATE RIGHT RORL
DOUBLE
ROTATE RIGHT
WITHOUT
CARRY
ONE DIGIT
SHIFT RIGHT
SHIFT N-BIT
DATA RIGHT
DOUBLE SHIFT
N-BITS LEFT
--DOUBLE
INCREMENT
BCD
---
DOUBLE
INCREMENT
BINARY
---
DOUBLE SHIFT
RIGHT
---
--ROTATE LEFT
WITHOUT
CARRY
DOUBLE
ROTATE RIGHT
---
---
---
---
---
---
NASR
SHIFT N-BITS
RIGHT
---
--– –B
DECREMENT
BCD
---
---
––
DECREMENT
BINARY
---
---
Chapitre 2-1
Classement des instructions par fonction
Catégorie
Instructions
mathématiques à symboles
Sous-catégorie
Addition binaire
Mnémonique
Instruction
+
SIGNED
BINARY ADD
WITHOUT
CARRY
+CL
Addition BCD
+B
+BCL
Soustraction binaire
–
–CL
Soustraction BCD
–B
–BCL
Multiplication binaire
*
*UL
Multiplication BCD
*B
Division binaire
/
/UL
Division BCD
Instructions
Conversion BCD/
de conversion binaire
/B
DOUBLE
SIGNED
BINARY ADD
WITH CARRY
BCD ADD
WITHOUT
CARRY
DOUBLE BCD
ADD WITH
CARRY
SIGNED
BINARY SUBTRACT
WITHOUT
CARRY
DOUBLE
SIGNED
BINARY WITH
CARRY
BCD
SUBTRACT
WITHOUT
CARRY
DOUBLE BCD
SUBTRACT
WITH CARRY
SIGNED
BINARY
MULTIPLY
Mnémonique
Instruction
+L
DOUBLE
SIGNED
BINARY ADD
WITHOUT
CARRY
-----
---
---
+BL
+BC
BCD ADD WITH
CARRY
---
---
–C
SIGNED
BINARY
SUBTRACT
WITH CARRY
---
---
–BC
BCD
SUBTRACT
WITH CARRY
---
---
*U
UNSIGNED
BINARY
MULTIPLY
---
---
DOUBLE BCD --MULTIPLY
DOUBLE
/U
SIGNED
BINARY DIVIDE
-----
---
---
–L
---
–BL
--*L
DOUBLE UNSI- --GNED BINARY
MULTIPLY
BCD
*BL
MULTIPLY
SIGNED
/L
BINARY DIVIDE
DOUBLE UNSI- --GNED BINARY
DIVIDE
BCD DIVIDE
/BL
NEGL
DOUBLE 2'S
COMPLEMENT
---
---
---
---
DMPX
DATA ENCODER
ASCII TO HEX
---
---
---
---
---
---
BCDS
SIGNED
BINARY-TOBCD
---
NEG
LINE
BINS
BDSL
DOUBLE
SIGNED
BINARY-TOBCD
---
BINARY-TOBCD
DOUBLE
BINARY-TODOUBLE BCD
16-BIT TO
32-BIT SIGNED
BINARY
DATA DECODER
ASCII CONVERT
COLUMN TO
LINE
SIGNED BCDTO-BINARY
ASC
UNSIGNED
BINARY DIVIDE
BCD
BCDL
Conversion ASCII/
HEX
Conversion ligne/
colonne
Conversion binaires
signés / BCD
DOUBLE
SIGNED
BINARY
MULTIPLY
---
---
BINL
MLPX
DOUBLE BCD
SUBTRACT
WITHOUT
CARRY
---
---
BCD-TOBINARY
Décodeur/ encodeur
DOUBLE
SIGNED
BINARY
SUBTRACT
WITHOUT
CARRY
---
DOUBLE BCD
DIVIDE
DOUBLE BCDTO-DOUBLE
BINARY
2'S COMPLEMENT
BIN
SIGN
DOUBLE BCD
ADD
WITHOUT
CARRY
---
Mnémonique
Instruction
+C
SIGNED
BINARY ADD
WITH CARRY
HEX
COLM
BISL
GRY
(Voir remarque
1.)
LINE TO
COLUMN
DOUBLE
SIGNED BCDTO-BINARY
GRAY CODE
CONVERSION
---
19
Classement des instructions par fonction
Catégorie
Instructions
logiques
Sous-catégorie
AND/OR logique
Mnémonique
Instruction
ANDW
LOGICAL AND
ORWL
XNRW
Complément
COM
Instructions
mathématiques spéciales
---
ROTB
Instructions
mathématiques à virgule flottante
Conversion virgule
flottante/binaire
FDIV
FIX
FLTL
Math de base virgule
flottante
+F
*F
Trigonométrie à
virgule flottante
RAD
COS
ACOS
Math virgule flottante SQRT
PWR
Comparaison et conversion de symboles
*
Instructions à Conversion virgule
virgule flotflottante/binaire
tante double
précision*
Math de base virgule
flottante
LD, AND, OR
+
=, <>, <, <=, >,
>= + F
FIXD
DBLL
+D
*D
Trigonométrie à
virgule flottante
RADD
COSD
ACOSD
Math virgule flottante SQRTD
PWRD
Comparaison de
symboles
20
LD, AND, OR
+
=, <>, <, <=, >,
>= + D
Chapitre 2-1
Mnémonique
Instruction
Mnémonique
Instruction
ANDL
DOUBLE LOGI- ORW
LOGICAL OR
CAL AND
DOUBLE LOGI- XORW
EXCLUSIVE
XORL
DOUBLE
CAL OR
OR
EXCLUSIVE
OR
EXCLUSIVE
XNRL
DOUBLE
----NOR
EXCLUSIVE
NOR
COMPLEMENT COML
DOUBLE COM- ----PLEMENT
BINARY ROOT ROOT
BCD SQUARE APR
ARITHMETIC
ROOT
PROCESS
FLOATING
BCNT
BIT COUNTER ----POINT DIVIDE
FLOATING TO FIXL
FLOATING TO FLT
16-BIT TO
16-BIT
32-BIT
FLOATING
32-BIT TO
--------FLOATING
FLOATING–F
FLOATING/F
FLOATINGPOINT ADD
POINT
POINT DIVIDE
SUBTRACT
FLOATING--------POINT
MULTIPLY
DEGREES TO DEG
RADIANS TO
SIN
SINE
RADIANS
DEGREES
COSINE
TAN
TANGENT
ASIN
ARC SINE
ARC COSINE
ATAN
ARC TANGENT ----SQUARE ROOT EXP
EXPONENT
LOG
LOGARITHM
EXPONENTIAL --------POWER
Comparaison de FSTR*
FLOATINGFVAL*
ASCII TO
symboles (virPOINT TO
FLOATINGgule flottante
ASCII
POINT
simple précision)
DOUBLE FLOA- FIXLD
DOUBLE FLOA- DBL
16-BIT TO
TING TO 16-BIT
TING TO 32-BIT
DOUBLE FLOATING
32-BIT TO
--------DOUBLE FLOATING
DOUBLE FLOA- –D
DOUBLE FLOA- /D
DOUBLE FLOATING-POINT
TING- POINT
TING-POINT
ADD
SUBTRACT
DIVIDE
DOUBLE FLOA- --------TING- POINT
MULTIPLY
DOUBLE
DEGD
DOUBLE
SIND
DOUBLE SINE
DEGREES TO
RADIANS TO
RADIANS
DEGREES
DOUBLE
TAND
DOUBLE TAN- ASIND
DOUBLE ARC
COSINE
GENT
SINE
DOUBLE ARC ATAND
DOUBLE ARC ----COSINE
TANGENT
DOUBLE
EXPD
DOUBLE
LOGD
DOUBLE
SQUARE ROOT
EXPONENT
LOGARITHM
DOUBLE
--------EXPONENTIAL
POWER
Comparaison de --------symboles (virgule flottante
double précision)
Chapitre 2-1
Classement des instructions par fonction
Catégorie
Instructions
de traitement
des données
de tableaux
Sous-catégorie
Traitement
de pile
Mnémonique
Instruction
SSET
SET STACK
Traitement 1 enregistrement /
plusieurs mots
Traitement
enregistrement vers
mot
DIM
Traitement
d'octets
---
SWAP
Mnémonique
Instruction
PUSH
PUSH ONTO
STACK
FIRST IN FIRST SNUM*
STACK SIZE
OUT
READ
STACK DATA
SINS*
STACK DATA
OVERWRITE
INSERT
DIMENSION
SETR
SET RECORD
RECORD
LOCATION
TABLE
DATA SEARCH MAX
FIND
MAXIMUM
SUM
FCS
FRAME
CHECKSUM
SWAP BYTES
-----
PID
PID CONTROL
PIDAT*
BAND
DEAD BAND
CONTROL
ZONE
SCL
AVG
SBS
SCALING
AVERAGE
SUBROUTINE
CALL
SUBROUTINE
RETURN
SCL2
--MCRO
GLOBAL
SUBROUTINE
RETURN
SET
INTERRUPT
MASK
DISABLE
INTERRUPTS
MODE CONTROL
---
FIFO
SWRIT*
Instructions
de contrôle de
données
Instructions
de sous-programme
---
SRCH
SUM
RET
GRET*
Instructions
de contrôle
des interruptions
---
MSKS***
DI
Instructions
--de compteur à
grande
vitesse et de
sortie
d'impulsions**
INI
---
PRV2
(Voir remarque
2.)
PULS
COUNTER
FREQUENCY
CONVERT
SET PULSES
ORG
ORIGIN
SEARCH
SNXT
STEP START
PRV
TEN KEY
INPUT
HKY
(Voir remarque
1.)
IORD
PMCR
STUP
---
---
STEP
7-SEGMENT
DISPLAY OUTPUT
CPU BUS UNIT
I/O REFRESH
PROTOCOL
MACRO
CHANGE
SERIAL PORT
SETUP
GSBN*
TIME-PROPORTIONAL
OUTPUT
SCALING 3
--SUBROUTINE
ENTRY
GLOBAL
SUBROUTINE
ENTRY
---
---
PULSE WITH
VARIABLE
DUTY FACTOR
I/O REFRESH
TKY
(Voir remarque
1.)
7SEG
(Voir remarque
1.)
DLNK*
GLOBAL
SUBROUTINE
CALL
---
LIMIT
CONTROL
ENABLE
INTERRUPTS
HIGH-SPEED
COUNTER PV
READ
SPEED OUTPUT
ACC
IORF
PID CONTROL LMT
WITH AUTOTUNING
DEAD ZONE
TPO
CONTROL
(Voir remarque
1.)
SCALING 2
SCL3
----MACRO
SBN
EI
PULSE OUTPUT
---
---
CLEAR INTERRUPT
PLS2
Instructions
des cartes E/
S standard
---
CLI***
SPED
PWM
---
FIND
MINIMUM
---
READ INTERRUPT MASK
COMPARISON
TABLE LOAD
---
MIN
MSKR***
CTBL
Instructions
de pas
Instructions
de communication série
GSBS*
Mnémonique
Instruction
LIFO
LAST IN FIRST
OUT
SREAD*
STACK DATA
READ
SDEL*
STACK DATA
DELETE
GETR
GET RECORD
NUMBER
SDEC
ACCELERATION CONTROL
STEP DEFINE
7-SEGMENT
DECODER
DSW
(Voir remarque
1.)
HEXADECIMTR
MAL KEY
(Voir remarque
INPUT
1.)
INTELLIGENT I/ IOWR
O READ
DIGITAL
SWITCH INPUT
INTELLIGENT I/
O WRITE
---
---
---
---
TXD
TRANSMIT
RXD
RECEIVE
---
---
---
---
MATRIX INPUT
21
Chapitre 2-1
Classement des instructions par fonction
Catégorie
Instructions
réseau
Instructions
d'affichage
Instructions
de mémoire
de fichiers
Instructions
d'horloge
Sous-catégorie
---
-----
---
Mnémonique
Instruction
SEND
NETWORK
SEND
EXPLT
SEND GENE(Voir remarque RAL EXPICIT
1.)
ECHRD
EXPLICIT
(Voir remarque WORD READ
1.)
MSG
DISPLAY MESSAGE
FREAD
READ DATA
FILE
Mnémonique
Instruction
RECV
NETWORK
RECEIVE
EGATR
EXPLICIT GET
(Voir remarque ATTRIBUTE
1.)
ECHWR
EXPLICIT
(Voir remarque WORD WRITE
1.)
-----
---
---
FWRIT
WRITE DATA
FILE
---
---
CADD
CALENDAR
ADD
SECONDS TO
HOURS
TRACE
MEMORY SAMPLING
FAILURE
ALARM
CSUB
CALENDAR
SUBTRACT
CLOCK
ADJUSTMENT
---
SEC
---
HOURS TO
SECONDS
---
---
---
HMS
DATE
Instructions
de débogage
---
TRSM
Instructions
de diagnostic
d'erreur
Autres
instructions
---
FAL
---
STC
SET CARRY
CLC
WDT
CCS*
SAVE CONDITION FLAGS
CCL*
TOCV*
CONVERT
ADDRESS TO
CV
---
IOSP***
---
DISABLE PERIPHERAL SERVICING
---
BLOCK PROGRAM END
BLOCK
PROGRAM
RESTART
Conditional
END NOT
CONDITIONAL
BLOCK BRANCHING (NOT)
---
---
---
---
---
input_condition
EXIT
Conditional
END
CONDITIONAL
BLOCK BRANCHING (ELSE)
---
WAIT
bit_address
TIMW
EXTEND
MAXIMUM
CYCLE TIME
CONVERT
ADDRESS
FROM CV
ENABLE PERIPHERAL SERVICING
BLOCK PROGRAM BEGIN
BLOCK
PROGRAM
PAUSE
Conditional
END
CONDITIONAL
BLOCK BRANCHING
CONDITIONAL
BLOCK BRANCHING END
ONE CYCLE
AND WAIT
TIMER WAIT
WAIT NOT
bit_address
CNTW
TIMWX
TIMER WAIT
CNTWX
LOOP
LOOP BLOCK
input_condition
LEND
LOOP BLOCK
END
LEND
bit_address
---
FRMCV*
IORS***
Instructions
de programmation de
bloc
Définition de zone de
programme de bloc
Arrêt/Démarrage
programme de bloc
BPRG
EXIT
EXIT
bit_address
IF
bit_address
IF traitement
conditionnel
BPPS
IEND
WAIT
Tempo- BCD
risateur/
compBinaire*
teur
Répétition
22
---
Mnémonique
Instruction
CMND
DELIVER COMMAND
ESATR
EXPLICIT SET
(Voir remarque ATTRIBUTE
1.)
-----
FALS
---
BEND
BPRS
EXIT
bit_address
IF NOT
bit_address
---
SEVERE
FPD
FAILURE
ALARM
CLEAR CARRY EMBC
ONE CYCLE
AND WAIT NOT
COUNTER
WAIT
COUNTER
WAIT
LOOP BLOCK
END
---
ELSE
---
input_condition
WAIT
TMHW
TMHWX
LEND NOT
bit_address
---
FAILURE
POINT DETECTION
SELECT EM
BANK
LOAD CONDITION FLAGS
ONE CYCLE
AND WAIT
HIGH-SPEED
TIMER WAIT
HIGH-SPEED
TIMER WAIT
LOOP BLOCK
END NOT
---
Chapitre 2-1
Classement des instructions par fonction
Catégorie
Sous-catégorie
Instructions
--de traitement
de chaînes de
texte
Mnémonique
Instruction
MOV$
MOV STRING
RIGHT$
LEN$
XCHG$
Instructions
de contrôle
des tâches
---
LD, AND, OR
+
=$, <>$, <$,
<=$, >$, >=$
TKON
GET STRING
RIGHT
STRING
LENGTH
EXCHANGE
STRING
STRING
COMPARISON
TASK ON
Mnémonique
Instruction
+$
CONCATENATE STRING
MID$
GET STRING
MIDDLE
RPLC$
REPLACE IN
STRING
CLR$
CLEAR
STRING
-----
Mnémonique
Instruction
LEFT$
GET STRING
LEFT
FIND$
FIND IN
STRING
DEL$
DELETE
STRING
INS$
INSERT INTO
STRING
-----
TKOF
---
TASK OFF
---
23
Chapitre 2-2
Fonction des instructions
2-2
2-2-1
Fonction des instructions
Instructions d'entrée de séquences
*1:
Instruction
Mnémonique
Code
LOAD
LD
@LD
%LD
!LD*1
!@LD*1
!%LD*1
LOAD NOT
LD NOT
@LD NOT*2
%LD NOT*2
!LD NOT*1
!@LD NOT*3
!%LD NOT*3
Symbole/
Opérande
Barre de
bus
Barre de
bus
AND NOT
AND NOT
@AND NOT*2
%AND NOT*2
!AND NOT*1
!@AND NOT*3
!%AND NOT*3
OR NOT
OR NOT
@OR NOT*2
%OR NOT*2
!OR NOT*1
!@OR NOT*3
!%OR NOT*3
24
*3
: Prise en charge par les UC CS1-H, CJ1-H et CJ1M uniquement.
Fonction
Emplacement
Condition
d’exécution
Page
Indique un départ logique et crée une condition d'exécution ON/OFF
fondée sur l'état ON/OFF du bit d'opérande spécifié.
Démarrage de 153
la logique
Non
obligatoire
Indique un départ logique et crée une condition d'exécution ON/OFF
fondée sur l'état ON/OFF inverse du bit d'opérande spécifié.
Démarrage de 155
la logique
Non
obligatoire
Effectue un AND logique de l'état du bit d'opérande spécifié et de la
condition d'exécution en cours.
Continue sur
le segment
Obligatoire
157
Inverse l'état du bit d'opérande spécifié et effectue un AND logique
avec la condition d'exécution en cours.
Continue sur
le segment
Obligatoire
159
Effectue un OR logique de l'état ON/OFF du bit d'opérande spécifié et
de la condition d'exécution en cours.
Continue sur
le segment
Obligatoire
161
Inverse l'état du bit spécifié et effectue un OR logique avec la condition
d'exécution en cours.
Continue sur
le segment
Obligatoire
163
Point de
départ
du bloc
AND
@AND
%AND
!AND*1
!@AND*1
!%AND*1
OR
@OR
%OR
!OR*1
!@OR*1
!%OR*1
Non prise en charge par les UC CS1D pour systèmes d'UC en duplex.
: Prise en charge par les UC CS1-H, CJ1-H , CJ1M et CS1D uniquement.
Point de
départ du
bloc
AND
OR
*2
Barre de bus
Barre de bus
Chapitre 2-2
Fonction des instructions
Symbole/
Opérande
Instruction
Mnémonique
Code
AND LOAD
AND LD
Bloc logique Bloc logique
Fonction
Emplacement
Condition
d’exécution
Page
Continue sur
le segment
Obligatoire
164
Continue sur
le segment
Obligatoire
166
Inverse la condition d'exécution.
Continue sur
le segment
Obligatoire
172
UP(521) passe ON la condition d'exécution pendant un cycle lorsque
la condition d'exécution passe de OFF à ON.
Continue sur
le segment
Obligatoire
173
DOWN(522) passe ON la condition d'exécution pendant un cycle
lorsque la condition d'exécution passe de ON à OFF.
Continue sur
le segment
Obligatoire
173
LD TST(350), AND TST(350) et OR TST(350) sont utilisées dans le
programme comme LD, AND et OR ; la condition d'exécution est ON
lorsque le bit spécifié dans le mot spécifié est ON et OFF lorsque le bit
est OFF.
Continue sur
le segment
Non
obligatoire
174
LD TSTN(351), AND TSTN(351) et OR TSTN(351) sont utilisées dans
le programme comme LD NOT, AND NOT et OR NOT ; la condition
d'exécution est OFF lorsque le bit spécifié dans le mot spécifié est ON
et ON lorsque le bit est OFF.
Continue sur
le segment
Non obligatoire
174
LD TST(350), AND TST(350) et OR TST(350) sont utilisées dans le
programme comme LD, AND et OR ; la condition d'exécution est ON
lorsque le bit spécifié dans le mot spécifié est ON et OFF lorsque le bit
est OFF.
Continue sur
le segment
Obligatoire
174
LD TSTN(351), AND TSTN(351) et OR TSTN(351) sont utilisées dans
le programme comme LD NOT, AND NOT et OR NOT ; la condition
d'exécution est OFF lorsque le bit spécifié dans le mot spécifié est ON
et ON lorsque le bit est OFF.
Continue sur
le segment
Obligatoire
174
Effectue un AND logique entre les blocs logiques.
LD
à
Bloc logique A
LD
Bloc logique B
à
AND LD
OR LOAD
OR LD
Bloc logique
Bloc logique
Connexion série entre le bloc logique A
et le bloc logique B.
Effectue un OR logique entre les blocs logiques.
LD
à
LD
Bloc logique A
Bloc logique B
à
OR LD
---
NOT
Connexion parallèle entre le bloc
logique A et le bloc logique B.
NOT
520
CONDITION ON
UP
521
CONDITION OFF
DOWN
522
BIT TEST
LD TST
350
UP(521)
DOWN(522)
TST(350)
S
N
S: Mot source
N: Numéro de bit
BIT TEST
LD TSTN
351
TSTN(351)
S
N
S: Mot source
N: Numéro de bit
BIT TEST
AND TST
350
AND TST(350)
S
N
S: Mot source
N: Numéro de bit
BIT TEST
AND TSTN
351
AND TSTN(351)
S
N
S: Mot source
N: Numéro de bit
25
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
Symbole/
Opérande
BIT TEST
OR TST
350
TST(350)
S
Fonction
Emplacement
Condition
d’exécution
Page
LD TST(350), AND TST(350) et OR TST(350) sont utilisées dans le
programme comme LD, AND et OR ; la condition d'exécution est ON
lorsque le bit spécifié dans le mot spécifié est ON et OFF lorsque le bit
est OFF.
Continue sur
le segment
Obligatoire
174
LD TSTN(351), AND TSTN(351) et OR TSTN(351) sont utilisées dans
le programme comme LD NOT, AND NOT et OR NOT ; la condition
d'exécution est OFF lorsque le bit spécifié dans le mot spécifié est ON
et ON lorsque le bit est OFF.
Continue sur
le segment
Obligatoire
174
N
S: Mot source
N: Numéro de bit
BIT TEST
OR TSTN
351
TSTN(351)
S
N
S: Mot source
N: Numéro de bit
2-2-2
Instructions de sortie de séquences
*1
Instruction
Mnémonique
Code
Symbole/
Opérande
OUTPUT
OUT
!OUT*1
OUTPUT NOT
OUT NOT
!OUT NOT*1
KEEP
KEEP
!KEEP*1
: Non prise en charge par les UC CS1D pour systèmes d'UC en duplex.
S (passe
ON)
KEEP(011)
B
Fonction
Emplacement Page
Condition
d’exécution
Sort le résultat (condition d'exécution) du traitement logique dans le bit
spécifié.
Sortie
Obligatoire
177
Inverse le résultat (condition d'exécution) du traitement logique et place
le résultat dans le bit spécifié.
Sortie
Obligatoire
178
Fonctionne comme un relais maintenu.
Sortie
Obligatoire
179
Sortie
Obligatoire
184
Set
R (passe
OFF)
011 B: Bit
Reset
Condition
d'exécution S
Condition
d'exécution R
Etat de B
DIFFERENTIATE
UP
DIFU
!DIFU*1
DIFU(013)
DIFU(013) passe le bit désigné sur ON pour un cycle lorsque
la condition d'exécution passe de OFF à ON (front montant).
B
B: Bit
Condition d'exécution
013
Etat de B
Un cycle
26
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
Symbole/
Opérande
DIFFERENTIATE
DOWN
DIFD
!DIFD*1
DIFD(014)
Fonction
Emplacement Page
Condition
d’exécution
Sortie
Obligatoire
184
Sortie
Obligatoire
186
Sortie
Obligatoire
186
Sortie
Obligatoire
189
Sortie
Obligatoire
189
SETB(532) passe le bit spécifié ON dans le mot spécifié lorsque la con- Sortie
dition d'exécution est ON.
Obligatoire
A la différence de l'instruction SET, SETB(532) peut être utilisée pour
passer ON un bit dans un mot DM ou EM.
192
DIFU(014) passe le bit désigné sur ON pour un cycle lorsque la
condition d'exécution passe de ON à OFF (front descendant).
B
Condition d'exécution
B: Bit
014
Etat de B
Un cycle
SET
SET
@SET
%SET
!SET*1 B: Bit
!@SET*1
!%SET*1
RESET
RSET
@RSET
%RSET
!RSET*1 B: Bit
!@RSET*1
!%RSET*1
MULTIPLE BIT
SET
SETA
@SETA
530
SET
B
SET passe le bit d'opérande sur ON lorsque la condition
d'exécution est ON.
Condition
d'exécution de SET
Etat de B
RSET
B
RSET passe le bit d'opérande sur OFF lorsque la condition
d'exécution est ON.
Condition d'exécution
de RSET
Etat de B
SETA(530)
SETA(530) passe ON le nombre de bits consécutifs spécifié.
D
N1
N2
N2 bits sont mis à 1
(ON).
D: Mot de départ
N1: Bit de départ
N2: Nombre de
bits
MULTIPLE BIT
RESET
RSTA
@RSTA
531
RSTA(531)
RSTA(531) passe OFF le nombre de bits consécutifs spécifié.
D
N1
N2
N2 bits sont remis à
0 (OFF).
D: Mot de départ
N1: Bit de départ
N2: Nombre de
bits
SINGLE BIT SET
(CS1-H, CJ1-H,
CJ1M ou CS1D
SETB(532)
uniquement)
SETB
D
@SETB
N
*1
!SETB
*1
!@SETB D: Adresse de mot
N: Numéro de bit
27
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
Symbole/
Opérande
Fonction
Emplacement Page
Condition
d’exécution
SINGLE BIT
RSTB(533)
RESET (CS1-H,
CJ1-H, CJ1M ou
D
CS1D uniquement)
N
RSTB
@RSTB
D: Adresse de mot
!RSTB*1
*1 N: Numéro de bit
!@RSTB
RSTB(533) passe le bit spécifié OFF dans le mot spécifié lorsque la
condition d'exécution est ON.
A la différence de l'instruction RSET, RSTB(533) peut être utilisée pour
passer OFF un bit dans un mot DM ou EM.
Sortie
Obligatoire
192
SINGLE BIT
OUTPUT (CS1-H,
OUTB(534)
CJ1-H, CJ1M ou
CS1D uniqueD
ment)
OUTB
N
@OUTB
!OUTB*1 D: Adresse de mot
N: Numéro de bit
OUTB(534) sort le résultat (condition d'exécution) du traitement logique
dans le bit spécifié.
A la différence de l'instruction OUT, OUTB(534) peut être utilisée pour
contrôler un bit dans un mot DM ou EM.
Sortie
Obligatoire
195
28
Chapitre 2-2
Fonction des instructions
2-2-3
Instructions de contrôle de séquences
Instruction
Mnémonique
Code
END
END
001
Symbole/
Opérande
END(001)
Fonction
Emplacement Page
Condition
d’exécution
Sortie
Indique la fin d'un programme.
END(001) termine l'exécution d'un programme pour ce cycle. Aucune Non
obligatoire
instruction écrite après END(001) n'est exécutée. L'exécution passe
au programme avec le numéro de tâche suivant. Lorsque le
programme en cours d'exécution correspond au numéro de tâche le
plus élevé dans le programme, END(001) marque la fin de l'ensemble
du programme principal.
197
Tâche 1 Programme A
Vers le numéro de
tâche suivant
Tâche 2 Programme B
Vers le numéro de
tâche suivant
Tâche n Programme Z
Fin du programme
principal
Mise à jour E/S
NO OPERATION
NOP
000
INTERLOCK
IL
002
IL(002)
Cette instruction n'a aucune fonction. (aucun traitement n'est effectué
pour NOP(000).)
Sortie
Non
obligatoire
198
Verrouille toutes les sorties comprises entre IL(002) et ILC(003)
lorsque la condition d'exécution de IL(002) est OFF. IL(002) et
ILC(003) sont normalement utilisées par paires.
Sortie
Obligatoire
201
Condition
d'exécution
Condition
Condition
d'exécution ON d'exécution OFF
Section verrouillée
du programme
Exécution Sorties
normale verrouillées.
29
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
Symbole/
Opérande
Fonction
Emplacement Page
Condition
d’exécution
Toutes les sorties situées entre IL(002) et ILC(003) sont verrouillées
Sortie
lorsque la condition d'exécution de IL(002) est OFF. IL(002) et ILC(003) Non
sont normalement utilisées par paires.
obligatoire
201
Lorsque la condition d'exécution de MILH(517) est OFF, les sorties de
toutes les instructions comprises entre cette instruction MILH(517) et
la prochaine instruction MILC(519) sont verrouillées. MILH(517) et
MILC(519) sont utilisées par paire.
Les verrouillages MILH(517)/MILC(519) peuvent être imbriqués
(exemple : MILH(517)—MILH(517)—MILC(519)—MILC(519)).
S'il existe une instruction différenciée (DIFU, DIFD ou une instruction
avec un préfixe @ ou %) entre MILH(517) et la MILC(519) correspondante, cette instruction sera exécutée après la suppression du verrouillage si la condition de différentiation de l'instruction a été établie.
Sortie
Obligatoire
205
Lorsque la condition d'exécution de MILR(518) est OFF, les sorties de
toutes les instructions comprises entre cette instruction MILR(518) et
la prochaine instruction MILC(519) sont verrouillées. MILR(518) et
MILC(519) sont utilisées par paire.
Les verrouillages MILR(518)/MILC(519) peuvent être imbriqués
(exemple : MILR(518)—MILR(518)—MILC(519)—MILC(519)).
S'il existe une instruction différenciée (DIFU, DIFD ou une instruction
avec un préfixe @ ou %) entre MILR(518) et la MILC(519) correspondante, cette instruction ne sera pas exécutée après la suppression du
verrouillage, même si la condition de différentiation de l'instruction a
été établie.
Sortie
Obligatoire
205
MULTI-INTERMILC (519)
LOCK CLEAR
MILC
N
519
N:
Numéro
de
UC série CS/CJ
verrouillage
Efface un verrouillage déclenché par une MILH(517) ou une MILR(518) Sortie
portant le même numéro de verrouillage.
Non
obligatoire
Toutes les sorties comprises entre MILH(517)/MILR(518) et la
MILC(519) correspondante, et qui portent le même numéro de verrouillage, sont verrouillées lorsque la condition d'exécution de
MILH(517)/MILR(518) est OFF.
205
JUMP
Lorsque la condition d'exécution de JMP(004) est OFF, l'exécution du Sortie
Obligatoire
programme passe directement au premier JME(005) du programme
portant le même numéro de saut. JMP(004) et JME(005) sont
utilisées par paires.
Condition d'exécution
Instructions
sautées
219
INTERLOCK
CLEAR
ILC(003)
ILC
003
MULTI-INTERMILH (517)
LOCK DIFFERENTIATION
N
HOLD
MILH
D
517
N : Numéro de
UC série CS/CJ
verrouillage
ver. 2.0 ou supérieure uniquement
MULTI-INTERLOCK DIFFERENTIATION
RELEASE
MILR
518
UC série CS/CJ
ver. 2.0 ou supérieure uniquement
D : Bit d'état du
verrouillage
MILR (518)
N
D
N : Numéro de
verrouillage
D : Bit d'état du
verrouillage
ver. 2.0 ou supérieure uniquement
JMP
004
JMP(004)
N
N: Numéro de saut
Instructions
exécutées
JUMP END
JME
005
JME(005)
N
N: Numéro de saut
30
Les instructions de cette
section ne sont pas
exécutées et l'état de la
sortie est conservé. Le
temps d'exécution de ces
instructions est éliminé.
Indique la fin d'un saut déclenché par JMP(004) ou CJP(510).
Sortie
Non
obligatoire
219
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
CONDITIONAL
JUMP
CJP
510
Symbole/
Opérande
Fonction
Emplacement Page
Condition
d’exécution
Sortie
Obligatoire
223
Sortie
Non
obligatoire
223
Sortie
Obligatoire
227
Lorsque la condition d'exécution de JMP0(515) est OFF, toutes les ins- Sortie
tructions comprises entre JMP0(515) et la prochaine JME0(516) dans Non
le programme sont traitées en tant que NOP(000). Utilisez JMP0(515) obligatoire
et JME0(516) par paires. Le nombre de paires pouvant être utilisées
dans le programme est illimité.
227
Le fonctionnement de CJP(510) est fondamentalement à l'opposé de
celui de JMP(004). Lorsque la condition d'exécution de CJP(510) est
ON, l'exécution du programme passe directement au premier
N
JME(005) du programme portant le même numéro de saut. CJP(510)
N: Numéro de saut et JME(005) sont utilisées par paires.
Condition
Condition
d'exécution OFF d'exécution ON
CJP(510)
Instructions
sautées
Instructions
exécutées
CONDITIONAL
JUMP
CJPN
511
Le fonctionnement de CJPN(511) est presque identique à celui de
JMP(004). Lorsque la condition d'exécution de CJP(004) est OFF,
l'exécution du programme passe directement au premier JME(005) du
N
programme portant le même numéro de saut. CJPN(511) et JME(005)
N: Numéro de saut sont utilisées par paires.
Condition
Condition
d'exécution ON d'exécution OFF
Instructions
sautées
CJPN(511)
Instructions
exécutées
MULTIPLE JUMP
JMP0
515
Les instructions de cette
section ne sont pas
exécutées et l'état de la
sortie est conservé. Le
temps d'exécution de ces
instructions est éliminé.
JMP0(515)
Les instructions de cette
section ne sont pas
exécutées et l'état de la
sortie est conservé. Le
temps d'exécution de ces
instructions est éliminé.
Lorsque la condition d'exécution de JMP0(515) est OFF, toutes les
instructions comprises entre JMP0(515) et la prochaine JME0(516)
dans le programme sont traitées en tant que NOP(000). Utilisez
JMP0(515) et JME0(516) par paires. Le nombre de paires pouvant être
utilisées dans le programme est illimité.
Condition
Condition
d'exécution a ON d'exécution a OFF
Instructions
sautées
Instructions
exécutées
Les instructions sautées
sont traitées en tant que
NOP(000). Les temps
Condition
Condition
d'exécution b ON d'exécution b OFF d'exécution des instructions
sont les mêmes que pour
NOP(000).
Instructions
exécutées
Instructions
sautées
MULTIPLE JUMP
END
JME0
516
JME0(516)
31
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
FOR-NEXT
LOOPS
Symbole/
Opérande
FOR(512)
FOR
512
N
Fonction
Emplacement Page
Condition
d’exécution
Les instructions comprises entre FOR(512) et NEXT(513) sont
répétées un nombre défini de fois. FOR(512) et NEXT(513) sont
utilisées par paires.
N: Nombre de
boucles
Sortie
Non
obligatoire
229
Sortie
Obligatoire
232
Sortie
Non
obligatoire
229
Répété N fois
Section de programme répétée
BREAK LOOP
BREAK
514
BREAK(514)
Programmé dans une boucle FOR-NEXT de façon à annuler
l'exécution de la boucle pour une condition d'exécution donnée. Les
autres instructions de la boucle sont traitées comme des instructions
NOP(000).
Condition a ON
N répétitions
Fin forcée des
répétitions.
Traité en tant
que NOP(000).
FOR-NEXT
LOOPS
NEXT(513)
NEXT
513
32
Les instructions comprises entre FOR(512) et NEXT(513) sont
répétées un nombre défini de fois. FOR(512) et NEXT(513) sont
utilisées par paires.
Chapitre 2-2
Fonction des instructions
2-2-4
Instructions de temporisateur et compteur
Instruction
Mnémonique
Code
TIMER
TIM
(BCD)
TIMX
(Binaire)
(CS1-H, CJ1-H,
CJ1M ou CS1D
uniquement)
Symbole/
Opérande
TIM
N
S
N: Numéro de
temporisateur
S: Valeur de
consigne
TIMX(550)
Fonction
TIM/TIMX(550) effectue une temporisation décroissante par pas
de 0,1 s. La plage de configuration pour la valeur de consigne
(SV) va de 0 à 999,9 s pour les données BCD et de 0 à 6 553,5 s
pour les données binaires (décimales ou hexadécimales).
Entrée de
temporisateur
PV de
temporisateur
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
235
Sortie
Obligatoire
240
Sortie
Obligatoire
244
SV
Drapeau de fin
N
S
N: Numéro de
temporisateur
S: Valeur de
consigne
Entrée de
temporisateur
PV de
temporisateur
SV
Drapeau de fin
HIGH-SPEED
TIMER
TIMH
015
(BCD)
TIMH(015)
N
S
N: Numéro de
TIMHX temporisateur
551 S: Valeur de
(Binaire) consigne
(CS1-H, CJ1-H,
CJ1M ou CS1D
uniquement)
TIMH(015)/TIMHX(551) effectue une temporisation décroissante par
pas de 10 ms. La plage de configuration pour la valeur de consigne
(SV) va de 0 à 99,99 s pour les données BCD et de 0 à 655,35 s pour
les données binaires (décimales ou hexadécimales).
Entrée de
temporisateur
PV de temporisateur
SV
Drapeau de fin
TIMHX(551)
N
S
N: Numéro de
temporisateur
S: Valeur de
consigne
Entrée de
temporisateur
PV de temporisateur SV
Drapeau de fin
ONE-MS TIMER
TMHH
540
(BCD)
TMHH(540)
N
S
TMHHX
552
(BCD)
(CS1-H, CJ1-H,
CJ1M ou CS1D
uniquement)
N: Numéro de
temporisateur
S: Valeur de
consigne
TMHH(540)/TMHHX(552) effectue une temporisation décroissante par
pas de 1 ms. La plage de configuration pour la valeur de consigne (SV)
va de 0 à 9,999 s pour les données BCD et de 0 à 65,535 s pour les
données binaires (décimales ou hexadécimales).
Les tableaux de temporisation pour TMHH(540) et TMHHX(552) sont
les mêmes que ceux donnés ci-dessus pour TIMH(015).
TMHHX(552)
N
S
N: Numéro de
temporisateur
S: Valeur de
consigne
33
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
Symbole/
Opérande
ACCUMULATIVE
TIMER
TTIM
087
(BCD)
Entrée
de tem- TTIM(087)
porisaN
teur
TTIMX
555
(Binaire)
(CS1-H, CJ1-H,
CJ1M ou CS1D
uniquement)
S
Entrée de
réinitialisation
N: Numéro de
temporisateur
S: Valeur de
consigne
Entrée
de temporisateur
N: Numéro de
temporisateur
S: Valeur de
consigne
TIML(542)
D1
D2
Page
Sortie
Obligatoire
247
Sortie
Obligatoire
251
Entrée de
temporisateur
PV de
temporisateur
SV
La temporisation
.
reprend
PV conservée.
Drapeau de
fin
Entrée de
réinitialisation
TIML(542)/TIMLX(553) effectue une temporisation décroissante par pas
de 0,1 s qui peut aller jusqu'à 115 jours pour les données BCD et 49 710
jours pour les données binaires (décimales ou hexadécimales).
Entrée de
temporisateur
S
PV de temporisateur
D1: Drapeau de
fin
D2: Mot PV
S: Mot SV
TIMLX(553)
D1
D2
S
D1: Drapeau de
fin
D2: Mot PV
S: Mot SV
34
Emplacement
Condition
d’exécution
N
Entrée de
réinitialisation
TIMLX
553
(Binaire)
(CS1-H, CJ1-H,
CJ1M ou CS1D
uniquement)
TTIM(087)/TTIMX(555) effectue une temporisation croissante par pas de
0,1 s. La plage de configuration pour la valeur de consigne (SV) va de
0 à 999,9 s pour les données BCD et de 0 à 6 553,5 s pour les données
binaires (décimales ou hexadécimales).
TTIMX(555)
S
LONG TIMER
TIML
542
(BCD)
Fonction
Drapeau de fin
(Bit 00 de D1)
SV
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
Symbole/
Opérande
MULTI-OUTPUT
TIMER
MTIM
543
(BCD)
MTIMX
554
(Binaire)
(CS1-H, CJ1-H,
CJ1M ou CS1D
uniquement)
MTIM(543)
D1
D2
Fonction
MTIM(543)/MTIMX(554) effectue une temporisation basée sur des
incréments de 0,1 s avec 8 valeurs de consigne (SV) et drapeaux de fin
indépendants. La plage de configuration pour la valeur de consigne (SV) est
comprise entre 0 et 999,9 s pour les données BCD, entre 0 et 6 553,5 s
pour les données binaires (décimales ou hexadécimales).
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
254
Sortie
Obligatoire
260
PV de temporisateur
S
D1: Drapeaux
de fin
D2: Mot PV
S: 1er mot SV
SV de temporisateur
0
à
MTIMX(554)
à
D1
D2
S
D1: Drapeaux
de fin
D2: Mot PV
S: 1er mot SV
Entrée de
temporisateur
SV 7
à
SV 2
PV de
SV 1
temporisateur (D2) SV 0
0
Drapeaux
de fin (D1)
Bit 7
à
Bit 2
Bit 1
Bit 0
COUNTER
Entrée
CNT comp(BCD) tage
CNTX
546
(Binaire)
(CS1-H, CJ1-H,
CJ1M ou CS1D
uniquement)
CNT
N
S
CNT/CNTX(546) contrôle un compteur décrémental. La plage de
configuration pour la valeur de consigne (SV) va de 0 à 9 999 pour les
données BCD et de 0 à 65 535 pour les données binaires (décimales ou
hexadécimales).
Entrée
de
réinitialisation
Entrée comptage
N: Numéro de
compteur
S: Valeur de
consigne
Entrée de
réinitialisation
Entrée
comptage
PV de compteur
SV
CNTX(546)
N
S
Drapeau de fin
Entrée
de réinitialisation
N: Numéro de
compteur
S: Valeur de
consigne
35
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
Symbole/
Opérande
REVERSIBLE
COUNTER
CNTR
012
(BCD)
Entrée
incrémen- CNTR(012)
tielle
N
CNTRX
548
(Binaire)
(CS1-H, CJ1-H,
CJ1M ou CS1D
uniquement)
Entrée
décrémentielle
S
Entrée de
réinitialisation
Entrée
décrémentielle
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
263
CNR(545)/CNRX(547) réinitialise les temporisateurs ou les compteurs Sortie
compris dans l'intervalle des numéros de temporisateur et de compteur Obligatoire
spécifié. Attribue à la valeur de consigne (SV) la valeur maximale de
9999.
267
CNTR(012)/CNTRX(548) contrôle un compteur réversible.
Entrée incrémentielle
Entrée décrémentielle
N: Numéro
de compteur
S: Valeur de consigne
Entrée
incrémentielle
Fonction
PV de compteur
CNTRX(548)
N
SV
PV de compteur
S
+1
Entrée
de réinitialisation
N: Numéro
de compteur
S: Valeur de
consigne
Drapeau de fin
SV
1
PV de compteur
Drapeau de fin
RESET TIMER/
COUNTER
CNR
@CNR
545
(BCD)
CNR(545)
N1
N2
N1: Premier numéro de la plage
CNRX
@CNRX N2: Dernier nu547 méro de la plage
(Binaire)
(CS1-H, CJ1-H,
CNRX(547)
CJ1M ou CS1D
uniquement)
N1
N2
N1: 1er numéro
de la plage
N2: Dernier
numéro de la
plage
36
Chapitre 2-2
Fonction des instructions
2-2-5
Instructions de comparaison
*1:
Instruction
Mnémonique
Code
Comparaison de
symboles (non
signé)
LD, AND, OR + =,
<>, <, <=, >, >=
300 (=)
305 (<>)
310 (<)
315 (<=)
320 (>)
325(>=)
Non prise en charge par les UC CS1D pour systèmes d'UC en duplex.
Symbole/
Opérande
Symbole et options
S1
S2
S1: Donnée de
comparaison 1
S2: Donnée de
comparaison 2
Fonction
Emplacement Page
Condition
d’exécution
Les instructions de comparaison de symboles (non signées) comparent deux valeurs (constantes et/ou le contenu de mots spécifiés)
en données binaires 16 bits et créent une condition d'exécution ON
lorsque la condition de comparaison est vraie. Il existe trois types
d'instructions de comparaison de symboles : LD (LOAD), AND et
OR.
Condition d'exécution ON lorsque le
LD
résultat de la comparaison est vrai.
LD : non obligatoire
AND, OR :
obligatoire
275
<
Condition d'exécution ON
lorsque le résultat de la
comparaison est vrai.
AND
<
OR
<
Condition d'exécution ON lorsque le
résultat de la comparaison est vrai.
Comparaison de
symboles (mot
double, non
signé)
LD, AND, OR + =,
<>, <, <=, >, >= +
L
301 (=)
306 (<>)
311 (<)
316 (<=)
321 (>)
326 (>=)
S1: Donnée de
comparaison 1
S2: Donnée de
comparaison 2
Les instructions de comparaison de symboles (mot double, non signé)
comparent deux valeurs (constantes et/ou le contenu de données de
mots doubles spécifiés) en données binaires 32 bits non signées et
créent une condition d'exécution ON lorsque la condition de
comparaison est vraie. Il existe trois types d'instructions de
comparaison de symboles : LD (LOAD), AND et OR.
LD : non
obligatoire
AND, OR :
obligatoire
275
Comparaison de
symboles (signé)
LD, AND, OR + =,
<>, <, <=, >, >=
+S
302 (=)
307 (<>)
312 (<)
317 (<=)
322 (>)
327 (>=)
S1: Donnée de
comparaison 1
S2: Donnée de
comparaison 2
Les instructions de comparaison de symboles (signé) comparent deux
valeurs (constantes et/ou le contenu de mots spécifiés) en données
binaires 16 bits signées (4 chiffres hexadécimaux) et créent une
condition d'exécution ON lorsque la condition de comparaison est
vraie. Il existe trois types d'instructions de comparaison de symboles :
LD (LOAD), AND et OR.
LD : non
obligatoire
AND, OR :
obligatoire
275
37
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
Symbole/
Opérande
Fonction
Emplacement Page
Condition
d’exécution
Comparaison de
symboles (mot
double, signé)
LD, AND, OR + =,
<>, <, <=, >, >=
+SL
303 (=)
308 (<>)
313 (<)
318 (<=)
323 (>)
328 (>=)
S1: Donnée de
comparaison 1
S2: Donnée de
comparaison 2
Les instructions de comparaison de symboles (mot double, signé)
comparent deux valeurs (constantes et/ou le contenu de données
mots doubles spécifiés) en données binaires 32 bits signées (8
chiffres hexadécimaux) et créent une condition d'exécution ON
lorsque la condition de comparaison est vraie. Il existe trois types
d'instructions de comparaison de symboles : LD (LOAD), AND et OR.
LD : non
obligatoire
AND, OR :
obligatoire
275
Comparaison de LD (LOAD) :
temps
LD, AND, OR + =
Symbole
DT, <> DT, < DT,
C
<= DT, > DT, >=
DT
S1
341 (= DT)
S2
342 (<> DT)
343 (< DT)
344 (<= DT)
345 (> DT) AND :
346 (>= DT)
Symbole
(UC série CS/CJ
ver. 2.0 ou
C
supérieure
uniquement)
S1
Les instructions de comparaison de temps comparent deux valeurs de
temps BCD et créent une condition d'exécution ON lorsque la
condition de comparaison est vraie.
Il existe trois types d'instructions de comparaison de temps : LD
(LOAD), AND et OR. Les valeurs de temps (année, mois, jour, heure,
minute et seconde) peuvent être masquées/démasquées dans la
comparaison, ce qui permet de créer facilement des fonctions de
temporisation de calendrier.
LD : non
obligatoire
AND, OR :
obligatoire
281
Compare deux valeurs binaires non signées (constantes et/ou le
contenu de mots spécifiés) et place le résultat dans les drapeaux
arithmétiques de la zone auxiliaire.
Sortie
Obligatoire
287
Sortie
Obligatoire
290
S2
OR :
Symbole
C
S1
S2
C : Mot de contrôle
S1 : 1er mot temps
présent
S2 : 1er mot temps
de comparaison
UNSIGNED
COMPARE
CMP
!CMP*1
020
CMP(020)
S1
Comparaison de valeurs
binaires non signées
S2
S1: Donnée de
comparaison 1
S2: Donnée de
comparaison 2
DOUBLE UNSIGNED
COMPARE
CMPL
060
CMPL(060)
S1
Compare deux valeurs binaires doubles non signées (constantes
et/ou le contenu de mots spécifiés) et place le résultat dans les
drapeaux arithmétiques de la zone auxiliaire.
Comparaison de valeurs
binaires non signées
S2
S1: Donnée de
comparaison 1
S2: Donnée de
comparaison 2
38
Drapeaux arithmétiques
(>, >=, =, <=, <, <>)
S1+1
S2+1
Drapeaux arithmétiques
(>, >=, =, <=, <, <>)
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
SIGNED BINARY
COMPARE
CPS
!CPS*1
114
Symbole/
Opérande
CPS(114)
S1
Fonction
Sortie
Obligatoire
293
Compare deux valeurs binaires doubles signées (constantes et/ou Sortie
le contenu de mots spécifiés) et place le résultat dans les drapeaux Obligatoire
arithmétiques de la zone auxiliaire.
296
Compare deux valeurs binaires signées (constantes et/ou le contenu
de mots spécifiés) et place le résultat dans les drapeaux
arithmétiques de la zone auxiliaire.
Comparaison de valeurs
binaires signées
S2
S1: Donnée de
comparaison 1
S2: Donnée de
comparaison 2
DOUBLE
SIGNED BINARY
COMPARE
CPSL
115
CPSL(115)
S1
Drapeaux arithmétiques
(>, >=, =, <=, <, <>)
Comparaison de valeurs
binaires signées
S2
S1: Donnée de
comparaison 1
S2: Donnée de
comparaison 2
MULTIPLE
COMPARE
MCMP
@MCMP
019
MCMP(019)
S1
S1+1
S2+1
Drapeaux arithmétiques
(>, >=, =, <=, <, <>)
Sortie
Obligatoire
299
Compare les données sources avec le contenu de 16 mots et
passe le bit correspondant ON dans le mot de résultat lorsque les
contenus sont égaux.
Comparaison
R
1: Les
données sont
égales.
0: Les
données ne
sont pas
égales.
Sortie
Obligatoire
301
Compare les données sources avec 16 plages (définies par 16 limites
inférieures et 16 limites supérieures) et passe le bit correspondant ON
dans le mot de résultat lorsque les données sources sont comprises
dans la plage.
1: Dans la plage
Plages
0: En dehors de
la plage
Limite inférieure Limite supérieure R
0
à T+1
T
Données
1
T+2
à T+3
sources
Sortie
Obligatoire
304
Compare 16 mots consécutifs avec 16 autres mots consécutifs et
passe le bit correspondant ON dans le mot de résultat lorsque les
contenus ne sont pas égaux.
Comparaison
S2
R
0: Les
mots sont
égaux.
1: Les
mots ne
sont pas
égaux.
R
S1: 1er mot de
l'ensemble 1
S2: 1er mot de
l'ensemble 2
R: Mot de résultat
TABLE
COMPARE
TCMP
@TCMP
085
TCMP(085)
S
T
R
S: Données sources
T: 1er mot de la
table
R: Mot de résultat
UNSIGNED
BLOCK
COMPARE
BCMP
@BCMP
068
BCMP(068)
S
T
R
S: Données
sources
T: 1er mot de la
table
R: Mot de résultat
Emplacement Page
Condition
d’exécution
S
T+28
T+30
à
T+29
14
à
T+31
15
39
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
EXPANDED
BLOCK COMPARE
BCMP2
@BCMP2
502
(UC CS1-H,
CJ1-H ou CS1D
ver. 2.0 ou
supérieure
uniquement)
UC CJ1M (préver. 2.0 ou ver. 2.0
ou supérieure)
Symbole/
Opérande
BCMP2(502)
S
T
Fonction
Compare les données sources à 256 plages maximum (définies par Sortie
des limites supérieure et inférieure) et passe ON le bit correspondant Obligatoire
dans le mot de résultat lorsque les données sources sont comprises
dans une plage.
R
S: Données
sources
T: 1er mot du bloc
R: Mot de résultat
Emplacement Page
Condition
d’exécution
T
Données
sources
N
n=255 max.
306
1 : Dans la plage
0 : En dehors de la plage
D Bit
T+1 Plage 0 A Plage 0 B T+2
0
T+3 Plage 1 A Plage 1 B T+4
1
S
D+15 max.
T+2N+1 Plage N A Plage N B T+2N+2
Remarque : A peut être inférieur
ou égal à B ou
supérieur à B.
AREA RANGE
COMPARE
ZCP
@ZCP
088
(CS1-H, CJ1-H,
CJ1M ou CS1D
uniquement)
ZCP(088)
CD
Sortie
Obligatoire
310
Compare la valeur binaire 32 bits non signée de CD et CD+1 (contenu
de mot ou constante) à la plage définie par LL et UL, puis sort les
résultats dans les drapeaux arithmétiques de la zone auxiliaire.
Sortie
Obligatoire
313
LL
UL
CD: Donnée de
comparaison (1 mot)
LL: Limite inférieure
de la plage
UL: Limite supérieure de la plage
DOUBLE AREA
ZCPL(116)
RANGE
COMPARE
CD
ZCPL
@ZCPL
LL
116
UL
(CS1-H, CJ1-H,
CJ1M ou CS1D
CD: Donnée de comuniquement)
paraison (2 mots)
LL: Limite inférieure
de la plage
UL: Limite supérieure
de la plage
40
Compare la valeur binaire 16 bits non signée de CD (contenu de mot
ou constante) à la plage définie par LL et UL, puis sort les résultats
dans les drapeaux arithmétiques de la zone auxiliaire.
Chapitre 2-2
Fonction des instructions
2-2-6
Instructions de déplacement de données
Instruction
Mnémonique
Code
MOVE
MOV
@MOV
!MOV
!@MOV
021
Symbole/
Opérande
MOV(021)
Fonction
Transfère un mot de données vers le mot spécifié.
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
315
Sortie
Obligatoire
318
Sortie
Obligatoire
317
Sortie
Obligatoire
320
Sortie
Obligatoire
321
Mot source
S
D
S: Source
D: Destination
Etat des bits
inchangé.
Mot de destination
DOUBLE MOVE
MOVL
@MOVL
498
MOVL(498)
S
S
S+1
D
S: 1er mot
source
D: 1er mot de
destination
MOVE NOT
MVN
@MVN
022
Transfère deux mots de données vers les mots spécifiés.
MVN(022)
Etat des bits
inchangé.
D
D+1
Transfère le complément d'un mot de données vers le mot spécifié.
Mot source
S
D
S: Source
D: Destination
Etat des bits
inversé.
Mot de destination
DOUBLE MOVE
NOT
MVNL
@MVNL
499
MVNL(499)
S
S+1
S
D
S: 1er mot
source
D: 1er mot de
destination
MOVE BIT
MOVB
@MOVB
082
Transfère le complément de deux mots vers les mots spécifiés.
MOVB(082)
Etat des bits
inversé.
D
Transfère le bit spécifié.
D+1
S
C
D
S: Mot ou donnée
source
C: Mot de contrôle
D: Mot de
destination
41
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
MOVE DIGIT
MOVD
@MOVD
083
Symbole/
Opérande
MOVD(083)
Fonction
Emplacement
Condition
d’exécution
Page
Transfère le ou les chiffres spécifiés. (Chaque chiffre est constitué de 4 bits.) Sortie
Obligatoire
323
Transfère le nombre de bits consécutifs spécifié.
Sortie
Obligatoire
326
Transfère le nombre de mots consécutifs spécifié.
Sortie
Obligatoire
328
Sortie
Obligatoire
331
Sortie
Obligatoire
333
S
C
D
S: Mot ou donnée
source
C: Mot de contrôle
D: Mot de
destination
MULTIPLE BIT
TRANSFER
XFRB
@XFRB
062
XFRB(062)
C
S
D
C: Mot de contrôle
S: 1er mot
source
D: 1er mot de
destination
BLOCK
TRANSFER
XFER
@XFER
070
XFER(070)
N
S
D
à
N mots
à
D+(N−1)
S+(N−1)
N: Nombre de
mots
S: 1er mot
source
D: 1er mot de
destination
BLOCK SET
BSET
@BSET
071
BSET(071)
S
Copie le même mot dans une plage de mots consécutifs.
Mot source
Mots de destination
St
St
E
S: Mot source
St: Mot de départ
E: Mot de fin
E
DATA
EXCHANGE
XCHG
@XCHG
073
XCHG(073)
E1
E2
E1: 1er mot
échange
E2: Deuxième
mot échange
42
Echange le contenu des deux mots spécifiés.
E1
E2
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
DOUBLE DATA
EXCHANGE
XCGL
@XCGL
562
Symbole/
Opérande
XCGL(562)
Fonction
Echange le contenu d'une paire de mots consécutifs avec une autre
paire de mots consécutifs.
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
334
Sortie
Obligatoire
336
Sortie
Obligatoire
338
Sortie
Obligatoire
340
Sortie
Obligatoire
342
E1
E2
E1
E1+1
E2
E2+1
E1: 1er mot
échange
E2: Deuxième
mot échange
SINGLE WORD
DISTRIBUTE
DIST
@DIST
080
DIST(080)
S
Transfère le mot source vers un mot de destination calculé en
ajoutant une valeur de décalage à l'adresse de base.
S
Bs
Of
Bs
Of
S: Mot source
Bs: Adresse de
base destination
Of: Décalage
DATA COLLECT
COLL
@COLL
081
COLL(081)
Bs+n
Transfère le mot source (calculé en ajoutant une valeur de décalage
à l'adresse de base) vers le mot de destination.
Bs
Of
Of
Bs
D
Bs: Adresse de
base source
Of: Décalage
D: Mot de
destination
MOVE TO
REGISTER
MOVR
@MOVR
560
MOVR(560)
S
D
Bs+n
Ecrit l'adresse mémoire E/S interne du mot, du bit ou du drapeau
de fin de temporisateur/compteur spécifié dans le registre d'index
spécifié. (Utilisez MOVRW(561) pour écrire l'adresse mémoire E/S
interne d'une PV de temporisateur/compteur dans un registre
d'index.)
Adresse mémoire E/S de S
S: Source (mot
ou bit souhaité)
D: Destination
(registre d'index)
Registre d'index
MOVE TIMER/
COUNTER PV TO
REGISTER
MOVRW
@MOVRW
561
MOVRW(561)
S
D
S: Source
(numéro de TC
souhaité)
D: Destination
(registre d'index)
Ecrit l'adresse mémoire E/S interne de la PV de
temporisateur/compteur spécifiée dans le registre d'index spécifié.
(Utilisez MOVRW(560) pour écrire l'adresse mémoire E/S interne
d'un mot, d'un bit ou d'un drapeau de fin de temporisateur/compteur
dans un registre d'index.)
Adresse mémoire E/S de S
PV de temporisateur/
compteur uniquement
Registre d'index
43
Chapitre 2-2
Fonction des instructions
2-2-7
Instructions de décalage de données
Instruction
Mnémonique
Code
SHIFT REGISTER
SFT
010
Symbole/
Opérande
Entrée de
données
SFT(010)
Entrée de
décalage
Fonction
Contrôle un registre à décalage
St
St+1, St+2
E
Sortie
Obligatoire
345
Sortie
Obligatoire
346
Sortie
Obligatoire
349
Sortie
Obligatoire
352
Sortie
Obligatoire
354
E
Etat de l'entrée de
données pour
chaque entrée de
décalage
Perdu
St: Mot de départ
E: Mot de fin
SFTR(084)
Crée un registre de décalage qui décale les données soit vers la
droite soit vers la gauche.
C
St
E
St
E
St
Entrée de
données
E
C: Mot de
contrôle
St: Mot de départ
E: Mot de fin
ASYNCHRONOUS SHIFT
REGISTER
ASFT
@ASFT
017
Page
St
Entrée de
réinitialisation
REVERSIBLE
SHIFT REGISTER
SFTR
@SFTR
084
Emplacement
Condition
d’exécution
ASFT(017)
C
Entrée
de
données
Sens de
décalage
Décale toutes les données de mot non nulles dans la plage de
mots spécifiée vers St ou vers E, en remplaçant les données de
mot 0000Hex.
St
E
Sens de
décalage
Décalage activé
St
•••
C: Mot de contrôle
St: Mot de départ
E: Mot de fin
Décalage
Effacer
Décalage
E
St
•••
Données nulles
Données non nulles
E
WORD SHIFT
WSFT
@WSFT
016
WSFT(016)
Décale les données entre St et E en unités de mots.
E
S
St
St
Perdu
E
S: Mot source
St: Mot de départ
E: Mot de fin
ARITHMETIC
SHIFT LEFT
ASL(025)
ASL
Wd
@ASL
025 Wd: Mot
44
Décale le contenu de Wd d'un bit vers la gauche.
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
Symbole/
Opérande
Fonction
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
355
DOUBLE SHIFT
ASLL(570)
LEFT
ASLL
Wd
@ASLL
570 Wd: Mot
Décale le contenu de Wd et Wd +1 d'un bit vers la gauche.
ARITHMETIC
ASR(026)
SHIFT RIGHT
ASR
Wd
@ASR
026 Wd: Mot
Décale le contenu de Wd d'un bit vers la droite.
Sortie
Obligatoire
357
Décale le contenu de Wd et Wd +1 d'un bit vers la droite.
Sortie
Obligatoire
358
Sortie
Obligatoire
360
Sortie
Obligatoire
362
Sortie
Obligatoire
367
Sortie
Obligatoire
369
Décale tous les bits de Wd d'un bit vers la droite, y compris le
drapeau de report (CY).
Wd
Wd+1
Sortie
Obligatoire
364
Décale tous les bits de Wd et Wd +1 d'un bit vers la droite,
y compris le drapeau de report (CY).
Wd
Wd+1
Sortie
Obligatoire
365
DOUBLE SHIFT
ASRL(571)
RIGHT
ASRL
Wd
@ASRL
571 Wd: Mot
ROTATE LEFT
ROL
@ROL
027
ROL(027)
Wd+1
Wd+1
Wd
Wd
Décale tous les bits de Wd d'un bit vers la gauche, y compris le
drapeau de report (CY).
Wd
Wd: Mot
DOUBLE
ROLL(572)
ROTATE LEFT
ROLL
Wd
@ROLL
572 Wd: Mot
ROTATE LEFT
RLNC(574)
WITHOUT
CARRY
Wd
RLNC
@RLNC
Wd: Mot
574
DOUBLE
RLNL(576)
ROTATE LEFT
WITHOUT
Wd
CARRY
RLNL
@RLNL Wd: Mot
576
ROTATE RIGHT
ROR
@ROR
028
ROR(028)
Wd
Décale tous les bits de Wd et Wd +1 d'un bit vers la gauche,
y compris le drapeau de report (CY).
Wd+1
Wd
Décale tous les bits de Wd d'un bit vers la gauche, sans inclure le
drapeau de report (CY).
Wd
Décale tous les bits de Wd et Wd +1 d'un bit vers la gauche, sans
inclure le drapeau de report (CY).
Wd+1
Wd
Wd: Mot
DOUBLE
ROTATE RIGHT
RORL
@RORL
573
RORL(573)
Wd
Wd: Mot
45
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
Symbole/
Opérande
ROTATE RIGHT
RRNC(575)
WITHOUT
CARRY
Wd
RRNC
@RRNC Wd: Mot
575
DOUBLE
RRNL(577)
ROTATE RIGHT
WITHOUT
Wd
CARRY
RRNL
@RRNL Wd: Mot
577
ONE DIGIT SHIFT
LEFT
SLD
@SLD
074
SLD(074)
Fonction
Décale tous les bits de Wd d'un bit vers la droite, sans inclure le
drapeau de report (CY). Le contenu du bit le plus à droite de Wd se
décale vers le bit de gauche et vers le drapeau de report (CY).
Page
Sortie
Obligatoire
371
Sortie
Obligatoire
372
Sortie
Obligatoire
374
Sortie
Obligatoire
376
Sortie
Obligatoire
377
Sortie
Obligatoire
379
Wd
Décale tous les bits de Wd et Wd +1 d'un bit vers la droite, sans
inclure le drapeau de report (CY). Le contenu du bit le plus à droite de
Wd +1 est décalé vers le bit de gauche de Wd et vers le drapeau de
report (CY).
Wd+1
Wd
Décale les données d'un chiffre (4 bits) vers la gauche.
U
St
E
Emplacement
Condition
d’exécution
I
t
Perdu
St: Mot de départ
E: Mot de fin
ONE DIGIT SHIFT
RIGHT
SRD
@SRD
075
SRD(075)
Décale les données d'un chiffre (4 bits) vers la droite.
U
I
t
St
Perdu
E
St: Mot de départ
E: Mot de fin
SHIFT N-BIT
DATA LEFT
NSFL
@NSFL
578
NSFL(578)
Décale le nombre de bits spécifié vers la gauche.
D
C
N
D: Mot de départ
pour le décalage
C: Bit de départ
N: Longueur du
décalage
N−1 bit
Décale un bit vers la
gauche
N−1 bit
SHIFT N-BIT
DATA RIGHT
NSFR
@NSFR
579
NSFR(579)
Décale le nombre de bits spécifié vers la droite.
D
C
N
D: Mot de départ
pour le décalage
C: Bit de départ
N: Longueur du
décalage
N−1 bit
N−1 bit
46
Décale un bit vers la droite
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
SHIFT N-BITS
LEFT
NASL
@NASL
580
Symbole/
Opérande
NASL(580)
Fonction
Décale les 16 bits de données de mot spécifiés vers la gauche,
du nombre de bits spécifié.
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
381
Sortie
Obligatoire
384
Sortie
Obligatoire
387
Sortie
Obligatoire
389
D
C
D: Mot à décaler
C: Mot de contrôle
Décalage de n bits
Contenu de
introduit en "a" ou
"0" par le décalage
Perdu
N bits
DOUBLE SHIFT
N-BITS LEFT
NSLL
@NSLL
582
NSLL(582)
Décale les 32 bits de données du mot vers la gauche, du nombre de
bits spécifié.
D
C
Décalage de n bits
D: Mot à décaler
C: Mot de contrôle
Contenu de
"a" ou "0"
introduit par
décalage
Perdu
N bits
SHIFT N-BITS
RIGHT
NASR
@NASR
581
NASR(581)
D
Décale les 16 bits de données de mot spécifiés vers la droite,
du nombre de bits spécifié.
C
D: Mot à décaler
C: Mot de contrôle
Contenu de "a" ou
"0" introduit par
décalage
Perdu
N bits
DOUBLE SHIFT
N-BITS RIGHT
NSRL
@NSRL
583
NSRL(583)
Décale les 32 bits de données de mot spécifiés vers la droite,
du nombre de bits spécifié.
D
C
Contenu de
D: Mot à décaler
"a" ou "0"
C: Mot de contrôle
introduit
par
décalage
Décalage de n bits
Perdu
47
Chapitre 2-2
Fonction des instructions
2-2-8
Instructions d'incrémentation/décrémentation
Instruction
Mnémonique
Code
INCREMENT
BINARY
Symbole/
Opérande
++(590)
++
Wd
@++
590 Wd: Mot
Fonction
Emplacement
Condition
d’exécution
Page
Incrémente de 1 le contenu (4 chiffres hexadécimaux) du mot spécifié. Sortie
Obligatoire
Wd
Wd
393
DOUBLE INCRE++L(591)
MENT BINARY
++L
Wd
@++L
591 Wd: Mot
Incrémente de 1 le contenu (8 chiffres hexadécimaux) des mots
spécifiés.
Wd+1
Wd
Wd+1
Wd
Sortie
Obligatoire
395
DECREMENT
BINARY
Décrémente de 1 le contenu (4 chiffres hexadécimaux) du mot
spécifié.
Sortie
Obligatoire
397
Sortie
Obligatoire
399
Sortie
Obligatoire
401
Sortie
Obligatoire
403
Sortie
Obligatoire
405
Sortie
Obligatoire
407
− − (592)
––
Wd
@– –
592 Wd: Mot
DOUBLE
DECREMENT
BINARY
– –L
@– –L
593
INCREMENT
BCD
− − L(593)
Wd
Wd
Wd
Décrémente de 1 le contenu (8 chiffres hexadécimaux) des mots
spécifiés.
Wd+1
Wd
Wd+1
Wd
Wd: 1er mot
++B(594)
Incrémente de 1 le contenu BCD à 4 chiffres du mot spécifié.
++B
Wd
@++B
594 Wd: Mot
Wd
Wd
DOUBLE INCRE++BL(595)
MENT BCD
++BL
Wd
@++BL
595 Wd: 1er mot
Incrémente de 1 le contenu BCD à 8 chiffres des mots spécifiés.
DECREMENT
− − B(596)
BCD
– –B
Wd
@– –B
596 Wd: Mot
Décrémente de 1 le contenu BCD à 4 chiffres du mot spécifié.
DOUBLE
− − BL(597)
DECREMENT
BCD
Wd
– –BL
@– –BL
Wd: 1er mot
597
48
Wd+1
Wd
Wd
Wd+1
−1
Wd
Wd
Décrémente de 1 le contenu BCD à 8 chiffres des mots spécifiés.
Wd+1
Wd
Wd+1
Wd
Chapitre 2-2
Fonction des instructions
2-2-9
Instructions mathématiques à symboles
Instruction
Mnémonique
Code
SIGNED BINARY
ADD WITHOUT
CARRY
+
@+
400
Symbole/
Opérande
+(400)
Au
R
CY passera à
ON s'il existe un
report.
+L(401)
Au
R
+C(402)
CY
R
(binaire signé)
CY passera
à ON s'il
existe un
report.
+
Ad+1
Ad
(binaire signé)
CY
R+1
R
(binaire signé)
Additionne 4 chiffres (mot unique) de données hexadécimales et/ou
des constantes avec le drapeau de report (CY).
R
+CL(403)
Au
(binaire signé)
Ad
(binaire signé)
CY passera à ON
s'il existe un
report.
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
410
Sortie
Obligatoire
412
Sortie
Obligatoire
414
Sortie
Obligatoire
416
Sortie
Obligatoire
418
CY
+
CY
(binaire signé)
R
Additionne 8 chiffres (mot double) de données hexadécimales et/ou
des constantes avec le drapeau de report (CY).
Au
Au+1
Au
(binaire signé)
Ad+1
Ad
(binaire signé)
Ad
R
+B(404)
+B
@+B
404
(binaire signé)
Ad
Au: 1er mot
cumulande
Ad: 1er mot
cumulateur
R: 1er mot de résultat
BCD ADD
WITHOUT
CARRY
Ad
Au
Au: Mot cumulande
Ad: Mot cumulateur
R: Mot de résultat
DOUBLE
SIGNED BINARY
ADD WITH
CARRY
+CL
@+CL
403
+
Additionne 8 chiffres (mot double) de données hexadécimales et/ou
des constantes.
(binaire signé)
Au+1
Au
Ad
Au: 1er mot
cumulande
Ad: 1er mot
cumulateur
R: 1er mot de
résultat
SIGNED BINARY
ADD WITH
CARRY
+C
@+C
402
Additionne 4 chiffres (mot unique) de données hexadécimales
et/ou des constantes.
(binaire signé)
Au
Ad
Au: Mot
cumulande
Ad: Mot
cumulateur
DOUBLE
SIGNED BINARY
ADD WITHOUT
CARRY
+L
@+L
401
Fonction
Au
CY passera à
ON s'il existe
un report.
CY
Au: Mot cumulande
Ad: Mot cumulateur
R: Mot de résultat
R+1
R
(binaire signé)
Additionne 4 chiffres de données BCD (mot unique)
et/ou des constantes.
(BCD)
Au
Ad
R
CY
+
CY passera à
ON s'il existe un
report.
+
Ad
(BCD)
CY
R
(BCD)
49
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
DOUBLE BCD
ADD WITHOUT
CARRY
+BL
@+BL
405
Symbole/
Opérande
+BL(405)
Au
Additionne 8 chiffres de données BCD (mot double) et/ou
des constantes.
Au+1
(BCD)
Au
Ad
R
Au: 1er mot
cumulande
Ad: 1er mot
cumulateur
R: 1er mot de
résultat
BCD ADD WITH
CARRY
+BC
@+BC
406
Fonction
+BC(406)
Au
CY passera à
ON s'il existe un
report.
+
Ad+1
Ad
(BCD)
CY
R+1
R
(BCD)
Additionne 4 chiffres de données BCD (mot unique) et/ou des
constantes avec le drapeau
(BCD)
Au
de report (CY).
Ad
DOUBLE BCD
ADD WITH
CARRY
+BCL
@+BCL
407
+BCL(407)
Au
419
Sortie
Obligatoire
421
Sortie
Obligatoire
423
Sortie
Obligatoire
424
Sortie
Obligatoire
426
(BCD)
R
Additionne 8 chiffres de données BCD (mot double) et/ou des
constantes avec le drapeau de report (CY).
Au+1
(BCD)
Au
Ad+1
Ad
(BCD)
R
−(410)
Mi
CY
+
CY passera à
ON s'il existe
un report.
CY
R
R+1
(BCD)
Soustrait 4 chiffres (mot unique) de données hexadécimales et/ou
des constantes.
(binaire signé)
Mi
Su
−
Su
(binaire signé)
CY
R
(binaire signé)
R
Mi: Mot à
soustraire
Su: Mot
soustracteur
R: Mot de résultat
DOUBLE
− L(411)
SIGNED BINARY
SUBTRACT
Mi
WITHOUT
CARRY
Su
–L
R
@–L
411 Mi: Mot à
soustraire
Su: Mot
soustracteur
R: Mot de résultat
50
CY
Ad
Au: 1er mot
cumulande
Ad: 1er mot
cumulateur
R: 1er mot de
résultat
SIGNED BINARY
SUBTRACT
WITHOUT
CARRY
–
@–
410
CY passera à
ON s'il existe
un report.
Sortie
Obligatoire
CY
+
Au: Mot cumulande
Ad: Mot cumul: Mot
de résultat
Page
(BCD)
Ad
R
Emplacement
Condition
d’exécution
CY passera à
ON s'il existe une
retenue.
Soustrait 8 chiffres (mot double) de données hexadécimales et/ou
des constantes.
(binaire signé)
Mi+1
Mi
CY passera à
ON s'il existe
une retenue.
−
Su+1
Su
(binaire signé)
CY
R+1
R
(binaire signé)
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
SIGNED BINARY
SUBTRACT
WITH CARRY
–C
@–C
412
Symbole/
Opérande
−C(412)
Mi
CY
Sortie
Obligatoire
430
Sortie
Obligatoire
432
Sortie
Obligatoire
435
Sortie
Obligatoire
436
Sortie
Obligatoire
440
(binaire signé)
R
des constantes avec le drapeau de report (CY).
Mi
Su
Mi+1
Mi
(binaire signé)
R
Su+1
Su
(binaire signé)
−B(414)
Mi
−
CY passera à
ON s'il existe
une retenue.
CY
CY
R+1
(binaire signé)
R
Soustrait 4 chiffres (mot unique) de données BCD et/ou
des constantes.
(BCD)
Mi
Su
−
Su
(BCD)
CY
R
(BCD)
R
−BL(415)
Mi
CY passera à
ON s'il existe
une retenue.
Soustrait 8 chiffres (mot double) de données BCD et/ou des
constantes.
(BCD)
Mi +1
Mi
Su
−
Su+1
Su
(BCD)
CY
R+1
R
(BCD)
R
Mi: 1er mot à
soustraire
Su: 1er mot
soustracteur
R: 1er mot de
résultat
BCD SUBTRACT
WITH CARRY
–BC
@–BC
416
CY passera à
ON s'il existe
une retenue.
Page
CY
−CL(413) Soustrait 8 chiffres (mot double) de données hexadécimales et/ou
Mi: Mot à
soustraire
Su: Mot
soustracteur
R: Mot de résultat
DOUBLE BCD
SUBTRACT
WITHOUT
CARRY
–BL
@–BL
415
−
Emplacement
Condition
d’exécution
(binaire signé)
Su
R
Mi: Mot à
soustraire
Su: Mot
soustracteur
R: Mot de résultat
BCD SUBTRACT
WITHOUT
CARRY
–B
@–B
414
Soustrait 4 chiffres (mot unique) de données hexadécimales et/ou
des constantes avec le
(binaire signé)
Mi
drapeau de report (CY).
Su
Mi: Mot à
soustraire
Su: Mot
soustracteur
R: Mot de résultat
DOUBLE
SIGNED BINARY
WITH CARRY
–CL
@–CL
413
Fonction
−BC(416)
Mi
CY passera à
ON s'il existe
une retenue.
Soustrait 4 chiffres (mot unique) de données BCD et/ou des
constantes avec le drapeau de report (CY).
(BCD)
Mi
Su
Su
R
Mi: Mot à
soustraire
Su: Mot
soustracteur
R: Mot de résultat
−
CY passera à
ON s'il existe
une retenue.
CY
(BCD)
CY
R
(BCD)
51
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
DOUBLE BCD
SUBTRACT
WITH CARRY
–BCL
@–BCL
417
Symbole/
Opérande
−BCL(417)
Soustrait 8 chiffres (mot double) de données BCD et/ou de
constantes avec le drapeau de report (CY).
Mi
R
*(420)
Md
CY passera à
ON s'il existe
une retenue.
Mr
*L(421)
Md
Md
Su
(BCD)
R+1
Sortie
Obligatoire
441
Sortie
Obligatoire
443
Sortie
Obligatoire
445
Sortie
Obligatoire
447
Sortie
Obligatoire
449
(BCD)
R
Mr
(binaire signé)
R
(binaire signé)
Multiplie 8 chiffres de données hexadécimales signées et/ou
des constantes.
(binaire signé)
Md + 1
Md
×
R+3
R+2
Mr + 1
Mr
(binaire signé)
R+1
R
(binaire signé)
Multiplie 4 chiffres de données hexadécimales non signées
et/ou des constantes.
(binaire non signé)
Md
Mr
×
Mr
(binaire non signé)
R +1
R
(binaire non signé)
R
Md: Mot
multiplicande
Mr: Mot
multiplicateur
R: Mot de résultat
*UL(423)
Md
Multiplie 8 chiffres de données hexadécimales non signées et/ou
des constantes.
Md + 1
Md
(binaire non signé)
Mr
R
Md: 1er mot
multiplicande
Mr: 1er mot
multiplicateur
R: 1er mot de
résultat
52
CY
R +1
R
*U(422)
DOUBLE UNSIGNED BINARY
MULTIPLY
*UL
@*UL
423
Su+1
Page
CY
×
Mr
Md: 1er mot
multiplicande
Mr: 1er mot
multiplicateur
R: 1er mot de
résultat
*U
@*U
422
(BCD)
Multiplie 4 chiffres de données hexadécimales signées
et/ou des constantes.
(binaire signé)
Md
Md: Mot
multiplicande
Mr: Mot
multiplicateur
R: Mot de résultat
UNSIGNED
BINARY
MULTIPLY
Mi
−
R
DOUBLE
SIGNED BINARY
MULTIPLY
*L
@*L
421
Mi +1
Emplacement
Condition
d’exécution
Su
Mi: 1er mot à
soustraire
Su: 1er mot
soustracteur
R: 1er mot de
résultat
SIGNED BINARY
MULTIPLY
*
@*
420
Fonction
×
R+3
R+2
Mr + 1
Mr
(binaire non signé)
R+1
R
(binaire non signé)
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
BCD MULTIPLY
*B
@*B
424
Symbole/
Opérande
*B(424)
Md
Fonction
Multiplie 4 chiffres (mot unique) de données BCD et/ou
des constantes.
(BCD)
Md
Mr
×
R
Md: Mot
multiplicande
Mr: Mot
multiplicateur
R: Mot de résultat
DOUBLE BCD
MULTIPLY
*BL
@*BL
425
*BL(425)
Md
Md: 1er mot
multiplicande
Mr: 1er mot
multiplicateur
R: 1er mot de
résultat
/
@/
430
/(430)
Dd
×
R +3
(BCD)
R +2
Dr
/L(431)
Mr + 1
Mr
(BCD)
R+1
R
(BCD)
Divise 4 chiffres (mot unique) de données hexadécimales
signées et/ou des constantes.
(binaire signé)
Dd
÷
Dd: Mot dividende
Dr: Mot diviseur
R: Mot de résultat
R +1
Reste
Sortie
Obligatoire
450
Sortie
Obligatoire
452
Sortie
Obligatoire
454
Dr
(binaire signé)
R
(binaire signé)
Sortie
Obligatoire
456
Sortie
Obligatoire
458
Quotient
Divise 8 chiffres (mot double) de données hexadécimales signées
et/ou des constantes.
Dd
Dd + 1
Dd
(binaire signé)
Dr + 1
Dr
(binaire signé)
R+1
R
(binaire signé)
Dr
R
Dd: 1er mot
dividende
Dr: 1er mot
diviseur
R: 1er mot de
résultat
UNSIGNED
BINARY DIVIDE
/U
@/U
432
R
Multiplie 8 chiffres (mot double) de données BCD et/ou des
constantes.
(BCD)
Md + 1
Md
R
DOUBLE
SIGNED BINARY
DIVIDE
/L
@/L
431
(BCD)
Page
Mr
R
SIGNED BINARY
DIVIDE
R +1
Mr
Emplacement
Condition
d’exécution
/U(432)
÷
R +3
R +2
Reste
Quotient
Divise 4 chiffres (mot unique) de données hexadécimales non
signées et/ou des constantes.
Dd
Dr
R
Dd: Mot dividende
Dr: Mot diviseur
R: Mot de résultat
÷
R +1
Reste
Dd
(binaire non signé)
Dr
(binaire non signé)
R
(binaire non signé)
Quotient
53
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
DOUBLE UNSIGNED BINARY
DIVIDE
/UL
@/UL
433
Symbole/
Opérande
/UL(433)
/B
@/B
434
Divise 8 chiffres (mot double) de données hexadécimales non
signées et/ou des constantes.
Dd
R
/B(434)
Dd
Dr
÷
R +3
R +2
(binaire non signé)
Dr + 1
Dr
(binaire non signé)
R+1
R
(binaire non signé)
Divise 4 chiffres (mot unique) de données BCD et/ou des
constantes.
(BCD)
Dd
Dd: Mot dividende
Dr: Mot diviseur
R: Mot de résultat
÷
Dr
(BCD)
R +1
R
(BCD)
Reste
/BL
@/BL
435
Dd
Page
Sortie
Obligatoire
460
Sortie
Obligatoire
462
Sortie
Obligatoire
464
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
466
Sortie
Obligatoire
467
Quotient
Reste
R
DOUBLE BCD
DIVIDE
Dd + 1
Emplacement
Condition
d’exécution
Dr
Dd: 1er mot
dividende
Dr: 1er mot
diviseur
R: 1er mot de
résultat
BCD DIVIDE
Fonction
/BL(435)
Dd
Quotient
Divise 8 chiffres (mot double) de données BCD et/ou des
constantes.
(BCD)
Dd
Dd + 1
Dr
R
Dd: 1er mot
dividende
Dr: 1er mot
diviseur
R: 1er mot de
résultat
÷
R +2
R +3
Reste
Dr + 1
Dr
(BCD)
R+1
R
(BCD)
Quotient
2-2-10 Instructions de conversion
Instruction
Mnémonique
Code
BCD-TO-BINARY
BIN
@BIN
023
Symbole/
Opérande
BIN(023)
S
Fonction
Convertit des données BCD en données binaires.
(BCD)
R
(BIN)
R
S: Mot source
R: Mot de résultat
DOUBLE BCDTO-DOUBLE
BINARY
BINL
@BINL
058
BINL(058)
S
(BCD)
R
(BCD)
S: 1er mot source
R: 1er mot de
résultat
54
Convertit des données BCD à 8 chiffres en données hexadécimales
à 8 chiffres (données binaires 32 bits).
R
R+1
(BIN)
(BIN)
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
BINARY-TO-BCD
BCD
@BCD
024
Symbole/
Opérande
BCD(024)
Fonction
Convertit un mot de données binaires en un mot de données BCD.
(BIN)
S
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
469
Sortie
Obligatoire
470
Sortie
Obligatoire
472
Sortie
Obligatoire
474
Sortie
Obligatoire
476
(BCD)
R
R
S: Mot source
R: Mot de résultat
DOUBLE
BINARY-TODOUBLE BCD
BCDL
@BCDL
059
2'S COMPLEMENT
NEG
@NEG
160
BCDL(059)
S
Convertit des données hexadécimales à 8 chiffres (données binaires
32 bits) en données BCD à 8 chiffres.
(BIN)
R
(BCD)
R
(BIN)
(BCD)
R+1
S: 1er mot source
R: 1er mot de
résultat
NEG(160)
Calcule le complément à 2 d'un mot de données hexadécimales.
Complément à 2
(Complément + 1)
S
R
(S)
(R)
S: Mot source
R: Mot de résultat
DOUBLE 2'S
COMPLEMENT
NEGL
@NEGL
161
NEGL(161)
Calcule le complément à 2 de deux mots de données hexadécimales.
Complément à 2
(Complément + 1)
S
R
(S+1, S)
(R+1, R)
S: 1er mot source
R: 1er mot de
résultat
16-BIT TO 32-BIT
SIGNED BINARY
SIGN
@SIGN
600
SIGN(600)
S
R
S: Mot source
R: 1er mot de
résultat
Développe une valeur binaire de 16 bits signée de façon à
obtenir son équivalent 32 bits.
MSB
S
MSB = 0 :
0000 Hex
MSB = 1 :
FFFF Hex
D+1
D
D = Contenu de S
55
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
DATA DECODER
MLPX
@MLPX
076
Symbole/
Opérande
MLPX(076)
S
C
Fonction
Lit la valeur numérique dans le chiffre (ou l'octet) spécifié du mot
source, met sur ON le bit correspondant dans le mot de résultat (ou la
plage de 16 mots) et met sur OFF tous les autres bits dans le mot de
résultat (ou la plage de 16 mots).
Conversion 4 à 16 bits
R
S: Mot source
C: Mot de contrôle
R: 1er mot de
résultat
C
l=1 (Convertir 2 chiffres.)
n=2 (Partir du deuxième chiffre.)
décodage de 4 à 16 bits
(Le bit m de R est mis sur ON.)
R
R+1
Conversion de 8 à 256 bits
C
l=1 (Convertir 2 octets.)
n=1 (Partir du premier octet.)
décodage de 8 à 256 bits
(Le bit m de R à R+15 est passé ON.)
R+1
R+14
R+15
R+16
R+17
R+30
R+31
56
Deux plages de 16 mots
sont utilisées lorsque l
spécifie 2 octets.
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
477
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
DATA ENCODER
DMPX
@DMPX
077
Symbole/
Opérande
DMPX(077)
S
R
C
Fonction
Recherche l'emplacement du premier ou du dernier bit ON dans le
mot source (ou la plage de 16 mots) et écrit cette valeur dans le
chiffre (ou l'octet) spécifié du mot de résultat.
Conversion 16 à 4 bits
C
Recherche le bit le plus à gauche
(adresse de bit la plus haute)
S: 1er mot source
R: Mot de résultat
C: Mot de
contrôle
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
482
Sortie
Obligatoire
486
l=1 (Convertir
2 mots.)
Décodage 16 à 4 bits
(L'emplacement du bit
le plus à gauche (m)
est écrit dans R.)
Bit le plus à gauche Bit le plus à droite
n=2 (Partir du chiffre 2.)
R
Conversion 256 à 8 bits
C
l=0 (Convertir une plage de 16 mots.)
Bit le plus à gauche
Recherche le bit le plus à gauche
(adresse de bit la plus haute)
Décodage 256 à 8 bits (L'emplacement
du bit le plus à gauche dans la plage de
16 mots (m) est écrit dans R.)
n=1 (Partir de l'octet 1.)
R
ASCII CONVERT
ASC
@ASC
086
S
Convertit les chiffres hexadécimaux 4 bits du mot source dans
leurs équivalents ASCII 8 bits.
Di
Di
Premier chiffre à convertir
ASC(086)
D
S: Mot source
Di: Désignateur
de chiffre
D: 1er mot de
destination
Nombre de
chiffres (n+1)
Gauche (1)
Droite (0)
57
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
ASCII TO HEX
HEX
@HEX
162
Symbole/
Opérande
HEX(162)
S
Fonction
Convertit jusqu'à 4 octets de données ASCII du mot source dans
leurs équivalents hexadécimaux et écrit ces chiffres dans le mot
de destination spécifié.
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
490
Sortie
Obligatoire
494
Sortie
Obligatoire
496
C : 0021
Di
Di
Premier octet à convertir
D
S: 1er mot source
Di: Désignateur
de chiffre
D: Mot de
destination
Gauche (1)
Droite (0)
Nombre de chiffres (n+1)
Premier chiffre à écrire
COLUMN TO
LINE
LINE
@LINE
063
LINE(063)
S
N
D
S: 1er mot
source
N: Numéro de bit
D: Mot de
destination
Convertit une colonne de bits d'une plage de 16 mots (le même
numéro de bit dans 16 mots consécutifs) dans les 16 bits du mot de
destination.
N
Bit
Bit
15
00
S
S+1
S+2
S+3
.
.
.
S+15
0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 1
1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1
0 0 0 1 1 0 1 1 0 0 1 0 0 1 1 1
1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1
.
.
.
.
.
.
.
.
.
0 1 1 0 0 0 0 1 1 0 0 0 1 0 1 0
Bit
15
D 0
LINE TO
COLUMN
COLM
@COLM
064
COLM(064)
S
Bit
15
N
S
0
Bit
00
.
.
.
.
.
.
D
D+1
D+2
D+3
.
.
.
D+15
.
0 1 1 1
Bi
Bit
15
58
. . . 0 1 1 1
Convertit les 16 bits du mot source en une colonne de bits
dans une plage de 16 mots de destination (le même numéro de
bit dans 16 mots consécutifs).
D
S: Mot source
D: 1er mot de
destination
N: Numéro de bit
Bit
00
Bit
00
0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1
1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1
0 0 0 1 1 0 1 1 0 0 1 0 0 1 1 1
1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1
.
.
.
.
.
.
.
.
.
0 1 1 1 0 0 0 1 1 0 0 0 1 0 1 0
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
SIGNED BCDTO-BINARY
BINS
@BINS
470
Symbole/
Opérande
BINS(470)
C
Fonction
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
499
Sortie
Obligatoire
502
Sortie
Obligatoire
505
Sortie
Obligatoire
507
Convertit les données de code Gray du mot spécifié en données binai- Sortie
res, données BCD ou données d'angle (°) à la résolution spécifiée.
Obligatoire
511
Convertit un mot de données BCD signées en un mot de données
binaires signées.
S
Format BCD signé
spécifié dans C
D
C: Mot de
contrôle
S: Mot source
D: Mot de
destination
DOUBLE
SIGNED BCDTO-BINARY
BISL
@BISL
472
BISL(472)
Convertit des données BCD doubles signées en données
binaires doubles signées.
Format BCD signé
spécifié dans C
S
D
BCDS(471)
BCD signé
BCD signé
C
S
C: Mot de contrôle
S: Mot source
D: Mot de
destination
BDSL(473)
Format BCD signé
spécifié dans C
Binaire signé
BCD signé
Convertit des données binaires doubles signées en données
BCD doubles signées.
C
S
Format BCD signé
spécifié dans C
D
C: Mot de
contrôle
S: 1er mot source
D: 1er mot de
destination
GRAY CODE
CONVERSION
GRY
474
(UC série CS/CJ
ver. 2.0 ou supérieure uniquement, y compris
les UC CS1-H,
CJ1-H et CJ1M à
partir du numéro
de lot 030201)
Binaire signé
Binaire signé
Convertit un mot de données binaires signées en un mot de
données BCD signées.
D
DOUBLE
SIGNED BINARYTO-BCD
BDSL
@BDSL
473
Binaire signé
C
C: Mot de
contrôle
S: 1er mot source
D: 1er mot de
destination
SIGNED BINARYTO-BCD
BCDS
@BCDS
471
BCD signé
GRY (474)
Binaire signé
Binaire signé
BCD signé
BCD signé
C
S
D
C: Mot de
contrôle
S: Mot source
D: 1er mot de
destination
59
Chapitre 2-2
Fonction des instructions
2-2-11 Instructions logiques
Instruction
Mnémonique
Code
LOGICAL AND
ANDW
@ANDW
034
Symbole/
Opérande
ANDW(034)
I1
I2
R
I1: Entrée 1
I2: Entrée 2
R: Mot de résultat
DOUBLE
LOGICAL AND
ANDL
@ANDL
610
ANDL(610)
I1
I2
R
I1: Entrée 1
I2: Entrée 2
R: Mot de résultat
LOGICAL OR
ORW
@ORW
035
ORW(035)
I1
I2
R
I1: Entrée 1
I2: Entrée 2
R: Mot de résultat
DOUBLE
LOGICAL OR
ORWL
@ORWL
611
ORWL(611)
I1
I2
R
I1: Entrée 1
I2: Entrée 2
R: Mot de résultat
EXCLUSIVE OR
XORW
@XORW
036
XORW(036)
I1
I2
R
I1: Entrée 1
I2: Entrée 2
R: Mot de résultat
60
Fonction
Effectue le AND logique des bits correspondants dans des données
mots uniques et/ou des constantes.
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
517
Sortie
Obligatoire
519
Sortie
Obligatoire
520
Sortie
Obligatoire
522
Sortie
Obligatoire
524
I1. I2→ R
I1
1
I2
1
R
1
1
0
0
0
1
0
0
0
0
Effectue le AND logique des bits correspondants dans des données
mots doubles et/ou des constantes.
(I1, I1+1). (I2, I2+1)→ (R, R+1)
I1, I1+1
I2, I2+1
R, R+1
1
1
1
1
0
0
0
1
0
0
0
0
Effectue le OR logique des bits correspondants dans des données
mots uniques et/ou des constantes.
I1 + I2 → R
I1
I2
R
1
1
1
1
0
1
0
1
1
0
0
0
Effectue le OR logique des bits correspondants dans des données
mots doubles et/ou des constantes.
(I1, I1+1) + (I2, I2+1) →(R, R+1)
I1, I1+1
I2, I2+1
R, R+1
1
1
1
1
0
1
0
1
1
0
0
0
Effectue le OR exclusif logique des bits correspondants dans des
données mots uniques et/ou des constantes.
I1. I2 + I1.I2 → R
I1
I2
R
1
1
0
1
0
1
0
1
1
0
0
0
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
DOUBLE EXCLUSIVE OR
XORL
@XORL
612
Symbole/
Opérande
XORL(612)
I1
I2
R
I1: Entrée 1
I2: Entrée 2
R: Mot de résultat
EXCLUSIVE NOR
XNRW
@XNRW
037
XNRW(037)
I1
I2
R
I1: Entrée 1
I2: Entrée 2
R: Mot de résultat
DOUBLE
EXCLUSIVE NOR
XNRL
@XNRL
613
XNRL(613)
I1
I2
R
I1: Entrée 1
I2: Entrée 2
R: 1er mot de
résultat
COMPLEMENT
COM
@COM
029
COM(029)
Wd
Fonction
Effectue le OR exclusif logique des bits correspondants dans des
données mots doubles et/ou des constantes.
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
526
Sortie
Obligatoire
528
Sortie
Obligatoire
529
Sortie
Obligatoire
531
Sortie
Obligatoire
533
(I1, I1+1). (I2, I2+1) + (I1, I1+1). (I2, I2+1) → (R, R+1)
I1, I1+1
I2, I2+1
R, R+1
1
1
0
1
0
1
0
1
1
0
0
0
Effectue le NOR exclusif logique des données mots uniques et/ou
des constantes correspondants.
I1. I2 + I1.I2 →R
I1
I2
R
1
1
1
1
0
0
0
1
0
0
0
1
Effectue le NOR exclusif logique des bits correspondants dans
des données mots doubles et/ou des constantes.
(I1, I1+1). (I2, I2+1) + (I1, I1+1). (I2, I2+1) → (R, R+1)
I1, I1+1
1
I2, I2+1
R, R+1
1
1
1
0
0
0
1
0
0
0
1
Passe OFF tous les bits ON et passe ON tous les bits OFF dans Wd.
Wd→Wd: 1 → 0 et 0 → 1
Wd: Mot
DOUBLE
COMPLEMENT
COML
@COML
614
COML(614)
Wd
Passe OFF tous les bits ON et passe ON tous les bits OFF dans Wd et Wd+1.
(Wd+1, Wd) → (Wd+1, Wd)
Wd: Mot
61
Chapitre 2-2
Fonction des instructions
2-2-12 Instructions mathématiques spéciales
Instruction
Mnémonique
Code
BINARY ROOT
ROTB
@ROTB
620
Symbole/
Opérande
ROTB(620)
Fonction
Calcule la racine carrée du contenu binaire 32 bits des mots spécifiés
et sort la partie entière du résultat dans le mot de résultat spécifié.
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
534
Sortie
Obligatoire
536
Sortie
Obligatoire
540
Sortie
Obligatoire
552
Sortie
Obligatoire
556
S
R
S: 1er mot source
R: Mot de résultat
BCD SQUARE
ROOT
ROOT
@ROOT
072
ROOT(072)
APR
@APR
069
S
R
Données binaires (32 bits)
Données binaires (16 bits)
Calcule la racine carrée d'un nombre BCD à 8 chiffres et sort la
partie entière du résultat dans le mot de résultat spécifié.
S
R
S: 1er mot source
R: Mot de résultat
ARITHMETIC
PROCESS
S+1
APR(069)
C
S+1
S
R
Données BCD (8 chiffres)
Données BCD
(4 chiffres)
Calcule le sinus, le cosinus ou une extrapolation linéaire des données
sources.
La fonction d'extrapolation linéaire permet d'établir une approximation
en segments d'une relation entre X et Y.
S
R
C: Mot de contrôle
S: Données sources
R: Mot de résultat
FLOATING
POINT DIVIDE
FDIV
@FDIV
079
FDIV(079)
Dd
Divise un nombre de 7 chiffres à virgule flottante par un autre. Les
nombres à virgule flottante sont exprimés dans une notation
scientifique (7 chiffres pour la mantisse et 1 chiffre pour l'exposant).
Dr
Quotient
R
Dd: 1er mot
dividende
Dr: 1er mot
diviseur
R: 1er mot de
résultat
BIT COUNTER
BCNT
@BCNT
067
BCNT(067)
Dr
S
N: Nombre de
mots
S: 1er mot source
R: Mot de résultat
R
Dd+1
Dd
Compte le nombre total de bits ON dans le(s) mot(s) spécifié(s).
N
R
62
Dr+1
R+1
à
N mots
Compte le nombre
de bits ON.
S+(N −1)
Résultat binaire
R
Chapitre 2-2
Fonction des instructions
2-2-13 Instructions mathématiques à virgule flottante
Instruction
Mnémonique
Code
FLOATING TO
16-BIT
FIX
@FIX
450
Symbole/
Opérande
FIX(450)
Fonction
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
563
Sortie
Obligatoire
565
Sortie
Convertit une valeur binaire signée 16 bits en données à virgule
flottante 32 bits et place le résultat dans les mots de résultat spécifiés. Obligatoire
566
Convertit une valeur à virgule flottante 32 bits en données binaires
signées 16 bits et sort le résultat dans le mot de résultat spécifié.
S
S+1
R
S: 1er mot source
R: Mot de résultat
FLOATING TO
32-BIT
FIXL
@FIXL
451
FIXL(451)
R+1
R
Données binaires
signées (32 bits)
S
Au
S
Données binaires
signées (16 bits)
R
Données à virgule
flottante (32 bits)
Convertit une valeur binaire signée 32 bits en données à virgule
flottante 32 bits et sort le résultat dans les mots de résultat spécifiés.
R
+F(454)
+F
@+F
454
Données à virgule
flottante (32 bits)
R+1
S: 1er mot source
R: 1er mot de
résultat
FLOATINGPOINT ADD
S
S
FLTL(453)
FLTL
@FLTL
453
Données binaires
signées (16 bits)
S+1
R
S: Mot source
R: 1er mot de
résultat
32-BIT TO
FLOATING
R
S
R
FLT(452)
FLT
@FLT
452
Données à virgule
flottante (32 bits)
Convertit une valeur à virgule flottante 32 bits en données binaires
signées 32 bits et sort le résultat dans les mots de résultat spécifiés.
S: 1er mot source
R: 1er mot de
résultat
16-BIT TO
FLOATING
S
S+1
S
Données binaires
signées (32 bits)
R+1
R
Données à virgule
flottante (32 bits)
Ajoute deux nombres à virgule flottante 32 bits et place le résultat
dans les mots de résultat spécifiés.
Ad
Au+1
Au
Cumulande (données à
virgule flottante, 32 bits)
Ad+1
Ad
Cumulateur (données à
virgule flottante, 32 bits)
R+1
R
Résultat (données à
virgule flottante, 32 bits)
R
Au: 1er mot
cumulande
AD: 1er mot
cumulateur
R: 1er mot de
résultat
FLOATINGPOINT SUBTRACT
F(455)
–F
@–F
455
+
Soustrait un nombre à virgule flottante 32 bits d'un autre nombre et
place le résultat dans les mots de résultat spécifiés.
Mi
Su
R
Mi: 1er mot à
soustraire
Su: 1er mot
soustracteur
R: 1er mot de
résultat
−
Mi+1
Mi
Su+1
Su
R+1
R
Sortie
Obligatoire
568
Sortie
Obligatoire
570
Sortie
Obligatoire
572
Nombre à soustraire
(données à virgule
flottante, 32 bits)
Nombre soustracteur
(données à virgule
flottante, 32 bits)
Résultat (données à
virgule flottante, 32 bits)
63
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
FLOATINGPOINT MULTIPLY
*F
@*F
456
Symbole/
Opérande
*F(456)
Mr
R
/F
@/F
457
/F(457)
×
RAD(458)
COS
@COS
461
R
Dd+1
Dd
Dr+1
Dr
R+1
R
S+1
R
DEG(459)
S+1
S
Source (radians,
données 32 bits à
virgule flottante)
R+1
R
Résultat (degrés,
données 32 bits à
virgule flottante)
Calcule le sinus d'un nombre 32 bits à virgule flottante (en radians)
et place le résultat dans les mots de résultat spécifiés.
S
R
SIN
COS(461)
S
R
S+1
S
Source (données
32 bits à virgule
flottante)
R+1
R
Résultat
(données 32 bits
à virgule flottante)
Calcule le cosinus d'un nombre 32 bits à virgule flottante (en
radians) et place le résultat dans les mots de résultat spécifiés.
COS
Sortie
Obligatoire
576
Sortie
Obligatoire
578
Sortie
Obligatoire
579
Sortie
Obligatoire
581
Sortie
Obligatoire
583
Résultat (radians,
données 32 bits à
virgule flottante)
R
S
SIN(460)
574
Source (degrés,
données 32 bits à
virgule flottante)
Convertit un nombre 32 bits à virgule flottante de radians en degrés
et place le résultat dans les mots de résultat spécifiés.
R
Sortie
Obligatoire
Résultat (données
à virgule flottante,
32 bits)
S
R+1
Page
Dividende (données
à virgule flottante,
32 bits)
Diviseur (données
à virgule flottante,
32 bits)
S
S: 1er mot source
R: 1er mot de
résultat
64
R+1
Convertit un nombre de 32 bits à virgule flottante de degrés en
radians et place le résultat dans les mots de résultat spécifiés.
S: 1er mot source
R: 1er mot de
résultat
COSINE
Mr
÷
S: 1er mot source
R: 1er mot de
résultat
SIN
@SIN
460
Mr+1
Emplacement
Condition
d’exécution
Multiplicande
(données à virgule
flottante, 32 bits)
Multiplicateur
(données à virgule
flottante, 32 bits)
Résultat (données
à virgule flottante,
32 bits)
Divise un nombre à virgule flottante 32 bits par un autre et place le
résultat dans les mots de résultat spécifiés.
S: 1er mot source
R: 1er mot de
résultat
SINE
Md
Dr
R
RADIANS TO
DEGREES
DEG
@DEG
459
Md+1
Dd
Dd: 1er mot
dividende
Dr: 1er mot
diviseur
R: 1er mot de
résultat
DEGREES TO
RADIANS
RAD
@RAD
458
Multiplie deux nombres à virgule flottante 32 bits et place le résultat
dans les mots de résultat spécifiés.
Md
Md: 1er mot
multiplicande
Mr: 1er mot
multiplicateur
R: 1er mot de
résultat
FLOATINGPOINT DIVIDE
Fonction
S+1
S
Source (données
32 bits à virgule
flottante)
R+1
R
Résultat
(données 32 bits
à virgule flottante)
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
TANGENT
TAN
@TAN
462
Symbole/
Opérande
TAN(462)
S
R
Fonction
Calcule la tangente d'un nombre 32 bits à virgule flottante (en
radians) et place le résultat dans les mots de résultat spécifiés.
TAN
S: 1er mot source
R: 1er mot de
résultat
ASIN(463)
S
R
S: 1er mot source
R: 1er mot de
résultat
S
R+1
R
ARC COSINE
ACOS
@ACOS
464
ACOS(464)
S
R
S: 1er mot source
R: 1er mot de
résultat
ARC TANGENT
ATAN
@ATAN
465
ATAN(465)
S
R
S: 1er mot source
R: 1er mot de
résultat
SQUARE ROOT
SQRT
@SQRT
466
SQRT(466)
S+1
S
R+1
R
Sortie
Obligatoire
587
Sortie
Obligatoire
589
Sortie
Obligatoire
591
Sortie
Obligatoire
593
Résultat
(données 32 bits
à virgule flottante)
S+1
S
Source (données
32 bits à virgule
flottante)
R+1
R
Résultat
(données 32 bits
à virgule flottante)
Calcule l'arc tangente d'un nombre 32 bits à virgule flottante et place
le résultat dans les mots de résultat spécifiés. (la fonction arc
tangente est l'inverse de la fonction tangente ; elle retourne l'angle qui
correspond à une valeur de tangente donnée).
TAN−1
585
Source (données
32 bits à virgule
flottante)
Calcule l'arc cosinus d'un nombre 32 bits à virgule flottante et place
le résultat dans les mots de résultat spécifiés. (la fonction arc cosinus
est l'inverse de la fonction cosinus ; elle renvoie l'angle qui donne
une valeur de cosinus donnée, comprise entre −1 et 1.)
COS−1
Sortie
Obligatoire
Résultat
(données 32 bits
à virgule flottante)
Calcule l'arc sinus d'un nombre 32 bits à virgule flottante et place le
résultat dans les mots de résultat spécifiés. (la fonction arc sinus est
l'inverse de la fonction sinus ; elle renvoie l'angle qui correspond à
une valeur de sinus donnée, comprise entre −1 et 1.)
SIN−1
Page
Source (données
32 bits à virgule
flottante)
S+1
ARC SINE
ASIN
@ASIN
463
Emplacement
Condition
d’exécution
S+1
S
R+1
R
Source (données
32 bits à virgule
flottante)
Résultat
(données 32 bits
à virgule flottante)
Calcule la racine carrée d'un nombre 32 bits à virgule flottante et
place le résultat dans les mots de résultat spécifiés.
S
R
S: 1er mot source
R: 1er mot de
résultat
S+1
S
Source (données
32 bits à virgule
flottante)
R+1
R
Résultat
(données 32 bits
à virgule flottante)
65
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
EXPONENT
EXP
@EXP
467
Symbole/
Opérande
EXP(467)
Fonction
Calcule l'exponentiel naturel (base e) d'un nombre de 32 bits à
virgule flottante et place le résultat dans les mots de résultat
LOG
@LOG
468
R
S+1
LOG(468)
S
R
PWR(840)
B
R+1
B: 1er mot de base
E: 1er mot
exponentiel
R: 1er mot de
résultat
Utilisation de LD :
Symbole, option
S1
S2
Utilisation de AND :
Symbole, option
S1
S2
Utilisation de OR :
Symbole, option
S1
S2
S1: Donnée de comparaison 1
S2: Donnée de comparaison 2
66
595
Sortie
Obligatoire
597
Sortie
Obligatoire
599
LD :
non
obligatoire
600
Résultat
(données 32 bits
à virgule flottante)
R
Calcule le logarithme naturel (base e) d'un nombre de 32 bits à
virgule flottante et place le résultat dans les mots de résultat
spécifiés.
S+1
loge
Source (données
32 bits à virgule
flottante)
S
R+1
Résultat
(données 32 bits
à virgule flottante)
R
Elève un nombre 32 bits à virgule flottante à la puissance d'un
autre nombre de 32 bits à virgule flottante.
Puissance
E
R
FLOATING
SYMBOL
COMPARISON
(CS1-H, CJ1-H,
CJ1M ou CS1D
uniquement)
LD, AND. ou OR
+
=F (329),
<>F (330),
<F (331),
<=F (332),
>F (333),
ou >=F (334)
Sortie
Obligatoire
Source (données
32 bits à virgule
flottante)
S
e
S: 1er mot source
R: 1er mot de
résultat
EXPONENTIAL
POWER
PWR
@PWR
840
Page
S
S: 1er mot source
R: 1er mot de
résultat
LOGARITHM
Emplacement
Condition
d’exécution
E+1
B+1
S
E
R+1
R
Base
Compare les données simple précision (32 bits) ou les constantes
spécifiées et crée une condition d'exécution ON si le résultat de la
comparaison est vrai.
Trois types de symboles peuvent être utilisés avec les instructions de
comparaison de symboles à virgule flottante : LD (Load), AND et OR.
AND ou OR :
obligatoire
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
FLOATINGPOINT TO ASCII
(CS1-H, CJ1-H,
CJ1M ou CS1D
uniquement)
FSTR
@FSTR
448
Symbole/
Opérande
FSTR(448)
Fonction
Emplacement
Condition
d’exécution
Page
Convertit les données à virgule flottante simple précision (format à
virgule décimale ou exponentiel 32 bits) spécifiées en chaîne de
caractères (ASCII) et place le résultat dans le mot de destination.
Sortie
obligatoire
604
Convertit la chaîne de caractères (ASCII) spécifiée représentant les
données à virgule flottante simple précision (format à virgule décimale
ou exponentiel) en données à virgule flottante simple précision 32 bits
et sort le résultat dans les mots de destination.
Sortie
obligatoire
609
S
C
D
S: 1er mot source
C: Mot de contrôle
D: Mot de
destination
ASCII TO
FLOATINGFVAL(449)
POINT (CS1-H,
CJ1-H, CJ1M ou
S
CS1D
D
uniquement)
FVAL
@FVAL S: Mot source
449 D: 1er mot de
destination
2-2-14 Instructions à virgule flottante double précision
Les instructions à virgule flottante double précision sont prises en charge
uniquement par les UC CS1-H, CJ1-H, CJ1M et CS1D.
Instruction
Mnémonique
Code
DOUBLE
FLOATING TO
16-BIT BINARY
FIXD
@FIXD
841
Symbole/
Opérande
FIXD(841)
S
Fonction
Emplacement Page
Condition
d’exécution
Convertit les données à virgule flottante double précision spécifiées
(64 bits) en données binaires 16 bits signées et sort le résultat dans le
mot de destination.
Sortie
Obligatoire
620
Convertit les données à virgule flottante double précision spécifiées
(64 bits) en données binaires 32 bits signées et sort le résultat dans les
mots de destination.
Sortie
Obligatoire
621
Convertit les données binaires 16 bits signées spécifiées en données à
virgule flottante double précision (64 bits) et sort le résultat dans les
mots de destination.
Sortie
Obligatoire
623
D
S: 1er mot source
D: Mot de
destination
DOUBLE
FLOATING TO
32-BIT BINARY
FIXLD
@FIXLD
842
FIXLD(842)
S
D
S: 1er mot
source
D: 1er mot de
destination
16-BIT BINARY
TO DOUBLE
FLOATING
DBL
@DBL
843
DBL(843)
S
D
S: Mot source
D: 1er mot de
destination
67
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
32-BIT BINARY
TO DOUBLE
FLOATING
DBLL
@DBLL
844
Symbole/
Opérande
DBLL(844)
S
Fonction
Emplacement Page
Condition
d’exécution
Convertit les données binaires 32 bits signées spécifiées en données à
virgule flottante double précision (64 bits) et sort le résultat dans les
mots de destination.
Sortie
Obligatoire
624
Ajoute les valeurs à virgule flottante double précision spécifiées (64 bits
chacune) et sort le résultat dans les mots de résultat.
Sortie
Obligatoire
626
Soustrait les valeurs à virgule flottante double précision spécifiées (64
bits chacune) et sort le résultat dans les mots de résultat.
Sortie
Obligatoire
628
Multiplie les valeurs à virgule flottante double précision spécifiées
(64 bits chacune) et sort le résultat dans les mots de résultat.
Sortie
Obligatoire
630
Divise les valeurs à virgule flottante double précision spécifiées (64 bits
chacune) et sort le résultat dans les mots de résultat.
Sortie
Obligatoire
632
D
S: 1er mot
source
D: 1er mot de
destination
DOUBLE
FLOATINGPOINT ADD
+D(845)
+D
@+D
845
Au
Ad
R
Au: 1er mot
cumulande
Ad: 1er mot
cumulateur
R: 1er mot de
résultat
DOUBLE
FLOATINGPOINT
SUBTRACT
−D(846)
Mi
−D
@−D
846
Su
R
Mi: 1er mot
à soustraire
Su: 1er mot
soustracteur
R: 1er mot de
résultat
DOUBLE
FLOATINGPOINT MULTIPLY
*D
@*D
847
*D(847)
Md
Mr
R
Md: 1er mot
multiplicande
Mr: 1er mot
multiplicateur
R: 1er mot de
résultat
DOUBLE
FLOATINGPOINT DIVIDE
/D
@/D
848
/D(848)
Dd
Dr
R
Dd: 1er mot
dividende
Dr: 1er mot
diviseur
R: 1er mot de
résultat
68
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
DOUBLE
DEGREES TO
RADIANS
RADD
@RADD
849
DOUBLE
RADIANS TO
DEGREES
DEGD
@DEGD
850
DOUBLE SINE
SIND
@SIND
851
Symbole/
Opérande
RADD(849)
S
Fonction
Emplacement Page
Condition
d’exécution
Convertit les données à virgule flottante double précision spécifiées
Sortie
(64 bits) de degrés en radians et sort le résultat dans les mots de résul- Obligatoire
tat.
634
Convertit les données à virgule flottante double précision spécifiées
Sortie
(64 bits) de radians en degrés et sort le résultat dans les mots de résul- Obligatoire
tat.
636
Calcule le sinus de l'angle (radians) dans les données à virgule flottante Sortie
double précision spécifiées (64 bits) et sort le résultat dans les mots de Obligatoire
résultat.
637
Calcule le cosinus de l'angle (radians) dans les données à virgule
flottante double précision spécifiées (64 bits) et sort le résultat dans les
mots de résultat.
Sortie
Obligatoire
639
Calcule la tangente de l'angle (radians) dans les données à virgule
flottante double précision spécifiées (64 bits) et sort le résultat dans les
mots de résultat.
Sortie
Obligatoire
641
Calcule l'angle (en radians) à partir de la valeur du sinus dans les
données à virgule flottante double précision spécifiées (64 bits) et sort
le résultat dans les mots de résultat (la fonction arc sinus est l'inverse
de la fonction sinus ; elle retourne l'angle qui correspond à une valeur
de sinus donnée, comprise entre -1 et 1).
Sortie
Obligatoire
643
Calcule l'angle (en radians) à partir de la valeur du cosinus dans les
données à virgule flottante double précision spécifiées (64 bits) et sort
le résultat dans les mots de résultat (la fonction arc cosinus est l'inverse
de la fonction cosinus ; elle retourne l'angle qui correspond à une valeur
de cosinus donnée, comprise entre -1 et 1).
Sortie
Obligatoire
645
R
S: 1er mot
source
R: 1er mot de
résultat
DEGD(850)
S
R
S: 1er mot
source
R: 1er mot de
résultat
SIND(851)
S
R
S: 1er mot
source
R: 1er mot de
résultat
DOUBLE
COSINE
COSD(852)
COSD
@COSD
852
S
R
S: 1er mot
source
R: 1er mot de
résultat
DOUBLE
TANGENT
TAND
@TAND
853
TAND(853)
S
R
S: 1er mot
source
R: 1er mot de
résultat
DOUBLE ARC
SINE
ASIND
@ASIND
854
ASIND(854)
S
R
S: 1er mot
source
R: 1er mot de
résultat
DOUBLE ARC
COSINE
ACOSD
@ACOSD
855
ACOSD(855)
S
R
S: 1er mot
source
R: 1er mot de
résultat
69
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
DOUBLE ARC
TANGENT
ATAND
@ATAND
856
Symbole/
Opérande
ATAND(856)
S
R
Fonction
Emplacement Page
Condition
d’exécution
Calcule l'angle (en radians) à partir de la valeur de la tangente dans les
données à virgule flottante double précision spécifiées (64 bits) et sort
le résultat dans les mots de résultat (la fonction arc tangente est
l'inverse de la fonction tangente ; elle retourne l'angle qui correspond à
une valeur de tangente donnée).
Sortie
Obligatoire
647
Calcule la racine carrée des données à virgule flottante double
précision spécifiées (64 bits) et sort le résultat dans les mots de
résultat.
Sortie
Obligatoire
649
Calcule l'exponentiel naturel (base e) des données à virgule flottante
double précision spécifiées (64 bits) et sort le résultat dans les mots de
résultat.
Sortie
Obligatoire
651
Calcule le logarithme naturel (base e) des données à virgule flottante
double précision spécifiées (64 bits) et sort le résultat dans les mots de
résultat.
Sortie
Obligatoire
653
Elève un nombre à virgule flottante double précision (64 bits) à la puissance d'un autre nombre à virgule flottante double précision et sort le
résultat dans les mots de résultat.
Sortie
Obligatoire
655
Compare les données double précision spécifiées (64 bits) et crée une
condition d'exécution ON si le résultat de la comparaison est vrai.
Trois types de symboles peuvent être utilisés avec les instructions de
comparaison de symboles à virgule flottante : LD (Load), AND et OR.
LD :
non
obligatoire
657
S: 1er mot
source
R: 1er mot de
résultat
DOUBLE
SQUARE ROOT
SQRTD
@SQRTD
857
SQRTD(857)
S
R
S: 1er mot
source
R: 1er mot de
résultat
DOUBLE
EXPONENT
EXPD(858)
EXPD
@EXPD
858
S
R
S: 1er mot
source
R: 1er mot de
résultat
DOUBLE
LOGARITHM
LOGD
@LOGD
859
LOGD(859)
S
R
S: 1er mot
source
R: 1er mot de
résultat
DOUBLE
EXPONENTIAL
POWER
PWRD
@PWRD
860
PWRD(860)
B
E
R
B: 1er mot de base
E: 1er mot
exponentiel
R: 1er mot de
résultat
DOUBLE
SYMBOL
COMPARISON
LD, AND. ou OR
+
=D (335),
<>D (336),
<D (337),
<=D (338),
>D (339),
ou >=D (340)
Utilisation de LD :
Symbole, option
S1
S2
Utilisation de AND :
Symbole, option
S1
S2
Utilisation de OR :
Symbole, option
S1
S2
S1: Donnée de comparaison 1
S2: Donnée de comparaison 2
70
AND ou OR :
obligatoire
Chapitre 2-2
Fonction des instructions
2-2-15 Instructions de traitement des données de tableaux
Instruction
Mnémonique
Code
SET STACK
SSET
@SSET
630
Symbole/
Opérande
SSET(630)
Fonction
Définit une pile de la longueur spécifiée commençant au mot spécifié
et met à zéro les mots dans la zone de données.
TB
Sortie
Obligatoire
666
Sortie
Obligatoire
669
Sortie
Obligatoire
675
Sortie
Obligatoire
672
Adresse mémoire
E/S interne
N
TB: 1ère adresse
de pile
N: Nombre de
mots
Emplacement Page
Condition
d’exécution
TB
m+(N−1)
TB+1
N mots
dans la
pile
TB+2
Dernier
mot de la
pile
TB+3
Pointeur
de pile
m+(N−1)
PUSH ONTO
STACK
PUSH
@PUSH
632
PUSH(632)
Adresse mémoire
E/S interne
TB
S
TB: 1ère adresse
de pile
S: Mot source
LAST IN FIRST
OUT
LIFO
@LIFO
634
Ecrit un mot de données dans la pile spécifiée.
LIFO(634)
TB
D
TB: 1ère adresse
de pile
D: Mot de
destination
Adresse mémoire
E/S interne
TB
TB
TB+1
TB+1
TB+2
TB+2
PUSH(632)
TB+3
TB+3
Lit le dernier mot de données écrit dans la pile spécifiée (les données
de la pile les plus récentes).
Adresse mémoire
E/S interne
Pointeur
de pile
TB
Adresse mémoire
E/S interne
TB
Données
les plus TB+1
récentes TB+2
TB+1
TB+2
m−1
TB+3
TB+3
Pointeur
de pile
m−1
m−1
A reste
inchangé.
Dernier entré, premier sorti
Le pointeur est
décrémenté.
FIRST IN FIRST
OUT
FIFO
@FIFO
633
FIFO(633)
Lit le premier mot de données écrit dans la pile spécifiée (les données
de la pile les plus anciennes).
TB
Adresse mémoire
E/S interne
D
TB: 1ère adresse
de pile
D: Mot de
destination
TB
Pointeur
de pile
TB+1
TB+2
TB+3
Données
les plus
anciennes
Adresse mémoire
E/S interne
TB
TB+1
TB+2
TB+3
m−1
Pointeur
de pile
m−1
Premier entré, premier sorti
71
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
DIMENSION
RECORD
TABLE
DIM
@DIM
631
Symbole/
Opérande
DIM(631)
N
Fonction
Emplacement Page
Condition
d’exécution
Définit un tableau d'enregistrements en déclarant la longueur de chaque enregistrement et le nombre d'enregistrements. Il est possible de définir jusqu'à 16
tableaux d'enregistrements.
Numéro de tableau (N)
LR
Sortie
Obligatoire
678
Sortie
Obligatoire
681
Sortie
Obligatoire
683
Sortie
Obligatoire
685
Enregistrement
1
NR
TB
N: Numéro de tableau
LR: Longueur de
chaque enregistrement
NR: Nombre
d'enregistrements
TB: 1er mot du tableau
SET RECORD
LOCATION
SETR
@SETR
635
SETR(635)
N
R
Nombre
d'enregistrements
LR × NR mots
Enregistrement
NR
Ecrit l'emplacement de l'enregistrement spécifié (l'adresse mémoire E/S
interne du début de l'enregistrement) dans le registre d'index spécifié.
Adresse mémoire
Numéro de tableau (N) E/S interne
D
R
N: Numéro de
tableau
R: Numéro
d'enregistrement
D: Registre d'index
de destination
GET RECORD
NUMBER
GETR
@GETR
636
GETR(636)
Numéro
d'enregistrement
(R)
SETR(635) écrit l'adresse mémoire E/S
interne (m) du premier mot de
l'enregistrement R dans le registre d'index D.
Renvoie le numéro de l'enregistrement à l'adresse mémoire E/S interne
contenue dans le registre d'index spécifié.
N
Numéro de
tableau (N)
IR
Adresse mémoire
E/S interne
D
N: Numéro de
tableau
IR: Registre
d'index
D: Mot de
destination
GETR(636) écrit le
numéro de
l'enregistrement qui
inclut l'adresse
mémoire E/S (m)
dans D.
Numéro
d'enregistrement
(R)
IR
n
DATA SEARCH
SRCH
@SRCH
181
SRCH(181)
C
R1
Cd
C: 1er mot de
contrôle
R1: 1er mot de la
plage
CD: Donnée de
comparaison
72
Recherche un mot de données dans une plage de mots.
Adresse mémoire
E/S interne
R1
Recherche
C
R1+(C-1)
Cd
Correspondance
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
SWAP BYTES
SWAP
@SWAP
637
Symbole/
Opérande
SWAP(637)
N
MAX
@MAX
182
Permute l'octet le plus à gauche et l'octet le plus à droite dans
tous les mots de la plage.
Permute la position des octets.
MAX(182)
R1
MIN(183)
Recherche la valeur maximale dans la plage.
Adresse mémoire
E/S interne
689
Sortie
Obligatoire
693
Sortie
Obligatoire
697
Sortie
Obligatoire
700
Mots C
Valeur
max.
R1+(W −1)
Recherche la valeur minimale dans la plage.
Adresse mémoire
E/S interne
R1
D
C: 1er mot de
contrôle
R1: 1er mot de la
plage
D: Mot de
destination
SUM(184)
Mots C
Valeur min.
R1+(W-1)
Ajoute les octets ou les mots dans la plage et place le résultat
dans deux mots.
C
R1
D
C: 1er mot de
contrôle
R1: 1er mot de la
plage
D: 1er mot de
destination
FRAME
CHECKSUM
FCS
@FCS
180
Sortie
Obligatoire
R1
C
R1
SUM
@SUM
184
687
N
C
C: 1er mot de
contrôle
R1: 1er mot de la
plage
D: Mot de
destination
SUM
Sortie
Obligatoire
R1
D
FIND MINIMUM
MIN
@MIN
183
Emplacement Page
Condition
d’exécution
R1
N: Nombre de
mots
R1: 1er mot de la
plage
FIND
MAXIMUM
Fonction
FCS(180)
C
R1
)
R1+(W–1)
Calcule la valeur FCS ASCII pour la plage spécifiée.
R1
Unités C
R1
D
C: 1er mot de
contrôle
R1: 1er mot de la
plage
D: 1er mot de
destination
Calcul
Conversion ASCII
Valeur FCS
73
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
Symbole/
Opérande
Fonction
Emplacement Page
Condition
d’exécution
STACK SIZE
READ (CS1-H,
SNUM(638)
CJ1-H, CJ1M
ou CS1D
TB
uniquement)
D
SNUM
@SNUM TB: Première
638 adresse de la pile
D: Mot de
destination
Compte le nombre de données de pile (nombre de mots) dans la pile
spécifiée.
Sortie
obligatoire
704
STACK DATA
SREAD(639)
READ (CS1-H,
CJ1-H, CJ1M
TB
ou CS1D
uniquement)
C
SREAD
D
@SREAD
639 TB: Première
adresse de la pile
C: Valeur de
décalage
D: Mot de
destination
Lit les données d'un élément de données spécifié dans la pile. La valeur
de décalage indique l'emplacement de l'élément de données voulu
(nombre d'éléments de données avant la position actuelle du pointeur).
Sortie
obligatoire
707
STACK DATA
OVERWRITE
(CS1-H, CJ1-H,
CJ1M ou CS1D
uniquement)
SWRIT
@SWRIT
640
Ecrit les données sources dans l'élément de données spécifié dans la pile Sortie obliga(en écrasant les données existantes). La valeur de décalage indique
toire
l'emplacement de l'élément de données voulu (nombre d'éléments de
données avant la position actuelle du pointeur).
710
Insère les données sources à l'emplacement spécifié dans la pile et
décale le reste des données de la pile vers le bas. La valeur de décalage
indique l'emplacement du point d'insertion (nombre d'éléments de
données avant la position actuelle du pointeur).
Sortie
obligatoire
713
Supprime l'élément de données à l'emplacement spécifié dans la pile et
décale le reste des données de la pile vers le haut. La valeur de décalage
indique l'emplacement du point de suppression (nombre d'éléments de
données avant la position actuelle du pointeur).
Sortie
obligatoire
716
STACK DATA
INSERT (CS1H, CJ1-H, CJ1M
ou CS1D
uniquement)
SINS
@SINS
641
STACK DATA
DELETE (CS1H, CJ1-H, CJ1M
ou CS1D
uniquement)
SDEL
@SDEL
642
74
SWRIT(640)
TB
C
S
TB: Première
adresse de la pile
C: Valeur de
décalage
S: Données
sources
SINS(641)
TB
C
S
TB: Première
adresse de la pile
C: Valeur de
décalage
S: Données
sources
SDEL(642)
TB
C
D
TB: Première
adresse de la pile
C: Valeur de
décalage
D: Mot de
destination
Chapitre 2-2
Fonction des instructions
2-2-16 Instructions de contrôle de données
Instruction
Mnémonique
Code
PID CONTROL
PID
190
Symbole/
Opérande
PID(190)
Fonction
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
720
Exécute le contrôle PID en fonction des paramètres spécifiés. Les
constantes PID peuvent être réglées automatiquement par
PIDAT(191).
Sortie
obligatoire
731
Contrôle les données de sortie en fonction des données d'entrée
(selon qu'elles sont comprises ou non entre les limites supérieure et
inférieure).
Sortie
Obligatoire
741
Sortie
Obligatoire
743
Exécute le contrôle PID en fonction des paramètres spécifiés.
Paramètres (C à C+8)
S
C
D
Entrée PV (S)
S: Mot d'entrée
C: 1er mot
paramètre
D: Mot de sortie
PID CONTROL
WITH
AUTOTUNING
PIDAT
191
(CS1-H, CJ1-H
ou CJ1M
uniquement)
PIDAT(191)
S
Contrôle PID
Variable manipulée (D)
C
D
S: Mot d'entrée
C: 1er mot
paramètre
D: Mot de sortie
LIMIT CONTROL
LMT
@LMT
680
LMT(680)
S
C
D
S: Mot d'entrée
C: 1er mot limite
D: Mot de sortie
Limite
supérieure C+1
Limite
inférieure C
DEAD BAND
CONTROL
BAND
@BAND
681
BAND(681)
S
Contrôle les données de sortie en fonction des données d'entrée
(selon qu'elles sont comprises ou non dans la bande morte).
Sortie
C
D
S: Mot d'entrée
C: 1er mot limite
D: Mot de sortie
Limite inférieure (C)
Entrée
Limite supérieure (C+1)
75
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
DEAD ZONE
CONTROL
ZONE
@ZONE
682
Symbole/
Opérande
ZONE(682)
Fonction
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
746
Sortie
Saisit le taux de service ou la variable manipulée à partir du mot
Obligatoire
spécifié, convertit le taux de service en une sortie proportionnelle au
temps en fonction des paramètres spécifiés et sort le résultat à partir de
la sortie spécifiée.
749
Sortie
Obligatoire
757
Ajoute la pente spécifiée aux données d'entrée et sort le résultat.
Sortie
S
C
D
Pente positive (C+1)
S: Mot d'entrée
C: 1er mot limite
D: Mot de sortie
TIMETPO (685)
PROPORTIONAL
OUTPUT
S
TPO
C
685
(UC série CS/CJ
R
ver. 2.0 ou
supérieure
S: Mot d'entrée
uniquement)
C: 1er mot
paramètre
R: Bit de sortie
d'impulsions
SCALING
SCL
@SCL
194
SCL(194)
S
Entrée
Pente négative (C)
Convertit les données binaires non signées en données BCD non
signées selon la fonction linéaire spécifiée.
R (BCD non signée)
P1
R
S: Mot source
P1: 1er mot
paramètre
R: Mot de résultat
Point B
Point A
La mise à l'échelle est effectuée
selon la fonction linéaire définie
par les points A et B.
P
P1 + 1
P1 +2
P1 +3
(BCD)
(BIN)
(BCD)
(BIN)
S (binaire non signé)
76
Valeur
convertie
Valeur
convertie
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
SCALING 2
SCL2
@SCL2
486
Symbole/
Opérande
SCL2(486)
S
Fonction
Convertit les données binaires signées en données BCD signées
selon la fonction linéaire spécifiée. Vous pouvez entrer un décalage
en définissant la fonction linéaire.
P1
Décalage positif
R
R (BCD signé)
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
762
Décalage négatif
R (BCD signé)
S: Mot source
P1: 1er mot
paramètre
R: Mot de résultat
∆Y
∆Y
Décalage
∆X
∆X
S (binaire signé)
S (binaire
signé)
Décalage
Décalage de 0000
P1
Décalage
∆Y
P1 + 1
∆X
P1 +2
(binaire signé)
R (BCD signé)
(binaire signé)
(BCD signé)
∆Y
Décalage = 0000 hex
∆X
S (binaire
signé)
77
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
SCALING 3
SCL3
@SCL3
487
Symbole/
Opérande
SCL3(487)
S
P1
R
S: Mot source
P1: 1er mot
paramètre
R: Mot de résultat
Fonction
Convertit les données BCD signées en données binaires signées
selon la fonction linéaire spécifiée. Vous pouvez entrer un décalage
en définissant la fonction linéaire.
Décalage positif
Décalage négatif
R (binaire signé)
R (binaire signé)
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
766
Sortie
Obligatoire
769
Conversion max.
Conversion
max.
∆Y
∆Y
∆X
Décalage
Conversion min.
∆X
S (BCD signé)
Décalage
S (BCD signé)
Conversion min.
Décalage de 0000
R (binaire signé)
Conversion
max.
∆Y
∆X
S (BCD signé)
Conversion min.
AVERAGE
AVG
195
AVG(195)
S
Calcule la valeur moyenne d'un mot d'entrée pour le nombre de
cycles spécifié.
S: Mot source
N
R
S: Mot source
N: Nombre de
cycles
R: Mot de résultat
N: Nombre de cycles
R
R+1
Pointeur
Drapeau de moyenne valide
Moyenne
R +2
R +3
N valeurs
R+N+1
78
Chapitre 2-2
Fonction des instructions
2-2-17 Instructions de sous-programme
Instruction
Mnémonique
Code
Symbole/
Opérande
SUBROUTINE
SBS(091)
CALL
SBS
N
@SBS
091 N: Numéro de
sous-programme
Fonction
Appelle le sous-programme correspondant au numéro spécifié et
l'exécute.
Condition d'exécution ON
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
773
Sortie
Obligatoire
779
Sortie
non
obligatoire
783
Sortie
non
obligatoire
786
Programme
principal
Sousprogramme
(SBN(092) à
RET(093))
Fin de programme
MACRO
MCRO
@MCRO
099
MCRO(099)
N
S
Appelle le sous-programme correspondant au numéro spécifié et
l'exécute en utilisant les paramètres d'entrée inclus dans S à S+3 et
les paramètres de sortie inclus dans D à D+3.
MCRO(099)
D
N: Numéro de
sous-programme
S: 1er mot
paramètre entrée
D: 1er mot
paramètre sortie
Exécution du sousprogramme entre
SBN(092) et
RET(093).
MCRO(099)
Le sous-programme utilise A600
à A603 comme entrées et A604
à A607 comme sorties.
SUBROUTINE
ENTRY
SBN
092
SBN(092)
Indique le début du sous-programme correspondant au numéro
spécifié.
N
N: Numéro de
sous-programme
ou
Zone de sous-programme
SUBROUTINE
RETURN
RET
093
RET(093)
Indique la fin d'un sous-programme.
79
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
Symbole/
Opérande
Fonction
Emplacement
Condition
d’exécution
Page
GLOBAL
SUBROUTINE
GSBS(750)
CALL (CS1-H,
N
CJ1-H, CJ1M ou
CS1D
N: Numéro de
uniquement)
GSBS sous-programme
750
Appelle le sous-programme correspondant au numéro spécifié et
l'exécute.
Sortie
non
obligatoire
786
GLOBAL
SUBROUTINE
GSBN(751)
ENTRY (CS1-H,
N
CJ1-H, CJ1M ou
CS1D
N: Numéro de
uniquement)
GSBN sous-programme
751
Indique le début du sous-programme correspondant au numéro
spécifié.
Sortie
non
obligatoire
794
GLOBAL
SUBROUTINE
RETURN (CS1-H,
CJ1-H, CJ1M ou
CS1D
uniquement)
GRET
752
Indique la fin d'un sous-programme.
Sortie
non
obligatoire
797
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
798
Sortie
Obligatoire
804
GRET(752)
2-2-18 Instructions de contrôle des interruptions
Instruction
Mnémonique
Code
SET INTERRUPT
MASK
(Non prise en
charge par les
UC CS1D pour
systèmes d'UC
en duplex.)
MSKS
@MSKS
690
Symbole/
Opérande
MSKS(690)
N
S
N: Identificateur
d'interruption
S: Données
d'interruption
Fonction
Définit le traitement pour les interruptions E/S ou interruptions
programmées. Les tâches d'interruption E/S et les tâches d'interruption
programmées sont masquées (désactivées) lorsque l'API est mis sous
tension pour la première fois. Vous pouvez utiliser MSKS(690) pour
démasquer ou masquer les interruptions E/S et définir les intervalles de
temps des interruptions programmées.
Cartes d'entrée d'interruption 0 à 3
Interruption E/S
Interruption programmée
READ
INTERRUPT
MASK
(Non prise en
charge par les
UC CS1D pour
systèmes d'UC
en duplex.)
MSKR
@MSKR
692
80
MSKR(692)
N
D
N: Identificateur
d'interruption
D: Mot de
destination
Masque (1) ou
démasque (0) les
entrées d'interruption
0 à 7.
Intervalle
Définit le temps
d'interruption
programmé.
Lit les paramètres de traitement des interruptions courants qui ont été
définis avec MSKS(690).
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
CLEAR
INTERRUPT
(Non prise en
charge par les
UC CS1D pour
systèmes d'UC
en duplex.)
CLI
@CLI
691
Symbole/
Opérande
Fonction
N
Efface ou conserve les entrées d'interruption sauvegardées
pour les interruptions E/S ou définit le délai jusqu'à la première
interruption programmée pour les interruptions programmées.
S
N=0à3
CLI(691)
N: Identificateur
d'interruption
S: Données
d'interruption
Entrée
d'interruption
n
Entrée
d'interruption
n
Etat
interne
Etat
interne
Interruption
sauvegardée effacée
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
809
Sortie
Obligatoire
814
Sortie
non obligatoire
816
Interruption
sauvegardée conservée
N=4à5
MSKS(690)
Exécution de la tâche
d'interruption programmée.
Temps jusqu'à la
première interruption
programmée
DISABLE
INTERRUPTS
DI(693)
DI
@DI
693
Désactive l'exécution de toutes les tâches d'interruption à
l'exception de la tâche d'interruption de mise hors tension.
Désactive l'exécution
de toutes les tâches
d'interruption (à
l'exception de la tâche
d'interruption de mise
hors tension).
ENABLE
INTERRUPTS
EI(694)
EI
694
Active l'exécution de toutes les tâches d'interruption qui ont été
désactivées par DI(693).
Désactive l'exécution
de toutes les tâches
d'interruption (à
l'exception de la tâche
d'interruption de mise
hors tension).
Active l'exécution de
toutes les tâches
d'interruption désactivées.
81
Chapitre 2-2
Fonction des instructions
2-2-19 Instructions de compteur à grande vitesse et de sortie
d'impulsions (CJ1M-CPU21/22/23 uniquement)
Emplacement
Condition
d’exécution
Page
INI(880) permet de démarrer et d'interrompre la comparaison
des valeurs cibles, de changer la valeur actuelle (PV) d'un
compteur à grande vitesse, de changer la PV d'une entrée
d'interruption (mode compteur), de changer la PV d'une sortie
d'impulsions ou d'arrêter la sortie d'impulsions.
Sortie
Obligatoire
823
PRV(881) permet de lire la valeur actuelle (PV) d'un compteur
à grande vitesse, d'une sortie d'impulsions ou d'une entrée
d'interruption (mode compteur).
Sortie
Obligatoire
827
COUNTER
PRV2
FREQUENCY
CONVERT
C1
PRV2
C2
883
(UC CJ1M ver. 2.0
D
ou supérieure
C1 : Données de
uniquement)
contrôle
C2 : Impulsions /
tour
D : 1er mot de
destination
Lit l'entrée de la fréquence d'impulsion sur un compteur à grande
vitesse et convertit la fréquence en vitesse de rotation (nombre de
tours) ou convertit la valeur actuelle (PV) du compteur en nombre total
de tours. Le résultat est sorti sur les mots de destination en 8 chiffres
hexadécimaux. Les impulsions peuvent être entrées à partir du
compteur à grande vitesse 0 seulement.
Sortie
Obligatoire
833
COMPARISON
TABLE LOAD
CTBL
@CTBL
882
CTBL(882) permet de comparer la valeur actuelle (PV) d'un compteur
à grande vitesse par rapport à des plages ou des valeurs cibles.
Sortie
Obligatoire
837
SPED(885) permet de spécifier la fréquence et d'exécuter la sortie
d'impulsions sans accélération ni décélération.
Sortie
Obligatoire
841
Instruction
Mnémonique
Code
MODE CONTROL
INI
@INI
880
Symbole/
Opérande
INI
P
C
Fonction
NV
P : Identificateur
de port
C : Données de
contrôle
NV : 1er mot avec
nouvelle PV
HIGH-SPEED
COUNTER PV
READ
PRV
@PRV
881
PRV
P
C
D
P : Identificateur
de port
C : Données de
contrôle
D : 1er mot de
destination
CTBL
P
C
TB
P : Identificateur
de port
C : Données de
contrôle
TB : 1er mot du
tableau de
comparaison
SPEED OUTPUT
SPED
@SPED
885
SPED
P
M
F
P : Identificateur
de port
M: Mode de sortie
F : 1er mot de
fréquence
d'impulsion
82
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
SET PULSES
PULS
@PULS
886
Symbole/
Opérande
PULS
Fonction
Emplacement
Condition
d’exécution
Page
PULS(886) permet de définir le nombre d'impulsions pour la sortie
d'impulsions.
Sortie
Obligatoire
846
PLS2(887) permet de définir la fréquence d'impulsion et les taux
d'accélération/décélération, et d'exécuter la sortie d'impulsions avec
accélération/décélération (avec des taux d'accélération/décélération
différents). Seul le positionnement est possible.
Sortie
Obligatoire
849
ACC(888) permet de définir la fréquence d'impulsion et les taux
d'accélération/décélération, et d'exécuter la sortie d'impulsions avec
accélération/décélération (avec le même taux d'accélération/
décélération). Le contrôle de position et vitesse sont possibles.
Sortie
Obligatoire
855
ORG(889) permet d'exécuter des recherches d'origine et des retours.
Sortie
Obligatoire
862
PWM(891) permet de sortir des impulsions avec un coefficient
d'exploitation variable.
Sortie
Obligatoire
865
P
T
N
P : Identificateur
de port
T : Type
d'impulsion
N: Nombre
d'impulsions
PULSE OUTPUT
PLS2
@PLS2
887
PLS2
P
M
S
F
P : Identificateur
de port
M : Mode de
sortie
S: 1er mot du
tableau de
paramètres
F : 1er mot de la
fréquence de
démarrage
ACCELERATION
CONTROL
ACC
@ACC
888
ACC
P
M
S
P : Identificateur
de port
M: Mode de sortie
S: 1er mot du
tableau de
paramètres
ORIGIN SEARCH
ORG
@ORG
889
ORG
P
C
P : Identificateur
de port
C : Données de
contrôle
PULSE WITH
VARIABLE DUTY
FACTOR
PWM
@
891
PWM
P
F
D
P : Identificateur
de port
F : Fréquence
D : Coefficient
d'exploitation
83
Chapitre 2-2
Fonction des instructions
2-2-20 Instructions de pas
Instruction
Mnémonique
Code
Symbole/
Opérande
STEP DEFINE
STEP
008
STEP(008)
B
B: Bit
STEP START
SNXT
009
SNXT(009)
B
Fonction
Emplacement
Condition
d’exécution
Page
STEP(008) fonctionne de 2 façons, en fonction de sa position et selon
qu'un bit de contrôle a été spécifié ou non.
(1)Démarre un pas spécifique.
(2)Termine la zone de programmation par pas (c'est-à-dire exécution
par pas).
Sortie
Obligatoire
868
SNXT(009) est utilisée de trois façons :
(1)Pour démarrer l'exécution de la programmation par pas.
(2)Pour passer au bit de contrôle de pas suivant.
(3)Pour arrêter l'exécution de la programmation par pas.
Sortie
Obligatoire
868
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
885
Sortie
Obligatoire
888
B: Bit
2-2-21 Instructions des cartes d’E/S standard
Instruction
Mnémonique
Code
I/O REFRESH
IORF
@IORF
097
Symbole/
Opérande
IORF(097)
St
E
St: Mot de départ
E: Mot de fin
Fonction
Rafraîchit les mots E/S spécifiés.
Zone de bits E/S ou
zone de bits de carte E/S spéciale
St
Carte E/S ou
carte E/S spéciale
Rafraîchissement E/S
E
7-SEGMENT
DECODER
SDEC
@SDEC
078
SDEC(078)
S
Convertit le contenu hexadécimal des chiffres désignés en code
d'affichage 8 bits, 7 segments et le place dans les 8 bits
supérieurs ou inférieurs des mots de destination spécifiés.
Di
Di
Nombre de chiffres
D
S: Mot source
Di: Désignateur
de chiffre
D: 1er mot de
destination
Premier chiffre à convertir
8 bits les plus à droite (0)
7 segments
84
Chapitre 2-2
Fonction des instructions
Symbole/
Opérande
Instruction
Mnémonique
Code
DIGITAL SWITCH
INPUT
DSW
210
(UC série CS/CJ
ver. 2.0 ou
supérieure
uniquement)
DSW (210)
I
O
Fonction
Emplacement
Condition
d’exécution
Page
Sortie
Lit la valeur définie sur un interrupteur numérique externe (ou un
interrupteur à roue codeuse) raccordé à une carte d'entrée ou une carte Obligatoire
de sortie et enregistre les données BCD (4 ou 8 chiffres) dans les mots
spécifiés.
890
Lit les données numériques à partir d'un clavier de dix touches raccordé Sortie
Obligatoire
à une carte d'entrée et enregistre jusqu'à 8 chiffres de données BCD
dans les mots spécifiés.
896
Lit des données numériques à partir d'un clavier hexadécimal raccordé Sortie
Obligatoire
à une carte d'entrée et une carte de sortie, et enregistre jusqu'à
8 chiffres de données hexadécimales dans les mots spécifiés.
899
Sortie
Entre jusqu'à 64 signaux à partir d'une matrice de 8 × 8 connectée à
Obligatoire
une carte d'entrée et une carte de sortie (avec 8 points d'entrée et
8 points de sortie) et enregistre ces données 64 bits dans les 4 mots de
destination.
904
D
C1
C2
I: Mot d'entrée de
données (D0 à D3)
O: Mot de sortie
D: 1er mot de
résultat
C1: Nombre de
chiffres
C2: Mot système
TEN KEY INPUT
TKY
211
(UC série CS/CJ
ver. 2.0 ou
supérieure
uniquement)
TKY (211)
I
D1
D2
I:
Mot d'entrée
de données
D1: 1er mot
registre
D2: Mot d'entrée
touche
HEXADECIMAL
KEY INPUT
HKY
212
(UC série CS/CJ
ver. 2.0 ou
supérieure
uniquement)
HKY (212)
I
O
D
C
I:
Mot d'entrée
de données
O: Mot de sortie
D: 1er mot
registre
C: Mot système
MATRIX INPUT
MTR
213
(UC série CS/CJ
ver. 2.0 ou
supérieure
uniquement)
MTR (213)
I
O
D
C
I:
Mot d'entrée
de données
O: Mot de sortie
D: 1er mot de
destination
C: Mot système
85
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
7-SEGMENT
DISPLAY
OUTPUT
7SEG
214
(UC série CS/CJ
ver. 2.0 ou
supérieure
uniquement)
Symbole/
Opérande
7SEG (214)
S
Fonction
Emplacement
Condition
d’exécution
Page
Sortie
Convertit les données sources (BCD à 4 chiffres ou 8 chiffres) en
données d'affichage à 7 segments et place ces données dans le mot de Obligatoire
sortie spécifié.
908
Sortie
Obligatoire
913
Sortie
Obligatoire
917
Sortie
obligatoire
921
O
C
D
S: 1er mot source
O: Mot de sortie
C: Données de
contrôle
D: Mot système
INTELLIGENT I/O
READ
IORD
@IORD
222
IORD(222)
C
S
Lit le contenu de la zone de mémoire pour la carte E/S spéciale
ou la carte réseau (voir remarque).
S
S+1
D
Numéro de carte E/S spéciale
C: Données de
contrôle
S: Source du
transfert et nombre
de mots
D: Destination du
transfert et nombre
de mots
Nombre
désigné
de mots
lus.
Remarque : UC série CS/CJ ver. 2.0 ou supérieure (y compris les UC
CS1-H, CJ1-H et CJ1M du lot numéro 030418 ou
ultérieur) peuvent lire à partir des cartes réseaux.
INTELLIGENT I/O
WRITE
IOWR
@IOWR
223
IOWR(223)
C
S
Sort le contenu de la zone de mémoire E/S de l'UC dans la
carte E/S spéciale ou la carte réseau (voir remarque).
D
D+1
D
C: Données de
contrôle
S: Source du
transfert et nombre
de mots
D: Destination du
transfert et nombre
de mots
Numéro de carte E/S spéciale
Nombre
désigné
de mots
écrits
Remarque : UC série CS/CJ ver. 2.0 ou supérieure (y compris les UC
CS1-H, CJ1-H et CJ1M du lot numéro 030418 ou
ultérieur) peuvent écrire sur les cartes réseaux.
CPU BUS UNIT
DLNK(226)
I/O REFRESH
(CS1-H, CJ1-H,
N
CJ1M ou CS1D
uniquement)
DLNK N: Numéro d'unité
@DLNK
226
86
Rafraîchit immédiatement les E/S sur la carte réseau avec le numéro
de carte spécifié.
Chapitre 2-2
Fonction des instructions
2-2-22 Instructions de communication série
Instruction
Mnémonique
Code
PROTOCOL
MACRO
PMCR
@PMCR
260
Symbole/
Opérande
PMCR(260)
Fonction
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
928
Sort le nombre spécifié d'octets de données dans le port RS-232C
intégré à l'UC ou le port série d'une carte de communication série
(version 1.2 ou supérieure).
Sortie
Obligatoire
937
Lit le nombre spécifié d'octets de données du port RS-232C intégré à
l'UC ou du port série d'une carte de communication série (version 1.2
ou supérieure).
Sortie
Obligatoire
944
Sort le nombre spécifié d’octets de données dans le port série d’une
carte de communication série (version 1.2 ou supérieure). Les
données sont sorties en mode sans protocole avec le code de départ
et le code de fin (le cas échéant) spécifiés dans la zone de
configuration DM affectée.
Sortie
Obligatoire
952
Appelle et exécute une séquence de communication enregistrée dans
une carte de communication série.
C1
UC
Carte de communication série
Port
C2
S
R
S
à
C1: Mot de contrôle 1
C2: Mot de contrôle 2
S: 1er mot envoyé
R: 1er mot reçu
R
à
TRANSMIT
TXD
@TXD
236
TXD(236)
S
Périphérique
externe
C
N
S: 1er mot source
C: Mot de contrôle
N: Nombre
d'octets
0000 à 0100 hex
(0 à 256 décimal)
RECEIVE
RXD
@RXD
235
RXD(235)
D
C
N
D: 1er mot de
destination
C: Mot de contrôle
N: Nombre d'octets
à sauvegarder
0000 à 0100 hex
(0 à 256 décimal)
TRANSMIT VIA
SERIAL COMMUNICATIONS UNIT
TXDU
@TXDU
256
TXDU(256)
S
C
N
S: 1er mot source
C: 1er mot de
contrôle
N: Nombre
d'octets
0000 à 0256 BCD
87
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
RECEIVE VIA
SERIAL COMMUNICATIONS UNIT
RXDU
@RXDU
255
Symbole/
Opérande
RXDU(255)
D
Fonction
Emplacement
Condition
d’exécution
Page
Lit le nombre spécifié d’octets de données du port série d’une carte de
communication série (version 1.2 ou supérieure). Les données sont
lues en mode sans protocole avec le code de début et le code de fin (le
cas échéant) spécifiés dans la zone de configuration DM affectée.
Sortie
Obligatoire
960
Change les paramètres de communication d'un port série sur l'UC, la
carte de communication série (carte réseau) ou la carte de
communication série. STUP(237) permet ainsi de changer le mode de
protocole pendant le fonctionnement de l'API.
Sortie
Obligatoire
968
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
991
Sortie
Obligatoire
997
C
N
D: 1er mot de
destination
C: 1er mot de
contrôle
N: Nombre d'octets
à sauvegarder
0000 à 0256 BCD
CHANGE SERIAL
PORT SETUP
STUP
@STUP
237
STUP(237)
C
S
C: Mot de
contrôle (port)
S: Premier mot
source
2-2-23 Instructions réseau
Instruction
Mnémonique
Code
NETWORK SEND
SEND
@SEND
090
Symbole/
Opérande
SEND(090)
Fonction
Transmet les données à un nœud du réseau.
D
C
RECV
@RECV
098
RECV(098)
0
D
n:
Nombre
de mots
envoyés
n
Demande la transmission des données à partir d'un nœud du
réseau et reçoit les données.
S
Nœud local
0
15
D
C
S: 1er mot source
D: 1er mot de
destination
C: 1er mot de
contrôle
88
15
S
S: 1er mot source
D: 1er mot de
destination
C: 1er mot de
contrôle
NETWORK
RECEIVE
Nœud de destination
Nœud local
15
0
S
Nœud source
15
S
D
m
n
0
Chapitre 2-2
Fonction des instructions
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
1003
Envoie un message explicite avec un code de service.
EXPLICIT
EXPLT (720)
MESSAGE SEND
EXPLT
S
720
D
(UC série CS/CJ
ver. 2.0 ou
C
supérieure
uniquement)
S: 1er mot du
message envoyé
D: 1er mot du
message reçu
C: 1er mot de
contrôle
Sortie
Obligatoire
1013
Lit les informations d'état avec un message explicite (Get Attribute
EXPLICIT GET
EGATR (721) Single, Service Code: 0E hex).
ATTRIBUTE
EGATR
S
721
D
(UC série CS/CJ
ver. 2.0 ou
C
supérieure
uniquement)
S: 1er mot du
message envoyé
D: 1er mot du
message reçu
C: 1er mot de
contrôle message
Sortie
Obligatoire
1021
Ecrit les informations d'état avec un message explicite
EXPLICIT SET
ESATR (722) (Set Attribute Single, Service Code : 0E hex)
ATTRIBUTE
ESATR
S
722
C
(UC série CS/CJ
ver. 2.0 ou
S: Premier mot du
supérieure
message envoyé
uniquement)
C: Premier mot
de contrôle
Sortie
Obligatoire
1028
Instruction
Mnémonique
Code
DELIVER
COMMAND
CMND
@CMND
490
Symbole/
Opérande
CMND(490)
Fonction
Envoie la commande FINS et reçoit la réponse.
S
Nœud local
15
D
C
S: 1er mot de
commande
D: 1er mot de
réponse
C: 1er mot de
contrôle
Nœud de destination
0
S
(S−1)
+ n
2
15
D
(D−1)
+ m
2
Données
de commande
(n octets)
Commande
Données
de réponse (m
octets)
Réponse
Interpréte
0
Exécute
89
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
Symbole/
Opérande
Fonction
Emplacement
Condition
d’exécution
Page
Lit les données sur l'UC locale à partir d'une UC distante dans le
Sortie
EXPLICIT WORD
ECHRD (723) réseau. (L'UC distante doit prendre en charge les messages explicites.) Obligatoire
READ
ECHRD
S
723
D
(UC série CS/CJ
ver. 2.0 ou
C
supérieure
uniquement)
S: 1er mot
source dans
UC distante
D: 1er mot de
destination
dans UC locale
C: 1er mot de
contrôle
1034
Ecrit les données de l'UC locale sur une UC distante dans le réseau.
EXPLICIT WORD
ECHWR (724)
WRITE
(L'UC distante doit prendre en charge les messages explicites.)
ECHWR
S
724
D
(UC série CS/CJ
ver. 2.0 ou
C
supérieure
uniquement)
S: 1er mot source
dans UC locale
D: 1er mot de
destination dans
UC distante
C: 1er mot de
contrôle
1038
90
Sortie
Obligatoire
Chapitre 2-2
Fonction des instructions
2-2-24 Instructions de mémoire de fichiers
Instruction
Mnémonique
Code
READ DATA FILE
FREAD
@FREAD
700
Symbole/
Opérande
FREAD(700)
C
S1
S2
Fonction
Emplacement Page
Condition
d’exécution
Lit les données ou la quantité de données spécifiées du fichier de
données spécifié dans la mémoire de fichiers à la zone de données
spécifiée dans l'UC.
Adresse de début
de lecture spécifiée Fichier spécifié
dans S1+2 et S1+3 dans S2
UC
Sortie
Obligatoire
1045
Sortie
Obligatoire
1052
D
C: Mot de contrôle
S1: 1er mot
source
S2: Nom du fichier
D: 1er mot de
destination
Nombre de
mots spécifiés
dans S1 et
S1+1
Carte mémoire ou
mémoire de fichiers
EM (spécifiée par le
4ème chiffre de C.)
Fichier spécifié
dans S2
Nombre
de mots
écrits
dans D
et D+1.
UC
Nombre
de mots
Carte mémoire ou mémoire de fichiers EM
(spécifiée par le 4ème chiffre de C.)
WRITE DATA
FILE
FWRIT
@FWRIT
701
FWRIT(701)
C
D1
D2
S
C: Mot de contrôle
D1: 1er mot de
destination
D2: Nom du fichier
S: 1er mot source
Ecrase ou ajoute des données dans le fichier de données spécifié
dans la mémoire de fichiers avec les données spécifiées de la zone
de données dans l'UC. Si le fichier spécifié n'existe pas, un nouveau
fichier est créé avec ce nom.
Mot de départ Fichier spécifié dans D2
UC
spécifié dans
Adresse
D1+2 et D1+3
de début
spécifiée
Nombre de mots
dans S
spécifiés dans
D1 et D1+1
Ecrase
Carte mémoire ou mémoire de
fichiers EM (spécifiée par le 4ème
chiffre de C.)
UC
Adresse
de début
spécifiée
dans S
Fichier spécifié dans D2
Fin de
fichier
Données
existantes
Nombre de mots
spécifiés dans D1
et D1+1
Ajout
UC
Adresse
de début
spécifiée
dans S
Début de
fichier
Carte mémoire ou mémoire de
fichiers EM (spécifiée par le 4ème
chiffre de C)
Fichier spécifié
dans D2
Nouveau fichier créé
Nombre de mots
spécifiés dans D1
et D1+1
Carte mémoire ou mémoire de
fichiers EM (spécifiée par le
4ème chiffre de C.)
91
Chapitre 2-2
Fonction des instructions
2-2-25 Instructions d'affichage
Instruction
Mnémonique
Code
DISPLAY
MESSAGE
Symbole/
Opérande
MSG(046)
MSG
@MSG
046
Fonction
Lit les seize mots ASCII étendu spécifiés et affiche le message sur un
équipement périphérique tel qu'une console de programmation.
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
1058
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
1061
Sortie
Obligatoire
1065
N
M
N: Numéro de
message
M: 1er mot de
message
2-2-26 Instructions d'horloge
Instruction
Mnémonique
Code
CALENDAR ADD
CADD
@CADD
730
Symbole/
Opérande
CADD(730)
C
T
R
C: 1er mot de
calendrier
T: 1er mot de
temps
R: 1er mot de
résultat
CALENDAR
SUBTRACT
CSUB
@CSUB
731
CSUB(731)
Fonction
Ajoute des données de temps aux données de calendrier
dans les mots spécifiés.
C
C+1
C+2
Minutes
Jour
Année
T
T+1
Minutes Secondes
Heures
R
R+1
R+2
Minutes
Jour
Année
Secondes
Heure
Mois
Soustrait des données de temps aux données de calendrier
dans les mots spécifiés.
C
T
R
C: 1er mot de
calendrier
T: 1er mot de
temps
R: 1er mot de
résultat
C
C+1
C+2
Minutes
Jour
Année
Secondes
Heure
Mois
−
T
Minutes Secondes
Heures
T+1
R
R+1
R+2
92
Secondes
Heure
Mois
Minutes
Jour
Année
Secondes
Heure
Mois
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
HOURS TO
SECONDS
Symbole/
Opérande
SEC(065)
SEC
@SEC
065
Fonction
Convertit les données de temps au format heures/minutes/secondes
en un temps équivalent en secondes uniquement.
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
1068
Sortie
Obligatoire
1070
Sortie
Obligatoire
1073
Emplacement
Condition
d’exécution
Page
Sortie
non
obligatoire
1075
S
D
Minutes Secondes
Heures
S: 1er mot source
D: 1er mot de
destination
Secondes
SECONDS TO
HOURS
HMS
@HMS
066
HMS(066)
Convertit les données en secondes en un temps
équivalent au format heures/minutes/secondes.
S
D
Secondes
S: 1er mot source
D: 1er mot de
destination
Minutes Secondes
Heures
CLOCK
DATE(735)
ADJUSTMENT
DATE
S
@DATE
735 S: 1er mot source
Règle le paramètre de l'horloge interne sur celui des mots sources
spécifiés.
UC
Horloge interne
Nouveau
paramètre
Minutes
Jour
Secondes
Année
00
Mois
Heure
Jour de la semaine
2-2-27 Instructions de débogage
Instruction
Mnémonique
Code
TRACE
MEMORY
SAMPLING
Symbole/
Opérande
TRSM(045)
TRSM
045
Fonction
Lorsque TRSM(045) est exécuté, l'état d'un bit ou d'un mot
présélectionné est échantillonné et enregistré dans la mémoire de
traçé. TRSM(045) peut être utilisé n'importe où dans le programme,
autant de fois que vous le souhaitez.
93
Chapitre 2-2
Fonction des instructions
2-2-28 Instructions de diagnostic d'erreur
Instruction
Mnémonique
Code
FAILURE ALARM
FAL
@FAL
006
Symbole/
Opérande
FAL(006)
N
S
N: Numéro FAL
S: 1er mot de
message ou
code d'erreur à
générer
Fonction
Génère ou efface des erreurs définies par l'utilisateur non fatales. Les erreurs non fatales
n'interrompent pas le fonctionnement de l'API.
Génère également des erreurs non fatales avec le système.
L'exécution
de FAL(006)
génère une
erreur non
fatale avec le
numéro FAL
N.
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
1079
Sortie
1087
Drapeau d'erreur FAL ON
Drapeau correspondant au numéro
d'instruction FAL exécutée ON
Code d'erreur écrit dans A400
Code d'erreur et heure écrits dans la
zone du journal d'erreurs
Le voyant ERR clignote
Message affiché
sur la console de
programmation
SEVERE
FAILURE ALARM
FALS
007
FALS(007)
N
S
N: Numéro FALS
S: 1er mot de
message ou
code d'erreur
à générer
Génère des erreurs fatales définies par l'utilisateur. Les erreurs fatales arrêtent
Obligatoire
le fonctionnement de l'API. Génère également des erreurs fatales avec le système.
Drapeau d'erreur FALS sur ON
L'exécution de
Code d'erreur écrit dans A400
FALS(007)
Code d'erreur et heure/date écrits
dans la zone du journal d'erreurs
génère une
erreur fatale
avec le numéro
Voyant ERR allumé
FALS N.
Message affiché sur
la console de
programmation
FAILURE POINT
DETECTION
FPD
269
FPD(269)
C
T
R
C: Mot de contrôle
T: Temps de
surveillance
R: 1er mot registre
Permet de diagnostiquer une erreur au niveau d'un bloc d'instruction
en surveillant le temps entre l'exécution de l'instruction FPD(269) et
l'exécution d'une sortie diagnostic et en retrouvant l'entrée qui
empêche une sortie de passer ON.
Fonction de surveillance du temps :
Démarre la temporisation lorsque la condition
d'exécution A passe à ON. Génère une erreur non
fatale si la sortie B ne passe pas à ON pendant le
temps de surveillance.
Condition
d'exécution A
T
R
Prochain bloc
d'instruction
Bloc de
traitement
d'erreur
(facultatif)
Bloc de diagnostic logique*
Condition d'exécution
de diagnostic logique
C
Sortie de diagnostic B
La fonction de diagnostic logique
détermine quelle entrée dans C
empêche la sortie B de passer à ON.
94
Sortie
Obligatoire
1095
Chapitre 2-2
Fonction des instructions
2-2-29 Autres instructions
Emplacement
Condition
d’exécution
Page
Passe le drapeau de report sur ON (CY).
Sortie
Obligatoire
1104
Passe le drapeau de report sur OFF (CY).
Sortie
Obligatoire
1105
SELECT EM
EMBC(281)
BANK
EMBC
N
@EMBC
281 N: Numéro de
banque EM
Change la banque EM en cours.
Sortie
Obligatoire
1106
EXTEND
WDT(094)
MAXIMUM
CYCLE TIME
T
WDT
@WDT T: Paramètre de
094 temporisateur
Prolonge le temps de cycle maximum, mais seulement pour le cycle
pendant lequel cette instruction est exécutée.
Sortie
Obligatoire
1108
SAVE CONDITION FLAGS
(CS1-H, CJ1-H,
CJ1M ou CS1D
uniquement)
CCS
@CCS
282
Sauvegarde l'état des drapeaux de condition.
Sortie
Obligatoire
1110
Lit l'état des drapeaux de condition qui a été enregistré.
Sortie
Obligatoire
1112
Convertit une adresse mémoire d'API série CV en une adresse
mémoire d'API série CS/CJ équivalente.
Sortie
Obligatoire
1113
Sortie
Obligatoire
1117
Instruction
Mnémonique
Code
Symbole/
Opérande
SET CARRY
STC
@STC
040
CLEAR CARRY
CLC
@CLC
041
LOAD CONDITION FLAGS
(CS1-H, CJ1-H,
CJ1M ou CS1D
uniquement)
CCL
@CCL
283
Fonction
STC(040)
CLC(041)
CCS(282)
CCL(283)
CONVERT
ADDRESS FROM
FRMCV(284)
CV (CS1-H, CJ1S
H, CJ1M ou
CS1D
D
uniquement)
FRMCV S: Mot contenant
@FRMCV
l'adresse mémoire
284 série CV
D: Registre d'index
de destination
Convertit une adresse mémoire d'API série CS/CJ en une adresse
CONVERT
TOCV(285)
mémoire d'API série CV équivalente.
ADDRESS TO CV
(CS1-H, CJ1-H,
S
CJ1M ou CS1D
uniquement)
D
TOCV
@TOCV S: Registre d'index
285 contenant l'adresse
mémoire série CS
D: Mot de
destination
95
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
Symbole/
Opérande
DISABLE PERIPHERAL SERVICING (UC CS1D
pour les systèmes d'UC unique, CS1-H,
CJ1-H ou CJ1M
uniquement)
IOSP
@IOSP
287
IOSP(287)
ENABLE PERIPHERAL SERVICING (UC CS1D
pour les systèmes d'UC unique, CS1-H,
CJ1-H ou CJ1M
uniquement)
IORS
288
IORS(288)
Fonction
Emplacement
Condition
d’exécution
Page
Désactive le traitement des périphériques pendant l'exécution du programme dans l'un des modes de traitement parallèle ou dans le mode
prioritaire du traitement des périphériques.
Sortie
Obligatoire
1121
Active le traitement des périphériques qui a été désactivé par
IOSP(287) pour l'exécution du programme dans l'un des modes de
traitement parallèle ou dans le mode prioritaire du traitement des
périphériques.
Sortie
non
obligatoire
1123
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
1128
2-2-30 Instructions de programmation de bloc
Instruction
Mnémonique
Code
Symbole/
Opérande
BLOCK
PROGRAM
BEGIN
BPRG(096)
Fonction
Définition d'une zone de programmation de bloc. A chaque
BPRG(096) doit correspondre un BEND(801).
N
BPRG
096 N: Numéro du
programme de bloc
Programme de bloc
Exécuté lorsque la condition
d'exécution est ON.
BLOCK
PROGRAM END
BEND
801
BLOCK
PROGRAM
PAUSE
BPPS
(811)
Définition d'une zone de programmation de bloc. A chaque BPRG(096) Programme
doit correspondre un BEND(801).
de bloc
Obligatoire
1128
Programme
de bloc
Obligatoire
1131
Mise en pause et redémarrage du programme de bloc spécifié à
partir d'un autre programme de bloc.
N
BPPS
811 N: Numéro du
programme de bloc
à
à
à
96
BPPS(811) exécuté
pour le programme de
bloc n.
Programme de bloc n. Une
fois en pause, ce programme
de bloc ne sera pas exécuté,
même si le bit "a" est ON.
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
BLOCK
PROGRAM
RESTART
Symbole/
Opérande
BPRS
(812)
Fonction
Emplacement
Condition
d’exécution
Page
Programme
de bloc
Obligatoire
1131
Programme
de bloc
Obligatoire
1137
Programme
de bloc
Obligatoire
1137
EXIT NOT(806) sans un bit d'opérande quitte le programme si la condi- Programme
tion d'exécution est OFF.
de bloc
Obligatoire
1137
Mise en pause et redémarrage du programme de bloc spécifié à
partir d'un autre programme de bloc.
N
BPRS
812 N: Numéro du
programme de
bloc
à
à
à
BPPS(812) exécuté
pour le programme de
bloc n.
Programme de bloc n. Ce
programme de bloc sera
maintenant exécuté tant que
le bit "a" est ON.
EXIT(806)
CONDITIONAL
EXIT(806) sans un bit d'opérande quitte le programme si la
BLOCK EXIT
condition d'exécution est ON.
EXIT B : Bit d'opérande
Condition
Condition
806
d'exécution
d'exécution
OFF
ON
"A" exécuté.
"A" exécuté.
Condition d'exécution
"B" exécuté.
Bloc terminé.
EXIT(806)B
CONDITIONAL
BLOCK EXIT
EXIT B: Bit d'opérande
806
EXIT(806) avec un bit d'opérande quitte le programme si le bit
d'opérande est ON.
Bit d'opérande
OFF
(ON pour
EXIT NOT)
Bit d'opérande
ON
(OFF pour
EXIT NOT)
"A" exécuté.
"A" exécuté.
"B" exécuté.
Bloc terminé.
EXIT NOT(806)
CONDITIONAL
B
BLOCK EXIT
NOT
EXIT NOT B: Bit d'opérande
806
97
Chapitre 2-2
Fonction des instructions
Symbole/
Opérande
Instruction
Mnémonique
Code
CONDITIONAL
BLOCK
BRANCHING
IF (802)
IF
802
Fonction
Si la condition d'exécution est ON, les instructions entre IF(802) et
ELSE(803) seront exécutées et si la condition d'exécution est OFF,
les instructions entre ELSE(803) et IEND(804) seront exécutées.
Condition
d'exécution
IF (802)
B
IF B: Bit d'opérande
802
Page
Programme
de bloc
Obligatoire
1133
Programme
de bloc
Obligatoire
1133
Condition
d'exécution ON ?
"A" exécuté (entre
IF et ELSE).
CONDITIONAL
BLOCK
BRANCHING
Emplacement
Condition
d’exécution
"B" exécuté
(après ELSE).
Si le bit d'opérande est ON, les instructions entre IF(802) et
ELSE(803) seront exécutées. Si le bit d'opérande est OFF, les
instructions entre ELSE(803) et IEND(804) seront exécutées.
Bit d'opérande
ON ?
IF R (IF NOT R)
"A" exécuté (entre
IF et ELSE).
"B" exécuté
(après ELSE).
IF (802) NOT
CONDITIONAL
BLOCK
B
BRANCHING
(NOT)
B: Bit d'opérande
IF NOT
802
Si le bit d'opérande est OFF, les instructions entre IF NOT(802) et
ELSE(803) seront exécutées. Si le bit d'opérande est ON, les
instructions entre ELSE(803) et IEND(804) seront exécutées.
Programme
de bloc
Obligatoire
1133
--CONDITIONAL
BLOCK
BRANCHING
(ELSE)
ELSE
803
Si l'instruction ELSE(803) est omise et que le bit d'opérande est ON,
les instructions entre IF(802) et IEND(804) seront exécutées.
Programme
de bloc
Obligatoire
1133
--CONDITIONAL
BLOCK
BRANCHING
END
IEND
804
Si le bit d'opérande est OFF, seules les instructions après IEND(804)
seront exécutées.
Programme
de bloc
Obligatoire
1133
98
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
Symbole/
Opérande
ONE CYCLE AND WAIT(805)
WAIT
WAIT
805
Fonction
Si la condition d'exécution est ON pour WAIT(805)), les autres
instructions du programme de bloc seront ignorées.
Condition Condition Condition
d'exécution d'exécution d'exécution
ON
OFF
OFF
Emplacement
Condition
d’exécution
Page
Programme
de bloc
Obligatoire
1140
"A"
exécuté.
Condition
d'exécution
"B" exécuté.
"C"
exécuté.
"C"
exécuté.
"C" exécuté.
Attente
ONE CYCLE AND WAIT(805)
WAIT
B
WAIT
805 B: Bit d'opérande
Si le bit d'opérande est OFF (ON pour WAIT NOT(805)), les autres
instructions du programme de bloc seront ignorées. Dans le cycle
suivant, aucun élément du programme de bloc ne sera exécuté, sauf
pour la condition d'exécution de WAIT(805) ou WAIT(805) NOT.
Lorsque la condition d'exécution passera à ON (OFF pour WAIT(805)
NOT), l'instruction de WAIT(805) ou WAIT(805) NOT à la fin du
programme sera exécutée.
Programme
de bloc
Obligatoire
1140
ONE CYCLE AND WAIT(805) NOT
B
WAIT (NOT)
WAIT NOT
805 B: Bit d'opérande
Si le bit d'opérande est OFF (ON pour WAIT NOT(805)), les autres
instructions du programme de bloc seront ignorées. Dans le cycle
suivant, aucun élément du programme de bloc ne sera exécuté, sauf
pour la condition d'exécution de WAIT(805) ou WAIT(805) NOT.
Lorsque la condition d'exécution passe ON (OFF pour WAIT(805)
NOT), l'instruction de WAIT(805) ou WAIT(805) NOT à la fin du
programme sera exécutée.
Programme
de bloc
Obligatoire
1140
TIMW(813)
TIMER WAIT
N
TIMW
SV
813
(BCD)
Retarde l'exécution du programme de bloc jusqu'à la fin du délai
spécifié. A l'expiration de la temporisation, l'exécution reprend à
partir de l'instruction qui suit TIMW(813)/TIMWX(816).
SV: 0 à 999,9 s pour des données
BCD et 0 à 6 553,5 s pour des
données binaires
Programme
de bloc
Obligatoire
1144
TIMWX
816
(Binaire)
(CS1-H, CJ1-H,
CJ1M ou CS1D
uniquement)
N : Numéro de
temporisateur
SV : Valeur de
consigne
"A"
exécuté.
TIMWX(816)
N
SV
SV
prédéfinie.
N : Numéro de
temporisateur
SV : Valeur de
consigne
Temps écoulé.
"B" exécuté.
BEND
"C" exécuté.
C
99
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
Symbole/
Opérande
COUNTER WAIT CNTW(814)
N
CNTW
SV
814
(BCD)
CNTWX
818
(Binaire)
(CS1-H, CJ1-H,
CJ1M ou CS1D
uniquement)
N : Numéro
de compteur
SV : Valeur de
consigne
I : Entrée de
comptage
Fonction
Retarde l'exécution du reste du programme de bloc jusqu'à ce que le
compte spécifié ait été atteint. L'exécution reprendra à partir de l'instruction
qui suit CNTW(814)/CNTWX(818) lorsque le décompte sera terminé.
SV: 0 à 9 999 fois pour les données
BCD et 0 à 65 535 fois pour les
données binaires
Emplacement
Condition
d’exécution
Page
Programme
de bloc
Obligatoire
1147
Programme
de bloc
Obligatoire
1150
"A"
exécuté.
CNTWX(818)
N
SV
SV
prédéfinie.
Temps écoulé.
"B" exécuté.
N : Numéro
de compteur
SV : Valeur de
consigne
I : Entrée de
comptage
TMHW(815)
HIGH-SPEED
TIMER WAIT
N
TMHW
SV
815
(BCD)
N : Numéro de
temporisateur
TMHWX SV : Valeur de
817 consigne
(Binaire)
(CS1-H, CJ1-H, TMHWX(817)
CJ1M ou CS1D
N
uniquement)
SV
C
"C"
exécuté.
"C"
exécuté.
"C" exécuté.
Retarde l'exécution du reste du programme de bloc jusqu'à l'expiration
du délai spécifié. A l'expiration de la temporisation, l'exécution
reprendra à partir de l'instruction qui suit TMHW(815)/TMHWX(818).
SV: 0 à 99,99 fois pour les données
BCD et 0 à 655,35 fois pour les
données binaires
"A"
exécuté.
SV
prédéfinie.
N : Numéro de
temporisateur
SV : Valeur de
consigne
Temps écoulé.
"B" exécuté.
BEND
"C" exécuté.
C
100
Chapitre 2-2
Fonction des instructions
Symbole/
Opérande
Emplacement
Condition
d’exécution
Page
Programme
de bloc
Obligatoire
1153
LEND (810)
LEND(810) ou LEND(810) NOT spécifie la fin de la boucle. Lorsque
Programme
LEND(810) ou LEND(810) NOT est atteint, l'exécution du programme
de bloc
reviendra au précédent LOOP(809) jusqu'à ce que le bit d'opérande de Obligatoire
LEND(810) ou LEND(810) NOT passe à ON ou à OFF (respectivement)
ou jusqu'à ce que la condition d'exécution de LEND(810) passe à ON.
1153
LEND (810)
B
Si le bit d'opérande est OFF pour LEND(810) (ou ON pour LEND(810)
NOT), l'exécution de la boucle est répétée à partir de l'instruction qui suit
LOOP(809). Si le bit d'opérande est ON pour LEND(810) (ou OFF pour
LEND(810) NOT), la boucle est interrompue et l'exécution reprend à
partir de l'instruction qui suit LEND(810) ou LEND(810) NOT.
Programme
de bloc
Obligatoire
1153
Programme
LEND(810) ou LEND(810) NOT spécifie la fin de la boucle. Lorsque
de bloc
LEND(810) ou LEND(810) NOT est atteint, l'exécution du programme
revient au précédent LOOP(809) jusqu'à ce que le bit d'opérande de
Obligatoire
LEND(810) ou LEND(810) NOT passe à ON ou à OFF (respectivement)
ou jusqu'à ce que la condition d'exécution de LEND(810) passe à ON.
1153
Instruction
Mnémonique
Code
---
LOOP
LOOP
809
Fonction
LOOP(809) désigne le début du programme en boucle.
Condition
d'exécution
ON
Condition
Condition Condition
d'exécution d'exécution d'exécution
OFF
OFF
OFF
Condition d'exécution
Boucle répétée
LEND
LEND
810
LEND
LEND
810
B: Bit d'opérande
Bit
Bit
d'opérande d'opérande
ON
OFF
Bit
d'opérande
OFF
Bit
d'opérande
OFF
Boucle répétée
Remarque L'état du bit d'opérande serait inversé
pour LEND(810) NOT.
LEND(810) NOT
LEND NOT
LEND NOT
810 B: Bit d'opérande
101
Chapitre 2-2
Fonction des instructions
2-2-31 Instructions de traitement de chaînes de texte
Instruction
Mnémonique
Code
MOV STRING
MOV$
@MOV$
664
Symbole/
Opérande
MOV$(664)
Fonction
Emplacement
Condition
d’exécution
Page
Transfère une chaîne de texte.
Sortie
Obligatoire
1159
Lie une chaîne de texte à une autre chaîne de texte.
Sortie
Obligatoire
1161
Extrait un nombre désigné de caractères à partir de la gauche
(début) d'une chaîne de texte.
Sortie
Obligatoire
1164
Lit un nombre désigné de caractères à partir de la droite (fin) d'une
chaîne de texte.
Sortie
Obligatoire
1166
Sortie
Obligatoire
1168
S
D
S: 1er mot source
D: 1er mot de
destination
CONCATENATE
STRING
+$
@+$
656
+$(656)
S1
→
+
→
→
→
S2
D
S1: Chaîne de texte 1
S2: Chaîne de texte 2
D: Premier mot de
destination
GET STRING
LEFT
LEFT$
@LEFT$
652
LEFT$(652)
S1
S2
D
S1: Premier mot
de la chaîne de
texte
S2: Nombre de
caractères
D: Premier mot de
destination
GET STRING
RIGHT
RGHT$
@RGHT$
653
RGHT$(653)
S1
00
S2
D
S1: Premier mot
de la chaîne de
texte
S2: Nombre de
caractères
D: Premier mot de
destination
GET STRING
MIDDLE
MID$
@MID$
654
MID$(654)
S1
S2
S3
D
S1: Premier mot
de la chaîne de
texte
S2: Nombre de
caractères
S3: Position de
départ
D: Premier mot de
destination
102
Lit un nombre désigné de caractères à partir d'une position
quelconque au milieu d'une chaîne de texte.
→
→
Chapitre 2-2
Fonction des instructions
Instruction
Mnémonique
Code
FIND IN STRING
FIND
@FIND$
660
Symbole/
Opérande
FIND$(660)
S1
Fonction
Emplacement
Condition
d’exécution
Page
Recherche une chaîne de texte désignée à l'intérieur d'une chaîne
de texte.
Donnée trouvée
→
→
→
Sortie
Obligatoire
1171
Calcule la longueur d'une chaîne de texte.
Sortie
Obligatoire
1173
Sortie
Obligatoire
1175
Sortie
Obligatoire
1178
S2
D
S1: Premier mot
de la chaîne de
texte source
S2: Premier mot
de la chaîne de
texte trouvée
D: Premier mot
de destination
STRING LENGTH
LEN$
@LEN$
650
LEN$(650)
→
S
D
1
3
5
2
4
S: Premier mot de
la chaîne de texte
D: 1er mot de
destination
REPLACE IN
STRING
RPLC$
@RPLC$
661
RPLC$(654)
Remplace une chaîne de texte par une chaîne de texte désignée à
partir d'une position désignée.
S1
S2
→
→
S3
S4
D
S1: Premier mot
de la chaîne de
texte
S2: Premier mot
de la chaîne de
remplacement
S3: Nombre de
caractères
S4: Position de
départ
D: Premier mot
de destination
DELETE STRING
DEL$
@DEL$
658
DEL$(658)
S1
S2
S3
Supprime une chaîne de texte désignée au milieu d'une chaîne
de texte.
Nombre de caractères à
supprimer (désigné par S2).
→
→
G
D
S1: Premier mot
de la chaîne de
texte
S2: Nombre de
caractères
S3: Position de
départ
D: Premier mot
de destination
103
Chapitre 2-2
Fonction des instructions
Symbole/
Opérande
Instruction
Mnémonique
Code
EXCHANGE
STRING
XCHG$
@XCHG$
665
XCHG$(665)
Ex1
Fonction
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
1180
Sortie
Obligatoire
1182
Supprime une chaîne de texte désignée au milieu d'une chaîne de texte. Sortie
Obligatoire
→
1184
Remplace une chaîne de texte désignée par une autre chaîne de
texte désignée.
Ex1
Ex1
Ex2
Ex1: 1er mot
échange 1
Ex2: 1er mot
échange 2
CLEAR STRING
CLR$
@CLR$
666
CLR$(666)
Remet à zéro une chaîne de texte entière avec NUL (00 hex).
S→
S
S: Premier mot de
la chaîne de texte
INSERT INTO
STRING
INS$
@INS$
657
INS$(657)
S1
D
A
C
B
D
NUL
S→
NUL
NUL
S2
S3
Ex2
Ex2
→
→
Caractères
insérés
S1: Premier mot
de la chaîne de
texte de base
S2: Premier mot
de la chaîne de
texte à insérer
S3: Position de
départ
D: Premier mot
de destination
Comparaison de LD
chaînes
Symbole
LD, AND, OR +
=$, <>$, <$, <=$,
S1
>$, >=$
670 (=$)
S2
671 (<>$)
672 (<$)
673 (<=$) AND
674 (>$)
Symbole
675 (>=$)
S1
S2
OR
Symbole
S1
S2
S1: Chaîne de
texte 1
S2: Chaîne de
texte 2
104
Les instructions de comparaison de chaînes (=$, <>$, <$, <=$, >$,
>=$) comparent deux chaînes de texte à partir du début, en se basant
sur la valeur des codes ASCII. Si le résultat de la comparaison est vrai,
une condition d'exécution ON est créée pour un LOAD, un AND ou un
OR.
1187
LD : non
obligatoire
AND, OR :
obligatoire
Chapitre 2-2
Fonction des instructions
2-2-32 Instructions de contrôle des tâches
Instruction
Mnémonique
Code
Symbole/
Opérande
TASK ON
TKON
@TKON
820
TKON(820)
N
N: Numéro
de tâche
Fonction
Rend la tâche spécifiée exécutable.
Le numéro de la tâche spécifiée
est supérieur au numéro de la
tâche locale (m<n).
Tâche n
N
N: Numéro
de tâche
1192
Sortie
Obligatoire
1196
Devient
exécutable dans
le cycle
suivant.
Tâche n
Met la tâche spécifiée à l'état d'attente.
Le numéro de la tâche spécifiée
est supérieur au numéro de la
tâche locale (m<n).
Le numéro de la tâche spécifiée
est inférieur au numéro de la
tâche locale (m>n).
Tâche m
Tâche m
A l'état
d'attente
pendant
le cycle
suivant.
A l'état
d'attente
pendant
ce cycle.
Tâche n
Sortie
Obligatoire
Tâche m
Devient
exécutable
dans ce
cycle.
TKOF(821)
Page
Le numéro de la tâche spécifiée
est inférieur au numéro de la
tâche locale (m>n).
Tâche m
TASK OFF
TKOF
@TKOF
821
Emplacement
Condition
d’exécution
Tâche n
105
Chapitre 2-2
Fonction des instructions
2-2-33 Instructions de conversion des modèles
(UC ver. 3.0 ou supérieure uniquement)
Instruction
Mnémonique
Code
BLOCK
TRANSFER
XFERC
@XFERC
565
Symbole/
Opérande
Fonction
XFERC(565) Transfère le nombre de mots consécutifs spécifié.
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
1201
Sortie
Obligatoire
1203
Sortie
Obligatoire
1206
Sortie
Obligatoire
1211
Sortie
Obligatoire
1212
N
S
D
N mots
à
à
D+(N−1)
S+(N−1)
N: Nombre de
mots
S: 1er mot
source
D: 1er mot de
destination
SINGLE WORD
DISTRIBUTE
DISTC
@DISTC
566
DISTC(566)
S
Bs
Transfère le mot source vers un mot de destination calculé en
ajoutant une valeur de décalage à l'adresse de base. Peut
également écrire dans une pile (opération pousser sur pile).
S
Bs
Of
Of
S: Mot source
Bs: Adresse
destination de
Of: Décalage
Bs+n
DATA COLLECT
COLLC
@COLLC
567
COLLC(567)
Bs
Of
Transfère le mot source (calculé en ajoutant une valeur de décalage à
l'adresse de base) vers le mot de destination. Peut également lire les
données d'une pile suivant la séquence FIFO ou LIFO (opération lire sur
pile).
Of
Bs
D
Bs: Adresse
source de base
Of: Décalage
D: Mot de
destination
MOVE BIT
MOVBC
@MOVBC
568
MOVBC(568)
Bs+n
Transfère le bit spécifié.
S
C
D
S: Mot ou donnée
source
C: Mot de contrôle
D: Mot de
destination
BIT COUNTER
BCNTC
@BCNTC
621
BCNTC(621)
N
S
R
N: Nombre de
mots (BCD)
S: 1er mot source
R: Mot de résultat
106
Compte le nombre total de bits ON dans le(s) mot(s) spécifié(s).
à
N mots
Compte le nombre
de bits ON.
S+(N −1)
Résultat BCD
R
Chapitre 2-2
Fonction des instructions
2-2-34 Instructions spéciales des blocs fonction
Instruction
Mnémonique
Code
GET VARIABLE
ID
GETID
@GETID
286
Symbole/
Opérande
GETID(286)
S
Fonction
Sort le code et l’adresse mot du type de variable de commande FINS
(zone données) pour la variable ou l’adresse spécifiée. Cette
instruction est généralement utilisée pour obtenir l’adresse affectée à
une variable dans un bloc fonction.
Emplacement
Condition
d’exécution
Page
Sortie
Obligatoire
1214
D1
D2
S: Variable ou
adresse
D1: Code ID
D2: Mot de
destination
107
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
2-3
Liste alphabétique des instructions par mnémonique
A
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
ACC
ACCELERATION
CONTROL
888
@ACC
---
---
855
ACOS
ARC COSINE
464
@ACOS
---
---
589
ACOSD
DOUBLE ARC
COSINE
855
@ACOSD
---
---
645
AND
AND
---
@AND
%AND
!AND
157
AND <
AND LESS THAN
310
---
---
---
275
AND <$
AND STRING LESS
THAN
672
---
---
---
1187
AND <>
AND NOT EQUAL
305
---
---
---
275
AND <>$
AND STRING NOT
EQUAL
671
---
---
---
1187
AND <>D
AND DOUBLE
FLOATING NOT
EQUAL
336
---
---
---
657
AND <> DT
AND TIME NOT
EQUAL
342
---
---
---
281
AND <>F
AND FLOATING NOT
EQUAL
330
---
---
---
600
AND <>L
AND DOUBLE NOT
EQUAL
306
---
---
---
275
AND <>S
AND SIGNED NOT
EQUAL
307
---
---
---
275
AND <>SL
AND DOUBLE
SIGNED NOT EQUAL
308
---
---
---
275
AND <D
AND DOUBLE
FLOATING LESS
THAN
337
---
---
---
657
AND <DT
AND TIME LESS
THAN
343
---
---
---
281
AND <F
AND FLOATING LESS
THAN
331
---
---
---
600
AND <L
AND DOUBLE LESS
THAN
311
---
---
---
275
AND <S
AND SIGNED LESS
THAN
312
---
---
---
275
AND <SL
AND DOUBLE
SIGNED LESS THAN
313
---
---
---
275
AND =
AND EQUAL
300
---
---
---
275
AND =$
AND STRING EQUALS 670
---
---
---
1187
AND =D
AND DOUBLE
FLOATING EQUAL
335
---
---
---
657
AND =DT
AND TIME EQUAL
341
---
---
---
281
AND =F
AND FLOATING
EQUAL
329
---
---
---
600
AND =L
AND DOUBLE EQUAL
301
---
---
---
275
AND =S
AND SIGNED EQUAL
302
---
---
---
275
AND =SL
AND DOUBLE
SIGNED EQUAL
303
---
---
---
275
AND >
AND GREATER THAN
320
---
---
---
275
AND >$
AND STRING
GREATER THAN
674
---
---
---
1187
AND >D
AND DOUBLE
FLOATING GREATER
THAN
339
---
---
---
657
AND >DT
AND TIME GREATER
THAN
345
---
---
---
281
108
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
AND >F
AND FLOATING
GREATER THAN
333
---
---
---
600
AND >L
AND DOUBLE
GREATER THAN
321
---
---
---
275
AND >S
AND SIGNED
GREATER THAN
322
---
---
---
275
AND >SL
AND DOUBLE
SIGNED GREATER
THAN
323
---
---
---
275
AND LD
AND LOAD
---
---
---
---
164
AND NOT
AND NOT
---
---
---
!AND NOT
159
AND TST
AND BIT TEST
350
---
---
---
174
AND TSTN
AND BIT TEST
351
---
---
---
174
AND <=
AND LESS THAN OR
EQUAL
315
---
---
---
275
AND <=$
AND STRING LESS
THAN OR EQUAL
673
---
---
---
1187
AND <=D
AND DOUBLE
FLOATING LESS
THAN OR EQUAL
338
---
---
---
657
AND <=DT
AND TIME LESS
THAN OR EQUAL
344
---
---
---
281
AND <=F
AND FLOATING LESS
THAN OR EQUAL
332
---
---
---
600
AND <=L
AND DOUBLE LESS
THAN OR EQUAL
316
---
---
---
275
AND <=S
AND SIGNED LESS
THAN OR EQUAL
317
---
---
---
275
AND <=SL
AND DOUBLE
SIGNED LESS THAN
OR EQUAL
318
---
---
---
275
AND >=
AND GREATER THAN
OR EQUAL
325
---
---
---
275
AND >=$
AND STRING
GREATER THAN OR
EQUALS
675
---
---
---
1187
AND >=D
AND DOUBLE
FLOATING GREATER
THAN OR EQUAL
340
---
---
---
657
AND >=DT
AND TIME GREATER
THAN OR EQUAL
346
---
---
---
281
AND >=F
AND FLOATING
GREATER THAN OR
EQUAL
334
---
---
---
600
AND >=L
AND DOUBLE
GREATER THAN OR
EQUAL
326
---
---
---
275
AND >=S
AND SIGNED
GREATER THAN OR
EQUAL
327
---
---
---
275
AND >=SL
AND DOUBLE
SIGNED GREATER
THAN OR EQUAL
328
---
---
---
275
ANDL
DOUBLE LOGICAL
AND
610
@ANDL
---
---
519
ANDW
LOGICAL AND
034
@ANDW
---
---
517
APR
ARITHMETIC
PROCESS
069
@APR
---
---
540
ASC
ASCII CONVERT
086
@ASC
---
---
486
ASFT
ASYNCHRONOUS
SHIFT REGISTER
017
@ASFT
---
---
349
ASIN
ARC SINE
463
@ASIN
---
---
587
ASIND
DOUBLE ARC SINE
854
@ASIND
---
---
643
ASL
ARITHMETIC SHIFT
LEFT
025
@ASL
---
---
354
109
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
ASLL
DOUBLE SHIFT LEFT
570
@ASLL
---
---
355
ASR
ARITHMETIC SHIFT
RIGHT
026
@ASR
---
---
357
ASRL
DOUBLE SHIFT
RIGHT
571
@ASRL
---
---
358
ATAN
ARC TANGENT
465
@ATAN
---
---
591
ATAND
DOUBLE ARC
TANGENT
856
@ATAND
---
---
647
AVG
AVERAGE
195
---
---
---
769
B
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
BAND
DEAD BAND
CONTROL
681
@BAND
---
---
743
BCD
BINARY-TO-BCD
024
@BCD
---
---
469
BCDL
DOUBLE BINARY-TOBCD
059
@BCDL
---
---
470
BCDS
SIGNED BINARY-TOBCD
471
@BCDS
---
---
505
BCMP
UNSIGNED BLOCK
COMPARE
068
@BCMP
---
---
304
BCMP2
EXPANDED BLOCK
COMPARE
502
@BCMP2
---
---
306
BCNT
BIT COUNTER
067
@BCNT
---
---
556
BCNTC
BIT COUNTER
621
@BCNTC
---
---
1212
BDSL
DOUBLE SIGNED
BINARY-TO-BCD
473
@BDSL
---
---
507
BEND
BLOCK PROGRAM
END
801
---
---
---
1128
BIN
BCD-TO-BINARY
023
@BIN
---
---
466
BINL
DOUBLE BCD-TODOUBLE BINARY
058
@BINL
---
---
467
BINS
SIGNED BCD-TOBINARY
470
@BINS
---
---
499
BISL
DOUBLE SIGNED
BCD-TO-BINARY
472
@BISL
---
---
502
BPPS
BLOCK PROGRAM
PAUSE
811
---
---
---
1131
BPRG
BLOCK PROGRAM
BEGIN
096
---
---
---
1128
BPRS
BLOCK PROGRAM
RESTART
812
---
---
---
1131
BREAK
BREAK LOOP
514
---
---
---
232
BSET
BLOCK SET
071
@BSET
---
---
331
C
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
CADD
CALENDAR ADD
730
@CADD
---
---
1061
CCL
LOAD CONDITION
FLAGS
283
@CCL
---
---
1112
CCS
SAVE CONDITION
FLAGS
282
@CCS
---
---
1110
CJP
CONDITIONAL JUMP
510
---
---
---
223
CJPN
CONDITIONAL JUMP
511
---
---
---
223
CLC
CLEAR CARRY
041
@CLC
---
---
1105
CLI
CLEAR INTERRUPT
691
@CLI
---
---
809
110
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
CLR$
CLEAR STRING
666
@CLR$
---
---
1182
CMND
DELIVER COMMAND
490
@CMND
---
---
1003
CMP
COMPARE
020
---
---
!CMP
287
CMPL
DOUBLE COMPARE
060
---
---
---
290
CNR
RESET TIMER/
COUNTER
545
@CNR
---
---
267
CNRX
RESET TIMER/
COUNTER
548
@CNRX
---
---
267
CNT
COUNTER
---
---
---
---
260
CNTX
COUNTER
546
---
---
---
260
CNTR
REVERSIBLE
COUNTER
012
---
---
---
263
CNTRX
REVERSIBLE
COUNTER
548
---
---
---
263
CNTW
COUNTER WAIT
814
---
---
---
1147
CNTWX
COUNTER WAIT
818
---
---
---
1147
COLL
DATA COLLECT
081
@COLL
---
---
338
COLLC
DATA COLLECT
567
@COLLC
---
---
1206
COLM
LINE TO COLUMN
064
@COLM
---
---
496
COM
COMPLEMENT
029
---
---
---
531
COML
DOUBLE
COMPLEMENT
614
@COML
---
---
533
COS
COSINE
461
@COS
---
---
583
COSD
DOUBLE COSINE
852
@COSD
---
---
639
CPS
SIGNED BINARY
COMPARE
114
---
---
!CPS
293
CPSL
DOUBLE SIGNED
BINARY COMPARE
115
---
---
---
296
CSUB
CALENDAR
SUBTRACT
731
@CSUB
---
---
1065
CTBL
COMPARISON TABLE
LOAD
882
@CTBL
---
---
837
D
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
DATE
CLOCK ADJUSTMENT 735
@DATE
---
---
1073
DBL
16-BIT BINARY TO
DOUBLE FLOATING
843
@DBL
---
---
623
DBLL
32-BIT BINARY TO
DOUBLE FLOATING
844
@DBLL
---
---
624
DEG
RADIANS-TO
DEGREES
459
@DEG
---
---
579
DEGD
DOUBLE RADIANS TO 850
DEGREES
@RADD
---
---
634
DEL$
DELETE STRING
658
@DEL$
---
---
1178
DI
DISABLE
INTERRUPTS
693
@DI
---
---
814
DIFD
DIFFERENTIATE
DOWN
014
---
---
!DIFD
184
DIFU
DIFFERENTIATE UP
013
---
---
!DIFU
184
DIM
DIMENSION RECORD
TABLE
631
@DIM
---
---
678
DIST
SINGLE WORD
DISTRIBUTE
080
@DIST
---
---
336
DISTC
SINGLE WORD
DISTRIBUTE
566
@DISTC
---
---
1203
111
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
Mnémonique
Instruction
Code fonction
DLNK
CPU BUS UNIT I/O
REFRESH
226
DMPX
DATA ENCODER
DOWN
CONDITION OFF
DSW
DIGITAL SWITCH
INPUT
Différentiation
sur front
montant
Différentiation
sur front
descendant
Page
Spécification de
rafraîchissement
immédiat
@DLNK
---
---
921
077
@DMPX
---
---
482
522
---
---
---
173
210
---
---
---
890
E
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
ECHRD
EXPLICIT WORD
READ
723
@ECHRD
---
---
1034
ECHWR
EXPLICIT WORD
WRITE
724
@ECHWR
---
---
1038
EGATR
EXPLICIT GET
ATTRIBUTE
721
@EGATR
---
---
1021
EI
ENABLE
INTERRUPTS
694
---
---
---
816
ELSE
ELSE
803
---
---
---
1133
EMBC
SELECT EM BANK
281
@EMBC
---
---
1106
END
END
001
---
---
---
197
ESATR
EXPLICIT SET
ATTRIBUTE
722
@ESATR
---
---
1028
EXIT NOT
(opérande)
CONDITIONAL BLOCK 806
EXIT NOT
---
---
---
1137
EXIT (condition
d'entrée)
CONDITIONAL BLOCK 806
EXIT
---
---
---
1137
EXIT
(opérande)
CONDITIONAL BLOCK 806
EXIT
---
---
---
1137
EXP
EXPONENT
467
@EXP
---
---
595
EXPD
DOUBLE EXPONENT
858
@EXPD
---
---
651
EXPLT
EXPLICIT MESSAGE
SEND
720
@EXPLT
---
---
1013
F
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
FAL
FAILURE ALARM
006
@FAL
---
---
1079
FALS
SEVERE FAILURE
ALARM
007
---
---
---
1087
FCS
FRAME CHECKSUM
180
@FCS
---
---
700
FDIV
FLOATING POINT
DIVIDE
079
@FDIV
---
---
552
FIFO
FIRST IN FIRST OUT
633
@FIFO
---
---
672
FIND$
FIND IN STRING
660
@FIND$
---
---
1171
FIX
FLOATING TO 16-BIT
450
@FIX
---
---
563
FIXD
DOUBLE FLOATING
TO 16-BIT BINARY
841
@FIXD
---
---
620
FIXL
FLOATING TO 32-BIT
451
@FIXL
---
---
565
FIXLD
DOUBLE FLOATING
TO 32-BIT BINARY
842
@FIXLD
---
---
621
FLT
16-BIT TO FLOATING
452
@FLT
---
---
566
FLTL
32-BIT TO FLOATING
453
@FLTL
---
---
568
FOR
FOR-NEXT LOOPS
512
---
---
---
229
FPD
FAILURE POINT
DETECTION
269
---
---
---
1095
FREAD
READ DATA FILE
700
@FREAD
---
---
1045
112
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
FRMCV
CONVERT ADDRESS
FROM CV
284
@FRMCV
---
---
1113
FSTR
FLOATING POINT TO
ASCII
448
@FSTR
---
---
604
FWRIT
WRITE DATA FILE
701
@FWRIT
---
---
1052
FVAL
ASCII TO FLOATING
POINT
449
@FVAL
---
---
609
G
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
GETID
GET VARIABLE ID
286
@GETID
---
---
1214
GETR
GET RECORD
NUMBER
636
@GETR
---
---
683
GRET
GLOBAL
SUBROUTINE
RETURN
752
---
---
---
797
GRY
GRAY CODE
CONVERSION
474
@GRY
---
---
511
GSBN
GLOBAL
SUBROUTINE ENTRY
751
---
---
---
794
GSBS
GLOBAL
SUBROUTINE CALL
750
@GSBS
---
---
786
H
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
HEX
ASCII TO HEX
162
@HEX
---
---
490
HKY
HEXADECIMAL KEY
INPUT
212
---
---
---
899
HMS
SECONDS TO HOURS 066
@HMS
---
---
1070
I
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
IEND
IF END
804
---
---
---
1133
IF NOT
(opérande)
IF NOT
802
---
---
---
1133
IF (condition
d'entrée)
IF
802
---
---
---
1133
1133
IF (opérande)
IF
802
---
---
---
IL
INTERLOCK
002
---
---
---
201
ILC
INTERLOCK CLEAR
003
---
---
---
201
INI
MODE CONTROL
880
@INI
---
---
823
INS$
INS$
657
@INS$
---
---
1184
IORD
INTELLIGENT I/O
READ
222
@IORD
---
---
913
IORF
I/O REFRESH
097
@IORF
---
---
885
IORS
ENABLE
PERIPHERAL
SERVICING
288
---
---
---
1123
IOSP
DISABLE
PERIPHERAL
SERVICING
287
@IOSP
---
---
1121
IOWR
INTELLIGENT I/O
WRITE
223
@IOWR
---
---
917
113
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
J
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
JME
JUMP END
005
---
---
---
219
JME0
MULTIPLE JUMP END
516
---
---
---
227
JMP
JUMP
004
---
---
---
219
JMP0
MULTIPLE JUMP
515
---
---
---
227
K
Mnémonique
KEEP
Instruction
KEEP
Code fonction
011
Différentiation
sur front
montant
---
Différentiation
sur front
descendant
---
Spécification de
rafraîchissement
immédiat
!KEEP
Page
179
L
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
LD
LOAD
---
@LD
%LD
!LD
153
LD <
LOAD LESS THAN
310
---
---
---
275
LD <$
LOAD STRING LESS
THAN
672
---
---
---
1187
LD <D
LOAD DOUBLE
FLOATING LESS
THAN
337
---
---
---
657
LD <DT
LOAD TIME LESS
THAN
343
---
---
---
281
LD <F
LOAD FLOATING
LESS THAN
331
---
---
---
600
LD <>
LOAD NOT EQUAL
305
---
---
---
275
LD <>$
LOAD STRING NOT
EQUAL
671
---
---
---
1187
LD <>D
LOAD DOUBLE
FLOATING NOT
EQUAL
336
---
---
---
657
LD <>DT
LOAD TIME NOT
EQUAL
342
---
---
---
281
LD <>F
LOAD FLOATING NOT
EQUAL
330
---
---
---
600
LD <>L
LOAD DOUBLE NOT
EQUAL
306
---
---
---
275
LD <>S
LOAD SIGNED NOT
EQUAL
307
---
---
---
275
LD <>SL
LOAD DOUBLE
SIGNED NOT EQUAL
308
---
---
---
275
LD <L
LOAD DOUBLE LESS
THAN
311
---
---
---
275
LD <S
LOAD SIGNED LESS
THAN
312
---
---
---
275
LD <SL
LOAD DOUBLE
SIGNED LESS THAN
313
---
---
---
275
LD =
LOAD EQUAL
300
---
---
---
275
LD =$
LOAD STRING
EQUALS
670
---
---
---
1187
LD =D
LOAD DOUBLE
FLOATING EQUAL
335
---
---
---
657
LD =DT
LOAD TIME EQUAL
341
---
---
---
281
LD =F
LOAD FLOATING
EQUAL
329
---
---
---
600
LD =L
LOAD DOUBLE
EQUAL
301
---
---
---
275
LD =S
LOAD SIGNED EQUAL 302
---
---
---
275
114
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
LD =SL
LOAD DOUBLE
SIGNED EQUAL
303
---
---
---
275
LD >
LOAD GREATER
THAN
320
---
---
---
275
LD >$
LOAD STRING
GREATER THAN
674
---
---
---
1187
LD >D
LOAD DOUBLE
FLOATING GREATER
THAN
339
---
---
---
657
LD >DT
LOAD TIME GREATER 345
THAN
---
---
---
281
LD >F
LOAD FLOATING
GREATER THAN
333
---
---
---
600
LD >L
LOAD DOUBLE
GREATER THAN
321
---
---
---
275
LD >S
LOAD SIGNED
GREATER THAN
322
---
---
---
275
LD >SL
LOAD DOUBLE
SIGNED GREATER
THAN
323
---
---
---
275
LD NOT
LOAD NOT
---
---
---
!LD NOT
155
LD TST
LOAD BIT TEST
350
---
---
---
174
LD TSTN
LOAD BIT TEST
351
---
---
---
174
LD <=
LOAD LESS THAN OR
EQUAL
315
---
---
---
275
LD <=$
LOAD STRING LESS
THAN OR EQUAL
673
---
---
---
1187
LD <=D
LOAD DOUBLE
FLOATING LESS
THAN OR EQUAL
338
---
---
---
657
LD <=DT
LOAD TIME LESS
THAN OR EQUAL
344
---
---
---
281
LD <=F
LOAD FLOATING
LESS THAN OR
EQUAL
332
---
---
---
600
LD <=L
LOAD DOUBLE LESS
THAN OR EQUAL
316
---
---
---
275
LD <=S
LOAD SIGNED LESS
THAN OR EQUAL
317
---
---
---
275
LD <=SL
LOAD DOUBLE
SIGNED LESS THAN
OR EQUAL
318
---
---
---
275
LD >=
LOAD GREATER
THAN OR EQUAL
325
---
---
---
275
LD >=$
LOAD STRING
GREATER THAN OR
EQUALS
675
---
---
---
1187
LD >=D
LOAD DOUBLE
FLOATING GREATER
THAN OR EQUAL
340
---
---
---
657
LD >=DT
LOAD TIME GREATER 346
THAN OR EQUAL
---
---
---
281
LD >=F
LOAD FLOATING
GREATER THAN OR
EQUAL
334
---
---
---
600
LD >=L
LOAD DOUBLE
GREATER THAN OR
EQUAL
326
---
---
---
275
LD >=S
LOAD SIGNED
GREATER THAN OR
EQUAL
327
---
---
---
275
LD >=SL
LOAD DOUBLE
SIGNED GREATER
THAN OR EQUAL
328
---
---
---
275
115
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
LEFT$
GET STRING LEFT
652
@LEFT$
---
---
LEN$
STRING LENGTH
650
@LEN$
---
---
1164
1173
LEND NOT
(opérande)
LOOP END NOT
810
---
---
---
1153
LEND
(condition
d'entrée)
LOOP END
810
---
---
---
1153
LEND
(opérande)
LOOP END
810
---
---
---
1153
LIFO
LAST IN FIRST OUT
634
@LIFO
---
---
675
LINE
COLUMN TO LINE
063
@LINE
---
---
494
LMT
LIMIT CONTROL
680
@LMT
---
---
741
LOG
LOGARITHM
468
@LOG
---
---
597
LOGD
DOUBLE LOGARITHM 859
@LOGD
---
---
653
LOOP
LOOP
---
---
---
1153
809
M
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
MAX
FIND MAXIMUM
182
@MAX
---
---
MCMP
MULTIPLE COMPARE
019
@MCMP
---
---
689
299
MCRO
MACRO
099
@MCRO
---
---
779
MID$
GET STRING MIDDLE
654
@MID$
---
---
1168
MILC
MULTI-INTERLOCK
CLEAR
519
---
---
---
205
MILH
MULTI-INTERLOCK
DIFFERENTIATION
HOLD
517
---
---
---
205
MILR
MULTI-INTERLOCK
DIFFERENTIATION
RELEASE
518
---
---
---
205
MIN
FIND MINIMUM
183
@MIN
---
---
693
MLPX
DATA DECODER
076
@MLPX
---
---
477
MOV
MOVE
021
@MOV
---
!MOV
315
MOV$
MOVE STRING
664
@MOV$
---
---
1159
MOVB
MOVE BIT
082
@MOVB
---
---
321
MOVBC
MOVE BIT
568
@MOVBC
---
---
1211
MOVD
MOVE DIGIT
083
@MOVD
---
---
323
MOVL
DOUBLE MOVE
498
@MOVL
---
---
318
MOVR
MOVE TO REGISTER
560
@MOVR
---
---
340
MOVRW
MOVE TIMER/
COUNTER PV TO
REGISTER
561
---
---
---
342
MSG
DISPLAY MESSAGE
046
@MSG
---
---
1058
MSKR
READ INTERRUPT
MASK
692
@MSKR
---
---
804
MSKS
SET INTERRUPT
MASK
690
@MSKS
---
---
798
MTIM
MULTI-OUTPUT
TIMER
543
---
---
---
254
MTIMX
MULTI-OUTPUT
TIMER
554
---
---
---
254
MTR
MATRIX INPUT
213
---
---
---
904
MVN
MOVE NOT
022
@MVN
---
---
317
MVNL
DOUBLE MOVE NOT
499
@MVNL
---
---
320
116
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
N
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
NASL
SHIFT N-BITS LEFT
580
@NASL
---
---
381
NASR
SHIFT N-BITS RIGHT
581
@NASR
---
---
387
NEG
2'S COMPLEMENT
160
@NEG
---
---
472
NEGL
DOUBLE 2’S
COMPLEMENT
161
@NEGL
---
---
474
NEXT
FOR-NEXT LOOPS
513
---
---
---
229
NOP
NO OPERATION
000
---
---
---
198
NOT
NOT
520
---
---
---
172
NSFL
SHIFT N-BIT DATA
LEFT
578
@NSFL
---
---
377
NSFR
SHIFT N-BIT DATA
RIGHT
579
@NSFR
---
---
379
NSLL
DOUBLE SHIFT
N-BITS LEFT
582
@NSLL
---
---
384
NSRL
DOUBLE SHIFT
N-BITS RIGHT
583
@NSRL
---
---
389
O
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
OR
OR
---
@OR
%OR
!OR
OR <
OR LESS THAN
310
---
---
---
161
275
OR <$
OR STRING LESS
THAN
672
---
---
---
1187
OR <>
OR NOT EQUAL
305
---
---
---
275
OR <>$
OR STRING NOT
EQUAL
671
---
---
---
1187
OR <>D
OR DOUBLE
FLOATING NOT
EQUAL
336
---
---
---
657
OR <>DT
OR TIME NOT EQUAL
342
---
---
---
281
OR <>F
OR FLOATING NOT
EQUAL
330
---
---
---
600
OR <>L
OR DOUBLE NOT
EQUAL
306
---
---
---
275
OR <>S
OR SIGNED NOT
EQUAL
307
---
---
---
275
OR <>SL
OR DOUBLE SIGNED
NOT EQUAL
308
---
---
---
275
OR <D
OR DOUBLE
FLOATING LESS
THAN
337
---
---
---
657
OR <DT
OR TIME LESS THAN
343
---
---
---
281
OR <F
OR FLOATING LESS
THAN
331
---
---
---
600
OR <L
OR DOUBLE LESS
THAN
311
---
---
---
275
OR <S
OR SIGNED LESS
THAN
312
---
---
---
275
OR <SL
OR DOUBLE SIGNED
LESS THAN
313
---
---
---
275
OR =
OR EQUAL
300
---
---
---
275
OR =$
OR STRING EQUALS
670
---
---
---
1187
OR =D
OR DOUBLE
FLOATING EQUAL
335
---
---
---
657
OR =DT
OR TIME EQUAL
341
---
---
---
281
OR =F
OR FLOATING EQUAL
329
---
---
---
600
117
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
OR =L
OR DOUBLE EQUAL
301
---
---
---
275
OR =S
OR SIGNED EQUAL
302
---
---
---
275
OR =SL
OR DOUBLE SIGNED
EQUAL
303
---
---
---
275
OR >
OR GREATER THAN
320
---
---
---
275
OR >$
OR STRING GREATER 674
THAN
---
---
---
1187
OR >D
OR DOUBLE
FLOATING GREATER
THAN
339
---
---
---
657
OR >DT
OR TIME GREATER
THAN
345
---
---
---
281
OR >F
OR FLOATING
GREATER THAN
333
---
---
---
600
OR >L
OR DOUBLE
GREATER THAN
321
---
---
---
275
OR >S
OR SIGNED
GREATER THAN
322
---
---
---
275
OR >SL
OR DOUBLE SIGNED
GREATER THAN
323
---
---
---
275
OR LD
OR LOAD
---
---
---
---
166
OR NOT
OR NOT
---
---
---
!OR NOT
163
OR TST
OR BIT TEST
350
---
---
---
174
OR TSTN
OR BIT TEST
351
---
---
---
174
OR <=
OR LESS THAN OR
EQUAL
315
---
---
---
275
OR <=$
OR STRING LESS
THAN OR EQUALS
673
---
---
---
1187
OR <=D
OR DOUBLE
FLOATING LESS
THAN OR EQUAL
338
---
---
---
657
OR <=DT
OR TIME LESS THAN
OR EQUAL
344
---
---
---
281
OR <=F
OR FLOATING LESS
THAN OR EQUAL
332
---
---
---
600
OR <=L
OR DOUBLE LESS
THAN OR EQUAL
316
---
---
---
275
OR <=S
OR SIGNED LESS
THAN OR EQUAL
317
---
---
---
275
OR <=SL
OR DOUBLE SIGNED
LESS THAN OR
EQUAL
318
---
---
---
275
OR >=
OR GREATER THAN
OR EQUAL
325
---
---
---
275
OR >=$
OR STRING GREATER 675
THAN OR EQUALS
---
---
---
1187
OR >=D
OR DOUBLE
FLOATING GREATER
THAN OR EQUAL
340
---
---
---
657
OR >=DT
OR TIME GREATER
THAN OR EQUAL
346
---
---
---
281
OR >=F
OR FLOATING
GREATER THAN OR
EQUAL
334
---
---
---
600
OR >=L
OR DOUBLE
GREATER THAN OR
EQUAL
326
---
---
---
275
OR >=S
OR SIGNED
GREATER THAN OR
EQUAL
327
---
---
---
275
OR >=SL
OR DOUBLE SIGNED
GREATER THAN OR
EQUAL
328
---
---
---
275
118
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
ORG
ORIGIN SEARCH
889
@ORG
---
---
862
ORW
LOGICAL OR
035
@ORW
---
---
520
ORWL
DOUBLE LOGICAL OR 611
@ORWL
---
---
522
OUT
OUTPUT
---
---
---
!OUT
177
OUTB
SINGLE BIT OUTPUT
534
@OUTB
---
!OUTB
195
OUT NOT
OUTPUT NOT
---
---
---
!OUT NOT
178
P
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
PID
PID CONTROL
190
---
---
---
720
PIDAT
PID CONTROL WITH
AUTOTUNING
191
---
---
---
731
PMCR
PROTOCOL MACRO
260
@PMCR
---
---
928
PRV
HIGH-SPEED
COUNTER PV READ
881
@PRV
---
---
827
PRV2
COUNTER
FREQUENCY
CONVERT
883
@PRV2
---
---
833
PULS
SET PULSES
886
@PULS
---
---
846
PLS2
PULSE OUTPUT
887
@PLS2
---
---
849
PUSH
PUSH ONTO STACK
632
@PUSH
---
---
669
PWM
PULSE WITH
VARIABLE DUTY
FACTOR
891
@PWM
---
---
865
PWR
EXPONENTIAL
POWER
840
@PWR
---
---
599
PWRD
DOUBLE
EXPONENTIAL
POWER
860
@PWRD
---
---
655
R
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
RAD
DEGREES TO
RADIANS
458
@RAD
---
---
597
RADD
DOUBLE DEGREES
TO RADIANS
849
@RADD
---
---
634
RECV
NETWORK RECEIVE
098
@RECV
---
---
997
RET
SUBROUTINE
RETURN
093
---
---
---
786
RGHT$
GET STRING RIGHT
653
@RGHT$
---
---
1166
RLNC
ROTATE LEFT
WITHOUT CARRY
574
@RLNC
---
---
367
RLNL
DOUBLE ROTATE
LEFT WITHOUT
CARRY
576
@RLNL
---
---
369
ROL
ROTATE LEFT
027
@ROL
---
---
360
ROLL
DOUBLE ROTATE
LEFT
572
@ROLL
---
---
362
ROOT
BCD SQUARE ROOT
072
@ROOT
---
---
536
ROR
ROTATE RIGHT
028
@ROR
---
---
364
RORL
DOUBLE ROTATE
RIGHT
573
@RORL
---
---
365
ROTB
BINARY ROOT
620
@ROTB
---
---
534
RPLC$
REPLACE IN STRING
661
@RPLC$
---
---
1175
RRNC
ROTATE RIGHT
WITHOUT CARRY
575
@RRNC
---
---
371
119
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
RRNL
DOUBLE ROTATE
RIGHT WITHOUT
CARRY
577
@RRNL
---
---
372
RSET
RESET
---
@RSET
%RSET
!RSET
186
RSTA
MULTIPLE BIT RESET
531
@RSTA
---
---
189
RSTB
SINGLE BIT RESET
533
@RSTB
---
!RSTB
192
RXD
RECEIVE
235
@RXD
---
---
944
RXDU
RECEIVE VIA SERIAL
COMMUNICATIONS
UNIT
255
@RXDU
---
---
960
S
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
SBN
SUBROUTINE ENTRY
092
---
---
---
783
SBS
SUBROUTINE CALL
091
@SBS
---
---
773
SCL
SCALING
194
@SCL
---
---
757
SCL2
SCALING 2
486
@SCL2
---
---
762
SCL3
SCALING 3
487
@SCL3
---
---
766
SDEC
7-SEGMENT
DECODER
078
@SDEC
---
---
928
SDEL
STACK DATA DELETE
642
SEC
HOURS TO SECONDS 065
@SDEL
---
---
716
@SEC
---
---
1068
SEND
NETWORK SEND
090
@SEND
---
---
991
SET
SET
---
@SET
%SET
!SET
186
SETA
MULTIPLE BIT SET
530
@SETA
---
---
189
SETB
SINGLE BIT SET
532
@SETB
---
!SETB
192
SETR
SET RECORD
LOCATION
635
@SETR
---
---
681
SFT
SHIFT REGISTER
010
---
---
---
345
SFTR
REVERSIBLE SHIFT
REGISTER
084
@SFTR
---
---
346
SIGN
16-BIT TO 32-BIT
SIGNED BINARY
600
@SIGN
---
---
476
SIN
SINE
460
@SIN
---
---
581
SIND
DOUBLE SINE
851
@SIND
---
---
637
SINS
STACK DATA INSERT
641
@SINS
---
---
713
SLD
ONE DIGIT SHIFT
LEFT
074
@SLD
---
---
374
SNUM
STACK SIZE READ
638
@SNUM
---
---
704
SNXT
STEP START
009
---
---
---
868
SPED
SPEED OUTPUT
885
@SPED
---
---
841
SQRT
SQUARE ROOT
466
@SQRT
---
---
593
SQRTD
DOUBLE SQUARE
ROOT
857
@SQRTD
---
---
649
SRCH
DATA SEARCH
181
@SRCH
---
---
685
SRD
ONE DIGIT SHIFT
RIGHT
075
@SRD
---
---
376
SREAD
STACK DATA READ
639
@SREAD
---
---
707
SSET
SET STACK
630
@SSET
---
---
666
STC
SET CARRY
040
@STC
---
---
1104
STEP
STEP DEFINE
008
---
---
---
868
STUP
CHANGE SERIAL
PORT SETUP
237
@STUP
---
---
968
SUM
SUM
184
@SUM
---
---
697
120
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
SWAP
SWAP BYTES
637
@SWAP
---
---
687
SWRIT
STACK DATA WRITE
640
@SWRIT
---
---
710
T
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
TAN
TANGENT
462
@TAN
---
---
585
TAND
DOUBLE TANGENT
853
@TAND
---
---
641
TCMP
TABLE COMPARE
085
@TCMP
---
---
301
TIM
TIMER
---
---
---
---
235
TIMH
HIGH-SPEED TIMER
015
---
---
---
240
TIMHX
HIGH-SPEED TIMER
551
---
---
---
240
TIML
LONG TIMER
542
---
---
---
251
TIMLX
LONG TIMER
553
---
---
---
251
TIMW
TIMER WAIT
813
---
---
---
1144
TIMWX
TIMER WAIT
816
---
---
---
1144
TIMX
TIMER
505
---
---
---
235
TKOF
TASK OFF
821
@TKOF
---
---
1196
TKON
TASK ON
820
@TKON
---
---
1192
TKY
TEN KEY INPUT
211
@TKY
---
---
896
244
TMHH
ONE-MS TIMER
540
---
---
---
TMHHX
ONE-MS TIMER
552
---
---
---
244
TMHW
HIGH-SPEED TIMER
WAIT
815
---
---
---
1150
TMHWX
HIGH-SPEED TIMER
WAIT
817
---
---
---
1150
TOCV
CONVERT ADDRESS
TO CV
285
@TOCV
---
---
1117
TPO
TIMEPROPORTIONAL
OUTPUT
685
---
---
---
749
TRSM
TRACE MEMORY
SAMPLING
045
---
---
---
1075
TTIM
ACCUMULATIVE
TIMER
087
---
---
---
247
TTIMX
ACCUMULATIVE
TIMER
555
---
---
---
247
TXD
TRANSMIT
236
@TXD
---
---
937
TXDU
TRANSMIT VIA
SERIAL
COMMUNICATIONS
UNIT
256
@TXDU
---
---
952
U
Mnémonique
UP
Instruction
CONDITION ON
Code fonction
521
Différentiation
sur front
montant
---
Différentiation
sur front
descendant
---
Spécification de
rafraîchissement
immédiat
---
Page
173
W
Mnémonique
WAIT NOT
(opérande)
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
ONE CYCLE AND
WAIT NOT
805
---
---
---
1140
WAIT (condition ONE CYCLE AND
d'entrée)
WAIT
805
---
---
---
1140
121
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
WAIT
(opérande)
ONE CYCLE AND
WAIT
805
---
---
---
1140
WDT
EXTEND MAXIMUM
CYCLE TIME
094
@WDT
---
---
1108
WSFT
WORD SHIFT
016
@WSFT
---
---
352
X
Mnémonique
XCGL
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
DOUBLE DATA
EXCHANGE
562
@XCGL
---
---
334
XCHG
DATA EXCHANGE
073
@XCHG
---
---
333
XCHG$
EXCHANGE STRING
665
@XCHG$
---
---
1180
XFER
BLOCK TRANSFER
070
@XFER
---
---
328
XFERC
BLOCK TRANSFER
565
@XFERC
---
---
1201
XFRB
MULTIPLE BIT
TRANSFER
062
@XFRB
---
---
326
XNRL
DOUBLE EXCLUSIVE
NOR
613
@XNRL
---
---
529
XNRW
EXCLUSIVE NOR
037
@XNRW
---
---
528
XORL
DOUBLE EXCLUSIVE
OR
612
@XORL
---
---
526
XORW
EXCLUSIVE OR
036
@XORW
---
---
524
Z
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
ZCP
AREA RANGE
COMPARE
088
---
---
---
310
ZCPL
DOUBLE AREA
RANGE COMPARE
116
---
---
---
313
ZONE
DEAD ZONE
CONTROL
682
@ZONE
---
---
746
Symboles
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
7SEG
7-SEGMENT DISPLAY
OUTPUT
214
---
---
---
908
+
SIGNED BINARY ADD
WITHOUT CARRY
400
@+
---
---
410
+$
CONCATENATE
STRING
656
@+$
---
---
1161
++
INCREMENT BINARY
590
@++
---
---
393
++B
INCREMENT BCD
594
@++B
---
---
401
++BL
DOUBLE
INCREMENT BCD
595
@++BL
---
---
403
++L
DOUBLE
INCREMENT BINARY
591
@++L
---
---
395
+B
BCD ADD WITHOUT
CARRY
404
@+B
---
---
418
+BC
BCD ADD WITH
CARRY
406
@+BC
---
---
421
+BCL
DOUBLE BCD ADD
WITH CARRY
407
@+BCL
---
---
423
+BL
DOUBLE BCD ADD
WITHOUT CARRY
405
@+BL
---
---
419
122
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Page
Spécification de
rafraîchissement
immédiat
+C
SIGNED BINARY ADD
WITH CARRY
402
@+C
---
---
414
+CL
DOUBLE SIGNED
BINARY ADD WITH
CARRY
403
@+CL
---
---
416
+D
DOUBLE FLOATINGPOINT ADD
845
@+D
---
---
626
+F
FLOATING-POINT
ADD
454
@+F
---
---
570
+L
DOUBLE SIGNED
BINARY ADD
WITHOUT CARRY
401
@+L
---
---
412
–
SIGNED BINARY
SUBTRACT
WITHOUT CARRY
410
@–
---
---
424
––
DECREMENT BINARY 592
@– –
---
---
397
– –B
DECREMENT BCD
596
@– –B
---
---
405
– –BL
DOUBLE
DECREMENT BCD
597
@– –BL
---
---
407
– –L
DOUBLE
593
DECREMENT BINARY
@– –L
---
---
399
–B
BCD SUBTRACT
WITHOUT CARRY
414
@–B
---
---
435
–BC
BCD SUBTRACT
WITH CARRY
416
@–BC
---
---
440
–BCL
DOUBLE BCD
SUBTRACT WITH
CARRY
417
@–BCL
---
---
441
–BL
DOUBLE BCD
SUBTRACT
WITHOUT CARRY
415
@–BL
---
---
436
–C
SIGNED BINARY
SUBTRACT WITH
CARRY
412
@–C
---
---
430
–CL
DOUBLE SIGNED
BINARY SUBTRACT
WITH CARRY
413
@–CL
---
---
432
−D
DOUBLE FLOATINGPOINT SUBTRACT
846
@−D
---
---
628
–F
FLOATING-POINT
SUBTRACT
455
@–F
---
---
572
*
SIGNED BINARY
MULTIPLY
420
@*
---
---
443
*B
BCD MULTIPLY
424
@*B
---
---
450
*BL
DOUBLE BCD
MULTIPLY
425
@*BL
---
---
452
*D
DOUBLE FLOATINGPOINT MULTIPLY
847
@*D
---
---
630
*F
FLOATING-POINT
MULTIPLY
456
@*F
---
---
574
*L
DOUBLE SIGNED
BINARY MULTIPLY
421
@*L
---
---
445
*U
UNSIGNED BINARY
MULTIPLY
422
@*U
---
---
447
*UL
DOUBLE UNSIGNED
BINARY MULTIPLY
423
@*UL
---
---
449
–L
DOUBLE SIGNED
BINARY SUBTRACT
WITHOUT CARRY
411
@–L
---
---
426
/
SIGNED BINARY
DIVIDE
430
@/
---
---
454
/B
BCD DIVIDE
434
@/B
---
---
462
/BL
DOUBLE BCD DIVIDE
435
@/BL
---
---
464
123
Chapitre 2-3
Liste alphabétique des instructions par mnémonique
Mnémonique
Instruction
Code fonction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
/D
DOUBLE FLOATINGPOINT DIVIDE
848
@/D
---
---
632
/F
FLOATING-POINT
DIVIDE
457
@/F
---
---
576
/L
DOUBLE SIGNED
BINARY DIVIDE
431
@/L
---
---
456
/U
UNSIGNED BINARY
DIVIDE
432
@/U
---
---
458
/UL
DOUBLE UNSIGNED
BINARY DIVIDE
433
@/UL
---
---
460
124
Chapitre 2-4
Liste des instructions par code fonction
2-4
Liste des instructions par code fonction
Code fonction
---
Mnémonique
LD
Instruction
LOAD
Différentiation
sur front
montant
@LD
Différentiation
sur front
descendant
%LD
Spécification de
rafraîchissement
immédiat
!LD
Page
153
---
LD NOT
LOAD NOT
---
---
!LD NOT
155
---
AND
AND
@AND
%AND
!AND
157
---
AND NOT
AND NOT
---
---
!AND NOT
159
---
OR
OR
@OR
%OR
!OR
161
---
OR NOT
OR NOT
---
---
!OR NOT
163
---
AND LD
AND LOAD
---
---
---
164
---
OR LD
OR LOAD
---
---
---
166
---
OUT
OUTPUT
---
---
!OUT
177
178
---
OUT NOT
OUTPUT NOT
---
---
!OUT NOT
---
SET
SET
@SET
%SET
!SET
186
---
RSET
RESET
@RSET
%RSET
!RSET
186
---
TIM
TIMER
---
---
---
235
---
TIMX
TIMER
---
---
---
235
---
CNT
COUNTER
---
---
---
260
000
NOP
NO OPERATION
---
---
---
198
001
END
END
---
---
---
197
002
IL
INTERLOCK
---
---
---
201
003
ILC
INTERLOCK CLEAR
---
---
---
201
004
JMP
JUMP
---
---
---
219
005
JME
JUMP END
---
---
---
219
006
FAL
FAILURE ALARM
@FAL
---
---
1079
007
FALS
SEVERE FAILURE
ALARM
---
---
---
1087
008
STEP
STEP DEFINE
---
---
---
868
009
SNXT
STEP START
---
---
---
868
010
SFT
SHIFT REGISTER
---
---
---
345
011
KEEP
KEEP
---
---
!KEEP
179
012
CNTR
REVERSIBLE
COUNTER
---
---
---
263
013
DIFU
DIFFERENTIATE UP
---
---
!DIFU
184
014
DIFD
DIFFERENTIATE
DOWN
---
---
!DIFD
184
015
TIMH
HIGH-SPEED TIMER
---
---
---
240
016
WSFT
WORD SHIFT
@WSFT
---
---
352
017
ASFT
ASYNCHRONOUS
SHIFT REGISTER
@ASFT
---
---
349
@MCMP
019
MCMP
MULTIPLE COMPARE
020
CMP
UNSIGNED COMPARE ---
---
---
299
---
!CMP
287
021
MOV
MOVE
@MOV
---
!MOV
315
022
MVN
MOVE NOT
@MVN
---
---
317
023
BIN
BCD-TO-BINARY
@BIN
---
---
466
024
BCD
BINARY-TO-BCD
@BCD
---
---
469
025
ASL
ARITHMETIC SHIFT
LEFT
@ASL
---
---
354
026
ASR
ARITHMETIC SHIFT
RIGHT
@ASR
---
---
357
027
ROL
ROTATE LEFT
@ROL
---
---
360
028
ROR
ROTATE RIGHT
@ROR
---
---
364
029
COM
COMPLEMENT
@COM
---
---
531
034
ANDW
LOGICAL AND
@ANDW
---
---
517
035
ORW
LOGICAL OR
@ORW
---
---
520
125
Chapitre 2-4
Liste des instructions par code fonction
Code fonction
Mnémonique
Instruction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
036
XORW
EXCLUSIVE OR
@XORW
---
---
037
XNRW
EXCLUSIVE NOR
@XNRW
---
---
524
528
040
STC
SET CARRY
@STC
---
---
1104
041
CLC
CLEAR CARRY
@CLC
---
---
1105
045
TRSM
TRACE MEMORY
SAMPLING
---
---
---
1075
046
MSG
DISPLAY MESSAGE
@MSG
---
---
1058
058
BINL
DOUBLE BCD-TODOUBLE BINARY
@BINL
---
---
467
059
BCDL
DOUBLE BINARY-TOBCD
@BCDL
---
---
470
060
CMPL
DOUBLE UNSIGNED
COMPARE
---
---
---
290
062
XFRB
MULTIPLE BIT
TRANSFER
@XFRB
---
---
326
063
LINE
COLUMN TO LINE
@LINE
---
---
494
064
COLM
LINE TO COLUMN
@COLM
---
---
496
065
SEC
HOURS TO SECONDS @SEC
---
---
1068
066
HMS
SECONDS TO HOURS @HMS
---
---
1070
067
BCNT
BIT COUNTER
@BCNT
---
---
556
068
BCMP
UNSIGNED BLOCK
COMPARE
@BCMP
---
---
304
069
APR
ARITHMETIC
PROCESS
@APR
---
---
540
070
XFER
BLOCK TRANSFER
@XFER
---
---
328
071
BSET
BLOCK SET
@BSET
---
---
331
072
ROOT
BCD SQUARE ROOT
@ROOT
---
---
536
073
XCHG
DATA EXCHANGE
@XCHG
---
---
333
074
SLD
ONE DIGIT SHIFT
LEFT
@SLD
---
---
374
075
SRD
ONE DIGIT SHIFT
RIGHT
@SRD
---
---
376
076
MLPX
DATA DECODER
@MLPX
---
---
477
077
DMPX
DATA ENCODER
@DMPX
---
---
482
078
SDEC
7-SEGMENT
DECODER
@SDEC
---
---
928
079
FDIV
FLOATING POINT
DIVIDE
@FDIV
---
---
552
080
DIST
SINGLE WORD
DISTRIBUTE
@DIST
---
---
336
081
COLL
DATA COLLECT
@COLL
---
---
338
321
082
MOVB
MOVE BIT
@MOVB
---
---
083
MOVD
MOVE DIGIT
@MOVD
---
---
323
084
SFTR
REVERSIBLE SHIFT
REGISTER
@SFTR
---
---
346
085
TCMP
TABLE COMPARE
@TCMP
---
---
301
086
ASC
ASCII CONVERT
@ASC
---
---
486
087
TTIM
ACCUMULATIVE
TIMER
---
---
---
247
088
ZCP
AREA RANGE
COMPARE
---
---
---
310
090
SEND
NETWORK SEND
@SEND
---
---
991
091
SBS
SUBROUTINE CALL
@SBS
---
---
773
092
SBN
SUBROUTINE ENTRY
---
---
---
783
093
RET
SUBROUTINE
RETURN
---
---
---
786
126
Chapitre 2-4
Liste des instructions par code fonction
Code fonction
Mnémonique
Instruction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
094
WDT
EXTEND MAXIMUM
CYCLE TIME
@WDT
---
---
1108
096
BPRG
BLOCK PROGRAM
BEGIN
---
---
---
1128
097
IORF
I/O REFRESH
@IORF
---
---
885
098
RECV
NETWORK RECEIVE
@RECV
---
---
997
099
MCRO
MACRO
@MCRO
---
---
779
114
CPS
SIGNED BINARY
COMPARE
---
---
!CPS
293
115
CPSL
DOUBLE SIGNED
BINARY COMPARE
---
---
---
296
116
ZCPL
DOUBLE AREA
RANGE COMPARE
---
---
---
313
160
NEG
2'S COMPLEMENT
@NEG
---
---
472
161
NEGL
DOUBLE 2’S
COMPLEMENT
@NEGL
---
---
474
162
HEX
ASCII TO HEX
@HEX
---
---
490
180
FCS
FRAME CHECKSUM
@FCS
---
---
700
181
SRCH
DATA SEARCH
@SRCH
---
---
685
689
182
MAX
FIND MAXIMUM
@MAX
---
---
183
MIN
FIND MINIMUM
@MIN
---
---
693
184
SUM
SUM
@SUM
---
---
697
190
PID
PID CONTROL
---
---
---
720
191
PIDAT
PID CONTROL WITH
AUTOTUNING
---
---
---
731
194
SCL
SCALING
@SCL
---
---
757
195
AVG
AVERAGE
---
---
---
769
210
DSW
DIGITAL SWITCH
INPUT
---
---
---
890
211
TKY
TEN KEY INPUT
@TKY
---
---
896
212
HKY
HEXADECIMAL KEY
INPUT
---
---
---
899
213
MTR
MATRIX INPUT
---
---
---
904
214
7SEG
7-SEGMENT DISPLAY
OUTPUT
---
---
---
908
222
IORD
INTELLIGENT I/O
READ
@IORD
---
---
913
223
IOWR
INTELLIGENT I/O
WRITE
@IOWR
---
---
917
226
DLNK
CPU BUS UNIT I/O
REFRESH
@DLNK
---
---
921
235
RXD
RECEIVE
@RXD
---
---
944
236
TXD
TRANSMIT
@TXD
---
---
937
255
RXDU
RECEIVE VIA SERIAL
COMMUNICATIONS
UNIT
@RXDU
---
---
960
256
TXDU
TRANSMIT VIA
SERIAL
COMMUNICATIONS
UNIT
@TXDU
---
---
952
237
STUP
CHANGE SERIAL
PORT SETUP
@STUP
---
---
968
260
PMCR
PROTOCOL MACRO
@PMCR
---
---
928
269
FPD
FAILURE POINT
DETECTION
---
---
---
1095
281
EMBC
SELECT EM BANK
@EMBC
---
---
1106
282
CCS
SAVE CONDITION
FLAGS
@CCS
---
---
1110
283
CCL
LOAD CONDITION
FLAGS
@CCL
---
---
1112
127
Chapitre 2-4
Liste des instructions par code fonction
Code fonction
Mnémonique
Instruction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
284
FRMCV
CONVERT ADDRESS
FROM CV
@FRMCV
---
---
1113
285
TOCV
CONVERT ADDRESS
TO CV
@TOCV
---
---
1117
286
GETID
GET VARIABLE ID
@GETID
---
---
1214
287
IOSP
DISABLE
PERIPHERAL
SERVICING
@IOSP
---
---
1121
288
IORS
ENABLE
PERIPHERAL
SERVICING
---
---
---
1123
300
AND =
AND EQUAL
---
---
---
275
300
LD =
LOAD EQUAL
---
---
---
275
300
OR =
OR EQUAL
---
---
---
275
301
AND =L
AND DOUBLE EQUAL
---
---
---
275
301
LD =L
LOAD DOUBLE
EQUAL
---
---
---
275
301
OR =L
OR DOUBLE EQUAL
---
---
---
275
302
AND =S
AND SIGNED EQUAL
---
---
---
275
302
LD =S
LOAD SIGNED EQUAL ---
---
---
275
302
OR =S
OR SIGNED EQUAL
---
---
---
275
303
AND =SL
AND DOUBLE
SIGNED EQUAL
---
---
---
275
303
LD =SL
LOAD DOUBLE
SIGNED EQUAL
---
---
---
275
303
OR =SL
OR DOUBLE SIGNED
EQUAL
---
---
---
275
305
AND <>
AND NOT EQUAL
---
---
---
275
305
LD <>
LOAD NOT EQUAL
---
---
---
275
305
OR <>
OR NOT EQUAL
---
---
---
275
306
AND <>L
AND DOUBLE NOT
EQUAL
---
---
---
275
306
LD <>L
LOAD DOUBLE NOT
EQUAL
---
---
---
275
306
OR <>L
OR DOUBLE NOT
EQUAL
---
---
---
275
307
AND <>S
AND SIGNED NOT
EQUAL
---
---
---
275
307
LD <>S
LOAD SIGNED NOT
EQUAL
---
---
---
275
307
OR <>S
OR SIGNED NOT
EQUAL
---
---
---
275
308
AND <>SL
AND DOUBLE
SIGNED NOT EQUAL
---
---
---
275
308
LD <>SL
LOAD DOUBLE
SIGNED NOT EQUAL
---
---
---
275
308
OR <>SL
OR DOUBLE SIGNED
NOT EQUAL
---
---
---
275
310
AND <
AND LESS THAN
---
---
---
275
310
LD <
LOAD LESS THAN
---
---
---
275
310
OR <
OR LESS THAN
---
---
---
275
311
AND <L
AND DOUBLE LESS
THAN
---
---
---
275
311
LD <L
LOAD DOUBLE LESS
THAN
---
---
---
275
311
OR <L
OR DOUBLE LESS
THAN
---
---
---
275
312
AND <S
AND SIGNED LESS
THAN
---
---
---
275
312
LD <S
LOAD SIGNED LESS
THAN
---
---
---
275
128
Chapitre 2-4
Liste des instructions par code fonction
Code fonction
Mnémonique
Instruction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
312
OR <S
OR SIGNED LESS
THAN
---
---
---
275
313
AND <SL
AND DOUBLE
SIGNED LESS THAN
---
---
---
275
313
LD <SL
LOAD DOUBLE
SIGNED LESS THAN
---
---
---
275
313
OR <SL
OR DOUBLE SIGNED
LESS THAN
---
---
---
275
315
AND <=
AND LESS THAN OR
EQUAL
---
---
---
275
315
LD <=
LOAD LESS THAN OR
EQUAL
---
---
---
275
315
OR <=
OR LESS THAN OR
EQUAL
---
---
---
275
316
AND <=L
AND DOUBLE LESS
THAN OR EQUAL
---
---
---
275
316
LD <=L
LOAD DOUBLE LESS
THAN OR EQUAL
---
---
---
275
316
OR <=L
OR DOUBLE LESS
THAN OR EQUAL
---
---
---
275
317
AND <=S
AND SIGNED LESS
THAN OR EQUAL
---
---
---
275
317
LD <=S
LOAD SIGNED LESS
THAN OR EQUAL
---
---
---
275
317
OR <=S
OR SIGNED LESS
THAN OR EQUAL
---
---
---
275
318
AND <=SL
AND DOUBLE
SIGNED LESS THAN
OR EQUAL
---
---
---
275
318
LD <=SL
LOAD DOUBLE
SIGNED LESS THAN
OR EQUAL
---
---
---
275
318
OR <=SL
OR DOUBLE SIGNED
LESS THAN OR
EQUAL
---
---
---
275
320
AND >
AND GREATER THAN
---
---
---
275
320
LD >
LOAD GREATER
THAN
---
---
---
275
320
OR >
OR GREATER THAN
---
---
---
275
321
AND >L
AND DOUBLE
GREATER THAN
---
---
---
275
321
LD >L
LOAD DOUBLE
GREATER THAN
---
---
---
275
321
OR >L
OR DOUBLE
GREATER THAN
---
---
---
275
322
AND >S
AND SIGNED
GREATER THAN
---
---
---
275
322
LD >S
LOAD SIGNED
GREATER THAN
---
---
---
275
322
OR >S
OR SIGNED
GREATER THAN
---
---
---
275
323
AND >SL
AND DOUBLE
SIGNED GREATER
THAN
---
---
---
275
323
LD >SL
LOAD DOUBLE
SIGNED GREATER
THAN
---
---
---
275
323
OR >SL
OR DOUBLE SIGNED
GREATER THAN
---
---
---
275
325
AND >=
AND GREATER THAN
OR EQUAL
---
---
---
275
325
LD >=
LOAD GREATER
THAN OR EQUAL
---
---
---
275
129
Chapitre 2-4
Liste des instructions par code fonction
Code fonction
Mnémonique
Instruction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
325
OR >=
OR GREATER THAN
OR EQUAL
---
---
---
275
326
AND >=L
AND DOUBLE
GREATER THAN OR
EQUAL
---
---
---
275
326
LD >=L
LOAD DOUBLE
GREATER THAN OR
EQUAL
---
---
---
275
326
OR >=L
OR DOUBLE
GREATER THAN OR
EQUAL
---
---
---
275
327
AND >=S
AND SIGNED
GREATER THAN OR
EQUAL
---
---
---
275
327
LD >=S
LOAD SIGNED
GREATER THAN OR
EQUAL
---
---
---
275
327
OR >=S
OR SIGNED
GREATER THAN OR
EQUAL
---
---
---
275
328
AND >=SL
AND DOUBLE
SIGNED GREATER
THAN OR EQUAL
---
---
---
275
328
LD >=SL
LOAD DOUBLE
SIGNED GREATER
THAN OR EQUAL
---
---
---
275
328
OR >=SL
OR DOUBLE SIGNED
GREATER THAN OR
EQUAL
---
---
---
275
329
AND =F
AND FLOATING
EQUAL
---
---
---
600
329
LD =F
LOAD FLOATING
EQUAL
---
---
---
600
329
OR =F
OR FLOATING EQUAL
---
---
---
600
330
AND <>F
AND FLOATING NOT
EQUAL
---
---
---
600
330
LD <>F
LOAD FLOATING NOT
EQUAL
---
---
---
600
330
OR <>F
OR FLOATING NOT
EQUAL
---
---
---
600
331
AND <F
AND FLOATING LESS
THAN
---
---
---
600
331
LD <F
LOAD FLOATING
LESS THAN
---
---
---
600
331
OR <F
OR FLOATING LESS
THAN
---
---
---
600
332
AND <=F
AND FLOATING LESS
THAN OR EQUAL
---
---
---
600
332
LD <=F
LOAD FLOATING
LESS THAN OR
EQUAL
---
---
---
600
332
OR <=F
OR FLOATING LESS
THAN OR EQUAL
---
---
---
600
333
AND >F
AND FLOATING
GREATER THAN
---
---
---
600
333
LD >F
LOAD FLOATING
GREATER THAN
---
---
---
600
333
OR >F
OR FLOATING
GREATER THAN
---
---
---
600
334
AND >=F
AND FLOATING
GREATER THAN OR
EQUAL
---
---
---
600
334
LD >=F
LOAD FLOATING
GREATER THAN OR
EQUAL
---
---
---
600
130
Chapitre 2-4
Liste des instructions par code fonction
Code fonction
Mnémonique
Instruction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Page
Spécification de
rafraîchissement
immédiat
334
OR >=F
OR FLOATING
GREATER THAN OR
EQUAL
---
---
---
600
335
AND =D
AND DOUBLE
FLOATING EQUAL
---
---
---
657
335
LD =D
LOAD DOUBLE
FLOATING EQUAL
---
---
---
657
335
OR =D
OR DOUBLE
FLOATING EQUAL
---
---
---
657
336
AND <>D
AND DOUBLE
FLOATING NOT
EQUAL
---
---
---
657
336
LD <>D
LOAD DOUBLE
FLOATING NOT
EQUAL
---
---
---
657
336
OR <>D
OR DOUBLE
FLOATING NOT
EQUAL
---
---
---
657
337
AND <D
AND DOUBLE
FLOATING LESS
THAN
---
---
---
657
337
LD <D
LOAD DOUBLE
FLOATING LESS
THAN
---
---
---
657
337
OR <D
OR DOUBLE
FLOATING LESS
THAN
---
---
---
657
338
AND <=D
AND DOUBLE
FLOATING LESS
THAN OR EQUAL
---
---
---
657
338
LD <=D
LOAD DOUBLE
FLOATING LESS
THAN OR EQUAL
---
---
---
657
338
OR <=D
OR DOUBLE
FLOATING LESS
THAN OR EQUAL
---
---
---
657
339
AND >D
AND DOUBLE
FLOATING GREATER
THAN
---
---
---
657
339
LD >D
LOAD DOUBLE
FLOATING GREATER
THAN
---
---
---
657
339
OR >D
OR DOUBLE
FLOATING GREATER
THAN
---
---
---
657
340
AND >=D
AND DOUBLE
FLOATING GREATER
THAN OR EQUAL
---
---
---
657
340
LD >=D
LOAD DOUBLE
FLOATING GREATER
THAN OR EQUAL
---
---
---
657
340
OR >=D
OR DOUBLE
FLOATING GREATER
THAN OR EQUAL
---
---
---
657
341
AND =DT
AND TIME EQUAL
---
---
---
281
341
LD =DT
LOAD TIME EQUAL
---
---
---
281
341
OR =DT
OR TIME EQUAL
---
---
---
281
342
AND <> DT
AND TIME NOT
EQUAL
---
---
---
281
342
LD <> DT
LOAD TIME NOT
EQUAL
---
---
---
281
342
OR <> DT
OR TIME NOT EQUAL
---
---
---
281
343
AND < DT
AND TIME LESS
THAN
---
---
---
281
343
LD < DT
LOAD TIME LESS
THAN
---
---
---
281
343
OR < DT
OR TIME LESS THAN
---
---
---
281
131
Chapitre 2-4
Liste des instructions par code fonction
Code fonction
Mnémonique
Instruction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
344
AND <= DT
AND TIME LESS
THAN OR EQUAL
---
---
---
281
344
LD <= DT
LD TIME LESS THAN
OR EQUAL
---
---
---
281
344
OR <= DT
OR TIME LESS THAN
OR EQUAL
---
---
---
281
345
AND > DT
AND TIME GREATER
THAN
---
---
---
281
345
LD > DT
LOAD TIME GREATER --THAN
---
---
281
345
OR > DT
OR TIME GREATER
THAN
---
---
---
281
346
AND >= DT
AND TIME GREATER
THAN OR EQUAL
---
---
---
281
346
LD >= DT
LOAD TIME GREATER --THAN OR EQUAL
---
---
281
346
OR >= DT
OR TIME GREATER
THAN OR EQUAL
---
---
281
350
AND TST
AND BIT TEST
---
---
---
174
350
LD TST
LOAD BIT TEST
---
---
---
174
---
350
OR TST
OR BIT TEST
---
---
---
174
351
AND TSTN
AND BIT TEST NOT
---
---
---
174
351
LD TSTN
LOAD BIT TEST NOT
---
---
---
174
351
OR TSTN
OR BIT TEST NOT
---
---
---
174
400
+
SIGNED BINARY ADD
WITHOUT CARRY
@+
---
---
410
401
+L
DOUBLE SIGNED
BINARY ADD
WITHOUT CARRY
@+L
---
---
412
402
+C
SIGNED BINARY ADD
WITH CARRY
@+C
---
---
414
403
+CL
DOUBLE SIGNED
BINARY ADD WITH
CARRY
@+CL
---
---
416
404
+B
BCD ADD WITHOUT
CARRY
@+B
---
---
421
405
+BL
DOUBLE BCD ADD
WITHOUT CARRY
@+BL
---
---
419
406
+BC
BCD ADD WITH
CARRY
@+BC
---
---
421
407
+BCL
DOUBLE BCD ADD
WITH CARRY
@+BCL
---
---
423
410
–
SIGNED BINARY
SUBTRACT
WITHOUT CARRY
@–
---
---
424
411
–L
DOUBLE SIGNED
BINARY SUBTRACT
WITHOUT CARRY
@–L
---
---
426
412
–C
SIGNED BINARY
SUBTRACT WITH
CARRY
@–C
---
---
430
413
–CL
DOUBLE SIGNED
BINARY SUBTRACT
WITH CARRY
@–CL
---
---
432
414
–B
BCD SUBTRACT
WITHOUT CARRY
@–B
---
---
435
415
–BL
DOUBLE BCD
SUBTRACT
WITHOUT CARRY
@–BL
---
---
436
416
–BC
BCD SUBTRACT
WITH CARRY
@–BC
---
---
440
417
–BCL
DOUBLE BCD
SUBTRACT WITH
CARRY
@–BCL
---
---
441
132
Chapitre 2-4
Liste des instructions par code fonction
Code fonction
Mnémonique
Instruction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
420
*
SIGNED BINARY
MULTIPLY
@*
---
---
443
421
*L
DOUBLE SIGNED
BINARY MULTIPLY
@*L
---
---
445
422
*U
UNSIGNED BINARY
MULTIPLY
@*U
---
---
447
423
*UL
DOUBLE UNSIGNED
BINARY MULTIPLY
@*UL
---
---
449
424
*B
BCD MULTIPLY
@*B
---
---
450
425
*BL
DOUBLE BCD
MULTIPLY
@*BL
---
---
452
430
/
SIGNED BINARY
DIVIDE
@/
---
---
454
431
/L
DOUBLE SIGNED
BINARY DIVIDE
@/L
---
---
456
432
/U
UNSIGNED BINARY
DIVIDE
@/U
---
---
458
433
/UL
DOUBLE UNSIGNED
BINARY DIVIDE
@/UL
---
---
460
434
/B
BCD DIVIDE
@/B
---
---
462
435
/BL
DOUBLE BCD DIVIDE
@/BL
---
---
464
448
FSTR
FLOATING POINT TO
ASCII
@FSTR
---
---
604
449
FVAL
ASCII TO FLOATING
POINT
@FVAL
---
---
609
450
FIX
FLOATING TO 16-BIT
@FIX
---
---
563
451
FIXL
FLOATING TO 32-BIT
@FIXL
---
---
565
452
FLT
16-BIT TO FLOATING
@FLT
---
---
566
453
FLTL
32-BIT TO FLOATING
@FLTL
---
---
568
454
+F
FLOATING-POINT
ADD
@+F
---
---
570
455
–F
FLOATING-POINT
SUBTRACT
@–F
---
---
572
456
*F
FLOATING-POINT
MULTIPLY
@*F
---
---
574
457
/F
FLOATING-POINT
DIVIDE
@/F
---
---
576
458
RAD
DEGREES TO
RADIANS
@RAD
---
---
597
459
DEG
RADIANS-TO
DEGREES
@DEG
---
---
579
460
SIN
SINE
@SIN
---
---
581
461
COS
COSINE
@COS
---
---
583
462
TAN
TANGENT
@TAN
---
---
585
463
ASIN
ARC SINE
@ASIN
---
---
587
464
ACOS
ARC COSINE
@ACOS
---
---
589
465
ATAN
ARC TANGENT
@ATAN
---
---
591
466
SQRT
SQUARE ROOT
@SQRT
---
---
593
467
EXP
EXPONENT
@EXP
---
---
595
468
LOG
LOGARITHM
@LOG
---
---
597
470
BINS
SIGNED BCD-TOBINARY
@BINS
---
---
499
471
BCDS
SIGNED BINARY-TOBCD
@BCDS
---
---
505
472
BISL
DOUBLE SIGNED
BCD-TO-BINARY
@BISL
---
---
502
473
BDSL
DOUBLE SIGNED
BINARY-TO-BCD
@BDSL
---
---
507
133
Chapitre 2-4
Liste des instructions par code fonction
Code fonction
Mnémonique
Instruction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
474
GRY
GRAY CODE
CONVERSION
@GRY
---
---
511
486
SCL2
SCALING 2
@SCL2
---
---
762
487
SCL3
SCALING 3
@SCL3
---
---
766
490
CMND
DELIVER COMMAND
@CMND
---
---
1003
498
MOVL
DOUBLE MOVE
@MOVL
---
---
318
499
MVNL
DOUBLE MOVE NOT
@MVNL
---
---
320
502
BCMP2
EXPANDED BLOCK
COMPARE
@BCMP2
---
---
306
510
CJP
CONDITIONAL JUMP
---
---
---
223
511
CJPN
CONDITIONAL JUMP
---
---
---
223
512
FOR
FOR-NEXT LOOPS
---
---
---
229
513
NEXT
FOR-NEXT LOOPS
---
---
---
229
514
BREAK
BREAK LOOP
---
---
---
232
515
JMP0
MULTIPLE JUMP
---
---
---
227
516
JME0
MULTIPLE JUMP END
---
---
---
227
517
MILH
MULTI-INTERLOCK
DIFFERENTIATION
HOLD
---
---
---
205
518
MILR
MULTI-INTERLOCK
DIFFERENTIATION
RELEASE
---
---
---
205
519
MILC
MULTI-INTERLOCK
CLEAR
---
---
---
205
520
NOT
NOT
---
---
---
172
521
UP
CONDITION ON
---
---
---
173
522
DOWN
CONDITION OFF
---
---
---
173
530
SETA
MULTIPLE BIT SET
@SETA
---
---
189
531
RSTA
MULTIPLE BIT RESET
@RSTA
---
---
189
532
SETB
SINGLE BIT SET
@SETB
---
!SETB
192
533
RSTB
SINGLE BIT RESET
@RSTB
---
!RSTB
192
534
OUTB
SINGLE BIT OUTPUT
@OUTB
---
!OUTB
195
540
TMHH
ONE-MS TIMER
---
---
---
244
542
TIML
LONG TIMER
---
---
---
251
543
MTIM
MULTI-OUTPUT
TIMER
---
---
---
254
545
CNR
RESET TIMER/
COUNTER
@CNR
---
---
267
546
CNTX
COUNTER
---
---
---
260
547
CNRX
RESET TIMER/
COUNTER
---
---
---
267
548
CNTRX
REVERSIBLE
COUNTER
---
---
---
263
550
TIMX
TIMER
---
---
---
235
551
TIMHX
HIGH-SPEED TIMER
---
---
---
240
552
TMHHX
ONE-MS TIMER
---
---
---
244
553
TIMLX
LONG TIMER
---
---
---
251
554
MTIMX
MULTI-OUTPUT
TIMER
---
---
---
254
555
TTIMX
ACCUMULATIVE
TIMER
---
---
---
247
560
MOVR
MOVE TO REGISTER
@MOVR
---
---
340
561
MOVRW
MOVE TIMER/
COUNTER PV TO
REGISTER
@MOVRW
---
---
342
562
XCGL
DOUBLE DATA
EXCHANGE
@XCGL
---
---
334
134
Chapitre 2-4
Liste des instructions par code fonction
Code fonction
Mnémonique
Instruction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
565
XFERC
BLOCK TRANSFER
@XFERC
---
---
1201
566
DISTC
SINGLE WORD
DISTRIBUTE
@DISTC
---
---
1203
567
COLLC
DATA COLLECT
@COLLC
---
---
1206
568
MOVBC
MOVE BIT
@MOVBC
---
---
1211
570
ASLL
DOUBLE SHIFT LEFT
@ASLL
---
---
355
571
ASRL
DOUBLE SHIFT
RIGHT
@ASRL
---
---
358
572
ROLL
DOUBLE ROTATE
LEFT
@ROLL
---
---
362
573
RORL
DOUBLE ROTATE
RIGHT
@RORL
---
---
365
574
RLNC
ROTATE LEFT
WITHOUT CARRY
@RLNC
---
---
367
575
RRNC
ROTATE RIGHT
WITHOUT CARRY
@RRNC
---
---
371
576
RLNL
DOUBLE ROTATE
LEFT WITHOUT
CARRY
@RLNL
---
---
369
577
RRNL
DOUBLE ROTATE
RIGHT WITHOUT
CARRY
@RRNL
---
---
372
578
NSFL
SHIFT N-BIT DATA
LEFT
@NSFL
---
---
377
579
NSFR
SHIFT N-BIT DATA
RIGHT
@NSFR
---
---
379
580
NASL
SHIFT N-BITS LEFT
@NASL
---
---
381
581
NASR
SHIFT N-BITS RIGHT
@NASR
---
---
387
582
NSLL
DOUBLE SHIFT
N-BITS LEFT
@NSLL
---
---
384
583
NSRL
DOUBLE SHIFT
N-BITS RIGHT
@NSRL
---
---
389
590
++
INCREMENT BINARY
@++
---
---
393
591
++L
DOUBLE
INCREMENT BINARY
@++L
---
---
395
592
––
DECREMENT BINARY @– –
---
---
397
593
– –L
DOUBLE
@– –L
DECREMENT BINARY
---
---
399
594
++B
INCREMENT BCD
@++B
---
---
401
595
++BL
DOUBLE
INCREMENT BCD
@++BL
---
---
403
596
– –B
DECREMENT BCD
@– –B
---
---
405
597
– –BL
DOUBLE
DECREMENT BCD
@– –BL
---
---
407
600
SIGN
16-BIT TO 32-BIT
SIGNED BINARY
@SIGN
---
---
476
610
ANDL
DOUBLE LOGICAL
AND
@ANDL
---
---
519
611
ORWL
DOUBLE LOGICAL OR @ORWL
---
---
522
612
XORL
DOUBLE EXCLUSIVE
OR
@XORL
---
---
526
613
XNRL
DOUBLE EXCLUSIVE
NOR
@XNRL
---
---
529
614
COML
DOUBLE
COMPLEMENT
@COML
---
---
533
620
ROTB
BINARY ROOT
@ROTB
---
---
534
621
BCNTC
BIT COUNTER
@BCNTC
---
---
1212
630
SSET
SET STACK
@SSET
---
---
666
631
DIM
DIMENSION RECORD
TABLE
@DIM
---
---
678
135
Chapitre 2-4
Liste des instructions par code fonction
Code fonction
Mnémonique
Instruction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Page
Spécification de
rafraîchissement
immédiat
632
PUSH
PUSH ONTO STACK
@PUSH
---
---
669
633
FIFO
FIRST IN FIRST OUT
@FIFO
---
---
672
634
LIFO
LAST IN FIRST OUT
@LIFO
---
---
675
635
SETR
SET RECORD
LOCATION
@SETR
---
---
681
636
GETR
GET RECORD
NUMBER
@GETR
---
---
683
687
637
SWAP
SWAP BYTES
@SWAP
---
---
638
SNUM
STACK SIZE READ
@SNUM
---
---
704
639
SREAD
STACK DATA READ
@SREAD
---
---
707
640
SWRIT
STACK DATA WRITE
@SWRIT
---
---
710
641
SINS
STACK DATA INSERT
@SINS
---
---
713
642
SDEL
STACK DATA DELETE
@SDEL
---
---
716
650
LEN$
STRING LENGTH
@LEN$
---
---
1173
652
LEFT$
GET STRING LEFT
@LEFT$
---
---
1164
653
RGHT$
GET STRING RIGHT
@RGHT$
---
---
1166
654
MID$
GET STRING MIDDLE
@MID$
---
---
1168
656
+$
CONCATENATE
STRING
@+$
---
---
1161
657
INS$
INS$
@INS$
---
---
1184
658
DEL$
DELETE STRING
@DEL$
---
---
1178
660
FIND$
FIND IN STRING
@FIND$
---
---
1171
661
RPLC$
REPLACE IN STRING
@RPLC$
---
---
1175
664
MOV$
MOV STRING
@MOV$
---
---
1159
665
XCHG$
EXCHANGE STRING
@XCHG$
---
---
1180
666
CLR$
CLEAR STRING
@CLR$
---
---
1182
670
AND =$
AND STRING EQUALS ---
---
---
1187
670
LD =$
LOAD STRING
EQUALS
---
---
1187
670
OR =$
OR STRING EQUALS
---
---
---
1187
671
AND <>$
AND STRING NOT
EQUAL
---
---
---
1187
671
LD <>$
LOAD STRING NOT
EQUAL
---
---
---
1187
671
OR <>$
OR STRING NOT
EQUAL
---
---
---
1187
672
AND <$
AND STRING LESS
THAN
---
---
---
1187
672
LD <$
LOAD STRING LESS
THAN
---
---
---
1187
672
OR <$
OR STRING LESS
THAN
---
---
---
1187
673
AND <=$
AND STRING LESS
THAN OR EQUALS
---
---
---
1187
673
LD <=$
LOAD STRING LESS
THAN OR EQUAL
---
---
---
1187
673
OR <=$
OR STRING LESS
THAN OR EQUALS
---
---
---
1187
674
AND >$
AND STRING
GREATER THAN
---
---
---
1187
674
LD >$
LOAD STRING
GREATER THAN
---
---
---
1187
674
OR >$
OR STRING GREATER --THAN
---
---
1187
675
AND >=$
AND STRING
GREATER THAN OR
EQUALS
---
---
1187
136
---
---
Chapitre 2-4
Liste des instructions par code fonction
Code fonction
Mnémonique
Instruction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Spécification de
rafraîchissement
immédiat
Page
675
LD >=$
LOAD STRING
GREATER THAN OR
EQUALS
---
---
---
1187
675
OR >=$
OR STRING GREATER --THAN OR EQUALS
---
---
1187
680
LMT
LIMIT CONTROL
@LMT
---
---
741
681
BAND
DEAD BAND
CONTROL
@BAND
---
---
743
682
ZONE
DEAD ZONE
CONTROL
@ZONE
---
---
746
685
TPO
TIMEPROPORTIONAL
OUTPUT
---
---
---
749
690
MSKS
SET INTERRUPT
MASK
@MSKS
---
---
798
691
CLI
CLEAR INTERRUPT
@CLI
---
---
809
692
MSKR
READ INTERRUPT
MASK
@MSKR
---
---
804
693
DI
DISABLE
INTERRUPTS
@DI
---
---
814
694
EI
ENABLE
INTERRUPTS
---
---
---
816
700
FREAD
READ DATA FILE
@FREAD
---
---
1045
701
FWRIT
WRITE DATA FILE
@FWRIT
---
---
1052
720
EXPLT
EXPLICIT MESSAGE
SEND
@EXPLT
---
---
1013
721
EGATR
EXPLICIT GET
ATTRIBUTE
@EGATR
---
---
1021
722
ESATR
EXPLICIT SET
ATTRIBUTE
@ESATR
---
---
1028
723
ECHRD
EXPLICIT WORD
READ
@ECHRD
---
---
1034
724
ECHWR
EXPLICIT WORD
CLEAR
@ECHWR
---
---
1038
730
CADD
CALENDAR ADD
@CADD
---
---
1061
731
CSUB
CALENDAR
SUBTRACT
@CSUB
---
---
1065
735
DATE
CLOCK ADJUSTMENT @DATE
---
---
1073
750
GSBS
GLOBAL
SUBROUTINE CALL
@GSBS
---
---
786
751
GSBN
GLOBAL
SUBROUTINE ENTRY
---
---
---
794
752
GRET
GLOBAL
SUBROUTINE
RETURN
---
---
---
797
801
BEND
BLOCK PROGRAM
END
---
---
---
1128
802
IF
CONDITIONAL
BRANCHING BLOCK
---
---
---
1133
802
IF
CONDITIONAL
BRANCHING BLOCK
---
---
---
1133
802
IF NOT
CONDITIONAL
BRANCHING BLOCK
NOT
---
---
---
1133
803
ELSE
ELSE
---
---
---
1133
804
IEND
IF END
---
---
---
1133
805
WAIT
ONE CYCLE AND
WAIT
---
---
---
1140
805
WAIT
ONE CYCLE AND
WAIT
---
---
---
1140
805
WAIT NOT
ONE CYCLE AND
WAIT NOT
---
---
---
1140
137
Chapitre 2-4
Liste des instructions par code fonction
Code fonction
Mnémonique
Instruction
Différentiation
sur front
montant
Différentiation
sur front
descendant
Page
Spécification de
rafraîchissement
immédiat
806
EXIT
CONDITIONAL BLOCK --EXIT
---
---
1137
806
EXIT
CONDITIONAL BLOCK --EXIT
---
---
1137
806
EXIT NOT
CONDITIONAL BLOCK --EXIT NOT
---
---
1137
809
LOOP
LOOP
---
---
---
1153
810
LEND
LOOP END
---
---
---
1153
810
LEND
LOOP END
---
---
---
1153
810
LEND NOT
LOOP END NOT
---
---
---
1153
811
BPPS
BLOCK PROGRAM
PAUSE
---
---
---
1131
812
BPRS
BLOCK PROGRAM
RESTART
---
---
---
1131
813
TIMW
TIMER WAIT
---
---
---
1144
814
CNTW
COUNTER WAIT
---
---
---
1147
815
TMHW
HIGH-SPEED TIMER
WAIT
---
---
---
1150
816
TIMWX
TIMER WAIT
---
---
---
1144
817
TMHWX
HIGH-SPEED TIMER
WAIT
---
---
---
1150
818
CNTWX
COUNTER WAIT
---
---
---
1147
820
TKON
TASK ON
@TKON
---
---
1192
821
TKOF
TASK OFF
@TKOF
---
---
1196
840
PWR
EXPONENTIAL
POWER
@PWR
---
---
599
841
FIXD
DOUBLE FLOATING
TO 16-BIT BINARY
@FIXD
---
---
620
842
FIXLD
DOUBLE FLOATING
TO 32-BIT BINARY
@FIXLD
---
---
621
843
DBL
16-BIT BINARY TO
DOUBLE FLOATING
@DBL
---
---
623
844
DBLL
32-BIT BINARY TO
DOUBLE FLOATING
@DBLL
---
---
624
845
+D
DOUBLE FLOATINGPOINT ADD
@+D
---
---
626
846
−D
DOUBLE FLOATINGPOINT SUBTRACT
@−D
---
---
628
847
*D
DOUBLE FLOATINGPOINT MULTIPLY
@*D
---
---
630
848
/D
DOUBLE FLOATINGPOINT DIVIDE
@/D
---
---
632
849
RADD
DOUBLE DEGREES
TO RADIANS
@RADD
---
---
634
850
DEGD
DOUBLE RADIANS TO @RADD
DEGREES
---
---
636
851
SIND
DOUBLE SINE
@SIND
---
---
637
852
COSD
DOUBLE COSINE
@COSD
---
---
639
853
TAND
DOUBLE TANGENT
@TAND
---
---
641
854
ASIND
DOUBLE ARC SINE
@ASIND
---
---
643
855
ACOSD
DOUBLE ARC
COSINE
@ACOSD
---
---
645
856
ATAND
DOUBLE ARC
TANGENT
@ATAND
---
---
647
857
SQRTD
DOUBLE SQUARE
ROOT
@SQRTD
---
---
649
858
EXPD
DOUBLE EXPONENT
@EXPD
---
---
651
859
LOGD
DOUBLE LOGARITHM @LOGD
---
---
653
138
Chapitre 2-4
Liste des instructions par code fonction
Code fonction
Mnémonique
Instruction
Différentiation
sur front
montant
@PWRD
Différentiation
sur front
descendant
---
Spécification de
rafraîchissement
immédiat
---
Page
860
PWRD
DOUBLE
EXPONENTIAL
POWER
655
880
INI
MODE CONTROL
@INI
---
---
823
881
PRV
HIGH-SPEED
COUNTER PV READ
@PRV
---
---
827
882
CTBL
COMPARISON TABLE
LOAD
@CTBL
---
---
837
883
PRV2
COUNTER
FREQUENCY
CONVERT
@PRV2
---
---
833
885
SPED
SPEED OUTPUT
@SPED
---
---
841
886
PULS
SET PULSES
@PULS
---
---
846
887
PLS2
PULSE OUTPUT
@PLS2
---
---
849
888
ACC
ACCELERATION
CONTROL
@ACC
---
---
855
889
ORG
ORIGIN SEARCH
@ORG
---
---
862
891
PWN
PULSE WITH
VARIABLE DUTY
FACTOR
@PWN
---
---
865
139
Liste des instructions par code fonction
140
Chapitre 2-4
CHAPITRE 3
Instructions
Ce chapitre décrit chacune des instructions pouvant être utilisées pour la programmation des API série CS/CJ. Les
instructions sont reprises par ordre de fonction, suivant le classement du Chapitre 2 Résumé des instructions.
3-1
3-2
3-3
3-4
3-5
3-6
Notation et présentation des descriptions d'instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mises à niveau des instructions et nouvelles instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-2-1 Mises à niveau pour les UC série CS version-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-2-2 Mises à niveau pour les UC CS1-H/CJ1-H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions d'entrée de séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-3-1 LOAD : LD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-3-2 LOAD NOT : LD NOT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-3-3 AND : AND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-3-4 AND NOT : AND NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-3-5 OR : OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-3-6 OR NOT: OR NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-3-7 AND LOAD : AND LD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-3-8 OR LOAD : OR LD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-3-9 Instructions différenciées et de rafraîchissement immédiat . . . . . . . . . . . . . . . . . . . . . . .
3-3-10 Séquence de fonctionnement des instructions E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-3-11 Bits TR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-3-12 NOT : NOT(520) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-3-13 CONDITION ON/OFF : UP(521) et DOWN(522) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-3-14 BIT TEST : TST(350) et TSTN(351). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de sortie de séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-4-1 OUTPUT : OUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-4-2 OUTPUT NOT : OUT NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-4-3 KEEP : KEEP(011). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-4-4 DIFFERENTIATE UP/DOWN : DIFU(013) et DIFD(014). . . . . . . . . . . . . . . . . . . . . . .
3-4-5 SET et RESET : SET et RSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-4-6 MULTIPLE BIT SET/RESET: SETA(530)/RSTA(531) . . . . . . . . . . . . . . . . . . . . . . . . .
3-4-7 SINGLE BIT SET/RESET : SETB(532)/RSTB(533) . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-4-8 SINGLE BIT OUTPUT : OUTB(534) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de contrôle de séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-5-1 END : END(001) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-5-2 NO OPERATION : NOP(000) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-5-3 Aperçu des instructions de verrouillage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-5-4 INTERLOCK et INTERLOCK CLEAR : IL(002) et ILC(003) . . . . . . . . . . . . . . . . . . .
3-5-5 MULTI-INTERLOCK DIFFERENTIATION HOLD,
MULTI-INTERLOCK DIFFERENTIATION RELEASE et
MULTI-INTERLOCK CLEAR : MILH(517), MILR(518) et MILC(519) . . . . . . . . . . .
3-5-6 JUMP et JUMP END : JMP(004) et JME(005) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-5-7 CONDITIONAL JUMP : CJP(510)/CJPN(511) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-5-8 MULTIPLE JUMP et JUMP END : JMP0(515) et JME0(516) . . . . . . . . . . . . . . . . . . . .
3-5-9 FOR-NEXT LOOPS : FOR(512)/NEXT(513). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-5-10 BREAK LOOP : BREAK(514) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de temporisateur et compteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-6-1 TIMER : TIM/TIMX(550) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-6-2 HIGH-SPEED TIMER : TIMH(015)/TIMHX(551) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-6-3 ONE-MS TIMER : TMHH(540)/TMHHX(552) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-6-4 ACCUMULATIVE TIMER : TTIM(087)/TTIMX(555) . . . . . . . . . . . . . . . . . . . . . . . . .
3-6-5 LONG TIMER : TIML(542)/TIMLX(553) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-6-6 MULTI-OUTPUT TIMER : MTIM(543)/MTIMX(554) . . . . . . . . . . . . . . . . . . . . . . . . .
148
151
151
151
153
153
155
157
159
161
163
164
166
169
170
170
172
173
174
177
177
178
179
184
186
189
192
195
197
197
198
199
201
205
219
223
227
229
232
233
235
240
244
247
251
254
141
3-7
3-8
3-9
142
3-6-7 COUNTER : CNT/CNTX(546) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-6-8 REVERSIBLE COUNTER : CNTR(012)/CNTRX(548) . . . . . . . . . . . . . . . . . . . . . . . .
3-6-9 RESET TIMER/COUNTER : CNR(545)/CNRX(547) . . . . . . . . . . . . . . . . . . . . . . . . . .
3-6-10 Exemples d'applications de temporisateur et compteur . . . . . . . . . . . . . . . . . . . . . . . . . .
3-6-11 Adressage indirect des numéros de temporisateur/compteur . . . . . . . . . . . . . . . . . . . . . .
Instructions de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-7-1 Instructions de comparaison d'entrées (300 à 328). . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-7-2 Instructions de comparaison de temps (341 à 346) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-7-3 COMPARE : CMP(020) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-7-4 DOUBLE COMPARE : CMPL(060) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-7-5 SIGNED BINARY COMPARE : CPS(114). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-7-6 DOUBLE SIGNED BINARY COMPARE : CPSL(115) . . . . . . . . . . . . . . . . . . . . . . . . .
3-7-7 MULTIPLE COMPARE : MCMP(019) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-7-8 TABLE COMPARE : TCMP(085) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-7-9 BLOCK COMPARE : BCMP(068) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-7-10 EXPANDED BLOCK COMPARE : BCMP2(502) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-7-11 AREA RANGE COMPARE : ZCP(088) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-7-12 DOUBLE AREA RANGE COMPARE : ZCPL(116) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de déplacement de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-8-1 MOVE : MOV(021) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-8-2 MOVE NOT : MVN(022). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-8-3 DOUBLE MOVE : MOVL(498) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-8-4 DOUBLE MOVE NOT : MVNL(499) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-8-5 MOVE BIT : MOVB(082) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-8-6 MOVE DIGIT : MOVD(083) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-8-7 MULTIPLE BIT TRANSFER : XFRB(062) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-8-8 BLOCK TRANSFER : XFER(070) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-8-9 BLOCK SET : BSET(071) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-8-10 DATA EXCHANGE : XCHG(073) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-8-11 DOUBLE DATA EXCHANGE : XCGL(562) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-8-12 SINGLE WORD DISTRIBUTE : DIST(080) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-8-13 DATA COLLECT : COLL(081) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-8-14 MOVE TO REGISTER : MOVR(560). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-8-15 MOVE TIMER/COUNTER PV TO REGISTER : MOVRW(561) . . . . . . . . . . . . . . . . .
Instructions de décalage de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-1 SHIFT REGISTER : SFT(010) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-2 REVERSIBLE SHIFT REGISTER : SFTR(084). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-3 ASYNCHRONOUS SHIFT REGISTER : ASFT(017) . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-4 WORD SHIFT : WSFT(016) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-5 ARITHMETIC SHIFT LEFT : ASL(025) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-6 DOUBLE SHIFT LEFT : ASLL(570) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-7 ARITHMETIC SHIFT RIGHT : ASR(026). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-8 DOUBLE SHIFT RIGHT : ASRL(571). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-9 ROTATE LEFT : ROL(027) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-10 DOUBLE ROTATE LEFT : ROLL(572) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-11 ROTATE RIGHT : ROR(028). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-12 DOUBLE ROTATE RIGHT : RORL(573) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-13 ROTATE LEFT WITHOUT CARRY : RLNC(574) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-14 DOUBLE ROTATE LEFT WITHOUT CARRY : RLNL(576) . . . . . . . . . . . . . . . . . . . .
3-9-15 ROTATE RIGHT WITHOUT CARRY : RRNC(575) . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-16 DOUBLE ROTATE RIGHT WITHOUT CARRY : RRNL(577). . . . . . . . . . . . . . . . . . .
3-9-17 ONE DIGIT SHIFT LEFT : SLD(074) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-18 ONE DIGIT SHIFT RIGHT : SRD(075) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-19 SHIFT N-BIT DATA LEFT : NSFL(578) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-20 SHIFT N-BIT DATA RIGHT : NSFR(579) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-21 SHIFT N-BITS LEFT : NASL(580). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-22 DOUBLE SHIFT N-BITS LEFT : NSLL(582) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
260
263
267
269
272
275
275
281
287
290
293
296
299
301
304
306
310
313
315
315
317
318
320
321
323
326
328
331
333
334
336
338
340
342
344
345
346
349
352
354
355
357
358
360
362
364
365
367
369
371
372
374
376
377
379
381
384
3-9-23 SHIFT N-BITS RIGHT : NASR(581) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-9-24 DOUBLE SHIFT N-BITS RIGHT : NSRL(583). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-10 Instructions d'incrémentation/décrémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-10-1 INCREMENT BINARY : ++(590). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-10-2 DOUBLE INCREMENT BINARY : ++L(591) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-10-3 DECREMENT BINARY : – –(592) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-10-4 DOUBLE DECREMENT BINARY : – –L(593) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-10-5 INCREMENT BCD : ++B(594). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-10-6 DOUBLE INCREMENT BCD : ++BL(595) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-10-7 DECREMENT BCD : – –B(596) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-10-8 DOUBLE DECREMENT BCD : – –BL(597) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11 Instructions mathématiques à symboles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-1 SIGNED BINARY ADD WITHOUT CARRY : +(400) . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-2 DOUBLE SIGNED BINARY ADD WITHOUT CARRY : +L(401) . . . . . . . . . . . . . . .
3-11-3 SIGNED BINARY ADD WITH CARRY : +C(402) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-4 DOUBLE SIGNED BINARY ADD WITH CARRY : +CL(403) . . . . . . . . . . . . . . . . . .
3-11-5 BCD ADD WITHOUT CARRY : +B(404) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-6 DOUBLE BCD ADD WITHOUT CARRY : +BL(405) . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-7 BCD ADD WITH CARRY : +BC(406) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-8 DOUBLE BCD ADD WITH CARRY : +BCL(407) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-9 SIGNED BINARY SUBTRACT WITHOUT CARRY : –(410) . . . . . . . . . . . . . . . . . . .
3-11-10 DOUBLE SIGNED BINARY SUBTRACT WITHOUT CARRY : –L(411) . . . . . . . . .
3-11-11 SIGNED BINARY SUBTRACT WITH CARRY : –C(412) . . . . . . . . . . . . . . . . . . . . . .
3-11-12 DOUBLE SIGNED BINARY SUBTRACT WITH CARRY : –CL(413) . . . . . . . . . . . .
3-11-13 BCD SUBTRACT WITHOUT CARRY : –B(414) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-14 DOUBLE BCD SUBTRACT WITHOUT CARRY : –BL(415) . . . . . . . . . . . . . . . . . . .
3-11-15 BCD SUBTRACT WITH CARRY : –BC(416) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-16 DOUBLE BCD SUBTRACT WITH CARRY : –BCL(417) . . . . . . . . . . . . . . . . . . . . . .
3-11-17 SIGNED BINARY MULTIPLY : *(420) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-18 DOUBLE SIGNED BINARY MULTIPLY : *L(421) . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-19 UNSIGNED BINARY MULTIPLY : *U(422). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-20 DOUBLE UNSIGNED BINARY MULTIPLY : *UL(423) . . . . . . . . . . . . . . . . . . . . . . .
3-11-21 BCD MULTIPLY : *B(424) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-22 DOUBLE BCD MULTIPLY : *BL(425) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-23 SIGNED BINARY DIVIDE : /(430) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-24 DOUBLE SIGNED BINARY DIVIDE : /L(431) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-25 UNSIGNED BINARY DIVIDE : /U(432) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-26 DOUBLE UNSIGNED BINARY DIVIDE : /UL(433) . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-27 BCD DIVIDE : /B(434) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-11-28 DOUBLE BCD DIVIDE : /BL(435) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12 Instructions de conversion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-1 BCD-TO-BINARY : BIN(023). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-2 DOUBLE BCD-TO-DOUBLE BINARY : BINL(058) . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-3 BINARY-TO-BCD : BCD(024) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-4 DOUBLE BINARY-TO-DOUBLE BCD : BCDL(059). . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-5 2’S COMPLEMENT : NEG(160) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-6 DOUBLE 2’S COMPLEMENT : NEGL(161). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-7 16-BIT TO 32-BIT SIGNED BINARY : SIGN(600). . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-8 DATA DECODER : MLPX(076) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-9 DATA ENCODER : DMPX(077) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-10 ASCII CONVERT : ASC(086). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-11 ASCII TO HEX : HEX(162) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-12 COLUMN TO LINE : LINE(063) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-13 LINE TO COLUMN : COLM(064) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-14 SIGNED BCD-TO-BINARY : BINS(470). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-15 DOUBLE SIGNED BCD-TO-BINARY : BISL(472) . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-16 SIGNED BINARY-TO-BCD : BCDS(471) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
387
389
393
393
395
397
399
401
403
405
407
409
410
412
414
416
418
419
421
423
424
426
430
432
435
436
440
441
443
445
447
449
450
452
454
456
458
460
462
464
465
466
467
469
470
472
474
476
477
482
486
490
494
496
499
502
505
143
3-13
3-14
3-15
3-16
144
3-12-17 DOUBLE SIGNED BINARY-TO-BCD : BDSL(473). . . . . . . . . . . . . . . . . . . . . . . . . . .
3-12-18 GRAY CODE CONVERT : GRY(474) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-13-1 LOGICAL AND : ANDW(034) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-13-2 DOUBLE LOGICAL AND : ANDL(610) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-13-3 LOGICAL OR : ORW(035) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-13-4 DOUBLE LOGICAL OR : ORWL(611) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-13-5 EXCLUSIVE OR : XORW(036) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-13-6 DOUBLE EXCLUSIVE OR : XORL(612) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-13-7 EXCLUSIVE NOR : XNRW(037). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-13-8 DOUBLE EXCLUSIVE NOR : XNRL(613). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-13-9 COMPLEMENT : COM(029) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-13-10 DOUBLE COMPLEMENT : COML(614) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions mathématiques spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-14-1 BINARY ROOT : ROTB(620) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-14-2 BCD SQUARE ROOT : ROOT(072) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-14-3 ARITHMETIC PROCESS : APR(069) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-14-4 FLOATING POINT DIVIDE : FDIV(079) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-14-5 BIT COUNTER : BCNT(067) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions mathématiques à virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-1 FLOATING TO 16-BIT : FIX(450) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-2 FLOATING TO 32-BIT : FIXL(451) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-3 16-BIT TO FLOATING : FLT(452) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-4 32-BIT TO FLOATING : FLTL(453). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-5 FLOATING-POINT ADD : +F(454) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-6 FLOATING-POINT SUBTRACT : –F(455) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-7 FLOATING-POINT MULTIPLY : *F(456) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-8 FLOATING-POINT DIVIDE : /F(457) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-9 DEGREES TO RADIANS : RAD(458) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-10 RADIANS TO DEGREES : DEG(459) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-11 SINE : SIN(460) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-12 COSINE : COS(461) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-13 TANGENT : TAN(462) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-14 ARC SINE : ASIN(463) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-15 ARC COSINE : ACOS(464) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-16 ARC TANGENT : ATAN(465) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-17 SQUARE ROOT : SQRT(466) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-18 EXPONENT : EXP(467) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-19 LOGARITHM : LOG(468) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-20 EXPONENTIAL POWER : PWR(840) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-21 Instructions de comparaison à virgule flottante simple précision . . . . . . . . . . . . . . . . . .
3-15-22 FLOATING-POINT TO ASCII : FSTR(448). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-15-23 ASCII TO FLOATING-POINT : FVAL(449) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions à virgule flottante double précision (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) .
3-16-1 DOUBLE FLOATING TO 16-BIT : FIXD(841) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-2 DOUBLE FLOATING TO 32-BIT : FIXLD(842) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-3 16-BIT TO DOUBLE FLOATING : DBL(843). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-4 32-BIT TO DOUBLE FLOATING : DBLL(844) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-5 DOUBLE FLOATING-POINT ADD : +D(845) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-6 DOUBLE FLOATING-POINT SUBTRACT : –D(846) . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-7 DOUBLE FLOATING-POINT MULTIPLY : *D(847) . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-8 DOUBLE FLOATING-POINT DIVIDE : /D(848) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-9 DOUBLE DEGREES TO RADIANS : RADD(849) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-10 DOUBLE RADIANS TO DEGREES : DEGD(850) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-11 DOUBLE SINE : SIND(851) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-12 DOUBLE COSINE : COSD(852) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-13 DOUBLE TANGENT : TAND(853) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
507
511
517
517
519
520
522
524
526
528
529
531
533
534
534
536
540
552
556
558
563
565
566
568
570
572
574
576
578
579
581
583
585
587
589
591
593
595
597
599
600
604
609
613
620
621
623
624
626
628
630
632
634
636
637
639
641
3-17
3-18
3-19
3-20
3-21
3-16-14 DOUBLE ARC SINE : ASIND(854) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-15 DOUBLE ARC COSINE : ACOSD(855) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-16 DOUBLE ARC TANGENT : ATAND(856) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-17 DOUBLE SQUARE ROOT : SQRTD(857) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-18 DOUBLE EXPONENT : EXPD(858) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-19 DOUBLE LOGARITHM : LOGD(859) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-20 DOUBLE EXPONENTIAL POWER : PWRD(860) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-16-21 Instructions d'entrée à virgule flottante double précision . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de traitement des données de tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-1 SET STACK : SSET(630) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-2 PUSH ONTO STACK : PUSH(632) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-3 FIRST IN FIRST OUT : FIFO(633). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-4 LAST IN FIRST OUT : LIFO(634) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-5 DIMENSION RECORD TABLE : DIM(631) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-6 SET RECORD LOCATION : SETR(635) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-7 GET RECORD NUMBER : GETR(636) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-8 DATA SEARCH : SRCH(181) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-9 SWAP BYTES : SWAP(637) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-10 FIND MAXIMUM : MAX(182) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-11 FIND MINIMUM : MIN(183) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-12 SUM : SUM(184) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-13 FRAME CHECKSUM : FCS(180) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-14 STACK SIZE READ : SNUM(638) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-15 STACK DATA READ : SREAD(639) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-16 STACK DATA OVERWRITE : SWRIT(640) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-17 STACK DATA INSERT : SINS(641) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-17-18 STACK DATA DELETE : SDEL(642). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de contrôle des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-18-1 PID CONTROL : PID(190) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-18-2 PID CONTROL WITH AUTOTUNING : PIDAT(191). . . . . . . . . . . . . . . . . . . . . . . . . .
3-18-3 LIMIT CONTROL : LMT(680) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-18-4 DEAD BAND CONTROL : BAND(681) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-18-5 DEAD ZONE CONTROL : ZONE(682) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-18-6 TIME-PROPORTIONAL OUTPUT : TPO(685) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-18-7 SCALING : SCL(194) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-18-8 SCALING 2 : SCL2(486). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-18-9 SCALING 3 : SCL3(487). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-18-10 AVERAGE : AVG(195) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sous-programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-19-1 SUBROUTINE CALL : SBS(091). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-19-2 MACRO : MCRO(099). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-19-3 SUBROUTINE ENTRY : SBN(092) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-19-4 SUBROUTINE RETURN : RET(093). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-19-5 GLOBAL SUBROUTINE CALL : GSBS(750). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-19-6 GLOBAL SUBROUTINE ENTRY : GSBN(751) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-19-7 GLOBAL SUBROUTINE RETURN : GRET(752). . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de contrôle des interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-20-1 SET INTERRUPT MASK : MSKS(690) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-20-2 READ INTERRUPT MASK: MSKR(692) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-20-3 CLEAR INTERRUPT : CLI(691) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-20-4 DISABLE INTERRUPTS : DI(693) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-20-5 ENABLE INTERRUPTS : EI(694) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-20-6 Résumé des instructions de contrôle des interruptions. . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de compteur à grande vitesse et de sortie d'impulsions. . . . . . . . . . . . . . . . . . . . . . . .
3-21-1 MODE CONTROL: INI(880) (CJ1M-CPU21/22/23 uniquement) . . . . . . . . . . . . . . . . .
3-21-2 HIGH-SPEED COUNTER PV READ : PRV(881) (CJ1M-CPU21/22/23 uniquement) .
3-21-3 COUNTER FREQUENCY CONVERT : PRV2(883) . . . . . . . . . . . . . . . . . . . . . . . . . . .
643
645
647
649
651
653
655
657
660
666
669
672
675
678
681
683
685
687
689
693
697
700
704
707
710
713
716
720
720
731
741
743
746
749
757
762
766
769
773
773
779
783
786
786
794
797
798
798
804
809
814
816
818
823
823
827
833
145
3-22
3-23
3-24
3-25
3-26
3-27
3-28
3-29
3-30
146
3-21-4 REGISTER COMPARISON TABLE : CTBL(882) (CJ1M-CPU21/22/23 uniquement)
3-21-5 SPEED OUTPUT : SPED(885) (CJ1M-CPU21/22/23 uniquement) . . . . . . . . . . . . . . . .
3-21-6 SET PULSES : PULS(886) (CJ1M-CPU21/22/23 uniquement) . . . . . . . . . . . . . . . . . . .
3-21-7 PULSE OUTPUT : PLS2(887) (CJ1M-CPU21/22/23 uniquement) . . . . . . . . . . . . . . . .
3-21-8 ACCELERATION CONTROL : ACC(888) (CJ1M-CPU21/22/23 uniquement) . . . . . .
3-21-9 ORIGIN SEARCH : ORG(889) (CJ1M-CPU21/22/23 uniquement). . . . . . . . . . . . . . . .
3-21-10 PULSE WITH VARIABLE DUTY FACTOR : PWM(891) (CJ1M-CPU21/22/23 uniquement)
Instructions de pas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-22-1 STEP DEFINE et STEP START : STEP(008)/SNXT(009) . . . . . . . . . . . . . . . . . . . . . . .
Instructions des cartes E/S standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-23-1 I/O REFRESH : IORF(097) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-23-2 7-SEGMENT DECODER : SDEC(078) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-23-3 DIGITAL SWITCH INPUT – DSW(210) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-23-4 TEN KEY INPUT – TKY(211) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-23-5 HEXADECIMAL KEY INPUT – HKY(212) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-23-6 MATRIX INPUT : MTR(213) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-23-7 7-SEGMENT DISPLAY OUTPUT – 7SEG(214) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-23-8 INTELLIGENT I/O READ : IORD(222). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-23-9 INTELLIGENT I/O WRITE : IOWR(223) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-23-10 CPU BUS UNIT I/O REFRESH : DLNK(226) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de communication série. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-24-1 Communication série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-24-2 PROTOCOL MACRO : PMCR(260) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-24-3 TRANSMIT : TXD(236) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-24-4 RECEIVE : RXD(235) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-24-5 TRANSMIT VIA SERIAL COMMUNICATIONS UNIT : TXDU(256) . . . . . . . . . . . .
3-24-6 RECEIVE VIA SERIAL COMMUNICATIONS UNIT : RXDU(255) . . . . . . . . . . . . . .
3-24-7 CHANGE SERIAL PORT SETUP : STUP(237). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions réseau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-25-1 A propos du fonctionnement de SYSMAC NET Link/SYSMAC LINK . . . . . . . . . . . . .
3-25-2 A propos des instructions de message explicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-25-3 NETWORK SEND : SEND(090). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-25-4 NETWORK RECEIVE : RECV(098) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-25-5 DELIVER COMMAND : CMND(490) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-25-6 EXPLICIT MESSAGE SEND : EXPLT (720). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-25-7 EXPLICIT GET ATTRIBUTE : EGATR(721) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-25-8 EXPLICIT SET ATTRIBUTE : ESATR(722) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-25-9 EXPLICIT WORD READ : ECHRD (723) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-25-10 EXPLICIT WORD WRITE : ECHWR(724) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de mémoire de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-26-1 Précautions lors de l'utilisation des cartes mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-26-2 READ DATA FILE : FREAD(700) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-26-3 WRITE DATA FILE : FWRIT(701). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions d'affichage : DISPLAY MESSAGE : MSG(046) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions d'horloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-28-1 CALENDAR ADD : CADD(730) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-28-2 CALENDAR SUBTRACT : CSUB(731). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-28-3 HOURS TO SECONDS : SEC(065) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-28-4 SECONDS TO HOURS : HMS(066). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-28-5 CLOCK ADJUSTMENT : DATE(735) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de débogage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-29-1 Echantillonnage mémoire de tracé : TRSM(045). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de diagnostic d'erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-30-1 FAILURE ALARM : FAL(006) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-30-2 SEVERE FAILURE ALARM : FALS(007) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-30-3 FAILURE POINT DETECTION : FPD(269) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
837
841
846
849
855
862
865
867
868
885
885
888
890
896
899
904
908
913
917
921
926
926
928
937
944
952
960
968
973
973
986
991
997
1003
1013
1021
1028
1034
1038
1042
1042
1045
1052
1058
1061
1061
1065
1068
1070
1073
1075
1075
1079
1079
1087
1095
3-31 Autres instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-31-1 SET CARRY : STC(040) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-31-2 CLEAR CARRY : CLC(041) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-31-3 SELECT EM BANK : EMBC(281) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-31-4 EXTEND MAXIMUM CYCLE TIME : WDT(094). . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-31-5 SAVE CONDITION FLAGS : CCS(282) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-31-6 LOAD CONDITION FLAGS : CCL(283) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-31-7 CONVERT ADDRESS FROM CV : FRMCV(284) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-31-8 CONVERT ADDRESS TO CV : TOCV(285) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-31-9 DISABLE PERIPHERAL SERVICING : IOSP(287) (CS1-H/CJ1-H/CJ1M uniquement)
3-31-10 ENABLE PERIPHERAL SERVICING : IOSP(288) (CS1-H/CJ1-H/CJ1M uniquement)
3-32 Instructions de programmation de bloc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-32-1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-32-2 BLOCK PROGRAM BEGIN/END : BPRG(096)/BEND(801). . . . . . . . . . . . . . . . . . . .
3-32-3 BLOCK PROGRAM PAUSE/RESTART : BPPS(811)/BPRS(812) . . . . . . . . . . . . . . . .
3-32-4 Instruction conditionnelle : IF(802), ELSE(803)et IEND(804) . . . . . . . . . . . . . . . . . . . .
3-32-5 CONDITIONAL BLOCK EXIT (NOT) : EXIT (NOT)(806) . . . . . . . . . . . . . . . . . . . . .
3-32-6 ONE CYCLE AND WAIT (NOT) : WAIT(805)/WAIT(805) NOT . . . . . . . . . . . . . . . . .
3-32-7 TIMER WAIT : TIMW(813) et TIMWX(816) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-32-8 COUNTER WAIT : CNTW(814) et CNTWX(818). . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-32-9 HIGH-SPEED TIMER WAIT : TMHW(815) et TMHWX(817). . . . . . . . . . . . . . . . . . .
3-32-10 Loop Control: LOOP(809)/LEND(810)/LEND(810) NOT . . . . . . . . . . . . . . . . . . . . . . .
3-33 Instructions de traitement de chaînes de texte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-33-1 Aperçu du traitement de chaînes de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-33-2 MOV STRING : MOV$(664). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-33-3 CONCATENATE STRING : +$(656) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-33-4 GET STRING LEFT : LEFT$(652) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-33-5 GET STRING RIGHT : RGHT$(653) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-33-6 GET STRING MIDDLE : MID$(654) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-33-7 FIND IN STRING : FIND$(660) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-33-8 STRING LENGTH : LEN$(650) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-33-9 REPLACE IN STRING : RPLC$(661) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-33-10 DELETE STRING : DEL$(658) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-33-11 EXCHANGE STRING : XCHG$(665) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-33-12 CLEAR STRING : CLR$(666) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-33-13 INSERT INTO STRING : INS$(657) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-33-14 Instructions de comparaison de chaînes (670 à 675) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-34 Instructions de contrôle des tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-34-1 TASK ON : TKON(820). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-34-2 TASK OFF : TKOF(821) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-35 Instructions de conversion des modèles (UC version 3.0 ou supérieure) . . . . . . . . . . . . . . . . . . . .
3-35-1 BLOCK TRANSFER : XFERC(565). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-35-2 SINGLE WORD DISTRIBUTE : DISTC(566) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-35-3 DATA COLLECT : COLLC(567) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-35-4 MOVE BIT : MOVBC(568) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-35-5 BIT COUNTER : BCNTC(621). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-35-6 GET VARIABLE ID : GETID(286). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1104
1104
1105
1106
1108
1110
1112
1113
1117
1121
1123
1124
1124
1128
1131
1133
1137
1140
1144
1147
1150
1153
1158
1158
1159
1161
1164
1166
1168
1171
1173
1175
1178
1180
1182
1184
1187
1192
1192
1196
1199
1201
1203
1206
1211
1212
1214
147
Chapitre 3-1
Notation et présentation des descriptions d'instructions
3-1
Notation et présentation des descriptions d'instructions
Les instructions sont décrites par groupes de fonction. Reportez-vous à 2-3
Liste alphabétique des instructions par mnémonique pour une liste des instructions par mnémonique qui indique le numéro de page dans ce chapitre
pour chaque instruction.
La description de chaque instruction se présente comme décrit dans le
tableau ci-dessous.
Nom et mnémonique
Objet
Symbole du schéma contact et
noms d'opérande
Contenu
L'intitulé de chaque section comprend le nom de l'instruction suivi de l'abréviation mnémonique et du code fonction entre parenthèses. Exemple : MOVE BIT : MOVB(082)
L'objet de l'instruction est décrit après l'intitulé de section.
Le symbole de schéma contact utilisé pour représenter l'instruction dans CX-Programmer
est indiqué, comme dans l'exemple pour l'instruction MOVE BIT repris ci-dessous. Le
nom de chaque opérande est également accompagné du symbole de schéma contact.
MOVB(082)
Variations
Variations
Variations
Variations
S
S: Mot ou donnée source
C
C: Mot de contrôle
D
D: Mot de destination
Les variations pouvant être utilisées pour contrôler l'exécution de l'instruction dans
des conditions particulières sont indiquées sous forme mnémonique. Toute variation
qui n'est pas supportée par une instruction est accompagnée de la mention “Non
prise en charge.”
• Exécutée à chaque cycle pour la condition ON : L'instruction est exécutée pour
autant que la condition d'exécution est ON.
• Exécutée une fois pour la différentiation sur front montant : L'instruction est exécutée au cycle suivant uniquement après que la condition d'exécution passe de
OFF à ON.
• Exécutée une fois pour la différentiation sur front descendant : L'instruction est
exécutée au cycle suivant uniquement après que la condition d'exécution passe
de ON à OFF.
• Toujours exécutée : L'instruction ne nécessite pas de condition d'exécution et
est exécutée à chaque cycle.
• Crée la condition ON.... : L'instruction est exécutée à chaque cycle pour créer
une condition d'exécution pour l'instruction suivante.
Variations
Exécutée à chaque cycle pour la condition ON
MOVB(082)
Exécutée une fois pour la différentiation sur
front montant
@MOVB(082)
Exécutée une fois pour la différentiation sur
front descendant
Non prise en charge
Spécification de Le rafraîchissement immédiat peut être spécifié pour certaines instructions afin de
rafraîchissemettre à jour l'E/S à l'exécution de l'instruction. Si le rafraîchissement immédiat est
ment immédiat pris en charge, la spécification est indiquée sous forme mnémonique. Si le rafraîchissement immédiat n’est pas pris en charge par une instruction, la mention “Non prise
en charge” est indiquée.
Spécification de rafraîchissement
immédiat
148
Non prise en charge.
Chapitre 3-1
Notation et présentation des descriptions d'instructions
Contenu
Zones de programmes applicables Les zones de programmes dans lesquelles l'instruction peut être utilisée, sont ici spécifiées. “OK” indique les zones dans lesquelles l'instruction peut être utilisée.
Opérandes
Zones de
Zones de programmes
programmes pas
bloc
Sous-programmes
Tâches
d'interruption
OK
OK
OK
OK
Le cas échéant, la signification des mots et bits utilisés dans des opérandes
spécifiques, tels que des mots de contrôle, est indiquée.
15
C
8 7
m
0
n
Bit source : 00 à 0F
(0 à 15 décimal)
Bit de destination 00 à
0F (0 à 15 décimal)
Spécifications de l’opérande
Les adresses de zones mémoire pouvant être utilisées pour chaque opérande sont
reprises dans un tableau comme celui-ci. Les lettres utilisées dans les intitulés de
colonne à gauche sont identiques à celles utilisées dans le symbole du schéma contact.
“---” est indiqué pour signaler qu'une zone ne peut être spécifique pour un opérande.
Zone
Zone CIO
S
C
D
CIO 0000 à CIO 6143
Zone Travail
W000 à W511
Zone Bit de
maintien
H000 à H511
Zone Bit
auxiliaire
A000 à A959
A448 à A959
Zone Tempo- T0000 à T4095
risateur
Zone
Compteur
Description
Drapeaux
C0000 à C4095
Zone DM
D00000 à D32767
Zone EM
sans banque
E00000 à E32767
Cette rubrique décrit la fonction de l'instruction et les opérandes utilisés dans l'instruction.
Le tableau de drapeaux indique l'état des drapeaux de condition immédiatement
après l'exécution de l'instruction. Tout drapeau non listé n'est pas concerné par l'instruction. “OFF” indique qu'un drapeau est mis sur OFF immédiatement après l'exécution de l'instruction quels que soient les résultats de cette exécution.
Nom
Précautions
Exemple
Constantes
Etiquette
Fonctionnement
Drapeau
d'erreur
ER
ON si les données de contrôle sont dans les
plages.
OFF dans tous les autres cas.
Drapeau
d'égalité
=
OFF
Drapeau
négatif
N
OFF
Cette rubrique indique les précautions particulières à prendre pour une instruction
donnée. N'oubliez pas de lire et de respecter ces précautions.
Un exemple d'utilisation de l'instruction avec des opérandes spécifiques est donné
afin d'expliquer davantage la fonction de l'instruction.
Des entrées de constantes pour les opérandes sont indiquées comme repris
ci-dessous.
149
Chapitre 3-1
Notation et présentation des descriptions d'instructions
Description et spécifications des opérandes
• Opérandes spécifiant des chaînes de bits (en général entrée hexadécimale) :
Seule la forme hexadécimale est donnée pour les opérandes spécifiant des
chaînes de bits, ex. seulement “#0000 à #FFFF” est spécifié comme opérande S pour l'instruction MOV(021). Dans CX-Programmer, les chaînes de
bits peuvent être cependant saisies sous forme décimale à l'aide du préfixe
&.
• Opérandes spécifiant des valeurs numériques (en général entrée décimale, numéros de saut inclus) :
Les formes décimales et hexadécimales sont indiquées pour les opérandes spécifiant des valeurs numériques, ex. “#0000 à #FFFF” et “&0 à
&65535” sont indiqués comme opérande N pour l'instruction XFER(070).
• Opérandes d'indication de numéros de contrôle (excepté pour les numéros de saut) :
La forme décimale est indiquée pour les numéros de contrôle, ex. “0 à
1023” est indiqué comme opérande N pour l'instruction SBS(091).
Exemples
Dans les exemples, les constantes sont indiquées en suivant la notation de
CX-Programmer, ex. des opérandes spécifiant des valeurs numériques sont
indiqués sous forme décimale et accompagnés du préfixe &, comme dans
l'exemple ci-dessous.
XFER
&10
D00100
D00200
Les méthodes d'entrée des constantes pour les périphériques de programmation sont reprises au tableau ci-dessous.
Opérande
CXProgrammer
Opérandes spéciEntrée sous
fiant des chaînes de forme décibits (en général
male avec le
entrée hexadécimale) préfixe & ou
entrée sous
Opérandes spéciforme hexadéfiant des valeurs
cimale avec le
numériques (en
général entrée déci- préfixe #. (voir
remarque)
male)
Opérandes
Entrée sous
d'indication de
forme décimale
numéros de contrôle avec le préfixe
(excepté pour les
#. (voir
numéros de saut)
remarque)
Console de programmation
La touche Cont/# peut être enfoncée pour
saisir des valeurs hexadécimales par défaut
avec le préfixe #. La touche CHG peut être
ensuite enfoncée pour passer
d'hexadécimal (avec préfixe #) à décimal
signé (avec +/–) et décimal non signé (avec
préfixe &),
Entrée directement sous forme décimale.
Si le préfixe & est automatiquement ajouté,
la touche CHG peut être enfoncée pour passer de décimal non signé (avec le préfixe &),
à hexadécimal (avec le préfixe #) et décimal
signé (avec +/–)
Si aucun préfixe n'est affiché, la valeur doit
être saisie sous forme décimale.
Remarque Lorsque les opérandes sont saisis dans CX-Programmer, les plages d'entrée
s'affichent ainsi que les préfixes appropriés.
Drapeaux de condition
150
Des étiquettes de console de programmation sont utilisées comme drapeaux
de condition dans cette section. Dans le cas de CX-Programmer, les dra-
Chapitre 3-2
Mises à niveau des instructions et nouvelles instructions
peaux de condition sont enregistrés à l'avance comme symboles globaux,
“P_” précédant le nom du symbole.
Drapeau
Etiquette de
console de
programmation
Drapeau d'erreur
ER
Drapeau Erreur d’accès
AER
Drapeau de report
CY
Drapeau supérieur à
>
Drapeau d'égalité
=
Drapeau inférieur à
<
Drapeau négatif
N
Drapeau de dépassement
OF
Drapeau de dépassement négatif UF
Drapeau supérieur ou égal à
>=
Drapeau de non égalité
<>
Drapeau inférieur ou égal à
<=
Drapeau Toujours ON
ON
Drapeau Toujours OFF
OFF
3-2
Etiquette CX-Programmer
P_ER
P_AER
P_CY
P_GT
P_EQ
P_LT
P_N
P_OF
P_UF
P_GE
P_NE
P_LE
P_On
P_Off
Mises à niveau des instructions et nouvelles instructions
Cette section reprend les mises à niveau des instructions pour les UC CS1
avec le suffixe -EV1 et les UC CS1-H/CJ1-H.
3-2-1
Mises à niveau pour les UC série CS version-1
Les instructions suivantes ont été mises à niveau pour les UC version-1.
Reportez-vous au numéro de page mentionné pour plus de détails.
Les fonctions prises en charge uniquement par les UC version-1 sont suivies
de la mention “(-EV1 uniquement)”
Nom
READ DATA FILE
WRITE DATA FILE
DELIVER COMMAND
3-2-2
Mnémoniq
Code
Fonction
ue
fonction
FREAD
700
Les formats de données
CSV et texte (.txt) sont
FWRIT
701
désormais pris en charge.
(précédemment seules les
données binaires étaient prises en charge.)
CMND
490
L'UC peut désormais
envoyer une commande
FINS à elle-même.
(précédemment impossible.)
Mise à niveau
Page
1045
Le contenu des données de
contrôle a été modifié en ajou- 1052
tant le format de données, la
présence de retours chariot et
les spécifications de la position du retour chariot.
La possibilité d'envoyer une
commande FINS à l'UC exécutant l'instruction
CMND(490) a été ajoutée.
1003
Mises à niveau pour les UC CS1-H/CJ1-H
Nouvelles instructions
Les instructions suivantes ont été ajoutées aux UC CS1-H et CJ1-H.
Instructions de sortie de séquences
SINGLE BIT SET, SETB(532)
SINGLE BIT RESET, RSTB(533)
SINGLE BIT OUTPUT, OUTB(534)
Instructions de comparaison de données
AREA RANGE COMPARE, ZCP(088)
DOUBLE AREA RANGE COMPARE, ZCPL(116)
151
Mises à niveau des instructions et nouvelles instructions
Chapitre 3-2
Instructions de calcul et de conversion à virgule flottante
Instructions de comparaison de données à virgule flottante : =F, <>F, <F, <=F, >F et
>=F (329 à 334)
FLOATING POINT TO ASCII, FSTR(448)
ASCII TO FLOATING POINT, VAL(449)
Instructions de calcul et de conversion à virgule flottante double
précision
Instructions de comparaison double précision : =D, <>D, <D, <=D, >D et >=D (335 à 340)
DOUBLE FLOATING TO 16-BIT BINARY, FIXD(841)
DOUBLE FLOATING TO 32-BIT BINARY, FIXLD(8420)
16-BIT BINARY TO DOUBLE FLOATING, DBL(843)
32-BIT BINARY TO DOUBLE FLOATING, DBLL(844)
DOUBLE FLOATING-POINT ADD, +D(845)
DOUBLE FLOATING-POINT SUBTRACT, −D(846)
DOUBLE FLOATING-POINT MULTIPLY, *D(847)
DOUBLE FLOATING-POINT DIVIDE, /D(848)
DOUBLE DEGREES TO RADIANS, RADD(849)
DOUBLE RADIANS TO DEGREES, DEGD(850)
DOUBLE SINE, SIND(851)
DOUBLE COSINE, COSD(852)
DOUBLE TANGENT, TAND(853)
DOUBLE ARC SINE, ASIND(854)
DOUBLE ARC COSINE, ACOSD(855)
DOUBLE ARC TANGENT, ATAND(856)
DOUBLE SQUARE ROOT, SQRTD(857)
DOUBLE EXPONENT, EXPD(858)
DOUBLE LOGARITHM, LOGD(859)
DOUBLE EXPONENTIAL POWER, PWRD(860)
Instructions de traitement des données de tableaux
STACK SIZE READ, SNUM(638)
STACK DATA READ, SREAD(639)
STACK DATA WRITE, SWRIT(640)
STACK DATA INSERT, SINS(641)
STACK DATA DELETE, SDEL(642)
Instructions de contrôle des données
PID CONTROL WITH AUTOTUNING, PIDAT(191)
Instructions de sous-programme
GLOBAL SUBROUTINE CALL, GSBS(750)
GLOBAL SUBROUTINE ENTRY, GSBN(751)
GLOBAL SUBROUTINE RETURN, GRET(752)
Instructions des cartes E/S
CPU BUS UNIT I/O REFRESH, DLNK(226)
Autres instructions
SAVE CONDITION FLAGS, CCS(282)
LOAD CONDITION FLAGS, CCL(283)
CONVERT ADDRESS FROM CV, FRMCV(284)
CONVERT ADDRESS TO CV, TOCV(285)
DISABLE PERIPHERAL SERVICING, IOSP(287)
ENABLE PERIPHERAL SERVICING, IORS(288)
Nouvelles instructions
Les instructions suivantes ont été mises à niveau pour les UC CS1-H et CJ1-H.
Instructions mathématiques spéciales
ARITHMETIC PROCESS, APR(069)
Instructions de diagnostic d'erreur
FAILURE ALARM, FAL(006)
SEVERE FAILURE ALARM, FALS(007)
152
Chapitre 3-3
Instructions d'entrée de séquences
3-3
Instructions d'entrée de séquences
3-3-1
LOAD : LD
Objet
Indique un départ logique et crée une condition d'exécution ON/OFF basée
sur l'état ON/OFF du bit d'opérande spécifié.
Symbole du schéma
contact
Barre de bus
Point de départ du bloc
Variations
Variations
Relance la logique et crée ON à chaque cycle où
le bit d'opérande est ON
Relance la logique et crée ON une fois pour la
différentiation sur front montant
Relance la logique et crée ON une fois pour la
différentiation sur front descendant
Spécification de rafraîchissement immédiat (voir remarque.)
Variations Rafraîchit le bit d'entrée, relance la logique et
combinées crée ON une fois pour la différentiation sur front
montant (voir remarque.)
Rafraîchit le bit d'entrée, relance la logique et
crée ON une fois pour la différentiation sur front
descendant (voir remarque.)
LD
@LD
%LD
!LD
!@LD
!%LD
Remarque Le rafraîchissement immédiat n'est pas pris en charge par les UC CS1D pour
les systèmes d'UC en duplex.
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes bloc
OK
Zones de
programmes pas
OK
Sousprogrammes
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone de drapeaux de
tâches
Drapeaux de condition
Impulsions d'horloge
Zone TR
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Bit d'opérande LD
CIO 000000 à CIO 614315
W00000 à W51115
H00000 à H51115
A00000 à A95915
T0000 à T4095
C0000 à C4095
TK0000 à TK0031
Tâches
d'interruption
OK
ER, CY, N, OF, UF, >, =, <, >=, <>, <=, A1, A0
0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
TR0 à TR15
-------------
153
Chapitre 3-3
Instructions d'entrée de séquences
Zone
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Bit d'opérande LD
----,IR0 à ,IR15
-2048 à +2047 ,IR0 à -2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
L'instruction LD est utilisée pour le premier bit normalement ouvert de la barre
de bus ou pour le premier bit normalement ouvert d'un bloc logique. S'il n'existe
pas de spécification de rafraîchissement immédiat, le bit spécifié dans la
mémoire E/S est lu. S'il existe une spécification de rafraîchissement immédiat,
l'état de la borne d'entrée de la carte d'entrée standard est lu et utilisé.
LD est utilisée dans les cas suivants pour indiquer un départ logique.
• Lors de la connexion directe à la barre de bus.
• Lorsque des blocs logiques sont connectés par AND LD ou OR LD, c'està-dire au début d'un bloc logique.
Les instructions AND LOAD et OR LOAD sont utilisées pour connecter en
série ou en parallèle des blocs logiques commençant par LD ou LD NOT.
Au moins une instruction LOAD ou LOAD NOT est requise pour la condition
d'exécution lorsque les instructions liées à la sortie ne peuvent être directement connectées à la barre de bus. S'il n'existe pas d'instruction LOAD ou
LOAD NOT, une erreur de programmation se produit lors de la vérification du
programme par le périphérique.
Lorsque des blocs logiques sont connectés par des instructions AND LOAD
ou OR LOAD, le nombre total d'instructions AND LOAD/OR LOAD doit correspondre au nombre total d'instructions LOAD/LOAD NOT moins 1. Si ce nombre ne correspond pas, une erreur de programmation se produit. Pour plus
d'informations, reportez-vous à 3-3-7 AND LOAD : AND LD et 3-3-8 OR
LOAD : OR LD.
Drapeaux
Aucun drapeau n'est concerné par cette instruction.
Précautions
La différentiation sur front montant (@) ou la différentiation sur front descendant (%) peut être spécifiée pour l'instruction LD. Si la différentiation sur front
montant (@) est spécifiée, la condition d'exécution passe ON pendant un
cycle uniquement après que l'état du bit d'opérande passe de OFF à ON. Si la
différentiation sur front descendant (%) est spécifiée, la condition d'exécution
passe ON pendant un cycle uniquement après que l'état du bit d'opérande
passe de ON à OFF.
La rafraîchissement immédiat (!) peut être spécifié pour l'instruction LD. Une
instruction de rafraîchissement immédiat met à jour l'état du bit d'entrée juste
avant que l'instruction ne soit exécutée pour les cartes d'entrée standard
(mais pas pour les cartes d'entrée standard sur racks esclaves ni pour les cartes d'entrée multipoint C200H Groupe 2).
Dans le cas de LD, il est possible de combiner la rafraîchissement immédiat et
la différentiation sur front montant ou sur front descendant (!@ ou !%). Si l'une
de ces spécifications existe, l'entrée est mise à jour à partir de la carte
d'entrée standard juste avant l'exécution de l'instruction et la condition d'exécution passe ON pendant un cycle uniquement après que l'état passe de OFF
à ON ou de ON à OFF.
154
Chapitre 3-3
Instructions d'entrée de séquences
Exemple
Instruction
LD
LD
LD
AND
OR LD
AND LD
LD NOT
AND
OR LD
OUT
3-3-2
Opérande
000000
000001
000002
000003
----000004
000005
--000100
OR LD
AND LD
OR LD
LOAD NOT : LD NOT
Objet
Indique un départ logique et crée une condition d'exécution ON/OFF basée
sur l'état ON/OFF inverse du bit d'opérande spécifié.
Symbole du schéma
contact
Barre de bus
Point de départ du bloc
Variations
Variations
Relance la logique et crée ON à chaque cycle où le bit
d'opérande est OFF
Relance la logique et crée ON une fois pour la
différentiation sur front montant (voir remarque 1.)
Relance la logique et crée ON une fois pour la
différentiation sur front descendant (voir remarque 1.)
Spécification de rafraîchissement immédiat (voir remarque 2.)
Variations Rafraîchit le bit d'entrée, relance la logique et crée ON
combinées une fois pour la différentiation sur front montant (voir
remarque 3.)
Rafraîchit le bit d'entrée, relance la logique et crée ON
une fois pour la différentiation sur front descendant
(voir remarque 3.)
Remarque
LD NOT
@LD NOT
%LD NOT
!LD NOT
!@LD NOT
!%LD NOT
1. Les variations suivantes sont prises en charge par les UC CS1-H, CJ1-H,
CJ1M et CS1D uniquement : @LD NOT, %LD NOT, !@LD NOT et !%LD
NOT.
2. Le rafraîchissement immédiat n'est pas pris en charge par les UC CS1D
pour les systèmes d'UC en duplex.
3. Les variations combinées sont prises en charge par les UC CS1D pour
systèmes d'UC unique et les UC CS1-H, CJ1-H et CJ1M uniquement.
155
Chapitre 3-3
Instructions d'entrée de séquences
Zones de programmes
applicables
Spécifications de
l’opérande
Description
Zones de
programmes bloc
OK
Zones de
programmes pas
OK
Sousprogrammes
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone de drapeaux de
tâches
Drapeaux de condition
Impulsions d'horloge
Zone TR
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Bit d'opérande LD NOT
CIO 000000 à CIO 614315
W00000 à W51115
H00000 à H51115
A00000 à A95915
T0000 à T4095
C0000 à C4095
TK0000 à TK0031
Tâches
d'interruption
OK
ER, CY, N, OF, UF, >, =, <, >=, <>, <=, ON, OFF, AER
0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
------------------,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
L'instruction LD NOT est utilisée pour le premier bit normalement fermé de la
barre de bus ou pour le premier bus normalement fermé d'un bloc logique. S'il
n'existe pas de spécification de rafraîchissement immédiat, le bit spécifié
dans la mémoire E/S est lu et inversé. S'il existe une spécification de rafraîchissement immédiat, l'état de la borne d'entrée de la carte d'entrée standard
est lu, inversé et utilisé.
L'instruction LD NOT est utilisée dans les cas suivants pour indiquer un
départ logique.
• Lors de la connexion directe à la barre de bus.
• Lorsque des blocs logiques sont connectés par AND LD ou OR LD. (au
début d'un bloc logique.)
Les instructions AND LOAD et OR LOAD sont utilisées pour connecter en
série ou en parallèle des blocs logiques commençant par LD ou LD NOT.
Au moins une instruction LOAD ou LOAD NOT est requise pour la condition
d'exécution lorsque les instructions liées à la sortie ne peuvent être directement connectées à la barre de bus. S'il n'existe pas d'instruction LOAD ou
LOAD NOT, une erreur de programmation se produira lors de la vérification du
programme par le périphérique.
Lorsque des blocs logiques sont connectés par des instructions AND LOAD
ou OR LOAD, le nombre total d'instructions AND LOAD/OR LOAD doit corres-
156
Chapitre 3-3
Instructions d'entrée de séquences
pondre au nombre total d'instructions LOAD/LOAD NOT moins 1. Si ce nombre ne correspond pas, une erreur de programmation se produit.
Drapeaux
Aucun drapeau n'est concerné par cette instruction.
Précautions
Le rafraîchissement immédiat (!) peut être spécifiée pour LD NOT. Une instruction de rafraîchissement immédiat met à jour l'état du bit d'entrée juste
avant que l'instruction ne soit exécutée pour les cartes d'entrée standard
(mais non pour les cartes d'entrée standard sur racks esclaves ni pour les
cartes d'entrée multipoint C200H Groupe 2).
Exemple
Instruction
LD
LD
LD
AND
OR LD
AND LD
LD NOT
AND
OR LD
OUT
3-3-3
Opérande
000000
000001
000002
000003
----000004
000005
--000100
OR LD
AND LD
OR LD
AND : AND
Objet
Effectue un AND logique de l'état du bit d'opérande spécifié et de la condition
d'exécution en cours.
Symbole du schéma
contact
Variations
Variations
Crée ON à chaque cycle où le résultat AND est ON
Crée ON une fois pour la différentiation sur front montant
Crée ON une fois pour la différentiation sur front
descendant
Spécification de rafraîchissement immédiat (voir remarque.)
Variations
Rafraîchit le bit d'entrée et crée ON une fois pour la
combinées différentiation sur front montant (voir remarque.)
Rafraîchit le bit d'entrée et crée ON une fois pour la
différentiation sur front descendant (voir remarque.)
AND
@AND
%AND
!AND
!@AND
!%AND
Remarque Le rafraîchissement immédiat n'est pas pris en charge par les UC CS1D pour
les systèmes d'UC en duplex.
Zones de programmes
applicables
Zones de
programmes bloc
OK
Zones de
programmes pas
OK
Sousprogrammes
OK
Tâches
d'interruption
OK
157
Chapitre 3-3
Instructions d'entrée de séquences
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone de drapeaux de
tâches
Drapeaux de condition
Impulsions d'horloge
Zone TR
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Bit d'opérande AND
CIO 000000 à CIO 614315
W00000 à W51115
H00000 à H51115
A00000 à A95915
T0000 à T4095
C0000 à C4095
TK0000 à TK0031
ER, CY, N, OF, UF, >, =, <, >=, <>, <=, ON, OFF, AER
0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
------------------,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Description
L'instruction AND est utilisée pour un bit normalement ouvert connecté en
série. AND ne peut pas être directement connectée à la barre de bus et ne
peut pas être utilisée au début d'un bloc logique. S'il n'existe pas de spécification de rafraîchissement immédiat, le bit spécifié dans la mémoire E/S est lu.
S'il existe une spécification de rafraîchissement immédiat, l'état de la borne
d'entrée de la carte d'entrée standard est lu.
Drapeaux
Aucun drapeau n'est concerné par cette instruction.
Précautions
La différentiation sur front montant (@) ou la différentiation sur front descendant (%) peut être spécifiée pour AND. Si la différentiation sur front montant
(@) est spécifiée, la condition d'exécution est mise sur ON pendant un cycle
uniquement après que l'état du bit d'opérande passe de OFF à ON. Si la différentiation sur front descendant (%) est spécifiée, la condition d'exécution est
mise sur ON pendant un cycle uniquement après que l'état du bit d'opérande
passe de ON à OFF.
Le rafraîchissement immédiat (!) peut être spécifié pour AND. Une instruction
de rafraîchissement immédiat met à jour l'état du bit d'entrée juste avant que
l'instruction ne soit exécutée pour les cartes d'entrée standard (mais non pour
les cartes d'entrée standard sur racks esclaves ni pour les cartes d'entrée
multipoint C200H Groupe 2).
Dans le cas de AND, il est possible de combiner le rafraîchissement immédiat
et la différentiation sur front montant ou sur front descendant (!@ ou !%). Si
l'une de ces spécifications existe, l'entrée est mise à jour à partir de la carte
d'entrée standard juste avant l'exécution de l'instruction et la condition d'exécution est mise sur ON pendant un cycle uniquement après que l'état passe
de OFF à ON ou de ON à OFF.
158
Chapitre 3-3
Instructions d'entrée de séquences
Exemple
Instruction
LD
AND
LD
AND
LD
AND NOT
OR LD
AND LD
OUT
3-3-4
Opérande
000000
000001
000002
000003
000004
000005
----000006
AND NOT : AND NOT
Objet
Inverse l'état du bit d'opérande spécifié et effectue un AND logique avec la
condition d'exécution en cours.
Symbole du schéma
contact
Variations
Variations
Crée ON à chaque cycle où le résultat AND NOT est ON
Crée ON une fois pour la différentiation sur front
montant (voir remarque 1.)
Crée ON une fois pour la différentiation sur front
descendant (voir remarque 1.)
Spécification de rafraîchissement immédiat (voir remarque 2.)
Variations
Rafraîchit le bit d'entrée et crée ON une fois pour la
combinées
différentiation sur front montant (voir remarque 3.)
Rafraîchit le bit d'entrée et crée ON une fois pour la
différentiation sur front descendant (voir remarque 3.)
Remarque
AND NOT
@AND NOT
%AND NOT
!AND NOT
!@AND NOT
!%AND NOT
1. Les variations suivantes sont prises en charge par les UC CS1-H, CJ1-H,
CJ1M et CS1D uniquement : @AND NOT, %AND NOT, !@AND NOT et
!%AND NOT.
2. La rafraîchissement immédiat n'est pas pris en charge par les UC CS1D
pour les systèmes d'UC en duplex.
3. Les variations combinées sont prises en charge par les UC CS1D pour
systèmes d'UC unique et les UC CS1-H, CJ1-H et CJ1M uniquement.
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes bloc
OK
Zones de
programmes pas
OK
Sousprogrammes
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Bit d'opérande AND NOT
CIO 000000 à CIO 614315
W00000 à W51115
H00000 à H51115
Tâches
d'interruption
OK
159
Chapitre 3-3
Instructions d'entrée de séquences
Zone
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone de drapeaux de
tâches
Drapeaux de condition
Impulsions d'horloge
Zone TR
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Bit d'opérande AND NOT
A00000 à A95915
T0000 à T4095
C0000 à C4095
TK0000 à TK0031
ER, CY, N, OF, UF, >, =, <, >=, <>, <=, ON, OFF, AER
0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
------------------,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Description
L'instruction AND NOT est utilisée pour un bit normalement fermé connecté
en série. AND NOT ne peut être directement connectée à la barre de bus et
ne peut être utilisée au début d'un bloc logique. S'il n'existe pas de spécification de rafraîchissement immédiat, le bit spécifié dans la mémoire E/S est lu.
S'il existe une spécification de rafraîchissement immédiat, l'état de la borne
d'entrée de la carte d'entrée standard est lu.
Drapeaux
Aucun drapeau n'est concerné par cette instruction.
Précautions
Le rafraîchissement immédiat (!) peut être spécifié pour AND NOT. Une instruction de rafraîchissement immédiat met à jour l'état du bit d'entrée juste
avant que l'instruction ne soit exécutée pour les cartes d'entrée standard
(mais non pour les cartes d'entrée standard sur racks esclaves ni pour les
cartes d'entrée multipoint C200H Groupe 2).
Exemple
Instruction
LD
AND
LD
AND
LD
AND NOT
160
Opérande
000000
000001
000002
000003
000004
000005
Chapitre 3-3
Instructions d'entrée de séquences
Instruction
OR LD
AND LD
OUT
3-3-5
Opérande
----000006
OR : OR
Objet
Effectue un OR logique de l'état ON/OFF du bit d'opérande spécifié et de la
condition d'exécution en cours.
Symbole du schéma
contact
Barre de bus
Variations
Variations
Crée ON à chaque cycle où le résultat OR est ON
Crée ON une fois pour la différentiation sur front
montant
Crée ON une fois pour la différentiation sur front
descendant
Spécification de rafraîchissement immédiat (voir remarque.)
Variations
Rafraîchit le bit d'entrée et crée ON une fois pour
combinées la différentiation sur front montant (voir
remarque.)
Rafraîchit le bit d'entrée et crée ON une fois pour
la différentiation sur front descendant (voir
remarque.)
OR
@OR
%OR
!OR
!@OR
!%OR
Remarque La rafraîchissement immédiat n'est pas pris en charge par les UC CS1D pour
les systèmes d'UC en duplex.
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
Sousprogrammes
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone de drapeaux de
tâches
Drapeaux de condition
Impulsions d'horloge
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Bit d'opérande OR
CIO 000000 à CIO 614315
W00000 à W51115
H00000 à H51115
A00000 à A95915
T0000 à T4095
C0000 à C4095
TK0000 à TK0031
Tâches
d'interruption
OK
ER, CY, N, OF, UF, >, =, <, >=, <>, <=, ON, OFF, AER
0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
-------------
161
Chapitre 3-3
Instructions d'entrée de séquences
Zone
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Bit d'opérande OR
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Description
L'instruction OR est utilisée pour un bit normalement ouvert connecté en
parallèle. Un bit normalement ouvert est configuré pour former un OR logique
avec un bloc logique commençant par une instruction LOAD ou LOAD NOT
(connectée à la barre de bus au début du bloc logique). S'il n'existe pas de
spécification de rafraîchissement immédiat, le bit spécifié dans la mémoire
E/S est lu. S'il existe une spécification de rafraîchissement immédiat, l'état de
la borne d'entrée de la carte d'entrée standard est lu.
Drapeaux
Aucun drapeau n'est concerné par cette instruction.
Précautions
La différentiation sur front montant (@) ou la différentiation sur front descendant (%) peut être spécifiée pour OR. Si la différentiation sur front montant
(@) est spécifiée, la condition d'exécution passe ON pendant un cycle uniquement après que l'état du bit d'opérande passe de OFF à ON. Si la différentiation sur front descendant (%) est spécifiée, la condition d'exécution
passe ON pendant un cycle uniquement après que l'état du bit d'opérande
passe de ON à OFF.
Le rafraîchissement immédiat (!) peut être spécifié pour OR. Une instruction
de rafraîchissement immédiat met à jour l'état du bit d'entrée juste avant que
l'instruction ne soit exécutée pour les cartes d'entrée standard (mais non pour
les cartes d'entrée standard sur racks esclaves ni pour les cartes d'entrée
multipoint C200H Groupe 2).
Dans le cas de OR, il est possible de combiner le rafraîchissement immédiat
et la différentiation sur front montant ou sur front descendant (!@ ou !%). Si
l'une de ces spécifications existe, l'entrée est mise à jour à partir de la carte
d'entrée standard juste avant l'exécution de l'instruction et la condition d'exécution passe ON pendant un cycle uniquement après que l'état du bit d'opérande passe de OFF à ON ou de ON à OFF.
Exemple
Instruction
LD
AND
AND
OR
AND
LD
AND
OR NOT
AND LD
OUT
162
Opérande
000000
000001
000002
000003
000004
000005
000006
000007
--000008
Chapitre 3-3
Instructions d'entrée de séquences
3-3-6
OR NOT: OR NOT
Objet
Inverse l'état du bit spécifié et effectue un OR logique avec la condition d'exécution en cours.
Symbole du schéma
contact
Barre de bus
Variations
Variations
Crée ON à chaque cycle où le résultat OR NOT est ON
Crée ON une fois pour la différentiation sur front
montant (voir remarque 1.)
Crée ON une fois pour la différentiation sur front
descendant (voir remarque 1.)
Spécification de rafraîchissement immédiat (voir remarque 2.)
Variations
Rafraîchit le bit d'entrée et crée ON une fois pour la
combinées
différentiation sur front montant (voir remarque 3.)
Rafraîchit le bit d'entrée et crée ON une fois pour la
différentiation sur front descendant (voir remarque 3.)
Remarque
OR NOT
@OR NOT
%OR NOT
!OR NOT
!@OR NOT
!%OR NOT
1. Les variations suivantes sont prises en charge par les UC CS1-H, CJ1-H,
CJ1M et CS1D uniquement : @OR NOT, %OR NOT, !@OR NOT et !%OR
NOT.
2. Le rafraîchissement immédiat n'est pas pris en charge par les UC CS1D
pour les systèmes d'UC en duplex.
3. Les variations combinées sont prises en charge par les UC CS1D pour
systèmes d'UC unique et les UC CS1-H, CJ1-H et CJ1M uniquement.
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes bloc
OK
Zones de
programmes pas
OK
SousTâches
programmes
d'interruption
OK
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone de drapeaux de
tâches
Drapeaux de condition
Impulsions d'horloge
Zone TR
Zone DM
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Bit d'opérande OR NOT
CIO 000000 à CIO 614315
W00000 à W51115
H00000 à H51115
A00000 à A95915
T0000 à T4095
C0000 à C4095
TK0000 à TK0031
ER, CY, N, OF, UF, >, =, <, >=, <>, <=, A1, A0
0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
---------------
163
Chapitre 3-3
Instructions d'entrée de séquences
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Bit d'opérande OR NOT
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Description
L'instruction OR NOT est utilisée pour un bit normalement fermé connecté en
parallèle. Un bit normalement fermé est configuré pour former un OR logique
avec un bloc logique commençant par une instruction LOAD ou LOAD NOT
(connectée à la barre de bus au début du bloc logique). S'il n'existe pas de
spécification de rafraîchissement immédiat, le bit spécifié dans la mémoire
E/S est lu. S'il existe une spécification de rafraîchissement immédiat, l'état de
la borne d'entrée de la carte d'entrée standard est lu.
Drapeaux
Aucun drapeau n'est concerné par cette instruction.
Précautions
Le rafraîchissement immédiat (!) peut être spécifié pour OR NOT. Une instruction de rafraîchissement immédiat met à jour l'état du bit d'entrée juste avant
que l'instruction ne soit exécutée pour les cartes d'entrée standard (mais non
pour les cartes d'entrée standard sur racks esclaves ni pour les cartes
d'entrée multipoint C200H Groupe 2).
Exemple
Instruction
LD
AND
AND
OR
AND
LD
AND
OR NOT
AND LD
OUT
3-3-7
Opérande
000000
000001
000002
000003
000004
000005
000006
000007
--000008
AND LOAD : AND LD
Objet
Symbole du schéma
contact
Effectue un AND logique entre les blocs logiques.
Bloc logique
Bloc logique
Variations
Variations
Crée ON à chaque cycle où le résultat AND est ON
Spécification de rafraîchissement immédiat
164
AND LD
Non prise en
charge.
Chapitre 3-3
Instructions d'entrée de séquences
Zones de programmes
applicables
Description
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
SousTâches
programmes
d'interruption
OK
OK
L'instruction AND LD connecte en série le bloc logique juste avant cette instruction avec un autre bloc logique.
LD
à
Bloc logique A
LD
à
AND LD
Bloc logique B
Connexion série entre le bloc logique A et le bloc logique B.
Le bloc logique comprend toutes les instructions d'une instruction LOAD ou
LOAD NOT jusque la prochaine instruction LOAD ou LOAD NOT du même
segment.
Dans le schéma ci-dessous, les deux blocs logiques sont indiqués par des
lignes en pointillé. Si l'on examine cet exemple on constate que la condition
d'exécution ON sera réalisée si l'une des conditions d'exécution dans le bloc
logique de gauche est ON (c.-à-d. si CIO 000000 ou CIO 000001 est ON) et si
l'une des conditions d'exécution dans le bloc logique de droite est ON (c.-à-d. si
CIO 000002 est sur ON ou CIO 000003 est OFF).
Drapeaux
Aucun drapeau n'est concerné par cette instruction.
Précautions
Trois blocs logiques ou plus peuvent être connectés en série au moyen de
cette instruction pour d'abord connecter deux blocs logiques et ensuite connecter dans l'ordre les blocs suivant et subséquents. Il est également possible
de continuer à placer cette instruction après trois blocs logiques ou plus et de
les connecter en série.
Lorsqu'un bloc logique est connecté par des instructions AND LOAD ou OR
LOAD, le nombre total d'instructions AND LOAD/OR LOAD doit correspondre
au nombre total d'instructions LOAD/LOAD NOT moins 1. Si ce nombre ne
correspond pas, une erreur de programmation se produit.
Exemple
Exemple de codage (1)
Instruction
LD
OR NOT
LD NOT
OR
Opérande
000000
000001
000002
000003
165
Chapitre 3-3
Instructions d'entrée de séquences
Instruction
AND LD
LD
OR
AND LD
.
.
OUT
Opérande
--000004
000005
--.
.
000500
Exemple de codage (2)
Instruction
LD
OR NOT
LD NOT
OR
LD
OR
.
.
AND LD
AND LD
.
.
OUT
Opérande
000000
000001
000002
000003
000004
000005
.
.
----.
.
000500
L'instruction AND LOAD peut être utilisée de manière répétitive. Dans la
méthode de programmation ci-dessus (2), le nombre d'instructions AND
LOAD devient cependant inférieur d'une unité au nombre d'instructions LOAD
et LOAD NOT qui les précèdent.
Dans la méthode (2), assurez-vous que le nombre total d'instructions LOAD
et LOAD NOT avant AND LOAD n'est pas supérieur à huit. Si le nombre est
supérieur ou égal à neuf, utilisez la méthode de programmation (1). Si le nombre d'instructions dans le cas de la méthode (2) est supérieur ou égal à neuf,
une erreur de programmation se produira lors de la vérification du programme
par le périphérique.
Codage
Adresse
000000
000001
000002
000003
000004
000005
Instruction
LD
OR
LD
OR NOT
AND LD
OUT
Opérande
000000
000001
000002
000003
--000500
Deuxième LD : Utilisée pour le premier bit du bloc suivant connecté en série au bloc précédent.
3-3-8
OR LOAD : OR LD
Objet
Symbole du schéma
contact
Effectue un OR logique entre les blocs logiques.
Bloc logique
Bloc logique
166
Chapitre 3-3
Instructions d'entrée de séquences
Variations
Variations Crée ON à chaque cycle où le résultat AND est ON OR LD
Spécification de rafraîchissement immédiat
Non prise en
charge.
Zones de programmes
applicables
Description
Zones de
programmes bloc
OK
Zones de
programmes pas
OK
SousTâches
programmes
d'interruption
OK
OK
L'instruction AND LD connecte en parallèle le bloc logique juste avant cette
instruction avec un autre bloc logique.
LD
à
Bloc logique A
LD
à
OR LD
Bloc logique B
Connexion parallèle entre le bloc logique A et le bloc logique B.
Le bloc logique comprend toutes les instructions d'une instruction LOAD ou
LOAD NOT jusque la prochaine instruction LOAD ou LOAD NOT du même
segment.
Le schéma ci-dessous nécessite une instruction OR LOAD entre le bloc logique supérieur et le bloc logique inférieur. Une condition d'exécution ON est
produite si CIO 000000 est ON et CIO 000001 est OFF ou si CIO 000002 et
CIO 000003 sont tous les deux ON. Le fonctionnement et le code mnémonique de l'instruction OR LOAD sont exactement identiques à ceux de l'instruction AND LOAD hormis qu’il est effectué un OR entre la condition d'exécution
en cours et la dernière condition d'exécution non utilisée.
Drapeaux
Aucun drapeau n'est concerné par cette instruction.
Précautions
Trois blocs logiques ou plus peuvent être connectés en parallèle au moyen de
cette instruction pour d'abord connecter deux blocs logiques et ensuite connecter dans l'ordre les blocs suivant et subséquents. Il est également possible
de continuer à placer cette instruction après trois blocs logiques ou plus et de
les connecter en parallèle.
Lorsqu'un bloc logique est connecté par des instructions AND LOAD ou OR
LOAD, le nombre total d'instructions AND LOAD/OR LOAD doit correspondre
au nombre total d'instructions LOAD/LOAD NOT moins 1. Si ce nombre ne
correspond pas, une erreur de programmation se produit.
Exemple
167
Chapitre 3-3
Instructions d'entrée de séquences
Exemple de codage (1)
Instruction
LD
AND NOT
LD NOT
AND NOT
OR LD
LD
AND
OR LD
.
.
OUT
Opérande
000000
000001
000002
000003
--000004
000005
--.
.
000501
Exemple de codage (2)
Instruction
LD
AND NOT
LD NOT
AND NOT
LD
AND
.
.
OR LD
OR LD
.
.
OUT
Opérande
000000
000001
000002
000003
000004
000005
.
.
----.
.
000501
L'instruction OR LOAD peut être utilisée de manière répétitive. Dans la
méthode de programmation ci-dessus (2), le nombre d'instructions OR LOAD
devient cependant inférieur d'une unité au nombre d'instructions LOAD et
LOAD NOT qui les précèdent.
Dans la méthode (2), assurez-vous que le nombre total d'instructions LOAD
et LOAD NOT avant OR LOAD n'est pas supérieur à huit. Si le nombre est
supérieur ou égal à neuf, utilisez la méthode de programmation (1). Si le nombre d'instructions dans le cas de la méthode (2) est supérieur ou égal à neuf,
une erreur de programmation se produira lors de la vérification du programme
par le périphérique.
Codage
Adresse
000100
000101
000102
000103
000104
000105
Instruction
LD
AND NOT
LD
AND
OR LD
OUT
Opérande
000000
000001
000002
000003
--000501
Deuxième LD : Utilisée pour le premier bit du bloc suivant connecté en série au bloc précédent.
168
Chapitre 3-3
Instructions d'entrée de séquences
3-3-9
Instructions différenciées et de rafraîchissement immédiat
Les instructions LOAD, AND et OR présentent, outre leurs formes ordinaires,
des variations différenciées et de rafraîchissement immédiat ; deux combinaisons sont également disponibles.
Les instructions LOAD NOT, AND NOT, OR NOT, OUT et OUT NOT présentent,
outre leurs formes ordinaires, des variations de rafraîchissement immédiat.
La temporisation E/S des données traitées par les instructions diffère pour les
instructions ordinaires ou différenciées, pour les instructions à rafraîchissement
immédiat et pour les instructions différenciées à rafraîchissement immédiat.
Les instructions ordinaires et différenciées sont exécutées en utilisant l'entrée
de données par le rafraîchissement E/S précédent, et les résultats sont sortis
lors du prochain traitement E/S. Ici, le “rafraîchissement E/S” désigne les données échangées entre la mémoire interne de l'UC et la carte E/S.
Outre le rafraîchissement E/S susmentionné, une instruction de rafraîchissement immédiat échange des données avec la carte E/S pour les mots auxquels l'instruction accède. Une instruction de rafraîchissement immédiat met
à jour huit bits simultanément (huit bits les plus à gauche ou les plus à droites)
en plus du bit spécifié.
Les instructions de rafraîchissement immédiat ne peuvent être utilisées pour
les cartes sur racks esclaves.
Variation de
l'instruction
Ordinaire
Mnémonique
LD, AND, OR, LD NOT,
AND NOT, OR NOT
OUT, OUT NOT
Différentiation sur
front montant
@LD, @AND, @OR
Différentiation sur
front descendant
%LD, %AND, %OR
Rafraîchissement
immédiat
!LD, !AND, !OR, !LD NOT,
!AND NOT, !OR NOT
!OUT, !OUT NOT
Différentiation sur
front montant / rafraîchissement immédiat
!@LD, !@AND, !@OR
Différentiation sur
front descendant /
rafraîchissement
immédiat
!%LD, !%AND, !%OR
Fonction
Rafraîchissement E/S
L'état ON/OFF du bit spécifié est enregistré par l'UC lors du rafraîchissement
cyclique et se reflète à l'exécution d'instruction suivante.
Après l'exécution de l'instruction, l'état
ON/OFF du bit spécifié est sorti lors du
rafraîchissement cyclique suivant.
L'instruction est exécutée une fois lorsque le bit spécifié passe de OFF à ON
et l'état ON est maintenu pendant un
cycle.
L'instruction est exécutée une fois lorsque le bit spécifié passe de ON à OFF
et l'état ON est maintenu pendant un
cycle.
Les données d'entrée pour le bit spécifié
sont enregistrées par l'UC et l'instruction est exécutée.
Une fois l'instruction exécutée, les données pour le bit spécifié sont sorties.
Les données d'entrée pour le bit spécifié
sont rafraîchies par l'UC et l'instruction
est exécutée une fois lorsque le bit
passe de OFF à ON et l'état ON est
maintenu pendant un cycle.
Les données d'entrée pour le bit spécifié
sont rafraîchies par l'UC et l'instruction
est exécutée une fois lorsque le bit
passe de ON à OFF et l'état ON est
maintenu pendant un cycle.
Rafraîchissement cyclique
Avant l'exécution de
l'instruction
Après l'exécution de
l'instruction
Avant l'exécution de
l'instruction
169
Chapitre 3-3
Instructions d'entrée de séquences
3-3-10 Séquence de fonctionnement des instructions E/S
Le schéma ci-dessous indique les différences de séquence de fonctionnement des instructions pour un programme configuré à partir de LD et OUT.
Entrée
reçue
Entrée
reçue
Entrée
reçue
↑
↓
!
Entrée
reçue
!↑
Entrée
reçue
Entrée
reçue
Entrée
reçue
Entrée
reçue
!↓
!
!
Entrée
reçue
↑
!
Entrée
reçue
↓
!
!
!
!↑
!
!↓
!
Entrée reçue
Entrée
reçue
Traitement
UC
Exécution de l'instruction
Rafraîchissement E/S
3-3-11 Bits TR
Les bits TR sont utilisés pour retenir temporairement l'état ON/OFF des conditions d'exécution d'un programme lors de la programmation en code mnémonique. Ils ne sont pas utilisés en cas de programmation directe en schéma
contact car le traitement est automatiquement exécuté par le périphérique. Le
schéma ci-dessous illustre une simple application recourant à deux bits TR.
170
Chapitre 3-3
Instructions d'entrée de séquences
Adresse Instruction Opérandes
000000
000001
000002
000003
000004
000005
000006
000007
000008
000009
000010
000011
000012
000013
000014
Utilisation de TR0 à TR15
LD
OUT
AND
OUT
AND
OUT
LD
AND
OUT
LD
AND
OUT
LD
AND NOT
OUT
000000
TR0
000001
TR1
000002
000500
TR1
000003
000501
TR0
000004
000502
TR0
000005
000503
TR0 à TR15 sont uniquement utilisés avec les instructions LOAD et OUTPUT.
Il n'existe aucune restriction quant à l'ordre dans lequel les adresses de bit
sont utilisées.
Il est parfois possible de simplifier un programme en le réécrivant de sorte
que les bits TR ne soient pas nécessaires. Le schéma ci-dessous illustre un
cas dans lequel un bit TR est inutile et un cas dans lequel il est nécessaire.
(1)
(2)
Dans le bloc d'instruction (1), l'état ON/OFF au point A est le même que pour
la sortie CIO 00200, de sorte que AND 000001 et OUT 000201 peuvent être
codés sans nécessiter de bit TR. Dans le bloc d'instruction (2), l'état du point
de branchement et celui de la sortie CIO 000202 ne sont pas nécessairement
identiques de sorte qu'un bit TR doit être utilisé. Dans ce cas, le nombre de
pas dans le programme peut être réduit au moyen du bloc d'instruction (1) au
lieu du bloc d'instruction (2).
Considérations relatives à
TR0 à TR15
Les bits TR ne sont utilisés que pour maintenir (OUT TR0 à TR15) et restaurer (LD TR0 à TR15) l'état ON/OFF des points de branchement dans les programmes comprenant de nombreuses branches de sortie. Ils diffèrent donc
des bits généraux et ne peuvent être utilisés avec les instructions AND ou OR
ni avec les instructions contenant NOT.
171
Chapitre 3-3
Instructions d'entrée de séquences
Duplication de sortie TR0
à TR15
Une adresse de bit TR ne peut pas être répétée dans le même bloc d'un programme comportant de nombreuses branches de sortie, comme indiqué dans
le schéma ci-dessous. Elle peut toutefois être réutilisée dans un bloc différent.
à
3-3-12 NOT : NOT(520)
Objet
Symbole du schéma
contact
Variations
Inverse la condition d'exécution.
NOT(520)
Variations Inverse la condition d'exécution à chaque cycle
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Zones de
programmes bloc
OK
Zones de
programmes pas
OK
NOT(520)
Non prise en
charge
SousTâches
programmes
d'interruption
OK
OK
Description
L'instruction NOT(520) est placée entre une condition d'exécution et une
autre instruction pour inverser la condition d'exécution.
Drapeaux
Aucun drapeau n'est concerné par l'instruction NOT(520).
Précautions
NOT(520) doit être suivie d'une instruction intermédiaire ; en d'autres termes,
elle ne peut pas être utilisée comme instruction finale. Ne pas oublier de programmer une instruction après NOT(520).
Exemple
NOT(520) inverse la condition d'exécution dans l'exemple suivant.
Le tableau ci-dessous indique le fonctionnement de cette section de programme.
172
Chapitre 3-3
Instructions d'entrée de séquences
Etat du bit d'entrée
CIO 000000
1
1
1
0
1
0
0
0
CIO 000001
1
1
0
1
0
1
0
0
Etat du bit de
sortie
CIO 000003
CIO 000002
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
3-3-13 CONDITION ON/OFF : UP(521) et DOWN(522)
Objet
Symboles du schéma
contact
UP(521) met sur ON la condition d'exécution pour l'instruction suivante pendant un cycle lorsque la condition d'exécution passe de OFF à ON.
DOWN(522) met sur ON la condition d'exécution pour l'instruction suivante
pendant un cycle lorsque la condition d'exécution passe de ON à OFF.
UP(521)
DOWN(522)
Variations
Zones de programmes
applicables
Description
Variations Crée ON une fois pour la différentiation sur front
montant
Spécification de rafraîchissement immédiat
UP(521)
Variations Crée ON une fois pour la différentiation sur front
descendant
Spécification de rafraîchissement immédiat
UP(522)
Zones de
programmes bloc
OK
Zones de
programmes pas
OK
Non prise en
charge
Non prise en
charge
SousTâches
programmes
d'interruption
OK
OK
L'instruction UP(521) est placée entre une condition d'exécution et une autre
instruction pour changer la condition d'exécution en une condition différenciée
sur front montant. UP(521) entraîne l'exécution de l'instruction connectée une
seule fois lorsque la condition d'exécution passe de OFF à ON.
L'instruction DOWN(522) est placée entre une condition d'exécution et une
autre instruction pour changer la condition d'exécution en une condition différenciée sur front descendant. DOWN(522) entraîne l'exécution de l'instruction
connectée une seule fois lorsque la condition d'exécution passe de ON à OFF.
Les instructions DIFU(013) et DIFD(014) peuvent également être utilisées
dans le même but, mais elles nécessitent des bits de travail. UP(521) et
DOWN(522) simplifient la programmation en réduisant le nombre de bits de
travail et d'adresses de programme nécessaire.
Drapeaux
Aucun drapeau n'est concerné par UP(521) et DOWN(522).
Précautions
UP(521) et DOWN(522) sont des instructions intermédiaires ; en d'autres termes, elles ne peuvent être utilisées comme instructions finales. Ne pas
oublier de programmer une instruction après UP(521) ou DOWN(522).
173
Chapitre 3-3
Instructions d'entrée de séquences
Le fonctionnement de UP(521) et DOWN(522) dépend de la condition d'exécution de l'instruction ainsi que de la condition d'exécution de la section de
programme lorsqu'elle est programmée dans une section de programme verrouillée, une section de programme sautée ou un sous-programme. Consultez la section 3-5-4 INTERLOCK et INTERLOCK CLEAR : IL(002) et
ILC(003), 3-5-6 JUMP et JUMP END : JMP(004) et JME(005) et 3-20 Instructions de contrôle des interruptions pour plus d'informations.
Exemples
Lorsque CIO 000000 passe de OFF à ON dans l'exemple suivant,
CIO 000001 passe ON pendant un cycle seulement.
Temps
de cycle
Temps
de cycle
3-3-14 BIT TEST : TST(350) et TSTN(351)
Objet
LD TST(350), AND TST(350) et OR TST(350) sont utilisées dans le programme comme LD, AND et OR ; la condition d'exécution est ON lorsque le
bit spécifié dans le mot spécifié est ON, et OFF lorsque le bit est OFF.
LD TSTN(351), AND TSTN(351) et OR TSTN(351) sont utilisées dans le programme comme LD NOT, AND NOT et OR NOT ; la condition d'exécution est
OFF lorsque le bit spécifié dans le mot spécifié est ON, et ON lorsque le bit
est OFF.
Symboles du schéma
contact
TST(350)
S
S: Mot source
N
N: Numéro de bit
TSTN(351)
S
S: Mot source
N
N: Numéro de bit
Variations
Variations Exécution à chaque cycle
Spécification de rafraîchissement immédiat
174
TST(350)
Non prise en
charge
Chapitre 3-3
Instructions d'entrée de séquences
Variations
Exécution à chaque cycle
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes bloc
OK
Zones de
programmes pas
OK
TSTN(351)
Non prise en
charge
SousTâches
programmes
d'interruption
OK
OK
N: Numéro de bit
Le numéro de bit doit être compris entre 0000 et 000F hexadécimal ou entre
&0000 et &0015 décimal. Seul le bit à l'extrême droite (0 à F hexadécimal) du
contenu du mot est valide lorsqu'une adresse de mot est spécifiée.
Spécifications de
l’opérande
Description
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
S
N
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Adresses DM/EM indirec- @ D00000 à @ D32767
tes en binaire
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
Adresses DM/EM indirec- *D00000 à *D32767
tes en BCD
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
Constantes
--#0000 à #000F (binaire) ou
&0 à &15
Registres de données
DR0 à DR15
Registres d'index
--Adressage indirect à l’aide ,IR0 à ,IR15
de registres d’index
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Les instructions LD TST(350), AND TST(350) et OR TST(350) sont utilisées
dans le programme comme LD, AND et OR ; la condition d'exécution est ON
lorsque le bit spécifié dans le mot spécifié est ON et OFF lorsque le bit est
OFF. A la différence de LD, AND et OR, les bits dans les zones DM et EM
peuvent être utilisés comme opérandes dans TST(350).
LD TSTN(351), AND TSTN(351) et OR TSTN(351) sont utilisées dans le programme comme LD NOT, AND NOT et OR NOT ; la condition d'exécution est
OFF lorsque le bit spécifié dans le mot spécifié est ON et ON lorsque le bit est
OFF. A la différence de LD NOT, AND NOT et OR NOT, les bits dans les
zones DM et EM peuvent être utilisés comme opérandes dans TSTN(351).
175
Chapitre 3-3
Instructions d'entrée de séquences
Drapeaux
Nom
Drapeau d'erreur
Drapeau d'égalité
Drapeau négatif
Etiquette
Fonctionnement
ER
OFF ou inchangé (voir remarque.)
=
OFF ou inchangé (voir remarque.)
N
OFF ou inchangé (voir remarque.)
Remarque Dans les UC CS1 et CJ1, ils sont sur OFF.
Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, ces drapeaux restent inchangés.
Précautions
TST(350) et TSTN(351) sont des instructions intermédiaires ; en d'autres termes, elles ne peuvent être utilisées comme instructions finales. Ne pas
oublier de programmer une instruction après TST(350) ou TSTN(351).
Exemples
LD TST(350) et LD TSTN(351)
Dans l'exemple suivant, CIO 000001 passe ON si le bit 3 de D00010 est ON.
&3
Dans l'exemple suivant, CIO 000001 passe ON si le bit 3 de D00010 est OFF.
&3
AND TST(350) et AND TSTN(351)
Dans l'exemple suivant, CIO 000001 passe ON si CIO 000000 et le bit 3 de
D00010 sont ON.
&3
Dans l'exemple suivant, CIO 000001 passe ON si CIO 000000 et le bit 5 de
D00010 sont OFF.
&5
OR TST(350) et OR TSTN(351)
Dans l'exemple suivant, CIO 000001 passe ON si CIO 000000 ou le bit 3 de
D00010 sont ON.
&3
176
Chapitre 3-4
Instructions de sortie de séquences
Dans l'exemple suivant, CIO 000001 passe ON si CIO 000000 est ON ou si le
bit 3 de D00010 est OFF.
&3
3-4
Instructions de sortie de séquences
3-4-1
OUTPUT : OUT
Objet
Sort le résultat (condition d'exécution) du traitement logique vers le bit spécifié.
Symbole du schéma
contact
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat (voir remarque.)
OUT
Non prise en
charge.
Non prise en
charge.
!OUT
Remarque Le rafraîchissement immédiat n'est pas pris en charge par les UC CS1D.
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
Non autorisé
Zones de
programmes de pas
OK
SousTâches
programmes
d'interruption
OK
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone TR
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Bit d'opérande OUT
CIO 000000 à CIO 614315
W00000 à W51115
H00000 à H51115
A44800 à A95915
----TR0 à TR15
---------------
177
Chapitre 3-4
Instructions de sortie de séquences
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Bit d'opérande OUT
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à ,IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Description
S'il n'existe pas de spécification de rafraîchissement immédiat, l'état de la
condition d'exécution est écrit dans le bit spécifié dans la mémoire E/S. S'il
existe une spécification de rafraîchissement immédiat, l'état de la condition
d'exécution est écrit, outre dans le bit de sortie dans la mémoire E/S, également sur la borne de sortie de la carte de sortie standard.
Drapeaux
Aucun drapeau n'est concerné par cette instruction.
Précautions
Le rafraîchissement immédiat (!) peut être spécifiée pou OUT et OUT NOT.
Une instruction de rafraîchissement immédiat met à jour l'état de la borne de
sortie juste après que l'instruction soit exécutée pour les cartes de sortie standard (mais non pour les cartes de sortie standard sur racks esclaves ni pour les
cartes d'entrée multipoint C200H Groupe 2), et écrit dans le même temps l'état
de la condition d'exécution dans le bit de sortie spécifié dans la mémoire E/S.
Exemple
Instruction
LD
OUT
OUT NOT
3-4-2
Opérande
000000
000001
000002
OUTPUT NOT : OUT NOT
Objet
Inverse le résultat (condition d'exécution) du traitement logique et le sort vers
le bit spécifié.
Symbole du schéma
contact
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat (voir remarque.)
OUT NOT
Non prise en
charge.
Non prise en
charge.
!OUT NOT
Remarque Le rafraîchissement immédiat n'est pas pris en charge par les UC CS1D.
Zones de programmes
applicables
178
Zones de
programmes bloc
Non autorisé
Zones de
programmes pas
OK
SousTâches
programmes
d'interruption
OK
OK
Chapitre 3-4
Instructions de sortie de séquences
Spécifications de
l’opérande
Zone
Bit d'opérande OUT
Zone CIO
CIO 000000 à CIO 614315
Zone Travail
W00000 à W51115
Zone Bit de maintien
H00000 à H51115
Zone Bit auxiliaire
A44800 à A95915
Zone Temporisateur
--Zone Compteur
--Zone TR
TR0 à TR15
Zone DM
--Zone EM sans banque
--Zone EM avec banque
--Adresses DM/EM indirec- --tes en binaire
Adresses DM/EM indirec- --tes en BCD
Constantes
--Registres de données
--Registres d'index
--Adressage indirect à
,IR0 à ,IR15
l’aide de registres d’index –2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à ,IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Description
S'il n'existe pas de spécification de rafraîchissement immédiat, l'état de la
condition d'exécution est inversé et écrit dans le bit spécifié dans la mémoire
E/S. S'il existe une spécification de rafraîchissement immédiat, l'état de la
condition d'exécution est inversé et écrit, outre sur le bit de sortie dans la
mémoire E/S, également sur la borne de sortie de la carte de sortie standard.
Drapeaux
Aucun drapeau n'est concerné par cette instruction.
Exemple
Instruction
LD
OUT
OUT NOT
3-4-3
Opérande
000000
000001
000002
KEEP : KEEP(011)
Objet
Fonctionne comme un relais à verrouillage.
Symbole du schéma
contact
S (Set)
KEEP(011)
B
B: Bit
R (Reset)
179
Chapitre 3-4
Instructions de sortie de séquences
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat (voir remarque.)
KEEP(011)
Non prise en
charge
Non prise en
charge
!KEEP(011)
Remarque Le rafraîchissement immédiat n'est pas pris en charge par les UC CS1D.
Zones de programmes
applicables
Spécifications de
l’opérande
Description
Zones de
programmes de bloc
Non autorisé
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en binaire
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
SousTâches
programmes
d'interruption
OK
OK
B
CIO 000000 à CIO 614315
W00000 à W51115
H00000 à H51115
A44800 à A95915
--------------------,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Lorsque S passe ON, le bit désigné passe ON et reste ON jusqu'à la réinitialisation, que S reste ON ou passe OFF. Lorsque R passe ON, le bit désigné
passe OFF. Le rapport entre les conditions d'exécution et l'état de bit
KEEP(011) est illustré ci-dessous.
Set
Reset
180
Zones de
programmes de pas
OK
Chapitre 3-4
Instructions de sortie de séquences
ON
Condition d'exécution S OFF
ON
Condition d'exécution R OFF
ON
Etat de C
OFF
Si S et R passent ON simultanément, l'entrée de réinitialisation a la priorité.
Set
Reset
Etat de C
L'entrée S ne peut être reçue lorsque R est ON.
Set
Reset
Etat de C
KEEP(011) présente une variation de rafraîchissement immédiat
(!KEEP(011)). Lorsqu'un bit de sortie externe a été spécifié pour B dans une
instruction !KEEP(011), toute modification de B sera mise à jour lorsque
!KEEP(011) est exécutée et se reflètera immédiatement dans le bit de sortie.
(Les modifications ne se reflètent pas immédiatement si le bit est affecté à
une carte E/S haute densité Groupe 2, à une carte E/S spéciale haute densité
ou à une carte montée sur rack esclave E/S à distance SYSMAC BUS.)
KEEP(011) fonctionne comme un bit d'auto-maintien mais un bit d'auto-maintien programmé avec KEEP(011) nécessite une instruction de moins.
Les bits d'auto-maintien programmés avec KEEP(011) maintiennent leur état
même dans une section de programme verrouillée, à la différence du bit
d'auto-maintien programmé sans KEEP(011).
181
Chapitre 3-4
Instructions de sortie de séquences
Le bit de sortie C conserve son état
précédent dans un verrouillage.
Le bit de sortie C sera passé
OFF dans un verrouillage.
KEEP(011) peut être utilisée pour créer des bascules bistables comme illustré
ci-dessous.
Si un bit de maintien est utilisé pour B, l'état du bit sera maintenu même en
cas d'interruption de l'alimentation. KEEP(011) peut donc être utilisée pour
programmer des bits qui maintiennent leur état après redémarrage de l'API
suite à une interruption de l'alimentation. Un exemple pouvant être utilisé pour
produire un message de mise en garde suite à l'arrêt du système en cas
d'urgence, est illustré ci-dessous.
Indique une
situation
d'urgence
Entrée Reset
Active
l'affichage
de
l'avertissement
L'état des bits de zone E/S peut être maintenu en cas d'interruption de l'alimentation en passant le bit de maintien IOM sur ON et en configurant le maintien du bit de maintien IOM dans les paramètres de l'API. Dans ce cas, les
bits de la zone E/S utilisés dans KEEP(011) maintiennent leur état après le
redémarrage de l'API suite à une interruption de l'alimentation, à l'instar des
bits de maintien. Ne pas oublier de redémarrer l'API après avoir modifié sa
configuration sinon les nouveaux paramètres ne seront pas utilisés.
182
Chapitre 3-4
Instructions de sortie de séquences
Drapeaux
Aucun drapeau n'est concerné par l'instruction KEEP(011).
Précautions
Ne jamais utiliser un bit d'entrée dans une condition normalement fermée pour
la réinitialisation (R) avec KEEP(011) si le périphérique d'entrée utilise une alimentation c.a. Le délai lors de l'arrêt de l'alimentation c.c. de l'API (par rapport
à l'alimentation c.a. du périphérique d'entrée) peut entraîner la réinitialisation
du bit d'opérande de KEEP(011). Cette situation est illustrée ci-dessous.
Carte d'entrée
A
S
KEEP
120000
A
JAMAIS
R
Les opérandes de KEEP(011) sont entrés selon un ordre différent dans les
schémas contacts et le code mnémonique.
Ordre dans le schéma contact : Entrée Set → KEEP(011) → Entrée Reset
Odre dans le code mnémonique : Entrée Set→Entrée Reset→ KEEP(011)
Exemple
Si CIO 000000 passe à ON dans l'exemple suivant, CIO 00500 passera ON.
CIO 00500 reste ON jusqu'à ce que CIO 000001 passe ON.
Si CIO 000002 passe ON et CIO 000003 passe OFF dans l'exemple suivant,
CIO 00100 passera ON. CIO 00100 reste ON jusqu'à ce que CIO 000004 ou
CIO 000005 passent ON.
Codage
Adresse
000100
000101
000102
000103
000104
000105
000106
000107
Instruction
LD
LD
KEEP(011)
LD
AND NOT
LD
OR
KEEP(011)
Opérande
000000
000001
000500
000002
000003
000004
000005
000100
Remarque KEEP(011) est saisie dans un ordre différent selon qu'il s'agit du schéma contact ou de la forme mnémonique. Sous la forme du schéma contact, saisissez
183
Chapitre 3-4
Instructions de sortie de séquences
l'entrée Set, KEEP(011), et ensuite l'entrée Reset. Sous la forme mnémonique, saisissez l'entrée Set, l'entrée Reset et ensuite KEEP(011).
3-4-4
DIFFERENTIATE UP/DOWN : DIFU(013) et DIFD(014)
Objet
DIFU(013) passe le bit désigné sur ON pour un cycle lorsque la condition
d'exécution passe de OFF à ON (front montant).
DIFD(014) passe le bit désigné sur ON pour un cycle lorsque la condition
d'exécution passe de ON à OFF (front descendant).
Symboles du schéma
contact
DIFU(013)
B
B: Bit
DIFD(014)
B
B: Bit
Variations
Variations
Exécutée à chaque cycle pour la condition ON Non prise en
charge
Exécutée une fois pour la différentiation sur
DIFU(013)
front montant
Exécutée une fois pour la différentiation sur
Non prise en
front descendant
charge
Spécification de rafraîchissement immédiat (voir remarque.)
!DIFU(013)
Remarque Le rafraîchissement immédiat n'est pas pris en charge par les UC CS1D.
Variations
Exécutée à chaque cycle pour la condition ON Non prise en
charge
Exécutée une fois pour la différentiation sur
DIFD(014)
front montant
Exécutée une fois pour la différentiation sur
Non prise en
front descendant
charge
Spécification de rafraîchissement immédiat (voir remarque.)
!DIFD(014)
Remarque Le rafraîchissement immédiat n'est pas pris en charge par les UC CS1D.
Zones de programmes
applicables
Spécifications de
l’opérande
184
Zones de
programmes de bloc
Non autorisé
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Zones de
programmes de pas
OK
SousTâches
programmes
d'interruption
OK
OK
B
CIO 000000 à CIO 614315
W00000 à W51115
H00000 à H51115
A44800 à A95915
-----------
Chapitre 3-4
Instructions de sortie de séquences
Zone
Adresses DM/EM indirectes en binaire
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
B
----------,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –) IR0 à ,15–(– –) IR
Lorsque la condition d'exécution passe de OFF à ON, DIFU(013) passe B sur
ON. Lorsque DIFU(013) est atteinte dans le cycle suivant, B est passé sur
OFF.
Condition d'exécution
Etat de B
1 cycle
Lorsque la condition d'exécution passe de ON à OFF, DIFD(014) passe B sur
ON. Lorsque DIFD(014) est atteinte dans le cycle suivant, B est passé sur
OFF.
Condition d'exécution
Etat de B
1 cycle
DIFU(013) et DIFD(014) présentent des variations de rafraîchissement immédiat (!DIFU(013) et !DIFD(014)). Lorsqu'un bit de sortie externe a été spécifié
pour B dans l'une de ces instructions, toute modification de B sera mise à jour
lorsque l'instruction est exécutée et se reflètera immédiatement dans le bit de
sortie. (Les modifications ne se reflètent pas immédiatement si le bit est
affecté à une carte E/S haute densité Groupe 2, à une carte E/S spéciale
haute densité ou à une carte montée sur rack esclave E/S à distance SYSMAC BUS.)
UP(521) et DOWN(522) peuvent être utilisées pour exécuter une instruction
pendant un seul cycle si la condition d'exécution passe de OFF → ON ou de
ON → OFF. Consultez la section3-3-13 CONDITION ON/OFF : UP(521) et
DOWN(522) pour plus de détails.
Drapeaux
Aucun drapeau n'est concerné par les instructions DIFU(013) et DIFD(014).
Précautions
Le fonctionnement de DIFU(013) ou DIFD(014) dépend de la condition d'exécution de l'instruction proprement dite ainsi que de la condition d'exécution de
la section de programme lorsqu'elle est programmée dans une section de
programme verrouillée, une section de programme sautée ou un sous-programme. Consultez les sections 3-5-4 INTERLOCK et INTERLOCK CLEAR :
IL(002) et ILC(003), 3-5-6 JUMP et JUMP END : JMP(004) et JME(005) et
3-20 Instructions de contrôle des interruptions pour plus d'informations.
185
Chapitre 3-4
Instructions de sortie de séquences
Si DIFU(013) est utilisée dans une boucle FOR-NEXT et que la boucle se
répète dans un cycle, le bit contrôlé sera toujours sur ON ou toujours sur OFF
dans cette boucle.
Exemples
Fonctionnement de DIFU(013)
Lorsque CIO 000000 passe de OFF à ON dans l'exemple suivant,
CIO 001000 se met sur ON pendant un cycle.
001000
1 cycle
1 cycle
Fonctionnement de DIFD(014)
Lorsque CIO 000000 passe de ON à OFF dans l'exemple suivant,
CIO 001000 se met sur ON pendant un cycle.
001000
001000
1 cycle
3-4-5
1 cycle
SET et RESET : SET et RSET
Objet
SET passe le bit d'opérande sur ON lorsque la condition d'exécution est ON.
RSET passe le bit d'opérande sur OFF lorsque la condition d'exécution est ON.
Symboles du schéma
contact
SET
B
B: Bit
RSET
B
B: Bit
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat (voir remarque.)
Variations
Exécution une fois et rafraîchissement de bit
combinées
immédiat pour la différentiation sur front
montant (voir remarque.)
Exécution une fois et rafraîchissement de bit
immédiat pour la différentiation sur front
descendant (voir remarque.)
186
SET
@SET
%SET
!SET
!@SET
!%SET
Chapitre 3-4
Instructions de sortie de séquences
Remarque Le rafraîchissement immédiat n’est pas pris en charge par les UC CS1D.
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat (voir remarque.)
Variations
Rafraîchissement immédiat une fois pour la
combinées
différentiation sur front montant (voir
remarque.)
Rafraîchissement immédiat une fois pour la
différentiation sur front descendant (voir
remarque.)
RSET
@RSET
%RSET
!RSET
!@RSET
!%RSET
Remarque Le rafraîchissement immédiat n’est pas pris en charge par les UC CS1D.
Zones de programmes
applicables
Spécifications de
l’opérande
Description
Zones de
Zones de
programmes de bloc programmes de pas
OK
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en binaire
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
SousTâches
programmes
d'interruption
OK
OK
B
CIO 000000 à CIO 614315
W00000 à W51115
H00000 à H51115
A44800 à A95915
--------------------,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
SET passe le bit d'opérande sur ON lorsque la condition d'exécution est ON,
et n'affecte aucunement l'état du bit d'opérande lorsque la condition d'exécution est OFF. Utilisez RSET pour mettre sur OFF un bit mis sur ON au moyen
de SET.
Condition
d'exécution de SET
Etat de B
187
Chapitre 3-4
Instructions de sortie de séquences
RSET passe le bit d'opérande sur OFF lorsque la condition d'exécution est
ON, et n'affecte aucunement l'état du bit d'opérande lorsque la condition
d'exécution est OFF. Utilisez SET pour mettre sur ON un bit mis sur OFF au
moyen de RSET.
Condition
d'exécution de RSET
Etat de B
SET et RSET présentent des variations de rafraîchissement immédiat (!SET
et !RSET). Lorsqu'un bit de sortie externe a été spécifié pour B dans l'une de
ces instructions, toute modification de B sera mise à jour lorsque l'instruction
est exécutée et se reflètera immédiatement dans le bit de sortie. (Les modifications ne se reflètent pas immédiatement si le bit est affecté à une carte E/S
haute densité Groupe 2, à une carte E/S spéciale haute densité ou à une
carte montée sur rack esclave E/S à distance SYSMAC BUS.)
Les entrées set et reset pour une instruction KEEP(011) doivent être programmées avec l'instruction, mais les instructions SET et RSET peuvent être
programmées de façon totalement indépendante. En outre, le même bit peut
être utilisé comme opérande dans n'importe quel nombre d'instructions SET
ou RSET.
Drapeaux
Aucun drapeau n'est concerné par les instructions SET et RSET.
Précautions
SET et RSET ne peuvent pas être utilisées pour initialiser et réinitialiser des
temporisateurs et compteurs.
Si l'instruction SET ou RSET est programmée entre IL(002) et ILC(003) ou
entre JMP(004) et JME(005), l'état du bit spécifié ne sera pas modifié si la
section de programme est verrouillée ou sautée.
Exemple
Différences entre OUT/OUT NOT et SET/RSET
Le fonctionnement de SET diffère de celui de OUT car l'instruction OUT
passe le bit d'opérande sur OFF lorsque la condition d'exécution est OFF. De
même, RSET diffère de OUT NOT car l'instruction OUT NOT passe le bit
d'opérande sur ON lorsque la condition d'exécution est OFF.
000000
010000
CIO 010000 passe ON/OFF
lorsque CIO 000000 passe sur
ON/OFF.
000001
CIO 010000 passe ON lorsque
CIO 000001 passe ON ; il reste
sur ON jusqu'à ce que CIO
000002 passe ON.
000002
188
Chapitre 3-4
Instructions de sortie de séquences
3-4-6
MULTIPLE BIT SET/RESET: SETA(530)/RSTA(531)
Objet
SETA(530) met sur ON le nombre spécifié de bits consécutifs.
RSTA(531) met sur OFF le nombre spécifié de bits consécutifs.
Symboles du schéma
contact
SETA(530)
D
D: Mot de départ
N1
N1: Bit de départ
N2
N2: Nombre de bits
RSTA(531)
D
D: Mot de départ
N1
N1: Bit de départ
N2
N2: Nombre de bits
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
SETA(530)
@SETA(530)
Variations
RSTA(531)
@RSTA(531)
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
Zones de
programmes de bloc programmes de pas
OK
OK
Non prise en
charge
Non prise en
charge
Non prise en
charge
Non prise en
charge
SousTâches
programmes
d'interruption
OK
OK
D : Mot de départ
Spécifie le premier mot dans lequel les bits vont être mis sur ON ou OFF.
N1 : Bit de départ
Spécifie le premier bit qui sera mis sur ON ou OFF. N1 doit être compris entre
#0000 et #000F (&0 à &15).
N2 : Nombre de bits
Spécifie le nombre de bits qui seront mis sur ON ou OFF. N2 doit être compris
entre #0000 et #FFFF (&0 à &65535).
Remarque Les bits mis sur ON ou OFF doivent être dans la même zone de données. (La
plage de mots est en gros de D à D+N2÷16.)
D
à
D : 256 mots max.
189
Instructions de sortie de séquences
Spécifications de
l’opérande
Description
Chapitre 3-4
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
D
N1
N2
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Adresses DM/EM indirectes
@ D00000 à @ D32767
en binaire
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
Adresses DM/EM indirectes
*D00000 à *D32767
en BCD
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
Constantes
--#0000 à #000F #0000 à #FFFF
(binaire) ou &0 à (binaire) ou &0 à
&65535
&15
Registres de données
--DR0 à DR15
Registres d'index
--Adressage indirect à l’aide de ,IR0 à ,IR15
registres d’index
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Le fonctionnement de SETA(530) et RSTA(531) est décrite séparément cidessous.
Fonctionnement de SETA(530)
SETA(530) met sur ON N2 bits, en partant du bit N1 de D et en continuant
vers la gauche (bits les plus significatifs). Tous les autres bits restent inchangés. (Aucune modification ne sera apportée si N2 est mis à 0.)
Les bits mis sur ON par SETA(530) peuvent être mis sur OFF par toute autre
instruction, pas uniquement par RSTA(531).
N2 bits sont mis à 1 (ON).
SETA(530) peut être utilisée pour mettre sur ON les bits dans les zones de
données auxquelles seuls les mots ont généralement accès, telles les zones
DM et EM.
190
Chapitre 3-4
Instructions de sortie de séquences
Fonctionnement de RSTA(531)
RSTA(531) met sur OFF N2 bits, en partant du bit N1 de D et en continuant
vers la gauche (bits les plus significatifs). Tous les autres bits restent inchangés. (Aucune modification ne sera apportée si N2 est mis à 0.)
Les bits mis sur OFF par RSTA(531) peuvent être mis sur ON par toute autre
instruction, pas uniquement par SETA(530).
N2 bits sont remis à 0 (OFF).
RSTA(531) peut être utilisée pour mettre sur ON les bits dans les zones de
données auxquelles seuls des mots ont généralement accès, telles les zones
DM et EM.
Drapeaux
Nom
Drapeau
d'erreur
Exemples
Etiquette
Fonctionnement
ER
ON si N1 n'est pas dans la plage spécifiée de 0000 à
000F.
OFF dans tous les autres cas.
Exemple SETA(530)
Si CIO 000000 est mis sur ON dans l'exemple suivant, les 20 bits (0014 hexadécimal) commençant par le bit 5 de CIO 0100 sont mis sur ON.
N1 : Bit 5
N2 : 20 bits
&5
&20
Exemple RSTA(531)
Si CIO 000000 est mis sur ON dans l'exemple suivant, les 20 bits (0014 hexadécimal) commençant par le bit 3 de CIO 0100 sont mis sur OFF.
N1 : Bit 3
&3
N2 : 20 bits
&20
191
Chapitre 3-4
Instructions de sortie de séquences
3-4-7
SINGLE BIT SET/RESET : SETB(532)/RSTB(533)
Objet
L'instruction SETB(532) met sur ON le bit spécifié.
L'instruction RSTB(533) met sur OFF le bit spécifié.
Ces instructions sont prises en charge par les UC CS1-H, CJ1-H , CJ1M et
CS1D uniquement.
Symboles du schéma contact
SETB(532)
D
D: Adresse de mot
N: Numéro de bit
N
RSTB(533)
D
D: Adresse de mot
N: Numéro de bit
N
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat (voir remarque.)
Variations
Exécution une fois et rafraîchissement du bit
combinées
immédiat pour la différentiation sur front
montant (voir remarque.)
Exécution une fois et rafraîchissement du bit
immédiat pour la différentiation sur front
descendant (voir remarque.)
SETB(532)
@SETB(532)
Non prise en
charge
!SETB(532)
!@SETB(532)
Non prise en
charge
Remarque Le rafraîchissement immédiat n'est pas prise en charge par les UC CS1D.
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat (voir remarque.)
Variations
Exécution une fois et rafraîchissement du bit
combinées
immédiat pour la différentiation sur front
montant (voir remarque.)
Exécution une fois et rafraîchissement du bit
immédiat pour la différentiation sur front
descendant
RSTB(533)
@RSTB(533)
Non prise en
charge
!RSTB(533)
!@RSTB(533)
Non prise en
charge
Remarque Le rafraîchissement immédiat n'est pas pris en charge par les UC CS1D.
Zones de programmes
applicables
Opérandes
Zones de
Zones de
programmes de bloc programmes de pas
OK
OK
SousTâches
programmes
d'interruption
OK
OK
D : Adresse de mot
Spécifie le mot dans lequel le bit va être mis sur ON ou OFF.
N : Bit de départ
Spécifie le bit qui sera mis sur ON ou OFF. N doit être compris entre #0000 et
#000F (&0 à &15).
192
Chapitre 3-4
Instructions de sortie de séquences
Spécifications de
l’opérande
Description
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
D
N
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Adresses DM/EM indirectes
@ D00000 à @ D32767
en binaire
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
Adresses DM/EM indirectes
*D00000 à *D32767
en BCD
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
Constantes
--#0000 à #000F (binaire)
ou &0 à &15
Registres de données
DR0 à DR15
Registres d'index
--Adressage indirect à l’aide de ,IR0 à ,IR15
registres d’index
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Les fonctions de SETB(532) et RSTB(533) sont décrites séparément ci-dessous.
Fonctionnement de SETB(532)
SETB(532) met sur ON le bit N du mot D si la condition d'exécution est ON.
L'état du bit n'est pas affecté si la condition d'exécution est OFF. A la différence de SET, SETB(532) peut mettre sur ON un bit dans la zone DM ou la
zone EM.
15
Ce bit est mis sur ON.
Condition
d’exécution
ON
OFF
Bit N du mot D
ON
OFF
Les bits mis sur ON par SETB(532) peuvent être mis sur OFF par toute autre
instruction, pas uniquement par RSTB(533).
SETB(532) est prise en charge par les UC CS1-H, CJ1-H, CJ1M uniquement.
193
Chapitre 3-4
Instructions de sortie de séquences
Fonctionnement de RSTB(533)
RSTB(533) met sur OFF le bit N du mot D si la condition d'exécution est ON.
L'état du bit n'est pas affecté si la condition d'exécution est OFF. (Utilisez
SETB(532) pour mettre le bit sur ON.) A la différence de RST, RSTB(533)
peut mettre sur OFF un bit dans la zone DM ou la zone EM.
15
Ce bit est mis sur OFF.
Condition
d’exécution
ON
OFF
Bit N du mot D
ON
OFF
Les bits mis sur OFF par RSTB(533) peuvent être mis sur ON par toute autre
instruction, pas uniquement par SETB(532).
RSTB(533) est prise en charge par les UC CS1-H, CJ1-H, CJ1M uniquement.
Drapeaux
Nom
Drapeau
d'erreur
Précautions
Etiquette
Fonctionnement
ER
ON si N n'est pas dans la plage spécifiée de 0000 à 000F
(&0 à &15).
OFF dans tous les autres cas.
SETB(532) et RSTB(533) ne peuvent initialiser/réinitialiser les temporisateurs
et compteurs.
Si l'instruction SETB(532) ou RSTB(533) est programmée entre IL(002) et
ILC(003) ou entre JMP(004) et JME(005), l'état du bit spécifié ne sera pas
modifié si la section de programme est verrouillée ou sautée, à savoir si la
condition de verrouillage ou la condition de saut est OFF.
SETB(532) et RSTB(533) présentent des variations de rafraîchissement
immédiat (!SETB(532) et !RSTB(533)). Lorsqu'un bit de sortie externe a été
spécifié dans l'une de ces instructions, toute modification du bit spécifié sera
mise à jour lorsque l'instruction est exécutée et se reflètera immédiatement
dans le bit de sortie. (Les modifications ne se reflètent pas immédiatement si
le bit est affecté à une carte E/S haute densité Groupe 2, à une carte E/S spéciale haute densité ou à une carte montée sur rack esclave E/S à distance
SYSMAC BUS.)
Différences entre SET/RSET et SETB(532)/RSTB(533)
Les instructions SET et RSET fonctionnent quelque peu différemment des
instructions SETB(532) et RSTB(533).
1. Les instructions opèrent de la même façon lorsque le bit spécifié est dans
la zone CIO, W, H ou A.
2. Les instructions SETB(532) et RSTB(533) peuvent contrôler les bits dans
les zones DM et EM, à la différence des instructions SET et RSET.
Différences entre OUTB(534) et SETB(532)/RSTB(533)
L'instruction OUTB(534) fonctionne quelque peu différemment des instructions SETB(532) et RSTB(533).
1. Les instructions SETB(532) et RSTB(533) modifient l'état du bit spécifié
uniquement lorsque leur condition d'exécution est ON. Ces instructions
n'exercent aucun effet sur l'état du bit spécifié lorsque leur condition d'exécution est OFF.
194
Chapitre 3-4
Instructions de sortie de séquences
2. L'instruction OUTB(534) met le bit spécifié sur ON lorsque la condition
d'exécution est ON et met le bit spécifié sur OFF lorsque la condition d'exécution est OFF.
3. Les entrées set et reset pour une instruction KEEP(011) doivent être programmées avec l'instruction, mais les instructions SETB(532) et
RSTB(533) peuvent être programmées de façon totalement indépendante.
En outre, le même bit peut être utilisé comme opérande dans n'importe
quel nombre d'instructions SETB(532) ou RSTB(533).
000000
SETB
D00000
&2
Le bit 02 de D00000 est mis sur
ON si CIO 000000 est ON.
RSTB
D00000
&2
Le bit 02 de D00000 est mis sur
OFF si CIO 000001 est ON.
000001
3-4-8
SINGLE BIT OUTPUT : OUTB(534)
Objet
OUTB(534) sort l'état de la condition d'exécution de l'instruction vers le bit
spécifié. A la différence de OUT, OUTB(534) peut contrôler un bit dans la
zone DM ou EM.
Cette instruction est prises en charge par les UC CS1-H, CJ1-H , CJ1M et
CS1D uniquement.
Symboles du schéma contact
OUTB(534)
D
D: Adresse de mot
N: Numéro de bit
N
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat (voir remarque.)
OUTB(534)
@OUTB(534)
Non prise en
charge
!OUTB(534)
Remarque Le rafraîchissement immédiat n'est pas pris en charge par les UC CS1D.
Zones de programmes
applicables
Opérandes
Zones de
Zones de
programmes de bloc programmes de pas
Non autorisé
OK
SousTâches
programmes
d'interruption
OK
OK
D : Adresse de mot
Spécifie le mot contenant le bit à contrôler.
N : Bit de départ
Spécifie le bit à contrôler. N doit être compris entre #0000 et #000F (&0 à &15).
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
D
CIO 0000 à CIO 6143
W000 à W511
N
195
Chapitre 3-4
Instructions de sortie de séquences
Zone
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
D
N
H000 à H511
A448 à A959
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Adresses DM/EM indirectes
@ D00000 à @ D32767
en binaire
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
Adresses DM/EM indirectes
*D00000 à *D32767
en BCD
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
Constantes
--#0000 à #000F (binaire)
ou &0 à &15
Registres de données
DR0 à DR15
Registres d'index
--Adressage indirect à l’aide de ,IR0 à ,IR15
registres d’index
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Description
Lorsque la condition d'exécution est ON, OUTB(534) met sur ON le bit N du
mot D. Lorsque la condition d'exécution est OFF, OUTB(534) met sur OFF le
bit N du mot D.
N
15
0
D
Ce bit est mis sur OFF.
Condition
d’exécution
Bit N du mot D
ON
OFF
ON
OFF
Si la spécification de rafraîchissement immédiat n'est pas utilisée, l'état de la
condition d'exécution est écrit sur le bit spécifié dans la mémoire E/S. Si la
spécification de rafraîchissement immédiat est utilisée, l'état de la condition
d'exécution est écrit, outre sur le bit de sortie dans la mémoire E/S, également sur la borne de sortie de la carte de sortie standard.
OUTB(534) est prise en charge par les UC CS1-H, CJ1-H, CJ1M uniquement.
Drapeaux
196
Aucun drapeau n'est concerné par cette instruction.
Chapitre 3-5
Instructions de contrôle de séquences
Précautions
Le rafraîchissement immédiat (!OUTB(534)) peut être spécifié. Une instruction de rafraîchissement immédiat met à jour l'état de la borne de sortie juste
après que l'instruction soit exécutée sur un bit de sortie affecté à une carte de
sortie standard (mais non pour les cartes de sortie standard sur racks esclaves ni pour les cartes de sortie multipoint C200H Groupe 2), et écrit dans le
même temps l'état de la condition d'exécution sur le bit de sortie spécifié dans
la mémoire E/S.
Lorsque l'instruction OUTB(534) est programmée entre IL(002) et ILC(003), le
bit spécifié sera mis sur OFF si la section de programme est verrouillée.
(Même effet que dans le cas d'une instruction OUT dans une section de programme verrouillée.)
Lorsqu'un mot est spécifié pour le numéro de bit (N), seuls les bits 00 à 03 de
N sont utilisés. Par exemple, si N contient FFFA hex, OUTB(534) contrôle le
bit 10 du mot D.
Exemple
000000
OUTB
D00000
&10
3-5
Le bit 10 de D00000 est mis sur
OFF si CIO 000000 est OFF.
Instructions de contrôle de séquences
3-5-1
END : END(001)
Objet
Symbole du schéma
contact
Indique la fin d'un programme.
END(001)
Variations
Variations
Exécutée à chaque cycle pour la condition ON END(001)
Spécification de rafraîchissement immédiat
Non prise en
charge
Zones de programmes
applicables
Description
Zones de
programmes de bloc
Non autorisé
Zones de
programmes de pas
Non autorisé
SousTâches
programmes
d'interruption
Non autorisé
OK
END(001) termine l'exécution d'un programme pour ce cycle. Aucune instruction n'est écrite après l'exécution de END(001).
L'exécution passe au programme avec le numéro de tâche suivant. Lorsque le
programme en cours d'exécution a le numéro de tâche le plus élevé dans le
programme, END(001) marque la fin de l'ensemble du programme principal.
197
Chapitre 3-5
Instructions de contrôle de séquences
Tâche 1 Programme A
Vers le numéro de
tâche suivant
Tâche 2 Programme B
Vers le numéro de
tâche suivant
Tâche n Programme Z
Fin du programme
principal
Rafraîchissement E/S
Précautions
3-5-2
Toujours placer l'instruction END(001) en fin de chaque programme. Une
erreur de programmation se produit si le programme ne se termine pas par
une instruction END(001).
NO OPERATION : NOP(000)
Objet
Cette instruction n'a aucune fonction. (aucun traitement n'est effectué pour
NOP(000).)
Symbole du schéma
contact
Aucun schéma contact n’est associé à l'instruction NOP(000).
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Zones de
Zones de
programmes de bloc programmes de pas
OK
OK
Sousprogrammes
OK
NOP(000)
Non prise en
charge
Tâches
d'interruption
OK
Description
Aucun traitement n'est effectué pour NOP(000), mais cette instruction peut
être utilisée pour prévoir des lignes dans le programme afin de permettre
l'insertion ultérieure d'instructions. Si des instructions sont insérées ultérieurement, les adresses du programme ne subissent aucune modification.
Drapeaux
Aucun drapeau n'est concerné par l'instruction NOP(000).
Précautions
NOP(000) peut uniquement être utilisée avec des affichages mnémoniques,
pas avec des schémas contacts.
198
Chapitre 3-5
Instructions de contrôle de séquences
3-5-3
Aperçu des instructions de verrouillage
Instructions de
verrouillage
Les combinaisons d'instructions suivantes peuvent être utilisées pour verrouiller des sorties dans une section de programme.
• INTERLOCK et INTERLOCK CLEAR (IL(002) et IL(003))
• MULTI-INTERLOCK DIFFERENTIATION HOLD et MULTI-INTERLOCK
CLEAR (MILH(517) et MILC(519))*
Remarque MILH(517) maintient l'état du drapeau de différentiation, de sorte
que les instructions différenciées verrouillées sont exécutées
après la suppression du verrouillage.
• MULTI-INTERLOCK DIFFERENTIATION RELEASE et MULTI-INTERLOCK CLEAR (MILR(518) et MILC(519))*
Remarque MILR(518) ne maintient pas l'état du drapeau de différentiation, de
sorte que les instructions différenciées verrouillées ne sont pas
exécutées après la suppression du verrouillage.
* Ces instructions sont prises en charge uniquement par les UC série CS/
CJ ver. 2.0 ou supérieure.
Différences entre les
verrouillages et les
verrouillages multiples
Les verrouillages ordinaires (IL(002) et IL(003)) ne peuvent être imbriqués
tandis que les verrouillages multiples (MILH(517), MILR(518) et MILC(519))
peuvent être imbriqués. La programmation contact peut être simplifiée en
imbriquant des verrouillages multiples, comme indiqué dans le schéma cidessous.
Verrouillages par MILH et MILC
a
MILH
Verrouillages par IL et ILC
a
IL
0
A1
A1
ILC
b
a
MILH
b
IL
1
A2
A2
ILC
c
MILH
a
b
c
IL
2
A3
A3
ILC
MILC
2
MILC
1
MILC
0
Différences entre
MILH(517) et MILR(518)
Les instructions différenciées (DIFU, DIFD, ou instructions précédées du préfixe
@ ou %) opèrent différemment dans les verrouillages créés par MILH(517) et
MILR(518).
199
Chapitre 3-5
Instructions de contrôle de séquences
Le fonctionnement des instructions différenciées dans un verrouillage créé
par MILH(517) est identique à celle dans un verrouillage créé par IL(002).
Pour plus d'informations, reportez-vous à 3-5-5 MULTI-INTERLOCK DIFFERENTIATION HOLD, MULTI-INTERLOCK DIFFERENTIATION RELEASE et
MULTI-INTERLOCK CLEAR : MILH(517), MILR(518) et MILC(519).
Précautions
Ne pas combiner de verrouillages créés par différentes instructions de verrouillage (IL-ILC, MILH-MILC et MILR-MILC). Les verrouillages risquent de ne
pas fonctionner correctement si différentes méthodes de verrouillage sont utilisées simultanément. Pour plus d'informations sur la combinaison des instructions, reportez-vous à 3-5-5 MULTI-INTERLOCK DIFFERENTIATION
HOLD, MULTI-INTERLOCK DIFFERENTIATION RELEASE et MULTI-INTERLOCK CLEAR : MILH(517), MILR(518) et MILC(519).
Par exemple, une instruction MILH(517) ne peut être insérée entre IL(002) et
IL(003).
IL
MILH
MILH(517) est dans une zone
verrouillée entre IL(002) et
ILC.(003).
ILC
Remarque Les différents verrouillages (IL-ILC, MILH-MILC et MILR-MILC) peuvent être
utilisés ensemble pour autant que les sections du programme verrouillées ne
se chevauchent pas.
Par exemple, les trois méthodes de verrouillage peuvent être utilisées sans
chevauchement, comme indiqué dans le schéma ci-dessous.
IL
ILC
MILH
MILC
MILR
MILC
200
Différentes méthodes de
verrouillage peuvent être utilisées
pour autant que les zones de
verrouillage ne se chevauchent pas.
Chapitre 3-5
Instructions de contrôle de séquences
Différences entre
verrouillages et sauts
Exécution de l'instruction
Etat des sorties des
instructions
Bits dans OUT, OUT NOT,
OUTB(534)
Etat des instructions de
temporisateur
(excepté (TTIM(087),
TTIMX(555), MTIM(543) et
MTIMX(554))
3-5-4
Le tableau ci-dessous reprend les différences entre les verrouillages (créés
par IL(002)/ILC(003), MILH(517)/MILC(519) ou MILR(518)/MILC(519)) et les
sauts créés par JMP(004)/JME(005).
Traitement dans IL(002)/ILC(003),
MILH(517)/MILC(519) ou MILR(518)/
MILC(519))
Les instructions autres que OUT, OUT NOT,
OUTB(534), et les instructions de
temporisateur ne sont pas exécutées.
Hormis les sorties dans OUT, OUT NOT,
OUTB(534) ainsi que dans les instructions
de temporisateur, toutes les sorties
maintiennent leur état précédent.
OFF
Réinitialisation
Traitement dans
JMP(004)/JME(005)
Aucune instruction n'est exécutée.
Toutes les sorties maintiennent leur état
précédent.
Toutes les sorties maintiennent leur état
précédent.
Les temporisateurs opérationnels (TIM,
TIMX(550), TIMH(015), TIMHX(551),
TMHH(540), TMHHX(552) uniquement)
poursuivent la temporisation car les valeurs
actuelles (PV) sont mises à jour même si
l'instruction de temporisateur n'est pas
exécutée.
INTERLOCK et INTERLOCK CLEAR : IL(002) et ILC(003)
Objet
Symboles du schéma
contact
Verrouille toutes les sorties entre IL(002) et ILC(003) lorsque la condition
d'exécution de IL(002) est OFF. IL(002) et ILC(003) sont normalement utilisées par paires.
IL(002)
ILC(003)
Variations
Zones de programmes
applicables
Description
Variations Verrouille si OFF/Ne verrouille pas si ON
Spécification de rafraîchissement immédiat
IL(002)
Non prise en charge
Variations Exécutée à chaque cycle pour la condition ON
Spécification de rafraîchissement immédiat
ILC(003)
Non prise en charge
Zones de
programmes de bloc
Non autorisé
Zones de
programmes de pas
Non autorisé
SousTâches
programmes
d'interruption
OK
OK
Lorsque la condition d'exécution de IL(002) est OFF, les sorties de toutes les
instructions entre IL(002) et ILC(003) sont verrouillées. Lorsque la condition
d'exécution de IL(002) est ON, les instructions entre IL(002) et ILC(003) sont
normalement exécutées.
Condition
d'exécution
Condition
Condition
d'exécution ON d'exécution OFF
Section verrouillée
du programme
Exécution Sorties
normale verrouillées.
201
Chapitre 3-5
Instructions de contrôle de séquences
Le tableau ci-dessous indique le traitement de différentes sorties dans une
section verrouillée entre IL(002) et ILC(003).
Instruction
Bits spécifiés dans OUT, OUT NOT ou OUTB(534)
TIM, TIMX(550), TIMH(015),
Drapeau de fin
TIMHX(551), TMHH(540),
PV
TMHHX(552), TIML(542) et
TIMXL(553)
Bits/mots spécifiés dans toutes les autres instructions
(voir remarque.)
Traitement
OFF
OFF (réinitialisation)
Valeur de consigne de
temps (réinitialisation)
Maintiennent l'état précédent.
Remarque Les bits et mots dans toutes les autres instructions y compris TTIM(087),
TTIMX(555), MTIM(543), MTIMX(554), SET, RSET, CNT, CNTX(546),
CNTR(012), CNTRX(548), SFT et KEEP(011) maintiennent leur état précédent.
Si vous souhaitez que certains bits restent sur ON dans une section de programme verrouillée, mettez ces bits sur ON au moyen de SET juste avant
IL(002).
Il est souvent plus efficace de commuter une section de programme au
moyen de IL(002) et ILC(003). Lorque plusieurs processus sont contrôlés
avec la même condition d'exécution, l'insertion de ces processus entre
IL(002) et ILC(003) nécessite moins de pas de programme.
Le tableau ci-dessous indique les différences entre IL(002)/ILC(003) et
JMP(004)/JME(005).
Exécution de l'instruction
Etat de sortie des instructions
Bits dans OUT, OUT NOT,
OUTB(534)
Etat des instructions de
temporisateur
(excepté (TTIM(087), TTIMX(555),
MTIM(543) et MTIMX(554))
Traitement dans
IL(002)/ILC(003)
Les instructions autres que OUT, OUT
NOT, OUTB(534), et les instructions de
temporisateur ne sont pas exécutées.
Hormis les sorties dans OUT, OUT NOT,
OUTB(534) ainsi que dans les instructions de temporisateur, toutes les sorties maintiennent leur état précédent.
OFF
Réinitialisation
Traitement dans
JMP(004)/JME(005)
Aucune instruction n'est exécutée.
Toutes les sorties maintiennent leur état
précédent.
Toutes les sorties maintiennent leur état
précédent.
Les temporisateurs opérationnels (TIM,
TIMX(550), TIMH(015), TIMHX(551),
TMHH(540), TMHHX(552) uniquement)
poursuivent la temporisation car les
valeurs actuelles sont mises à jour
même si l'instruction de temporisateur
n'est pas exécutée.
Drapeaux
Nom
Drapeau d'erreur
Drapeau d'égalité
Drapeau négatif
202
Etiquette
ER
=
N
Fonctionnement
OFF
OFF ou inchangé (voir remarque.)
OFF ou inchangé (voir remarque.)
Chapitre 3-5
Instructions de contrôle de séquences
Remarque Dans les UC CS1 et CJ1, les drapeaux d'égalité et les drapeaux négatifs passent OFF.
Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, les drapeaux d'égalité et les drapeaux négatifs restent inchangés.
Précautions
Le temps de cycle n'est pas raccourci lorsqu'une section de programme est
verrouillée car les instructions verrouillées sont exécutées en interne.
Le fonctionnement des instructions DIFU(013), DIFD(014) et des instructions
différenciées ne dépend pas uniquement de l'état de la condition d'exécution
lorsqu'elles sont programmées entre IL(002) et ILC(003). Les modifications
de la condition d'exécution pour les instructions DIFU(013), DIFD(014) ou différenciées ne sont pas enregistrées si l'instruction DIFU(013) ou DIFD(014)
se situe dans une section verrouillée et que la condition d'exécution pour
IL(002) est OFF.
En général, les instructions IL(002) et ILC(003) sont utilisées par paires bien
qu'il soit possible d'utiliser plus d'une instruction IL(002) avec une seule
ILC(003) comme indiqué dans le schéma ci-dessous. Si IL(002) et ILC(003)
ne sont pas utilisées par paires, un message d'erreur s'affiche à la vérification
du programme mais le programme est correctement exécuté.
Condition
d’exécution
a
b
OFF
ON
OFF
OFF
ON
OFF
ON
ON
Section de programme
A
Verrouillé
Verrouillé
Non verrouillé
Non verrouillé
B
Verrouillé
Verrouillé
Verrouillé
Non verrouillé
Les instructions IL(002) et ILC(003) ne peuvent pas être imbriquées, comme
le schéma suivant le montre. (Utilisez MILH(517)/MILR(518) et MILC(519)
lorsqu'il est nécessaire d'imbriquer des verrouillages.)
203
Chapitre 3-5
Instructions de contrôle de séquences
Exemples
Si CIO 000000 est OFF dans l'exemple suivant, toutes les sorties entre IL(002)
et ILC(003) sont verrouillées. Si CIO 000000 est ON dans l'exemple suivant,
les instructions entre IL(002) et ILC(003) sont normalement exécutées.
CIO 000000 CIO 000000
ON
OFF
OFF
OFF
Exécution
normale
Sorties
verrouillées.
Réinitialisation
Maintenues
Maintenues
204
Chapitre 3-5
Instructions de contrôle de séquences
3-5-5
MULTI-INTERLOCK DIFFERENTIATION HOLD, MULTI-INTERLOCK
DIFFERENTIATION RELEASE et MULTI-INTERLOCK CLEAR :
MILH(517), MILR(518) et MILC(519)
Objet
Verrouille toutes les sorties entre MILH(517) (ou MILR(518)) et MILC(519) lorsque la condition d'exécution pour MILH(517) (ou MILR(518)) est OFF.
MILH(517) (ou MILR(518)) et MILC(519) sont normalement utilisées par paires.
A la différence des verrouillages IL(002)/ILC(003), les verrouillages
MILH(517)/MILC(519) et MILR(518)/MILC(519) peuvent être imbriqués. Le
fonctionnement des instructions différenciées diffère pour les verrouillages
créés avec MILH(517) et MILR(518).
Ces instructions sont prises en charge uniquement par les UC série CS/CJ
ver. 2.0 ou supérieure.
Symboles du schéma
contact
MILH (517)
N
N: Numéro de verrouillage
D
D: Bit d'état du verrouillage
MILR (518)
N
N: Numéro de verrouillage
D
D: Bit d'état du verrouillage
MILC (519)
N
Opérandes
N: Numéro de verrouillage
N: Numéro de verrouillage
Le numéro de verrouillage doit être compris entre 0 et 15. Faites correspondre le numéro de verrouillage de l'instruction MILH(517) (ou MILR(518)) avec
le même numéro dans l'instruction MILC(519) correspondante.
Les numéros de verrouillage peuvent être utilisés dans n'importe quel ordre.
D : Bit d'état du verrouillage
• ON lorsque la section de programme n'est pas verrouillée.
• OFF lorsque la section de programme est verrouillée.
Lorsque le verrouillage est activé, le bit d'état du verrouillage peut être forcé à
1 pour supprimer le verrouillage. Inversement, lorsque le verrouillage n'est
pas activé, le bit d'état du verrouillage peut être forcé à 0 pour activer le verrouillage.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
N
---------------------
D
CIO 000000 à CIO 614315
W00000 à W51115
H00000 à H51115
A00000 à A95915
-------------
205
Chapitre 3-5
Instructions de contrôle de séquences
Zone
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
N
D
---
---
0 à 15
-------
------,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048
à +2047 ,IR15
DR0 à DR15, IR0 à IR15
Variations
Variations Verrouille si OFF/Ne verrouille pas si ON
MILH(517) et
MILR(518)
Non prise en
charge
Spécification de rafraîchissement immédiat
Variations Exécutée à chaque cycle pour la condition ON
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Le tableau ci-dessous indique les zones de programmes applicables pour
MILH(517), MILR(518) et MILC(519).
Zones de
programmes de bloc
Non autorisé
Description
MILC (519)
Non prise en
charge
Zones de
programmes de pas
Non autorisé
SousTâches
programmes
d'interruption
OK
OK
Lorsque la condition d'exécution de MILH(517) (ou MILR(518)) avec numéro
de verrouillage N est OFF, les sorties de toutes les instructions comprises
entre cette instruction MILH(517)/MILR(518) et la prochaine instruction
MILC(519) avec numéro de verrouillage N sont verrouillées.
Lorsque la condition d'exécution de MILH(517) (ou MILR(518)) avec numéro
de verrouillage N est ON, les instructions comprises entre cette instruction
MILH(517)/MILR(518) et la prochaine instruction MILC(519) avec numéro de
verrouillage N sont normalement exécutées.
Etat de verrouillage
Le tableau ci-dessous indique le traitement de différentes sorties dans une
section verrouillée entre l'instruction MILH(517)/MILR(518) et la prochaine
instruction MILC(519).
Instruction
Bits spécifiés dans OUT, OUT NOT ou OUTB(534)
TIM, TIMX(550), TIMH(015),
Drapeau de fin
TIMHX(551), TMHH(540),
PV
TMHHX(552), TIML(542) et
TIMXL(553)
Bits/mots spécifiés dans toutes les autres instructions
(voir remarque.)
Traitement
OFF
OFF (réinitialisation)
Valeur de consigne de
temps (réinitialisation)
Maintiennent l'état
précédent.
Remarque Les bits et mots dans toutes les autres instructions y compris TTIM(087),
TTIMX(555), MTIM(543), MTIMX(554), SET, RSET, CNT, CNTX(546),
CNTR(012), CNTRX(548), SFT et KEEP(011) maintiennent leur état
précédent.
206
Chapitre 3-5
Instructions de contrôle de séquences
L'instruction MILH(517)/MILR(518) met sur OFF le bit d'état du verrouillage
(opérande D) lorsque le verrouillage est activé et met le bit sur ON lorsque le
verrouillage n'est pas activé. Le bit d'état du verrouillage peut dès lors être
surveillé pour vérifier si le verrouillage est activé ou non pour un numéro de
verrouillage donné.
Condition d'entrée sur ON
(fonctionnement normal) Condition d'entrée sur OFF
MILH
Condition
d'entrée
n
d
Section de programme
verrouillée
Fonctionnement
normal
Bit d'état
du verrouillage
(d) ON
Sorties verrouillées.
(sorties OFF,
réinitialisation des
temporisateurs, etc.)
Bit d'état du
verrouillage (d) OFF
MILC
n
Imbrication
Les verrouillages sont imbriqués lorsqu'une section de programme verrouillée
(combinaison MILH(517)/MILR(518) et MILC(519)) est placée dans une autre
section de programme verrouillée (combinaison MILH(517)/MILR(518) et
MILC(519)). Les verrouillages peuvent être imbriqués jusqu'à 16 niveaux.
L'imbrication peut être utilisée pour les types d'applications suivants.
• Exemple 1
Verrouillage du programme entier avec une condition et verrouillage d'une
partie du programme avec une autre condition (1 niveau d'imbrication)
Verrouillage global
(arrêt d'urgence)
A1 (traitement périphérique)
Verrouillage partiel
(Conveyor RUN)
A2 (fonctionnement
du convoyeur)
• A1 et A2 sont verrouillées lorsque le bouton d'arrêt d'urgence est sur
ON.
• A2 est verrouillée lorsque Conveyor RUN est sur OFF.
207
Chapitre 3-5
Instructions de contrôle de séquences
Verrouillage global
(arrêt d'urgence)
MILH
0
A1 (traitement périphérique)
Lorsque l'arrêt d'urgence est sur ON
(condition d'entrée OFF), A1 et A2 sont
toutes deux verrouillées.
Lorsque l'arrêt d'urgence est sur OFF
(condition d'entrée ON), A1 est
normalement exécutée et A2 est
contrôlée par le commutateur Conveyor
RUN comme décrit ci-dessous.
Verrouillage partiel
(Conveyor RUN)
MILH
1
A2 (fonctionnement
du convoyeur)
Lorsque le commutateur Conveyor RUN
est sur OFF (condition d'entrée OFF), A2
est verrouillée.
Lorsque le commutateur Conveyor RUN
est sur ON (condition d'entrée ON), A2
est normalement exécutée.
MILC
1
MILC
0
• Exemple 2
Verrouillage du programme entier avec une condition et verrouillage de
deux parties en chevauchement du programme avec une d'autres conditions (2 niveaux d'imbrication)
Verrouillage global
(arrêt d'urgence)
A1 (traitement périphérique)
Verrouillage partiel
(Conveyor RUN)
A2 (fonctionnement du convoyeur)
Verrouillage partiel
(Arm RUN)
A3 (fonctionnement du bras)
• A1, A2 et A3 sont verrouillées lorsque le bouton d'arrêt d'urgence est
sur ON.
• A2 et A3 sont verrouillées lorsque Conveyor RUN est sur OFF.
• A3 est verrouillée lorsque Arm RUN est sur OFF.
208
Chapitre 3-5
Instructions de contrôle de séquences
Verrouillage global
(arrêt d'urgence)
MILH
0
A1 (traitement périphérique)
Lorsque l'arrêt d'urgence est sur ON (condition
d'entrée OFF), A1, A2 et A3 sont verrouillées.
Lorsque l'arrêt d'urgence est sur OFF
(condition d'entrée ON), A1 est normalement
exécutée et A2 et A3 sont contrôlées par les
commutateurs Conveyor RUN et Arm RUN
comme décrit ci-dessous.
Verrouillage partiel
(Conveyor RUN)
MILH
1
A2 (fonctionnement
du convoyeur)
Lorsque le commutateur Conveyor RUN est sur
OFF (condition d'entrée OFF), A2 et A3 sont
verrouillées.
Lorsque le commutateur Conveyor RUN est sur
ON (condition d'entrée ON), A2 est exécutée
normalement et A3 est contrôlée par le
commutateur Arm RUN comme décrit ci-dessous.
Verrouillage partiel
(Arm RUN)
MILH
2
A3 (fonctionnement du bras)
Lorsque le commutateur Arm RUN est sur
OFF (condition d'entrée OFF), A3 est
verrouillée.
Lorsque le commutateur Arm RUN est sur
ON (condition d'entrée ON), A3 est
normalement exécutée.
MILC
2
MILC
1
MILC
0
Différences entre MILH(517) et MILR(518)
Les instructions différenciées (DIFU, DIFD, ou instructions précédées du préfixe @ ou %) fonctionnent différemment dans les verrouillages créés par
MILH(517) et MILR(518).
Lorqu'une section de programme est verrouillée par MILR(518), une instruction différenciée ne sera pas exécutée une fois le verrouillage supprimé
même si la condition de différentiation a été activée pendant le verrouillage
(comparaison de l'état de la condition d'exécution à l'enclenchement du verrouillage avec son état à la suppression du verrouillage).
Lorqu'une section de programme est verrouillée par MILH(517), une instruction différenciée sera exécutée une fois le verrouillage supprimé si la condition de différentiation a été activée pendant le verrouillage (comparaison de
l'état de la condition d'exécution à l'enclenchement du verrouillage avec son
état à la suppression du verrouillage).
209
Chapitre 3-5
Instructions de contrôle de séquences
Instruction
MILH (517)
MULTI-INTERLOCK
DIFFERENTIATION HOLD
MILR (518)
MULTI-INTERLOCK
DIFFERENTIATION
RELEASE
Fonctionnement des instructions différenciées
Une instruction différenciée (DIFU, DIFD ou
instruction précédée du préfixe @ ou %) sera
exécutée après la suppression du verrouillage
si la condition de différentiation de l'instruction
a été établie alors que l'instruction était verrouillée. (L'état de la condition d'exécution à
l'activation du verrouillage est comparé à son
état à la suppression du verrouillage.)
Une instruction différenciée (DIFU, DIFD ou
instruction précédée du préfixe @ ou %) ne
sera pas exécutée après la suppression du
verrouillage si la condition de différentiation de
l'instruction a été établie alors que l'instruction
était verrouillée.
• Fonctionnement des instructions différenciées dans un verrouillage
MILH(517)
S'il existe une instruction différenciée (DIFU, DIFD ou instruction précédée
du préfixe @ ou %) entre MILH(517) et l'instruction MILC(519) correspondante, cette instruction sera exécutée après la suppression du verrouillage
si la condition de différentiation de l'instruction a été établie. (Le système
compare l'état de la condition d'exécution à l'activation du verrouillage à
son état à la suppression du verrouillage.)
De la même manière, une instruction différenciée sera exécutée si sa condition d'exécution est établie au moment même où le verrouillage est activé ou supprimé.
Bon nombre d'autres conditions dans le programme peuvent entraîner la
réinitilisation de la condition de différentiation même si elle a été établie
pendant le verrouillage. Dans ce cas, l'instruction de différentiation ne sera
pas exécutée à la suppression du verrouillage.
• Exemple
Si l'instruction DIFFERENTIATE UP (DIFU(013)) est utilisée et que la
condition d'entrée est OFF à l'activation du verrouillage et ON à la suppression du verrouillage, l'instruction DIFU(013) sera exécutée à la
suppression du verrouillage. (Les instructions différenciées fonctionnent de la même manière dans le verrouillage par MILH(517) que dans
le verrouillage par IL(002).)
000000
MILH
0
1. Lorsque CIO 000000 est OFF (activation du verrouillage), la condition d'entrée CIO 000001 de DIFU est OFF.
2. La condition d'entrée CIO 000001 de DIFU passe de OFF à ON lorsque CIO 000000 est OFF (DIFU verrouillée),
3. Si CIO 000000 passe de OFF à ON (verrouillage supprimé), DIFU est exécutée si CIO 000001 est toujours ON.
000001
DIFU
001000
MILC
0
210
Chapitre 3-5
Instructions de contrôle de séquences
Schéma séquentiel
Non verrouillé
Verrouillé
Non verrouillé
ON
000000
OFF
ON
Etat (OFF) à
l'activation du
verrouillage
ON
Condition de
différentiation établie
000001
OFF
OFF
Verrouillage MILH(517)
Etat (ON) à la suppression
du verrouillage
DIFU(013) exécutée.
ON
001000
OFF
1 cycle
• Fonctionnement des instructions différenciées dans un verrouillage
MILR(518)
S'il existe une instruction différenciée (DIFU, DIFD ou instruction précédée
du préfixe @ ou %) entre MILR(518) et l'instruction MILC(519) correspondante, cette instruction ne sera pas exécutée après la suppression du verrouillage si la condition de différentiation de l'instruction a été établie. (Le
système compare l'état de la condition d'exécution dans le cycle à l'activation
du verrouillage à son état dans le cycle à la suppression du verrouillage.)
De la même manière, une instruction différenciée ne sera pas exécutée si
sa condition d'exécution est établie au moment même où le verrouillage
est activé ou supprimé.
• Exemple
Si l'instruction DIFFERENTIATE UP (DIFU(013)) est utilisée et que la
condition d'entrée est OFF à l'activation du verrouillage et ON à la suppression du verrouillage, l'instruction DIFU(013) ne sera pas exécutée
à la suppression du verrouillage.
000000
MILR
0
1. Lorsque CIO 000000 est OFF (activation du verrouillage), la condition d'entrée CIO 000001 de DIFU est OFF.
2. La condition d'entrée CIO 000001 de DIFU passe de OFF à ON lorsque CIO 000000 est OFF (DIFU verrouillée),
3. Si CIO 000000 passe de OFF à ON (verrouillage supprimé), DIFU n'est pas exécutée même si CIO 000001 est toujours ON.
000001
DIFU
001000
MILC
0
211
Chapitre 3-5
Instructions de contrôle de séquences
Schéma séquentiel
Non verrouillé
Verrouillé
Non verrouillé
ON
000000
OFF
ON
ON
000001
OFF
OFF
Verrouillage MILR(518)
DIFU(013) non exécutée.
ON
001000
OFF
Contrôle de l'état du verrouillage à partir d'un périphérique de
programmation
Un verrouillage peut être activé ou supprimé manuellement par la mise à 0 ou
à 1 forcée du bit d'état du verrouillage (spécifié par l'opérande D de
MILH(517) et MILR(518)) à partir d'un périphérique de programmation. L'état
forcé du bit d'état du verrouillage a la priorité et annule l'état de verrouillage
calculé par l'exécution du programme.
Mise à 1 forcée : supprime le verrouillage.
OFF
MILH
n
010000
Section de
programme contrôlée
par verrouillage
CIO 010000 est OFF à l'activation du verrouillage.
Si CIO 010000 est forcé à 1 (ON), le verrouillage est supprimé.
MILC
n
Mise à 0 forcée : active le verrouillage.
ON
MILH
n
010000
Section de programme
contrôlée par
verrouillage
CIO 010000 est ON lorsque le verrouillage n'est pas activé.
Si CIO 010000 est forcé à 0 (OFF), le verrouillage est activé.
MILC
n
Remarque
Le fonctionnement du programme peut être commuté de manière plus efficace en recourant aux verrouillages par MILH(517) ou MILR(518).
Plutôt que de recourir à la commutation avec des conditions mixtes, insérez
une instruction MILH(517) ou MILR(518) avant chaque processus et une instruction MILC(519) après chaque processus.
212
Chapitre 3-5
Instructions de contrôle de séquences
a
a
A1
MILH
0
b
A2
A1
b
MILH
1
A2
MILC
1
MILC
0
A la différence des verrouillages IL(002), les verrouillages MILH(517) et
MILR(518) peuvent être imbriqués, de sorte que le fonctionnement de programmes similaires diffère selon que MILH(517) ou MILR(518) est utilisée
plutôt que ILC(002).
Programme avec verrouillages MILH(517)/MILC(519)
a
MILH
0
010000
A1
b
MILH
1
010001
A2
MILC
1
A3
MILC
0
Condition
d’exécution
a
b
OFF
ON
OFF
ON
OFF
ON
ON
Section de programme
A1
Verrouillé
A2
Verrouillé
A3
Non verrouillé
Non verrouillé
Non verrouillé
Verrouillé
Non verrouillé
Non verrouillé
Non verrouillé
213
Chapitre 3-5
Instructions de contrôle de séquences
Programme avec verrouillages IL(002)/ILC(003)
a
IL
A1
b
IL
A2
ILC
Cette section de programme
n'est pas contrôlée par le
verrouillage.
A3
ILC
Condition
d’exécution
a
b
OFF
ON
OFF
ON
OFF
ON
ON
Cette instruction
ILC(003) est ignorée,
donc ...
Section de programme
A1
Verrouillé
A2
Verrouillé
Non verrouillé
Non verrouillé
Verrouillé
Non verrouillé
A3
Non verrouillé
(Non contrôlé par
le verrouillage
IL(002)/ILC(003).)
Si vous souhaitez que certains bits restent sur ON dans une section de programme verrouillée par MILH(517) ou MILR(518), réglez ces bits sur ON au
moyen de SET juste avant l'instruction MILH(517) ou MILR(518).
Drapeaux
Nom
Drapeau
d'erreur
Précautions
214
Etiquette
ER
OFF
Fonctionnement
Le temps de cycle n'est pas raccourci lorsqu'une section de programme est
verrouillée par MILH(517) ou MILR(518) car les instructions verrouillées sont
exécutées en interne.
Chapitre 3-5
Instructions de contrôle de séquences
Lors de l'imbrication des verrouillages, attibuez des numéros de verrouillage
pour éviter que la section de programme imbriquée n'excède la section de
programme extérieure.
a
MILH
0
A1
b
MILH
1
A2
MILC
0
A3
MILC
1
Condition
d’exécution
a
b
OFF
ON
OFF
ON
OFF
ON
La section de programme
imbriquée ne peut aller au
delà de la section de
programme extérieure.
Section de programme
A1
Verrouillé
A2
Verrouillé
A3
Non verrouillé
Non verrouillé
Non verrouillé
Verrouillé
Non verrouillé
Verrouillé
Non verrouillé
215
Chapitre 3-5
Instructions de contrôle de séquences
D'autres instructions peuvent être saisies entre les instructions MILC(519),
comme le montre le schéma ci-dessous.
a
MILH
0
010000
A1
b
MILH
1
010001
A2
MILC
1
D'autres instructions peuvent être insérées
entre deux instructions MILC(519). Dans ce
cas, les sections A1 et A3 fonctionnent
ensemble. (Elles sont verrouillées lorsque
"a" est sur OFF, indépendamment de l'état
ON/OFF de "b".)
A3
MILC
0
S'il existe une instruction ILC(003) entre une paire d'instructions MILH(517) et
MILC(519), la section de programme entre MILH(517) et ILC(003) sera verrouillée.
a
MILH
0
Si la condition d'entrée "a" est OFF,
seule la section de programme A1 est
verrouillée.
A1
S'il existe une instruction ILC(003),
le verrouillage est supprimé à ce
stade.
ILC
A2
L'instruction MILC(519) est ignorée.
MILC
0
216
Chapitre 3-5
Instructions de contrôle de séquences
S'il existe une instruction ILC(003) entre une paire d'instructions MILR(518) et
MILC(519), l'instruction ILC(003) sera ignorée et toute la section de programme entre MILR(518) et MILC(519) sera verrouillée.
a
MILR
0
Si la condition d'entrée "a" est OFF, les
sections de programme A1 et A2 sont
verrouillées.
A1
L'instruction ILC(003) est ignorée.
ILC
A2
MILC
0
S'il existe une autre instruction MILH(517) ou MILR(518) avec le même
numéro de verrouillage entre une paire d'instructions MILH(517) et MILC(519)
et que le verrouillage de la première instruction MILH(517) est activé, la
deuxième MILH(517)/MILR(518) n'aura aucun effet.
S'il existe une autre instruction MILH(517) ou MILR(518) avec le même
numéro de verrouillage entre une paire d'instructions MILH(517) et MILC(519)
et que le verrouillage de la première instruction MILH(517) n'est pas activé, la
deuxième MILH(517)/MILR(518) opèrera normalement.
a
MILH
0
Si la condition d'entrée "a" est OFF, les
sections de programme A1 et A2 sont
toutes deux verrouillées même si la
condition d'entrée "b" est ON.
A1
b
MILH
0
Si la condition d'entrée "a" est ON et
"b" est OFF, seule la section de
programme A2 est verrouillée.
A2
MILC
0
Remarque Les verrouillages MILR(518) opèrent de la même manière si il existe une
autre instruction MILH(517) ou MILR(518) avec le même numéro de verrouillage entre une paire d'instructions MILR(518) et MILC(519).
S'il existe une instruction MILC(519) avec un autre numéro de verrouillage
entre une paire d'instructions MILH(517)/MILR(518) et MILC(519), cette instruction MILC(519) sera ignorée.
217
Chapitre 3-5
Instructions de contrôle de séquences
a
MILH
0
Si la condition d'entrée "a" est OFF, les
sections de programme A1 et A2 sont
toutes deux verrouillées.
A1
Cette instruction MILC(519) est ignorée.
MILC
1
A2
MILC
0
S'il existe une instruction MILH(517) entre une paire d'instructions IL(002) et
ILC(003) et que le verrouillage IL(002) est activé, l'instruction MILH(517) n'a
aucun effet. Dans ce cas, la section de programme entre IL(002) et ILC(003)
sera verrouillée.
Si le verrouillage IL(002) n'est pas activé et que la condition d'exécution de
l'instruction MILH(517) (b dans ce cas) est OFF, la section de programme
entre MILH(517) et ILC(003) sera verrouillée.
a
IL
Si la condition d'entrée "a" est OFF, les
sections de programme A1 et A2 sont
toutes deux verrouillées.
A1
b
MILH
0
Si la section de programme n'est pas
verrouillée par IL(002) et que "b" est
OFF, la section de programme A2 est
verrouillée.
A2
ILC
S'il existe une instruction MILC(519) entre une paire d'instructions IL(002) et
ILC(003), l'instruction MILC(519) sera ignorée et toute la section de programme entre MILR(518) et MILC(519) sera verrouillée.
a
IL
Si la condition d'entrée "a" est OFF, les
sections de programme A1 et A2 sont
toutes deux verrouillées.
A1
L'instruction MILC(519) est ignorée.
MILC
0
A2
ILC
Exemples
218
Si W00000 et W00001 sont tous deux sur ON, les instructions entre
MILH(517) avec un numéro de verrouillage 0 et MILC(519) avec un numéro
de verrouillage 0 sont normalement exécutées.
Chapitre 3-5
Instructions de contrôle de séquences
Si W00000 est OFF, les instructions entre MILH(517) avec un numéro de verrouillage 0 et MILC(519) avec un numéro de verrouillage 0 sont verrouillées.
Si W00000 est ON et W00001 est OFF, les instructions entre MILH(517) avec
un numéro de verrouillage 1 et MILC(519) avec un numéro de verrouillage 1
sont verrouillées. Les autres instructions sont exécutées normalement.
W00000 et W00001
ON
W00000
W0000 OFF
W00000 ON et W00001
OFF
MILH
0
010000
Exécution
normale.
000200
000001
OFF
W00001
MILH
1
OFF
010001
H0000
000002
Exécution
normale.
Sorties
verrouillées.
SET
000003
Sorties
verrouillées.
MILC
1
CNT
1
Maintenues
#0010
Exécution
normale.
MILC
0
3-5-6
JUMP et JUMP END : JMP(004) et JME(005)
Objet
Symboles du schéma
contact
Lorsque la condition d'exécution de JMP(004) est OFF, l'exécution du programme passe directement au premier JME(005) du programme avec le
même numéro de saut. JMP(004) et JME(005) sont utilisées par paires.
JMP(004)
N
N: Numéro de saut
JME(005)
N
N: Numéro de saut
Variations
Variations
Saut si OFF/Pas de saut si ON
Spécification de rafraîchissement immédiat
JMP(004)
Non prise en
charge
219
Chapitre 3-5
Instructions de contrôle de séquences
Variations
Exécutée à chaque cycle pour la condition ON
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
Non autorisé
JME(005)
Non prise en
charge
SousTâches
programmes
d'interruption
OK
OK
N: Numéro de saut
Le numéro de saut doit être compris entre 0000 et 03FF (&0 à &1,023 décimal).
Remarque Pour les UC CJ1M-CPU11 et CJ1M-CPU21, le numéro de saut doit être compris entre 0000 et 00FF hex ou &0 et &255 décimal.
Spécifications de
l’opérande
Zone
JMP(004)
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Adresses DM/EM indirec- @ D00000 à @ D32767
tes en binaire
@ E00000 à @ E32767
@ En_00000 à
@ En_32767
(n = 0 à C)
Adresses DM/EM indirec- *D00000 à *D32767
tes en BCD
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
Constantes
#0000 à #03FF (binaire) ou
&0 à &1023 (voir
remarque.)
Registres de données
DR0 à DR15
Registres d'index
--Adressage indirect à l’aide ,IR0 à ,IR15
de registres d’index
–2048 à +2047 ,IR0 à
–2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
N
JME(005)
---------------------
---
#0000 à #03FF (binaire) ou
&0 à &1023 (voir
remarque.)
-------
Remarque Pour les UC CJ1M-CPU11 et CJ1M-CPU21, la plage est comprise entre
#0000 et #00FF (binaire) ou &0 et &1023 (décimal).
Description
Si la condition d'exécution pour JMP(004) est ON, aucun saut n'est effectué et
le programme est exécuté comme il est écrit.
Lorsque la condition d'exécution de JMP(004) est OFF, l'exécution du programme passe directement au premier JME(005) du programme avec le
même numéro de saut. Les instructions comprises entre JMP(004) et
JME(005) ne sont pas exécutées, de sorte que l'état des sorties entre
JMP(004) et JME(005) est maintenu. Dans les programmes de bloc, les ins-
220
Chapitre 3-5
Instructions de contrôle de séquences
tructions comprises entre JMP(004) et JME(005) sont sautées indépendamment de l'état de la condition d'exécution.
Condition d'exécution
Instructions
sautées
Les instructions de cette section ne
sont pas exécutées et l'état de la sortie
est conservé. Le temps d'exécution de
ces instructions est éliminé.
Instructions
exécutées
Etant donné que toutes les instructions entre JMP(004) et JME(005) sont
sautées lorsque la condition d'exécution pour JMP(004) est OFF, le temps de
cycle est réduit du temps total d'exécution des instructions sautées. En revanche, le traitement NOP(000) s'effectue pour les instructions comprises entre
JMP0(515) et JME0(516), de sorte que le temps de cycle n'est pas réduit
d'autant avec ces instructions de saut.
Le tableau ci-dessous compare les différentes instructions de saut.
Condition d'exécution pour le saut
Nombre autorisé
Traitement de l'instruction en cas de
saut
Temps d'exécution de l'instruction en
cas de saut
Etat des sorties (bits et mots) en cas de
saut
Etat des temporisateurs opérationnels
en cas de saut
Traitement dans les programmes de bloc
JMP(004)
JME(005)
OFF
1 024 au total
Non exécuté.
CJP(510)
JME(005)
ON
CJPN(511)
JME(005)
OFF
Aucun
JMP0(515)
JME0(516)
OFF
Aucune limite
Traitement
NOP(000)
Comme instructions
NOP(000)
Les bits et les mots maintiennent leur état précédent.
Les temporisateurs opérationnels poursuivent la temporisation.
Saut dans tous
les cas.
Saut si sur ON.
Saut si sur OFF.
Non autorisé.
Drapeaux (JMP)
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON si N n'est pas dans la plage spécifiée de 0000 à 03FF.
(voir remarque)
ON s'il existe une instruction JMP(004) dans le programme sans une instruction JME(005) avec le même
numéro de saut.
ON s'il existe une instruction JMP(004) dans la tâche
sans une instruction JME(005) avec le même numéro de
saut dans la tâche.
OFF dans tous les autres cas.
Remarque Pour les UC CJ1M-CPU11 et CJ1M-CPU21, la plage est comprise entre 0 et
255 (0000 à 00FF hex).
Précautions
Toutes les sorties (bits et mots) dans les instructions sautées maintiennent
leur état précédent. Les temporisateurs opérationnels (TIM, TIMX(550),
TIMH(015), TIMHX(551), TMHH(540) et TMHHX(552)) poursuivent la temporisation car les valeurs actuelles (PV) sont mises à jour même si l'instruction
de temporisateur n'est pas exécutée.
S'il existe deux ou plusieurs instructions JME(005) avec le même numéro de
saut, seule l'instruction comportant l'adresse inférieure est valide. L'instruction JME(005) comportant l'adresse programme supérieure est ignorée.
221
Chapitre 3-5
Instructions de contrôle de séquences
Si JME(005) précède JMP(004) dans le programme, les instructions entre
JME(005) et JMP(004) seront exécutées de manière répétitive aussi longtemps que la condition d'exécution de JMP(004) est OFF. Une erreur Temps
de cycle trop long se produit si la condition d'exécution n'est pas mise sur ON
ou si END(001) n'est pas exécutée dans le temps de cycle maximum.
La section de programme A
est exécutée de manière
répétitive aussi longtemps
que la condition d'exécution
est OFF.
Dans les programmes de bloc, les instructions comprises entre JMP(004) et
JME(005) sont toujours sautées indépendamment de l'état de la condition
d'exécution de JMP(004).
Section de
programmes de bloc
JMP &1
à
JME &1
Les paires JMP(004) et JME(005) doivent être dans la même tâche car les
sauts entre tâches ne sont pas autorisés. Une erreur se produit si une instruction JME(005) n'est pas programmée dans la même tâche que l'instruction
JMP(004) correspondante.
Le fonctionnement des instructions DIFU(013), DIFD(014) et des instructions
différenciées ne dépend pas uniquement de l'état de la condition d'exécution
lorsqu'elles sont programmées entre JMP(004) et JME(005). Lorsque
DIFU(013), DIFD(014) ou une instruction différenciée est exécutée dans une
section sautée immédiatement après que la condition d'exécution JMP(004)
soit passée ON, la condition d'exécution pour l'instruction DIFU(013),
DIFD(014) ou l'instruction différenciée est comparée à la conditon d'exécution
qui existait avant que le saut ne devienne effectif (c.-à-d. avant que la condition d'exécution de JMP(004) se mette sur OFF).
Exemples
Fonctionnement de base
Lorsque CIO 000000 est OFF dans l'exemple suivant, les instructions entre
JMP(004) et JME(005) ne sont pas exécutées et les sorties maintiennent leur
état précédent.
Si CIO 000000 est ON dans l'exemple suivant, les instructions entre
JMP(004) et JME(005) sont normalement exécutées.
222
Chapitre 3-5
Instructions de contrôle de séquences
&1
CIO 000000 CIO 000000
OFF
ON
Exécution
normale
Instructions
non
exécutées.
(les sorties
restent
inchangées.)
&1
3-5-7
CONDITIONAL JUMP : CJP(510)/CJPN(511)
Objet
Le fonctionnement de CJP(510) est fondamentalement à l'opposé de celui de
JMP(004). Lorsque la condition d'exécution de CJP(510) est ON, l'exécution
du programme passe directement au premier JME(005) du programme avec
le même numéro de saut. CJP(510) et JME(005) sont utilisées par paires.
Le fonctionnement de CJPN(511) est presque identique à celui de JMP(004).
Lorsque la condition d'exécution de CJP(004) est OFF, l'exécution du programme passe directement au premier JME(005) du programme avec le
même numéro de saut. CJPN(511) et JME(005) sont utilisées par paires.
Symboles du schéma
contact
CJP(510)
N
N: Numéro de saut
CJPN(511)
N
N: Numéro de saut
Variations
Variations
Saut si ON/Pas de saut si OFF
Spécification de rafraîchissement immédiat
CJP(510)
Non prise en
charge
223
Chapitre 3-5
Instructions de contrôle de séquences
Variations
Saut si OFF/Pas de saut si ON
Spécification de rafraîchissement immédiat
CJPN(511)
Non prise en
charge
Variations
Exécutée à chaque cycle pour la condition ON JME(005)
Spécification de rafraîchissement immédiat
Non prise en
charge
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
Non autorisé
SousTâches
programmes
d'interruption
OK
OK
N : Numéro de saut
Le numéro de saut doit être compris entre 0000 et 03FF (0 à 1 023 décimal).
Remarque Pour les UC CJ1M-CPU11 et CJ1M-CPU21, le numéro de saut doit être compris entre 0000 et 00FF hex ou &0 et &255 décimal.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de
maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans
banque
Zone EM avec
banque
Adresses DM/EM
indirectes en
binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de
données
Registres d'index
Adressage indirect
à l’aide de registres
d’index
CJP(510)
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
N
CJPN(511)
JME(005)
-------
A000 à A959
T0000 à T4095
-----
C0000 à C4095
D00000 à D32767
E00000 à E32767
-------
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #03FF (binaire) ou &0 à &1023
(voir remarque.)
---
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047
,IR15
DR0 à DR15, IR0 à IR15
---
---
#0000 à #03FF
(binaire) ou &0 à
&1023 (voir
remarque.)
-------
Remarque Pour les UC CJ1M-CPU11 et CJ1M-CPU21, la plage est comprise entre
#0000 et #00FF (binaire) ou &0 et &1023 (décimal).
224
Chapitre 3-5
Instructions de contrôle de séquences
Description
Le fonctionnement de CJP(510) et CJPN(511) diffère uniquement au niveau
de la condition d'exécution. CJP(510) passe au premier JME(005) si la condition d'exécution est ON tandis que CJPN(511) passe au premier JME(005) si
la condition d'exécution est OFF.
Etant donné que les instructions sautées ne sont pas exécutées, le temps de
cycle est réduit du temps total d'exécution des instructions sautées.
Fonctionnement de CJP(510)
Si la condition d'exécution pour CPJ(510) est OFF, aucun saut n'est effectué
et le programme est exécuté comme il est écrit.
Lorsque la condition d'exécution de CJP(510) est ON, l'exécution du programme passe directement au premier JME(005) du programme avec le
même numéro de saut.
Condition
Condition
d'exécution OFF d'exécution ON
Instructions
sautées
Instructions
exécutées
Les instructions de cette section ne
sont pas exécutées et l'état de la sortie
est conservé. Le temps d'exécution de
ces instructions est éliminé.
Fonctionnement de CPJN(511)
Si la condition d'exécution pour CPJN(511) est ON, aucun saut n'est effectué
et le programme est exécuté comme il est écrit.
Lorsque la condition d'exécution de CJPN(511) est sur OFF, l'exécution du
programme passe directement au premier JME(005) du programme avec le
même numéro de saut.
Condition
Condition
d'exécution ON d'exécution OFF
Instructions
sautées
Instructions
exécutées
Drapeaux
Les instructions de cette section ne
sont pas exécutées et l'état de la sortie
est conservé. Le temps d'exécution de
ces instructions est éliminé.
Le tableau ci-dessous indique les drapeaux concernés par les instructions
CJP(510) et CJPN(511).
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON s'il n'existe pas de JME(005) avec le même numéro
de saut que CJP(510) ou CJPN(511). (voir remarque)
ON si N n'est pas dans la plage spécifiée de 0000 à 03FF.
ON s'il existe une instruction CJP(510) ou CJPN(511)
dans la tâche sans une instruction JME(005) avec le
même numéro de saut.
OFF dans tous les autres cas.
Remarque Pour les UC CJ1M-CPU11 et CJ1M-CPU21, le numéro de saut doit être compris entre 0 et 255 (0000 à 00FF hex).
225
Instructions de contrôle de séquences
Précautions
Chapitre 3-5
Toutes les sorties (bits et mots) dans les instructions sautées maintiennent
leur état précédent. Les temporisateurs opérationnels (TIM, TIMX(550),
TIMH(015), TIMHX(551), TMHH(540) et TMHHX(552)) poursuivent la temporisation car les valeurs actuelles (PV) sont mises à jour même si l'instruction
de temporisateur n'est pas exécutée.
S'il existe deux ou plusieurs instructions JME(005) avec le même numéro de
saut, seule l'instruction comportant l'adresse inférieure est valide. L'instruction JME(005) comportant l'adresse programme supérieure est ignorée.
Si JME(005) précède l'instruction CJP(510) ou CJPN(511) dans le programme, les instructions comprises entre ces instructions seront exécutées
de manière répétitive aussi longtemps que la condition d'exécution reste sur
OFF (CJP(510)) ou sur ON (CJPN(511)). Une erreur Temps de cycle trop
long se produira si le saut n'est pas terminé en changeant la condition d'exécution de END(001) dans le temps de cycle maximum.
Les instructions CJP(510) ou CJPN(511) opèrent normalement dans des programmes de bloc.
Lorsque la condition d'exécution de CJP(510) est ON ou la condition d'exécution de CJPN(511) est OFF, l'exécution du programme passera directement à
l'instruction JME sans exécuter les instructions entre CJP(510)/CJPN(511) et
JME. Aucun temps d'exécution ne sera requis pour ces instructions et le
temps de cycle sera donc réduit.
Lorsque la condition d'exécution de JMP0 est OFF, le traitement NOP est exécuté entreJMP0 et JME0, nécessitant ainsi un temps d'exécution. Le temps
de cycle ne sera, dès lors, pas réduit.
Lorsqu’une instruction CJP(510) ou CJPN(511) est programmée dans une
tâche, il doit exister une instruction JME(005) avec le même numéro de saut
car les sauts entre tâches ne sont pas autorisés. Une erreur se produit si une
instruction JME(005) correspondante n'est pas programmée dans la même
tâche.
Le fonctionnement des instructions DIFU(013), DIFD(014) et des instructions
différenciées ne dépend pas uniquement de l'état de la condition d'exécution
lorsqu'elles sont programmées dans une section de programme sautée. Lorsque DIFU(013), DIFD(014) ou une instruction différenciée est exécutée dans
une section sautée immédiatement après que la condition d'exécution de
CJP(510) soit passée sur OFF (sur ON pour CJPN(511)), la condition d'exécution pour l'instruction DIFU(013), DIFD(014) ou l'instruction différenciée est
comparée à la conditon d'exécution qui existait avant que le saut ne devienne
effectif.
Exemple
226
Lorsque CIO 000000 est sur ON dans l'exemple suivant, les instructions entre
CJP(510) et JME(005) ne sont pas exécutées et les sorties maintiennent leur
état précédent.
Si CIO 000000 est sur OFF dans l'exemple suivant, les instructions entre
CJP(510) et JME(005) sont normalement exécutées.
Chapitre 3-5
Instructions de contrôle de séquences
&1
CIO 000000 CIO 000000
ON
OFF
Instructions
non exécutées.
(les sorties
restent inchangées.)
Exécution
normale
&1
Remarque Pour CJPN(511), l'état ON/OFF de CIO 000000 serait inversé.
3-5-8
MULTIPLE JUMP et JUMP END : JMP0(515) et JME0(516)
Objet
Symboles du schéma
contact
Lorsque la condition d'exécution de JMP0(515) est OFF, toutes les instructions situées entre JMP0(515) et la prochaine JME0(516) dans le programme
sont traitées comme NOP(000). Utilisez JMP0(515) et JME0(516) par paires.
Le nombre de paires pouvant être utilisées dans le programme est illimité.
JMP0(515)
JME0(516)
Variations
Variations
Saut si OFF/Pas de saut si ON
Spécification de rafraîchissement immédiat
JMP0(515)
Non prise en
charge
Variations
Exécutée à chaque cycle pour la condition ON JME0(516)
Spécification de rafraîchissement immédiat
Non prise en
charge
Zones de programmes
applicables
Zones de
programmes de bloc
Non autorisé
Zones de
programmes de pas
Non autorisé
SousTâches
programmes
d'interruption
OK
OK
227
Chapitre 3-5
Instructions de contrôle de séquences
Description
Si la condition d'exécution pour JMP0(515) est ON, aucun saut n'est effectué
et le programme est exécuté comme il est écrit.
Lorsque la condition d'exécution de JMP0(515) est OFF, toutes les instructions situées entre JMP0(515) et la prochaine JME0(516) dans le programme
sont traitées comme NOP(000). A la différence de JMP(004), CJP(510) et
CJPN(511), JMP0(515) n'utilise pas de numéros de saut de sorte que ces
instructions peuvent être placées n'importe où dans le programme.
Condition
d'exécution ON
Condition
d'exécution OFF
Instructions
sautées
Instructions
exécutées
Les instructions sautées sont traitées
comme NOP(000). Les temps d'exécution
Condition
des instructions sont les mêmes que pour
Condition
d'exécution b sur ON
d'exécution b NOP(000).
sur OFF
Instructions
exécutées
Instructions
sautées
A la différence de JMP(004), CJP(510) et CJPN(511) qui passent directement
à la prochaine instruction JME(005) du programme, toutes les instructions
entre JMP0(515) et JME0(516) sont exécutées comme NOP(000). Le temps
d'exécution des instructions sautées est réduit, mais non supprimé. Les instructions sautées proprement dites ne sont pas exécutées et leurs sorties
(bits et mots) maintiennent leur état précédent.
Précautions
Des paires multiples d'instructions JMP0(515) et JME0(516) peuvent être utilisées dans le programme mais les paires ne peuvent être imbriquées.
JMP0(515) et JME0(516) ne peuvent être utilisées dans les programmes de
bloc.
Les paires JMP0(515) et JME0(516) doivent être dans les mêmes tâches car
les sauts entre tâches ne sont pas autorisés.
Le fonctionnement des instructions DIFU(013), DIFD(014) et des instructions
différenciées ne dépend pas uniquement de l'état de la condition d'exécution
lorsqu'elles sont programmées entre JMP0(515) et JME0(516). Lorsque
DIFU(013), DIFD(014) ou une instruction différenciée est exécutée dans une
section sautée immédiatement après que la condition d'exécution de
JMP0(515) passe ON, la condition d'exécution pour l'instruction DIFU(013),
DIFD(014) ou l'instruction différenciée est comparée à la conditon d'exécution
qui existait avant que le saut ne devienne effectif (c.-à-d. avant que la condition d'exécution de JMP0(515) se mette sur OFF).
Exemple
228
Lorsque CIO 000000 est sur OFF dans l'exemple suivant, les instructions
entre JMP0(515) et JME0(516) sont traitées comme NOP(000) et les sorties
maintiennent leur état précédent.
Si CIO 000000 est sur ON dans l'exemple suivant, les instructions entre
JMP0(515) et JME0(516) sont normalement exécutées.
Chapitre 3-5
Instructions de contrôle de séquences
CIO 000000 CIO 000000
ON
OFF
Exécution Instructions
traitées
normale
comme
NOP(000).
(les sorties
restent
inchangées.)
3-5-9
FOR-NEXT LOOPS : FOR(512)/NEXT(513)
Objet
Symboles du schéma
contact
Les instructions situées entre FOR(512) et NEXT(513) sont répétées un nombre spécifié de fois. FOR(512) et NEXT(513) sont utilisées par paires.
FOR(512)
N
N: Nombre de boucles
NEXT(513)
Variations
Variations
Exécutée à chaque cycle pour la condition ON FOR(512)
Exécutée à chaque cycle pour la condition ON NEXT(513)
Spécification de rafraîchissement immédiat
Non prise en
charge
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
Non autorisé
Zones de
programmes de pas
OK
SousTâches
programmes
d'interruption
OK
OK
N: Nombre de boucles
Le nombre de boucles doit être compris entre 0000 et FFFF (0 à 65 535
décimal).
229
Chapitre 3-5
Instructions de contrôle de séquences
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
N
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF (binaire) ou &0 à &65 535
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Les instructions comprises entre FOR(512) et NEXT(513) sont exécutées N
fois ; l'exécution du programme se poursuit ensuite avec l'instruction suivant
NEXT(513). L'instruction BREAK(514) peut servir à annuler la boucle.
Si N est réglé sur 0, les instructions entre FOR(512) et NEXT(513) sont traitées comme des instructions NOP(000).
Les boucles peuvent être utilisées pour traiter des tables de données avec un
minimum de programmation.
Répété N fois
Section de programme répétée
Les boucles FOR-NEXT peuvent être imbriquées jusqu'à 15 niveaux. Dans
l'exemple ci-dessous, les sections de programme A, B et C sont exécutées
comme suit :
A → B → B → C, A → B → B → C et A → B → B → C
230
Chapitre 3-5
Instructions de contrôle de séquences
&3
&2
Utilisez BREAK(514) pour sortir d'une boucle FOR-NEXT. Plusieurs instructions BREAK(514) (nombre de niveaux imbriqués) sont nécessaires pour sortir de boucles imbriquées. Les instructions restantes de la boucle après
BREAK(514) sont traitées comme des instructions NOP(000).
&3
Sort d'une
boucle si la
condition a est
ON.
Les instructions
restantes sont
traitées comme 1 2
NOP(000).
&3
&2
Interrompt la boucle
FOR-NEXT 2.
Interrompt la boucle
FOR-NEXT 1.
Autres méthodes de boucle
Il existe deux méthodes de répéter une section de programme jusqu'à la saisie d'une condition d'exécution donnée.
1,2,3...
1. Boucle FOR-NEXT avec BREAK
Lancez une boucle FOR-NEXT avec un maximum de N répétitions. Programmez BREAK(514) dans la boucle avec la condition d'exécution souhaitée. La boucle se termine avant les N répétitions si la condition
d'exécution est saisie.
2. Boucle JME(005)-JMP(004)
Programmez une boucle au moyen de JME(005) avant JMP(004). Les instructions comprises entre JME(005) et JMP(004) sont exécutées de manière répétitive aussi longtemps que la condition d'exécution de JMP(004)
est OFF. (Une erreur Temps de cycle trop long se produit si la condition
d'exécution n'est pas mise sur ON ou si END(001) n'est pas exécutée dans
le temps de cycle maximum.)
231
Chapitre 3-5
Instructions de contrôle de séquences
Drapeaux
Nom
Etiquette
Fonctionnement
Drapeau d'erreur ER
ON si plus de 15 boucles sont imbriquées.
OFF dans tous les autres cas.
Drapeau d'égalité =
OFF
Drapeau négatif N
OFF
Précautions
Programmez les instructions FOR(512) et NEXT(513) dans la même tâche.
L'exécution n'est pas répétée si ces instructions ne sont pas dans la même
tâche.
Une instruction de saut telle que JMP(004) peut être exécutée dans une boucle FOR-NEXT, mais ne sautez pas au delà de la boucle FOR-NEXT.
Les instructions suivantes ne peuvent pas être utilisées dans les boucles
FOR-NEXT :
• Instructions de programmation de bloc
• MULTIPLE JUMP et JUMP END : JMP(515) et JME(516)
• STEP DEFINE et STEP START : STEP(008)/SNXT(009)
Remarque Si une boucle se répète dans un cycle et qu'un bit différencié est utilisé dans
la boucle FOR-NEXT, ce bit sera toujours ON ou toujours OFF dans cette
boucle.
Exemple
Dans l'exemple suivant, la section de programme en boucle transfère le contenu de D00100 à l'adresse indiquée dans D00200 et incrémente ensuite le
contenu de D00200 de 1.
&3
Répété 3 fois.
D00100
@D00200
D00200
#0000
3-5-10 BREAK LOOP : BREAK(514)
Objet
Symbole du schéma
contact
Programmé dans une boucle FOR-NEXT de façon à annuler l'exécution de la
boucle pour une condition d'exécution donnée. Les instructions restantes de
la boucle sont traitées comme des instructions NOP(000).
BREAK(514)
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
232
BREAK(514)
Non prise en
charge
Non prise en
charge
Non prise en
charge
Chapitre 3-6
Instructions de temporisateur et compteur
Zones de programmes
applicables
Zones de
programmes de bloc
Non autorisé
Description
Zones de
programmes de pas
OK
SousTâches
programmes
d'interruption
OK
OK
Programmez l'instruction BREAK(514) entre FOR(512) et NEXT(513) pour
annuler la boucle FOR-NEXT lorsque BREAK(514) est exécutée. Lorsque
l'instruction BREAK(514) est exécutée, les instructions restantes jusque
NEXT(513) sont traitées comme NOP(000).
N répétitions
Condition a ON
Fin des
répétitions forcée.
Traité comme NOP(000).
Drapeaux
Nom
Drapeau d'erreur
Drapeau d'égalité
Drapeau négatif
Précautions
Etiquette
ER
OFF
=
OFF
N
OFF
Fonctionnement
Une instruction BREAK(514) n'annule qu'une seule boucle, de sorte que plusieurs instructions BREAK(514) (nombre de niveaux imbriqués) sont nécessaires pour sortir de boucles imbriquées.
BREAK(514) ne peut être utilisée que dans une boucle FOR-NEXT.
3-6
Instructions de temporisateur et compteur
Cette section décrit les instructions utilisées pour définir et traiter les temporisateurs et les compteurs.
Instruction
TIMER
HIGH-SPEED TIMER
ONE-MS TIMER
ACCUMULATIVE TIMER
LONG TIMER
MULTI-OUTPUT TIMER
COUNTER
REVERSIBLE COUNTER
RESET TIMER/COUNTER
Mnémonique
TIM/TIMX
TIMH/TIMHX
TMHH/TIMHHX
TTIM/TTIMX
TIML/TIMLX
MTIM/MTIMX
CNT/CNTX
CNTR/CNTRX
CNR/CNRX
Code fonction
---/551
015/551
540/552
087/555
542/553
543/554
---/546
012/548
545/547
Page
235
240
244
247
251
254
260
263
267
Méthodes de rafraîchissement de la valeur actuelle de temporisateur/compteur
■
Aperçu
Les instructions de temporisateur et compteur prises en charge par les UC
CS1 et CJ1 recourent toutes aux données BCD et l'ensemble des valeurs de
consigne correspondantes sont saisies au moyen de BCD. La méthode de
rafraîchissement peut être configurée en BCD ou binaire pour d'autres UC
des séries CS et CJ (c.-à-d. les UC CS1-H, CJ1-H, CJ1M et CS1D ; voir
remarques 1 et 2).
233
Chapitre 3-6
Instructions de temporisateur et compteur
L'utilisation des données binaires plutôt que des données BCD permet d'augmenter la plage des valeurs de consigne (SV) pour les temporisateurs et
compteurs de 0 - 9999 à 0 - 65535. Cette méthode permet également d'utiliser les données binaires calculées par d'autres instructions directement
comme SV de temporisateur/compteur. La méthode de rafraîchissement est
valide même lors de la configuration indirecte d'une SV (c.-à-d. au moyen du
contenu d'un mot mémoire). (En d'autres termes, le contenu du mot adressé
est pris comme données BCD ou binaires en fonction de la méthode de rafraîchissement définie.)
Consultez le Manuel de programmation de la série CS/CJ pour plus de détails
sur les méthodes de rafraîchissement.
Remarque
1. Dans le cas des UC CS1-H et CJ1-H fabriquées avant le 31 mai 2002, les
instructions binaires sont affichées sur la console de programmation avec
le code mnémonique de l'instruction équivalente pour l'opération BCD.
(Par exemple, TIMX0 &16 s'affiche sous la forme de TIM0 &16.) L'instruction opère toutefois en utilisant le mode binaire.
2. La méthode de rafraîchissement ne peut être sélectionnée qu'à partir du
CX-Programmer version 3.0 ou supérieure. Elle ne peut être sélectionnée
à partir de la version 2.1 ou antérieure, ni à partir d'une console de programmation.
3. Les programmes utilisateur qui utilisent le mode de rafraîchissement binaire ne peuvent être lus par CX-Programmer version 2.1 ou antérieure. Ils
ne peuvent être lus qu'en passant au mode BCD.
■
Instructions utilisables
Catégorie
Instructions de
temporisateur et
compteur
Instructions de
programmation de
bloc
Instruction
TIMER
HIGH-SPEED TIMER
ONE-MS TIMER
ACCUMULATIVE TIMER
LONG TIMER
MULTI-OUTPUT TIMER
COUNTER
REVERSIBLE COUNTER
RESET TIMER/COUNTER
TIMER WAIT
HIGH-SPEED TIMER WAIT
COUNTER WAIT
Mnémonique
BCD
Binaire
TIM
TIMX(550)
TIMH(015)
TIMHX(551)
TMHH(540) TMHHX(552)
TTIM(087)
TTIMX(555)
TIML(542)
TIMLX(553)
MTIM(543) MTIMX(554)
CNT
CNTX(546)
CNTR(012) CNTRX(548)
CNR(545)
CNRX(547)
TIMW(813) TIMWX(816)
TMHW(815) TMHWX(817)
CNTW(814) CNTWX(818)
Spécifications standard de temporisateur
Le tableau ci-dessous indique les spécifications standard des temporisateurs.
TIM/TIMX(550)
Méthode de
temporisation
Unités de
temporisation
SV max.
Sorties/
instruction
234
TIMH(015)/
TMHH(540)/
TTIM(087)/
TIMHX(551)
TMHHX(552)
TTIMX(555)
Décrémentation Décrémentation Décrémentation Incrémentation
TIML(542)/
TIMLX(553)
Décrémentation
MTIM(543)/
MTIMX(554)
Incrémentation
0,1 s
0,01 s
TIM : 999,9 s
TIMH : 99,99 s
TIMX: 6 553,5 s TIMHX :
655.35 s
1
1
0,001 s
0,1 s
0,1 s
0,1 s
TMHH : 9.999 s
TMHHX :
65.535 s
1
TTIM : 999,9 s
TTIMX :
6,553.5 s
1
TIML : 115 jours
TIMLX :
49,710 jours
1
MTIM : 999,9 s
MTIMX :
6,553.5 s
8
Chapitre 3-6
Instructions de temporisateur et compteur
TIM/TIMX(550)
Numéros de
temporisateur
Mise à jour
drapeau de fin
Mise à jour PV
de temporisateur
VaDraleur
peaux
après de fin
réini- PV
tialisation
Utilisé
TIMH(015)/
TIMHX(551)
Utilisé
TMHH(540)/
TMHHX(552)
Utilisé
A l'exécution
A l'exécution
Voir remarque
1.
Voir remarque
2.
OFF
SV
Remarque
TTIM(087)/
TTIMX(555)
Utilisé
TIML(542)/
TIMLX(553)
Non utilisé
MTIM(543)/
MTIMX(554)
Non utilisé
A l'interruption
A l'exécution
toutes les 1 ms
Toutes les 1 ms A l'exécution
A l'exécution
A l'exécution
A l'exécution
A l'exécution
OFF
OFF
OFF
OFF
OFF
SV
SV
0
SV
0
1. Les valeurs actuelles (PV) de TIM sont mises à jour à l'exécution, à la fin
de l'exécution du programme à chaque cycle ou toutes les 80 ms par interruption si la durée du cycle excède 80 ms.
2. Les valeurs actuelles de TIMH(015)/TIMHX(551) sont mises à jour à l'exécution, à la fin de l'exécution du programme à chaque cycle et toutes les
10 ms par interruption.
Fonctionnement du temporisateur
Le tableau ci-dessous indique les effets des conditions d'utilisation et de programmation sur le fonctionnement des temporisateurs.
TIM/
TIMH(015)/
TMHH(540)/
TTIM(087)/
TIML(542)/
MTIM(543)/
TIMX(550)
TIMHX(551) TMHHX(552) TTIMX(555)
TIMLX(553)
MTIMX(554)
Changement de mode de PV = 0
----fonctionnement
Drapeau de fin = OFF
Interruption d'alimentaPV = 0
----tion/réinitialisation
Drapeau de fin = OFF
Exécution de CNR(545)/ Binaire : PV = FFFF, drapeau de fin = OFF
Non utilisable Non utilisable
CNRX(547)
BCD : PV = FFFF ou 9999, drapeau de fin = OFF
Fonctionnement dans
Les temporisateurs opérationnels
L'état du temporisateur est maintenu.
une section de
poursuivent la temporisation.
programme sautée
(JMP(004)-JME(005))
L'état du
Fonctionnement dans
PV = SV
L'état du tem- PV = SV
une section de
Drapeau de fin = OFF
porisateur est Drapeau de fin temporisateur
est maintenu.
= OFF
programme verrouillée
maintenu.
(IL(002)-ILC(003))
Set forcé Drapeaux de ON
----fin
PV
Mis à 0.
----Reset
Drapeaux de OFF
----forcé
fin
PV
Réinitialisé à SV.
Mis à 0.
-----
3-6-1
Objet
TIMER : TIM/TIMX(550)
TIM ou TIMX(550) effectue une temporisation décroissante par pas de 0,1 s.
La plage de configuration pour la valeur de consigne (SV) va de 0 à 999,9 s
pour TIM et de 0 à 6 553,5 s pour TIMX(550). La précision du temporisateur
est comprise entre 0 et 0,01 s.
Remarque La précision du temporisateur pour les UC CS1D est de 10 ms + temps de
cycle.
235
Chapitre 3-6
Instructions de temporisateur et compteur
Symbole du schéma
contact
Symbole
Méthode
de mise à
jour PV
BCD
N: 0000 à 4095 (décimal)
S: #0000 à #9999 (BCD)
TIM
N
S
N: Numéro de
temporisateur
S: Valeur de
consigne
Binaire
TIMX(550)
N
S
Opérandes
N: Numéro de
temporisateur
S: Valeur de
consigne
N: 00000 à 4095 (décimal)
S: &0 à &65535 (décimal)
#0000 à #FFFF (hex)
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
Non autorisé
Zones de
programmes de pas
OK
TIM/TIMX(550)
Non prise en
charge.
Non prise en
charge.
Non prise en
charge.
SousTâches
programmes
d'interruption
OK
Non autorisé
N: Numéro de temporisateur
Le numéro de temporisateur doit être compris entre 0000 et 4095 (décimal).
S: valeur de consigne
La valeur de consigne doit être comprise entre #0000 et 9999 (BCD).
(Si la valeur de consigne est réglée sur #0000, le drapeau de fin se met sur
ON lorsque TIM/TIMX(550) est exécutée.)
Spécifications de
l’opérande
236
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
N
--------0000 à 4095 (décimal)
---------
Adresses DM/EM
indirectes en binaire
---
S
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
Chapitre 3-6
Instructions de temporisateur et compteur
Description
Zone
Adresses DM/EM
indirectes en BCD
---
N
S
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_032767
(n = 0 à C)
BCD :
#0000 à 9999 (BCD)
“&” ne peut pas être utilisé.
Binaire :
&0 à &65535 (décimal)
#0000 à #FFFF (hex)
DR0 à DR15
---
Constantes
---
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
Si l'entrée de temporisateur est OFF, le temporisateur spécifié par N est réinitialisé, c.-à-d. que la PV de temporisateur est réinitialisée à la SV et son drapeau de fin est mis sur OFF.
Si l'entrée de temporisateur passe de OFF à ON, TIM/TIMX(550) commence
à décrémenter la PV. La PV poursuit la temporisation décroissante aussi longtemps que l'entrée de temporisateur reste sur ON et le drapeau de fin de temporisation se met sur ON lorsque la PV atteint 0000.
L'état de la PV de temporisateur et du drapeau de fin est maintenu à l'expiration de la temporisation. Pour relancer le temporisateur, l'entrée de temporisateur doit être mise sur OFF et à nouveau sur ON, ou la PV de temporisateur
doit être changée en une valeur non nulle (par MOV(021), par exemple).
Entrée de
temporisateur
PV de
temporisateur
SV
Drapeau de
fin
Le schéma séquentiel ci-dessous indique le comportement de la PV de temporisateur et du drapeau de fin lorsque l'entrée de temporisateur est mise sur
OFF avant l'expiration de la temporisation.
Entrée de
temporisateur
PV de
temporisateur
SV
Drapeau
de fin
Drapeaux
Nom
Drapeau d'erreur
Drapeau d'égalité
Drapeau négatif
Etiquette
Fonctionnement
ER
ON si N est adressé indirectement via un registre
d'index mais l'adresse dans le registre d'index ne
correspond pas à l'adresse PV d'un temporisateur.
ON si en mode BCD et si S ne contient pas de données BCD.
OFF dans tous les autres cas.
=
OFF ou inchangé (voir remarque.)
N
OFF ou inchangé (voir remarque.)
237
Chapitre 3-6
Instructions de temporisateur et compteur
Remarque Dans les UC CS1 et CJ1, ils passent OFF.
Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, ces drapeaux restent inchangés.
Précautions
Les numéros de temporisateur sont partagés par les instructions TIM,
TIMX(550), TIMH(015), TIMHX(551), TMHH(540), TIMHHX(552), TTIM(087),
TTIMX(555), TIMW(813), TIMWX(816), TMHW(815) et TIMHWX(817). Si
deux temporisateurs partagent le même numéro de temporisateur mais ne
sont pas utilisés simultanément, une erreur de duplication est générée à la
vérification du programme mais les temporisateurs fonctionnent normalement. Les temporisateurs qui partagent le même numéro de temporisateur ne
fonctionnent pas correctement s'ils sont utilisés simultanément.
Les temporisateurs créés avec des numéros de temporisateur de 2048 à
4095 ne fonctionnent pas correctement si le temps de cycle de l'UC excède
80 ms. Utilisez des numéros de temporisateur de 0000 à 2047 lorsque le
temps de cycle est supérieur à 80 ms.
La valeur actuelle (PV) des temporisateurs programmés avec des numéros
de temporisateur de 0000 à 2047 est mise à jour même si le temporisateur
est en attente. La valeur actuelle des temporisateurs programmés avec des
numéros de temporisateur de 2048 à 4095 est maintenue si le temporisateur
est en attente.
Les temporisateurs sont réinitialisés ou mis en pause dans les cas suivants.
(Lorsqu'un temporisateur est réinitialisé, sa PV est réinitialisée à la SV et son
drapeau de fin est mis sur OFF.)
Condition
Le mode de fonctionnement passe de
RUN ou MONITOR à PROGRAM, ou
vice versa.1
Interruption de l'alimentation et
réinitialisation2
Exécution de CNR(545)/CNRX(547),
instructions RESET TIMER/COUNTER 3
Fonctionnement dans une section de
programme verrouillée
(IL(002)-ILC(003))
Fonctionnement dans une section de
programme sautée
(JMP(004)-JME(005))
Remarque
PV
0000
Drapeau de fin
OFF
0000
OFF
BCD : 9999
Binaire : FFFF
OFF
Réinitialisé à SV.
OFF
La PV continue à
décrémenter.
Maintient l'état
précédent.
1. Si le bit de maintien IOM (A50012) est mis sur ON, l'état des drapeaux de
fin et des PV de temporisateur est maintenu lorsque le mode de fonctionnement est modifié.
2. Si le bit de maintien IOM (A50012) est mis sur ON et que l'état du bit de
maintien IOM proprement dit est protégé dans la configuration de l'API,
l'état des drapeaux de fin et des PV de temporisateur est maintenu même
en cas d'interruption de l'alimentation.
3. La PV est réglée à la SV lorsque TIM/TIMX(550) est exécutée.
Si TIM/TIMX(550) est dans une section de programme comprise entre IL(002)
et ILC(003) et que la section de programme est verrouillée, la PV est réinitialisée à la SV et le drapeau de fin est mis sur OFF.
Si un temporisateur opérationnel TIM/TIMX(550) créé avec un numéro de
temporisateur compris entre 0000 et 2047 est dans une section de programme sautée (JMP(004), CJMP(510), CJPN(511), JME(005)), la PV de
temporisateur poursuit la temporisation. (voir remarque.) L'instruction TIM/
TIMX(550) sautée n'est pas exécutée mais la PV est mise à jour à chaque
cycle après exécution de toutes les tâches.
238
Chapitre 3-6
Instructions de temporisateur et compteur
Remarque Dans le cas des UC CS1D, la PV ne sera pas mise à jour dans l'exemple cidessus.
Si un temporisateur TIM/TIMX(550) est forcé à 1, son drapeau de fin est mis
sur ON et sa PV sera réglée à 0000. Si un temporisateur TIM/TIMX(550) est
réinitialisé de force, son drapeau de fin est mis sur OFF et sa PV est réinitialisée à la SV.
Le fonctionnement du drapeau d'égalité et du drapeau négatif dépend du
modèle d'UC. Consultez la sectionDrapeaux ci-dessus pour plus de détails.
Le drapeau de fin de temporisation n'est rafraîchi que lorsque TIM/TIMX(550)
est exécutée, de sorte qu'un délai d'un cycle maximum peut être requis pour
que le drapeau de fin se mette sur ON à l'expiration de la temporisation.
Si l'édition en ligne est utilisée pour convertir un temporisateur en un autre
type de temporisateur avec le même numéro de temporisateur (tel que TIM/
TIMX(550) ↔ TIMH(015)/TIMHX(551) ou TIM/TIMX(550) ↔ TMHH(540)/
TMHHX(552)), n'oubliez pas de réinitiliser le drapeau de fin. Le temporisateur
ne fonctionnera pas correctement aussi longtemps que le drapeau de fin n'est
pas réinitialisé.
La PV et le drapeau de fin d'une instruction TIM/TIMX(550) peuvent être mis à
jour des différentes façons suivantes en fonction du numéro de temporisateur
utilisé.
Temporisateurs créés avec des numéros de temporisateur de 0000 à 2047
Exécution de TIM/
TIMX(550)
La PV est mise à jour chaque fois que TIM/TIMX(550)
est exécutée.
Le drapeau de fin est mis sur ON si la PV est 0000.
Le drapeau de fin est mis sur OFF si la PV n’est pas
0000.
Après exécution de toutes La PV est également mise à jour à chaque cycle à la fin
les tâches
de l'exécution du programme.
Mise à jour par intervalle
Si le temps de cycle excède 80 ms, la PV de
de 80 ms
temporisateur est mise à jour toutes les 80 ms.
Temporisateurs créés avec des numéros de temporisateur de 2048 à 4095
Exécution de TIM
La PV est mise à jour chaque fois que TIM est exécutée.
Le drapeau de fin est mis sur ON si la PV est 0000.
Le drapeau de fin est mis sur OFF si la PV n’est pas
0000.
Les temporisateurs sont réinitialisés (PV = SV, drapeau de fin OFF) suite à
des interruptions d'alimentation sauf si le bit de maintien IOM (A50012) est
ON et que le bit est protégé dans la configuration de l'API. Il est également
possible d'utiliser un bit d'impulsion horloge et une instruction de compteur
pour programmer un temporisateur qui maintient sa PV en cas d'interruption
d'alimentation, comme l'indique le schéma ci-dessous.
Condition
d'exécution
Bit impulsion
horloge 1 s
Entrée de
comptage
Entrée Reset
Exemple
Si l'entrée de temporisateur CIO 000000 passe de OFF à ON dans l'exemple
suivant, la PV de temporisateur commence à décrémenter à partir de la SV.
Le drapeau de fin de temporisation T0000 se met sur ON lorsque la PV atteint
0000.
239
Chapitre 3-6
Instructions de temporisateur et compteur
Si CIO 000000 se met sur OFF, la PV de temporisateur est réinitialisée à la
SV et le drapeau de fin se met sur OFF.
Entrée de temporisateur
CIO 000000
PV de temporisateur
T0000
Temporisateur
Drapeau
de fin
T0000
3-6-2
HIGH-SPEED TIMER : TIMH(015)/TIMHX(551)
Objet
TIMH(015)/TIMHX(551) effectue une temporisation décroissante par pas de
10 ms. La plage de configuration pour la valeur de consigne (SV) va de 0 à
99,99 s pour TIMH(015) et de 0 à 655,35 s pour TIMHX(551). La précision du
temporisateur est comprise entre 0 et 0,01 s.
Remarque La précision du temporisateur pour les UC CS1D est de 10 ms + temps de
cycle.
Symbole du schéma
contact
Méthode
de mise à
jour PV
BCD
Symbole
Opérandes
N: 0000 à 4095 (décimal)
S: #0000 à #9999 (BCD)
TIMH(015)
N
N: Numéro de
temporisateur
S
S: Valeur de consigne
Binaire
N: 00000 à 4095 (décimal)
S: &0 à &65535 (décimal)
#0000 à #FFFF (hex)
TIMHX(551)
N
N: Numéro de
temporisateur
S
S: Valeur de consigne
Variations
Variations
Exécutée à chaque cycle pour la condition ON TIMH(015)/
TIMHX(551)
Exécutée une fois pour la différentiation sur Non prise en
front montant
charge.
Exécutée une fois pour la différentiation sur Non prise en
front descendant
charge.
Spécification de rafraîchissement immédiat
Non prise en
charge.
Zones de programmes
applicables
240
Zones de
programmes de bloc
Non autorisé
Zones de
programmes de pas
OK
SousTâches
programmes
d'interruption
OK
Non autorisé
Chapitre 3-6
Instructions de temporisateur et compteur
Opérandes
N: Numéro de temporisateur
Le numéro de temporisateur doit être compris entre 0000 et 4095 (décimal).
S: valeur de consigne
La valeur de consigne doit être comprise entre #0000 et 9999 en mode BCD.
Spécifications de
l’opérande
Description
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
N
--------0000 à 4095 (décimal)
---------
S
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
BCD :
#0000 à 9999 (BCD)
“&” ne peut être utilisé.
Binaire :
&0 à &65535 (décimal)
#0000 à #FFFF (hex)
DR0 à DR15
---
Adresses DM/EM
indirectes en binaire
---
Adresses DM/EM
indirectes en BCD
---
Constantes
---
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
Si l'entrée de temporisateur est OFF, le temporisateur spécifié par N est réinitialisé, c.-à-d. que la PV de temporisateur est réinitialisée à la SV et son drapeau de fin est mis sur OFF.
Si l'entrée de temporisateur passe de OFF à ON, TIMH(015)/TIMHX(551)
commence à décrémenter la PV. La PV poursuit la temporisation décroissante aussi longtemps que l'entrée de temporisateur reste sur ON et le drapeau de fin de temporisation se met sur ON lorsque la PV atteint 0000.
L'état de la PV de temporisateur et du drapeau de fin est maintenu à l'expiration de la temporisation. Pour relancer le temporisateur, l'entrée de temporisateur doit être mise sur OFF et à nouveau sur ON, ou la PV de temporisateur
doit être changée en une valeur non nulle (par MOV(021), par exemple).
Entrée de
temporisateur
PV de
temporisateur
SV
Drapeau de
fin
241
Chapitre 3-6
Instructions de temporisateur et compteur
Le schéma séquentiel ci-dessous indique le comportement de la PV de temporisateur et du drapeau de fin lorsque l'entrée de temporisateur est mise sur
OFF avant l'expiration de la temporisation.
Entrée de
temporisateur
PV de
temporisateur
SV
Drapeau de
fin
Drapeaux
Nom
Etiquette
Fonctionnement
Drapeau d'erreur ER
ON si N est adressé indirectement via un registre
d'index mais l'adresse dans le registre d'index ne correspond pas à l'adresse PV d'un temporisateur.
ON si en mode BCD et S ne contient pas de données
BCD.
OFF dans tous les autres cas.
Drapeau d'égalité =
OFF ou inchangé (voir remarque.)
Drapeau négatif N
OFF ou inchangé (voir remarque.)
Remarque Dans les UC CS1 et CJ1, ils sont sur OFF.
Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, ces drapeaux restent inchangés.
Précautions
Les numéros de temporisateur sont partagés par les instructions TIM,
TIMX(550), TIMH(015), TIMHX(551), TMHH(540), TIMHHX(552), TTIM(087),
TTIMX(555), TIMW(813), TIMWX(816), TMHW(815) et TIMHWX(817). Si
deux temporisateurs partagent le même numéro de temporisateur mais ne
sont pas utilisés simultanément, une erreur de duplication est générée à la
vérification du programme mais les temporisateurs fonctionnent normalement. Les temporisateurs qui partagent le même numéro de temporisateur
n'opèrent pas correctement s'ils sont utilisés simultanément.
Les temporisateurs créés avec des numéros de temporisateur de 2048 à
4095 n'opèrent pas correctement si le temps de cycle de l'UC excède 80 ms.
Utilisez des numéros de temporisateur de 0000 à 2047 lorsque le temps de
cycle est supérieur à 80 ms.
Les temporisateurs TIMH(015)/TIMHX(551) créés avec des numéros de temporisateur de 0000 à 0255 sont mis à jour toutes les 10 ms. Utilisez ces
numéros de temporisateur lorsque la PV sert de référence dans le programme utilisateur.
La PV des temporisateurs programmés avec des numéros de temporisateur
de 0000 à 2047 est mise à jour même si le temporisateur est en attente. La
PV des temporisateurs programmés avec des numéros de temporisateur de
2048 à 4095 est maintenue si le temporisateur est en attente.
Le fonctionnement du drapeau d'égalité et du drapeau négatif dépend du
modèle d'UC. Consultez la sectionDrapeaux ci-dessus pour plus de détails.
Les drapeaux de fin pour TIMH(015)/TIMHX(551) sont mis à jour à l'exécution
de l'instruction. (Ce fonctionnement diffère de celui pour les API série CV et
CVM1.)
Les temporisateurs sont réinitialisés ou mis en pause dans les cas suivants.
(Lorsqu'un temporisateur est réinitialisé, sa PV est réinitialisée à la SV et son
drapeau de fin est mis sur OFF.)
Condition
PV
Le mode de fonctionnement passe de RUN 0000
ou MONITOR à PROGRAM, ou vice versa.1
Interruption de l'alimentation et
0000
réinitialisation2
242
Drapeau de fin
OFF
OFF
Instructions de temporisateur et compteur
Condition
Exécution de CNR(545)/CNRX(547),
instructions RESET TIMER/COUNTER 3
Fonctionnement dans une section de
programme verrouillée
(IL(002)-ILC(003))
Fonctionnement dans une section de
programme sautée
(JMP(004)-JME(005))
Remarque
Chapitre 3-6
PV
Drapeau de fin
BCD : 9999 OFF
Binaire :
FFFF
Réinitialisé à OFF
SV.
La PV
Maintient l'état
continue à
précédent.
décrémenter.
1. Si le bit de maintien IOM (A50012) est mis sur ON, l'état des drapeaux de
fin et des PV de temporisateur est maintenu lorsque le mode de fonctionnement est modifié.
2. Si le bit de maintien IOM (A50012) est mis sur ON et que l'état du bit de
maintien IOM proprement dit est protégé dans la configuration de l'API,
l'état des drapeaux de fin et des PV de temporisateur est maintenu même
en cas d'interruption de l'alimentation.
3. La PV est réglée à SV lorsque TIMH(015)/TIMHX(551) est exécutée.
Si un temporisateur opérationnel TIMH(015)/TIMHX(551) créé avec un
numéro de temporisateur compris entre 0000 et 2047 est dans une section de
programme sautée (JMP(004), CJMP(510), CJPN(511), JME(005)), la PV de
temporisateur poursuit la temporisation. (voir remarque.) (L'instruction
TIMH(015)/TIMHX(551) sautée n'est pas exécutée mais la PV est mise à jour
toutes les 10 ms et à chaque cycle après exécution de toutes les tâches.)
Remarque Dans le cas des UC CS1D, la PV ne sera pas mise à jour dans l'exemple cidessus.
Si TIMH(015)/TIMHX(551) est dans une section de programme comprise
entre IL(002) et ILC(003) et que la section de programme est verrouillée, la
PV est réinitialisée à la SV et le drapeau de fin est mis sur OFF.
Si un temporisateur TIMH(015)/TIMHX(551) est initialisé de force, son drapeau de fin est mis sur ON et sa PV sera réglée à 0000. Si un temporisateur
TIMH(015)/TIMHX(551) est réinitialisé de force, son drapeau de fin est mis
sur OFF et sa PV est réinitialisée à la SV.
Le fonctionnement du drapeau d'égalité et du drapeau négatif dépend du
modèle d'UC. Consultez la sectionDrapeaux pour plus de détails.
Le drapeau de fin de temporisation n'est mis à jour que lorsque TIMH(015)/
TIMHX(551) est exécutée, de sorte qu'un délai d'un cycle maximum peut être
requis pour que le drapeau de fin se mette sur ON à l'expiration de la temporisation.
Si l'édition en ligne est utilisée pour convertir un temporisateur en un autre
type de temporisateur avec le même numéro de temporisateur (tel que
TIMH(015)/TIMHX(551) ↔ TIM/TIMX(550) ou TIMH(015)/TIMHX(551) ↔
TMHH(540)/TMHHX(552)), n'oubliez pas de réinitiliser le drapeau de fin. Le
temporisateur ne fonctionnera pas correctement sauf si le drapeau de fin est
réinitialisé.
La PV et le drapeau de fin d'une instruction TIMH(015)/TIMHX(551) peuvent
être mis à jour des différentes façons suivantes en fonction du numéro de
temporisateur utilisé.
Temporisateurs créés avec des numéros de temporisateur de 0000 à 0255
Exécution de
Le drapeau de fin est mis sur ON si la PV est 0000.
TIMH(015)/
Le drapeau de fin est mis sur OFF si la PV n’est pas 0000.
TIMHX(551)
Mise à jour par
La PV de temporisateur est mise à jour toutes les 10 ms.
intervalle de 10 ms
243
Chapitre 3-6
Instructions de temporisateur et compteur
Temporisateurs créés avec des numéros de temporisateur de 0256 à 2047
Exécution de
TIMH(015)/
TIMHX(551)
La PV est mise à jour chaque fois que TIMH(015)/TIMHX(551)
est exécutée.
Le drapeau de fin est mis sur ON si la PV est 0000.
Le drapeau de fin est mis sur OFF si la PV n’est pas 0000.
La PV est également mise à jour à chaque cycle à la fin de
l'exécution du programme.
Après exécution
de toutes les
tâches
Mise à jour par
Si le temps de cycle excède 80 ms, la PV de temporisateur est
intervalle de 80 ms mise à jour toutes les 80 ms.
Temporisateurs créés avec des numéros de temporisateur de 2048 à 4095
Exécution de
TIMH(015)/
TIMHX(551)
Exemple
La PV est mise à jour chaque fois que TIMH(015) est exécutée.
Le drapeau de fin est mis sur ON si la PV est 0000.
Le drapeau de fin est mis sur OFF si la PV n’est pas 0000.
Si l'entrée de temporisateur CIO 000000 passe de OFF à ON dans l'exemple
suivant, la PV de temporisateur commence à décrémenter à partir de la SV
(#0064 = 100 = 1.00 s). Le drapeau de fin de temporisation T0000 se met sur
ON lorsque la PV atteint 0000.
Si CIO 000000 se met sur OFF, la PV de temporisateur est réinitialisée à la
SV et le drapeau de fin se met sur OFF.
Entrée de
temporisateur
CIO 000000
PV de
temporisateur #0100
(1,00 s)
T0000
Drapeau de fin de
temporisation
T0000
3-6-3
ONE-MS TIMER : TMHH(540)/TMHHX(552)
Objet
TMHH(540)/TMHHX(552) effectue une temporisation décroissante par pas de
1 ms. La plage de configuration pour la valeur de consigne (SV) va de 0 à
9,999 s pour TMHH(540) et de 0 à 65,535 s pour TMHHX(552). La précision
du temporisateur est comprise entre -0,001 et 0 s.
Remarque La précision du temporisateur pour les UC CS1D est de 10 ms + temps de
cycle.
Symbole du schéma
contact
Méthode
de rafraîchissement PV
BCD
Symbole
N: 0000 à 15 (décimal)
S: #0000 à #9999 (BCD)
TMHH(540)
N
S
N: Numéro de
temporisateur
S: Valeur de consigne
Binaire
TMHHX(552)
N
S
244
Opérandes
N: Numéro de
temporisateur
S: Valeur de consigne
N: 00000 à 15 (décimal)
S: &0 à &65535 (décimal)
#0000 à #FFFF (hex)
Chapitre 3-6
Instructions de temporisateur et compteur
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
Non autorisé
Zones de
programmes de pas
OK
TMHH(540)/
TMHHX(552)
Non prise en
charge.
Non prise en
charge.
Non prise en
charge.
SousTâches
programmes
d'interruption
OK
Non autorisé
N: Numéro de temporisateur
Le numéro de temporisateur doit être compris entre 0000 et 0015 (décimal).
S: Valeur de consigne
La valeur de consigne doit être comprise entre #0000 et 9999 (BCD).
Spécifications de
l’opérande
Description
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
N
--------0000 à 0015 (décimal)
---------
S
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
BCD :
#0000 à 9999 (BCD)
“&” ne peut être utilisé.
Binaire :
&0 à &65535 (décimal)
#0000 à #FFFF (hex)
DR0 à DR15
---
Adresses DM/EM indirectes en binaire
---
Adresses DM/EM indirectes en BCD
---
Constantes
---
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
Si l'entrée de temporisateur est OFF, le temporisateur spécifié par N est réinitialisé, c.-à-d. que la PV de temporisateur est réinitialisée à la SV et son drapeau de fin est mis sur OFF.
Si l'entrée de temporisateur passe de OFF à ON, TMHH(540)/TMHHX(552)
commence à décrémenter la PV. La PV poursuit la temporisation décrois-
245
Chapitre 3-6
Instructions de temporisateur et compteur
sante aussi longtemps que l'entrée de temporisateur reste sur ON et le drapeau de fin de temporisation se met sur ON lorsque la PV atteint 0000.
L'état de la PV de temporisateur et du drapeau de fin est maintenu à l'expiration de la temporisation. Pour redémarrer le temporisateur, l'entrée de temporisateur doit être mise sur OFF et à nouveau sur ON, ou la PV de
temporisateur doit être changée en une valeur non nulle (par MOV(021), par
exemple).
Drapeaux
Nom
Drapeau d'erreur
Etiquette
Fonctionnement
ER
ON si N est adressé indirectement via un registre
d'index mais l'adresse dans le registre d'index ne
correspond pas à l'adresse PV d'un temporisateur.
ON si en mode BCD et S ne contient pas de données
BCD.
OFF dans tous les autres cas.
Drapeau d'égalité =
OFF ou inchangé (voir remarque.)
Drapeau négatif
N
OFF ou inchangé (voir remarque.)
Remarque Dans les UC CS1 et CJ1, ils sont sur OFF.
Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, ces drapeaux restent inchangés.
Précautions
Les numéros de temporisateur sont partagés par les instructions TIM,
TIMX(550), TIMH(015), TIMHX(551), TMHH(540), TIMHHX(552), TTIM(087),
TTIMX(555), TIMW(813), TIMWX(816), TMHW(815) et TIMHWX(817). Si
deux temporisateurs partagent le même numéro de temporisateur mais ne
sont pas utilisés simultanément, une erreur de duplication est générée à la
vérification du programme mais les temporisateurs fonctionnent normalement. Les temporisateurs qui partagent le même numéro de temporisateur ne
fonctionnent pas correctement s'ils sont utilisés simultanément.
Le drapeau de fin n'est mis à jour que si TMHH(540)/TMHHX(552) est exécutée. Le drapeau de fin peut donc être différé de la durée d'un cycle maximum
à partir de la valeur de consigne actuelle.
La PV des temporisateurs programmés avec des numéros de temporisateur
de 0000 à 2047 est mise à jour même si le temporisateur est en attente. La
PV des temporisateurs programmés avec des numéros de temporisateur de
2048 à 4095 est maintenue si le temporisateur est en attente.
Les temporisateurs sont réinitialisés ou mis en pause dans les cas suivants.
(Lorsqu'un temporisateur est réinitialisé, sa PV est réinitialisée à la SV et son
drapeau de fin est mis sur OFF.)
Condition
Le mode de fonctionnement passe de RUN
ou MONITOR à PROGRAM, ou vice versa.1
Interruption de l'alimentation et
réinitialisation2
Exécution de CNR(545)/CNRX(547),
instructions RESET TIMER/COUNTER 3
Fonctionnement dans une section de
programme verrouillée
(IL(002)-ILC(003))
Fonctionnement dans une section de
programme sautée
(JMP(004)-JME(005))
Remarque
246
PV
0000
Drapeau de fin
OFF
0000
OFF
BCD : 9999 OFF
Binaire :
FFFF
Réinitialisé à OFF
SV.
La PV conti- Maintient l'état
nue à décré- précédent.
menter.
1. Si le bit de maintien IOM (A50012) est mis sur ON, l'état des drapeaux de
fin et des PV de temporisateur est maintenu lorsque le mode de fonctionnement est modifié.
2. Si le bit de maintien IOM (A50012) est mis sur ON et que l'état du bit de
maintien IOM proprement dit est protégé dans la configuration de l'API,
l'état des drapeaux de fin et des PV de temporisateur est maintenu même
en cas d'interruption de l'alimentation.
Chapitre 3-6
Instructions de temporisateur et compteur
3. La PV est réglée à la SV lorsque TMHH(540)/TMHHX(552) est exécutée.
Si un temporisateur opérationnel TMHH(540)/TMHHX(552) est dans une section de programme sautée (JMP(004), CJMP(510), CJPN(511), JME(005)), la
PV de temporisateur poursuit la temporisation. (voir remarque.) (L'instruction
TMHH(540)/TMHHX(552) sautée n'est pas exécutée mais la PV est mise à
jour toutes les 1 ms.)
Remarque Dans le cas des UC CS1D, la PV ne sera pas mise à jour dans l'exemple cidessus.
Si TMHH(540)/TMHHX(552) est dans une section de programme comprise
entre IL(002) et ILC(003) et que la section de programme est verrouillée, la
PV est réinitialisée à la SV et le drapeau de fin est mis sur OFF.
Si un temporisateur TMHH(540)/TMHHX(552) est initialisé de force, son drapeau de fin est mis sur ON et sa PV sera réglée à 0000. Si un temporisateur
TMHH(540)/TMHHX(552) est réinitialisé de force, son drapeau de fin est mis
sur OFF et sa PV est réinitialisée à la SV.
Le fonctionnement du drapeau d'égalité et du drapeau négatif dépend du
modèle d'UC. Consultez la sectionDrapeaux ci-dessus pour plus de détails.
Si l'édition en ligne est utilisée pour convertir un temporisateur en un autre
type de temporisateur avec le même numéro de temporisateur (tel que
TMHH(540)/TMHHX(552) ↔ TIM/TIMX(550) ou TMHH(540)/TMHHX(552) ↔
TIMH(015)/TIMHX(551)), n'oubliez pas de réinitiliser le drapeau de fin. Le
temporisateur ne fonctionnera pas correctement aussi longtemps que le drapeau de fin n'est pas réinitialisé.
L'état de la PV de temporisateur et le drapeau de fin d'une instruction
TMHH(540)/TMHHX(552) sont mis à jour comme l'indique le tableau ci-dessous.
Le drapeau de fin est mis sur ON si la PV est 0000.
Exécution de
Le drapeau de fin est mis sur OFF si la PV n’est pas 0000.
TMHH(540)/
TMHHX(552)
Mise à jour par intervalle La PV de temporisateur est mise à jour toutes les 1 ms.
de 1 ms
3-6-4
ACCUMULATIVE TIMER : TTIM(087)/TTIMX(555)
Objet
TTIM(087)/TTIMX(555) effectue une temporisation croissante par pas de 0,1
s. La plage de configuration pour la valeur de consigne (SV) va de 0 à 999,9 s
pour TTIM(087) et de 0 à 6 553,5 s pour TTIMX(555). La précision du temporisateur est comprise entre -0,01 et 0 s.
Remarque La précision du temporisateur pour les UC CS1D est de 10 ms + temps de
cycle.
Symbole du schéma
contact
Méthode
de mise à
jour PV
BCD
Symbole
Entrée de
temporisateur
TTIM(087)
N
Entrée de
réinitialisation
Binaire
Entrée de
temporisateur
S
TTIMX(555)
N
S
Entrée de
réinitialisation
Opérandes
N: Numéro de
temporisateur
S: Valeur de consigne
N: 0000 à 15
(décimal)
S: #0000 à #9999
(BCD)
N: 00000 à 15
(décimal)
S:
&0 à &65535
N: Numéro de
(décimal)
temporisateur
#0000 à #FFFF
S: Valeur de consigne
(hex)
247
Chapitre 3-6
Instructions de temporisateur et compteur
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
Non autorisé
Zones de
programmes de pas
OK
TTIM(087)/
TTIMX(555)
Non prise en charge.
Non prise en charge.
Non prise en charge.
SousTâches
programmes
d'interruption
OK
Non autorisé
N: Numéro de temporisateur
Le numéro de temporisateur doit être compris entre 0000 et 4095 (décimal).
S: Valeur de consigne
La valeur de consigne doit être comprise entre #0000 et 9999 (BCD).
Spécifications de
l’opérande
Description
248
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
N
--------0000 à 4095 (décimal)
---------
S
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
BCD :
#0000 à 9999 (BCD)
“&” ne peut être utilisé.
Binaire :
&0 à &65535 (décimal)
#0000 à #FFFF (hex)
DR0 à DR15
---
Adresses DM/EM indirectes en binaire
---
Adresses DM/EM indirectes en BCD
---
Constantes
---
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
Si l'entrée de temporisateur est ON, TTIM(087)/TTIMX(555) incrémente la
PV. Lorsque l'entrée de temporisateur passe à OFF, le temporisateur arrête
d'incrémenter la PV, mais celle-ci maintient sa valeur. La PV reprend la temporisation lorsque l'entrée de temporisateur passe à nouveau à ON. Le drapeau de fin de temporisation se met sur ON lorsque la PV atteint la SV.
Chapitre 3-6
Instructions de temporisateur et compteur
L'état de la PV de temporisateur et du drapeau de fin est maintenu à l'expiration de la temporisation. Il existe trois méthodes pour relancer le temporisateur : la PV de temporisateur peut être changée en une valeur non nulle (par
MOV(021), par exemple), l'entrée de réinitialisation peut être mise sur ON, ou
CNR(545)/CNRX(547) peut être exécutée.
Entrée de
temporisateur
PV de
temporisateur
SV
Reprise de la
temporisation
PV conservée.
Drapeau de
fin
Entrée de
réinitialisation
Drapeaux
Nom
Drapeau
d'erreur
Précautions
Etiquette
Fonctionnement
ER
ON si N est adressé indirectement via un registre d'index
mais l'adresse dans le registre d'index ne
correspond pas à l'adresse PV d'un temporisateur.
ON si en mode BCD et S ne contient pas de données BCD.
OFF dans tous les autres cas.
Les numéros de temporisateur sont partagés par les instructions TIM,
TIMX(550), TIMH(015), TIMHX(551), TMHH(540), TIMHHX(552), TTIM(087),
TTIMX(555), TIMW(813), TIMWX(816), TMHW(815) et TIMHWX(817). Si
deux temporisateurs partagent le même numéro de temporisateur mais ne
sont pas utilisés simultanément, une erreur de duplication est générée à la
vérification du programme mais les temporisateurs fonctionnent normalement. Les temporisateurs qui partagent le même numéro de temporisateur ne
fonctionnent pas correctement s'ils sont utilisés simultanément.
Les temporisateurs sont réinitialisés ou mis en pause dans les cas suivants.
(Lorsqu'un temporisateur TTIM(087)/TTIMX(555) est réinitialisé, sa PV est
réinitialisée à 0000 et son drapeau de fin est mis sur OFF.)
Condition
Le mode de fonctionnement passe de
RUN ou MONITOR à PROGRAM, ou
vice versa.1
Interruption de l'alimentation et
réinitialisation2
Exécution de CNR(545)/CNRX(547),
instructions RESET TIMER/COUNTER 3
Fonctionnement dans une section de
programme verrouillée
(IL(002)-ILC(003))
Fonctionnement dans une section de
programme sautée
(JMP(004)-JME(005))
Remarque
PV
Drapeau de fin
0000
OFF
0000
OFF
BCD : 9999
Binaire :
FFFF
Maintient
l'état
précédent.
Maintient
l'état
précédent.
OFF
Maintient l'état précédent.
Maintient l'état précédent.
1. Si le bit de maintien IOM (A50012) est mis sur ON, l'état des drapeaux de
fin et des PV de temporisateur est maintenu lorsque le mode de fonctionnement est modifié.
2. Si le bit de maintien IOM (A50012) est mis sur ON et que l'état du bit de
maintien IOM proprement dit est protégé dans la configuration de l'API,
l'état des drapeaux de fin et des PV de temporisateur est maintenu même
en cas d'interruption de l'alimentation.
3. La PV est réglée à la SV lorsque TTIM(087)/TTIMX(555) est exécutée.
249
Chapitre 3-6
Instructions de temporisateur et compteur
Si TTIM(087)/TTIMX(555) est dans une section de programme comprise
entre IL(002) et ILC(003) et que la section de programme est verrouillée, la
PV conserve sa valeur précédente (n'est pas réinitialisée). N'oubliez pas d'en
tenir compte lorsque TTIM(087)/TTIMX(555) est programmée entre IL(002) et
ILC(003).
Si un temporisateur opérationnel TTIM(087)/TTIMX(555) est dans une section de programme entre JMP(004) et JME(005) et que la section de programme est sautée, la PV conserve sa valeur précédente. N'oubliez pas d'en
tenir compte lorsque TTIM(087)/TTIMX(555) est programmée entre JMP(004)
et JME(005).
Si un temporisateur TTIM(087)/TTIMX(555) est initialisé de force, son drapeau de fin est mis sur ON et sa PV sera réglée à 0000. Si un temporisateur
TTIM(087)/TTIMX(555) est réinitialisé de force, son drapeau de fin est mis sur
OFF et sa PV est réinitialisée à 0000. Les opérations d’initialisation forcée et
de réinitialisation forcée ont la priorité sur l'état des entrées de temporisation
et de réinitialisation.
La PV de temporisateur n'est mise à jour que lorsque TTIM(087)/TTIMX(555)
est exécutée, de sorte que le temporisateur ne fonctionne pas correctement si
le temps de cycle excède 100 ms car le temporisateur incrémente par pas de
100 ms.
Le drapeau de fin de temporisation n'est mis à jour que lorsque TTIM(087)/
TTIMX(555) est exécutée, de sorte qu'un délai d'un cycle maximum peut être
requis pour que le drapeau de fin se mette sur ON à l'expiration de la temporisation.
Les temporisateurs types tels que TIM/TIMX(550) décrémentent les compteurs et la PV indique le temps restant jusqu'à l'expiration de la temporisation.
La PV de TTIM(087)/TTIMX(555) indique le temps qui s'est écoulé, de sorte
que la PV peut être utilisée telle quelle dans de nombreux calculs et résultats
d'affichage.
Si l'entrée de temporisateur CIO 000000 est ON dans l'exemple suivant, la PV
de temporisateur commence à incrémenter à partir de 0. Le drapeau de fin de
temporisation T0001 est mis sur ON lorsque la PV atteint la SV.
Si l'entrée de réinitialisation est mise sur ON, la PV de temporisateur est réinitialisée à 0000 et le drapeau de fin (T0001) se met sur OFF. (En général,
l'entrée de réinitialisation est mise sur ON pour réinitialiser le temporisateur et
l'entrée de temporisateur est ensuite mise sur ON pour lancer la temporisation.)
Si l'entrée de temporisateur est mise sur OFF avant que la SV ne soit atteinte,
la temporisation s'arrête mais la PV est maintenue. La temporisation reprend
à partir de la PV précédente lorsque l'entrée de temporisateur passe à nouveau à ON.
Exemple
Entrée de
temporisateur
CIO 000000
PV de
temporisateur
T0001
Fin de
temporisation
Drapeau
T0001
Entrée de
réinitialisation
CIO 000001
250
#
#
Reprise de la .
temporisation
PV conservée.
Chapitre 3-6
Instructions de temporisateur et compteur
3-6-5
LONG TIMER : TIML(542)/TIMLX(553)
Objet
TIML(542)/TIMLX(553) effectue une temporisation décroissante par pas de
1 s qui peut aller jusqu'à 115 jours pour TIML(542) et 49 710 jours pour
TIMLX(543). La précision du temporisateur est comprise entre 0 et 0,01 s.
Remarque La précision du temporisateur pour les UC CS1D est de 10 ms + temps de
cycle.
Symbole du schéma
contact
BCD
TIML(542)
D1
D1: Drapeau de fin
D2
D2: Mot PV
S: Mot SV
S
Binaire
TIMLX(543)
D1
D1: Drapeau de fin
D2
D2: Mot PV
S: Mot SV
S
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
Non autorisé
Zones de
programmes de pas
OK
TIML(542)/
TIMLX(553)
Non prise en charge.
Non prise en charge.
Non prise en charge.
SousTâches
programmes
d'interruption
OK
Non autorisé
D1 : Drapeau de fin
Le bit 0 de D1 agit comme le drapeau de fin pour TIML(542)/TIMLX(553).
15
0
D1
Ne pas utiliser.
Drapeau de fin
D2 : Mot PV
D2+1 et D2 contiennent la PV BCD ou binaire à 8 chiffres. (D2 et D2+1 doivent être dans la même zone de données.) La PV peut aller de #00000000 à
#99999999 pour TIML(542) et de &00000000 à &4294967294 (décimal) ou
de #00000000 à #FFFFFFFF (hexadécimal) pour TIMLX(553).
D2
D2+1
D2
S : Mot SV
S+1 et S contiennent la PV BCD ou binaire à 8 chiffres. (S et S+1 doivent être
dans la même zone de données.) La SV peut aller de #00000000 à
#99999999 pour TIML(542) et de &00000000 à &4294967294 (décimal) ou
de #00000000 à #FFFFFFFF (hexadécimal) pour TIMLX(553).
251
Chapitre 3-6
Instructions de temporisateur et compteur
S
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en binaire
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S+1
S
D1
D2
S
CIO 0000 à
CIO 0000 à CIO 6142
CIO 6143
W000 à W511
W000 à W510
H000 à H511
H000 à H510
A448 à A959
A448 à A958
A000 à A958
----T0000 à T4094
----C0000 à C4094
D00000 à D32767 D00000 à D32766
E00000 à E32767 E00000 à E32766
En_00000 à
En_00000 à En_32766
En_32767
(n = 0 à C)
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--BCD :
#00000000 à
99999999 (BCD)
“&” ne peut pas
être utilisé.
Binaire :
&00000000 à
&4294967294
(décimal) ou
#00000000 à
#FFFFFFFF (hex)
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
TIML(542)/TIMLX(553) effectue une temporisation décroissante retard ON
par pas de 0,1 s au moyen d'une SV à 8 chiffres et d'une PV à 8 chiffres.
Si l'entrée de temporisateur est OFF, le temporisateur est réinitialisé, c.-à-d.
que la PV de temporisateur est réinitialisée à la SV et son drapeau de fin est
mis sur OFF.
Si l'entrée de temporisateur passe de OFF à ON, TIML(542)/TIMLX(553)
commence à décrémenter la PV dans D2+1 et D2. La PV poursuit la temporisation décroissante aussi longtemps que l'entrée de temporisateur reste sur
ON et le drapeau de fin de temporisation se met sur ON lorsque la PV atteint
0000 0000.
L'état de la PV de temporisateur et du drapeau de fin est maintenu à l'expiration de la temporisation. Pour relancer le temporisateur, l'entrée de temporisateur doit être mise sur OFF et à nouveau sur ON, ou la PV de temporisateur
doit être changée en une valeur non nulle (par MOV(021), par exemple).
252
Chapitre 3-6
Instructions de temporisateur et compteur
Entrée de
temporisateur
PV de
temporisateur
SV
Drapeau de fin
(Bit 00 de D1)
Drapeaux
Nom
Drapeau
d'erreur
Précautions
Etiquette
Fonctionnement
ER
ON si la PV contenue dans D2+1 et D2 n'est pas de
type BCD.
ON si la SV contenue dans S+1 et S n'est pas de type
BCD.
OFF dans tous les autres cas.
A la différence de la plupart des temporisateurs, TIML(542)/TIMLX(553) n'utilise pas de numéro de temporisateur. (La mise à jour de la PV dans la zone
de temporisation n'est pas réalisée pour TIML(542)/TIMLX(553).)
Etant donné que le drapeau de fin pour TIML(542)/TIMLX(553) est dans une
zone de données, il peut être forcé à 1 ou à 0 comme d'autres bits, mais la PV
reste inchangée.
La PV de temporisateur n'est mise à jour que lorsque TIML(542)/TIMLX(553)
est exécutée, de sorte que le temporisateur ne fonctionne pas correctement si
le temps de cycle excède 100 ms car le temporisateur incrémente par pas de
100 ms.
Le drapeau de fin de temporisation n'est mis à jour que lorsque TIML(542)/
TIMLX(553) est exécutée, de sorte qu'un délai d'un cycle maximum peut être
requis pour que le drapeau de fin se mette sur ON à l'expiration de la temporisation.
Si TIML(542)/TIMLX(553) est dans une section de programme comprise entre
IL(002) et ILC(003) et que la section de programme est verrouillée, la PV est
réinitialisée à la SV et le drapeau de fin est mis sur OFF.
Si un temporisateur opérationnel TIML(542)/TIMLX(553) est dans une section
de programme entre JMP(004) et JME(005) et que la section de programme
est sautée, la PV conserve sa valeur précédente. N'oubliez pas d'en tenir
compte lorsque TIML(542)/TIMLX(553) est programmée entre JMP(004) et
JME(005).
Veillez à ce que les mots spécifiés pour le drapeau de fin et la PV (D1, D2 et
D2+1) ne soient pas utilisés dans d'autres instructions. Si ces mots sont affectés par d'autres instructions, le temporisateur risque de ne pas fonctionner
correctement.
Exemple
Si l'entrée de temporisateur CIO 000000 est ON dans l'exemple suivant, la PV
de temporisateur (dans D00101 et D00100) est réglée à la SV (dans D00101
et D00100) et la PV commence la décrémentation. Le drapeau de fin de temporisation (CIO 020000) se met sur ON lorsque la PV atteint 0000 0000.
Si CIO 000000 se met sur OFF, la PV de temporisateur est réinitialisée à la
SV et le drapeau de fin se met sur OFF.
253
Chapitre 3-6
Instructions de temporisateur et compteur
Entrée de
temporisateur
CIO 000000
PV de temporisateur
(D00101 et D00100)
SV de temporisateur
(D00201 et D00200)
Drapeau de fin de
temporisation
(CIO 020000)
D1: 00200
Drapeau de fin de
temporisation
(CIO 020000)
PV de temporisateur (LSB)
PV de temporisateur (MSB)
D2: D00100
D00101
C
S: D00200
3-6-6
0
0
1
D00201
0
SV de temporisateur :
(100 000 décimal= 10 000 s)
MULTI-OUTPUT TIMER : MTIM(543)/MTIMX(554)
Objet
MTIM(543)/MTIMX(554) prend en charge une temporisation basée sur des
incréments de 0,1 s avec huit valeurs de consigne (SV) et drapeaux de fin
indépendants. La valeur de consigne est comprise entre 0 et 999,9 s pour
MTIM(543) et entre 0 et 6 553,5 s pour MTIMX(554), et la précision du temporisateur est de 0 à 0,01 s.
Remarque La précision du temporisateur pour les UC CS1D est de 10 ms + temps de
cycle.
Symbole du schéma
BCD
contact
MTIM(543)
D1
D1: Drapeaux de fin
D2
D2: Mot PV
S
S: Premier mot SV
Binaire
MTIMX(554)
D1
D1: Drapeaux de fin
D2
D2: Mot PV
S
S: Premier mot SV
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
254
MTIM(543)/
MTIMX(554)
Non prise en charge.
Non prise en charge.
Non prise en charge.
Chapitre 3-6
Instructions de temporisateur et compteur
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
Non autorisé
Zones de
programmes de pas
OK
SousTâches
programmes
d'interruption
OK
Non autorisé
D1: Drapeaux de fin
D1 contient les huit drapeauxb de fin ainsi que les bits de pause et de réinitialisation.
15
9 8 7 6 5 4 3 2 1 0
D1
Ne pas
utiliser.
Drapeaux de fin
Bit de réinitialisation
Bit de pause
D2: Mot PV
D2 contient la PV BCD ou binaire à 4 chiffres.
Données
BCD
Binaire
Plage
#0000 à #9999
&0 à &65535 (décimal)
#0000 à #FFFF (hex)
S: Premier mot SV
S à S+7 contiennent les huit SV indépendantes.
Chaque SV doit être comme suit :
Données
BCD
Binaire
Plage
#0000 à #9999
&0 à &65535 (décimal)
#0000 à #FFFF (hex)
Bit correspondant
(drapeau de fin) dans D1
Données
BCD
Binaire
Plage
Un mot pour chacun des 8 SV de temporisateur :
#0000 à #9999
Un mot pour chacun des 8 SV de temporisateur :
&0 à &65535 (décimal)
#0000 à #FFFF (hex)
Remarque S à S+7 doivent être dans la même zone de données.
Spécifications de
l’opérande
Zone
Zone CIO
D1
CIO 0000 à CIO 6143
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D2
S
CIO 0000 à
CIO 6136
W000 à W504
H000 à H504
A000 à A952
T0000 à T4088
C0000 à C4088
255
Chapitre 3-6
Instructions de temporisateur et compteur
Zone DM
Zone
D1
D00000 à D32767
Zone EM sans banque
E00000 à E32767
Zone EM avec banque
En_00000 à En_32767
(n = 0 à C)
D2
S
D00000 à
D32760
E00000 à
E32760
En_00000 à
En_32760
(n = 0 à C)
Adresses DM/EM indirectes
en binaire
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
Adresses DM/EM indirectes
*D00000 à *D32767
en BCD
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
Constantes
--Registres de données
--DR0 à DR15
--Registres d'index
--Adressage indirect à l’aide de ,IR0 à ,IR15
registres d’index
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Description
Lorsque la condition d'exécution pour MTIM(543)/MTIMX(554) est ON et que
les bits de réinitialisation et de temporisation sont tous deux sur OFF,
MTIM(543)/MTIMX(554) incrémente la PV dans D2. Lorsque le bit de pause
est mis sur ON, le temporisateur arrête d'incrémenter la PV, mais celle-ci
maintient sa valeur. MTIM(543)/MTIMX(554) reprend la temporisation lorsque
le bit de pause passe à nouveau sur OFF.
La PV (contenu de D2) est comparée aux huit SV dans S à S+7 chaque fois
que MTIM(543)/MTIMX(554) est exécutée, et si l'une des SV est inférieure ou
égale à la PV, le drapeau de fin correspondant (bits 00 à 07 de D1) est mis sur
ON.
Lorsque la PV atteint 9999, la PV est réinitialisée à 0000 et tous les drapeaux
de fin sont mis sur OFF. Si le bit de réinitialisation est sur ON alors que la temporisation est en cours ou sur pause, la PV est réinitialisée à 0000 et tous les
drapeaux de fin sont mis sur OFF.
256
Chapitre 3-6
Instructions de temporisateur et compteur
PV de temporisateur
SV de temporisateur
0
à
à
Entrée de
temporisateur
SV 7
SV 2
PV de
temporisateur
(D2)
SV 1
SV 0
0
Bit 7
Drapeaux de
fin (D1)
Bit 2
Bit 1
Bit 0
Le tableau ci-dessous indique le fonctionnement de MTIM(543)/MTIMX(554)
pour les quatre combinaisons possibles des bits de réinitialisation et de
pause.
Bit de
Bit de
réinitialisation
pause
(Bit 08)
(Bit 09)
OFF
OFF
ON
ON
OFF
ON
Fonctionnement
La PV est mise à jour et le drapeau de fin correspondant est mis sur ON si SV ≤ PV.
La PV n'est pas mise à jour et MTIM(543)/MTIMX(554)
est traitée comme NOP(000).
La PV est réinitialisée à 0000 et les drapeaux de fin
sont mis sur OFF. La PV n'est pas mise à jour.
Les bits de réinitialisation et de pause ne sont effectifs que si la condition
d'exécution de MTIM(543)/MTIMX(554) est ON.
Drapeaux
Nom
Drapeau
d'erreur
Précautions
Etiquette
Fonctionnement
ER
ON si la PV contenue dans D2 n'est pas de type BCD.
OFF dans tous les autres cas.
A la différence de la plupart des temporisateurs, MTIM(543)/MTIMX(554)
n'utilise pas de numéro de temporisateur. (La mise à jour de la PV dans la
zone de temporisation n'est pas réalisée pour MTIM(543)/MTIMX(554).)
Lorsque la PV atteint 9999, la PV est réinitialisée à 0000 et tous les drapeaux
de fin sont mis sur OFF.
Si, en mode BCD, une SV dans S à S+7 ne contient pas de données BCD,
cette SV est ignorée. Aucune erreur ne se produit et le drapeau d'erreur ne se
met pas sur ON.
Etant donné que le drapeau de fin pour MTIM(543)/MTIMX(554) est dans une
zone de données, il peut être forcé à 1ou à 0 comme d'autres bits, mais la PV
reste inchangée.
257
Chapitre 3-6
Instructions de temporisateur et compteur
Lorsque huit SV ou moins sont requises, réglez le mot après la dernière SV
sur 0000. MTIM(543)/MTIMX(554) ignorent alors la SV réglée sur 0000 et toutes les SV restantes.
à
à
Ces SV sont
ignorées.
La PV de temporisateur n'est mise à jour que lorsque MTIM(543)/
MTIMX(554) est exécutée, de sorte que le temporisateur ne fonctionne pas
correctement si le temps de cycle excède 100 ms car le temporisateur incrémente par pas de 100 ms. Pour garantir une temporisation précise et éviter
tout problème résultant de longs temps de cycle, saisissez la même instruction MTIM(543)/MTIMX(554) en plusieurs points du programme.
Le drapeau de fin de temporisation n'est mis à jour que lorsque MTIM(543)/
MTIMX(554) est exécutée, de sorte qu'un délai d'un cycle maximum peut être
requis pour que le drapeau de fin se mette sur ON à l'expiration de la temporisation.
Si MTIM(543)/MTIMX(554) est dans une section de programme comprise
entre IL(002) et ILC(003) et que la section de programme est verrouillée, la
PV conserve sa valeur précédente (n'est pas réinitialisée). N'oubliez pas d'en
tenir compte lorsque MTIM(543)/MTIMX(554) est programmée entre IL(002)
et ILC(003).
Si un temporisateur opérationnel MTIM(543)/MTIMX(554) est dans une section de programme entre JMP(004) et JME(005) et que la section de programme est sautée, la PV conserve sa valeur précédente. N'oubliez pas d'en
tenir compte lorsque MTIM(543)/MTIMX(554) est programmée entre
JMP(004) et JME(005).
Veillez à ce que les mots spécifiés pour le drapeau de fin et la PV (D1 et D2)
ne soient pas utilisés dans d'autres instructions. Si ces mots sont affectés par
d'autres instructions, le temporisateur risque de ne pas fonctionner correctement.
Si un mot dans la zone CIO est spécifié pour D1, les instructions SET et
RSET peuvent être utilisées pour contrôler les bits de pause et de réinitialisation.
Exemple
Si CIO 000000 est ON et que le bit de pause (CIO 010009) est OFF dans
l'exemple suivant, la temporisation débutera lorsque le bit de réinitialisation
(CIO 010009) passe de ON à OFF. La PV de temporisateur commence la
temporisation à partir de 0000.
Les huit SV dans D00200 à D00207 sont comparées à la PV et les drapeaux
de fin correspondants (CIO 010000 à CIO 010007) sont mis sur ON si SV ≤
PV.
258
Chapitre 3-6
Instructions de temporisateur et compteur
D1: 0100CH
Drapeaux de fin
Bit de réinitialisation
Bit de pause
PV de temporisateur
(incrémentation)
D2: D00100
Drapeau de fin
correspondant sur ON
si SV _ PV.
SV de temporisateur
S: D00200
S+1: D00201
S+2: D00202
S+3: D00203
S+4: D00204
S+5: D00205
S+6: D00206
S+7: D00207
Entrée de
temporisateur
CIO 000000
L'entrée de temporisateur doit
rester sur ON en cours de
temporisation.
Bit de
réinitialisation
CIO 010008
Bit de pause
CIO 010009
Reprise de la
temporisation
PV max. = 9999
SV de temporisateur
SV 7
SV 1
SV 0
PV conservée.
Drapeaux de fin
259
Chapitre 3-6
Instructions de temporisateur et compteur
3-6-7
COUNTER : CNT/CNTX(546)
Objet
CNT/CNTX(546) prend en charge un compteur décrémentiel. La configuration va de 0 à 9 999 pour CNT et de 0 à 65 535 pour CNTX(546).
Symbole du schéma
contact
BCD
Entrée de
comptage
CNT
Entrée de
réinitialisation
N
N: Numéro de compteur
S
S: Valeur de consigne
Binaire
Entrée de
comptage
CNTX(546)
Entrée de
réinitialisation
N
N: Numéro de compteur
S
S: Valeur de consigne
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
Zones de
programmes de bloc programmes de pas
Non autorisé
OK
CNT/CNTX(546)
Non prise en charge.
Non prise en charge.
Non prise en charge.
Sousprogrammes
OK
Tâches
d'interruption
OK
N : Numéro de compteur
Le numéro de compteur doit être compris entre 0000 et 4095 (décimal).
S : Valeur de consigne
Données
BCD
Binaire
Spécifications de
l’opérande
260
Plage
#0000 à #9999
&0 à &65535 (décimal)
#0000 à #FFFF (hex)
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
N
----------0000 à 4095 (décimal)
-------
S
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Chapitre 3-6
Instructions de temporisateur et compteur
Zone
Adresses DM/EM indirectes en binaire
Description
N
---
S
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à
@ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
BCD :
#0000 à 9999 (BCD)
“&” ne peut être utilisé.
Binaire :
&0 à &65535 (décimal)
#0000 à #FFFF (hex)
DR0 à DR15
---
Adresses DM/EM indirectes en BCD
---
Constantes
---
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
La PV de compteur est décrémentée de 1 chaque fois que l'entrée de comptage passe de OFF à ON. Le drapeau de fin est mis sur ON si la PV atteint 0.
Lorsque le drapeau de fin est mis sur ON, réinitialisez le compteur en mettant
l'entrée de réinitialisation sur ON ou en utilisant l'instruction CNR(545)/
CNRX(547). Sinon le compteur ne peut pas redémarrer.
Le compteur est réinitialisé et l'entrée de comptage est ignorée si l'entrée de
réinitialisation est ON. (Lorsqu'un compteur est réinitialisé, sa PV est réinitialisée à la SV et le drapeau de fin est mis sur OFF.)
Entrée de
comptage
Entrée de
réinitialisation
PV de
compteur
SV
Drapeau de
fin
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON si N est adressé indirectement via un registre
d'index mais l'adresse dans le registre d'index ne
correspond pas à l'adresse PV d'un compteur.
ON si en mode BCD et S ne contient pas de données
BCD.
OFF dans tous les autres cas.
=
OFF ou inchangé (voir remarque.)
Drapeau d'égalité
Drapeau négatif N
OFF ou inchangé (voir remarque.)
Remarque Dans les UC CS1 et CJ1, ils sont sur OFF.
Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, ces drapeaux restent inchangés.
261
Chapitre 3-6
Instructions de temporisateur et compteur
Précautions
Les numéros de compteur sont partagés par les instructions CNT,
CNTX(546), CNTR(012), CNTRX(548), CNTW(814) et CNTWX(818). Si deux
compteurs partagent le même numéro de compteur mais ne sont pas utilisés
simultanément, une erreur de duplication est générée à la vérification du programme mais les compteurs fonctionnent normalement. Les compteurs qui
partagent le même numéro ne fonctionnent pas correctement s'ils sont utilisés simultanément.
Une PV de compteur est mise à jour lorsque l'entrée de comptage passe de
OFF à ON et le drapeau de fin est mis à jour chaque fois que CNT/
CNTX(546) est exécutée. Le drapeau de fin est mis sur ON si la PV est à 0 et
est mis sur OFF si la PV a une valeur non nulle.
Si un compteur CNT/CNTX(546) est initialisé de force, son drapeau de fin est
mis sur ON et sa PV sera réglée à 0000. Si un compteur CNT/CNTX(546) est
réinitialisé de force, son drapeau de fin est mis sur OFF et sa PV est réinitialisée à la SV.
N'oubliez pas de réinitialiser le compteur en faisant passer l'entrée de réinitialisation de OFF → ON → OFF avant d'entamer le comptage avec l'entrée de
comptage, comme indiqué dans le schéma ci-dessous. L'entrée de comptage
ne sera pas reçue si l'entrée de réinitialisation est ON.
Entrée de
réinitialisation
Entrée de
comptage
SV
PV de compteur
Drapeau de
fin
Prêt à lancer
le comptage
L'entrée de réinitialisation a la priorité et le compteur est réinitialisé si l'entrée
de réinitialisation et l'entrée de comptage sont toutes deux sur ON au même
moment. (La PV est réinitialisée à la SV et le drapeau de fin est mis sur OFF.)
Entrée de
réinitialisation
Entrée de
comptage
SV
PV de compteur
Drapeau de
fin
L'entrée de
L'entrée de L'entrée de
comptage peut réinitialisa- comptage peut
être reçue.
tion a la
être reçue.
priorité.
Le fonctionnement du drapeau d'égalité et du drapeau négatif dépend du
modèle d'UC. Consultez la sectionDrapeaux ci-dessus pour plus de détails.
Remarque Si l'édition en ligne est utilisée pour ajouter un compteur, le compteur doit être
réinitialisé avant de fonctionner correctement. Si le compteur n'est pas réinitialisé, la valeur précédente est utilisée comme valeur actuelle (PV) de comptage et le compteur risque de ne pas fonctionner correctement après avoir été
écrit.
262
Chapitre 3-6
Instructions de temporisateur et compteur
Les PV de compteur sont conservées même en cas d'interruption de l'alimentation. Si vous souhaitez reprendre le comptage à partir de la SV plutôt qu'à
partir de la PV conservée, ajoutez le drapeau de premier cycle (A20011)
comme entrée de réinitialisation au compteur.
Drapeau Premier
cycle (A20011)
3-6-8
REVERSIBLE COUNTER : CNTR(012)/CNTRX(548)
Objet
CNTR(012)/CNTRX(548) contrôle un compteur réversible.
Symbole du schéma
contact
BCD
Entrée
d'incrémentation
CNTR(012)
Entrée de
décrémentation
Entrée de
réinitialisation
N
N: Numéro de compteur
S
S: Valeur de consigne
Binaire
Entrée
d'incrémentation
CNTRX(548)
Entrée de
décrémentation
Entrée de
réinitialisation
N
N: Numéro de compteur
S
S: Valeur de consigne
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
Zones de
programmes de bloc programmes de pas
Non autorisé
OK
CNTR(012)/
CNTRX(548)
Non prise en charge.
Non prise en charge.
Non prise en charge.
Sousprogrammes
OK
Tâches
d'interruption
OK
N : Numéro de compteur
Le numéro de compteur doit être compris entre 0000 et 4095 (décimal).
S : Valeur de consigne
Données
BCD
Binaire
Plage
#0000 à #9999
&0 à &65535 (décimal)
#0000 à #FFFF (hex)
263
Chapitre 3-6
Instructions de temporisateur et compteur
Spécifications de
l’opérande
Description
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans
banque
Zone EM avec
banque
N
----------0000 à 4095 (décimal)
-------
S
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
BCD :
#0000 à 9999 (BCD)
“&” ne peut être utilisé.
Binaire :
&0 à &65535 (décimal)
#0000 à #FFFF (hex)
DR0 à DR15
---
Adresses DM/EM
indirectes en binaire
---
Adresses DM/EM
indirectes en BCD
---
Constantes
---
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
La PV de compteur est incrémentée de 1 chaque fois que l'entrée d'incrémentation passe de OFF à ON, et est décrémentée de 1 chaque fois que l'entrée
de décrémentation passe de OFF à ON. La PV peut fluctuer entre 0 et la SV.
Entrée
d'incrémentation
Entrée de
décrémentation
PV de compteur
Lors de l'incrémentation, le drapeau de fin est mis sur ON si la PV est incrémentée de la SV jusque 0 et est remis sur OFF lorsque la PV est incrémentée
de 0 à 1.
264
Chapitre 3-6
Instructions de temporisateur et compteur
PV de compteur
SV
+1
Drapeau de fin
Lors de la décrémentation, le drapeau de fin est mis sur ON si la PV est
décrémentée de 0 jusqu'à la SV et est remis sur OFF lorsque la PV est décrémentée de SV à SV–1.
SV
PV de compteur
−1
Drapeau de fin
Drapeaux
Nom
Drapeau
d'erreur
Précautions
Etiquette
Fonctionnement
ER
ON si N est adressé indirectement via un registre
d'index mais l'adresse dans le registre d'index ne
correspond pas à l'adresse PV d'un compteur.
ON si en mode BCD et S ne contient pas de données
BCD.
OFF dans tous les autres cas.
Les numéros de compteur sont partagés par les instructions CNT,
CNTX(546), CNTR(012), CNTRX(548), CNTW(814) et CNTWX(818). Si deux
compteurs partagent le même numéro mais ne sont pas utilisés simultanément, une erreur de duplication est générée à la vérification du programme
mais les compteurs fonctionnent normalement. Les compteurs qui partagent
le même numéro ne fonctionnent pas correctement s'ils sont utilisés simultanément.
La PV n'est pas modifiée si les entrées d'incrémentation et de décrémentation
passent toutes deux de OFF à ON au même moment. Si l'entrée de réinitialisation est sur ON, la PV est réinitialisée à 0 et les deux entrées de comptage
sont ignorées.
Le drapeau de fin est sur ON uniquement si la PV a été incrémentée de la SV
à 0 ou décrémentée de 0 à la SV ; il est sur OFF dans tous les autres cas.
Lors de la saisie de l'instruction CNTR(012)/CNTRX(548) sous forme mnémonique, saisissez d'abord l'entrée d'incrémentation (II), puis l'entrée de
décrémentation (DI), l'entrée de réinitialisation (R) et enfin l'instruction
CNTR(012)/CNTRX(548). Lors de la saisie sous forme de schéma contact,
saisissez d'abord l'entrée d'incrémentation (II), ensuite l'instruction
CNTR(012)/CNTRX(548), l'entrée de décrémentation (DI) et enfin l'entrée de
réinitialisation (R).
Exemples
Fonctionnement de base de CNTR(012)/CNTRX(548)
La PV de compteur est réinitialisée à 0 en mettant l'entrée de réinitialisation
(CIO 000002) sur ON et OFF. La PV est incrémentée de 1 chaque fois que
l'entrée d'incrémentation (CIO 000000) passe de OFF à ON. Si la PV est
incrémentée à partir de la SV (3), elle est automatiquement réinitialisée à 0 et
le drapeau de fin est mis sur ON.
De même, la PV est incrémentée de 1 chaque fois que l'entrée de décrémentation (CIO 000001) passe de OFF à ON. Si la PV est décrémentée à partir
de 0, elle est automatiquement réinitialisée à la SV (3) et le drapeau de fin est
mis sur ON.
265
Chapitre 3-6
Instructions de temporisateur et compteur
Entrée
d'incrémentation
Entrée de
décrémentation
Entrée de
réinitialisation
Entrée d'incrémentation
CIO 000000
Entrée de décrémentation
CIO 000001
Entrée de réinitialisation
CIO 000002
PV de compteur
C0001
SV
Drapeau de fin
C0001
Spécification de la SV dans un mot
Dans l'exemple suivant, la SV pour l'instruction CNTR(012) 0007 est déterminée par le contenu de CIO 0001. Si le contenu de CIO 0001 est contrôlé par
un commutateur externe, la valeur de consigne peut être modifiée manuellement à partir du commutateur.
SV fixe :
5000
SV:
CIO 0001
Entrée
d'incrémentation
Entrée de
décrémentation
Drapeau de fin
Glissement
266
Glissement
Chapitre 3-6
Instructions de temporisateur et compteur
3-6-9
RESET TIMER/COUNTER : CNR(545)/CNRX(547)
Objet
Réinitialise les temporisateurs ou les compteurs dans l'intervalle des numéros
de temporisateur et de compteur spécifié.
Symbole du schéma
contact
BCD
CNR(545)
N1
N2
N1: Premier numéro
de la plage
N2: Dernier numéro
de la plage
Binaire
CNRX(547)
N1
N2
N1: Premier numéro
de la plage
N2: Dernier numéro
de la plage
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
Zones de
programmes de bloc programmes de pas
OK
OK
CNR(545)/
CNRX(547)
@CNR(545)/
CNRX(547)
Non prise en charge.
Non prise en charge.
Sousprogrammes
OK
Tâches
d'interruption
OK
N1: Premier numéro de la plage
N1 doit être un numéro de temporisateur compris entre T0000 et T4095 ou un
numéro de compteur compris entre C0000 et C4095.
N2: Dernier numéro de la plage
N2 doit être un numéro de temporisateur compris entre T0000 et T4095 ou un
numéro de compteur compris entre C0000 et C4095.
Remarque N1 et N2 doivent être dans la même zone de données, en d'autres termes, N1
et N2 doivent être des numéros de temporisateur ou des numéros de compteur.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
N1
N2
--------C0000 à C4095
T0000 à T4095
---------
--------C0000 à C4095
T0000 à T4095
---------
---
---
267
Chapitre 3-6
Instructions de temporisateur et compteur
Zone
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
N1
N2
------------,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
CNR(545)/CNRX(547) réinitialise les drapeaux de fin de tous les temporisateurs ou compteurs de N1 à N2. Dans le même temps, les PV sont toutes
réglées à la valeur maximum (9999 pour BCD et FFFF pour le format binaire).
(La PV est réglée à la SV à la prochaine exécution de l'instruction de temporisateur ou de compteur.)
Réinitialisation des temporisateurs par CNR(545)/CNRX(547)
Les temporisateurs suivants sont réinitialisés si leurs numéros de temporisateur sont compris dans la plage spécifiée : TIM, TIMX(550), TIMH(015),
TIMHX(551),
TMHH(540),
TMHHX(552),
TTIM(087),
TTIMX(555),
TIMW(813), TIMWX(816), TMHW(815) et TMHWX(817). Lorsqu'un temporisateur est réinitialisé, son drapeau de fin est mis sur OFF et sa PV est réglée
à la valeur maximum de 9999.
Remarque Les temporisateurs TIML(542), TIMLX(553), MTIM(543) et MTIMX(554) ne
sont pas réinitialisés par CNR(545)/CNRX(547) car ils n'utilisent pas les
numéros de temporisateur.
Réinitialisation des compteurs par CNR(545)/CNRX(547)
Les compteurs suivants sont réinitialisés si leurs numéros de compteur sont
compris dans la plage spécifiée : CNT, CNTX(546), CNTR(012),
CNTRX(548), CNTW(814) et CNTWX(818). Lorsqu'un compteur est réinitialisé, son drapeau de fin est mis sur OFF et sa PV est réglée à la valeur maximum de 9999.
Drapeaux
Nom
EtiFonctionnement
quette
Drapeau ER
ON si N1 est adressé indirectement via un registre d'index mais
d'erreur
l'adresse dans le registre d'index ne correspond pas à l'adresse
PV d'un temporisateur ou d'un compteur.
ON si N2 est adressé indirectement via un registre d'index mais
l'adresse dans le registre d'index ne correspond pas à l'adresse
PV d'un temporisateur ou d'un compteur.
ON si N1 et N2 ne sont pas dans la même zone de données.
OFF dans tous les autres cas.
Précautions
CNR(545)/CNRX(547) ne réinitialise pas les instructions de temporisateur/
compteur proprement dites, elle réinitialise les PV et les drapeaux de fin affectés à ces instructions. Dans la plupart des cas, l'effet de CNR(545)/
CNRX(547) diffère de la réinitialisation directe des instructions. Par exemple,
si une instruction TIM/TIMX(550) est directement réinitialisée, sa PV est
réglée à la SV mais si ce temporisateur est réinitialisé par CNR(545)/
CNRX(547), sa PV est réglée à la valeur maximum de 9999.
Si N1 et N2 sont spécifiés avec N1>N2, seul le drapeau de fin pour le numéro
de temporisateur/compteur est réinitialisé.
Exemple
Si CIO 000000 est sur ON dans l'exemple suivant, les drapeaux de fin pour
les temporisateurs T0002 à T0005 sont mis sur OFF et les PV de temporisateur sont réglées à la valeur maximum de 9999.
268
Chapitre 3-6
Instructions de temporisateur et compteur
Si CIO 000001 est sur ON, les drapeaux de fin pour les compteurs C0003 à
C0007 sont mis sur OFF et les PV de compteur sont réglées à la valeur maximum de 9999.
3-6-10 Exemples d'applications de temporisateur et compteur
Les exemples suivants montrent différentes applications des instructions de
temporisateur et compteur dont la temporisation à long terme, le compteur à
deux phases, le retard ON/OFF, le bit ponctuel et le bit de clignotement.
Exemple 1 :
Temporisation à long
terme
Les exemples de programme suivants indiquent trois méthodes pour créer
une temporisation à long terme au moyen d'instructions TIM et CNT standard.
Deux instructions TIM
Dans cet exemple, deux instructions TIM sont associées pour effectuer une
temporisation de 30 minutes.
000000
Adresse
Instruction Opérandes
000000
000001
LD
TIM
000002
000003
LD
TIM
000004
000005
LD
OUT
T0001
T0002
000000
0001
#9000
T0001
0002
#9000
T0002
000200
Instructions TIM et CNT
Dans cet exemple, une instruction TIM est associée à une instruction CNT
pour effectuer une temporisation de 500 secondes.
TIM 0001 génère une impulsion toutes les 5 s et CNT 0002 compte ces
impulsions. La valeur de consigne pour cette combinaison correspond à
l'intervalle de temporisation × SV de compteur. Dans ce cas, la SV de temporisateur serait 5 s × 100 = 500 s. Avec cette combinaison, la PV de temporisateur à long terme correspond à la PV d'un compteur maintenue pendant les
interruptions d'alimentation.
269
Chapitre 3-6
Instructions de temporisateur et compteur
Adresse Instruction Opérandes
Démarrer
Comptage progressif
000000
000001
000002
LD
LD
CNT
000003
000004
000005
000006
LD
AND NOT
AND NOT
TIM
000007
000008
000009
000010
LD
OUT
LD
OUT
010000
000001
0002
#0100
000000
010000
C0002
0001
#0050
T0001
010000
C0002
000201
Impulsion d'horloge et instruction CNT
Dans cet exemple, une instruction CNT compte les impulsions à partir de
l'impulsion d'horloge 1 s pour effectuer une temporisation de 700 secondes.
En cas de OR entre le drapeau Premier cycle (A20011) et l'entrée de réinitialisation de compteur (CIO 000001), la PV de compteur est réinitialisée à la SV
(0700) au début de l'exécution du programme plutôt que de reprendre le
comptage à partir de la PV précédente.
000000 1 s (horloge 1 s)
000001
Exemple 2 :
Compteur à deux phases
Adresse
000000
000001
000002
LD
AND
LD
000000
1s
000001
000003
OR
A20011
A20011
000004
CNT
C0001
000005
000006
LD
OUT
0001
#0700
C0001
000202
Si une SV supérieure à 9999 est requise, deux compteurs peuvent être associés comme le montre l'exemple suivant. Dans ce cas, deux instructions CNT
sont associées pour effectuer un comptage BCD avec une SV de 20 000.
Adresse
270
Instruction Opérandes
Instruction Opérandes
000000
000001
000002
000003
000004
000005
LD
AND
LD NOT
OR
OR
CNT
000006
000007
000008
LD
LD NO
CNT
000009
000010
LD
OUT
000000
000001
000002
C0001
C0002
0001
#0100
C0001
000002
0002
#0200
C0002
000203
Chapitre 3-6
Instructions de temporisateur et compteur
Exemple 3 :
Retard ON/OFF
Dans cet exemple, deux temporisateurs TIM sont associés à KEEP(011)
pour effectuer un retard ON et un retard OFF. CIO 000500 est mis sur ON
5,0 secondes après le passage de CIO 000000 sur ON et passe à OFF
3,0 secondes après le passage de CIO 000000 sur OFF.
Adresse
Instruction Opérandes
000000
000001
LD
TIM
000002
000003
000004
LD
AND NOT
TIM
000005
000006
000007
LD
LD
KEEP(011)
000000
0001
#0050
000500
000000
0002
#0030
T0001
T0002
000500
CIO 000000
CIO 000500
5,0 s
Exemple 4 :
Bit d’impulsion
3,0 s
Une temporisation TIM peut être associée à OUT ou OUT NOT pour définir la
durée pendant laquelle un bit donné est sur ON ou OFF. Dans cet exemple,
CIO 000204 est sur ON pendant 1,5 seconde (SV de T0001) après que
CIO 000000 passe à ON.
Adresse
Instruction Opérandes
000000
000001
000002
000003
000004
000005
000006
LD
LD
AND NOT
OR
OUT
LD
TIM
000007
000008
000009
000010
000011
LD
OUT
LD
AND NOT
OUT
000000
001000
010000
000000
001000
001000
0001
#0015
T0001
010000
001000
010000
000204
CIO 000000
CIO 000204
1,5 s
1,5 s
271
Chapitre 3-6
Instructions de temporisateur et compteur
Exemple 4 :
Bit de clignotement
Les exemples de programme suivants indiquent deux méthodes pour créer
des bits de clignotement. Le deuxième exemple simule une impulsion d'horloge.
Deux instructions TIM
Deux temporisateurs TIM peuvent être combinés pour qu'un bit se mette sur
ON et OFF à intervalles réguliers tandis que la condition d'exécution est ON.
Dans cet exemple, CIO 000205 est sur OFF pendant 1,0 seconde et ensuite
sur ON pendant 1,5 seconde aussi longtemps que CIO 000000 est sur ON.
Adresse
Instruction Opérandes
000000
000001
000002
LD
AND
TIM
000003
000004
LD
TIM
000005
000006
LD
OUT
000000
T0002
0001
#0010
000205
0002
#0015
T0001
000205
CIO 000000
CIO 000205
1,0 s
1,5 s 1,0 s 1,5 s
Impulsion d'horloge
La condition d'exécution souhaitée peut être associée à une impulsion d'horloge pour simuler cette dernière (0,1 s, 0,2 s ou 1,0 s).
Impulsion d'horloge de 1 s
Adresse
000000
000001
000002
Instruction Opérandes
LD
AND
OUT
000000
1s
000206
Impulsion
d'horloge
de 1 s
,
3-6-11 Adressage indirect des numéros de temporisateur/compteur
Les numéros de temporisateur et de compteur peuvent être adressés indirectement à l'aide de registres d'index. Si des registres d'index sont utilisés pour
l'adressage indirect, utilisez MOVRW(561) (MOVE TIMER/COUNTER PV TO
REGISTER) pour régler l'adresse mémoire de l'API de la PV de temporisateur
ou de compteur souhaitée au registre d'index voulu.
Les temporisateurs et compteurs suivants peuvent être adressés indirectement à l'aide de registres d'index. TIM, TIMX(550), TIMH(015), TIMHX(551),
TTIM(087), TTIMX(555), TMHH(540), TMHHX(552), TIMW(813),
TIMWX(816), TMHW(815), TMHWX(817), CNT, CNTX(546), CNTR(012),
CNTRX(548), CNTW(814) et CNTWX(818). (Il s'agit de temporisateurs et
compteurs qui utilisent des numéros de temporisateur et de compteur.)
272
Chapitre 3-6
Instructions de temporisateur et compteur
L'instruction de temporisateur/compteur n'est pas exécutée si l'adresse
mémoire de l'API dans le registre d'index spécifié ne correspond pas à
l'adresse d'une PV de temporisateur ou de compteur.
L'utilisation de registres d'index pour adresser indirectement des temporisateurs et des compteurs peut réduire la taille du programme et augmenter la
flexibilité. Des sous-programmes communs peuvent, par exemple, être créés.
Exemple
L'exemple suivant indique une section de programme qui utilise l'adressage
indirect pour définir et lancer 100 temporisateurs avec les SV contenues dans
D00100 à D00199. IR0 contient l'adresse mémoire de l'API de la PV de temporisateur et IR1 contient l'adresse mémoire de l'API du drapeau de fin de
temporisation.
Adresse DM
D00100
D00101
D00102
.
.
.
D00199
Contenu
0010
0100
0050
.
.
.
0999
Fonction
SV pour T0000
SV pour T0001
SV pour T0002
.
.
.
SV pour T0099
P On
1
(Drapeau
Toujours ON)
2
3
4
&100
FOR
&100
5
@D00000
P On
++
(Drapeau
Toujours ON)
NEXT
1,2,3...
1. MOVRW(561) déplace l'adresse mémoire de l'API de la PV de temporisateur T0000 vers IR0. IR0 peut être ensuite utilisé à la place du numéro de
temporisateur.
273
Chapitre 3-6
Instructions de temporisateur et compteur
2. MOVR(560) déplace l'adresse mémoire de l'API du drapeau de fin de temporisation T0000 vers IR1.
3. MOVR(560) déplace la mémoire adresse de l'API de CIO 200000 dans
IR2.
4. MOV(021) déplace &100 dans D00000 pour l'adressage indirect des SV
de temporisateur.
5. Les contenus de IR0, IR1, IR2 et D00000 sont incrémentés de 1 chaque
fois que cette boucle est exécutée 100 fois, en lançant les temporisateurs
T0000 à T0099.
La boucle dans le programme ci-dessus comporte 4 paramètres d'entrée utilisés pour lancer les 100 temporisateurs avec ce sous-programme commun.
IR0
IR1
IR2
L'adresse mémoire de l'API de la PV de temporisateur
L'adresse mémoire de l'API du drapeau de fin de temporisation
L'adresse mémoire de l'API de la condition d'exécution de
temporisation
D00000 L'adresse DM du mot contenant la SV de temporisateur
Le sous-programme ci-dessous équivaut aux 400 instructions ci-dessous.
Adresse
Instruction Opérandes
200000
000000
000001
LD NOT
TIM
000002
000003
000004
000005
LD
OUT
LD NOT
TIM
000006
000007
LD
OUT
T0001
000008
000009
LD NOT
TIM
200602
000010
000011
LD
OUT
200002
0002
D00102
T0002
200002
000396
000397
LD NOT
TIM
200602
0099
000398
000399
LD
OUT
D00199
T0000
200602
T0000
200001
T0099
274
200000
0000
D00100
T0000
200000
200001
0001
D00101
T0001
200001
Chapitre 3-7
Instructions de comparaison
3-7
Instructions de comparaison
Ce chapitre décrit les instructions utilisées pour comparer des données de
longueurs différentes et de différentes manières.
Instruction
Mnémonique
Instructions de comparaison
d'entrées
Instructions de comparaison de
temps
COMPARE
DOUBLE COMPARE
SIGNED BINARY COMPARE
DOUBLE SIGNED BINARY
COMPARE
MULTIPLE COMPARE
TABLE COMPARE
BLOCK COMPARE
EXPANDED BLOCK COMPARE
3-7-1
Code
fonction
300 à 328
Page
275
=, <>, <, <=, >, >=
(S, L) (LD, AND, OR)
=DT, <>DT, <DT, <=DT, >DT,
>=DT (LD, AND, OR)
CMP
CMPL
CPS
CPSL
341 à 346
281
020
060
114
115
287
290
293
296
MCMP
TCMP
BCMP
BCMP2
019
085
068
502
299
301
304
306
Instructions de comparaison d'entrées (300 à 328)
Objet
Les instructions de comparaison d'entrées comparent deux valeurs (constantes et/ou le contenu des mots spécifiés) et créent une condition d'exécution
ON lorsque la condition de comparaison est vraie. Il existe des instructions de
comparaison d'entrées pour comparer des données signées ou non signées,
d’un mot ou de longueur double.
Remarque Consultez 3-15-21 Instructions de comparaison à virgule flottante simple précision pour plus de détails sur les instructions de comparaison à virgule flottante
simple précision et 3-16-21 Instructions d'entrée à virgule flottante double précision sur les instructions de comparaison d'entrées à virgule flottante double
précision.
Symbole du schéma
contact
Symbole et options
S1
S1: Donnée de comparaison 1
S2
S2: Donnée de comparaison 2
Variations
Variations
Crée une condition d’exécution ON à chaque Instruction de comcycle où la comparaison est vraie
paraison d'entrées
Spécification de rafraîchissement immédiat
Non prise en charge
Zones de programmes
applicables
Spécifications de
l'opérande pour les
instructions pour données
à un mot
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zones de
programmes de pas
OK
S1
SousTâches
programmes
d'interruption
OK
OK
S2
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
275
Chapitre 3-7
Instructions de comparaison
Zone
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Spécifications de
l'opérande pour les
instructions pour données
double longueur
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
276
S1
S2
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_ 32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
(binaire)
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
S1
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #FFFFFFFF (binaire)
---
S2
Chapitre 3-7
Instructions de comparaison
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S2
S1
IR0 à IR15 (pour données non signées uniquement)
,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Les instructions de comparaison d'entrées comparent S1 et S2 comme
valeurs signées ou non signées et créent une condition d'exécution ON si la
condition de comparaison est vraie. Contrairement aux instructions telles que
CMP(020) et CMPL(060), le résultat de l'instruction de comparaison d'entrées
se reflète directement sous forme de condition d'exécution ; il n'est donc pas
nécessaire d'accéder au résultat de la comparaison via un drapeau arithmétique et le programme est plus simple et plus rapide.
Entrée des instructions
Les instructions de comparaison d'entrées sont traitées tout comme les instructions LD, AND et OR pour contrôler l'exécution des instructions subséquentes.
Type
d'entrée
LD
AND
OR
Fonctionnement
L'instruction peut être directement connectée à la barre de bus
gauche.
L'instruction ne peut pas être directement connectée à la barre de bus
gauche.
L'instruction peut être directement connectée à la barre de bus
gauche.
Connexion LD
Condition d'exécution ON lorsque le résultat
de la comparaison est vrai.
<
Condition d'exécution ON
lorsque le résultat de la
comparaison est vrai.
Connexion AND
<
Connexion OR
<
Condition d'exécution ON
lorsque le résultat de la
comparaison est vrai.
Options
Les instructions de comparaison d'entrées peuvent comparer des donnés
signées ou non signées, de même que des valeurs à un mot ou double lon-
277
Chapitre 3-7
Instructions de comparaison
gueur. Si aucune option n'est spécifiée, la comparaison porte sur des données non signées à un mot. Etant donné les trois types d'entrée et les deux
options, on compte 72 instructions de comparaison d'entrées différentes.
Symbole
=
<>
<
<=
>
>=
(Egal à)
(Différent de)
(Inférieur à)
(Inférieur ou égal à)
(Supérieur à)
(Supérieur ou égal à)
Option (format des
données)
Option (longueur des
données)
Aucun : Données non
signées
S : Données signées
Aucun : Données à un
mot
L : Données double
longueur
Les instructions de comparaison d'entrées non signées (c.-à-d. instructions
sans l'option S) peuvent traiter des données binaires ou BCD non signées.
Les instructions de comparaison d'entrées signées (c.-à-d. instructions avec
l'option S) traitent des données binaires signées.
Résumé des instructions de comparaion d'entrées
Le tableau ci-dessous indique les codes fonction, les mnémoniques, les noms
et les fonctions des 72 instructions de comparaison d'entrées. (Pour les comparaisons à un mot C1=S1 et C2=S2; pour les comparaisons doubles
C1=S1+1, S1 et C2=S2+1, S2.)
Code Mnémonique
Nom
300
LD =
LOAD EQUAL
AND =
AND EQUAL
OR =
OR EQUAL
301
LD=L
LOAD DOUBLE EQUAL
AND=L
AND DOUBLE EQUAL
OR=L
OR DOUBLE EQUAL
302
LD=S
LOAD SIGNED EQUAL
AND=S
AND SIGNED EQUAL
OR=S
OR SIGNED EQUAL
303
LD=SL
LOAD DOUBLE SIGNED EQUAL
AND=SL
AND DOUBLE SIGNED EQUAL
OR=SL
OR DOUBLE SIGNED EQUAL
305
LD<>
LOAD NOT EQUAL
AND<>
AND NOT EQUAL
OR<>
OR NOT EQUAL
306
LD<>L
LOAD DOUBLE NOT EQUAL
AND<>L
AND DOUBLE NOT EQUAL
OR<>L
OR DOUBLE NOT EQUAL
307
LD<>S
LOAD SIGNED NOT EQUAL
AND<>S
AND SIGNED NOT EQUAL
OR<>S
OR SIGNED NOT EQUAL
308
LD<>SL
LOAD DOUBLE SIGNED NOT EQUAL
AND<>SL
AND DOUBLE SIGNED NOT EQUAL
OR<>SL
OR DOUBLE SIGNED NOT EQUAL
278
Fonction
Vrai si
C1 = C2
Vrai si
C1 ≠ C2
Instructions de comparaison
Chapitre 3-7
Code Mnémonique
Nom
310
LD<
LOAD LESS THAN
AND<
AND LESS THAN
OR<
OR LESS THAN
311
LD<L
LOAD DOUBLE LESS THAN
AND<L
AND DOUBLE LESS THAN
OR<L
OR DOUBLE LESS THAN
312
LD<S
LOAD SIGNED LESS THAN
AND<S
AND SIGNED LESS THAN
OR<S
OR SIGNED LESS THAN
313
LD<SL
LOAD DOUBLE SIGNED LESS THAN
AND<SL
AND DOUBLE SIGNED LESS THAN
OR<SL
OR DOUBLE SIGNED LESS THAN
315
LD <=
LOAD LESS THAN OR EQUAL
AND<=
AND LESS THAN OR EQUAL
OR<=
OR LESS THAN OR EQUAL
316
LD<=L
LOAD DOUBLE LESS THAN OR EQUAL
AND<=L
AND DOUBLE LESS THAN OR EQUAL
OR<=L
OR DOUBLE LESS THAN OR EQUAL
317
LD <=S
LOAD SIGNED LESS THAN OR EQUAL
AND<=S
AND SIGNED LESS THAN OR EQUAL
OR<=S
OR SIGNED LESS THAN OR EQUAL
318
LD<=SL
LOAD DOUBLE SIGNED LESS THAN OR
EQUAL
AND<=SL
AND DOUBLE SIGNED LESS THAN OR
EQUAL
OR<=SL
OR DOUBLE SIGNED LESS THAN OR EQUAL
320
LD>
LOAD GREATER THAN
AND>
AND GREATER THAN
OR>
OR GREATER THAN
321
LD>L
LOAD DOUBLE GREATER THAN
AND>L
AND DOUBLE GREATER THAN
OR>L
OR DOUBLE GREATER THAN
322
LD>S
LOAD SIGNED GREATER THAN
AND>S
AND SIGNED GREATER THAN
OR>S
OR SIGNED GREATER THAN
323
LD>SL
LOAD DOUBLE SIGNED GREATER THAN
AND>SL
AND DOUBLE SIGNED GREATER THAN
OR>SL
OR DOUBLE SIGNED GREATER THAN
325
LD>=
LOAD GREATER THAN OR EQUAL
AND>=
AND GREATER THAN OR EQUAL
OR>=
OR GREATER THAN OR EQUAL
326
LD>=L
LOAD DOUBLE GREATER THAN OR EQUAL
AND>=L
AND DOUBLE GREATER THAN OR EQUAL
OR>=L
OR DOUBLE GREATER THAN OR EQUAL
327
LD>=S
LOAD SIGNED GREATER THAN OR EQUAL
AND>=S
AND SIGNED GREATER THAN OR EQUAL
OR>=S
OR SIGNED GREATER THAN OR EQUAL
328
LD>=SL
LOAD DBL SIGNED GREATER THAN OR
EQUAL
AND>=SL
AND DBL SIGNED GREATER THAN OR
EQUAL
OR >=SL
OR DBL SIGNED GREATER THAN OR EQUAL
Fonction
Vrai si
C1 < C2
Vrai si
C1 ≤ C2
Vrai si
C1 ≤ C2
Vrai si
C1 > C2
Vrai si
C1 ≥ C2
279
Chapitre 3-7
Instructions de comparaison
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
supérieur à
Etiquette
Fonctionnement
ER
OFF ou inchangé (voir remarque.)
>
ON si S1 > S2 avec données à un mot.
Drapeau
supérieur ou
égal à
>=
ON si S1+1, S1 > S2+1, S2 avec données double
longueur.
OFF dans tous les autres cas.
ON si S1 ≥ S2 avec données à un mot.
Drapeau
d'égalité
=
ON si S1+1, S1 ≥ S2+1, S2 avec données double
longueur.
OFF dans tous les autres cas.
ON si S1 = S2 avec données à un mot.
Drapeau de non =
égalité
ON si S1+1, S1 = S2+1, S2 avec données double
longueur.
OFF dans tous les autres cas.
ON si S1 ≠ S2 avec données à un mot.
Drapeau inférieur à
<
ON si S1+1, S1 ≠ S2+1, S2 avec données double
longueur.
OFF dans tous les autres cas.
ON si S1 < S2 avec données à un mot.
Drapeau inférieur ou égal à
<=
ON si S1+1, S1 < S2+1, S2 avec données double
longueur.
OFF dans tous les autres cas.
ON si S1 ≤ S2 avec données à un mot.
Drapeau négatif N
ON si S1+1, S1 ≤ S2+1, S2 avec données double
longueur.
OFF dans tous les autres cas.
OFF ou inchangé (voir remarque.)
Remarque Dans les UC CS1 et CJ1, ces drapeaux passent OFF.
Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, ces drapeaux restent inchangés.
Précautions
Les instructions de comparaison d'entrées ne peuvent pas être utilisées
comme instructions finales ; en d'autres termes, une autre instruction doit être
utilisée entre ces instructions et la barre de bus droite.
Exemples
AND LESS THAN : AND<(310)
Lorsque CIO 000000 est sur ON dans l'exemple suivant, les contenus de
D00100 et D00200 sont comparés comme des données binaires non
signées. Si le contenu de D00100 est inférieur à celui de D00200,
CIO 005000 se met sur ON et l'exécution passe à la ligne suivante. Si le contenu de D00100 n'est pas inférieur à celui de D00200, le reste de la ligne
d'instruction est sauté et l'exécution passe à la ligne d'instruction suivante.
005000
000000
<
005001
000001
<S
Comparaison
LESS THAN
non signée
S1: D00100
S2: D00200
8714
3A1C
Décimal : 34,580
Décimal : 14,876
34,580 > 14,876
(Ne passe pas à la ligne suivante.)
AND SIGNED LESS THAN : AND<S(312)
Lorsque CIO 000001 est sur ON dans l'exemple suivant, les contenus de
D00110 et D00210 sont comparés comme des données binaires signées. Si
280
Chapitre 3-7
Instructions de comparaison
le contenu de D00110 est inférieur à celui de D00210, CIO 005001 se met sur
ON et l'exécution passe à la ligne suivante. Si le contenu de D00110 n'est pas
inférieur à celui de D00210, le reste de la ligne d'instruction est sauté et l'exécution passe à la ligne d'instruction suivante.
Comparaison
LESS THAN
signée
S1: D00110
S2: D00210
8714
3A1C
Décimal : −30,956
Décimal : 14,876
−30,956 < 14,876
(Passe à la ligne suivante.)
3-7-2
Instructions de comparaison de temps (341 à 346)
Objet
Les instructions de comparaison de temps comparent deux valeurs de temps
BCD et créent une condition d'exécution ON lorsque la condition de comparaison est vraie.
Les instructions de comparaison de temps sont traitées tout comme les instructions LD, AND et OR pour contrôler l'exécution des instructions subséquentes.
Ces instructions sont prises en charge uniquement par les UC série CS/CJ
ver. 2.0 ou supérieure.
Symbole du schéma
contact
LD
Symbole
C
C : Mot de contrôle
S1
S1: Premier mot temps présent
S2
S2: Premier mot temps de comparaison
AND
Symbole
C
C : Mot de contrôle
S1
S1: Premier mot temps présent
S2
S2: Premier mot temps de comparaison
OR
Symbole
C
C : Mot de contrôle
S1
S1: Premier mot temps présent
S2
S2: Premier mot temps de comparaison
Variations
Variations
Crée une condition d’exécution ON à chaque Instruction de comcycle où la comparaison est vraie
paraison de temps
Spécification de rafraîchissement immédiat
Non prise en charge
Zones de programmes
applicables
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
SousTâches
programmes
d'interruption
OK
OK
281
Chapitre 3-7
Instructions de comparaison
Opérandes
C : Mot de contrôle
Les bits 00 à 05 de C spécifient si les données de temps sont ou non masquées pour la comparaison. Les bits 00 à 05 masquent respectivement les
secondes, minutes, heures, jour, mois et année. Si toutes les 6 valeurs sont
masquées, l'instruction n'est pas exécutée, la condition d'exécution se met
sur OFF et le drapeau d'erreur passe à ON.
15
8
7
6
5
4
3
2
1
0
C 0 0 0 0 0 0 0 0 0 0
Masque les données secondes si sur ON.
Masque les données minutes si sur ON.
Masque les données heures si sur ON.
Masque les données jour si sur ON.
Masque les données mois si sur ON.
Masque les données année si sur ON.
S1 à S1+2 : Données de temps présent
S1 à S1+2 contiennent les données de temps présent. S1 à S1+2 doivent être
dans la même zone de données.
15
8 7
0
S1
Secondes : 00 à 59 (BCD)
Minutes : 00 à 59 (BCD)
15
8 7
0
S1+1
Heure : 00 à 23 (BCD)
Jour : 01 à 31 (BCD)
15
8 7
0
S1+2
Mois : 01 à 12 (BCD)
Année : 00 à 99 (BCD)
Remarque En cas d'utilisation des données de l'horloge interne de l'UC à des fins de
comparaison, réglez S1 sur A351 pour spécifier les données d'horloge interne
de l'UC (A351 à A353).
282
Chapitre 3-7
Instructions de comparaison
S2 à S2+2 : Comparaison des données de temps
S2 à S2+2 contiennent les données de temps de comparaison. S2 à S2+2
doivent être dans la même zone de données.
15
8 7
0
S2
Secondes : 00 à 59 (BCD)
Minutes : 00 à 59 (BCD)
15
8 7
0
S2+1
Heure : 00 à 23 (BCD)
Jour : 01 à 31 (BCD)
15
8 7
0
S2+2
Mois : 01 à 12 (BCD)
Année : 00 à 99 (BCD)
Remarque La valeur année indique les deux derniers chiffres de l'année. Les valeurs 00
à 97 sont interprétées comme 2000 à 2097. Les valeurs 98 et 99 sont interprétées comme 1998 et 1999.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans
banque
Zone EM avec
banque
C
S1
S2
CIO 0000 à
CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
CIO 0000 à
CIO 6141
W000 à W509
H000 à H509
A000 à A957
T0000 à T4093
C0000 à C4093
D00000 à D32765
E00000 à E32765
CIO 0000 à
CIO 6142
W000 à W510
H000 à H510
A000 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à
En_32767
(n = 0 à C)
En_00000 à
En_32765
(n = 0 à C)
Adresses DM/EM
indirectes en binaire
---
Adresses DM/EM
indirectes en BCD
---
En_00000 à
En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
283
Chapitre 3-7
Instructions de comparaison
Zone
Description
C
S2
S1
Constantes
Voir page
précédente.
Voir page
précédente.
---
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
----,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Les instructions de comparaison de temps comparent les valeurs non masquées (bit correspondant de C réglé sur 0) des données de temps présent
dans S1 à S1+2 avec les données de temps de comparaison dans S2 à S2+2
et créent une condition d'exécution ON si la condition de comparaison est
vraie. Le résultat d'une instruction de comparaison de temps se réflète simultanément dans les drapeaux arithmétiques (=, <>, <, <=, >, >=).
Il existe 18 combinaisons possibles d'instructions de comparaison de temps.
Toute valeur de temps masquée dans le mot de contrôle (C) n'est pas incluse
dans la comparaison.
Le tableau ci-dessous indique l'état ON/OFF de chaque drapeau pour chaque
résultat de comparaison.
Résultat
=
Etat du drapeau
<
<=
OFF
ON
S1 = S2
ON
<>
OFF
S1 > S2
OFF
ON
OFF
OFF
ON
ON
S1 < S2
OFF
ON
ON
ON
OFF
OFF
S1
Comparaison
Résultat
>
OFF
>=
ON
S2
Drapeaux de condition
(=, <>, <, <=, >, >=)
Masquage des valeurs de temps
Les valeurs de temps peuvent être masquées individuellement et exclues de
l'opération de comparaison. Pour masquer une valeur de temps, réglez le bit
correspondant dans le mot de contrôle (C) sur 1. Les bits 00 à 05 de C masquent respectivement les secondes, minutes, heures, jour, mois et année.
Exemple :
Lorsque C = 39 hex, les 6 bits les plus à droite sont 111001 (année=1,
mois=1, jour=1, heures=0, minutes=0 et secondes=1), de sorte que seules
les heures et minutes sont comparées. Cette configuration de masque peut
être utilisée pour effectuer une opération particulière à un moment donné
(heure et minute) chaque jour.
284
Chapitre 3-7
Instructions de comparaison
Données de temps présent
15
08 07
S1+1
00
Seconde (00 à
59, BCD)
S1 Minute (00 à
59, BCD)
Jour du mois
(01 à 31, BCD)
Année (00 à
S1+2 99, BCD)
Comparaison des données de temps
15
S2
08 07
Minute (00 à
59, BCD)
Heure (00 à
23, BCD)
S2+1 Jour du mois
Heure (00 à
23, BCD)
Mois (01 à
12, BCD)
Année (00 à
S2+2 99, BCD)
Mois (01 à
12, BCD)
Compare uniquement les
données heures et minutes.
(01 à 31, BCD)
00
Seconde (00
à 59, BCD)
Les données année, mois, jour
et secondes sont masquées.
Les instructions de comparaison de données précédentes ont comparé des
données en unités de 16 bits. Les instructions de comparaison de temps se
limitent à la comparaison de valeurs de temps à 8 bits.
Le tableau ci-dessous illustre la structure de la zone Calendrier/Horloge
interne de l'UC.
Adresses
A35100 à A35107
A35108 à A35115
A35200 à A35207
A35208 à A35215
A35300 à A35307
A35308 à A35315
Contenu
Seconde (00 à 59, BCD)
Minute (00 à 59, BCD)
Heure (00 à 23, BCD)
Jour du mois (01 à 31, BCD)
Mois (01 à 12, BCD)
Année (00 à 99, BCD)
La zone Calendrier/Horloge peut être réglée au moyen d'un périphérique de
programmation (console de programmation incluse), de l'instruction
DATE(735) ou de la commande FINS “CLOCK WRITE” (0702 hex).
Résumé des instructions de comparaion de temps
Le tableau ci-dessous indique les codes fonction, les mnémoniques, les noms
et les fonctions des 18 instructions de comparaison de temps.
Code
Mnémonique
341
LD =DT
AND=DT
OR=DT
342
LD<>DT
AND<>DT
OR<>DT
343
LD<DT
AND<DT
OR<DT
344
LD<=DT
AND <= DT
OR<=DT
345
LD > DT
AND>DT
OR>DT
346
LD>=DT
AND>=DT
OR>=DT
Nom
LOAD EQUAL
AND EQUAL
OR EQUAL
LOAD NOT EQUAL
AND NOT EQUAL
OR NOT EQUAL
LOAD LESS THAN
AND LESS THAN
OR LESS THAN
LOAD LESS THAN OR EQUAL
AND LESS THAN OR EQUAL
OR LESS THAN OR EQUAL
LOAD GREATER THAN
AND GREATER THAN
OR GREATER THAN
LOAD GREATER THAN OR EQUAL
AND GREATER THAN OR EQUAL
OR GREATER THAN OR EQUAL
Fonction
Vrai si
S1 = S2
Vrai si
S1 ≠ S2
Vrai si
S1 < S2
Vrai si
S1 ≤ S2
Vrai si
S1 > S2
Vrai si
S1 ≥ S2
285
Chapitre 3-7
Instructions de comparaison
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON si tous les 6 bits de masque (bits 00 à 05 de C)
sont sur ON.
OFF dans tous les autres cas.
>
ON si S1 > S2.
Drapeau
supérieur à
Drapeau supérieur ou égal à
>=
OFF dans tous les autres cas.
ON si S1 ≥ S2.
Drapeau
d'égalité
=
OFF dans tous les autres cas.
ON si S1 = S2.
OFF dans tous les autres cas.
ON si S1 ≠ S2.
Drapeau de non =
égalité
Drapeau
inférieur à
<
OFF dans tous les autres cas.
ON si S1 < S2.
Drapeau inférieur ou égal à
<=
OFF dans tous les autres cas.
ON si S1 ≤ S2.
OFF dans tous les autres cas.
OFF ou inchangé (voir remarque.)
Drapeau négatif N
Remarque Dans les UC CS1 et CJ1, ces drapeaux passent OFF.
Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, ces drapeaux restent inchangés.
Précautions
Les instructions de comparaison de temps ne peuvent pas être utilisées
comme instructions finales ; en d'autres termes, une autre instruction doit être
utilisée entre ces instructions et la barre de bus droite.
Exemple
Si CIO 000000 est sur ON et que l'heure est 13:00:00, CIO 005000 est mis
sur ON. Les contenus de A351 à A353 (données calendrier/horloge interne
de l'UC) sont utilisés comme données de temps présent et les contenus de
D00100 à D00102 comme données de temps de comparaison. Les valeurs
d'année, mois et jour sont masquées ; seules les données heures, minutes et
secondes sont donc comparées.
005000
000000
=DT
D00000
C
D00000
S1
A352
S2
D00100
7
6
5
4
3
2
1
0
-
-
1
1
1
0
0
0
D00000 réglé sur 0038 hex
Secondes comparées.
Minutes comparées.
Heures comparées.
Jour masqué.
Mois masqué.
Année masquée.
Les données grisées sont comparées.
15
A351
8 7
Minute
A352 Jour du mois
A353
Année
15
0
Seconde
S2:
D00100
8 7
0
00
00
Heure
S2+1 : D00101
-
13
Mois
S2+2 : D00102
-
-
Drapeaux de condition réglés dès que
la condition d'exécution passe à ON.
286
Chapitre 3-7
Instructions de comparaison
3-7-3
COMPARE : CMP(020)
Objet
Compare deux valeurs binaires non signées (constantes et/ou le contenu des
mots spécifiés) et place le résultat dans les drapeaux arithmétiques dans la
zone auxiliaire.
Symbole du schéma
contact
CMP(020)
S1
S2
S1: Donnée de
comparaison 1
S2: Donnée de
comparaison 2
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat (voir remarque.)
CMP(020)
Non prise en
charge
Non prise en
charge
!CMP(020)
Remarque Le rafraîchissement immédiat n'est pas pris en charge par les UC CS1D pour
les systèmes d'UC en duplex.
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Zones de
programmes de pas
OK
SousTâches
programmes
d'interruption
OK
OK
S1
S2
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
(binaire)
DR0 à DR15
287
Chapitre 3-7
Instructions de comparaison
Zone
S2
S1
Registres d'index
--Adressage indirect à
,IR0 à ,IR15
l’aide de registres d’index –2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Description
CMP(020) compare les données binaires non signées dans S1 et S2 et place
le résultat dans les drapeaux arithmétiques (drapeaux supérieur à, supérieur
ou égal à, égal à, inférieur ou égal à, inférieur à, et drapeau de non égalité) de
la zone auxiliaire.
Comparaison de valeurs
binaires non signées
Drapeaux
arithmétiques
(>, >=, =, <=, <, <>)
Etat du drapeau de condition
Le tableau ci-dessous indique l'état des drapeaux arithmétiques après exécution de CMP(020). (L'état “---” indique que le drapeau peut être sur ON ou
OFF.)
Résultat
CMP(020)
S1 > S2
>
ON
>=
ON
Etat du drapeau
=
<=
OFF
OFF
<
OFF
<>
ON
S1 = S2
OFF
ON
ON
ON
OFF
OFF
S1 < S2
OFF
OFF
OFF
ON
ON
ON
Utilisation des résultats de CMP(020) dans le programme
Lorsque CMP(020) est exécutée, le résultat se reflète dans les drapeaux
arithmétiques. Contrôlez la sortie voulue ou l'instruction finale avec une branche de la même condition d'entrée qui contrôle CMP(020), comme indiqué
dans le schéma ci-dessous. Dans ce cas, le drapeau d'égalité et la sortie A
passent à ON lorsque S1 = S2.
Utilisation correcte de CMP(020)
CMP
S1
S2
Drapeau arithmétique
(Exemple : Drapeau
d'égalité)
A
Utilisation des résultats de CMP(020) dans le programme
Ne pas programmer d'autre instruction entre CMP(020) et l'instruction contrôlée par le drapeau arithmétique car l'autre instruction risque de modifier l'état
du drapeau arithmétique. Dans ce cas, les résultats de l'instruction B risquent
de modifier les résultats de CMP(020).
288
Chapitre 3-7
Instructions de comparaison
Utilisation incorrecte de CMP(020)
CMP
S1
S2
Instruction
B
Drapeau arithmétique
(Exemple : Drapeau
d'égalité)
A
La variation de rafraîchissement immédiat (!CMP(020)) peut être utilisée avec
des mots affectés aux entrées externes spécifiées dans S1 et/ou S2. Lorsque
!CMP(020) est exécutée, le rafraîchissement de l'entrée est effectué pour le
mot d'entrée externe spécifié dans S1 et/ou S2 et cette valeur rafraîchie est
comparée. (Le rafraîchissement immédiat ne peut pas être réalisé sur les
entrées affectées aux cartes E/S haute densité Groupe 2 ni aux cartes montées sur racks esclaves.)
Drapeaux
Nom
Etiquette
CX-Programmer
P_ER
P_GT
Drapeau d'erreur
Drapeau supérieur à
Drapeau supérieur ou égal à
Drapeau d'égalité
P_EQ
Drapeau de non égalité
Drapeau inférieur à
P_NE
P_LT
Drapeau inférieur ou égal à
Drapeau négatif
P_GE
P_LE
P_N
Etiquette de console
Fonctionnement
de programmation
ER
OFF ou inchangé (voir remarque.)
>
ON si S1 > S2.
>=
OFF dans tous les autres cas.
ON si S1 ≥ S2.
=
OFF dans tous les autres cas.
ON si S1 = S2.
=
OFF dans tous les autres cas.
ON si S1 ≠ S2.
<
OFF dans tous les autres cas.
ON si S1 < S2.
<=
OFF dans tous les autres cas.
ON si S1 ≤ S2.
N
OFF dans tous les autres cas.
OFF ou inchangé (voir remarque.)
Remarque Dans les UC CS1 et CJ1, ces drapeaux sont sur OFF.
Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, ces drapeaux restent inchangés.
Précautions
Ne pas programmer d'autre instruction entre CMP(020) et une condition
d'entrée qui accède au résultat de CMP(020) car l'autre instruction risque de
modifier l'état des drapeaux arithmétiques.
289
Chapitre 3-7
Instructions de comparaison
3-7-4
DOUBLE COMPARE : CMPL(060)
Objet
Symbole du schéma
contact
Compare deux valeurs binaires doubles non signées (constantes et/ou le contenu des mots spécifiés) et place le résultat dans les drapeaux arithmétiques
de la zone auxiliaire.
CMPL(060)
S1
S2
S1: Donnée de
comparaison 1
S2: Donnée de
comparaison 2
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Zones de
programmes de pas
OK
S1
CMPL(060)
Non prise en charge
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
S2
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
Adresses DM/EM
@ D00000 à @ D32767
indirectes en binaire
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
Adresses DM/EM
*D00000 à *D32767
indirectes en BCD
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
Constantes
#00000000 à #FFFFFFFF
(binaire)
Registres de données
--Registres d'index
IR0 à IR15
Adressage indirect à
,IR0 à ,IR15
l’aide de registres d’index –2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
290
Chapitre 3-7
Instructions de comparaison
Description
CMPL(060) compare les données binaires non signées dans S1 +1, S1 et
S2+1, S2 et place le résultat dans les drapeaux arithmétiques (drapeaux
supérieur à, supérieur ou égal à, égal à, inférieur ou égal à, inférieur à, et drapeau de non égalité) à l'intérieur de la zone auxiliaire.
Comparaison de valeurs
binaires non signées
S2+1
Drapeaux arithmétiques
(>, >=, =, <=, <, <>)
Etat du drapeau arithmétique
Le tableau ci-dessous indique l'état des drapeaux arithmétiques après exécution de CMPL(060). (L'état “---” indique que le drapeau peut être sur ON ou
OFF.)
Résultat
CMPL(060)
S1 +1, S1 > S2+1, S2 ON
>=
ON
Etat du drapeau
=
<=
OFF
OFF
<
OFF
<>
ON
S1+1, S1 = S2+1, S2
ON
ON
ON
OFF
OFF
OFF
OFF
ON
ON
ON
>
OFF
S1 +1, S1 < S2+1, S2 OFF
Utilisation des résultats de CMPL(060) dans le programme
Lorsque CMPL(060) est exécutée, le résultat se reflète dans les drapeaux
arithmétiques. Contrôlez la sortie voulue ou l'instruction finale avec une branche de la même condition d'entrée qui contrôle CMPL(060), comme indiqué
dans le schéma ci-dessous. Dans ce cas, le drapeau d'égalité et la sortie A
passent à ON lorsque S1 +1, S1 = S2+1, S2.
Utilisation correcte de CMPL(060)
CMPL
S1
S2
Drapeau arithmétique
(Exemple : Drapeau
d'égalité)
A
Utilisation des résultats de CMPL(060) dans le programme
Ne pas programmer d'autre instruction entre CMPL(060) et l'instruction contrôlée par le drapeau arithmétique car l'autre instruction risque de modifier
l'état du drapeau arithmétique. Dans ce cas, les résultats de l'instruction B risquent de modifier les résultats de CMPL(060).
291
Chapitre 3-7
Instructions de comparaison
Utilisation incorrecte de CMPL(060)
CMPL
S1
S2
Instruction
B
Drapeau arithmétique
(Exemple : Drapeau
d'égalité)
A
Drapeaux
Nom
Etiquette
CX-Programmer
P_ER
P_GT
Drapeau d'erreur
Drapeau supérieur à
Etiquette de console
Fonctionnement
de programmation
ER
OFF ou inchangé (voir remarque.)
>
ON si S1+1, S1 > S2+1, S2.
Drapeau supérieur ou égal à P_GE
>=
OFF dans tous les autres cas.
ON si S1+1, S1 ≥ S2+1, S2.
Drapeau d'égalité
P_EQ
=
OFF dans tous les autres cas.
ON si S1+1, S1 = S2+1, S2.
Drapeau de non égalité
P_NE
<>
OFF dans tous les autres cas.
ON si S1+1, S1 ≠ S2+1, S2.
Drapeau inférieur à
P_LT
<
OFF dans tous les autres cas.
ON si S1+1, S1 < S2+1, S2.
<=
OFF dans tous les autres cas.
ON si S1+1, S1 ≤ S2+1, S2.
N
OFF dans tous les autres cas.
OFF ou inchangé (voir remarque.)
Drapeau inférieur ou égal à
Drapeau négatif
P_LE
P_N
Remarque Dans les UC CS1 et CJ1, ces drapeaux passent OFF.
Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, ces drapeaux restent inchangés.
Précautions
Ne pas programmer d'autre instruction entre CMPL(060) et une condition
d'entrée qui accède au résultat de CMPL(060) car l'autre instruction risque de
modifier l'état des drapeaux arithmétiques.
Exemple
Lorsque CIO 000000 est sur ON dans l'exemple suivant, les données binaires
non signées à 8 chiffres dans CIO 0011 et CIO 0010 sont comparées aux
données binaires non signées à 8 chiffres dans CIO 0009 et CIO 0008, et le
résultat est placé dans les drapeaux arithmétiques. Les résultats enregistrés
dans les drapeaux supérieur à, égal à et inférieur à sont immédiatement sauvegardés dans CIO 000200 (supérieur à), CIO 000201 (égal à) et
CIO 000202 (inférieur à).
292
Chapitre 3-7
Instructions de comparaison
Etat du drapeau
Résultat
Comparaison
3-7-5
>
(0)
=
(0)
<
(1)
SIGNED BINARY COMPARE : CPS(114)
Objet
Compare deux valeurs binaires signées (constantes et/ou le contenu des
mots spécifiés) et place le résultat dans les drapeaux arithmétiques de la
zone auxiliaire.
Symbole du schéma
contact
CPS(114)
S1
S2
S1: Donnée de
comparaison 1
S2: Donnée de
comparaison 2
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat (voir remarque.)
CPS(114)
Non prise en
charge
Non prise en
charge
!CPS(114)
Remarque Le rafraîchissement immédiat n'est pas pris en charge par les UC CS1D.
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zones de
programmes de pas
OK
SousTâches
programmes
d'interruption
OK
OK
S1
Zone CIO
Zone Travail
Zone Bit de maintien
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
Adresses DM/EM
indirectes en binaire
S2
293
Chapitre 3-7
Instructions de comparaison
Zone
S2
S1
Adresses DM/EM
indirectes en BCD
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
Constantes
#0000 à #FFFF
(binaire)
Registres de données
DR0 à DR15
Registres d'index
--Adressage indirect à
,IR0 à ,IR15
l’aide de registres d’index –2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Description
CPS(114) compare les données binaires signées dans S1 et S2 et place le
résultat dans les drapeaux arithmétiques (drapeaux supérieur à, supérieur ou
égal à, égal à, inférieur ou égal à, inférieur à, et drapeau de non égalité) de la
zone auxiliaire.
Comparaison de valeurs
binaires signées
Drapeaux
arithmétiques
(>, >=, =, <=, <, <>)
Remarque CPS(114) traite les données dans S1 et S2 comme données binaires signées
comprises entre 8000 et 7FFF (–32 768 à 32 767 décimal).
Etat du drapeau arithmétique
Le tableau ci-dessous indique l'état des drapeaux arithmétiques après exécution de CPS(114). (L'état “---” indique que le drapeau peut être sur ON ou OFF.)
Résultat de
CPS(114)
S1 > S2
ON
ON
Etat du drapeau
=
<=
OFF
OFF
S1 = S2
OFF
ON
ON
ON
OFF
OFF
S1 < S2
OFF
OFF
OFF
ON
ON
ON
>
>=
<
<>
OFF
ON
Utilisation des résultats de CPS(114) dans le programme
Lorsque CPS(114) est exécutée, le résultat se reflète dans les drapeaux arithmétiques. Contrôlez la sortie voulue ou l'instruction finale avec une branche
de la même condition d'entrée qui contrôle CPS(114), comme indiqué dans le
schéma ci-dessous. Dans ce cas, le drapeau d'égalité et la sortie A passent à
ON lorsque S1 = S2.
Utilisation correcte de CPS(114)
CPS
S1
S2
Drapeau arithmétique
(Exemple : Drapeau
d'égalité)
294
A
Chapitre 3-7
Instructions de comparaison
Utilisation des résultats de CPS(114) dans le programme
Ne pas programmer d'autre instruction entre CPS(114) et l'instruction contrôlée par le drapeau arithmétique car l'autre instruction risque de modifier l'état
du drapeau arithmétique. Dans ce cas, les résultats de l'instruction B risquent
de modifier les résultats de CPS(114).
Utilisation incorrecte de CPS(114)
CPS
S1
S2
Instruction
B
Drapeau arithmétique
(Exemple : Drapeau
d'égalité)
A
La variation de rafraîchissement immédiat (!CPS(114)) peut être utilisée avec
des mots affectés aux entrées externes spécifiées dans S1 et/ou S2. Lorsque
!CPS(114) est exécutée, le rafraîchissement de l'entrée est effectué pour le
mot d'entrée externe spécifié dans S1 et/ou S2 et cette valeur rafraîchie est
comparée. (Le rafraîchissement immédiat ne peut pas être réalisé sur les
entrées affectées aux cartes E/S haute densité Groupe 2 ni aux cartes montées sur racks esclaves.)
Drapeaux
Nom
Drapeau d'erreur
Drapeau supérieur à
Etiquette
Fonctionnement
ER
OFF ou inchangé (voir remarque.)
>
ON si S1 > S2.
OFF dans tous les autres cas.
Drapeau supérieur ou égal à > =
ON si S1 ≥ S2.
OFF dans tous les autres cas.
Drapeau d'égalité
=
ON si S1 = S2.
OFF dans tous les autres cas.
Drapeau de non égalité
<>
ON si S1 ≠ S2.
OFF dans tous les autres cas.
Drapeau inférieur à
<
ON si S1 < S2.
OFF dans tous les autres cas.
Drapeau inférieur ou égal à
<=
ON si S1 ≤ S2.
OFF dans tous les autres cas.
Drapeau négatif
N
OFF ou inchangé (voir remarque.)
Remarque Dans les UC CS1 et CJ1, ces drapeaux passent OFF.
Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, ces drapeaux restent inchangés.
Précautions
Ne pas programmer d'autre instruction entre CPS(114) et une condition
d'entrée qui accède au résultat de CPS(114) car l'autre instruction risque de
modifier l'état des drapeaux arithmétiques.
295
Chapitre 3-7
Instructions de comparaison
3-7-6
DOUBLE SIGNED BINARY COMPARE : CPSL(115)
Objet
Symbole du schéma
contact
Compare deux valeurs binaires signées doubles (constantes et/ou le contenu
des mots spécifiés) et place le résultat dans les drapeaux arithmétiques de la
zone auxiliaire.
CPSL(115)
S1
S2
S1: Donnée de
comparaison 1
S2: Donnée de
comparaison 2
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Zones de
programmes de pas
OK
S1
CPSL(115)
Non prise en
charge
Non prise en
charge
Non prise en
charge
SousTâches
programmes
d'interruption
OK
OK
S2
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
Adresses DM/EM
@ D00000 à @ D32767
indirectes en binaire
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
Adresses DM/EM
*D00000 à *D32767
indirectes en BCD
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
Constantes
#00000000 à #FFFFFFFF
(binaire)
Registres de données
--Registres d'index
--Adressage indirect à
,IR0 à ,IR15
l’aide de registres d’index –2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
296
Chapitre 3-7
Instructions de comparaison
Description
CPSL(115) compare les données binaires signées doubles dans S1 +1, S1 et
S2+1, S2 et place le résultat dans les drapeaux arithmétiques (drapeaux
supérieur à, supérieur ou égal à, égal à, inférieur ou égal à, inférieur à, et drapeau de non égalité) de la zone auxiliaire.
Comparaison de valeurs
binaires signées
S2+1
Drapeaux arithmétiques
(>, >=, =, <=, <, <>)
Remarque CPSL(115) traite les données dans S1 et S2 comme données binaires
signées doubles comprises entre 8000 0000 et 7FFF FFFF (–2 147 483 648 à
2 147 483 647 décimal).
Etat du drapeau arithmétique
Le tableau ci-dessous indique l'état des drapeaux arithmétiques après exécution de CPSL(115). (L'état “---” indique que le drapeau peut être sur ON ou
OFF.)
Résultat de
CPSL(115)
>
>=
Etat du drapeau
=
<=
<
<>
S1 +1, S1 > S2+1, S2
ON
ON
OFF
OFF
OFF
ON
S1+1, S1 = S2+1, S2
OFF
ON
ON
ON
OFF
OFF
S1 +1, S1 < S2+1, S2
OFF
OFF
OFF
ON
ON
ON
Utilisation des résultats de CPSL(115) dans le programme
Lorsque CPSL(115) est exécutée, le résultat se reflète dans les drapeaux
arithmétiques. Contrôlez la sortie voulue ou l'instruction finale avec une branche de la même condition d'entrée qui contrôle CPSL(115), comme indiqué
dans le schéma ci-dessous. Dans ce cas, le drapeau d'égalité et la sortie A
passent à ON lorsque S1 +1, S1 = S2+1, S2.
Utilisation correcte de CPSL(115)
CPSL
S1
S2
Drapeau arithmétique
(Exemple : Drapeau
d'égalité)
A
Utilisation des résultats de CPSL(115) dans le programme
Ne pas programmer d'autre instruction entre CPSL(115) et l'instruction contrôlée par le drapeau arithmétique car l'autre instruction risque de modifier
l'état du drapeau arithmétique. Dans ce cas, les résultats de l'instruction B risquent de modifier les résultats de CPSL(115).
297
Chapitre 3-7
Instructions de comparaison
Utilisation incorrecte de CPSL(115)
CPSL
S1
S2
Instruction
B
Drapeau arithmétique
(Exemple : Drapeau
d'égalité)
A
Drapeaux
Nom
Drapeau d'erreur
Drapeau supérieur à
Etiquette
Fonctionnement
ER
OFF ou inchangé (voir remarque.)
>
ON si S1+1, S1 > S2+1, S2.
Drapeau supérieur ou égal à > =
OFF dans tous les autres cas.
ON si S1+1, S1 ≥ S2+1, S2.
Drapeau d'égalité
=
OFF dans tous les autres cas.
ON si S1+1, S1 = S2+1, S2.
Drapeau de non égalité
=
OFF dans tous les autres cas.
ON si S1+1, S1 ≠ S2+1, S2.
Drapeau inférieur à
<
OFF dans tous les autres cas.
ON si S1+1, S1 < S2+1, S2.
Drapeau inférieur ou égal à
<=
OFF dans tous les autres cas.
ON si S1+1, S1 ≤ S2+1, S2.
Drapeau négatif
N
OFF dans tous les autres cas.
OFF ou inchangé (voir remarque.)
Remarque Dans les UC CS1 et CJ1, ces drapeaux passent OFF.
Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, ces drapeaux restent inchangés.
Précautions
Ne pas programmer d'autre instruction entre CPSL(115) et une condition
d'entrée qui accède au résultat de CPSL(115) car l'autre instruction risque de
modifier l'état des drapeaux arithmétiques.
Exemple
Lorsque CIO 000000 est sur ON dans l'exemple suivant, les données binaires
signées à 8 chiffres dans D00002 et D00001 sont comparées aux données
binaires signées à 8 chiffres dans D00006 et D00005, et le résultat est placé
dans les drapeaux arithmétiques.
• Si le contenu de D00002 et D00001 est supérieur à celui de D00006 et
D00005, le drapeau supérieur à passe à ON, ce qui entraîne la mise sur
ON de CIO 002000.
• Si le contenu de D00002 et D00001 est égal à celui de D00006 et
D00005, le drapeau d'égalité passe à ON, ce qui entraîne la mise sur ON
de CIO 002001.
• Si le contenu de D00002 et D00001 est inférieur à celui de D00006 et
D00005, le drapeau inférieur à passe à ON, ce qui entraîne la mise sur
ON de CIO 002002.
298
Chapitre 3-7
Instructions de comparaison
1234
5678
D0001
Comparaison
D0005
ABCD
3-7-7
Etat du
>
=
(1)
(0)
<
(0)
EF12
MULTIPLE COMPARE : MCMP(019)
Objet
Symbole du schéma
contact
Compare 16 mots consécutifs avec 16 autres mots consécutifs et met sur ON
le bit correspondant dans le mot de résultat lorsque les contenus des mots ne
sont pas égaux.
MCMP(019)
S1
S1: Premier mot du jeu 1
S2
S2: Premier mot du jeu 2
R
R: Mot de résultat
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
MCMP(019)
@MCMP(019)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
S1: Premier mot du jeu 1
Spécifie le début de la première plage de 16 mots. S1 et S1+15 doivent être
dans la même zone de données.
S2: Premier mot du jeu 2
Spécifie le début de la deuxième plage de 16 mots. S2 et S2+15 doivent être
dans la même zone de données.
R : Mot de résultat
Chaque bit de R contient le résultat d'une comparaison entre deux mots dans
les jeux de 16 mots. Le bit n de R (n = 00 à 15) contient le résultat de la comparaison entre les mots S1+n et S2+n.
15
R
14
1
0
Résultat de la comparaison pour
S1et S2
Résultat de la comparaison pour
S1+1 et S2+1
Résultat de la comparaison pour S1+14 et S2+14
Résultat de la comparaison pour S1+15 et S2+15
299
Chapitre 3-7
Instructions de comparaison
Spécifications de
l’opérande
Zone
S1
R
Zone CIO
CIO 0000 à CIO 6128
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
W000 à W496
H000 à H496
A000 à A944
T0000 à T4080
C0000 à C4080
D00000 à D32752
E00000 à E32752
En_00000 à 32752
(n = 0 à C)
Adresses DM/EM
indirectes en binaire
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
----DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S2
CIO 0000 à
CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à
En_32767
(n = 0 à C)
MCMP(019) compare les contenus des 16 mots S1 à S1+15 aux contenus
des 16 mots S2 à S2+15, et met sur ON le bit correspondant dans le mot R
lorsque les contenus ne sont pas égaux.
Le contenu de S1 est comparé au contenu de S2, le contenu de S1+1 au contenu de S2+1, ..., et le contenu de S1+15 au contenu de S2+15. Le bit n de R
passe à OFF si le contenu de S1+n est égal au contenu de S2+n ; le bit n de R
passe à ON si les contenus ne sont pas égaux. Si les contenus des 16 paires
de mots sont identiques, le drapeau d'égalité passe à ON après l'exécution de
l'instruction.
Comparaison
R
0: Les mots sont égaux.
1: Les mots ne sont pas
égaux.
300
Chapitre 3-7
Instructions de comparaison
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Exemple
Etiquette
ER
OFF
=
Fonctionnement
ON si le mot de résultat est 0000.
(Les deux jeux de 16 mots contiennent les mêmes données.)
OFF dans tous les autres cas.
Lorsque CIO 000000 est sur ON dans l'exemple suivant, MCMP(019) compare les mots D00100 à D00115 selon l'ordre des mots D00200 à D00215 et
met sur ON les bits correspondants dans D00300 lorsque les mots ne sont
pas égaux.
R : D00300
S1 :
3-7-8
S2 :
TABLE COMPARE : TCMP(085)
Objet
Symbole du schéma
contact
Compare les données sources avec le contenu de 16 mots consécutifs et met
sur ON le bit correspondant dans le mot de résultat lorsque les contenus des
mots sont égaux.
TCMP(085)
S
S: Données sources
T
T: Premier mot de la
table
R: Mot de résultat
R
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
TCMP(085)
@TCMP(085)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
301
Chapitre 3-7
Instructions de comparaison
Opérandes
T : Premier mot de la table
Spécifie le début de la table de 16 mots. T et T+15 doivent être dans la même
zone de données.
R : Mot de résultat
Chaque bit de R contient le résultat d'une comparaison entre S et un mot
dans la table de 16 mots. Le bit n de R (n = 00 à 15) contient le résultat de la
comparaison entre S et T+n.
Donnée de comparaison 0
Donnée de comparaison 1
à
à
Donnée de comparaison 15
15
14
R
1
0
Résultat de la comparaison
pour S et T
Résultat de la comparaison
pour S et T+1
Résultat de la comparaison pour S et T+14
Résultat de la comparaison pour S et T+15
Spécifications de
l’opérande
Zone
Zone CIO
S
CIO 0000 à
CIO 6143
T
CIO 0000 à
CIO 6128
R
CIO 0000 à
CIO 6143
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à
En_32767
(n = 0 à C)
W000 à W496
H000 à H496
A000 à A944
T0000 à T4080
C0000 à C4080
D00000 à D32752
E00000 à E32752
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à
En_32752
(n = 0 à C)
En_00000 à
En_32767
(n = 0 à C)
Adresses DM/EM indirectes en binaire
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
DR0 à DR15
-----
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
302
DR0 à DR15
,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Chapitre 3-7
Instructions de comparaison
Description
TCMP(085) compare les données sources (S) à chacun des 16 mots T à
T+15 et met sur ON le bit correspondant dans le mot R lorsque les données
sont égales. Le bit n de R passe à ON si le contenu de T+n est égal à S, et
passe à OFF sil est différent.
S est comparé au contenu de T et le bit 00 de R est mis sur ON s'ils sont
égaux ou sur OFF s'ils sont différents, S est comparé au contenu de T+1 et le
bit 01 de R est mis sur ON s'ils sont égaux ou sur OFF s'ils sont différents, ...,
et S est comparé au contenu de T+15 et le bit 15 de R est mis sur ON s'ils
sont égaux ou sur OFF s'ils sont différents.
R
Comparaison
1: Les données sont
égales.
0: Les données ne
sont pas égales.
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Exemple
Etiquette
ER
OFF
=
Fonctionnement
ON si le mot de résultat est 0000.
(Aucun des 16 mots de la table n’est égal à S.)
OFF dans tous les autres cas.
Lorsque CIO 000000 passe à ON dans l'exemple suivant, TCMP(085) compare le contenu de D00100 avec le contenu des mots D00200 à D00215 et
met sur ON les bits correspondants dans D00300 lorsque les contenus sont
égaux ou sur OFF lorsque les contenus sont différents.
R : D00300
S : D00100
T:
303
Chapitre 3-7
Instructions de comparaison
3-7-9
BLOCK COMPARE : BCMP(068)
Objet
Symbole du schéma
contact
Compare les données sources à 16 plages (définies par 16 limites inférieures
et 16 limites supérieures) et met sur ON le bit correspondant dans le mot de
résultat lorsque les données sources sont comprises dans la plage.
BCMP(068)
S
S: Données sources
B
B: Premier mot du bloc
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
BCMP(068)
@BCMP(068)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
B : Premier mot du bloc
Spécifie le début d'un bloc de 32 mots (16 paires de limite inférieure/supérieure). B et B+31 doivent être dans la même zone de données.
R : Mot de résultat
Chaque bit de R contient le résultat d'une comparaison entre S et l'une des 16
plages définies dans le bloc de 32 mots. Le bit n de R (n = 00 à 15) contient le
résultat de la comparaison entre S et la nème paire de mots.
15 14
1
0
R
Résultat de la
comparaison pour S et la
plage B+28 ↔ B+29
Résultat de la comparaison pour
S et la plage B+30 ↔ B+31
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
304
S
CIO 0000 à
CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
Résultat de la
comparaison pour S
et la plage B ↔ B+1
Résultat de la
comparaison pour S et
la plage B+2 ↔ B+3
B
CIO 0000 à
CIO 6112
W0000 à W480
H000 à H480
A000 à A928
T0000 à T4064
C0000 à C4064
D00000 à D32736
E00000 à E32736
R
CIO 0000 à
CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
Chapitre 3-7
Instructions de comparaison
Zone
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S
B
R
En_00000 à
En_00000 à
En_00000 à
En_32767
En_32736
En_32767
(n = 0 à C)
(n = 0 à C)
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
DR0 à DR15
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
BCMP(068) compare les données sources (S) aux 16 plages définies par des
paires de valeurs de limite inférieure et supérieure dans B à B+31. Le premier
mot dans chaque paire (B+2n) fournit la limite inférieure et le deuxième mot
(B+2n+1) fournit la limite supérieure de la plage n (n = 0 à 15). Si S est dans
l'une de ces plages (limites inférieure et supérieure comprises), le bit correspondant dans R passe à ON. Le reste des bits dans R passe à OFF.
B
B+2
B+4
B+6
B+8
B+10
B+12
B+14
B+16
B+18
B+20
B+22
B+24
B+26
B+28
B+30
≤S≤
≤S≤
≤S≤
≤S≤
≤S≤
≤S≤
≤S≤
≤S≤
≤S≤
≤S≤
≤S≤
≤S≤
≤S≤
≤S≤
≤S≤
≤S≤
B+1
B+3
B+5
B+7
B+9
B+11
B+13
B+15
B+17
B+19
B+21
B+23
B+25
B+27
B+29
B+31
Bit 00 de R
Bit 01 de R
Bit 02 de R
Bit 03 de R
Bit 04 de R
Bit 05 de R
Bit 06 de R
Bit 07 de R
Bit 08 de R
Bit 09 de R
Bit 10 de R
Bit 11 de R
Bit 12 de R
Bit 13 de R
Bit 14 de R
Bit 15 de R
Par exemple, le bit 00 de R passe à ON si S est dans la première plage (B ≤ S
≤ B+1), le bit 01 de R passe à ON si S est dans la deuxième plage (B+2 ≤ S ≤
B+3), ..., et le bit 15 de R passe à ON si S est dans la quinzième plage (B+30
≤ S ≤ B+31). Tous les autres bits dans R sont sur OFF.
305
Chapitre 3-7
Instructions de comparaison
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
=
Fonctionnement
ON si le mot de résultat est 0000.
(S n'est dans aucune des 16 plages.)
OFF dans tous les autres cas.
Précautions
Une erreur se produit si la limite inférieure est supérieure à la limite supérieure, mais 0 (hors plage) est placé dans le bit correspondant de R.
Exemple
Lorsque CIO 000000 passe à ON dans l'exemple suivant, BCMP(068) compare le contenu de D00100 avec les 16 plages définies dans D00200 à
D00231 et met sur ON les bits correspondants dans D00300 lorsque S est
dans la plage ou sur OFF lorsque S est hors plage.
R : D00300
à
S : D00100
à
à
à
à
à
à
à
à
à
à
à
à
à
à
à
3-7-10 EXPANDED BLOCK COMPARE : BCMP2(502)
Objet
Symbole du schéma
contact
306
Compare les données sources avec 256 plages (définies par 256 limites inférieures et 256 limites supérieures) maximum et met sur ON le bit correspondant dans le mot de résultat lorsque les données sources sont comprises
dans la plage. BCMP2(502) n'est prise en charge que par les UC CS1-H,
CJ1-H et CS1D ver. 2.0 ou supérieure uniquement, et les UC CJ1M (pré-ver.
2.0 ou ver. 2.0 ou supérieure).
BCMP2(502)
S
S: Données sources
B
B: Premier mot du bloc
R
R: Premier mot de
résultat
Chapitre 3-7
Instructions de comparaison
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
BCMP2(502)
@BCMP2(502)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
B : Premier mot du bloc
Spécifie le début d'un bloc de comparaison contenant jusqu'à 513 mots
incluant un maximum de 256 paires de limite inférieure/supérieure). Tous les
mots doivent être dans la même zone de données.
Bloc de comparaison
8 7
Mot 15
B
Dernière plage "N"
B+1
Plage 0 valeur A
B+2
Plage 0 valeur B
B+3
Plage 1 valeur A
B+4
Plage 1 valeur B
B+5
Plage 2 valeur A
B+6
Plage 2 valeur B
B+31
Plage 15 valeur A
B+32
Plage 15 valeur B
B+33
Plage 16 valeur A
B+34
Plage 16 valeur B
B+35
Plage 17 valeur A
B+36
Plage 17 valeur B
B+37
Plage 18 valeur A
B+38
Plage 18 valeur B
Plage N B+2N+1
Plage N valeur A
B+2(N+1)
Plage N valeur B
Plage 0
Plage 1
Plage 2
Données
de
plage
00 hex
Plage 15
Plage 16
Plage 17
Plage 18
0
N : 00 à FF hex
(0 à 255)
R : Premier mot de résultat
Chaque bit de chaque mot de R contient le résultat d'une comparaison entre
S et l'une des plages définies dans le bloc de comparaison. Le nombre maximum de mots de résultat est de 16 ; en d'autres termes, m est 0 à 15.
15 14
n
R+m
0
Résultat de la
comparaison pour S
et plage 15m
Résultat de la comparaison
pour S et plage 15m +14
Résultat de la comparaison
pour S et plage 15m + 15
Résultat de la
comparaison pour S
et plage 15m + n
307
Chapitre 3-7
Instructions de comparaison
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
----@ D00000 à @ D32767
B
R
A448 à A959
*D00000 à *D32767
#0000 à #FFFF
(binaire)
DR0 à DR15
---
-----
,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
BCMP2(502) compare les données sources (S) aux plages définies par des
paires de valeurs de limite inférieure et supérieure dans le bloc de comparaison. Si S est dans l'une de ces plages (limites inférieure et supérieure comprises), les bits correspondants dans les mots de résultat (R à R+15 max.)
passent à ON. Le reste des bits dans R passe à OFF.
Le nombre de plages est déterminé par la valeur N définie dans l'octet inférieur de B. N peut être compris entre 0 et 255. L'octet supérieur de B doit être
00 hex.
Bloc de comparaison
15
87
0
Dernière N : 00 à FF hex (0 à 255)
plage "N"
B 00 hex
B+1
Plage 0 valeur A Plage 0 valeur B
Mots de résultat
R Bit
B+2
0
B+3
Plage 1 valeur A Plage 1 valeur B
B+4
B+5
Plage 2 valeur A Plage 2 valeur B
B+6
Plages de comparaison
Données
sources
S
:
B+31
Plage 15 valeur A Plage 15 valeur B
B+32
Plage 16 valeur A Plage 16 valeur B
B+34
B+35
Plage 17 valeur A Plage 17 valeur B
B+36
B+37
Plage 18 valeur A Plage 18 valeur B
B+38
:
Plage N valeur A Plage N valeur B
Plages
2
:
B+33
B+2N+1
1
15
R+1 Bit
0
1
2
:
B+2N+2
Dans la plage : ON
Hors plage : OFF
Nombre de plages
Le nombre de plages dans le bloc de comparaison est défini dans le premier
mot du bloc. Il est possible de définir jusqu'à 256 plages.
308
Chapitre 3-7
Instructions de comparaison
Définition des plages
Les valeurs A et B pour chaque plage déterminent le mode de fonctionnement
de la comparaison en fonction de la valeur la plus élevée, comme indiqué cidessous.
·
Si valeur A ≤ valeur B alors,
valeur A ≤ plage de comparaison ≤ valeur B
Plage de
comparaison
Valeur A
Valeur B
· Si valeur A > valeur B alors,
alors, plage de comparaison ≤ valeur B et valeur A ≤ plage
de comparaison
Plage de
comparaison
Plage de
comparaison
Valeur A
Valeur B
Exemple
Lorsque B+1 ≤ B+2
Si B+1 ≤ S ≤ B+2, le bit 0 de R passe alors à ON,
Si B+3 ≤ S ≤ B+4, le bit 1 de R passe alors à ON,
Si S < B+5 et B+6 < S, le bit 2 de R passe alors à OFF, et
Si S < B+7 et B+8 < S, le bit 3 de R passe alors à OFF.
Lorsque B+1 > B+2
Si S ≤ B+2 et B+1 ≤ S, le bit 0 de R passe alors à ON,
Si S ≤ B+4 et B+3 ≤ S, le bit 1 de R passe alors à ON,
Si B+6 < S < B+5, le bit 2 de R passe alors à OFF, et
Si B+8 < S < B+7, le bit 3 de R passe alors à OFF.
Emplacement de stockage des résultats
Les résultats sont placés dans les bits correspondants dans le mot R. S'il
existe plus de 16 plages de comparaison, les mots consécutifs suivant R sont
utilisés. Le nombre maximum de mots de résultat est 16 ; en d'autres termes,
m vaut 0 à 15.
15 14
0
n
R+m
Résultat de la
comparaison pour S
et plage 15m
Résultat de la comparaison
pour S et plage 15m +14
Résultat de la comparaison
pour S et plage 15m + 15
Résultat de la
comparaison pour S
et plage 15m + n
Drapeaux
Nom
Drapeau
d'erreur
Exemple
Etiquette
ER
OFF
Fonctionnement
Lorsque CIO 000000 est sur ON dans l'exemple suivant, BCMP2(502) compare le contenu de CIO 0010 avec les 24 plages définies dans D00200 à
D00247 (N = 17 hex = 23 décimal, c.-à-d. 24 plages) et met sur ON les bits
correspondants dans CIO 0100 et CIO 0101 si S est dans la plage et sur OFF
si S est hors plage. Par exemple, si les données sources dans CIO 0010 sont
dans la plage définie par D00201 et D00202, le bit 00 de CIO 0100 passe
alors à ON et si elles sont hors plage, le bit 00 de CIO 0100 passe alors à
309
Chapitre 3-7
Instructions de comparaison
OFF. De même, les données sources dans CIO 0010 sont comparées aux
plages définies par D00203 et D00204, D00247 et D00248, et les autres mots
du bloc de comparaison, et le bit 1 dans CIO 0100, le bit 7 dans CIO 1010 et
les autres bits dans les mots de résultat sont manipulés en fonction des résultats de la comparaison.
000000
0
0
1
7
R: CIO 0100
Bit
BCMP2
0010 S : CIO 0010
D00201
0
0
0
0
0
1
0
0
D00202
D00200
0 1 7 5
D00203
0
0
8
0
0
1
8
0
D00204
0100
D00205
0
1
6
0
0
2
6
0
D00206
D00231
1
2
0
0
1
8
0
0
D00232
D00233
1
5
0
0
0
5
0
0
D00234
D00235
1
9
0
0
0
1
0
0
D00236
D00237
1
8
0
0
0
2
0
0
D00238
D00247
0
1
0
0
2
0
0
0
D00248
R: CIO 0101
3-7-11 AREA RANGE COMPARE : ZCP(088)
Objet
Compare une valeur binaire 16 bits non signée (CD) avec la plage définie par
la limite inférieure LL et la limite supérieure UL. Les résultats sont placés
dans les drapeaux arithmétiques.
Cette instruction est prise en charge par les UC CS1-H, CJ1-H , CJ1M et
CS1D uniquement.
Symbole du schéma contact
ZCP(088)
CD
CD: Données de comparaison
LL
LL: Limite inférieure de la plage
UL
UL: Limite supérieure de la plage
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
310
Zones de
programmes de pas
OK
CD
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
ZCP(088)
Non prise en charge
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
LL
UL
Chapitre 3-7
Instructions de comparaison
Zone
Zone DM
Zone EM sans banque
Zone EM avec banque
CD
LL
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Adresses DM/EM
@ D00000 à @ D32767
indirectes en binaire
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
Adresses DM/EM
*D00000 à *D32767
indirectes en BCD
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
Constantes
#0000 à #FFFF
(binaire)
Registres de données
DR0 à DR15
Registres d'index
--Adressage indirect à
,IR0 à ,IR15
l’aide de registres d’index –2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Description
UL
ZCP(088) compare les données binaires 16 bits signées dans CD avec la
plage définie par LL et UL, et place le résultat dans les drapeaux supérieur à,
d'égalité et inférieur à, de la zone auxiliaire. (Les drapeaux inférieur ou égal à,
supérieur ou égal à et de non égalité restent inchangés.)
Etat des drapeaux arithmétiques
Le tableau ci-dessous indique l'état des drapeaux arithmétiques après exécution de ZCP(088).
Résultat de
ZCP(088)
CD > UL
CD = UL
LL < CD < UL
CD = LL
CD < LL
>
ON
OFF
Etat du drapeau
=
<
OFF
OFF
ON
OFF
ON
Utilisation des résultats de ZCP(088) dans le programme
Lorsque ZCP(088) est exécutée, le résultat se reflète dans les drapeaux arithmétiques. Contrôlez la sortie voulue ou l'instruction finale avec une branche
de la même condition d'entrée qui contrôle ZCP(088), comme indiqué dans le
schéma ci-dessous. Dans ce cas, le drapeau d'égalité et la sortie A passent à
ON lorsque LL ≤ CD ≤ UL.
311
Chapitre 3-7
Instructions de comparaison
Utilisation correcte de ZCP(088)
ZCP
CD
LL
UL
A
Drapeau arithmétique
(Exemple : Drapeau d'égalité)
Ne pas programmer d'autre instruction entre ZCP(088) et l'instruction contrôlée par le drapeau arithmétique car l'autre instruction risque de modifier l'état
du drapeau arithmétique. Dans ce cas, les résultats de l'instruction B risquent
de modifier les résultats de ZCP(088).
Utilisation incorrecte de ZCP(088)
ZCPL
CD
LL
UL
Instruction
B
A
Drapeau arithmétique
(Exemple : Drapeau d'égalité)
Drapeaux
Nom
Drapeau d'erreur
Drapeau supérieur à
Etiquette
Fonctionnement
ER
ON if LL > UL.
>
ON si CD > UL.
OFF dans tous les autres cas.
Drapeau supérieur ou égal à > =
Reste inchangé.
Drapeau d'égalité
=
ON si LL ≤ CD ≤ UL.
OFF dans tous les autres cas.
Drapeau de non égalité
<>
Reste inchangé.
Drapeau inférieur à
<
ON si CD < LL.
OFF dans tous les autres cas.
Drapeau inférieur ou égal à
<=
Reste inchangé.
Drapeau négatif
N
Reste inchangé.
Précautions
Ne pas programmer d'autre instruction entre ZCP(088) et une condition
d'entrée qui accède au résultat de ZCP(088) car l'autre instruction risque de
modifier l'état des drapeaux arithmétiques.
Exemple
Lorsque CIO 000000 est sur ON dans l'exemple suivant, les données binaires
16 bits non signées dans D00000 sont comparées à la plage 0005 à 001F hex
(5 à 31 décimal) et le résultat est placé dans les drapeaux arithmétiques.
CIO 000200 passe à ON si 0005 hex ≤ contenu de D00000 ≤ 001F hex.
CIO 000201 passe à ON si le contenu de D00000 > 001F hex.
CIO 000202 passe à ON si le contenu de D00000 < 0005 hex.
312
Chapitre 3-7
Instructions de comparaison
LL
000000
CD
ZCP
UL
Drapeaux arithmétiques
D00000
CD
D00000
LL
#0005
UL
#001F
002000
0005Hex ≤
≤ 001FHex
=
ON(1)
> 001FHex
>
ON(1)
<
ON(1)
D00000
D00000
0005Hex >
=
002001
>
002002
<
3-7-12 DOUBLE AREA RANGE COMPARE : ZCPL(116)
Objet
Compare une valeur binaire 32 bits non signée (CD+1, CD) avec la plage
définie par la limite inférieure (LL+1, LL) et la limite supérieure (UL+1, UL).
Les résultats sont placés dans les drapeaux arithmétiques.
Cette instruction est prise en charge par les UC CS1-H, CJ1-H , CJ1M et
CS1D uniquement.
Symbole du schéma contact
ZCPL(116)
CD
CD: Premier mot des données de comparaison
LL
LL: Premier mot de la limite inférieure
UL
UL: Premier mot de la limite supérieure
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Zones de
programmes de pas
OK
CD
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
ZCP(088)
Non prise en charge
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
LL
UL
313
Chapitre 3-7
Instructions de comparaison
Zone
Adresses DM/EM
indirectes en binaire
CD
LL
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
Adresses DM/EM
*D00000 à *D32767
indirectes en BCD
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
Constantes
#0000 0000 à #FFFF FFFF
(binaire)
Registres de données
--Registres d'index
IR0 à IR15
Adressage indirect à
,IR0 à ,IR15
l’aide de registres d’index –2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Description
UL
ZCPL(116) compare les données binaires 32 bits signées dans CD+1, CD
avec la plage définie par LL+1, LL et UL+1, UL, et place le résultat dans les
drapeaux supérieur à, d'égalité et inférieur à, de la zone auxiliaire. (Les drapeaux inférieur ou égal à, supérieur ou égal à et de non égalité restent
inchangés.)
Etat des drapeaux arithmétiques
Le tableau ci-dessous indique l'état des drapeaux arithmétiques après exécution de ZCPL(116).
Résultat de ZCPL(116)
>
CD+1, CD > UL+1, UL
ON
CD+1, CD = UL+1, UL
OFF
LL+1, LL < CD+1, CD < UL+1, UL
CD+1, CD = LL+1, LL
CD+1, CD < LL+1, LL
Etat du drapeau
=
<
OFF
OFF
ON
OFF
ON
Utilisation des résultats de ZCPL(116) dans le programme
Lorsque ZCPL(116) est exécutée, le résultat se reflète dans les drapeaux
arithmétiques. Contrôlez la sortie voulue ou l'instruction finale avec une branche de la même condition d'entrée qui contrôle ZCPL(116).
Ne pas programmer d'autre instruction entre ZCPL(116) et l'instruction contrôlée par le drapeau arithmétique car l'autre instruction risque de modifier
l'état du drapeau arithmétique.
Le fonctionnement de ZCPL(116) est pratiquement identique à celui de
ZCP(088) sauf que ZCPL(116) compare des valeurs 32 bits et non des
valeurs 16 bits. Consultez 3-7-11 AREA RANGE COMPARE : ZCP(088) pour
les schémas indiquant comment utiliser les résultats dans le programme et
obtenir un exemple de section de programme.
Drapeaux
Nom
Drapeau d'erreur
Drapeau supérieur à
314
Etiquette
Fonctionnement
ER
ON si LL+1, LL > UL+1, UL.
>
ON si CD > UL+1, UL.
OFF dans tous les autres cas.
Chapitre 3-8
Instructions de déplacement de données
Nom
Etiquette
Fonctionnement
Drapeau supérieur ou égal à > =
Reste inchangé.
Drapeau d'égalité
=
ON si LL+1, LL ≤ CD+1, CD ≤ UL+1, UL.
OFF dans tous les autres cas.
Drapeau de non égalité
<>
Reste inchangé.
Drapeau inférieur à
<
ON si CD+1, CD < LL+1, LL.
OFF dans tous les autres cas.
Drapeau inférieur ou égal à < =
Reste inchangé.
Drapeau négatif
N
Reste inchangé.
Précautions
3-8
Ne pas programmer d'autre instruction entre ZCPL(116) et une condition
d'entrée qui accède au résultat de ZCPL(116) car l'autre instruction risque de
modifier l'état des drapeaux arithmétiques.
Instructions de déplacement de données
3-8-1
MOVE : MOV(021)
Objet
Transfère un mot de données vers le mot spécifié.
Symbole du schéma
contact
MOV(021)
S
S: Source
D
D: Destination
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat (voir remarque.)
Variations Exécution une fois et rafraîchissement de la
combinées destination immédiate pour la différentiation
sur front montant (voir remarque.)
MOV(021)
@MOV(021)
Non prise en
charge
MOV(021)
!@MOV(021)
Remarque Le rafraîchissement immédiat n'est pas pris en charge par les UC CS1D.
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Zones de
programmes de pas
OK
S
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
SousTâches
programmes
d'interruption
OK
OK
D
A448 à A959
315
Chapitre 3-8
Instructions de déplacement de données
Zone
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S
D
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF (binaire)
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Transfère S dans D. Si S est une constante, la valeur peut être utilisée pour
configurer une donnée.
Mot source
Etat des bits
inchangé.
Mot de destination
MOV(021) présente une variation de rafraîchissement immédiat (!MOV(021)).
Des bits d'entrée externe peuvent être spécifiés pour S et des bits de sortie
externe peuvent être spécifiés pour D. Les bits d'entrée utilisés pour S sont
rafraîchis juste avant, et les bits de sortie utilisés pour D sont rafraîchis juste
après l'exécution sauf si les bits sont affectés à une carte E/S haute densité
Groupe 2, une carte E/S spéciale haute densité ou une carte montée sur rack
esclave E/S distant SYSMAC BUS.
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
=
Drapeau négatif N
Exemple
316
Fonctionnement
ON si les données transférées sont 0000.
OFF dans tous les autres cas.
ON si le bit le plus à gauche des données transférées
est 1.
OFF dans tous les autres cas.
Lorsque CIO 000000 est sur ON dans l'exemple suivant, le contenu de
CIO 0100 est copié dans D00100.
Chapitre 3-8
Instructions de déplacement de données
3-8-2
MOVE NOT : MVN(022)
Objet
Symbole du schéma
contact
Transfère le complément d'un mot de données vers le mot spécifié.
MVN(022)
S
S: Source
D
D: Destination
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Zones de
programmes de pas
OK
MVN(022)
@MVN(022)
Non prise en
charge
Non prise en
charge
SousTâches
programmes
d'interruption
OK
OK
S
D
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF (binaire)
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
317
Chapitre 3-8
Instructions de déplacement de données
Description
MVN(022) inverse les bits dans S et transfère le résultat vers D. Le contenu
de S reste inchangé.
Mot source
Mot de destination
Etat des bits
inversé.
Drapeaux
Exemple
3-8-3
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau
négatif
N
=
Fonctionnement
ON si le contenu de D est 0000 après exécution.
OFF dans tous les autres cas.
ON si le bit le plus à gauche de D est 1 après exécution.
OFF dans tous les autres cas.
Lorsque CIO 000000 est sur ON dans l'exemple suivant, l'état des bits dans
CIO 0100 est inversé et le résultat est copié dans D00100.
DOUBLE MOVE : MOVL(498)
Objet
Symbole du schéma
contact
Transfère deux mots de données vers les mots spécifiés.
MOVL(498)
S
S: Premier mot source
D
D: Premier mot de
destination
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
318
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
MOVL(498)
@MOVL(498)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
Chapitre 3-8
Instructions de déplacement de données
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S
D
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #FFFFFFFF
--(binaire)
--IR0 à IR15
,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –) IR0 à, 1–(– –) IR5
MOVL(498) transfère S+1 et S vers D+1 et D. Si S+1 et S sont des constantes, la valeur peut être utilisée pour configurer des données.
S
S+1
D
D+1
Etat des bits
inchangé.
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
=
Drapeau négatif N
Fonctionnement
ON si les contenus de D+1 et D sont 0000 0000 après
exécution.
OFF dans tous les autres cas.
ON si le bit le plus à gauche de D+1 est 1 après
exécution.
OFF dans tous les autres cas.
319
Chapitre 3-8
Instructions de déplacement de données
Exemple
3-8-4
Lorsque CIO 000000 est sur ON dans l'exemple suivant, les contenus de
D00101 et D00100 sont copiés dans D00201 et D00200.
DOUBLE MOVE NOT : MVNL(499)
Objet
Symbole du schéma
contact
Transfère le complément de deux mots de données vers les mots spécifiés.
MVNL(499)
S
S: Premier mot source
D
D: Premier mot de
destination
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Non prise en
charge
Non prise en
charge
SousTâches
programmes
d'interruption
OK
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
S
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
A000 à A958
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
320
Zones de
programmes de pas
OK
MVNL(499)
@MVNL(499)
D
Chapitre 3-8
Instructions de déplacement de données
Zone
Constantes
S
D
#00000000 à #FFFFFFFF
--(binaire)
----,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
MVNL(499) inverse les bits dans S+1 et S, et transfère le résultat vers D+1 et
D. Les contenus de S+1 et S restent inchangés.
S
S+1
D
D+1
Etat des bits
inversé.
Drapeaux
Exemples
3-8-5
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau
négatif
N
=
Fonctionnement
ON si le contenu de D+1 et D est 0000 0000 après exécution.
OFF dans tous les autres cas.
ON si le bit le plus à gauche de D+1 est 1 après exécution.
OFF dans tous les autres cas.
Lorsque CIO 000000 est sur ON dans l'exemple suivant, l'état des bits dans
D00101 et D00100 est inversé et le résultat est copié dans D00201 et
D00200. (Les contenus initiaux de D00101 et D00100 restent inchangés.)
MOVE BIT : MOVB(082)
Objet
Symbole du schéma
contact
Transfère le bit spécifié.
MOVB(082)
S
S: Mot ou donnée source
C
C: Mot de contrôle
D
D: Mot de destination
321
Chapitre 3-8
Instructions de déplacement de données
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
MOVB(082)
@MOVB(082)
Non prise en
charge
Non prise en
charge
SousTâches
programmes
d'interruption
OK
OK
C : Mot de contrôle
Les deux chiffres les plus à droite de C indiquent quel bit de S est le bit
source, et les deux chiffres les plus à gauche de C indiquent quel bit de D est
le bit de destination.
15
C
8 7
m
0
n
Bit source : 00 à 0F
(0 à 15 décimal)
Bit de destination :
00 à 0F (0 à 15 décimal)
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
322
S
C
D
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
Valeurs spéci--(binaire)
fiées uniquement
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Chapitre 3-8
Instructions de déplacement de données
Description
MOVB(082) copie le bit spécifié (n) de S dans le bit spécifié (m) de D. Les
autres bits du mot de destination restent inchangés.
Remarque Le même mot peut être spécifié pour S et D pour copier un bit au sein d'un
mot.
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON si les deux chiffres les plus à droite et les plus à gauche de C ne sont pas dans la plage spécifiée de 00 à 0F.
OFF dans tous les autres cas.
Lorsque CIO 000000 est sur ON dans l'exemple suivant, le 5ème bit du mot
source (CIO 0200) est copié dans le 12ème bit du mot de destination
(CIO 0300) en fonction de la valeur du mot de contrôle de 0C05.
Exemples
1 2
3-8-6
0 5
MOVE DIGIT : MOVD(083)
Objet
Symbole du schéma
contact
Transfère le ou les chiffres spécifiés. (Chaque chiffre est constitué de 4 bits.)
MOVD(083)
S
S: Mot ou donnée source
C
C: Mot de contrôle
D
D: Mot de destination
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
MOVD(083)
@MOVD(083)
Non prise en charge
Non prise en charge
323
Chapitre 3-8
Instructions de déplacement de données
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
SousTâches
programmes
d'interruption
OK
OK
S : Mot source
Les chiffres sources sont lus de droite à gauche, englobant le chiffre le plus à
droite (chiffre 0) si nécessaire.
15
12 11
8
7
4
3
0
S Chiffre 3 Chiffre 2 Chiffre 1 Chiffre 0
C : Mot de contrôle
Les trois premiers chiffres de C indiquent le premier chiffre source (m), le
nombre de chiffres à transférer (n), et le premier chiffre de destination (l),
comme indiqué dans le schéma ci-dessous.
15
C
12 11
8 7
l
0
4 3
n
0
m
Premier chiffre dans S
(m) : 0 à 3
Nombre de chiffres (n) : 0 à 3
Premier chiffre dans D (l): 0 à 3 0: 1 chiffre
1: 2 chiffres
2: 3 chiffres
3: 4 chiffres
Toujours 0.
D : Mot de destination
Les chiffres de destination sont écrits de droite à gauche, englobant le chiffre
le plus à droite (chiffre 0) si nécessaire.
15
12 11
8
7
4
3
0
D Chiffre 3 Chiffre 2 Chiffre 1 Chiffre 0
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
324
S
C
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
Valeurs spéci(binaire)
fiées uniquement
DR0 à DR15
D
A448 à A959
---
Chapitre 3-8
Instructions de déplacement de données
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S
C
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
D
MOVD(083) copie le contenu de n chiffres de S (en commençant au chiffre m)
dans D (en commençant au chiffre l). Seuls les chiffres spécifiés sont modifiés ; les autres restent inchangés.
Si le nombre de chiffres lus ou écrits dépasse le chiffre le plus à gauche de S
ou D, MOVD(083) englobe jusqu'au chiffre le plus à droite du même mot.
l
Remarque Le même mot peut être spécifié pour S et D pour copier un bit au sein d'un
mot.
Drapeaux
Nom
Drapeau
d'erreur
Exemples
Etiquette
Fonctionnement
ER
ON si l'un des trois premiers chiffres de C n'est pas dans
la plage spécifiée de 0 à 3.
OFF dans tous les autres cas.
Transfert de quatre chiffres
Lorsque CIO 000000 est sur ON dans l'exemple suivant, quatre chiffres de
données sont copiés de CIO 0200 vers CIO 0300. Le transfert commence par
le chiffre 1 de CIO 0200 et le chiffre 0 de CIO 0300, en fonction de la valeur
du mot de contrôle de 0031.
Chiffre n.̊
Chiffre n˚.
Premier chiffre dans
S : Chiffre 1
Nombre de chiffres : 3
(4 chiffres)
Premier chiffre dans D : Chiffre 0
Remarque Après lecture du chiffre le plus à gauche de S (chiffre 3), MOVD(083) englobe
jusqu'au chiffre le plus à droite (chiffre 0).
325
Chapitre 3-8
Instructions de déplacement de données
Exemples de C
Le schéma ci-dessous donne des exemples de transfert de données pour plusieurs valeurs de C.
Chiffre 0
Chiffre 0
Chiffre 0
Chiffre 0
Chiffre 0
Chiffre 0
Chiffre 0
Chiffre 0
Chiffre 1
Chiffre 1
Chiffre 1
Chiffre 1
Chiffre 1
Chiffre 1
Chiffre 1
Chiffre 2
Chiffre 2
Chiffre 2
Chiffre 1
Chiffre 2
Chiffre 2
Chiffre 2
Chiffre 2
Chiffre 2
Chiffre 3
Chiffre 3
Chiffre 3
Chiffre 3
Chiffre 3
Chiffre 3
Chiffre 3
Chiffre 3
3-8-7
MULTIPLE BIT TRANSFER : XFRB(062)
Objet
Transfère le nombre de bits consécutifs spécifié.
Symbole du schéma
contact
XFRB(062)
C
C: Mot de contrôle
S
S: Premier mot source
D
D: Premier mot
de destination
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
XFRB(062)
@XFRB(062)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
C : Mot de contrôle
Les trois premiers chiffres de C indiquent le premier chiffre source (m), le
nombre de chiffres à transférer (n), et le premier chiffre de destination (l),
comme indiqué dans le schéma ci-dessous.
15
C
8 7
n
4 3
m
0
l
Premier bit dans S (l):
Premier bit dans D (m) :
0à3
Nombre de chiffres (n) :
00 à FF (0 à 255)
S : Premier mot source
Spécifie le premier mot source. Les bits sont lus de droite à gauche, en continuant par les mots consécutifs (jusque S+16) si nécessaire.
15
0
S
à
à
S+16 max.
Remarque Les mots sources doivent être dans la même zone de données.
326
Chapitre 3-8
Instructions de déplacement de données
D : Premier mot de destination
Spécifie le premier mot de destination. Les bits sont écrits de droite à gauche,
en continuant par les mots consécutifs (jusque D+16) si nécessaire.
15
0
D
à
à
D+16 max.
Remarque Les mots de destination doivent être dans la même zone de données.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
C
S
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
Valeurs spéci--fiées uniquement
DR0 à DR15
-----
D
A448 à A959
---
,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à 5+(++)
,–(– –)IR0 à, –(– –)IR15
XFRB(062) transfère jusqu'à 255 bits consécutifs des mots sources (en commençant au bit l de S) vers les mots de destination (en commençant au bit
m de D). Les bits dans les mots destination qui ne sont pas écrasés par les
bits sources restent inchangés.
Les bits de départ et le nombre de bits sont spécifiés dans C, comme indiqué
dans le schéma ci-dessous.
327
Chapitre 3-8
Instructions de déplacement de données
Il est possible que les mots sources et destination se chevauchent. En englobant plusieurs mots lors du transfert de données, les données peuvent être
condensées de manière plus efficace dans la zone de données. (C'est particulièrement utile lors de la manipulation des données de position pour le contrôle de position.)
Etant donné que les mots sources et les mots de destination peuvent se chevaucher, XFRB(062) peut être combinée à ANDW(034) pour décaler m bits de
n espaces.
Drapeaux
Nom
Drapeau d'erreur
Précautions
Etiquette
ER
OFF
Fonctionnement
Il est possible de transférer jusque 255 bits de données à l'exécution de
XFRB(062).
Veillez à ce que les mots sources et les mots de destination ne dépassent pas
la fin de la zone de données.
Exemples
Lorsque CIO 000000 est sur ON dans l'exemple suivant, les 20 bits commençant à CIO 020006 sont copiés dans les 20 bits commençant à CIO 030000.
20 bits
3-8-8
BLOCK TRANSFER : XFER(070)
Objet
Symbole du schéma
contact
328
Transfère le nombre de mots consécutifs spécifié.
XFER(070)
N
N: Nombre de mots
S
S: Premier mot source
D
D: Premier mot de
destination
Chapitre 3-8
Instructions de déplacement de données
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
XFER(070)
@XFER(070)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
N : Nombre de mots
Spécifie le nombre de mots à transférer. La plage autorisée pour N est comprise entre 0000 et FFFF (0 à 65 535 décimal).
S : Premier mot source
Spécifie le premier mot source.
15
0
S
à
à
S+(N−1)
D : Premier mot de destination
Spécifie le premier mot de destination.
15
0
D
à
à
D+(N−1)
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
N
S
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--#0000 à #FFFF
(binaire) ou &0 à
&65535
DR0 à DR15
---
D
A448 à A959
---
329
Chapitre 3-8
Instructions de déplacement de données
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
N
S
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
D
XFER(070) copie N mots commençant à S (S à S+(N–1)) dans les N mots
commençant à D (D à D+(N–1)).
à
N mots
à
D+
(N−1)
S+(N−1)
Les mots sources et les mots de destination peuvent se chevaucher ;
XFER(070) peut donc effectuer des opérations de décalage de mot.
&10
Drapeaux
Nom
Drapeau d'erreur
Précautions
Etiquette
ER
OFF
Fonctionnement
Veillez à ce que les mots sources (S à S+N–1) et les mots de destination (D à
D+N–1) ne dépassent pas la fin de la zone de données.
Un certain temps peut être nécessaire pour exécuter XFER(070) lorsqu'un
nombre important de mots est transféré. Dans ce cas, le transfert XFER(070)
risque de ne pas se terminer en cas de coupure d'alimentation en cours
d'exécution de l'instruction.
Exemple
Lorsque CIO 000000 est sur ON dans l'exemple suivant, les 10 mots D00100
à D00109 sont copiés dans D00200 à D00209.
&10
10
mots
330
Chapitre 3-8
Instructions de déplacement de données
3-8-9
BLOCK SET : BSET(071)
Objet
Copie le même mot dans une plage de mots consécutifs.
Symbole du schéma
contact
BSET(071)
S
S: Mot source
St
St: Mot de départ
E
E: Mot de fin
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
BSET(071)
@BSET(071)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
S : Mot source
Spécifie les données sources ou le mot contenant les données sources.
St : Mot de départ
Spécifie le premier mot dans la plage de destination.
E : Mot de fin
Spécifie le dernier mot dans la plage de destination.
St
à
E
Données sources
Plage de destination
St
E
Remarque St et E doivent être dans la même zone de données.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
S
St
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
E
331
Chapitre 3-8
Instructions de déplacement de données
Zone
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S
St
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
DR0 à DR15
----,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –) IR0 à, 15–(– –) IR
E
BSET(071) copie le même mot source (S) vers tous les mots de destination
dans la plage St à E.
Mot source
Mots de destination
St
E
Drapeaux
Nom
Etiquette
Fonctionnement
Drapeau d'erreur ER
ON si St est supérieur à E.
OFF dans tous les autres cas.
Précautions
Veillez à ce que le mot de départ (St) et le mot de fin (E) soient dans la même
zone de données et que St ≤ E.
Un certain temps peut être nécessaire pour exécuter BSET(071) lorsque les
données sources sont transférées vers un nombre important de mots. Dans
ce cas, le transfert BSET(071) risque de ne pas se terminer en cas de coupure d'alimentation en cours d'exécution de l'instruction.
Exemple
332
Lorsque CIO 000000 est sur ON dans l'exemple suivant, les données sources
dans D00100 sont copiées dans D00200 à D00209.
Chapitre 3-8
Instructions de déplacement de données
S
St
St :
E
E:
3-8-10 DATA EXCHANGE : XCHG(073)
Objet
Symbole du schéma
contact
Echange le contenu des deux mots spécifiés.
XCHG(073)
E1
E1: Premier mot échange
E2
E2: Deuxième mot échange
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Zones de
programmes de pas
OK
XCHG(073)
@XCHG(073)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
E1
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
E2
333
Chapitre 3-8
Instructions de déplacement de données
Zone
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
E1
E2
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
XCHG(073) échange les contenus de E1 et E2.
E1
E2
Drapeaux
Nom
Drapeau d'erreur
Drapeau d'égalité
Drapeau négatif
Etiquette
Fonctionnement
ER
OFF ou inchangé (voir remarque.)
=
OFF ou inchangé (voir remarque.)
N
OFF ou inchangé (voir remarque.)
Remarque Dans les UC CS1 et CJ1, ces drapeaux passent OFF.
Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, ces drapeaux restent inchangés.
Exemple
Lorsque CIO 000000 est sur ON dans l'exemple suivant, le contenu de
D00100 est échangé avec le contenu de D00200.
3-8-11 DOUBLE DATA EXCHANGE : XCGL(562)
Objet
Symbole du schéma
contact
334
Echange le contenu d'une paire de mots consécutifs avec une autre paire de
mots consécutifs.
XCGL(562)
E1
E1: Premier mot échange
E2
E2: Deuxième mot échange
Chapitre 3-8
Instructions de déplacement de données
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
XCGL(562)
@XCGL(562)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
E1
E2
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
------IR0 à IR15
,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
XCHG(073) échange les contenus de E1+1 et E1 avec les contenus de E2+1
et E2.
E1
E1+1
E2
E2+1
Pour échanger 3 mots ou plus, utilisez XFER(070) pour transférer les mots
vers un troisième jeu de mots (tampon) comme indiqué dans le schéma cidessous.
335
Chapitre 3-8
Instructions de déplacement de données
E1
1ère opération
XFER(070)
Tampon
2ème opération
XFER(070)
E2
3ème opération
XFER(070)
Drapeaux
Nom
Drapeau d'erreur
Drapeau d'égalité
Drapeau négatif
Etiquette
Fonctionnement
ER
OFF ou inchangé (voir remarque.)
=
OFF ou inchangé (voir remarque.)
N
OFF ou inchangé (voir remarque.)
Remarque Dans les UC CS1 et CJ1, ces drapeaux passent OFF.
Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, ces drapeaux restent inchangés.
Exemple
Lorsque CIO 000000 est sur ON dans l'exemple suivant, les contenus de
D00100 et D00101 sont échangés avec les contenus de D00200 et D00201.
3-8-12 SINGLE WORD DISTRIBUTE : DIST(080)
Objet
Symbole du schéma
contact
Transfère le mot source vers un mot de destination calculé en ajoutant une
valeur de décalage à l'adresse de base.
DIST(080)
S
S: Mot source
Bs
Bs: Adresse destination de base
Of
Of: Décalage
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
336
DIST(080)
@DIST(080)
Non prise en charge
Non prise en charge
Chapitre 3-8
Instructions de déplacement de données
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
SousTâches
programmes
d'interruption
OK
OK
Bs : Adresse de destination de base
Spécifie l'adresse de destination de base. Le décalage est ajouté à cette
adresse pour calculer le mot de destination.
Of : Décalage
Cette valeur est ajoutée à l'adresse de base pour calculer le mot de destination. Le décalage peut être toute valeur comprise entre 0000 et FFFF (0 à 65
535 décimal), mais Bs et Bs+Of doivent être dans la même zone de données.
15
0
Bs
à
à
Bs+Of
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
S
Bs
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
Of
A000 à A959
#0000 à #FFFF
(binaire) ou &0 à
&65535
DR0 à DR15
DR0 à DR15
----,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
337
Chapitre 3-8
Instructions de déplacement de données
Description
DIST(080) copie S dans le mot destination calculé en ajoutant Of à Bs. La
même instruction DIST(080) peut être utilisée pour distribuer le mot source à
différents mots dans la zone de données en changeant la valeur de Of.
S
Bs
Of
Bs+n
Drapeaux
Nom
Etiquette
Fonctionnement
Drapeau d'erreur ER
OFF
Drapeau d'égalité =
ON si les données sources sont 0000.
OFF dans tous les autres cas.
Drapeau négatif N
ON si le bit le plus à gauche des données sources
est 1.
OFF dans tous les autres cas.
Précautions
Veillez à ce que le décalage ne dépasse pas la fin de la zone de données, en
d'autres termes, que Bs et Bs+Of soient dans la même zone de données.
Exemple
Lorsque CIO 000000 est sur ON dans l'exemple suivant, le contenu de
D00100 est copié dans D00210 (D00200 + 10) si le contenu de D00300 est
10 (0A hexadécimal). Le contenu de D00100 peut être copié dans d'autres
mots en modifiant le décalage dans D00300.
S : D00100
Copié par DIST(080).
S
Bs
Of
Of :
Bs :
0 0 0 A
4 chiffres hexadécimaux
Décalage +10 mots
D00210
3-8-13 DATA COLLECT : COLL(081)
Objet
Symbole du schéma
contact
Transfère le mot source (calculé en ajoutant une valeur de décalage à
l'adresse de base) vers le mot de destination.
COLL(081)
Bs
Bs: Adresse source de base
Of
Of: Décalage
D
D: Mot de destination
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
338
COLL(081)
@COLL(081)
Non prise en charge
Non prise en charge
Chapitre 3-8
Instructions de déplacement de données
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
SousTâches
programmes
d'interruption
OK
OK
Bs : Adresse source de base
Spécifie l'adresse de source de base. Le décalage est ajouté à cette adresse
pour calculer le mot source.
Of : Décalage
Cette valeur est ajoutée à l'adresse de base pour calculer le mot source. Le
décalage peut être toute valeur comprise entre 0000 et FFFF (0 à 65 535
décimal), mais Bs et Bs+Of doivent être dans la même zone de données.
15
0
Bs
à
Of
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
à
Bs
Of
D
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--#0000 à #FFFF
--(binaire) ou &0 à
&65535
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
339
Chapitre 3-8
Instructions de déplacement de données
Description
COLL(081) copie le mot source (calculé en additionnant Of à Bs) dans le mot
destination. La même instruction COLL(081) peut être utilisée pour récupérer
des données de différents mots source dans la zone de donnée en changeant
la valeur de Of.
Bs
Of
Bs+n
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
ER
OFF
Drapeau
d'égalité
=
Drapeau négatif N
Fonctionnement
ON si les données sources sont 0000.
OFF dans tous les autres cas.
ON si le bit le plus à gauche des données sources
égale 1.
OFF dans tous les autres cas.
Précautions
Veillez à ce que le décalage ne dépasse pas la fin de la zone de données, en
d'autres termes, que Bs et Bs+Of soient dans la même zone de données.
Exemple
Lorsque CIO 000000 est sur ON dans l'exemple suivant, le contenu de
D00110 (D00100 + 10) est copié dans D00300 si le contenu de D00200 est
10 (0A hexadécimal). Le contenu des autres mots peut être copié dans
D00300 en modifiant le décalage dans D00200.
D00200
Bs
Of
D
Bs : D00100
0
0
0
A
4 chiffres hexadécimaux
D00101
Décalage +10 mots
D00110
Copié par COLL(081).
3-8-14 MOVE TO REGISTER : MOVR(560)
Objet
Symbole du schéma
contact
Définit l'adresse mémoire API du mot, du bit ou du drapeau de fin de temporisateur/compteur spécifié dans le registre d'index spécifié. (Utilisez
MOVRW(561) pour définir l'adresse mémoire API d'une PV de temporisation/
compteur dans un registre d'index.)
MOVR(560)
S
S: Source (mot ou bit souhaité)
D
D: Destination (registre d'index)
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
340
MOVR(560)
@MOVR(560)
Non prise en charge
Non prise en charge
Chapitre 3-8
Instructions de déplacement de données
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
SousTâches
programmes
d'interruption
OK
OK
D : Destination
La destination doit être un registre d'index (IR0 à IR15).
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Drapeau de tâche
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S
CIO 0000 à CIO 6143
CIO 000000 à CIO 614315
W000 à W511
W00000 à W51115
H000 à H511
H00000 à H51115
A000 à A447
A448 à A959
A00000 à A44715
A44800 à A95915
T0000 à T4095
(Drapeau de fin
d’exécution)
C0000 à C4095
(Drapeau de fin
d’exécution)
TK0000 à TK0031
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
---
D
---------
---
---
---------
-----------
IR0 à IR15
MOVR(560) recherche l'adresse mémoire API (adresse absolue) de S et écrit
cette adresse dans D (un registre d'index).
Adresse mémoire E/S interne de S
Registre d'index
Si un temporisateur ou un compteur est spécifié dans S, MOVR(560) écrit
l'adresse mémoire API du drapeau de fin de temporisateur/compteur dans D.
Utilisez MOVRW(561) pour écrire l'adresse mémoire API de la PV du temporisateur/compteur dans D.
341
Chapitre 3-8
Instructions de déplacement de données
Drapeaux
Nom
Drapeau d'erreur
Drapeau d'égalité
Drapeau négatif
Etiquette
Fonctionnement
ER
OFF ou inchangé (voir remarque.)
=
OFF ou inchangé (voir remarque.)
N
OFF ou inchangé (voir remarque.)
Remarque Dans les UC CS1 et CJ1, ces drapeaux passent OFF.
Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, ces drapeaux restent inchangés.
Précautions
MOVR(560) ne peut pas configurer les adresses mémoire API des PV de
temporisateur/compteur. Utilisez MOVRW(561) pour configurer les adresses
mémoire API des PV de temporisateur/compteur.
Le contenu d'un registre d'index dans une tâche d'interruption n'est pas prévisible avant qu'il ne soit défini. Veillez à définir un registre au moyen de
MOVR(560) dans une tâche d'interruption avant d'utiliser le registre.
Toute modification apportée au contenu d'un IR ou DR au cours d'une tâche
d'interruption n'exerce aucun impact sur le contenu d'un registre dans une
tâche cyclique.
Exemple
Lorsque CIO 000000 est sur ON dans l'exemple suivant, MOVR(560) écrit
l'adresse mémoire API de CIO 0020 dans IR0.
Adresse mémoire E/S interne
14
S : 0020
Adresse mémoire
E/S interne de
CIO 0020
D : IR0
14
3-8-15 MOVE TIMER/COUNTER PV TO REGISTER : MOVRW(561)
Objet
Symbole du schéma
contact
Configure l'adresse mémoire API de la PV de temporisateur/compteur spécifiée dans le registre d'index spécifié. (Utilisez MOVR(560) pour configurer
l'adresse mémoire API d'un mot, d'un bit ou d'un drapeau de fin de temporisateur/compteur dans un registre d'index.)
MOVRW(561)
S
D
S: Source (numéro de TC
souhaité)
D: Destination (registre d'index)
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
D : Destination
La destination doit être un registre d'index (IR0 à IR15).
342
MOVR(561)
@MOVR(561)
Chapitre 3-8
Instructions de déplacement de données
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S
--------T0000 à T4095
(valeur actuelle)
C0000 à C4095
(valeur actuelle)
---------
D
-----
-----------
IR0 à IR15
MOVRW(561) recherche l'adresse mémoire API pour la PV du temporisateur
ou du compteur spécifié dans S et écrit cette adresse dans D (registre
d'index).
Adresse mémoire E/S interne de S
PV de temporisateur/
compteur uniquement
Registre d'index
MOVRW(561) configure l'adresse mémoire API de la PV du temporisateur ou
du compteur dans D. Utilisez MOVR(560) pour configurer l'adresse mémoire
API du drapeau de fin de temporisateur ou de compteur.
Drapeaux
Nom
Etiquette
Fonctionnement
Drapeau
ER
OFF ou inchangé (voir remarque.)
d'erreur
Drapeau
=
OFF ou inchangé (voir remarque.)
d'égalité
Drapeau négatif N
OFF ou inchangé (voir remarque.)
Remarque Dans les UC CS1 et CJ1, ces drapeaux passent OFF.
Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, ces drapeaux restent inchangés.
Précautions
MOVRW(561) ne peut pas configurer les adresses mémoire API des mots,
bits ou drapeaux de fins de temporisateur/compteur de la zone de données.
Utilisez MOVR(560) pour configurer ces adresses mémoire API.
343
Chapitre 3-9
Instructions de décalage de données
Exemple
Lorsque CIO 000000 est sur ON dans l'exemple suivant, MOVRW(561) écrit
l'adresse mémoire API pour la PV du temporisateur T0000 dans IR1.
Adresse mémoire E/S interne
S:
3-9
Instructions de décalage de données
Ce chapitre décrit les instructions utilisées pour décaler des données à l'intérieur ou entre des mots mais dans des quantités et directions différentes.
344
Instruction
SHIFT REGISTER
REVERSIBLE SHIFT
REGISTER
Mnémonique
SFT
SFTR
Code fonction
010
084
Page
345
346
ASYNCHRONOUS SHIFT
REGISTER
WORD SHIFT
ARITHMETIC SHIFT LEFT
DOUBLE SHIFT LEFT
ARITHMETIC SHIFT RIGHT
DOUBLE SHIFT RIGHT
ROTATE LEFT
DOUBLE ROTATE LEFT
ROTATE LEFT WITHOUT
CARRY
DOUBLE ROTATE LEFT
WITHOUT CARRY
ROTATE RIGHT
DOUBLE ROTATE RIGHT
ROTATE RIGHT WITHOUT
CARRY
DOUBLE ROTATE RIGHT
WITHOUT CARRY
ONE DIGIT SHIFT LEFT
ONE DIGIT SHIFT RIGHT
SHIFT N-BIT DATA LEFT
SHIFT N-BIT DATA RIGHT
SHIFT N-BITS LEFT
DOUBLE SHIFT N-BITS LEFT
SHIFT N-BITS RIGHT
DOUBLE SHIFT N-BITS
RIGHT
ASFT
017
349
WSFT
ASL
ASLL
ASR
ASRL
ROL
ROLL
RLNC
016
025
570
026
571
027
572
574
352
354
355
357
358
360
362
367
RLNL
576
369
ROR
RORL
RRNC
028
573
575
364
365
371
RRNL
577
372
SLD
SRD
NSFL
NSFR
NASL
NSLL
NASR
NSRL
074
075
578
579
580
582
581
583
374
376
377
379
381
384
387
389
Chapitre 3-9
Instructions de décalage de données
3-9-1
SHIFT REGISTER : SFT(010)
Objet
Opère un registre de décalage
Symbole du schéma
contact
Entrée de données
SFT(010)
Entrée de décalage
St
St: Mot de départ
Entrée de
réinitialisation
E
E: Mot de fin
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Zones de
programmes de bloc
Non autorisé
Zones de
programmes de pas
OK
SFT(010)
Non prise en charge
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
Remarque St et E doivent être dans la même zone de données.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
St
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
-------------
E
--------,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
345
Chapitre 3-9
Instructions de décalage de données
Description
Lorsque la condition d'exécution de l'entrée de décalage passe de OFF à ON,
toutes les données de St à E sont décalées vers la gauche d'un bit (du bit le
plus à droite vers le bit le plus à gauche), et l'état ON/OFF de l'entrée de données est placé dans le bit le plus à droite.
E
St+1, St+2, ...
Perdu
St
Etat de l'entrée de données pour
chaque entrée de décalage
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON si l'adresse IR indirecte pour St et E n'est pas dans
les zones de données CIO, AR, HR ou WR.
OFF dans tous les autres cas.
Précautions
Les données de bit décalées en dehors du registre de décalage sont supprimées.
Lorsque l'entrée de réinitialisation passe à ON, tous les bits du registre de
décalage depuis le mot désigné le plus à droite (St) au mot désignée le plus à
gauche (E) sont réinitialisés (c.-à-d. mis à 0). L'entrée de réinitialisation a la
priorité sur toute autre entrée.
St doit être inférieur ou égal à E, mais même lorsque St est plus grand que E,
aucune erreur ne se produit et un mot de données dans St est décalé.
Lorsque St et E sont indirectement désignés au moyen de registres d'index et
que les adresses actuelles dans la mémoire E/S ne sont pas dans les zones
de mémoire pour les données, une erreur se produit et le drapeau d'erreur
passe à ON.
Exemples
Registre de décalage dépassant 16 bits
L'exemple suivant montre un registre de décalage de 48 bits utilisant les mots
CIO 0128 à CIO 0130. Une impulsion d'horloge de 1 s est utilisée pour que la
condition d'exécution produite par CIO 000005 soit décalée dans un registre
de 3 mots entre CIO 012800 et CIO 013015 à chaque seconde.
Entrée de données
E : CIO 0130 St+1 : CIO 0129 St : CIO 0128
Entrée de décalage
Perdu
Contenu de
CIO 000005
(horloge 1 s)
Réinitialisation
3-9-2
REVERSIBLE SHIFT REGISTER : SFTR(084)
Objet
Symbole du schéma
contact
346
Crée un registre de décalage qui décale les données soit vers la droite soit
vers la gauche.
SFTR(084)
C
C: Mot de contrôle
St
St: Mot de départ
E
E: Mot de fin
Chapitre 3-9
Instructions de décalage de données
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
SFTR(084)
@SFTR(084)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
C : Mot de contrôle
15 14 13 12
Sens de décalage
1 (ON) : Gauche
0 (OFF) : Droite
Entrée de données
Entrée de décalage
Réinitialisation
Remarque St et E doivent être dans la même zone de données.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
C
St
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--DR0 à DR15
----,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
E
347
Chapitre 3-9
Instructions de décalage de données
Description
Lorsque la condition d'exécution du bit d'entrée de décalage (bit 14 de C)
passe à ON, toutes les données de St à E sont déplacées dans le sens de
décalage désigné (défini par le bit 12 de C) de 1 bit, et l'état ON/OFF de
l'entrée de données est placé dans le bit le plus à droite ou le plus à gauche.
Les données de bit décalées en dehors du registre de décalage sont placées
dans le drapeau de report (CY).
Entrée de
données
E
St
E
St
Entrée de
données
Sens de
décalage
Drapeaux
Nom
Drapeau
d'erreur
Drapeau de
report
Précautions
Etiquette
Fonctionnement
ER
ON si St est supérieur à E.
OFF dans tous les autres cas.
CY
ON si 1 est décalé dans celui-ci.
OFF si 0 est décalé dans celui-ci.
OFF lorsque la réinitialisation est réglée sur 1.
Les opérations de décalage ci-dessus s'appliquent lorsque le bit de réinitialisation (bit 15 de C) est sur OFF.
Lorsque la réinitialisation (bit 15 de C) passe à ON, tous les bits du registre de
décalage, de St à E, sont réinitialisés (c.-à-d. mis à 0).
Si St est supérieur à E, une erreur est générée et le drapeau d'erreur se met
sur ON.
Exemples
Décalage de données
Si l'entrée de décalage CIO 030014 passe à ON lorsque CIO 000000 est sur
ON, et que le bit de réinitialisation CIO 030015 est sur OFF, les mots
CIO 0100 à CIO 0102 se décalent d'un bit dans la direction désignée par
CIO 030012 (ex. 1 : droite) et le contenu du bit d'entrée CIO 030013 est
décalé dans le bit le plus à droite, CIO 010000. Le contenu de CIO 010215
est décalé dans le drapeau de report (CY).
C
St
E
C : 0300
Sens de décalage
Bit d'entrée de décalage : 1
Bit d'entrée de réinitialisation : 0
Entrée des
données :
CIO 030013
Réinitialisation des données
Si CIO 030014 est sur ON lorsque CIO 000000 est sur ON, et que le bit de
réinitialisation, CIO 030015, est sur ON, les mots CIO 0100 à CIO 0102 et le
drapeau de report sont réinitialisés à OFF.
348
Chapitre 3-9
Instructions de décalage de données
Contrôle des données
Réinitialisation des données
Tous les bits de St à E et le drapeau de report sont mis à 0 et aucune autre
donnée ne peut être reçue lorsque le bit d'entrée de réinitialisation (bit 15 de
C) est sur ON.
Décalage des données vers la gauche (du bit le plus à droite vers le bit le
plus à gauche)
Lorsque le bit d'entrée de décalage (bit 14 de C) est sur ON, le contenu du bit
d'entrée (bit 13 de C) est décalé dans le bit 00 du mot de départ, et chaque bit
suivant est décalé d'un bit vers la gauche. L'état du bit 15 du mot de fin est
décalé dans le drapeau de report.
Entrée de
données
Décalage des données vers la droite (du bit le plus à gauche vers le bit le
plus à droite)
Lorsque le bit d'entrée de décalage (bit 14 de C) est sur ON, le contenu du bit
d'entrée (bit 13 de C) (E/S) est décalé dans le bit 15 du mot de fin, et chaque
bit suivant est décalé d'un bit vers la droite. L'état du bit 00 du mot de départ
est décalé dans le drapeau de report.
Entrée de données
3-9-3
ASYNCHRONOUS SHIFT REGISTER : ASFT(017)
Objet
Symbole du schéma
contact
Décale toutes les données de mot non nulles dans la plage de mots spécifiée
vers St ou vers E, en remplaçant les données de mot 0000Hex.
ASFT(017)
C
C: Mot de contrôle
St
St: Mot de départ
E
E: Mot de fin
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
ASFT(017)
@ASFT(017)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
349
Chapitre 3-9
Instructions de décalage de données
Opérandes
C : Mot de contrôle
15 14 13 12
Sens de décalage
0: Données non nulles décalées vers E
1: Données non nulles décalées vers St
Bit d'activation de décalage
0: Décalage désactivé
1: Décalage activé
Bit d'effacement
0: Données non réinitialisées
1: Toutes les données de St à E
sont réinitialisées
Remarque St et E doivent être dans la même zone de données.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
350
C
St
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--DR0 à DR15
----,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
E
Lorsque le bit d'activation de décalage (bit 14 de C) est sur ON, tous les mots
ayant un contenu non nul et situés dans la plage de mots entre St et E sont
décalés d'un mot dans le sens déterminé par le bit de sens de décalage (bit
13 de C) chaque fois que le mot dans le sens de décalage ne contient que
des zéros. Si ASFT(017) est répétée suffisamment de fois, tous les mots ne
contenant que des zéros sont remplacés par des mots non nuls. Toutes les
données comprises entre St et E se répartissent donc en données nulles et
données non nulles.
Chapitre 3-9
Instructions de décalage de données
St
...
Conversion
Sens de
décalage
Décalage activé
Effacer
Conversion
E
St
Données non nulles
...
Données nulles
E
Drapeaux
Nom
Drapeau
d'erreur
Précautions
Etiquette
Fonctionnement
ER
ON si St est supérieur à E.
ON si le drapeau de port de communication activé pour le
numéro du port de communication spécifié comme le
numéro Port Com en vue de l'exécution en arrière-plan est
sur OFF lorsque le traitement en arrière-plan est spécifié.
OFF dans tous les autres cas.
Lorsque le drapeau d'effacement (bit 15 de C) passe à ON, tous les bits du
registre de décalage, de St à E, sont réinitialisés (c.-à-d. mis à 0). Le drapeau
d'effacement a la priorité sur le bit d'activation de décalage (bit 14 de C).
Si St est supérieur à E, une erreur est générée et le drapeau d'erreur se met
sur ON.
Exemples
Décalage de données :
Si le bit d'activation de décalage, CIO 030014, passe à ON lorsque
CIO 000000 est sur ON, tous les mots contenant des données non nulles de
CIO 0100 à CIO 0109 sont décalés dans le sens déterminé par le bit de sens
de décalage, CIO 030013 (ex. 1 : vers St) si le mot à gauche des données
non nulles ne contient que des zéros.
351
Chapitre 3-9
Instructions de décalage de données
C
St
C : 0300
E
Sens de décalage
1: Données non nulles décalées vers E
Bit d'activation de décalage : 1
Effacer
Avant exécution de ASFT(017)
Après une exécution
Après deux exécutions
St :
Données non nulles
décalées vers St
E:
3-9-4
WORD SHIFT : WSFT(016)
Objet
Décale les données entre St et E en unités de mots.
Symbole du schéma
contact
WSFT(016)
S
S: Mot source
St
St: Mot de départ
E
E: Mot de fin
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
WSFT(016)
@WSFT(016)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
Remarque St et E doivent être dans la même zone de données.
Spécifications de
l’opérande
352
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
S
St
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E
Chapitre 3-9
Instructions de décalage de données
Zone
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S
St
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
DR0 à DR15
----,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
E
WSFT(016) décale les données de St à E par unités de mot, et les données
du mot source S sont placées dans St. Le contenu de E est perdu.
E
St
Perdu
Drapeaux
Nom
Drapeau
d'erreur
Précautions
Etiquette
Fonctionnement
ER
ON si St est supérieur à E.
OFF dans tous les autres cas.
Si St est supérieur à E, une erreur est générée et le drapeau d'erreur se met
sur ON.
Remarque Lorsque de grandes quantités de données sont décalées, le temps d'exécution de l'instruction est relativement long. Veillez à ce qu'il n'y ait pas de coupure de courant en cours d'exécution de WSFT(016), car l'opération de
décalage risque d'être interrompue.
Exemples
Lorsque CIO 000000 est sur ON, les données de CIO 0100 à CIO 0102 sont
décalées d'un mot vers E. Le contenu de CIO 0300 est enregistré dans
CIO 0100 et le contenu de CIO 0102 est perdu.
St
E
S : CIO 0300
E : CIO 0100
St : CIO 0101
St : CIO 0102
Perdu
353
Chapitre 3-9
Instructions de décalage de données
3-9-5
ARITHMETIC SHIFT LEFT : ASL(025)
Objet
Symbole du schéma
contact
Décale le contenu de Wd d'un bit vers la gauche.
ASL(025)
Wd
Wd : Mot
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
ASL(025) décale le contenu de Wd d'un bit vers la gauche (du bit le plus à
droite vers le bit le plus à gauche). “0” est placé dans le bit le plus à droite et les
données du bit le plus à gauche sont décalées dans le drapeau de report (CY).
15
354
Non prise en charge
Wd
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Adresses DM/EM indirectes en binaire
Description
ASL(025)
@ASL(025)
0
Chapitre 3-9
Instructions de décalage de données
Drapeaux
Précautions
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau de
report
CY
Drapeau
négatif
N
=
Fonctionnement
ON lorsque le résultat du décalage est 0.
OFF dans tous les autres cas.
ON lorsque 1 est décalé dans le drapeau de report (CY).
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche est 1 à la suite du
décalage.
OFF dans tous les autres cas.
Lorsque ASL(025) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite du décalage, le contenu de Wd est zéro, le drapeau d'égalité se
met sur ON.
Si, à la suite du décalage, le contenu du bit le plus à gauche de Wd est 1, le
drapeau négatif se met sur ON.
Exemples
Lorsque CIO 000000 est sur ON, CIO 0100 est décalé d'un bit vers la gauche.
“0” est placé dans CIO 010000 et le contenu de CIO 010115 est décalé dans
le drapeau de report (CY).
Wd
3-9-6
DOUBLE SHIFT LEFT : ASLL(570)
Objet
Symbole du schéma
contact
Décale le contenu de Wd et Wd +1 d'un bit vers la gauche.
ASLL(570)
Wd
Wd : Mot
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zones de
programmes de pas
OK
ASLL(570)
@ASLL(570)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
Wd
CIO 0000 à CIO 6142
W000 à W510
355
Chapitre 3-9
Instructions de décalage de données
Zone
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Wd
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
------,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
ASLL(570) décale le contenu de Wd et Wd+1 d'un bit vers la gauche (du bit le
plus à droite vers le bit le plus à gauche). “0” est placé dans le bit le plus à
droite de Wd et les contenus du bit le plus à gauche de Wd et Wd +1 sont
décalés dans le drapeau de report (CY).
Wd+1
Wd
Drapeaux
Précautions
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau de
report
CY
Drapeau
négatif
N
=
Fonctionnement
ON lorsque le résultat du décalage est 0.
OFF dans tous les autres cas.
ON lorsque 1 est décalé dans le drapeau de report (CY).
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche est 1 à la suite du
décalage.
OFF dans tous les autres cas.
Lorsque ASLL(570) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite du décalage, les contenus de Wd et de Wd+1 sont zéro, le drapeau d'égalité se met sur ON.
Si, à la suite du décalage, le contenu du bit le plus à gauche de Wd+1 est 1, le
drapeau négatif se met sur ON.
Exemples
356
Lorsque CIO 000000 est sur ON, les mots CIO 0100 et CIO 0101 sont décalés d'un bit vers la gauche. “0” est placé dans CIO 010000 et le contenu de
CIO 010015 est décalé dans le drapeau de report (CY).
Chapitre 3-9
Instructions de décalage de données
Wd
3-9-7
ARITHMETIC SHIFT RIGHT : ASR(026)
Objet
Symbole du schéma
contact
Décale le contenu de Wd d'un bit vers la droite.
ASR(026)
Wd
Wd : Mot
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Zones de
programmes de pas
OK
ASR(026)
@ASR(026)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
Wd
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--DR0 à DR15
357
Chapitre 3-9
Instructions de décalage de données
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Wd
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
ASR(026) décale le contenu de Wd d'un bit vers la droite (du bit le plus à gauche vers le bit le plus à droite). “0” est placé dans le bit le plus à gauche et le
contenu du bit le plus à droite est décalé dans le drapeau de report (CY).
Drapeaux
Précautions
Nom
Drapeau
d'erreur
Etiquette
ER
OFF
Drapeau
d'égalité
=
Drapeau de
report
CY
Drapeau
négatif
N
Fonctionnement
ON lorsque le résultat du décalage est 0.
OFF dans tous les autres cas.
ON lorsque 1 est décalé vers le drapeau de report (CY).
OFF dans tous les autres cas.
OFF
Lorsque ASR(026) est exécutée, le drapeau d'erreur et le drapeau négatif
passent à OFF.
Si, à la suite du décalage, le contenu de Wd est zéro, le drapeau d'égalité se
met sur ON.
Exemples
Lorsque CIO 000000 est sur ON, CIO 0100 est décalé d'un bit vers la droite.
“0” est placé dans CIO 010015 et le contenu de CIO 010000 est décalé vers
le drapeau de report (CY).
Wd
3-9-8
DOUBLE SHIFT RIGHT : ASRL(571)
Objet
Symbole du schéma
contact
Décale le contenu de Wd et Wd +1 d'un bit vers la droite.
ASRL(571)
Wd
358
Wd : Mot
Chapitre 3-9
Instructions de décalage de données
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
ASRL(571)
@ASRL(571)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
Wd
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
------,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
ASRL(571) décale le contenu de Wd et Wd+1 d'un bit vers la droite (du bit le
plus à gauche vers le bit le plus à droite). “0” est placé dans le bit le plus à
gauche de Wd+1 et le contenu du bit le plus à droite de Wd est décalé dans le
drapeau de report (CY).
Wd+1
Wd
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
=
Fonctionnement
ON lorsque le résultat du décalage est 0.
OFF dans tous les autres cas.
359
Chapitre 3-9
Instructions de décalage de données
Nom
Drapeau de
report
Etiquette
Fonctionnement
CY
ON lorsque 1 est décalé dans le drapeau de report (CY).
OFF dans tous les autres cas.
N
OFF
Drapeau
négatif
Précautions
Lorsque ASRL(571) est exécutée, le drapeau d'erreur et le drapeau négatif
passent à OFF.
Si, à la suite du décalage, les contenus de Wd et de Wd+1 sont zéro, le drapeau d'égalité se met sur ON.
Exemples
Lorsque CIO 000000 est sur ON, le mot CIO 0100 et CIO 0101 est décalé
d'un bit vers la droite. “0” est placé dans CIO 010115 et le contenu de
CIO 010000 est décalé dans le drapeau de report (CY).
Wd
3-9-9
ROTATE LEFT : ROL(027)
Objet
Symbole du schéma
contact
Décale tous les bits Wd d'un bit vers la gauche, y compris le drapeau de
report (CY).
ROL(027)
Wd
Wd : Mot
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
360
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zones de
programmes de pas
OK
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Wd
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
ROL(027)
@ROL(027)
Tâches
d'interruption
OK
Chapitre 3-9
Instructions de décalage de données
Zone
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Wd
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
ROL(027) décale tous les bits de Wd, drapeau de report (CY) inclus, vers la
gauche (du bit le plus à droite vers le bit le plus à gauche).
Drapeaux
Précautions
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Fonctionnement
=
ON lorsque le résultat du décalage est 0.
OFF dans tous les autres cas.
Drapeau de
report
CY
Drapeau
négatif
N
ON lorsque 1 est décalé dans le drapeau de report (CY).
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche est 1 à la suite du
décalage.
OFF dans tous les autres cas.
Lorsque ROL(027) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite du décalage, le contenu de Wd est zéro, le drapeau d'égalité se
met sur ON.
Si, à la suite du décalage, le contenu du bit le plus à gauche de Wd est 1, le
drapeau négatif se met sur ON.
Remarque Il est possible de régler le contenu du drapeau de report sur 1 ou 0 juste avant
d'exécuter cette instruction, au moyen des instructions Set Carry (STC(040))
ou Clear Carry (CLC(041)).
Exemples
Lorsque CIO 000000 est sur ON, le mot CIO 0100 et le drapeau de report
(CY) sont décalés d'un bit vers la gauche. Le contenu de CIO 010015 est
décalé vers le drapeau de report (CY) et le contenu du drapeau de report est
décalé vers CIO 010000.
361
Chapitre 3-9
Instructions de décalage de données
Wd
Wd : CIO 0100
Instruction exécutée une fois
3-9-10 DOUBLE ROTATE LEFT : ROLL(572)
Objet
Symbole du schéma
contact
Décale tous les bits de Wd et Wd +1 d'un bit vers la gauche, y compris le drapeau de passage (CY).
ROLL(572)
Wd
Wd : Mot
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
362
Zones de
programmes de pas
OK
ROLL(572)
@ROLL(572)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Wd
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
---
Tâches
d'interruption
OK
Chapitre 3-9
Instructions de décalage de données
Zone
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Wd
----,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
ROLL(572) décale tous les bits de Wd et Wd+1, drapeau de report (CY)
inclus, vers la gauche (du bit le plus à droite vers le bit le plus à gauche).
Wd+1
Wd
Drapeaux
Précautions
Nom
Drapeau
d'erreur
Etiquette
ER
OFF
Drapeau
d'égalité
=
Drapeau de
report
CY
Drapeau
négatif
N
Fonctionnement
ON lorsque le résultat du décalage est 0.
OFF dans tous les autres cas.
ON lorsque 1 est décalé dans le drapeau de report (CY).
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche est 1 à la suite du
décalage.
OFF dans tous les autres cas.
Lorsque ROLL(572) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite du décalage, les contenus de Wd et de Wd+1 sont zéro, le drapeau d'égalité se met sur ON.
Si, à la suite du décalage, le contenu du bit le plus à gauche de Wd+1 est 1, le
drapeau négatif se met sur ON.
Remarque Il est possible de régler le contenu du drapeau de report sur 1 ou 0 juste avant
d'exécuter cette instruction, au moyen des instructions Set Carry (STC(040))
ou Clear Carry (CLC(041)).
Exemples
Lorsque CIO 000000 est sur ON, le mot CIO 0100, CIO 0101 et le drapeau de
report (CY) sont décalés d'un bit vers la gauche. Le contenu de CIO 010015
est décalé vers le drapeau de report (CY) et le contenu du drapeau de report
est décalé vers CIO 010000.
Wd
Wd+1 : CIO 0101
Wd : CIO 0100
Instruction exécutée une fois
363
Chapitre 3-9
Instructions de décalage de données
3-9-11 ROTATE RIGHT : ROR(028)
Objet
Décale tous les bits Wd d'un bit vers la droite, y compris le drapeau de report
(CY).
Symbole du schéma
contact
ROR(028)
Wd
Wd : Mot
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Zones de
programmes de bloc
OK
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
364
Zones de
programmes de pas
OK
ROR(028)
@ROR(028)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
Wd
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
ROR(028) décale tous les bits de Wd, drapeau de report (CY) inclus, vers la
droite (du bit le plus à gauche vers le bit le plus à droite).
Chapitre 3-9
Instructions de décalage de données
Wd
Drapeaux
Précautions
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau de
report
CY
Drapeau
négatif
N
=
Fonctionnement
ON lorsque le résultat du décalage est 0.
OFF dans tous les autres cas.
ON lorsque 1 est décalé dans le drapeau de report (CY).
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche est 1 à la suite du
décalage.
OFF dans tous les autres cas.
Lorsque ROR(028) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite du décalage, le contenu de Wd est zéro, le drapeau d'égalité se
met sur ON.
Si, à la suite du décalage, le contenu du bit le plus à gauche de Wd est 1, le
drapeau négatif se met sur ON.
Remarque Il est possible de régler le contenu du drapeau de report sur 1 ou 0 juste avant
d'exécuter cette instruction, au moyen des instructions Set Carry (STC(040))
ou Clear Carry (CLC(041)).
Exemples
Lorsque CIO 000000 est sur ON, le mot CIO 0100 et le drapeau de report
(CY) sont décalés d'un bit vers la droite. Le contenu de CIO 010000 est
décalé vers le drapeau de report (CY) et le contenu du drapeau de report est
décalé vers CIO 010015.
Wd
Wd : CIO 0100
Instruction exécutée une fois
3-9-12 DOUBLE ROTATE RIGHT : RORL(573)
Objet
Symbole du schéma
contact
Décale tous les bits Wd et Wd +1 d'un bit vers la droite, y compris le drapeau
de report (CY).
RORL(573)
Wd
Wd : Mot
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
RORL(573)
@RORL(573)
Non prise en charge
Non prise en charge
365
Chapitre 3-9
Instructions de décalage de données
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
Sousprogrammes
OK
Tâches
d'interruption
OK
Wd
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
------,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
RORL(573) décale tous les bits de Wd et Wd+1, drapeau de report (CY)
inclus, vers la droite (du bit le plus à gauche vers le bit le plus à droite).
Wd+1
Wd
Drapeaux
Précautions
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau de
report
CY
Drapeau
négatif
N
=
Fonctionnement
ON lorsque le résultat du décalage est 0.
OFF dans tous les autres cas.
ON lorsque 1 est décalé vers le drapeau de report (CY).
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche est 1 à la suite du décalage.
OFF dans tous les autres cas.
Lorsque RORL(573) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite du décalage, les contenus de Wd et de Wd+1 sont zéro,
le drapeau d'égalité se met sur ON.
366
Chapitre 3-9
Instructions de décalage de données
Si, à la suite du décalage, le contenu du bit le plus à gauche de Wd+1 est 1, le
drapeau négatif se met sur ON.
Remarque Il est possible de régler le contenu du drapeau de report sur 1 ou 0 juste avant
d'exécuter cette instruction, au moyen des instructions Set Carry (STC(040))
ou Clear Carry (CLC(041)).
Exemples
Lorsque CIO 000000 est sur ON, le mot CIO 0100, CIO 0101 et le drapeau de
report (CY) sont décalés d'un bit vers la droite. Le contenu de CIO 010000 est
décalé vers le drapeau de report (CY) et le contenu du drapeau de report est
décalé vers CIO 010115.
Wd
Wd+1 : CIO
Wd : CIO 0100
Instruction exécutée une fois
3-9-13 ROTATE LEFT WITHOUT CARRY : RLNC(574)
Objet
Symbole du schéma
contact
Décale tous les bits Wd d'un bit vers la gauche, sans inclure le drapeau de
report (CY).
RLNC(574)
Wd
Wd : Mot
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Zones de
programmes de pas
OK
RLNC(574)
@RLNC(574)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
Wd
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
367
Chapitre 3-9
Instructions de décalage de données
Zone
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Wd
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
RLNC(574) décale tous les bits de Wd vers la gauche (du bit le plus à droite
vers le bit le plus à gauche). Le contenu du bit le plus à gauche de Wd se
décale vers le bit le plus à droite et vers le drapeau de report (CY).
Wd
Drapeaux
Précautions
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau de
report
CY
Drapeau
négatif
N
=
Fonctionnement
ON lorsque le résultat du décalage est 0.
OFF dans tous les autres cas.
ON lorsque 1 est décalé vers le drapeau de report (CY).
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche est 1 à la suite du
décalage.
OFF dans tous les autres cas.
Lorsque RLNC(574) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite du décalage, le contenu de Wd est zéro, le drapeau d'égalité se
met sur ON.
Si, à la suite du décalage, le contenu du bit le plus à gauche de Wd est 1, le
drapeau négatif se met sur ON.
Exemples
368
Lorsque CIO 000000 est sur ON, le mot CIO 0100 est décalé d'un bit vers la
gauche (drapeau de report (CY) exclu). Le contenu de CIO 010015 est décalé
vers CIO 010000.
Chapitre 3-9
Instructions de décalage de données
Wd
Wd : CIO 0100
Instruction exécutée une fois
1
3-9-14 DOUBLE ROTATE LEFT WITHOUT CARRY : RLNL(576)
Objet
Symbole du schéma
contact
Décale tous les bits Wd et Wd +1 d'un bit vers la gauche, sans inclure le drapeau de report (CY).
RLNL(576)
Wd
Wd : Mot
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Zones de
programmes de pas
OK
RLNL(576)
@RLNL(576)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
Wd
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
---
369
Chapitre 3-9
Instructions de décalage de données
Zone
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Wd
----,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
RLNL(576) décale tous les bits de Wd et Wd+1 vers la gauche (du bit le plus
à droite vers le bit le plus à gauche). Le contenu du bit le plus à gauche de Wd
+1 est décalé vers le bit le plus à droite de Wd et vers le drapeau de report
(CY).
Wd+1
Wd
Drapeaux
Précautions
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau de
report
CY
Drapeau
négatif
N
=
Fonctionnement
ON lorsque le résultat du décalage est 0.
OFF dans tous les autres cas.
ON lorsque 1 est décalé vers le drapeau de report (CY).
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche est 1 à la suite du
décalage.
OFF dans tous les autres cas.
Lorsque RLNL(576) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite du décalage, les contenus de Wd et de Wd+1 sont zéro, le drapeau d'égalité se met sur ON.
Si, à la suite du décalage, le contenu du bit le plus à gauche de Wd+1 est 1, le
drapeau négatif se met sur ON.
Exemples
Lorsque CIO 000000 est sur ON, le mot CIO 0100 et CIO 0101 sont décalés
d'un bit vers la gauche (drapeau de report (CY) exclu). Le contenu de
CIO 010115 est décalé vers CIO 010000.
Wd
Wd+1 : CIO 0101
Wd : CIO 0100
Instruction exécutée une fois
1
370
Chapitre 3-9
Instructions de décalage de données
3-9-15 ROTATE RIGHT WITHOUT CARRY : RRNC(575)
Objet
Symbole du schéma
contact
Décale tous les bits Wd d'un bit vers la droite, sans inclure le drapeau de
report (CY). Le contenu du bit le plus à droite de Wd se décale vers le bit de
gauche et vers le drapeau de report (CY).
RRNC(575)
Wd
Wd : Mot
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
RRNC(575)
@RRNC(575)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
Wd
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
RRNC(575) décale tous les bits de Wd vers la droite (du bit le plus à gauche
vers le bit le plus à droite), drapeau de report (CY) exclu.
371
Chapitre 3-9
Instructions de décalage de données
Wd
Drapeaux
Précautions
Nom
Drapeau
d'erreur
Etiquette
ER
OFF
Drapeau
d'égalité
=
Drapeau de
report
CY
Drapeau
négatif
N
Fonctionnement
ON lorsque le résultat du décalage est 0.
OFF dans tous les autres cas.
ON lorsque 1 est décalé vers le drapeau de report (CY).
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche est 1 à la suite du
décalage.
OFF dans tous les autres cas.
Lorsque RRNC(575) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite du décalage, le contenu de Wd est zéro, le drapeau d'égalité se
met sur ON.
Si, à la suite du décalage, le contenu du bit le plus à gauche de Wd est 1, le
drapeau négatif se met sur ON.
Exemples
Lorsque CIO 000000 est sur ON, le mot CIO 0100 est décalé d'un bit vers la
droite (drapeau de report (CY) exclu). Le contenu de CIO 010000 est décalé
vers CIO 010015.
Wd
Wd : CIO 0100
Instruction exécutée une fois
CY
3-9-16 DOUBLE ROTATE RIGHT WITHOUT CARRY : RRNL(577)
Objet
Symbole du schéma
contact
Décale tous les bits de Wd et Wd +1 d'un bit vers la droite, sans inclure le drapeau de report (CY). Le contenu du bit le plus à droite de Wd +1 est décalé
vers le bit de gauche de Wd et vers le drapeau de report (CY).
RRNL(577)
Wd
Wd : Mot
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
372
RRNL(577)
@RRNL(577)
Non prise en charge
Non prise en charge
Chapitre 3-9
Instructions de décalage de données
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
Sousprogrammes
OK
Tâches
d'interruption
OK
Wd
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
------,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
RRNL(577) décale tous les bits de Wd et Wd+1 vers la droite (du bit le plus à
gauche vers le bit le plus à droite), drapeau de report (CY) exclu.
Wd+1
Wd
Drapeaux
Précautions
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau de
report
CY
Drapeau
négatif
N
=
Fonctionnement
ON lorsque le résultat du décalage est 0.
OFF dans tous les autres cas.
ON lorsque 1 est décalé vers le drapeau de report (CY).
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche est 1 à la suite du
décalage.
OFF dans tous les autres cas.
Lorsque RRNL(577) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite du décalage, les contenus de Wd et de Wd+1 sont zéro, le drapeau d'égalité se met sur ON.
373
Chapitre 3-9
Instructions de décalage de données
Si, à la suite du décalage, le contenu du bit le plus à gauche de Wd+1 est 1, le
drapeau négatif se met sur ON.
Remarque Il est possible de régler le contenu du drapeau de report sur 1 ou 0 juste avant
d'exécuter cette instruction, au moyen des instructions Set Carry (STC(040))
ou Clear Carry (CLC(041)).
Exemples
Lorsque CIO 000000 est sur ON, les mots CIO 0100 et CIO 0101 sont décalés d'un bit vers la droite (drapeau de report (CY) exclu). Le contenu de
CIO 010000 est décalé vers CIO 010115.
Wd
Wd+1 : CIO 0101
Wd : CIO 0100
Instruction exécutée une fois
3-9-17 ONE DIGIT SHIFT LEFT : SLD(074)
Objet
Décale les données d'un chiffre (4 bits) vers la gauche.
Symbole du schéma
contact
SLD(074)
St
St: Mot de départ
E
E: Mot de fin
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
SLD(074)
@SLD(074)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
Remarque St et E doivent être dans la même zone de données.
Spécifications de
l’opérande
374
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
St
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
E
Chapitre 3-9
Instructions de décalage de données
Zone
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
St
E
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
------,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
SLD(074) décale les données entre St et E d'un chiffre (4 bits) vers la gauche.
“0” est placé dans le chiffre le plus à droite (bits 3 à 0 de St), et le contenu du
chiffre le plus à gauche (bits 15 à 12 de E) est perdu.
E
S
t
Perdu
Drapeaux
Nom
Drapeau
d'erreur
Précautions
Etiquette
Fonctionnement
ER
ON si St est supérieur à E.
OFF dans tous les autres cas.
Si St est supérieur à E, une erreur est générée et le drapeau d'erreur se met
sur ON.
Remarque Lorsque de grandes quantités de données sont décalées, le temps d'exécution de l'instruction est relativement long. Veillez à ce qu'il n'y ait pas de coupure de courant en cours d'exécution de SLD(074), car l'opération de
décalage risque d'être interrompue.
Exemples
Lorsque CIO 000000 est sur ON, les mots CIO 0100 à CIO 0102 sont décalés
d'un chiffre (4 bits) vers la gauche. Un zéro est placé dans les bits 0 à 3 du
mot CIO 0100 et le contenu des bits 12 à 15 de CIO 0102 est perdu.
St
E
E : CIO 0102
St+1 : CIO 0101
St : CIO 0100
Perdu
375
Chapitre 3-9
Instructions de décalage de données
3-9-18 ONE DIGIT SHIFT RIGHT : SRD(075)
Objet
Décale les données d'un chiffre (4 bits) vers la droite.
Symbole du schéma
contact
SRD(075)
St
St: Mot de départ
E
E: Mot de fin
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
SRD(075)
@SRD(075)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
Remarque St et E doivent être dans la même zone de données.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
376
St
E
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
------,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Chapitre 3-9
Instructions de décalage de données
Description
SRD(075) décale les données entre St et E d'un chiffre (4 bits) vers la droite.
“0” est placé dans le chiffre le plus à gauche (bits 15 à 12 de E), et le contenu
du chiffre le plus à droite (bits 3 à 0 de St) est perdu.
E
S
t
Perdu
Drapeaux
Nom
Drapeau
d'erreur
Précautions
Etiquette
Fonctionnement
ER
ON si St est supérieur à E.
OFF dans tous les autres cas.
Si St est supérieur à E, une erreur est générée et le drapeau d'erreur se met
sur ON.
Lorsque SRD(075) est exécutée, le drapeau d'égalité et le drapeau négatif
passent à OFF.
Remarque Lorsque de grandes quantités de données sont décalées, le temps d'exécution de l'instruction est relativement long. Veillez à ce qu'il n'y ait pas de coupure de courant en cours d'exécution de SRD(075), car l'opération de
décalage risque d'être interrompue.
Exemples
Lorsque CIO 000000 est sur ON, les mots CIO 0100 à CIO 0102 sont décalés
d'un chiffre (4 bits) vers la droite. Un zéro est placé dans les bits 12 à 15 du
mot CIO 0102 et le contenu des bits 0 à 3 du mot CIO 0100 est perdu.
St
E
E : CIO 0102
St+1 : CIO 0101
St : CIO 0100
Perdu
3-9-19 SHIFT N-BIT DATA LEFT : NSFL(578)
Objet
Symbole du schéma
contact
Décale le nombre de bits spécifié vers la gauche.
NSFL(578)
D
D: Mot de départ pour le
décalage
C
C: Bit de départ
N
N: Longueur du décalage
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
NSFL(578)
@NSFL(578)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
C : 0000 à 000F hex (0 à 15)
N : 0000 à FFFF hex (0 à 65535)
377
Chapitre 3-9
Instructions de décalage de données
Remarque Tous les mots du registre de décalage doivent être dans la même zone.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
D
C
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--#0000 à #000F
(binaire) ou &0 à
&15
--DR0 à DR15
---
#0000 à #FFFF
(binaire) ou &0 à
&65535
,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
NSFL(578) décale le nombre spécifié de bits de la longueur de décalage (N) à
partir du bit de départ (C) dans le mot le plus à droite, tel que désigné par D,
d'un bit vers la gauche (vers le mot le plus à gauche et le bit le plus à gauche).
“0” est placé dans le bit de départ et le contenu du bit le plus à gauche dans la
zone de décalage est décalé vers le drapeau de report (CY).
N−1 bit
N−1 bit
378
N
Décale un bit vers la gauche
Chapitre 3-9
Instructions de décalage de données
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON lorsque les données C ne sont pas comprises entre
0000 et 000F hex.
OFF dans tous les autres cas.
CY
ON lorsque 1 est décalé vers le drapeau de report (CY).
OFF dans tous les autres cas.
Drapeau de
report
Précautions
Lorsque la longueur de décalage (N) est 0, le contenu du bit de départ est
copié dans le drapeau de report (CY), et son contenu reste inchangé.
Seuls les bits décalés dans le mot le plus à droite de la zone de décalage (c.à-d. données de mot les plus à gauche) sont modifiés.
Exemples
Lorsque CIO 000000 est sur ON, tous les bits en commençant au bit 3 jusqu'à
la longueur de décalage (B hex) sont décalés d'un bit vers la gauche (du bit le
plus à droite vers le bit le plus à gauche). “0” est placé dans le bit 3 de
CIO 0100. Le contenu du bit le plus à gauche dans la zone de décalage (bit
13 de CIO 0100) est copié dans le drapeau de report (CY).
D
C
&3
N
&11
C : En commençant
au bit 3
N : 11 bits
D : CIO 0100
D : CIO 0100
0
3-9-20 SHIFT N-BIT DATA RIGHT : NSFR(579)
Objet
Symbole du schéma
contact
Décale le nombre de bits spécifié vers la droite.
NSFR(579)
D
D: Mot de départ pour le
décalage
C
C: Bit de départ
N
N: Longueur du décalage
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
NSFR(579)
@NSFR(579)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
379
Chapitre 3-9
Instructions de décalage de données
Opérandes
C : 0000 à 000F hex (0 à 15)
N : 0000 à FFFF hex (0 à 65535)
Remarque Tous les mots du registre de décalage doivent être dans la même zone.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
D
C
N
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--#0000 à #000F
#0000 à #FFFF
(binaire) ou &0 à (binaire) ou &0 à
&15
&65535
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
NSFR(579) décale le nombre spécifié de bits de la longueur de décalage (N)
à partir du bit de départ (C) dans le mot le plus à droite, comme désigné par
D, d'un bit vers la droite (vers le mot le plus à droite et le bit le plus à droite).
“0” est placé dans le bit de départ et le contenu du bit le plus à droite de la
zone de décalage est décalé vers le drapeau de report (CY).
Décale un bit vers la droite
N-1 bit
N-1 bit
380
Chapitre 3-9
Instructions de décalage de données
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON lorsque les données C ne sont pas comprises entre
0000 et 000F hex.
OFF dans tous les autres cas.
CY
ON lorsque 1 est décalé vers le drapeau de report (CY).
OFF dans tous les autres cas.
Drapeau de
report
Précautions
Lorsque la longueur de décalage (N) est 0, le contenu du bit de départ est
copié dans le drapeau de report (CY), et son contenu reste inchangé.
Seuls les bits décalés dans le mot le plus à droite de la zone de décalage
(c.-à-d. données de mot les plus à gauche) sont modifiés.
Exemples
Lorsque CIO 000000 est sur ON, tous les bits en commençant au bit 2 jusqu'à
la fin de la longueur de décalage de 11 bits (B hex) sont décalés d'un bit vers
la droite (du bit le plus à gauche vers le bit le plus à droite). “0” est placé dans
le bit 12 de CIO 0100. Le contenu du bit le plus à droite dans la zone de décalage (bit 2 de CIO 0100) est copié dans le drapeau de report (CY).
&2
&11
N : 11 bits
C : En commençant
au bit 2
0
3-9-21 SHIFT N-BITS LEFT : NASL(580)
Objet
Symbole du schéma
contact
Décale les 16 bits de données de mot spécifiés vers la gauche, du nombre de
bits spécifié.
NASL(580)
D
D: Mot à décaler
C
C: Mot de contrôle
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
NASL(580)
@NASL(580)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
381
Chapitre 3-9
Instructions de décalage de données
Opérandes
C : Mot de contrôle
15
12 11
C
8 7
0
0
Nbre de bits à décaler :
00 à 10 Hex
Toujours 0.
Données décalées dans un registre
0 Hex : 0 introduit par décalage
8 Hex : Contenu du bit le plus à droite introduit par décalage
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
D
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--Valeurs spécifiées
uniquement
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
382
C
A000 à A959
NASL(580) décale D (mot à décaler) du nombre spécifié de bits binaires (spécifié dans C) vers la gauche (du bit le plus à droite vers le bit le plus à gauche). Des zéros ou la valeur du bit le plus à droite sont placés dans le nombre
spécifié de bits du mot à décaler en commençant par le bit le plus à droite.
Chapitre 3-9
Instructions de décalage de données
Décalage de n bits
Contenu de "a" ou "0" introduit
par décalage
Perdu
N bits
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau de
report
Drapeau
négatif
Précautions
Etiquette
Fonctionnement
ER
ON lorsque le mot de contrôle C (nombre de bits à décaler) est hors plage.
OFF dans tous les autres cas.
=
ON lorsque le résultat du décalage est 0.
OFF dans tous les autres cas.
CY
ON lorsque 1 est décalé vers le drapeau de report (CY).
OFF dans tous les autres cas.
N
ON lorsque le bit le plus à gauche est 1 à la suite du
décalage.
OFF dans tous les autres cas.
Pour tout bit décalé en dehors du mot spécifié, le contenu du dernier bit est
décalé vers le drapeau de report (CY), et toute autre donnée est perdue.
Lorsque le nombre de bits à décaler (spécifié dans C) est “0,” les données ne
sont pas décalées. Les drapeaux appropriés passent toutefois à ON ou OFF,
en fonction des données dans le mot spécifié.
Si le contenu du mot de contrôle C est hors plage, une erreur est générée et
le drapeau d'erreur se met sur ON.
Si, à la suite du décalage, le contenu de D est 0000 hex, le drapeau d'égalité
se met sur ON.
Si, à la suite du décalage, le contenu du bit le plus à gauche de D est 1, le
drapeau négatif se met sur ON.
Exemples
Lorsque CIO 000000 est sur ON, le contenu de CIO 0100 est décalé de
10 bits vers la gauche (du bit le plus à droite vers le bit le plus à gauche). Le
nombre de bits à décaler est spécifié dans les bits 0 à 7 du mot CIO 0300
(données de contrôle). Le contenu du bit 0 de CIO 0100 est copié dans les
bits à partir desquels les données ont été décalées, et le contenu du bit le
plus à droite décalé en dehors de la plage est décalé vers le drapeau de
report (CY). Toutes les autres données sont perdues.
383
Chapitre 3-9
Instructions de décalage de données
15
C
12 11
8
8 7
0
4 3
0
0
A
Nbre de bits à décaler :
10 bits (0A Hex)
Toujours 0.
Données décalées dans un registre
8 Hex : Contenu du bit le plus à droite introduit par décalage
Perdu
Bit le plus à
droite
Nbre de bits à décaler :
10 bits (le contenu du bit le
plus à droite est inséré.)
3-9-22 DOUBLE SHIFT N-BITS LEFT : NSLL(582)
Objet
Symbole du schéma
contact
Décale les 32 bits de données de mot spécifiés vers la gauche, du nombre de
bits spécifié.
NSLL(582)
D
D: Mot à décaler
C
C: Mot de contrôle
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
384
Zones de
programmes de bloc
OK
C : Mot de contrôle
Zones de
programmes de pas
OK
NSLL(582)
@NSLL(582)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
Chapitre 3-9
Instructions de décalage de données
C
15
12 11
8 7
0
0
Nbre de bits à décaler :
00 à 20 Hex
Toujours 0.
Données décalées dans un registre
0 Hex : 0 introduit par décalage
8 Hex : Contenu du bit le plus à droite introduit par décalage
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
D
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
C
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
Zone EM sans banque
Zone EM avec banque
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
---
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Valeurs spécifiées uniquement
DR0 à DR15
----,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
NSLL(582) décale D et D+1 (mots à décaler) du nombre spécifié de bits binaires (spécifié dans C) vers la gauche (du bit le plus à droite vers le bit le plus à
gauche). Des zéros ou la valeur du bit le plus à droite sont placés dans le
nombre spécifié de bits du mot à décaler en commençant par le bit le plus à
droite.
Décalage de n bits
Contenu de "a" ou "0" introduit
par décalage
Perdu
N bits
385
Chapitre 3-9
Instructions de décalage de données
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau de
report
Drapeau
négatif
Précautions
Etiquette
Fonctionnement
ER
ON lorsque le mot de contrôle C (nombre de bits à
décaler) est hors plage.
OFF dans tous les autres cas.
=
ON lorsque le résultat du décalage est 0.
OFF dans tous les autres cas.
CY
ON lorsque 1 est décalé vers le drapeau de report (CY).
OFF dans tous les autres cas.
N
ON lorsque le bit le plus à gauche est 1 à la suite du
décalage.
OFF dans tous les autres cas.
Pour tout bit décalé en dehors du mot spécifié, le contenu du dernier bit est
décalé vers le drapeau de report (CY), et toute autre donnée est perdue.
Lorsque le nombre de bits à décaler (spécifié dans C) est “0,” les données ne
sont pas décalées. Les drapeaux appropriés passent toutefois à ON et OFF,
en fonction des données dans le mot spécifié.
Si le contenu du mot de contrôle C est hors plage, une erreur est générée et
le drapeau d'erreur se met sur ON.
Si, à la suite du décalage, le contenu de D est 0000, le drapeau d'égalité se
met sur ON.
Si, à la suite du décalage, le contenu du bit le plus à gauche de D, D+1 est 1,
le drapeau négatif se met sur ON.
Exemples
Lorsque CIO 000000 est sur ON, CIO 0100 et CIO 0101 sont décalés vers la
gauche (du bit le plus à droite vers le bit le plus à gauche) de 10 bits. Le nombre de bits à décaler est spécifié dans les bits 0 à 7 du mot CIO 0300 (données de contrôle). Le contenu du bit 0 de CIO 0100 est copié dans les bits à
partir desquels les données ont été décalées, et le contenu du bit le plus à
droite décalé en dehors de la plage est décalé vers le drapeau de report (CY).
Toutes les autres données sont perdues.
C
15
12 11
8
8 7
0
4 3
0
0
A
Nbre de bits à décaler :
10 bits (0A Hex)
Toujours 0.
Données décalées dans un registre
8 Hex : Contenu du bit le plus à
droite introduit par décalage
386
Chapitre 3-9
Instructions de décalage de données
Perdu
Bit le plus
à droite a
0100
0100
Nbre de bits à décaler :
10 bits (le contenu du bit le
plus à droite est inséré.)
3-9-23 SHIFT N-BITS RIGHT : NASR(581)
Objet
Décale les 16 bits de données de mot spécifiés vers la droite, du nombre de
bits spécifié.
Symbole du schéma
contact
NASR(581)
D
D: Mot à décaler
C
C: Mot de contrôle
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
NASR(581)
@NASR(581)
Non prise en charge
Non prise en charge
Sousprogrammes
OK
Tâches
d'interruption
OK
C : Mot de contrôle
15
C
12 11
8 7
0
0
Nbre de bits à décaler :
00 à 10 Hex
Toujours 0.
Données décalées dans un registre
0 Hex : 0 introduit par décalage
8 Hex : Contenu du bit le plus à droite introduit par décalage
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
D
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
C
A000 à A447
A448 à A959
387
Chapitre 3-9
Instructions de décalage de données
Zone
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
D
C
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--Valeurs spécifiées
uniquement
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047, IR0 à –2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
NASR(581) décale D (mot à décaler) du nombre spécifié de bits binaires
(spécifié dans C) vers la droite (du bit le plus à droite vers le bit le plus à gauche). Des zéros ou la valeur du bit le plus à droite sont placés dans le nombre
spécifié de bits du mot à décaler en commençant par le bit le plus à droite.
Contenu de "a" ou
"0" introduit par
décalage
Perdu
N bits
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau de
report
Drapeau
négatif
Précautions
Etiquette
Fonctionnement
ER
ON lorsque le mot de contrôle C (nombre de bits à décaler) est hors plage.
OFF dans tous les autres cas.
=
ON lorsque le résultat du décalage est 0.
OFF dans tous les autres cas.
CY
ON lorsque 1 est décalé vers le drapeau de report (CY).
OFF dans tous les autres cas.
N
ON lorsque le bit le plus à gauche est 1 à la suite du
décalage.
OFF dans tous les autres cas.
Pour tout bit décalé en dehors du mot spécifié, le contenu du dernier bit est
décalé vers le drapeau de report (CY), et toute autre donnée est éliminée.
Lorsque le nombre de bits à décaler (spécifié dans C) est “0,” les données ne
sont pas décalées. Les drapeaux appropriés passent toutefois à ON et OFF,
en fonction des données dans le mot spécifié.
388
Chapitre 3-9
Instructions de décalage de données
Si le contenu du mot de contrôle C est hors plage, une erreur est générée et
le drapeau d'erreur se met sur ON.
Si, à la suite du décalage, le contenu de D est 0000 hex, le drapeau d'égalité
se met sur ON.
Si, à la suite du décalage, le contenu du bit le plus à gauche de D est 1, le
drapeau négatif se met sur ON.
Exemples
Lorsque CIO 000000 est sur ON, CIO 0100 est décalé de 10 bits vers la
droite (du bit le plus à gauche vers le bit le plus à droite). Le nombre de bits à
décaler est spécifié dans les bits 0 à 7 du mot CIO 0300. Le contenu du bit 15
de CIO 0100 est copié dans les bits à partir desquels les données ont été
décalées, et le contenu du bit le plus à gauche des données décalées en
dehors de la plage est décalé vers le drapeau de report (CY). Toutes les
autres données sont perdues.
C
15
12 11
8
8 7
0
4 3
0
0
A
Nbre de bits à décaler :
10 bits (0A Hex)
Toujours 0.
Données décalées dans un registre
8 Hex : Contenu du bit le plus à gauche introduit par décalage
Bit le plus à gauche
Perd
Nbre de bits à décaler : 10 bits
(le contenu du bit le plus à
gauche est inséré.)
3-9-24 DOUBLE SHIFT N-BITS RIGHT : NSRL(583)
Objet
Symbole du schéma
contact
Décale les 32 bits de données de mot spécifiés vers la droite, du nombre de
bits spécifié.
NSRL(583)
D
D: Mot à décaler
C
C: Mot de contrôle
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
NSRL(583)
@NSRL(583)
Non prise en charge
Non prise en charge
389
Chapitre 3-9
Instructions de décalage de données
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
Sousprogrammes
OK
Tâches
d'interruption
OK
C : Mot de contrôle
15
12 11
C
8 7
0
0
Nbre de bits à décaler :
00 à 20 Hex
Toujours 0.
Données décalées dans un registre
0 Hex : 0 introduit par décalage
8 Hex : Contenu du bit le plus à droite introduit par décalage
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
390
D
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
-------
C
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Valeurs spécifiées
uniquement
DR0 à DR15
,IR0 à ,IR15
-2048 à +2047, IR0 à -2048 à +2047, IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
NSRL(583) décale D et D+1 (mots à décaler) du nombre spécifié de bits
binaires (spécifié dans C) vers la droite (du bit le plus à gauche vers le bit le
plus à droite). Des zéros ou la valeur du bit le plus à droite sont placés dans le
nombre spécifié de bits du mot à décaler en commençant par le bit le plus à
droite.
Chapitre 3-9
Instructions de décalage de données
Décalage de n bits
Contenu de "a"
ou "0" introduit
par décalage
Perdu
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON lorsque le mot de contrôle C (nombre de bits à
décaler) est hors plage.
OFF dans tous les autres cas.
=
ON lorsque le résultat du décalage est 0.
OFF dans tous les autres cas.
CY
ON lorsque 1 est décalé vers le drapeau de report (CY).
OFF dans tous les autres cas.
N
ON lorsque le bit le plus à gauche est 1 à la suite du
décalage.
OFF dans tous les autres cas.
Drapeau
d'égalité
Drapeau de
report
Drapeau
négatif
Précautions
Pour tout bit décalé en dehors du mot spécifié, le contenu du dernier bit est
décalé vers le drapeau de report (CY), et toute autre donnée est perdue.
Lorsque le nombre de bits à décaler (spécifié dans C) est “0,” les données ne
sont pas décalées. Les drapeaux appropriés passent toutefois à ON ou OFF,
en fonction des données dans le mot spécifié.
Si le contenu du mot de contrôle C est hors plage, une erreur est générée et
le drapeau d'erreur se met sur ON.
Si, à la suite du décalage, le contenu de D +1 est 00000000 hex, le drapeau
d'égalité se met sur ON.
Si, à la suite du décalage, le contenu du bit le plus à gauche de D +1 est 1, le
drapeau négatif se met sur ON.
Exemples
Lorsque CIO 000000 est sur ON, CIO 0100 et CIO 0101 sont décalés de
10 bits vers la droite (du bit le plus à gauche vers le bit le plus à droite). Le
nombre de bits à décaler est spécifié dans les bits 0 à 7 du mot CIO 0300
(données de contrôle). Le contenu du bit 15 de CIO est copié dans les bits à
partir desquels les données ont été décalées, et le contenu du bit le plus à
gauche décalé en dehors de la plage est décalé vers le drapeau de report
(CY). Toutes les autres données sont perdues.
15
C
12 11
8
8 7
0
4 3
0
0
A
Nbre de bits à décaler :
10 bits (0A Hex)
Toujours 0.
Données décalées dans un registre
8 Hex : Contenu du bit le plus à gauche introduit par décalage
391
Chapitre 3-9
Instructions de décalage de données
Bit le plus à gauche
Perdu
CY
Nbre de bits à décaler :
10 bits (le contenu du bit le
plus à gauche est inséré.)
392
1
Chapitre 3-10
Instructions d'incrémentation/décrémentation
3-10 Instructions d'incrémentation/décrémentation
3-10-1 INCREMENT BINARY : ++(590)
Objet
Symbole du schéma
contact
Incrémente de 1 le contenu (4 chiffres hexadécimaux) du mot spécifié.
++(590)
Wd
Wd: Mot
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en binaire
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
++(590)
@++(590)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
Wd
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
L'instruction ++(590) ajoute 1 au contenu binaire de Wd. Le mot spécifié peut
être incrémenté de 1 à chaque cycle aussi longtemps que la condition d'exécution de ++(590) est ON. Si la variation de différentiation sur front montant
de cette instruction (@++(590)) est utilisée, le mot spécifié n'est incrémenté
que lorsque la condition d'exécution passe de OFF à ON.
393
Chapitre 3-10
Instructions d'incrémentation/décrémentation
Wd
Wd
Le drapeau d'égalité est mis sur ON si le résultat est 0000, le drapeau de
report est mis sur ON lorsqu'un chiffre passe de F à 0, et le drapeau négatif
est mis sur ON lorsque le bit 15 de Wd est ON dans le résultat.
Le drapeau d'égalité et le drapeau de report sont mis sur ON lorsque le contenu de Wd passe de FFFF à 0000.
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Exemples
Etiquette
ER
=
Drapeau
de report
CY
Drapeau
négatif
N
Fonctionnement
OFF
ON si le contenu de Wd est 0000 après l'exécution.
OFF dans tous les autres cas.
ON si un chiffre dans Wd est passé de F à 0 pendant
l'exécution.
OFF dans tous les autres cas.
ON si le bit 15 de Wd est ON après l'exécution.
OFF dans tous les autres cas.
Fonctionnement de ++(590)
Dans l'exemple suivant, le contenu de D00100 est incrémenté de 1 à chaque
cycle aussi longtemps que CIO 000000 est sur ON.
Incrémenté à chaque cycle
si CIO 000000 est ON.
Wd : D00100
Wd : D00100
0 0 1 9
0 0 1 A
: Exécution de ++(590)
Incrémentation Incrémentation
Incrémentation Incrémentation
Fonctionnement de @++(590)
La variation de différentiation sur front montant est utilisée dans l'exemple suivant, de sorte que le contenu de D00100 est incrémenté de 1 uniquement
lorsque CIO 000000 passe de OFF à ON.
Incrémentation uniquement pour
la différentiation sur front montant.
@++
Wd : D00100
0 0 1 9
Wd : D00100
0 0 1 A
: Exécution de @++(590)
Incrémentation
394
Incrémentation
Chapitre 3-10
Instructions d'incrémentation/décrémentation
3-10-2 DOUBLE INCREMENT BINARY : ++L(591)
Objet
Symbole du schéma
contact
Incrémente de 1 le contenu (8 chiffres hexadécimaux) des mots spécifiés.
++L(591)
Wd
Wd: Premier mot
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
++L(591)
@++L(591)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
Wd
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
----IR0 à IR15
,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
L'instruction ++L(591) ajoute 1 au contenu hexadécimal à 8 chiffres de Wd+1
et Wd. Le contenu des mots spécifiés est incrémenté de 1 à chaque cycle
aussi longtemps que la condition d'exécution de ++L(591) est sur ON. Si la
variation de différentiation sur front montant de cette instruction (@++L(591))
est utilisée, le contenu des mots spécifiés n'est incrémenté que lorsque la
condition d'exécution passe de OFF à ON.
395
Chapitre 3-10
Instructions d'incrémentation/décrémentation
Wd+1
Wd
Wd+1
Wd
Le drapeau d'égalité est mis sur ON si le résultat est 0000 0000, le drapeau
de report est mis sur ON lorsqu'un chiffre passe de F à 0, et le drapeau négatif est mis sur ON lorsque le bit 15 de Wd+1 est ON dans le résultat.
Le drapeau d'égalité et le drapeau de report sont mis sur ON lorsque le contenu passe de FFFF à 0000 0000.
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau de
report
CY
=
Drapeau négatif N
Exemples
Fonctionnement
ON si le résultat est 0000 0000 après l'exécution.
OFF dans tous les autres cas.
ON si un chiffre dans Wd+1 est passé de F à 0
pendant l'exécution.
OFF dans tous les autres cas.
ON si le bit 15 de Wd+1 est ON après l'exécution.
OFF dans tous les autres cas.
Fonctionnement de ++L(591)
Dans l'exemple suivant, le contenu hexadécimal à 8 chiffres de D00101 et
D00100 est incrémenté de 1 à chaque cycle aussi longtemps que
CIO 000000 est ON.
Incrémenté à chaque cycle
si CIO 000000 est ON.
Wd+1 : D00101 Wd : D00100
Wd+1 : D00101 Wd : D00100
: Exécution de ++L(591)
Incrémentation Incrémentation Incrémentation Incrémentation
Fonctionnement de @++L(591)
La variation de différentiation sur front montant est utilisée dans l'exemple suivant, de sorte que le contenu de D00101 et D00100 est incrémenté de 1 uniquement lorsque CIO 000000 passe de OFF à ON.
@++L
Incrémentation uniquement pour
la différentiation sur front montant.
Wd+1 : D00101 Wd : D00100
Wd+1 : D00101 Wd : D00100
: Exécution de @++L(591)
Incrémentation
396
Incrémentation
Chapitre 3-10
Instructions d'incrémentation/décrémentation
3-10-3 DECREMENT BINARY : – –(592)
Objet
Décrémente de 1 le contenu (4 chiffres hexadécimaux) du mot spécifié.
Symbole du schéma
contact
− −(592)
Wd
Wd: Mot
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en binaire
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
– – (592)
@– – (592)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
Wd
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
L'instruction – –(592) soustrait 1 au contenu binaire de Wd. Le mot spécifié
peut être décrémenté de 1 à chaque cycle aussi longtemps que la condition
d'exécution de – –(592) est ON. Si la variation de différentiation sur front montant de cette instruction (@– –(592)) est utilisée, le mot spécifié n'est décrémenté que lorsque la condition d'exécution passe de OFF à ON.
Wd
Wd
397
Chapitre 3-10
Instructions d'incrémentation/décrémentation
Le drapeau d'égalité est mis sur ON si le résultat est 0000, le drapeau de
report est mis sur ON lorsqu'un chiffre passe de 0 à F, et le drapeau négatif
est mis sur ON lorsque le bit 15 de Wd est ON dans le résultat.
Le drapeau de report et le drapeau négatif sont mis sur ON lorsque le contenu de Wd passe de 0000 à FFFF.
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
ER
OFF
Drapeau
d'égalité
=
Drapeau de
report
CY
Drapeau négatif N
Exemples
Fonctionnement
ON si le contenu de Wd est 0000 après l'exécution.
OFF dans tous les autres cas.
ON si un chiffre dans Wd est passé de 0 à F pendant
l'exécution.
OFF dans tous les autres cas.
ON si le bit 15 de Wd est sur ON après l'exécution.
OFF dans tous les autres cas.
Fonctionnement de – –(592)
Dans l'exemple suivant, le contenu de D00100 est décrémenté de 1 à chaque
cycle aussi longtemps que CIO 000000 est sur ON.
Décrémenté à chaque cycle
si CIO 000000 est ON.
Wd : D00100
Wd : D00100
−1
: Exécution de − −(592)
Décrémentation Décrémentation Décrémentation Décrémentation
Fonctionnement de @– –(592)
La variation de différentiation sur front montant est utilisée dans l'exemple suivant, de sorte que le contenu de D00100 est décrémenté de 1 uniquement
lorsque CIO 000000 passe de OFF à ON.
@− −
Décrémentation uniquement pour
la différentiation sur front montant.
Wd : D00100
−1
Wd : D00100
: Exécution de @− −(592)
Décrémentation
398
Décrémentation
Chapitre 3-10
Instructions d'incrémentation/décrémentation
3-10-4 DOUBLE DECREMENT BINARY : – –L(593)
Objet
Décrémente de 1 le contenu (8 chiffres hexadécimaux) des mots spécifiés.
Symbole du schéma
contact
− −L(593)
Wd
Wd: Premier mot
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en binaire
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
– –L(593)
@– –L(593)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
Wd
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
----IR0 à IR15
,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
L'instruction – –L(593) soustrait 1 au contenu hexadécimal à 8 chiffres de
Wd+1 et Wd. Le contenu des mots spécifiés est decrémenté de 1 à chaque
cycle aussi longtemps que la condition d'exécution de – –L(593) est ON. Si la
variation de différentiation sur front montant de cette instruction (@– –L(593))
est utilisée, le contenu des mots spécifiés n'est décrémenté que lorsque la
condition d'exécution passe de OFF à ON.
399
Chapitre 3-10
Instructions d'incrémentation/décrémentation
Wd+1
Wd
Wd+1
Wd
Le drapeau d'égalité est mis sur ON si le résultat est 0000 0000, le drapeau
de report est mis sur ON lorsqu'un chiffre passe de 0 à F, et le drapeau négatif
est mis sur ON lorsque le bit 15 de Wd+1 est ON dans le résultat.
Le drapeau de report et le drapeau négatif sont mis sur ON lorsque le contenu passe de 0000 0000 à FFFF FFFF.
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau de
report
CY
=
Drapeau négatif N
Exemples
Fonctionnement
ON si le résultat est 0000 0000 après l'exécution.
OFF dans tous les autres cas.
ON si un chiffre dans Wd+1 ou Wd est passé de 0 à F
pendant l'exécution.
OFF dans tous les autres cas.
ON si le bit 15 de Wd+1 est sur ON après l'exécution.
OFF dans tous les autres cas.
Fonctionnement de – –L(593)
Dans l'exemple suivant, le contenu hexadécimal à 8 chiffres de D00101 et
D00100 est décrémenté de 1 à chaque cycle aussi longtemps que
CIO 000000 est sur ON.
Décrémenté à chaque cycle
si CIO 000000 est ON.
Wd+1 : D00101 Wd : D00100
Wd+1 : D00101 Wd : D00100
−1
: Exécution de − −L(593)
Décrémentation Décrémentation Décrémentation Décrémentation
Fonctionnement de @– –L(593)
La variation de différentiation sur front montant est utilisée dans l'exemple suivant, de sorte que le contenu de D00101 et D00100 est décrémenté de 1 uniquement lorsque CIO 000000 passe de OFF à ON.
Décrémentation uniquement pour
la différentiation sur front montant.
@ − −L
Wd+1 : D00101 Wd : D00100
Wd+1 : D00101 Wd : D00100
−1
: Exécution de @− −L(593)
Décrémentation
400
Décrémentation
Chapitre 3-10
Instructions d'incrémentation/décrémentation
3-10-5 INCREMENT BCD : ++B(594)
Objet
Symbole du schéma
contact
Incrémente de 1 le contenu BCD à 4 chiffres du mot spécifié.
++B(594)
Wd
Wd: Mot
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en BCD
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
++B(594)
@++B(594)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
Wd
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
L'instruction ++B(594) ajoute 1 au contenu BCD de Wd. Le mot spécifié est
incrémenté de 1 à chaque cycle aussi longtemps que la condition d'exécution
de ++B(594) est sur ON. Si la variation de différentiation sur front montant de
cette instruction (@++B(594)) est utilisée, le mot spécifié n'est incrémenté
que lorsque la condition d'exécution passe de OFF à ON.
401
Chapitre 3-10
Instructions d'incrémentation/décrémentation
Wd
Wd
Le drapeau d'égalité se met sur ON si le résultat est 0000 et le drapeau de
report se met sur ON lorsqu'un chiffre passe de 9 à 0.
Le drapeau d'égalité et le drapeau de report sont mis sur ON lorsque le contenu de Wd passe de 9999 à 0000.
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau de
report
Etiquette
Fonctionnement
ER
ON si le contenu de Wd n'est pas de type BCD.
OFF dans tous les autres cas.
=
ON si le contenu de Wd est 0000 après l'exécution.
OFF dans tous les autres cas.
CY
ON si un chiffre dans Wd est passé de 9 à 0 pendant
l'exécution.
OFF dans tous les autres cas.
Précautions
Le contenu de Wd doit être de type BCD. S'il n'est pas de type BCD, une
erreur se produit et le drapeau d'erreur se met sur ON.
Exemples
Fonctionnement de ++B(594)
Dans l'exemple suivant, le contenu BCD de D00100 est incrémenté de 1 à
chaque cycle aussi longtemps que CIO 000000 est sur ON.
Incrémenté à chaque cycle
si CIO 000000 est ON.
Wd : D00100
Wd : D00100
: Exécution de ++B(594)
Incrémentation
Incrémentation
Incrémentation Incrémentation
Fonctionnement de @++B(594)
La variation de différentiation sur front montant est utilisée dans l'exemple suivant, de sorte que le contenu de D00100 est incrémenté de 1 uniquement
lorsque CIO 000000 passe de OFF à ON.
@++B
Incrémentation uniquement pour
la différentiation sur front montant.
Wd : D00100
Wd : D00100
: Exécution de @++B(594)
Incrémentation
402
Incrémentation
Chapitre 3-10
Instructions d'incrémentation/décrémentation
3-10-6 DOUBLE INCREMENT BCD : ++BL(595)
Objet
Symbole du schéma
contact
Incrémente de 1 le contenu BCD à 8 chiffres des mots spécifiés.
++BL(595)
Wd
Wd: Premier mot
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en BCD
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
++BL(595)
@++BL(595)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
Wd
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
------,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
L'instruction ++BL(595) ajoute 1 au contenu BCD à 8 chiffres de Wd+1 et Wd.
Le contenu des mots spécifiés est incrémenté de 1 à chaque cycle aussi longtemps que la condition d'exécution de ++BL(595) est ON. Si la variation de
différentiation sur front montant de cette instruction (@++BL(595)) est utilisée, le contenu des mots spécifiés n'est incrémenté que lorsque la condition
d'exécution passe de OFF à ON.
403
Chapitre 3-10
Instructions d'incrémentation/décrémentation
Wd+1
Wd
Wd+1
Wd
Le drapeau d'égalité se met sur ON si le résultat est 0000 0000 et le drapeau
de report se met sur ON lorsqu'un chiffre passe de 9 à 0.
Le drapeau d'égalité et le drapeau de report sont mis sur ON lorsque le contenu passe de 9999 9999 à 0000 0000.
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau de
report
Etiquette
Fonctionnement
ER
ON si le contenu de Wd+1 et Wd n'est pas de type BCD.
OFF dans tous les autres cas.
=
ON si le résultat est 0000 0000 après l'exécution.
OFF dans tous les autres cas.
CY
ON si un chiffre dans Wd+1 ou Wd est passé de 9 à 0
pendant l'exécution.
OFF dans tous les autres cas.
Précautions
Le contenu de Wd+1 et Wd doit être de type BCD. S'il n'est pas de type BCD,
une erreur se produit et le drapeau d'erreur se met sur ON.
Exemples
Fonctionnement de ++BL(595)
Dans l'exemple suivant, le contenu BCD à 8 chiffres de D00101 et D00100 est
incrémenté de 1 à chaque cycle aussi longtemps que CIO 000000 est ON.
Incrémenté à chaque cycle
si CIO 000000 est ON.
Wd+1 : D00101 Wd :D00100
Wd+1 :D00101 Wd :D00100
: Exécution de ++BL(595)
Incrémentation Incrémentation
Incrémentation Incrémentation
Fonctionnement de @++BL(595)
La variation de différentiation sur front montant est utilisée dans l'exemple suivant, de sorte que le contenu BCD de D00101 et D00100 est incrémenté de 1
uniquement lorsque CIO 000000 passe de OFF à ON.
@++BL
Incrémentation uniquement pour
la différentiation sur front montant.
Wd+1 : D00101 Wd :D00100
Wd+1 :D00101 Wd :D00100
: Exécution de @++BL(595)
Incrémentation
404
Incrémentation
Chapitre 3-10
Instructions d'incrémentation/décrémentation
3-10-7 DECREMENT BCD : – –B(596)
Objet
Décrémente de 1 le contenu BCD à 4 chiffres du mot spécifié.
Symbole du schéma
contact
− −B(596)
Wd
Wd: Mot
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en BCD
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
– –B(596)
@– –B(596)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
Wd
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
L'instruction – –B(596) soustrait 1 au contenu BCD de Wd. Le mot spécifié est
décrémenté de 1 à chaque cycle aussi longtemps que la condition d'exécution
de – –B(596) est ON. Si la variation de différentiation sur front montant de
cette instruction (@– –B(596)) est utilisée, le mot spécifié n'est décrémenté
que lorsque la condition d'exécution passe de OFF à ON.
405
Chapitre 3-10
Instructions d'incrémentation/décrémentation
−1
Wd
Wd
Le drapeau d'égalité se met sur ON si le résultat est 0000 et le drapeau de
report se met sur ON lorsqu'un chiffre passe de 0 à 9.
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau de
report
Précautions
Exemples
Etiquette
Fonctionnement
ER
ON si le contenu de Wd n'est pas de type BCD.
OFF dans tous les autres cas.
=
ON si le contenu de Wd est 0000 après l'exécution.
OFF dans tous les autres cas.
CY
ON si un chiffre dans Wd est passé de 0 à 9 pendant
l'exécution.
OFF dans tous les autres cas.
Le contenu de Wd doit être de type BCD. S'il n'est pas de type BCD, une
erreur se produit et le drapeau d'erreur se met sur ON.
Fonctionnement de – –B(596)
Dans l'exemple suivant, le contenu BCD de D00100 est déncrémenté de 1 à
chaque cycle aussi longtemps que CIO 000000 est ON.
Décrémenté à chaque cycle
si CIO 000000 est ON.
Wd : D00100
Wd : D00100
−1
: Exécution de − − B(596)
Décrémentation Décrémentation Décrémentation Décrémentation
Fonctionnement de @– –B(596)
La variation de différentiation sur front montant est utilisée dans l'exemple suivant, de sorte que le contenu BCD de D00100 est décrémenté de 1 uniquement lorsque CIO 000000 passe de OFF à ON.
@− −B
Décrémentation uniquement pour
la différentiation sur front montant.
Wd : D00100
Wd : D00100
−1
: Exécution de @− −B(596)
Décrémentation
406
Décrémentation
Chapitre 3-10
Instructions d'incrémentation/décrémentation
3-10-8 DOUBLE DECREMENT BCD : – –BL(597)
Objet
Symbole du schéma
contact
Décrémente de 1 le contenu BCD à 8 chiffres des mots spécifiés.
− −BL(597)
Wd
Wd: Premier mot
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en BCD
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
– –BL(597)
@– –BL(597)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
Wd
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
------,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
L'instruction – –BL(597) soustrait 1 au contenu BCD à 8 chiffres de Wd+1 et
Wd. Le contenu des mots spécifiés est decrémenté de 1 à chaque cycle aussi
longtemps que la condition d'exécution de – –BL(597) est ON. Si la variation
de différentiation sur front montant de cette instruction (@– –BL(597)) est utilisée, le contenu des mots spécifiés n'est décrémenté que lorsque la condition
d'exécution passe de OFF à ON.
407
Chapitre 3-10
Instructions d'incrémentation/décrémentation
Wd+1
Wd
Wd+1
Wd
Le drapeau d'égalité se met sur ON si le résultat est 0000 0000 et le drapeau
de report se met sur ON lorsqu'un chiffre passe de 0 à 9.
Drapeaux
Nom
Etiquette
Drapeau
d'erreur
ER
Drapeau
d'égalité
=
Drapeau de
report
CY
Fonctionnement
ON si le contenu de Wd+1 et Wd n'est pas de type BCD.
OFF dans tous les autres cas.
ON si le résultat est 0000 0000 après l'exécution.
OFF dans tous les autres cas.
ON si un chiffre dans Wd+1 ou Wd est passé de 0 à 9
pendant l'exécution.
OFF dans tous les autres cas.
Précautions
Le contenu de Wd+1 et Wd doit être de type BCD. S'il n'est pas de type BCD,
une erreur se produit et le drapeau d'erreur se met sur ON.
Exemples
Fonctionnement de – –BL(597)
Dans l'exemple suivant, le contenu BCD à 8 chiffres de D00101 et D00100 est
décrémenté de 1 à chaque cycle aussi longtemps que CIO 000000 est ON.
Décrémenté à chaque cycle
si CIO 000000 est ON.
Wd+1 : D00101 Wd : D00100
−1
Wd+1 : D00101 Wd : D00100
: Exécution de − −BL(597)
Décrémentation Décrémentation
Décrémentation Décrémentation
Fonctionnement de @– –BL(597)
La variation de différentiation sur front montant est utilisée dans l'exemple suivant, de sorte que le contenu BCD de D00101 et D00100 est décrémenté de
1 uniquement lorsque CIO 000000 passe de OFF à ON.
Décrémentation uniquement pour
la différentiation sur front montant.
@− −BL
Wd+1 : D00101 Wd : D00100
Wd+1 : D00101 Wd : D00100
−1
: Exécution de @− −BL(597)
Décrémentation
408
Décrémentation
Chapitre 3-11
Instructions mathématiques à symboles
3-11 Instructions mathématiques à symboles
Cette section décrit les instructions mathématiques à symboles qui effectuent
des opérations arithmétiques sur des données BCD ou binaires.
Instruction
SIGNED BINARY ADD
WITHOUT CARRY
DOUBLE SIGNED BINARY
ADD WITHOUT CARRY
SIGNED BINARY ADD WITH
CARRY
DOUBLE SIGNED BINARY
ADD WITH CARRY
BCD ADD WITHOUT CARRY
DOUBLE BCD ADD WITHOUT
CARRY
BCD ADD WITH CARRY
DOUBLE BCD ADD WITH
CARRY
SIGNED BINARY SUBTRACT
WITHOUT CARRY
DOUBLE SIGNED BINARY
SUBTRACT WITHOUT CARRY
SIGNED BINARY SUBTRACT
WITH CARRY
DOUBLE SIGNED BINARY
SUBTRACT WITH CARRY
BCD SUBTRACT WITHOUT
CARRY
DOUBLE BCD SUBTRACT
WITHOUT CARRY
BCD SUBTRACT WITH
CARRY
DOUBLE BCD SUBTRACT
WITH CARRY
SIGNED BINARY MULTIPLY
DOUBLE SIGNED BINARY
MULTIPLY
UNSIGNED BINARY
MULTIPLY
DOUBLE UNSIGNED BINARY
MULTIPLY
BCD MULTIPLY
DOUBLE BCD MULTIPLY
SIGNED BINARY DIVIDE
DOUBLE SIGNED BINARY
DIVIDE
UNSIGNED BINARY DIVIDE
DOUBLE UNSIGNED BINARY
DIVIDE
BCD DIVIDE
DOUBLE BCD DIVIDE
+
Mnémonique
Code fonction
400
Page
410
+L
401
412
+C
402
414
+CL
403
416
+B
+BL
404
405
418
419
+BC
+BCL
406
407
421
423
–
410
424
–L
411
426
–C
412
430
–CL
413
432
–B
414
435
–BL
415
436
–BC
416
440
–BCL
417
441
*
*L
420
421
443
445
*U
422
447
*UL
423
449
*B
*BL
/
/L
424
425
430
431
450
452
454
456
/U
/UL
432
433
458
460
/B
/BL
434
435
462
464
409
Chapitre 3-11
Instructions mathématiques à symboles
3-11-1 SIGNED BINARY ADD WITHOUT CARRY : +(400)
Objet
Additionne des données hexadécimales à 4 chiffres (mot unique) et/ou des
constantes.
Symbole du schéma
contact
+(400)
Au
Au: Mot cumulande
Ad
Ad: Mot cumulateur
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en binaire
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
410
Zones de
programmes de pas
OK
+(400)
@+(400)
Non prise en charge.
Non prise en charge.
SousTâches
programmes
d'interruption
OK
OK
Au
Ad
R
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Chapitre 3-11
Instructions mathématiques à symboles
Description
+(400) additionne les valeurs binaires de Au et Ad, et place le résultat dans R.
CY passera à
ON s'il existe
un report.
Au
(binaire signé)
+
Ad
(binaire signé)
CY
R
(binaire signé)
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
ER
OFF
Drapeau
d'égalité
=
Drapeau de
report
CY
Drapeau de
OF
dépassement
Précautions
Drapeau de
dépassement négatif
UF
Drapeau
négatif
N
Fonctionnement
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
ON lorsque le résultat de l'addition entraîne un report.
OFF dans tous les autres cas.
ON lorsque le résultat de l'addition de deux nombres
positifs est compris entre 8000 et FFFF hex.
OFF dans tous les autres cas.
ON lorsque le résultat de l'addition de deux nombres
positifs est compris entre 0000 et 7FFF hex.
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche du résultat est 1.
OFF dans tous les autres cas.
Lorsque +(400) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de l'addition, le contenu de R est 0000 hex, le drapeau d'égalité
se met sur ON.
Si l'addition entraîne un report, le drapeau de report se met sur ON.
Si le résultat de l'addition de deux nombres positifs est négatif (compris entre
8000 et FFFF hex), le drapeau de dépassement se met sur ON.
Si le résultat de l'addition de deux nombres négatifs est positif (compris entre
0000 et 7FFF hex), le drapeau de dépassement négatif se met sur ON.
Si, à la suite de l'addition, le contenu du bit le plus à gauche de R est 1, le drapeau négatif se met sur ON.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00100 et D00110 seront
additionnés comme valeurs binaires signées à 4 chiffres et le résultat est
placé dans D00120.
411
Chapitre 3-11
Instructions mathématiques à symboles
3-11-2 DOUBLE SIGNED BINARY ADD WITHOUT CARRY : +L(401)
Objet
Symbole du schéma
contact
Additionne 8 chiffres (mot double) de données hexadécimales et/ou des constantes.
+L(401)
Au
Au: 1er mot cumulande
Ad
Ad: 1er mot cumulateur
R
R: 1er mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en binaire
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
412
Zones de
programmes de pas
OK
+L(401)
@+L(401)
Non prise en charge.
Non prise en charge.
Sousprogrammes
OK
Tâches
d'interruption
OK
Au
Ad
R
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #FFFFFFFF
--(binaire)
--IR0 à IR15
,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Chapitre 3-11
Instructions mathématiques à symboles
Description
+L(401) additionne les valeurs binaires dans Au et Au+1 et Ad et Ad+1, et
place le résultat dans R.
CY passera à
ON s'il existe
un report.
Au+1
Au
(binaire signé)
+
Ad+1
Ad
(binaire signé)
CY
R+1
R
(binaire signé)
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
ER
OFF
Drapeau
d'égalité
=
Drapeau de
report
CY
Drapeau de
OF
dépassement
Précautions
Drapeau de
dépassement négatif
UF
Drapeau
négatif
N
Fonctionnement
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
ON lorsque le résultat de l'addition entraîne un report.
OFF dans tous les autres cas.
ON lorsque le résultat de l'addition de deux nombres positifs est compris entre 80000000 et FFFFFFFF hex.
OFF dans tous les autres cas.
ON lorsque le résultat de l'addition de deux nombres
négatifs est compris entre 00000000 et 7FFFFFFF hex.
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche du résultat est 1.
OFF dans tous les autres cas.
Lorsque L+(401) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de l'addition, le contenu de R, R+1 est 00000000 hex, le drapeau
d'égalité se met sur ON.
Si l'addition entraîne un report, le drapeau de report se met sur ON.
Si le résultat de l'addition de deux nombres positifs est négatif (compris entre
80000000 et FFFFFFFF hex), le drapeau de dépassement se met sur ON.
Si le résultat de l'addition de deux nombres négatifs est positif (compris entre
00000000 et 7FFFFFFF hex), le drapeau de dépassement négatif se met sur
ON.
Si, à la suite de l'addition, le contenu du bit le plus à gauche de R+1 est 1, le
drapeau négatif se met sur ON.
Exemples
Si CIO 000000 est ON, D00100 et D00110 et D00111 et D00110 seront additionnés comme valeurs binaires signées à 8 chiffres et le résultat est placé
dans D00120 et D00120.
413
Chapitre 3-11
Instructions mathématiques à symboles
3-11-3 SIGNED BINARY ADD WITH CARRY : +C(402)
Objet
Symbole du schéma
contact
Additionne 4 chiffres (mot unique) de données hexadécimales et/ou des constantes avec le drapeau de report (CY).
+C(402)
Au
Au: Mot cumulande
Ad
Ad: Mot cumulateur
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en binaire
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
414
Sous-programmes
OK
+C(402)
@+C(402)
Non prise en charge.
Non prise en charge.
Tâches
d'interruption
OK
Au
Ad
R
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Chapitre 3-11
Instructions mathématiques à symboles
Description
+C(402) additionne les valeurs binaires dans Au, Ad et CY, et place le résultat
dans R.
Au
(binaire signé)
Ad
(binaire signé)
CY
+
CY passera à
ON s'il existe
un report.
CY
R
(binaire signé)
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau de
report
CY
=
Drapeau de
OF
dépassement
UF
Drapeau de
dépassement
négatif
Drapeau
négatif
Précautions
N
Fonctionnement
ON lorsque le résultat de l'addition est 0.
OFF dans tous les autres cas.
ON lorsque le résultat de l'addition entraîne un report.
OFF dans tous les autres cas.
ON lorsque le résultat de l'addition de deux nombres
positifs et CY est compris entre 8000 et FFFF hex.
OFF dans tous les autres cas.
ON lorsque le résultat de l'addition de deux nombres
négatifs et CY est compris entre 0000 et 7FFF hex.
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche du résultat est 1.
OFF dans tous les autres cas.
Lorsque C+(402) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de l'addition, le contenu de R est 0000 hex, le drapeau d'égalité
se met sur ON.
Si l'addition entraîne un report, le drapeau de report se met sur ON.
Si le résultat de l'addition de deux nombres positifs et CY est négatif (compris
entre 8000 et FFFF hex), le drapeau de dépassement se met sur ON.
Si le résultat de l'addition de deux nombres négatifs et CY est positif (compris
entre 0000 et 7FFF hex), le drapeau de dépassement négatif se met sur ON.
Si, à la suite de l'addition, le contenu du bit le plus à gauche de R est 1, le drapeau négatif se met sur ON.
Remarque
Exemples
Pour effacer le drapeau de report (CY), exécutez l'instruction CLEAR CARRY
(CLC(041)).
Si CIO 000000 est ON, D00100, D00110 et CY seront additionnés comme
valeurs binaires signées à 4 chiffres et le résultat est placé dans D00220.
415
Chapitre 3-11
Instructions mathématiques à symboles
3-11-4 DOUBLE SIGNED BINARY ADD WITH CARRY : +CL(403)
Objet
Symbole du schéma
contact
Additionne 8 chiffres (mot double) de données hexadécimales et/ou des constantes avec le drapeau de report (CY).
+CL(403)
Au
Au: 1er mot cumulande
Ad
Ad: 1er mot cumulateur
R
R: 1er mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en binaire
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
416
Sous-programmes
OK
+CL(403)
@+CL(403)
Non prise en charge.
Non prise en charge.
Tâches
d'interruption
OK
Au
Ad
R
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #FFFFFFFF
--(binaire)
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Chapitre 3-11
Instructions mathématiques à symboles
Description
+CL(403) additionne les valeurs binaires dans Au et Au+1, Ad et Ad+1 et CY,
et place le résultat dans R.
Au+1
Au
(binaire signé)
Ad+1
Ad
(binaire signé)
CY
+
CY passera à
ON s'il existe
un report.
CY
R+1
R
(binaire signé)
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau de
report
CY
=
Drapeau de
OF
dépassement
UF
Drapeau de
dépassement
négatif
Drapeau
négatif
Précautions
N
Fonctionnement
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
ON lorsque le résultat entraîne un report.
OFF dans tous les autres cas.
ON lorsque le résultat de l'addition de deux nombres
positifs et CY est compris entre 80000000 et FFFFFFFF
hex.
OFF dans tous les autres cas.
ON lorsque le résultat de l'addition de deux nombres
négatifs et CY est compris entre 00000000 et 7FFFFFFF
hex.
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche du résultat est 1.
OFF dans tous les autres cas.
Lorsque CL+(403) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de l'addition, le contenu de R, R+1 est 00000000 hex, le drapeau
d'égalité se met sur ON.
Si l'addition entraîne un report, le drapeau de report se met sur ON.
Si le résultat de l'addition de deux nombres positifs et CY est négatif (compris
entre 80000000 et FFFFFFFF hex), le drapeau de dépassement se met sur
ON.
Si le résultat de l'addition de deux nombres négatifs et CY est positif (compris
entre 00000000 et 7FFFFFFF hex), le drapeau de dépassement négatif se
met sur ON.
Si, à la suite de l'addition, le contenu du bit le plus à gauche de R+1 est 1, le
drapeau négatif se met sur ON.
Remarque
Exemples
Pour effacer le drapeau de report (CY), exécutez l'instruction CLEAR CARRY
(CLC(041)).
Si CIO 000000 est sur ON, D00201, D00200, D00211, D00210 et CY seront
additionnés comme valeurs binaires signées à 8 chiffres et le résultat est
placé dans D00221 et D00220.
417
Chapitre 3-11
Instructions mathématiques à symboles
3-11-5 BCD ADD WITHOUT CARRY : +B(404)
Objet
Symbole du schéma
contact
Additionne 4 chiffres (mot unique) de données BCD et/ou des constantes.
+B(404)
Au
Au: Mot cumulande
Ad
Ad: Mot cumulateur
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en binaire
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
418
Sous-programmes
OK
+B(404)
@+B(404)
Non prise en charge.
Non prise en charge.
Tâches
d'interruption
OK
Au
Ad
R
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
0000 à 9999
--(BCD)
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Chapitre 3-11
Instructions mathématiques à symboles
Description
+B(404) additionne les valeurs BCD dans Au et Ad, et place le résultat
dans R.
CY passera à
ON s'il existe
un report.
Au
(BCD)
+
Ad
(BCD)
CY
R
(BCD)
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON si Au n'est pas de type BCD.
ON si Ad n'est pas de type BCD.
OFF dans tous les autres cas.
=
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
CY
ON lorsque le résultat de l'addition entraîne un report.
OFF dans tous les autres cas.
Drapeau
d'égalité
Drapeau de
report
Précautions
Si Au ou Ad n'est pas de type BCD, une erreur est générée et le drapeau
d'erreur se met sur ON.
Si, à la suite de l'addition, le contenu de R est 0000 hex, le drapeau d'égalité
se met sur ON.
Si l'addition entraîne un report, le drapeau de report se met sur ON.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00100 et D00110 seront
additionnés comme valeurs BCD signées à 4 chiffres et le résultat est placé
dans D00120.
3-11-6 DOUBLE BCD ADD WITHOUT CARRY : +BL(405)
Objet
Symbole du schéma
contact
Additionne 8 chiffres (mot double) de données BCD et/ou des constantes.
+BL(405)
Au
Au: 1er mot cumulande
Ad
Ad: 1er mot cumulateur
R
R: 1er mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Sous-programmes
OK
+BL(405)
@+BL(405)
Non prise en charge.
Non prise en charge.
Tâches
d'interruption
OK
419
Chapitre 3-11
Instructions mathématiques à symboles
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Au
Ad
R
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #99999999
--(BCD)
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
+BL(405) additionne les valeurs BCD dans Au et Au+1 et Ad et Ad+1, et place
le résultat dans R, R+1.
CY passera à
ON s'il existe
un report.
Au +1
Au
(BCD)
+
Ad+1
Ad
(BCD)
CY
R+1
R
(BCD)
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau de
report
420
Etiquette
Fonctionnement
ER
ON si Au, Au +1 n'est pas de type BCD.
ON si Ad, Ad +1 n'est pas de type BCD.
OFF dans tous les autres cas.
=
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
CY
ON lorsque le résultat de l'addition entraîne un report.
OFF dans tous les autres cas.
Chapitre 3-11
Instructions mathématiques à symboles
Précautions
Si Au, Au +1 ou Ad, Ad +1 ne sont pas de type BCD, une erreur est générée
et le drapeau d'erreur se met sur ON.
Si, à la suite de l'addition, le contenu de R, R +1 est 00000000 hex, le drapeau d'égalité se met sur ON.
Si l'addition entraîne un report, le drapeau de report se met sur ON.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00101 et D00100 et D00111
et D00110 seront additionnés comme valeurs BCD signées à 8 chiffres et le
résultat placé dans D00121 et D00120.
3-11-7 BCD ADD WITH CARRY : +BC(406)
Objet
Symbole du schéma
contact
Additionne 4 chiffres (mot unique) de données BCD et/ou des constantes
avec le drapeau de report (CY).
+BC(406)
Au
Au: Mot cumulande
Ad
Ad: Mot cumulateur
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Sous-programmes
OK
Au
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Ad
+BC(406)
@+BC(406)
Non prise en charge.
Non prise en charge.
Tâches
d'interruption
OK
R
A448 à A959
421
Chapitre 3-11
Instructions mathématiques à symboles
Zone
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Au
Ad
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à 9999
--(BCD)
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
R
+BC(406) additionne les valeurs BCD dans Au, Ad et CY, et place le résultat
dans R.
Au
(BCD)
Ad
(BCD)
CY
+
CY passera à
ON s'il existe
un report.
CY
R
(BCD)
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau de
report
Précautions
Etiquette
Fonctionnement
ER
ON si Au n'est pas de type BCD.
ON si Ad n'est pas de type BCD.
OFF dans tous les autres cas.
=
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
CY
ON lorsque le résultat de l'addition entraîne un report.
OFF dans tous les autres cas.
Si Au ou Ad n'est pas de type BCD, une erreur est générée et le drapeau
d'erreur se met sur ON.
Si, à la suite de l'addition, le contenu de R est 0000 hex, le drapeau d'égalité
se met sur ON.
Si l'addition entraîne un report, le drapeau de report se met sur ON.
Remarque
Exemples
422
Pour effacer le drapeau de report (CY), exécutez l'instruction CLEAR CARRY
(CLC(041)).
Si CIO 000000 est ON dans l'exemple suivant, D00100, D00110 et CY seront
additionnés comme valeurs BCD signées à 4 chiffres et le résultat placé dans
D00120.
Chapitre 3-11
Instructions mathématiques à symboles
3-11-8 DOUBLE BCD ADD WITH CARRY : +BCL(407)
Objet
Symbole du schéma
contact
Additionne 8 chiffres (mot double) de données BCD et/ou des constantes
avec le drapeau de report (CY).
+BCL(407)
Au
Au: 1er mot cumulande
Ad
Ad: 1er mot cumulateur
R
R: 1er mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Sous-programmes
OK
+BCL(407)
@+BCL(407)
Non prise en charge.
Non prise en charge.
Tâches
d'interruption
OK
Au
Ad
R
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #99999999
--(BCD)
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
423
Chapitre 3-11
Instructions mathématiques à symboles
Description
+BCL(407) additionne les valeurs BCD dans Au et Au+1, Ad et Ad+1 et CY, et
place le résultat dans R, R+1.
Au +1
Au
(BCD)
Ad+1
Ad
(BCD)
CY
+
CY passera à
ON s'il existe
un report.
CY
R+1
R
(BCD)
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON si Au, Au +1 n'est pas de type BCD.
ON si Ad, Ad +1 n'est pas de type BCD.
OFF dans tous les autres cas.
=
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
CY
ON lorsque le résultat de l'addition entraîne un report.
OFF dans tous les autres cas.
Drapeau
d'égalité
Drapeau de
report
Précautions
Si Au, Au +1 ou Ad, Ad +1 ne sont pas de type BCD, une erreur est générée
et le drapeau d'erreur se met sur ON.
Si, à la suite de l'addition, le contenu de R, R +1 est 00000000 hex, le drapeau d'égalité se met sur ON.
Si l'addition entraîne un report, le drapeau de report se met sur ON.
Remarque
Exemples
Pour effacer le drapeau de report (CY), exécutez l'instruction CLEAR CARRY
(CLC(041)).
Si CIO 000000 est ON dans l'exemple suivant, D00101, D00100, D00111,
D00110 et CY seront additionnés comme valeurs BCD signées à 8 chiffres et
le résultat placé dans D00121 et D00120.
3-11-9 SIGNED BINARY SUBTRACT WITHOUT CARRY : –(410)
Objet
Soustrait 4 chiffres (mot unique) de données hexadécimales et/ou des constantes.
Symbole du schéma
contact
−(410)
Mi
Mi: Mot à soustraire
Su
Su: Mot soustracteur
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
424
–(410)
@–(410)
Non prise en charge.
Non prise en charge.
Chapitre 3-11
Instructions mathématiques à symboles
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Sous-programmes
OK
Tâches
d'interruption
OK
Mi
Su
R
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D0000 à D4095
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
–(400) soustrait les valeurs binaires dans Su à partir de Mi et place le résultat
dans R. Lorsque le résultat est négatif, il est placé dans R comme complément à 2. (Consultez 3-11-10 DOUBLE SIGNED BINARY SUBTRACT
WITHOUT CARRY : –L(411) pour un exemple de traitement des compléments à 2.)
CY passera à
ON s'il existe
une retenue.
Mi
(binaire signé)
−
Su
(binaire signé)
CY
R
(binaire signé)
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
=
Fonctionnement
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
425
Chapitre 3-11
Instructions mathématiques à symboles
Nom
Drapeau de
report
Etiquette
Fonctionnement
CY
ON lorsque le résultat de la soustraction entraîne une
retenue.
OFF dans tous les autres cas.
OF
ON lorsque le résultat de la soustraction d'un nombre
négatif d'un nombre positif est compris entre 8000 et
FFFF hex.
OFF dans tous les autres cas.
UF
ON lorsque le résultat de la soustraction d'un nombre
négatif d'un nombre positif est compris entre 0000 et
7FFF hex.
OFF dans tous les autres cas.
N
ON lorsque le bit le plus à gauche du résultat est 1.
OFF dans tous les autres cas.
Drapeau de
dépassement
Drapeau de
dépassement négatif
Drapeau
négatif
Précautions
Lorsque –(410) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de la soustraction, le contenu de R est 0000 hex, le drapeau
d'égalité se met sur ON.
Si la soustraction entraîne une retenue, le drapeau de report se met sur ON.
Si le résultat de la soustraction d'un nombre négatif d'un nombre positif est
négatif (compris entre 8000 et FFFF hex), le drapeau de dépassement se met
sur ON.
Si le résultat de la soustraction d'un nombre positif d'un nombre positif est
positif (compris entre 0000 et 7FFF hex), le drapeau de dépassement négatif
se met sur ON.
Si, à la suite de la soustraction, le contenu du bit le plus à gauche de R est 1,
le drapeau négatif se met sur ON.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00110 est soustrait de
D00100 comme valeurs binaires signées à 4 chiffres et le résultat est placé
dans D00120.
−
3-11-10 DOUBLE SIGNED BINARY SUBTRACT WITHOUT CARRY : –L(411)
Objet
Soustrait 8 chiffres (mot double) de données hexadécimales et/ou des constantes.
Symbole du schéma
contact
−L(411)
Mi
Mi: Mot à soustraire
Su
Su: Mot soustracteur
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
426
-L(411)
@–L(411)
Non prise en charge.
Non prise en charge.
Chapitre 3-11
Instructions mathématiques à symboles
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
Sousprogrammes
OK
Tâches
d'interruption
OK
Mi
Su
R
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #FFFFFFFF
--(binaire)
--IR0 à IR15
,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
–L(411) soustrait les valeurs binaires dans Su et Su+1 de Mi et Mi+1, et place
le résultat dans R, R+1. Lorsque le résultat est négatif, il est placé dans R et
R+1 comme complément à 2.
CY passera à
ON s'il existe
une retenue.
Mi+1
Mi
(binaire signé)
−
Su+1
Su
(binaire signé)
CY
R+1
R
(binaire signé)
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau de
report
CY
=
Drapeau de
OF
dépassement
Fonctionnement
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
ON lorsque le résultat de la soustraction entraîne une
retenue.
OFF dans tous les autres cas.
ON lorsque le résultat de la soustraction d'un nombre
négatif d'un nombre positif est compris entre 80000000 et
FFFFFFFF hex.
OFF dans tous les autres cas.
427
Chapitre 3-11
Instructions mathématiques à symboles
Nom
Drapeau de
dépassement négatif
Drapeau
négatif
Précautions
Etiquette
Fonctionnement
UF
ON lorsque le résultat de la soustraction d'un nombre
positif d'un nombre négatif est compris entre 00000000 et
7FFFFFFF hex.
OFF dans tous les autres cas.
N
ON lorsque le bit le plus à gauche du résultat est 1.
OFF dans tous les autres cas.
Lorsque –L(411) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de la soustraction, le contenu de R, R+1 est 00000000 hex, le
drapeau d'égalité se met sur ON.
Si la soustraction entraîne une retenue, le drapeau de report se met sur ON.
Si le résultat de la soustraction d'un nombre négatif d'un nombre positif est
négatif (compris entre 80000000 et FFFFFFFF hex), le drapeau de dépassement se met sur ON.
Si le résultat de la soustraction d'un nombre positif d'un nombre positif est
positif (compris entre 00000000 et 7FFFFFFF hex), le drapeau de dépassement négatif se met sur ON.
Si, à la suite de la soustraction, le contenu du bit le plus à gauche de R+1 est
1, le drapeau négatif se met sur ON.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00111 et D00110 sont soustraits de D00101 et D00100 comme valeurs binaires signées à 8 chiffres, et le
résultat est placé dans D00121 et D00120.
−L
Exemples
Si le résultat de la soustraction est un nombre négatif (Mi<Su ou Mi+1, Mi
<Su+1, Su), le résultat est placé comme complément à 2 et le drapeau de
report (CY) se met sur ON pour indiquer que le résultat de la soustraction est
négatif. Pour convertir le complément à 2 en nombre réel, il est nécessaire de
recourir à une instruction qui soustrait le résultat de 0 avec le drapeau de
report (CY) comme condition d'exécution.
Remarque
428
Complément à 2
Un complément à 2 est la valeur obtenue en soustrayant chaque chiffre
binaire de 1 et en ajoutant un au résultat. Par exemple, le complément à 2 de
1101 est calculé comme suit : 1111 (F hexadécimal) – 1101 (D hexadécimal)
+ 1 (1 hexadécimal) = 0011 (3 hexadécimal). Le complément à 2 de 3039
(hexadécimal) est calculé comme suit : FFFF (hexadécimal) – 3039 (hexadécimal) + 0001 (hexadécimal) = CFC7 (hexadécimal). Aussi, dans le cas d'une
valeur hexadécimale à 4 chiffres, le complément à 2 peut être calculé comme
suit : FFFF (hexadécimal) – a (hexadécimal) + 0001 (hexadécimal) = b (hexadécimal). Pour obtenir le nombre réel du complément à 2 b (hexadécimal) : a
(hexadécimal) = 10000 (hexadécimal) – b (hexadécimal). Par exemple, pour
obtenir le nombre réel du complément à 2 CFC7 (hexadécimal) : 10000
(hexadécimal) – CFC7 = 3039.
Chapitre 3-11
Instructions mathématiques à symboles
Exemple 1
FFFF Hex
−) 0001 Hex
Données signées
Données non signées
−1
+1
Remarque 1. Etant donné que le drapeau négatif est sur ON, le résultat
(FFFE hex) est une valeur négative (complément à 2) et
est donc −2.
FFFE Hex
−2 Remarque 1 65534 Remarque 2
2. Etant donné que le drapeau de report est sur OFF, le
résultat (FFFE hex) est une valeur positive non signée
Drapeau négatif sur ON
de 65534.
Drapeau de report sur OFF
Exemple 2
FFFD Hex
−) FFFF Hex
−)
−)
Données signées
−)
FFFE Hex
65535
1
Données non signées
−3
−1
3. Etant donné que le drapeau négatif est sur ON, le résultat
(FFFE hex) est une valeur négative (complément à 2) et
est donc −2.
65533
−) 65535
−2 Remarque 3 65534 Remarque 4
Drapeau négatif sur ON
4. Etant donné que le drapeau de report est sur ON, le
résultat (FFFE hex) est une valeur négative (complément
à 2) et devient −2 lorsqu'il est converti en valeur réelle.
Drapeau de report sur OFF
Exemple de programme
20F55A10 – B8A360E3 = –97AE06D3.
Dans cet exemple, la valeur binaire à huit chiffres dans CIO 0121 et CIO 0120
est soustraite de la valeur dans CIO 0201 et CIO 0200, et le résultat est placé
en binaire à huit chiffres dans D00101 et D00100. Si le résultat est négatif,
l'instruction à (2) est exécutée, et le résultat réel est ensuite placé dans
D00101 et D00100.
000000
RSET
002100
−L
(1)
0200
0120
D00100
CY
−L
(2)
#00000000
D00100
D00100
CY
SET
"−"affichage
002100
Soustraction à 1
Mi+1 : CIO 0201 Mi : CIO 0200
2 0 F 5
5 A 1 0
Su+1 :CIO 0121 Su :CIO 0120
−
CY
1
B 8 A 3
6 0 E 3
R+1 : D00101 R+1 : D00100
6 8 5 1
F 9 2 D
Le drapeau de report (CY) est sur ON, de sorte que le résultat est soustrait de
0000 0000 pour obtenir le nombre réel.
429
Chapitre 3-11
Instructions mathématiques à symboles
Soustraction à 2
0 0 0 0
Su+1 : D00101
−
0 0 0 0
Su : D00100
6 8 5 1
CY
1
F 9 2 D
R+1 : D00101 R+1 : D00100
9 7 A E
0 6 D 3
Résultat final de la soustraction
Mi+1 : CIO 0201 Mi : CIO 0200
2 0 F 5
Su+1 : D00101
−
6 8 5 1
5 A 1 0
Su : D00100
F 9 2 D
CY R+1 : D00101 R+1 : D00100
9 7 A E
0 6 D 3
1
Le drapeau de report (CY) est mis sur ON, de sorte que le nombre réel est
–97AE06D3. Etant donné que le contenu de D00101 et D00100 est négatif,
CY est utilisé pour mettre CIO 002100 sur ON afin de le signaler.
3-11-11 SIGNED BINARY SUBTRACT WITH CARRY : –C(412)
Objet
Symbole du schéma
contact
Soustrait 4 chiffres (mot unique) de données hexadécimales et/ou des constantes avec le drapeau de report (CY).
−C(412)
Mi
Mi: Mot à soustraire
Su
Su: Mot soustracteur
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
430
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Sous-programmes
OK
Mi
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
Su
–C(412)
@–C(412)
Non prise en charge.
Non prise en charge.
Tâches
d'interruption
OK
R
A448 à A959
Chapitre 3-11
Instructions mathématiques à symboles
Zone
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Mi
Su
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
R
–C(412) soustrait les valeurs binaires dans Su et CY de Mi, et place le résultat
dans R. Lorsque le résultat est négatif, il est placé dans R comme complément à 2.
Mi
(binaire signé)
Su
(binaire signé)
CY
–
CY passera à
ON s'il existe
une retenue.
CY
R
(binaire signé)
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau de
report
CY
=
Drapeau de
OF
dépassement
Drapeau de
UF
dépassement
négatif
Drapeau
négatif
N
Fonctionnement
ON lorsque le résultat de la soustraction est 0.
OFF dans tous les autres cas.
ON lorsque le résultat de la soustraction entraîne une
retenue.
OFF dans tous les autres cas.
ON lorsque le résultat de la soustraction d'un nombre
négatif et CY d'un nombre positif est compris entre 8000
et FFFF hex.
OFF dans tous les autres cas.
ON lorsque le résultat de la soustraction d'un nombre
positif et CY d'un nombre négatif est compris entre 0000
et 7FFF hex.
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche du résultat est 1.
OFF dans tous les autres cas.
431
Chapitre 3-11
Instructions mathématiques à symboles
Précautions
Lorsque –C(412) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de la soustraction, le contenu de R est 0000 hex, le drapeau
d'égalité se met sur ON.
Si la soustraction entraîne une retenue, le drapeau de report se met sur ON.
Si le résultat de la soustraction d'un nombre négatif et de CY d'un nombre
positif est négatif (compris entre 8000 et FFFF hex), le drapeau de dépassement se met sur ON.
Si le résultat de la soustraction d'un nombre positif et de CY d'un nombre
négatif est positif (compris entre 0000 et 7FFF hex), le drapeau de dépassement négatif se met sur ON.
Si, à la suite de la soustraction, le contenu du bit le plus à gauche de R est 1,
le drapeau négatif se met sur ON.
Remarque
Exemples
Pour effacer le drapeau de report (CY), exécutez l'instruction CLEAR CARRY
(CLC(041)).
Si CIO 000000 est ON dans l'exemple suivant, D00110 et CY sont soustraits
de D00100 comme valeurs binaires signées à 4 chiffres et le résultat est
placé dans D00120.
3-11-12 DOUBLE SIGNED BINARY SUBTRACT WITH CARRY : –CL(413)
Objet
Symbole du schéma
contact
Soustrait 8 chiffres (mot double) de données hexadécimales et/ou des constantes avec le drapeau de retenue (CY).
–CL(413)
Mi
Mi: Mot à soustraire
Su
Su: Mot soustracteur
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
432
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Sous-programmes
OK
Mi
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
Su
–CL(413)
@–CL(413)
Non prise en charge.
Non prise en charge.
Tâches
d'interruption
OK
R
A448 à A958
Chapitre 3-11
Instructions mathématiques à symboles
Zone
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Mi
Su
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #FFFFFFFF
--(binaire)
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
R
–CL(413) soustrait les valeurs binaires dans Su, Su+1 et CY de Mi et Mi+1, et
place le résultat dans R, R+1. Lorsque le résultat est négatif, il est placé dans
R et R+1 comme complément à 2.
Mi+1
Mi
(binaire signé)
Su+1
Su
(binaire signé)
CY
–
CY passera à
ON s'il existe
une retenue.
CY
R+1
R
(binaire signé)
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
Drapeau de
report
CY
Drapeau de
dépassement
OF
Drapeau de
dépassement négatif
UF
Drapeau
négatif
N
=
Fonctionnement
OFF
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
ON lorsque le résultat entraîne une retenue.
OFF dans tous les autres cas.
ON lorsque le résultat de la soustraction d'un nombre
négatif et CY d'un nombre positif est compris entre
80000000 et FFFFFFFF hex.
OFF dans tous les autres cas.
ON lorsque le résultat de la soustraction d'un nombre
positif et CY d'un nombre négatif est compris entre
00000000 et 7FFFFFFF hex.
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche du résultat est 1.
OFF dans tous les autres cas.
433
Instructions mathématiques à symboles
Précautions
Chapitre 3-11
Lorsque –CL(413) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de la soustraction, le contenu de R, R+1 est 00000000 hex, le
drapeau d'égalité se met sur ON.
Si la soustraction entraîne une retenue, le drapeau de report se met sur ON.
Si le résultat de la soustraction d'un nombre négatif et de CY d'un nombre
positif est négatif (compris entre 80000000 et FFFFFFFF hex), le drapeau de
dépassement se met sur ON.
Si le résultat de la soustraction d'un nombre positif et CY d'un nombre positif
est positif (compris entre 00000000 et 7FFFFFFF hex), le drapeau de dépassement négatif se met sur ON.
Si, à la suite de la soustraction, le contenu du bit le plus à gauche de R+1 est
1, le drapeau négatif se met sur ON.
Remarque
Exemples
Pour effacer le drapeau de report (CY), exécutez l'instruction CLEAR CARRY
(CLC(041)).
Si CIO 000000 est sur ON dans l'exemple suivant, D00111, D00110 et CY
sont soustraits de D00101 et D00100 comme valeurs binaires signées à
8 chiffres, et le résultat est placé dans D00121 et D00120.
Si le résultat de la soustraction est un nombre négatif (Mi<Su ou Mi+1, Mi
<Su+1, Su), le résultat se présente sous forme de complément à 2. Le drapeau de report (CY) se met sur ON. Pour convertir le complément à 2 en
nombre réel, il est nécessaire de recourir à un programme qui soustrait le
résultat de 0 avec le drapeau de report (CY) comme condition d'entrée. Si le
drapeau de report se met sur ON, cela signifie donc que le résultat de la
soustraction est négatif.
Remarque
434
Complément à 2
Un complément à 2 est la valeur obtenue en soustrayant chaque chiffre
binaire de 1 et en ajoutant un au résultat.
Exemple : Le complément à 2 du nombre binaire 1101 est calculé comme
suit :
1111 (F hex) – 1101 (D hex) + 1 (1 hex) = 0011 (3 hex).
Exemple : Le complément à 2 du nombre hexadécimal à 4 chiffres 3039 est
calculé comme suit :
FFFF hex – 3039 hex + 0001 hex = CFC7 hex.
De même, le complément à 2 de la valeur hexadécimale à 4 chiffres "a" est
calculé comme suit :
FFFF hex – a hex + 0001 hex = b hex.
Et pour obtenir le nombre réel "a" hex du complément à 2 "b" hex :
a hex + 10000 hex – b hex.
Exemple : Pour obtenir le nombre réel du complément à 2 CFC& hex :
10000 hex – CFC7 hex = 3039 hex.
Chapitre 3-11
Instructions mathématiques à symboles
3-11-13 BCD SUBTRACT WITHOUT CARRY : –B(414)
Objet
Symbole du schéma
contact
Soustrait 4 chiffres (mot unique) de données BCD et/ou des constantes.
–B(414)
Mi
Mi: Mot à soustraire
Su
Su: Mot soustracteur
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Sous-programmes
OK
–B(414)
@–B(414)
Non prise en charge.
Non prise en charge.
Tâches
d'interruption
OK
Mi
Su
R
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
0000 à 9999
--(BCD)
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
435
Chapitre 3-11
Instructions mathématiques à symboles
Description
–B(414) soustrait les valeurs BCD dans Su de Mi, et place le résultat dans R.
Si le résultat de la soustraction est négatif, le résultat se présente sous forme
de complément à 10.
CY passera à
ON s'il existe
une retenue.
Mi
(BCD)
–
Su
(BCD)
CY
R
(BCD)
Drapeaux
Nom
Drapeau
d'erreur
Drapeau d'égalité
Drapeau de
report
Précautions
Etiquette
Fonctionnement
ER
ON si Mi n'est pas de type BCD.
ON si Su n'est pas de type BCD.
OFF dans tous les autres cas.
=
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
CY
ON lorsque le résultat de la soustraction entraîne une
retenue.
OFF dans tous les autres cas.
Si Mi et/ou Su n'est pas de type BCD, une erreur est générée et le drapeau
d'erreur se met sur ON.
Si, à la suite de la soustraction, le contenu de R est 0000 hex, le drapeau
d'égalité se met sur ON.
Si la soustraction entraîne une retenue, le drapeau de report se met sur ON.
Exemples
Si CIO 000000 est sur ON dans l'exemple suivant, D00110 est soustrait de
D00100 comme valeurs BCD à 4 chiffres et le résultat est placé dans
D00120.
3-11-14 DOUBLE BCD SUBTRACT WITHOUT CARRY : –BL(415)
Objet
Symbole du schéma
contact
Soustrait 8 chiffres (mot double) de données BCD et/ou des constantes.
–BL(415)
Mi
Mi: 1er mot à soustraire
Su
Su: 1er mot soustracteur
R
R: 1er mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
436
–BL(415)
@–BL(415)
Non prise en charge.
Non prise en charge.
Chapitre 3-11
Instructions mathématiques à symboles
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
OK
Tâches
d'interruption
OK
Mi
Su
R
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #99999999
--(BCD)
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Sous-programmes
–BL(415) soustrait les valeurs BCD dans Su et Su+1 de Mi et Mi+1, et place
le résultat dans R, R+1. Lorsque le résultat est négatif, il est placé dans R,
R+1 comme complément à 10.
CY passera à
ON s'il existe
une retenue.
Mi +1
Mi
(BCD)
–
Su+1
Su
(BCD)
CY
R+1
R
(BCD)
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
ER
Fonctionnement
ON si Mi et/ou Mi +1 n'est pas de type BCD.
ON si Su et/ou Su +1 n'est pas de type BCD.
OFF dans tous les autres cas.
437
Chapitre 3-11
Instructions mathématiques à symboles
Nom
Drapeau
d'égalité
Etiquette
=
Drapeau de CY
report
Précautions
Fonctionnement
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
ON lorsque le résultat de la soustraction entraîne une
retenue.
OFF dans tous les autres cas.
Si Mi, Mi +1 et/ou Su, Su +1 n'est pas de type BCD, une erreur est générée et
le drapeau d'erreur se met sur ON.
Si, à la suite de la soustraction, le contenu de R, R +1 est 00000000 hex, le
drapeau d'égalité se met sur ON.
Si la soustraction entraîne une retenue, le drapeau de report se met sur ON.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00111 et D00110 sont soustraits de D00101 et D00100 comme valeurs BCD à 8 chiffres, et le résultat est
placé dans D00121 et D00120.
Si le résultat de la soustraction est un nombre négatif (Mi<Su ou Mi+1, Mi
<Su+1, Su), le résultat se présente sous forme de complément à 10. Le drapeau de report (CY) se met sur ON. Pour convertir le complément à 10 en
nombre réel, il est nécessaire de recourir à un programme qui soustrait le
résultat de 0 avec le drapeau de report (CY) comme condition d'entrée. Si le
drapeau de report se met sur ON, cela signifie donc que le résultat de la
soustraction est négatif.
Remarque
Exemple de programme
438
Complément à 10
Un complément à 10 est la valeur obtenue en soustrayant chaque chiffre de 9
et en ajoutant 1 au résultat. Par exemple, le complément à 10 de 7556 est calculé comme suit : 9999 – 7556 + 1 = 2444. Pour un nombre à quatre chiffres,
le complément à 10 de A est 9999 – A + 1 = B. Pour obtenir le nombre réel à
partir du complément à 10 B : A = 10000 – B. Par exemple, pour obtenir le
nombre réel du complément à 10 2444 : 10000 – 2444 = 7556.
9,583,960 – 17,072,641 = –7,488,681.
Dans cet exemple, la valeur BCD à huit chiffres dans CIO 0121 et CIO 0120
est soustraite du contenu de CIO 0201 et CIO 0200, et le résultat est placé en
BCD à huit chiffres dans D00101 et D00100. Si le résultat est négatif, l'instruction à (2) est exécutée, et le résultat réel est ensuite placé dans D00101 et
D00100.
Chapitre 3-11
Instructions mathématiques à symboles
000000
RSET
002100
−BL
(1)
0200
0120
D00100
CY
−BL
(2)
#00000000
D00100
D00100
CY
SET
"−"affichage
002100
Soustraction à 1
Mi+1 :CIO 0201 Mi :CIO 0200
0 9 5 8
3 9 6 0
Su+1 :CIO 0121 Su :CIO 0120
–
1 7 0 7
2 6 4 1
09583960 + (100000000 – 17072641)
CY R+1 :D00101
1
9 2 5 1
R+1 :D00100
1 3 1 9
Le drapeau de report (CY) est sur ON, de sorte que le résultat est soustrait de
0000 0000.
Soustraction à 2
0 0 0 0
Su+1 :D00101
–
0 0 0 0
Su :D00100
9 2 5 1
1 3 1 9
00000000 + (100000000 – 92511319)
CY R+1 :D00101
1
0 7 4 8
R+1 :D00100
8 6 8 1
Résultat final de la soustraction
Mi+1 :CIO 0201 Mi :CIO 0200
2 0 F 5
Su+1 :D00101
–
5 A 1 0
Su :D00100
6 8 5 1
F 9 2 D
CY
R+1 :D00101
R+1 :D00100
1
0 7 4 8
8 6 8 1
Le drapeau de report (CY) se met sur ON ; le nombre réel est donc
–7488681. Etant donné que le contenu de D00101 et D00100 est négatif,
CY est utilisé pour mettre CIO 002100 sur ON afin de l'indiquer.
439
Chapitre 3-11
Instructions mathématiques à symboles
3-11-15 BCD SUBTRACT WITH CARRY : –BC(416)
Objet
Symbole du schéma
contact
Soustrait 4 chiffres (mot unique) de données BCD et/ou des constantes avec
le drapeau de report (CY).
–BC(416)
Mi
Mi: Mot à soustraire
Su
Su: Mot soustracteur
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
440
Sous-programmes
OK
–BC(416)
@–BC(416)
Non prise en charge.
Non prise en charge.
Tâches
d'interruption
OK
Mi
Su
R
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à D32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #9999
--(BCD)
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Chapitre 3-11
Instructions mathématiques à symboles
Description
–BC(416) soustrait les valeurs BCD dans Su et CY de Mi, et place le résultat
dans R. Lorsque le résultat est négatif, il est placé dans R comme complément à 2.
Mi
(BCD)
Su
(BCD)
–
CY passera à
ON s'il existe
une retenue.
CY
CY
R
(BCD)
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON si Mi n'est pas de type BCD.
ON si Su n'est pas de type BCD.
OFF dans tous les autres cas.
=
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
CY
ON lorsque le résultat de la soustraction entraîne une
retenue.
OFF dans tous les autres cas.
Drapeau
d'égalité
Drapeau de
report
Précautions
Si Mi et/ou Su n'est pas de type BCD, une erreur est générée et le drapeau
d'erreur se met sur ON.
Si, à la suite de la soustraction, le contenu de R est 0000 hex, le drapeau
d'égalité se met sur ON.
Si la soustraction entraîne une retenue, le drapeau de report se met sur ON.
Remarque
Exemples
Pour effacer le drapeau de report (CY), exécutez l'instruction CLEAR CARRY
(CLC(041)).
Si CIO 000000 est ON dans l'exemple suivant, D00110 et CY sont soustraits
de D00100 comme valeurs BCD à 4 chiffres et le résultat est placé dans
D00120.
3-11-16 DOUBLE BCD SUBTRACT WITH CARRY : –BCL(417)
Objet
Symbole du schéma
contact
Soustrait 8 chiffres (mot double) de données BCD et/ou des constantes avec
le drapeau de report (CY).
–BCL(417)
Mi
Mi: 1er mot à soustraire
Su
Su: 1er mot soustracteur
R
R: 1er mot de résultat
441
Chapitre 3-11
Instructions mathématiques à symboles
Variations
Variations
Zones de programmes
applicables
Spécifications de
l’opérande
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Non prise en charge.
Non prise en charge.
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Tâches
d'interruption
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Sous-programmes
OK
Mi
Su
R
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #99999999
--(BCD)
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
–BCL(417) soustrait les valeurs BCD dans Su, Su+1 et CY de Mi et Mi+1, et
place le résultat dans R, R+1. Lorsque le résultat est négatif, il est placé dans
R, R+1 comme complément à 10.
Mi +1
Mi
(BCD)
Su+1
Su
(BCD)
–
CY passera à
ON s'il existe
une retenue.
442
@–BCL(417)
Spécification de rafraîchissement immédiat
Adresses DM/EM
indirectes en binaire
Description
–BCL(417)
CY
CY
R+1
R
(BCD)
Chapitre 3-11
Instructions mathématiques à symboles
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON si Mi et/ou Mi +1 n'est pas de type BCD.
ON si Su et/ou Su +1 n'est pas de type BCD.
OFF dans tous les autres cas.
=
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
CY
ON lorsque le résultat de la soustraction entraîne une
retenue.
OFF dans tous les autres cas.
Drapeau
d'égalité
Drapeau de
report
Précautions
Si Mi, Mi +1 et/ou Su, Su +1 n'est pas de type BCD, une erreur est générée et
le drapeau d'erreur se met sur ON.
Si, à la suite de la soustraction, le contenu de R, R +1 est 00000000 hex, le
drapeau d'égalité se met sur ON.
Si la soustraction entraîne une retenue, le drapeau de report se met sur ON.
Remarque
Exemples
Pour effacer le drapeau de report (CY), exécutez l'instruction CLEAR CARRY
(CLC(041)).
Si CIO 000000 est ON dans l'exemple suivant, D00111, D00110 et CY sont
soustraits de D00101 et D00100 comme valeurs BCD à 8 chiffres, et le résultat est placé dans D00121 et D00120.
Si le résultat de la soustraction est un nombre négatif (Mi<Su ou Mi+1, Mi
<Su+1, Su), le résultat se présente sous forme de complément à 10. Le drapeau de report (CY) se met sur ON. Pour convertir le complément à 10 en
nombre réel, il est nécessaire de recourir à un programme qui soustrait le
résultat de 0 avec le de report (CY) comme condition d'entrée. Si le drapeau
de report se met sur ON, cela signifie donc que le résultat de la soustraction
est négatif.
Remarque
Complément à 10
Un complément à 10 est la valeur obtenue en soustrayant chaque chiffre de 9
et en ajoutant un au résultat. Par exemple, le complément à 10 de 7556 est
calculé comme suit : 9999 – 7556 + 1 = 2444. Pour un nombre à quatre chiffres, le complément à 10 de A est 9999 – A + 1 = B. Pour obtenir le nombre
réel à partir du complément à 10 B : A = 10000 – B. Par exemple, pour obtenir
le nombre réel du complément à 10 2444 : 10000 – 2444 = 7556.
3-11-17 SIGNED BINARY MULTIPLY : *(420)
Objet
Symbole du schéma
contact
Multiplie 4 chiffres de données hexadécimales signées et/ou des constantes.
*(420)
Md
Md: Mot multiplicande
Mr
Mr: Mot multiplicateur
R
R: Mot de résultat
443
Chapitre 3-11
Instructions mathématiques à symboles
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de programmes de bloc
OK
Zones de programmes de pas
OK
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Adresses DM/EM
indirectes en binaire
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
(binaire)
DR0 à DR15
---
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
444
Sousprogrammes
OK
Md
CIO 0000 à CIO 6143
Constantes
@*(420)
Non prise en charge.
Non prise en charge.
Zone
Zone CIO
Adresses DM/EM
indirectes en BCD
*(420)
Mr
Tâches
d'interruption
OK
R
CIO 0000 à
CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à
En_32766
(n = 0 à C)
-----
,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
*(420) multiplie les valeurs binaires signées dans Md et Mr, et place le résultat
dans R, R+1.
Md
(binaire signé)
×
Mr
(binaire signé)
R +1
R
(binaire signé)
Chapitre 3-11
Instructions mathématiques à symboles
Drapeaux
Précautions
Nom
Drapeau
d'erreur
Etiquette
ER
OFF
Drapeau
d'égalité
=
Drapeau
négatif
N
Fonctionnement
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche du résultat est 1.
OFF dans tous les autres cas.
Lorsque *(420) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de la multiplication, le contenu de R est 0000 hex, le drapeau
d'égalité se met sur ON.
Si, à la suite de la multiplication, le contenu du bit le plus à gauche de R+1 et
R est 1, le drapeau négatif se met sur ON.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00100 et D00110 sont multipliés comme valeurs hexadécimales signées à 4 chiffres et le résultat est
placé dans D00120.
3-11-18 DOUBLE SIGNED BINARY MULTIPLY : *L(421)
Objet
Symbole du schéma
contact
Multiplie 8 chiffres de données hexadécimales signées et/ou des constantes.
*L(421)
Md
Md: 1er mot multiplicande
Mr
Mr: 1er mot multiplicateur
R
R: 1er mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Sous-programmes
OK
Zone
Zone CIO
Md
CIO 0000 à CIO 6142
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
W000 à W510
H000 à H510
A000 à A958
Mr
*L(421)
@*L(421)
Non prise en charge.
Non prise en charge.
Tâches
d'interruption
OK
R
CIO 0000 à
CIO 6140
W000 à W508
H000 à H508
A448 à A956
445
Chapitre 3-11
Instructions mathématiques à symboles
Zone
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Md
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
Adresses DM/EM
indirectes en binaire
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #FFFFFFFF
(binaire)
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Mr
R
T0000 à T4092
C0000 à C4092
D00000 à D32764
E00000 à E32764
En_00000 à
En_32764
(n = 0 à C)
---
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
*L(421) multiplie les valeurs binaires signées dans Md et Md+1 et Mr et Mr+1,
et place le résultat dans R, R+1, R+2 et R+3.
×
R +3
R +2
Md + 1
Md
(binaire signé)
Mr + 1
Mr
(binaire signé)
R+1
R
(binaire signé)
Drapeaux
Précautions
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau
négatif
N
=
Fonctionnement
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche du résultat est 1.
OFF dans tous les autres cas.
Lorsque *L(421) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de la multiplication, le contenu de R, R+1, R+2, R+3 est 0000
hex, le drapeau d'égalité se met sur ON.
Si, à la suite de la multiplication, le contenu du bit le plus à gauche de R+1 est
1, le drapeau négatif se met sur ON.
446
Chapitre 3-11
Instructions mathématiques à symboles
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00100, D00110, D00111 et
D00110 sont multipliés comme valeurs hexadécimales signées à 8 chiffres et
le résultat est placé dans D00121 et D00120.
3-11-19 UNSIGNED BINARY MULTIPLY : *U(422)
Objet
Symbole du schéma
contact
Multiplie 4 chiffres de données hexadécimales non signées et/ou des constantes.
*U(422)
Md
Md: Mot multiplicande
Mr
Mr: Mot multiplicateur
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Sous-programmes
OK
Zone
Zone CIO
Md
CIO 0000 à CIO 6143
Mr
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Adresses DM/EM
indirectes en binaire
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*U(422)
@*U(422)
Non prise en charge.
Non prise en charge.
Tâches
d'interruption
OK
R
CIO 0000 à
CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à
En_32766
(n = 0 à C)
447
Chapitre 3-11
Instructions mathématiques à symboles
Zone
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Md
Mr
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_ 32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
DR0 à DR15
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
R
*U(420) multiplie les valeurs binaires dans Md et Mr, et place le résultat dans
R, R+1.
Md
(binaire non signé)
×
Mr
(binaire non signé)
R +1
R
(binaire non signé)
Drapeaux
Précautions
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau
négatif
N
=
Fonctionnement
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche du résultat est 1.
OFF dans tous les autres cas.
Lorsque *U(422) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de la multiplication, le contenu de R, R+1 est 0000 hex, le drapeau d'égalité se met sur ON.
Si, à la suite de la multiplication, le contenu du bit le plus à gauche de R+1 est
1, le drapeau négatif se met sur ON.
Exemples
448
Si CIO 000000 est ON dans l'exemple suivant, D00100 et D00110 sont multipliés comme valeurs binaires non signées à 4 chiffres et le résultat est placé
dans D00121 et D00120.
Chapitre 3-11
Instructions mathématiques à symboles
3-11-20 DOUBLE UNSIGNED BINARY MULTIPLY : *UL(423)
Objet
Symbole du schéma
contact
Multiplie 8 chiffres de données hexadécimales non signées et/ou des constantes.
*UL(423)
Md
Md: 1er mot multiplicande
Mr
Mr: 1er mot multiplicateur
R
R: 1er mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Sous-programmes
OK
Md
CIO 0000 à CIO 6142
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
W000 à W510
H000 à H510
A000 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
Adresses DM/EM
indirectes en binaire
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #FFFFFFFF
(binaire)
---
Constantes
Registres de données
@*UL(423)
Non prise en charge.
Non prise en charge.
Zone
Zone CIO
Adresses DM/EM
indirectes en BCD
*UL(423)
Mr
Tâches
d'interruption
OK
R
CIO 0000 à
CIO 6140
W000 à W508
H000 à H508
A448 à A956
T0000 à T4092
C0000 à C4092
D00000 à D32764
E00000 à E32764
En_00000 à
En_32764
(n = 0 à C)
---
449
Chapitre 3-11
Instructions mathématiques à symboles
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Md
Mr
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
R
*UL(423) multiplie les valeurs binaires non signées dans Md et Md+1 et Mr et
Mr+1, et place le résultat dans R, R+1, R+2 et R+3.
×
R +3
R +2
Md + 1
Md
(binaire non signé)
Mr + 1
Mr
(binaire non signé)
R+1
R
(binaire non signé)
Drapeaux
Précautions
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Fonctionnement
=
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
Drapeau
négatif
N
ON lorsque le bit le plus à gauche du résultat est 1.
OFF dans tous les autres cas.
Lorsque *UL(423) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de la multiplication, le contenu de R, R+1, R+2, R+3 est 0000
hex, le drapeau d'égalité se met sur ON.
Si, à la suite de la multiplication, le contenu du bit le plus à gauche de R+3 est
1, le drapeau négatif se met sur ON.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00100, D00110, D00111 et
D00110 sont multipliés comme valeurs binaires non signées à 8 chiffres et le
résultat est placé dans D00123, D00122, D00121 et D00120.
3-11-21 BCD MULTIPLY : *B(424)
Objet
Symbole du schéma
contact
450
Multiplie 4 chiffres (mot unique) de données BCD et/ou des constantes.
*B(424)
Md
Md: Mot multiplicande
Mr
Mr: Mot multiplicateur
R
R: Mot de résultat
Chapitre 3-11
Instructions mathématiques à symboles
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
OK
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Adresses DM/EM
indirectes en binaire
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #9999
(BCD)
DR0 à DR15
---
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Sous-programmes
Md
CIO 0000 à CIO 6143
Constantes
@*B(424)
Non prise en charge.
Non prise en charge.
Zone
Zone CIO
Adresses DM/EM
indirectes en BCD
*B(424)
Mr
Tâches
d'interruption
OK
R
CIO 0000 à
CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à
En_32766
(n = 0 à C)
-----
,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
*B(424) multiplie le contenu BCD de Md et Mr, et place le résultat dans R,
R+1.
Md
(BCD)
×
Mr
(BCD)
R +1
R
(BCD)
451
Chapitre 3-11
Instructions mathématiques à symboles
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON si Md n'est pas de type BCD.
ON si Mr n'est pas de type BCD.
OFF dans tous les autres cas.
=
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
Drapeau
d'égalité
Précautions
Si Md et/ou Mr n'est pas de type BCD, une erreur est générée et le drapeau
d'erreur se met sur ON.
Si, à la suite de la multiplication, le contenu de R, R+1 est 0000 hex, le drapeau d'égalité se met sur ON.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00100 et D00110 sont multipliés comme valeurs BCD à 4 chiffres et le résultat est placé dans D00121 et
D00120.
3-11-22 DOUBLE BCD MULTIPLY : *BL(425)
Objet
Symbole du schéma
contact
Multiplie 8 chiffres (mot double) de données BCD et/ou des constantes.
*BL(425)
Md
Md: 1er mot multiplicande
Mr
Mr: 1er mot multiplicateur
R
R: 1er mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
452
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Zone
Zone CIO
Sous-programmes
OK
Md
CIO 0000 à CIO 6142
Mr
*BL(425)
@*BL(425)
Non prise en charge.
Non prise en charge.
Tâches
d'interruption
OK
Zone Travail
W000 à W510
R
CIO 0000 à
CIO 6140
W000 à W508
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
H000 à H510
A000 à A958
T0000 à T4094
H000 à H508
A448 à A956
T0000 à T4092
Chapitre 3-11
Instructions mathématiques à symboles
Zone
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Md
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
Adresses DM/EM
indirectes en binaire
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #99999999
(BCD)
---
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Mr
R
C0000 à C4092
D00000 à D32764
E00000 à E32764
En_00000 à
En_32764
(n = 0 à C)
---
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
*BL(425) multiplie les valeurs BCD dans Md et Md+1 et Mr et Mr+1, et place
le résultat dans R, R+1, R+2 et R+3.
×
R+3
R+2
Md + 1
Md
(BCD)
Mr + 1
Mr
(BCD)
R+1
R
(BCD)
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Précautions
Etiquette
Fonctionnement
ER
ON si Md et/ou Md+1 n'est pas de type BCD.
ON si Mr et/ou Mr+1 n'est pas de type BCD.
OFF dans tous les autres cas.
=
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
Si Md, Md+1 et/ou Mr, Mr+1 n'est pas de type BCD, une erreur est générée et
le drapeau d'erreur se met sur ON.
Si, à la suite de la multiplication, le contenu de R, R+1, R+2, R+3 est
00000000 hex, le drapeau d'égalité se met sur ON.
453
Chapitre 3-11
Instructions mathématiques à symboles
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00101, D00100, D00111 et
D00110 sont multipliés comme valeurs BCD non signées à 8 chiffres et le
résultat est placé dans D00123, D00122, D00121 et D00120.
3-11-23 SIGNED BINARY DIVIDE : /(430)
Objet
Divise 4 chiffres (mot unique) de données hexadécimales signées et/ou des
constantes.
Symbole du schéma
contact
/(430)
Dd
Dd: Mot dividende
Dr
Dr: Mot diviseur
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
454
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Sous-programmes
OK
Zone
Zone CIO
Dd
CIO 0000 à CIO 6143
Dr
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Adresses DM/EM
indirectes en binaire
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
/(430)
@/(430)
Non prise en charge.
Non prise en charge.
Tâches
d'interruption
OK
R
CIO 0000 à
CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à
En_32766
(n = 0 à C)
Chapitre 3-11
Instructions mathématiques à symboles
Zone
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Dd
Dr
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
#0001 à #FFFF
--(binaire)
(binaire)
DR0 à DR15
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
R
/(430) divise les valeurs binaires signées (16 bits) dans Dd par celles dans Dr,
et place le résultat dans R, R+1. Le quotient est placé dans R et le reste dans
R+1.
Dd
(binaire signé)
÷
Dr
(binaire signé)
R +1
R
(binaire signé)
Reste
Quotient
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau
négatif
Précautions
Etiquette
Fonctionnement
ER
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
=
ON lorsque le résultat de la divisuion, R, est 0.
OFF dans tous les autres cas.
N
ON lorsque le bit le plus à gauche de R est 1.
OFF dans tous les autres cas.
Si le contenu de Dr est 0, une erreur est générée et le drapeau d'erreur se
met sur ON.
Si, à la suite de la division, le contenu de R est 0000 hex, le drapeau d'égalité
se met sur ON.
Si, à la suite de la division, le contenu du bit le plus à gauche de R est 1, le
drapeau négatif se met sur ON.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00100 est divisé par D00110
comme valeurs binaires signées à 4 chiffres, et le quotient est placé dans
D00120 et le reste dans D00121.
455
Chapitre 3-11
Instructions mathématiques à symboles
3-11-24 DOUBLE SIGNED BINARY DIVIDE : /L(431)
Objet
Symbole du schéma
contact
Divise 8 chiffres (mot double) de données hexadécimales signées et/ou des
constantes.
/L(431)
Dd
Dd: 1er mot dividende
Dr
Dr: 1er mot diviseur
R
R: 1er mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
OK
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
W000 à W510
H000 à H510
A000 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
Adresses DM/EM indirectes en binaire
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à
#00000001 à
#FFFFFFFF
#FFFFFFFF
(binaire)
(binaire)
---
Registres de données
456
Sous-programmes
Dd
CIO 0000 à CIO 6142
Constantes
@/L(431)
Non prise en charge.
Non prise en charge.
Zone
Zone CIO
Adresses DM/EM indirectes en BCD
/L(431)
Dr
Tâches
d'interruption
OK
R
CIO 0000 à
CIO 6140
W000 à W508
H000 à H508
A448 à A956
T0000 à T4092
C0000 à C4092
D00000 à D32764
E00000 à E32764
En_00000 à
En_32764
(n = 0 à C)
---
Chapitre 3-11
Instructions mathématiques à symboles
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Dd
Dr
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
R
/L(431) divise les valeurs binaires signées dans Dd et Dd+1 par celles dans
Dr et Dr+1, et place le résultat dans R, R+1, R+2 et R+3. Le quotient est placé
dans R et R+1, et le reste est placé dans R+2 et R+3.
÷
R+3
Reste
R+2
Dd + 1
Dd
(binaire signé)
Dr + 1
Dr
(binaire signé)
R+1
R
(binaire signé)
Quotient
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau
négatif
Précautions
Etiquette
Fonctionnement
ER
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
=
ON lorsque le résultat de la division, R+1, R est 0.
OFF dans tous les autres cas.
N
ON lorsque le bit le plus à gauche de R+1, R est 1.
OFF dans tous les autres cas.
Lorsque le reste du résultat, R+3, R+2 est 0, le drapeau d'erreur se met sur
ON.
Si, à la suite de la division, le contenu de R+1, R est 00000000 hex, le drapeau d'égalité se met sur ON.
Si, à la suite de la division, le contenu du bit le plus à gauche de R+1, R est 1,
le drapeau négatif se met sur ON.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00101 et D00100 sont divisés par D00111 et D00110 comme valeurs hexadécimales signées à 8 chiffres, et le quotient est placé dans D00121 et D00120 et le reste dans D00123
et D00122.
457
Chapitre 3-11
Instructions mathématiques à symboles
3-11-25 UNSIGNED BINARY DIVIDE : /U(432)
Objet
Symbole du schéma
contact
Divise 4 chiffres (mot unique) de données hexadécimales non signées et/ou
des constantes.
/U(432)
Dd
Dd: Mot dividende
Dr
Dr: Mot diviseur
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
OK
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Adresses DM/EM indirectes en binaire
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
#0001 à #FFFF
(binaire)
(binaire)
DR0 à 15
Registres de données
458
Sous-programmes
Dd
CIO 0000 à CIO 6143
Constantes
@/U(432)
Non prise en charge.
Non prise en charge.
Zone
Zone CIO
Adresses DM/EM indirectes en BCD
/U(432)
Dr
Tâches
d'interruption
OK
R
CIO 0000 à
CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à
En_32766
(n = 0 à C)
-----
Chapitre 3-11
Instructions mathématiques à symboles
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Dd
Dr
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
R
/U(432) divise les valeurs binaires non signées dans Dd par celles dans Dr, et
place le quotient dans R et le reste dans R+1.
÷
R +1
Reste
Dd
(binaire non signé)
Dr
(binaire non signé)
R
(binaire non signé)
Quotient
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau
négatif
Précautions
Etiquette
Fonctionnement
ER
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
=
ON lorsque le résultat de la division, R est 0.
OFF dans tous les autres cas.
N
ON lorsque le bit le plus à gauche de R est 1.
OFF dans tous les autres cas.
Si, à la suite de la division, le contenu de R+1 est 0, le drapeau d'erreur se
met sur ON.
Si, à la suite de la division, le contenu de R est 0000 hex, le drapeau d'égalité
se met sur ON.
Si, à la suite de la division, le contenu du bit le plus à gauche de R est 1, le
drapeau négatif se met sur ON.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00100 est divisé par D00110
comme valeurs binaires non signées à 4 chiffres, et le quotient est placé dans
D00120 et le reste dans D00121.
459
Chapitre 3-11
Instructions mathématiques à symboles
3-11-26 DOUBLE UNSIGNED BINARY DIVIDE : /UL(433)
Objet
Symbole du schéma
contact
Divise 8 chiffres (mot double) de données hexadécimales non signées et/ou
des constantes.
/UL(433)
Dd
Dd: 1er mot dividende
Dr
Dr: 1er mot diviseur
R
R: 1er mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
OK
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
W000 à W510
H000 à H510
A000 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
Adresses DM/EM
indirectes en binaire
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à
#00000001 à
#FFFFFFFF
#FFFFFFFF
(binaire)
(binaire)
---
Registres de données
460
Sous-programmes
Dd
CIO 0000 à CIO 6142
Constantes
@/UL(433)
Non prise en charge.
Non prise en charge.
Zone
Zone CIO
Adresses DM/EM
indirectes en BCD
/UL(433)
Dr
Tâches
d'interruption
OK
R
CIO 0000 à
CIO 6140
W000 à W508
H000 à H508
A448 à A956
T0000 à T4092
C0000 à C4092
D00000 à D32764
E00000 à E32764
En_00000 à
En_32764
(n = 0 à C)
---
Chapitre 3-11
Instructions mathématiques à symboles
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Dd
Dr
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
R
/U(433) divise les valeurs binaires non signées dans Dd et Dd+1 par celles
dans Dr et Dr+1, et place le quotient dans R, R+1 et le reste dans R+2 et R+3.
÷
R+3
Reste
R+2
Dd + 1
Dd
(binaire non signé)
Dr + 1
Dr
(binaire non signé)
R+1
R
(binaire non signé)
Quotient
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau
négatif
Précautions
Etiquette
Fonctionnement
ER
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
=
ON lorsque le résultat de la division, R+1, R est 0.
OFF dans tous les autres cas.
N
ON lorsque le bit le plus à gauche de R+1, R est 1.
OFF dans tous les autres cas.
Si le contenu de Dr, Dr+1 est 0, le drapeau d'erreur se met sur ON.
Si, à la suite de la division, le contenu de R, R+1 est 0000 hex, le drapeau
d'égalité se met sur ON.
Si, à la suite de la division, le contenu du bit le plus à gauche de R+1 est 1, le
drapeau négatif se met sur ON.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00100 et D00101 sont divisés par D00111 et D00110 comme valeurs hexadécimales non signées à
8 chiffres, et le quotient est placé dans D00121 et D00120 et le reste dans
D00123 et D00122.
461
Chapitre 3-11
Instructions mathématiques à symboles
3-11-27 BCD DIVIDE : /B(434)
Objet
Symbole du schéma
contact
Divise 4 chiffres (mot unique) de données BCD et/ou des constantes.
/B(434)
Dd
Dd: Mot dividende
Dr
Dr: Mot diviseur
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de proZones de programmes de bloc grammes de pas
OK
OK
OK
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Adresses DM/EM
indirectes en binaire
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #9999
#0001 à #9999
(BCD)
(BCD)
DR0 à DR15
Registres de données
462
Sous-programmes
Dd
CIO 0000 à CIO 6143
Constantes
@/B(434)
Non prise en charge.
Non prise en charge.
Zone
Zone CIO
Adresses DM/EM
indirectes en BCD
/B(434)
Dr
Tâches
d'interruption
OK
R
CIO 0000 à
CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à
En_32766
(n = 0 à C)
-----
Chapitre 3-11
Instructions mathématiques à symboles
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Dd
Dr
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
R
/B(434) divise le contenu BCD de Dd par celui de Dr, et place le quotient dans
R et le reste dans R+1.
Dd
(BCD)
÷
Dr
(BCD)
R +1
R
(BCD)
Reste
Quotient
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Précautions
Etiquette
Fonctionnement
ER
ON si Dd n'est pas de type BCD.
ON si Dr n'est pas de type BCD.
ON lorsque le reste est 0.
OFF dans tous les autres cas.
=
ON lorsque R égale 0.
OFF dans tous les autres cas.
Si Dd ou Dr ne sont pas de type BCD ou si le reste (R+1) égale 0, une erreur
est générée et le drapeau d'erreur se met sur ON.
Si, à la suite de la division, le contenu de R est 0000 hex, le drapeau d'égalité
se met sur ON.
Si, à la suite de la division, le bit le plus à gauche de R est 1, le drapeau négatif se met sur ON.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00100 est divisé par D00110
comme valeurs BCD à 4 chiffres, et le quotient est placé dans D00120 et le
reste dans D00121.
463
Chapitre 3-11
Instructions mathématiques à symboles
3-11-28 DOUBLE BCD DIVIDE : /BL(435)
Objet
Symbole du schéma
contact
Divise 8 chiffres (mot double) de données BCD et/ou des constantes.
/BL(435)
Dd
Dd: 1er mot dividende
Dr
Dr: 1er mot diviseur
R
R: 1er mot de résultat
Variations
Zones de programmes
applicables
Spécifications de
l’opérande
Variations Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
/BL(435)
Spécification de rafraîchissement immédiat
Non prise en charge.
Zones de proZones de programmes de bloc grammes de pas
OK
OK
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
W000 à W510
H000 à H510
A000 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
Adresses DM/EM
indirectes en binaire
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à
#00000001 à
#99999999
#99999999
(BCD)
(BCD)
---
Registres de données
464
OK
Dd
CIO 0000 à CIO 6142
Constantes
Non prise en charge.
Sous-programmes
Zone
Zone CIO
Adresses DM/EM
indirectes en BCD
@/BL(435)
Dr
Tâches
d'interruption
OK
R
CIO 0000 à
CIO 6140
W000 à W508
H000 à H508
A448 à A956
T0000 à T4092
C0000 à C4092
D00000 à D32764
E00000 à E32764
En_00000 à
En_32764
(n = 0 à C)
---
Chapitre 3-12
Instructions de conversion
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Dd
Dr
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
R
/BL(435) divise les valeurs BCD dans Dd et Dd+1 par celles dans Dr et Dr+1,
et place le quotient dans R, R+1 et le reste dans R+2, R+3.
÷
R+3
R+2
Dd + 1
Dd
(BCD)
Dr + 1
Dr
(BCD)
R+1
R
(BCD)
Quotient
Reste
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Précautions
Etiquette
Fonctionnement
ER
ON si Dd, Dd+1 n'est pas de type BCD.
ON si Dr, Dr +1 n'est pas de type BCD.
OFF dans tous les autres cas.
=
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
Si Dd, Dd+1 et/ou Dr, Dr+1 ne sont pas de type BCD ou si le contenu de Dr,
Dr+1 égale 0, une erreur est générée et le drapeau d'erreur se met sur ON.
Si, à la suite de la division, le contenu de R, R+1 est 00000000 hex, le drapeau d'égalité se met sur ON.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, D00101 et D00100 sont divisés par D00111 et D00110 comme valeurs BCD à 8 chiffres, et le quotient est
placé dans D00121 et D00120 et le reste dans D00123 et D00122.
3-12 Instructions de conversion
Cette section décrit les instructions utilisées pour la conversion des données.
Instruction
BCD-TO-BINARY
DOUBLE BCD-TO-DOUBLE
BINARY
BINARY-TO-BCD
Mnémonique
BIN
BINL
Code fonction
023
058
Page
466
467
BCD
024
469
DOUBLE BINARY-TO-DOUBLE BCD
2'S COMPLEMENT
DOUBLE 2'S COMPLEMENT
BCDL
059
470
NEG
NEGL
160
161
472
474
465
Chapitre 3-12
Instructions de conversion
Instruction
16-BIT TO 32-BIT SIGNED
BINARY
DATA DECODER
DATA ENCODER
ASCII CONVERT
ASCII TO HEX
COLUMN TO LINE
LINE TO COLUMN
SIGNED BCD-TO-BINARY
DOUBLE SIGNED BCD-TOBINARY
SIGNED BINARY-TO-BCD
DOUBLE SIGNED BINARY-TOBCD
GRAY CODE CONVERSION
Mnémonique
SIGN
Code fonction
600
Page
476
MLPX
DMPX
ASC
HEX
LINE
COLM
BINS
BISL
076
077
086
162
063
064
470
472
477
482
486
490
494
496
499
502
BCDS
BDSL
471
473
505
507
GRY
474
511
3-12-1 BCD-TO-BINARY : BIN(023)
Objet
Symbole du schéma
contact
Convertit des données BCD en données binaires.
BIN(023)
S
S: Mot source
R
R: Mot de résultat
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
466
Zones de
programmes de pas
OK
BIN(023)
@BIN(023)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
S
R
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
Chapitre 3-12
Instructions de conversion
Zone
Adresses DM/EM
indirectes en BCD
S
R
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
BIN(023) convertit les données BCD dans S en données binaires et écrit le
résultat dans R.
R
(BCD)
(BIN)
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON si le contenu de S n'est pas de type BCD.
OFF dans tous les autres cas.
=
ON lorsque le résultat est 0000.
OFF dans tous les autres cas.
N
OFF
Drapeau
d'égalité
Drapeau
négatif
Exemple
Le schéma suivant montre un exemple de conversion BCD en binaire.
R
×10 ×10 ×10 ×10
3
2
1
0
×163 ×162 ×161 ×160
3-12-2 DOUBLE BCD-TO-DOUBLE BINARY : BINL(058)
Objet
Symbole du schéma
contact
Convertit des données BCD à 8 chiffres en données hexadécimales à 8 chiffres (données binaires 32 bits).
BINL(058)
S
S: Premier mot source
R
R: Premier mot de résultat
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
BINL(058)
@BINL(058)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
467
Chapitre 3-12
Instructions de conversion
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S
R
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
------,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
BINL(058) convertit les données BCD à 8 chiffres dans S et S+1 en données
hexadécimales à 8 chiffres (données binaires 32 bits) et écrit le résultat dans
R et R+1.
S+1
(BCD)
S
(BCD)
R+1
R
(BIN)
(BIN)
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON si le contenu de S+1, S n'est pas de type BCD.
OFF dans tous les autres cas.
Drapeau
=
ON lorsque le résultat est 0.
d'égalité
OFF dans tous les autres cas.
Drapeau négatif N
OFF
Exemples
Le schéma suivant montre un exemple de conversion BCD en binaire à 8 chiffres.
R+1
×107×106×105×104×103×102×101×100
R
×167×166×165×164×163 ×162×161×160
Si CIO 000000 est ON dans l'exemple suivant, la valeur BCD à 8 chiffres dans
CIO 0010 et CIO 0011 est convertie en valeur hexadécimale et enregistrée
dans D00200 et D00201.
468
Chapitre 3-12
Instructions de conversion
S+1 : CIO 0011
0
0
2
S : CIO 0010
0
x107 x106 x105 x104
0
x167
0
x166
0
0
5
200050=3X164+13X162+7X161+2X160
0
x103 x102 x101 x100
0
3
0
D
7
2
x165
x164
x163
x162
x161
x160
R+1 : D00201
R : D00200
3-12-3 BINARY-TO-BCD : BCD(024)
Objet
Symbole du schéma
contact
Convertit un mot de données binaires en un mot de données BCD.
BCD(024)
S
S: Mot source
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
BCD(024)
@BCD(024)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
S : Mot source
S doit être compris entre 0000 et 270F hexadécimal (0000 et 9999 décimal).
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
S
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
R
A448 à A959
469
Chapitre 3-12
Instructions de conversion
Zone
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S
R
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
BCD(024) convertit les données binaires dans S en données BCD et écrit le
résultat dans R.
(BIN)
R
(BCD)
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON si le contenu de S dépasse 270F (9999 décimal).
OFF dans tous les autres cas.
=
ON lorsque le résultat est 0000.
OFF dans tous les autres cas.
Drapeau
d'égalité
Précautions
Le contenu de S ne doit pas dépasser 270F (9999 décimal).
Exemple
Le schéma suivant montre un exemple de conversion BCD en binaire.
R
×163 ×162 ×161 ×160
×103 ×102 ×101 ×100
3-12-4 DOUBLE BINARY-TO-DOUBLE BCD : BCDL(059)
Objet
Symbole du schéma
contact
Convertit des données hexadécimales à 8 chiffres (données binaires 32 bits)
en données BCD à 8 chiffres.
BCDL(059)
S
S: Premier mot source
R
R: Premier mot de résultat
Variations
Variations Exécutée à chaque cycle pour la condition ON BCDL(059)
Exécutée une fois pour la différentiation sur
@BCDL(059)
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
470
Non prise en charge
Non prise en charge
Chapitre 3-12
Instructions de conversion
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
SousTâches
programmes
d'interruption
OK
OK
S : Premier mot source
Le contenu de S+1 et S doit être compris entre 0000 0000 et 05F5 E0FF
hexadécimal (0000 0000 et 9999 9999 décimal).
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en binaire
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S
R
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
------,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
BCDL(059) convertit les données hexadécimales à 8 chiffres (données binaires 32 bits) dans S et S+1 en données BCD à 8 chiffres (données binaires 32
bits) et écrit le résultat dans R et R+1.
S+1
(BCD)
S
(BCD)
R+1
(BIN)
R
(BIN)
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Précautions
Etiquette
Fonctionnement
ER
ON si le contenu de S et S+1 dépasse 05F5 E0FF
(9999 9999 décimal).
OFF dans tous les autres cas.
=
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
Le contenu de S+1 et S ne doit pas dépasser 05F5 E0FF (9999 9999 décimal).
471
Chapitre 3-12
Instructions de conversion
Exemples
Le schéma suivant montre un exemple de conversion BCD en binaire à 8 chiffres.
R+1
×167×166×165×164 ×163×162×161×160
R
×107×106×105×104×103 ×102×101×100
Si CIO 000000 est ON dans l'exemple suivant, la valeur hexadécimale dans
CIO 0011 et CIO 0010 est convertie en valeur BCD et enregistrée dans
D00200 et D00201.
S+1 :CIO 0011
MBS
0
0
x167
x166
2
x165
S :CIO 0010
D
3
2
0
A
x164
x163
x162
x161
x160
LSB
2X165 +13X164+3X163+2X162+10=2961930
R+1 :D00101
MBS
R :D00100
0
2
9
6
1
9
3
0
x107
x106
x105
x104
x103
x102
x101
x100
LSB
3-12-5 2’S COMPLEMENT : NEG(160)
Objet
Symbole du schéma
contact
Calcule le complément à 2 d'un mot de données hexadécimales.
NEG(160)
S
S: Mot source
R
R: Mot de résultat
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
472
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zones de
programmes de pas
OK
S
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
NEG(160)
@NEG(160)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
R
A448 à A959
Chapitre 3-12
Instructions de conversion
Zone
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S
R
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
NEG(160) calcule le complément à 2 de S et écrit le résultat dans R. Le calcul
du complément à 2 inverse l'état des bits dans S et ajoute 1.
Complément à 2
(Complément + 1)
(S)
Remarque
(R)
Cette opération (inversion de l'état des bits et ajout de 1) équivaut à la soustraction du contenu de S de 0000.
Drapeaux
Remarque
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau
négatif
N
=
Fonctionnement
ON lorsque le résultat est 0000.
OFF dans tous les autres cas.
ON si le bit 15 du résultat est ON.
OFF dans tous les autres cas.
Le résultat pour 8000 hex est 8000 hex.
473
Chapitre 3-12
Instructions de conversion
Exemple
Si CIO 000000 est ON dans l'exemple suivant, NEG(160) calcule le complément à 2 du contenu de D00100 et écrit le résultat dans D00200.
Calcul effectif
Soustraction
équivalente
Inversion de l'état du bit
−)
Ajout de 1
3-12-6 DOUBLE 2’S COMPLEMENT : NEGL(161)
Objet
Symbole du schéma
contact
Calcule le complément à 2 de deux mots de données hexadécimales.
NEGL(161)
S
S: Premier mot source
R
R: Premier mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en binaire
474
Zones de
programmes de pas
OK
NEGL(161)
@NEGL(161)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
S
R
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
Chapitre 3-12
Instructions de conversion
Zone
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Remarque
Description
S
R
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #FFFFFFFF
--(binaire)
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
R et R+1 doivent être dans la même zone de données.
NEGL(161) calcule le complément à 2 de S+1 et S et écrit le résultat dans
R+1 et R. Le calcul du complément à 2 inverse l'état des bits dans S+1 et S et
ajoute 1.
Complément à 2
(Complément + 1)
(S+1, S)
Remarque
(R+1, R)
Cette opération (inversion de l'état des bits et ajout de 1) équivaut à la soustraction du contenu de S+1 et S de 0000 0000.
Drapeaux
Remarque
Exemple
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau
négatif
N
=
Fonctionnement
ON lorsque le résultat est 0000 0000.
OFF dans tous les autres cas.
ON si le bit 15 de R+1 est ON.
OFF dans tous les autres cas.
Le résultat pour 8000 hex est 8000 hex.
Si CIO 000000 est ON dans l'exemple suivant, NEGL(161) calcule le complément à 2 du contenu de D00101 et D00100 et écrit le résultat dans D00201 et
D00200.
Calcul
effectif
Soustraction
équivalente
Inversion de l'état des bits
−)
Ajout de 1
475
Chapitre 3-12
Instructions de conversion
3-12-7 16-BIT TO 32-BIT SIGNED BINARY : SIGN(600)
Objet
Développe une valeur binaire de 16 bits signée de façon à obtenir son équivalent 32 bits.
Symbole du schéma
contact
SIGN(600)
S
S: Mot source
R
R: Premier mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Remarque
476
Zones de
programmes de pas
OK
SIGN(600)
@SIGN(600)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
S
R
CIO 0000 à CIO 6143
CIO 0000 à CIO 6142
W000 à W511
W000 à W510
H000 à H511
H000 à H510
A000 à A959
A448 à A958
T0000 à T4095
T0000 à T4094
C0000 à C4095
C0000 à C4094
D00000 à D32767
D00000 à D32766
E00000 à E32767
E00000 à E32766
En_00000 à En_32767
En_00000 à En_32766
(n = 0 à C)
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
DR0 à DR15
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
R et R+1 doivent être dans la même zone de données.
Chapitre 3-12
Instructions de conversion
Description
SIGN(600) convertit le nombre binaire 16 bits signé dans S en son équivalent
binaire 32 bits signé et écrit le résultat dans R+1 et R.
La conversion s'effectue en copiant le contenu de S dans R et en écrivant
FFFF dans R+1 si le bit 15 de S est 1 ou en écrivant 0000 dans R+1 si le bit
15 de S est 0.
Mot source (S)
1
Si le bit 15 de S est 1, FFFF est transféré
dans R+1. Si le bit 15 de S est 0, 0000 est
transféré dans R+1.
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
Le contenu de S est
transféré "tel quel" dans R.
2nd mot de résultat (R+1)
1
0
1st mot de résultat (R)
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
Drapeaux
Exemple
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeau
négatif
N
=
Fonctionnement
ON lorsque le résultat est 0000 0000.
OFF dans tous les autres cas.
ON si le bit 15 de R+1 est ON.
OFF dans tous les autres cas.
Si CIO 000000 est ON dans l'exemple suivant, SIGN(600) convertit le contenu
binaire 16 bits signé de D00100 (#8000 = –32 768 décimal) en son équivalent
32 bits (#FFFF 8000 = –32 768 décimal) et écrit le résultat dans D00201 et
D00200.
Exemple : 8000 hex.
3-12-8 DATA DECODER : MLPX(076)
Objet
Symbole du schéma
contact
Lit la valeur numérique dans le chiffre (ou l'octet) spécifié du mot source, met
sur ON le bit correspondant dans le mot de résultat (ou la plage de 16 mots)
et met sur OFF tous les autres bits dans le mot de résultat (ou la plage de 16
mots).
MLPX(076)
S
S: Mot source
C
C: Mot de contrôle
R
R: Premier mot de résultat
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
MLPX(076)
@MLPX(076)
Non prise en charge
Non prise en charge
477
Chapitre 3-12
Instructions de conversion
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
SousTâches
programmes
d'interruption
OK
OK
S : Mot source
Les données du mot source indiquent l'emplacement du ou des bit(s) qui
sera/seront mis sur ON.
C : Mot de contrôle
Le mot de contrôle détermine si MLPX(076) effectue une conversion 4 à
16 bits ou une conversion 8 à 256 bits, le nombre de chiffres ou d'octets à
convertir et le chiffre ou octet de départ.
Nombre de
chiffres :
3 2 1 0
0
Détermine le premier chiffre/octet à
convertir de 4 à 16 : 0 à 3 (chiffre 0 à 3)
8 à 256 : 0 ou 1 (octet 0 ou 1)
Nombre de chiffres/octets à convertir
4 à 16 : 0 à 3 (1 à 4 chiffres)
8 à 256 : 0 ou 1 (1 ou 2 octets)
Processus de conversion
0: 4 à 16 bits (chiffre à mot)
1: 8 à 256 bits (octet à plage de 16 mots)
R : Premier mot de résultat
Il peut y avoir entre 1 et 32 mots de résultat en fonction du type de conversion
effectuée et du nombre de chiffres/octets convertis. Les mots de résultat doivent être dans la même zone de données.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
478
S
C
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--Valeurs spécifiées uniquement
DR0 à DR15
R
A448 à A959
-----
Chapitre 3-12
Instructions de conversion
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S
C
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
R
MLPX(076) peut effectuer des conversions 4 à 16 bits ou 8 à 256 bits. Mettez
le chiffre le plus à gauche de C sur 0 pour spécifier la conversion 4 à 16 bits et
sur 1 pour spécifier la conversion 8 à 256 bits.
Conversion 4 à 16 bits
Si le chiffre le plus à gauche de C est 0, MLPX(076) prend la valeur du chiffre
spécifié dans S (0 à F) et met sur ON le bit correspondant dans le mot de
résultat. Tous les autres bits du mot de résultat sont mis sur OFF. Il est possible de convertir jusque 4 chiffres.
C
l =1 (Conversion de 2 chiffres.)
n=2 (commence au
troisième chiffre.)
Décodage de 4 à 16 bits
(Le bit m de R est mis sur ON.)
R
R+1
Lorsque deux chiffres ou plus sont convertis, MLPX(076) lit les chiffres dans S
de droite à gauche et englobe le chiffre le plus à droite après le chiffre le plus
à gauche, si nécessaire.
Le schéma ci-dessous indique quelques exemples de valeurs pour C et les
conversions 4 à 16 bits qu'elles produisent.
C :#0010
C :#0030
C :#0031
R
R
R
R+1
R+1
R+2
R+1
R+2
R+3
R+3
Conversion 8 à 256 bits
Si le chiffre le plus à gauche de C est 1, MLPX(076) prend la valeur du chiffre
spécifié dans S (00 à FF) et met sur ON le bit correspondant dans la plage de
16 mots de résultat. Tous les autres bits des mots de résultat sont mis sur
OFF. Il est possible de convertir jusque 2 octets.
479
Chapitre 3-12
Instructions de conversion
C
l =1 (Conversion de 2 octets.)
n=1 (commence avec le
deuxième octet.)
Décodage de 8 à 256 bits
(Le bit m de R à R+15 est mis sur ON.)
R+1
16
R+14
R+15
R+16
R+17
R+30
R+31
Lorsque deux octets sont convertis, MLPX(076) lit les octets dans S de droite
à gauche et englobe l'octet le plus à droite si l'octet le plus à gauche (octet 1)
a été spécifié comme octet de départ.
Le schéma ci-dessous indique quelques exemples de valeurs pour C et les
conversions 8 à 256 bits qu'elles produisent.
C : #1010
Chiffre 1
Chiffre 0
C : #1011
Chiffre 1
Chiffre 0
Drapeaux
Nom
Drapeau
d'erreur
Exemples
Etiquette
Fonctionnement
ER
ON si C n'est pas dans les plages spécifiées.
OFF dans tous les autres cas.
Conversion 4 à 16 bits
Si CIO 000000 est ON dans l'exemple suivant, MLPX(076) convertit 3 chiffres
dans S en commençant par le chiffre 1 (le deuxième chiffre), comme indiqué
par C (#0021). Les bits correspondants dans D00100, D00101 et D00102
sont mis sur ON.
480
Chapitre 3-12
Instructions de conversion
S
C
Bits 0 à 3 : chiffre de départ (chiffre 1)
R
C :#
Bits 4 à 7 : Nombre de chiffres (3 chiffres)
Chiffres
S : 0100
Le chiffre 1 contient 6 ; le bit 6 est donc mis sur ON.
R:
Le chiffre 2 contient A ; le bit 10 est donc mis sur ON.
Le chiffre 3 contient F ; le bit 15 est donc mis sur ON.
Conversion 8 à 256 bits
Si CIO 000000 est ON dans l'exemple suivant, MLPX(076) convertit 2 octets
dans S en commençant par l'octet 1 (octet le plus à gauche), comme indiqué
par C (#1011). Les bits correspondants dans D00100 à D00115 et D00116 à
D00131 sont mis sur ON.
S
C
Bits 0 à 3 : Octet de départ (octet 1)
R
C :#
Bits 4 à 7 : Nombre d'octets (2 octets)
Octet 1
Octet 0
S : 0100
R:
L'octet 1 contient 2D ; le bit 13 (D)
de R+2 est donc mis sur ON.
L'octet 0 contient 1A ; le bit 10 (A)
de R+1 est donc mis sur ON.
481
Chapitre 3-12
Instructions de conversion
3-12-9 DATA ENCODER : DMPX(077)
Objet
Symbole du schéma
contact
Recherche l'emplacement du premier ou du dernier bit ON du mot source (ou
la plage de 16 mots) et écrit cette valeur dans le chiffre (ou l'octet) spécifié du
mot de résultat.
DMPX(077)
S
S: Premier mot source
R
R: Mot de résultat
C
C: Mot de contrôle
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
DMPX(077)
@DMPX(077)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
S : Premier mot source
Il peut y avoir entre 1 et 32 mots sources en fonction du type de conversion
effectuée et du nombre de chiffres/octets convertis. Les mots sources doivent
être dans la même zone de données.
R : Mot de résultat
Les emplacements des bits qui étaient sur ON dans le(s) mot(s) source(s)
sont écrits dans les chiffres/octets de R en commençant par le premier chiffre/
octet spécifié.
C : Mot de contrôle
Le mot de contrôle détermine si DMPX(077) effectue une conversion 16 à
4 bits ou une conversion 256 à 8 bits, si le bit ON le plus à gauche ou le plus à
droite sera encodé, le nombre de chiffres ou d'octets à convertir, et le chiffre
ou octet de départ où le résultat sera écrit.
Nombre de
chiffres :
3 2 1 0
Spécifie le premier chiffre/octet qui recevra les
données converties.
16 à 4 : 0 à 3 (chiffre 0 à 3)
256 à 8 : 0 ou 1 (octet 0 ou 1)
Nombre de chiffres/octets à convertir 16
à 4 : 0 à 3 (1 à 4 chiffres)
256 à 8 : 0 ou 1 (1 ou 2 octets)
Bit à encoder
0: Bit le plus à gauche (adresse de bit supérieure)
1: Bit le plus à droite (adresse de bit inférieure)
Processus de conversion
0: 16 à 4 bits (mot à chiffre)
1: 256 à 8 bits (plage de 16 mots à octet)
Spécifications de
l’opérande
482
Zone
Zone CIO
Zone Travail
S
CIO 0000 à CIO 6143
W000 à W511
R
C
Chapitre 3-12
Instructions de conversion
Zone
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
S
R
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
-----
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
C
A000 à A959
Valeurs spécifiées uniquement
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
DMPX(077) peut effectuer des conversions 16 à 4 bits ou 256 à 8 bits. Mettez
le chiffre le plus à gauche de C sur 0 pour spécifier la conversion 16 à 4 bits et
sur 1 pour spécifier la conversion 256 à 8 bits.
Conversion 16 à 4 bits
Lorsque le quatrième chiffre (le plus à gauche) de C est 0, DMPX(077)
recherche l'emplacement des bits ON les plus à gauche et les plus à droite
dans 4 mots sources maximum et écrit ces emplacements dans R en commençant par le chiffre spécifié. (Mettez le troisième chiffre de C sur 0 pour
rechercher les bits ON les plus à gauche ou sur 1 pour rechercher les bits ON
les plus à droite.)
C
Recherche le bit le plus à gauche
(Adresse de bit supérieure)
m
Décodage de 16 à 4 bits
(L'emplacement du bit le
plus à gauche (m) est écrit
dans R.)
l=1
(Conversion
de 2 mots.)
Bit le plus à gauche
n=2 (commence avec le chiffre 2.)
R
Lorsque deux chiffres ou plus sont convertis, DMPX(077) écrit les valeurs
dans les chiffres de R de droite à gauche et englobe le chiffre le plus à droite
après le chiffre le plus à gauche, si nécessaire.
483
Chapitre 3-12
Instructions de conversion
Le schéma ci-dessous indique quelques exemples de valeurs pour C et les
conversions 16 à 4 bits qu'elles produisent.
C : #0011
C : #0030
C : #0013
R Chiffre 3 Chiffre 2 Chiffre 1 Chiffre 0
R Chiffre 3 Chiffre 2 Chiffre 1 Chiffre 0
R Chiffre 3 Chiffre 2 Chiffre 1 Chiffre 0
C : #0032
R Chiffre 3 Chiffre 2 Chiffre 1 Chiffre 0
Conversion 256 à 8 bits
Lorsque le quatrième chiffre (le plus à gauche) de C est 1, DMPX(077)
recherche les emplacements des bits ON les plus à gauche (adresse de bit
supérieure) ou les plus à droite (adresse de bit inférieure) dans une ou deux
plages de 16 mots sources. L'emplacement de ces bits est écrit dans R en
commençant par l'octet spécifié. (Mettez le troisième chiffre de C sur 0 pour
rechercher les bits ON les plus à gauche ou sur 1 pour rechercher les bits ON
les plus à droite.)
C
l=0 (Conversion d'une plage
de 16 mots.)
Bit le
plus à
gauche
Bit le plus
à droite
Recherche le bit le plus à gauche
(Adresse de bit supérieure)
Décodage de 256 à 8 bits
(L'emplacement du bit le plus à gauche
dans la plage de 16 mots (m) est écrit
dans R.)
n=1 (comence à l'octet 1.)
R
484
Chapitre 3-12
Instructions de conversion
Lorsque deux octets sont convertis, DMPX(077) écrit les valeurs dans les
octets de R de droite à gauche et englobe l'octet le plus à droite si l'octet le
plus à gauche (octet 1) a été spécifié comme octet de départ.
Le schéma ci-dessous indique quelques exemples de valeurs pour C et les
conversions 256 à 8 bits qu'elles produisent.
C : #1010
Chiffre 1
C : #1011
Chiffre 0
Chiffre 1
Chiffre 0
Drapeaux
Nom
Drapeau
d'erreur
Précautions
Etiquette
Fonctionnement
ER
ON si l'un des mots sources contient 0000 hex
(c.-à-d. aucun bit à encoder).
ON si C n'est pas dans les plages spécifiées.
OFF dans tous les autres cas.
Si les données de conversion contiennent 0000 hex, mais que d'autres données doivent être encodées, séparez la conversion en utilisant plus d'une instruction DMPX(077).
DMPX(077) D0000 D0100 #0300
DMPX(077)
DMPX(077)
DMPX(077)
DMPX(077)
Exemples
D0000
D0001
D0002
D0003
D0100
D0100
D0100
D0100
#0000
#0001
#0002
#0003
Si CIO 000000 est ON dans l'exemple suivant, DMPX(077) recherche les bits
ON les plus à gauche dans CIO 0100, CIO 0101 et CIO 0102 et écrit ces
emplacements dans 3 chiffres de R en commençant par le chiffre 1 (le
deuxième chiffre), comme indiqué par C (#0021).
485
Chapitre 3-12
Instructions de conversion
S
R
C
C:#
DMPX(077) recherche les
bits ON les plus à gauche.
S:
Chiffre de
départ
(chiffre 1)
Chiffres
R : D00100
3-12-10 ASCII CONVERT : ASC(086)
Objet
Symbole du schéma
contact
Convertit les chiffres hexadécimaux 4 bits du mot source dans leurs équivalents ASCII 8 bits.
ASC(086)
S
S: Mot source
Di
Di: Désignateur de chiffre
D
D: Premier mot de destination
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
ASC(086)
@ASC(086)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
S : Mot source
Il est possible de convertir jusque quatre chiffres dans le mot source. Les chiffres sont numérotés de 0 à 3, de droite à gauche.
Di : Désignateur de chiffre
Le désignateur de chiffre spécifie plusieurs paramètres pour la conversion,
comme indiqué dans le schéma ci-dessous.
486
Chapitre 3-12
Instructions de conversion
Nombre de
chiffres :
3 21 0
Détermine le premier chiffre dans S à convertir (0 à 3)
Nombre de chiffres à convertir (0 à 3)
0: 1 chiffre
1: 2 chiffres
2: 3 chiffres
3: 4 chiffres
Premier octet de D à utiliser.
0: Octet le plus à droite
1: Octet le plus à gauche
Parité
0: Aucun
1: Pair
2: Impair
D : Premier mot de destination
Les données ASCII converties sont écrites dans le(s) mot(s) de destination
en commençant par l'octet spécifié dans D. Trois mots de destination (D à
D+3) sont nécessaires si 4 chiffres sont convertis et que l'octet le plus à gauche est sélectionné comme le premier octet dans D. Les mots de destination
doivent être dans la même zone de données.
Tout octet dans le(s) mot(s) de destination qui n'est pas remplacé par des
données ASCII reste inchangé.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
S
Di
D
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--Valeurs spéci--fiées uniquement
DR0 à DR15
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
487
Chapitre 3-12
Instructions de conversion
Description
ASC(086) traite le contenu de S comme 4 chiffres hexadécimaux, convertit
le(s) chiffre(s) désigné(s) de S en leurs équivalents ASCII 8 bits, et écrit ces
données dans le(s) mot(s) de destination en commençant par l'octet spécifié
dans D.
Di
Premier chiffre à convertir
Nombre de
chiffres (n+1)
Gauche (1)
Remarque
Droite (0)
Consultez l' Annexe A du Manuel d'utilisation des consoles de programmation
série CS/CJ (W341) pour une table des caractères ASCII étendus.
Parité
Il est possible de spécifier la parité des données ASCII pour l'utilisation lors
du contrôle des erreurs pendant la transmission des données. Le bit le plus à
gauche de chaque caractère ASCII est automatiquement réglé sur pair,
impair ou aucune parité.
Lorsque aucune parité (0) est défini, le bit le plus à gauche est toujours 0.
Lorsque pair (1) est défini, le bit le plus à gauche est réglé de façon à ce que
le nombre total de bits sur ON soit pair. Lorsque impair (2) est défini, le bit le
plus à gauche de chaque caractère ASCII est réglé de façon à ce que le nombre de bits sur ON soit impair. L'état du bit de parité ne modifie pas la signification du code ASCII.
Exemples de parité paire :
S'il est réglé sur pair, ASCII “31” (00110001) devient “B1” (10110001 : bit de
parité sur ON pour créer un nombre pair de bits sur ON) ; ASCII “36”
(00110110) devient “36” (00110110 : le bit de parité reste sur OFF car le nombre de bits sur ON est déjà pair).
Exemples de parité impaire :
S'il est réglé sur impair, ASCII “36” (00110110) devient “B6” (10110110 : bit
de parité sur ON pour créer un nombre impair de bits sur ON) ; ASCII “46”
(01000110) devient “46” (01000110 : le bit de parité reste sur OFF car le nombre de bits sur ON est déjà impair).
Exemples de Di
Lorsque deux chiffres ou plus sont convertis, ASC(086) lit les octets dans S
de droite à gauche et englobe l'octet le plus à droite, si nécessaire. Le
schéma ci-dessous indique quelques exemples de valeurs pour Di et les conversions qu'elles génèrent.
488
Chapitre 3-12
Instructions de conversion
Di : #0011
Di : #0112
Chiffre 3 Chiffre 2 Chiffre 1 Chiffre 0
Le plus à gauche
Di : #0030
Chiffre 3 Chiffre 2 Chiffre 1 Chiffre 0
Chiffre 3 Chiffre 2 Chiffre 1 Chiffre 0
Le plus
à gauche
Le plus à gauche
Le plus à droite
Le plus à droite
Le plus à gauche
Le plus
à droite
Le plus à droite
Di : #0130
Chiffre 3 Chiffre 2 Chiffre 1 Chiffre 0
Le plus
à gauche
Le plus à gauche
Le plus
à droite
Le plus à droite
Drapeaux
Nom
Drapeau
d'erreur
Exemple
Etiquette
Fonctionnement
ER
ON si le contenu de Di n'est pas dans les plages spécifiées.
OFF dans tous les autres cas.
Si CIO 000000 est ON dans l'exemple suivant, ASC(086) convertit trois chiffres hexadécimaux dans D00100 (en commençant par le chiffre 1) en leurs
équivalents ASCII et écrit ces données dans D00200 et D00201 en commençant par l'octet le plus à gauche dans D00200. Dans ce cas, un désignateur
de chiffre de #0121 spécifie aucune parité, l'octet de départ (lors de l'écriture)
= octet le plus à gauche, le nombre de chiffres à lire = 3, et le chiffre de départ
(lors de la lecture) = chiffre 1.
S
Di
D
Di : #
Nombre de chiffres
Chiffre de départ
Chiffres
S : D00100
Octet de départ (octet
le plus à gauche)
D:
489
Chapitre 3-12
Instructions de conversion
3-12-11 ASCII TO HEX : HEX(162)
Objet
Symbole du schéma
contact
Convertit jusqu'à 4 octets de données ASCII du mot source dans leurs équivalents hexadécimaux et écrit ces chiffres dans le mot de destination spécifié.
HEX(162)
S
S: Premier mot source
Di
Di: Désignateur de chiffre
D
D: Mot de destination
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
HEX(162)
@HEX(162)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
S : Premier mot source
Le contenu des mots sources est traité comme données ASCII. Il est possible
d'utiliser jusqu'à trois mots sources. (Trois mots sources sont nécessaires si 4
octets sont convertis et que l'octet le plus à gauche est sélectionné comme le
premier octet dans S.) Les mots sources doivent être dans la même zone de
données.
Di : Désignateur de chiffre
Le désignateur de chiffre spécifie plusieurs paramètres pour la conversion,
comme indiqué dans le schéma ci-dessous.
Nombre de : 3 2 1 0
chiffres
Détermine le premier chiffre dans D à recevoir les
données converties (0 à 3)
Nombre d'octets à convertir (0 à 3)
0: 1 chiffre
1: 2 chiffres
2: 3 chiffres
3: 4 chiffres
Premier octet de S à convertir.
0: Octet le plus à droite
1: Octet le plus à gauche
Parité
0: Aucune
1: Paire
2: Impaire
D : Mot de destination
Les chiffres hexadécimaux convertis sont écrits dans D de droite à gauche en
commençant par le premier chiffre spécifié. Tout chiffre dans le mot de destination qui n'est pas remplacé par des données converties reste inchangé.
490
Chapitre 3-12
Instructions de conversion
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM indirectes en binaire
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S
Di
D
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--Valeurs spéci--fiées uniquement
--DR0 à DR15
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
HEX(162) traite le contenu du ou des mots sources comme des données
ASCII représentant des chiffres hexadécimaux (0 à 9 et A à F), convertit le
nombre spécifié d'octets en données hexadécimales, et écrit les données
hexadécimales dans le mot de destination en commençant par le chiffre spécifié.
Une erreur se produit si les mots sources contiennent des données qui ne
sont pas un équivalent ASCII de chiffres hexadécimaux. Le tableau suivant
indique des chiffres hexadécimaux et leurs équivalents ASCII (sauf les bits de
parité).
Drapeaux
Chiffres hexadécimaux (4 bits)
0à9
AàF
Remarque
Equivalent ASCII (2 chiffres hexadécimaux)
30 à 39
41 à 46
Consultez l' Annexe A du Manuel d'utilisation des consoles de programmation
série CS/CJ (W341) pour une table des caractères ASCII étendus.
491
Chapitre 3-12
Instructions de conversion
Le schéma ci-dessous illustre le fonctionnement de base de HEX(162) avec
Di=0021.
C : 0021
Di
Premier octet à convertir
Gauche (1)
Droite (0)
Nombre de chiffres (n+1)
Premier chiffre à écrire
Parité
Il est possible de spécifier la parité des données ASCII pour l'utilisation lors
du contrôle des erreurs pendant la transmission des données. Le bit le plus à
gauche dans chaque octet est le bit de parité. En l'absence de parité, le bit de
parité doit toujours être 0, dans le cas de la parité paire, l'état du bit de parité
doit résulter en un nombre total de bits ON pair et dans le cas de la parité
impaire, l'état du bit de parité doit résulter en un nombre impair de bits ON.
Le tableau ci-dessous illustre le fonctionnement de HEX(162) pour chaque
configuration de parité.
Configuration de
parité
(chiffre le plus à
gauche de Di)
Aucune parité (0)
Fonctionnement de HEX(162)
HEX(162) n'est exécutée que si le bit de parité dans chaque
octet est 0. Une erreur se produit si un bit de parité est non
nul.
Parité paire (1)
HEX(162) n'est exécutée que s'il y a un nombre pair de bits
sur ON dans chaque octet. Une erreur se produit si un octet
comporte un nombre impair de bits sur ON.
HEX(162) n'est exécutée que s'il y a un nombre impair de
bits sur ON dans chaque octet. Une erreur se produit si un
octet comporte un nombre pair de bits sur ON.
Parité impaire (2)
Exemples de Di
Lorsque deux octets ou plus sont convertis, HEX(162) écrit les chiffres convertis dans le mot de destination de droite à gauche et englobe le chiffre le
plus à droite, si nécessaire. Le schéma ci-dessous indique quelques exemples de valeurs pour Di et les conversions qu'elles génèrent.
Di : #0112
Di : #0030
Le plus à gauche
Le plus à gauche
Le plus à droite
Le plus
à gauche
Le plus à droite
Le plus
à droite
Di : #0131
Le plus à gauche
Le plus
à gauche
Le plus à droite
Le plus
à droite
Chiffre 3 Chiffre 2 Chiffre 1 Chiffre 0
Chiffre 3 Chiffre 2 Chiffre 1 Chiffre 0
Chiffre 3 Chiffre 2 Chiffre 1 Chiffre 0
492
Chapitre 3-12
Instructions de conversion
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON s'il y a une erreur de parité dans les données ASCII.
ON si les données ASCII dans les mots sources ne sont
pas l’équivalent de chiffres hexadécimaux
ON si le contenu de Di n'est pas dans les plages spécifiées.
OFF dans tous les autres cas.
Précautions
Une erreur se produit et le drapeau d'erreur se met sur ON s'il y a une erreur
de parité dans les données ASCII, si les données ASCII dans les mots sources ne sont pas équivalentes à des chiffres hexadécimaux, ou si le contenu
de Di n'est pas dans les plages spécifiées.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, HEX(162) convertit les données ASCII dans D00100 et D00101 conformément à la configuration du
désignateur de chiffre. (Di=#0121 spécifie aucune parité, l'octet de départ
(lors de la lecture) = octet le plus à gauche, le nombre d'octets à lire = 3, et le
chiffre de départ (lors de l'écriture) = chiffre 1.)
HEX(162) convertit trois octets de données ASCII (3 caractères) en commençant par l'octet le plus à gauche de D00100 en leurs équivalents hexadécimaux et écrit ces données dans D00200 en commençant par le chiffre 1.
S
Di
D
Di : #
Octet de départ (octet
le plus à gauche)
S:
Nombre de chiffres
Chiffre de départ (chiffre 1)
3 chiffres
D : D00200
Si CIO 000000 est ON dans l'exemple suivant, HEX(162) convertit les données ASCII dans D00010 en commençant par l'octet le plus à droite et écrit
les équivalents hexadécimaux dans D00300 en commençant par le chiffre 1.
La configuration du désignateur de chiffre de #1011 spécifie la parité paire,
l'octet de départ (lors de la lecture) = octet le plus à droite, le nombre d'octets
à lire = 2, et le chiffre de départ (lors de l'écriture) = chiffre 1.
493
Chapitre 3-12
Instructions de conversion
Chiffre de départ dans D : Chiffre 1
Nombre d'octets : 2
Octet de départ dans S : Le plus à droite
Parité : Paire
Bits de parité : Résulte en parité paire
S : D00100
Octet de départ : le plus à droite
Conversion
Chiffre de départ (chiffre 1)
Inchangé
D : D00300
Nombre d'octets (2 octets)
Inchangé
3-12-12 COLUMN TO LINE : LINE(063)
Objet
Symbole du schéma
contact
Convertit une colonne de bits d'une plage de 16 mots (le même numéro de bit
dans 16 mots consécutifs) dans les 16 bits du mot de destination.
LINE(063)
S
S: Premier mot source
N
N: Numéro de bit
D
D: Mot de destination
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
LINE(063)
@LINE(063)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
S : Premier mot source
Spécifie le premier mot source. S et S+15 doivent être dans la même zone de
données.
N : Numéro de bit
Spécifie le numéro de bit (0000 à 000F ou &0 à &15) à copier à partir des
mots sources.
494
Chapitre 3-12
Instructions de conversion
Spécifications de
l’opérande
Zone
Zone CIO
S
CIO 0000 à
CIO 6128
W000 à W496
H000 à H496
A000 à A944
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
W000 à W511
H000 à H511
A000 à A959
D
A448 à A959
T0000 à T4080
T0000 à T4095
C0000 à C4080
C0000 à C4095
D00000 à D32752 D00000 à D32767
E00000 à E32752 E00000 à E32767
En_00000 à
En_00000 à En_32767 (n = 0 à C)
En_32752
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--#0000 à 000F
--(binaire) ou &0 à
&15
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
N
CIO 0000 à CIO 6143
LINE(063) copie les 16 bits avec le numéro de bit N de la plage de 16 mots S
à S+15 vers le mot de destination D. Le bit N de S+m est copié vers le bit m
de D, en d'autres termes, le bit N de S est copié dans le bit 00 de D et le bit N
de S+15 est copié dans le bit 15 de D.
N
Bit
15
S
S+1
S+2
S+3
.
.
.
S+15
Bit
00
0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 1
1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1
0 0 0 1 1 0 1 1 0 0 1 0 0 1 1 1
1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1
.
.
.
.
.
.
.
.
.
0 1 1 0 0 0 0 1 1 0 0 0 1 0 1 0
Bit
15
D 0
Bit
00
. . . 0 1 1 1
495
Chapitre 3-12
Instructions de conversion
Drapeaux
Nom
Drapeau
d'erreur
Etiquette
Fonctionnement
ER
ON si N n'est pas dans la plage spécifiée de 0000 à 000F.
OFF dans tous les autres cas.
=
ON si D est 0000 après l'exécution.
OFF dans tous les autres cas.
Drapeau
d'égalité
Exemple
Si CIO 000000 est ON dans l'exemple suivant, LINE(063) copie le bit 5 de
D00100 à D00115 vers les 16 bits dans D00200.
N :#0005
&5
S:
à
à
D :D00200
3-12-13 LINE TO COLUMN : COLM(064)
Objet
Symbole du schéma
contact
Convertit les 16 bits du mot source en une colonne de bits dans une plage de
16 mots de destination (le même numéro de bit dans 16 mots consécutifs).
COLM(064)
S
S: Mot source
D
D: Premier mot de destination
N
N: Numéro de bit
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
COLM(064)
@COLM(064)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
D : premier mot de destination.
Spécifie le premier mot de destination. D et D+15 doivent être dans la même
zone de données.
496
Chapitre 3-12
Instructions de conversion
N : Numéro de bit
Spécifie le numéro de bit (0000 à 000F ou &0 à &15) à écraser par le mot
source.
Spécifications de
l’opérande
Zone
Zone CIO
S
CIO 0000 à
CIO 6143
D
CIO 0000 à
CIO 6128
N
CIO 0000 à
CIO 6143
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
W000 à W496
H000 à H496
A448 à A944
T0000 à T4080
C0000 à C4080
D00000 à D32752
E00000 à E32752
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
Zone EM avec banque
En_00000 à
En_00000 à
En_32767
En_32752
(n = 0 à C)
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
DR0 à DR15
---
---
En_00000 à
En_32767
(n = 0 à C)
#0000 à #000F
(binaire) ou &0 à
&15
DR0 à DR15
,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
497
Chapitre 3-12
Instructions de conversion
Description
COLM(064) copie les 16 bits de S dans les 16 bits ayant le numéro de bit N
dans la plage de 16 mots D à D+15. Le bit m de S est copié dans le bit N de
D+m, c'est-à-dire que le bit 00 de S est copié dans le bit N de D et le bit 15 de
S est copié dans le bit N de D+15.
Bit
15
S
0
Bit
00
.
.
.
.
.
.
0 1 1 1
Bi
Bit
15
D
D+1
D+2
D+3
.
.
.
D+15
.
Bit
00
0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1
1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1
0 0 0 1 1 0 1 1 0 0 1 0 0 1 1 1
1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1
.
.
.
.
.
.
.
.
.
0 1 1 1 0 0 0 1 1 0 0 0 1 0 1 0
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Exemple
Etiquette
Fonctionnement
ER
ON si N n'est pas dans la plage spécifiée de 0000 à 000F.
OFF dans tous les autres cas.
=
ON si le bit N est 0 dans les 16 mots D à D+15 après
l'exécution.
OFF dans tous les autres cas.
Si CIO 000000 est ON dans l'exemple suivant, COLM(064) copie les 16 bits
dans D00200 (bits 00 à 15) vers le bit 5 dans D00100 à D00115.
S :D00200
D:
à
498
à
Chapitre 3-12
Instructions de conversion
3-12-14 SIGNED BCD-TO-BINARY : BINS(470)
Objet
Symbole du schéma
contact
Convertit un mot de données BCD signées en un mot de données binaires
signées.
BINS(470)
C
C: Mot de contrôle
S
S: Mot source
D
D: Mot de destination
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
BINS(470)
@BINS(470)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
C : Mot de contrôle
Spécifie le format BCD signé. C doit être compris entre 0000 et 0003.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
C
S
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #0003
--(binaire)
DR0 à DR15
D
A448 à A959
499
Chapitre 3-12
Instructions de conversion
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
C
S
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
D
BINS(470) convertit des données BCD signées en données binaires signées.
Le format de données BCD signées et la plage dans le mot S sont d'abord
contrôlés par rapport à la configuration du mot de contrôle (C). Si les données
sources sont correctes, les données BCD signées dans S sont converties en
données binaires signées et placées dans D. Si les données sources sont
incorrectes, le drapeau d'erreur est mis sur ON et l'instruction n'est pas exécutée.
Format BCD signé
spécifié dans C
BCD signé
Binaire signé
Si les données converties sont négatives, le résultat se présente sous forme
de complément à 2 et le drapeau négatif est mis sur ON. NEG(160) peut être
utilisée pour déterminer la valeur absolue d'un nombre binaire signé négatif.
Consultez la section 3-12-52’S COMPLEMENT : NEG(160) pour plus d'informations.
Une valeur de –0 dans les données sources est traitée comme 0 et n'entraîne
aucune erreur. De même, l'état des bits 13 à 15 de S n'est pas contrôlé si
C=0000.
Remarque
Certaines cartes E/S spéciales sortent des données BCD signées. Les calculs utilisant ces données sont en général plus faciles si celles-ci sont d'abord
converties en données binaires signées au moyen de BINS(470).
Le mot de contrôle spécifie le format BCD signé comme illustré ci-dessous.
C = 0000 (plage de données d'entrée : –999 à 999 BCD)
3 chiffres BCD, 12 bits
Bit de signe (0 : positif ; 1 : négatif)
Etat de 3 bits : 0
C = 0001 (plage de données d'entrée : -7999 à 7999 BCD)
3 chiffres BCD, 12 bits
3 bits de chiffre 4 (0 à 7)
Bit de signe (0 : positif ; 1 : négatif)
C = 0002 (plage de données d'entrée : -999 à 9999 BCD)
3 chiffres BCD, 12 bits
0 à 9 : Quatrième chiffre BCD
F : Négatif (−)
A à E : Erreur
500
Chapitre 3-12
Instructions de conversion
C = 0003 (plage de données d'entrée : -1999 à 9999 BCD)
3 chiffres BCD, 12 bits
0 à 9 : Quatrième chiffre BCD
A : Négatif (−1)
F : Négatif (−)
B à E : Erreur
Le tableau ci-dessous indique les valeurs BCD possibles pour chaque format
BCD signé et les valeurs binaires signées correspondantes.
Paramètre
C=0000
C=0001
C=0002
C=0003
Valeurs BCD signées
–999 à –1 et 0 à 999
–7999 à –1 et 0 à 7999
–999 à –1 et 0 à 9999
–1999 à –1 et 0 à 9999
Valeurs binaires signées
FC19 à FFFF et 0000 à 03E7
E0C1 à FFFF et 0000 à 1F3F
FC19 à FFFF et 0000 à 270F
F831 à FFFF et 0000 à 270F
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau
négatif
Exemples
Etiquette
Fonctionnement
ER
ON si C n'est pas dans la plage spécifiée de 0000 à 0003.
ON si C=0002 et le chiffre le plus à gauche de S est A à E.
ON si C=0003 et le chiffre le plus à gauche de S est B à E.
ON si le contenu de S n'est pas de type BCD.
OFF dans tous les autres cas.
=
ON si D est 0000 après l'exécution.
OFF dans tous les autres cas.
N
ON si le bit 15 de D est sur ON après l'exécution.
OFF dans tous les autres cas.
Format BCD 0 (C=#0000)
Si CIO 000000 est ON dans l'exemple suivant, le format de données BCD
signées et la plage dans D00100 sont contrôlés par rapport au format spécifié
dans le mot de contrôle (0000). Si les données sources sont correctes, les
données BCD signées dans D00100 sont converties en données binaires
signées et le résultat est placé dans D00200.
S: D00100
1123
Données BCD signées (–123)
D :D00200
FF85
Données binaires signées
Format BCD 0 (C=#0003)
Si CIO 000001 est ON dans l'exemple suivant, le format de données BCD
signées et la plage dans D00100 sont contrôlés par rapport au format spécifié
dans le mot de contrôle (0003). Si les données sources sont correctes, les
données BCD signées dans D00300 sont converties en données binaires
signées et le résultat est placé dans D00400.
S: D00300
A369
Données BCD
signées (–1 369)
D :D00400
FAA7
Données binaires
signées
501
Chapitre 3-12
Instructions de conversion
3-12-15 DOUBLE SIGNED BCD-TO-BINARY : BISL(472)
Objet
Symbole du schéma
contact
Convertit des données BCD doubles signées en données binaires doubles
signées.
BISL(472)
C
C: Mot de contrôle
S
S: Premier mot source
D
D: Premier mot de destination
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
BISL(472)
@BISL(472)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
C : Mot de contrôle
Spécifie le format BCD signé. C doit être compris entre 0000 et 0003.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
502
C
CIO 0000 à
CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à
En_32767
(n = 0 à C)
S
CIO 0000 à CIO 6142
D
W000 à W510
H000 à H510
A000 à A958
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #0003
--(binaire)
DR0 à DR15
---
Chapitre 3-12
Instructions de conversion
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
C
S
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
D
BISL(472) convertit les données BCD doubles signées dans S+1 et S en données binaires doubles signées et écrit le résultat dans D+1 et D. Le format de
données BCD signées et la plage dans les mots S+1 et S sont d'abord contrôlés par rapport à la configuration du mot de contrôle (C). Si les données sources sont correctes, les données BCD signées S+1 et S sont converties en
données binaires signées et placées dans D+1 et D. Si les données sources
sont incorrectes, le drapeau d'erreur est mis sur ON et l'instruction n'est pas
exécutée.
Format BCD signé
spécifié dans C
BCD signé
BCD signé
Binaire signé
Binaire signé
Si les données converties sont négatives, le résultat se présente sous forme
de complément à 2 et le drapeau négatif est mis sur ON. NEGL(161) peut
être utilisée pour déterminer la valeur absolue d'un nombre binaire double
signé négatif. Consultez la section 3-12-6 DOUBLE 2’S COMPLEMENT :
NEGL(161) pour plus d'informations.
Les valeurs de –0 dans les données sources sont traitées comme 0 et
n'entraînent aucune erreur. De même, l'état des bits 13 à 15 de S+1 n'est pas
contrôlé si C=0000.
Remarque
Certaines cartes E/S spéciales sortent des données BCD signées. Les calculs utilisant ces données sont en général plus faciles si celles-ci sont d'abord
converties en données binaires signées au moyen de BISL(472).
Le mot de contrôle spécifie le format BCD signé comme illustré ci-dessous.
C = 0000 (plage de données d'entrée : –999 9999 à 999 9999 BCD)
S+1
S
7 chiffres BCD, 28 bits
Bit de signe (0 : positif ; 1 : négatif)
Etat de 3 bits : 0
C = 0001 (plage de données d'entrée : -7999 9999 à 7999 9999 BCD)
S+1
S
7 chiffres BCD, 28 bits
3 bits de chiffre 8 (0 à 7)
Bit de signe (0 : positif ; 1 : négatif)
503
Chapitre 3-12
Instructions de conversion
C = 0002 (plage de données d'entrée : –999 9999 à 9999 9999 BCD)
S+1
S
7 chiffres BCD, 28 bits
0 à 9 : Huitième chiffre BCD
F : Négatif (–)
A à E : Erreur
C = 0003 (plage de données d'entrée : –1999 9999 à 9999 9999 BCD)
S+1
S
7 chiffres BCD, 28 bits
0 à 9 : Huitième chiffre BCD
A : Négatif (–1)
F : Négatif (–)
B à E : Erreur
Le tableau ci-dessous indique les valeurs BCD possibles pour chaque format
BCD signé et les valeurs binaires signées correspondantes.
Paramètre
Valeurs BCD signées
C=0000
–999 9999 à –1
0 à 999 9999
C=0001
-7999 9999 à –1
0 à 7999 9999
C=0002
-999 9999 à –1
0 à 9999 9999
C=0003
-1999 9999 à –1
0 à 9999 9999
Valeurs binaires signées
FF67 6981 à FFFF FFFF
0000 0000 à 0098 967F
FB3B 4C01 à FFFF FFFF
0000 0000 à 04C4 B3FF
FF67 6981 à FFFF FFFF
0000 0000 à 05F5 E0FF
FECE D301 à FFFF FFFF
0000 0000 à 05F5 E0FF
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau
négatif
Exemple
Etiquette
Fonctionnement
ER
ON si C n'est pas dans la plage spécifiée de 0000 à 0003.
ON si C=0002 et le chiffre le plus à gauche de S+1 est A à E.
ON si C=0003 et le chiffre le plus à gauche de S+1 est B à E.
ON si le contenu de S+1 et S n'est pas de type BCD.
OFF dans tous les autres cas.
=
ON si D+1 est 0000 0000 après l'exécution.
OFF dans tous les autres cas.
N
ON si le bit 15 de D+1 est ON après l'exécution.
OFF dans tous les autres cas.
Si CIO 000000 est ON dans l'exemple suivant, le format de données BCD
doubles signées et la plage dans D00101 et D00100 sont contrôlés par rapport au format spécifié dans le mot de contrôle (0002). Si les données sources sont correctes, les données BCD doubles signées dans D00101 et
D00100 sont converties en données binaires doubles signées et le résultat
est placé dans D00201 et D00200.
S+1 :D00101
F345
D+1 :D00201
FFCB
504
S :D00100
6789
Données BCD doubles
signées (–3 456 789)
D :D00200
40EB
Données binaires
doubles signées
Chapitre 3-12
Instructions de conversion
3-12-16 SIGNED BINARY-TO-BCD : BCDS(471)
Objet
Symbole du schéma
contact
Convertit un mot de données binaires signées en un mot de données BCD
signées.
BCDS(471)
C
C: Mot de contrôle
S
S: Mot source
D
D: Mot de destination
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérande
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
BCDS(471)
@BCDS(471)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
C : Mot de contrôle
Spécifie le format BCD signé. C doit être compris entre 0000 et 0003.
S : Mot source
Contient les données binaires signées à convertir. Le contenu de S doit être
compris dans la plage valide du format BCD spécifié dans C.
Paramètre
C=0000
C=0001
C=0002
C=0003
Valeurs autorisées pour S
FC19 à FFFF et 0000 à 03E7
E0C1 à FFFF et 0000 à 1F3F
FC19 à FFFF ou 0000 à 270F
F831 à FFFF ou 0000 à 270F
D : Mot de destination
Contient des données BCD signées converties. Consultez la section Description ci-dessous pour une explication des formats BCD.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
C
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
S
D
A448 à A959
505
Chapitre 3-12
Instructions de conversion
Zone
Adresses DM/EM indirectes en binaire
Adresses DM/EM indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
C
S
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #0003
--(binaire)
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à 1–2048 à +2047 ,IR5
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
D
BCDS(471) convertit des données binaires signées en données BCD
signées. Les données binaires signées du mot S sont d'abord vérifiées pour
s'assurer qu'elles sont dans la plage valide pour le format BCD signé spécifié
dans le mot de contrôle (C). Si les données sources sont correctes, les données binaires signées dans S sont converties en données BCD signées et
placées dans D. Si les données sources sont incorrectes, le drapeau d'erreur
est mis sur ON et l'instruction n'est pas exécutée.
Format BCD signé
spécifié dans C
Binaire signé
Remarque
BCD signé
1. Les valeurs de –0 dans les données sources sont traitées comme 0 et
n'entraînent aucune erreur.
2. Certaines cartes E/S spéciales nécessitent des entrées de données BCD
signées. BCDS(471) peut être utilisée pour convertir des données binaires
signées à envoyer vers ces cartes.
Le mot de contrôle spécifie le format BCD signé à utiliser pour le résultat,
comme indiqué ci-dessous.
C = 0000 (plage de données de sortie : -999 à 999 BCD)
3 chiffres BCD, 12 bits
Bit de signe (0 : positif ; 1 : négatif)
Etat de 3 bits : 0
C = 0001 (plage de données de sortie : -7999 à 7999 BCD)
3 chiffres BCD, 12 bits
3 bits de chiffre 4 (0 à 7)
Bit de signe (0 : positif ; 1 : négatif)
506
Chapitre 3-12
Instructions de conversion
C = 0002 (plage de données de sortie : -999 à 9999 BCD)
3 chiffres BCD, 12 bits
0 à 9 : Quatrième chiffre BCD
F : Négatif (–)
C = 0003 (plage de données de sortie : -1999 à 9999 BCD)
3 chiffres BCD, 12 bits
0 à 9 : Quatrième chiffre BCD
A : Négatif (–1)
F : Négatif (–)
Le tableau ci-dessous indique les valeurs binaires signées possibles pour
chaque format BCD signé. Une erreur se produit si les données sources ne
sont pas dans la plage autorisée pour le format BCD signé spécifié.
Paramètre
C=0000
C=0001
C=0002
C=0003
Valeurs binaires signées
FC19 à FFFF et 0000 à 03E7
E0C1 à FFFF et 0000 à 1F3F
FC19 à FFFF et 0000 à 270F
F831 à FFFF et 0000 à 270F
Valeurs BCD signées
–999 à –1 et 0 à 999
–7999 à –1 et 0 à 7999
–999 à –1 et 0 à 9999
–1999 à –1 et 0 à 9999
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau
négatif
Etiquette
Fonctionnement
ER
ON si C n'est pas dans la plage spécifiée de 0000 à 0003.
ON si C=0000 et les données sources ne sont pas dans les
plages autorisées (FC19 à FFFF ou 0000 à 03E7).
ON si C=0001 et les données sources ne sont pas dans les
plages autorisées (E0C1 à FFFF ou 0000 à 1F3F).
ON si C=0002 et les données sources ne sont pas dans les
plages autorisées (FC19 à FFFF ou 0000 à 270F).
ON si C=0003 et les données sources ne sont pas dans les
plages autorisées (F831 à FFFF ou 0000 à 270F).
OFF dans tous les autres cas.
=
ON si D est 0000 après l'exécution.
OFF dans tous les autres cas.
N
ON si C=0000 ou 0001 et le bit de signe du résultat est sur
ON après l'exécution.
ON si C=0002 et le chiffre le plus à gauche du résultat est F.
ON si C=0003 et le chiffre le plus à gauche du résultat est A
ou F.
OFF dans tous les autres cas.
3-12-17 DOUBLE SIGNED BINARY-TO-BCD : BDSL(473)
Objet
Symbole du schéma
contact
Convertit des données binaires doubles signées en données BCD doubles
signées.
BDSL(473)
C
C: Mot de contrôle
S
S: Premier mot source
D
D: Premier mot de destination
507
Chapitre 3-12
Instructions de conversion
Variations
Variations
Exécutée à chaque cycle pour la condition
ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Opérandes
BDSL(473)
@BDSL(473)
Non prise en charge
Non prise en charge
C : Mot de contrôle
Spécifie le format BCD signé. C doit être compris entre 0000 et 0003.
S : Premier mot source
Les mots sources S+1 et S contiennent les données binaires doubles signées
à convertir. Leur contenu doit être compris dans la plage valide du format
BCD spécifié dans C.
Paramètre
C=0000
C=0001
C=0002
C=0003
Valeurs autorisées pour S+1 et S
FF67 6981 à FFFF FFFF ou 0000 0000 à 0098 967F
FB3B 4C01 à FFFF FFFF ou 0000 0000 à 04C4 B3FF
FF67 6981 à FFFF FFFF ou 0000 0000 à 05F5 E0FF
FECE D301 à FFFF FFFF ou 0000 0000 à 05F5 E0FF
D : Premier mot de destination
Les mots de destination D+1 et D contiennent les données BCD doubles
signées converties. Consultez la section Description ci-dessous pour une
explication des formats BCD.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
508
C
S
D
CIO 0000 à
CIO 0000 à CIO 6142
CIO 6143
W000 à W511
W000 à W510
H000 à H511
H000 à H510
A000 à A959
A000 à A958
A448 à A958
T0000 à T4095
T0000 à T4094
C0000 à C4095
C0000 à C4094
D00000 à D32767 D00000 à D32766
E00000 à E32767 E00000 à E32766
En_00000 à
En_00000 à En_32766
En_32767
(n = 0 à C)
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #0003
--(binaire)
DR0 à DR15
---
Chapitre 3-12
Instructions de conversion
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
C
S
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
D
BDSL(473) convertit des données binaires doubles signées en données BCD
doubles signées. Les données binaires doubles signées dans S+1 et S sont
vérifiées pour s'assurer qu'elles sont dans la plage valide pour le format BCD
signé spécifié dans le mot de contrôle (C). Si les données sources sont correctes, les données binaires doubles signées S+1 et S sont converties en
données BCD doubles signées et placées dans D+1 et D. Si les données
sources sont incorrectes, le drapeau d'erreur est mis sur ON et l'instruction
n'est pas exécutée.
Format BCD signé
spécifié dans C
Binaire signé
BCD signé
BCD signé
Binaire signé
Remarque
1. Les valeurs de –0 dans les données sources sont traitées comme 0 et
n'entraînent aucune erreur.
2. Certaines cartes E/S spéciales nécessitent des entrées de données BCD
signées. BDSL(473) peut être utilisée pour convertir des données binaires
doubles signées à envoyer vers ces cartes.
Le mot de contrôle spécifie le format BCD signé à utiliser pour le résultat,
comme indiqué ci-dessous.
C = 0000 (plage de données de sortie : -999 9999 à 999 9999 BCD)
S+1
S
7 chiffres BCD, 28 bits
Bit de signe (0 : positif ; 1 : négatif)
Etat de 3 bits : 0
C = 0001 (plage de données de sortie : –7999 9999 à 7999 9999 BCD)
S+1
S
7 chiffres BCD, 28 bits
3 bits de chiffre 8 (0 à 7)
Bit de signe (0 : positif ; 1 : négatif)
C = 0002 (plage de données de sortie : –9999 9999 à 9999 9999 BCD)
S+1
S
7 chiffres BCD, 28 bits
0 à 9 : Huitième chiffre
BCD F : Négatif (–)
509
Chapitre 3-12
Instructions de conversion
C = 0003 (plage de données de sortie : –1999 9999 à 9999 9999 BCD)
S+1
S
7 chiffres BCD, 28 bits
0 à 9 : Huitième chiffre BCD
A : Négatif (–1)
F : Négatif (–)
Le tableau ci-dessous indique les valeurs binaires doubles signées possibles
pour chaque format BCD signé. Une erreur se produit si les données sources
ne sont pas dans la plage autorisée pour le format BCD signé spécifié.
Paramètre
Valeurs binaires signées
C=0000
FF67 6981 à FFFF FFFF
0000 0000 à 0098 967F
C=0001
FB3B 4C01 à FFFF FFFF
0000 0000 à 04C4 B3FF
C=0002
FF67 6981 à FFFF FFFF
0000 0000 à 05F5 E0FF
C=0003
FECE D301 à FFFF FFFF
0000 0000 à 05F5 E0FF
Valeurs BCD signées
–999 9999 à –1
0 à 999 9999
–7999 9999 à –1
0 à 7999 9999
–999 9999 à –1
0 à 9999 9999
–1999 9999 à –1
0 à 9999 9999
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau
négatif
Exemple
Etiquette
Fonctionnement
ER
ON si C n'est pas dans la plage spécifiée de 0000 à 0003.
ON si C=0000 et les données sources ne sont pas dans la
plage :
FF67 6981 à FFFF FFFF ou 0000 0000 à 0098 967F.
ON si C=0001 et les données sources ne sont pas dans la
plage :
FB3B 4C01 à FFFF FFFF ou 0000 0000 à 04C4 B3FF.
ON si C=0002 et les données sources ne sont pas dans la
plage :
FF67 6981 à FFFF FFFF ou 0000 0000 à 05F5 E0FF.
ON si C=0003 et les données sources ne sont pas dans la
plage :
FECE D301 à FFFF FFFF ou 0000 0000 à 05F5 E0FF.
OFF dans tous les autres cas.
=
ON si D est 0000 après l'exécution.
OFF dans tous les autres cas.
N
ON si C=0000 ou 0001 et le bit de signe du résultat est sur ON
après l'exécution.
ON si C=0002 et le chiffre le plus à gauche du résultat est F.
ON si C=0003 et le chiffre le plus à gauche du résultat est A
ou F.
OFF dans tous les autres cas.
Si CIO 000000 est ON dans l'exemple suivant, les données binaires doubles
signées dans D00101 et D00100 sont contrôlées par rapport au format spécifié dans le mot de contrôle (0003). Si les données sources sont correctes, les
données binaires doubles signées dans D00101 et D00100 sont converties
en données BCD doubles signées et le résultat est placé dans D00201 et
D00200.
S+1 :D00101
FF8B
D+1 :D00201
F765
510
S :D00100
344F
Données binaires
doubles signées
D :D00200
4321
Données BCD doubles
signées (–7 654 321)
Chapitre 3-12
Instructions de conversion
3-12-18 GRAY CODE CONVERT : GRY(474)
Objet
Convertit le code binaire Gray d'un mot spécifié en données binaires standard, données BCD ou un angle à la résolution spécifiée.
Cette instruction est uniquement prise en charge par les UC série CS/CJ ver.
2.0 ou supérieure (y compris les UC CS1-H, CJ1-H et CJ1M à partir du
numéro de lot 030201 ou ultérieur).
Symbole du schéma
contact
GRY(474)
C
C: Premier mot
de contrôle
S
S: Mot source
D
D: Premier mot
de destination
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Opérandes
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
GRY(474)
@GRY(474)
Non prise en charge
Non prise en charge
SousTâches
programmes
d'interruption
OK
OK
C : Mot de contrôle
Spécifie les paramètres de conversion comme indiqué ci-dessous.
15
C
12 11
87
Ne pas
utiliser (0).
43
0
Résolution
0 ou 1 à F hex (1 à 15 décimal) bits
0 hex = Défini par l'utilisateur en bits 12 à 15 de C+2.
Mode de conversion
0 hex = mode binaire, 1 hex = mode BCD, 2 hex = mode 360°
Mode de fonctionnement
0 hex = conversion code binaire Gray
C+1
Compensation point zéro (0000 à 7FFF Hex (données binaires))
Remarque : La compensation du point zéro qui dépasse la résolution définie dans le mot C
de contrôle ne peut être spécifiée.
15
12 11
0
C+2
Compensation reste codeur (données binaires)
Remarque : La plage pouvant être réglée dépend de la résolution définie par l'utilisateur.
Résolution définie par l'utilisateur
0 hex = 256, 1 hex = 360, 2 hex = 720, 3 hex = 1,024, 4 to F hex = Ne pas utiliser.
Remarque : La configuration ci-dessus est valide si la résolution est réglée sur 0 hex dans les bits 00 à 03 de C.
511
Chapitre 3-12
Instructions de conversion
S : Mot source
Contient le code binaire Gray à convertir. La plage doit être comprise entre le
nombre de bits déterminé par la résolution spécifiée dans les bits 00 à 03 de
C. Tous les bits en dehors du nombre de bits pour la résolution spécifiée sont
ignorés. Par exemple, si la résolution spécifiée est 08 hex et que S contient
FFFF hex, le code binaire Gray sera considéré comme 00FF hex.
S
D : Premier mot de destination
Les mots de destination D+1 et D contiennent les résultats de la conversion
du code binaire Gray à la résolution spécifiée dans les bits 00 à 03 du mot de
contrôle C et au mode de conversion spécifié dans les bits 04 à 07 du mot de
contrôle C. Le mot le plus à gauche est placé dans D+1 et le mot le plus à
droite dans D. Les plages des données de sortie sont les suivantes :
Mode binaire : 0000 0000 à 0000 7FFF hex
Mode BCD :
0000 0000 à 0003 2767
360° Mode :
0000 0000 à 0000 3599
(0.0° à 359,9° par pas de 0,1°, BCD)
D
D+1
Spécifications de
l’opérande
Mot le plus à droite
Mot le plus à gauche
Zone
Zone CIO
C
CIO 0000 à
CIO 6142
W000 à W510
H000 à H510
A000 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
S
CIO 0000 à
CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
Zone EM sans banque
Zone EM avec banque
E00000 à E32766
En_00000 à
En_32766
(n = 0 à C)
E00000 à E32767 E00000 à E32766
Adresses DM/EM
indirectes en binaire
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--#0000 à #FFFF
(binaire)
--DR0 à DR15
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
512
En_00000 à
En_32767
(n = 0 à C)
D
CIO 0000 à
CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
En_00000 à
En_32766
(n = 0 à C)
-----
Chapitre 3-12
Instructions de conversion
Zone
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
D
GRY(474) convertit le code binaire Gray du mot spécifié dans S à la résolution définie dans C en utilisant un des modes de conversion suivants (binaire,
BCD ou 360°), également spécifié dans C, et place le résultat dans D et D+1.
Mode de
conversion
Mode binaire
Mode BCD
Mode 360
Remarque
Restrictions
C
S
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Fonction
Le code binaire Gray est converti en données binaires entre
0000 0000 et 0000 7FFF hex. Le décalage du point zéro et la
compensation du reste s'appliquent, et le résultat est placé
dans D et D+1.
Le code binaire Gray est converti en données BCD. Le décalage du point zéro et la compensation du reste s'appliquent, les
données sont converties en données BCD entre 0000 0000 et
0003 2767, et le résultat est ensuite placé dans D et D+1.
Le code binaire Gray est converti en données BCD. Le décalage du point zéro et la compensation du reste s'appliquent, les
données sont converties en un angle entre 0000 0000 et 0000
3599 (0,0° à 359,9° par pas de 0,1°), et le résultat est ensuite
placé dans D et D+1.
1. GRY(474) est en général utilisée pour l'entrée, via une carte d'entrée c.c.,
d'un signal parallèle (2n) à partir d'un codeur absolu qui sort un code binaire Gray.
2. Si le mot spécifié pour S est affecté à une carte d'entrée, les données d'entrée converties par GRY(474) s'appliqueront au code binaire Gray du cycle
de l'UC précédent, c'est-à-dire qu'elles seront décalées d'une durée d’un
cycle.
Les restrictions suivantes s'appliquent à l'instruction GRY(474).
■ Restrictions au niveau de l'UC
Remarque
GRY(474) ne peut être utilisée que pour les modèles suivants d'UC et uniquement pour les UC fabriquées après le 1er février 2003 (numéro de lot 030201
ou ultérieur, y compris les UC ver. 2.0 ou supérieure).
• CJ1M-CPU@@
• CJ1G-CPU@@H
• CJ1H-CPU@@H
• CS1G-CPU@@H
• CS1H-CPU@@H
• CS1D-CPU@@S
La date de fabrication peut être confirmée en se référant au numéro de lot
indiqué sur le côté ou la partie inférieure de l'UC. Les numéros de lot mentionnent la date de fabrication comme suit :
AAMMJJ nnnn
AA = les deux chiffres les plus à droite de l'année, MM = le mois comme
valeur numérique, JJ = le jour du mois, nnnn = numéro de série
Si GRY(474) est transférée à une UC qui ne prend pas en charge cette instruction et que le programme est lu à partir d'une console de programmation,
“?” s'affiche pour GRY(474) pour indiquer que l'instruction est illégale. Si
GRY(474) est exécutée avec une condition d'exécution ON dans une UC qui
ne la prend pas en charge, une erreur se produit et l'exécution du programme
s'arrête.
513
Chapitre 3-12
Instructions de conversion
■ Restrictions au niveau du CX-Programmer
GRY(474) ne peut être utilisée qu'avec CX-Programmer version 3.2 ou supérieure.
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Drapeau
négatif
Exemples
Etiquette
Fonctionnement
ER
ON si les bits 12 à 15 de C ne sont pas 0 hex (mode de fonctionnement = conversion code binaire Gray).
ON si le décalage du point zéro dans C+1 n'est pas dans la
résolution spécifiée (y compris les résolutions définies par
l'utilisateur).
ON si les bits 04 à 07 de C ne sont pas 0 hex (= mode
binaire), 1 hex (= mode BCD) ou 2 hex (= mode 360°).
ON si la compensation du reste codeur spécifiée dépasse la
résolution définie par l'utilisateur lorsque les bits 00 à 03 de
C sont 0 hex (= résoloution définie par l'utilisateur).
ON si la valeur binaire convertie est inférieure à la compensation du reste codeur lorsque les bits 00 à 03 de C sont 0
hex (= résolution définie par l'utilisateur).
ON si la valeur binaire convertie est inférieure à la résolution
lorsque les bits 00 à 03 de C sont 0 hex (= résolution définie
par l'utilisateur).
OFF dans tous les autres cas.
=
OFF dans tous les cas.
N
OFF dans tous les cas.
Si CIO 000000 est ON dans l'exemple suivant, le code binaire Gray dans CIO
0010 est converti conformément aux paramètres des données de contrôle
dans D00000 à D00002, et le résultat est placé dans D00200 et D00201.
000000
GRY
514
C
D00000
S
0010
D
D00200
Chapitre 3-12
Instructions de conversion
■
15
C : D00000
Exemple 1 : Conversion de données binaires avec une résolution 8 bits et
un décalage du point zéro de 001A Hex
12 11
0
87
0
43
0
0
8
Résolution : 8 bits
Mode de conversion : Mode binaire
Mode de fonctionnement : Conversion code binaire Gray
C+1 : D00001
001A
Décalage du point zéro : 001A hex
C+2 : D00002
0
000
Résolution définie par l'utilisateur : Non utilisé.
S : 0010
0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 Code binaire Gray
Conversion et décalage.
D : D00200
0017
D+1 : D00201
0000
■
Résultat de la conversion binaire
et décalage enregistrés.
Exemple 2 : Conversion de données d'angle avec une résolution 10 bits et
un décalage du point zéro de 0151 Hex
15
C : D00000
12 11
0
87
0
43
0
2
A
Résolution : 10 bits
Mode de conversion : 360° Mode 360
Mode de fonctionnement : Conversion code binaire Gray
C+1 : D00001
0151
Décalage du point zéro : 0151 hex
C+2 : D00002
0
000
Résolution définie par l'utilisateur : Non utilisé.
S : 0010 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 Code binaire Gray
Conversion et décalage.
D : D00200
3488
D+1 : D00201
0000
Données d'angle
enregistrées.
515
Chapitre 3-12
Instructions de conversion
■
15
C : D00000
Exemple 3 : Conversion de données BCD avec un codeur absolu OMRON
E6C2-AG5C (Résolution : 360/tour, compensation du reste : 76) et
décalage du point zéro de 0000 Hex
12 11
0
87
43
0
1
0
0
Résolution : Spécifiée par l'utilisateur
Mode de conversion : Mode BCD
Mode de fonctionnement : Conversion code binaire Gray
C+1 : D00001
0000
Décalage du point zéro : 0000 hex
C+2 : D00002
1
04C
Résolution définie par l'utilisateur : 360, compensation reste codeur : 04C hex (76 décimal)
S : 0010 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 Code binaire Gray
Conversion et décalage.
D : D00200
0100
D+1 : D00201
0000
■
15
C : D00000
Exemple 4 : Conversion de données BCD avec un codeur absolu OMRON
E6C2-AG5C (Résolution : 360/tour, compensation du reste : 76) et
décalage du point zéro de 000A Hex
12 11
0
Résultat de la conversion BCD
et décalage enregistrés.
87
43
0
1
0
0
Résolution : Spécifiée par l'utilisateur
Mode de conversion : Mode BCD
Mode de fonctionnement : Conversion code binaire Gray
C+1 : D00001
000A
Décalage du point zéro : 000A hex
C+2 : D00002
1
04C
Résolution définie par l'utilisateur : 360, compensation reste codeur : 04C hex (76 décimal)
S : 0010 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1
Code binaire Gray
Conversion et décalage.
516
D : D00200
0100
D+1 : D00201
0000
Résultat de la conversion BCD
et décalage enregistrés.
Chapitre 3-13
Instructions logiques
3-13 Instructions logiques
Cette section décrit les instructions qui effectuent des opérations logiques sur
des données de mots.
Instruction
LOGICAL AND
DOUBLE LOGICAL AND
LOGICAL OR
DOUBLE LOGICAL OR
EXCLUSIVE OR
DOUBLE EXCLUSIVE OR
EXCLUSIVE NOR
DOUBLE EXCLUSIVE NOR
COMPLEMENT
DOUBLE COMPLEMENT
Mnémonique
ANDW
ANDL
ORW
ORWL
XORW
XORL
XNRW
XNRL
COM
COML
Code fonction
034
610
035
611
036
612
037
613
029
614
Page
517
519
520
522
524
526
528
529
531
533
3-13-1 LOGICAL AND : ANDW(034)
Objet
Symbole du schéma
contact
Effectue le AND logique des bits correspondants dans des mots uniques de
données de mots et/ou des constantes.
ANDW(034)
I1
I1: Entrée 1
I2
I2: Entrée 2
R
R: Mot de résultat
Variations
Variations
Zones de programmes
applicables
Spécifications de
l’opérande
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
ANDW(034)
@ANDW(034)
Zones de
Zones de
programmes de bloc programmes de pas
OK
OK
Tâches
d'interruption
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
I1
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
Sousprogrammes
OK
I2
Non prise en
charge.
Non prise en
charge.
R
A448 à A959
517
Chapitre 3-13
Instructions logiques
Zone
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
I2
I1
R
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
ANDW(034) effectue le AND logique des données spécifiées dans I1 et I2 et
place le résultat dans R.
• Le AND logique porte sur les bits correspondants dans I1 et I2 successivement.
• Si le contenu des bits correspondants dans I1 et I2 est 1 ou si l'un des deux est
0, un 0 est placé comme résultat pour le bit correspondant dans R.
I1, I2 → R
I1
I2
R
1
1
0
0
1
0
1
0
1
0
0
0
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
Drapeaux
=
Drapeau négatif N
Précautions
Fonctionnement
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche de R est 1.
OFF dans tous les autres cas.
Lorsque ANDW(034) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de AND, le contenu de R est 0000 hex, le drapeau d'égalité se
met sur ON.
Si, à la suite de AND, le bit le plus à gauche de R est 1, le drapeau négatif se
met sur ON.
518
Chapitre 3-13
Instructions logiques
3-13-2 DOUBLE LOGICAL AND : ANDL(610)
Objet
Symbole du schéma
contact
Effectue le AND logique des bits correspondants dans des mots doubles de
données de mots et/ou des constantes.
ANDL(610)
I1
I1: Entrée 1
I2
I2: Entrée 2
R
R: Mot de résultat
Variations
Variations
Zones de programmes
applicables
Spécifications de
l’opérande
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
ANDL(610)
@ANDL(610)
Zones de
programmes de bloc
OK
Tâches
d'interruption
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Zones de
programmes de pas
OK
I1
Sousprogrammes
OK
I2
Non prise en
charge.
Non prise en
charge.
R
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #FFFFFFFF
--(binaire)
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
519
Chapitre 3-13
Instructions logiques
Description
ANDL(610) effectue le AND logique des données spécifiées dans I1, I1+1 et
I2, I2+1 et place le résultat dans R, R+1.
(I1, I1+1), (I2, I2+1) → (R, R+1)
I1, I1+1
I2, I2+1
1
1
0
0
1
0
1
0
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
OFF
R, R+1
1
0
0
0
Drapeaux
=
Drapeau négatif N
Précautions
Fonctionnement
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche de R est 1.
OFF dans tous les autres cas.
Lorsque ANDL(610) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de AND, le contenu de R, R+1 est 00000000 hex, le drapeau
d'égalité se met sur ON.
Si, à la suite de AND, le bit le plus à gauche de R+1 est 1, le drapeau négatif
se met sur ON.
Exemples
Lorsque la condition d'exécution CIO 00000000 est ON, le AND logique est
effectué sur les bits correspondants dans CIO 0011, CIO 0010 et CIO 0021,
CIO 0020 et les résultats sont placés dans les bits correspondants de D00201
et D00200.
S1:
0010 CH
S1+1: 0011 CH
0020 CH
S 2:
S2+1: 0021 CH
D:
D00200
D+1 : D00201
Remarque : La flèche verticale indique le AND logique.
3-13-3 LOGICAL OR : ORW(035)
Objet
Symbole du schéma
contact
520
Effectue le OR logique des bits correspondants dans des mots uniques de
données de mots et/ou des constantes.
ORW(035)
I1
I1: Entrée 1
I2
I2: Entrée 2
R
R: Mot de résultat
Chapitre 3-13
Instructions logiques
Variations
Variations
Zones de programmes
applicables
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
ORW(035)
@ORW(035)
Zones de
programmes de bloc
OK
Tâches
d'interruption
OK
Spécifications de
l’opérande
Zone
I1
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
Sousprogrammes
OK
I2
Non prise en
charge.
Non prise en
charge.
R
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
ORW(035) effectue le OR logique des données spécifiées dans I1 et I2 et
place le résultat dans R.
• Le OR logique porte sur les bits correspondants dans I1 et I2 successivement.
• Si le contenu d'un des bits correspondants dans I1 et I2 est 1 ou si les deux sont
0, un 0 est placé comme résultat pour le bit correspondant dans R.
I1 + I2 → R
I1
1
1
I2
1
0
R
1
1
521
Chapitre 3-13
Instructions logiques
I2
I1
0
0
R
1
0
1
0
Drapeaux
Nom
Etiquette
Fonctionnement
Drapeau d'erreur ER
OFF
Drapeau
=
ON lorsque le résultat est 0.
d'égalité
OFF dans tous les autres cas.
Drapeau négatif N
ON lorsque le bit le plus à gauche de R est 1.
OFF dans tous les autres cas.
Précautions
Lorsque ORW(035) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de OR, le contenu de R est 0000 hex, le drapeau d'égalité se met
sur ON.
Si, à la suite de OR, le bit le plus à gauche de R est 1, le drapeau négatif se
met sur ON.
3-13-4 DOUBLE LOGICAL OR : ORWL(611)
Objet
Symbole du schéma
contact
Effectue le OR logique des bits correspondants dans des mots doubles de
données de mots et/ou des constantes.
ORWL(611)
I1
I1: Entrée 1
I2
I2: Entrée 2
R
R: Mot de
résultat
Variations
Variations
Zones de programmes
applicables
Spécifications de
l’opérande
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
ORWL(611)
@ORWL(611)
Zones de
programmes de bloc
OK
Tâches
d'interruption
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
522
Zones de
programmes de pas
OK
I1
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
Sousprogrammes
OK
I2
Non prise en
charge.
Non prise en
charge.
R
A448 à A958
Chapitre 3-13
Instructions logiques
Zone
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
I2
I1
R
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #FFFFFFFF
--(binaire)
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
ORWL(611) effectue le OR logique des données spécifiées dans I1 et I2
comme données de mots doubles et place le résultat dans R, R+1.
• Lorsque l'un des bits correspondants dans I1, I1+1, I2, et I2 +1 est 1, un 1 est
placé pour le bit correspondant dans R+1. Lorsque l'un d'eux est 0, un 0 est
placé pour le bit correspondant dans R+1.
(I1, I1+1) + (I2, I2+1) → (R, R+1)
I1, I1+1
1
1
0
0
I2, I2+1
1
0
1
0
R, R+1
1
1
1
0
Drapeaux
Nom
Etiquette
Fonctionnement
Drapeau d'erreur ER
OFF
Drapeau
=
ON lorsque le résultat est 0.
d'égalité
OFF dans tous les autres cas.
Drapeau négatif N
ON lorsque le bit le plus à gauche de R est 1.
OFF dans tous les autres cas.
Précautions
Lorsque ORWL(611) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de OR, le contenu de R, R+1 est 00000000 hex, le drapeau
d'égalité se met sur ON.
Si, à la suite de OR, le bit le plus à gauche de R+1 est 1, le drapeau négatif se
met sur ON.
523
Chapitre 3-13
Instructions logiques
Exemples
Lorsque la condition d'exécution CIO 00000000 est ON, le OR logique est
effectué sur les bits correspondants dans CIO 0021, CIO 0020 et CIO 0301,
CIO 0300 et les résultats sont placés dans les bits correspondants de D00501
et D00500.
S1:
0020 CH
S1+1: 0021 CH
S2:
0300 CH
S2+1: 0301 CH
D:
D00500
D+1 : D00501
Remarque : La flèche verticale indique le OR logique.
3-13-5 EXCLUSIVE OR : XORW(036)
Objet
Symbole du schéma
contact
Effectue le OR exclusif logique des bits correspondants dans des mots
uniques de données de mots et/ou des constantes.
XORW(036)
I1
I1: Entrée 1
I2
I2: Entrée 2
R
R: Mot de résultat
Variations
Variations
Zones de programmes
applicables
Spécifications de
l’opérande
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
XORW(036)
@XORW(036)
Zones de
programmes de bloc
OK
Tâches
d'interruption
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
524
Zones de
programmes de pas
OK
I1
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
Sousprogrammes
OK
I2
Non prise en
charge.
Non prise en
charge.
R
A448 à A959
Chapitre 3-13
Instructions logiques
Zone
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
I2
I1
R
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
XORW(036) effectue le OR exclusif logique des données spécifiées dans I1 et
I2 et place le résultat dans R.
• Le OR exclusif logique porte sur les bits correspondants dans I1 et I2 successivement.
• Si le contenu des bits correspondants de I1 et I2 diffère, un 1 est placé comme
résultat dans le bit correspondant de R. Si le contenu des bits est identique, un 0
est placé dans le bit correspondant de R.
I1, I2 + I1, I2 → R
I1
I2
1
1
0
0
1
0
1
0
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
ER
R
0
1
1
0
Drapeaux
=
Drapeau négatif N
Précautions
Fonctionnement
OFF
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche de R est 1.
OFF dans tous les autres cas.
Lorsque XORW(036) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de OR, le contenu de R est 0000 hex, le drapeau d'égalité se met
sur ON.
Si, à la suite de OR, le bit le plus à gauche de R est 1, le drapeau négatif se
met sur ON.
525
Chapitre 3-13
Instructions logiques
3-13-6 DOUBLE EXCLUSIVE OR : XORL(612)
Objet
Symbole du schéma
contact
Effectue le OR exclusif logique des bits correspondants dans des mots
doubles de données de mots et/ou des constantes.
XORL(612)
I1
I1: Entrée 1
I2
I2: Entrée 2
R
R: Mot de résultat
Variations
Variations
Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
526
Zones de
programmes de pas
OK
I1
XORL(612)
@XORL(612)
Non prise en
charge.
Non prise en charge.
Sousprogrammes
OK
I2
Tâches
d'interruption
OK
R
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #FFFFFFFF
--(binaire)
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Chapitre 3-13
Instructions logiques
Description
XORL(612) effectue le OR exclusif logique des données spécifiées dans I1 et
I2 comme données de mots doubles et place le résultat dans R, R+1.
• Lorsque le contenu d'un des bits correspondants dans I1, I1+1, I2, et I2 +1 diffère,
un 1 est placé dans le bit correspondant de R, R+1. Si le contenu des bits est
identique, un 0 est placé dans le bit correspondant de R, R+1.
(I1, I1+1), (I2, I2+1) + (I1, I1+1), (I2, I2+1)→ (R, R+1)
I1, I1+1
1
1
0
0
I2, I2+1
1
0
1
0
R, R+1
0
1
1
0
Drapeaux
Nom
Etiquette
Fonctionnement
Drapeau d'erreur ER
OFF
Drapeau d'égalité =
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
Drapeau négatif
N
ON lorsque le bit le plus à gauche de R est 1.
OFF dans tous les autres cas.
Précautions
Lorsque XORL(612) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite du OR exclusif, le contenu de R, R+1 est 00000000 hex, le
drapeau d'égalité se met sur ON.
Si, à la suite du OR exclusif, le bit le plus à gauche de R+1 est 1, le drapeau
négatif se met sur ON.
Exemples
Lorsque la condition d'exécution CIO 00000000 est ON, le OR exclusif
logique est effectué sur les bits correspondants dans CIO 0901, CIO 0900 et
D01001, D01000 et les résultats sont placés dans les bits correspondants de
D01201 et D01200.
S:
0900 CH
S1+1: 0901 CH
S:
D01000
S2+1: D01001
D:
D01200
D+1 : D01201
Remarque : Ce symbole indique un OR exclusif logique.
527
Chapitre 3-13
Instructions logiques
3-13-7 EXCLUSIVE NOR : XNRW(037)
Objet
Symbole du schéma
contact
Effectue le NOR exclusif logique des mots uniques de données de mots et/ou
des constantes correspondants.
XNRW(037)
I1
I1: Entrée 1
I2
I2: Entrée 2
R
R: Mot de
résultat
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
528
Zones de
programmes de pas
OK
I1
XNRW(037)
@XNRW(037)
Non prise en charge.
Non prise en charge.
Sousprogrammes
OK
I2
Tâches
d'interruption
OK
R
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#0000 à #FFFF
--(binaire)
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Chapitre 3-13
Instructions logiques
Description
XNRW(037) effectue le NOR exclusif logique des données spécifiées dans I1
et I2 et place le résultat dans R.
• Le NOR exclusif logique porte sur les bits correspondants dans I1 et I2 successivement.
• Si le contenu des bits correspondants de I1 et I2 diffère, un 0 est placé comme
résultat dans le bit correspondant de R. Si les bits sont identiques, un 1 est
placé dans le bit correspondant de R.
I1, I2 + I1, I2 → R
I1
I2
1
1
0
0
1
0
1
0
R
1
0
0
1
Drapeaux
Nom
Etiquette
Fonctionnement
Drapeau d'erreur ER
OFF
Drapeau
=
ON lorsque le résultat est 0.
d'égalité
OFF dans tous les autres cas.
Drapeau négatif N
ON lorsque le bit le plus à gauche de R est 1.
OFF dans tous les autres cas.
Précautions
Lorsque XNRW(037) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de NOR, le contenu de R est 0000 hex, le drapeau d'égalité se
met sur ON.
Si, à la suite de NOR, le bit le plus à gauche de R est 1, le drapeau négatif se
met sur ON.
3-13-8 DOUBLE EXCLUSIVE NOR : XNRL(613)
Objet
Symbole du schéma
contact
Effectue le NOR exclusif logique des bits correspondants dans des mots
doubles de données de mots et/ou des constantes.
XNRL(613)
I1
I1: Entrée 1
I2
I2: Entrée 2
R
R: Mot de résultat
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
XNRL(613)
@XNRL(613)
Non prise en charge.
Non prise en charge.
Sousprogrammes
OK
Tâches
d'interruption
OK
529
Chapitre 3-13
Instructions logiques
Spécifications de
l’opérande
Zone
I1
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
I2
R
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A000 à A958
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #FFFFFFFF
--(binaire)
----,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
XNRL(613) effectue le NOR exclusif logique des données spécifiées dans I1
et I2 et place le résultat dans R, R+1.
• Lorsque le contenu de l'un des bits correspondants dans I1, I1+1, I2, et I2 +1 diffère, un 0 est placé dans le bit correspondant de R, R+1. Si les bits sont identiques, un 1 est placé dans le bit correspondant de R, R+1.
(I1, I1+1), (I2, I2+1) + (I1, I1+1), (I2, I2+1) → (R, R+1)
I1, I1+1
1
1
0
0
I2, I2+1
1
0
1
0
R, R+1
1
0
0
1
Drapeaux
Nom
Etiquette
Drapeau d'erreur ER
Drapeau
=
d'égalité
Drapeau négatif
530
N
Fonctionnement
OFF
ON lorsque le résultat est 0.
OFF dans tous les autres cas.
ON lorsque le bit le plus à gauche de R est 1.
OFF dans tous les autres cas.
Chapitre 3-13
Instructions logiques
Précautions
Lorsque XNRL(613) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite du NOR exclusif, le contenu de R, R+1 est 00000000 hex, le
drapeau d'égalité se met sur ON.
Si, à la suite du NOR exclusif, le bit le plus à gauche de R+1 est 1, le drapeau
négatif se met sur ON.
Exemples
Lorsque la condition d'exécution CIO 00000000 est ON, le NOR exclusif
logique est effectué sur les bits correspondants dans CIO 0801, CIO 0800 et
CIO 0101, CIO 0100 et les résultats sont placés dans les bits correspondants
de D00501 et D00500.
S1:
0800 CH
S1+1: 0801 CH
0100 CH
S2:
S2+1: 0101 CH
D:
D00500
D+1 : D00501
Remarque : Ce symbole indique un NOR exclusif logique.
3-13-9 COMPLEMENT : COM(029)
Objet
Symbole du schéma
contact
Met sur OFF tous les bits sur ON et met sur ON tous les bits sur OFF dans
Wd.
COM(029)
Wd
Wd: Mot
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zones de
programmes de pas
OK
COM(029)
@COM(029)
Non prise en charge.
Non prise en charge.
Sousprogrammes
OK
Tâches
d'interruption
OK
Wd
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
A448 à A959
T0000 à T4095
531
Chapitre 3-13
Instructions logiques
Zone
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Wd
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
COM(029) inverse l'état de chaque bit spécifié dans Wd.
Wd→Wd : 1 → 0 et 0 → 1
Remarque Lorsque vous utilisez l'instruction COM, n'oubliez pas que l'état de chaque bit
changera à chaque cycle pour lequel la condition d'exécution est ON.
Drapeaux
Nom
Etiquette
Fonctionnement
Drapeau d'erreur ER
OFF
Drapeau
=
ON lorsque le résultat est 0.
d'égalité
OFF dans tous les autres cas.
Drapeau négatif N
ON lorsque le bit le plus à gauche de R est 1.
OFF dans tous les autres cas.
Précautions
Lorsque COM(029) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de COM, le contenu de R est 0000 hex, le drapeau d'égalité se
met sur ON.
Si, à la suite de COM, le bit le plus à gauche de R est 1, le drapeau négatif se
met sur ON.
Exemples
532
Si CIO 000000 est ON dans l'exemple suivant, l'état de chaque bit dans
D00100 est inversé.
Chapitre 3-13
Instructions logiques
3-13-10 DOUBLE COMPLEMENT : COML(614)
Objet
Met sur OFF tous les bits sur ON et met sur ON tous les bits sur OFF dans
Wd et Wd+1.
Symbole du schéma
contact
COML(614)
Wd
Wd : Mot
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
COML(614)
@COML(614)
Non prise en charge.
Non prise en charge.
Sousprogrammes
OK
Tâches
d'interruption
OK
Wd
CIO 0000 à CIO 6142
W000 à W510
H000 à H510
A448 à A958
T0000 à T4094
C0000 à C4094
D00000 à D32766
E00000 à E32766
En_00000 à En_32766
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
------,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
COML(614) inverse l'état de chaque bit spécifié dans Wd et Wd+1.
(Wd+1, Wd)→(Wd+1, Wd)
Remarque Lorsque vous utilisez l'instruction COM, n'oubliez pas que l'état de chaque bit
changera à chaque cycle pour lequel la condition d'exécution est ON.
533
Chapitre 3-14
Instructions mathématiques spéciales
Drapeaux
Nom
Etiquette
Fonctionnement
Drapeau d'erreur ER
OFF
Drapeau
=
ON lorsque le résultat est 0.
d'égalité
OFF dans tous les autres cas.
Drapeau négatif N
ON lorsque le bit le plus à gauche de R est 1.
OFF dans tous les autres cas.
Précautions
Lorsque COML(614) est exécutée, le drapeau d'erreur se met sur OFF.
Si, à la suite de COML, le contenu de R, R+1 est 00000000 hex, le drapeau
d'égalité se met sur ON.
Si, à la suite de COML, le bit le plus à gauche de R+1 est 1, le drapeau
négatif se met sur ON.
Exemples
Si CIO 000000 est ON dans l'exemple suivant, l'état de chaque bit dans
D00100 et D00101 est inversé.
3-14 Instructions mathématiques spéciales
Cette section décrit les instructions utilisées pour les calculs mathématiques
spéciaux.
Instruction
BINARY ROOT
BCD SQUARE ROOT
ARITHMETIC PROCESS
FLOATING POINT DIVIDE
BIT COUNTER
Mnémonique
ROTB
ROOT
APR
FDIV
BCNT
Code fonction
620
072
069
079
067
Page
534
536
540
552
556
3-14-1 BINARY ROOT : ROTB(620)
Objet
Symbole du schéma
contact
Calcule la racine carrée du contenu binaire signé 32 bits (valeur positive) des
mots spécifiés et place la partie entière du résultat dans le mot de résultat
spécifié.
ROTB(620)
S
S: Premier mot source
R
R: Mot de résultat
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
534
ROTB(620)
@ROTB(620)
Non prise en charge.
Non prise en charge.
Chapitre 3-14
Instructions mathématiques spéciales
Zones de programmes
applicables
Spécifications de
l’opérande
Zones de
programmes de bloc
OK
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
Zones de
programmes de pas
OK
Sousprogrammes
OK
Tâches
d'interruption
OK
S
R
CIO 0000 à CIO 6142
CIO 0000 à CIO 6143
W000 à W510
W000 à W511
H000 à H510
H000 à H511
A000 à A958
A448 à A959
T0000 à T4094
T0000 à T4095
C0000 à C4094
C0000 à C4095
D00000 à D32766
D00000 à D32767
E00000 à E32766
E00000 à E32767
En_00000 à En_32766
En_00000 à En_32767
(n = 0 à C)
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #FFFFFFFF
--(binaire)
DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
ROTB(620) calcule la racine carrée du nombre binaire 32 bits dans S+1 et S,
et place la partie entière du résultat dans R. Le reste non entier est supprimé.
S+1
S
Données binaires (32 bits)
R
Données binaires (16 bits)
La plage de données pouvant être spécifiée pour les mots S+1 et S est
comprise entre 0000 0000 et 3FFF FFFF. Si un nombre compris entre 4000
0000 et 7FFF FFFF est spécifié, il sera traité comme 3FFF FFFF pour le
calcul de la racine carrée. Une erreur se produit si le contenu des mots
sources est supérieur à 7FFF FFFF, à savoir si le bit 15 de S+1 égale 1.
535
Chapitre 3-14
Instructions mathématiques spéciales
Drapeaux
Nom
Drapeau d'erreur
Etiquette
Fonctionnement
ER
ON si le bit 15 de S+1 est 1 (ON).
OFF dans tous les autres cas.
=
ON lorsque le résultat est 0000.
OFF dans tous les autres cas.
OF
ON si le contenu de S+1 et S est compris entre
4000 0000 et 7FFF FFFF.
OFF dans tous les autres cas.
UF
OFF
Drapeau d'égalité
Drapeau de
dépassement
Drapeau de
dépassement négatif
Drapeau négatif
N
OFF
Précautions
Le contenu de S+1 et S doit être inférieur à 8000 0000.
Les opérandes de cette instruction (S+1, S et R) sont tous traités comme
valeurs binaires. Si les données d'entrée sont de type BCD, utilisez
l'instruction ROOT(072).
Exemple
Si CIO 000000 est ON dans l'exemple suivant, ROTB(620) calcule la racine
carrée des données dans CIO 0002 et CIO 0001, et écrit la partie entière du
résultat dans D00100.
CIO 0002
CIO 0001
014B
5A91
D00100
Calcul de la racine carrée
(reste supprimé)
1234
3-14-2 BCD SQUARE ROOT : ROOT(072)
Objet
Symbole du schéma
contact
Calcule la racine carrée d'un nombre BCD à 8 chiffres et place la partie
entière du résultat dans le mot de résultat spécifié.
ROOT(072)
S
S: Premier mot source
R
R: Mot de résultat
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
536
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
ROOT(072)
@ROOT(072)
Non prise en charge.
Non prise en charge.
Sousprogrammes
OK
Tâches
d'interruption
OK
Chapitre 3-14
Instructions mathématiques spéciales
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
S
R
CIO 0000 à CIO 6142
CIO 0000 à CIO 6143
W000 à W510
W000 à W511
H000 à H510
H000 à H511
A000 à A958
A448 à A959
T0000 à T4094
T0000 à T4095
C0000 à C4094
C0000 à C4095
D00000 à D32766
D00000 à D32767
E00000 à E32766
E00000 à E32767
En_00000 à En_32766
En_00000 à En_32767
(n = 0 à C)
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
#00000000 à #99999999
--(BCD)
--DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
ROOT(072) calcule la racine carrée du nombre BCD à 8 chiffres dans S+1 et S,
et place la partie entière du résultat dans R. Le reste non entier est supprimé.
S+1
S
Données BCD (8 chiffres)
R
Données BCD (4 chiffres)
Drapeaux
Nom
Drapeau
d'erreur
Drapeau
d'égalité
Etiquette
Fonctionnement
ER
ON si les données dans S+1 et S ne sont pas de type BCD.
OFF dans tous les autres cas.
=
ON lorsque le résultat est 0000.
OFF dans tous les autres cas.
Précautions
Les opérandes de cette instruction (S+1, S et R) sont tous traités comme
valeurs BCD. Si les données d'entrée sont binaires, utilisez l'instruction
ROTB(620).
Exemples
Racine carrée d'un nombre à 8 chiffres
Si CIO 000000 est ON dans l'exemple suivant, ROOT(072) calcule la racine
carrée des données dans D00001 et D00000, et écrit la partie entière du
résultat dans D00100.
Remarque Les chiffres après la décimale sont tronqués pour les nombres à 8 chiffres.
537
Chapitre 3-14
Instructions mathématiques spéciales
Arrondi
Racine carrée d'un nombre à 4 chiffres
L'exemple suivant indique la façon d'effectuer la racine carrée d'un nombre à
4 chiffres et d'arrondir le résultat. Cet exemple de programme calcule la
racine carrée du nombre à 4 chiffres dans CIO 0010, arrondit le résultat et
l'écrit dans CIO 0011. (En gros, le nombre à 4 chiffres est multiplié par 10 000
(1002) et le résultat est divisé par 100, augmentant la précision du calcul par
un facteur 100.)
Remarque Les chiffres après la décimale sont arrondis pour les nombres à 4 chiffres.
538
Chapitre 3-14
Instructions mathématiques spéciales
Les valeurs après la décimale
doivent être arrondies.
@BSET
1
@MOV
2
@ROOT
3
@MOV
4
@MOV
@MOVD
5
@MOVD
@INC
1,2,3...
1. Les mots sources (D00101 et D00100) doivent être effacés dans
0000 0000.
0
D00101
0 0 0
0
0000
D00100
0 0 0
0000
2. Le nombre à 4 chiffres est déplacé dans D00101.
6
6
010
0 1
7
D00101
0 1 7
0
D00100
0 0 0
3. ROOT(072) calcule la racine carrée de D00101 et D00100, et écrit le
résultat dans D00102.
539
Chapitre 3-14
Instructions mathématiques spéciales
D00101
D00100
6017
0000
60, 170, 000 = 7, 756,932…
Calcul de la racine carrée
(Reste supprimé)
D00100
7756
4. D00103 et le mot de résultat, CIO 0011, sont effacés à 0000 0000.
0
D00103
0 0 0
0
CIO 0011
0 0 0
0000
0000
5. Le résultat du calcul de la racine carrée est divisé par 100, la partie entière
étant écrite dans CIO 0011 et le reste passant dans D00103.
7
0
D00102
7 5 6
CIO 0011
0 7 7
5
D00103
6 0 0
6. Si le contenu de D00103 est supérieur à 4900, CIO 0011 est incrémenté
de 1. Dans ce cas, le résultat est 78.
5600 > 4900?
CIO 0011
0 0 7 8
3-14-3 ARITHMETIC PROCESS : APR(069)
Objet
Symbole du schéma
contact
Calcule le sinus, le cosinus ou une extrapolation linéaire des données
sources.
La fonction d'extrapolation linéaire permet d'établir une approximation d'une
relation entre X et Y avec des segments de ligne.
APR(069)
C
C: Mot de contrôle
S
S: Données sources
R
R: Mot de résultat
Variations
Variations Exécutée à chaque cycle pour la condition ON
Exécutée une fois pour la différentiation sur
front montant
Exécutée une fois pour la différentiation sur
front descendant
Spécification de rafraîchissement immédiat
Zones de programmes
applicables
540
Zones de
programmes de bloc
OK
Zones de
programmes de pas
OK
APR(069)
@APR(069)
Non prise en charge.
Non prise en charge.
Sousprogrammes
OK
Tâches
d'interruption
OK
Chapitre 3-14
Instructions mathématiques spéciales
Opérandes
Fonction sinus (C = 0000 hex.)
Opérande
Valeur
C
0000 hex
S
0000 à 0900 (BCD)
D
0000 à 9999 (BCD)
9999 (BCD)
Plage de données
--0° à 90°
0,0000 à 0,9999
1.0000
Fonction cosinus (C = 0001 hex.)
Opérande
Valeur
C
0001 hex
S
0000 à 0900 (BCD)
D
0000 à 9999 (BCD)
9999 (BCD)
Plage de données
--0° à 90°
0,0000 à 0,9999
1.0000
Fonction extrapolation linéaire (C = adresse zone de données)
Opérande
Valeur
C
Adresse de la zone de données
S
Données BCD 16 bits non
signées
Données binaires 16 bits non
signées
Données binaires 16 bits
signées1
Données binaires 32 bits
signées1
Données à virgule flottante1
D
Données BCD 16 bits non
signées
Données binaires 16 bits non
signées
Données binaires 16 bits
signées1
Données binaires 32 bits
signées1
Données à virgule flottante1
Remarque
Plage de données
--0000 à 9999
0 à 65 535
−32 768 à 32 767
−2 147 483 648 à 2 147 483 647
−∞,
−3.402823 × 1038 to −1,175494 × 10−38,
1.175494 × 10−38 à 3,402823 × 1038,
+∞
0000 à 9999
0 à 65 535
−32 768 à 32 767
−2 147 483 648 à 2 147 483 647
−∞,
−3.402823 × 1038 to −1,175494 × 10−38,
1.175494 × 10−38 à 3,402823 × 1038,
+∞
1. Les données binaires signées et les données à virgule flottante sont prises
en charge uniquement par les UC CS1-H, CJ1-H, CJ1M et CS1D.
2. Si C est une adresse de mot, APR(069) extrapole la valeur Y pour la valeur
X dans S sur la base des coordonnées (formant des segments de ligne)
saisies au préalable dans la table commençant à C. Consultez la section
Description ci-dessous pour plus de détails.
Spécifications de
l’opérande
Zone
Zone CIO
Zone Travail
Zone Bit de maintien
C
CIO 0000 à CIO 6143
W000 à W511
H000 à H511
S
R
541
Chapitre 3-14
Instructions mathématiques spéciales
Zone
Zone Bit auxiliaire
Zone Temporisateur
Zone Compteur
Zone DM
Zone EM sans banque
Zone EM avec banque
Adresses DM/EM
indirectes en binaire
Adresses DM/EM
indirectes en BCD
Constantes
Registres de données
Registres d'index
Adressage indirect à
l’aide de registres
d’index
Description
C
S
R
A000 à A959
A448 à A959
T0000 à T4095
C0000 à C4095
D00000 à D32767
E00000 à E32767
En_00000 à En_32767
(n = 0 à C)
@ D00000 à @ D32767
@ E00000 à @ E32767
@ En_00000 à @ En_32767
(n = 0 à C)
*D00000 à *D32767
*E00000 à *E32767
*En_00000 à *En_32767
(n = 0 à C)
Valeurs spécifiées uniquement
----DR0 à DR15
--,IR0 à ,IR15
–2048 à +2047 ,IR0 à –2048 à +2047 ,IR15
DR0 à DR15, IR0 à IR15
,IR0+(++) à ,IR15+(++)
,–(– –)IR0 à, –(– –)IR15
Le fonctionnement de APR(069) dépend du mot de contrôle C. Si C est 0000
ou 0001, APR(069) calcule le sinus ou le cosinus de S avec S en unités de
dixièmes de degrés.
Si C est une adresse de mot, APR(069) extrapole la valeur Y pour la valeur X
dans S sur la base des coordonnées (formant des segments de ligne) saisies
au préalable dans la table commençant à C.
Fonction sinus (C=0000)
Si C est 0000, APR(069) calcule le SIN(S) et écrit le résultat dans R. La plage
pour S est comprise entre 0000 et 0900 BCD (0,0° à 90,0°) et la plage pour R
est comprise entre 0000 et 9999 BCD (0,0000 à 0,9999). Le reste du résultat
au delà de la quatrième décimale est supprimé.
Fonction cosinus (C=0001)
Si C est 0001, APR(069) calcule le COS(S) et écrit le résultat dans R. La
plage pour S est comprise entre 0000 et 0900 BCD (0,0° à 90,0°) et la plage
pour R est comprise entre 0000 et 9999 BCD (0,0000 à 0,9999). Le reste du
résultat au delà de la quatrième décimale est supprimé.
Extrapolation linéaire
L'extrapolation linéaire APR(069) est spécifiée lorsque C est une adresse de
mot.
Le contenu du mot C spécifie le nombre de coordonnées dans la table de
données commençant à C+2, la forme des données sources et si les données
sont de type BCD ou binaire. Dans les UC CS1-H, CJ1-H, CJ1M et CS1D, les
données sources peuvent également être des données binaires signées ou
des données à virgule flottante.
542
Chapitre 3-14
Instructions mathématiques spéciales
Données entières non signées (binaires ou BCD)
15 14 13 12 11 10 9
8
0
0
C
0
0
0
7
6
5
4
3
2
1
0
Nombre de coordonnées moins un (m-1),
00 à FF hex (1 ≤ m ≤ 256)
Spécification de la virgule flottante pour S et D
0: Données entières
Spécification des données signées pour S et D
0: Données binaires non signées
Forme des données sources
0: f(x) = f(S)
1: f(x) = f(Xm − S)
Format des données de sortie (D)
0: Binaire
1: BCD
Format des données d'entrée (S)
0: Binaire
1: BCD
Données entières signées (binaires)
15 14 13 12 11 10 9
C
0
0
0
0
1
0
8
7
6
5
4
3
2
1
0
0
Nombre de coordonnées moins un (m-1),
00 à FF hex (1 ≤ m ≤ 256)
Spécification de virgule flottante pour S et D
0: Données entières
Spécification de longueur des données pour S et D (remarque 1)
0: Données binaires 16 bits signées
1: Données binaires 32 bits signées
Spécification des données signées pour S et D
1: Données binaires signées
Données à virgule flottante simple précision
15 14 13 12 11 10 9
C
0
0
0
0 0
0
1
8
7
6
5
4
3
2
1
0
0
Nombre de coordonnées moins un (m-1),
00 à FF hex (1 ≤ m ≤ 256)
Spécification de virgule flottante pour S et D
1: Données à virgule flottante simple précision
Si des données BCD ou binaires 16 bits sont utilisées, les données du
segment de ligne sont contenues dans les mots C+ 1 à C+2m+2. Si des
données binaires 32 bits ou virgule flottante sont utilisées (UC CS1-H, CJ1-H
et CJ1M uniquement), les données du segment de ligne sont contenues dans
les mots C+ 1 à C+4m+4.
Les bits 00 à 07 contiennent le nombre (binaire) des coordonnées de ligne
moins 1, m–1. Les bits 08 à 12 ne sont pas utilisés. Le bit 13 spécifie f(x)=f(S)
ou f(x)=f(Xm–S) : OFF spécifie f(x)=f(S) et ON spécifie f(x)=f(Xm–S). Le bit 14
détermine si la sortie est BCD ou binaire : OFF spécifie binaire et ON spécifie
543
Chapitre 3-14
Instructions mathématiques spéciales
BCD. Le bit 15 détermine si l'entrée est BCD ou binaire : OFF spécifie binaire
et ON spécifie BCD.
Données BCD 16 bits, binaires
16 bits (signées ou non signées)
ou données BCD 16 bits
C+1
X0 (*1)
C+2
Y0
C+3
X1
C+4
Y1
C+5
X2
C+6
Y2
Données binaires 32 bits signées Données à virgule flottante
C+1 X0 (16 bits les plus à droite)
C+1 X0 (16 bits les plus à droite)
C+2 X0 (16 bits les plus à gauche)
C+2 X0 (16 bits les plus à gauche)
C+3 Y0 (16 bits les plus à droite)
C+3 Y0 (16 bits les plus à droite)
C+4 Y0 (16 bits les plus à gauche)
C+4 Y0 (16 bits les plus à gauche)
C+5 X1 (16 bits les plus à droite)
C+5 X1 (16 bits les plus à droite)
C+6 X1 (16 bits les plus à gauche)
C+6 X1 (16 bits les plus à gauche)
C+7 Y1 (16 bits les plus à droite)
C+7 Y1 (16 bits les plus à droite)
C+8 Y1 (16 bits les plus à gauche)
Xn
à
Yn
C+ (2m+1)
Xm
C+ (2m+2)
Ym
Remarque : Ecrivez Xm
(valeur X max. dans la
table) dans le mot C+1
lorsque les données E/S
dans S et D contiennent
des données signées (bit
11 de C = 0).
C+8 Y1 (16 bits les plus à gauche)
à
à
à
C+ (4n+1) Xn (16 bits les plus à droite)
C+ (4n+1) Xn (16 bits les plus à droite)
C+ (4n+2) Xn (16 bits les plus à gauche)
C+ (4n+2) Xn (16 bits les plus à gauche)
C+ (4n+3) Yn (16 bits les plus à droite)
C+ (4n+3) Yn (16 bits les plus à droite)
C+ (4n+4) Yn (16 bits les plus à gauche)
C+ (4n+4) Yn (16 bits les plus à gauche)
à
à
à
à
C+ (4m+1) Xm (16 bits les plus à droite)
C+ (4m+1) Xm (16 bits les plus à droite)
C+ (4m+2) Xm (16 bits les plus à gauche)
C+ (4m+2) Xm (16 bits les plus à gauche)
C+ (4m+3) Ym (16 bits les plus à droite)
C+ (4m+3) Ym (16 bits les plus à droite)
C+ (4m+4) Ym (16 bits les plus à gauche)
C+ (4m+4) Ym (16 bits les plus à gauche)
Remarque Les coordonnées X doivent être par ordre ascendant : X1 < X2 < ... < Xm.
Entrez toutes les valeurs de (Xn, Yn) comme données binaires,
indépendamment du format de données spécifié dans le mot de contrôle C.
Fonctionnement de la fonction d'extrapolation linéaire
APR(069) traite les données d'entrée spécifiées dans S au moyen de
l'équation suivante et des données du segment de ligne (Xn, Yn) spécifiées
dans la table commençant à C+1. Le résultat est placé dans le(s) mot(s) de
destination spécifié(s) par D.
Y (données binaires)
Ymax
Y0
X0
A
Xmax
B
C
X (données
binaires)
1. Pour S < X0
Valeur convertie = Y0
2.
544
Pour X0 ≤ S ≤ Xmax, si Xn < S < Xn+1
Valeur convertie = Yn +[{Yn + 1 − Yn}/{Xn + 1 − Xn}] × [données d'entrée S − Xn}
Chapitre 3-14
Instructions mathématiques spéciales
Y (données binaires)
Equation :
f(Y)=
Y n+
Yn+1−Yn
Xn+1−Xn (S−Xn)
Yn+1
D
Résultat du
calcul
Yn+1−Yn
Yn
Xn+1−Xn
S−Xn
Xn
S
Xn+1
X (données
binaires)
Données d'entrée
3. Xmax < S
Valeur convertie = Ymax
Jusque 256 points limites peuvent être stockés dans la table des données de
segment de ligne commençant à C+1. Les 5 types de données d’E/S suivants
peuvent être utilisés :
• Données BCD 16 bits non signées
• Données binaires 16 bits non signées
• Données binaires 16 bits signées (CS1-H/CJ1-H/CJ1M uniquement)
• Données binaires 32 bits signées (CS1-H/CJ1-H/CJ1M uniquement)
• Données à virgule flottante simple précision
(CS1-H/CJ1-H/CJ1M uniquement)
Réglage du format de données dans le mot de contrôle C
• Données BCD 16 bits non signées
Les données d'entrée et/ou les données de sortie peuvent être des données
BCD 16 bits non signées. La fonction d'extrapolation linéaire peut donc être
réglée pour opérer sur la valeur spécifiée dans S directement ou sur Xm–S. (Xm
est la valeur maximum de X dans les données du segment de ligne.)
Nom du paramètre
Format des données d'entrée (S)
Format des données de sortie (D)
Forme des données sources
Spécification des données signées
pour S et D
Spécification de la longueur des
données pour S et D
Spécification de virgule flottante
Bit dans C
Paramètre
15
0: Binaire
1: BCD
14
0: Binaire
1: BCD
13
0: Opération sur S
1: Opération sur Xm–S
11
0: Données non signées
10
Invalide (fixé à 16 bits)
09
0: Données entières
545
Chapitre 3-14
Instructions mathématiques spéciales
• Données binaires 16 bits non signées
Les données d'entrée et/ou les données de sortie peuvent être des données
binaires 16 bits non signées. La fonction d'extrapolation linéaire peut donc être
réglée pour opérer sur la valeur spécifiée dans S directement ou sur Xm–S.
(Xm est la valeur maximum de X dans les données du segment de ligne.)
Nom du paramètre
Format des données d'entrée (S)
Format des données de sortie (D)
Forme des données sources
Spécification des données signées
pour S et D
Spécification de la longueur des
données pour S et D
Spécification de virgule flottante
Bit dans C
Paramètre
15
0: Binaire
1: BCD
14
0: Binaire
1: BCD
13
0: Opération sur S
1: Opération sur Xm–S
11
0: Données non signées
10
Invalide (fixé à 16 bits)
09
0: Données entières
• Données binaires 16 bits signées (CS1-H, CJ1-H, CJ1M et CS1D uniquement)
Nom du paramètre
Format des données d'entrée (S)
Format des données de sortie (D)
Forme des données source
Spécification des données signées
pour S et D
Spécification de la longueur des
données pour S et D
Spécification de virgule flottante
Bit dans C
15
14
13
11
Paramètre
0: Binaire
0: Binaire
0
1: Données signées
10
0: Données binaires 16 bits
signées
0: Données entières
09
• Données binaires 32 bits signées (CS1-H, CJ1-H, CJ1M et CS1D uniquement)
Nom du paramètre
Format des données d'entrée (S)
Format des données de sortie (D)
Forme des données source
Spécification des données signées
pour S et D
Spécification de la longueur des
données pour S et D
Spécification de virgule flottante
Bit dans C
15
14
13
11
Paramètre
0: Binaire
0: Binaire
0
1: Données signées
10
1: Données binaires 32 bits
signées
0: Données entières
09
Remarque Si la “Spécification de la longueur des données pour S et D” dans
le bit 10 de C est réglée sur 1 et qu'une constante de 16 bits est
entrée pour S, les données d'entrée sont converties en données
binaires 32 bits signées avant le calcul de l'extrapolation linéaire.
• Données à virgule flottante (CS1-H, CJ1-H, CJ1M et CS1D uniquement)
Nom du paramètre
Format des données d'entrée (S)
Format des données de sortie (D)
Forme des données source
Spécification des données signées
pour S et D
Spécification de la longueur des
données pour S et D
Spécification de virgule flottante
Bit dans C
15
14
13
11
0: Binaire
0: Binaire
0
0
Paramètre
10
0
09
1: Données à virgule flottante
Remarque Si la “Spécification de la virgule flottante” dans le bit 09 de C est
réglée sur 1, une constante ne peut pas être entrée pour S.
546
Chapitre 3-14
Instructions mathématiques spéciales
Drapeaux
Nom
Drapeau
d'erreur
Précautions
Etiquette
Fonctionnement
ER
ON si C est une constante supérieure à 0001.
ON si C est une adresse de mot mais que les coordonnées
de X ne sont pas par ordre ascendant (X1 ≤ X2 ≤ ... ≤ Xm).
Drapeau
d'égalité
=
Drapeau
négatif
N
ON si C est une adresse de mot et que les bits 9, 11 et 15 de
C indiquent une entrée BCD, mais S n'est pas de type BCD.
ON si C est une adresse de mot et que le bit 9 de C indique
des données à virgule flottante, mais S est une constante à
mot unique.
ON si C est 0000 ou 0001 mais S n'est pas de type BCD
compris entre 0000 et 0900.
OFF dans tous les autres cas.
ON lorsque le résultat est 0000.
OFF dans tous les autres cas.
ON si le bit 15 de R est ON.
OFF dans tous les autres cas.
Le résultat effectif de SIN(90°) et COS(0°) est 1, mais 9999 (0,9999) est écrit
dans R.
Une erreur se produit si C est une constante supérieure à 0001.
Une erreur se produit si l'extrapolation linéaire est spécifiée mais que les
coordonnées de X ne sont pas par ordre ascendant (X1 < X2 < ... < Xm).
Une erreur se produit si l'extrapolation linéaire est spécifiée et que l'entrée
BCD est spécifiée (bit 15 de C sur ON) mais si S n'est pas de type BCD.
Une erreur se produit si une fonction trigonométrique est spécifiée (C=0000
ou 0001) mais si S n'est pas de type BCD compris entre 0000 et 0900.
Exemples
Fonction sinus (C : #0000)
L'exemple suivant illustre l'utilisation de APR(069) pour calculer le sinus de 30°.
Données sources
Résultat
S :D00000
0
101
100
R :D00100
10-1
10-1
10-2
10-3
10-4
0
3
0
0
5
0
0
0
Définissez les données sources dans Les données de résultat comportent quatre
chiffres significatifs ; le cinquième et les chiffres
10-1 degrés. (0000 à 0900, BCD)
ultérieurs sont ignorés. (0000 à 9999, BCD)
Fonction cosinus (C : #0001)
L'exemple suivant illustre l'utilisation de APR(069) pour calculer le cosinus de 30°.
(SIN(30) = 0,8660)
Données sources
Résultat
S :D00010
0
101
100
R :D00200
10-1
0
3
0
0
Définissez les données sources
dans 10-1 degrés.
(0000 à 0900, BCD)
10-1
10-2
10-3
10-4
8
6
6
0
Les données de résultat comportent
quatre chiffres significatifs ; le cinquième
et les chiffres supérieurs sont ignorés.
(0000 à 9999, BCD)
547
Chapitre 3-14
Instructions mathématiques spéciales
Extrapolation linéaire (C : adresse de mot)
Utilisation de données binaires ou BCD 16 bits non signées
APR(069) traite les données d'entrée spécifiées dans S sur la base des
données de contrôle dans C et des données de segment de ligne spécifiées
dans la table commençant à C+1. Le résultat est placé dans D.
Y
Coordonnée
Mot
C+1
C+2
Xm (valeur X
max.)
Y0
C+3
X1
C+4
Y1
C+5
X2
C+6
Y2
Ym
Y4
Y3
Y1
Y2
Y0
↓
C+(2m+1)
C+(2m+2)
X0
X1
X2
↓
Xm (valeur X
max.)
Y
X3 m X 4
X
Xm
• Yn = f(Xn), Y0 = f(X0)
• Assurez-vous que Xn–1 < Xn dans tous les cas.
• Saisissez toutes les données de (Xn, Yn) comme données binaires.
Cet exemple indique comment réaliser une extrapolation linéaire avec 12
coordonnées. Le bloc de données est continu, comme il se doit, de D00000 à
D00026 (C à C + (2 × 12 + 2)). Les données d'entrée sont extraites de
CIO 0010, et le résultat est placé dans CIO 0011.
Contenu Coordonnée
D00000
D00001
D00002
D00003
D00004
D00005
D00006
↓
Bit
15
Bit
00
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1
000B Hex
05F0 Hex
0000 Hex
0005 Hex
0F00 Hex
001A Hex
0402 Hex
X12
Y0
X1
Y1
X2
Y2
↓
↓
x=S
(m-1 = 11 : 12
segments de ligne)
Sortie et entrée
binaires
D00025 05F0 Hex X12
D00026 1F20 Hex Y12
Dans ce cas, le mot source, CIO 0010, contient 0014, et f(0014) = 0726 est
placé dans R, CIO 0011.
548
Chapitre 3-14
Instructions mathématiques spéciales
Y
$1F20
$0F00
(x,y)
$0726
$0402
X
(0,0)
$0005
$0014
$001A
$05F0
Le calcul de l'extrapolation linéaire est repris ci-dessous.
0402 – 0F00
Y = 0F00 + --------------------------------- × ( 0014 – 0015 )
001A – 0005
= 0F00 – ( 0086 × 000F )
= 0726
Les valeurs sont toutes hexadécimales (Hex).
549
Chapitre 3-14
Instructions mathématiques spéciales
Extrapolation linéaire (C : adresse de mot)
Utilisation de données binaires 32 bits signées
(CS1-H, CJ1-H, CJ1M et CS1D uniquement)
Dans cet exemple, l'instruction APR(069) est utilisée pour convertir la hauteur
de liquide dans un réservoir en volume de liquide sur la base de la forme du
réservoir de stockage.
Table de conversion de la hauteur de
liquide en volume de liquide
(données binaires 32 bits signées)
C+1 X0 (16 bits les plus à droite)
C+2 X0 (16 bits les plus à gauche)
C+3 Y0 (16 bits les plus à droite)
C+4 Y0 (16 bits les plus à gauche)
C+5 X1 (16 bits les plus à droite)
Variation par rapport
à la norme = X
C+6 X1 (16 bits les plus à gauche)
C+7 Y1 (16 bits les plus à droite)
Volume de liquide = Y
C+8 Y1 (16 bits les plus à gauche)
à
à
C+ (4n+1) Xn (16 bits les plus à droite)
C+ (4n+2) Xn (16 bits les plus à gauche)
C+ (4n+3) Yn (16 bits les plus à droite)
C+ (4n+4) Yn (16 bits les plus à gauche)
à
à
C+ (4m+1) Xm (16 bits les plus à droite)
C+ (4m+2) Xm (16 bits les plus à gauche)
C+ (4m+3) Ym (16 bits les plus à droite)
C+ (4m+4) Ym (16 bits les plus à gauche)
000000
APR
C
Extrapolation linéaire de la table
S
R
Y : Volume de liquide
Ym
R
R+1
X : Variati

Manuels associés