OMRON CS User Manual

Advanced Industrial Automation
Série SYSMAC CS CS1G/H-CPU■-EV1
CS1G/H-CPU■H CS1D-CPU■H CS1D-CPU■S
Série SYSMAC CJ CJ1G-CPU
MANUEL DE PROGRAMMATION
Présentation
1 Fonctionnement de l'UC
2 Programmation
3 Fonction des instructions
4Tâches
Cat. No. W394-FR2-07
Automates programmables
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 programmation
Révisé en juillet 2004
iv
Avis :
Les produits OMRON sont conçus pour être utilisés par un opérateur qualifié, en respectant les procédures appropriées et uniquement aux fins précisées dans ce 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.
!ATTENTION DANGER Indique un danger imminent qui, s'il n'est pas évité, peut provoquer des
blessures graves ou mortelles.
!AVERTISSEMENT Indique un danger potentiel qui, s'il n'est pas évité, peut provoquer des
blessures graves ou mortelles.
!Attention Indique un danger potentiel qui, s'il n'est pas évité, peut provoquer des
blessures moins graves ou endommager des biens.
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 ».
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
Remarque Désigne des informations particulièrement intéressantes pour une utilisation
1,2,3... 1. Indique la présence d'une liste telle que des procédures ou des listes de
OMRON, 2001
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 aucune responsabilité. De plus, dans un souci d'améliorer sans cesse la qualité de ses produits, OMRON se réserve le droit de modifier toute information contenue dans le présent manuel sans préavis. Malgré tout le soin apporté à l'élaboration de ce manuel, OMRON décline toute responsabilité quant aux erreurs et omissions qui pourraient s'y trouver. Enfin, OMRON décline toute responsabilité concernant tout dommage résultant de l'utilisation des informations contenues dans le présent manuel.
Les intitulés suivants apparaissent dans la colonne gauche du manuel pour vous aider à localiser différents types d'informations.
efficace du produit.
contrôles, etc.
v
Version des UCs série CS/CJ
Version des cartes
Notation des versions de carte sur les produits
UC série CS/CJ
Afin de gérer les UCs 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 de carte ». Cela s'applique aux UCs CS1-H, CJ1-H, CJ1M et CS1D.
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
OMRON
UC
N˚ de lot
Lot N˚ 040715 0000 Ver.3.0
OMRON Corporation FABRIQUÉ AU JAPON
CS1H-CPU67H
Version de carte Exemple pour la version de carte 3.0
• La version des UCs 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 à UC seule, 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
Remarque CX-Programmer version 3.3 ou antérieure ne permet pas de vérifier les
Vous pouvez utiliser CX-Programmer version 4.0 pour contrôler la version de carte en appliquant l'une des deux méthodes suivantes.
• A l'aide des informations de l'API
• A l'aide des informations sur la fabrication de la carte (cette méthode peut aussi être utilisée pour les cartes d'E/S spéciales et les cartes réseau.)
versions de carte.
Informations de l'API
• Si vous connaissez le type de périphérique et le type d'UC, sélectionnez­les dans la boîte de dialogue Change PLC, connectez-vous en ligne, puis sélectionnez PLC - Edit - 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 PLC - Auto Online pour passer en ligne, puis sélectionnez PLC - Edit - Information dans les menus.
Dans les deux cas, la boîte de dialogue PLC Information s'affiche.
vi
Version de carte
Utilisez l'affichage ci-dessus pour vérifier la version de l'UC.
Informations sur la fabrication de la carte
Dans la fenêtre IO Table, cliquez avec le bouton droit et sélectionnez Unit Manufacturing information - CPU Unit.
La boîte de dialogue Unit Manufacturing information suivante s'affiche.
vii
Version de carte
Utilisez l'affichage ci-dessus pour vérifier la version de l'UC connectée en ligne.
Utilisation des étiquettes de version de carte
Les étiquettes de version suivantes sont fournies avec l'UC.
Vers. 3.0
Vers. 3.0
Vous pouvez utiliser ces étiquettes pour gérer les différences entre les fonctions disponibles sur les différentes cartes. Collez l'étiquette appropriée à l'avant de la carte pour indiquer la version actuellement utilisée.
Vers.
Vers.
Ces étiquettes peuvent être attachées à l'avant des UCs antérieures afin de différencier les versions d'UC.
viii
Notation des versions de carte
Dans ce manuel, la version d'une UC est indiquée comme dans le tableau ci­dessous.
Plaque signalétique du
produit
Signification
Désignation d'UC individuelles (par exemple, CS1H-CPU67H)
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)
UC sans numéro de
version
Lot N° XXXXXX XXXX
OMRON Corporation FABRIQUÉ
AU JAPON
UC pré-ver. 2.0 CS1-H UC CS1H-CPU67H Ver. @.@
UC pré-ver. 2.0 CS1-H UC CS1-H Ver. @.@
UC pré-ver. 2.0 série CS UC série CS Ver. @.@
Cartes avec numéro de version
(Ver. @.@)
Lot N° XXXXXX XXXX
OMRON Corporation FABRIQUÉ
AU JAPON
Ver. @ .@
ix
Numéros de version et de lot
Série Modèle Date de fabrication
Avant Sept. 2003 Oct. 2003 Nov. 2003 Déc. 2003 Juin 2004 Après
Série CSUC CS1 CS1@-
CPU@@
Pas de numéro de version
UC CS1-V1 s CS1@-
UC CS1-H CS1@-
UC CS1D
Série CJUC CJ1 CJ1G-
UC CJ1-H CJ1@-
UC CJ1M excepté modèles économiques
UC pour système à UC en duplex
UC pour système à UC unique
CPU@@-V1
CPU@@H
CS1D­CPU@@H
CS1D­CPU@@S
CPU@@
CPU@@H
CJ1M­CPU@@
Pas de numéro de version
UC pré-ver. 2.0
UC pré-ver. 1.1
UC pré-ver. 2.0
UC pré-ver. 2.0
UC pré-ver. 2.0
Cartes UC ver. 2.0 (N° lot : 031105 indiqué)
UC Ver.1.1 (N° lot : 031120 indiqué)
UC ver. 2.0 (N° lot : 031215 indiqué)
UC ver. 2.0 (N° lot : 031105 indiqué)
UC ver. 2.0 (N° lot : 031105 indiqué)
UC ver. 3.0 (N° lot : 040622 indiqué)
UC ver. 3.0 (N° lot : 040623 indiqué)
UC ver. 3.0 (N° lot : 040624 indiqué)
Logi­ciel de prise en charge
x
UC CJ1M, modèles bas de gamme
CX-Programmer WS02-
CJ1M­CPU11/21
CXPC1­EV@
Carte ver. 2.0 (N° lot : 031002 indiqué)
Ver. 3.2 Ver. 3.3 Ver. 4.0 Ve r. 5. 0
UC ver. 3.0 (N° lot : 040629 indiqué)
Fonction prise en charge par la version
UC CS1-H (CS1@-CPU@@H)
Fonction Version de carte
UC pré-ver. 2.0 UC Ver. 2.0
Téléchargement de tâches individuelles --- OK Protection de lecture améliorée grâce aux mots de passe --- OK Protection en écriture à partir de commandes FINS envoyées aux UCs
via le réseau Connexions au réseau en ligne sans table d'E/S --- OK Communications via 8 niveaux de réseau maximum --- OK Connexion en ligne aux API via les IHM série NS OK à partir du numéro
Paramétrage des mots du premier emplacement OK jusqu'à 8 groupes OK jusqu'à 64 groupes Transferts automatiques sous alimentation sans fichier de paramètres --- OK Détection automatique de la méthode d'affectation d'E/S lors du
transfert automatique à la mise sous tension Heures de début/fin de fonctionnement --- OK Nouvelles
instructions pour l'application
MILH, MILR, MILC --- OK =DT, <>DT, <DT, <=DT, >DT, >=DT --- OK BCMP2 --- OK GRY OK à partir du numéro
TPO --- OK DSW, TKY, HKY, MTR, 7SEG --- OK EXPLT, EGATR, ESATR, ECHRD, ECHWR --- OK Lecture/écriture de cartes réseau avec IORD/IOWR OK à partir du numéro
PRV2 --- ---
--- OK
OK
de lot 030201
--- ---
OK
de lot 030201
OK
de lot 030418
xi
UC CS1D
Fonction UC CS1D pour système à UC en duplex
UC pré-ver. 1.1 UC Ver. 1.1 UC Ver. 2.0
Fonctions sur les UC CS1D uniquement
Téléchargement de tâches individuelles --- --- OK Protection de lecture améliorée grâce aux
mots de passe Protection en écriture à partir de commandes
FINS envoyées aux UCs 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 sous alimentation
sans fichier de paramètres Détection automatique de la méthode
d'affectation d'E/S lors du transfert automatique à la mise sous tension
Heures de début/fin de fonctionnement --- OK OK Nouvelles
instructions pour l'application
UC en duplex OK OK --­Remplacement de la carte en
ligne Cartes d'alimentation doubles OK OK OK Carte Controller Link double OK OK OK Carte Ethernet double --- OK OK
MILH, MILR, MILC --- --- OK =DT, <>DT, <DT, <=DT, >DT,
>=DT BCMP2 --- --- OK GRY --- --- OK TPO --- --- OK DSW, TKY, HKY, MTR, 7SEG --- --- OK EXPLT, EGATR, ESATR,
ECHRD, ECHWR Lecture/écriture de cartes
réseau avec IORD/IOWR PRV2 --- --- ---
OK OK OK
--- --- OK
--- --- OK
--- --- OK
--- --- OK
--- --- OK
--- --- OK jusqu'à
--- --- OK
--- --- ---
--- --- OK
--- --- OK
--- --- OK
(CS1D-CPU@@H)
UC CS1D pour
système d'UC
seule
(CS1D-CPU@@S)
64 groupes
xii
UC CJ1-H/CJ1M
Fonction UC CJ1-H
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 UCs 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 sous alimentation sans fichier de paramètres
Détection automatique de la méthode d'affectation d'E/S lors du transfert automatique à la mise sous tension
Heures de début/fin de fonctionnement
Nouvelles instruc­tions pour l'applica­tion
MILH, MILR, MILC --- OK --- OK OK =DT, <>DT, <DT,
<=DT, >DT, >=DT BCMP2 --- OK OK OK OK GRY OK à partir du
TPO --- OK --- OK OK DSW, TKY, HKY,
MTR, 7SEG EXPLT, EGATR,
ESATR, ECHRD, ECHWR
Lecture/écriture de cartes réseau avec IORD/IOWR
PRV2 --- --- --- OK, mais
(CJ1@-CPU@@H)
UC pré-ver. 2.0 UC Ver. 2.0 UC pré-ver. 2.0 UC Ver. 2.0 UC Ver. 2.0
--- OK --- OK OK
--- OK --- OK OK
--- OK --- OK OK
OK, mais uniquement si l'affectation de tables d'E/S est activée 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
numéro de lot 030201
--- OK --- OK OK
--- OK --- OK OK
--- OK --- OK OK
OK OK, mais
OK jusqu'à 64 groupes
OK OK à partir du
OK OK à partir du
excepté modèles économiques
uniquement si l'affectation de tables d'E/S est activée sous tension
OK jusqu'à 8 groupes
numéro de lot 030201
numéro de lot 030201
UC CJ1M,
(CJ1M-CPU@@)
OK OK
OK jusqu'à 64 groupes
OK OK
OK OK
uniquement pour les modèles avec E/S intégrées
UC CJ1M,
modèles
économiques
(CJ1M-
CPU11/21)
OK jusqu'à 64 groupes
OK, mais uniquement pour les modèles avec E/S intégrées
xiii
Fonctions prises en charge par la version de carte 3.0 ou supérieure
UC CS1-H (CS1@-CPU@@H)
Fonction Version de carte
UC pré-ver. 2.0,
Ver. 2.0
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) --- OK Données de sauvegarde simple étendues --- OK Nouvelles
instructions pour l'application
Fonctions des autres instructions
TXDU(256), RXDU(255) (prennent en charge les communications sans protocole avec les cartes de communications série, avec la version de carte
1.2 ou 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)
Instructions TXDU(235) et RXDU(236) (prennent en charge les communications sans protocole avec les cartes de communications série, avec la version de carte 1.2 ou supérieure)
--- OK
--- OK
--- OK
--- OK
--- OK
--- OK
Ver. 3.0
UC CS1D La version de carte 3.0 n’est pas prise en charge. UC CJ1-H/CJ1M (CJ1@-CPU@@H, CJ1G-CPU@@P, CJ1M-CPU@@)
Fonction Version de carte
UC pré-ver. 2.0,
Ver. 2.0
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) --- OK Données de sauvegarde simple étendues --- OK Nouvelles
instructions pour l'application
Fonctions des autres instructions
TXDU(256), RXDU(255) (prennent en charge les communications sans protocole avec les cartes de communications série, avec la version de carte
1.2 ou 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)
Instructions PRV(881) et PRV2(883) : Ajout de méthodes de calcul à haute fréquence pour calculer la fréquence d'impulsion. (UC CJ1M uniquement)
--- OK
--- OK
--- OK
--- OK
--- OK
--- OK
Ver. 3.0
xiv
Numéros de version 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.
Vous devez utiliser CX-Programmer version 5.0 ou supérieure pour pouvoir bénéficier des blocs de fonction ajoutés à l’UC version 3.0.
Les tableaux suivants montrent la relation entre les versions de la carte et les versions de CX-Programmer.
Numéros de version et périphériques de programmation
UC Fonctions CX-Programmer Console de
Ver. 3.2
ou anté-
rieure
UC CJ1M, modèles économiques, carte ver. 2.0
UC CS1-H, CJ1-H et CJ1M, excepté les modèles économiques, carte ver. 2.0
UC CS1D pour système à UC unique, carte ver. 2.0
UC CS1D pour systèmes à UC en duplex, carte ver. 1.
UC série CS/CJ ver. 3.0
Fonctions ajoutées pour la version 2.0 de la carte
Fonctions ajoutées pour la version 2.0 de la carte
Fonctions ajoutées pour la version 2.0 de la carte
Fonctions ajoutées pour la version 1.1 de la carte
Blocs de fonction ajoutés pour la version de carte 3.0
Nouvelles fonctions utilisées
Nouvelles fonctions non utilisées
Nouvelles fonctions utilisées
Nouvelles fonctions non utilisées
Nouvelles fonctions utilisées
Nouvelles fonctions non utilisées
Nouvelles fonctions utilisées
Nouvelles fonctions non utilisées
Utilisation des blocs de fonction
Blocs de fonction non utilisés
--- --- OK OK Pas de
--- OK OK OK
--- --- OK OK
OK OK OK OK
--- --- OK OK
--- --- OK OK
OK OK OK OK
--- --- --- OK
OK OK OK OK
Ver. 3.3 Ver. 4.0 Ver. 5.0
ou supé-
rieure
OK
program-
mation
restrictions
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 cartes version 2.0 ou 1.1 ne sont pas utilisées.
Réglage du type de périphérique
La version de la carte n'affecte pas le réglage effectué pour le type de périphérique avec 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.
Série Groupe d'UC Modèle d'UC Réglage du type de périphérique
dans CX-Programmer Ver. 4.0 ou
Série CS UC CS1-H
UC CS1D pour systèmes d'UC en duplex CS1D-CPU@@H CS1D-H (ou CS1H-H) UC CS1D pour systèmes à UC seule CS1D-CPU@@S CS1D-S
Série CJ UC CJ1-H CJ1G-CPU@@H CJ1G-H
UC CJ1M CJ1M-CPU@@ CJ1M
CS1G-CPU@@H CS1G-H
CS1H-CPU@@H CS1H-H
CJ1H-CPU@@H CJ1H-H
ultérieure
xv
Résolution des problèmes dus aux versions des cartes dans CX-Programmer
Problème Cause Solution
Vérifiez le programme ou remplacez l'UC téléchargée par une UC version 2.0 ou ulté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 ultérieure.
Il est impossible de télécharger les nouvelles instructions à l'aide de CX-Programmer 3.3 ou inférieur. Utilisez CX­Programmer version 4.0 ou ultérieure.
Après l'affichage du message ci-dessus, une erreur de compilation apparaît dans l'onglet Compile de la fenêtre Output.
« ???? » apparaît dans un programme transféré d'un API vers CX-Programmer.
Vous avez essayé d'utiliser CX-Programmer version 4.0 ou ultérieure pour télécharger vers des UC pré-ver 2.0 un programme contenant des instructions prises en charge uniquement par des UC Version
2.0 ou ultérieure.
Vous avez essayé d'utiliser CX-Programmer 4.0 ou supérieur 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-Program­mer 3.3 ou inférieur pour télé­charger un programme conte­nant des instructions prises en charge uniquement par les UC version 2.0 ou ultérieure à partir d'une UC version 2.0 ou ulté­rieure.
xvi

SOMMARE

PRECAUTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
1 Public visé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
2 Précautions générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
3 Précautions en matière de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
4 Précautions liées à l'environnement d'utilisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
5 Précautions en matière d'application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
6 Conformité aux directives CE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx
CHAPITRE 1
Fonctionnement de l'UC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1-1 Configuration initiale (UC CS1 uniquement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1-2 Utilisation de l'horloge interne (UC CS1 uniquement). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1-3 Structure interne de l'UC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1-4 Modes de fonctionnement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1-5 Programmes et tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1-6 Description des tâches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
CHAPITRE 2
Programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2-1 Concepts de base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2-2 Précautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2-3 Vérification des programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
CHAPITRE 3
Fonction des instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3-1 Instructions d'entrée des séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3-2 Instructions de sortie des séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3-3 Instructions de commande des séquences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3-4 Instructions de temporisation et de compteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3-5 Instructions de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3-6 Instructions de déplacement de données. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3-7 Instructions de décalage de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3-8 Instructions d'incrémentation/décrémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
3-9 Instructions mathématiques à symboles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3-10 Instructions de conversion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3-11 Instructions logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3-12 Instructions mathématiques spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3-13 Instructions mathématiques à virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3-14 Instructions à virgule flottante double précision. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3-15 Instructions de traitement de données de tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
3-16 Instructions de contrôle de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
3-17 Instructions de sous-programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
3-18 Instructions de traitement d'interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
3-19 Instructions de compteur à grande vitesse et de sortie d'impulsion
(CJ1M-CPU21/22/23 uniquement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
3-20 Instructions de pas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
3-21 Instructions des cartes d'E/S standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
3-22 Instructions de communications série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
3-23 Instructions réseaux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
3-24 Instructions de mémoire de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
3-25 Instructions d'affichage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
xvii
SOMMAIRE
3-26 Instructions de temporisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
3-27 Instructions de débogage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
3-28 Instructions de diagnostic d'erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
3-29 Autres instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
3-30 Instructions de programmation de bloc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
3-31 Instructions de traitement des chaînes de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
3-32 Instructions de contrôle des tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
3-33 Instructions de conversion des modèles (UC ver. 3.0 ou supérieure uniquement) . . . . . . . . . . . . . . . 154
3-34 Instructions spéciales des blocs de fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
CHAPITRE 4
Tâches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
4-1 Caractéristiques des tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
4-2 Utilisation de tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
4-3 Tâche d'interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
4-4 Fonctionnement du périphérique de programmation pour les tâches . . . . . . . . . . . . . . . . . . . . . . . . . 189
CHAPITRE 5
Fonctions de mémoire de fichiers. . . . . . . . . . . . . . . . . . . . . . . . . . . 191
5-1 Mémoire de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
5-2 Traitement des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
5-3 Utilisation de la mémoire de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
CHAPITRE 6
Fonctions avancées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
6-1 Temps de cycle et traitement à grande vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
6-2 Registres d'index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
6-3 Communications en série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
6-4 Modification du mode de mise à jour de la PV de temporisation/compteur. . . . . . . . . . . . . . . . . . . . 305
6-5 Utilisation d'une interruption programmée comme temporisation de haute précision
(CJ1M uniquement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
6-6 Paramètres du démarrage et maintenance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
6-7 Fonctions de diagnostic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
6-8 Modes de traitement UC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
6-9 Mode prioritaire du traitement des périphériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
6-10 Fonctionnement sans batterie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
6-11 Autres fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
CHAPITRE 7
Transfert du programme, essais de fonctionnement et débogage. 347
7-1 Transfert du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
7-2 Essais de fonctionnement et débogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Annexes
A Tableaux de comparaison des API : API série CJ, série CS, C200HG/HE/HX,
CQM1H, CVM1 et série CV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
B Modifications par rapport aux systèmes Host Link précédents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Historique des révisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
xviii
A propos de ce manuel :
Ce manuel décrit la programmation des UC pour les automates programmables (API) série CS/CJ et comprend les chapitres présentés à la page suivante. Les séries CS et CJ sont subdivisées comme illustré dans le tableau suivant.
Carte Série CS Série CJ
UC UC CS1-H : CS1H-CPU@@H
UC CS1 : CS1H-CPU@@-EV1
UC CS1D : UC CS1D pour système à double UC : CS1D-CPU@@H UC CS1D pour système à simple UC : CS1D-CPU@@S UC de process CS1D : CS1D-CPU@@P
Cartes d'E/S standard
Cartes d'E/S spéciales
Cartes réseau Cartes réseau série CS Cartes réseau série CJ Cartes
d'alimentation
Cartes d'E/S standard série CS Cartes d'E/S standard série CJ
Cartes d'E/S spéciales série CS Cartes d'E/S spéciales série CJ
Cartes d'alimentation série CS Cartes d'alimentation série CJ
CS1G-CPU@@H
CS1G-CPU@@-EV1
UC CJ1-H : CJ1H-CPU@@H
CJ1G-CPU@@H
UC CJ1 : CJ1G-CPU@@-EV1 UC CJAM : CJ1M-CPU@@
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 d'installer ou d'utiliser des UC série CJ dans un système API.
Ce manuel contient les chapitres suivants :
Chapitre 1 décrit la structure et le fonctionnement de base de l'UC ; Chapitre 2 décrit les informations de base nécessaires pour écrire, vérifier et saisir des programmes ; Chapitre 3 décrit les instructions à utiliser pour écrire des programmes utilisateur ; Chapitre 4 décrit le fonctionnement des tâches ; Chapitre 5 décrit les fonctions utilisées pour gérer la mémoire de fichiers ; Chapitre 6 fournit des informations plus détaillées sur les fonctions avancées : traitement à grande
vitesse/temps de cycle, registres d'index, communications série, démarrage et maintenance, diagnostic et débogage, périphériques de programmation et temps de réponse d'entrée de la carte d'E/S standard CJ ;
Chapitre 7 décrit les processus utilisés pour transférer le programme vers l'UC ainsi que les fonctions à utiliser pour tester et déboguer le programme.
Les Annexes fournissent une comparaison des séries CS/CJ, et indiquent les restrictions d'utilisation des cartes d'E/S spéciales C200H ainsi que les modifications apportées aux systèmes Host Link.
xix
A propos de ce manuel, suite
Nom Cat. N° Sommaire
Série SYSMAC CS/CJ CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H, CS1D-CPU@@H, CS1D-CPU@@S, CJ1G-CPU@@, CJ1M-CPU@@, 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/H-CPU@@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-DPL01 Carte d'alimentation CS1D-PA207R Manuel d'utilisation du système duplex
Série SYSMAC CS/CJ CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H, CS1D-CPU@@H, CS1D-CPU@@S, CJ1G-CPU@@, CJ1M-CPU@@, CJ1G-CPU@@P, CJ1G/H-CPU@@H Manuel de référence des instructions des automates programmables
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, CJ1G-CPU@@, CJ1G/H-CPU@@H, CJ1G-CPU@@P, C J 1 M - C PU @@, 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 du CX-Programmer version 3.@
SYSMAC WS02-CXP@@-E Manuel d'utilisation du CX-Programmer version 4.@
SYSMAC WS02-CXP@@-E Manuel d'utilisation du CX-Programmer version 5.@
W394 Ce manuel décrit la programmation et les autres
modes d'utilisation des fonctions des API série CS/CJ. (Ce manuel)
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.
W393 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.
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.
W340 Décrit les instructions de programmation du
schéma contact pris en charge par les API série CS/CJ.
W341 Fournit des informations sur la programmation et
l'utilisation des API série CS/CJ à l'aide d'une console de programmation.
W342 Décrit la série C (Host Link) et les commandes de
communication FINS utilisées avec les API série CS/CJ.
W414 Fournit des informations sur l'utilisation du CX-
Programmer, un périphérique de programmation
W425
W437
qui prend en charge les API série CS/CJ et le CX­Net présent dans CX-Programmer.
xx
Nom Cat. N° Sommaire
SYSMAC WS02-CXP@@-E Manuel d'utilisation du CX-Programmer – Blocs de fonction
Série SYSMAC CS/CJ CS1W-SCB21-V1/41-V1, CS1W-SCU21-V1, CJ1W­SCU21-V1/41-V1 Manuel d'utilisation des cartes de communications série
SYSMAC WS02-PSTC1-E Manuel d'utilisation du CX-Protocol
W438 Décrit les spécifications et les méthodes d’utilisa-
tion relatives aux blocs de fonction. Ces informa­tions sont requises uniquement lorsque vous utilisez des blocs de fonction avec la combinaison de CX-Programmer ver. 5.0 et UC CS1-H/CJ1-H/ CJ1M ver. 3.0. Reportez-vous au Manuel d'utilisa- tion du CX-Programmer version 5.@ (W437) pour des informations détaillées sur les autres opéra­tions du CX-Programmer ver. 5.0.
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 standards des produits OMRON.
W344 Décrit l'utilisation du 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 appa­reils, 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 com­prendre 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 cette section 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 cette section et comprendre les informations qu'elle renferme.
1 Public visé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
2 Précautions générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
3 Précautions en matière de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
4 Précautions liées à l'environnement d'utilisation. . . . . . . . . . . . . . . . . . . . . . . xxvi
5 Précautions en matière 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
Public visé 1

1 Public visé

Ce manuel est destiné aux personnes suivantes, qui doivent avoir des connaissances en matière de 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 énoncées 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, demandez conseil à votre revendeur OMRON.
Vérifiez que les caractéristiques nominales et les performances du produit sont suffisantes pour les systèmes, machines et équipements, et n'oubliez pas de munir les systèmes, machines et équipements de doubles mécanismes de sécurité.
Ce manuel fournit des informations sur la programmation et l'utilisation de la carte. Vous devez absolument lire ce manuel avant d'essayer d'utiliser la carte 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 ci-dessus, vous devez impérativement consulter votre représentant OMRON.

3 Précautions en matière 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 d'E/S, aux cartes d'E/S spéciales ou aux cartes réseau. Tout changement des données assigné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.
• Configuration/réinitialisation forcée des 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.
xxiv
Précautions en matière de sécurité 3
!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.
!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 dans les articles suivants, afin de garantir la sécurité du système si une anomalie intervient à la suite d'un dysfonctionnement de l'API ou d'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. Sinon, les périphériques reliés à la carte de sortie risquent de connaître des dysfonctionnements indépendamment du mode d'opération 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. Un fonctionnement anormal pourrait provoquer des accidents graves.
!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 se pourrait 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é.
!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. Sinon, les signaux d'entrée risquent d'être illisibles.
!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 personnels 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ératures.
• 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 les 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 en matière 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
Précautions en matière d'application 5
!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 d'E/S, des UC ou des autres cartes.
• Assemblage des cartes.
• Réglage des interrupteurs DIO 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 dysfonctionne-
ment 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 l'opération de 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. Lorsque 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. Que ce soit exprès ou pas, évitez de lancer 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 n'excède 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 saturée (ce qui est possible lorsque CX-Programmer est utilisé), les données restantes sont écrites sur la zone EM.
xxvii
Précautions en matière d'application 5
• 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.
• 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 ceci survient. (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 des sorties internes 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 per­dues. 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 borniers sélecteurs 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. Faire particulièrement attention aux lieux 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..
xxviii
Précautions en matière d'application 5
• 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 rack arrière sont serrées au couple spécifié 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 les 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 unités 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. Sans cela, le système risque de fonctionner de façon imprévisible.
• Modification du mode de fonctionnement de l'API.
• Configuration/réinitialisation forcée d'un bit en mémoire.
• Modification de la valeur actuelle d'un mot ou d'une valeur définie 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. Sinon, vous risquez 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. Cela pourrait endommager le périphérique externe ou l'UC.
• 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.
xxix
Conformité aux directives CE 6
• Avant de toucher une carte, touchez d'abord un objet métallique relié à la terre afin de vous décharger de toute l'électricité statique qui a pu s'accumuler. Le non-respect de cette règle peut provoquer un dysfonctionnement ou des dommages.
• 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 d'E/S, des cartes d'E/S spéciales et des cartes réseau 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é, à l'extrême droite de l'API. Sans cette plaque, l'API ne fonctionnera pas correctement.
• Un fonctionnement inattendu peut survenir si des tableaux de liaison de données ou des paramètres inappropriés sont configurés. Même si les données 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éseau redémarrent lorsque les tableaux de routage sont transférés depuis un périphérique de programmation vers l'UC. Le redémarrage de ces cartes est nécessaire pour lire et activer les nouveaux tableaux de routage. Assurez-vous que le système ne risque pas d'être endommagé avant de permettre la réinitialisation des cartes réseau.

6 Conformité aux directives CE

6-1 Directives applicables
• Directives relatives à la compatibilité électromagnétique (CEM)
• Directive relative aux basses tensions
6-2 Concepts
Directives sur la CEM
Les appareils OMRON qui sont en conformité avec les directives CE respectent également les normes de la 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 de la 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 qui sont en conformité avec les directives CE varient selon la configuration, le câblage et d'autres particularités de l'équipement et du panneau de commande sur lesquels sont installés les dispositifs OMRON. Le client doit dès lors effectuer
xxx
Conformité aux directives CE 6
un contrôle final pour s'assurer que les dispositifs et l'ensemble de la machine sont en conformité avec les normes de la CEM.
Remarque Les normes CEM (Compatibilité électromagnétique) d'application sont les
suivantes :
EMS (Electromagnetic Susceptibility, susceptibilité électromagnétique) :
Série CS : EN61131-2 et EN61000-6-2 Série CJ : EN61000-6-2
(Electromagnetic Interference, interférence électromagnétique) :
EN61000-6-4 (Emission de radiations : réglementation 10 m)
Directive sur la basse tension
Assurez-vous toujours que les dispositifs qui fonctionnent à des tensions comprises entre 50 et 1 000 Vc.a. et 75 à 1 500 Vc.c. respectent les normes de sécurité requises pour l'API (EN61131-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... 1. L'API série CS/CJ doit être installé dans un panneau de commande.
2. Pour les alimentations c.c. connectées à des cartes d'alimentation c.c. et des cartes d'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 des radiations (réglementations de 10 m) peuvent varier en fonction de la configuration du panneau de commande utilisé, des autres périphériques connectés à celui-ci, du câblage et d'autres facteurs. Vous devez dès lors vous assurer que l'ensemble de la machine ou de l'équipement est conforme aux dispositions des directives CE.
6-4 Méthodes de réduction des parasites des sorties relais
Les API série 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 contre­mesures 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
Conformité aux directives CE 6
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 Caractéristique Elément requis
c.a. c.c.
Méthode CR
C Alimen­tation
R
Charge
Méthode avec diode
Alimen­tation
Méthode à varistor
Alimen­tation
Charge
Oui Oui 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
inductive
ou 48 V, placez le limiteur de tension en parallèle avec la charge. Si la tension d'alimentation est comprise entre 100 et 200 V, placez le limiteur entre les contacts.
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
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
inductive
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.
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 à é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 tension est appliqué à des circuits électroniques présentant de faibles tensions de circuit.
---
xxxii
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
SORTIE
R
COM
Fourniture d'un courant d'obscurité d'environ un tiers de la valeur nominale via une lampe à incandescence.
SORTIE
COM
Fourniture d'une résistance de limitation
R
Fonctionnement de l'UC
Ce chapitre décrit la structure et le fonctionnement de base de l'UC.
1-1 Configuration initiale (UC CS1 uniquement) . . . . . . . . . . . . . . . . . . . . . . . . . 2
1-2 Utilisation de l'horloge interne (UC CS1 uniquement). . . . . . . . . . . . . . . . . . 5
1-3 Structure interne de l'UC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1-3-1 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1-3-2 Diagramme des blocs de la mémoire de l'UC. . . . . . . . . . . . . . . . . . 7
1-4 Modes de fonctionnement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1-4-1 Description des modes de fonctionnement. . . . . . . . . . . . . . . . . . . . 8
1-4-2 Initialisation de la mémoire E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1-4-3 Mode de démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1-5 Programmes et tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1-6 Description des tâches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
CHAPITRE 1
1
Configuration initiale (UC CS1 uniquement) Chapitre 1-1

1-1 Configuration initiale (UC CS1 uniquement)

Installation de la batterie Avant d'utiliser l'UC CS1, vous devez installer la batterie dans l'UC en
respectant la procédure suivante.
1,2,3... 1. Insérez un tournevis plat dans le petit trou du bas du compartiment de la
batterie et tirez le couvercle vers le haut pour l'ouvrir.
2
Configuration initiale (UC CS1 uniquement) Chapitre 1-1
2. Tenez la batterie, le câble vers l'extérieur, et insérez-la dans le compartiment.
Compartiment de la batterie
3. Branchez le connecteur de la batterie dans la borne du connecteur de batterie. Connectez le fil rouge dans le bornier du haut et le fil blanc dans le bornier du bas. Il y a deux borniers de connecteur de batterie ; connectez la batterie dans l'un des deux. Peu importe celui que vous utilisez.
Rouge
Bornes de raccordement de la batterie (Utiliser l'un des deux borniers.)
Blanc
4. Pliez le câble et fermez le couvercle.
3
Configuration initiale (UC CS1 uniquement) Chapitre 1-1
Effacement de la mémoire Après avoir installé la batterie, effacez la mémoire grâce à la fonction
d'effacement de la mémoire afin d'initialiser la mémoire RAM de l'UC.
Console de programmation
A partir d'une console de programmation, procédez comme suit :
Affichage initial
NOT
SET RESET
MON
(ou
0
0
1
MON
)
Remarque Lorsque vous effacez la mémoire à partir d'une console de programmation,
vous ne pouvez pas spécifier plus d'une tâche cyclique. Vous pouvez spécifier une tâche cyclique et une tâche d'interruption, ou une tâche cyclique et pas de tâche d'interruption. Consultez le Manuel de fonctionnement pour plus d'informations sur l'effacement de la mémoire. Consultez CHAPITRE 1 Fonctionnement de l'UC et CHAPITRE 4 Tâches pour plus d'informations sur les tâches.
CX-Programmer
Il est également possible d'effacer la mémoire à partir de CX-Programmer. Veuillez vous reporter au Manuel d'utilisation de CX-Programmer pour de plus amples informations sur les procédures actuelles.
Erreurs d'effacement Après avoir effacé la mémoire, effacez toutes les erreurs de l'UC, y compris
les erreurs de tension de batterie faible.
Console de programmation
A partir d'une console de programmation, procédez comme suit :
Affichage initial
MONFUN MON
(L'erreur affichée sera effacée.)
MON
(Revient à l'affichage initial.)
CX-Programmer
Il est également possible d'effacer les erreurs à partir de CX-Programmer. Veuillez vous reporter au Manuel d'utilisation de CX-Programmer pour de plus amples informations sur les procédures actuelles.
Remarque Lorsqu'une carte interne est montée, il se peut qu'une erreur de table de
routage de la carte interne apparaisse toujours, même après avoir annulé l'erreur à l'aide de CX-Programmer. (A42407 sera sur ON pour une carte de communications série.) Si cela se produit, remettez l'appareil sous tension ou redémarrez la carte interne, puis annulez une nouvelle fois l'erreur.
4
Utilisation de l'horloge interne (UC CS1 uniquement) Chapitre 1-2

1-2 Utilisation de l'horloge interne (UC CS1 uniquement)

Lorsque la batterie est installée dans l'UC série CS, les paramètres de l'horloge interne de l'UC sont les suivants : année 00, mois 01, jour 01 (00-01-01), 00 heure, 00 minute, 00 seconde (00:00:00) et Dimanche (SUN).
Pour utiliser l'horloge interne, mettez le système sous tension après avoir installé la batterie et 1) utilisez un périphérique de programmation (console de programmation ou CX-Programmer) pour définir l'heure, 2) exécutez l'instruction CLOCK ADJUSTMENT (DATE) ou 3) envoyez une commande FINS pour lancer l'horloge interne à partir de l'heure et la date actuelle correcte.
Vous trouverez ci-dessous la procédure d'utilisation de la console de programmation pour régler l'horloge interne.
Séquence des opérations
Affichage initial
FUN
SHIFT
MON
0
CHG
Données
Spécifier : Année Mois Jour Heure Min. Sec.
WRITE
5
Structure interne de l'UC Chapitre 1-3

1-3 Structure interne de l'UC

1-3-1 Présentation
Le diagramme suivant décrit la structure interne de l'UC.
UC
Programme utilisateur
Sauve­garde automa­tique
Mémoire flash
(UC CS1-H, CS1D, CJ1-H ou CJ1M uniquement)
Mémoire E/S
Sauve­garde automa­tique
Mémoire de fichiers EM
Configuration de l'API et autres paramètres :
Accès
Carte de mémoire
Connecteur DIP
Tâche 1
Tâche 2
Tâche n
La mémoire E/S, la configuration de l'API, les programmes et la zone EM peuvent être enregistrés dans des fichiers.
Le programme est divisé en tâches, lesquelles sont exécutées dans l'ordre des numéros de tâche.
Le programme utilisateur Le programme utilisateur est créé à partir de 288 tâches de programme
maximum, y compris les tâches d'interruption. Les tâches sont transférées vers l'UC à partir du logiciel de programmation CX-Programmer.
Il existe deux types de tâche : une tâche cyclique, exécutée une fois par cycle (maximum 32), et une tâche d'interruption, exécutée uniquement lorsque se produisent les conditions d'interruption (maximum 256). Les tâches cycliques sont exécutées dans l'ordre numérique.
Remarque 1. Dans le cas d'une UC CS1-H, CJ1-H, CJ1M ou CS1D, les tâches
d'interruption peuvent être exécutées de manière cyclique, comme les tâches cycliques. On les appelle alors des « tâches cycliques extra ». Le nombre total de tâches pouvant être exécutées de manière cyclique doit être de maximum
288.
2. Avec CX-Programmer, utilisez la version 2.1 ou supérieure pour une UC CS1­H ou CJ1-H et la version 3.0 ou supérieure pour une UC CJ1M (excepté pour les modèles économiques) ou l'UC CS1D pour les systèmes d'UC en duplex. Lorsque vous utilisez une UC CJ1M bas de gamme (CJ1M-CPU11/CPU21), utilisez la version 3.3 ou supérieure de CX-Programmer. Si vous utilisez une UC CS1-H, CJ1-H CJ1M ou CS1D version 2.0 ou supérieure, utilisez CX­Programmer version 4.0 ou supérieure.
Les instructions du programme sont lues et écrites dans la mémoire E/S et sont exécutées en commençant par le haut du programme. Lorsque toutes les tâches cycliques sont exécutées, les E/S de toutes les unités sont mises à jour et le cycle recommence en débutant au numéro de tâche cyclique le plus bas.
Consultez le chapitre sur le fonctionnement de l'UC dans le Manuel d'utilisation de la série CS/CJ pour plus de détails sur la mise à jour d'E/S.
6
Structure interne de l'UC Chapitre 1-3
Mémoire E/S La mémoire E/S est la zone RAM utilisée pour lire et écrire à partir du
programme utilisateur. Elle comprend une zone effacée lors de la mise sous et hors tension et une autre zone qui conserve les données.
La mémoire E/S est également découpée en deux zones : une qui échange les données avec toutes les unités et l'autre réservée à l'usage interne. Les données sont échangées avec toutes les unités une fois par cycle d'exécution du programme et lorsque des instructions spécifiques sont envoyées.
Configuration de l'API La configuration de l'API permet de définir plusieurs paramètres initiaux ou
autres grâce aux interrupteurs du logiciel.
Interrupteurs DIP Les interrupteurs DIP permettent de définir des paramètres initiaux ou autres
via les interrupteurs matériels.
Cartes mémoire Les cartes mémoire sont utilisées, en cas de nécessité, pour stocker des
données telles que les programmes, les données de mémoire E/S, la configuration de l'API et les commentaires d'E/S créés par les périphériques de programmation. Il est possible d'écrire les programmes et les différents paramètres du système automatiquement à partir de la carte mémoire lors de la mise sous tension (transfert automatique au démarrage).
Mémoire flash (UC CS1-H, CS1D, CJ1-H ou CJ1M uniquement)
Avec une CU CS1-H, CJ1-H, CJ1M ou CS1D, les données du programme utilisateur et de la zone des paramètres, telles que la configuration de l'API, sont automatiquement sauvegardées dans la mémoire flash intégrée chaque fois que l'utilisateur écrit des données vers l'UC. Ceci permet un fonctionnement sans batterie sans utiliser la carte mémoire. La mémoire E/S, ainsi que la majorité de la zone DM, ne sont pas sauvegardées sans batterie.
1-3-2 Diagramme des blocs de la mémoire de l'UC
La mémoire de l'UC (RAM) est formée des blocs suivants, dans le cas de la série CS/CJ :
• La zone des paramètres (configuration de l'API, table d'E/S enregistrées, tableau de routage et paramètres des cartes réseau)
• Zones de mémoire E/S
• Le programme utilisateur
Les données de la zone des paramètres et des zones de mémoire E/S sont sauvegardées grâce à une batterie (série CS : CS1W-BAT01, CJ1-H : CPM2A-BAT01) et seront perdues si la tension de la batterie est trop faible.
Cependant, les UC CS1-H, CJ1-H, CJ1M ou CS1D disposent d'une mémoire flash intégrée pour la sauvegarde des données. Les données du programme utilisateur et de la zone de paramètres sont automatiquement sauvegardées dans la mémoire flash intégrée chaque fois que l'utilisateur écrit des données vers l'UC à partir d'un périphérique de programmation (CX-Programmer ou la console de programmation) : transfert de données, édition en ligne, transfert à partir de la carte mémoire, etc. Ainsi, les données du programme utilisateur et de la zone de paramètres ne seront jamais perdues, même si la batterie tombait en panne.
7
Modes de fonctionnement Chapitre 1-4
UC
RAM intégrée
Zone de mémoire d'E/S
Mémoire flash (UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement)
Programme utilisateur
Zone de paramètres
Zone de mémoire des commentaires
Zone de mémoire de programme FB
Ecriture automatiq
Ecriture automatique
Remarque 1. La zone de paramètres et le programme utilisateur (c-à-d la mémoire
Lecteur 1 : Mémoire des fichiers EM (voir remarque 2)
Sauvegarde
Programme utilisateur
Zone de paramètres (Voir remarque 1.)
Une batterie neuve a une durée de vie de cinq ans maximum à une température ambiante de 25°C
Lecteur 0 : Carte mémoire (Mémoire flash)
Mémoire de fichiers
Automatiquement sauvegardée dans la mémoire flash chaque fois qu'une opération d'écriture pour la zone de mémoire utilisateur (programme utilisateur ou zone de paramètres) est exécutée à partir d'un périphérique de programmation.
Utilisée pour stocker les fichiers des tables de symboles, les fichiers de commentaires et les fichiers d'index de programme. Les UC avec une version de carte 3.0 ou supérieure, la carte mémoire, la mémoire des fichiers EM ou la mémoire des commentaires peuvent être sélectionnées comme destination lorsque vous transférez des projets à partir de CX-Programmer ver. 5.0.
Lorsque vous transférez des projets contenant des blocs de fonction du CX­Programmer pour les UC avec la version de carte 3.0 ou supérieure, les informations du programme de blocs de fonctions sont automatiquement stockées dans la zone de mémoire de programme FB.
Batterie
utilisateur) peuvent être protégés en écriture en définissant à ON la broche 1 de l'interrupteur DIP sur la face avant de l'UC.
2. La mémoire de fichiers EM fait partie de la zone EM convertie en mémoire de fichiers dans la configuration de l'API. Toutes les banques EM, de la banque spécifiée jusqu'à la fin de la zone EM, ne peuvent être utilisées que comme mémoire de fichiers pour le stockage de données et de fichiers programmes.
3. Veillez à installer la batterie fournie (CS1W-BAT01) avant d'utiliser l'UC CS1 pour la première fois. Lorsque la batterie est installée, utilisez un périphérique de programmation pour effacer la mémoire RAM de l'API (zone de paramètre, zone de mémoire E/S et programme utilisateur).
4. Une batterie est installée sur les UC CS1-H, CJ1, CJ1-H, CJ1M ou CS1D en usine. Dans ce cas, il n'est pas nécessaire d'effacer la mémoire ou régler l'heure.
5. Le voyant BKUP à l'avant de l'UC s'allume lorsque des données sont écrites dans la mémoire flash. Ne mettez pas l'UC hors tension tant que la sauvegarde n'est pas terminée (c-à-d tant que le voyant BKUP n'est pas éteint). Consultez la section 6-6-11 Mémoire flash pour plus d'informations.

1-4 Modes de fonctionnement

1-4-1 Description des modes de fonctionnement
L'UC dispose des modes de fonctionnement suivants. Ces modes contrôlent tout le programme utilisateur et sont communs à toutes les tâches.
8
Modes de fonctionnement Chapitre 1-4
Mode PROGRAM L'exécution du programme s'arrête en mode PROGRAM et le voyant RUN
n'est pas allumé. Ce mode est utilisé lors de l'édition du programme ou d'autres opérations de préparation telles que :
• l'enregistrement de la table d'E/S
• la modification de la configuration de l'API et d'autres paramètres
• le transfert et le contrôle des programmes
• la configuration et la réinitialisation forcée des bits pour vérifier le câblage et l'affectation des bits.
Dans ce mode, aucune tâche cyclique et d'interruption ne s'exécute (INI), elles s'arrêtent. Voir la section 1-6 Description des tâches pour plus de détails sur les tâches. La mise à jour d'E/S s'effectue en mode PROGRAM. Consultez le Manuel de fonctionnement pour plus d'informations sur la mise à jour d'E/S.
!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 d'E/S, aux cartes d'E/S spéciales ou cartes réseau. Tout changement des données assigné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.
• Configuration/réinitialisation forcée des 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.
Mode MONITOR Lorsque le programme s'exécute en mode MONITOR, il est possible d'effectuer
les opérations suivantes via les périphériques de programmation. Le voyant RUN est allumé. Ce mode est utilisé pour effectuer des tests ou d'autres réglages.
• Edition en ligne
• Reconfiguration et réinitialisation des bits
• Changement des valeurs de la mémoire E/S
Dans ce mode, les tâches cycliques qui doivent être exécutées au démarrage (voir remarque) et celles exécutables par TKON(820) seront exécutées lorsque l'exécution du programme atteindra leur numéro de tâche. Les tâches d'interruption seront exécutées si les conditions d'interruption se présentent.
Remarque Les tâches exécutées au démarrage sont spécifiées dans les propriétés du
programme à partir de CX-Programmer.
Mode RUN Ce mode est utilisé pour l'exécution normale du programme. Le voyant RUN
est allumé. Certaines opérations du périphérique de programmation telles que l'édition en ligne, la configuration et la réinitialisation forcées ainsi que le changement des valeurs de la mémoire E/S sont désactivées dans ce mode. Par contre, d'autres opérations du périphérique de programmation telles que la surveillance de l'état de l'exécution du programme (surveillance des programmes et de la mémoire E/S) sont activées.
Utilisez ce mode pour le fonctionnement normal du système. L'exécution des tâches est la même qu'en mode MONITOR.
9
Modes de fonctionnement Chapitre 1-4
Consultez Modes d'utilisation de l'UC 10-2 dans le Manuel d'utilisation pour plus de détails sur les opérations disponibles avec chaque mode de fonctionnement.
1-4-2 Initialisation de la mémoire E/S
Le tableau suivant présente les zones de données qui seront effacées lorsque le mode de fonctionnement est commuté du mode PROGRAM au mode RUN/ MONITOR ou vice-versa.
Modification du mode Zones non-
conservées
(Remarque 1)
RUN/MONITOR PROGRAM Effacé (Remarque 3.) Conservé PROGRAM RUN/MONITOR Effacé (Remarque 3.) Conservé RUN MONITOR Conservé Conservé
Remarque 1. Zones non-conservées : zone CIO, zone de travail, valeurs actuelles de
temporisation, drapeaux de fin de temporisation, registres d'index, registres de données, drapeaux des tâches et drapeaux de conditions. (L'état de certaines adresses de la zone auxiliaire sont conservées et d'autres sont effacées.)
2. Zones conservées : zone de maintien, zone DM, zone EM, valeurs actuelles du compteur et drapeaux de fin de compteur.
3. Les données dans la mémoire E/S seront conservées tant que le bit de maintien IOM (050012) est ON. Lorsque le bit de maintien (A50012) est ON et que le fonctionnement s'arrête à cause d'une erreur fatale (y compris FALS(007)), le contenu de la mémoire E/S est conservé mais les sorties des cartes de sorties passeront toutes à OFF.
Zones conservées
(Remarque 2)
10
Modes de fonctionnement Chapitre 1-4
1-4-3 Mode de démarrage
Consultez le Manuel d'utilisation pour plus de détails sur le réglage du mode de démarrage de l'UC.
Remarque Dans le cas des UC CJ1, CS1-H, CJ1-H, CJ1M ou CS1D, l'UC démarrera en
mode RUN si aucune console de programmation n'est connectée. Ce phéno­mène est contraire au fonctionnement par défaut d'une UC CS1 puisque l'UC démarre en mode PROGRAM par défaut si aucune console de programmation n'est connectée.
Conditions UC CS1 UC CS1-H, CJ1-H,
La configuration de l'API est telle que le démarrage doit se faire en fonction du mode défini sur la console de programmation, mais aucune console de programmation n'est connectée.
Mise sous tension
Défini dans
la configuration de l'API
selon le mode de la console
de program-
mation ?
Oui
Console de
programmation
connectée ?
Non
Non
Oui
CJ1M ou CS1D
uniquement
Mode PROGRAM Mode RUN
L'UC démarrera dans le mode défini dans la configuration de l'API.
L'UC démarrera dans le mode défini dans la console de programmation.
UC CS1-H, CJ1-H ou CJ1M : UC démarre en mode RUN.
UC CS1 : UC démarre en mode PROGRAM.
11
Programmes et tâches Chapitre 1-5

1-5 Programmes et tâches

Les tâches précisent l'ordre et les conditions d'interruption dans lesquelles les programmes individuels seront exécutés. Elles sont regroupées en deux types :
1,2,3... 1. les tâches exécutées de manière séquentielle, appelées tâches cycliques,
2. les tâches exécutées par des conditions d'interruption, appelées tâches d'interruption.
Remarque Dans le cas des UC CS1-H, CJ1-H, CJ1M ou CS1D, les tâches d'interruption
peuvent être exécutées de manière cyclique, comme les tâches cycliques. On les appelle alors des « tâches cycliques extra ».
Les programmes affectés aux tâches cycliques sont exécutés par ordre de numéro de tâche et les E/S sont mises à jour une fois par cycle, lorsque toutes les tâches ont été exécutées (ou plutôt, uniquement les tâches dont l'état est « exécutable »). Si une condition d'interruption se présente au cours du traitement des tâches cycliques, la tâche cyclique sera interrompue et le programme affecté à cette tâche d'interruption sera exécuté.
Consultez le chapitre sur le fonctionnement de l'UC dans le Manuel d'utilisation de la série CS/CJ pour plus d'informations sur la mise à jour d'E/S.
Programme A
Tâche
cyclique 0
Tâche cyclique 1
Tâche cyclique n
Mise à jour d'E/S
La condition d'interruption prend effet
Allocation
Allocation
Allocation
Tâche d'interrupt
Programme B
Allocation
Programme C
Programme D
Dans l'exemple ci-dessus, la programmation s'effectuera dans l'ordre suivant : démarrage de A, B, reste de A, C, puis D. Cela suppose que la condition d'interruption de la tâche d'interruption 100 a été établie lors de l'exécution du programme A. Lorsque le programme B est complètement exécuté, le système reprend l'exécution du programme A là où il s'était arrêté.
Avec les anciens API d'OMRON, un programme continu est formé de plusieurs parties continues. Les programmes affectés à chaque tâche sont des programmes uniques qui se terminent par une instruction END, comme le programme unique des anciens API.
12
Programmes et tâches Chapitre 1-5
Les tâches cycliques présentent notamment l'avantage suivant : elles peuvent être activées (état exécutable) et désactivées (état en attente) par les instructions de contrôle des tâches. Cela signifie que plusieurs composants du programme peuvent être rassemblés pour former une tâche et que seuls des programmes spécifiques (tâches) peuvent ensuite être exécutés selon les besoins du modèle ou du traitement du produit réalisé (commutation des étapes du programme). Ce système permet d'améliorer nettement les performances (temps de cycle) car seuls les programmes nécessaires sont exécutés.
Système antérieur
Un seul sous­programme continu
Mise à jour d'E/S
Série CS/CJ
Tâche 1
Allocation
Tâche 2
Tâche 3
Mise à jour d'E/S
Les tâches peuvent être placées dans un état non exécutable (en attente)
Une tâche qui a été exécutée sera exécutée lors des cycles suivants et une tâche mise en attente le restera lors des cycles suivants, sauf si elle est à nouveau exécutée à partir d'une autre tâche.
Remarque Contrairement aux anciens programmes, qui pouvaient être comparés à la
lecture d'une liste déroulante, les tâches peuvent être comparées à la lecture d'une série de cartes individuelles.
• Chaque carte est lue dans un ordre prédéfini, en commençant par le plus petit chiffre.
• Chaque carte reçoit l'état actif ou inactif et les cartes inactives sont ignorées. (Les cartes sont activées ou désactivées par les instructions de contrôle des tâches.)
13
Description des tâches Chapitre 1-6
• Une carte définie comme activée restera activée et sera lue lors des séquen­ces suivantes. Une carte définie comme désactivée restera désactivée et sera passée jusqu'à ce qu'elle soit réactivée par une autre carte.
Programme antérieur : comme une liste déroulante
Programme série CS/CJ : comme une série de cartes qui peut être activée ou désactivée par d'autres cartes.
Activé Désactivé

1-6 Description des tâches

Les tâches sont regroupées en deux types :
1,2,3... 1. Tâches cycliques (maximum 32)
Ces tâches sont exécutées une fois par cycle si elles sont exécutables. Si nécessaire, il est possible de désactiver l'exécution des tâches cycliques.
2. Tâches d'interruption Ces tâches sont exécutées lorsqu'une interruption se produit, qu'une tâche
cyclique soit ou non exécutée. Les tâches d'interruption (voir remarques 1 et
2) sont regroupées sous les quatre types suivants (cinq types, si l'on compte les tâches cycliques extra pour les UC CS1-H, CJ1-H, CJ1M ou CS1D) :
a. Tâche d'interruption de mise hors tension (pas prise en charge par les
UC CS1D pour les systèmes d'UC en duplex) : exécutée lorsque l'alimentation est interrompue. (1 max.)
b. Tâche d'interruption programmée (pas prise en charge par les UC
CS1D pour les systèmes d'UC en duplex) : exécutée à intervalles précis. (2 max.)
c. Tâche d'interruption d'E/S (pas prise en charge par les UC CJ1 ou
CS1D pour les systèmes d'UC en duplex) : exécutée lorsque l'entrée de la carte d'entrée d'interruption passe à ON (32 max.)
d. Tâche d'interruption externe (non prise en charge par les UC CJ1 ou
CS1D pour systèmes d'UC en duplex) : exécutée (256 max.) suite à la demande d'une carte d'E/S spéciales, une carte réseau ou une carte interne (Série CS uniquement).
e. Tâche cyclique supplémentaire (prise en charge uniquement par les
UC CS1-H, CJ1-H, CJ1M et CS1D) :
Tâches d'interruption traitées comme des tâches cycliques. Les tâches cycliques extra sont exécutées une fois dans chaque cycle tant qu'elles ont l'état exécutable.
Avec CX-Programmer, il est possible de créer et de contrôler jusqu'à 288 tâches avec 288 programmes (jusqu'à 32 tâches cycliques et 256 tâches d'interruption).
14
Description des tâches Chapitre 1-6
Remarque 1. Les UC CJ1 ne prennent actuellement pas en charge les tâches d'interruption
d'E/S et externes. Le nombre maximal de tâches pour une UC CJ1 est donc de 35, c-à-d 32 tâches cycliques et 3 tâches d'interruption. Le nombre total de programmes pouvant être créés et gérés est également de 35.
2. Les UC CS1D ne prennent en charge aucune tâche d'interruption. Cependant, avec les UC CS1D, vous pouvez utiliser les tâches d'interruption en tant que tâches cycliques extra.
Le rapport entre le nombre de programmes alloués à une tâche est de 1:1. Ce rapport est déterminé dans CX-Programmer, dans les différents paramètres de propriétés du programme.
Tâche cyclique 0
Tâche d'interruption 5
Tâches exécutées dans l'ordre croissant des numéros.
Tâche cyclique 1
Une interruption se produit
Tâche cyclique 2
Rem Les drapeaux de condition (ER, >, =, etc.) et les conditions
d'instruction (verrouillage ON, etc.) sont remis à zéro au début de chaque tâche.
Mise à jour d'E/S
Traitement des périphériques
Structure du programme Il est possible de créer et d'affecter des sous-programmes standard aux
tâches si vous en avez besoin pour créer des programmes. Cela signifie qu'il est possible de créer des programmes dans des modules (composants standard) et de déboguer des tâches de manière individuelle.
15
Description des tâches Chapitre 1-6
Sous-programmes standard
Programme utilisateur ABC Programme utilisateur ABD
Tâche 1 (A)
Tâche 1 (A)
Etat exécutable et en attente
Programme
Tâche 2 (B)
Tâche 3 (C)
Tâche 2 (B)
Tâche 3 (D)
Lors de la création de programmes modulaires, vous pouvez préciser des adresses à l'aide de symboles afin de faciliter la standardisation.
Les instructions TASK ON et TASK OFF (TKON(820) et TKOF(821)) peuvent être exécutées en une seule tâche afin de pouvoir attribuer à une autre tâche l'état exécutable ou en attente.
Les instructions qui se trouvent dans des tâches mise en attente ne seront pas exécutées mais l'état d'E/S sera conservé. Lorsqu'une tâche récupère son état exécutable, les instructions seront exécutées avec l'état d'E/S qui avait été conservé.
Exemple : Programmation à l'aide d'une tâche de contrôle
Dans cet exemple, la tâche 0 est une tâche de contrôle exécutée d'abord au début de l'opération. Les autres tâches peuvent être définies à partir de CX­Programmer (mais pas d'une console de programmation) de manière à ce qu'elles démarrent, ou non, au début de l'opération.
Lorsque l'exécution du programme a commencé, il est possible de contrôler les tâches grâce aux instructions TKON(820) et TKOF(821).
Tâche 0
16
Tâche 0 (tâche de contrôle)
Tâche 1
Tâche 2
Tâche 3
Exemple :
La tâche 0 est configurée de manière à être exécutée au début de l'opération (défini dans les propriétés du programme à partir du CX-Programmer). La tâche 1 est exécutable lorsque a est sur ON. La tâche 1 est mise en attente lorsque b est sur ON. Les tâches 2 et 3 sont exécutables lorsque c est sur ON. Les tâches 2 et 3 sont mises en attente lorsque d est sur ON.
Description des tâches Chapitre 1-6
Program
Tâche 0
Tâche 1
Tâche 0
Tâche 1
Tâche 2
Tâche 3
Tâche 0
Tâche 1
Tâche 2
Tâche 3
Démarrer tâche 1 lorsque a est sur ON.
Démarrer tâches 2 et 3 lorsque c est sur ON.
Tâche 0
Tâche 1
Tâche 2
Tâche 3
Tâche 0
Tâche 1
Tâche 2
Tâche 3
Mettre tâche 1 en attente lorsque b est sur ON.
Mettre tâches 2 et 3 en attente lorsque d est sur ON.
Tâche 0
Tâche 1
Tâche 2
Tâche 3
Tâche 0
Tâche 1
Tâche 2
Tâche 3
Exemple : chaque tâche est contrôlée par une autre tâche
Dans cet exemple, chaque tâche est contrôlée par une autre tâche.
Programme pour la tâche
Tâche 0
Tâche 1
Tâche 2
Remarque
Tâche 2
Exemple :
Démarrer tâche 1 lorsque a est sur ON.
Tâche 0
Tâche 1
Tâche 2
TKOF(821) peut être utilisé dans une tâche pour la mettre en attente.
Programme pour la tâche 1
La tâche 1 est configurée pour être exécutée sans condition au début de l'opération. Tâche 1 exécutable lorsque a est sur ON. Tâche 1 mise en attente lorsque b est sur ON. Tâche 2 exécutable lorsque c est sur ON et que tâche 1 a été exécutée.
Mettre tâche 1 en attente
Tâche 0
lorsque b est sur ON.
Tâche 1
Tâche 2
Si tâche 1 exécutée
Démarrer tâche 2 lorsque c est sur ON.
Tâche 0
Tâche 1
Tâche 2
17
Description des tâches Chapitre 1-6
Temps d'exécution des tâches
Remarque A partir de là, les instructions qui se trouvent dans une tâche en attente
Lorsqu'une tâche est en attente, les instructions de cette tâche ne sont pas exécutées ; le temps d'exécution de l'instruction OFF n'est donc pas ajouté au temps de cycle.
peuvent être comparées aux instructions qui se trouvent dans une partie de programme sautée (JMP-JME).
Etant donné que les instructions se trouvant dans une tâche non exécutée n'augmentent pas le temps de cycle, il est possible d'améliorer de manière significative les performances globales du système en scindant le système en une tâche de contrôle globale et des tâches individuelles exécutées uniquement lorsque cela s'avérera nécessaire.
La plupart des instructions sont exécutées. (Les instructions des sous-programmes et des sauts sont exécutées uniquement lorsque cela est nécessaire.)
Tâche 0
Tâche 1
Tâche 2
Tâche 3
Les instructions sont exécutées uniquement lorsque cela est nécessaire.
18
CHAPITRE 2
Programmation
Ce chapitre décrit les informations de base nécessaires pour écrire, vérifier et entrer des programmes.
2-1 Concepts de base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2-1-1 Programmes et tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2-1-2 Informations de base concernant les instructions . . . . . . . . . . . . . . . 21
2-1-3 Emplacement de l'instruction et conditions d'exécution. . . . . . . . . . 23
2-1-4 Adressage des zones de mémoire E/S . . . . . . . . . . . . . . . . . . . . . . . 24
2-1-5 Spécification des opérandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2-1-6 Formats de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2-1-7 Variations des instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2-1-8 Conditions d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2-1-9 Temporisation des instructions d'E/S . . . . . . . . . . . . . . . . . . . . . . . . 37
2-1-10 Programmation de la mise à jour . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2-1-11 Capacité de programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2-1-12 Concepts de base de programmation du schéma contact . . . . . . . . . 42
2-1-13 Insertion de mnémoniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2-1-14 Exemples de programmes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2-2 Précautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2-2-1 Drapeaux de condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2-2-2 Sections de programmes spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2-3 Vérification des programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2-3-1 Erreurs lors de l'entrée de périphériques de programmation . . . . . . 64
2-3-2 Vérification du programme par CX-Programmer. . . . . . . . . . . . . . . 64
2-3-3 Vérification de l'exécution du programme . . . . . . . . . . . . . . . . . . . . 66
2-3-4 Vérification des erreurs fatales :. . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
19
Concepts de base Chapitre 2-1

2-1 Concepts de base

2-1-1 Programmes et tâches
Les API série CS/CJ exécutent les programmes du schéma contact inclus dans les tâches. Le programme de schéma contact de chaque tâche se termine par une instruction END(001), comme dans le cas des API traditionnels.
Les tâches servent à déterminer l'ordre d'exécution des programmes de schéma contact ainsi que les conditions d'interruption d'exécution.
Programme A
Affecté
Tâche cyclique 1
Condition d'interruption remplie.
Tâche d'inter­ruption
Affecté
Programme B
Chaque programme de schéma contact se termine par une instruction END(001).
Tâche cyclique n
Affecté
Rafraîchissement d'E/S
Programme C
Ce chapitre décrit les concepts de base nécessaires à l'écriture de programmes dans la série CS/CJ. Consultez le CHAPITRE 4 Tâchespour plus d'informations sur les tâches et leur relation avec les programmes de schéma contact.
Remarque Tâches et périphériques de programmation
Les tâches sont gérées de la manière décrite ci-après sur les périphériques de programmation. Consultez 4-4 Fonctionnement du périphérique de
programmation pour les tâches ainsi que le Manuel d'utilisation des consoles de programmation série CS/CJ (W341) et le Manuel d'utilisation de CX- Programmer pour plus de détails.
CX-Programmer
CX-Programmer sert à attribuer des types de tâches et des numéros de tâches aux programmes individuels.
Console de programmation
L'accès et l'édition des programmes se font sur une console de programmation en spécifiant CT00 à CT31 pour les tâches cycliques et IT00 à IT25 pour les tâches d'interruption. Lors de l'effacement de la mémoire avec une console de programmation, seule la tâche cyclique 0 (CT00) peut être réécrite dans un nouveau programme. Utilisez CX-Programmer pour créer des tâches cycliques de 1 à 31 (CT01 à CT31).
20
Concepts de base Chapitre 2-1
2-1-2 Informations de base concernant les instructions
Un programme, c'est une suite d'instructions. Le diagramme suivant présente la structure conceptuelle des entrées et sorties d'une instruction.
Flux logique (P.F., condition d'exécution)
Condition d'instruction
Drapeaux
Instruction
Opérandes (sources)
Mémoire
Opérandes (destinations)
Flux logique (P.F., condition d'exécution)*1
Condition d'instruction*2
Drapeau
*1 : Instructions d'entrée uniquement. *2 : Pas de sortie pour toutes
les instructions.
Flux d'alimentation
Le flux d'alimentation est la condition d'exécution utilisée pour contrôler l'exécution et les instructions lorsque les programmes s'exécutent normalement. Dans un schéma contact, le flux d'alimentation représente l'état de la condition d'exécution.
Instructions d'entrée • Les instructions de chargement indiquent un départ logique et sortent la
condition d'exécution.
Sort la condition d'exécution.
• Les instructions intermédiaires entrent le flux d'alimentation en tant que condition d'exécution et le sortent vers une instruction intermédiaire ou de sortie.
Sort la condition d'exécution.
=
D00000
#1215
Instructions de sortie Les instructions de sortie exécutent toutes les fonctions et utilisent le flux
d'alimentation comme condition d'exécution.
Flux logique LD
Bloc d'entrée
Bloc de sortie
Flux logique pour l'instruction de sortie
Conditions d'instruction
Les conditions d'instruction sont des conditions spéciales liées à l'exécution générale des instructions fournies par les instructions suivantes. Le niveau de priorité des conditions d'instruction est supérieur à celui du flux d'alimentation lorsqu'il s'agit de décider si une instruction doit être exécutée ou non. Il se peut qu'une instruction ne doive plus être exécutée ou qu'elle agisse différemment en fonction des conditions d'instruction. Les conditions
21
Concepts de base Chapitre 2-1
d'instruction sont redéfinies (annulées) au début de chaque tâche, c-à-d qu'elles sont redéfinies lorsque l'on passe à une autre tâche.
Les instructions suivantes sont utilisées par deux pour définir et annuler certaines conditions d'instruction. Ces instructions groupées doivent se trouver dans la même tâche.
Condition
d'instruction
Verrouillé Un verrouillage désactive une partie du programme. Les conditions
Exécution de BREAK(514)
Exécution d'un programme de bloc
spéciales, telles la désactivation (OFF) des bits de sortie, la réinitialisation des temporisations et le maintien des compteurs fonctionnent toujours.
Met fin à une boucle FOR(512) – NEXT(513) pendant l'exécution. (Empêche l'exécution de toutes les instructions tant qu'il n'y a pas d'instruction NEXT(513)).
Exécute un saut de JMP0(515) à JME0(516) JMP0(515) JME0(516) Exécute un bloc de programmes de BPRG(096) à BEND(801). BPRG(096) BEND(801)
Description Définition de
l'instruction
IL(002) ILC(003)
BREAK(514) NEXT(513)
Annulation de
l'instruction
Drapeaux
Dans ce contexte, un drapeau est un bit qui sert d'interface entre des instructions.
Drapeaux d'entrée Drapeaux de sortie
• Drapeaux de différenciation Drapeaux de résultat de différenciation. Les états de ces drapeaux sont envoyés automatiquement à l'instruction pour toutes les instructions de sortie haut/bas différenciées et pour les instructions DIFU(013)/DIFD(014).
• Drapeau de retenue (CY) Le drapeau de retenue sert d'opérande non spécifiée pour les instructions de décalage de données et les instructions d'addition/soustraction.
• Drapeaux pour instructions spéciales Il s'agit des drapeaux d'apprentissage pour les instructions FPD(269) et les communications réseau activées par drapeaux.
• Drapeaux de différenciation Drapeaux de résultat de différenciation. Les états de ces drapeaux sont reçus automatiquement de l'instruction pour toutes les instructions d'entrée haut/bas différenciées et pour l'instruction UP(521)/DOWN(522).
• Drapeaux de condition Il s'agit des drapeaux Toujours ON/OFF ainsi que des drapeaux mis à jour par le résultat de l'exécution d'une instruction. Dans les programmes utilisateur, ces drapeaux peuvent être spécifiés par des étiquettes telles que ER, CY, >, =, A1, A0 plutôt que par des adresses.
• Drapeaux pour instructions spéciales Il s'agit des drapeaux d'instruction de carte mémoire et des drapeaux d'exécution terminée MSG(046).
Opérandes
Les opérandes spécifient les paramètres des instructions prédéfinies (cases des schémas de contact) utilisés pour préciser le contenu ou les constantes de la zone de mémoire E/S. Il est possible d'exécuter une instruction en entrant une adresse ou une constante comme opérande. Les opérandes sont classées dans trois groupes : source, destination ou numéro.
Exemple
Types d'opérandes Symbole de
Source Précise l'adresse des données à lire
Destination (résultats)
Numéro Précise un numéro particulier utilisé
ou une constante.
Précise l'adresse à laquelle seront écrites les données.
dans l'instruction, comme par exemple, un numéro de saut ou de sous-programme.
S (source)
D (destination)
l'opérande
S Opérande
source
C Données de
contrôle
D (R) ---
N---
Opérande source autre que les données de contrôle (C)
Données composées dans une opé­rande source dont la signification dif­fère en fonction de l'état du bit.
N (numéro)
Description
22
Concepts de base Chapitre 2-1
Remarque On peut également distinguer les opérandes en les appelant première
opérande, seconde opérande, etc. en commençant par le haut de l'instruction.
Première opérande
Seconde
2-1-3 Emplacement de l'instruction et conditions d'exécution
Le tableau suivant montre les différents emplacements possibles pour les instructions. Les instructions sont réparties en deux groupes : celles pour lesquelles les conditions d'exécution sont obligatoires, et les autres. Voir CHAPITRE 3 Fonction des instructions pour plus de détails sur les différentes instructions.
Type d'instruction Emplacement
Instructions d'entrée
Instructions de sortie Connectées
Départ logique (instructions de chargement)
Instructions intermédiaires
possible
Connectée directement à la barre de bus gauche ou se trouve au début d'un bloc d'instructions.
Entre un départ logique et une instruction de sortie.
directement à la barre de bus droite.
Note 1. Il existe un autre groupe d'instructions qui exécutent une série
d'instructions mnémoniques basées sur une seule entrée. On les appelle les instructions de programmes de bloc. Consultez le Manuel de référence des instructions pour les UC série CS/CJ pour plus de détails sur ces programmes de bloc.
2. Si une instruction qui a besoin d'une condition d'exécution est directement connectée à la barre de bus gauche sans instruction de départ logique, le système affichera une erreur de programme lorsqu'il contrôlera le programme sur un périphérique de programmation (CX-Programmer ou une console de programmation).
Condition
d'exécution
Non obligatoire. LD, LD TST(350),
Obligatoire. AND, OR, AND
Obligatoire. La plupart des
Non obligatoire. END(001),
Diagramme Exemples
LD > (et autres instructions de comparaison de symboles)
TEST(350), AND > (et autres instructions de comparaison de symboles ADD), UP(521), DOWN(522), NOT(520), etc.
instructions comprenant OUT et MOV(021).
JME(005), FOR(512), ILC(003), etc.
23
Concepts de base Chapitre 2-1
2-1-4 Adressage des zones de mémoire E/S
Adresses bits
@@@@ @@
Numéro de bit (00 à 15)
Indique l'adresse du mot.
Exemple : L'adresse du bit 03 du mot 0001 de la zone CIO est illustrée ci­dessous. Dans ce manuel, l'adresse est fournie sous la forme « CIO 000103 ».
0001 03
Numéro de bit (03)
Adresse mot : 0001
Adresses mots
Mot
0000 0001 0002
Bit : CIO 000103
15 14 13 12 11 10 08 07 06 05 04 0309 02 01
@@@@
Indique l'adresse du mot
Exemple : L'adresse des bit 00 à 15 du mot 0010 de la zone CIO est illustrée ci-dessous. Dans ce manuel, l'adresse est fournie sous la forme « CIO 00010 ».
0010
00
24
Adresse mot
Les adresses des zones DM et EM commencent par les préfixes « D » ou « E », comme illustré pour l'adresse D00200.
D00200
Adresse mot
Concepts de base Chapitre 2-1
Exemple : L'adresse du mot 2000 dans la banque actuelle de Mémoire de
données étendue (EM) est la suivante :
E00200
Adresse mot
L'adresse du mot 2000 dans la banque 1 de Mémoire de données étendue (EM) est la suivante :
E1_00200
Adresse mot
Numéro de banque
2-1-5 Spécification des opérandes
Opérande Description Notation Exemples
Spécification des adresses bits
Spécification des adresses mots
Les numéros de mot et de bit sont spécifiés directement pour spécifier un bit (bits d'entrée).
@@@@ @@
Numéro de bit (00 à 15)
Indique l'adresse du mot.
Remarque
Le numéro de mot est spécifié directement pour spécifier le mot 16 bits.
@@@@
Les mêmes adresses sont utilisées pour accéder aux drapeaux de fin de temporisation/compteur et aux valeurs actuelles. Il n'existe également qu'une seule adresse pour un drapeau de tâche.
Indique l'adresse du mot.
0001 02
Numéro de bit (02)
Numéro de mot : 0001
0003
Numéro de mot : 0003
D00200
Numéro de mot : 00200
d'applications
0001 02
MOV 0003 D00200
25
Concepts de base Chapitre 2-1
Opérande Description Notation Exemples
d'applications
Spécification des adresses DM/EM indirectes en mode binaire
Le décalage par rapport au début de la zone est spécifié. Le contenu de l'adresse sera traité comme une donnée BCD (0000 à 32767) pour spécifier l'adresse du mot dans la mémoire de données (DM) ou la mémoire de données étendue (EM). Ajoutez le symbole @ au début pour spécifier une adresse indirecte en mode binaire.
Contenu
@D@@@@@
00000 à 32767 (0000 Hex à 7FFF Hex dans BIN)
D
1) D00000 à D32767 sont spécifiés si
@D(@@@@@) contient 0000 hex. à 7FFF hex. (00000 à 32 767).
2) E0 _00000 à E0 _32767 de la banque 0 dans la mémoire de données étendue (EM) sont spécifiés si @D(@@@@@) contient 8000 hex. à FFFF hex. (32768 à 65 535).
@D00300
0 1 0 0
Binaire : 256
Spécifie D00256.
Ajoute le symbole @.
@D00300
8 0 0 1
Binaire : 32769
Spécifie E0 00001.
MOV #0001 @00300
Contenu
Contenu
3) E@_00000 à E@_32767 dans la banque spécifiée sont spécifiés si @E@_@@@@@ contient 0000 hex. à 7FFF hex. (00000 à 32 767).
4) E(@+1)_00000 à E(@+1)_32767 dans la banque suivant la banque spécifiée @ sont spécifiés si @E@_@@@@@ contient 8000 hex. à FFFF hex. (32768 à 65 535).
@E1_00200
0 1 0 1
Binaire : 257
Spécifie E1_00257.
@E1_00200
8 0 0 2
Binaire : 32770
Spécifie E2_00002.
Contenu
Contenu
MOV #0001 @E1_00200
Remarque Lorsque vous spécifiez une adresse indirecte en mode binaire, vous devez traiter les zones
de mémoire de données (DM) et de mémoire de données étendue (EM) (banques 0 à C) comme une série d'adresses. Si le contenu d'une adresse comprenant le symbole @ dépasse 32 767, le système considérera que l'adresse de la mémoire de données étendue (EM) et continuera à partir de 00000 dans la banque 0.
Exemple : Si le mot de la mémoire de données (DM) contient 32 768, le système spécifiera E_100000
dans la banque 0 de la mémoire de données étendue (EM).
Remarque Si le numéro de banque de la mémoire de données étendue (EM) spécifié est « n » et que le
contenu du mot dépasse 32 767, le système supposera que l'adresse est une adresse de la mémoire de données étendue et continuera à partir de 00000 dans la banque N+1.
Exemple : Si la banque 2 de la mémoire de données étendue (EM) contient 32 768, le système
spécifiera E3_00000 dans la banque 3 de la mémoire de données étendue (EM).
26
Concepts de base Chapitre 2-1
Opérande Description Notation Exemples
d'applications
Spécification des adresses DM/EM indirectes en mode BCD
Le décalage par rapport au début de la zone est spécifié. Le contenu de l'adresse sera traité comme une donnée BCD (0000 à 9999) pour spécifier l'adresse du mot dans la mémoire de données (DM) ou la mémoire de données étendue (EM). Ajoutez un astérisque (*) au début pour spécifier une adresse indirecte en mode BCD.
*D@@@@@
Table des matières
D
00000 à 9999 (BCD)
*D00200
0 1 0 0
Spécifie D0100
Ajoutez un astérisque (*).
Table des matières
MOV #0001 *D00200
Opérande Description Notation Exemples d'applications
Spécification directe d'un registre
Un registre d'index (IR) ou un registre de données (DR) peut être directement spécifié en spécifiant IR@ (@ : 0 à 15) ou DR@ (@ : 0 à 15).
IR0
IR1
MOVR 000102 IRO Sauvegarde l'adresse mémoire de l'API pour CIO 0010 dans IR0.
MOVR 00010 IR1 Sauvegarde l'adresse mémoire de l'API pour CIO 0010 dans IR1.
Spécification d'une adresse indirecte à l'aide d'un registre
Adresse indirecte (sans décalage)
Décalage constant
Le bit ou le mot de l'adresse mémoire de l'API contenu dans IR@ sera spécifié.
Spécifiez ,IR@ pour spécifier les bits et les mots pour les opérandes de l'instruction.
Le bit ou le mot de l'adresse mémoire de l'API contenu dans IR@ + ou – la constante est spécifié.
Spécifiez +/– constant ,IR@. Les décala­ges constants peuvent aller de –2048 à +2047 (décimales). Le déca-
,IR0
,IR1
+5,IR0
+31,IR1
LD ,IR0 Charge le bit avec l'adresse mémoire de l'API dans IR0.
MOV #0001 ,IR1 Sauvegarde #0001 dans le mot avec la mémoire de l'API dans IR1.
LD + 5 ,IR0 Charge le bit avec l'adresse mémoire de l'API dans IR0 + 5.
MOV #0001 +31 ,IR1 Sauvegarde #0001 dans le mot avec la
mémoire de l'API dans IR1 + 31 lage est converti en données binaires lors de l'exécution de l'instruction.
Décalage DRLe bit ou le mot de l'adresse mémoire de
l'API contenu dans IR@ + le contenu de DR@ est spécifié.
Spécifiez DR@ ,IR@. Le contenu de DR (registre de données) est traité comme des données binaires signées. Le contenu de l'IR@ recevra un décalage
DR0 ,IR0
DR0 ,IR1
LD DR0 ,IR0
Charge le bit avec l'adresse mémoire de
l'API dans IR0 + la valeur dans DR0.
MOV #0001 DR0 ,IR1
Sauvegarde #0001 dans le mot avec la
mémoire de l'API dans IR1 + la valeur
dans DR0. négatif si la valeur binaire signée est négative.
Auto-incré­mentation
Le contenu de IR@ est incrémenté de 1 ou 2 après le référencement la valeur comme adresse mémoire de l'API.
+1 : Spécifiez ,IR@+ +2 : Spécifiez ,IR@ + +
,IR0 ++
,IR1 +
LD ,IR0 ++
Incrémente le contenu d'IR0 de 2 après
le chargement du bit avec l'adresse
mémoire de l'API dans IR0.
MOV #0001 ,IR1 +
Incrémente le contenu d'IR0 d'1 après le
stockage de #0001 dans le mot avec
l'adresse mémoire de l'API dans IR1.
Auto­décrémen­tation
Le contenu de IR@ est décrémenté de 1 ou 2 après le référencement de la valeur comme adresse mémoire de l'API.
–1 : Spécifiez ,-IR@ + –2 : Spécifiez ,– –IR@
,– –IR0
,–IR1
LD ,– – IR0
Lorsque le contenu d'IR0 a été
décrémenté de 2, le bit avec l'adresse
mémoire de l'API dans IR0 est chargé.
MOV #0001 ,–IR1
Lorsque le contenu d'IR1 est
décrémenté d'1, #0001 est stocké dans
le mot avec l'adresse mémoire de l'API
dans IR1.
27
Concepts de base Chapitre 2-1
Données Opérande Formulaire de
Constante 16 bits
Constante 32 bits
Chaîne de texte
Tou t es l e s données binaires ou un intervalle limité de données binaires
Tou t es l e s données BCD ou un intervalle limité de données BCD
Tou t es l e s données binaires ou un intervalle limité de données binaires
Tou t es l e s données BCD ou un intervalle limité de données BCD
Description Symbole Exemples ---
Les données chaînes de texte sont stockées en ASCII (un octet, sauf pour les caractères spéciaux), dans l'ordre suivant : de l'octet le plus à gauche à l'octet le plus à droite et du mot le plus à droite (le plus petit) au mot le plus à gauche.
00 hex. (code NUL) est stocké dans l'octet le plus à droite du dernier mot si le nombre de caractères est impair.
0000 hex. (2 codes NUL) est stocké dans l'octet vacant le plus à gauche et le plus à droite du dernier mot + 1 si le nombre de caractères est pair.
données
Binaires non signées
Décimales signées
Décimales non signées
BCD # De #0000 à
Binaires non signées
Binaires signées + De
Décimales non signées
BCD # De #00000000 à
Symbole Intervalle Exemple d'application
# De #0000 à
± De –32 768 à
& (Voir remarque.)
# De #00000000 à
& (Voir remarque.)
---
#FFFF
+32 767 De &0 à &65535 ---
#9999
#FFFFFFFF
-2 147 483 648 à +2 147 483 647
De &0 à &429467295
#99999999
'ABCDE'
'A' 'B'
'D'
'C' 'E'
NUL
42
41 43
44
45 00
---
---
---
---
---
---
---
MOV$ D00100 D00200
D00100 D00101 D00102
D00200 D00201 D00202
41 43 45 00
41 42 43 45
'ABCD'
'B'
'A' 'C'
'D'
NUL
NUL
42 44
44 00
28
42
41 43
44
00
00
Les caractères ASCII pouvant être utilisés dans une chaîne de texte sont les caractères alphanumériques, Katakana et les symboles (sauf pour les caractères spéciaux). Le tableau suivant présente les caractères acceptés.
Remarque Notation en décimales non signées uniquement si elles sont utilisées pour
CX-Programmer.
Concepts de base Chapitre 2-1
Caractères ASCII
Bits 0 à 3 Bits 4 à 7
Binaire 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
hex.01 2 3456789ABCDEF
0000 0 0001 1 ! 1AQaq !1AQ 0010 2 ” 2BRbr ”2BR 0011 3 # 3CScs #3CS 0100 4 $ 4DTdt $4DT 0101 5 % 5EUeu %5EU 0110 6 & 6FVfv &6FV 0111 7 ' 7GWgw '7GW 1000 8 ( 8HXhx (8HX 1001 9 ) 9IYiy )9IY 1010 A * :JZjz *:JZ 1011 B + ;K[k{ +;K[ 1100 C , <L\l| ,<L\ 1101 D - =M]m} -=M] 1110 E .>N^n~ .>N^ 1111 F /?O_o /?O_
Espace
0@P`p 0@P
29
Concepts de base Chapitre 2-1
2-1-6 Formats de données
Le tableau suivant présente les formats de données pris en charge par la série CS CJ.
Type de
données
Binaires non signées
Binaires signées
BCD (Binary Coded Decimal ­décimales codées binaires)
Binaire Décimal
Hex.
Binaire Décimal Hex.
Binaire
Décimal
Format de données Décimal 4 chiffres
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1521421321221121029282726252423222120
2
3276816384 8192 4092 2048 1024 512 256 128 64 12 16 8 4 2
0
2322212
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1521421321221121029282726252423222120
2
3276816384 8192 4092 2048 1024 512 256 128 64 12 16 8 4
2322212
Bit de signe : 0 : positif, 1 :
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
2322212
0 à 9 0 à 9 0 à 9 0 à 9
2322212
0
2322212
0
2322212
0
2322212
0
2322212
0
2322212
0
2322212
0
2322212
3222120
0
2
21
1
0
0
De 0 à 65 535
De -32 768 à +32 767
De 0 à 9999
hexadéci-
maux
0000 à FFFF
De 8000 à 7FFF
De 0000 à 9999
30
Concepts de base Chapitre 2-1
Type de
données
Virgule décimale flottante à simple précision
Virgule décimale flottante à double précision
Format de données Décimal 4 chiffres
31 30 29 23 22 21 20 19 18 17 3 2 10
Signe de mantisse
Remarque
63 62 61 52 51 50 49 48 47 46 3 2 10
Signe de la mantisse
Exposant
Signe
Valeur = (-1) Signe (bit 31)
Mantisse
Exposant
Ce format, conforme aux normes IEEE754 concernant les données à virgule flottante double précision, est utilisé uniquement avec les instructions qui convertissent ou calculent des données à virgule flottante. Il peut être utilisé pour la configuration ou le contrôle à partir de l'écran d'édition et de surveillance de la mémoire E/S sur le CX-Programmer (non pris en charge par les consoles de programmation). Les utilisateurs n'ont pas besoin de connaître ce format. Il leur suffit de savoir que le formatage occupe quatre mots.
Exposant Mantisse
x 1.[Mantisse] x 2
Binaire
1 : négatif ou 0 : positif Les 23 bits entre le 00 et le bit 22 contiennent la
mantisse, c'est-à-dire la portion au-dessous du point
décimal dans 1.@@@....., en binaire.
Les 8 bits compris entre les bits 23 et 30 contiennent l'exposant. L'exposant est exprimé en binaire sous la forme 127 plus n dans 2
Binaire
Mantisse
Exposant
n
.
hexadéci-
maux
--- ---
--- ---
Remarque
Valeur = (-1)
Signe (bit 63) Mantisse
Exposant
Ce format, conforme aux normes IEEE754 concernant les données à virgule flottante double précision, sert uniquement avec les instructions qui convertissent ou calculent des données à virgule flottante. Il peut être utilisé pour la configuration ou le contrôle à partir de l'écran d'édition et de surveillance de la mémoire E/S sur le CX-Programmer (non pris en charge par les consoles de programmation). Les utilisateurs n'ont pas besoin de connaître ce format. Il leur suffit de savoir que le formatage occupe quatre mots.
Signe
x 1.[Mantisse] x 2
1 : négatif ou 0 : positif Les 52 bits entre le 00 et le bit 51 contiennent la
mantisse, c'est-à-dire la portion au-dessous du point
décimal dans 1.@@@....., en binaire.
Les 11 bits compris entre les bits 52 et 62 contiennent l'exposant. L'exposant est exprimé en binaire sous la forme 1023 plus n dans 2
Exposant
n
.
Données binaires signées
Dans le cas des données binaires signées, le bit le plus à gauche indique le signe des données binaires 16 bits. La valeur est exprimée par 4 chiffres hexadécimaux.
Nombres positifs : Une valeur est positive ou nulle si le bit le plus à gauche est 0 (OFF). En 4 chiffres hexadécimaux, cela correspond à 0000 à 7FFF hex..
Nombres négatifs : Une valeur est négative si le bit le plus à gauche est 1 (ON). En 4 chiffres hexadécimaux, cela correspond à 8000 à FFFF hex. L'absolu de la valeur négative (décimale) est exprimé sous la forme d'un complément 2.
Exemple : Pour traiter –19 en décimales comme valeur binaire signée, on soustrait 0013 hex. (la valeur absolue de 19) de FFFF hex., puis on ajoute 0001 hex. pour atteindre FFED hex.
31
Concepts de base Chapitre 2-1
FFFF
1111 1111 1111
1111
Vrai nombre
–)
+)
Complément deux
001
0000 0000 0001 0011
FFEC
1111 1111 1110
000
0000 0000 0000 0001
FFED
1111 1111 1110 1101
3
1100
1
Compléments
Généralement, le complément de base x fait référence à un nombre obtenus lorsque tous les chiffres d'un nombre donné sont soustraits de x – 1, puis que l'on ajoute 1 au chiffre le plus à droite. (Exemple : le complément dix de 7556 est 9999 – 7556 + 1 = 2444.) Un complément permet d'exprimer une soustraction et d'autres fonctions telles que l'addition.
Exemple : 8954 – 7556 = 1398, 8954 + (le complément dix de 7556) = 8954 + 2444 = 11 398. Si vous ne connaissez pas le bit le plus à gauche, le résultat de la soustraction est 1398.
Compléments deux
Un complément deux est un complément de base deux. Dans ce cas-ci, nous soustrayons tous les chiffres de 1 (2 – 1 = 1) et ajoutons un.
Exemple : le complément deux du nombre binaire 1101 est 1111 (F hex.) – 1101 (D hex.) + 1 (1 hex.) = 0011 (3 hex.). La ligne suivante présente cette valeur exprimée par 4 chiffres hexadécimaux.
Le complément deux b hex. de a hex. est FFFF hex. – a hex. + 0001 hex. = b hex.. Pour déterminer le complément deux b hex. de « a hex. », utilisez bhex. = 10 000hex. – ahex..
Exemple : pour déterminer le complément deux de 3039 hex., utilisez 10 000 hex. – 3030 hex. = CFC7 hex..
De même, utilisez a hex. = 10000 hex. – b hex. pour déterminer la valeur a hex. à partir du complément deux b hex..
Exemple : pour déterminer le complément deux de 3039 hex., utilisez 10 000 hex. – 3030 hex. = CFC7 hex..
La série CS/CJ possède deux instructions : NEG(160)(2'S COMPLEMENT) et NEGL(161) (DOUBLE 2'S COMPLEMENT). Elles peuvent servir à déterminer le complément deux à partir du vrai nombre ou à déterminer le vrai nombre à partir du complément deux.
Données BCD signées
Les données BCD signées sont un format de données spécial permettant d'exprimer des nombres négatifs en BCD. Même si ce format se trouve dans certaines applications, il n'est pas rigoureusement défini et dépend de l'application spécifique. La série CS/CJ prend en charge les instructions suivantes pour convertir les formats de données : SIGNED BCD-TO­BINARY : BINS(470), DOUBLE SIGNED BCD-TO-BINARY : BISL(472), SIGNED BINARY-TO-BCD : BCDS(471) et DOUBLE SIGNED BINARY-TO-
32
Concepts de base Chapitre 2-1
BCD : BDSL(473). Consultez le Manuel de référence des instructions pour les automates programmables série CS/CJ (W340) pour plus d'informations.
Décimal hex.adécimal Binaire BCD
0 0 0000 0000 1 1 0001 0001 2 2 0010 0010 3 3 0011 0011 4 4 0100 0100 5 5 0101 0101 6 6 0110 0110 7 7 0111 0111 8 8 1000 1000 9 9 1001 1001 10 A 1010 0001 0000 11 B 1011 0001 0001 12 C 1100 0001 0010 13 D 1101 0001 0011 14 E 1110 0001 0100 15 F 1111 0001 0101 16 10 10000 0001 0110
Décimal Binaire non signé
+65 535 FFFF Impossible à exprimer. +65 534 FFFE .
. .
+32 769 8001 +32 768 8000 +32 767 7FFF 7FFF +32 766 7FFE 7FFE .
. .
+2 0002 0002 +1 0001 0001 0 0000 0000 –1 Impossible à exprimer. FFFF –2 FFFE .
. .
–32 767 8001 –32 768 8000
. . .
. . .
(4 chiffres
hexadécimaux)
Binaire signé (4 chiffres
hexadécimaux)
33
Concepts de base Chapitre 2-1
2-1-7 Variations des instructions
Les variations suivantes sont disponibles pour les instructions, afin de différencier les conditions d'exécution et de mettre à jour les données lors de l'exécution de l'instruction (mise à jour immédiate).
Variation Symbole Description
Différenciation ON @ L'instruction fait la différenciation lorsque la
condition d'exécution passe à ON.
OFF % L'instruction fait la différenciation lorsque la
Mise à jour immédiate ! Met à jour les données dans la zone E/S
@
condition d'exécution passe à OFF.
spécifiée par les opérandes ou les mots de la carte d'E/S spéciales lors de l'exécution de l'instruction.
(La mise à jour immédiate n'est pas prise en charge par les UC CS1D d'UC en duplex.)
Instruction (mnémonique) Variation de différenciation
Variation de mise à jour immédiate
pour les systèmes
2-1-8 Conditions d'exécution
La série CS/CJ contient les types d'instructions standard et spéciales suivantes :
• instructions non différenciées exécutées lors de chaque cycle
• instructions différenciées exécutées une seule fois
Instructions non différenciées
Instructions de sortie pour lesquelles les conditions d'exécution doivent être exécutées une fois par cycle pendant que la condition d'exécution est valide (ON ou OFF).
Instruction de sortie non différenciée
Instructions d'entrée qui créent des départs logiques et instructions intermédiaires qui lisent l'état des bits, effectuent des comparaisons, testent les bits ou effectuent d'autres types de traitement à chaque cycle. Si les résultats sont ON, le flux d'alimentation est envoyé (c-à-d, la condition d'exécution passe à ON).
Instruction d'entrée non différenciée
Exemple
Exemple
34
Concepts de base Chapitre 2-1
Instructions différenciées à l'entrée
Instructions différenciées par le haut (instruction précédée de @)
Instructions de sortie : L'instruction n'est exécutée que pendant le cycle au cours duquel la condition d'exécution passe à ON (OFF ON) et n'est pas exécutée lors des cycles suivants.
Exemple
(@) Instruction d'entrée différenciée par le haut
Exécute l'instruction MOV une fois lorsque CIO 000102 passe de OFF à ON.
@MOV
Instructions d'entrée (départs logiques et instructions intermédiai- res) : L'instruction lit l'état des bits, effectue des comparaisons, teste des bits ou effectue d'autres types de traitement lors de chaque cycle ; elle enverra une condition d'exécution ON (flux d'alimentation) lorsque les résultats passeront de OFF à ON. La condition d'exécution passera à OFF lors du cycle suivant.
Exemple
Instruction d'entrée différenciée par le haut
Condition d'exécution ON créée pour un seul cycle lorsque CIO 00103 passe de OFF à ON.
Instructions d'entrée (départs logiques et instructions intermédi- aires) : L'instruction lit l'état des bits, effectue des comparaisons, teste des bits ou effectue d'autres types de traitement lors de chaque cycle ; elle enverra une condition d'exécution OFF (arrêt du flux d'alimentation) lorsque les résultats passeront de OFF à ON. La condition d'exécution passera à ON lors du cycle suivant.
Exemple
Instruction d'entrée différenciée par le haut
0001 03
Instructions différenciées par le bas (instruction précédée de %)
Instructions de sortie : L'instruction n'est exécutée que pendant le cycle au cours duquel la condition d'exécution passe à OFF (ON OFF) et n'est pas exécutée lors des cycles suivants.
(%) Instruction différenciée par le bas
Exemple
Condition d'exécution OFF créée pour un seul cycle lorsque CIO 00103 passe de OFF à ON.
%SET
Exécute l'instruction SET une fois lorsque CIO 000102 passe de ON à OFF.
35
Concepts de base Chapitre 2-1
Instructions d'entrée (départs logiques et instructions intermédi­aires) : L'instruction lit l'état des bits, effectue des comparaisons, teste
des bits ou effectue d'autres types de traitement lors de chaque cycle ; elle enverra la condition d'exécution (flux d'alimentation) lorsque les résul­tats passeront de ON à OFF. La condition d'exécution passera à OFF lors du cycle suivant.
Instruction différenciée par le bas
Exemple
Passera à ON lorsque le CIO 000103 basculera de ON à OFF et passera à OFF après un cycle.
Remarque Contrairement aux instructions différenciées par le haut, la
variation (%) de différenciation par le bas ne peut être ajoutée qu'aux instructions LD, AND, OR, SET et RSET. Pour exécuter la différenciation par le bas avec d'autres instructions, combinez les instructions à une instruction DIFD ou DOWN. NOT ne peut être ajouté aux instructions que si vous utilisez une UC CS1-H, CJ1-H, CJ1M ou CS1D.
Instructions d'entrée (départs logiques et instructions intermédi- aires) : L'instruction lit l'état des bits, effectue des comparaisons, teste des bits ou effectue d'autres types de traitement lors de chaque cycle ; elle enverra une condition d'exécution OFF (arrêt du flux d'alimentation) lorsque les résultats passeront de ON à OFF. La condition d'exécution passera à ON lors du cycle suivant.
Instruction d'entrée différenciée par le bas
Exemple
0001 03
Condition d'exécution OFF créée pour un seul cycle lorsque CIO 00103 passe de ON à OFF.
36
Concepts de base Chapitre 2-1
2-1-9 Temporisation des instructions d'E/S
Le graphique suivant présente les différentes phases de fonctionnement des instructions individuelles qui utilisent un programme ne contenant que des instructions LD et OUT.
Entrée
Entrée lue
Entrée lue
Entrée lue
lue
Entrée lue
Entrée lue
A
B1
Entrée lue
A
B2
Entrée lue
A
A
!
A
!
A
A
A
A
A
!
A
!
A
B3
B4
B5
B6
B7
B8
B9
B10
B11
B12
Entrée lue
Entrée lue
Entrée
!
lue
Entrée
!
!
!
!
!
lue
Instructions différenciées
Traitement UC
Instruction exécutée.
Rafraîchissement d'E/S
• Une instruction différenciée contient un drapeau interne signalant l'état de la valeur précédente (ON ou OFF). Au début du fonctionnement, les drapeaux de la valeur précédente des instructions différenciées par le haut (DIFU et @) sont définis sur ON et ceux des instructions différenciées par le bas (DIFD et %) sont définis sur OFF. Cela permet d'éviter que les résultats de la différenciation ne soient envoyés accidentellement au début de l'opération.
• Une instruction différenciée par le haut (DIFU ou @) n'enverra ON que lorsque la condition d'exécution sera sur ON et que le drapeau de la valeur précédente sera sur OFF.
37
Concepts de base Chapitre 2-1
Utilisation dans Interlocks (instructions IL – ILC) Dans l'exemple suivant, le drapeau de la valeur précédente de l'instruction différenciée garde la valeur verrouillée précédente et n'enverra pas de résul­tat différencié au point A car la valeur ne sera pas mise à jour tant que le ver­rouillage sera activé.
0000
00
0000
01
(002) IL
(013) DIFU 001000
(003) ILC
IL est en cours d'exécution
IL est en cours d'exécution
Utilisation dans les sauts (instructions JMP – JME) : Comme dans le cas des verrouillages, le drapeau de la valeur précédente d'une instruction différenciée ne change pas si une instruction est sautée. La valeur précédente est donc maintenue. Les instructions différenciées par le haut et par le bas n'enverront la condition d'exécution que si l'état de l'entrée a changé par rapport à l'état indiqué dans le drapeau de la valeur précédente.
Remarque a) N'utilisez pas le drapeau Toujours ON ou A20011 (drapeau
du premier cycle) comme bit d'entrée pour une instruction différenciée par le haut. L'instruction ne sera jamais exécutée.
b) N'utilisez pas le drapeau Toujours OFF comme bit d'entrée
pour une instruction de différenciation par le bas. L'instruction ne sera jamais exécutée.
38
Concepts de base Chapitre 2-1
2-1-10 Programmation de la mise à jour
Pour mettre à jour les E/S externes, vous pouvez utiliser l'une des méthodes suivantes :
• Mise à jour cyclique
• Mise à jour immédiate (instruction spécifiée !, instruction IORF)
Consultez le chapitre sur le fonctionnement de l'UC dans le Manuel d'utilisation de la série CS/CJ pour plus de détails sur la mise à jour d'E/S.
Mise à jour cyclique
Chaque programme affecté à une tâche cyclique prête ou à une tâche répondant à la condition d'interruption sera exécuté depuis l'adresse de début du programme jusqu'à l'instruction END(001). Lorsque toutes ces tâches auront été exécutées (tâches cycliques prêtes ou tâches répondant à la condition d'interruption), la mise à jour cyclique commence la mise à jour de tous les points E/S en même temps.
Remarque Les programmes peuvent être exécutés dans plusieurs tâches. Les E/S seront
mises à jour après la dernière instruction END(001) dans les programmes affectés au nombre le plus élevé (parmi toutes les tâches cycliques prêtes) et elles ne seront pas mises à jour après l'instruction END(001) dans les programmes affectés à d'autres tâches cycliques.
Mise à jour immédiate
Haut
15 0
! LD 000101
! OUT 000209
END
Haut
! MOV 0003
END
Mise à jour d'E/S
Mise à jour cyclique (traitement par lot)
CIO 0001
15 0
CIO 0002
15 0
CIO 0003
15 0
CIO 0004
Toutes les données réelles
Cartes 16 bits
Cartes 16 bits
Exécutez une instruction IORF pour tous les mots nécessaires avant l'instruction END(001) si la mise à jour d'E/S est nécessaire dans d'autres tâches.
Instructions avec variation de mise à jour (!)
Les E/S sont mises à jour comme expliqué dans le tableau ci-dessous lorsqu'une instruction est exécutée si un bit d'E/S réel est spécifié comme opérande.
Cartes Données mises à jour
Cartes d'E/S standard C200H (série CS uniquement)
Cartes d'E/S standard CJ
Les E/S des 16 bits contenant le bit seront mises à jour.
39
Concepts de base Chapitre 2-1
• Si une opérande mot est spécifiée pour une instruction, les 16 bits spécifiés des E/S seront mis à jour.
• Les entrées de l'opérande d'entrée ou de l'opérande source seront mises à jour juste avant l'exécution d'une instruction.
• Les sorties de l'opérande de sortie ou de l'opérande de destination (D) seront mise à jour juste après l'exécution d'une instruction.
Ajoutez un point d'exclamation (!) (option de mise à jour immédiate) devant l'instruction.
Remarque La mise à jour immédiate n'est pas prise en charge par les UC CS1D pour
systèmes d'UC en duplex, mais par contre elles prennent en charge la mise à jour pour les instructions IORF(097) et DLNK(226).
Cartes mises à jour pour l'instruction I/O REFRESH
Emplacement Rack UC ou rack d'extension E/S
(mais pas les racks esclaves SYSMAC BUS)
Cartes Cartes d'E/S
standard
Cartes d'E/S spéciales Pas de mise à jour
Cartes d'E/S standard série CS/CJ
Cartes d'E/S standard C200H (voir remarque.)
Cartes d'E/S haute densité groupe 2 C200H (voir remarque.)
Mises à jour
Mises à jour
Pas de mise à jour
Remarque Les cartes d'E/S C200H ne peuvent pas être montées sur les API série CJ.
Haut . . . !LD 000101 . . . !OUT 000209 . . . END
Haut . . . !MOV . . . END
Rafraîchis­sement d'E/S
0003 0004
Rafraîchissement immédiat
Entrée
CIO 0001
Sortie
CIO 0002
S
CIO 0003
D
CIO 0004
15 0
15 0
15 0
15 0
Cartes 16 bits
Cartes 16 bits
40
Rafraîchissement d'E/S
Rafraîchissement cyclique (traitement par lots)
Toutes les E/S réelles
Concepts de base Chapitre 2-1
Cartes mises à jour pour les instructions IORF(097) ou DLNK(226)
Il existe une instruction spéciale, I/O REFRESH (IORF(097)) qui met à jour toutes les données d'E/S réelles d'une plage de mots spécifiée. Grâce à cette instruction, toutes les données réelles, ou uniquement celles de la plage spécifiée, peuvent être mises à jour pendant un cycle. IORF peut également servir à mettre à jour les mots affectés aux cartes d'E/S spéciales.
Une autre instruction, CPU BUS UNIT REFRESH (DLNK(226)) permet de mettre à jour tous les mots affectés aux cartes réseau des zones CIO et DM ainsi que d'effectuer une mise à jour spéciale de la carte (mise à jour des liaisons de données). DLNK(226) n'est prise en charge que par les UC CS1-H, CJ1-H, CJ1M ou CS1D.
Cartes mises à jour pour les instructions IORF(097)
Emplace­ment
Cartes Cartes d'E/S
Rack UC ou rack d'extension E/S (mais pas les racks esclaves SYSMAC BUS)
standard
Cartes d'E/S standard série CS/CJ
Cartes d'E/S
Mises à jour
Mises à jour
standard C200H Cartes d'E/S haute densité
Mises à jour
groupe 2 C200H Cartes d'E/S spéciales Mises à jour Cartes réseau Pas mises à jour
A
A
C
B
R1
E
D
R2
C
ACE
E
B
D
Cartes mises à jour pour DLNK(226)
Emplace­ment
Cartes Cartes d'E/S standard Pas mises à jour
Rack UC ou rack d'extension E/S (mais pas les racks esclaves SYSMAC BUS)
Cartes d'E/S spéciales Pas mises à jour Cartes réseau
Mises à jour Mots affectés à la carte dans la zone CIO Mots affectés à la carte dans la zone DM Mise à jour spéciale pour la carte (liaisons de
données pour les cartes Controller Link ou SYSMAC Link ou E/S déportées pour les cartes DeviceNet)
Mots affectés dans la zone CIO et DM et toute mise à jour spéciale
R1
R2
DLNK
#F
Cartes réseau (numéro d'unité F)
41
Concepts de base Chapitre 2-1
2-1-11 Capacité de programme
Le tableau suivant présente les capacités maximales du programme des UC série CS/CJ de tous les programmes utilisateurs (c-à-d, la capacité totale de toutes les tâches). La capacité est exprimée en nombre maximal de pas. Il ne faut absolument pas dépasser la capacité du programme. En cas de tentative de dépassement, l'écriture du programme sera désactivée.
Chaque instruction prend de 1 à 7 pas. Consultez 10-5 Temps d'exécution des instructions et nombre de pas dans le Manuel d'utilisation afin de connaître le nombre de pas spécifiques de chaque instruction. (La longueur de chaque instruction augmentera de 1 si vous utilisez une opérande deux fois plus longue.)
Série UC Capacité max. du
programme
Série CS CS1H-CPU67H/CPU67-E 250 Kpas 5 120
CS1D-CPU67H 250 Kpas CS1D-CPU67S 250 Kpas CS1H-CPU66H/CPU66-E 120 Kpas CS1H-CPU65H/CPU65-E 60 Kpas CS1D-CPU65H 60 Kpas CS1D-CPU65S 60 Kpas CS1H-CPU64H/CPU64-E 30 Kpas CS1H-CPU63H/CPU63-E 20 Kpas CS1G-CPU45H/CPU45-E 60 Kpas CS1G-CPU44H/CPU44-E 30 Kpas 1 280 CS1D-CPU44S 30 Kpas CS1G-CPU43H/CPU43-E 20 Kpas 960 CS1G-CPU42H/CPU42-E 10 Kpas CS1D-CPU42S 10 Kpas
Série CJ CJ1H-CPU67H 250 Kpas 2 560
CJ1H-CPU66H 120 Kpas CJ1H-CPU65H 60 Kpas CJ1G-CPU45H/CPU45 60 Kpas 1 280 CJ1G-CPU44H/CPU44 30 Kpas CJ1G-CPU43H 20 Kpas 960 CJ1G-CPU42H 10 Kpas CJ1M-CPU23/CPU13 20 Kpas 640 CJ1M-CPU22/CPU12 10 Kpas 320 CJ1M-CPU11/CPU21 5 K pas 160
Points E/S
Remarque La capacité du programme des API série CJ est mesurée en pas tandis que
la capacité de mémoire des anciens API OMRON, tels que ceux des séries C200HX/HG/HE et CV, était mesurée en mots. Consultez les informations à la fin du chapitre 10-5 Temps d'exécution des instructions et nombre de pas dans le Manuel d'utilisation de votre API pour connaître les lignes directrices de la conversion des capacités des programmes par rapport aux anciens API d'OMRON.
2-1-12 Concepts de base de programmation du schéma contact
Les instructions sont exécutées dans l'ordre établi dans la mémoire (ordre mnémonique). Les concepts de base de programmation ainsi que l'ordre d'exécution doivent être respectés.
42
Concepts de base Chapitre 2-1
Structure générale du schéma contact
Barre de bus gauche
Bit d'entrée
Un schéma contact comprend les éléments suivants : des barres de bus gauche et droite, des lignes de connexions, des bits d'entrée, des bits de sortie et des instructions spéciales. Un programme consiste en une ou plusieurs équations logiques. Une équation logique est une unité qui peut être partagée lorsque le bus est séparé horizontalement. En forme mnémonique, une équation logique est l'ensemble des instructions allant de l'instruction LD/LD NOT à l'instruction de sortie située juste avant les instructions LD/LD NOT suivantes. Une équation logique d'un programme consiste en un bloc d'instructions qui commence par une instruction LD/LD NOT indiquant un départ logique.
Ligne de connexion
Instruction spéciale
Bit de sortie
Ligne de terminaison
Segments
Blocs d'instruction
Mnémonique Un programme mnémonique est une série d'instructions de schéma contact
exprimées sous la forme mnémonique. Il possède des adresses de programmes et chaque adresse de programme correspond à une instruction. Les adresses de programmes sont formées de six chiffres, la première étant 000000.
Exemple
Adresse de programme Instruction (mnémonique) Opérande
000000 LD 000000 000001 AND 000001 000002 LD 000002 000003 AND NOT 000003 000004 LD NOT 000100 000005 AND 000101 000006 OR LD 000007 AND LD 000008 OUT 000200 000009 END
43
Concepts de base Chapitre 2-1
Concepts de base du schéma contact
1,2,3... 1. Lorsque les API exécutent les schémas contacts, la circulation des si-
gnaux (flux d'alimentation) se fait toujours de gauche à droite. Vous ne pouvez pas utiliser de programmation pour laquelle il faut un flux d'alimen­tation de droite à gauche. Par conséquent, le débit est différent de celui des circuits faits de relais de commandes câblées. Par exemple, lorsque le circuit « a » est implémenté dans un programme API, l'alimentation passe comme si les diodes entre parenthèses étaient insérées et que la bobine R2 ne pouvait pas être activée avec le contact D inclus. L'ordre réel d'exécution est indiqué sur la droite sous forme mnémonique. Pour obtenir cette opération sans les diodes imaginaires, il faut réécrire le circuit. Le flux d'alimentation du circuit « b » ne peut pas être non plus programmé direc­tement et doit être réécrit.
Circuit "a"
Circulation
(1)
A
des signaux
(2) ((3)) (4)
C
((8))
((5))
D
(9)
E
(6)
B
R1
R2
Ordre d'exécution (mnémonique)
(7)
(10)
(1) LD A (2) LD C (3) OUT TR0 (4) AND D (5) OR LD
(6) AND B (7) OUT R1 (8) LD TR0 (9) AND E (10) OUT R2
Circuit " b"
A
C D
B
R1
E
R2
Dans le circuit « a », la bobine R2 ne peut être activée si le contact D est inclus.
Dans le circuit « b », le contact E inclus ne peut être réécrit dans un schéma contact. Le programme doit être réécrit.
2. Le nombre de bits d'E/S, de bits de travail, de temporisations et d'autres bits d'entrées est illimité. Cependant, les équations logiques doivent rester aussi claires et simples que possible, même si cela implique l'utilisation de plus de bits d'entrée afin qu'elles soient plus faciles à comprendre et à gérer.
3. Le nombre de bits d'entrée pouvant être connectés aux équations logiques série ou parallèles est illimité.
4. Vous pouvez connecter deux ou plusieurs bits de sortie en parallèle.
0000
00
0000
05
TIM 0000 #0100
44
0002
00
Concepts de base Chapitre 2-1
5. Les bits de sortie peuvent également servir de bits d'entrée.
0002
00
0002
00
Restrictions
1,2,3... 1. Un schéma contact doit être fermé de manière à ce que les signaux (flux
d'alimentation) passent de la barre de bus gauche à la barre de bus droite. Une erreur d'équation logique se produira si le programme n'est pas fermé (mais le programme peut être exécuté).
2. Les bits de sortie, les temporisations, les compteurs et les autres instructions de sortie ne peuvent être connectés directement à la barre de bus gauche. Si l'un de ces éléments est connecté directement à la barre de bus gauche, la vérification du programme par un périphérique de programmation mentionnera une erreur d'équation logique. (Le programme peut s'exécuter mais les instructions Out et MOV(021) ne seront pas exécutées.)
La condition d'entrée doit être satisfaite.
MOV
Insérez un bit de travail NF ou un drapeau de condition ON (drapeau Toujours ON) si l'entrée doit rester sur ON en permanence.
Bit de travail inutilisé
ON (drapeau toujours à ON)
MOV
45
Concepts de base Chapitre 2-1
3. Un bit d'entrée doit toujours être inséré avant, et jamais après, une instruction de sortie telle qu'un bit de sortie. Si vous l'insérez avant une instruction de sortie, la vérification du programme par un périphérique de programmation affichera une erreur d'emplacement.
0000
00
0000
01
0002
01
0000
03
0002
01
0000
04
4. Un même bit de sortie ne peut être programmé qu'une seule fois dans une instruction de sortie. Les instructions d'un schéma contact sont exécutées dans l'ordre depuis l'équation logique supérieure, en un seul cycle. Par conséquent, le résultat de l'instruction de sortie des équations logiques inférieures se reflètera en fin de compte dans le bit de sortie et les résultats de toutes les instructions précédentes contrôlant le même bit seront réécrits.
(Bit de sortie)
0000
00
(Bit de sortie)
0000
00
5. Un bit d'entrée ne peut pas être utilisé dans une instruction de SORTIE (OUT).
(Bit d'entrée)
0000
00
46
6. Une instruction END(001) doit être insérée à la fin du programme dans chaque tâche.
• Si un programme ne contenant pas d'instruction END(001) démarre, une erreur de programme « No End Instruction » s'affiche, le voyant ERR/ALM sur la face avant de l'UC s'allume et le programme n'est pas exécuté.
• Si un programme contient plus d'une instruction END(001), il sera exécuté uniquement jusqu'à la première instruction END(001).
Concepts de base Chapitre 2-1
• Les programmes de débogage fonctionneront mieux si une instruction END(001) est insérée à plusieurs points de rupture entre les équations logiques séquentielles et que l'instruction END(001) du milieu est supprimée après la vérification du programme.
Tâche (programme)
000000 000001
END
Tâche (programme)
000000 000001
END
Tâche (programme)
000000 000001
END
2-1-13 Insertion de mnémoniques
Un départ logique est effectué grâce à une instruction LD/LD NOT. La zone comprise entre le départ logique et l'instruction située juste avant l'instruction LD/LD NOT suivante est considérée comme un seul bloc d'instructions.
Créez une seule équation logique constituée de deux blocs d'instructions à l'aide d'une instruction AND LD sur AND les blocs ou à l'aide d'une instruction OR LD sur OR les blocs. L'exemple suivant illustre une équation logique complexe qui permet d'expliquer la procédure d'insertion de mnémoniques (résumé et ordre des équations logiques).
Tâche (programme)
000000 000001
END
END
Tâche (programme)
000000 000001
END
END
Tâche (programme)
000000 000001
END
Ne sera pas exécuté.
Ne sera pas exécuté.
47
Concepts de base Chapitre 2-1
1,2,3... 1. Commencez par séparer l'équation logique en petits blocs de (a) à (f).
0000000000
01
0010
0010
00
01
0005
00
0000000000
(a)
0010000010
(b)
(c)
(1)
0005
(2)
0000
0000
03
02
01
01
(d)
0000
02
0000040000
0000
06
0000
03
05
0000040000
(e)
0005
00
05
(5)
0000
(f)
06
00
(4)
(3)
48
Concepts de base Chapitre 2-1
• Programmer les blocs du haut vers le bas, puis de gauche à droite.
0000
(a)
00
LD 000000 AND 000001
0000
01
OR LD
0010
(b)
00
LD 001000 AND 001001
0010
01
(1)
(2)
0005
(c)
00
OR 000500
0000
(a)
AND 000002 AND NOT 000003
Adresse
000200 LD 000000
(a)
000201 AND 000001 000202 LD 001000
(b)
000203 AND 001001
0000
02
03
Instruction Opérande
000204 OR LD ---
(c)
000205 OR 000500 000206 AND 000002
(d)
000207 AND NOT 000003 000208 LD 000004
(e)
000209 AND 000005
(f)
000210 OR 000006 000211 AND LD ---
000212 SORTIE 000500
AND LD
0005
00
OUT 000500
(3)
(1)
(c)
0000040000
LD 000004 AND 000005
(f)
OR 000006
(2)
0000
06
05
(5)
(4)
(3)
(5)
(4)
49
Concepts de base Chapitre 2-1
2-1-14 Exemples de programmes
1,2,3... 1. Equations logiques parallèles/série
0000
02
0002
01
0000
04
02
0000
Bloc B
0000
03
03
0002
0002
01
00
Instruction Opérandes
LD AND OR AND AND NOT SORTIE
000000 000001 000200 000002 000003 000200
Instruction Opérandes
LD AND NOT
LD AND OR OR
000000 000001 000002 000003 000201 000004
a
b
a
b
AND LD --­SORTIE
000201
0000000000010000
0002
00
ab
Bloc A Bloc B
Programmez l'instruction parallèle dans le bloc A, puis dans le bloc B.
2. Equations logiques série/parallèles
0000
0000
00
01
a b
Bloc A
• Séparez le segment en deux blocs, A et B, et programmez-les chacun individuellement.
• Reliez les blocs A et B avec un AND LD.
• Programmez le bloc A.
b
0000000000010000
Bloc B1
02
0000
04
1
0000
0002
03
02
0002
02
LD NOT AND LD
AND NOT LD NOT AND
Instruction
b
2
Bloc B2
ab
Bloc A
Bloc B
OR LD --­AND LD --­SORTIE
• Programmez le bloc B1, puis programmez le bloc B2.
• Reliez les blocs B
et B2 avec un OR LD, puis les blocs A et B avec un
1
AND LD.
Opérandes
000000 000001
000002 000003 000004
000202
000202
a
b
1
b
2
b1 + b a · b
2
50
Concepts de base Chapitre 2-1
3. Exemples de connexion série dans une équation logique série
a
Bloc A1
0000
00
0000
02
a
2
1
0000
0002
01
03
b
1
Bloc B1
0000
04
0002
06
b
2
0000
05
0002
07
0002
03
Bloc A2 Bloc B2
a b
Bloc A Bloc B
Programmez le bloc A blocs A
Programmez B
et A2 avec un OR LD.
1
1
, programmez le bloc A2, puis connectez les
1
et B2 de la même façon.
Connectez les blocs A et B avec un AND LD.
Répétez l'opération pour tous les blocs A à n présents.
Instruction Opérandes
LD AND NOT LD NOT AND
000000 000001
000002
000003 OR LD --­LD AND LD AND
000004
000005
000006
000007 OR LD --­AND LD --­SORTIE
000203
a
1
a
2
a1 + a
b
1
b
2
b1 + b a · b
2
2
0005
00
a b
c n
Bloc A Bloc B Bloc C Bloc n
51
Concepts de base Chapitre 2-1
4. Equations logiques complexes
0000
00
0000
04
0000
06
0000
01
0000
02
0000
05
0000
07
0000
03
0002
04
Instruction Opérande
LD LD
LD AND
000000 000001 000002
000003 OR LD --­AND LD --­LD AND
000004
000005 OR LD ---
LD AND
000006
000007 OR LD --­SORTIE
000204
0000
00
Z
Le schéma ci-dessus est basé sur le schéma suivant.
0000
00
Vous pouvez écrire un programme plus simple en le réécrivant comme indiqué ci-après.
0000
02
0000
01
0000
03
0000
0000
Z
01
0000
03
02
Z
0000
00
b
0000
00
ad
Bloc Bloc
Bloc
0000
01
0000
03
Bloc
0000
02
0000
04
c
0000
05
0000060000
07
e
0002 04
Bloc
Vous pouvez réécrire le segment ci-dessus comme indiqué ci-après :
0000
00
0000
00
0000
00
0000
01
0000
03
0000
03
0000
02
0000
04
0000
04
0000
05
0000
06
0000
07
0002
05
Instruction Opérande
LD LD NOT AND LD AND NOT LD LD AND NOT
000000 000001 000002 000003 000004 000005 000006 000007
OR LD ---
AND LD ---
OR LD --­AND LD --­SORTIE
000205
a
b
c
d
e
d + e (d + e) · c
(d + e) · c + b ((d + e) · c + b) · a
52
Concepts de base Chapitre 2-1
0000
00
0000
01
0000
02
H00000
Entrée de réinitialisation
0000
03
Entrée
TIM 0001 #0100
d'erreur
T0001
5. Equations logiques auxquelles il faut faire attention ou devant être
Instructions OR et OL LD
Dans le cas d'une instruction OR ou OR NOT, un OR est pris en compte avec les résultats de la logique du schéma contact depuis l'instruction LD ou LD NOT jusqu'à l'instruction OR ou OR NOT. Ainsi, il est possible de réécrire les équations logiques afin que l'instruction OR LD ne soit pas obligatoire.
réécrites
0000
00
H00000
10 s
0002
06
Erreur affichée
Instruction Opérande
LD OR OR OR
AND NOT SORTIE
TIM
000000 000001 000002
H00000 000003 H00000 0001
0100 AND SORTIE
T0001
000206
Si un bit de maintien est utilisé, l'état ON/OFF sera conservé en mémoire, même en cas de mise hors tension, et le signal d'erreur restera actif à la prochaine mise sous tension.
0002
07
0000
01
0002
07
0002
07
0000
01
0002
07
0000
00
Exemple : Une instruction OR LD sera nécessaire si les équations logiques sont programmées comme illustré, sans modification. Il est possible de supprimer quelques étapes en réécrivant les équations logiques comme illustré.
Dérivations de l'instruction de sortie
Un bit TR sera nécessaire si une dérivation se trouve devant une instruction AND ou AND NOT. Le bit TR ne sera pas nécessaire si la dérivation se trouve à un point connecté directement aux instructions de sortie ; l'instruction AND ou AND NOT ou les instructions de sortie peuvent se poursuivre comme si de rien n'était.
Instruction de sortie 1
0000
00
TR0
0000
01
0002
08
0002
09
0000
00
0000
01
0002
09
0002
08
Instruction de sortie 2
Exemple : Une instruction de sortie TR0 de bit de stockage temporaire et une instruction de chargement (LD) sont nécessaires au point de dérivation si les équations logiques sont programmées sans modification. Il est possible de supprimer quelques étapes en réécrivant les équations logiques.
53
Concepts de base Chapitre 2-1
Ordre d'exécution mnémonique
Les API exécutent les schémas contacts dans l'ordre de saisie des mnémoniques ; il se peut donc que les instructions ne fonctionnent pas comme prévu, en fonction de la manière dont sont écrites les équations logiques. Pensez toujours à l'ordre d'exécution mnémonique lorsque vous écrivez les schémas contacts.
0000
00
0010
00
0010
00
0002
10
0000
00
0000
00
0010
00
0002
10
0010
00
Exemple : Dans le schéma ci-dessus, CIO 000210 ne peut être envoyé. En réécrivant l'équation logique comme illustré ci-dessus, il est possible de faire passer CIO 000210 à ON pour un cycle.
Equations logiques devant être réécrites
Les API exécutent les instructions dans l'ordre de saisie des mnémoniques de manière à ce que la circulation des signaux (flux d'alimentation) se fasse de gauche à droite dans le schéma contact. Il n'est pas possible de programmer des débits de puissance de droite à gauche.
0000
00
0000
01
TR0
0000
02
0000
04
0000030002
11
0002
12
0000
01
0000
00
0000
01
0000
02
0000
04
0000
0002
03
11
0002
12
Exemple : Le programme peut être écrit comme dans le schéma de gauche où TR0 reçoit la dérivation. Dans le schéma de droite, les équations logiques reçoivent la même valeur et le schéma est plus facile à comprendre. Par conséquent, nous conseillons de réécrire les équations logiques de gauche dans les équations logiques de droite.
Réécrivez les équations logiques de gauche ci-dessous. Elles ne peuvent pas être exécutées.
Les flèches indiquent la circulation des signaux (flux d'alimentation) lorsque les équations logiques sont des relais de contrôle.
A
A
C
B
R1
E
D
R2
C
ACE
E
B
R1
D
R2
54
Précautions Chapitre 2-2

2-2 Précautions

2-2-1 Drapeaux de condition
Utilisation des drapeaux de condition
Les drapeaux de conditions sont partagés par toutes les instructions et changeront au cours d'un cycle en fonction des résultats de l'exécution de chaque instruction. Par conséquent, veillez à utiliser les drapeaux de condition sur une sortie dérivée avec les mêmes conditions d'exécution directement après une instruction afin de refléter les résultats de l'exécution de l'instruction. Ne connectez jamais un drapeau de condition directement à la barre de bus car il pourrait refléter les résultats d'exécution d'autres instructions.
Exemple : Utilisation des résultats d'exécution de l'instruction A
Utilisation correcte
Mnémonique
Drapeau de condition Exemple : =
Instruction A
Reflète les résultats de l'exécution de l'instruction A
Instruction B
Instruction Opérande
LD a Instruction
AND = Instruction
A
B
La même condition d'exécution (a) sert aux instructions A et B pour exécuter l'instruction B en fonction des résultats d'exécution de l'instruction A. Dans ce cas, l'instruction B ne sera exécutée en fonction du drapeau de condition que si l'instruction A est exécutée.
Utilisation incorrecte
Segment précédent
Instruction A
Reflète les résultats de l'exécution
Drapeau de condition Exemple : =
du segment précédent si l'instruction A n'est pas exécutée.
Instruction B
Si le drapeau de condition est connecté directement à la barre de bus gauche, l'instruction B sera exécutée en fonction des résultats d'exécution d'une équation logique précédente si l'instruction A n'est pas exécutée.
Remarque Les drapeaux de condition sont utilisés par toutes les instructions au sein d'un
seul programme (tâche) mais ils sont effacés lorsque la tâche change. Par conséquent, les résultats d'exécution de la tâche précédente ne seront pas reflétés dans les tâches ultérieures. Etant donné que les drapeaux de condition sont partagés par toutes les instructions, veillez absolument à ce qu'ils n'interfèrent pas les uns avec les autres dans un même schéma contact. Les schémas ci-après sont des exemples.
55
Précautions Chapitre 2-2
Utilisation des résultats d'exécution dans les entrées NF et NO
Les drapeaux de condition prennent les résultats d'exécution de l'instruction B, comme illustré dans l'exemple ci-dessous, même si les bits d'entrée NF et NO sont exécutés à partir de la même dérivation de sortie.
Instruction A
Utilisation incorrecte
Drapeau de condition Exemple : =
Drapeau de condition Exemple : =
Veillez à ce que chaque résultat ne soit pris qu'une seule fois par une instruction de sortie afin de garantir que les résultats d'exécution de l'instruction B ne seront pas repris.
Reflète les résultats de l'exécution de l'instruction A
Instruction B
Reflète les résultats de l'exécution de l'instruction B.
Utilisation correcte
Reflète les résultats de l'exécution de l'instruction A
Drapeau de condition Exemple : =
Reflète les résultats de
Drapeau de condition Exemple : =
l'exécution de l'instruction A
Instruction A
Instruction B
56
Précautions Chapitre 2-2
Exemple : L'exemple suivant déplacera #0200 vers D00200 si D00100 contient
#0010 et déplacera #0300 vers D00300 si D00100 ne contient pas #0010.
Utilisa­tion incor­recte
Le drapeau d'égalité passera à ON si D00100 de l'équation logique ci-dessus contient #0010. #0200 sera déplacé vers D00200 pour l'instruction (1), mais ensuite le drapeau d'égalité passera à OFF car les données source #0200 ne sont pas 0000 hex. L'instruction MOV (2) sera ensuite exécutée et #0300 sera déplacé vers D00300. Il faudra donc insérer une équation logique, comme illustré ci-dessous, afin d'éviter que les résultats de la première instruction MOVE ne soient repris.
Reflète les résultats de l'exécution de CMP.
(1)
Reflète les résultats de l'exécution de MOV.
(2)
Utilisation correcte
Reflète les résultats de l'exécution de CMP.
57
Précautions Chapitre 2-2
Utilisation des résultats d'exécution d'instructions différenciées
Dans le cas des instructions différenciées, les résultats d'exécution sont reflétés dans les drapeaux de condition uniquement si la condition d'exécution est rencontrée. Les résultats d'une équation logique précédente (plutôt que les résultats d'exécution de l'instruction différenciée) seront reflétés dans les drapeaux de condition du cycle suivant. Par conséquent, vous devez connaître l'action réalisée par les drapeaux de conditions dans le cycle suivant s'il faut utiliser les résultats d'exécution des instructions différenciées.
Dans l'exemple suivant, les instructions A et B ne seront exécutées que si la condition d'exécution C se présente, mais le problème suivant se posera si l'instruction B reprend les résultats d'exécution de l'instruction A. Si la condition d'exécution C reste à ON dans le cycle suivant l'exécution de l'instruction A, l'instruction B s'exécutera de manière imprévue (par la condition d'exécution) lorsque le drapeau de condition passera de OFF à ON, suite aux résultats en provenance d'une équation logique précédent.
Segment précédent
Utilisation incorrecte
Instruction A
Reflète les résultats de l'exécution de l'instruction A lorsque la condition d'exécution est remplie.
Exemple de drapeau de condition : =
Reflète les résultats de l'exécution d'un segment précédent dans le cycle suivant.
Instruction B
Dans ce cas, les instructions A et B ne sont pas des instructions différenciées, l'instruction DIFU (de DIFD) est utilisée à leur place, comme illustré ci-dessous, et les instructions A et B sont toutes deux différenciées par le haut (ou par le bas) et exécutées pour un seul cycle.
Segment précédent
Utilisation correcte
Instruction A
Reflète les résultats de l'exécution
Exemple de drapeau de condition : =
de l'instruction A
Instruction B
Remarque Les UC CS1-H, CJ1-H, CJ1M ou CS1D prennent en charge les instructions
de sauvegarde et de chargement de l'état des drapeaux de condition (CCS(282) et CCL(283)). Elles peuvent être utilisées pour accéder aux drapeaux de condition à d'autres emplacements dans une même tâche ou dans une tâche différente.
Conditions principales pour faire passer les drapeaux de condition à ON
Drapeau d'erreur
Le drapeau ER passera à ON dans certaines conditions, comme par exemple lorsque les données opérandes d'une instruction ne sont pas correctes. L'instruction ne sera pas exécutée lorsque le drapeau ER passera à ON.
58
Précautions Chapitre 2-2
Lorsque le drapeau ER est à ON, l'état des autres drapeaux de condition tels que <, >, OF et UF ne changera pas et l'état des drapeaux = et N changera d'une instruction à l'autre.
Consultez les descriptions de chaque instruction dans le Manuel de référence des instructions pour les automates programmables série CS/CJ pour connaître les conditions qui font passer le drapeau ER à ON. Soyez prudent car certaines instructions feront passer le drapeau ER à OFF quelles que soient les conditions.
Remarque Les paramètres de la configuration de l'API spécifiant quand une erreur
d'instruction se produit déterminent si le fonctionnement doit s'arrêter lorsque le drapeau ER passe à ON. Selon la valeur par défaut, le fonctionnement se poursuivra lorsque le drapeau ER passera à ON. Si le système spécifie « Arrêter le fonctionnement » lorsque le drapeau ER passe à ON et que le fonctionnement s'arrête (comme s'il s'agissait d'une erreur de programme), l'adresse du programme au point auquel s'est arrêté le fonctionnement sera sauvegardée en A298 et A299. En même temps, A29508 passera à ON.
Drapeau d'égalité
Le drapeau d'égalité est un drapeau temporaire pour toutes les instructions, sauf quand les résultats des comparaisons sont égaux (=). Il est défini automatiquement par le système et sera modifié. Une instruction peut faire passer le drapeau d'égalité à OFF (ON) après qu'une instruction précédente l'a fait passer à ON (OFF). Par exemple, le drapeau d'égalité passera à ON lorsque l'instruction MOV, ou toute autre instruction de déplacement, fera passer 0000 hex. comme données source, mais il sera à OFF tout le reste du temps. Même si une instruction fait passer le drapeau d'égalité à ON, l'instruction de déplacement s'exécutera immédiatement et le drapeau d'égalité passera à ON ou OFF en fonction de la valeur des données source de l'instruction (0000 hex. ou non).
Drapeau de retenue (CY)
Le drapeau de retenue sert pour les instructions de décalage, les instructions d'addition et de soustraction avec entrée de retenue, les emprunts et les retenues d'instruction d'addition et de soustraction ainsi que pour les instructions de cartes d'E/S spéciales, les instructions PID et les instructions FPD. Veuillez prendre note des précautions suivantes.
Note 1. Le drapeau de retenue peut rester sur ON (OFF) étant donné les résultats
d'exécution d'une certaine instruction, puis servir dans une autre instruction (une instruction d'addition et de soustraction avec instruction de retenue ou de décalage). N'oubliez pas d'effacer le drapeau de retenue si nécessaire.
2. Le drapeau de retenue peut passer à ON (OFF) à cause des résultats d'exécution d'une certaine instruction et repasser à OFF (ON) dans une autre instruction. Veillez à ce que les résultats corrects soient reflétés dans le drapeau de retenue lorsque vous l'utilisez.
Drapeaux « inférieur à » et « supérieur à »
Les drapeaux < et > sont utilisés dans les instructions de comparaison ainsi que dans les instructions LMT, BAND, ZONE, PID et autres. Le drapeau < ou > peut être mis sur OFF (ON) par une autre instruction même s'il est mis sur ON (OFF) suite aux résultats d'exécution d'une certaine instruction.
Drapeau négatif
Le drapeau N (négatif) est à ON lorsque le bit le plus à gauche du mot des résultats d'exécution de l'instruction est « 1 » pour certaines instructions et il est à OFF sans condition pour les autres instructions.
Spécification d'opérandes pour plusieurs mots
Dans le cas des API série CS/CJ, une instruction sera exécutée telle qu'elle est écrite même si une opérande exigeant plusieurs mots a été spécifiée et que donc tous les mots de cette opérande ne se trouvent pas dans la même zone. Dans ce cas, les mots seront pris dans l'ordre des adresses mémoire de l'API. Le drapeau d'erreur ne passera pas à ON.
59
Précautions Chapitre 2-2
Prenons comme exemple les résultats de l'exécution d'un transfert par bloc avec XFER(070) si 20 mots sont spécifiés pour le transfert, en commençant à W500. Dans ce cas, la zone de travail, qui se termine à W511, sera dépassée, mais l'instruction sera exécutée sans faire passer le drapeau d'erreur à ON. Dans les adresses mémoire de l'API, les valeurs actuelles des temporisations sont maintenues en mémoire après la zone de travail. Par conséquent, lors de l'instruction suivante, W500 à W511 seront transférés vers D00000 à D00011 et les valeurs actuelles de T0000 à T0007 seront transférées vers D00012 à D00019.
Remarque Consultez l'annexe Plan de la mémoire des adresses mémoire de l'API pour
les adresses mémoire de l'API spécifiques.
&20
Nombre de mots
Premier mot source
Premier mot destination
W500
jusqu'à
W511
T0000
jusqu'à
jusqu'à
jusqu'à
Transfé­ré.
jusqu'à
jusqu'à
jusqu'à
jusqu'à
2-2-2 Sections de programmes spéciales
Les programmes de la série CS/CJ contiennent des sections de programmes spéciales qui contrôlent les conditions des instructions. Vous avez le choix entre les sections de programmes spéciales suivantes.
Section de programme Instructions Condition d'instruction Etat
Sous-programme Instructions SBS, SBN et
Section IL - ILC Instructions IL et ILC La section est verrouillée Les bits de sortie passent Section de séquence
échelonnée
Boucle FOR-NEXT Instructions FOR et NEXT Rupture en cours. En boucles Section JMP0 – JME0 Instructions JMP0 et JME0 Saut Section de programmes de
bloc
RET
Instructions STEP S et instructions STEP
Instructions BPRG et BEND Le programme de bloc
Le sous-programme est exécuté.
s'exécute.
La section du sous­programme comprise entre les instructions SBN et RET est exécutée.
sur ON et les temporisations sont réinitialisées. Les autres instructions ne seront pas exécutées et l'état précédent sera maintenu.
Le programme de bloc repris dans les mnémoniques entre les instructions BPRG et BEND est exécuté.
Combinaisons d'instructions
Le tableau suivant illustre le type d'instruction spéciale qui peut être utilisé dans d'autres sections de programmes.
Sous-
programme
Sous-programme Impossible Impossible Impossible Impossible Impossible Impossible IL - ILC OK Impossible Impossible OK OK Impossible
Section de séquence échelonnée
Boucle FOR­NEXT
JMP0 – JME0 OK OK Impossible Impossible Impossible Impossible
Section de programmes de bloc
Impossible OK Impossible Impossible OK Impossible
OK OK Impossible OK OK Impossible
OK OK OK Impossible OK Impossible
Section IL -
ILC
Section de
séquence
échelonnée
Boucle
FOR-NEXT
Section
JMP0 – JME0
Section de
programmes
de bloc
60
Précautions Chapitre 2-2
Remarque Les instructions qui précisent des zones de programmes ne peuvent être
utilisées pour des programmes dans d'autres tâches. Consultez la section 4-2-2 Limites des instructions relatives aux tâches pour plus de détails.
Sous-programmes Rassemblez tous les sous-programmes juste avant l'instruction END(001)
dans tous les programmes mais après la programmation des éléments autres que les sous-programmes. (Un sous-programme ne peut donc pas être placé dans une séquence échelonnée, un programme de bloc, une section FOR – NEXT ou une section JMP0 – JME0.) Si un programme autre qu'un sous­programme est placé après un sous-programme (SBN à RET), ce programme ne sera pas exécuté.
Programme
Sous-programme
Programme
Instructions non disponibles dans les sous-programmes
Remarque Sections du programme de bloc
Sous-programme
Les instructions suivantes ne peuvent pas être placées dans un sous­programme.
Fonction Mnémonique Instruction
Contrôle de processus pas à pas
STEP(008) Définit la section de
séquence échelonnée
SNXT(009) Passe à travers les étapes
de la séquence échelonnée
Un sous-programme peut inclure une section de programme de bloc. Cependant, si l'état du programme de bloc est WAIT lorsque l'exécution revient du sous­programme vers le programme principal, la section de programme de bloc gardera l'état WAIT la prochaine fois qu'elle sera appelée.
61
Précautions Chapitre 2-2
Instructions non disponibles dans les sections de séquence échelonnée
Fonction Mnémonique Instruction
Commandes des séquences
Sous-programmes SBN(092) et RET(093) SUBROUTINE ENTRY et
Programmes de bloc
FOR(512), NEXT(513) et BREAK(514)
END(001) END IL(002) et ILC(003) INTERLOCK et INTERLOCK
JMP(004) et JME(005) JUMP et JUMP END CJP(510) et CJPN(511) CONDITIONAL JUMP et
JMP0(515) et JME0(516) MULTIPLE JUMP et
IF(802) (NOT), ELSE(803) et IEND(804)
BPRG(096) et BEND(801) BLOCK PROGRAM BEGIN/
EXIT(806) (NOT) CONDITIONAL BLOCK EXIT
LOOP(809) et LEND(810) (NOT)
WAIT(805) (NOT) ONE CYCLE WAIT (NOT) TIMW(813) TIMER WAIT TMHW(815) HIGH-SPEED TIMER WAIT CNTW(814) COUNTER WAIT BPPS(811) et BPRS(812) BLOCK PROGRAM PAUSE et
FOR, NEXT et BREAK LOOP
CLEAR
CONDITIONAL JUMP NOT
MULTIPLE JUMP END
SUBROUTINE RETURN Instructions de dérivation
END
(NOT) Loop Control
RESTART
Note 1. Une section de schéma contact échelonné peut être utilisée dans une
section verrouillée (entre IL et ILC). La section de séquence échelonnée sera complètement réinitialisée lorsque le verrouillage passera à ON.
2. Une section de schéma contact échelonnée peut être utilisée entre les instructions MULTIPLE JUMP (JMP0) et MULTIPLE JUMP END (JME0).
62
Précautions Chapitre 2-2
Instructions non disponibles dans les sections de programmes de bloc
Les instructions suivantes ne peuvent pas être placées dans des sections de programmes de bloc.
Classement par fonction Mnémonique Instruction
Commandes des séquences
Entrée de séquence UP(521) CONDITION ON
Sortie de séquence DIFU DIFFERENTIATE UP
Temporisation/compteur TIM TIMER
Sous-programmes SBN(092) et RET(093) SUBROUTINE ENTRY et
Décalage de données SFT SHIFT Contrôle de schéma
contact pas à pas Contrôles des données PID PID CONTROL Programme de bloc BPRG(096) BLOCK PROGRAM
Diagnostic des problèmes FPD(269) FAILURE POINT
FOR(512), NEXT(513) et BREAK(514)
END(001) END IL(002) et ILC(003) INTERLOCK et
JMP0(515) et JME0(516) MULTIPLE JUMP et
DOWN(522) CONDITION OFF
DIFD DIFFERENTIATE DOWN KEEP KEEP OUT OUTPUT OUT NOT OUTPUT NOT
TIMH HIGH-SPEED TIMER TMHH(540) ONE-MS TIMER TTIM(087) ACCUMULATIVE TIMER TIML(542) LONG TIMER MTIM(543) MULTI-OUTPUT TIMER CNT COUNTER CNTR REVERSIBLE COUNTER
STEP(008) et SNXT(009) STEP DEFINE et STEP
FOR, NEXT et BREAK LOOP
INTERLOCK CLEAR
MULTIPLE JUMP END
SUBROUTINE RETURN
START
BEGIN
DETECTION
Note 1. Les programmes de bloc peuvent être utilisés dans une section de schéma
contact échelonnée.
2. Un schéma contact pas à pas peut être utilisé dans une section verrouillée (entre IL et ILC). La section du programme de bloc ne sera pas exécutée si le verrouillage est à ON.
3. Une section de programme de bloc peut être utilisée entre les instructions MULTIPLE JUMP (JMP0) et MULTIPLE JUMP END (JME0).
4. Une instruction JUMP (JMP) et une instructions CONDITIONAL JUMP (CJP/ CJPN) peuvent être utilisées dans une section de programmes de bloc. Les instructions JUMP (JMP) et JUMP END (JME) ainsi que les instructions CONDITIONAL JUMP (CJP/CJPN) et JUMP END (JME) ne peuvent pas être utilisées dans la section de programmes de bloc sauf si elles sont groupées par paire. Le programme ne s'exécutera pas correctement sauf si ces instructions sont groupées par paire.
63
Vérification des programmes Chapitre 2-3

2-3 Vérification des programmes

Les programmes de la série CS/CJ peuvent être vérifiés aux niveaux suivants :
• vérification à l'entrée lors du fonctionnement à l'entrée de la console de programmation ;
• vérification du programme par CX-Programmer ;
• vérification des instructions pendant l'exécution ;
• vérification des erreurs fatales (erreurs de programme) pendant l'exécution.
2-3-1 Erreurs lors de l'entrée de périphériques de programmation
Console de programmation
La console de programmation affichera les erreurs aux points suivants lors de l'entrée.
Erreur affichée Cause
CHK MEM La broche 1 de l'interrupteur DIP de l'UC est à ON
(protection en écriture).
IO No. ERR Une entrée d'E/S illégale a été tentée.
CX-Programmer
Le programme sera automatiquement vérifié par CX-Programmer aux moments suivants.
Moment Contenu vérifié
A l'insertion de schémas contacts
Lors du charge­ment de fichiers
Lors du téléchar­gement de fichiers
Pendant l'édition en ligne
Saisies des instructions, saisies des opérandes et modèles de programmation
Toutes les opérandes de toutes les instructions et tous les modèles de programmation
Modèles pris en charge par la série CS/CJ et toutes les opérandes de toutes les instructions
Capacité, etc.
Les résultats des vérifications sont envoyés dans l'onglet texte de la fenêtre Output. De même, la barre de bus gauche des sections de programmes illégales s'affichera en rouge dans la présentation du schéma.
2-3-2 Vérification du programme par CX-Programmer
Les erreurs détectées lors de la vérification du programme par CX-Programmer sont reprises dans le tableau suivant.
CX-Programmer ne vérifie pas les erreurs de plage des opérandes dont l'adresse est indirecte dans les instructions. Les erreurs d'adressage indirect seront détectées lors de la vérification de l'exécution du programme et le drapeau ER passera à ON, comme décrit dans le paragraphe suivant. Consultez le Manuel de
référence des instructions pour les automates programmables série CS/CJ (W340) pour plus de détails.
Lors de la vérification du programme par CX-Programmer, l'opérateur peut préciser le niveau A, B ou C de vérification (en fonction de la gravité de l'erreur), ou même un niveau de vérification personnalisé.
Zone Vérification
Données illégales : schéma contact
Prise en charge d'instructions par l'API
Emplacements des instructions Lignes d'E/S Connexions Achèvement des instructions et du fonctionnement Instructions et opérandes prises en charge par l'API Variations d'instructions (NOT, !, @ et %) Intégrité du code de l'objet
64
Vérification des programmes Chapitre 2-3
Zone Vérification
Plages des opérandes
Capacité du programme pour les API
Syntaxe Vérification des appels pour les instructions par paire
Structure du schéma contact
Duplication des résultats
Tâches Vérifie les tâches devant commencer au début du
Plages des zones des opérandes Types des données d'opérandes Vérification de l'accès aux mots en lecture seule Vérification de la plage des opérandes, y compris :
• constantes (#, &, +, –)
• codes de commandes
• vérification des limites des zones pour les opérandes à plusieurs mots
• vérification des relations de taille pour les opérandes à plusieurs mots
• chevauchement des plages d'opérandes
• affectations de plusieurs mots
• opérandes double longueur
• vérification des limites des zones pour les décalages
Nombre de pas Capacité générale Nombre de tâches
•IL–ILC
• JMP–JME, CJP/CJPN-JME
• SBS–SBN–RET, MCRO–SBN–RET
• STEP–SNXT
• BPRG–BEND
•IF–IEND
• LOOP–LEND
Emplacement de programmation limité pour BPRG–BEND Emplacement de programmation limité pour SBN-RET Emplacement de programmation limité pour STEP-SNXT Emplacement de programmation limité pour FOR-NEXT Emplacement de programmation limité pour les tâches
d'interruption Emplacement de programmation obligatoire pour
BPRG–BEND Emplacement de programmation obligatoire pour FOR-NEXT Imbrication illégale Instruction END(001) Cohérence des numéros Dépassements de piles
Duplique la vérification des résultats
•Par bit
•Par mot
• Instructions de temporisation/compteur
• Longs mots (de 2 ou 4 mots)
• Mots affectés plusieurs fois
• Plages de début/fin
• Numéros de l'instruction FAL
• Instructions comprenant plusieurs opérandes de sortie
fonctionnement Affectation du programme des tâches
Remarque La duplication des résultats n'est pas vérifiée entre les tâches ; elle ne l'est
qu'au sein des tâches individuelles.
65
Vérification des programmes Chapitre 2-3
Opérandes à plusieurs mots
Les limites des zones de mémoire des opérandes à plusieurs mots sont vérifiées pour la vérification du programme, comme illustré dans le tableau suivant.
CX-Programmer Consoles de
CX-Programmer offre les fonctionnalités suivantes pour les opérandes à plusieurs mots qui dépassent une limite de zone de mémoire.
• Impossible de transférer le programme vers l'UC.
• Impossible de lire le programme à partir de l'UC.
• Des erreurs de compilation sont générées pour la vérification du programme.
• Lors de la programmation hors ligne, des messages d'avertissement apparaîtront à l'écran.
• Des messages d'avertissement apparaîtront à l'écran lors de l'édition en ligne en mode PROGRAM ou MONITOR.
2-3-3 Vérification de l'exécution du programme
Les vérifications concernant l'emplacement des instructions et des opérandes sont effectuées sur les instructions lors de la saisie à partir des périphériques de programmation (y compris les consoles de programmation) ainsi que pendant les vérifications de programmes à partir des périphériques de programmation (excepté les consoles de programmation). Cependant, il ne s'agit pas de vérifications finales.
Les vérifications suivantes sont effectuées lors de l'exécution de l'instruction.
Type d'erreur Drapeau passant à ON en cas
1. Erreur de traitement de l'instruction
2. Erreur d'accès Drapeau AER
3. Erreur d'instruction illégale Drapeau d'erreur d'instruction illégale
4. Erreur de dépassement de la MU (mémoire utilisateur)
Drapeau ER Le drapeau d'erreur de traitement
d'instruction (A29508) passera aussi à ON s'il est spécifié qu'il faut arrêter le fonctionnement lorsqu'une erreur se produit.
Le drapeau d'erreur d'accès (A29510) passera aussi à ON s'il est spécifié qu'il faut arrêter le fonctionnement lorsqu'une erreur se produit.
(A29514) Drapeau d'erreur de dépassement MU (Erreur de programme) fatale
d'erreur
Arrêt/poursuiste du fonctionnement
Dans la configuration de l'API, vous pouvez définir un paramètre de façon à préciser si le fonctionnement doit s'arrêter ou continuer en cas d'erreur de traitement d'instruction. Par défaut, le fonctionnement continuera.
Une erreur de programme sera générée et le fonctionnement s'arrêtera uniquement si Arrêter le fonctionnement a été spécifié.
Dans la configuration de l'API, vous pouvez définir un paramètre de façon à préciser si le fonctionnement doit s'arrêter ou continuer en cas d'erreur d'accès. Par défaut, le fonctionnement continuera.
Une erreur de programme sera générée et le fonctionnement s'arrêtera uniquement si Arrêter le fonctionnement a été spécifié.
(Erreur de programme) fatale
programmation
Vérifiées lorsque les programmes sont installés, c-à-d que les opérandes qui dépassent une limite de zone de mémoire ne peuvent pas être écrites.
66
Erreurs de traitement d'instruction
Une erreur de traitement d'instruction se produira si des données incorrectes ont été fournies lors de l'exécution d'une instruction ou si quelqu'un a essayé d'exécuter une instruction en dehors d'une tâche. Dans ce cas-ci, les données obligatoires au début du traitement de l'instruction ont été vérifiées. Le résultat est le suivants : l'instruction n'avait pas été exécutée, le drapeau ER (d'erreur) est passé à ON et les drapeaux EQ et N sont conservés ou mis sur OFF en fonction de l'instruction.
Le drapeau ER (d'erreur) passera à OFF si l'instruction (excepté les instructions d'entrée) se termine normalement. Les conditions faisant passer le drapeau ER à ON varient en fonction de chaque instruction. Consultez les descriptions de chaque instruction dans le Manuel de référence des instructions pour les automates programmables série CS/CJ (W340) pour plus de détails.
Vérification des programmes Chapitre 2-3
Si dans la configuration de l'API, Erreurs d'instruction est programmé sur Arrêter le fonctionnement, le fonctionnement s'arrêtera (erreur fatale) et le drapeau d'erreur de traitement d'instruction (A29508) passera à ON si une erreur de traitement d'instruction se produit et que le drapeau ER passe à ON.
Erreurs d'accès illégal
Les erreurs d'accès illégal indiquent qu'il y a eu un accès à une mauvaise zone d'une des manières suivantes lors de l'accès à l'adresse spécifiant l'opérande de l'instruction.
a. Lecture ou écriture d'une zone de paramètres b. Lecture dans une zone de mémoire non montée (voir remarque) c. Ecriture dans une zone EM spécifiée comme mémoire de fichiers EM d. Ecriture dans une zone de lecture seule e. La valeur spécifiée dans une adresse DM/EM indirecte en mode BCD
n'était pas une donnée BCD (par exemple, *D000001 contient #A000).
Le traitement d'instruction se poursuivra et le drapeau d'erreur (drapeau ER) ne passera pas à ON si une erreur d'accès se produit, mais c'est le drapeau d'erreur d'accès (AER) qui passera à ON.
Remarque Une erreur d'accès se produira pour les raisons suivantes :
• lorsqu'une adresse EM spécifiée dépasse 32767 (exemple : E32768) pour la banque actuelle ;
• la banque finale (exemple : C) est spécifiée pour une adresse EM indirecte en mode BIN et le mot spécifié contient 8000 à FFFF hex. (exemple : @EC_00001 contient #8000) ;
• la banque actuelle (exemple : C) est spécifiée pour une adresse EM indirecte en mode BIN et le mot spécifié contient 8000 à FFFF hex. (exemple : @EC_00001 contient #8000) ;
• un registre d'index (IR) contenant l'adresse de mémoire interne d'un bit est utilisé en tant qu'adresse de mot ou un IR contenant l'adresse de mémoire interne d'un mot est utilisé en tant qu'adresse de bit.
Si dans la configuration de l'API, Erreurs d'instruction est programmé sur Arrêter le fonctionnement, le fonctionnement s'arrêtera (erreur fatale) et le « drapeau d'erreur d'accès illégal » (A29510) passera à ON si une erreur d'accès illégal se produit et que le drapeau AER passe à ON.
Remarque Le drapeau d'erreur d'accès (AER) ne sera pas effacé après l'exécution d'une
tâche. Si Poursuivre le fonctionnement a été choisi pour Erreurs d'instruction, ce drapeau peut être surveillé jusqu'à l'instruction END(001) afin de vérifier si une erreur d'accès illégal s'est produite dans le programme de tâches. (L'état du drapeau AER final, après l'exécution de tout le programme utilisateur, sera surveillé si ce drapeau est surveillé par une console de programmation.)
Autres erreurs
Erreurs d'instruction illégale
Les erreurs d'instruction illégale indiquent qu'a eu lieu une tentative d'exécution des données d'instruction autres que celles définies dans le système. Cette erreur ne doit normalement pas se produire tant que le programme est créé sur un périphérique de programmation série CS/CJ (y compris les consoles de programmation).
Dans le cas fort peu probable où cette erreur se produirait, elle serait traitée comme une erreur de programme : le fonctionnement s'arrêtera (erreur fatale) et le drapeau d'instruction illégale (A29514) passera à ON.
Erreur de dépassement de la MU (mémoire utilisateur)
Les erreurs de dépassement de MU indiquent qu'a eu lieu une tentative d'exécution de données d'instruction stockées au-delà de la dernière adresse dans la mémoire utilisateur (MU) définie comme zone de stockage du programme. Cette erreur ne doit normalement pas se produire tant que le programme est créé sur un périphérique de programmation série CS/CJ (y compris les consoles de programmation).
67
Vérification des programmes Chapitre 2-3
Dans le cas fort peu probable où cette erreur se produirait, elle serait traitée comme une erreur de programme : le fonctionnement s'arrêtera (erreur fatale) et le drapeau de dépassement de la MU (A29515) passera à ON.
2-3-4 Vérification des erreurs fatales :
Les erreurs suivantes sont des erreurs de programme fatales ; si l'une d'entre elles se produit, l'UC s'arrêtera. Lorsque le fonctionnement s'arrête suite à une erreur de programme, le numéro de tâche auquel s'est arrêté le fonctionnement est sauvegardé en A294 et l'adresse du programme est sauvegardée en A298 et A299. Cette information permet de déterminer la cause de l'erreur de programme.
Adresse Description Données stockées
A294 Le type de tâche ainsi que le numéro de tâche
auquel le fonctionnement s'est arrêté sera stocké ici si le fonctionnement s'arrête suite à une erreur de programme.
FFFF hex. sera stocké si aucune tâche cyclique active ne fait partie d'un cycle, c-à-d, aucune tâche cyclique ne doit être exécutée.
A298/A299 L'adresse de programme au point auquel le
fonctionnement s'est arrêté sera stockée ici en binaire si le fonctionnement s'arrête à cause d'une erreur de programme.
Si l'instruction END(001) manque (A29511 est à ON), c'est l'adresse où devait se trouver END(001) qui sera stockée.
En cas d'erreur d'exécution de tâche (A29512 est à ON), FFFFFFFF hex. sera stocké en A298/A299.
Tâche cyclique : 0000 à 001F hex. (tâches cycliques 0 à 31) Tâche d'interruption : 8000 à 80FF hex. (tâches d'interruption 0 à 255)
A298 : Partie la plus à droite de l'adresse de programme A299 : Partie la plus à gauche de l'adresse de programme
Remarque Si le drapeau d'erreur ou le drapeau d'erreur d'accès passe à ON, l'erreur
sera traitée comme une erreur de programme et pourra servir à arrêter le fonctionnement de l'UC. Définissez le fonctionnement des erreurs de programme dans la configuration de l'API.
68
Vérification des programmes Chapitre 2-3
Erreur de programme Description Drapeaux associés :
Pas d'instruction END Le programme ne contient pas
Erreur lors de l'exécution de la tâche Aucune tâche n'est prête dans le cycle.
Erreur de traitement d'instruction (Drapeau ER sur ON) et dans la configuration de l'API, Arrêter le fonctionnement a été défini en cas d'erreurs d'instruction.
Erreur d'accès illégal (Drapeau AER sur ON) et dans la configuration de l'API, Arrêter le fonctionnement a été défini en cas d'erreurs d'instruction.
Erreur BCD de DM/EM indirecte et dans la configuration de l'API, Arrêter le fonctionnement a été défini en cas d'erreurs d'instruction.
Erreur de dépassement d'adresse de différenciation
Erreur de dépassement de MU (mémoire utilisateur)
Erreur d'instruction illégale Une tentative d'exécution d'une
d'instruction END.
Aucun programme n'est affecté à une tâche.
Le numéro de tâche d'interruption correspondant n'est pas présent même si la condition d'exécution de la tâche d'interruption a été rencontrée.
Lors de la tentative d'exécution d'une instruction, de mauvaises valeurs de données ont été fournies dans l'opérande.
Lecture ou écriture d'une zone de paramètres
Lecture dans une zone de mémoire non montée (voir remarque)
Ecriture dans une zone EM spécifiée comme mémoire de fichiers EM
Ecriture dans une zone de lecture seule
La valeur spécifiée dans une adresse DM/EM indirecte en mode BCD n'était pas une donnée BCD.
La valeur spécifiée dans une adresse DM/EM indirecte en mode BCD n'était pas une donnée BCD.
Pendant l'édition en ligne, plus de 131 071 instructions différenciées ont été insérées ou supprimées.
Une tentative a eu lieu pour exécuter des données d'instruction stockées au­delà de la dernière adresse dans la mémoire utilisateur (MU) définie comme zone de stockage du programme.
instruction qui ne peut être exécutée a eu lieu.
Le drapeau No END (A29511) passe à ON.
Le drapeau d'erreur de tâches (29512) passe à ON.
Le drapeau ER et le drapeau d'erreur de traitement d'instruction (A29508) passent à ON si, dans la configuration de l'API, Arrêter le fonctionnement a été défini en cas d'erreurs d'instruction.
Le drapeau AER et le drapeau d'erreur d'accès illégal (A29510) passent à ON si, dans la configuration de l'API, Arrêter le fonctionnement a été défini en cas d'erreurs d'instruction.
Le drapeau AER et le drapeau d'erreur BCD de DM/EM indirecte (A29509) passent à ON si, dans la configuration de l'API, Arrêter le fonctionnement a été défini en cas d'erreurs d'instruction.
Le drapeau d'erreur de dépassement de différenciation (A29513) passe à ON.
Le drapeau de dépassement de MU (mémoire utilisateur) (A29516) passe à ON.
Le drapeau d'instruction illégale (A29514) passe à ON.
69
Loading...